|
@@ -1,8 +1,10 @@
|
|
package org.jeecg.modules.openApi.service.impl;
|
|
package org.jeecg.modules.openApi.service.impl;
|
|
|
|
|
|
|
|
+import com.alibaba.fastjson.JSONArray;
|
|
|
|
+import com.alibaba.fastjson.JSONObject;
|
|
import com.baomidou.dynamic.datasource.annotation.DS;
|
|
import com.baomidou.dynamic.datasource.annotation.DS;
|
|
-import net.sf.json.JSONObject;
|
|
|
|
import org.apache.commons.lang.StringUtils;
|
|
import org.apache.commons.lang.StringUtils;
|
|
|
|
+import org.jeecg.config.InterfaceConnUtils;
|
|
import org.jeecg.modules.openApi.entity.PurchaseWarehousing;
|
|
import org.jeecg.modules.openApi.entity.PurchaseWarehousing;
|
|
import org.jeecg.modules.openApi.mapper.PurchaseWarehousingMapper;
|
|
import org.jeecg.modules.openApi.mapper.PurchaseWarehousingMapper;
|
|
import org.jeecg.modules.openApi.mapper.SubcontractingOrderMapper;
|
|
import org.jeecg.modules.openApi.mapper.SubcontractingOrderMapper;
|
|
@@ -79,41 +81,34 @@ public class PurchaseWarehousingServiceImpl extends ServiceImpl<PurchaseWarehous
|
|
return map1;
|
|
return map1;
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+ //由于前期是自己插入U8数据库 所有会有很多业务可能会包含无用的业务 目前是直接在插入的时候对其数据进行整理调用第三方接口
|
|
public void save(List<Map<String, Object>> mapList,String accID){
|
|
public void save(List<Map<String, Object>> mapList,String accID){
|
|
if(mapList!=null&&mapList.size()>0){
|
|
if(mapList!=null&&mapList.size()>0){
|
|
|
|
|
|
for(Map<String,Object> map:mapList){
|
|
for(Map<String,Object> map:mapList){
|
|
//获取主表最大编码
|
|
//获取主表最大编码
|
|
- 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"));
|
|
|
|
|
|
+// 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
|
|
//获取最大code
|
|
String cCode=oConvertUtils.addOne(this.baseMapper.getMaxCode("cCode","RdRecord01","dnmaketime"));
|
|
String cCode=oConvertUtils.addOne(this.baseMapper.getMaxCode("cCode","RdRecord01","dnmaketime"));
|
|
|
|
|
|
if(cCode!=null){
|
|
if(cCode!=null){
|
|
map.put("cCode",cCode);
|
|
map.put("cCode",cCode);
|
|
- this.baseMapper.updateVoucherHistoryCNumber(oConvertUtils.maxNumber(String.valueOf(map.get("cCode"))),"24");
|
|
|
|
|
|
+// this.baseMapper.updateVoucherHistoryCNumber(oConvertUtils.maxNumber(String.valueOf(map.get("cCode"))),"24");
|
|
}else{
|
|
}else{
|
|
throw new RuntimeException("获取入库单号失败");
|
|
throw new RuntimeException("获取入库单号失败");
|
|
}
|
|
}
|
|
- if(accID.equals("903")){
|
|
|
|
- if(map.get("cMaker")==null||map.get("cMaker").equals("")){
|
|
|
|
- throw new RuntimeException("缺少制单人字段");
|
|
|
|
- }
|
|
|
|
- map.put("cHandler",map.get("cMaker"));
|
|
|
|
- }else{
|
|
|
|
- map.put("cMaker","陈创");
|
|
|
|
- map.put("cHandler","陈创");
|
|
|
|
- }
|
|
|
|
|
|
+
|
|
|
|
|
|
//日期
|
|
//日期
|
|
Long longtime=Long.valueOf(String.valueOf(map.get("dDate")));
|
|
Long longtime=Long.valueOf(String.valueOf(map.get("dDate")));
|
|
- String formatTime = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date(longtime));
|
|
|
|
|
|
+ String formatTime = new SimpleDateFormat("yyyy-MM-dd").format(new Date(longtime));
|
|
map.put("dDate",formatTime);
|
|
map.put("dDate",formatTime);
|
|
//红蓝标识
|
|
//红蓝标识
|
|
if(map.get("cVouchType").toString().equals("1")){
|
|
if(map.get("cVouchType").toString().equals("1")){
|
|
@@ -194,10 +189,25 @@ public class PurchaseWarehousingServiceImpl extends ServiceImpl<PurchaseWarehous
|
|
//判断是否外部供应商 外部则进入下一波做调拨单 非则不做
|
|
//判断是否外部供应商 外部则进入下一波做调拨单 非则不做
|
|
if(!cVenAbbName.equals("宁波森语")&&!cVenAbbName.equals("马菲羊")&&!cVenAbbName.equals("森语集团")){
|
|
if(!cVenAbbName.equals("宁波森语")&&!cVenAbbName.equals("马菲羊")&&!cVenAbbName.equals("森语集团")){
|
|
iscVenCodeReceiver=true;
|
|
iscVenCodeReceiver=true;
|
|
|
|
+ //获取制单人
|
|
|
|
+ map.put("cMaker","陈创");
|
|
|
|
+ map.put("cHandler","陈创");
|
|
|
|
+ }else{
|
|
|
|
+ //获取制单人
|
|
|
|
+ if(map.get("cMaker")==null||map.get("cMaker").equals("")){
|
|
|
|
+ throw new RuntimeException("缺少制单人字段");
|
|
|
|
+ }
|
|
|
|
+ map.put("cHandler",map.get("cMaker"));
|
|
}
|
|
}
|
|
}else{
|
|
}else{
|
|
throw new RuntimeException("未能找到接收方信息");
|
|
throw new RuntimeException("未能找到接收方信息");
|
|
}
|
|
}
|
|
|
|
+ }else{
|
|
|
|
+ //获取制单人
|
|
|
|
+ if(map.get("cMaker")==null||map.get("cMaker").equals("")){
|
|
|
|
+ throw new RuntimeException("缺少制单人字段");
|
|
|
|
+ }
|
|
|
|
+ map.put("cHandler",map.get("cMaker"));
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
@@ -212,13 +222,13 @@ public class PurchaseWarehousingServiceImpl extends ServiceImpl<PurchaseWarehous
|
|
if(itemMap.get("cBatch")==null||String.valueOf(itemMap.get("cBatch")).equals("")){
|
|
if(itemMap.get("cBatch")==null||String.valueOf(itemMap.get("cBatch")).equals("")){
|
|
message=message+"第"+rowId+"行缺少批号;";
|
|
message=message+"第"+rowId+"行缺少批号;";
|
|
}
|
|
}
|
|
- //获取子表最大id
|
|
|
|
- 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"));
|
|
|
|
|
|
+// //获取子表最大id
|
|
|
|
+// Map<String,Integer> pkMapChild = callGetUAMaxPK2("rd",accID);
|
|
|
|
+// if(pkMapChild.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")));
|
|
// itemMap.put("AutoID",oConvertUtils.addOne(getMaxId("AutoID","rdrecords01")));
|
|
//主表id
|
|
//主表id
|
|
itemMap.put("ID",map.get("ID"));
|
|
itemMap.put("ID",map.get("ID"));
|
|
@@ -238,6 +248,7 @@ public class PurchaseWarehousingServiceImpl extends ServiceImpl<PurchaseWarehous
|
|
if(itemMap.get("moDetailId")!=null&&StringUtils.isNotBlank(String.valueOf(itemMap.get("moDetailId")))) {
|
|
if(itemMap.get("moDetailId")!=null&&StringUtils.isNotBlank(String.valueOf(itemMap.get("moDetailId")))) {
|
|
itemMap.put("iPOsID", itemMap.get("moDetailId"));//采购订单行id
|
|
itemMap.put("iPOsID", itemMap.get("moDetailId"));//采购订单行id
|
|
itemMap.put("iOMoDID", "");//委外订单行id
|
|
itemMap.put("iOMoDID", "");//委外订单行id
|
|
|
|
+ itemMap.put("POAUTOIDCOL","ID");
|
|
rowmId = String.valueOf(itemMap.get("moDetailId"));
|
|
rowmId = String.valueOf(itemMap.get("moDetailId"));
|
|
//获取订单行的数据
|
|
//获取订单行的数据
|
|
Map<String,Object> mapPOPodetails= this.baseMapper.getPOPodetails(rowmId);
|
|
Map<String,Object> mapPOPodetails= this.baseMapper.getPOPodetails(rowmId);
|
|
@@ -258,29 +269,22 @@ public class PurchaseWarehousingServiceImpl extends ServiceImpl<PurchaseWarehous
|
|
iReceivedQTY=getDecimalNew(String.valueOf(mapPOPodetails.get("iReceivedQTY"))).subtract(getDecimalNew(String.valueOf(itemMap.get("iQuantity"))));
|
|
iReceivedQTY=getDecimalNew(String.valueOf(mapPOPodetails.get("iReceivedQTY"))).subtract(getDecimalNew(String.valueOf(itemMap.get("iQuantity"))));
|
|
//回写到现存量 如果不是调拨业务则入库单需要回写现存量 如果是调拨单 那么只要在调拨或者其他入库的时候回写现存量
|
|
//回写到现存量 如果不是调拨业务则入库单需要回写现存量 如果是调拨单 那么只要在调拨或者其他入库的时候回写现存量
|
|
if(iscVenCodeReceiver==false){
|
|
if(iscVenCodeReceiver==false){
|
|
- message=message+"第"+rowId+"行"+saveCurrentStock(itemMap,"2");
|
|
|
|
|
|
+// message=message+"第"+rowId+"行"+saveCurrentStock(itemMap,"2");
|
|
}
|
|
}
|
|
}else{//篮字则相加
|
|
}else{//篮字则相加
|
|
iReceivedQTY=getDecimalNew(String.valueOf(mapPOPodetails.get("iReceivedQTY"))).add(getDecimalNew(String.valueOf(itemMap.get("iQuantity"))));
|
|
iReceivedQTY=getDecimalNew(String.valueOf(mapPOPodetails.get("iReceivedQTY"))).add(getDecimalNew(String.valueOf(itemMap.get("iQuantity"))));
|
|
//回写到现存量 如果不是调拨业务则入库单需要回写现存量 如果是调拨单 那么只要在调拨或者其他入库的时候回写现存量
|
|
//回写到现存量 如果不是调拨业务则入库单需要回写现存量 如果是调拨单 那么只要在调拨或者其他入库的时候回写现存量
|
|
if(iscVenCodeReceiver==false){
|
|
if(iscVenCodeReceiver==false){
|
|
- saveCurrentStock(itemMap,"1");
|
|
|
|
|
|
+// saveCurrentStock(itemMap,"1");
|
|
}
|
|
}
|
|
}
|
|
}
|
|
Map<String,Object> mapFreceivedqty=new HashMap<>();
|
|
Map<String,Object> mapFreceivedqty=new HashMap<>();
|
|
mapFreceivedqty.put("iReceivedQTY",iReceivedQTY);//到货数量
|
|
mapFreceivedqty.put("iReceivedQTY",iReceivedQTY);//到货数量
|
|
mapFreceivedqty.put("ID",rowmId);//订单行id
|
|
mapFreceivedqty.put("ID",rowmId);//订单行id
|
|
//回写到采购订单对应行
|
|
//回写到采购订单对应行
|
|
- this.baseMapper.updatePodetailsfreceivedqty(mapFreceivedqty);
|
|
|
|
|
|
+// this.baseMapper.updatePodetailsfreceivedqty(mapFreceivedqty);
|
|
//回写到现存量
|
|
//回写到现存量
|
|
|
|
|
|
-
|
|
|
|
-// Integer isCount= this.baseMapper.getCurrentStockCount(itemMap);
|
|
|
|
-// if(isCount!=null&&isCount>0){
|
|
|
|
-//
|
|
|
|
-//
|
|
|
|
-// }
|
|
|
|
-
|
|
|
|
//判断存货是否勾选批次管理 勾选则需要新增表
|
|
//判断存货是否勾选批次管理 勾选则需要新增表
|
|
if(ispc){
|
|
if(ispc){
|
|
//新增AA_BatchProperty
|
|
//新增AA_BatchProperty
|
|
@@ -297,6 +301,7 @@ public class PurchaseWarehousingServiceImpl extends ServiceImpl<PurchaseWarehous
|
|
if(itemMap.get("moDetailId")!=null&&StringUtils.isNotBlank(String.valueOf(itemMap.get("moDetailId")))){
|
|
if(itemMap.get("moDetailId")!=null&&StringUtils.isNotBlank(String.valueOf(itemMap.get("moDetailId")))){
|
|
itemMap.put("iPOsID","");//采购订单行id
|
|
itemMap.put("iPOsID","");//采购订单行id
|
|
itemMap.put("iOMoDID",itemMap.get("moDetailId"));//委外订单行id
|
|
itemMap.put("iOMoDID",itemMap.get("moDetailId"));//委外订单行id
|
|
|
|
+ itemMap.put("POAUTOIDCOL","MODetailsID");
|
|
String moDetailId=String.valueOf(itemMap.get("moDetailId"));//委外订单行id
|
|
String moDetailId=String.valueOf(itemMap.get("moDetailId"));//委外订单行id
|
|
//获取来源订单号
|
|
//获取来源订单号
|
|
Map<String,Object> omMoDetails=this.baseMapper.getOMMoDetails(moDetailId);
|
|
Map<String,Object> omMoDetails=this.baseMapper.getOMMoDetails(moDetailId);
|
|
@@ -311,6 +316,7 @@ public class PurchaseWarehousingServiceImpl extends ServiceImpl<PurchaseWarehous
|
|
getcFree(itemMap,mapOMMODetails);
|
|
getcFree(itemMap,mapOMMODetails);
|
|
//加工费 原币无税单价*数量
|
|
//加工费 原币无税单价*数量
|
|
BigDecimal iProcessFee=getDecimalNew(String.valueOf(itemMap.get("iOriCost"))).multiply(getDecimalNew(String.valueOf(itemMap.get("iQuantity"))));
|
|
BigDecimal iProcessFee=getDecimalNew(String.valueOf(itemMap.get("iOriCost"))).multiply(getDecimalNew(String.valueOf(itemMap.get("iQuantity"))));
|
|
|
|
+ itemMap.put("iOriCost",itemMap.get("iOriCost"));//原币无税单价、加工费单价
|
|
itemMap.put("iProcessFee",iProcessFee.doubleValue());
|
|
itemMap.put("iProcessFee",iProcessFee.doubleValue());
|
|
itemMap.put("cWhCode",map.get("cWhCode"));//获取仓库
|
|
itemMap.put("cWhCode",map.get("cWhCode"));//获取仓库
|
|
//回写入库数量到委外订单行
|
|
//回写入库数量到委外订单行
|
|
@@ -320,26 +326,20 @@ public class PurchaseWarehousingServiceImpl extends ServiceImpl<PurchaseWarehous
|
|
iReceivedQTY=getDecimalNew(String.valueOf(mapOMMODetails.get("iReceivedQTY"))).subtract(getDecimalNew(String.valueOf(itemMap.get("iQuantity"))));
|
|
iReceivedQTY=getDecimalNew(String.valueOf(mapOMMODetails.get("iReceivedQTY"))).subtract(getDecimalNew(String.valueOf(itemMap.get("iQuantity"))));
|
|
//回写到现存量 如果不是调拨业务则入库单需要回写现存量 如果是调拨单 那么只要在调拨或者其他入库的时候回写现存量
|
|
//回写到现存量 如果不是调拨业务则入库单需要回写现存量 如果是调拨单 那么只要在调拨或者其他入库的时候回写现存量
|
|
if(iscVenCodeReceiver==false) {
|
|
if(iscVenCodeReceiver==false) {
|
|
- message=message+"第"+rowId+"行"+saveCurrentStock(itemMap,"2");
|
|
|
|
|
|
+// message=message+"第"+rowId+"行"+saveCurrentStock(itemMap,"2");
|
|
}
|
|
}
|
|
}else{//蓝字则相加
|
|
}else{//蓝字则相加
|
|
iReceivedQTY=getDecimalNew(String.valueOf(mapOMMODetails.get("iReceivedQTY"))).add(getDecimalNew(String.valueOf(itemMap.get("iQuantity"))));
|
|
iReceivedQTY=getDecimalNew(String.valueOf(mapOMMODetails.get("iReceivedQTY"))).add(getDecimalNew(String.valueOf(itemMap.get("iQuantity"))));
|
|
//回写到现存量 如果不是调拨业务则入库单需要回写现存量 如果是调拨单 那么只要在调拨或者其他入库的时候回写现存量
|
|
//回写到现存量 如果不是调拨业务则入库单需要回写现存量 如果是调拨单 那么只要在调拨或者其他入库的时候回写现存量
|
|
if(iscVenCodeReceiver==false) {
|
|
if(iscVenCodeReceiver==false) {
|
|
- saveCurrentStock(itemMap,"1");
|
|
|
|
|
|
+// saveCurrentStock(itemMap,"1");
|
|
}
|
|
}
|
|
}
|
|
}
|
|
Map<String,Object> mapFreceivedqty=new HashMap<>();
|
|
Map<String,Object> mapFreceivedqty=new HashMap<>();
|
|
mapFreceivedqty.put("iReceivedQTY",iReceivedQTY);//入库数量
|
|
mapFreceivedqty.put("iReceivedQTY",iReceivedQTY);//入库数量
|
|
mapFreceivedqty.put("ID",rowmId);//订单行id
|
|
mapFreceivedqty.put("ID",rowmId);//订单行id
|
|
//回写到委外订单对应行
|
|
//回写到委外订单对应行
|
|
- this.baseMapper.updateOMMODetailsfreceivedqty(mapFreceivedqty);
|
|
|
|
-
|
|
|
|
-// Integer isCount= this.baseMapper.getCurrentStockCount(itemMap);
|
|
|
|
-// if(isCount!=null&&isCount>0){
|
|
|
|
-// //修改现存量
|
|
|
|
-// this.baseMapper.updateCurrentStock(itemMap);
|
|
|
|
-// }
|
|
|
|
|
|
+// this.baseMapper.updateOMMODetailsfreceivedqty(mapFreceivedqty);
|
|
//判断存货是否勾选批次管理 勾选则需要新增表
|
|
//判断存货是否勾选批次管理 勾选则需要新增表
|
|
if(ispc) {
|
|
if(ispc) {
|
|
//新增AA_BatchProperty
|
|
//新增AA_BatchProperty
|
|
@@ -361,7 +361,7 @@ public class PurchaseWarehousingServiceImpl extends ServiceImpl<PurchaseWarehous
|
|
|
|
|
|
rowId++;
|
|
rowId++;
|
|
if(StringUtils.isEmpty(message)) {
|
|
if(StringUtils.isEmpty(message)) {
|
|
- this.baseMapper.saveRdrecords01(itemMap);
|
|
|
|
|
|
+// this.baseMapper.saveRdrecords01(itemMap); //子表新增
|
|
}
|
|
}
|
|
}
|
|
}
|
|
if(StringUtils.isNotBlank(message)){
|
|
if(StringUtils.isNotBlank(message)){
|
|
@@ -369,18 +369,100 @@ public class PurchaseWarehousingServiceImpl extends ServiceImpl<PurchaseWarehous
|
|
}
|
|
}
|
|
// this.baseMapper.saveRdrecords01One(itemList);
|
|
// this.baseMapper.saveRdrecords01One(itemList);
|
|
}
|
|
}
|
|
- this.baseMapper.saveRdRecord01One(map);
|
|
|
|
- //调拨单
|
|
|
|
|
|
+// this.baseMapper.saveRdRecord01One(map); //主表新增
|
|
|
|
|
|
- if(iscVenCodeReceiver){
|
|
|
|
- //保存调拨单
|
|
|
|
- saveTransVouch(map,itemList,accID);
|
|
|
|
|
|
+ //由于前期是自己插入U8数据库 后前改变方式先择调用第三方插入接口 所以需要把字段名整体转换成第三方的
|
|
|
|
+ JSONArray resturn =InterfaceConnUtils.doPost(saveRdRecord01JSON(map,itemList,accID),"http://192.168.1.103:8087/api/U8Server/purchaseinlist_batch_get");
|
|
|
|
+ if(resturn.getJSONObject(0).get("Result").equals("T")){
|
|
|
|
+ //成功
|
|
|
|
+ //调拨单
|
|
|
|
+ if(iscVenCodeReceiver){
|
|
|
|
+ //保存调拨单
|
|
|
|
+ saveTransVouch(map,itemList,accID);
|
|
|
|
+ }
|
|
|
|
+ }else{
|
|
|
|
+ //失败
|
|
|
|
+ throw new RuntimeException(resturn.getJSONObject(0).get("Description")+"");
|
|
}
|
|
}
|
|
|
|
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+ //由于前期是自己插入U8数据库 后前改变方式先择调用第三方插入接口 所以需要把字段名整体转换成第三方的
|
|
|
|
+ public JSONArray saveRdRecord01JSON(Map<String,Object> map,List<Map<String,Object>> itemList,String accID){
|
|
|
|
+ JSONArray jsonArraySave=new JSONArray();
|
|
|
|
+ if(map!=null){
|
|
|
|
+ //主表
|
|
|
|
+ JSONObject saveJson=new JSONObject();
|
|
|
|
+ saveJson.put("CACCID",accID);
|
|
|
|
+ saveJson.put("CVOUCHCODE",map.get("cCode"));
|
|
|
|
+ saveJson.put("DDATE",map.get("dDate"));
|
|
|
|
+ saveJson.put("CWHCODE",map.get("cWhCode"));
|
|
|
|
+ saveJson.put("CRDCODE",map.get("cRdCode"));
|
|
|
|
+ saveJson.put("IEXCHRATE",map.get("iExchRate"));
|
|
|
|
+ saveJson.put("CMEMO",map.get("cMemo"));
|
|
|
|
+ saveJson.put("CMAKER",map.get("cMaker"));
|
|
|
|
+ saveJson.put("CHANDLER",map.get("cHandler"));
|
|
|
|
+ saveJson.put("CDEFINE13",map.get("cOrderCode"));
|
|
|
|
+ saveJson.put("CGLTYPE",map.get("cSource"));
|
|
|
|
+ //子表
|
|
|
|
+ if(itemList!=null){
|
|
|
|
+ JSONArray itemJsonArray=new JSONArray();
|
|
|
|
+ for(Map<String,Object> m:itemList){
|
|
|
|
+ JSONObject saveItemJson=new JSONObject();
|
|
|
|
+ saveItemJson.put("CINVCODE",m.get("cInvCode"));
|
|
|
|
+ saveItemJson.put("IQUANTITY",m.get("iQuantity"));
|
|
|
|
+ saveItemJson.put("CBMEMO",m.get("cbMemo"));
|
|
|
|
+ saveItemJson.put("CBATCH",m.get("cBatch"));
|
|
|
|
+ saveItemJson.put("AUTOID_PO",m.get("moDetailId"));
|
|
|
|
+ saveItemJson.put("POAUTOIDCOL",m.get("POAUTOIDCOL"));
|
|
|
|
+ saveItemJson.put("IPROCESSCOST",m.get("iOriCost"));
|
|
|
|
+ //获取自定义项 自由项 批次项
|
|
|
|
+ getCDEFINEJson(saveItemJson,m);
|
|
|
|
+ itemJsonArray.add(saveItemJson);
|
|
|
|
+ }
|
|
|
|
+ saveJson.put("DETAILList",itemJsonArray);
|
|
|
|
+ }
|
|
|
|
+ jsonArraySave.add(saveJson);
|
|
|
|
+ }
|
|
|
|
+ System.out.println("入库json:"+jsonArraySave.toString());
|
|
|
|
+ return jsonArraySave;
|
|
|
|
+
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ public void getCDEFINEJson(JSONObject saveItemJson,Map<String,Object> m){
|
|
|
|
+ saveItemJson.put("CDEFINE22",m.get("cDefine22"));
|
|
|
|
+ saveItemJson.put("CDEFINE23",m.get("cDefine23"));
|
|
|
|
+ saveItemJson.put("CDEFINE24",m.get("cDefine24"));
|
|
|
|
+ saveItemJson.put("CDEFINE25",m.get("cDefine25"));
|
|
|
|
+ saveItemJson.put("CDEFINE26",m.get("cDefine26"));
|
|
|
|
+ saveItemJson.put("CDEFINE27",m.get("cDefine27"));
|
|
|
|
+ saveItemJson.put("CDEFINE28",m.get("cDefine28"));
|
|
|
|
+ saveItemJson.put("CDEFINE29",m.get("cDefine29"));
|
|
|
|
+ saveItemJson.put("CDEFINE30",m.get("cDefine30"));
|
|
|
|
+ saveItemJson.put("CDEFINE31",m.get("cDefine31"));
|
|
|
|
+ saveItemJson.put("CDEFINE32",m.get("cDefine32"));
|
|
|
|
+ saveItemJson.put("CDEFINE33",m.get("cDefine33"));
|
|
|
|
+ saveItemJson.put("CDEFINE34",m.get("cDefine34"));
|
|
|
|
+ saveItemJson.put("CDEFINE35",m.get("cDefine35"));
|
|
|
|
+ saveItemJson.put("CDEFINE36",m.get("cDefine36"));
|
|
|
|
+ saveItemJson.put("CDEFINE37",m.get("cDefine37"));
|
|
|
|
+ saveItemJson.put("CFREE1",m.get("cFree1"));
|
|
|
|
+ saveItemJson.put("CFREE2",m.get("cFree2"));
|
|
|
|
+ saveItemJson.put("CFREE3",m.get("cFree3"));
|
|
|
|
+ saveItemJson.put("CFREE4",m.get("cFree4"));
|
|
|
|
+ saveItemJson.put("CFREE5",m.get("cFree5"));
|
|
|
|
+ saveItemJson.put("CFREE6",m.get("cFree6"));
|
|
|
|
+ saveItemJson.put("CFREE7",m.get("cFree7"));
|
|
|
|
+ saveItemJson.put("CFREE8",m.get("cFree8"));
|
|
|
|
+ saveItemJson.put("CFREE9",m.get("cFree9"));
|
|
|
|
+ saveItemJson.put("CFREE10",m.get("cFree10"));
|
|
|
|
+ saveItemJson.put("CBATCHPROPERTY2",m.get("cBatchProperty2"));
|
|
|
|
+ saveItemJson.put("CBATCHPROPERTY8",m.get("cBatchProperty8"));
|
|
|
|
+ saveItemJson.put("CBATCHPROPERTY9",m.get("cBatchProperty9"));
|
|
|
|
+ }
|
|
|
|
+
|
|
//回写现存量
|
|
//回写现存量
|
|
public String saveCurrentStock(Map<String,Object> itemMap,String type){
|
|
public String saveCurrentStock(Map<String,Object> itemMap,String type){
|
|
String message="";
|
|
String message="";
|
|
@@ -591,27 +673,17 @@ public class PurchaseWarehousingServiceImpl extends ServiceImpl<PurchaseWarehous
|
|
return decimal;
|
|
return decimal;
|
|
}
|
|
}
|
|
|
|
|
|
- //保存调拨单
|
|
|
|
|
|
+ //保存调拨单 由于前期是自己插入U8数据库 所有会有很多业务可能会包含无用的业务 目前是直接在插入的时候对其数据进行整理调用第三方接口
|
|
public void saveTransVouch(Map<String,Object> rdRecord01Map,List<Map<String,Object>> rdRecords01List,String accID){
|
|
public void saveTransVouch(Map<String,Object> rdRecord01Map,List<Map<String,Object>> rdRecords01List,String accID){
|
|
Map<String,Object> transVouchMao=new HashMap<>();
|
|
Map<String,Object> transVouchMao=new HashMap<>();
|
|
- //获取主表最大ID
|
|
|
|
- Map<String,Integer> pkMap = callGetUAMaxPK2("tr",accID);
|
|
|
|
- if(pkMap.get("iFatherId")==null){
|
|
|
|
- throw new RuntimeException("获取入库单主表ID失败");
|
|
|
|
- }
|
|
|
|
- transVouchMao.put("ID",pkMap.get("iFatherId"));
|
|
|
|
-// transVouchMao.put("ID",oConvertUtils.addOne(getMaxId("ID","TransVouch")));
|
|
|
|
//获取最大编码
|
|
//获取最大编码
|
|
transVouchMao.put("cTVCode",oConvertUtils.addOne(this.baseMapper.getMaxCode("cTVCode","TransVouch","dnmaketime")));
|
|
transVouchMao.put("cTVCode",oConvertUtils.addOne(this.baseMapper.getMaxCode("cTVCode","TransVouch","dnmaketime")));
|
|
- //修改最大编码
|
|
|
|
- this.baseMapper.updateVoucherHistoryCNumber(oConvertUtils.maxNumber(String.valueOf(transVouchMao.get("cTVCode"))),"0304");
|
|
|
|
//单据日期
|
|
//单据日期
|
|
Date date=new Date();
|
|
Date date=new Date();
|
|
- SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
|
|
|
|
|
|
+ SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd");
|
|
transVouchMao.put("dTVDate",formatter.format(date));
|
|
transVouchMao.put("dTVDate",formatter.format(date));
|
|
//转出部门
|
|
//转出部门
|
|
transVouchMao.put("cODepCode","");
|
|
transVouchMao.put("cODepCode","");
|
|
-
|
|
|
|
//转出仓库
|
|
//转出仓库
|
|
transVouchMao.put("cOWhCode",rdRecord01Map.get("cWhCode"));
|
|
transVouchMao.put("cOWhCode",rdRecord01Map.get("cWhCode"));
|
|
//转入仓库??
|
|
//转入仓库??
|
|
@@ -635,7 +707,6 @@ public class PurchaseWarehousingServiceImpl extends ServiceImpl<PurchaseWarehous
|
|
}else{
|
|
}else{
|
|
throw new RuntimeException("接收方编码不能为空");
|
|
throw new RuntimeException("接收方编码不能为空");
|
|
}
|
|
}
|
|
-// transVouchMao.put("cIWhCode","");
|
|
|
|
//通过下游订单号获取订单数据
|
|
//通过下游订单号获取订单数据
|
|
Map<String,Object> OM_MOmainMap=this.baseMapper.getOM_MOmainBycCode(String.valueOf(rdRecords01List.get(0).get("downstreamOrderNumber")));
|
|
Map<String,Object> OM_MOmainMap=this.baseMapper.getOM_MOmainBycCode(String.valueOf(rdRecords01List.get(0).get("downstreamOrderNumber")));
|
|
if(OM_MOmainMap==null){
|
|
if(OM_MOmainMap==null){
|
|
@@ -648,7 +719,6 @@ public class PurchaseWarehousingServiceImpl extends ServiceImpl<PurchaseWarehous
|
|
transVouchMao.put("cDefine13",rdRecords01List.get(0).get("downstreamOrderNumber"));//1
|
|
transVouchMao.put("cDefine13",rdRecords01List.get(0).get("downstreamOrderNumber"));//1
|
|
//业务员
|
|
//业务员
|
|
transVouchMao.put("cPersonCode",OM_MOmainMap.get("cPersonCode"));
|
|
transVouchMao.put("cPersonCode",OM_MOmainMap.get("cPersonCode"));
|
|
- this.baseMapper.saveTransVouch(transVouchMao);
|
|
|
|
String messge="";
|
|
String messge="";
|
|
List<Map<String,Object>> transVouchsList=new ArrayList<>();
|
|
List<Map<String,Object>> transVouchsList=new ArrayList<>();
|
|
if(rdRecords01List!=null&&rdRecords01List.size()>0){
|
|
if(rdRecords01List!=null&&rdRecords01List.size()>0){
|
|
@@ -664,7 +734,6 @@ public class PurchaseWarehousingServiceImpl extends ServiceImpl<PurchaseWarehous
|
|
vouchsMap.put("MoDetailsID",mapOMMODetails.get("MODetailsID"));//委外订单子表id
|
|
vouchsMap.put("MoDetailsID",mapOMMODetails.get("MODetailsID"));//委外订单子表id
|
|
vouchsMap.put("invcode",mapOMMODetails.get("cInvCode"));//产品编码
|
|
vouchsMap.put("invcode",mapOMMODetails.get("cInvCode"));//产品编码
|
|
vouchsMap.put("comcode",rdRecords01List.get(0).get("downstreamOrderNumber"));//委外订单号
|
|
vouchsMap.put("comcode",rdRecords01List.get(0).get("downstreamOrderNumber"));//委外订单号
|
|
-// vouchsMap.put("cDefine22",recordsMap.get("cDefine22"));//款号
|
|
|
|
vouchsMap.put("cTVBatch",recordsMap.get("cBatch"));//批号
|
|
vouchsMap.put("cTVBatch",recordsMap.get("cBatch"));//批号
|
|
vouchsMap.put("cInvCode",recordsMap.get("cInvCode"));//存货编码
|
|
vouchsMap.put("cInvCode",recordsMap.get("cInvCode"));//存货编码
|
|
vouchsMap.put("iTVQuantity",recordsMap.get("iQuantity"));//数量
|
|
vouchsMap.put("iTVQuantity",recordsMap.get("iQuantity"));//数量
|
|
@@ -672,26 +741,8 @@ public class PurchaseWarehousingServiceImpl extends ServiceImpl<PurchaseWarehous
|
|
getcFree(vouchsMap,recordsMap);
|
|
getcFree(vouchsMap,recordsMap);
|
|
//获取批次属性
|
|
//获取批次属性
|
|
getcBatchProperty(vouchsMap,recordsMap);
|
|
getcBatchProperty(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("cbMemo",recordsMap.get("cbMemo"));//备注
|
|
vouchsMap.put("cTVCode",transVouchMao.get("cTVCode"));//主表调拨单号
|
|
vouchsMap.put("cTVCode",transVouchMao.get("cTVCode"));//主表调拨单号
|
|
- //获取子表最大id
|
|
|
|
- Map<String,Integer> pkMapChild = callGetUAMaxPK2("tr",accID);
|
|
|
|
- if(pkMap.get("iChildId")==null){
|
|
|
|
- throw new RuntimeException("获取调拨单子表ID失败");
|
|
|
|
- }
|
|
|
|
- vouchsMap.put("autoID",pkMapChild.get("iChildId"));
|
|
|
|
// vouchsMap.put("autoID", oConvertUtils.addOne(getMaxId("autoID","TransVouchs")));//子表id
|
|
// vouchsMap.put("autoID", oConvertUtils.addOne(getMaxId("autoID","TransVouchs")));//子表id
|
|
vouchsMap.put("ID",transVouchMao.get("ID"));//主表ID
|
|
vouchsMap.put("ID",transVouchMao.get("ID"));//主表ID
|
|
//根据存货与自由项找对应子件
|
|
//根据存货与自由项找对应子件
|
|
@@ -702,21 +753,6 @@ public class PurchaseWarehousingServiceImpl extends ServiceImpl<PurchaseWarehous
|
|
if(OM_MOMaterialsList!=null&&OM_MOMaterialsList.size()>0){
|
|
if(OM_MOMaterialsList!=null&&OM_MOMaterialsList.size()>0){
|
|
if(OM_MOMaterialsList.size()==1){
|
|
if(OM_MOMaterialsList.size()==1){
|
|
vouchsMap.put("iomids",OM_MOMaterialsList.get(0).get("MOMaterialsID"));//委外订单自件id
|
|
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("MOMaterialsID",OM_MOMaterialsList.get(0).get("MOMaterialsID"));//委外订单子件id
|
|
|
|
- updateOM_MOMaterials.put("fTransQty",fTransQty.doubleValue());//调拨数量
|
|
|
|
- System.out.println("调拨数量:"+fTransQty.doubleValue());
|
|
|
|
- this.baseMapper.updateOM_MOMaterialsfTransQty(updateOM_MOMaterials);
|
|
|
|
-// }else{
|
|
|
|
-// throw new RuntimeException("第"+vI+"调拨数量不能大于子件已领数量");
|
|
|
|
-// }
|
|
|
|
}else{
|
|
}else{
|
|
throw new RuntimeException("第"+vI+"行找到多个对应下游委外订单子件行");
|
|
throw new RuntimeException("第"+vI+"行找到多个对应下游委外订单子件行");
|
|
}
|
|
}
|
|
@@ -724,7 +760,6 @@ public class PurchaseWarehousingServiceImpl extends ServiceImpl<PurchaseWarehous
|
|
throw new RuntimeException("第"+vI+"行未找到对应下游委外订单子件行");
|
|
throw new RuntimeException("第"+vI+"行未找到对应下游委外订单子件行");
|
|
}
|
|
}
|
|
vouchsMap.put("irowno",recordsMap.get("irowno"));//行号
|
|
vouchsMap.put("irowno",recordsMap.get("irowno"));//行号
|
|
- this.baseMapper.saveTransVouchs(vouchsMap);
|
|
|
|
transVouchsList.add(vouchsMap);
|
|
transVouchsList.add(vouchsMap);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
@@ -732,10 +767,54 @@ public class PurchaseWarehousingServiceImpl extends ServiceImpl<PurchaseWarehous
|
|
if(StringUtils.isNotBlank(messge)){
|
|
if(StringUtils.isNotBlank(messge)){
|
|
|
|
|
|
}
|
|
}
|
|
- //保存其他出库单
|
|
|
|
- saveRdRecord09(transVouchMao,transVouchsList);
|
|
|
|
- //保存其他入库单
|
|
|
|
- saveRdRecord08(transVouchMao,transVouchsList);
|
|
|
|
|
|
+ //由于前期是自己插入U8数据库 后前改变方式先择调用第三方插入接口 所以需要把字段名整体转换成第三方的
|
|
|
|
+ JSONArray resturn =InterfaceConnUtils.doPost(saveRdRecord09JSON(transVouchMao,transVouchsList,accID),"http://192.168.1.103:8087/api/U8Server/transvouch_import");
|
|
|
|
+ if(resturn.getJSONObject(0).get("Result").equals("T")){
|
|
|
|
+ //成功
|
|
|
|
+ }else{
|
|
|
|
+ //失败
|
|
|
|
+ throw new RuntimeException(resturn.getJSONObject(0).get("Description")+"");
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ //由于前期是自己插入U8数据库 后前改变方式先择调用第三方插入接口 所以需要把字段名整体转换成第三方的
|
|
|
|
+ public JSONArray saveRdRecord09JSON(Map<String,Object> transVouchMao,List<Map<String,Object>> transVouchsList,String accID){
|
|
|
|
+ JSONArray jsonArraySave=new JSONArray();
|
|
|
|
+ if(transVouchMao!=null){
|
|
|
|
+ //主表
|
|
|
|
+ JSONObject saveJson=new JSONObject();
|
|
|
|
+ saveJson.put("CACCID",accID);
|
|
|
|
+ saveJson.put("CVOUCHCODE",transVouchMao.get("cTVCode"));
|
|
|
|
+ saveJson.put("DDATE",transVouchMao.get("dTVDate"));
|
|
|
|
+ saveJson.put("CORDCODE",23);
|
|
|
|
+ saveJson.put("CIRDCODE",13);
|
|
|
|
+ saveJson.put("COWHCODE",transVouchMao.get("cOWhCode"));
|
|
|
|
+ saveJson.put("CIWHCODE",transVouchMao.get("cIWhCode"));
|
|
|
|
+ saveJson.put("CMAKER","陈创");
|
|
|
|
+ saveJson.put("CHANDLER","陈创");
|
|
|
|
+ saveJson.put("CODEPCODE","");
|
|
|
|
+ saveJson.put("CIDEPCODE",transVouchMao.get("cIDepCode"));
|
|
|
|
+ saveJson.put("CPERSONCODE",transVouchMao.get("cPersonCode"));
|
|
|
|
+ saveJson.put("CDEFINE13",transVouchMao.get("cDefine13"));
|
|
|
|
+ //子表
|
|
|
|
+ if(transVouchsList!=null){
|
|
|
|
+ JSONArray itemJsonArray=new JSONArray();
|
|
|
|
+ for(Map<String,Object> m:transVouchsList){
|
|
|
|
+ JSONObject saveItemJson=new JSONObject();
|
|
|
|
+ saveItemJson.put("CINVCODE",m.get("cInvCode"));
|
|
|
|
+ saveItemJson.put("IQUANTITY",m.get("iTVQuantity"));
|
|
|
|
+ saveItemJson.put("CBATCH",m.get("cTVBatch"));
|
|
|
|
+ saveItemJson.put("CBMEMO",m.get("cbMemo"));
|
|
|
|
+ //获取自定义项 自由项 批次项
|
|
|
|
+ getCDEFINEJson(saveItemJson,m);
|
|
|
|
+ itemJsonArray.add(saveItemJson);
|
|
|
|
+ }
|
|
|
|
+ saveJson.put("DETAILList",itemJsonArray);
|
|
|
|
+ }
|
|
|
|
+ jsonArraySave.add(saveJson);
|
|
|
|
+ }
|
|
|
|
+ System.out.println("调拨单json:"+jsonArraySave.toString());
|
|
|
|
+ return jsonArraySave;
|
|
}
|
|
}
|
|
|
|
|
|
//根据调拨单新增其他出库单
|
|
//根据调拨单新增其他出库单
|
|
@@ -829,4 +908,451 @@ public class PurchaseWarehousingServiceImpl extends ServiceImpl<PurchaseWarehous
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
+// public void save(List<Map<String, Object>> mapList,String accID){
|
|
|
|
+// if(mapList!=null&&mapList.size()>0){
|
|
|
|
+//
|
|
|
|
+// for(Map<String,Object> map:mapList){
|
|
|
|
+// //获取主表最大编码
|
|
|
|
+// 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
|
|
|
|
+// String cCode=oConvertUtils.addOne(this.baseMapper.getMaxCode("cCode","RdRecord01","dnmaketime"));
|
|
|
|
+//
|
|
|
|
+// if(cCode!=null){
|
|
|
|
+// map.put("cCode",cCode);
|
|
|
|
+// this.baseMapper.updateVoucherHistoryCNumber(oConvertUtils.maxNumber(String.valueOf(map.get("cCode"))),"24");
|
|
|
|
+// }else{
|
|
|
|
+// throw new RuntimeException("获取入库单号失败");
|
|
|
|
+// }
|
|
|
|
+//
|
|
|
|
+//
|
|
|
|
+// //日期
|
|
|
|
+// Long longtime=Long.valueOf(String.valueOf(map.get("dDate")));
|
|
|
|
+// String formatTime = new SimpleDateFormat("yyyy-MM-dd").format(new Date(longtime));
|
|
|
|
+// map.put("dDate",formatTime);
|
|
|
|
+// //红蓝标识
|
|
|
|
+// if(map.get("cVouchType").toString().equals("1")){
|
|
|
|
+// map.put("cVouchType",0);//采购入库
|
|
|
|
+// }else{
|
|
|
|
+// map.put("cVouchType",1);//红字入库
|
|
|
|
+// }
|
|
|
|
+// //入库类别、采购类型
|
|
|
|
+// if(map.get("cRdCode").toString().equals("采购入库")){
|
|
|
|
+// //采购入库
|
|
|
|
+// map.put("cRdCode","11");
|
|
|
|
+// map.put("cPTCode","01");
|
|
|
|
+// map.put("cSource","采购订单");
|
|
|
|
+// //获取汇率、币种
|
|
|
|
+// Map<String,Object> PO_PomainMap=this.baseMapper.getPO_PomainBycPOID(String.valueOf(map.get("cOrderCode")));
|
|
|
|
+// if(PO_PomainMap!=null){
|
|
|
|
+// map.put("iExchRate",getDecimalNew(String.valueOf(PO_PomainMap.get("nflat"))).doubleValue());
|
|
|
|
+// map.put("cExch_Name",PO_PomainMap.get("cexch_name"));
|
|
|
|
+// }else{
|
|
|
|
+// throw new RuntimeException("采购订单没有匹配的订单号");
|
|
|
|
+// }
|
|
|
|
+// }else{
|
|
|
|
+// //委外入库
|
|
|
|
+// map.put("cRdCode","12");
|
|
|
|
+// map.put("cPTCode","01");
|
|
|
|
+// map.put("cSource","委外订单");
|
|
|
|
+// //获取汇率、币种
|
|
|
|
+// Map<String,Object> OM_MOmainMap=this.baseMapper.getOM_MOmainBycCode(String.valueOf(map.get("cOrderCode")));
|
|
|
|
+// if(OM_MOmainMap!=null){
|
|
|
|
+// map.put("iExchRate",getDecimalNew(String.valueOf(OM_MOmainMap.get("nflat"))).doubleValue());
|
|
|
|
+// map.put("cExch_Name",OM_MOmainMap.get("cexch_name"));
|
|
|
|
+// }else{
|
|
|
|
+// throw new RuntimeException("委外订单没有匹配的订单号");
|
|
|
|
+// }
|
|
|
|
+// }
|
|
|
|
+// //获取部门编码
|
|
|
|
+// if(map.get("cPersonCode")!=null){
|
|
|
|
+// String cPersonCode=String.valueOf(map.get("cPersonCode"));
|
|
|
|
+// Map<String,Object> personMap=this.baseMapper.getPerson(cPersonCode);
|
|
|
|
+// if(personMap==null){
|
|
|
|
+// throw new RuntimeException("通过业务员编码未找到部门");
|
|
|
|
+// }else{
|
|
|
|
+// map.put("cDepCode",personMap.get("cDepCode"));
|
|
|
|
+// }
|
|
|
|
+// }else{
|
|
|
|
+// throw new RuntimeException("业务员编码不能为空");
|
|
|
|
+// }
|
|
|
|
+// //获取根据供应商获取仓库编码
|
|
|
|
+// String cVenCode=String.valueOf(map.get("cVenCode"));
|
|
|
|
+// if(map.get("cVenCode")!=null){
|
|
|
|
+// Map<String,Object> whCodeMap= this.baseMapper.getWhCodeByVenCode(cVenCode);
|
|
|
|
+// if(whCodeMap!=null){
|
|
|
|
+// //获取供应商简称
|
|
|
|
+// map.put("cVenAbbName",whCodeMap.get("cVenAbbName"));
|
|
|
|
+// map.put("cVenCode",whCodeMap.get("cVenCode"));
|
|
|
|
+// //获取成品仓
|
|
|
|
+// if(whCodeMap.get("cVenDefine2")!=null){
|
|
|
|
+// String cWhCode=String.valueOf(whCodeMap.get("cVenDefine2"));//成品仓库
|
|
|
|
+// map.put("cWhCode",cWhCode);
|
|
|
|
+// }else{
|
|
|
|
+// throw new RuntimeException("未找到供应商的成品仓库");
|
|
|
|
+// }
|
|
|
|
+// }else{
|
|
|
|
+// throw new RuntimeException("未找到供应商");
|
|
|
|
+// }
|
|
|
|
+//
|
|
|
|
+// }else{
|
|
|
|
+// throw new RuntimeException("供应商编码不能为空");
|
|
|
|
+// }
|
|
|
|
+//
|
|
|
|
+// //判断接收方是否有只值 宁波森语 马菲羊 森语集团
|
|
|
|
+// boolean iscVenCodeReceiver=false;
|
|
|
|
+// 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("森语集团")){
|
|
|
|
+// iscVenCodeReceiver=true;
|
|
|
|
+// //获取制单人
|
|
|
|
+// map.put("cMaker","陈创");
|
|
|
|
+// map.put("cHandler","陈创");
|
|
|
|
+// }else{
|
|
|
|
+// //获取制单人
|
|
|
|
+// if(map.get("cMaker")==null||map.get("cMaker").equals("")){
|
|
|
|
+// throw new RuntimeException("缺少制单人字段");
|
|
|
|
+// }
|
|
|
|
+// map.put("cHandler",map.get("cMaker"));
|
|
|
|
+// }
|
|
|
|
+// }else{
|
|
|
|
+// throw new RuntimeException("未能找到接收方信息");
|
|
|
|
+// }
|
|
|
|
+// }else{
|
|
|
|
+// //获取制单人
|
|
|
|
+// if(map.get("cMaker")==null||map.get("cMaker").equals("")){
|
|
|
|
+// throw new RuntimeException("缺少制单人字段");
|
|
|
|
+// }
|
|
|
|
+// map.put("cHandler",map.get("cMaker"));
|
|
|
|
+// }
|
|
|
|
+//
|
|
|
|
+//
|
|
|
|
+// //子表
|
|
|
|
+// List<Map<String,Object>> itemList=new ArrayList<>();
|
|
|
|
+// if(map.get("item")!=null&&!map.get("item").equals("")){
|
|
|
|
+// itemList=(List<Map<String,Object>>)map.get("item");
|
|
|
|
+// Integer rowId=1;
|
|
|
|
+// String message="";
|
|
|
|
+// for(Map<String,Object> itemMap:itemList){
|
|
|
|
+// //获取P号
|
|
|
|
+// if(itemMap.get("cBatch")==null||String.valueOf(itemMap.get("cBatch")).equals("")){
|
|
|
|
+// message=message+"第"+rowId+"行缺少批号;";
|
|
|
|
+// }
|
|
|
|
+// //获取子表最大id
|
|
|
|
+// Map<String,Integer> pkMapChild = callGetUAMaxPK2("rd",accID);
|
|
|
|
+// if(pkMapChild.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"));
|
|
|
|
+// //行号
|
|
|
|
+// itemMap.put("irowno",rowId);
|
|
|
|
+// //订单号
|
|
|
|
+// itemMap.put("cPOID",String.valueOf(map.get("cOrderCode")));
|
|
|
|
+// String rowmId="";
|
|
|
|
+// //判断是否批次管理
|
|
|
|
+// Boolean ispc=false;
|
|
|
|
+// Map<String,Object> mapInvCode= this.baseMapper.getInventoryBycInvCode(String.valueOf(itemMap.get("cInvCode")));
|
|
|
|
+// if(mapInvCode!=null&&String.valueOf(mapInvCode.get("bInvBatch")).equals("true")){
|
|
|
|
+// ispc=true;
|
|
|
|
+// }
|
|
|
|
+// //订单子表id
|
|
|
|
+// if(map.get("cRdCode").toString().equals("11")){
|
|
|
|
+// if(itemMap.get("moDetailId")!=null&&StringUtils.isNotBlank(String.valueOf(itemMap.get("moDetailId")))) {
|
|
|
|
+// itemMap.put("iPOsID", itemMap.get("moDetailId"));//采购订单行id
|
|
|
|
+// itemMap.put("iOMoDID", "");//委外订单行id
|
|
|
|
+// itemMap.put("POAUTOIDCOL","ID");
|
|
|
|
+// rowmId = String.valueOf(itemMap.get("moDetailId"));
|
|
|
|
+// //获取订单行的数据
|
|
|
|
+// Map<String,Object> mapPOPodetails= this.baseMapper.getPOPodetails(rowmId);
|
|
|
|
+//
|
|
|
|
+// if(mapPOPodetails!=null){
|
|
|
|
+//
|
|
|
|
+//
|
|
|
|
+// map.put("ipurorderid",mapPOPodetails.get("POID"));
|
|
|
|
+// //获取订单行的价格字段
|
|
|
|
+// getCost(itemMap,mapPOPodetails);
|
|
|
|
+// //获取订单行的自定义项数据
|
|
|
|
+// getcFree(itemMap,mapPOPodetails);
|
|
|
|
+// itemMap.put("cWhCode",map.get("cWhCode"));//获取仓库 供回写现存量用
|
|
|
|
+// //回写到货数量到采购订单行
|
|
|
|
+// //如果是红字入库则相减
|
|
|
|
+// BigDecimal iReceivedQTY=new BigDecimal("0.0");
|
|
|
|
+// if(map.get("cVouchType").toString().equals("1")){
|
|
|
|
+// iReceivedQTY=getDecimalNew(String.valueOf(mapPOPodetails.get("iReceivedQTY"))).subtract(getDecimalNew(String.valueOf(itemMap.get("iQuantity"))));
|
|
|
|
+// //回写到现存量 如果不是调拨业务则入库单需要回写现存量 如果是调拨单 那么只要在调拨或者其他入库的时候回写现存量
|
|
|
|
+// if(iscVenCodeReceiver==false){
|
|
|
|
+// message=message+"第"+rowId+"行"+saveCurrentStock(itemMap,"2");
|
|
|
|
+// }
|
|
|
|
+// }else{//篮字则相加
|
|
|
|
+// iReceivedQTY=getDecimalNew(String.valueOf(mapPOPodetails.get("iReceivedQTY"))).add(getDecimalNew(String.valueOf(itemMap.get("iQuantity"))));
|
|
|
|
+// //回写到现存量 如果不是调拨业务则入库单需要回写现存量 如果是调拨单 那么只要在调拨或者其他入库的时候回写现存量
|
|
|
|
+// if(iscVenCodeReceiver==false){
|
|
|
|
+// saveCurrentStock(itemMap,"1");
|
|
|
|
+// }
|
|
|
|
+// }
|
|
|
|
+// Map<String,Object> mapFreceivedqty=new HashMap<>();
|
|
|
|
+// mapFreceivedqty.put("iReceivedQTY",iReceivedQTY);//到货数量
|
|
|
|
+// mapFreceivedqty.put("ID",rowmId);//订单行id
|
|
|
|
+// //回写到采购订单对应行
|
|
|
|
+// this.baseMapper.updatePodetailsfreceivedqty(mapFreceivedqty);
|
|
|
|
+// //回写到现存量
|
|
|
|
+//
|
|
|
|
+// //判断存货是否勾选批次管理 勾选则需要新增表
|
|
|
|
+// if(ispc){
|
|
|
|
+// //新增AA_BatchProperty
|
|
|
|
+// message=message+saveAA_BatchProperty(map,itemMap,mapPOPodetails);
|
|
|
|
+// }
|
|
|
|
+// }else{
|
|
|
|
+// message=message+"第"+rowId+"行未找到对应的采购订单行;";
|
|
|
|
+// }
|
|
|
|
+// }else{
|
|
|
|
+// message=message+"第"+rowId+"行缺少采购订单行id;";
|
|
|
|
+// }
|
|
|
|
+// }else{//委外入库
|
|
|
|
+//
|
|
|
|
+// if(itemMap.get("moDetailId")!=null&&StringUtils.isNotBlank(String.valueOf(itemMap.get("moDetailId")))){
|
|
|
|
+// itemMap.put("iPOsID","");//采购订单行id
|
|
|
|
+// itemMap.put("iOMoDID",itemMap.get("moDetailId"));//委外订单行id
|
|
|
|
+// itemMap.put("POAUTOIDCOL","MODetailsID");
|
|
|
|
+// String moDetailId=String.valueOf(itemMap.get("moDetailId"));//委外订单行id
|
|
|
|
+// //获取来源订单号
|
|
|
|
+// Map<String,Object> omMoDetails=this.baseMapper.getOMMoDetails(moDetailId);
|
|
|
|
+// itemMap.put("iordercode",omMoDetails.get("csoordercode"));//来源订单号
|
|
|
|
+// rowmId=String.valueOf(itemMap.get("moDetailId"));
|
|
|
|
+// //获取订单行数据
|
|
|
|
+// Map<String,Object> mapOMMODetails=this.baseMapper.getOMMODetails(rowmId);
|
|
|
|
+// if(mapOMMODetails!=null){
|
|
|
|
+// //获取订单行的价格字段
|
|
|
|
+// getCost(itemMap,mapOMMODetails);
|
|
|
|
+// //获取订单的自定义数据
|
|
|
|
+// getcFree(itemMap,mapOMMODetails);
|
|
|
|
+// //加工费 原币无税单价*数量
|
|
|
|
+// BigDecimal iProcessFee=getDecimalNew(String.valueOf(itemMap.get("iOriCost"))).multiply(getDecimalNew(String.valueOf(itemMap.get("iQuantity"))));
|
|
|
|
+// itemMap.put("iProcessFee",iProcessFee.doubleValue());
|
|
|
|
+// itemMap.put("cWhCode",map.get("cWhCode"));//获取仓库
|
|
|
|
+// //回写入库数量到委外订单行
|
|
|
|
+// //如果是红字入库则相减
|
|
|
|
+// BigDecimal iReceivedQTY=new BigDecimal("0.0");
|
|
|
|
+// if(map.get("cVouchType").toString().equals("1")){
|
|
|
|
+// iReceivedQTY=getDecimalNew(String.valueOf(mapOMMODetails.get("iReceivedQTY"))).subtract(getDecimalNew(String.valueOf(itemMap.get("iQuantity"))));
|
|
|
|
+// //回写到现存量 如果不是调拨业务则入库单需要回写现存量 如果是调拨单 那么只要在调拨或者其他入库的时候回写现存量
|
|
|
|
+// if(iscVenCodeReceiver==false) {
|
|
|
|
+// message=message+"第"+rowId+"行"+saveCurrentStock(itemMap,"2");
|
|
|
|
+// }
|
|
|
|
+// }else{//蓝字则相加
|
|
|
|
+// iReceivedQTY=getDecimalNew(String.valueOf(mapOMMODetails.get("iReceivedQTY"))).add(getDecimalNew(String.valueOf(itemMap.get("iQuantity"))));
|
|
|
|
+// //回写到现存量 如果不是调拨业务则入库单需要回写现存量 如果是调拨单 那么只要在调拨或者其他入库的时候回写现存量
|
|
|
|
+// if(iscVenCodeReceiver==false) {
|
|
|
|
+// saveCurrentStock(itemMap,"1");
|
|
|
|
+// }
|
|
|
|
+// }
|
|
|
|
+// Map<String,Object> mapFreceivedqty=new HashMap<>();
|
|
|
|
+// mapFreceivedqty.put("iReceivedQTY",iReceivedQTY);//入库数量
|
|
|
|
+// mapFreceivedqty.put("ID",rowmId);//订单行id
|
|
|
|
+// //回写到委外订单对应行
|
|
|
|
+// this.baseMapper.updateOMMODetailsfreceivedqty(mapFreceivedqty);
|
|
|
|
+// //判断存货是否勾选批次管理 勾选则需要新增表
|
|
|
|
+// if(ispc) {
|
|
|
|
+// //新增AA_BatchProperty
|
|
|
|
+// message = message + saveAA_BatchProperty(map, itemMap, mapOMMODetails);
|
|
|
|
+// }
|
|
|
|
+// }else{
|
|
|
|
+// message=message+"第"+rowId+"未找到对应的委外订单行;";
|
|
|
|
+// }
|
|
|
|
+// }else{
|
|
|
|
+// message=message+"第"+rowId+"缺少委外订单行id;";
|
|
|
|
+// }
|
|
|
|
+// }
|
|
|
|
+// //如果是红字入库则处理是否需要做结算单
|
|
|
|
+// if(map.get("cVouchType").toString().equals("1")){
|
|
|
|
+// //保存结算单
|
|
|
|
+// savePurSettleVouch(map,itemMap,rowmId);
|
|
|
|
+// itemMap.put("iQuantity","-"+itemMap.get("iQuantity"));
|
|
|
|
+// }
|
|
|
|
+//
|
|
|
|
+// rowId++;
|
|
|
|
+// if(StringUtils.isEmpty(message)) {
|
|
|
|
+// this.baseMapper.saveRdrecords01(itemMap); //子表新增
|
|
|
|
+// }
|
|
|
|
+// }
|
|
|
|
+// if(StringUtils.isNotBlank(message)){
|
|
|
|
+// throw new RuntimeException(message);
|
|
|
|
+// }
|
|
|
|
+//// this.baseMapper.saveRdrecords01One(itemList);
|
|
|
|
+// }
|
|
|
|
+// this.baseMapper.saveRdRecord01One(map); //主表新增
|
|
|
|
+// //调拨单
|
|
|
|
+//
|
|
|
|
+// if(iscVenCodeReceiver){
|
|
|
|
+// //保存调拨单
|
|
|
|
+// saveTransVouch(map,itemList,accID);
|
|
|
|
+// }
|
|
|
|
+// }
|
|
|
|
+// }
|
|
|
|
+// }
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+// //保存调拨单
|
|
|
|
+// public void saveTransVouch(Map<String,Object> rdRecord01Map,List<Map<String,Object>> rdRecords01List,String accID){
|
|
|
|
+// Map<String,Object> transVouchMao=new HashMap<>();
|
|
|
|
+// //获取主表最大ID
|
|
|
|
+// Map<String,Integer> pkMap = callGetUAMaxPK2("tr",accID);
|
|
|
|
+// if(pkMap.get("iFatherId")==null){
|
|
|
|
+// throw new RuntimeException("获取入库单主表ID失败");
|
|
|
|
+// }
|
|
|
|
+// transVouchMao.put("ID",pkMap.get("iFatherId"));
|
|
|
|
+//// transVouchMao.put("ID",oConvertUtils.addOne(getMaxId("ID","TransVouch")));
|
|
|
|
+// //获取最大编码
|
|
|
|
+// transVouchMao.put("cTVCode",oConvertUtils.addOne(this.baseMapper.getMaxCode("cTVCode","TransVouch","dnmaketime")));
|
|
|
|
+// //修改最大编码
|
|
|
|
+// this.baseMapper.updateVoucherHistoryCNumber(oConvertUtils.maxNumber(String.valueOf(transVouchMao.get("cTVCode"))),"0304");
|
|
|
|
+// //单据日期
|
|
|
|
+// Date date=new Date();
|
|
|
|
+// SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd");
|
|
|
|
+// transVouchMao.put("dTVDate",formatter.format(date));
|
|
|
|
+// //转出部门
|
|
|
|
+// transVouchMao.put("cODepCode","");
|
|
|
|
+//
|
|
|
|
+// //转出仓库
|
|
|
|
+// transVouchMao.put("cOWhCode",rdRecord01Map.get("cWhCode"));
|
|
|
|
+// //转入仓库??
|
|
|
|
+// //通过接收方查询原材料仓库
|
|
|
|
+//// String cVenCodeReceiver=rdRecord01Map.get("cVenCodeReceiver").toString();
|
|
|
|
+// //获取根据供应商获取仓库编码
|
|
|
|
+// String cVenCodeReceiver=String.valueOf(rdRecord01Map.get("cVenCodeReceiver"));
|
|
|
|
+// if(rdRecord01Map.get("cVenCodeReceiver")!=null){
|
|
|
|
+// Map<String,Object> whCodeMap= this.baseMapper.getWhCodeByVenCode(cVenCodeReceiver);
|
|
|
|
+// if(whCodeMap!=null){
|
|
|
|
+// if(whCodeMap.get("cVenDefine1")!=null){
|
|
|
|
+// String cWhCode=String.valueOf(whCodeMap.get("cVenDefine1"));//原材料仓库
|
|
|
|
+// transVouchMao.put("cIWhCode",cWhCode);
|
|
|
|
+// }else{
|
|
|
|
+// throw new RuntimeException("未找到接收方的原材料仓库");
|
|
|
|
+// }
|
|
|
|
+// }else{
|
|
|
|
+// throw new RuntimeException("未找到接收方");
|
|
|
|
+// }
|
|
|
|
+//
|
|
|
|
+// }else{
|
|
|
|
+// throw new RuntimeException("接收方编码不能为空");
|
|
|
|
+// }
|
|
|
|
+//// transVouchMao.put("cIWhCode","");
|
|
|
|
+// //通过下游订单号获取订单数据
|
|
|
|
+// Map<String,Object> OM_MOmainMap=this.baseMapper.getOM_MOmainBycCode(String.valueOf(rdRecords01List.get(0).get("downstreamOrderNumber")));
|
|
|
|
+// if(OM_MOmainMap==null){
|
|
|
|
+// throw new RuntimeException("未找到下游订单");
|
|
|
|
+// }
|
|
|
|
+// //转入部门
|
|
|
|
+// transVouchMao.put("cIDepCode",OM_MOmainMap.get("cDepCode"));
|
|
|
|
+// //订单号
|
|
|
|
+// transVouchMao.put("cMPoCode",rdRecords01List.get(0).get("downstreamOrderNumber"));//1
|
|
|
|
+// transVouchMao.put("cDefine13",rdRecords01List.get(0).get("downstreamOrderNumber"));//1
|
|
|
|
+// //业务员
|
|
|
|
+// 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(String.valueOf(recordsMap.get("downstreamRowId")));//1
|
|
|
|
+// if(mapOMMODetails==null){
|
|
|
|
+// throw new RuntimeException("第"+vI+"行未找到对应下游委外订单表体行");
|
|
|
|
+// }
|
|
|
|
+// vouchsMap.put("MoDetailsID",mapOMMODetails.get("MODetailsID"));//委外订单子表id
|
|
|
|
+// vouchsMap.put("invcode",mapOMMODetails.get("cInvCode"));//产品编码
|
|
|
|
+// vouchsMap.put("comcode",rdRecords01List.get(0).get("downstreamOrderNumber"));//委外订单号
|
|
|
|
+//// vouchsMap.put("cDefine22",recordsMap.get("cDefine22"));//款号
|
|
|
|
+// vouchsMap.put("cTVBatch",recordsMap.get("cBatch"));//批号
|
|
|
|
+// vouchsMap.put("cInvCode",recordsMap.get("cInvCode"));//存货编码
|
|
|
|
+// vouchsMap.put("iTVQuantity",recordsMap.get("iQuantity"));//数量
|
|
|
|
+// //获取自由项与自定义项
|
|
|
|
+// getcFree(vouchsMap,recordsMap);
|
|
|
|
+// //获取批次属性
|
|
|
|
+// getcBatchProperty(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"));//主表调拨单号
|
|
|
|
+// //获取子表最大id
|
|
|
|
+// Map<String,Integer> pkMapChild = callGetUAMaxPK2("tr",accID);
|
|
|
|
+// if(pkMap.get("iChildId")==null){
|
|
|
|
+// throw new RuntimeException("获取调拨单子表ID失败");
|
|
|
|
+// }
|
|
|
|
+// vouchsMap.put("autoID",pkMapChild.get("iChildId"));
|
|
|
|
+//// vouchsMap.put("autoID", oConvertUtils.addOne(getMaxId("autoID","TransVouchs")));//子表id
|
|
|
|
+// vouchsMap.put("ID",transVouchMao.get("ID"));//主表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("MOMaterialsID",OM_MOMaterialsList.get(0).get("MOMaterialsID"));//委外订单子件id
|
|
|
|
+// updateOM_MOMaterials.put("fTransQty",fTransQty.doubleValue());//调拨数量
|
|
|
|
+// System.out.println("调拨数量:"+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);
|
|
|
|
+// //保存其他入库单
|
|
|
|
+// saveRdRecord08(transVouchMao,transVouchsList);
|
|
|
|
+//
|
|
|
|
+// }
|
|
|
|
+
|
|
|
|
+
|
|
}
|
|
}
|