106冲销修复

master
FCD 4 months ago
parent b0da4ad06f
commit 2a20036a6c

@ -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 {
// 表为空的处理

@ -389,6 +389,11 @@ public class WmsRawOrderIn extends BaseEntity {
* **/
private String deliveryTimeEnd;
/**
* 106105
* **/
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)

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

@ -68,6 +68,7 @@
<result property="checkManName" column="checkManName"/>
<result property="accountingtime" column="accountingtime"/>
<result property="checkNo" column="checkNo"/>
<result property="oldCode105" column="old_code105"/>
</resultMap>
<sql id="selectWmsRawOrderInVo">
@ -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 @@
<if test="lastModifiedBy != null">last_modified_by = #{lastModifiedBy},</if>
<if test="gmtModified != null">gmt_modified = #{gmtModified},</if>
<if test="activeFlag != null">active_flag = #{activeFlag},</if>
<if test="oldCode105 != null">old_code105 = #{oldCode105},</if>
</trim>
where raw_order_in_id = #{rawOrderInId}
</update>

Loading…
Cancel
Save