feat 入库时增加采购订单类型
This commit is contained in:
parent
4d8f947344
commit
912beb70d0
@ -31,4 +31,11 @@ public enum ReceiveTypeEnums {
|
||||
str.add(Z004.getCode());
|
||||
return str;
|
||||
}
|
||||
|
||||
/**
|
||||
* 是否采购订单
|
||||
*/
|
||||
public static Boolean isPurchase(String code) {
|
||||
return getPurchase().contains(code);
|
||||
}
|
||||
}
|
||||
|
@ -73,7 +73,7 @@ public class DeliveryController {
|
||||
deliveryName = byKey.getDeliveryName();
|
||||
// 到库单(找出该单据下的所有的采购单)
|
||||
nameList = deliveryService.getRelByDelivery(storeDetailDto)
|
||||
.stream().map(MaterialDeliveryReceive::getReceiveRequestName).collect(Collectors.toList());
|
||||
.stream().map(MaterialDeliveryReceive::getReceiveRequestName).distinct().collect(Collectors.toList());
|
||||
} else {
|
||||
// 采购单
|
||||
MaterialReceiveRequest receiveByKey = deliveryService.getReceiveByKey(storeDetailDto);
|
||||
|
@ -3,6 +3,7 @@ package com.cim.idm.controller;
|
||||
import com.alibaba.fastjson.JSON;
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
import com.cim.idm.constants.delivery.DeliveryStateEnums;
|
||||
import com.cim.idm.constants.receive.ReceiveTypeEnums;
|
||||
import com.cim.idm.framework.IDMFrameServiceProxy;
|
||||
import com.cim.idm.framework.data.EventInfo;
|
||||
import com.cim.idm.model.dto.delivery.DeliveryEditDto;
|
||||
@ -526,9 +527,14 @@ public class MaterialReceiveActController {
|
||||
e.printStackTrace();
|
||||
return AjaxResult.me().setSuccess(false).setMessage(e.toString());
|
||||
}
|
||||
String undoId;
|
||||
String undoId = null;
|
||||
try {
|
||||
undoId = SendERPStockIn(receiveRequestName, siteName, user, opCode,commitDate,opCode);
|
||||
// 采购订单
|
||||
if (ReceiveTypeEnums.isPurchase(request.getReceiveRequestType())) {
|
||||
Map<String,Object> args = new HashMap<>();
|
||||
undoId = toSAPServiceImpl.PurStockIn(receiveRequestName, siteName, user, args);
|
||||
}
|
||||
// @TODO 其他订单
|
||||
} catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
return AjaxResult.me().setSuccess(false).setMessage(e.toString());
|
||||
@ -553,39 +559,4 @@ public class MaterialReceiveActController {
|
||||
}
|
||||
return AjaxResult.me().setResultObj(null);
|
||||
}
|
||||
|
||||
|
||||
public String SendERPStockIn(String receiveRequestName, String siteName, String eventUser,String reActo,String commitDate,String opCode) throws Exception {
|
||||
//判断单据类型调用不同的NC接口
|
||||
String sql = "SELECT m.RECEIVEREQUESTTYPE,m.RECEIVEREQUESTDETAILTYPE FROM MATERIALRECEIVEREQUEST m WHERE m.RECEIVEREQUESTNAME = :RECEIVEREQUESTNAME";
|
||||
Map<String, Object> hashMap = new HashMap<String,Object> ();
|
||||
hashMap.put("RECEIVEREQUESTNAME", receiveRequestName);
|
||||
List<Map<String, Object>> queryForList = IDMFrameServiceProxy.getSqlTemplate().queryForList(sql, hashMap);
|
||||
String billCode = "";
|
||||
if (queryForList != null && queryForList.size() > 0) {
|
||||
String type = queryForList.get(0).get("RECEIVEREQUESTTYPE").toString();
|
||||
// String receiverequestdetailtype = queryForList.get(0).get("RECEIVEREQUESTDETAILTYPE").toString();
|
||||
switch (type) {
|
||||
case "Z001" : //采购入库
|
||||
case "Z002" : //研发采购订单
|
||||
case "Z003" : //非生产物资采购订单
|
||||
case "Z004" : //固定资产、在建工程采购订单
|
||||
Map<String,Object> args = new HashMap<>();
|
||||
billCode = toSAPServiceImpl.PurStockIn(receiveRequestName, siteName, eventUser,
|
||||
args/* ,overReceiveControls */);
|
||||
break;
|
||||
case "Z005" : //服务费用采购订单
|
||||
case "Z006" : //股份 - 泗洪STO
|
||||
case "Z007" : //股份泗洪-分子公司STO
|
||||
break;
|
||||
case "Z008" : //物资退货采购订单
|
||||
default :
|
||||
break;
|
||||
}
|
||||
} else {
|
||||
throw new CustomException("找不到单据" + receiveRequestName);
|
||||
}
|
||||
return billCode;
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -1,6 +1,7 @@
|
||||
package com.cim.idm.controller;
|
||||
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
import com.cim.idm.constants.receive.ReceiveTypeEnums;
|
||||
import com.cim.idm.framework.IDMFrameServiceProxy;
|
||||
import com.cim.idm.framework.data.EventInfo;
|
||||
import com.cim.idm.framework.exception.IDMFrameDBErrorSignal;
|
||||
@ -12,8 +13,8 @@ import com.cim.idm.model.vo.DeliveryReceiveDetailVo;
|
||||
import com.cim.idm.mwmsextend.materialpacking.service.MaterialPackingServiceImpl;
|
||||
import com.cim.idm.mwmsextend.materialreceiverequest.service.MaterialReceiveRequestServiceImpl;
|
||||
import com.cim.idm.service.IDeliveryService;
|
||||
import com.cim.idm.service.Impl.NCWServiceImpl;
|
||||
import com.cim.idm.service.Impl.SDKMaterialPackingServiceImpl;
|
||||
import com.cim.idm.service.impl.ToSAPServiceImpl;
|
||||
import com.cim.idm.utils.AjaxResult;
|
||||
import com.cim.idm.utils.EventInfoUtil;
|
||||
import com.cim.idm.wmsextend.generic.GenericServiceProxy;
|
||||
@ -42,6 +43,7 @@ import com.cim.idm.wmspackage.receiverequestdetail.management.info.MakeDetailInc
|
||||
import io.swagger.annotations.Api;
|
||||
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.transaction.annotation.Transactional;
|
||||
import org.springframework.web.bind.annotation.RequestBody;
|
||||
@ -62,15 +64,14 @@ import java.util.*;
|
||||
@EnableAutoConfiguration
|
||||
public class NoChargeStockIn {
|
||||
|
||||
private static Log log = LogFactory.getLog(MaterialReceiveRequestServiceImpl.class);
|
||||
SDKMaterialPackingServiceImpl SDKMP = new SDKMaterialPackingServiceImpl();
|
||||
|
||||
@Resource
|
||||
private IDeliveryService deliveryService;
|
||||
|
||||
|
||||
private static Log log = LogFactory.getLog(MaterialReceiveRequestServiceImpl.class);
|
||||
SDKMaterialPackingServiceImpl SDKMP=new SDKMaterialPackingServiceImpl();
|
||||
NCWServiceImpl ncServer=new NCWServiceImpl();
|
||||
// 先创建Map集合
|
||||
Map<Integer, String> hashMap = new HashMap<>();
|
||||
@Autowired
|
||||
private ToSAPServiceImpl toSAPServiceImpl;
|
||||
|
||||
@Transactional
|
||||
@RequestMapping(value = "/NoChargeStockIn", method = RequestMethod.POST)
|
||||
@ -95,9 +96,10 @@ public class NoChargeStockIn {
|
||||
String sdkid="";
|
||||
String commitDate = "";
|
||||
String opCode = "";
|
||||
String siteName = (String)in.get("SITENAME");
|
||||
// 判定是否是到货单
|
||||
StoreDetailDto storeDetailDto = new StoreDetailDto();
|
||||
storeDetailDto.setSiteName((String)in.get("SITENAME"));
|
||||
storeDetailDto.setSiteName(siteName);
|
||||
storeDetailDto.setDocumentName((String)in.get("RECEIVEREQUESTNAME"));
|
||||
MaterialDelivery byKey = deliveryService.getByKey(storeDetailDto);
|
||||
Boolean isDelivery = Objects.nonNull(byKey);
|
||||
@ -106,7 +108,6 @@ public class NoChargeStockIn {
|
||||
try {
|
||||
receiveAct=GenerateMaterialReceiveRequestName("SDK","NoPO");
|
||||
} catch (CustomException e) {
|
||||
// TODO Auto-generated catch block
|
||||
e.printStackTrace();
|
||||
}
|
||||
user=(String) in.get("USER");
|
||||
@ -242,16 +243,12 @@ public class NoChargeStockIn {
|
||||
}
|
||||
for (MaterialReceiveRequest request : requests) {
|
||||
String billcode = null;
|
||||
switch (request.getReceiveRequestType()) {
|
||||
case "ZK4A" : //其他入库
|
||||
billcode = ncServer.qtrNoInvoice(request.getReceiveRequestName(), "SDK", receiveAct,user,commitDate,opCode);
|
||||
break;
|
||||
case "45" : //采购入库
|
||||
billcode = ncServer.PurStockIn(request.getReceiveRequestName(), "SDK",user,receiveAct,commitDate,opCode);
|
||||
break;
|
||||
default :
|
||||
break;
|
||||
// 采购订单
|
||||
if (ReceiveTypeEnums.isPurchase(request.getReceiveRequestType())) {
|
||||
Map<String,Object> args = new HashMap<>();
|
||||
billcode = toSAPServiceImpl.PurStockIn(request.getReceiveRequestName(), siteName, user, args);
|
||||
}
|
||||
// @TODO 其他类型
|
||||
if (billcode == null || "".equals(billcode)) {
|
||||
return AjaxResult.me().setErrorCode(500).setSuccess(false).setMessage("NC过账失败");
|
||||
}
|
||||
|
@ -74,6 +74,9 @@
|
||||
AND m.ORDERDATE BETWEEN TO_DATE( #{dto.fromDate}, 'YYYY/MM/DDHH24MISS' )
|
||||
AND TO_DATE( #{dto.toDate}, 'YYYY/MM/DDHH24MISS' )
|
||||
</if>
|
||||
<if test="isBatch != null and !isBatch.equals('Y')">
|
||||
AND (ms.IS_BATCH IS NULL OR ms.IS_BATCH != 'Y')
|
||||
</if>
|
||||
</select>
|
||||
|
||||
<!-- GetInvoiceDetailInformationRow Z10006_SAP -->
|
||||
|
Loading…
x
Reference in New Issue
Block a user