|
|
|
@ -2218,6 +2218,7 @@ public class OdsProcureOrderServiceImpl implements IOdsProcureOrderService {
|
|
|
|
|
@Override
|
|
|
|
|
public String addReturnSC(List<OdsProcureOutOrder> orderList) {
|
|
|
|
|
String result="操作成功";
|
|
|
|
|
String produceCode = null;
|
|
|
|
|
String factoryCode = orderList.get(0).getFactoryCode();
|
|
|
|
|
DynamicDataSourceContextHolder.push("ds_" + factoryCode);
|
|
|
|
|
for (OdsProcureOutOrder odsProcureOutOrder :
|
|
|
|
@ -2226,6 +2227,7 @@ public class OdsProcureOrderServiceImpl implements IOdsProcureOrderService {
|
|
|
|
|
String userDefined3= odsProcureOutOrder.getUserDefined3();//退料单id
|
|
|
|
|
OdsProcureOrder order1= odsProcureOrderMapper.selectWMSOdsProcureReturnOrderByID(userDefined3);
|
|
|
|
|
String createBy= odsProcureOutOrder.getCreateBy();//操作人
|
|
|
|
|
produceCode= order1.getProcureCode();
|
|
|
|
|
String userDefined6= odsProcureOutOrder.getUserDefined6();//标识卡
|
|
|
|
|
String waCode= odsProcureOutOrder.getWaCode();
|
|
|
|
|
String whCode= odsProcureOutOrder.getWhCode();
|
|
|
|
@ -2237,7 +2239,24 @@ public class OdsProcureOrderServiceImpl implements IOdsProcureOrderService {
|
|
|
|
|
String userDefined1= order1.getUnit();//单位
|
|
|
|
|
String userDefined2= odsProcureOutOrder.getUserDefined5();//批次
|
|
|
|
|
//接下来我就要调整库存--修改订单
|
|
|
|
|
|
|
|
|
|
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);
|
|
|
|
|
odsProcureOutOrderMapper.insertWmsRawMissionOut(order);
|
|
|
|
|
BigDecimal returnNumber= order1.getReturnNumber();
|
|
|
|
|
order1.setReturnNumber(returnNumber.add(amount));
|
|
|
|
|
if(order1.getPlanNumber().compareTo(order1.getReturnNumber())<=0){
|
|
|
|
@ -2246,9 +2265,9 @@ public class OdsProcureOrderServiceImpl implements IOdsProcureOrderService {
|
|
|
|
|
order1.setOrderStatus("2");
|
|
|
|
|
}
|
|
|
|
|
odsProcureOutOrderMapper.updateWmsOdsProcureReturnOrderByID(order1);
|
|
|
|
|
OdsProcureOrder order =new OdsProcureOrder();
|
|
|
|
|
order.setUserDefined6(userDefined6);
|
|
|
|
|
odsProcureOrderMapper.updateodsProcureOrderCard(order);
|
|
|
|
|
OdsProcureOrder order2 =new OdsProcureOrder();
|
|
|
|
|
order2.setUserDefined6(userDefined6);
|
|
|
|
|
odsProcureOrderMapper.updateodsProcureOrderCard(order2);
|
|
|
|
|
//库存
|
|
|
|
|
//收货
|
|
|
|
|
WmsOdsMateStorageNewsSn wmsOdsMateStorageNewsSn = new WmsOdsMateStorageNewsSn();
|
|
|
|
@ -2302,11 +2321,18 @@ public class OdsProcureOrderServiceImpl implements IOdsProcureOrderService {
|
|
|
|
|
wmsOdsMateStorageNewsSnMapper.updateAdd(wmsOdsEmStorageNews);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
// OdsProcureOutOrder order=new OdsProcureOutOrder();
|
|
|
|
|
// List<OdsProcureOutOrder> orderList1 = odsProcureOutOrderMapper.selectWmsOdsProcureOutOrderByOrderStatus(order);
|
|
|
|
|
// if (orderList1.size()>0){
|
|
|
|
|
// OutboundPostingzcSAPGY(orderList1);
|
|
|
|
|
// }
|
|
|
|
|
OdsProcureOutOrder order=new OdsProcureOutOrder();
|
|
|
|
|
order.setProduceCode(produceCode);
|
|
|
|
|
List<OdsProcureOutOrder> orderList1 = odsProcureOutOrderMapper.selectWmsOdsProcureReturnOrderStatus(order);
|
|
|
|
|
String fx="";
|
|
|
|
|
for(OdsProcureOutOrder order1:orderList1){
|
|
|
|
|
if(order1.getProduceCode().length()<=11){
|
|
|
|
|
fx="X";
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
if (!fx.equals("X")){
|
|
|
|
|
OutboundPostingzcSAPGYTH(orderList1);
|
|
|
|
|
}
|
|
|
|
|
return result;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
@ -2834,7 +2860,67 @@ public class OdsProcureOrderServiceImpl implements IOdsProcureOrderService {
|
|
|
|
|
return null;
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
public void OutboundPostingzcSAPGYTH(List<OdsProcureOutOrder> orderList){
|
|
|
|
|
//先根据出库单获取
|
|
|
|
|
// * 退料的移动类型为 262
|
|
|
|
|
// * 领料的移动类型为 261-- and wms_ods_procure_out_order.Order_Status='3'
|
|
|
|
|
List<OdsProcureOutOrder> orderList1 = odsProcureOutOrderMapper.selectWmsOdsProcureReturnOrderByID(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) {
|
|
|
|
|
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.getReturnNumber().toString());
|
|
|
|
|
map.put("MEINS", odsProcureOutOrder.getUnit());
|
|
|
|
|
mapList.add(map);
|
|
|
|
|
orderList2.add(odsProcureOutOrder);
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
if (mapList.size() > 0) {
|
|
|
|
|
//非反冲过账
|
|
|
|
|
SapMaterialPosting sapMaterialPosting = new SapMaterialPosting();
|
|
|
|
|
sapMaterialPosting.setPostingType("262");
|
|
|
|
|
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.updateWMSOdsProcureReturnOrderByids(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.updateWMSOdsProcureReturnOrderByids(order, orderList2);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
//空托下发计划的接口
|
|
|
|
|
public String addPurchaseOrderOutboundTwoWCS(OrderLine orderLinete) {
|
|
|
|
|
// 定义请求的URL地址
|
|
|
|
|