|
@@ -243,6 +243,11 @@ public class SyPackingListTailoringServiceImpl extends ServiceImpl<SyPackingList
|
|
|
return syPackingListTailoring;
|
|
|
}
|
|
|
|
|
|
+ /**
|
|
|
+ * 添加方式1 批量参照
|
|
|
+ * @param syPackingListTailorings
|
|
|
+ * @param ids
|
|
|
+ */
|
|
|
@Override
|
|
|
@Transactional
|
|
|
public void saveMain3(List<SyPackingListTailoring> syPackingListTailorings,String[] ids) {
|
|
@@ -336,7 +341,7 @@ public class SyPackingListTailoringServiceImpl extends ServiceImpl<SyPackingList
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
- * 云工厂测试用-接口
|
|
|
+ * 云工厂测试用-接口 添加方式2 云工厂添加
|
|
|
* @param syPackingListTailoring
|
|
|
* @return
|
|
|
*/
|
|
@@ -362,6 +367,7 @@ public class SyPackingListTailoringServiceImpl extends ServiceImpl<SyPackingList
|
|
|
syPackingListTailoring.setBusinessTypeValue(syPreAssembledPackingList.getBusinessTypeValue());//业务类型
|
|
|
syPackingListTailoring.setSalesman(syPreAssembledPackingList.getSalesman());//业务员
|
|
|
syPackingListTailoring.setSalesDepartment(syPreAssembledPackingList.getSalesDepartment());//业务部门
|
|
|
+ syPackingListTailoring.setIsTc(syPreAssembledPackingList.getIsTc());
|
|
|
syPackingListTailoring.setCustomer(syPreAssembledPackingList.getCustomer());//客户
|
|
|
syPackingListTailoring.setCustomerAbbreviation(syPreAssembledPackingList.getCustomerAbbreviation());//客户简称
|
|
|
syPackingListTailoringMapper.insert(syPackingListTailoring);//往主表添加数据
|
|
@@ -732,7 +738,7 @@ public class SyPackingListTailoringServiceImpl extends ServiceImpl<SyPackingList
|
|
|
|
|
|
/**
|
|
|
* excel
|
|
|
- * @param mains
|
|
|
+ * @param mains 添加方式3 通过excel文档导入
|
|
|
* @return
|
|
|
*/
|
|
|
@Override
|
|
@@ -774,7 +780,6 @@ public class SyPackingListTailoringServiceImpl extends ServiceImpl<SyPackingList
|
|
|
|
|
|
UpdateWrapper updateWrapper=new UpdateWrapper();
|
|
|
updateWrapper.set("is_Reference","2");//已被装箱单参照,预装箱单不能取消提交
|
|
|
- System.out.println("mainIds\t"+mainIds);
|
|
|
updateWrapper.in("id",mainIds);//预装箱单主表id做为修改条件
|
|
|
syPreAssembledPackingListMapper.update(null,updateWrapper);//修改
|
|
|
|
|
@@ -852,7 +857,9 @@ public class SyPackingListTailoringServiceImpl extends ServiceImpl<SyPackingList
|
|
|
item1.setOmpoId(syPreItem.getOmpoId());//主表id
|
|
|
item1.setOmpoIdItem(syPreItem.getOmpoIdItem());//子表id
|
|
|
item1.setOmpoAccount(syPreItem.getOmpoAccount());//子表id
|
|
|
-
|
|
|
+ item1.setPacks(syPreItem.getPacks());//包数
|
|
|
+ item1.setPackBox(syPreItem.getPackBox());//包数/箱
|
|
|
+ item1.setTotalPack(syPreItem.getTotalPack());//件数/包
|
|
|
item1.setSyOrderDataId(syPreItem.getSyOrderDataId());//订单数据子表id
|
|
|
item1.setSyOrderDataItemId(syPreItem.getSyOrderDataItemId());//订单数据子表id
|
|
|
/*item1.setSupplier(syPreItem.getSupplier());
|
|
@@ -872,6 +879,7 @@ public class SyPackingListTailoringServiceImpl extends ServiceImpl<SyPackingList
|
|
|
SyPreAssembledPackingList syPreAssembledPackingList=syPreAssembledPackingListMapper.selectById(syPackingListTailoring.getSyPreAssembledPackingListId());
|
|
|
if(syPreAssembledPackingList!=null){
|
|
|
syPackingListTailoring.setCustomer(syPreAssembledPackingList.getCustomer());
|
|
|
+ syPackingListTailoring.setIsTc(syPreAssembledPackingList.getIsTc());
|
|
|
syPackingListTailoring.setElementsId(syPreAssembledPackingList.getElementsId());
|
|
|
syPackingListTailoring.setOrderNumber(syPreAssembledPackingList.getOrderNumber());
|
|
|
}
|
|
@@ -1100,6 +1108,15 @@ public class SyPackingListTailoringServiceImpl extends ServiceImpl<SyPackingList
|
|
|
System.out.println("maptererere\t"+mapt);
|
|
|
//账套号
|
|
|
if (main!=null){
|
|
|
+
|
|
|
+ if (main.getIsTc()!=null&&main.getIsTc().equals("1")){
|
|
|
+ if(main.getMemo()!=null){
|
|
|
+ main.setMemo(main.getMemo()+"TC证书");
|
|
|
+ }else{
|
|
|
+ main.setMemo("TC证书");
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
Map<String,String> mapSort=new HashMap<>();
|
|
|
String createBy="进出口平台管理员";
|
|
|
//String createDate=main.getCreateTime().toString();
|
|
@@ -1120,6 +1137,7 @@ public class SyPackingListTailoringServiceImpl extends ServiceImpl<SyPackingList
|
|
|
map3.put("BRETURNFLAG","0");//退货标识(1:退货,0:发货)
|
|
|
map3.put("CMAKER",createBy);//制单人名称
|
|
|
map3.put("CVERIFIER",createBy);//审核人名称
|
|
|
+ map3.put("CMEMO",main.getMemo());//备注
|
|
|
|
|
|
JSONObject map4=new JSONObject();//销售出库单
|
|
|
map4.put("CVOUCHCODE",org.jeecg.modules.system.util.oConvertUtils.addOne(purchaseWarehousingMapper.getMaxCode("ccode","rdrecord32","dnmaketime")));//单据号
|
|
@@ -1127,6 +1145,7 @@ public class SyPackingListTailoringServiceImpl extends ServiceImpl<SyPackingList
|
|
|
map4.put("CHANDLER",createBy);//审核人
|
|
|
map4.put("CRDCODE","26");//出库类别
|
|
|
map4.put("CMAKER",createBy);//制单人
|
|
|
+ map4.put("CMEMO",main.getMemo());//备注
|
|
|
|
|
|
JSONObject map5=new JSONObject();//采购发票
|
|
|
map5.put("CVOUCHCODE",org.jeecg.modules.system.util.oConvertUtils.addOne(purchaseWarehousingMapper.getMaxCode("cpbvcode ","PurBillVouch","cmaketime")));//发票号
|
|
@@ -1134,6 +1153,7 @@ public class SyPackingListTailoringServiceImpl extends ServiceImpl<SyPackingList
|
|
|
map5.put("CTYPE","专用");//发票类型(01:专用 02:普票)
|
|
|
map5.put("CMAKER",createBy);//制单人
|
|
|
map5.put("CHANDLER",createBy);//审核人
|
|
|
+ map5.put("CMEMO",main.getMemo());//备注
|
|
|
|
|
|
|
|
|
JSONObject map6=new JSONObject();//销售发票
|
|
@@ -1142,6 +1162,7 @@ public class SyPackingListTailoringServiceImpl extends ServiceImpl<SyPackingList
|
|
|
map6.put("CTYPE","普通");//发票类型(普通,专用)
|
|
|
map6.put("CMAKER",createBy);//制单人名称
|
|
|
map6.put("CVERIFIER",createBy);//制单人名称
|
|
|
+ map6.put("CMEMO",main.getMemo());//备注
|
|
|
|
|
|
map.put("CDEFINE4",main.getTheFinalShippingDate().substring(0,10));//最终船期
|
|
|
map.put("CDEFINE6",main.getTheFinalShippingDate2().substring(0,10));//合同日期
|
|
@@ -1786,9 +1807,9 @@ public class SyPackingListTailoringServiceImpl extends ServiceImpl<SyPackingList
|
|
|
return null;
|
|
|
}
|
|
|
List<SyPackingListTailoringItem> itemLists=syPackingListTailoringItemMapper.querySpaplItemIds(ids);
|
|
|
- System.out.println("itemLists.size\t"+itemLists.size());
|
|
|
+ //System.out.println("itemLists.size\t"+itemLists.size());
|
|
|
List<SizeTable> sizeLists2=syPreAssembledPackingListItemMapper.queryAllSize(ids);//子表尺码
|
|
|
- System.out.println("sizeLists2.size\t"+sizeLists2.size());
|
|
|
+ //System.out.println("sizeLists2.size\t"+sizeLists2.size());
|
|
|
Map<String,List<SyPackingListTailoringItem>> maplItems=new HashMap<>();
|
|
|
Map<String,List<SizeTable>> mapItemSizes=new HashMap<>();//子表尺码
|
|
|
for (SizeTable size : sizeLists2){//子表尺码
|
|
@@ -1912,53 +1933,65 @@ public class SyPackingListTailoringServiceImpl extends ServiceImpl<SyPackingList
|
|
|
return syPackingListTailoringMapper.getIvouchrowno(params1,params2,params3,params4,params5);
|
|
|
}
|
|
|
|
|
|
- @Override
|
|
|
- @DS("multi-two")
|
|
|
- public String pushInvoice1(List<SyPackingListTailoring> listTailorings) {
|
|
|
+ /**
|
|
|
+ * 采购委外入库单
|
|
|
+ * @param listTailorings
|
|
|
+ * @param maps
|
|
|
+ * @return
|
|
|
+ */
|
|
|
+ public String pushInvoices(List<SyPackingListTailoring> listTailorings,Map<String,Object> maps) {
|
|
|
long startTime = System.currentTimeMillis();
|
|
|
String message="";
|
|
|
- //List<SyPackingListFabricItem> listFabricItems=syPackingListFabricItemMapper.queryByList(id);
|
|
|
- //List<SyPackingListFabric> listFabrics=syPackingListFabricMapper.queryByList(id);//获取托书下所有的主表信息
|
|
|
- List<String> codes=getList(listTailorings);//获取出库单号
|
|
|
- System.out.println("成衣查看出库单号\t"+codes);
|
|
|
+ List<String> codes=getList(listTailorings,maps.get("account").toString());//获取出库单号
|
|
|
+ System.out.println("成衣查看入库单号\t"+codes);
|
|
|
if(codes.size()==0){
|
|
|
- return "推送失败,未查询到对应的出库单号!";
|
|
|
+ return "无可推送数据!";
|
|
|
}
|
|
|
Map<String,List<String>> customers=getSuppliers(codes);//key:供应商编码,value:出库单id
|
|
|
Map<String,List<SyPackingListTailoringItem>> listTailoringItemMaps=getListTailoringItemMaps(customers,listTailorings);//key:供应商编码,value:对应子表
|
|
|
Map<String,List<SyPackingListTailoring>> listTailoringMaps=getListTailoringMaps(customers,listTailorings);//key:供应商编码,value:对应主表
|
|
|
+ Map<String,List<SyPackingListTailoring>> codeMaps=new HashMap<>();//key:传入销售发票单id,value:主表数据
|
|
|
JSONArray jsonArrays1=new JSONArray();
|
|
|
String code=purchaseWarehousingMapper.getMaxCode("cpbvcode ","PurBillVouch","cmaketime");//发票号
|
|
|
+ String account=maps.get("account").toString();
|
|
|
|
|
|
for (String customer : customers.keySet()){
|
|
|
SyPackingListTailoring syPackingListTailoring=listTailoringMaps.get(customer).get(0);
|
|
|
- Map<String, Object> orderData=syPackingListTailoringMapper.getOmOrPo("po_pomain",
|
|
|
- "cpoid=(select top 1 cOrderCode from rdrecord01 where ccode='"+syPackingListTailoring.getRdrecord32Code()+"')","poid");
|
|
|
+ Map<String, Object> orderData=null;
|
|
|
+ if(account.equals("103")||account.equals("101")){
|
|
|
+ orderData=syPackingListTailoringMapper.getOmOrPo("om_momain",
|
|
|
+ "cCode=(select top 1 cOrderCode from rdrecord01 where ccode='"+syPackingListTailoring.getRdrecord32Code()+"')","MOID");
|
|
|
+ }else{
|
|
|
+ orderData=syPackingListTailoringMapper.getOmOrPo("po_pomain",
|
|
|
+ "cpoid=(select top 1 cOrderCode from rdrecord01 where ccode='"+syPackingListTailoring.getRdrecord32Code()+"')","poid");
|
|
|
+ }
|
|
|
System.out.println("orderData\t"+orderData);
|
|
|
String cvenName=syPackingListTailoringMapper.getCvenName(syPackingListTailoring.getSupplierCode());//供应商编码
|
|
|
//List<SyPackingListFabricItem> listFabricItems=syPackingListFabric.getSyPackingListFabricItem();//需要进行分组
|
|
|
List<SyPackingListTailoringItem> listTailoringItems=listTailoringItemMaps.get(customer);
|
|
|
//System.out.println("codes.size\t"+codes.size());
|
|
|
System.out.println("codes\t"+codes);
|
|
|
- List<Map<String,Object>> invoices=getInvoices(customers.get(customer));
|
|
|
+ List<Map<String,Object>> invoices=getInvoices1(customers.get(customer));
|
|
|
JSONObject jsonObject1=new JSONObject();
|
|
|
code=org.jeecg.modules.system.util.oConvertUtils.addOne(code);
|
|
|
+ codeMaps.put(code,listTailoringMaps.get(customer));
|
|
|
jsonObject1.put("CVOUCHCODE",code);//发票号
|
|
|
jsonObject1.put("CMAKER","进出口平台管理员");//制单人
|
|
|
- jsonObject1.put("CVERIFIER","进出口平台管理员");//审核人
|
|
|
- jsonObject1.put("CACCID","102");//账套号
|
|
|
+ jsonObject1.put("CHANDLER","进出口平台管理员");//审核人
|
|
|
+ jsonObject1.put("CACCID",account);//账套号
|
|
|
jsonObject1.put("CTYPE","专用");//发票类型
|
|
|
|
|
|
jsonObject1.put("CGLTYPE","入库单");//上游单据
|
|
|
+ System.out.println("syPackingListTailoring.getLatestDateOfShipment2()\t"+syPackingListTailoring.getLatestDateOfShipment2());
|
|
|
jsonObject1.put("DDATE",syPackingListTailoring.getLatestDateOfShipment2().substring(0,10));//装运期限
|
|
|
- jsonObject1.put("CDEFINE4",syPackingListTailoring.getTheFinalShippingDate());//最终船期
|
|
|
- jsonObject1.put("CDEFINE6",syPackingListTailoring.getTheFinalShippingDate2());//合同日期
|
|
|
+ jsonObject1.put("CDEFINE4",syPackingListTailoring.getTheFinalShippingDate().substring(0,10));//最终船期
|
|
|
+ jsonObject1.put("CDEFINE6",syPackingListTailoring.getTheFinalShippingDate2().substring(0,10));//合同日期
|
|
|
jsonObject1.put("CDEFINE10",syPackingListTailoring.getShippingOrderNumber());//托书号
|
|
|
|
|
|
jsonObject1.put("CDEFINE12",cvenName);//供应商全称
|
|
|
jsonObject1.put("CPAYCODE",orderData.get("cPayCode"));//付款条件编码
|
|
|
- jsonObject1.put("IEXCHRATE",orderData.get("cexchname"));//汇率
|
|
|
- jsonObject1.put("CEXCH_NAME",orderData.get("nflat"));//币种名称
|
|
|
+ jsonObject1.put("IEXCHRATE",orderData.get("nflat"));//汇率
|
|
|
+ jsonObject1.put("CEXCH_NAME",orderData.get("cexchname"));//币种名称
|
|
|
|
|
|
if(!orderData.get("cexchname").equals("人民币")){//不为人民币
|
|
|
SimpleDateFormat sf1 = new SimpleDateFormat("yyyy-M-dd");
|
|
@@ -1975,34 +2008,22 @@ public class SyPackingListTailoringServiceImpl extends ServiceImpl<SyPackingList
|
|
|
jsonObject.put("CINVCODE",item.getInventoryCode());//存货编码
|
|
|
jsonObject.put("CDEFINE28",item.getSmallPo());//小po
|
|
|
jsonObject.put("DISAUTOIDCOL","DISAUTOIDCOL");//对应类型
|
|
|
- boolean bool=true;
|
|
|
for (Map<String,Object> map : invoices){
|
|
|
if(Double.parseDouble(map.get("iQuantity").toString())==Double.parseDouble(jsonObject.get("IQUANTITY").toString())&&
|
|
|
- map.get("cInvCode").toString().equalsIgnoreCase(item.getInventoryCode())&&map.get("cFree2").equals(item.getSize())){
|
|
|
+ map.get("cInvCode").toString().equalsIgnoreCase(item.getInventoryCode())&&map.get("cFree2").equals(item.getSize())){
|
|
|
jsonObject.put("AUTOID_PO",map.get("AutoID"));
|
|
|
jsonObject.put("IORITAXCOST",syPackingListTailoringItemMapper.getiTaxPrice(map.get("AutoID").toString()));
|
|
|
- //System.out.println("map\t"+map);
|
|
|
getcFree(jsonObject,map);
|
|
|
- //invoices.remove(map);
|
|
|
- bool=false;
|
|
|
break;
|
|
|
}
|
|
|
}
|
|
|
- if(bool){
|
|
|
- //System.out.println("tid\t"+item.getId());
|
|
|
- //System.out.println("tpid\t"+item.getSyPackingListFabricId());
|
|
|
- }
|
|
|
jsonObject.put("CDEFINE23",syPackingListTailoringMapper.getUnit(item.getInventoryCode()));//报关单位
|
|
|
jsonObject.put("CDEFINE33",item.getDeclarationName());//存货名称
|
|
|
- //jsonObject.put("iTaxRate",syPackingListFabricItemMapper.getItaxRate(item.getOmpoIdItem()));//税率
|
|
|
- //jsonObject.put("CWHCODE",syPackingListFabricItemMapper.getVencode(item.getSupplier()));//获取仓库编码
|
|
|
jsonArrays.add(jsonObject);
|
|
|
- //getcFree(jsonObject,jsonObject);
|
|
|
- //System.out.println("jsonObject\n"+jsonObject);
|
|
|
}
|
|
|
jsonObject1.put("DETAILList",jsonArrays);
|
|
|
jsonArrays1.add(jsonObject1);
|
|
|
- Map<String,List<String>> maps=new HashMap<>();//key:客户编码-字符,value:主表id-数组 用于区分维度完成分组条件
|
|
|
+ //Map<String,List<String>> maps=new HashMap<>();//key:客户编码-字符,value:主表id-数组 用于区分维度完成分组条件
|
|
|
System.out.println("jsonObject\n"+jsonObject1);
|
|
|
//System.out.println("jsonArrays.size\t"+jsonArrays.size());
|
|
|
//System.out.println("listFabrics.size\t"+listFabrics.size());
|
|
@@ -2011,16 +2032,197 @@ public class SyPackingListTailoringServiceImpl extends ServiceImpl<SyPackingList
|
|
|
System.out.println("互相插入数据时用的时间:" + (endTime - startTime) + "ms");
|
|
|
}
|
|
|
System.out.println("jsonArrays1\n"+jsonArrays1);
|
|
|
- //JSONArray resturnJsonArrays = InterfaceConnUtils.doPost(jsonArrays1,"saleinvoice_import");//采购发票单
|
|
|
- //Map<String,String> codeMaps2 = result(resturnJsonArrays);
|
|
|
+ text(jsonArrays1,"测试合并推送成衣采购发票");
|
|
|
+ JSONArray resturnJsonArrays = InterfaceConnUtils.doPost(jsonArrays1,"purinvoice_import");//采购发票单
|
|
|
+ Map<String,String> codeMaps2 = result(resturnJsonArrays,"销售发票",account);
|
|
|
+ for (String code1 : codeMaps.keySet()){
|
|
|
+ List<SyPackingListTailoring> listTailoringList=codeMaps.get(code1);
|
|
|
+ //List<String> ids=new ArrayList<>();
|
|
|
+ for (SyPackingListTailoring tailoring : listTailoringList){
|
|
|
+ //ids.add(fabric.getId());
|
|
|
+ if (codeMaps2.get(code1).indexOf("失败")>-1){
|
|
|
+ tailoring.setSaleInvoiceError(codeMaps2.get(code1));
|
|
|
+ }else{
|
|
|
+ if(tailoring.getSaleInvoiceCode()==null){
|
|
|
+ tailoring.setSaleInvoiceCode(codeMaps2.get(code1));
|
|
|
+ }else{
|
|
|
+ tailoring.setSaleInvoiceCode(tailoring.getSaleInvoiceCode()+";"+codeMaps2.get(code1));
|
|
|
+ }
|
|
|
+ tailoring.setSaleInvoiceError("");
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
return "推送成功";
|
|
|
}
|
|
|
|
|
|
- public Map<String,String> result(JSONArray jsonArray){
|
|
|
+ public String pushInvoices2(List<SyPackingListTailoring> listTailorings,Map<String,Object> maps) {
|
|
|
+ long startTime = System.currentTimeMillis();
|
|
|
+ String message="";
|
|
|
+ List<String> codes=getList2(listTailorings,maps.get("account").toString());//获取出库单号
|
|
|
+ System.out.println("成衣查看出库单号\t"+codes);
|
|
|
+ if(codes.size()==0){
|
|
|
+ return "无可推送数据!";
|
|
|
+ }
|
|
|
+ Map<String,List<String>> customers=getCustomers(codes);//key:供应商编码,value:出库单id
|
|
|
+ Map<String,List<SyPackingListTailoringItem>> listTailoringItemMaps=getListTailoringItemMaps(customers,listTailorings);//key:供应商编码,value:子表数据
|
|
|
+ Map<String,List<SyPackingListTailoring>> listTailoringMaps=getListTailoringMaps(customers,listTailorings);//key:供应商编码,value:主表数据
|
|
|
+ Map<String,List<SyPackingListTailoring>> codeMaps=new HashMap<>();//key:传入销售发票单id,value:主表数据
|
|
|
+ JSONArray jsonArrays1=new JSONArray();
|
|
|
+ String code=purchaseWarehousingMapper.getMaxCode("cSBVCode","SaleBillVouch where cvouchtype=27","cSBVCode");//发票号
|
|
|
+ String account=maps.get("account").toString();
|
|
|
+ for (String customer : customers.keySet()){
|
|
|
+ SyPackingListTailoring syPackingListTailoring=listTailoringMaps.get(customer).get(0);
|
|
|
+ List<SyPackingListTailoringItem> listFabricItems=listTailoringItemMaps.get(customer);
|
|
|
+ System.out.println("codes\t"+codes);
|
|
|
+ List<Map<String,Object>> invoices=getInvoices(customers.get(customer));
|
|
|
+ JSONObject jsonObject1=new JSONObject();
|
|
|
+
|
|
|
+ code=org.jeecg.modules.system.util.oConvertUtils.addOne(code);
|
|
|
+ codeMaps.put(code,listTailoringMaps.get(customer));
|
|
|
+ jsonObject1.put("CVOUCHCODE",code);//发票号
|
|
|
+ jsonObject1.put("CMAKER","进出口平台管理员");//制单人
|
|
|
+ jsonObject1.put("CVERIFIER","进出口平台管理员");//审核人
|
|
|
+ jsonObject1.put("CACCID",account);//账套号
|
|
|
+ jsonObject1.put("CTYPE","普通");//发票类型
|
|
|
+ jsonObject1.put("CGLTYPE","销售出库单");//上游单据
|
|
|
+ jsonObject1.put("CDEFINE11",syPackingListTailoring.getEndCustomer());//最终客户
|
|
|
+
|
|
|
+ Map<String,Object> order=syPackingListTailoringMapper.getSoMainCode(syPackingListTailoring.getRdrecord32Code());//随便哪一个做主表信息
|
|
|
+ System.out.println("成衣销售order\t"+order);
|
|
|
+ if(order.get("cCusCode").equals("T020001")&&!account.equals("101")){
|
|
|
+ //maps.put("account","101");//账套号
|
|
|
+ }else if(order.get("cCusCode").equals("0001")&&!account.equals("102")){
|
|
|
+ jsonObject1.put("CTYPE","专用");//发票类型(普通,专用)
|
|
|
+ //maps.put("account","102");//账套号
|
|
|
+ }else{
|
|
|
+ //maps.put("account","104");//账套号
|
|
|
+ }
|
|
|
+ jsonObject1.put("DDATE",syPackingListTailoring.getLatestDateOfShipment2().substring(0,10));//日期
|
|
|
+ jsonObject1.put("CDEFINE4",syPackingListTailoring.getTheFinalShippingDate());//最终船期
|
|
|
+ jsonObject1.put("CDEFINE6",syPackingListTailoring.getTheFinalShippingDate2());//合同日期
|
|
|
+ jsonObject1.put("CDEFINE10",syPackingListTailoring.getShippingOrderNumber());//托书号
|
|
|
+ //{cBusType=普通销售, cPayCode=null, cDepCode=TSM01, cSOCode=SYE511-马菲羊-面料, cPersonCode=T0148, cCusCode=T020001, cSTCode=02, cexch_name=美元, iExchRate=6.7428}
|
|
|
+ System.out.println("syPackingListFabric.getSupplierCode()\t"+syPackingListTailoring.getSupplierCode());
|
|
|
+ if(syPackingListTailoring.getSupplierCode()!=null){
|
|
|
+ String venName=syPackingListTailoringMapper.getCvenName(syPackingListTailoring.getSupplierCode());
|
|
|
+ jsonObject1.put("CDEFINE12",venName);//供应商全称
|
|
|
+ }
|
|
|
+ jsonObject1.put("CBUSTYPE",order.get("cBusType"));//业务类型
|
|
|
+ jsonObject1.put("CCUSCODE",order.get("cCusCode"));//客户编码
|
|
|
+ jsonObject1.put("CDEPCODE",order.get("cDepCode"));//部门编码
|
|
|
+ jsonObject1.put("SALETPYECODE",order.get("cSTCode"));//销售类型编码
|
|
|
+ jsonObject1.put("IEXCHRATE",order.get("iExchRate"));//汇率
|
|
|
+ jsonObject1.put("CEXCH_NAME",order.get("cexch_name"));//币种名称
|
|
|
+ if(!order.get("cexch_name").equals("人民币")){//不为人民币
|
|
|
+ SimpleDateFormat sf1 = new SimpleDateFormat("yyyy-M-dd");
|
|
|
+ String dd = sf1.format(new Date());
|
|
|
+ String rateSplit[] = dd.split("-");
|
|
|
+ Map<String, Object> rate= syShippingOrderMapper.queryU8Rate(rateSplit[0], rateSplit[1]);
|
|
|
+ jsonObject1.put("IEXCHRATE",rate.get("nflat").toString());//汇率(如果传空,接口默认1)cPayCode
|
|
|
+ }
|
|
|
+ JSONArray jsonArrays=new JSONArray();
|
|
|
+ for (SyPackingListTailoringItem item : listFabricItems){
|
|
|
+ JSONObject jsonObject=new JSONObject();
|
|
|
+ jsonObject.put("IQUANTITY",item.getTotal());//净重
|
|
|
+ jsonObject.put("size",item.getSize());
|
|
|
+ jsonObject.put("CINVCODE",item.getInventoryCode());//存货编码
|
|
|
+ jsonObject.put("DISAUTOIDCOL","DISAUTOIDCOL");//对应类型
|
|
|
+ for (Map<String,Object> map : invoices){
|
|
|
+ if(Double.parseDouble(map.get("iQuantity").toString())==Double.parseDouble(jsonObject.get("IQUANTITY").toString())&&
|
|
|
+ map.get("cInvCode").toString().equalsIgnoreCase(item.getInventoryCode())){
|
|
|
+ jsonObject.put("AUTOID_DIS",map.get("AutoID"));
|
|
|
+ getcFree(jsonObject,map);
|
|
|
+ break;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ jsonObject.put("CDEFINE23",syPackingListTailoringMapper.getUnit(item.getInventoryCode()));//报关单位
|
|
|
+ jsonObject.put("CDEFINE31",item.getDeclarationName());//存货名称
|
|
|
+ String iTaxRate=syPackingListFabricItemMapper.getItaxRate(item.getOmpoIdItem());
|
|
|
+ if(iTaxRate!=null){
|
|
|
+ jsonObject.put("iTaxRate",iTaxRate);//税率
|
|
|
+ jsonObject1.put("iTaxRate",iTaxRate);//税率
|
|
|
+ }
|
|
|
+ jsonObject.put("CWHCODE",syPackingListFabricItemMapper.getVencode(item.getSupplier()));//获取仓库编码
|
|
|
+ jsonArrays.add(jsonObject);
|
|
|
+ }
|
|
|
+ jsonObject1.put("DETAILList",jsonArrays);
|
|
|
+ jsonArrays1.add(jsonObject1);
|
|
|
+ //Map<String,List<String>> maps=new HashMap<>();//key:客户编码-字符,value:主表id-数组 用于区分维度完成分组条件
|
|
|
+// System.out.println("jsonObject\n"+jsonArrays.get(0));
|
|
|
+ long endTime = System.currentTimeMillis();
|
|
|
+ System.out.println("互相插入数据时用的时间:" + (endTime - startTime) + "ms");
|
|
|
+ }
|
|
|
+ text(jsonArrays1,"测试合并推送成衣销售发票");
|
|
|
+ //System.out.println("jsonArrays1\t"+jsonArrays1);
|
|
|
+ JSONArray resturnJsonArrays = InterfaceConnUtils.doPost(jsonArrays1,"saleinvoice_import");//销售发票单
|
|
|
+ Map<String,String> codeMaps2 = result(resturnJsonArrays,"销售发票",account);
|
|
|
+ for (String code1 : codeMaps.keySet()){
|
|
|
+ List<SyPackingListTailoring> listTailoringList=codeMaps.get(code1);
|
|
|
+ if(!codeMaps2.containsKey(code1)){//循环中没有就退出
|
|
|
+ continue;
|
|
|
+ }
|
|
|
+ for (SyPackingListTailoring tailoring : listTailoringList){
|
|
|
+ if (codeMaps2.get(code1).indexOf("失败")>-1){
|
|
|
+ tailoring.setSaleInvoiceError(codeMaps2.get(code1));
|
|
|
+ }else{
|
|
|
+ if(tailoring.getSaleInvoiceCode()==null){
|
|
|
+ tailoring.setSaleInvoiceCode(codeMaps2.get(code1));
|
|
|
+ }else{
|
|
|
+ tailoring.setSaleInvoiceCode(tailoring.getSaleInvoiceCode()+";"+codeMaps2.get(code1));
|
|
|
+ }
|
|
|
+ tailoring.setSaleInvoiceError("");
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ return "推送成功";
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ @DS("multi-one")
|
|
|
+ public String pushInvoice1(List<SyPackingListTailoring> listTailorings,Map<String,Object> maps) {
|
|
|
+ return pushInvoices(listTailorings,maps);
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ @DS("multi-two")
|
|
|
+ public String pushInvoice2(List<SyPackingListTailoring> listTailorings,Map<String,Object> maps) {
|
|
|
+ return pushInvoices(listTailorings,maps);
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ @DS("multi-three")
|
|
|
+ public String pushInvoice3(List<SyPackingListTailoring> listTailorings,Map<String,Object> maps) {
|
|
|
+ return pushInvoices(listTailorings,maps);
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ @DS("multi-one")
|
|
|
+ public String pushInvoice4(List<SyPackingListTailoring> listTailorings,Map<String,Object> maps) {
|
|
|
+ return pushInvoices2(listTailorings,maps);
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ @DS("multi-two")
|
|
|
+ public String pushInvoice5(List<SyPackingListTailoring> listTailorings,Map<String,Object> maps) {
|
|
|
+ return pushInvoices2(listTailorings,maps);
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ @DS("multi-three")
|
|
|
+ public String pushInvoice6(List<SyPackingListTailoring> listTailorings,Map<String,Object> maps) {
|
|
|
+ return pushInvoices2(listTailorings,maps);
|
|
|
+ }
|
|
|
+
|
|
|
+ public Map<String,String> result(JSONArray jsonArray,String pushName,String account){
|
|
|
Map<String,String> codeMaps=new HashMap<>();
|
|
|
for (int i=0;i<jsonArray.size();i++){
|
|
|
JSONObject jsonObject=jsonArray.getJSONObject(i);
|
|
|
- codeMaps.put(jsonObject.get("ReceiptNo").toString(),jsonObject.get("U8ReceiptNo").toString());//key:传入的单号,value:生成的单号
|
|
|
+ if(jsonObject.get("Result").equals("F")){//获取发货单是否成功添加
|
|
|
+ //throw new JeecgBootException("账套"+account+"接口"+tableName+",原因"+ jsonObject.get("Description"));
|
|
|
+ codeMaps.put(jsonObject.get("ReceiptNo").toString(),pushName+"接口推送失败原因:"+jsonObject.get("Description").toString());//key:传入的单号,value:失败的信息
|
|
|
+ }else{
|
|
|
+ codeMaps.put(jsonObject.get("ReceiptNo").toString(),account+pushName+"接口"+jsonObject.get("U8ReceiptNo").toString());//key:传入的单号,value:生成的单号
|
|
|
+ }
|
|
|
}
|
|
|
return codeMaps;//账套号-序号-生成的单号
|
|
|
}
|
|
@@ -2030,18 +2232,26 @@ public class SyPackingListTailoringServiceImpl extends ServiceImpl<SyPackingList
|
|
|
return syPackingListTailoringMapper.queryByList(id);
|
|
|
}
|
|
|
|
|
|
+
|
|
|
@Autowired
|
|
|
private SyPackingListFabricMapper syPackingListFabricMapper;
|
|
|
@Autowired
|
|
|
private SyPackingListFabricItemMapper syPackingListFabricItemMapper;
|
|
|
|
|
|
- public List<Map<String,Object>> getInvoices(List<String> codes){
|
|
|
+ public List<Map<String,Object>> getInvoices1(List<String> codes){
|
|
|
List<Map<String,Object>> invoices=syPackingListTailoringItemMapper.getInvoice1(codes.toArray(new String[codes.size()]));
|
|
|
System.out.println("invoices.size\t"+invoices.size());
|
|
|
System.out.println("invoices\t"+invoices);
|
|
|
return invoices;
|
|
|
}
|
|
|
|
|
|
+ public List<Map<String,Object>> getInvoices(List<String> codes){
|
|
|
+ List<Map<String,Object>> invoices=syPackingListFabricItemMapper.getInvoice(codes.toArray(new String[codes.size()]));
|
|
|
+ System.out.println("invoices.size\t"+invoices.size());
|
|
|
+ System.out.println("invoices\t"+invoices);
|
|
|
+ return invoices;
|
|
|
+ }
|
|
|
+
|
|
|
public Map<String,List<String>> getCustomers(List<String> codes){
|
|
|
List<Map<String,Object>> customers=syPackingListFabricMapper.getCustomers(codes.toArray(new String[codes.size()]));
|
|
|
Map<String,List<String>> mapLists=new HashMap<>();
|
|
@@ -2107,13 +2317,29 @@ public class SyPackingListTailoringServiceImpl extends ServiceImpl<SyPackingList
|
|
|
return mapLists;
|
|
|
}
|
|
|
|
|
|
- public List<String> getList(List<SyPackingListTailoring> listFabrics){
|
|
|
+ public List<String> getList(List<SyPackingListTailoring> listFabrics,String account){
|
|
|
+ List<String> ids=new ArrayList<>();//获取出库单号
|
|
|
+ for (SyPackingListTailoring syPackingListFabric : listFabrics){
|
|
|
+ if(syPackingListFabric.getRecordingCode()!=null){
|
|
|
+ String [] strs=syPackingListFabric.getRecordingCode().split(";");
|
|
|
+ for (String str : strs){
|
|
|
+ if(str.indexOf(account)>-1&&str.indexOf("入库单")>-1&&(syPackingListFabric.getSaleInvoiceCode()==null||syPackingListFabric.getSaleInvoiceCode().indexOf(account+"采购发票")==-1)){
|
|
|
+ ids.add(str.split(":")[1]);
|
|
|
+ syPackingListFabric.setRdrecord32Code(str.split(":")[1]);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ return ids;
|
|
|
+ }
|
|
|
+
|
|
|
+ public List<String> getList2(List<SyPackingListTailoring> listFabrics,String account){
|
|
|
List<String> ids=new ArrayList<>();//获取出库单号
|
|
|
for (SyPackingListTailoring syPackingListFabric : listFabrics){
|
|
|
if(syPackingListFabric.getRecordingCode()!=null){
|
|
|
String [] strs=syPackingListFabric.getRecordingCode().split(";");
|
|
|
for (String str : strs){
|
|
|
- if(str.indexOf("102账套采购入库单")>-1){
|
|
|
+ if(str.indexOf(account+"账套销售出库单")>-1&&(syPackingListFabric.getSaleInvoiceCode()==null||syPackingListFabric.getSaleInvoiceCode().indexOf(account+"采购发票")==-1)){
|
|
|
ids.add(str.split(":")[1]);
|
|
|
syPackingListFabric.setRdrecord32Code(str.split(":")[1]);
|
|
|
}
|