|
@@ -21,7 +21,10 @@ import org.jeecg.modules.spapl.entity.SyPreAssembledPackingList;
|
|
|
import org.jeecg.modules.spapl.entity.SyPreAssembledPackingListItem;
|
|
|
import org.jeecg.modules.spapl.mapper.SyPreAssembledPackingListItemMapper;
|
|
|
import org.jeecg.modules.spapl.mapper.SyPreAssembledPackingListMapper;
|
|
|
+import org.jeecg.modules.splfi.entity.SyPackingListFabric;
|
|
|
import org.jeecg.modules.splfi.entity.SyPackingListFabricItem;
|
|
|
+import org.jeecg.modules.splfi.mapper.SyPackingListFabricItemMapper;
|
|
|
+import org.jeecg.modules.splfi.mapper.SyPackingListFabricMapper;
|
|
|
import org.jeecg.modules.splt.entity.SyPackingListTailoring;
|
|
|
import org.jeecg.modules.splt.entity.SyPackingListTailoringItem;
|
|
|
import org.jeecg.modules.splt.mapper.SyPackingListTailoringItemMapper;
|
|
@@ -587,6 +590,7 @@ public class SyPackingListTailoringServiceImpl extends ServiceImpl<SyPackingList
|
|
|
*/
|
|
|
@Override
|
|
|
public SyPackingListTailoring queryId(String id) {
|
|
|
+ long start= System.currentTimeMillis();
|
|
|
SyPackingListTailoring syPackingListTailoring=syPackingListTailoringMapper.getMainId(id);
|
|
|
List<SyPackingListTailoringItem> items=syPackingListTailoringItemMapper.queryId(id);
|
|
|
List<SizeTable> size=syPackingListTailoringItemMapper.sizes(syPackingListTailoring.getId());
|
|
@@ -595,6 +599,8 @@ public class SyPackingListTailoringServiceImpl extends ServiceImpl<SyPackingList
|
|
|
item.setSizeTables(syPackingListTailoringItemMapper.size(item.getGroupId(),item.getSyPackingListTailoringId()));
|
|
|
}
|
|
|
syPackingListTailoring.setSyPackingListTailoringItemList(items);
|
|
|
+ long end= System.currentTimeMillis();
|
|
|
+ System.out.println("耗费时间\t"+(end-start)+"ms");
|
|
|
return syPackingListTailoring;
|
|
|
}
|
|
|
|
|
@@ -1507,6 +1513,7 @@ public class SyPackingListTailoringServiceImpl extends ServiceImpl<SyPackingList
|
|
|
}
|
|
|
case "2":
|
|
|
text(mapList3,"销售发货单");
|
|
|
+
|
|
|
JSONArray resturn3 = InterfaceConnUtils.doPost(mapList3,"consignment_import");
|
|
|
recording=result(main,resturn3,"销售发货单",((Map) mapList.get(0)).get("CACCID").toString(),"3");
|
|
|
maps.get(account).put("code",resturn3.getJSONObject(0).get("U8ReceiptNo").toString());
|
|
@@ -1900,4 +1907,200 @@ public class SyPackingListTailoringServiceImpl extends ServiceImpl<SyPackingList
|
|
|
public String getIvouchrowno(String params1, String params2, String params3, String params4, String params5) {
|
|
|
return syPackingListTailoringMapper.getIvouchrowno(params1,params2,params3,params4,params5);
|
|
|
}
|
|
|
+
|
|
|
+ @Override
|
|
|
+ @DS("multi-two")
|
|
|
+ public String pushInvoice1(List<SyPackingListTailoring> listTailorings) {
|
|
|
+ long startTime = System.currentTimeMillis();
|
|
|
+ String message="";
|
|
|
+
|
|
|
+
|
|
|
+ List<String> codes=getList(listTailorings);
|
|
|
+ Map<String,List<String>> customers=getSuppliers(codes);
|
|
|
+ Map<String,List<SyPackingListTailoringItem>> listTailoringItemMaps=getListTailoringItemMaps(customers,listTailorings);
|
|
|
+ Map<String,List<SyPackingListTailoring>> listTailoringMaps=getListTailoringMaps(customers,listTailorings);
|
|
|
+ JSONArray jsonArrays1=new JSONArray();
|
|
|
+ String code=purchaseWarehousingMapper.getMaxCode("cpbvcode ","PurBillVouch","cmaketime");
|
|
|
+
|
|
|
+ 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");
|
|
|
+ System.out.println("orderData\t"+orderData);
|
|
|
+ String cvenName=syPackingListTailoringMapper.getCvenName(syPackingListTailoring.getSupplierCode());
|
|
|
+
|
|
|
+ List<SyPackingListTailoringItem> listTailoringItems=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);
|
|
|
+ jsonObject1.put("CVOUCHCODE",code);
|
|
|
+ jsonObject1.put("CMAKER","进出口平台管理员");
|
|
|
+ jsonObject1.put("CVERIFIER","进出口平台管理员");
|
|
|
+ jsonObject1.put("CACCID","102");
|
|
|
+ jsonObject1.put("CTYPE","专用");
|
|
|
+
|
|
|
+ jsonObject1.put("CGLTYPE","入库单");
|
|
|
+ jsonObject1.put("DDATE",syPackingListTailoring.getLatestDateOfShipment2().substring(0,10));
|
|
|
+ jsonObject1.put("CDEFINE4",syPackingListTailoring.getTheFinalShippingDate());
|
|
|
+ jsonObject1.put("CDEFINE6",syPackingListTailoring.getTheFinalShippingDate2());
|
|
|
+ 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"));
|
|
|
+
|
|
|
+ if(!orderData.get("cexchname").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());
|
|
|
+ }
|
|
|
+ JSONArray jsonArrays=new JSONArray();
|
|
|
+ for (SyPackingListTailoringItem item : listTailoringItems){
|
|
|
+ JSONObject jsonObject=new JSONObject();
|
|
|
+ jsonObject.put("IQUANTITY",item.getTotal());
|
|
|
+ jsonObject.put("size",item.getSize());
|
|
|
+ jsonObject.put("CINVCODE",item.getInventoryCode());
|
|
|
+ jsonObject.put("CDEFINE28",item.getSmallPo());
|
|
|
+ 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())){
|
|
|
+ jsonObject.put("AUTOID_PO",map.get("AutoID"));
|
|
|
+ jsonObject.put("IORITAXCOST",syPackingListTailoringItemMapper.getiTaxPrice(map.get("AutoID").toString()));
|
|
|
+
|
|
|
+ getcFree(jsonObject,map);
|
|
|
+
|
|
|
+ bool=false;
|
|
|
+ break;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ if(bool){
|
|
|
+
|
|
|
+
|
|
|
+ }
|
|
|
+ jsonObject.put("CDEFINE23",syPackingListTailoringMapper.getUnit(item.getInventoryCode()));
|
|
|
+ jsonObject.put("CDEFINE33",item.getDeclarationName());
|
|
|
+
|
|
|
+
|
|
|
+ jsonArrays.add(jsonObject);
|
|
|
+
|
|
|
+
|
|
|
+ }
|
|
|
+ jsonObject1.put("DETAILList",jsonArrays);
|
|
|
+ jsonArrays1.add(jsonObject1);
|
|
|
+ Map<String,List<String>> maps=new HashMap<>();
|
|
|
+ System.out.println("jsonObject\n"+jsonObject1);
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+ long endTime = System.currentTimeMillis();
|
|
|
+ System.out.println("互相插入数据时用的时间:" + (endTime - startTime) + "ms");
|
|
|
+ }
|
|
|
+ System.out.println("jsonArrays1\n"+jsonArrays1);
|
|
|
+ return "";
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public List<SyPackingListTailoring> queryByList(String id) {
|
|
|
+ return syPackingListTailoringMapper.queryByList(id);
|
|
|
+ }
|
|
|
+
|
|
|
+ @Autowired
|
|
|
+ private SyPackingListFabricMapper syPackingListFabricMapper;
|
|
|
+ @Autowired
|
|
|
+ private SyPackingListFabricItemMapper syPackingListFabricItemMapper;
|
|
|
+
|
|
|
+ public List<Map<String,Object>> getInvoices(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 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<>();
|
|
|
+ System.out.println("customers.size\t"+customers.size());
|
|
|
+ System.out.println("customers\t"+customers);
|
|
|
+ for (Map<String,Object> map : customers){
|
|
|
+ if(mapLists.containsKey(map.get("cCusCode"))){
|
|
|
+ mapLists.get(map.get("cCusCode").toString()).add(map.get("ccode").toString());
|
|
|
+ }else{
|
|
|
+ List<String> list=new ArrayList<>();
|
|
|
+ list.add(map.get("ccode").toString());
|
|
|
+ mapLists.put(map.get("cCusCode").toString(),list);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ return mapLists;
|
|
|
+ }
|
|
|
+
|
|
|
+ public Map<String,List<String>> getSuppliers(List<String> codes){
|
|
|
+ List<Map<String,Object>> suppliers=syPackingListTailoringMapper.getSuppliers(codes.toArray(new String[codes.size()]));
|
|
|
+ Map<String,List<String>> mapLists=new HashMap<>();
|
|
|
+ System.out.println("suppliers.size\t"+suppliers.size());
|
|
|
+ System.out.println("suppliers\t"+suppliers);
|
|
|
+ for (Map<String,Object> map : suppliers){
|
|
|
+ if(mapLists.containsKey(map.get("cVenCode"))){
|
|
|
+ mapLists.get(map.get("cVenCode").toString()).add(map.get("ccode").toString());
|
|
|
+ }else{
|
|
|
+ List<String> list=new ArrayList<>();
|
|
|
+ list.add(map.get("ccode").toString());
|
|
|
+ mapLists.put(map.get("cVenCode").toString(),list);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ System.out.println("mapLists\t"+mapLists);
|
|
|
+ return mapLists;
|
|
|
+ }
|
|
|
+
|
|
|
+ public Map<String,List<SyPackingListTailoringItem>> getListTailoringItemMaps(Map<String,List<String>> customers,List<SyPackingListTailoring> listTailorings){
|
|
|
+ Map<String,List<SyPackingListTailoringItem>> mapLists=new HashMap<>();
|
|
|
+ for (String customer: customers.keySet()){
|
|
|
+ List<String> list=customers.get(customer);
|
|
|
+ List<SyPackingListTailoringItem> listTailoringItems=new ArrayList<>();
|
|
|
+ for (SyPackingListTailoring tailoring : listTailorings){
|
|
|
+ if (list.contains(tailoring.getRdrecord32Code())){
|
|
|
+ listTailoringItems.addAll(tailoring.getSyPackingListTailoringItemList());
|
|
|
+ }
|
|
|
+ }
|
|
|
+ mapLists.put(customer,listTailoringItems);
|
|
|
+ }
|
|
|
+ return mapLists;
|
|
|
+ }
|
|
|
+
|
|
|
+ public Map<String,List<SyPackingListTailoring>> getListTailoringMaps(Map<String,List<String>> customers,List<SyPackingListTailoring> listTailorings){
|
|
|
+ Map<String,List<SyPackingListTailoring>> mapLists=new HashMap<>();
|
|
|
+ for (String customer: customers.keySet()){
|
|
|
+ List<String> list=customers.get(customer);
|
|
|
+ List<SyPackingListTailoring> listTailorings2=new ArrayList<>();
|
|
|
+ for (SyPackingListTailoring tailoring : listTailorings){
|
|
|
+ if (list.contains(tailoring.getRdrecord32Code())){
|
|
|
+ listTailorings2.add(tailoring);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ mapLists.put(customer,listTailorings2);
|
|
|
+ }
|
|
|
+ return mapLists;
|
|
|
+ }
|
|
|
+
|
|
|
+ public List<String> getList(List<SyPackingListTailoring> listFabrics){
|
|
|
+ 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){
|
|
|
+ ids.add(str.split(":")[1]);
|
|
|
+ syPackingListFabric.setRdrecord32Code(str.split(":")[1]);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ return ids;
|
|
|
+ }
|
|
|
}
|