| 
					
				 | 
			
			
				@@ -265,7 +265,7 @@ 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"))); 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -486,38 +486,87 @@ public class PurchaseWarehousingServiceImpl extends ServiceImpl<PurchaseWarehous 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             throw new RuntimeException("接收方编码不能为空"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 //        transVouchMao.put("cIWhCode",""); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        //通过下游订单号获取订单数据 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        Map<String,Object> OM_MOmainMap=this.baseMapper.getOM_MOmainBycCode(String.valueOf(rdRecord01Map.get("cOrderCode"))); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        if(OM_MOmainMap==null){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            throw new RuntimeException("未找到下游订单"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         //订单号 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        transVouchMao.put("cMPoCode",rdRecord01Map.get("cOrderCode")); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        transVouchMao.put("cDefine13",rdRecord01Map.get("cOrderCode")); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        transVouchMao.put("cMPoCode",rdRecord01Map.get("cOrderCode"));//1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        transVouchMao.put("cDefine13",rdRecord01Map.get("cOrderCode"));//1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         //业务员 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        transVouchMao.put("cPersonCode",rdRecord01Map.get("cPersonCode")); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        transVouchMao.put("cPersonCode",OM_MOmainMap.get("cPersonCode")); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         this.baseMapper.saveTransVouch(transVouchMao); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        String messge=""; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         List<Map<String,Object>> transVouchsList=new ArrayList<>(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         if(rdRecords01List!=null&&rdRecords01List.size()>0){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            Integer vI=1; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             for(Map<String,Object> recordsMap:rdRecords01List){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 Map<String,Object> vouchsMap=new HashMap<>(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                //获取下游委外订单行数据 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                Map<String,Object> mapOMMODetails=this.baseMapper.getOMMODetails("");//1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                if(mapOMMODetails==null){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    throw new RuntimeException("第"+vI+"行未找到对应下游委外订单表体行"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                vouchsMap.put("MoDetailsID",mapOMMODetails.get("MODetailsID"));//委外订单子表id 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                vouchsMap.put("invcode",mapOMMODetails.get("cInvCode"));//产品编码 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 vouchsMap.put("comcode",rdRecord01Map.get("cOrderCode"));//委外订单号 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                vouchsMap.put("cDefine22",recordsMap.get("cDefine22"));//款号 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+//                vouchsMap.put("cDefine22",recordsMap.get("cDefine22"));//款号 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 vouchsMap.put("cTVBatch",recordsMap.get("cBatch"));//批号 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 vouchsMap.put("cInvCode",recordsMap.get("cInvCode"));//存货编码 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 vouchsMap.put("iTVQuantity",recordsMap.get("iQuantity"));//数量 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                vouchsMap.put("cFree1",recordsMap.get("cFree1"));//颜色 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                vouchsMap.put("cFree2",recordsMap.get("cFree2"));//尺码 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                vouchsMap.put("cFree4",recordsMap.get("cFree4"));//光坯门幅 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                vouchsMap.put("cFree6",recordsMap.get("cFree6"));//克重/工艺 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                vouchsMap.put("cFree5",recordsMap.get("cFree5"));//品质/品种 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                vouchsMap.put("cDefine30",recordsMap.get("cDefine30"));//染厂色号 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                //获取自由项与自定义项 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                getcFree(vouchsMap,recordsMap); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+//                vouchsMap.put("cFree1",recordsMap.get("cFree1"));//颜色 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+//                vouchsMap.put("cFree2",recordsMap.get("cFree2"));//尺码 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+//                vouchsMap.put("cFree4",recordsMap.get("cFree4"));//光坯门幅 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+//                vouchsMap.put("cFree6",recordsMap.get("cFree6"));//克重/工艺 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+//                vouchsMap.put("cFree5",recordsMap.get("cFree5"));//品质/品种 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+//                vouchsMap.put("cFree3",recordsMap.get("cFree3"));//品质/品种 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+//                vouchsMap.put("cFree7",recordsMap.get("cFree7"));//品质/品种 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+//                vouchsMap.put("cFree8",recordsMap.get("cFree8"));//品质/品种 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+//                vouchsMap.put("cFree9",recordsMap.get("cFree9"));//品质/品种 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+//                vouchsMap.put("cFree10",recordsMap.get("cFree10"));//品质/品种 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+//                vouchsMap.put("cDefine30",recordsMap.get("cDefine30"));//染厂色号 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 vouchsMap.put("cbMemo",recordsMap.get("cbMemo"));//备注 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 vouchsMap.put("cTVCode",transVouchMao.get("cTVCode"));//主表调拨单号 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 vouchsMap.put("autoID", oConvertUtils.addOne(getMaxId("autoID","TransVouchs")));//子表id 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 vouchsMap.put("ID",transVouchMao.get("ID"));//主表ID 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                vouchsMap.put("invcode",recordsMap.get(""));//产品编码 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                vouchsMap.put("iomids",recordsMap.get(""));//委外订单自件id 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                //根据存货与自由项找对应子件 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                List<Map<String,Object>> OM_MOMaterialsList= this.baseMapper.getOM_MOMaterials(vouchsMap); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                if(OM_MOMaterialsList!=null&&OM_MOMaterialsList.size()>0){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    if(OM_MOMaterialsList.size()==1){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        vouchsMap.put("iomids",OM_MOMaterialsList.get(0).get("MOMaterialsID"));//委外订单自件id 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        //回写调拨数量 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        //已领数量 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        BigDecimal iSendQTY=getDecimalNew(String.valueOf(OM_MOMaterialsList.get(0).get("iSendQTY")));//已领数量 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        //调拨数量 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        BigDecimal fTransQty=getDecimalNew(String.valueOf(OM_MOMaterialsList.get(0).get("fTransQty"))).add(getDecimalNew(String.valueOf(vouchsMap.get("iTVQuantity"))));//调拨数量 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        if(iSendQTY.doubleValue()>fTransQty.doubleValue()){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                            //调拨数量回写到对应委外子件 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                            Map<String,Object> updateOM_MOMaterials=new HashMap<>(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                            updateOM_MOMaterials.put("map.MOMaterialsID",OM_MOMaterialsList.get(0).get("MOMaterialsID"));//委外订单子件id 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                            updateOM_MOMaterials.put("fTransQty",fTransQty.doubleValue());//调拨数量 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                            this.baseMapper.updateOM_MOMaterialsfTransQty(updateOM_MOMaterials); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        }else{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                            throw new RuntimeException("第"+vI+"调拨数量不能大于子件已领数量"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    }else{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        throw new RuntimeException("第"+vI+"行找到多个对应下游委外订单子件行"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                }else{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    throw new RuntimeException("第"+vI+"行未找到对应下游委外订单子件行"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 vouchsMap.put("irowno",recordsMap.get("irowno"));//行号 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 this.baseMapper.saveTransVouchs(vouchsMap); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 transVouchsList.add(vouchsMap); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        if(StringUtils.isNotBlank(messge)){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         //保存其他出库单 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         saveRdRecord09(transVouchMao,transVouchsList); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         //保存其他入库单 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -530,7 +579,7 @@ public class PurchaseWarehousingServiceImpl extends ServiceImpl<PurchaseWarehous 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         Map<String,Object> RdRecord09Map=new HashMap<>(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         RdRecord09Map.put("cCode",oConvertUtils.addOne(getMaxId("cCode","RdRecord09"))); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         //修改最大编码 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        this.baseMapper.updateVoucherHistoryCNumber(oConvertUtils.maxNumber(String.valueOf(transVouchMao.get("cCode"))),"0302"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        this.baseMapper.updateVoucherHistoryCNumber(oConvertUtils.maxNumber(String.valueOf(RdRecord09Map.get("cCode"))),"0302"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         RdRecord09Map.put("cWhCode",transVouchMao.get("cOWhCode"));//仓库 调拨单转出仓库 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         RdRecord09Map.put("cBusCode",transVouchMao.get("cTVCode"));//调拨单号 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         RdRecord09Map.put("cPersonCode",transVouchMao.get("cPersonCode"));//业务员 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -551,6 +600,8 @@ public class PurchaseWarehousingServiceImpl extends ServiceImpl<PurchaseWarehous 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 RdRecords09Map.put("cDefine22",transVouchsMap.get("cDefine22"));//款号 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 RdRecords09Map.put("iNQuantity",transVouchsMap.get("iQuantity"));//应发数量 默认为数量 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 RdRecords09Map.put("irowno",transVouchsMap.get("irowno"));//行号 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                //获取自由项与自定义项 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                getcFree(RdRecords09Map,transVouchsMap); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 this.baseMapper.saveRdRecords09(RdRecords09Map); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         } 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -562,7 +613,7 @@ public class PurchaseWarehousingServiceImpl extends ServiceImpl<PurchaseWarehous 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         Map<String,Object> RdRecord08Map=new HashMap<>(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         RdRecord08Map.put("cCode",oConvertUtils.addOne(getMaxId("cCode","RdRecord08"))); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         //修改最大编码 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        this.baseMapper.updateVoucherHistoryCNumber(oConvertUtils.maxNumber(String.valueOf(transVouchMao.get("cCode"))),"0301"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        this.baseMapper.updateVoucherHistoryCNumber(oConvertUtils.maxNumber(String.valueOf(RdRecord08Map.get("cCode"))),"0301"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         RdRecord08Map.put("cWhCode",transVouchMao.get("cOWhCode"));//仓库 调拨单转出仓库 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         RdRecord08Map.put("cBusCode",transVouchMao.get("cTVCode"));//调拨单号 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         RdRecord08Map.put("cPersonCode",transVouchMao.get("cPersonCode"));//业务员 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -583,6 +634,8 @@ public class PurchaseWarehousingServiceImpl extends ServiceImpl<PurchaseWarehous 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 RdRecords08Map.put("cDefine22",transVouchsMap.get("cDefine22"));//款号 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 RdRecords08Map.put("iNQuantity",transVouchsMap.get("iQuantity"));//应发数量 默认为数量 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 RdRecords08Map.put("irowno",transVouchsMap.get("irowno"));//行号 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                //获取自由项与自定义项 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                getcFree(RdRecords08Map,transVouchsMap); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 this.baseMapper.saveRdRecords08(RdRecords08Map); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         } 
			 |