wms的成品生产入库报表中的质检状态获取方式修改

master
mengjiao 3 months ago
parent 7c4011434f
commit 0005043b70

@ -1568,111 +1568,138 @@ public class OdsProcureOrderServiceImpl implements IOdsProcureOrderService {
@Override
public void OutboundPostingzcSAPTS(List<OdsProcureOutOrder> orderList) {
//先根据出库单获取
// * 退料的移动类型为 262
// * 领料的移动类型为 261
List<OdsProcureOutOrder> orderList1 = odsProcureOutOrderMapper.selectWmsOdsProcureOutOrderByIDsTS(orderList);
List<OdsProcureOutOrder> orderList2 = new ArrayList<>();//非反冲
List<Map<String, Object>> mapList = new ArrayList<>();//非反冲
List<SapBackflushMPQuery> sapMaterialPostingFCList = new ArrayList<>();//反冲
List<OdsProcureOutOrder> orderList2FC = new ArrayList<>();//反冲
for (OdsProcureOutOrder odsProcureOutOrder :
orderList1) {
if (!"X".equals(odsProcureOutOrder.getUserDefined3())){
Map<String, Object> map = new HashMap<>();
map.put("AUFNR", odsProcureOutOrder.getProduceCode());
map.put("PLANT", odsProcureOutOrder.getSiteCode());
String lgort = baseWarehouseMapper.selectByCode(odsProcureOutOrder.getLocCode());
map.put("LGORT", lgort);
map.put("MATNR", odsProcureOutOrder.getMaterialCode());
map.put("QUANTITY", odsProcureOutOrder.getOutNumber().toString());
map.put("MEINS", odsProcureOutOrder.getUnit());
mapList.add(map);
orderList2.add(odsProcureOutOrder);
}else {
SapBackflushMPQuery sapBackflushMPQuery = new SapBackflushMPQuery();
sapBackflushMPQuery.setPlant(odsProcureOutOrder.getSiteCode()); //工厂
String lgort = baseWarehouseMapper.selectByCode(odsProcureOutOrder.getLocCode());
sapBackflushMPQuery.setLgort(lgort);//库存地点
sapBackflushMPQuery.setMatnr(odsProcureOutOrder.getMaterialCode());//物料号
sapBackflushMPQuery.setQuantity(odsProcureOutOrder.getOutNumber().toString()); //数量
sapBackflushMPQuery.setMeins(odsProcureOutOrder.getUnit()); //基本计量单位
sapBackflushMPQuery.setBatch(odsProcureOutOrder.getUserDefined2()); //批号
sapMaterialPostingFCList.add(sapBackflushMPQuery);
orderList2FC.add(odsProcureOutOrder);
}
}
if (mapList.size() > 0) {
//非反冲过账
SapMaterialPosting sapMaterialPosting = new SapMaterialPosting();
sapMaterialPosting.setPostingType("261");
sapMaterialPosting.setMapList(mapList);
R result = remoteSapService.sapMaterialPosting(sapMaterialPosting);
OdsProcureOutOrder order = new OdsProcureOutOrder();
int code = result.getCode();
String msg = result.getMsg();
//order.setSapMaterialPostingList(sapMaterialPostingList);
order.setUserDefined11(msg);
if (code == 200) {
//过账成功
Map map = new HashMap();
map = (Map) result.getData();
String userDefined9 = (String) map.get("MATERIALDOCUMENT");
order.setUserDefined9(userDefined9);
order.setUserDefined10("2");//成功
odsProcureOutOrderMapper.updateWMSOdsProcureOutOrderByids(order, orderList2);
for (OdsProcureOutOrder order1:
orderList2) {
//过账成功--减库存
List<WmsOdsMateStorageNews> odsEmStorageNews= odsProcureOutOrderMapper.selectWmsRawMissionOutByPrdAndMa(order1);
for (WmsOdsMateStorageNews wmsOdsMateStorageNews:
odsEmStorageNews) {
//wmsOdsMateStorageNews
wmsOdsMateStorageNews.setLastModifiedBy(SecurityUtils.getUsername());
wmsOdsMateStorageNewsSnMapper.updatesub(wmsOdsMateStorageNews);//库存调整
}
}
} else {
//
order.setUserDefined9("");
order.setUserDefined10("3");//失败
odsProcureOutOrderMapper.updateWMSOdsProcureOutOrderByids(order, orderList2);
}
}
if (sapMaterialPostingFCList.size() > 0) {
//反冲过账
R result2 = remoteSapService.sapBackflushMP(sapMaterialPostingFCList);//x
int code = result2.getCode();
OdsProcureOutOrder order = new OdsProcureOutOrder();
String msg = result2.getMsg();
order.setUserDefined11(msg);
if (code == 200) {
//过账成功
Map map = new HashMap();
map = (Map) result2.getData();
String userDefined9 = (String) map.get("MATERIALDOCUMENT");
order.setUserDefined9(userDefined9);
order.setUserDefined10("2");//成功
odsProcureOutOrderMapper.updateWMSOdsProcureOutOrderByids(order, orderList2FC);
for (OdsProcureOutOrder order1:
orderList2FC) {
//过账成功--减库存
List<WmsOdsMateStorageNews> odsEmStorageNews= odsProcureOutOrderMapper.selectWmsRawMissionOutByPrdAndMa(order1);
for (WmsOdsMateStorageNews wmsOdsMateStorageNews:
odsEmStorageNews) {
//wmsOdsMateStorageNews
wmsOdsMateStorageNews.setLastModifiedBy(SecurityUtils.getUsername());
wmsOdsMateStorageNewsSnMapper.updatesub(wmsOdsMateStorageNews);//库存调整
}
}
} else {//
order.setUserDefined9("");
order.setUserDefined10("3");//失败
odsProcureOutOrderMapper.updateWMSOdsProcureOutOrderByids(order, orderList2FC);
}
}
OutboundPostingzcSAPGYTS(orderList1);
}
public void OutboundPostingzcSAPGYTS(List<OdsProcureOutOrder> orderList) {
//先根据出库单获取
// -- and wms_ods_procure_out_order.Order_Status='3'
//我把过账状态-- and wms_ods_procure_out_order.User_Defined10!='2'去掉了
List<OdsProcureOutOrder> orderList1 = odsProcureOutOrderMapper.selectWmsOdsProcureOutOrderSpecialByIDs(orderList);
for (OdsProcureOutOrder order:
orderList1 ) {
if ("成本中心".equals(orderList1.get(0).getUserDefined6())){
//区分出来内部订单
Map paramMap=new HashMap<>();
List<Map> mapList = new ArrayList<>();
paramMap.put("GL_ACCOUNT", order.getUserDefined2());//总帐科目编号
paramMap.put("COSTCENTER", order.getUserDefined3());//成本中心
paramMap.put("GR_RCPT", order.getUserDefined4());//收货方/运达方
paramMap.put("PLANT", order.getSiteCode());//工厂
paramMap.put("LGORT", order.getLocCode());//库存地点
paramMap.put("MATNR", order.getMaterialCode());//物料号
paramMap.put("QUANTITY", order.getPlanNumber());//数量
paramMap.put("MEINS", order.getUnit());//条目单位
paramMap.put("BATCH", order.getUserDefined1());//批号
paramMap.put("PROD_DATE", order.getPlanDate());//生产日期
paramMap.put("EXPIRYDATE", order.getUserDefined5());//货架寿命到期日
mapList.add(paramMap);
R result2 = remoteSapService.sapProductOutboundCostCenter(mapList);
int code = result2.getCode();
OdsProcureOutOrder order1 = new OdsProcureOutOrder();
String msg = result2.getMsg();
order.setUserDefined11(msg);
if (code== 200){
//过账成功
Map map = new HashMap();
map = (Map) result2.getData();
String userDefined9 = (String) map.get("MATERIALDOCUMENT");
//order.setUserDefined9(userDefined9);
// order.setUserDefined10("2");//成功
// for (OdsProcureOutOrder order2:
// orderList2 ) {
order1.setID(order.getID());
order1.setSapNumber(order.getOutNumber());//成功..这个是否的outNumber是用已出库减去已经过账的数量
order1.setUserDefined10("2");//1是未过账2是成功3是失败
order1.setUserDefined9(userDefined9);//凭证
order1.setUserDefined11(msg);//信息
odsProcureOutOrderMapper.updateWMSOdsProcureOutOrdersapSpecialById(order1);
// }
order1.setProduceCode(order.getProduceCode());
order1.setMaterialCode(order.getMaterialCode());
List<WmsOdsMateStorageNews> odsEmStorageNews= odsProcureOutOrderMapper.selectWmsRawMissionOutByPrdAndMa(order1);
for (WmsOdsMateStorageNews wmsOdsMateStorageNews:
odsEmStorageNews) {
//wmsOdsMateStorageNews
wmsOdsMateStorageNews.setLastModifiedBy(SecurityUtils.getUsername());
wmsOdsMateStorageNewsSnMapper.updatesub(wmsOdsMateStorageNews);//库存调整
}
}else {
order1.setID(order.getID());
// order1.setSapNumber(order.getOutNumber());//成功..这个是否的outNumber是用已出库减去已经过账的数量
order1.setUserDefined10("3");//1是未过账2是成功3是失败
// order1.setUserDefined9(userDefined9);//凭证
order1.setUserDefined11(msg);//信息
odsProcureOutOrderMapper.updateWMSOdsProcureOutOrdersapSpecialTWById(order1);
}
}else {
//内部订单
Map paramMap=new HashMap<>();
List<Map> mapList = new ArrayList<>();
paramMap.put("AUFNR", order.getProduceCode());//
paramMap.put("GL_ACCOUNT", order.getUserDefined2());//
paramMap.put("GR_RCPT", order.getUserDefined4());//收货方/运达方
paramMap.put("PLANT", order.getSiteCode());//工厂
paramMap.put("LGORT", order.getLocCode());//库存地点
paramMap.put("MATNR", order.getMaterialCode());//
paramMap.put("QUANTITY", order.getPlanNumber());//
paramMap.put("MEINS", order.getUnit());//
paramMap.put("BATCH", order.getUserDefined1());//
paramMap.put("PROD_DATE", order.getPlanDate());//生产日期
paramMap.put("EXPIRYDATE", order.getUserDefined5());//货架寿命到期日
mapList.add(paramMap);
// R result2 = remoteSapService.sapProductOutboundCostTWO(mapList);
R result2 = remoteSapService.sapProductOutboundCostTW(mapList);
int code = result2.getCode();
OdsProcureOutOrder order1 = new OdsProcureOutOrder();
String msg = result2.getMsg();
order.setUserDefined11(msg);
if (code== 200){
//过账成功
Map map = new HashMap();
map = (Map) result2.getData();
String userDefined9 = (String) map.get("MATERIALDOCUMENT");
//order.setUserDefined9(userDefined9);
// order.setUserDefined10("2");//成功
// for (OdsProcureOutOrder order2:
// orderList2 ) {
order1.setID(order.getID());
order1.setSapNumber(order.getOutNumber());//成功..这个是否的outNumber是用已出库减去已经过账的数量
order1.setUserDefined10("2");//1是未过账2是成功3是失败
order1.setUserDefined9(userDefined9);//凭证
order1.setUserDefined11(msg);//信息
odsProcureOutOrderMapper.updateWMSOdsProcureOutOrdersapSpecialById(order1);
// }
order1.setProduceCode(order.getProduceCode());
order1.setMaterialCode(order.getMaterialCode());
List<WmsOdsMateStorageNews> odsEmStorageNews= odsProcureOutOrderMapper.selectWmsRawMissionOutByPrdAndMa(order1);
for (WmsOdsMateStorageNews wmsOdsMateStorageNews:
odsEmStorageNews) {
//wmsOdsMateStorageNews
wmsOdsMateStorageNews.setLastModifiedBy(SecurityUtils.getUsername());
wmsOdsMateStorageNewsSnMapper.updatesub(wmsOdsMateStorageNews);//库存调整
}
}else {
order1.setID(order.getID());
// order1.setSapNumber(order.getOutNumber());//成功..这个是否的outNumber是用已出库减去已经过账的数量
order1.setUserDefined10("3");//1是未过账2是成功3是失败
// order1.setUserDefined9(userDefined9);//凭证
order1.setUserDefined11(msg);//信息
odsProcureOutOrderMapper.updateWMSOdsProcureOutOrdersapSpecialTWById(order1);
}
}
}
}
@Override
@DS("#header.poolName")
public void OutboundPostingzcSAPTH(List<OdsProcureOutOrder> orderList) {

@ -527,6 +527,15 @@ public class OdsProcureOutOrderServiceImpl implements IOdsProcureOutOrderService
order1.setUserDefined11(msg);//信息
odsProcureOutOrderMapper.updateWMSOdsProcureOutOrdersapSpecialById(order1);
// }
order1.setProduceCode(order.getProduceCode());
order1.setMaterialCode(order.getMaterialCode());
List<WmsOdsMateStorageNews> odsEmStorageNews= odsProcureOutOrderMapper.selectWmsRawMissionOutByPrdAndMa(order1);
for (WmsOdsMateStorageNews wmsOdsMateStorageNews:
odsEmStorageNews) {
//wmsOdsMateStorageNews
wmsOdsMateStorageNews.setLastModifiedBy(SecurityUtils.getUsername());
wmsOdsMateStorageNewsSnMapper.updatesub(wmsOdsMateStorageNews);//库存调整
}
}else {
order1.setID(order.getID());
// order1.setSapNumber(order.getOutNumber());//成功..这个是否的outNumber是用已出库减去已经过账的数量
@ -575,6 +584,15 @@ public class OdsProcureOutOrderServiceImpl implements IOdsProcureOutOrderService
order1.setUserDefined11(msg);//信息
odsProcureOutOrderMapper.updateWMSOdsProcureOutOrdersapSpecialById(order1);
// }
order1.setProduceCode(order.getProduceCode());
order1.setMaterialCode(order.getMaterialCode());
List<WmsOdsMateStorageNews> odsEmStorageNews= odsProcureOutOrderMapper.selectWmsRawMissionOutByPrdAndMa(order1);
for (WmsOdsMateStorageNews wmsOdsMateStorageNews:
odsEmStorageNews) {
//wmsOdsMateStorageNews
wmsOdsMateStorageNews.setLastModifiedBy(SecurityUtils.getUsername());
wmsOdsMateStorageNewsSnMapper.updatesub(wmsOdsMateStorageNews);//库存调整
}
}else {
order1.setID(order.getID());
// order1.setSapNumber(order.getOutNumber());//成功..这个是否的outNumber是用已出库减去已经过账的数量
@ -588,117 +606,6 @@ public class OdsProcureOutOrderServiceImpl implements IOdsProcureOutOrderService
}
// List<OdsProcureOutOrder> orderList2 = new ArrayList<>();//非反冲
// List<Map<String, Object>> mapList = new ArrayList<>();//非反冲
// List<SapBackflushMPQuery> sapMaterialPostingFCList = new ArrayList<>();//反冲
// List<OdsProcureOutOrder> orderList2FC = new ArrayList<>();//反冲
// for (OdsProcureOutOrder odsProcureOutOrder :
// orderList1) {
// if (!"X".equals(odsProcureOutOrder.getUserDefined3())){
// Map<String, Object> map = new HashMap<>();
// map.put("AUFNR", odsProcureOutOrder.getProduceCode());
// map.put("PLANT", odsProcureOutOrder.getSiteCode());
// String lgort = baseWarehouseMapper.selectByCode(odsProcureOutOrder.getLocCode());
// map.put("LGORT", lgort);
// map.put("MATNR", odsProcureOutOrder.getMaterialCode());
// map.put("QUANTITY", odsProcureOutOrder.getOutNumber().toString());
// map.put("MEINS", odsProcureOutOrder.getUnit());
// mapList.add(map);
// orderList2.add(odsProcureOutOrder);
// }else {
// SapBackflushMPQuery sapBackflushMPQuery = new SapBackflushMPQuery();
// sapBackflushMPQuery.setPlant(odsProcureOutOrder.getSiteCode()); //工厂
// String lgort = baseWarehouseMapper.selectByCode(odsProcureOutOrder.getLocCode());
// sapBackflushMPQuery.setLgort(lgort);//库存地点
// sapBackflushMPQuery.setUmlgo("0013");
// sapBackflushMPQuery.setMatnr(odsProcureOutOrder.getMaterialCode());//物料号
// sapBackflushMPQuery.setQuantity(odsProcureOutOrder.getOutNumber().toString()); //数量
// sapBackflushMPQuery.setMeins(odsProcureOutOrder.getUnit()); //基本计量单位
// sapBackflushMPQuery.setBatch(odsProcureOutOrder.getUserDefined2()); //批号
// sapMaterialPostingFCList.add(sapBackflushMPQuery);
// orderList2FC.add(odsProcureOutOrder);
// }
// }
// if (mapList.size() > 0) {
// //非反冲过账
// SapMaterialPosting sapMaterialPosting = new SapMaterialPosting();
// sapMaterialPosting.setPostingType("261");
// sapMaterialPosting.setMapList(mapList);
// R result = remoteSapService.sapMaterialPosting(sapMaterialPosting);
// OdsProcureOutOrder order = new OdsProcureOutOrder();
// int code = result.getCode();
// String msg = result.getMsg();
// //order.setSapMaterialPostingList(sapMaterialPostingList);
// order.setUserDefined11(msg);
// if (code == 200) {
// //过账成功
// Map map = new HashMap();
// map = (Map) result.getData();
// String userDefined9 = (String) map.get("MATERIALDOCUMENT");
// order.setUserDefined9(userDefined9);
// order.setUserDefined10("2");//成功
// for (OdsProcureOutOrder order1:
// orderList2 ) {
// BigDecimal sapNumber= order1.getSapNumber();
// order1.setSapNumber(sapNumber.add(order1.getOutNumber()));//成功..这个是否的outNumber是用已出库减去已经过账的数量
// odsProcureOutOrderMapper.updateWMSOdsProcureOutOrdersapById(order1);
// }
// odsProcureOutOrderMapper.updateWMSOdsProcureOutOrderByids(order, orderList2);
// for (OdsProcureOutOrder order1:
// orderList2) {
// //过账成功--减库存
// List<WmsOdsMateStorageNews> odsEmStorageNews= odsProcureOutOrderMapper.selectWmsRawMissionOutByPrdAndMa(order1);
// for (WmsOdsMateStorageNews wmsOdsMateStorageNews:
// odsEmStorageNews) {
// //wmsOdsMateStorageNews
// wmsOdsMateStorageNews.setLastModifiedBy(SecurityUtils.getUsername());
// wmsOdsMateStorageNewsSnMapper.updatesub(wmsOdsMateStorageNews);//库存调整
// }
// }
// } else {
// //
// order.setUserDefined9("");
// order.setUserDefined10("3");//失败
// odsProcureOutOrderMapper.updateWMSOdsProcureOutOrderByids(order, orderList2);
// }
// }
// if (sapMaterialPostingFCList.size() > 0) {
// //反冲过账
// R result2 = remoteSapService.sapBackflushMP(sapMaterialPostingFCList);//x
// int code = result2.getCode();
// OdsProcureOutOrder order = new OdsProcureOutOrder();
// String msg = result2.getMsg();
// order.setUserDefined11(msg);
// if (code == 200) {
// //过账成功
// Map map = new HashMap();
// map = (Map) result2.getData();
// String userDefined9 = (String) map.get("MATERIALDOCUMENT");
// order.setUserDefined9(userDefined9);
// order.setUserDefined10("2");//成功
// for (OdsProcureOutOrder order1:
// orderList2FC ) {
// BigDecimal sapNumber= order1.getSapNumber();
// order1.setSapNumber(sapNumber.add(order1.getOutNumber()));//成功..这个是否的outNumber是用已出库减去已经过账的数量
// odsProcureOutOrderMapper.updateWMSOdsProcureOutOrdersapById(order1);
// }
// odsProcureOutOrderMapper.updateWMSOdsProcureOutOrderByids(order, orderList2FC);
// for (OdsProcureOutOrder order1:
// orderList2FC) {
// //过账成功--减库存
// List<WmsOdsMateStorageNews> odsEmStorageNews= odsProcureOutOrderMapper.selectWmsRawMissionOutByPrdAndMa(order1);
// for (WmsOdsMateStorageNews wmsOdsMateStorageNews:
// odsEmStorageNews) {
// //wmsOdsMateStorageNews
// wmsOdsMateStorageNews.setLastModifiedBy(SecurityUtils.getUsername());
// wmsOdsMateStorageNewsSnMapper.updatesub(wmsOdsMateStorageNews);//库存调整
// }
// }
// } else {//
// order.setUserDefined9("");
// order.setUserDefined10("3");//失败
// odsProcureOutOrderMapper.updateWMSOdsProcureOutOrderByids(order, orderList2FC);
// }
// }
}
}

