| 
					
				 | 
			
			
				@@ -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("未能找到接收方信息"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+//                    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+//                } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     } 
			 |