wms过账修改2

master
mengjiao 10 months ago
parent 45bc283865
commit de3d71c143

@ -761,9 +761,9 @@ public class SapItemSyncImpl implements SapItemSyncService {
L_ITEM.setValue("LFBNR",mblnr);//参考凭证的凭证号
L_ITEM.setValue("LFPOS",zeile);//参考凭证项目
L_ITEM.setValue("BSTNR", ebeln);//采购订单编号
L_ITEM.setValue("EBELP", ebelp);//采购凭证的项目编号
L_ITEM.setValue("EBELP",map.get("ebelp") );//采购凭证的项目编号
L_ITEM.setValue("WERKS", werks);//工厂
L_ITEM.setValue("LGORT", lgort);//库存地点
L_ITEM.setValue("LGORT", "0001");//库存地点
L_ITEM.setValue("QUANTITY",menge);//数量
L_ITEM.setValue("BATCH", map.get("incomeBatchNo"));//批号
L_ITEM.setValue("HSDAT","");//生产日期

@ -101,9 +101,9 @@ public class WmsRawOrderInController extends BaseController {
public AjaxResult remove(@PathVariable String[] rawOrderInIds) {
return toAjax(wmsRawOrderInService.deleteWmsRawOrderInByRawOrderInIds(rawOrderInIds));
}
// @PostMapping("/sap105temporarilyCollected")
// public AjaxResult sap105temporarilyCollected(@RequestBody List<OdsProcureOrder> odsProcureOrder) {
// String result = odsProcureOrderService.sap105temporarilyCollected(odsProcureOrder);
// return success(result);
// }
@PostMapping("/sap105temporarilyCollected")
public AjaxResult sap105temporarilyCollected(@RequestBody List<OdsProcureOrder> odsProcureOrder) {
String result = odsProcureOrderService.sap105temporarilyCollected(odsProcureOrder);
return success(result);
}
}

@ -79,4 +79,6 @@ public interface OdsProcureOrderMapper {
OdsProcureOrder selectOdsProcureOrderCard(OdsProcureOrder odsProcureOrder);
void updateodsProcureOrderCard(OdsProcureOrder order1);
OdsProcureOrder selectOdsProcureOrderByIDAndSap(String id);
}

@ -119,4 +119,6 @@ public interface IOdsProcureOrderService {
OdsProcureOrder selectOrderCard(OdsProcureOrder odsProcureOrder);
String addOrderCard(OdsProcureOrder odsProcureOrder);
String sap105temporarilyCollected(List<OdsProcureOrder> odsProcureOrder);
}

@ -83,6 +83,8 @@ public class OdsProcureOrderServiceImpl implements IOdsProcureOrderService {
private RemoteOpenService remoteOpenService;
@Autowired
private BaseProductAttachedMapper baseProductAttachedMapper;
@Value("${dayin.url1}")
private String dayinUrl1;
/**
@ -1223,6 +1225,7 @@ public class OdsProcureOrderServiceImpl implements IOdsProcureOrderService {
//--receiptNoCode收货单号
OdsProcureOrder order = odsProcureOrderMapper.selectOdsProcureOrderByID(odsProcureOrder.getID());
//查询出对应的采购单
List<OdsProcureOrder> orderList= odsProcureOrder.getList();
//对应采购单的标识卡
@ -1230,51 +1233,6 @@ public class OdsProcureOrderServiceImpl implements IOdsProcureOrderService {
BigDecimal Tme=new BigDecimal("0");
for (OdsProcureOrder order1:
orderList) {
//标识卡信息
//wms_raw_order_in_sn
WmsRawOrderInSn wmsRawOrderInSn = new WmsRawOrderInSn();
wmsRawOrderInSn.setRawOrderInSnId(IdUtils.fastSimpleUUID());
wmsRawOrderInSn.setUserDefined1("2");//1是收货,2是入库
wmsRawOrderInSn.setUserDefined2(order.getUserDefined7());//批次
wmsRawOrderInSn.setWhCode(odsProcureOrder.getWhCode());//厂库编号
wmsRawOrderInSn.setWaCode(odsProcureOrder.getWaCode());
wmsRawOrderInSn.setWlCode(order1.getSn());//库位设置为托盘
wmsRawOrderInSn.setPoNo(order.getProcureCode());//采购单号
wmsRawOrderInSn.setPoLine(odsProcureOrder.getPoLine());//行项目
wmsRawOrderInSn.setMaterialCode(order1.getMaterialCode());
wmsRawOrderInSn.setMaterialDesc(order1.getMaterialDesc());
wmsRawOrderInSn.setAmount(order1.getPlanNumber());//实际输入数量
wmsRawOrderInSn.setFactoryCode(odsProcureOrder.getFactoryCode());
wmsRawOrderInSn.setCreateBy(odsProcureOrder.getCreateBy());
wmsRawOrderInSn.setGmtCreate(new Date());
wmsRawOrderInSn.setActiveFlag("1");
wmsRawOrderInSn.setUserDefined4(order.getUnit());//单位
wmsRawOrderInSn.setSn(order1.getSn());//托盘号
wmsRawOrderInSn.setFactoryCode(odsProcureOrder.getFactoryCode());
wmsRawOrderInSn.setUserDefined3(order.getID());
wmsRawOrderInSn.setUserDefined5(odsProcureOrder.getReceiptNoCode());
wmsRawOrderInSn.setUserDefined6(order1.getUserDefined6());//标识码绑定
wmsRawOrderInSnMapper.insertWmsRawOrderInSn(wmsRawOrderInSn);
//标识码绑定
if (order1.getUserDefined6()!=null){
WmsLogotypeTable wmsLogotypeTable=new WmsLogotypeTable();
wmsLogotypeTable.setId(IdUtils.fastSimpleUUID());
wmsLogotypeTable.setLogotype(order1.getUserDefined6());
wmsLogotypeTable.setSn(order1.getSn());
wmsLogotypeTable.setActiveFlag("1");
wmsRawOrderInSnMapper.insertWmsLogotypeTable(wmsLogotypeTable);
}
//插入收货记录
//如果收货完成了的话,就插入信息收货完成
odsProcureOrder.setPlanNumber(order1.getPlanNumber());//操作数量
odsProcureOrder.setOrderStatus("1");
BigDecimal result = order.getRealityNumber().add(order1.getPlanNumber());
if (result.equals(order.getPlanNumber())) {
odsProcureOrder.setOrderStatus("2");//
}
odsProcureOrderMapper.updateRealityNuById(odsProcureOrder);
odsProcureOrderMapper.updateodsProcureOrderCard(order1);
Tme= Tme.add(order1.getPlanNumber());
//单据修改完成
}
@ -1291,8 +1249,62 @@ public class OdsProcureOrderServiceImpl implements IOdsProcureOrderService {
mapList.add(paramMap);
R result2 = remoteSapService.temporarilyCollected(mapList);
int code = result2.getCode();
OdsProcureOrder order1 = odsProcureOrderMapper.selectOdsProcureOrderByID(odsProcureOrder.getID());
if (code == 200){
//对应采购单的标识卡
for (OdsProcureOrder order1k:
orderList) {
//标识卡信息
//wms_raw_order_in_sn
WmsRawOrderInSn wmsRawOrderInSn = new WmsRawOrderInSn();
wmsRawOrderInSn.setRawOrderInSnId(IdUtils.fastSimpleUUID());
wmsRawOrderInSn.setUserDefined1("1");//1是收货,2是入库
wmsRawOrderInSn.setUserDefined2(order.getUserDefined7());//批次
wmsRawOrderInSn.setWhCode(odsProcureOrder.getWhCode());//厂库编号
wmsRawOrderInSn.setWaCode(odsProcureOrder.getWaCode());
wmsRawOrderInSn.setWlCode(order1k.getSn());//库位设置为托盘
wmsRawOrderInSn.setPoNo(order.getProcureCode());//采购单号
wmsRawOrderInSn.setPoLine(odsProcureOrder.getPoLine());//行项目
wmsRawOrderInSn.setMaterialCode(order1k.getMaterialCode());
wmsRawOrderInSn.setMaterialDesc(order1k.getMaterialDesc());
wmsRawOrderInSn.setAmount(order1k.getPlanNumber());//实际输入数量
wmsRawOrderInSn.setFactoryCode(odsProcureOrder.getFactoryCode());
wmsRawOrderInSn.setCreateBy(odsProcureOrder.getCreateBy());
wmsRawOrderInSn.setGmtCreate(new Date());
wmsRawOrderInSn.setActiveFlag("1");
wmsRawOrderInSn.setUserDefined4(order.getUnit());//单位
wmsRawOrderInSn.setSn(order1k.getSn());//托盘号
wmsRawOrderInSn.setFactoryCode(odsProcureOrder.getFactoryCode());
wmsRawOrderInSn.setUserDefined3(order.getID());
wmsRawOrderInSn.setUserDefined5(odsProcureOrder.getReceiptNoCode());
wmsRawOrderInSn.setUserDefined6(order1k.getUserDefined6());//标识码绑定
wmsRawOrderInSnMapper.insertWmsRawOrderInSn(wmsRawOrderInSn);
//标识码绑定
if (order1k.getUserDefined6()!=null){
WmsLogotypeTable wmsLogotypeTable=new WmsLogotypeTable();
wmsLogotypeTable.setId(IdUtils.fastSimpleUUID());
wmsLogotypeTable.setLogotype(order1k.getUserDefined6());
wmsLogotypeTable.setSn(order1k.getSn());
wmsLogotypeTable.setActiveFlag("1");
wmsRawOrderInSnMapper.insertWmsLogotypeTable(wmsLogotypeTable);
}
//插入收货记录
//如果收货完成了的话,就插入信息收货完成
odsProcureOrder.setPlanNumber(order1k.getPlanNumber());//操作数量
odsProcureOrder.setOrderStatus("1");
BigDecimal result = order.getRealityNumber().add(order1k.getPlanNumber());
System.out.println(result);
if (result.equals(order.getPlanNumber())) {
odsProcureOrder.setOrderStatus("2");//
}
odsProcureOrderMapper.updateRealityNuById(odsProcureOrder);
odsProcureOrderMapper.updateodsProcureOrderCard(order1k);
Tme= Tme.add(order1k.getPlanNumber());
//单据修改完成
}
//标识卡记录已经录入,订单已经修改完成
OdsProcureOrder order1 = odsProcureOrderMapper.selectOdsProcureOrderByID(odsProcureOrder.getID());
Map map = new HashMap();
map = (Map) result2.getData();
String MATERIALDOCUMENT = (String) map.get("MATERIALDOCUMENT");
@ -1322,9 +1334,7 @@ public class OdsProcureOrderServiceImpl implements IOdsProcureOrderService {
wmsRawOrderIn.setCreateBy(odsProcureOrder.getCreateBy());
wmsRawOrderIn.setGmtCreate(new Date());
wmsRawOrderInMapper.insertWmsRawOrderIn(wmsRawOrderIn);
order1.setSapTempStatus("1");//0是失败。1是成功
odsProcureOrderMapper.updateOdsProcureOrder(order1);
for (OdsProcureOrder odsProcureOrder1:orderList){
//收货
@ -1340,6 +1350,8 @@ public class OdsProcureOrderServiceImpl implements IOdsProcureOrderService {
wmsOdsMateStorageNewsSn.setCreateBy(odsProcureOrder.getCreateBy());
wmsOdsMateStorageNewsSn.setGmtCreate(new Date());
wmsOdsMateStorageNewsSn.setUserDefined2(order.getUserDefined7());//批次
wmsOdsMateStorageNewsSn.setUserDefined1("RK");
wmsOdsMateStorageNewsSn.setUserDefined3("0");//0是暂收1是真收
wmsOdsMateStorageNewsSn.setFactoryCode(odsProcureOrder.getFactoryCode());
wmsOdsMateStorageNewsSn.setSapFactoryCode(odsProcureOrder.getFactoryCode());
wmsOdsMateStorageNewsSn.setActiveFlag("1");
@ -1379,15 +1391,69 @@ public class OdsProcureOrderServiceImpl implements IOdsProcureOrderService {
// wmsRawOrderInSnMapper.updateU1Byid(wmsRawOrderInSn);//入库
}
}else {////失败|
OdsProcureOrder order2 = odsProcureOrderMapper.selectOdsProcureOrderByID(odsProcureOrder.getID());
result1="暂收失败";
order.setSapTempInfor(result2.getMsg());
order.setSapTempStatus("0");//0是失败。1是成功
odsProcureOrderMapper.updateOdsProcureOrder(order);
order2.setSapTempInfor(result2.getMsg());
order2.setSapTempStatus("0");//0是失败。1是成功
odsProcureOrderMapper.updateOdsProcureOrder(order2);
return result1;
}
return result1;
}
@Override
@DS("#header.poolName")
public String sap105temporarilyCollected(List<OdsProcureOrder> odsProcureOrders) {
OdsProcureOrder odsProcureOrder = odsProcureOrders.get(0);
WmsRawOrderIn wmsRawOrderIn= wmsRawOrderInMapper.selectWmsRawOrderInByRawOrderInIdTWO(odsProcureOrder.getID());
Map paramMap=new HashMap<>();
List<Map> mapList = new ArrayList<>();
paramMap.put("S_MBLNR",wmsRawOrderIn.getUserDefined1());
paramMap.put("S_MJAHR",wmsRawOrderIn.getUserDefined2());
paramMap.put("S_MATNR",wmsRawOrderIn.getMaterialCode());
paramMap.put("incomeBatchNo",wmsRawOrderIn.getReturnName()); //批次
paramMap.put("ebelp",wmsRawOrderIn.getPoLine());
mapList.add(paramMap);
R result2 = remoteSapService.sap105temporarilyCollected(mapList);
if (result2.getCode()==200){
//成功了--成功了,根据
WmsRawOrderInSn wmsRawOrderInSn=new WmsRawOrderInSn();
wmsRawOrderInSn.setUserDefined5(wmsRawOrderIn.getDnNo());
wmsRawOrderInSn.setUserDefined1("1");//暂收
List<WmsRawOrderInSn> wmsRawOrderInSnList= wmsRawOrderInSnMapper.selectWmsRawOrderInSnList(wmsRawOrderInSn);
for (WmsRawOrderInSn wmsRawOrderInSn1:
wmsRawOrderInSnList) {
WmsOdsMateStorageNewsSn wmsRawOrderInNewsSn=new WmsOdsMateStorageNewsSn();
wmsRawOrderInNewsSn.setMaterialCode(wmsRawOrderInSn1.getMaterialCode());
wmsRawOrderInNewsSn.setWaCode(wmsRawOrderInSn1.getWaCode());
wmsRawOrderInNewsSn.setWhCode(wmsRawOrderInSn1.getWhCode());
wmsRawOrderInNewsSn.setWlCode(wmsRawOrderInSn1.getWlCode());
wmsRawOrderInNewsSn.setUserDefined3("1");
wmsOdsMateStorageNewsSnMapper.updateWmsOdsMateStorageNewsSn(wmsRawOrderInNewsSn);
wmsRawOrderInSn1.setUserDefined1("2");
wmsRawOrderInSnMapper.updateWmsRawOrderInSn(wmsRawOrderInSn1);
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());
wmsRawOrderInMapper.updateWmsRawOrderIn(wmsRawOrderIn);
return result2.getMsg();
}else {
//失败了
wmsRawOrderIn.setAccountingTime(new Date());
wmsRawOrderIn.setAccountingMessage(result2.getMsg());
wmsRawOrderInMapper.updateWmsRawOrderIn(wmsRawOrderIn);
return result2.getMsg();
}
}
public String dayin( List<OdsProcureOrder> orderList) {
// 定义请求的URL地址
String url = dayinUrl1;

@ -90,7 +90,11 @@
<include refid="selectOdsProcureOrderVo"/>
where ID = #{ID}
</select>
<select id="selectOdsProcureOrderByIDAndSap" parameterType="String" resultMap="OdsProcureOrderResult">
<include refid="selectOdsProcureOrderVo"/>
where ID = #{ID}
and ( Sap_Temp_Status!='1' OR Sap_Temp_Status is NULL)
</select>
<insert id="insertOdsProcureOrder" parameterType="OdsProcureOrder">
insert into ods_procure_order
<trim prefix="(" suffix=")" suffixOverrides=",">

Loading…
Cancel
Save