wms105过账bug

master
mengjiao 9 months ago
parent 430dec322b
commit 6ace161a53

@ -727,6 +727,7 @@ public class SapItemSyncImpl implements SapItemSyncService {
String MESSAGE= new String(); String MESSAGE= new String();
String MATERIALDOCUMENT = new String(); String MATERIALDOCUMENT = new String();
String MATDOCUMENTYEAR= new String(); String MATDOCUMENTYEAR= new String();
String tem="0";
for (int i = 0; i < maraTable.getNumRows(); i++) { for (int i = 0; i < maraTable.getNumRows(); i++) {
mblnr = maraTable.getString("MBLNR"); // 物料凭证编号 mblnr = maraTable.getString("MBLNR"); // 物料凭证编号
mjahr = maraTable.getString("MJAHR"); // 物料凭证年度 mjahr = maraTable.getString("MJAHR"); // 物料凭证年度
@ -757,6 +758,12 @@ public class SapItemSyncImpl implements SapItemSyncService {
System.out.println("条目单位: " + erfme); System.out.println("条目单位: " + erfme);
System.out.println("采购订单价格单位的数量: " + bpmng); System.out.println("采购订单价格单位的数量: " + bpmng);
System.out.println("订单价格单位(采购): " + bprme); System.out.println("订单价格单位(采购): " + bprme);
//需要做判断
if (map.get("poNo").equals(ebeln)&&map.get("S_MATNR").equals(matnr)){//需要判断采购单和物料
tem="1";
}else {
continue;
}
JCoFunction func2 = repository.getFunction("ZMES_105_MIGO"); JCoFunction func2 = repository.getFunction("ZMES_105_MIGO");
if (func2 == null) { if (func2 == null) {
throw new RuntimeException("Function does not exist in SAP"); throw new RuntimeException("Function does not exist in SAP");

@ -341,6 +341,24 @@ public class WmsRawOrderIn extends BaseEntity {
private String activeFlag; private String activeFlag;
private String incomeBatchNo; private String incomeBatchNo;
private String kem;
public String getKem() {
return kem;
}
public void setKem(String kem) {
this.kem = kem;
}
public String getIncomeBatchNo() {
return incomeBatchNo;
}
public void setIncomeBatchNo(String incomeBatchNo) {
this.incomeBatchNo = incomeBatchNo;
}
public void setRawOrderInId(String rawOrderInId) { public void setRawOrderInId(String rawOrderInId) {
this.rawOrderInId = rawOrderInId; this.rawOrderInId = rawOrderInId;
} }

@ -102,4 +102,5 @@ public interface OdsProcureOrderMapper {
List<OdsProcureOrder> getIdCardListTH(OdsProcureOrder order); List<OdsProcureOrder> getIdCardListTH(OdsProcureOrder order);
void deleteBatchPallet(@Param("list")List<OdsProcureOrder> dtos0);
} }

@ -1175,7 +1175,51 @@ public class OdsProcureOrderServiceImpl implements IOdsProcureOrderService {
odsProcureOrderMapper.addBatchPallet(dtos); odsProcureOrderMapper.addBatchPallet(dtos);
} }
}else{ }else{
dtos.addAll(dtos0); odsProcureOrderMapper.deleteBatchPallet(dtos0);
//说明生成过标识卡--那就删去重新生成
OdsProcureOrder pw = new OdsProcureOrder();
int i = 1;
String palletNum = baseProductAttacheds.get(0).getPalletNum();
Date nowDate = DateUtils.getNowDate();
if(palletNum!=null){
BigDecimal pall = order.getPlanNumber();
BigDecimal pn = new BigDecimal(palletNum);
while(pall.compareTo(BigDecimal.ZERO)>0){
pw = new OdsProcureOrder();
pw.setSiteCode(order.getSiteCode());
pw.setProcureCode(order.getProcureCode());
pw.setUserDefined3(order.getUserDefined3());//行项目
pw.setMaterialCode(order.getMaterialCode());
pw.setMaterialDesc(order.getMaterialDesc());
pw.setPlanNumber(pn);
pw.setSupplierCode(order.getSupplierCode());
pw.setSupplierName(order.getSupplierName());
pw.setUserDefined8(order.getUserDefined8());
pw.setUserDefined7(order.getUserDefined7());
pw.setUserDefined10("0");//标识卡状态0是未收货的
pw.setUserDefined11(order.getUserDefined11());
pw.setUserDefined4(odsProcureOrder.getID());
pw.setUnit(order.getUnit());
if(pall.compareTo(pn)<0) {//最后一托盘
pw.setPlanNumber(pall);
}else{
pw.setPlanNumber(pn);
}
pw.setCardNum(String.valueOf(i++));
String dateString = pw.getUserDefined11().replace("-", "");
pw.setUserDefined1(pw.getProcureCode()+"-"+pw.getUserDefined3()+"-"+pw.getUserDefined8()+"-"+dateString+"-"+odsProcureOrder.getID()+"-"+pw.getCardNum());//采购单+行项目+类型+日期+板次
pw.setCreateTime(nowDate);
pw.setActive("1");
dtos.add(pw);
pall = pall.subtract(pn);
}
}
if(!CollectionUtils.isEmpty(dtos)){
odsProcureOrderMapper.addBatchPallet(dtos);
}
} }
for (OdsProcureOrder order1: for (OdsProcureOrder order1:
dtos ) { dtos ) {
@ -1422,60 +1466,68 @@ public class OdsProcureOrderServiceImpl implements IOdsProcureOrderService {
@Override @Override
@DS("#header.poolName") @DS("#header.poolName")
public String sap105temporarilyCollected(List<OdsProcureOrder> odsProcureOrders) { public String sap105temporarilyCollected(List<OdsProcureOrder> odsProcureOrders) {
OdsProcureOrder odsProcureOrder = odsProcureOrders.get(0); String result="操作完成";
WmsRawOrderIn wmsRawOrderIn= wmsRawOrderInMapper.selectWmsRawOrderInByRawOrderInIdTWO(odsProcureOrder.getID()); for (OdsProcureOrder order: odsProcureOrders){
Map paramMap=new HashMap<>(); OdsProcureOrder odsProcureOrder = order;
List<Map> mapList = new ArrayList<>(); WmsRawOrderIn wmsRawOrderIn= wmsRawOrderInMapper.selectWmsRawOrderInByRawOrderInIdTWO(odsProcureOrder.getID());
paramMap.put("S_MBLNR",wmsRawOrderIn.getUserDefined1()); //这个地方
paramMap.put("S_MJAHR",wmsRawOrderIn.getUserDefined2()); Map paramMap=new HashMap<>();
paramMap.put("S_MATNR",wmsRawOrderIn.getMaterialCode()); List<Map> mapList = new ArrayList<>();
paramMap.put("incomeBatchNo",wmsRawOrderIn.getReturnName()); //批次 paramMap.put("S_MBLNR",wmsRawOrderIn.getUserDefined1());
paramMap.put("ebelp",wmsRawOrderIn.getPoLine()); paramMap.put("S_MJAHR",wmsRawOrderIn.getUserDefined2());
mapList.add(paramMap); paramMap.put("S_MATNR",wmsRawOrderIn.getMaterialCode());
R result2 = remoteSapService.sap105temporarilyCollected(mapList); paramMap.put("incomeBatchNo",wmsRawOrderIn.getIncomeBatchNo()); //批次
if (result2.getCode()==200){ paramMap.put("ebelp",wmsRawOrderIn.getPoLine());
Map map = new HashMap(); paramMap.put("poNo",wmsRawOrderIn.getPoNo());
map = (Map) result2.getData(); mapList.add(paramMap);
String MATERIALDOCUMENT = (String) map.get("MATERIALDOCUMENT"); R result2 = remoteSapService.sap105temporarilyCollected(mapList);
String MATDOCUMENTYEAR = (String) map.get("MATDOCUMENTYEAR"); if (result2.getCode()==200){
//成功了--成功了,根据 Map map = new HashMap();
WmsRawOrderInSn wmsRawOrderInSn=new WmsRawOrderInSn(); map = (Map) result2.getData();
wmsRawOrderInSn.setUserDefined5(wmsRawOrderIn.getDnNo()); String MATERIALDOCUMENT = (String) map.get("MATERIALDOCUMENT");
wmsRawOrderInSn.setUserDefined1("1");//暂收 String MATDOCUMENTYEAR = (String) map.get("MATDOCUMENTYEAR");
List<WmsRawOrderInSn> wmsRawOrderInSnList= wmsRawOrderInSnMapper.selectWmsRawOrderInSnList(wmsRawOrderInSn); //成功了--成功了,根据
for (WmsRawOrderInSn wmsRawOrderInSn1: WmsRawOrderInSn wmsRawOrderInSn=new WmsRawOrderInSn();
wmsRawOrderInSnList) { wmsRawOrderInSn.setUserDefined5(wmsRawOrderIn.getDnNo());
WmsOdsMateStorageNewsSn wmsRawOrderInNewsSn=new WmsOdsMateStorageNewsSn(); wmsRawOrderInSn.setUserDefined1("1");//暂收
wmsRawOrderInNewsSn.setMaterialCode(wmsRawOrderInSn1.getMaterialCode());
wmsRawOrderInNewsSn.setWaCode(wmsRawOrderInSn1.getWaCode()); wmsRawOrderInSn.setUserDefined3(wmsRawOrderIn.getKem());
wmsRawOrderInNewsSn.setWhCode(wmsRawOrderInSn1.getWhCode()); List<WmsRawOrderInSn> wmsRawOrderInSnList= wmsRawOrderInSnMapper.selectWmsRawOrderInSnList(wmsRawOrderInSn);
wmsRawOrderInNewsSn.setWlCode(wmsRawOrderInSn1.getWlCode()); for (WmsRawOrderInSn wmsRawOrderInSn1:
wmsRawOrderInNewsSn.setUserDefined3("1"); wmsRawOrderInSnList) {
wmsOdsMateStorageNewsSnMapper.updateWmsOdsMateStorageNewsSn(wmsRawOrderInNewsSn); WmsOdsMateStorageNewsSn wmsRawOrderInNewsSn=new WmsOdsMateStorageNewsSn();
wmsRawOrderInSn1.setUserDefined1("2"); wmsRawOrderInNewsSn.setMaterialCode(wmsRawOrderInSn1.getMaterialCode());
wmsRawOrderInSnMapper.updateWmsRawOrderInSn(wmsRawOrderInSn1); wmsRawOrderInNewsSn.setWaCode(wmsRawOrderInSn1.getWaCode());
WmsOdsMateStorageNews wmsOdsMateStorageNews=new WmsOdsMateStorageNews(); wmsRawOrderInNewsSn.setWhCode(wmsRawOrderInSn1.getWhCode());
wmsOdsMateStorageNews.setMaterialCode(wmsRawOrderInSn1.getMaterialCode()); wmsRawOrderInNewsSn.setWlCode(wmsRawOrderInSn1.getWlCode());
wmsOdsMateStorageNews.setWaCode(wmsRawOrderInSn1.getWaCode()); wmsRawOrderInNewsSn.setUserDefined3("1");
wmsOdsMateStorageNews.setWlCode(wmsRawOrderInSn1.getWlCode()); wmsOdsMateStorageNewsSnMapper.updateWmsOdsMateStorageNewsSn(wmsRawOrderInNewsSn);
wmsOdsMateStorageNews.setWhCode(wmsRawOrderInSn1.getWhCode()); wmsRawOrderInSn1.setUserDefined1("2");
wmsOdsMateStorageNews.setStorageAmount(wmsRawOrderInSn1.getAmount()); wmsRawOrderInSnMapper.updateWmsRawOrderInSn(wmsRawOrderInSn1);
wmsOdsMateStorageNewsMapper.updateWmsOdsMateStorageNewsUpdateStorageAmount(wmsOdsMateStorageNews); WmsOdsMateStorageNews wmsOdsMateStorageNews=new WmsOdsMateStorageNews();
wmsOdsMateStorageNews.setMaterialCode(wmsRawOrderInSn1.getMaterialCode());
wmsOdsMateStorageNews.setWaCode(wmsRawOrderInSn1.getWaCode());
wmsOdsMateStorageNews.setWlCode(wmsRawOrderInSn1.getWlCode());
wmsOdsMateStorageNews.setWhCode(wmsRawOrderInSn1.getWhCode());
wmsOdsMateStorageNews.setStorageAmount(wmsRawOrderInSn1.getAmount());
wmsOdsMateStorageNewsMapper.updateWmsOdsMateStorageNewsUpdateStorageAmount(wmsOdsMateStorageNews);
}
wmsRawOrderIn.setOrderStatus("1");
wmsRawOrderIn.setAccountingTime(new Date());
wmsRawOrderIn.setAccountingMessage(result2.getMsg());
wmsRawOrderIn.setUserDefined4(MATERIALDOCUMENT);
wmsRawOrderIn.setUserDefined5(MATDOCUMENTYEAR);
wmsRawOrderInMapper.updateWmsRawOrderIn(wmsRawOrderIn);
}else {
//失败了
wmsRawOrderIn.setAccountingTime(new Date());
wmsRawOrderIn.setAccountingMessage(result2.getMsg());
wmsRawOrderInMapper.updateWmsRawOrderIn(wmsRawOrderIn);
} }
wmsRawOrderIn.setOrderStatus("1");
wmsRawOrderIn.setAccountingTime(new Date());
wmsRawOrderIn.setAccountingMessage(result2.getMsg());
wmsRawOrderIn.setUserDefined4(MATERIALDOCUMENT);
wmsRawOrderIn.setUserDefined5(MATDOCUMENTYEAR);
wmsRawOrderInMapper.updateWmsRawOrderIn(wmsRawOrderIn);
return result2.getMsg();
}else {
//失败了
wmsRawOrderIn.setAccountingTime(new Date());
wmsRawOrderIn.setAccountingMessage(result2.getMsg());
wmsRawOrderInMapper.updateWmsRawOrderIn(wmsRawOrderIn);
return result2.getMsg();
} }
return result;
} }
@Override @Override

@ -750,5 +750,11 @@
where User_Defined4=#{storageId} and User_Defined8='2' where User_Defined4=#{storageId} and User_Defined8='2'
</select> </select>
<delete id="deleteBatchPallet" >
delete from ods_procure_order_card where ID in
<foreach item="list" collection="odsProcureOrder" open="(" separator="," close=")">
#{odsProcureOrder.ID}
</foreach>
</delete>
</mapper> </mapper>

@ -54,7 +54,7 @@
<if test="waCode != null and waCode != ''">and wa_code = #{waCode}</if> <if test="waCode != null and waCode != ''">and wa_code = #{waCode}</if>
<if test="storageType != null and storageType != ''">and storage_type = #{storageType}</if> <if test="storageType != null and storageType != ''">and storage_type = #{storageType}</if>
<if test="wlCode != null and wlCode != ''">and wl_code = #{wlCode}</if> <if test="wlCode != null and wlCode != ''">and wl_code = #{wlCode}</if>
<if test="materialCode != null and materialCode != ''">and material_code = #{materialCode}</if> <if test="materialCode != null and materialCode != ''">and material_code like concat('%', #{materialCode}, '%')</if>
<if test="materialDesc != null and materialDesc != ''">and material_desc = #{materialDesc}</if> <if test="materialDesc != null and materialDesc != ''">and material_desc = #{materialDesc}</if>
<if test="amount != null ">and amount = #{amount}</if> <if test="amount != null ">and amount = #{amount}</if>
<if test="storageAmount != null ">and storage_amount = #{storageAmount}</if> <if test="storageAmount != null ">and storage_amount = #{storageAmount}</if>
@ -81,6 +81,7 @@
<if test="sapFactoryCode != null and sapFactoryCode != ''">and sap_factory_code = #{sapFactoryCode}</if> <if test="sapFactoryCode != null and sapFactoryCode != ''">and sap_factory_code = #{sapFactoryCode}</if>
<if test="wlName != null and wlName != ''">and wl_name like concat('%', #{wlName}, '%')</if> <if test="wlName != null and wlName != ''">and wl_name like concat('%', #{wlName}, '%')</if>
</where> </where>
order by gmt_create desc
</select> </select>
<select id="selectWmsOdsMateStorageNewslsList" parameterType="WmsOdsMateStorageNews" <select id="selectWmsOdsMateStorageNewslsList" parameterType="WmsOdsMateStorageNews"
resultMap="WmsOdsMateStorageNewsResult"> resultMap="WmsOdsMateStorageNewsResult">

@ -58,6 +58,7 @@
<result property="gmtModified" column="gmt_modified"/> <result property="gmtModified" column="gmt_modified"/>
<result property="activeFlag" column="active_flag"/> <result property="activeFlag" column="active_flag"/>
<result property="incomeBatchNo" column="incomeBatchNo"/> <result property="incomeBatchNo" column="incomeBatchNo"/>
<result property="kem" column="kem"/>
</resultMap> </resultMap>
<sql id="selectWmsRawOrderInVo"> <sql id="selectWmsRawOrderInVo">
@ -133,8 +134,7 @@
where raw_order_in_id = #{rawOrderInId} where raw_order_in_id = #{rawOrderInId}
</select> </select>
<select id="selectWmsRawOrderInByRawOrderInIdTWO" parameterType="String" resultMap="WmsRawOrderInResult"> <select id="selectWmsRawOrderInByRawOrderInIdTWO" parameterType="String" resultMap="WmsRawOrderInResult">
SELECT DISTINCT
SELECT DISTINCT
wms_raw_order_in.raw_order_in_id, wms_raw_order_in.raw_order_in_id,
wms_raw_order_in.factory_code, wms_raw_order_in.factory_code,
wms_raw_order_in.wh_code, wms_raw_order_in.wh_code,
@ -186,10 +186,13 @@
wms_raw_order_in.gmt_create, wms_raw_order_in.gmt_create,
wms_raw_order_in.last_modified_by, wms_raw_order_in.last_modified_by,
wms_raw_order_in.gmt_modified, 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
FROM FROM
wms_raw_order_in 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 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
LEFT JOIN ods_procure_order ON ods_procure_order.ID= wms_raw_order_in_sn.user_defined3
where wms_raw_order_in.raw_order_in_id = #{rawOrderInId} where wms_raw_order_in.raw_order_in_id = #{rawOrderInId}
and wms_raw_order_in.order_status='0' and wms_raw_order_in.order_status='0'
</select> </select>

Loading…
Cancel
Save