@ -1251,7 +1251,7 @@
wms_raw_mission_out
WHERE
prd_order=#{produceCode} AND
material_code=#{materialCode} AND
material_code like concat('%', #{materialCode},'%') AND
user_defined5='1'
</select>
<select id="selectWmsRawMissionOutByPrdAndMaQC" resultType="java.lang.String">

@ -524,18 +524,12 @@
and SAP_status='1'
</select>
<select id="selectQcCheckTask" resultType="java.lang.String">
SELECT DISTINCT
qc.check_result
SELECT DISTINCT
qc_check_task.check_result
FROM
mes_report_work AS mw
LEFT JOIN qc_check_task AS qc ON qc.order_no = mw.workorder_code
AND qc.check_type = 'checkTypeCP'
WHERE
mw.report_code = #{wmsProductPut.workOrder}
AND mw.product_code like concat('%', #{wmsProductPut.productCode},
'%')
AND mw.batch = #{wmsProductPut.batchNumber}
AND qc.check_result IS NOT NULL
<![CDATA[ AND qc.check_result <> '']]>
pro_order_workorder
LEFT JOIN qc_check_task ON pro_order_workorder.workorder_code=qc_check_task.order_no
WHERE pro_order_workorder.workorder_code_sap=#{wmsProductPut.productOrder}
AND qc_check_task.check_type='checkTypeCP'
</select>
</mapper>

Loading…
Cancel
Save