瀏覽代碼

托书推送U8

zengtx 2 年之前
父節點
當前提交
838398a8f6

+ 16 - 0
jeecg-boot-module-system/src/main/java/org/jeecg/modules/documents/syShippingOrder/controller/SyShippingOrderController.java

@@ -1268,6 +1268,14 @@ public class SyShippingOrderController extends JeecgController<SyShippingOrder,
 		 try {
 			 //查询主表信息
 			 SyShippingOrder entity = syShippingOrderService.getById(syShippingOrder.getId());
+			 //判断是否已提交
+			 if(entity.getTheDocumentsState().equals("0")){
+				 result.setResult(0);
+				 result.setMessage("推送失败!请先提交单据!");
+				 result.setSuccess(false);
+				 return result;
+
+			 }
 			 //转map
 			 Field[] fields = entity.getClass().getDeclaredFields();
 			 for (Field field : fields) {
@@ -1315,6 +1323,14 @@ public class SyShippingOrderController extends JeecgController<SyShippingOrder,
 				 usdmap.add(mapList);
 			 }
 
+			 //判断是否有美元或者人民币信息
+			 if(rmbmap.size()==0 && usdmap.size()==0){
+				 result.setResult(0);
+				 result.setMessage("推送失败!请填写人民币信息或者美元信息");
+				 result.setSuccess(false);
+				 return result;
+
+			 }
 			 //查询装箱单子表,获取销售订单主表ID
 			 for (Map<String, Object> li : listmap) {
 				 //查面料

+ 3 - 3
jeecg-boot-module-system/src/main/java/org/jeecg/modules/documents/syShippingOrder/mapper/xml/SyShippingOrderMapper.xml

@@ -163,10 +163,10 @@ group by a.group_id) t group by t.elementsId,t.smailPo order by t.styleNumber,t.
     <insert id="saveSalePayVouch">
 
  insert into SalePayVouch(cSPVCode,ID,dDate,cPersonCode,cDepCode,cCusCode,cDefine10,cVouchType,cMaker,
-   iSourceId,cSourceCode,cSOCode,cnextsystem,iexchrate,cVouchID,Cexch_Name,iVTid)
+   iSourceId,cSourceCode,cSOCode,cnextsystem,iexchrate,cVouchID,Cexch_Name,iVTid,cvencode)
    value (#{map.cSPVCode},#{map.ID},#{map.dDate},#{map.cPersonCode},#{map.cDepCode},#{map.cCusCode},
    #{map.cDefine10},#{map.cVouchType},#{map.cMaker},#{map.iSourceId},#{map.cSourceCode},#{map.cSOCode},
-   #{map.cnextsystem},#{map.iexchrate},#{map.cVouchID},#{map.Cexch_Name},#{map.iVTid})
+   #{map.cnextsystem},#{map.iexchrate},#{map.cVouchID},#{map.Cexch_Name},#{map.iVTid},#{map.cvencode})
 
     </insert>
 
@@ -198,7 +198,7 @@ group by a.group_id) t group by t.elementsId,t.smailPo order by t.styleNumber,t.
 
     <select id="qeuryItemInfo" resultType="org.jeecg.modules.documents.syShippingOrder.entity.SyShippingOrderItem">
         SELECT GROUP_CONCAT(id) as id, sy_shipping_order_item_id as syShippingOrderItemId, english_name as englishName, style_number as styleNumber, smail_po as smailPo,create_by as createBy,order_number as orderNumber,
-sum(number) as number,
+sum(number) as number,pk_org as pkOrg,
 case when ready_fabric != '成衣' then sum(box_number) else box_number end as boxNumber,
 case when ready_fabric != '成衣' then sum(gross_weight) else gross_weight end as grossWeight,
 case when ready_fabric != '成衣' then sum(net_weight) else net_weight end as netWeight,

+ 97 - 93
jeecg-boot-module-system/src/main/java/org/jeecg/modules/documents/syShippingOrder/service/impl/SyShippingOrderServiceImpl.java

@@ -152,7 +152,7 @@ public class SyShippingOrderServiceImpl extends ServiceImpl<SyShippingOrderMappe
 
                 totalGrossWeight = totalGrossWeight.add(li.getGrossWeight());//总毛重
                 totalNetWeight = totalNetWeight.add(li.getNetWeight());//总净重
