chen 3 年 前
コミット
888eb803b0

+ 58 - 21
jeecg-boot-module-system/src/main/java/org/jeecg/modules/openApi/service/impl/PurchaseWarehousingServiceImpl.java

@@ -5,6 +5,7 @@ import net.sf.json.JSONObject;
 import org.apache.commons.lang.StringUtils;
 import org.jeecg.modules.openApi.entity.PurchaseWarehousing;
 import org.jeecg.modules.openApi.mapper.PurchaseWarehousingMapper;
+import org.jeecg.modules.openApi.mapper.SubcontractingOrderMapper;
 import org.jeecg.modules.openApi.service.IPurchaseWarehousingService;
 import org.jeecg.modules.system.entity.SysUser;
 import org.jeecg.modules.system.service.ISysUserService;
@@ -35,30 +36,60 @@ public class PurchaseWarehousingServiceImpl extends ServiceImpl<PurchaseWarehous
     @Autowired
     private PurchaseWarehousingMapper purchaseWarehousingMapper;
 
+    @Autowired
+    private SubcontractingOrderMapper subcontractingOrderMapper;
+
     @DS("multi-one")
     @Override
     public void savaOne(List<Map<String, Object>> mapList) {
-        save(mapList);
+        save(mapList,"901");
     }
 
     @DS("multi-two")
     @Override
     public void savaTwo(List<Map<String, Object>> mapList) {
-        save(mapList);
+        save(mapList,"902");
     }
 
     @DS("multi-three")
     @Override
     public void savaThree(List<Map<String, Object>> mapList) {
-        save(mapList);
+        save(mapList,"903");
+    }
+
+    //获取最大表id
+    public Map<String,Integer> callGetUAMaxPK2(String StuNo,String accId) {
+        Map<String,Integer> map = subcontractingOrderMapper.callGetUAMaxPK(StuNo,accId);//账套参数暂时无效,在数据库中已固定账套号
+        Map<String,Integer> map1 = new HashMap<>();
+
+        if(map.get("iFatherId") != null){//主表主键
+            if(map.get("iFatherId") >= 1000000000){
+                map1.put("iFatherId",map.get("iFatherId"));
+            }else{
+                map1.put("iFatherId",map.get("iFatherId")+1000000000);
+            }
+        }
+        if(map.get("iChildId") != null){ //子表主键
+            if(map.get("iChildId") >= 1000000000){
+                map1.put("iChildId",map.get("iChildId"));
+            }else{
+                map1.put("iChildId",map.get("iChildId")+1000000000);
+            }
+        }
+        return map1;
     }
 
-    public void save(List<Map<String, Object>> mapList){
+    public void save(List<Map<String, Object>> mapList,String accID){
         if(mapList!=null&&mapList.size()>0){
 
             for(Map<String,Object> map:mapList){
                 //获取主表最大编码
-                map.put("ID", oConvertUtils.addOne(getMaxId("ID","RdRecord01")));
+                Map<String,Integer> pkMap = callGetUAMaxPK2("rd",accID);
+                if(pkMap.get("iFatherId")==null){
+                    throw new RuntimeException("获取入库单主表ID失败");
+                }
+                map.put("ID",pkMap.get("iFatherId"));
+//                map.put("ID", oConvertUtils.addOne(getMaxId("ID","RdRecord01")));
 
                 System.out.println(map.get("ID"));
                 //获取最大code
@@ -150,7 +181,13 @@ public class PurchaseWarehousingServiceImpl extends ServiceImpl<PurchaseWarehous
                             message=message+"第"+rowId+"缺少批号;";
                         }
                         //获取子表最大id
-                        itemMap.put("AutoID",oConvertUtils.addOne(getMaxId("AutoID","rdrecords01")));
+                        Map<String,Integer> pkMapChild = callGetUAMaxPK2("rd",accID);
+                        if(pkMap.get("iChildId")==null){
+                            message=message+"第"+rowId+"获取入库单子表ID失败;";
+                            throw new RuntimeException("获取入库单子表ID失败");
+                        }
+                        itemMap.put("AutoID",pkMapChild.get("iChildId"));
+//                        itemMap.put("AutoID",oConvertUtils.addOne(getMaxId("AutoID","rdrecords01")));
                         //主表id
                         itemMap.put("ID",map.get("ID"));
                         //行号
@@ -161,7 +198,7 @@ public class PurchaseWarehousingServiceImpl extends ServiceImpl<PurchaseWarehous
                         //判断是否批次管理
                         Boolean ispc=false;
                         Map<String,Object> mapInvCode= this.baseMapper.getInventoryBycInvCode(String.valueOf(itemMap.get("cInvCode")));
-                        if(mapInvCode!=null&&String.valueOf(mapInvCode.get("bInvBatch")).equals("1")){
+                        if(mapInvCode!=null&&String.valueOf(mapInvCode.get("bInvBatch")).equals("true")){
                             ispc=true;
                         }
                         //订单子表id
@@ -267,20 +304,20 @@ public class PurchaseWarehousingServiceImpl extends ServiceImpl<PurchaseWarehous
                 this.baseMapper.saveRdRecord01One(map);
                 //调拨单
                 //判断接收方是否有只值 宁波森语 马菲羊 森语集团
-                if(map.get("cVenCodeReceiver")!=null&&!String.valueOf(map.get("cVenCodeReceiver")).equals("")){
-                    //根据接收方获取供应商信息
-                    Map<String,Object> mapVenCode= this.baseMapper.getWhCodeByVenCode(String.valueOf(map.get("cVenCodeReceiver")));
-                    if(mapVenCode!=null){
-                        String cVenAbbName=String.valueOf(mapVenCode.get("cVenAbbName"));//供应商简称
-                        //判断是否外部供应商  外部则进入下一波做调拨单 非则不做
-                        if(!cVenAbbName.equals("宁波森语")&&!cVenAbbName.equals("马菲羊")&&!cVenAbbName.equals("森语集团")){
-                            //保存调拨单
-                            saveTransVouch(map,itemList);
-                        }
-                    }else{
-                        throw new RuntimeException("未能找到接收方信息");
-                    }
-                }
+//                if(map.get("cVenCodeReceiver")!=null&&!String.valueOf(map.get("cVenCodeReceiver")).equals("")){
+//                    //根据接收方获取供应商信息
+//                    Map<String,Object> mapVenCode= this.baseMapper.getWhCodeByVenCode(String.valueOf(map.get("cVenCodeReceiver")));
+//                    if(mapVenCode!=null){
+//                        String cVenAbbName=String.valueOf(mapVenCode.get("cVenAbbName"));//供应商简称
+//                        //判断是否外部供应商  外部则进入下一波做调拨单 非则不做
+//                        if(!cVenAbbName.equals("宁波森语")&&!cVenAbbName.equals("马菲羊")&&!cVenAbbName.equals("森语集团")){
+//                            //保存调拨单
+//                            saveTransVouch(map,itemList);
+//                        }
+//                    }else{
+//                        throw new RuntimeException("未能找到接收方信息");
+//                    }
+//                }
             }
         }
     }