feat 修改到货单过账关联采购订单发送sap消息
This commit is contained in:
parent
645e8ea629
commit
3810db4375
@ -4,6 +4,7 @@ import com.alibaba.fastjson.JSON;
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
import com.cim.idm.constants.ReceiveTypeEnums;
|
||||
import com.cim.idm.model.DeliveryDto;
|
||||
import com.cim.idm.model.MaterialReceiveRequest;
|
||||
import com.cim.idm.model.PageDto;
|
||||
import com.cim.idm.service.IDeliveryService;
|
||||
import com.cim.idm.utils.AjaxResult;
|
||||
@ -17,6 +18,7 @@ import javax.annotation.Resource;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
@RestController
|
||||
@RequestMapping("/delivery")
|
||||
@ -56,10 +58,11 @@ public class DeliveryController {
|
||||
// 单据名称集合
|
||||
List<String> nameList = new ArrayList<>();
|
||||
// 判定是否是到库单
|
||||
String typeByKey = deliveryService.getTypeByKey(siteName, receiveRequestName);
|
||||
String typeByKey = deliveryService.getByKey(siteName, receiveRequestName).getReceiveRequestType();
|
||||
if (typeByKey.equals(ReceiveTypeEnums.DK.getCode())) {
|
||||
// 到库单(找出该单据下的所有的采购单)
|
||||
nameList = deliveryService.getReceiveByDelivery(siteName, receiveRequestName);
|
||||
nameList = deliveryService.getReceiveByDelivery(siteName, receiveRequestName)
|
||||
.stream().map(MaterialReceiveRequest::getReceiveRequestName).collect(Collectors.toList());
|
||||
} else {
|
||||
// 采购单
|
||||
nameList.add(receiveRequestName);
|
||||
|
@ -2,12 +2,14 @@ package com.cim.idm.controller;
|
||||
|
||||
import com.alibaba.fastjson.JSON;
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
import com.cim.idm.constants.ReceiveTypeEnums;
|
||||
import com.cim.idm.framework.IDMFrameServiceProxy;
|
||||
import com.cim.idm.framework.data.EventInfo;
|
||||
import com.cim.idm.model.MaterialReceiveRequest;
|
||||
import com.cim.idm.model.MaterialreceiveActDto;
|
||||
import com.cim.idm.model.TrackOutBoDto;
|
||||
import com.cim.idm.mwmsextend.materialpacking.service.MaterialPackingServiceImpl;
|
||||
import com.cim.idm.service.IDeliveryService;
|
||||
import com.cim.idm.service.impl.QMSServiceImpl;
|
||||
import com.cim.idm.service.impl.ToSAPServiceImpl;
|
||||
import com.cim.idm.utils.AjaxResult;
|
||||
@ -21,7 +23,6 @@ import org.apache.commons.logging.Log;
|
||||
import org.apache.commons.logging.LogFactory;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
|
||||
import org.springframework.jdbc.core.BeanPropertyRowMapper;
|
||||
import org.springframework.web.bind.annotation.RequestBody;
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
import org.springframework.web.bind.annotation.RequestMethod;
|
||||
@ -29,17 +30,20 @@ import org.springframework.web.bind.annotation.RestController;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.sql.Timestamp;
|
||||
import java.util.Date;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.*;
|
||||
|
||||
import com.cim.idm.service.Impl.SDKMaterialPackingServiceImpl;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
|
||||
@RestController
|
||||
@RequestMapping("/MaterialReceiveAct")
|
||||
@EnableAutoConfiguration
|
||||
public class MaterialReceiveActController {
|
||||
|
||||
@Resource
|
||||
private IDeliveryService deliveryService;
|
||||
|
||||
private static Log log = LogFactory.getLog(MaterialReceiveActController.class);
|
||||
private EventInfo makeEventInfo;
|
||||
|
||||
@ -521,38 +525,51 @@ public class MaterialReceiveActController {
|
||||
|
||||
@RequestMapping(value = "/commitToERP", method = RequestMethod.POST)
|
||||
public AjaxResult commitToERP(@RequestBody JSONObject in ) {
|
||||
TrackOutBoDto boxs = JSON.toJavaObject(in, TrackOutBoDto.class);
|
||||
String commitDate = boxs.getCommitDate();
|
||||
MaterialreceiveActDto box = boxs.getMaterialreceiveAct();
|
||||
String user = boxs.getUser();
|
||||
String receiveRequestName = box.getReceiveRequestName();
|
||||
String siteName = box.getSiteName();
|
||||
String opCode = boxs.getOpCode();
|
||||
|
||||
String erpFactory = box.getErpFactory();
|
||||
try {
|
||||
//调用QMS
|
||||
qMSServiceImpl.PreIQCInfoSend(receiveRequestName, "SDK",opCode, erpFactory);
|
||||
} catch (CustomException e) {
|
||||
// TODO Auto-generated catch block
|
||||
e.printStackTrace();
|
||||
return AjaxResult.me().setSuccess(false).setMessage(e.toString());
|
||||
TrackOutBoDto trackOutBoDto = JSON.toJavaObject(in, TrackOutBoDto.class);
|
||||
String user = trackOutBoDto.getUser();
|
||||
String opCode = trackOutBoDto.getOpCode();
|
||||
String commitDate = trackOutBoDto.getCommitDate();
|
||||
String name = trackOutBoDto.getReceiveRequestName();
|
||||
String site = trackOutBoDto.getSiteName();
|
||||
// 采购单
|
||||
List<MaterialReceiveRequest> requests = new ArrayList<>();
|
||||
// 判定单据类型
|
||||
MaterialReceiveRequest byKey = deliveryService.getByKey(site, name);
|
||||
if (byKey.getReceiveRequestType().equals(ReceiveTypeEnums.DK.getCode())) {
|
||||
// 到货单
|
||||
requests = deliveryService.getReceiveByDelivery(site, name);
|
||||
} else {
|
||||
requests.add(byKey);
|
||||
}
|
||||
// 采购单处理
|
||||
for (MaterialReceiveRequest request : requests) {
|
||||
String receiveRequestName = request.getReceiveRequestName();
|
||||
String siteName = request.getSiteName();
|
||||
String erpFactory = request.getSTOCKORGNO();
|
||||
try {
|
||||
//调用QMS
|
||||
qMSServiceImpl.PreIQCInfoSend(receiveRequestName, "SDK",opCode, erpFactory);
|
||||
} catch (CustomException e) {
|
||||
// TODO Auto-generated catch block
|
||||
e.printStackTrace();
|
||||
return AjaxResult.me().setSuccess(false).setMessage(e.toString());
|
||||
}
|
||||
|
||||
String undoid;
|
||||
try {
|
||||
undoid = SendERPStockIn(receiveRequestName, siteName, user, opCode,commitDate,opCode);
|
||||
} catch (Exception e) {
|
||||
// TODO Auto-generated catch block
|
||||
e.printStackTrace();
|
||||
return AjaxResult.me().setSuccess(false).setMessage(e.toString());
|
||||
}//发送过账
|
||||
makeEventInfo = new EventInfoUtil().makeEventInfo("NormalStockInForSDK", user, "NormalStockInForSDK");
|
||||
//更新入库凭证
|
||||
SDKMaterialPackingServiceImpl.updateUndoIdByReceive(receiveRequestName, undoid, makeEventInfo);
|
||||
//更新库存状态
|
||||
SDKMaterialPackingServiceImpl.SaveUnDoInfo( undoid,commitDate);
|
||||
SDKMaterialPackingServiceImpl.updateStockState( makeEventInfo, undoid,opCode);
|
||||
String undoid;
|
||||
try {
|
||||
undoid = SendERPStockIn(receiveRequestName, siteName, user, opCode,commitDate,opCode);
|
||||
} catch (Exception e) {
|
||||
// TODO Auto-generated catch block
|
||||
e.printStackTrace();
|
||||
return AjaxResult.me().setSuccess(false).setMessage(e.toString());
|
||||
}//发送过账
|
||||
makeEventInfo = new EventInfoUtil().makeEventInfo("NormalStockInForSDK", user, "NormalStockInForSDK");
|
||||
//更新入库凭证
|
||||
SDKMaterialPackingServiceImpl.updateUndoIdByReceive(receiveRequestName, undoid, makeEventInfo);
|
||||
//更新库存状态
|
||||
SDKMaterialPackingServiceImpl.SaveUnDoInfo( undoid,commitDate);
|
||||
SDKMaterialPackingServiceImpl.updateStockState( makeEventInfo, undoid,opCode);
|
||||
}
|
||||
return AjaxResult.me().setResultObj(null);
|
||||
}
|
||||
|
||||
|
@ -51,12 +51,12 @@ public interface DeliveryDao {
|
||||
/**
|
||||
* 根据 key 获取值
|
||||
*/
|
||||
String getTypeByKey(@Param("siteName") String siteName,
|
||||
MaterialReceiveRequest getByKey(@Param("siteName") String siteName,
|
||||
@Param("receiveRequestName") String receiveRequestName);
|
||||
|
||||
/**
|
||||
* 根据到库单获取采购单名称
|
||||
*/
|
||||
List<String> getReceiveByDelivery(@Param("siteName") String siteName,
|
||||
List<MaterialReceiveRequest> getReceiveByDelivery(@Param("siteName") String siteName,
|
||||
@Param("receiveRequestName") String receiveRequestName);
|
||||
}
|
||||
|
@ -20,6 +20,7 @@ public class MaterialReceiveRequest {
|
||||
private String commitDate;
|
||||
private String opCode;
|
||||
private String type;
|
||||
private String STOCKORGNO;
|
||||
private String MaterialPackingName;
|
||||
private String materialSpecName;
|
||||
private String materialQuantity;
|
||||
|
@ -5,8 +5,10 @@ import lombok.Data;
|
||||
@Data
|
||||
public class TrackOutBoDto {
|
||||
private String user;
|
||||
private String siteName;
|
||||
private String commitDate;
|
||||
private String opCode;
|
||||
private String receiveRequestName;
|
||||
private MaterialreceiveActDto materialreceiveAct;
|
||||
}
|
||||
|
||||
|
@ -37,12 +37,12 @@ public interface IDeliveryService {
|
||||
* @param receiveRequestName 单据名称
|
||||
* @return 类型
|
||||
*/
|
||||
String getTypeByKey(String siteName, String receiveRequestName);
|
||||
MaterialReceiveRequest getByKey(String siteName, String receiveRequestName);
|
||||
|
||||
/**
|
||||
* 根据到库单获取采购单名称
|
||||
* @param receiveRequestName 到库单
|
||||
* @return 采购单名称列表
|
||||
*/
|
||||
List<String> getReceiveByDelivery(String siteName, String receiveRequestName);
|
||||
List<MaterialReceiveRequest> getReceiveByDelivery(String siteName, String receiveRequestName);
|
||||
}
|
||||
|
@ -61,12 +61,12 @@ public class DeliveryServiceImpl implements IDeliveryService {
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getTypeByKey(String siteName, String receiveRequestName) {
|
||||
return deliveryDao.getTypeByKey(siteName, receiveRequestName);
|
||||
public MaterialReceiveRequest getByKey(String siteName, String receiveRequestName) {
|
||||
return deliveryDao.getByKey(siteName, receiveRequestName);
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<String> getReceiveByDelivery(String siteName, String receiveRequestName) {
|
||||
public List<MaterialReceiveRequest> getReceiveByDelivery(String siteName, String receiveRequestName) {
|
||||
return deliveryDao.getReceiveByDelivery(siteName, receiveRequestName);
|
||||
}
|
||||
}
|
||||
|
@ -117,15 +117,15 @@
|
||||
) TTT
|
||||
</select>
|
||||
|
||||
<select id="getTypeByKey" resultType="String">
|
||||
SELECT RECEIVEREQUESTTYPE
|
||||
<select id="getByKey" resultType="com.cim.idm.model.MaterialReceiveRequest">
|
||||
SELECT *
|
||||
FROM MATERIALRECEIVEREQUEST
|
||||
WHERE SITENAME = #{siteName}
|
||||
AND RECEIVEREQUESTNAME = #{receiveRequestName}
|
||||
</select>
|
||||
|
||||
<select id="getReceiveByDelivery" resultType="String">
|
||||
SELECT RECEIVEREQUESTNAME
|
||||
<select id="getReceiveByDelivery" resultType="com.cim.idm.model.MaterialReceiveRequest">
|
||||
SELECT *
|
||||
FROM MATERIALRECEIVEREQUEST
|
||||
WHERE SITENAME = #{siteName}
|
||||
AND DELIVERYNAME = #{receiveRequestName}
|
||||
|
Loading…
x
Reference in New Issue
Block a user