|
@@ -672,94 +672,92 @@ public class SyShippingOrderServiceImpl extends ServiceImpl<SyShippingOrderMappe
|
|
|
}
|
|
|
|
|
|
int ii = 0;
|
|
|
-
|
|
|
- Double sumMoney = 0.00;
|
|
|
-
|
|
|
- Boolean boo = false;
|
|
|
-
|
|
|
- BigDecimal sumImoney = BigDecimal.ZERO;
|
|
|
|
|
|
try {
|
|
|
- if(rmbList.size()!=0){
|
|
|
- for (Map<String, Object> rmb : rmbList) {
|
|
|
- sumMoney = sumMoney+Double.parseDouble(rmb.get("amount").toString());
|
|
|
- }
|
|
|
- }
|
|
|
- if(usdList.size()!=0){
|
|
|
- for (Map<String, Object> usd : usdList) {
|
|
|
- sumMoney = sumMoney+Double.parseDouble(usd.get("amount").toString());
|
|
|
- }
|
|
|
- }
|
|
|
|
|
|
|
|
|
-
|
|
|
- for(Map<String,Object> li: itemList){
|
|
|
+
|
|
|
+
|
|
|
|
|
|
if(rmbList.size()!=0) {
|
|
|
|
|
|
|
|
|
for (Map<String, Object> rmb : rmbList) {
|
|
|
|
|
|
- String redisId = redisUtil.get("salerID").toString();
|
|
|
- int addId = Integer.parseInt(redisId)+1;
|
|
|
- String id = String.valueOf(addId);
|
|
|
- redisUtil.set("salerID",id);
|
|
|
- ii++;
|
|
|
- Map<String, Object> map = new HashMap<>();
|
|
|
- Map<String, Object> mapPo;
|
|
|
-
|
|
|
- String orderId = li.get("orderId").toString();
|
|
|
- if(orderId.indexOf("-") > 0){
|
|
|
- String idsplit[] = orderId.split("-");
|
|
|
- orderId = idsplit[0];
|
|
|
- }
|
|
|
+
|
|
|
+ BigDecimal sumImoney = BigDecimal.ZERO;
|
|
|
|
|
|
- mapPo = syShippingOrderMapper.querySOMain(orderId.substring(3, orderId.length()));
|
|
|
+ for(Map<String,Object> li: itemList){
|
|
|
|
|
|
- if (ii > 1) {
|
|
|
- cCode = org.jeecg.modules.system.util.oConvertUtils.addOne(cCode);
|
|
|
-
|
|
|
- map.put("cSPVCode", cCode);
|
|
|
- map.put("ID", id);
|
|
|
- } else {
|
|
|
- map.put("cSPVCode", cCode);
|
|
|
- map.put("ID", id);
|
|
|
+ String redisId = redisUtil.get("salerID").toString();
|
|
|
+ int addId = Integer.parseInt(redisId)+1;
|
|
|
+ String id = String.valueOf(addId);
|
|
|
+ redisUtil.set("salerID",id);
|
|
|
+ ii++;
|
|
|
+ Map<String, Object> map = new HashMap<>();
|
|
|
+ Map<String, Object> mapPo;
|
|
|
+
|
|
|
+ String orderId = li.get("orderId").toString();
|
|
|
+ if(orderId.indexOf("-") > 0){
|
|
|
+ String idsplit[] = orderId.split("-");
|
|
|
+ orderId = idsplit[0];
|
|
|
+ }
|
|
|
+
|
|
|
+ mapPo = syShippingOrderMapper.querySOMain(orderId.substring(3, orderId.length()));
|
|
|
+
|
|
|
+ if (ii > 1) {
|
|
|
+ cCode = org.jeecg.modules.system.util.oConvertUtils.addOne(cCode);
|
|
|
+
|
|
|
+ map.put("cSPVCode", cCode);
|
|
|
+ map.put("ID", id);
|
|
|
+ } else {
|
|
|
+ map.put("cSPVCode", cCode);
|
|
|
+ map.put("ID", id);
|
|
|
+ }
|
|
|
+ map.put("dDate", sf.format(new Date()));
|
|
|
+ map.put("cPersonCode", mapPo.get("cPersonCode"));
|
|
|
+ map.put("cDepCode", mapPo.get("cDepCode"));
|
|
|
+ map.put("cCusCode", mapPo.get("cCusCode"));
|
|
|
+ map.put("cDefine10", map1.get("shippingOrderNumber"));
|
|
|
+ map.put("cMaker", "进出口平台管理员");
|
|
|
+ map.put("iSourceId", mapPo.get("ID"));
|
|
|
+ map.put("cSourceCode", li.get("orderNumber"));
|
|
|
+ map.put("cSOCode", li.get("orderNumber"));
|
|
|
+ map.put("cnextsystem", "其他应付单");
|
|
|
+ map.put("iexchrate", "1");
|
|
|
+ map.put("Cexch_Name", "人民币");
|
|
|
+ map.put("iVTid", "57");
|
|
|
+ map.put("cvencode", rmb.get("freightForwarder"));
|
|
|
+ map.put("cSysBarCode", "||SA09|"+cCode);
|
|
|
+
|
|
|
+
|
|
|
+ Map<String, Object> maps = new HashMap<>();
|
|
|
+ maps.put("cSPVCode", cCode);
|
|
|
+
|
|
|
+ Double money = Double.parseDouble(li.get("grossWeight").toString()) / Double.parseDouble(map1.get("totalGrossWeight").toString());
|
|
|
+ Double imoney = money * Double.parseDouble(rmb.get("amount").toString());
|
|
|
+
|
|
|
+ maps.put("iMoney", df.format(imoney));
|
|
|
+ maps.put("INatMoney", df.format(imoney));
|
|
|
+ maps.put("cExpCode", rmb.get("itemColumn"));
|
|
|
+ maps.put("ID", id);
|
|
|
+ maps.put("irowno", "1");
|
|
|
+ maps.put("cbSysBarCode", "||SA09|"+cCode+"|"+ii);
|
|
|
+ if(imoney >= 0.01){
|
|
|
+ sumImoney = sumImoney.add(new BigDecimal(df.format(imoney)));
|
|
|
+ listmap.add(map);
|
|
|
+ listmaps.add(maps);
|
|
|
+ }
|
|
|
}
|
|
|
- map.put("dDate", sf.format(new Date()));
|
|
|
- map.put("cPersonCode", mapPo.get("cPersonCode"));
|
|
|
- map.put("cDepCode", mapPo.get("cDepCode"));
|
|
|
- map.put("cCusCode", mapPo.get("cCusCode"));
|
|
|
- map.put("cDefine10", map1.get("shippingOrderNumber"));
|
|
|
- map.put("cMaker", "进出口平台管理员");
|
|
|
- map.put("iSourceId", mapPo.get("ID"));
|
|
|
- map.put("cSourceCode", li.get("orderNumber"));
|
|
|
- map.put("cSOCode", li.get("orderNumber"));
|
|
|
- map.put("cnextsystem", "其他应付单");
|
|
|
- map.put("iexchrate", "1");
|
|
|
- map.put("Cexch_Name", "人民币");
|
|
|
- map.put("iVTid", "57");
|
|
|
- map.put("cvencode", rmb.get("freightForwarder"));
|
|
|
- map.put("cSysBarCode", "||SA09|"+cCode);
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
- Map<String, Object> maps = new HashMap<>();
|
|
|
- maps.put("cSPVCode", cCode);
|
|
|
-
|
|
|
- Double money = Double.parseDouble(li.get("grossWeight").toString()) / Double.parseDouble(map1.get("totalGrossWeight").toString());
|
|
|
- Double imoney = money * Double.parseDouble(rmb.get("amount").toString());
|
|
|
-
|
|
|
- maps.put("iMoney", df.format(imoney));
|
|
|
- maps.put("INatMoney", df.format(imoney));
|
|
|
- maps.put("cExpCode", rmb.get("itemColumn"));
|
|
|
- maps.put("ID", id);
|
|
|
- maps.put("irowno", "1");
|
|
|
- maps.put("cbSysBarCode", "||SA09|"+cCode+"|"+ii);
|
|
|
- if(imoney >= 0.01){
|
|
|
- sumImoney = sumImoney.add(new BigDecimal(df.format(imoney)));
|
|
|
- listmap.add(map);
|
|
|
- listmaps.add(maps);
|
|
|
+ BigDecimal sumMoney = new BigDecimal(rmb.get("amount").toString());
|
|
|
+ if(sumMoney.compareTo(sumImoney) > 0){
|
|
|
+ BigDecimal mo = sumMoney.subtract(sumImoney).setScale(2,BigDecimal.ROUND_HALF_UP);
|
|
|
+ listmaps.get(listmaps.size()-1).put("iMoney",(new BigDecimal(listmaps.get(listmaps.size()-1).get("iMoney").toString()).add(mo)));
|
|
|
+ listmaps.get(listmaps.size()-1).put("INatMoney",(new BigDecimal(listmaps.get(listmaps.size()-1).get("INatMoney").toString()).add(mo)));
|
|
|
+ }else{
|
|
|
+ BigDecimal mo = sumImoney.subtract(sumMoney).setScale(2,BigDecimal.ROUND_HALF_UP);
|
|
|
+ listmaps.get(listmaps.size()-1).put("iMoney",(new BigDecimal(listmaps.get(listmaps.size()-1).get("iMoney").toString()).subtract(mo)));
|
|
|
+ listmaps.get(listmaps.size()-1).put("INatMoney",(new BigDecimal(listmaps.get(listmaps.size()-1).get("INatMoney").toString()).subtract(mo)));
|
|
|
}
|
|
|
|
|
|
}
|
|
@@ -769,82 +767,83 @@ public class SyShippingOrderServiceImpl extends ServiceImpl<SyShippingOrderMappe
|
|
|
int index = 0;
|
|
|
|
|
|
for (Map<String, Object> usd : usdList) {
|
|
|
- String redisId = redisUtil.get("salerID").toString();
|
|
|
- int addId = Integer.parseInt(redisId)+1;
|
|
|
- String id = String.valueOf(addId);
|
|
|
- redisUtil.set("salerID",id);
|
|
|
- ii++;
|
|
|
- Map<String, Object> map = new HashMap<>();
|
|
|
- Map<String, Object> mapPo;
|
|
|
-
|
|
|
- String orderId = li.get("orderId").toString();
|
|
|
- if(orderId.indexOf("-") > 0){
|
|
|
- String idsplit[] = orderId.split("-");
|
|
|
- orderId = idsplit[0];
|
|
|
- }
|
|
|
- mapPo = syShippingOrderMapper.querySOMain(orderId.substring(3, orderId.length()));
|
|
|
-
|
|
|
- if (ii > 1) {
|
|
|
- cCode = org.jeecg.modules.system.util.oConvertUtils.addOne(cCode);
|
|
|
-
|
|
|
- map.put("cSPVCode", cCode);
|
|
|
- map.put("ID", id);
|
|
|
- } else {
|
|
|
- map.put("cSPVCode", cCode);
|
|
|
- map.put("ID", id);
|
|
|
- }
|
|
|
+
|
|
|
+ BigDecimal sumImoney = BigDecimal.ZERO;
|
|
|
+
|
|
|
+ for(Map<String,Object> li: itemList){
|
|
|
+
|
|
|
+ String redisId = redisUtil.get("salerID").toString();
|
|
|
+ int addId = Integer.parseInt(redisId)+1;
|
|
|
+ String id = String.valueOf(addId);
|
|
|
+ redisUtil.set("salerID",id);
|
|
|
+ ii++;
|
|
|
+ Map<String, Object> map = new HashMap<>();
|
|
|
+ Map<String, Object> mapPo;
|
|
|
+
|
|
|
+ String orderId = li.get("orderId").toString();
|
|
|
+ if(orderId.indexOf("-") > 0){
|
|
|
+ String idsplit[] = orderId.split("-");
|
|
|
+ orderId = idsplit[0];
|
|
|
+ }
|
|
|
+ mapPo = syShippingOrderMapper.querySOMain(orderId.substring(3, orderId.length()));
|
|
|
+
|
|
|
+ if (ii > 1) {
|
|
|
+ cCode = org.jeecg.modules.system.util.oConvertUtils.addOne(cCode);
|
|
|
+
|
|
|
+ map.put("cSPVCode", cCode);
|
|
|
+ map.put("ID", id);
|
|
|
+ } else {
|
|
|
+ map.put("cSPVCode", cCode);
|
|
|
+ map.put("ID", id);
|
|
|
+ }
|
|
|
|
|
|
- map.put("dDate", sf.format(new Date()));
|
|
|
- map.put("cPersonCode", mapPo.get("cPersonCode"));
|
|
|
- map.put("cDepCode", mapPo.get("cDepCode"));
|
|
|
- map.put("cCusCode", mapPo.get("cCusCode"));
|
|
|
- map.put("cDefine10", map1.get("shippingOrderNumber"));
|
|
|
- map.put("cMaker", "进出口平台管理员");
|
|
|
- map.put("iSourceId", mapPo.get("ID"));
|
|
|
- map.put("cSourceCode", li.get("orderNumber"));
|
|
|
- map.put("cSOCode", li.get("orderNumber"));
|
|
|
- map.put("cnextsystem", "其他应付单");
|
|
|
- map.put("iexchrate", nflat);
|
|
|
- map.put("Cexch_Name", "美元");
|
|
|
- map.put("iVTid", "57");
|
|
|
- map.put("cvencode", usd.get("freightForwarder"));
|
|
|
- map.put("cSysBarCode", "||SA09|"+cCode);
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
- Map<String, Object> maps = new HashMap<>();
|
|
|
- maps.put("cSPVCode", cCode);
|
|
|
- Double money = Double.parseDouble(li.get("grossWeight").toString()) / Double.parseDouble(map1.get("totalGrossWeight").toString());
|
|
|
- Double imoney = money * Double.parseDouble(usd.get("amount").toString());
|
|
|
-
|
|
|
- maps.put("cbSysBarCode", "||SA09|"+cCode+"|"+ii);
|
|
|
- Double usdMoney = Double.parseDouble(df.format(imoney))*Double.parseDouble(nflat);
|
|
|
- maps.put("INatMoney", df.format(usdMoney));
|
|
|
-
|
|
|
-
|
|
|
- maps.put("iMoney", df.format(imoney));
|
|
|
- maps.put("cExpCode",usd.get("itemColumn"));
|
|
|
- maps.put("ID", id);
|
|
|
- maps.put("irowno", "1");
|
|
|
- if(imoney >= 0.01){
|
|
|
- sumImoney = sumImoney.add(new BigDecimal(df.format(imoney)));
|
|
|
- listmap.add(map);
|
|
|
- listmaps.add(maps);
|
|
|
+ map.put("dDate", sf.format(new Date()));
|
|
|
+ map.put("cPersonCode", mapPo.get("cPersonCode"));
|
|
|
+ map.put("cDepCode", mapPo.get("cDepCode"));
|
|
|
+ map.put("cCusCode", mapPo.get("cCusCode"));
|
|
|
+ map.put("cDefine10", map1.get("shippingOrderNumber"));
|
|
|
+ map.put("cMaker", "进出口平台管理员");
|
|
|
+ map.put("iSourceId", mapPo.get("ID"));
|
|
|
+ map.put("cSourceCode", li.get("orderNumber"));
|
|
|
+ map.put("cSOCode", li.get("orderNumber"));
|
|
|
+ map.put("cnextsystem", "其他应付单");
|
|
|
+ map.put("iexchrate", nflat);
|
|
|
+ map.put("Cexch_Name", "美元");
|
|
|
+ map.put("iVTid", "57");
|
|
|
+ map.put("cvencode", usd.get("freightForwarder"));
|
|
|
+ map.put("cSysBarCode", "||SA09|"+cCode);
|
|
|
+
|
|
|
+
|
|
|
+ Map<String, Object> maps = new HashMap<>();
|
|
|
+ maps.put("cSPVCode", cCode);
|
|
|
+ Double money = Double.parseDouble(li.get("grossWeight").toString()) / Double.parseDouble(map1.get("totalGrossWeight").toString());
|
|
|
+ Double imoney = money * Double.parseDouble(usd.get("amount").toString());
|
|
|
+ maps.put("cbSysBarCode", "||SA09|"+cCode+"|"+ii);
|
|
|
+ Double usdMoney = Double.parseDouble(df.format(imoney))*Double.parseDouble(nflat);
|
|
|
+ maps.put("INatMoney", df.format(usdMoney));
|
|
|
+ maps.put("iMoney", df.format(imoney));
|
|
|
+ maps.put("cExpCode",usd.get("itemColumn"));
|
|
|
+ maps.put("ID", id);
|
|
|
+ maps.put("irowno", "1");
|
|
|
+ if(imoney >= 0.01){
|
|
|
+ sumImoney = sumImoney.add(new BigDecimal(df.format(imoney)));
|
|
|
+ listmap.add(map);
|
|
|
+ listmaps.add(maps);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ BigDecimal sumMoney = new BigDecimal(usd.get("amount").toString());
|
|
|
+ if(sumMoney.compareTo(sumImoney) > 0){
|
|
|
+ BigDecimal mo = sumMoney.subtract(sumImoney).setScale(2,BigDecimal.ROUND_HALF_UP);
|
|
|
+ listmaps.get(listmaps.size()-1).put("iMoney",(new BigDecimal(listmaps.get(listmaps.size()-1).get("iMoney").toString()).add(mo)));
|
|
|
+ listmaps.get(listmaps.size()-1).put("INatMoney",(new BigDecimal(listmaps.get(listmaps.size()-1).get("INatMoney").toString()).add(mo)));
|
|
|
+ }else{
|
|
|
+ BigDecimal mo = sumImoney.subtract(sumMoney).setScale(2,BigDecimal.ROUND_HALF_UP);
|
|
|
+ listmaps.get(listmaps.size()-1).put("iMoney",(new BigDecimal(listmaps.get(listmaps.size()-1).get("iMoney").toString()).subtract(mo)));
|
|
|
+ listmaps.get(listmaps.size()-1).put("INatMoney",(new BigDecimal(listmaps.get(listmaps.size()-1).get("INatMoney").toString()).subtract(mo)));
|
|
|
}
|
|
|
-
|
|
|
-
|
|
|
- }
|
|
|
}
|
|
|
}
|
|
|
|
|
|
-
|
|
|
- if(sumMoney - sumImoney.doubleValue() ==0){
|
|
|
- }else{
|
|
|
- BigDecimal mo = new BigDecimal(sumMoney).subtract(sumImoney).setScale(2,BigDecimal.ROUND_HALF_UP);
|
|
|
- listmaps.get(listmaps.size()-1).put("iMoney",(new BigDecimal(listmaps.get(listmaps.size()-1).get("iMoney").toString()).add(mo)));
|
|
|
- listmaps.get(listmaps.size()-1).put("INatMoney",(new BigDecimal(listmaps.get(listmaps.size()-1).get("INatMoney").toString()).add(mo)));
|
|
|
- }
|
|
|
-
|
|
|
|
|
|
for(Map<String,Object> ma:listmap){
|
|
|
syShippingOrderMapper.saveSalePayVouch(ma);
|
|
@@ -858,8 +857,7 @@ public class SyShippingOrderServiceImpl extends ServiceImpl<SyShippingOrderMappe
|
|
|
|
|
|
purchaseWarehousingMapper.updateVoucherHistoryCNumber(cCode,"09");
|
|
|
|
|
|
-
|
|
|
-
|
|
|
+
|
|
|
|
|
|
}catch (Exception e){
|
|
|
e.printStackTrace();
|