diff --git a/op-modules/op-sap/src/main/java/com/op/sap/service/impl/SapItemSyncImpl.java b/op-modules/op-sap/src/main/java/com/op/sap/service/impl/SapItemSyncImpl.java
index 06a970a7a..6f4b867a5 100644
--- a/op-modules/op-sap/src/main/java/com/op/sap/service/impl/SapItemSyncImpl.java
+++ b/op-modules/op-sap/src/main/java/com/op/sap/service/impl/SapItemSyncImpl.java
@@ -1096,8 +1096,6 @@ public class SapItemSyncImpl implements SapItemSyncService {
String bprme = new String(); // 订单价格单位(采购)
String RETCODE= new String();
String MESSAGE= new String();
- String MATERIALDOCUMENT = new String();
- String MATDOCUMENTYEAR= new String();
String tem="0";
for (int i = 0; i < maraTable.getNumRows(); i++) {
maraTable.setRow(i);
@@ -1136,37 +1134,31 @@ public class SapItemSyncImpl implements SapItemSyncService {
}else {
continue;
}
- JCoFunction func2 = repository.getFunction("ZMES_106_MIGO");//105冲销--冲销
+ JCoFunction func2 = repository.getFunction("ZMES_MBST");//105冲销--冲销
if (func2 == null) {
throw new RuntimeException("Function does not exist in SAP");
}
- log.info("106参数-------" + mapList.toString());
- JCoTable L_ITEM = func2.getTableParameterList().getTable("L_ITEM");
- L_ITEM.appendRow();
- L_ITEM.setValue("LFBJA",map.get("LFBJA"));//参考凭证会计年度
- L_ITEM.setValue("LFBNR",map.get("LFBNR"));//参考凭证的凭证号
- L_ITEM.setValue("LFPOS",zeile);//参考凭证项目
- L_ITEM.setValue("EBELN", ebeln);//采购订单编号 采购凭证号
- L_ITEM.setValue("EBELP",map.get("ebelp") );//采购凭证的项目编号
- L_ITEM.setValue("MATNR", matnr);//物料号
- L_ITEM.setValue("WERKS", werks);//工厂
- L_ITEM.setValue("LGORT", "0001");//库存地点
- L_ITEM.setValue("QUANTITY",menge);//数量
- System.out.println(L_ITEM);
+ //凭证
+ func2.getImportParameterList().setValue("P_BELNR", map.get("LFBNR"));
+
+ //会计年度
+ func2.getImportParameterList().setValue("P_GJAHR", mjahr);
+
+ //冲销日期
+ func2.getImportParameterList().setValue("P_BUDAT", DateUtils.parseDateToStr("yyyyMMdd", new Date()));
+
func2.execute(dest);//执行调用函数
RETCODE = func2.getExportParameterList().getString("RETCODE");
- MESSAGE = func2.getExportParameterList().getString("L_MSG");
- MATERIALDOCUMENT = func2.getExportParameterList().getString("MATERIALDOCUMENT");
- MATDOCUMENTYEAR = func2.getExportParameterList().getString("MATDOCUMENTYEAR");
- log.info("106冲销结果结果-----" + RETCODE+"/" +MESSAGE+"/" +MATERIALDOCUMENT+"/" +MATDOCUMENTYEAR);
+ MESSAGE = func2.getExportParameterList().getString("RETMSG");
+
+ log.info("106冲销结果结果-----" + RETCODE+"/" +MESSAGE+"/" );
}
if((Constants.FAIL).equals(Integer.parseInt(RETCODE))){
return R.fail(MESSAGE);
}
Map Resmap = new HashMap();
- Resmap.put("MATERIALDOCUMENT", MATERIALDOCUMENT);
- Resmap.put("MATDOCUMENTYEAR", MATDOCUMENTYEAR);
+ Resmap.put("code106", MESSAGE);
return R.ok(Resmap, MESSAGE);
} else {
// 表为空的处理
diff --git a/op-modules/op-wms/src/main/java/com/op/wms/domain/WmsRawOrderIn.java b/op-modules/op-wms/src/main/java/com/op/wms/domain/WmsRawOrderIn.java
index 550a1da4f..ea726b1ea 100644
--- a/op-modules/op-wms/src/main/java/com/op/wms/domain/WmsRawOrderIn.java
+++ b/op-modules/op-wms/src/main/java/com/op/wms/domain/WmsRawOrderIn.java
@@ -389,6 +389,11 @@ public class WmsRawOrderIn extends BaseEntity {
* **/
private String deliveryTimeEnd;
+ /**
+ * 106冲销后,保留的105凭证
+ * **/
+ private String oldCode105;
+
public String getCheckNo() {
return checkNo;
}
@@ -917,6 +922,14 @@ public class WmsRawOrderIn extends BaseEntity {
return activeFlag;
}
+ public String getOldCode105() {
+ return oldCode105;
+ }
+
+ public void setOldCode105(String oldCode105) {
+ this.oldCode105 = oldCode105;
+ }
+
@Override
public String toString() {
return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE)
diff --git a/op-modules/op-wms/src/main/java/com/op/wms/service/impl/OdsProcureOrderServiceImpl.java b/op-modules/op-wms/src/main/java/com/op/wms/service/impl/OdsProcureOrderServiceImpl.java
index 4d392aab9..5dd781995 100644
--- a/op-modules/op-wms/src/main/java/com/op/wms/service/impl/OdsProcureOrderServiceImpl.java
+++ b/op-modules/op-wms/src/main/java/com/op/wms/service/impl/OdsProcureOrderServiceImpl.java
@@ -1787,6 +1787,7 @@ public class OdsProcureOrderServiceImpl implements IOdsProcureOrderService {
order.setUserDefined9("");
order.setUserDefined10("3");//失败
odsProcureOutOrderMapper.updateWMSOdsProcureReturnOrderByids(order, orderList2);
+ throw new RuntimeException("过账失败:"+msg);
}
}
}
@@ -3315,6 +3316,7 @@ public class OdsProcureOrderServiceImpl implements IOdsProcureOrderService {
}
/**
* 105冲销
+ * (实际是要106冲销)
* @param odsProcureOrders
* @return
*/
@@ -3342,8 +3344,7 @@ public class OdsProcureOrderServiceImpl implements IOdsProcureOrderService {
if (result2.getCode()==200){
Map map = new HashMap();
map = (Map) result2.getData();
- String MATERIALDOCUMENT = (String) map.get("MATERIALDOCUMENT");
- String MATDOCUMENTYEAR = (String) map.get("MATDOCUMENTYEAR");
+ String code106 = (String) map.get("code106");
//成功了--成功了,根据
WmsRawOrderInSn wmsRawOrderInSn=new WmsRawOrderInSn();
wmsRawOrderInSn.setUserDefined5(wmsRawOrderIn.getDnNo());
@@ -3359,8 +3360,10 @@ public class OdsProcureOrderServiceImpl implements IOdsProcureOrderService {
wmsRawOrderInNewsSn.setWhCode(wmsRawOrderInSn1.getWhCode());
wmsRawOrderInNewsSn.setWlCode(wmsRawOrderInSn1.getWlCode());
wmsRawOrderInNewsSn.setUserDefined3("0");
+ //更新包材库存明细,变为暂收
wmsOdsMateStorageNewsSnMapper.updateWmsOdsMateStorageNewsSnTWM(wmsRawOrderInNewsSn);
wmsRawOrderInSn1.setUserDefined1("1");
+ //更新收货明细状态,变为暂收
wmsRawOrderInSnMapper.updateWmsRawOrderInSn(wmsRawOrderInSn1);
WmsOdsMateStorageNews wmsOdsMateStorageNews=new WmsOdsMateStorageNews();
wmsOdsMateStorageNews.setMaterialCode(wmsRawOrderInSn1.getMaterialCode());
@@ -3368,15 +3371,28 @@ public class OdsProcureOrderServiceImpl implements IOdsProcureOrderService {
wmsOdsMateStorageNews.setWlCode(wmsRawOrderInSn1.getWlCode());
wmsOdsMateStorageNews.setWhCode(wmsRawOrderInSn1.getWhCode());
wmsOdsMateStorageNews.setStorageAmount(wmsRawOrderInSn1.getAmount());
+ //更新库存数量
wmsOdsMateStorageNewsMapper.updateWmsOdsMateStorageNewsUpdateStorageAmountFC(wmsOdsMateStorageNews);
}
wmsRawOrderIn.setOrderStatus("0");
wmsRawOrderIn.setAccountingTime(new Date());
- wmsRawOrderIn.setUserDefined10(result2.getMsg());
-// wmsRawOrderIn.setUserDefined4(MATERIALDOCUMENT);
-// wmsRawOrderIn.setUserDefined5(MATDOCUMENTYEAR);
+ //106冲销凭证
+ wmsRawOrderIn.setUserDefined10(code106);
+ //记录旧的105凭证
+ if (StringUtils.isNotEmpty(wmsRawOrderIn.getOldCode105())){
+ wmsRawOrderIn.setOldCode105(wmsRawOrderIn.getOldCode105() + ',' + wmsRawOrderIn.getUserDefined4());
+ }else {
+ wmsRawOrderIn.setOldCode105(wmsRawOrderIn.getUserDefined4());
+ }
+
+ //去除物料凭证
+ wmsRawOrderIn.setUserDefined4("");
+ wmsRawOrderIn.setUserDefined5("");
+ //更新库存凭证
wmsRawOrderInMapper.updateWmsRawOrderIn(wmsRawOrderIn);
+ //
+
}else {
//失败了
wmsRawOrderIn.setAccountingTime(new Date());
@@ -3971,6 +3987,7 @@ public class OdsProcureOrderServiceImpl implements IOdsProcureOrderService {
order.setUserDefined9("");
order.setUserDefined10("3");//失败
odsProcureOutOrderMapper.updateWMSOdsProcureReturnOrderByids(order, orderList2);
+ throw new RuntimeException("过账失败:"+msg);
}
}
}
diff --git a/op-modules/op-wms/src/main/resources/mapper/wms/WmsRawOrderInMapper.xml b/op-modules/op-wms/src/main/resources/mapper/wms/WmsRawOrderInMapper.xml
index 9b22b29a1..1e55585bf 100644
--- a/op-modules/op-wms/src/main/resources/mapper/wms/WmsRawOrderInMapper.xml
+++ b/op-modules/op-wms/src/main/resources/mapper/wms/WmsRawOrderInMapper.xml
@@ -68,6 +68,7 @@
+
@@ -322,7 +323,8 @@
wms_raw_order_in.gmt_modified,
wms_raw_order_in_sn.user_defined2 incomeBatchNo,
ods_procure_order.ID kem,
- wms_raw_order_in.active_flag
+ wms_raw_order_in.active_flag,
+ wms_raw_order_in.old_code105
FROM
wms_raw_order_in
LEFT JOIN wms_raw_order_in_sn ON wms_raw_order_in.dn_no=wms_raw_order_in_sn.user_defined5 AND wms_raw_order_in_sn.po_no=wms_raw_order_in.po_no
@@ -497,6 +499,7 @@
last_modified_by = #{lastModifiedBy},
gmt_modified = #{gmtModified},
active_flag = #{activeFlag},
+ old_code105 = #{oldCode105},
where raw_order_in_id = #{rawOrderInId}