|
|
|
@ -171,7 +171,12 @@ public class OdsProcureOrderServiceImpl implements IOdsProcureOrderService {
|
|
|
|
|
// @DS("#header.poolName")
|
|
|
|
|
public List<OdsProcureOrder> PurchaseOrderPda(OdsProcureOrder odsProcureOrder) {
|
|
|
|
|
DynamicDataSourceContextHolder.push("ds_" + odsProcureOrder.getFactoryCode());
|
|
|
|
|
return odsProcureOrderMapper.selectOdsProcureOrderList(odsProcureOrder);
|
|
|
|
|
try {
|
|
|
|
|
return odsProcureOrderMapper.selectOdsProcureOrderList(odsProcureOrder);
|
|
|
|
|
}finally {
|
|
|
|
|
DynamicDataSourceContextHolder.poll();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@Override
|
|
|
|
@ -179,62 +184,71 @@ public class OdsProcureOrderServiceImpl implements IOdsProcureOrderService {
|
|
|
|
|
public int PurchaseOrderdeliPda(OdsProcureOrder odsProcureOrder) {
|
|
|
|
|
//收货记录--rawOrderInSnId。修改收货数量-------------
|
|
|
|
|
DynamicDataSourceContextHolder.push("ds_" + odsProcureOrder.getFactoryCode());
|
|
|
|
|
//--receiptNoCode收货单号
|
|
|
|
|
OdsProcureOrder order = odsProcureOrderMapper.selectOdsProcureOrderByID(odsProcureOrder.getID());
|
|
|
|
|
//wms_raw_order_in_sn
|
|
|
|
|
WmsRawOrderInSn wmsRawOrderInSn = new WmsRawOrderInSn();
|
|
|
|
|
wmsRawOrderInSn.setRawOrderInSnId(IdUtils.fastSimpleUUID());
|
|
|
|
|
wmsRawOrderInSn.setUserDefined1("1");//1是收货,2是入库
|
|
|
|
|
wmsRawOrderInSn.setUserDefined2(order.getUserDefined7());//批次
|
|
|
|
|
wmsRawOrderInSn.setWhCode(odsProcureOrder.getWhCode());//厂库编号
|
|
|
|
|
wmsRawOrderInSn.setWaCode(odsProcureOrder.getWaCode());
|
|
|
|
|
wmsRawOrderInSn.setWlCode("00001-1-01");//先都设置为同一个库位
|
|
|
|
|
wmsRawOrderInSn.setPoNo(order.getProcureCode());//采购单号
|
|
|
|
|
wmsRawOrderInSn.setPoLine(odsProcureOrder.getPoLine());//行项目
|
|
|
|
|
wmsRawOrderInSn.setMaterialCode(odsProcureOrder.getMaterialCode());
|
|
|
|
|
wmsRawOrderInSn.setMaterialDesc(odsProcureOrder.getMaterialDesc());
|
|
|
|
|
wmsRawOrderInSn.setAmount(odsProcureOrder.getPlanNumber());
|
|
|
|
|
wmsRawOrderInSn.setFactoryCode(odsProcureOrder.getFactoryCode());
|
|
|
|
|
wmsRawOrderInSn.setCreateBy(odsProcureOrder.getCreateBy());
|
|
|
|
|
wmsRawOrderInSn.setGmtCreate(new Date());
|
|
|
|
|
wmsRawOrderInSn.setActiveFlag("1");
|
|
|
|
|
wmsRawOrderInSn.setUserDefined4(order.getUnit());//单位
|
|
|
|
|
wmsRawOrderInSn.setSn(odsProcureOrder.getSn());//托盘号
|
|
|
|
|
wmsRawOrderInSn.setFactoryCode(odsProcureOrder.getSiteCode());
|
|
|
|
|
wmsRawOrderInSn.setUserDefined3(order.getID());
|
|
|
|
|
wmsRawOrderInSn.setUserDefined5(odsProcureOrder.getReceiptNoCode());
|
|
|
|
|
wmsRawOrderInSn.setUserDefined6(odsProcureOrder.getUserDefined6());//标识码绑定
|
|
|
|
|
try {
|
|
|
|
|
//--receiptNoCode收货单号
|
|
|
|
|
OdsProcureOrder order = odsProcureOrderMapper.selectOdsProcureOrderByID(odsProcureOrder.getID());
|
|
|
|
|
//wms_raw_order_in_sn
|
|
|
|
|
WmsRawOrderInSn wmsRawOrderInSn = new WmsRawOrderInSn();
|
|
|
|
|
wmsRawOrderInSn.setRawOrderInSnId(IdUtils.fastSimpleUUID());
|
|
|
|
|
wmsRawOrderInSn.setUserDefined1("1");//1是收货,2是入库
|
|
|
|
|
wmsRawOrderInSn.setUserDefined2(order.getUserDefined7());//批次
|
|
|
|
|
wmsRawOrderInSn.setWhCode(odsProcureOrder.getWhCode());//厂库编号
|
|
|
|
|
wmsRawOrderInSn.setWaCode(odsProcureOrder.getWaCode());
|
|
|
|
|
wmsRawOrderInSn.setWlCode("00001-1-01");//先都设置为同一个库位
|
|
|
|
|
wmsRawOrderInSn.setPoNo(order.getProcureCode());//采购单号
|
|
|
|
|
wmsRawOrderInSn.setPoLine(odsProcureOrder.getPoLine());//行项目
|
|
|
|
|
wmsRawOrderInSn.setMaterialCode(odsProcureOrder.getMaterialCode());
|
|
|
|
|
wmsRawOrderInSn.setMaterialDesc(odsProcureOrder.getMaterialDesc());
|
|
|
|
|
wmsRawOrderInSn.setAmount(odsProcureOrder.getPlanNumber());
|
|
|
|
|
wmsRawOrderInSn.setFactoryCode(odsProcureOrder.getFactoryCode());
|
|
|
|
|
wmsRawOrderInSn.setCreateBy(odsProcureOrder.getCreateBy());
|
|
|
|
|
wmsRawOrderInSn.setGmtCreate(new Date());
|
|
|
|
|
wmsRawOrderInSn.setActiveFlag("1");
|
|
|
|
|
wmsRawOrderInSn.setUserDefined4(order.getUnit());//单位
|
|
|
|
|
wmsRawOrderInSn.setSn(odsProcureOrder.getSn());//托盘号
|
|
|
|
|
wmsRawOrderInSn.setFactoryCode(odsProcureOrder.getSiteCode());
|
|
|
|
|
wmsRawOrderInSn.setUserDefined3(order.getID());
|
|
|
|
|
wmsRawOrderInSn.setUserDefined5(odsProcureOrder.getReceiptNoCode());
|
|
|
|
|
wmsRawOrderInSn.setUserDefined6(odsProcureOrder.getUserDefined6());//标识码绑定
|
|
|
|
|
|
|
|
|
|
wmsRawOrderInSnMapper.insertWmsRawOrderInSn(wmsRawOrderInSn);
|
|
|
|
|
//标识码绑定
|
|
|
|
|
if (odsProcureOrder.getUserDefined6()!=null){
|
|
|
|
|
WmsLogotypeTable wmsLogotypeTable=new WmsLogotypeTable();
|
|
|
|
|
wmsLogotypeTable.setId(IdUtils.fastSimpleUUID());
|
|
|
|
|
wmsLogotypeTable.setLogotype(odsProcureOrder.getUserDefined6());
|
|
|
|
|
wmsLogotypeTable.setSn(odsProcureOrder.getSn());
|
|
|
|
|
wmsLogotypeTable.setActiveFlag("1");
|
|
|
|
|
wmsRawOrderInSnMapper.insertWmsLogotypeTable(wmsLogotypeTable);
|
|
|
|
|
}
|
|
|
|
|
wmsRawOrderInSnMapper.insertWmsRawOrderInSn(wmsRawOrderInSn);
|
|
|
|
|
//标识码绑定
|
|
|
|
|
if (odsProcureOrder.getUserDefined6()!=null){
|
|
|
|
|
WmsLogotypeTable wmsLogotypeTable=new WmsLogotypeTable();
|
|
|
|
|
wmsLogotypeTable.setId(IdUtils.fastSimpleUUID());
|
|
|
|
|
wmsLogotypeTable.setLogotype(odsProcureOrder.getUserDefined6());
|
|
|
|
|
wmsLogotypeTable.setSn(odsProcureOrder.getSn());
|
|
|
|
|
wmsLogotypeTable.setActiveFlag("1");
|
|
|
|
|
wmsRawOrderInSnMapper.insertWmsLogotypeTable(wmsLogotypeTable);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
//插入收货记录
|
|
|
|
|
//如果收货完成了的话,就插入信息收货完成
|
|
|
|
|
odsProcureOrder.setOrderStatus("1");
|
|
|
|
|
BigDecimal result = order.getRealityNumber().add(odsProcureOrder.getPlanNumber());
|
|
|
|
|
if (result.equals(order.getPlanNumber())) {
|
|
|
|
|
odsProcureOrder.setOrderStatus("2");//
|
|
|
|
|
//插入收货记录
|
|
|
|
|
//如果收货完成了的话,就插入信息收货完成
|
|
|
|
|
odsProcureOrder.setOrderStatus("1");
|
|
|
|
|
BigDecimal result = order.getRealityNumber().add(odsProcureOrder.getPlanNumber());
|
|
|
|
|
if (result.equals(order.getPlanNumber())) {
|
|
|
|
|
odsProcureOrder.setOrderStatus("2");//
|
|
|
|
|
}
|
|
|
|
|
Integer tem = odsProcureOrderMapper.updateRealityNuById(odsProcureOrder);
|
|
|
|
|
//插入检验集计划
|
|
|
|
|
return tem;
|
|
|
|
|
}finally {
|
|
|
|
|
DynamicDataSourceContextHolder.poll();
|
|
|
|
|
}
|
|
|
|
|
Integer tem = odsProcureOrderMapper.updateRealityNuById(odsProcureOrder);
|
|
|
|
|
//插入检验集计划
|
|
|
|
|
return tem;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@Override
|
|
|
|
|
//@DS("#header.poolName")
|
|
|
|
|
public List<WmsRawOrderInSn> PurchaseOrderdetailPda(WmsRawOrderInSn wmsRawOrderInSn) {
|
|
|
|
|
DynamicDataSourceContextHolder.push("ds_" + wmsRawOrderInSn.getFactoryCode());
|
|
|
|
|
wmsRawOrderInSn.setActiveFlag("1");
|
|
|
|
|
//u3备注
|
|
|
|
|
return wmsRawOrderInSnMapper.selectWmsRawOrderInSnList(wmsRawOrderInSn);
|
|
|
|
|
try {
|
|
|
|
|
wmsRawOrderInSn.setActiveFlag("1");
|
|
|
|
|
//u3备注
|
|
|
|
|
return wmsRawOrderInSnMapper.selectWmsRawOrderInSnList(wmsRawOrderInSn);
|
|
|
|
|
}finally {
|
|
|
|
|
DynamicDataSourceContextHolder.poll();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@Override
|
|
|
|
@ -675,42 +689,47 @@ public class OdsProcureOrderServiceImpl implements IOdsProcureOrderService {
|
|
|
|
|
@Override
|
|
|
|
|
public AjaxResult sapPurchaseOrderSync(OdsProcureOrder odsProcureOrder) {
|
|
|
|
|
DynamicDataSourceContextHolder.push("ds_" + odsProcureOrder.getFactoryCode());
|
|
|
|
|
SapPurchaseOrderQuery sapPurchaseOrderQuery = new SapPurchaseOrderQuery();
|
|
|
|
|
sapPurchaseOrderQuery.setEbeln(odsProcureOrder.getProcureCode());//采购单号
|
|
|
|
|
R result = remoteSapService.sapPurchaseOrderSync(sapPurchaseOrderQuery);
|
|
|
|
|
List<Map<String, String>> mapList = new ArrayList<>();
|
|
|
|
|
mapList = (List<Map<String, String>>) result.getData();
|
|
|
|
|
for (Map<String, String> sapPurchaseOrderQuery1 : mapList) {
|
|
|
|
|
OdsProcureOrder order = new OdsProcureOrder();
|
|
|
|
|
order.setProcureCode(sapPurchaseOrderQuery1.get("ebeln"));
|
|
|
|
|
order.setSiteCode(sapPurchaseOrderQuery1.get("werks"));
|
|
|
|
|
order.setUserDefined3(sapPurchaseOrderQuery1.get("ebelp"));//批次
|
|
|
|
|
order.setMaterialCode(sapPurchaseOrderQuery1.get("matnr"));
|
|
|
|
|
order.setMaterialDesc(sapPurchaseOrderQuery1.get("maktx"));
|
|
|
|
|
order.setUserDefined8("1");
|
|
|
|
|
order.setActive("1");
|
|
|
|
|
List<OdsProcureOrder> orderList = odsProcureOrderMapper.selectOdsProcureOrderList(order);
|
|
|
|
|
if (orderList.size() > 0) {
|
|
|
|
|
continue;
|
|
|
|
|
try {
|
|
|
|
|
SapPurchaseOrderQuery sapPurchaseOrderQuery = new SapPurchaseOrderQuery();
|
|
|
|
|
sapPurchaseOrderQuery.setEbeln(odsProcureOrder.getProcureCode());//采购单号
|
|
|
|
|
R result = remoteSapService.sapPurchaseOrderSync(sapPurchaseOrderQuery);
|
|
|
|
|
List<Map<String, String>> mapList = new ArrayList<>();
|
|
|
|
|
mapList = (List<Map<String, String>>) result.getData();
|
|
|
|
|
for (Map<String, String> sapPurchaseOrderQuery1 : mapList) {
|
|
|
|
|
OdsProcureOrder order = new OdsProcureOrder();
|
|
|
|
|
order.setProcureCode(sapPurchaseOrderQuery1.get("ebeln"));
|
|
|
|
|
order.setSiteCode(sapPurchaseOrderQuery1.get("werks"));
|
|
|
|
|
order.setUserDefined3(sapPurchaseOrderQuery1.get("ebelp"));//批次
|
|
|
|
|
order.setMaterialCode(sapPurchaseOrderQuery1.get("matnr"));
|
|
|
|
|
order.setMaterialDesc(sapPurchaseOrderQuery1.get("maktx"));
|
|
|
|
|
order.setUserDefined8("1");
|
|
|
|
|
order.setActive("1");
|
|
|
|
|
List<OdsProcureOrder> orderList = odsProcureOrderMapper.selectOdsProcureOrderList(order);
|
|
|
|
|
if (orderList.size() > 0) {
|
|
|
|
|
continue;
|
|
|
|
|
}
|
|
|
|
|
SimpleDateFormat dateFormat = new SimpleDateFormat("yyMMdd");
|
|
|
|
|
Date date = new Date();
|
|
|
|
|
String formattedDate = dateFormat.format(date);
|
|
|
|
|
String userDefined7= odsProcureOrderMapper.selectOdsProcureOrderUserDefined7New(formattedDate);
|
|
|
|
|
order.setUserDefined7(userDefined7);
|
|
|
|
|
order.setPlanNumber(new BigDecimal(sapPurchaseOrderQuery1.get("menge")));
|
|
|
|
|
order.setUnit(sapPurchaseOrderQuery1.get("meins"));
|
|
|
|
|
order.setSupplierCode(sapPurchaseOrderQuery1.get("lifnr"));
|
|
|
|
|
order.setUserDefined9(sapPurchaseOrderQuery1.get("zmenge"));
|
|
|
|
|
order.setUserDefined10(sapPurchaseOrderQuery1.get("elikz"));
|
|
|
|
|
order.setUserDefined11(sapPurchaseOrderQuery1.get("eindt"));
|
|
|
|
|
order.setCreateBy(odsProcureOrder.getCreateBy());
|
|
|
|
|
order.setPlanDate(new Date());
|
|
|
|
|
order.setOrderStatus("0");
|
|
|
|
|
//order.setID(IdUtils.fastSimpleUUID());
|
|
|
|
|
order.setCreateDate(new Date());
|
|
|
|
|
odsProcureOrderMapper.insertOdsProcureOrder(order);
|
|
|
|
|
}
|
|
|
|
|
SimpleDateFormat dateFormat = new SimpleDateFormat("yyMMdd");
|
|
|
|
|
Date date = new Date();
|
|
|
|
|
String formattedDate = dateFormat.format(date);
|
|
|
|
|
String userDefined7= odsProcureOrderMapper.selectOdsProcureOrderUserDefined7New(formattedDate);
|
|
|
|
|
order.setUserDefined7(userDefined7);
|
|
|
|
|
order.setPlanNumber(new BigDecimal(sapPurchaseOrderQuery1.get("menge")));
|
|
|
|
|
order.setUnit(sapPurchaseOrderQuery1.get("meins"));
|
|
|
|
|
order.setSupplierCode(sapPurchaseOrderQuery1.get("lifnr"));
|
|
|
|
|
order.setUserDefined9(sapPurchaseOrderQuery1.get("zmenge"));
|
|
|
|
|
order.setUserDefined10(sapPurchaseOrderQuery1.get("elikz"));
|
|
|
|
|
order.setUserDefined11(sapPurchaseOrderQuery1.get("eindt"));
|
|
|
|
|
order.setCreateBy(odsProcureOrder.getCreateBy());
|
|
|
|
|
order.setPlanDate(new Date());
|
|
|
|
|
order.setOrderStatus("0");
|
|
|
|
|
//order.setID(IdUtils.fastSimpleUUID());
|
|
|
|
|
order.setCreateDate(new Date());
|
|
|
|
|
odsProcureOrderMapper.insertOdsProcureOrder(order);
|
|
|
|
|
}finally {
|
|
|
|
|
DynamicDataSourceContextHolder.poll();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
return AjaxResult.success();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
@ -942,62 +961,66 @@ public class OdsProcureOrderServiceImpl implements IOdsProcureOrderService {
|
|
|
|
|
@Override
|
|
|
|
|
public AjaxResult getDeliveryNoteDetail(OdsProcureOrder odsProcureOrder) {
|
|
|
|
|
DynamicDataSourceContextHolder.push("ds_" + odsProcureOrder.getFactoryCode());
|
|
|
|
|
SapPurchaseOrderQuery sapPurchaseOrderQuery = new SapPurchaseOrderQuery();
|
|
|
|
|
sapPurchaseOrderQuery.setEbeln(odsProcureOrder.getProcureCode());//采购单号
|
|
|
|
|
//"ebelp": "10",
|
|
|
|
|
//代表是-00010
|
|
|
|
|
Map paramMap=new HashMap<>();
|
|
|
|
|
paramMap.put("id",odsProcureOrder.getUserDefined5());
|
|
|
|
|
AjaxResult result = remoteOpenService.getDeliveryNoteDetail(paramMap);
|
|
|
|
|
List<Map<String, String>> mapList = new ArrayList<>();
|
|
|
|
|
if (result.get("code").equals(200)) {
|
|
|
|
|
mapList= (List<Map<String, String>>) result.get("data");
|
|
|
|
|
for (Map<String, String> sapPurchaseOrderQuery1 : mapList) {
|
|
|
|
|
OdsProcureOrder order = new OdsProcureOrder();
|
|
|
|
|
// 获取 mainId
|
|
|
|
|
Object mainIdObj = sapPurchaseOrderQuery1.get("mainId");
|
|
|
|
|
try {
|
|
|
|
|
SapPurchaseOrderQuery sapPurchaseOrderQuery = new SapPurchaseOrderQuery();
|
|
|
|
|
sapPurchaseOrderQuery.setEbeln(odsProcureOrder.getProcureCode());//采购单号
|
|
|
|
|
//"ebelp": "10",
|
|
|
|
|
//代表是-00010
|
|
|
|
|
Map paramMap=new HashMap<>();
|
|
|
|
|
paramMap.put("id",odsProcureOrder.getUserDefined5());
|
|
|
|
|
AjaxResult result = remoteOpenService.getDeliveryNoteDetail(paramMap);
|
|
|
|
|
List<Map<String, String>> mapList = new ArrayList<>();
|
|
|
|
|
if (result.get("code").equals(200)) {
|
|
|
|
|
mapList= (List<Map<String, String>>) result.get("data");
|
|
|
|
|
for (Map<String, String> sapPurchaseOrderQuery1 : mapList) {
|
|
|
|
|
OdsProcureOrder order = new OdsProcureOrder();
|
|
|
|
|
// 获取 mainId
|
|
|
|
|
Object mainIdObj = sapPurchaseOrderQuery1.get("mainId");
|
|
|
|
|
// 将 Object 转换为 String
|
|
|
|
|
String mainId = (mainIdObj != null) ? mainIdObj.toString() : null;
|
|
|
|
|
String mainId = (mainIdObj != null) ? mainIdObj.toString() : null;
|
|
|
|
|
// 判断并补全 mainId
|
|
|
|
|
if (mainId != null && mainId.length() < 8) {
|
|
|
|
|
mainId = String.format("%08d", Integer.parseInt(mainId));
|
|
|
|
|
}
|
|
|
|
|
order.setProcureCode(sapPurchaseOrderQuery1.get("orderNum"));
|
|
|
|
|
order.setSiteCode(sapPurchaseOrderQuery1.get("werks"));
|
|
|
|
|
order.setUserDefined3(sapPurchaseOrderQuery1.get("ebelp"));//行项目
|
|
|
|
|
if (order.getUserDefined3()!=null){
|
|
|
|
|
order.setUserDefined3("000"+order.getUserDefined3());
|
|
|
|
|
if (mainId != null && mainId.length() < 8) {
|
|
|
|
|
mainId = String.format("%08d", Integer.parseInt(mainId));
|
|
|
|
|
}
|
|
|
|
|
order.setProcureCode(sapPurchaseOrderQuery1.get("orderNum"));
|
|
|
|
|
order.setSiteCode(sapPurchaseOrderQuery1.get("werks"));
|
|
|
|
|
order.setUserDefined3(sapPurchaseOrderQuery1.get("ebelp"));//行项目
|
|
|
|
|
if (order.getUserDefined3()!=null){
|
|
|
|
|
order.setUserDefined3("000"+order.getUserDefined3());
|
|
|
|
|
}
|
|
|
|
|
String materialCode = sapPurchaseOrderQuery1.get("matnr");
|
|
|
|
|
materialCode = "0000000" + materialCode;
|
|
|
|
|
order.setMaterialCode(materialCode);
|
|
|
|
|
order.setUserDefined5(mainId);//送货单
|
|
|
|
|
order.setMaterialDesc(sapPurchaseOrderQuery1.get("matnrName"));
|
|
|
|
|
order.setActive("1");
|
|
|
|
|
order.setUserDefined8("0");//0是属于送货单下的
|
|
|
|
|
List<OdsProcureOrder> orderList = odsProcureOrderMapper.selectOdsProcureOrderList(order);
|
|
|
|
|
if (orderList.size() > 0) {
|
|
|
|
|
//这个地方判断下是不是采购单已经被插入了,如果是的话,并且是走的送货单的路径,那就把送货单给她附上
|
|
|
|
|
continue;
|
|
|
|
|
}
|
|
|
|
|
SimpleDateFormat dateFormat = new SimpleDateFormat("yyMMdd");
|
|
|
|
|
Date date = new Date();
|
|
|
|
|
String formattedDate = dateFormat.format(date);
|
|
|
|
|
String userDefined7= odsProcureOrderMapper.selectOdsProcureOrderUserDefined7New(formattedDate);
|
|
|
|
|
// order.setUserDefined7(formattedDate+order.getUserDefined3());
|
|
|
|
|
order.setUserDefined7(userDefined7);
|
|
|
|
|
order.setUserDefined11(sapPurchaseOrderQuery1.get("realDate"));
|
|
|
|
|
order.setPlanNumber(new BigDecimal(sapPurchaseOrderQuery1.get("thisDeliNum")));
|
|
|
|
|
order.setUnit(sapPurchaseOrderQuery1.get("unit"));
|
|
|
|
|
order.setSupplierCode(sapPurchaseOrderQuery1.get("lifnr"));
|
|
|
|
|
order.setCreateBy(odsProcureOrder.getCreateBy());
|
|
|
|
|
order.setPlanDate(new Date());
|
|
|
|
|
order.setOrderStatus("0");
|
|
|
|
|
//order.setID(IdUtils.fastSimpleUUID());
|
|
|
|
|
order.setCreateDate(new Date());
|
|
|
|
|
odsProcureOrderMapper.insertOdsProcureOrder(order);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
String materialCode = sapPurchaseOrderQuery1.get("matnr");
|
|
|
|
|
materialCode = "0000000" + materialCode;
|
|
|
|
|
order.setMaterialCode(materialCode);
|
|
|
|
|
order.setUserDefined5(mainId);//送货单
|
|
|
|
|
order.setMaterialDesc(sapPurchaseOrderQuery1.get("matnrName"));
|
|
|
|
|
order.setActive("1");
|
|
|
|
|
order.setUserDefined8("0");//0是属于送货单下的
|
|
|
|
|
List<OdsProcureOrder> orderList = odsProcureOrderMapper.selectOdsProcureOrderList(order);
|
|
|
|
|
if (orderList.size() > 0) {
|
|
|
|
|
//这个地方判断下是不是采购单已经被插入了,如果是的话,并且是走的送货单的路径,那就把送货单给她附上
|
|
|
|
|
continue;
|
|
|
|
|
}
|
|
|
|
|
SimpleDateFormat dateFormat = new SimpleDateFormat("yyMMdd");
|
|
|
|
|
Date date = new Date();
|
|
|
|
|
String formattedDate = dateFormat.format(date);
|
|
|
|
|
String userDefined7= odsProcureOrderMapper.selectOdsProcureOrderUserDefined7New(formattedDate);
|
|
|
|
|
// order.setUserDefined7(formattedDate+order.getUserDefined3());
|
|
|
|
|
order.setUserDefined7(userDefined7);
|
|
|
|
|
order.setUserDefined11(sapPurchaseOrderQuery1.get("realDate"));
|
|
|
|
|
order.setPlanNumber(new BigDecimal(sapPurchaseOrderQuery1.get("thisDeliNum")));
|
|
|
|
|
order.setUnit(sapPurchaseOrderQuery1.get("unit"));
|
|
|
|
|
order.setSupplierCode(sapPurchaseOrderQuery1.get("lifnr"));
|
|
|
|
|
order.setCreateBy(odsProcureOrder.getCreateBy());
|
|
|
|
|
order.setPlanDate(new Date());
|
|
|
|
|
order.setOrderStatus("0");
|
|
|
|
|
//order.setID(IdUtils.fastSimpleUUID());
|
|
|
|
|
order.setCreateDate(new Date());
|
|
|
|
|
odsProcureOrderMapper.insertOdsProcureOrder(order);
|
|
|
|
|
}finally {
|
|
|
|
|
DynamicDataSourceContextHolder.poll();
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
return AjaxResult.success();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
@ -1563,7 +1586,11 @@ public class OdsProcureOrderServiceImpl implements IOdsProcureOrderService {
|
|
|
|
|
public String upbatCardXNew(OdsProcureOrder order) {
|
|
|
|
|
String result="修改成功";
|
|
|
|
|
DynamicDataSourceContextHolder.push("ds_" + order.getFactoryCode());
|
|
|
|
|
odsProcureOrderMapper.updateodsProcureOrderCardTemNumber(order);//更新标识卡。状态为1
|
|
|
|
|
try {
|
|
|
|
|
odsProcureOrderMapper.updateodsProcureOrderCardTemNumber(order);//更新标识卡。状态为1
|
|
|
|
|
}finally {
|
|
|
|
|
DynamicDataSourceContextHolder.poll();
|
|
|
|
|
}
|
|
|
|
|
return result;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
@ -1796,8 +1823,13 @@ public class OdsProcureOrderServiceImpl implements IOdsProcureOrderService {
|
|
|
|
|
//送货单,采购单,行项目,物料编码,物料名称,工厂号,托盘,状态,实际收货
|
|
|
|
|
DynamicDataSourceContextHolder.push("ds_" + odsProcureOrder.getFactoryCode());
|
|
|
|
|
|
|
|
|
|
List<OdsProcureOrder> orderList= odsProcureOrderMapper.selectOdsProcureOrderCardTLTWO(odsProcureOrder);
|
|
|
|
|
return orderList;
|
|
|
|
|
try {
|
|
|
|
|
List<OdsProcureOrder> orderList= odsProcureOrderMapper.selectOdsProcureOrderCardTLTWO(odsProcureOrder);
|
|
|
|
|
return orderList;
|
|
|
|
|
}finally {
|
|
|
|
|
DynamicDataSourceContextHolder.poll();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@ -1859,8 +1891,13 @@ public class OdsProcureOrderServiceImpl implements IOdsProcureOrderService {
|
|
|
|
|
public OdsProcureOrder selectOrderCard(OdsProcureOrder odsProcureOrder) {
|
|
|
|
|
//送货单,采购单,行项目,物料编码,物料名称,工厂号,托盘,状态,实际收货
|
|
|
|
|
DynamicDataSourceContextHolder.push("ds_" + odsProcureOrder.getFactoryCode());
|
|
|
|
|
OdsProcureOrder order= odsProcureOrderMapper.selectOdsProcureOrderCard(odsProcureOrder);
|
|
|
|
|
return order;
|
|
|
|
|
try {
|
|
|
|
|
OdsProcureOrder order= odsProcureOrderMapper.selectOdsProcureOrderCard(odsProcureOrder);
|
|
|
|
|
return order;
|
|
|
|
|
}finally {
|
|
|
|
|
DynamicDataSourceContextHolder.poll();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@Override
|
|
|
|
@ -2259,84 +2296,89 @@ public class OdsProcureOrderServiceImpl implements IOdsProcureOrderService {
|
|
|
|
|
String result="操作成功";
|
|
|
|
|
String factoryCode = orderList.get(0).getFactoryCode();
|
|
|
|
|
DynamicDataSourceContextHolder.push("ds_" + factoryCode);
|
|
|
|
|
for (OdsProcureOutOrder odsProcureOutOrder :
|
|
|
|
|
orderList) {
|
|
|
|
|
//领料单,物料编号,领料单批次,物料名称,托盘号,出库数量,库位号,
|
|
|
|
|
String produceCode= odsProcureOutOrder.getProduceCode();//生产领料单号
|
|
|
|
|
String createBy= odsProcureOutOrder.getCreateBy();//操作人
|
|
|
|
|
String mateOrderInSnId= odsProcureOutOrder.getMateOrderInSnId();
|
|
|
|
|
String waCode= odsProcureOutOrder.getWaCode();
|
|
|
|
|
String whCode= odsProcureOutOrder.getWhCode();
|
|
|
|
|
String wlCode= odsProcureOutOrder.getWlCode();
|
|
|
|
|
String sn= odsProcureOutOrder.getSn();
|
|
|
|
|
String materialCode= odsProcureOutOrder.getMaterialCode();
|
|
|
|
|
String materialDesc= odsProcureOutOrder.getMaterialDesc();
|
|
|
|
|
BigDecimal amount= odsProcureOutOrder.getAmount();//数量
|
|
|
|
|
String userDefined1= odsProcureOutOrder.getUserDefined1();//单位
|
|
|
|
|
String userDefined2= odsProcureOutOrder.getUserDefined2();//批次
|
|
|
|
|
WmsOdsMateStorageNewsSn wmsOdsMateStorageNewsSn = wmsOdsMateStorageNewsSnMapper.selectWmsOdsMateStorageNewsSnByMateOrderInSnIdk(mateOrderInSnId);
|
|
|
|
|
//wms_raw_mission_out--保存
|
|
|
|
|
//ods_procure_out_order--修改
|
|
|
|
|
WCSInventoryPlan wcsInventoryPlan = new WCSInventoryPlan();
|
|
|
|
|
wcsInventoryPlan.setSku(odsProcureOutOrder.getMaterialCode());
|
|
|
|
|
// WmsOdsMateStorageNews wmsOdsMateStorageNews = wmsOdsMateStorageNewsMapper.selectBaseProductByCode(wcsInventoryPlan);
|
|
|
|
|
OdsProcureOutOrder order = new OdsProcureOutOrder();
|
|
|
|
|
order.setProduceCode(produceCode);//领料单
|
|
|
|
|
order.setMaterialCode(materialCode);//
|
|
|
|
|
order.setMaterialDesc(materialDesc);
|
|
|
|
|
order.setUserDefined1(userDefined2);//批次
|
|
|
|
|
order.setUserDefined2(whCode);
|
|
|
|
|
order.setUserDefined3(wlCode);
|
|
|
|
|
order.setSn(sn);
|
|
|
|
|
order.setPlanNumber(amount);
|
|
|
|
|
order.setLocCode(waCode);//库区
|
|
|
|
|
order.setID(IdUtils.fastSimpleUUID());
|
|
|
|
|
order.setUnit(userDefined1);
|
|
|
|
|
order.setFactoryCode(factoryCode);
|
|
|
|
|
order.setActive("1");
|
|
|
|
|
order.setCreateBy(createBy);
|
|
|
|
|
order.setCreateDate(new Date());
|
|
|
|
|
//order.setSiteCode(factoryCode);}
|
|
|
|
|
OdsProcureOutOrder odsProcureOutOrder1=new OdsProcureOutOrder();
|
|
|
|
|
odsProcureOutOrder1.setProduceCode(produceCode);
|
|
|
|
|
odsProcureOutOrder1.setMaterialCode(materialCode);
|
|
|
|
|
List<OdsProcureOutOrder> odsProcureOutOrders = odsProcureOutOrderMapper.selectWmsOdsProcureOutOrder(odsProcureOutOrder1);
|
|
|
|
|
OdsProcureOutOrder order1= odsProcureOutOrders.get(0);
|
|
|
|
|
order.setUserDefined4(order1.getUserDefined4());
|
|
|
|
|
odsProcureOutOrderMapper.insertWmsRawMissionOut(order);
|
|
|
|
|
try {
|
|
|
|
|
for (OdsProcureOutOrder odsProcureOutOrder :
|
|
|
|
|
orderList) {
|
|
|
|
|
//领料单,物料编号,领料单批次,物料名称,托盘号,出库数量,库位号,
|
|
|
|
|
String produceCode= odsProcureOutOrder.getProduceCode();//生产领料单号
|
|
|
|
|
String createBy= odsProcureOutOrder.getCreateBy();//操作人
|
|
|
|
|
String mateOrderInSnId= odsProcureOutOrder.getMateOrderInSnId();
|
|
|
|
|
String waCode= odsProcureOutOrder.getWaCode();
|
|
|
|
|
String whCode= odsProcureOutOrder.getWhCode();
|
|
|
|
|
String wlCode= odsProcureOutOrder.getWlCode();
|
|
|
|
|
String sn= odsProcureOutOrder.getSn();
|
|
|
|
|
String materialCode= odsProcureOutOrder.getMaterialCode();
|
|
|
|
|
String materialDesc= odsProcureOutOrder.getMaterialDesc();
|
|
|
|
|
BigDecimal amount= odsProcureOutOrder.getAmount();//数量
|
|
|
|
|
String userDefined1= odsProcureOutOrder.getUserDefined1();//单位
|
|
|
|
|
String userDefined2= odsProcureOutOrder.getUserDefined2();//批次
|
|
|
|
|
WmsOdsMateStorageNewsSn wmsOdsMateStorageNewsSn = wmsOdsMateStorageNewsSnMapper.selectWmsOdsMateStorageNewsSnByMateOrderInSnIdk(mateOrderInSnId);
|
|
|
|
|
//wms_raw_mission_out--保存
|
|
|
|
|
//ods_procure_out_order--修改
|
|
|
|
|
WCSInventoryPlan wcsInventoryPlan = new WCSInventoryPlan();
|
|
|
|
|
wcsInventoryPlan.setSku(odsProcureOutOrder.getMaterialCode());
|
|
|
|
|
// WmsOdsMateStorageNews wmsOdsMateStorageNews = wmsOdsMateStorageNewsMapper.selectBaseProductByCode(wcsInventoryPlan);
|
|
|
|
|
OdsProcureOutOrder order = new OdsProcureOutOrder();
|
|
|
|
|
order.setProduceCode(produceCode);//领料单
|
|
|
|
|
order.setMaterialCode(materialCode);//
|
|
|
|
|
order.setMaterialDesc(materialDesc);
|
|
|
|
|
order.setUserDefined1(userDefined2);//批次
|
|
|
|
|
order.setUserDefined2(whCode);
|
|
|
|
|
order.setUserDefined3(wlCode);
|
|
|
|
|
order.setSn(sn);
|
|
|
|
|
order.setPlanNumber(amount);
|
|
|
|
|
order.setLocCode(waCode);//库区
|
|
|
|
|
order.setID(IdUtils.fastSimpleUUID());
|
|
|
|
|
order.setUnit(userDefined1);
|
|
|
|
|
order.setFactoryCode(factoryCode);
|
|
|
|
|
order.setActive("1");
|
|
|
|
|
order.setCreateBy(createBy);
|
|
|
|
|
order.setCreateDate(new Date());
|
|
|
|
|
//order.setSiteCode(factoryCode);}
|
|
|
|
|
OdsProcureOutOrder odsProcureOutOrder1=new OdsProcureOutOrder();
|
|
|
|
|
odsProcureOutOrder1.setProduceCode(produceCode);
|
|
|
|
|
odsProcureOutOrder1.setMaterialCode(materialCode);
|
|
|
|
|
List<OdsProcureOutOrder> odsProcureOutOrders = odsProcureOutOrderMapper.selectWmsOdsProcureOutOrder(odsProcureOutOrder1);
|
|
|
|
|
OdsProcureOutOrder order1= odsProcureOutOrders.get(0);
|
|
|
|
|
order.setUserDefined4(order1.getUserDefined4());
|
|
|
|
|
odsProcureOutOrderMapper.insertWmsRawMissionOut(order);
|
|
|
|
|
|
|
|
|
|
BigDecimal realityNumber1 = order1.getOutNumber();//累出库数
|
|
|
|
|
BigDecimal realityNumber = order1.getPlanNumber();//计划
|
|
|
|
|
BigDecimal planNumber = amount;//本次实际数量
|
|
|
|
|
BigDecimal tem = realityNumber1.add(planNumber);
|
|
|
|
|
if (tem.compareTo(realityNumber)>= 0) {
|
|
|
|
|
order1.setOrderStatus("3");
|
|
|
|
|
} else {
|
|
|
|
|
order1.setOrderStatus("2");
|
|
|
|
|
}
|
|
|
|
|
order1.setOutNumber(tem);
|
|
|
|
|
odsProcureOutOrderMapper.updateWmsOdsProcureOutOrder(order1);//订单修改
|
|
|
|
|
//明细
|
|
|
|
|
BigDecimal realityNumber1 = order1.getOutNumber();//累出库数
|
|
|
|
|
BigDecimal realityNumber = order1.getPlanNumber();//计划
|
|
|
|
|
BigDecimal planNumber = amount;//本次实际数量
|
|
|
|
|
BigDecimal tem = realityNumber1.add(planNumber);
|
|
|
|
|
if (tem.compareTo(realityNumber)>= 0) {
|
|
|
|
|
order1.setOrderStatus("3");
|
|
|
|
|
} else {
|
|
|
|
|
order1.setOrderStatus("2");
|
|
|
|
|
}
|
|
|
|
|
order1.setOutNumber(tem);
|
|
|
|
|
odsProcureOutOrderMapper.updateWmsOdsProcureOutOrder(order1);//订单修改
|
|
|
|
|
//明细
|
|
|
|
|
// BigDecimal temk= wmsOdsMateStorageNewsSn.getAmount().subtract(amount);
|
|
|
|
|
wmsOdsMateStorageNewsSn.setOutNumber(amount);
|
|
|
|
|
wmsOdsMateStorageNewsSn.setLastModifiedBy(createBy);
|
|
|
|
|
wmsOdsMateStorageNewsSnMapper.updateWmsOdsMateStorageNewsSnAddoutNumber(wmsOdsMateStorageNewsSn);//库存明细
|
|
|
|
|
WmsOdsEmStorageNews wmsOdsEmStorageNews = new WmsOdsEmStorageNews();
|
|
|
|
|
wmsOdsEmStorageNews.setWhCode(wmsOdsMateStorageNewsSn.getWhCode());//仓库编码
|
|
|
|
|
wmsOdsEmStorageNews.setWlCode(wmsOdsMateStorageNewsSn.getWlCode());//库位编码
|
|
|
|
|
wmsOdsEmStorageNews.setWaCode(wmsOdsMateStorageNewsSn.getWaCode());
|
|
|
|
|
wmsOdsEmStorageNews.setProductBatch(wmsOdsMateStorageNewsSn.getUserDefined2());
|
|
|
|
|
wmsOdsEmStorageNews.setMaterialCode(wmsOdsMateStorageNewsSn.getMaterialCode());
|
|
|
|
|
wmsOdsEmStorageNews.setAmount(odsProcureOutOrder.getPlanNumber());//库存
|
|
|
|
|
wmsOdsEmStorageNews.setLastModifiedBy(createBy);
|
|
|
|
|
wmsOdsMateStorageNewsSnMapper.updatekdd(wmsOdsEmStorageNews);//库存调整
|
|
|
|
|
}
|
|
|
|
|
//
|
|
|
|
|
OdsProcureOutOrder order=new OdsProcureOutOrder();
|
|
|
|
|
List<OdsProcureOutOrder> orderList1 = odsProcureOutOrderMapper.selectWmsOdsProcureOutOrderByOrderStatus(order);
|
|
|
|
|
if (orderList1.size()>0){
|
|
|
|
|
OutboundPostingzcSAPGY(orderList1);
|
|
|
|
|
wmsOdsMateStorageNewsSn.setOutNumber(amount);
|
|
|
|
|
wmsOdsMateStorageNewsSn.setLastModifiedBy(createBy);
|
|
|
|
|
wmsOdsMateStorageNewsSnMapper.updateWmsOdsMateStorageNewsSnAddoutNumber(wmsOdsMateStorageNewsSn);//库存明细
|
|
|
|
|
WmsOdsEmStorageNews wmsOdsEmStorageNews = new WmsOdsEmStorageNews();
|
|
|
|
|
wmsOdsEmStorageNews.setWhCode(wmsOdsMateStorageNewsSn.getWhCode());//仓库编码
|
|
|
|
|
wmsOdsEmStorageNews.setWlCode(wmsOdsMateStorageNewsSn.getWlCode());//库位编码
|
|
|
|
|
wmsOdsEmStorageNews.setWaCode(wmsOdsMateStorageNewsSn.getWaCode());
|
|
|
|
|
wmsOdsEmStorageNews.setProductBatch(wmsOdsMateStorageNewsSn.getUserDefined2());
|
|
|
|
|
wmsOdsEmStorageNews.setMaterialCode(wmsOdsMateStorageNewsSn.getMaterialCode());
|
|
|
|
|
wmsOdsEmStorageNews.setAmount(odsProcureOutOrder.getPlanNumber());//库存
|
|
|
|
|
wmsOdsEmStorageNews.setLastModifiedBy(createBy);
|
|
|
|
|
wmsOdsMateStorageNewsSnMapper.updatekdd(wmsOdsEmStorageNews);//库存调整
|
|
|
|
|
}
|
|
|
|
|
//
|
|
|
|
|
OdsProcureOutOrder order=new OdsProcureOutOrder();
|
|
|
|
|
List<OdsProcureOutOrder> orderList1 = odsProcureOutOrderMapper.selectWmsOdsProcureOutOrderByOrderStatus(order);
|
|
|
|
|
if (orderList1.size()>0){
|
|
|
|
|
OutboundPostingzcSAPGY(orderList1);
|
|
|
|
|
}
|
|
|
|
|
}finally {
|
|
|
|
|
DynamicDataSourceContextHolder.poll();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
return result;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
@ -2583,225 +2625,231 @@ public class OdsProcureOrderServiceImpl implements IOdsProcureOrderService {
|
|
|
|
|
|
|
|
|
|
@Override
|
|
|
|
|
public String addOrderCardX(List<OdsProcureOrder> orderList) {
|
|
|
|
|
String factoryCode = orderList.get(0).getFactoryCode();
|
|
|
|
|
String receiptNoCode = orderList.get(0).getReceiptNoCode();
|
|
|
|
|
//现在是传了个list标识卡集合
|
|
|
|
|
String result1="操作成功";
|
|
|
|
|
String factoryCode = orderList.get(0).getFactoryCode();
|
|
|
|
|
DynamicDataSourceContextHolder.push("ds_" + factoryCode);
|
|
|
|
|
//如果这样的话,就区分出来单子和对应的物料。然后根据集合放入暂收集合中
|
|
|
|
|
List<OdsProcureOrder> orderList1=new ArrayList<>();//
|
|
|
|
|
for (OdsProcureOrder order:
|
|
|
|
|
orderList) {
|
|
|
|
|
System.out.println(order.toString());
|
|
|
|
|
}
|
|
|
|
|
for (OdsProcureOrder order:
|
|
|
|
|
orderList) {
|
|
|
|
|
OdsProcureOrder order1= odsProcureOrderMapper.selectOdsProcureOrderCardByUserDefined1(order);
|
|
|
|
|
order.setUserDefined7(order1.getUserDefined7());//批次
|
|
|
|
|
order.setPoLine(order1.getUserDefined3());
|
|
|
|
|
order.setUnit(order1.getUnit());
|
|
|
|
|
order.setID(order1.getID());
|
|
|
|
|
if (orderList1.size()>0){
|
|
|
|
|
String tem="0";
|
|
|
|
|
for (OdsProcureOrder odsProcureOrder:orderList1){
|
|
|
|
|
if (odsProcureOrder.getID().equals(order1.getID())){
|
|
|
|
|
tem="1";//已经保存对应订单了
|
|
|
|
|
|
|
|
|
|
try {
|
|
|
|
|
String receiptNoCode = orderList.get(0).getReceiptNoCode();
|
|
|
|
|
//现在是传了个list标识卡集合
|
|
|
|
|
//如果这样的话,就区分出来单子和对应的物料。然后根据集合放入暂收集合中
|
|
|
|
|
List<OdsProcureOrder> orderList1=new ArrayList<>();//
|
|
|
|
|
for (OdsProcureOrder order:
|
|
|
|
|
orderList) {
|
|
|
|
|
System.out.println(order.toString());
|
|
|
|
|
}
|
|
|
|
|
for (OdsProcureOrder order:
|
|
|
|
|
orderList) {
|
|
|
|
|
OdsProcureOrder order1= odsProcureOrderMapper.selectOdsProcureOrderCardByUserDefined1(order);
|
|
|
|
|
order.setUserDefined7(order1.getUserDefined7());//批次
|
|
|
|
|
order.setPoLine(order1.getUserDefined3());
|
|
|
|
|
order.setUnit(order1.getUnit());
|
|
|
|
|
order.setID(order1.getID());
|
|
|
|
|
if (orderList1.size()>0){
|
|
|
|
|
String tem="0";
|
|
|
|
|
for (OdsProcureOrder odsProcureOrder:orderList1){
|
|
|
|
|
if (odsProcureOrder.getID().equals(order1.getID())){
|
|
|
|
|
tem="1";//已经保存对应订单了
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
if (tem.equals("0")){
|
|
|
|
|
if (tem.equals("0")){
|
|
|
|
|
orderList1.add(order1);
|
|
|
|
|
}
|
|
|
|
|
}else {
|
|
|
|
|
orderList1.add(order1);
|
|
|
|
|
}
|
|
|
|
|
}else {
|
|
|
|
|
orderList1.add(order1);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
for (OdsProcureOrder odsProcureOrder:
|
|
|
|
|
orderList1) {
|
|
|
|
|
//单子
|
|
|
|
|
BigDecimal czNumber=new BigDecimal("0");
|
|
|
|
|
for ( OdsProcureOrder order :
|
|
|
|
|
orderList) {
|
|
|
|
|
if (order.getID().equals(odsProcureOrder.getID())){
|
|
|
|
|
czNumber=czNumber.add(order.getPlanNumber());
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
odsProcureOrder.setCzNumber(czNumber);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
List<Map> mapList = new ArrayList<>();
|
|
|
|
|
for (OdsProcureOrder order :
|
|
|
|
|
orderList1) {
|
|
|
|
|
Map paramMap=new HashMap<>();
|
|
|
|
|
paramMap.put("EBELN",order.getProcureCode());//
|
|
|
|
|
paramMap.put("EBELP",order.getUserDefined3());//行项目
|
|
|
|
|
paramMap.put("MATNR",order.getMaterialCode());//物料
|
|
|
|
|
paramMap.put("WERKS",order.getSiteCode());//工厂
|
|
|
|
|
paramMap.put("QUANTITY",order.getCzNumber());//数量
|
|
|
|
|
paramMap.put("P_LFSNR",order.getUserDefined5());//送
|
|
|
|
|
mapList.add(paramMap);
|
|
|
|
|
}
|
|
|
|
|
R result2 = remoteSapService.temporarilyCollected(mapList);
|
|
|
|
|
int code = result2.getCode();
|
|
|
|
|
if (code == 200){
|
|
|
|
|
//对应采购单的标识卡
|
|
|
|
|
for (OdsProcureOrder order1k:
|
|
|
|
|
orderList) {
|
|
|
|
|
//标识卡信息
|
|
|
|
|
//wms_raw_order_in_sn
|
|
|
|
|
WmsRawOrderInSn wmsRawOrderInSn = new WmsRawOrderInSn();
|
|
|
|
|
wmsRawOrderInSn.setRawOrderInSnId(IdUtils.fastSimpleUUID());
|
|
|
|
|
wmsRawOrderInSn.setUserDefined1("1");//1是收货,2是入库
|
|
|
|
|
wmsRawOrderInSn.setUserDefined2(order1k.getUserDefined7());//批次
|
|
|
|
|
wmsRawOrderInSn.setWhCode(order1k.getWhCode());//厂库编号
|
|
|
|
|
wmsRawOrderInSn.setWaCode(order1k.getWaCode());
|
|
|
|
|
wmsRawOrderInSn.setWlCode(order1k.getSn());//库位设置为托盘
|
|
|
|
|
wmsRawOrderInSn.setPoNo(order1k.getProcureCode());//采购单号
|
|
|
|
|
wmsRawOrderInSn.setPoLine(order1k.getUserDefined3());//行项目
|
|
|
|
|
wmsRawOrderInSn.setMaterialCode(order1k.getMaterialCode());
|
|
|
|
|
wmsRawOrderInSn.setMaterialDesc(order1k.getMaterialDesc());
|
|
|
|
|
wmsRawOrderInSn.setAmount(order1k.getPlanNumber());//实际输入数量
|
|
|
|
|
wmsRawOrderInSn.setFactoryCode(order1k.getFactoryCode());
|
|
|
|
|
wmsRawOrderInSn.setCreateBy(order1k.getCreateBy());
|
|
|
|
|
wmsRawOrderInSn.setGmtCreate(new Date());
|
|
|
|
|
wmsRawOrderInSn.setActiveFlag("1");
|
|
|
|
|
wmsRawOrderInSn.setUserDefined4(order1k.getUnit());//单位
|
|
|
|
|
wmsRawOrderInSn.setSn(order1k.getSn());//托盘号
|
|
|
|
|
wmsRawOrderInSn.setFactoryCode(order1k.getFactoryCode());
|
|
|
|
|
wmsRawOrderInSn.setUserDefined3(order1k.getID());
|
|
|
|
|
wmsRawOrderInSn.setUserDefined5(order1k.getReceiptNoCode());
|
|
|
|
|
//wmsRawOrderInSn.setd
|
|
|
|
|
wmsRawOrderInSn.setUserDefined6(order1k.getUserDefined6());//标识码绑定
|
|
|
|
|
wmsRawOrderInSnMapper.insertWmsRawOrderInSn(wmsRawOrderInSn);
|
|
|
|
|
//标识码绑定
|
|
|
|
|
if (order1k.getUserDefined6()!=null){
|
|
|
|
|
WmsLogotypeTable wmsLogotypeTable=new WmsLogotypeTable();
|
|
|
|
|
wmsLogotypeTable.setId(IdUtils.fastSimpleUUID());
|
|
|
|
|
wmsLogotypeTable.setLogotype(order1k.getUserDefined6());
|
|
|
|
|
wmsLogotypeTable.setSn(order1k.getSn());
|
|
|
|
|
wmsLogotypeTable.setActiveFlag("1");
|
|
|
|
|
wmsRawOrderInSnMapper.insertWmsLogotypeTable(wmsLogotypeTable);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
odsProcureOrderMapper.updateodsProcureOrderCard(order1k);
|
|
|
|
|
}
|
|
|
|
|
Map map = new HashMap();
|
|
|
|
|
map = (Map) result2.getData();
|
|
|
|
|
String MATERIALDOCUMENT = (String) map.get("MATERIALDOCUMENT");
|
|
|
|
|
String MATDOCUMENTYEAR = (String) map.get("MATDOCUMENTYEAR");
|
|
|
|
|
for (OdsProcureOrder odsProcureOrder:
|
|
|
|
|
orderList1) {
|
|
|
|
|
BigDecimal planNumber= odsProcureOrder.getPlanNumber();
|
|
|
|
|
;//操作数量
|
|
|
|
|
odsProcureOrder.setOrderStatus("1");
|
|
|
|
|
BigDecimal result = odsProcureOrder.getRealityNumber().add(odsProcureOrder.getCzNumber());
|
|
|
|
|
System.out.println(result);
|
|
|
|
|
if (result.compareTo(planNumber)== 0) {
|
|
|
|
|
odsProcureOrder.setOrderStatus("2");
|
|
|
|
|
}
|
|
|
|
|
odsProcureOrder.setPlanNumber(odsProcureOrder.getCzNumber());
|
|
|
|
|
odsProcureOrderMapper.updateRealityNuById(odsProcureOrder);
|
|
|
|
|
}
|
|
|
|
|
for (OdsProcureOrder odsProcureOrder:
|
|
|
|
|
orderList1) {
|
|
|
|
|
//标识卡记录已经录入,订单已经修改完成
|
|
|
|
|
OdsProcureOrder order1 = odsProcureOrderMapper.selectOdsProcureOrderByID(odsProcureOrder.getID());
|
|
|
|
|
order1.setSapTempInfor(result2.getMsg());
|
|
|
|
|
WmsRawOrderIn wmsRawOrderIn=new WmsRawOrderIn();
|
|
|
|
|
wmsRawOrderIn.setRawOrderInId(IdUtils.fastSimpleUUID());
|
|
|
|
|
wmsRawOrderIn.setFactoryCode(odsProcureOrder.getFactoryCode());
|
|
|
|
|
wmsRawOrderIn.setOrderNo(order1.getUserDefined5());//送货单
|
|
|
|
|
wmsRawOrderIn.setDnNo(receiptNoCode);
|
|
|
|
|
wmsRawOrderIn.setPoNo(odsProcureOrder.getProcureCode());
|
|
|
|
|
wmsRawOrderIn.setPoLine(odsProcureOrder.getUserDefined3());
|
|
|
|
|
wmsRawOrderIn.setMaterialCode(odsProcureOrder.getMaterialCode());
|
|
|
|
|
wmsRawOrderIn.setMaterialDesc(odsProcureOrder.getMaterialDesc());
|
|
|
|
|
wmsRawOrderIn.setRequestAmount(odsProcureOrder.getCzNumber());
|
|
|
|
|
wmsRawOrderIn.setUnit(odsProcureOrder.getUnit());
|
|
|
|
|
wmsRawOrderIn.setRequestTime(new Date());
|
|
|
|
|
wmsRawOrderIn.setOrderStatus("0");//暂收
|
|
|
|
|
wmsRawOrderIn.setActiveFlag("1");
|
|
|
|
|
wmsRawOrderIn.setSupplyCode(odsProcureOrder.getSupplierCode());
|
|
|
|
|
//wmsRawOrderIn.setUserDefined1();
|
|
|
|
|
wmsRawOrderIn.setAccountingStatus("0");//0是暂收
|
|
|
|
|
wmsRawOrderIn.setUserDefined1(MATERIALDOCUMENT);//物料凭证编号
|
|
|
|
|
wmsRawOrderIn.setUserDefined2(MATDOCUMENTYEAR);//年凭证号
|
|
|
|
|
wmsRawOrderIn.setUserDefined3(result2.getMsg());//暂收信息
|
|
|
|
|
//wmsRawOrderIn.setAccountingMessage(result2.getMsg());
|
|
|
|
|
wmsRawOrderIn.setSapFactoryCode(factoryCode);
|
|
|
|
|
wmsRawOrderIn.setCreateBy(odsProcureOrder.getCreateBy());
|
|
|
|
|
wmsRawOrderIn.setGmtCreate(new Date());
|
|
|
|
|
wmsRawOrderInMapper.insertWmsRawOrderIn(wmsRawOrderIn);
|
|
|
|
|
order1.setSapTempStatus("1");//0是失败。1是成功
|
|
|
|
|
odsProcureOrderMapper.updateOdsProcureOrder(order1);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
for (OdsProcureOrder odsProcureOrder1:orderList){
|
|
|
|
|
//收货
|
|
|
|
|
WmsOdsMateStorageNewsSn wmsOdsMateStorageNewsSn = new WmsOdsMateStorageNewsSn();
|
|
|
|
|
wmsOdsMateStorageNewsSn.setMateOrderInSnId(IdUtils.fastSimpleUUID());
|
|
|
|
|
wmsOdsMateStorageNewsSn.setWhCode(odsProcureOrder1.getWhCode());//仓库编码
|
|
|
|
|
wmsOdsMateStorageNewsSn.setWaCode(odsProcureOrder1.getWaCode());
|
|
|
|
|
wmsOdsMateStorageNewsSn.setWlCode(odsProcureOrder1.getSn());//库位编码-
|
|
|
|
|
wmsOdsMateStorageNewsSn.setMaterialCode(odsProcureOrder1.getMaterialCode());
|
|
|
|
|
wmsOdsMateStorageNewsSn.setMaterialDesc(odsProcureOrder1.getMaterialDesc());
|
|
|
|
|
wmsOdsMateStorageNewsSn.setSn(odsProcureOrder1.getSn());
|
|
|
|
|
wmsOdsMateStorageNewsSn.setAmount(odsProcureOrder1.getPlanNumber());
|
|
|
|
|
wmsOdsMateStorageNewsSn.setCreateBy(odsProcureOrder1.getCreateBy());
|
|
|
|
|
wmsOdsMateStorageNewsSn.setGmtCreate(new Date());
|
|
|
|
|
wmsOdsMateStorageNewsSn.setUserDefined2(odsProcureOrder1.getUserDefined7());//批次
|
|
|
|
|
wmsOdsMateStorageNewsSn.setUserDefined1("RK");
|
|
|
|
|
wmsOdsMateStorageNewsSn.setUserDefined3("0");//0是暂收,1是真收
|
|
|
|
|
wmsOdsMateStorageNewsSn.setFactoryCode(odsProcureOrder1.getFactoryCode());
|
|
|
|
|
wmsOdsMateStorageNewsSn.setSapFactoryCode(odsProcureOrder1.getFactoryCode());
|
|
|
|
|
wmsOdsMateStorageNewsSn.setActiveFlag("1");
|
|
|
|
|
wmsOdsMateStorageNewsSnMapper.insertWmsOdsMateStorageNewsSn(wmsOdsMateStorageNewsSn);
|
|
|
|
|
//修改库存
|
|
|
|
|
//2,修改库存---/加库存数量-/-冻结数量
|
|
|
|
|
WmsOdsEmStorageNews wmsOdsEmStorageNews = new WmsOdsEmStorageNews();
|
|
|
|
|
wmsOdsEmStorageNews.setWhCode(odsProcureOrder1.getWhCode());//仓库编码
|
|
|
|
|
wmsOdsEmStorageNews.setWlCode(odsProcureOrder1.getSn());//库位编码
|
|
|
|
|
wmsOdsEmStorageNews.setWaCode(odsProcureOrder1.getWaCode());//库位编码
|
|
|
|
|
wmsOdsEmStorageNews.setMaterialCode(odsProcureOrder1.getMaterialCode());
|
|
|
|
|
wmsOdsEmStorageNews.setUserDefined2(odsProcureOrder1.getUserDefined7());//批次
|
|
|
|
|
wmsOdsEmStorageNews.setAmount(odsProcureOrder1.getPlanNumber());
|
|
|
|
|
//添加库存--这个要有个判断有没有这个库存如果没有的话,就插入
|
|
|
|
|
WmsOdsMateStorageNews wmsOdsMateStorageNews = wmsOdsMateStorageNewsMapper.selectByWhCodeAndMate(wmsOdsEmStorageNews);
|
|
|
|
|
if (wmsOdsMateStorageNews == null) {
|
|
|
|
|
WmsOdsMateStorageNews wmsOdsMateStorageNews1 = new WmsOdsMateStorageNews();
|
|
|
|
|
wmsOdsMateStorageNews1.setStorageId(IdUtils.fastSimpleUUID());
|
|
|
|
|
wmsOdsMateStorageNews1.setWhCode(odsProcureOrder1.getWhCode());
|
|
|
|
|
wmsOdsMateStorageNews1.setWlCode(odsProcureOrder1.getSn());
|
|
|
|
|
wmsOdsMateStorageNews1.setWaCode(odsProcureOrder1.getWaCode());
|
|
|
|
|
wmsOdsMateStorageNews1.setAmount(odsProcureOrder1.getPlanNumber());
|
|
|
|
|
wmsOdsMateStorageNews1.setStorageAmount(odsProcureOrder1.getPlanNumber());
|
|
|
|
|
wmsOdsMateStorageNews1.setMaterialCode(odsProcureOrder1.getMaterialCode());
|
|
|
|
|
wmsOdsMateStorageNews1.setMaterialDesc(odsProcureOrder1.getMaterialDesc());
|
|
|
|
|
wmsOdsMateStorageNews1.setStorageType("BC");
|
|
|
|
|
wmsOdsMateStorageNews1.setCreateBy(odsProcureOrder1.getCreateBy());
|
|
|
|
|
wmsOdsMateStorageNews1.setGmtCreate(new Date());
|
|
|
|
|
wmsOdsMateStorageNews1.setActiveFlag("1");
|
|
|
|
|
wmsOdsMateStorageNews1.setFactoryCode(odsProcureOrder1.getFactoryCode());
|
|
|
|
|
wmsOdsMateStorageNews1.setSapFactoryCode(odsProcureOrder1.getFactoryCode());
|
|
|
|
|
wmsOdsMateStorageNews1.setUserDefined1(odsProcureOrder1.getUnit());//单位
|
|
|
|
|
wmsOdsMateStorageNewsMapper.insertWmsOdsMateStorageNews(wmsOdsMateStorageNews1);
|
|
|
|
|
} else {
|
|
|
|
|
wmsOdsMateStorageNewsSnMapper.updateAdd(wmsOdsEmStorageNews);
|
|
|
|
|
//单子
|
|
|
|
|
BigDecimal czNumber=new BigDecimal("0");
|
|
|
|
|
for ( OdsProcureOrder order :
|
|
|
|
|
orderList) {
|
|
|
|
|
if (order.getID().equals(odsProcureOrder.getID())){
|
|
|
|
|
czNumber=czNumber.add(order.getPlanNumber());
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
// wmsRawOrderInSnMapper.updateU1Byid(wmsRawOrderInSn);//入库
|
|
|
|
|
odsProcureOrder.setCzNumber(czNumber);
|
|
|
|
|
}
|
|
|
|
|
}else {////失败|
|
|
|
|
|
result1="暂收失败";
|
|
|
|
|
|
|
|
|
|
List<Map> mapList = new ArrayList<>();
|
|
|
|
|
for (OdsProcureOrder order :
|
|
|
|
|
orderList1) {
|
|
|
|
|
OdsProcureOrder order2 = odsProcureOrderMapper.selectOdsProcureOrderByID(order.getID());
|
|
|
|
|
order2.setSapTempInfor(result2.getMsg());
|
|
|
|
|
order2.setSapTempStatus("0");//0是失败。1是成功
|
|
|
|
|
odsProcureOrderMapper.updateOdsProcureOrder(order2);
|
|
|
|
|
Map paramMap=new HashMap<>();
|
|
|
|
|
paramMap.put("EBELN",order.getProcureCode());//
|
|
|
|
|
paramMap.put("EBELP",order.getUserDefined3());//行项目
|
|
|
|
|
paramMap.put("MATNR",order.getMaterialCode());//物料
|
|
|
|
|
paramMap.put("WERKS",order.getSiteCode());//工厂
|
|
|
|
|
paramMap.put("QUANTITY",order.getCzNumber());//数量
|
|
|
|
|
paramMap.put("P_LFSNR",order.getUserDefined5());//送
|
|
|
|
|
mapList.add(paramMap);
|
|
|
|
|
}
|
|
|
|
|
R result2 = remoteSapService.temporarilyCollected(mapList);
|
|
|
|
|
int code = result2.getCode();
|
|
|
|
|
if (code == 200){
|
|
|
|
|
//对应采购单的标识卡
|
|
|
|
|
for (OdsProcureOrder order1k:
|
|
|
|
|
orderList) {
|
|
|
|
|
//标识卡信息
|
|
|
|
|
//wms_raw_order_in_sn
|
|
|
|
|
WmsRawOrderInSn wmsRawOrderInSn = new WmsRawOrderInSn();
|
|
|
|
|
wmsRawOrderInSn.setRawOrderInSnId(IdUtils.fastSimpleUUID());
|
|
|
|
|
wmsRawOrderInSn.setUserDefined1("1");//1是收货,2是入库
|
|
|
|
|
wmsRawOrderInSn.setUserDefined2(order1k.getUserDefined7());//批次
|
|
|
|
|
wmsRawOrderInSn.setWhCode(order1k.getWhCode());//厂库编号
|
|
|
|
|
wmsRawOrderInSn.setWaCode(order1k.getWaCode());
|
|
|
|
|
wmsRawOrderInSn.setWlCode(order1k.getSn());//库位设置为托盘
|
|
|
|
|
wmsRawOrderInSn.setPoNo(order1k.getProcureCode());//采购单号
|
|
|
|
|
wmsRawOrderInSn.setPoLine(order1k.getUserDefined3());//行项目
|
|
|
|
|
wmsRawOrderInSn.setMaterialCode(order1k.getMaterialCode());
|
|
|
|
|
wmsRawOrderInSn.setMaterialDesc(order1k.getMaterialDesc());
|
|
|
|
|
wmsRawOrderInSn.setAmount(order1k.getPlanNumber());//实际输入数量
|
|
|
|
|
wmsRawOrderInSn.setFactoryCode(order1k.getFactoryCode());
|
|
|
|
|
wmsRawOrderInSn.setCreateBy(order1k.getCreateBy());
|
|
|
|
|
wmsRawOrderInSn.setGmtCreate(new Date());
|
|
|
|
|
wmsRawOrderInSn.setActiveFlag("1");
|
|
|
|
|
wmsRawOrderInSn.setUserDefined4(order1k.getUnit());//单位
|
|
|
|
|
wmsRawOrderInSn.setSn(order1k.getSn());//托盘号
|
|
|
|
|
wmsRawOrderInSn.setFactoryCode(order1k.getFactoryCode());
|
|
|
|
|
wmsRawOrderInSn.setUserDefined3(order1k.getID());
|
|
|
|
|
wmsRawOrderInSn.setUserDefined5(order1k.getReceiptNoCode());
|
|
|
|
|
//wmsRawOrderInSn.setd
|
|
|
|
|
wmsRawOrderInSn.setUserDefined6(order1k.getUserDefined6());//标识码绑定
|
|
|
|
|
wmsRawOrderInSnMapper.insertWmsRawOrderInSn(wmsRawOrderInSn);
|
|
|
|
|
//标识码绑定
|
|
|
|
|
if (order1k.getUserDefined6()!=null){
|
|
|
|
|
WmsLogotypeTable wmsLogotypeTable=new WmsLogotypeTable();
|
|
|
|
|
wmsLogotypeTable.setId(IdUtils.fastSimpleUUID());
|
|
|
|
|
wmsLogotypeTable.setLogotype(order1k.getUserDefined6());
|
|
|
|
|
wmsLogotypeTable.setSn(order1k.getSn());
|
|
|
|
|
wmsLogotypeTable.setActiveFlag("1");
|
|
|
|
|
wmsRawOrderInSnMapper.insertWmsLogotypeTable(wmsLogotypeTable);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
odsProcureOrderMapper.updateodsProcureOrderCard(order1k);
|
|
|
|
|
}
|
|
|
|
|
Map map = new HashMap();
|
|
|
|
|
map = (Map) result2.getData();
|
|
|
|
|
String MATERIALDOCUMENT = (String) map.get("MATERIALDOCUMENT");
|
|
|
|
|
String MATDOCUMENTYEAR = (String) map.get("MATDOCUMENTYEAR");
|
|
|
|
|
for (OdsProcureOrder odsProcureOrder:
|
|
|
|
|
orderList1) {
|
|
|
|
|
BigDecimal planNumber= odsProcureOrder.getPlanNumber();
|
|
|
|
|
;//操作数量
|
|
|
|
|
odsProcureOrder.setOrderStatus("1");
|
|
|
|
|
BigDecimal result = odsProcureOrder.getRealityNumber().add(odsProcureOrder.getCzNumber());
|
|
|
|
|
System.out.println(result);
|
|
|
|
|
if (result.compareTo(planNumber)== 0) {
|
|
|
|
|
odsProcureOrder.setOrderStatus("2");
|
|
|
|
|
}
|
|
|
|
|
odsProcureOrder.setPlanNumber(odsProcureOrder.getCzNumber());
|
|
|
|
|
odsProcureOrderMapper.updateRealityNuById(odsProcureOrder);
|
|
|
|
|
}
|
|
|
|
|
for (OdsProcureOrder odsProcureOrder:
|
|
|
|
|
orderList1) {
|
|
|
|
|
//标识卡记录已经录入,订单已经修改完成
|
|
|
|
|
OdsProcureOrder order1 = odsProcureOrderMapper.selectOdsProcureOrderByID(odsProcureOrder.getID());
|
|
|
|
|
order1.setSapTempInfor(result2.getMsg());
|
|
|
|
|
WmsRawOrderIn wmsRawOrderIn=new WmsRawOrderIn();
|
|
|
|
|
wmsRawOrderIn.setRawOrderInId(IdUtils.fastSimpleUUID());
|
|
|
|
|
wmsRawOrderIn.setFactoryCode(odsProcureOrder.getFactoryCode());
|
|
|
|
|
wmsRawOrderIn.setOrderNo(order1.getUserDefined5());//送货单
|
|
|
|
|
wmsRawOrderIn.setDnNo(receiptNoCode);
|
|
|
|
|
wmsRawOrderIn.setPoNo(odsProcureOrder.getProcureCode());
|
|
|
|
|
wmsRawOrderIn.setPoLine(odsProcureOrder.getUserDefined3());
|
|
|
|
|
wmsRawOrderIn.setMaterialCode(odsProcureOrder.getMaterialCode());
|
|
|
|
|
wmsRawOrderIn.setMaterialDesc(odsProcureOrder.getMaterialDesc());
|
|
|
|
|
wmsRawOrderIn.setRequestAmount(odsProcureOrder.getCzNumber());
|
|
|
|
|
wmsRawOrderIn.setUnit(odsProcureOrder.getUnit());
|
|
|
|
|
wmsRawOrderIn.setRequestTime(new Date());
|
|
|
|
|
wmsRawOrderIn.setOrderStatus("0");//暂收
|
|
|
|
|
wmsRawOrderIn.setActiveFlag("1");
|
|
|
|
|
wmsRawOrderIn.setSupplyCode(odsProcureOrder.getSupplierCode());
|
|
|
|
|
//wmsRawOrderIn.setUserDefined1();
|
|
|
|
|
wmsRawOrderIn.setAccountingStatus("0");//0是暂收
|
|
|
|
|
wmsRawOrderIn.setUserDefined1(MATERIALDOCUMENT);//物料凭证编号
|
|
|
|
|
wmsRawOrderIn.setUserDefined2(MATDOCUMENTYEAR);//年凭证号
|
|
|
|
|
wmsRawOrderIn.setUserDefined3(result2.getMsg());//暂收信息
|
|
|
|
|
//wmsRawOrderIn.setAccountingMessage(result2.getMsg());
|
|
|
|
|
wmsRawOrderIn.setSapFactoryCode(factoryCode);
|
|
|
|
|
wmsRawOrderIn.setCreateBy(odsProcureOrder.getCreateBy());
|
|
|
|
|
wmsRawOrderIn.setGmtCreate(new Date());
|
|
|
|
|
wmsRawOrderInMapper.insertWmsRawOrderIn(wmsRawOrderIn);
|
|
|
|
|
order1.setSapTempStatus("1");//0是失败。1是成功
|
|
|
|
|
odsProcureOrderMapper.updateOdsProcureOrder(order1);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
for (OdsProcureOrder odsProcureOrder1:orderList){
|
|
|
|
|
//收货
|
|
|
|
|
WmsOdsMateStorageNewsSn wmsOdsMateStorageNewsSn = new WmsOdsMateStorageNewsSn();
|
|
|
|
|
wmsOdsMateStorageNewsSn.setMateOrderInSnId(IdUtils.fastSimpleUUID());
|
|
|
|
|
wmsOdsMateStorageNewsSn.setWhCode(odsProcureOrder1.getWhCode());//仓库编码
|
|
|
|
|
wmsOdsMateStorageNewsSn.setWaCode(odsProcureOrder1.getWaCode());
|
|
|
|
|
wmsOdsMateStorageNewsSn.setWlCode(odsProcureOrder1.getSn());//库位编码-
|
|
|
|
|
wmsOdsMateStorageNewsSn.setMaterialCode(odsProcureOrder1.getMaterialCode());
|
|
|
|
|
wmsOdsMateStorageNewsSn.setMaterialDesc(odsProcureOrder1.getMaterialDesc());
|
|
|
|
|
wmsOdsMateStorageNewsSn.setSn(odsProcureOrder1.getSn());
|
|
|
|
|
wmsOdsMateStorageNewsSn.setAmount(odsProcureOrder1.getPlanNumber());
|
|
|
|
|
wmsOdsMateStorageNewsSn.setCreateBy(odsProcureOrder1.getCreateBy());
|
|
|
|
|
wmsOdsMateStorageNewsSn.setGmtCreate(new Date());
|
|
|
|
|
wmsOdsMateStorageNewsSn.setUserDefined2(odsProcureOrder1.getUserDefined7());//批次
|
|
|
|
|
wmsOdsMateStorageNewsSn.setUserDefined1("RK");
|
|
|
|
|
wmsOdsMateStorageNewsSn.setUserDefined3("0");//0是暂收,1是真收
|
|
|
|
|
wmsOdsMateStorageNewsSn.setFactoryCode(odsProcureOrder1.getFactoryCode());
|
|
|
|
|
wmsOdsMateStorageNewsSn.setSapFactoryCode(odsProcureOrder1.getFactoryCode());
|
|
|
|
|
wmsOdsMateStorageNewsSn.setActiveFlag("1");
|
|
|
|
|
wmsOdsMateStorageNewsSnMapper.insertWmsOdsMateStorageNewsSn(wmsOdsMateStorageNewsSn);
|
|
|
|
|
//修改库存
|
|
|
|
|
//2,修改库存---/加库存数量-/-冻结数量
|
|
|
|
|
WmsOdsEmStorageNews wmsOdsEmStorageNews = new WmsOdsEmStorageNews();
|
|
|
|
|
wmsOdsEmStorageNews.setWhCode(odsProcureOrder1.getWhCode());//仓库编码
|
|
|
|
|
wmsOdsEmStorageNews.setWlCode(odsProcureOrder1.getSn());//库位编码
|
|
|
|
|
wmsOdsEmStorageNews.setWaCode(odsProcureOrder1.getWaCode());//库位编码
|
|
|
|
|
wmsOdsEmStorageNews.setMaterialCode(odsProcureOrder1.getMaterialCode());
|
|
|
|
|
wmsOdsEmStorageNews.setUserDefined2(odsProcureOrder1.getUserDefined7());//批次
|
|
|
|
|
wmsOdsEmStorageNews.setAmount(odsProcureOrder1.getPlanNumber());
|
|
|
|
|
//添加库存--这个要有个判断有没有这个库存如果没有的话,就插入
|
|
|
|
|
WmsOdsMateStorageNews wmsOdsMateStorageNews = wmsOdsMateStorageNewsMapper.selectByWhCodeAndMate(wmsOdsEmStorageNews);
|
|
|
|
|
if (wmsOdsMateStorageNews == null) {
|
|
|
|
|
WmsOdsMateStorageNews wmsOdsMateStorageNews1 = new WmsOdsMateStorageNews();
|
|
|
|
|
wmsOdsMateStorageNews1.setStorageId(IdUtils.fastSimpleUUID());
|
|
|
|
|
wmsOdsMateStorageNews1.setWhCode(odsProcureOrder1.getWhCode());
|
|
|
|
|
wmsOdsMateStorageNews1.setWlCode(odsProcureOrder1.getSn());
|
|
|
|
|
wmsOdsMateStorageNews1.setWaCode(odsProcureOrder1.getWaCode());
|
|
|
|
|
wmsOdsMateStorageNews1.setAmount(odsProcureOrder1.getPlanNumber());
|
|
|
|
|
wmsOdsMateStorageNews1.setStorageAmount(odsProcureOrder1.getPlanNumber());
|
|
|
|
|
wmsOdsMateStorageNews1.setMaterialCode(odsProcureOrder1.getMaterialCode());
|
|
|
|
|
wmsOdsMateStorageNews1.setMaterialDesc(odsProcureOrder1.getMaterialDesc());
|
|
|
|
|
wmsOdsMateStorageNews1.setStorageType("BC");
|
|
|
|
|
wmsOdsMateStorageNews1.setCreateBy(odsProcureOrder1.getCreateBy());
|
|
|
|
|
wmsOdsMateStorageNews1.setGmtCreate(new Date());
|
|
|
|
|
wmsOdsMateStorageNews1.setActiveFlag("1");
|
|
|
|
|
wmsOdsMateStorageNews1.setFactoryCode(odsProcureOrder1.getFactoryCode());
|
|
|
|
|
wmsOdsMateStorageNews1.setSapFactoryCode(odsProcureOrder1.getFactoryCode());
|
|
|
|
|
wmsOdsMateStorageNews1.setUserDefined1(odsProcureOrder1.getUnit());//单位
|
|
|
|
|
wmsOdsMateStorageNewsMapper.insertWmsOdsMateStorageNews(wmsOdsMateStorageNews1);
|
|
|
|
|
} else {
|
|
|
|
|
wmsOdsMateStorageNewsSnMapper.updateAdd(wmsOdsEmStorageNews);
|
|
|
|
|
}
|
|
|
|
|
// wmsRawOrderInSnMapper.updateU1Byid(wmsRawOrderInSn);//入库
|
|
|
|
|
}
|
|
|
|
|
}else {////失败|
|
|
|
|
|
result1="暂收失败";
|
|
|
|
|
for (OdsProcureOrder order :
|
|
|
|
|
orderList1) {
|
|
|
|
|
OdsProcureOrder order2 = odsProcureOrderMapper.selectOdsProcureOrderByID(order.getID());
|
|
|
|
|
order2.setSapTempInfor(result2.getMsg());
|
|
|
|
|
order2.setSapTempStatus("0");//0是失败。1是成功
|
|
|
|
|
odsProcureOrderMapper.updateOdsProcureOrder(order2);
|
|
|
|
|
}
|
|
|
|
|
return result1;
|
|
|
|
|
}
|
|
|
|
|
return result1;
|
|
|
|
|
}finally {
|
|
|
|
|
DynamicDataSourceContextHolder.poll();
|
|
|
|
|
}
|
|
|
|
|
return result1;
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@Override
|
|
|
|
|