update 到货单入库,增加SAP过账,QMS过账功能
This commit is contained in:
parent
5b6665cab1
commit
02b8a5fca5
@ -475,5 +475,97 @@ public class QMSServiceImpl implements QMSService{
|
||||
return code;
|
||||
|
||||
}
|
||||
|
||||
|
||||
public String sendToIQCByDataList(String opCode, List<Map<String, Object>> list) throws CustomException {
|
||||
|
||||
JSONArray jsonArray = new JSONArray();
|
||||
for (int i = 0; i < list.size(); i++) {
|
||||
JSONObject jsonObject = new JSONObject(true);
|
||||
// "deliveryNumber": "SDK20240511003",
|
||||
// "supplierName": "BOE",
|
||||
// "supplierCode": "0000102038",
|
||||
// "materialName": "胶带",
|
||||
// "materialCode": "2F08S4J4",
|
||||
// "materialGroup": "A40001",
|
||||
// "batchQuantity": 10,
|
||||
// "quantityUnit": "1",
|
||||
// "deliveryDate": "2024-1-1 12:2:2"
|
||||
jsonObject.put("opCode", opCode);
|
||||
jsonObject.put("deliveryNumber", opCode);
|
||||
jsonObject.put("warehouse", list.get(i).get("ERPLOCATIONDESC"));
|
||||
jsonObject.put("supplierName", list.get(i).get("SUPPLIERNAME"));
|
||||
jsonObject.put("supplierCode", list.get(i).get("SUPPLIERCODE"));
|
||||
jsonObject.put("materialName", list.get(i).get("MATERIALNAME"));
|
||||
jsonObject.put("materialCode", list.get(i).get("MATERIALCODE"));
|
||||
jsonObject.put("materialGroup", list.get(i).get("MATERIALGROUP"));
|
||||
jsonObject.put("batchQuantity", list.get(i).get("BATCHQUANTITY"));
|
||||
jsonObject.put("quantityUnit", list.get(i).get("QUANTITYUNIT"));
|
||||
jsonObject.put("deliveryDate", list.get(i).get("DELIVERYDATE"));
|
||||
jsonObject.put("specifications", list.get(i).get("BATCHNUMBER"));
|
||||
jsonObject.put("LOCATIONNAME", list.get(i).get("LOCATIONNAME"));
|
||||
jsonObject.put("inspector", "检验室(原材仓)");
|
||||
|
||||
String erpFactory = list.get(i).get("BATCHQUANTITY") == null ? "" : list.get(i).get("BATCHQUANTITY").toString();
|
||||
String factoryArea = "";
|
||||
if("103".equals(erpFactory)) {
|
||||
factoryArea = "tc";
|
||||
}else if("105".equals(erpFactory)) {
|
||||
factoryArea = "cq";
|
||||
}else if("106".equals(erpFactory)){
|
||||
factoryArea = "dg";
|
||||
}else {
|
||||
factoryArea = "sh";
|
||||
}
|
||||
// 入库单号和厂区
|
||||
String receiveRequestName = list.get(i).get("RECEIVEREQUESTNAME") == null ? "" : list.get(i).get("RECEIVEREQUESTNAME").toString();
|
||||
jsonObject.put("transferOrderNumber", receiveRequestName);
|
||||
jsonObject.put("factoryArea", factoryArea);
|
||||
|
||||
/**
|
||||
* 增加供应商编码和供应商名称
|
||||
* 2025-05-12
|
||||
*/
|
||||
//供应商编码
|
||||
jsonObject.put("supplierCode", list.get(i).get("SUPPLIERCODE"));
|
||||
//供应商名称
|
||||
jsonObject.put("supplierName", list.get(i).get("SUPPLIERNAME"));
|
||||
|
||||
String lots = list.get(i).get("LOTS") == null ? "" : list.get(i).get("LOTS").toString();
|
||||
String[] split = lots.split("\\;");
|
||||
JSONArray jsonArray2 = new JSONArray ();
|
||||
for (int j = 0; j < split.length; j++) {
|
||||
jsonArray2.add(split[j]);
|
||||
}
|
||||
jsonObject.put("lots", jsonArray2);
|
||||
jsonArray.add(jsonObject);
|
||||
}
|
||||
String makePreIQCInfoSendJson = jsonArray.toString();
|
||||
String httpPost = NCHttpUtil.httpPost(baseUrl + "/iqc/select/number", makePreIQCInfoSendJson);
|
||||
org.json.JSONObject jsonObject = new org.json.JSONObject(httpPost);
|
||||
String code = jsonObject.getString("code");
|
||||
if (!"00000".equals(code)) {
|
||||
|
||||
}
|
||||
// String msg = jsonObject.getString("msg");
|
||||
//JSONObject object = (JSONObject) jsonObject.get("data");
|
||||
Thread t = new Thread(new Runnable(){
|
||||
public void run(){
|
||||
// run方法具体重写
|
||||
UUID uuid = UUID.randomUUID();
|
||||
ErpMessageLog erplog = new ErpMessageLog();
|
||||
erplog.setEventUser("");
|
||||
erplog.setServerName("WmsToQMS");
|
||||
erplog.setEventName("PreIQCInfoSend");
|
||||
erplog.setId(uuid.toString());
|
||||
erplog.setInterfaceTime(ConvertUtil.getCurrTime("yyyy-MM-dd HH:mm:ss"));
|
||||
erplog.setMessageId(UUID.randomUUID().toString());
|
||||
erplog.setSendMsg(makePreIQCInfoSendJson);
|
||||
erplog.setReturnMsg2(httpPost.toString());
|
||||
erplog.setResultCode(code);
|
||||
MessageLogUtil.writeMessageLog(erplog);
|
||||
}});
|
||||
t.start();
|
||||
return code;
|
||||
|
||||
}
|
||||
}
|
||||
|
@ -5,12 +5,17 @@ import com.alibaba.fastjson.JSONObject;
|
||||
import com.cim.idm.data.AuditBox;
|
||||
import com.cim.idm.data.ErpMessageLog;
|
||||
import com.cim.idm.framework.IDMFrameServiceProxy;
|
||||
import com.cim.idm.framework.data.EventInfo;
|
||||
import com.cim.idm.framework.util.sys.SystemPropHelper;
|
||||
import com.cim.idm.framework.util.time.TimeStampUtil;
|
||||
import com.cim.idm.util.MessageLogUtil;
|
||||
import com.cim.idm.util.ToSAPMessageUtil;
|
||||
import com.cim.idm.wmsextend.generic.errorHandler.CustomException;
|
||||
import com.cim.idm.wmsextend.generic.util.EventInfoUtil;
|
||||
import com.cim.idm.wmspackage.materialpacking.MaterialPackingServiceProxy;
|
||||
import com.cim.idm.wmspackage.materialpacking.management.data.MaterialPacking;
|
||||
import com.cim.idm.wmspackage.materialpacking.management.data.MaterialPackingKey;
|
||||
import com.cim.idm.wmspackage.materialpacking.management.info.SetEventInfo;
|
||||
import com.fasterxml.jackson.core.JsonProcessingException;
|
||||
import com.fasterxml.jackson.databind.JsonMappingException;
|
||||
import com.fasterxml.jackson.databind.ObjectMapper;
|
||||
@ -29,6 +34,8 @@ public class ToSAPServiceImpl {
|
||||
|
||||
@Autowired
|
||||
private ToSAPMessageUtil toSAPMessageUtil;
|
||||
@Autowired
|
||||
private QMSServiceImpl qmsServiceImpl;
|
||||
|
||||
|
||||
public String PurStockIn(String receiveRequestName, String siteName, String user,
|
||||
@ -6271,4 +6278,194 @@ public class ToSAPServiceImpl {
|
||||
bodyJSonData.put("BUDAT", payMentDate);
|
||||
return MainData.toJSONString();
|
||||
}
|
||||
|
||||
/**
|
||||
* 到货单入库调用SAP过账
|
||||
* @param deliveryName 到货单号
|
||||
* @param siteName 工厂
|
||||
* @param user 登录用户
|
||||
* @param commitDate 过账时间
|
||||
* @param opCode
|
||||
* @return
|
||||
* @throws Exception
|
||||
*/
|
||||
public String DeliveryToSAPMontage(String deliveryName, String siteName, String user,String commitDate, String opCode, List<String> saleList) throws Exception {
|
||||
EventInfo eventInfo = new EventInfoUtil().makeEventInfo("NormalStockInDelivery", user, "NormalStockInDelivery", "", "");
|
||||
String rcode;
|
||||
String undoId = "";
|
||||
String rmsg = null;
|
||||
//调用SAP接口的报文
|
||||
String sendData = "";
|
||||
//SAP返回报文
|
||||
String sapreturn = "";
|
||||
List<MaterialPackingKey> materialPackingKeyList = new ArrayList<>();
|
||||
//依据采购订单,查询待入库的物料(MATERIALPACKING)
|
||||
String querySql = " \n" +
|
||||
"\tSELECT\n" +
|
||||
" D.DELIVERYSTATE,\n" +
|
||||
" DR.DELIVERYNAME,\n" +
|
||||
" DR.DELIVERYNUM,\n" +
|
||||
" DR.RECEIVEREQUESTNAME,\n" +
|
||||
" DR.RECEIVEREQUESTDETAILNAME,\n" +
|
||||
" DR.MATERIALSPECNAME,\n" +
|
||||
" P.MATERIALPACKINGNAME,\n" +
|
||||
" P.ERPLOCATION,\n" +
|
||||
" P.ERPFACTORY,\n" +
|
||||
" P.SUPPLIERNAME,\n" +
|
||||
" P.UNIT,\n" +
|
||||
"\t\tP.FQTY,\n" +
|
||||
" P.FUNIT,\n" +
|
||||
" P.REMARK,\n" +
|
||||
"\t\tBF.IQCFLAG,\n" +
|
||||
" P.OQARESULT,\n" +
|
||||
"\t\tR.STOCKORGNO,\n" +
|
||||
"\t\tR.RECEIVEREQUESTTYPE\n" +
|
||||
"FROM\n" +
|
||||
" MATERIALPACKING P \n" +
|
||||
"LEFT JOIN BS_MATERIALFACTORY BF ON BF.MATERIALSPECNAME = P.MATERIALSPECNAME AND BF.ERPFACTORY = P.ERPFACTORY\n" +
|
||||
"LEFT JOIN MATERIALRECEIVEREQUESTDETAIL RD ON P.SITENAME = RD.SITENAME \n" +
|
||||
"LEFT JOIN MATERIALRECEIVEREQUEST R ON RD.RECEIVEREQUESTNAME = R.RECEIVEREQUESTNAME AND RD.SITENAME = R.SITENAME\n" +
|
||||
"LEFT JOIN MATERIALDELIVERYRECEIVE DR ON R.RECEIVEREQUESTNAME=DR.RECEIVEREQUESTNAME \n" +
|
||||
"LEFT JOIN MATERIALDELIVERY D ON DR.DELIVERYNAME = D.DELIVERYNAME\n" +
|
||||
"WHERE\n" +
|
||||
" D.SITENAME =:SITENAME\n" +
|
||||
" AND D.DELIVERYNAME =:DELIVERYNAME\n" +
|
||||
" AND D.DELIVERYSTATE = '01'\n" +
|
||||
"\t\tAND DR.MATERIALSPECNAME=RD.MATERIALSPECNAME\n" +
|
||||
"\t\tAND RD.RECEIVEREQUESTDETAILNAME=DR.RECEIVEREQUESTDETAILNAME\n" +
|
||||
"\t\tAND P.RECEIVEREQUESTNAME = DR.DELIVERYNAME \n" +
|
||||
"\t\tAND P.MATERIALSPECNAME = DR.MATERIALSPECNAME ";
|
||||
Map<String, Object> hashMap = new HashMap<String, Object>();
|
||||
hashMap.put("DELIVERYNAME", deliveryName);
|
||||
hashMap.put("SITENAME", siteName);
|
||||
List<Map<String, Object>> queryForList = IDMFrameServiceProxy.getSqlTemplate().queryForList(querySql, hashMap);
|
||||
List<Map<String, Object>> receiveBoxsQty = new ArrayList<>(); //基于标签收包的维度的数量
|
||||
try {
|
||||
Map<String,Object> bodyData = new HashMap<>();
|
||||
List<Map<String,Object>> itemData = new ArrayList<>();
|
||||
|
||||
for (Map<String, Object> mm : queryForList) {
|
||||
|
||||
//UMWRK 收货工厂
|
||||
//LGORT 发货库存地点
|
||||
//UMLOG 收货库存地点
|
||||
//MATNR 发货物料号
|
||||
//UMMAT 收货物料
|
||||
Map<String,Object> item = new HashMap<>();
|
||||
item.put("MATNR", mm.get("MATERIALSPECNAME"));
|
||||
item.put("LGORT", mm.get("ERPLOCATION"));
|
||||
//item.put("UMWRK", mm.get("ERPFACTORY"));
|
||||
item.put("WERKS", mm.get("ERPFACTORY"));
|
||||
item.put("BWART","101");
|
||||
item.put("LIFNR", mm.get("SUPPLIERNAME"));
|
||||
item.put("MENGE", mm.get("MATERIALQUANTITY"));
|
||||
item.put("MEINS", mm.get("UNIT"));
|
||||
item.put("BPMNG", mm.get("FQTY"));//采购价格单位数量
|
||||
item.put("BPRME", mm.get("FUNIT"));//采购价格单位
|
||||
|
||||
item.put("EBELN", mm.get("RECEIVEREQUESTNAME"));
|
||||
item.put("EBELP", mm.get("RECEIVEREQUESTDETAILNAME"));
|
||||
item.put("SGTXT", mm.get("REMARK"));
|
||||
String insmk = "";
|
||||
if("Y".equals((String)mm.get("IQCFLAG"))) {
|
||||
insmk = "2";
|
||||
}
|
||||
if("NG".equals((String)mm.get("OQARESULT"))) {
|
||||
insmk = "3";
|
||||
}
|
||||
// String insmk = StringUtils.equals(mm.get("OQARESULTSTATE").toString(),"END")?"":"X";
|
||||
item.put("INSMK", insmk);
|
||||
itemData.add(item);
|
||||
//存储条码,更新UNDOID用
|
||||
MaterialPackingKey materialPackingKey = new MaterialPackingKey(siteName, mm.get("MATERIALPACKINGNAME").toString());
|
||||
materialPackingKeyList.add(materialPackingKey);
|
||||
}
|
||||
|
||||
sendData = ToSAPMessageUtil.mm067(user, bodyData, itemData, commitDate);
|
||||
|
||||
sapreturn = toSAPMessageUtil.sendHttpPost(toSAPMessageUtil.materialChangeLocationUrl,"",sendData);
|
||||
org.json.JSONObject receiveJsonObject = new org.json.JSONObject(sapreturn);
|
||||
|
||||
org.json.JSONObject returnJsonObject = (org.json.JSONObject) receiveJsonObject.get("RETURN");
|
||||
rcode = returnJsonObject.get("STATUS").toString();
|
||||
rmsg = returnJsonObject.get("MSGTXT").toString();
|
||||
//将log写到表里
|
||||
ErpMessageLog erplog = new ErpMessageLog();
|
||||
erplog.setEventUser("");
|
||||
erplog.setServerName("WmsToErp");
|
||||
erplog.setEventName("PurStockIn");
|
||||
erplog.setInterfaceTime(TimeStampUtil.getCurrentTime(TimeStampUtil.FORMAT_DEFAULT));
|
||||
erplog.setMessageId(UUID.randomUUID().toString());
|
||||
erplog.setSendMsg(sendData);
|
||||
erplog.setReturnMsg2(sapreturn);
|
||||
erplog.setResultCode(rcode);
|
||||
MessageLogUtil.writeMessageLog(erplog);
|
||||
if ("S".equals(rcode)) {
|
||||
undoId = returnJsonObject.get("MBLNR").toString()+"_"+returnJsonObject.get("MJAHR").toString();//将物料凭证号与凭证年度拼在一起
|
||||
}else {
|
||||
throw new RuntimeException("SAP返回" + rmsg);
|
||||
}
|
||||
} catch (Exception e) {
|
||||
log.info(e.getMessage(), e);
|
||||
throw new RuntimeException("SAP返回" + rmsg);
|
||||
}
|
||||
|
||||
if(!saleList.contains(queryForList.get(0).get("RECEIVEREQUESTTYPE").toString())) {
|
||||
try {
|
||||
// 调用 QMS
|
||||
//qMSServiceImpl.PreIQCInfoSend(receiveRequestName, "SDK",opCode, erpFactory);
|
||||
qmsServiceImpl.sendToIQCByDataList(opCode, queryForList);
|
||||
} catch (CustomException e) {
|
||||
e.printStackTrace();
|
||||
throw new RuntimeException("QMS返回" + e.toString());
|
||||
}
|
||||
}
|
||||
// 更新入库凭证,更新库存状态
|
||||
if (materialPackingKeyList.size() > 0){
|
||||
SetEventInfo setEventInfo = new SetEventInfo();
|
||||
Map<String, Object> updateMap = new HashMap<>();
|
||||
updateMap.put("unDoID", undoId);
|
||||
updateMap.put("packingState","Released");
|
||||
updateMap.put("stockState","Stocked");
|
||||
updateMap.put("messageId",opCode);
|
||||
updateMap.put("shipRequestName", "");
|
||||
updateMap.put("shipRequestDetailName", "");
|
||||
setEventInfo.setUserColumns(updateMap);
|
||||
MaterialPackingServiceProxy.getMaterialPackingService().setEvent(materialPackingKeyList, eventInfo, setEventInfo);
|
||||
}
|
||||
//插入凭证信息
|
||||
SaveUnDoInfo(deliveryName,commitDate);
|
||||
return undoId;
|
||||
}
|
||||
|
||||
/**
|
||||
* 接收ERP返回消息更新WMS凭证
|
||||
* @param materialPackingName
|
||||
*/
|
||||
public void SaveUnDoInfo(String materialPackingName,String commitDate) {
|
||||
|
||||
String insertUnDOMaterialPackingInfo = "insert into BS_MATERIALPACKINGUNDOINFO (unDoID,preundoid,UNDODETAILNAME,undoidstate,UNDOIDDATE,"
|
||||
+ "SITENAME, MATERIALPACKINGNAME, MATERIALPACKINGTYPE, CONTENTMATERIALTYPE,"
|
||||
+ "MATERIALTYPE, MATERIALSPECNAME, SUPERMATERIALPACKINGNAME, PACKINGGRADE, SUBPACKINGQUANTITY, MATERIALCREATEQUANTITY,"
|
||||
+ "MATERIALQUANTITY, PACKINGSTATE, OLDPACKINGSTATE, STOCKSTATE, OLDSTOCKSTATE, HOLDSTATE, AREANAME, LOCATIONNAME,"
|
||||
+ "DURABLENAME, MATERIALPROCESSGROUPNAME, LASTEVENTNAME, LASTEVENTTIMEKEY, LASTEVENTTIME, LASTEVENTUSER,"
|
||||
+ "LASTEVENTCOMMENT, CREATETIME, CREATEUSER, RECEIVEREQUESTNAME, RECEIVEREQUESTDETAILNAME,"
|
||||
+ "MAKEDATE, RECEIVEACTNO, STOCKINTYPE, RECEIVETIME, RECEIVEUSER, SHIPREQUESTNAME, SHIPREQUESTDETAILNAME, SHIPTIME,"
|
||||
+ "SHIPUSER, REASONCODETYPE, OQARESULTSTATE, OQARESULT, ERPLOCATION, ERPFACTORY, REASONCODE, CHARGE, SUPPLIERNAME,ETCSTATE,ERPEVENTTIME,NPFLAG)"
|
||||
+ "select unDoID,'' as preundoid,UNDODETAILNAME,'Completed' as undoidstate,:commitDate AS UNDOIDDATE," //
|
||||
+ "SITENAME, MATERIALPACKINGNAME, MATERIALPACKINGTYPE, CONTENTMATERIALTYPE,"
|
||||
+ "MATERIALTYPE, MATERIALSPECNAME, SUPERMATERIALPACKINGNAME, PACKINGGRADE, SUBPACKINGQUANTITY, MATERIALCREATEQUANTITY,"
|
||||
+ "MATERIALQUANTITY, PACKINGSTATE, OLDPACKINGSTATE, STOCKSTATE, OLDSTOCKSTATE, HOLDSTATE, AREANAME, LOCATIONNAME,"
|
||||
+ "DURABLENAME, MATERIALPROCESSGROUPNAME, LASTEVENTNAME, LASTEVENTTIMEKEY, LASTEVENTTIME, LASTEVENTUSER,"
|
||||
+ "LASTEVENTCOMMENT, CREATETIME, CREATEUSER, RECEIVEREQUESTNAME, RECEIVEREQUESTDETAILNAME,"
|
||||
+ "MAKEDATE, RECEIVEACTNO, STOCKINTYPE, RECEIVETIME, RECEIVEUSER, SHIPREQUESTNAME, SHIPREQUESTDETAILNAME, SHIPTIME,"
|
||||
+ "SHIPUSER, REASONCODETYPE, OQARESULTSTATE, OQARESULT, ERPLOCATION, ERPFACTORY, REASONCODE, CHARGE, SUPPLIERNAME,ETCSTATE,ERPEVENTTIME,NPFLAG"
|
||||
+ " from MATERIALPACKING "
|
||||
+ " where MATERIALPACKINGNAME=:MATERIALPACKINGNAME ";
|
||||
|
||||
Map<String, Object> bindMap_insert = new HashMap<String, Object>();
|
||||
bindMap_insert.put("MATERIALPACKINGNAME", materialPackingName);
|
||||
bindMap_insert.put("commitDate", commitDate);
|
||||
IDMFrameServiceProxy.getSqlTemplate().update(insertUnDOMaterialPackingInfo, bindMap_insert);
|
||||
}
|
||||
}
|
||||
|
@ -137,4 +137,44 @@ public class DeliveryController {
|
||||
}
|
||||
return AjaxResult.me().setErrorCode(-1).setMessage("删除失败");
|
||||
}
|
||||
|
||||
/**
|
||||
* 2025-05-14
|
||||
* 获取到货单入库详情
|
||||
*/
|
||||
@PostMapping(value = "/getMaterialDeliveryDetailList")
|
||||
public AjaxResult GetMaterialDeliveryDetailList(@RequestBody JSONObject in) {
|
||||
Map<String, String> params = (Map<String, String>) in.get("params");
|
||||
// siteName
|
||||
StoreDetailDto storeDetailDto = new StoreDetailDto();
|
||||
storeDetailDto.setSiteName(params.get("SITENAME"));
|
||||
storeDetailDto.setDocumentName(params.get("RECEIVEREQUESTNAME"));
|
||||
// 单据名称集合
|
||||
List<String> nameList = new ArrayList<>();
|
||||
String deliveryName = null;
|
||||
MaterialDelivery byKey = deliveryService.getByKey(storeDetailDto);
|
||||
// 到货单
|
||||
if (Objects.nonNull(byKey)) {
|
||||
deliveryName = byKey.getDeliveryName();
|
||||
// 到库单(找出该单据下的所有的采购单)
|
||||
nameList = deliveryService.getRelByDelivery(storeDetailDto)
|
||||
.stream().map(MaterialDeliveryReceive::getReceiveRequestName).distinct().collect(Collectors.toList());
|
||||
}
|
||||
// 异常
|
||||
if (nameList.isEmpty()) {
|
||||
throw new GlobalException("不存在该单据");
|
||||
}
|
||||
|
||||
// 获取采购单明细及批次
|
||||
String deliveryType = params.get("deliveryType");
|
||||
if (deliveryType.equals(DeliveryTypeEnums.BATCH.getCode())) {
|
||||
// 批次
|
||||
return AjaxResult.me().setSuccess(true).setResultObj(
|
||||
deliveryService.getStoreDetail(storeDetailDto.getDocumentName(), storeDetailDto.getSiteName(), nameList, deliveryName));
|
||||
} else {
|
||||
// 辅材
|
||||
return AjaxResult.me().setSuccess(true).setResultObj(
|
||||
deliveryService.getMaterialDetail(storeDetailDto.getDocumentName(), storeDetailDto.getSiteName(), nameList, deliveryName));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -619,4 +619,43 @@ public class MaterialReceiveActController {
|
||||
}
|
||||
return billCode;
|
||||
}
|
||||
|
||||
/**
|
||||
* 到货单入库过账
|
||||
* 2025-05-14
|
||||
* @param in receiveRequestName到货单号
|
||||
* @return 返回信息
|
||||
*/
|
||||
@RequestMapping(value = "/commitDeliveryStockInToSAP", method = RequestMethod.POST)
|
||||
public AjaxResult CommitDeliveryStockInToSAP(@RequestBody JSONObject in ) {
|
||||
try {
|
||||
TrackOutBoDto trackOutBoDto = JSON.toJavaObject(in, TrackOutBoDto.class);
|
||||
StoreDetailDto storeDetailDto = new StoreDetailDto();
|
||||
storeDetailDto.setDocumentName(trackOutBoDto.getReceiveRequestName());
|
||||
storeDetailDto.setSiteName(trackOutBoDto.getSiteName());
|
||||
MaterialDelivery materialDelivery = deliveryService.getByKey(storeDetailDto);
|
||||
if (Objects.nonNull(materialDelivery)) {
|
||||
String user = trackOutBoDto.getUser();
|
||||
String opCode = trackOutBoDto.getOpCode();
|
||||
String commitDate = trackOutBoDto.getCommitDate();
|
||||
String siteName = trackOutBoDto.getSiteName();
|
||||
toSAPServiceImpl.DeliveryToSAPMontage(materialDelivery.getDeliveryName(), siteName, user, commitDate,opCode,ReceiveTypeEnums.getsaleReturn());
|
||||
// 到货单据更新状态
|
||||
if (Objects.nonNull(materialDelivery.getDeliveryName())) {
|
||||
DeliveryEditDto deliveryEditDto = new DeliveryEditDto();
|
||||
deliveryEditDto.setDeliveryName(trackOutBoDto.getReceiveRequestName());
|
||||
deliveryEditDto.setSiteName(trackOutBoDto.getSiteName());
|
||||
// @TODO 完成状态下,更新为 DeliveryStateEnums.FINISH
|
||||
deliveryEditDto.setDeliveryState(DeliveryStateEnums.DOING.getCode());
|
||||
deliveryService.editDelivery(deliveryEditDto);
|
||||
}
|
||||
} else {
|
||||
return AjaxResult.me().setSuccess(false).setMessage("到货单:" + trackOutBoDto.getReceiveRequestName() + "不存在").setErrorCode(400);
|
||||
}
|
||||
} catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
return AjaxResult.me().setSuccess(false).setMessage(e.toString());
|
||||
}
|
||||
return AjaxResult.me().setSuccess(true);
|
||||
}
|
||||
}
|
||||
|
@ -285,7 +285,7 @@
|
||||
</select>
|
||||
|
||||
<select id="getRelByDelivery" resultType="com.cim.idm.model.po.delivery.MaterialDeliveryReceive">
|
||||
SELECT md.DELIVERYNAME, md.DELIVERYNUM, md.RECEIVEREQUESTNAME, md.MATERIALSPECNAME, md.RECEIVEREQUESTDETAILNAME
|
||||
SELECT md.DELIVERYNAME, md.DELIVERYNUM, md.RECEIVEREQUESTNAME, md.MATERIALSPECNAME, md.RECEIVEREQUESTDETAILNAME
|
||||
FROM MATERIALDELIVERYRECEIVE md
|
||||
WHERE md.DELIVERYNAME = #{dto.documentName}
|
||||
</select>
|
||||
|
Loading…
x
Reference in New Issue
Block a user