|
@@ -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);
|
|
|
}
|
|
|
}
|