-                if(li.getReadyFabric().equals("面料")){
+                if(li.getReadyFabric().equals("面料") || li.getReadyFabric().equals("辅料")){
                     //查询装箱单面料子表数据
                     QueryWrapper<SyPackingListFabricItem> queryWrapper = new QueryWrapper<SyPackingListFabricItem>();
                     queryWrapper.in("id",fabricItemIdList);
@@ -316,7 +316,7 @@ public class SyShippingOrderServiceImpl extends ServiceImpl<SyShippingOrderMappe
         }
         //新增人名币
         List<SyRmb> rmbList = syShippingOrder.getRmbList();
-        if(rmbList.size()!=0){
+        if(rmbList.size()!=0 && oConvertUtils.isNotEmpty(rmbList.get(0).getAmount())){
             for(SyRmb li:rmbList){
                 li.setId(oConvertUtils.id());
                 li.setSyLetterDepositId(id);
@@ -326,7 +326,7 @@ public class SyShippingOrderServiceImpl extends ServiceImpl<SyShippingOrderMappe
         }
         //新增美元
         List<SyUsd> usdList = syShippingOrder.getUsdList();
-        if(usdList.size()!=0){
+        if(usdList.size()!=0 && oConvertUtils.isNotEmpty(usdList.get(0).getAmount())){
             for(SyUsd li:usdList){
                 li.setId(oConvertUtils.id());
                 li.setSyLetterDepositId(id);
@@ -362,7 +362,7 @@ public class SyShippingOrderServiceImpl extends ServiceImpl<SyShippingOrderMappe
         List<SyShippingOrderItem> itemList = syShippingOrder.getSyShippingOrderItemList();
         for(SyShippingOrderItem li:itemList){
 
-            if(li.getReadyFabric().equals("面料")){
+            if(li.getReadyFabric().equals("面料") || li.getReadyFabric().equals("辅料")){
 
                 //查询预装箱但面料数据
                 SyPackingListFabric syPackingListFabric = syPackingListFabricService.getById(li.getTailoringFabricId());
@@ -575,115 +575,119 @@ public class SyShippingOrderServiceImpl extends ServiceImpl<SyShippingOrderMappe
         //业务场景
         //一张托书有五个销售订单号,美元代币有三个,人民币代币有三个,此时需要生成30张销售费用支出单,每一个销售订单需要生成6个费用支出单,所以(5*6=30)
         for(Map<String,Object> li: itemList){
-            //人民币信息
-            for(Map<String,Object> rmb:rmbList){
-                ii++;
-                Map<String,Object> map = new HashMap<>();
-                Map<String,Object> mapPo;
 
-                String orderId = li.get("orderId").toString();
-                mapPo = syShippingOrderMapper.querySOMain(orderId);//li.get("orderId").toString()
+            if(rmbList.size()!=0) {
+                //人民币信息
+                for (Map<String, Object> rmb : rmbList) {
+                    ii++;
+                    Map<String, Object> map = new HashMap<>();
+                    Map<String, Object> mapPo;
+
+                    String orderId = li.get("orderId").toString();
+                    mapPo = syShippingOrderMapper.querySOMain(orderId.substring(3, orderId.length()));//li.get("orderId").toString()
+
+                    if (ii > 1) {
+                        cCode = org.jeecg.modules.system.util.oConvertUtils.addOne(cCode);
+                        //cVouchID = org.jeecg.modules.system.util.oConvertUtils.addOne(cVouchID);
+                        id = org.jeecg.modules.system.util.oConvertUtils.addOne(id);
+                        map.put("cSPVCode", cCode);//单据号
+                        // map.put("cVouchID",cVouchID);
+                        map.put("ID", id);//ID
+                    } else {
+                        map.put("cSPVCode", cCode);//单据号
+                        //map.put("cVouchID",cVouchID);
+                        map.put("ID", 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("cVouchType", "PO");//单据类型
+                    map.put("cMaker", map1.get("createBy"));//制单人
+                    map.put("iSourceId", mapPo.get("ID"));//来源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"));
+                    listmap.add(map);
+
+
+                    //添加子表信息
+                    Map<String, Object> maps = new HashMap<>();
+                    maps.put("cSPVCode", cCode);//销售支出单号
+                    maps.put("iMoney", new BigDecimal(li.get("grossWeight").toString()).multiply(new BigDecimal(rmb.get("amount").toString())));
+                    maps.put("cExpCode", "0000" + ii);//项目编码
+                    maps.put("ID", id);
+                    maps.put("irowno", "1");//行号
+                    listmaps.add(maps);
+                }
+            }
+
+            if(rmbList.size()!=0) {
+                //美元信息
+                for (Map<String, Object> usd : usdList) {
+                    Map<String, Object> map = new HashMap<>();
+                    Map<String, Object> mapPo;
+
+                    String orderId = li.get("orderId").toString();
+                    mapPo = syShippingOrderMapper.querySOMain(orderId.substring(3, orderId.length()));//li.get("orderId").toString()
 
-                if(ii>1){
                     cCode = org.jeecg.modules.system.util.oConvertUtils.addOne(cCode);
                     //cVouchID = org.jeecg.modules.system.util.oConvertUtils.addOne(cVouchID);
                     id = org.jeecg.modules.system.util.oConvertUtils.addOne(id);
-                    map.put("cSPVCode",cCode);//单据号
-                   // map.put("cVouchID",cVouchID);
-                    map.put("ID",id);//ID
-                }else{
-                    map.put("cSPVCode",cCode);//单据号
+                    map.put("cSPVCode", cCode);//单据号
+                    map.put("ID", id);//ID
                     //map.put("cVouchID",cVouchID);
-                    map.put("ID",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("cVouchType","PO");//单据类型
-                map.put("cMaker",map1.get("createBy"));//制单人
-                map.put("iSourceId",mapPo.get("ID"));//来源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","");
-                listmap.add(map);
-
-
-                //添加子表信息
-                Map<String,Object> maps = new HashMap<>();
-                maps.put("cSPVCode",cCode);//销售支出单号
-                maps.put("iMoney",new BigDecimal(li.get("grossWeight").toString()).multiply(new BigDecimal(rmb.get("amount").toString())));
-                maps.put("cExpCode","0000"+ii);//项目编码
-                    maps.put("ID", id);
-                maps.put("irowno","1");//行号
-                listmaps.add(maps);
-            }
 
-            //美元信息
-            for(Map<String,Object> usd:usdList){
-                Map<String,Object> map = new HashMap<>();
-                Map<String,Object> mapPo;
-
-                String orderId = li.get("orderId").toString();
-                mapPo = syShippingOrderMapper.querySOMain(orderId.substring(3,orderId.length()));//li.get("orderId").toString()
-
-                cCode = org.jeecg.modules.system.util.oConvertUtils.addOne(cCode);
-                //cVouchID = org.jeecg.modules.system.util.oConvertUtils.addOne(cVouchID);
-                id = org.jeecg.modules.system.util.oConvertUtils.addOne(id);
-                map.put("cSPVCode",cCode);//单据号
-                map.put("ID",id);//ID
-                //map.put("cVouchID",cVouchID);
-
-                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("cVouchType","PO");//单据类型
-                map.put("cMaker",map1.get("createBy"));//制单人
-                map.put("iSourceId",mapPo.get("ID"));//来源ID、
-                map.put("cSourceCode","SYW440-马菲羊-面料");//订单号li.get("orderNumber")
-                map.put("cSOCode","SYW440-马菲羊-面料");//订单号
-                map.put("cnextsystem","其他应付单");//单据流向
-                map.put("iexchrate","1");//汇率
-                map.put("Cexch_Name","美元");
-                map.put("iVTid","57");//单据模板号
-
-                listmap.add(map);
-
-
-                //添加子表信息
-                Map<String,Object> maps = new HashMap<>();
-                maps.put("cSPVCode",cCode);//销售支出单号
-                maps.put("iMoney",new BigDecimal(li.get("grossWeight").toString()).multiply(new BigDecimal(usd.get("amount").toString())));
-                maps.put("cExpCode","0000"+ii);//项目编码
-
-                maps.put("ID", id);
-                maps.put("irowno","1");//行号
-                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("cVouchType", "PO");//单据类型
+                    map.put("cMaker", map1.get("createBy"));//制单人
+                    map.put("iSourceId", mapPo.get("ID"));//来源ID、
+                    map.put("cSourceCode", li.get("orderNumber"));//订单号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", usd.get("freightForwarder"));
+                    listmap.add(map);
+
+
+                    //添加子表信息
+                    Map<String, Object> maps = new HashMap<>();
+                    maps.put("cSPVCode", cCode);//销售支出单号
+                    maps.put("iMoney", new BigDecimal(li.get("grossWeight").toString()).multiply(new BigDecimal(usd.get("amount").toString())));
+                    maps.put("cExpCode", "0000" + ii);//项目编码
 
+                    maps.put("ID", id);
+                    maps.put("irowno", "1");//行号
+                    listmaps.add(maps);
+                }
+            }
         }
 
 
             //循环新增主表
             for(Map<String,Object> ma:listmap){
-               // syShippingOrderMapper.saveSalePayVouch(ma);
+                syShippingOrderMapper.saveSalePayVouch(ma);
             }
 
             //循环新增子表
             for(Map<String,Object> ma:listmaps){
-              // syShippingOrderMapper.saveSalePayVouchs(ma);
+               syShippingOrderMapper.saveSalePayVouchs(ma);
             }
 
             //修改最大编码
-           // purchaseWarehousingMapper.updateVoucherHistoryCNumber(org.jeecg.modules.system.util.oConvertUtils.maxNumber(cCode),"09");
+            purchaseWarehousingMapper.updateVoucherHistoryCNumber(org.jeecg.modules.system.util.oConvertUtils.maxNumber(cCode),"09");
 
 
         }catch (Exception e){