|
|
|
@ -2093,6 +2093,7 @@ public class OdsProcureOrderServiceImpl implements IOdsProcureOrderService {
|
|
|
|
|
WmsRawOrderIn wmsRawOrderIn=new WmsRawOrderIn();
|
|
|
|
|
wmsRawOrderIn.setRawOrderInId(IdUtils.fastSimpleUUID());
|
|
|
|
|
wmsRawOrderIn.setFactoryCode(odsProcureOrder.getFactoryCode());
|
|
|
|
|
wmsRawOrderIn.setOrderNo(order1.getUserDefined5());//送货单
|
|
|
|
|
wmsRawOrderIn.setDnNo(receiptNoCode);
|
|
|
|
|
wmsRawOrderIn.setPoNo(odsProcureOrder.getProcureCode());
|
|
|
|
|
wmsRawOrderIn.setPoLine(odsProcureOrder.getUserDefined3());
|
|
|
|
@ -2395,6 +2396,98 @@ public class OdsProcureOrderServiceImpl implements IOdsProcureOrderService {
|
|
|
|
|
return result;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@Override
|
|
|
|
|
public String NewConMaterialOutSCNew(List<OdsProcureOutOrder> orderList, List<OdsProcureOutOrder> gzList) {
|
|
|
|
|
String result="操作成功";
|
|
|
|
|
String factoryCode = orderList.get(0).getFactoryCode();
|
|
|
|
|
DynamicDataSourceContextHolder.push("ds_" + factoryCode);
|
|
|
|
|
for (OdsProcureOutOrder odsProcureOutOrder :
|
|
|
|
|
orderList) {
|
|
|
|
|
//领料单,物料编号,领料单批次,物料名称,托盘号,出库数量,库位号,
|
|
|
|
|
String produceCode= odsProcureOutOrder.getProduceCode();//生产领料单号
|
|
|
|
|
String createBy= odsProcureOutOrder.getCreateBy();//操作人
|
|
|
|
|
String mateOrderInSnId= odsProcureOutOrder.getMateOrderInSnId();
|
|
|
|
|
String waCode= odsProcureOutOrder.getWaCode();
|
|
|
|
|
String whCode= odsProcureOutOrder.getWhCode();
|
|
|
|
|
String wlCode= odsProcureOutOrder.getWlCode();
|
|
|
|
|
String sn= odsProcureOutOrder.getSn();
|
|
|
|
|
String materialCode= odsProcureOutOrder.getMaterialCode();
|
|
|
|
|
String materialDesc= odsProcureOutOrder.getMaterialDesc();
|
|
|
|
|
BigDecimal amount= odsProcureOutOrder.getAmount();//数量
|
|
|
|
|
String userDefined1= odsProcureOutOrder.getUserDefined1();//单位
|
|
|
|
|
String userDefined2= odsProcureOutOrder.getUserDefined2();//批次
|
|
|
|
|
WmsOdsMateStorageNewsSn wmsOdsMateStorageNewsSn = wmsOdsMateStorageNewsSnMapper.selectWmsOdsMateStorageNewsSnByMateOrderInSnIdk(mateOrderInSnId);
|
|
|
|
|
//wms_raw_mission_out--保存
|
|
|
|
|
//ods_procure_out_order--修改
|
|
|
|
|
WCSInventoryPlan wcsInventoryPlan = new WCSInventoryPlan();
|
|
|
|
|
wcsInventoryPlan.setSku(odsProcureOutOrder.getMaterialCode());
|
|
|
|
|
// WmsOdsMateStorageNews wmsOdsMateStorageNews = wmsOdsMateStorageNewsMapper.selectBaseProductByCode(wcsInventoryPlan);
|
|
|
|
|
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);
|
|
|
|
|
OdsProcureOutOrder odsProcureOutOrder1=new OdsProcureOutOrder();
|
|
|
|
|
odsProcureOutOrder1.setProduceCode(produceCode);
|
|
|
|
|
odsProcureOutOrder1.setMaterialCode(materialCode);
|
|
|
|
|
List<OdsProcureOutOrder> odsProcureOutOrders = odsProcureOutOrderMapper.selectWmsOdsProcureOutOrder(odsProcureOutOrder1);
|
|
|
|
|
OdsProcureOutOrder order1= odsProcureOutOrders.get(0);
|
|
|
|
|
BigDecimal realityNumber1 = order1.getOutNumber();//累出库数
|
|
|
|
|
BigDecimal realityNumber = order1.getPlanNumber();//计划
|
|
|
|
|
BigDecimal planNumber = amount;//本次实际数量
|
|
|
|
|
BigDecimal tem = realityNumber1.add(planNumber);
|
|
|
|
|
if (tem.compareTo(realityNumber)>= 0) {
|
|
|
|
|
order1.setOrderStatus("3");
|
|
|
|
|
} else {
|
|
|
|
|
order1.setOrderStatus("2");
|
|
|
|
|
}
|
|
|
|
|
order1.setOutNumber(tem);
|
|
|
|
|
odsProcureOutOrderMapper.updateWmsOdsProcureOutOrder(order1);//订单修改
|
|
|
|
|
//明细
|
|
|
|
|
// BigDecimal temk= wmsOdsMateStorageNewsSn.getAmount().subtract(amount);
|
|
|
|
|
wmsOdsMateStorageNewsSn.setOutNumber(amount);
|
|
|
|
|
wmsOdsMateStorageNewsSn.setLastModifiedBy(createBy);
|
|
|
|
|
wmsOdsMateStorageNewsSnMapper.updateWmsOdsMateStorageNewsSnAddoutNumber(wmsOdsMateStorageNewsSn);//库存明细
|
|
|
|
|
WmsOdsEmStorageNews wmsOdsEmStorageNews = new WmsOdsEmStorageNews();
|
|
|
|
|
wmsOdsEmStorageNews.setWhCode(wmsOdsMateStorageNewsSn.getWhCode());//仓库编码
|
|
|
|
|
wmsOdsEmStorageNews.setWlCode(wmsOdsMateStorageNewsSn.getWlCode());//库位编码
|
|
|
|
|
wmsOdsEmStorageNews.setWaCode(wmsOdsMateStorageNewsSn.getWaCode());
|
|
|
|
|
wmsOdsEmStorageNews.setProductBatch(wmsOdsMateStorageNewsSn.getUserDefined2());
|
|
|
|
|
wmsOdsEmStorageNews.setMaterialCode(wmsOdsMateStorageNewsSn.getMaterialCode());
|
|
|
|
|
wmsOdsEmStorageNews.setAmount(odsProcureOutOrder.getPlanNumber());//库存
|
|
|
|
|
wmsOdsEmStorageNews.setLastModifiedBy(createBy);
|
|
|
|
|
wmsOdsMateStorageNewsSnMapper.updatekdd(wmsOdsEmStorageNews);//库存调整
|
|
|
|
|
}
|
|
|
|
|
//
|
|
|
|
|
OdsProcureOutOrder order=new OdsProcureOutOrder();
|
|
|
|
|
|
|
|
|
|
List<OdsProcureOutOrder> orderList1 = odsProcureOutOrderMapper.selectWmsOdsProcureOutOrderByOrderStatus(order);
|
|
|
|
|
if (orderList1.size()>0){
|
|
|
|
|
OutboundPostingzcSAPGY(orderList1);
|
|
|
|
|
}
|
|
|
|
|
if (gzList.size()>0) {
|
|
|
|
|
OutboundPostingzcSAPGY(gzList);
|
|
|
|
|
// List<OdsProcureOutOrder> odsProcureOutOrders = odsProcureOutOrderMapper.selectWmsOdsProcureOutOrderByIDs(gzList);
|
|
|
|
|
// if (odsProcureOutOrders.size()>0){
|
|
|
|
|
// OutboundPostingzcSAPGY(odsProcureOutOrders);
|
|
|
|
|
// }
|
|
|
|
|
}
|
|
|
|
|
return result;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// @Override
|
|
|
|
|
// public String addReturnSC(List<OdsProcureOrder> orderList) {
|
|
|
|
|
// String factoryCode = orderList.get(0).getFactoryCode();
|
|
|
|
|