feat 入库时增加采购订单类型
This commit is contained in:
parent
4d8f947344
commit
912beb70d0
@ -31,4 +31,11 @@ public enum ReceiveTypeEnums {
|
|||||||
str.add(Z004.getCode());
|
str.add(Z004.getCode());
|
||||||
return str;
|
return str;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 是否采购订单
|
||||||
|
*/
|
||||||
|
public static Boolean isPurchase(String code) {
|
||||||
|
return getPurchase().contains(code);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@ -73,7 +73,7 @@ public class DeliveryController {
|
|||||||
deliveryName = byKey.getDeliveryName();
|
deliveryName = byKey.getDeliveryName();
|
||||||
// 到库单(找出该单据下的所有的采购单)
|
// 到库单(找出该单据下的所有的采购单)
|
||||||
nameList = deliveryService.getRelByDelivery(storeDetailDto)
|
nameList = deliveryService.getRelByDelivery(storeDetailDto)
|
||||||
.stream().map(MaterialDeliveryReceive::getReceiveRequestName).collect(Collectors.toList());
|
.stream().map(MaterialDeliveryReceive::getReceiveRequestName).distinct().collect(Collectors.toList());
|
||||||
} else {
|
} else {
|
||||||
// 采购单
|
// 采购单
|
||||||
MaterialReceiveRequest receiveByKey = deliveryService.getReceiveByKey(storeDetailDto);
|
MaterialReceiveRequest receiveByKey = deliveryService.getReceiveByKey(storeDetailDto);
|
||||||
|
@ -3,6 +3,7 @@ package com.cim.idm.controller;
|
|||||||
import com.alibaba.fastjson.JSON;
|
import com.alibaba.fastjson.JSON;
|
||||||
import com.alibaba.fastjson.JSONObject;
|
import com.alibaba.fastjson.JSONObject;
|
||||||
import com.cim.idm.constants.delivery.DeliveryStateEnums;
|
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.IDMFrameServiceProxy;
|
||||||
import com.cim.idm.framework.data.EventInfo;
|
import com.cim.idm.framework.data.EventInfo;
|
||||||
import com.cim.idm.model.dto.delivery.DeliveryEditDto;
|
import com.cim.idm.model.dto.delivery.DeliveryEditDto;
|
||||||
@ -526,9 +527,14 @@ public class MaterialReceiveActController {
|
|||||||
e.printStackTrace();
|
e.printStackTrace();
|
||||||
return AjaxResult.me().setSuccess(false).setMessage(e.toString());
|
return AjaxResult.me().setSuccess(false).setMessage(e.toString());
|
||||||
}
|
}
|
||||||
String undoId;
|
String undoId = null;
|
||||||
try {
|
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) {
|
} catch (Exception e) {
|
||||||
e.printStackTrace();
|
e.printStackTrace();
|
||||||
return AjaxResult.me().setSuccess(false).setMessage(e.toString());
|
return AjaxResult.me().setSuccess(false).setMessage(e.toString());
|
||||||
@ -553,39 +559,4 @@ public class MaterialReceiveActController {
|
|||||||
}
|
}
|
||||||
return AjaxResult.me().setResultObj(null);
|
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;
|
package com.cim.idm.controller;
|
||||||
|
|
||||||
import com.alibaba.fastjson.JSONObject;
|
import com.alibaba.fastjson.JSONObject;
|
||||||
|
import com.cim.idm.constants.receive.ReceiveTypeEnums;
|
||||||
import com.cim.idm.framework.IDMFrameServiceProxy;
|
import com.cim.idm.framework.IDMFrameServiceProxy;
|
||||||
import com.cim.idm.framework.data.EventInfo;
|
import com.cim.idm.framework.data.EventInfo;
|
||||||
import com.cim.idm.framework.exception.IDMFrameDBErrorSignal;
|
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.materialpacking.service.MaterialPackingServiceImpl;
|
||||||
import com.cim.idm.mwmsextend.materialreceiverequest.service.MaterialReceiveRequestServiceImpl;
|
import com.cim.idm.mwmsextend.materialreceiverequest.service.MaterialReceiveRequestServiceImpl;
|
||||||
import com.cim.idm.service.IDeliveryService;
|
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.SDKMaterialPackingServiceImpl;
|
||||||
|
import com.cim.idm.service.impl.ToSAPServiceImpl;
|
||||||
import com.cim.idm.utils.AjaxResult;
|
import com.cim.idm.utils.AjaxResult;
|
||||||
import com.cim.idm.utils.EventInfoUtil;
|
import com.cim.idm.utils.EventInfoUtil;
|
||||||
import com.cim.idm.wmsextend.generic.GenericServiceProxy;
|
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 io.swagger.annotations.Api;
|
||||||
import org.apache.commons.logging.Log;
|
import org.apache.commons.logging.Log;
|
||||||
import org.apache.commons.logging.LogFactory;
|
import org.apache.commons.logging.LogFactory;
|
||||||
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
|
import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
|
||||||
import org.springframework.transaction.annotation.Transactional;
|
import org.springframework.transaction.annotation.Transactional;
|
||||||
import org.springframework.web.bind.annotation.RequestBody;
|
import org.springframework.web.bind.annotation.RequestBody;
|
||||||
@ -62,15 +64,14 @@ import java.util.*;
|
|||||||
@EnableAutoConfiguration
|
@EnableAutoConfiguration
|
||||||
public class NoChargeStockIn {
|
public class NoChargeStockIn {
|
||||||
|
|
||||||
|
private static Log log = LogFactory.getLog(MaterialReceiveRequestServiceImpl.class);
|
||||||
|
SDKMaterialPackingServiceImpl SDKMP = new SDKMaterialPackingServiceImpl();
|
||||||
|
|
||||||
@Resource
|
@Resource
|
||||||
private IDeliveryService deliveryService;
|
private IDeliveryService deliveryService;
|
||||||
|
|
||||||
|
@Autowired
|
||||||
private static Log log = LogFactory.getLog(MaterialReceiveRequestServiceImpl.class);
|
private ToSAPServiceImpl toSAPServiceImpl;
|
||||||
SDKMaterialPackingServiceImpl SDKMP=new SDKMaterialPackingServiceImpl();
|
|
||||||
NCWServiceImpl ncServer=new NCWServiceImpl();
|
|
||||||
// 先创建Map集合
|
|
||||||
Map<Integer, String> hashMap = new HashMap<>();
|
|
||||||
|
|
||||||
@Transactional
|
@Transactional
|
||||||
@RequestMapping(value = "/NoChargeStockIn", method = RequestMethod.POST)
|
@RequestMapping(value = "/NoChargeStockIn", method = RequestMethod.POST)
|
||||||
@ -95,9 +96,10 @@ public class NoChargeStockIn {
|
|||||||
String sdkid="";
|
String sdkid="";
|
||||||
String commitDate = "";
|
String commitDate = "";
|
||||||
String opCode = "";
|
String opCode = "";
|
||||||
|
String siteName = (String)in.get("SITENAME");
|
||||||
// 判定是否是到货单
|
// 判定是否是到货单
|
||||||
StoreDetailDto storeDetailDto = new StoreDetailDto();
|
StoreDetailDto storeDetailDto = new StoreDetailDto();
|
||||||
storeDetailDto.setSiteName((String)in.get("SITENAME"));
|
storeDetailDto.setSiteName(siteName);
|
||||||
storeDetailDto.setDocumentName((String)in.get("RECEIVEREQUESTNAME"));
|
storeDetailDto.setDocumentName((String)in.get("RECEIVEREQUESTNAME"));
|
||||||
MaterialDelivery byKey = deliveryService.getByKey(storeDetailDto);
|
MaterialDelivery byKey = deliveryService.getByKey(storeDetailDto);
|
||||||
Boolean isDelivery = Objects.nonNull(byKey);
|
Boolean isDelivery = Objects.nonNull(byKey);
|
||||||
@ -106,7 +108,6 @@ public class NoChargeStockIn {
|
|||||||
try {
|
try {
|
||||||
receiveAct=GenerateMaterialReceiveRequestName("SDK","NoPO");
|
receiveAct=GenerateMaterialReceiveRequestName("SDK","NoPO");
|
||||||
} catch (CustomException e) {
|
} catch (CustomException e) {
|
||||||
// TODO Auto-generated catch block
|
|
||||||
e.printStackTrace();
|
e.printStackTrace();
|
||||||
}
|
}
|
||||||
user=(String) in.get("USER");
|
user=(String) in.get("USER");
|
||||||
@ -242,16 +243,12 @@ public class NoChargeStockIn {
|
|||||||
}
|
}
|
||||||
for (MaterialReceiveRequest request : requests) {
|
for (MaterialReceiveRequest request : requests) {
|
||||||
String billcode = null;
|
String billcode = null;
|
||||||
switch (request.getReceiveRequestType()) {
|
// 采购订单
|
||||||
case "ZK4A" : //其他入库
|
if (ReceiveTypeEnums.isPurchase(request.getReceiveRequestType())) {
|
||||||
billcode = ncServer.qtrNoInvoice(request.getReceiveRequestName(), "SDK", receiveAct,user,commitDate,opCode);
|
Map<String,Object> args = new HashMap<>();
|
||||||
break;
|
billcode = toSAPServiceImpl.PurStockIn(request.getReceiveRequestName(), siteName, user, args);
|
||||||
case "45" : //采购入库
|
|
||||||
billcode = ncServer.PurStockIn(request.getReceiveRequestName(), "SDK",user,receiveAct,commitDate,opCode);
|
|
||||||
break;
|
|
||||||
default :
|
|
||||||
break;
|
|
||||||
}
|
}
|
||||||
|
// @TODO 其他类型
|
||||||
if (billcode == null || "".equals(billcode)) {
|
if (billcode == null || "".equals(billcode)) {
|
||||||
return AjaxResult.me().setErrorCode(500).setSuccess(false).setMessage("NC过账失败");
|
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 m.ORDERDATE BETWEEN TO_DATE( #{dto.fromDate}, 'YYYY/MM/DDHH24MISS' )
|
||||||
AND TO_DATE( #{dto.toDate}, 'YYYY/MM/DDHH24MISS' )
|
AND TO_DATE( #{dto.toDate}, 'YYYY/MM/DDHH24MISS' )
|
||||||
</if>
|
</if>
|
||||||
|
<if test="isBatch != null and !isBatch.equals('Y')">
|
||||||
|
AND (ms.IS_BATCH IS NULL OR ms.IS_BATCH != 'Y')
|
||||||
|
</if>
|
||||||
</select>
|
</select>
|
||||||
|
|
||||||
<!-- GetInvoiceDetailInformationRow Z10006_SAP -->
|
<!-- GetInvoiceDetailInformationRow Z10006_SAP -->
|
||||||
|
Loading…
x
Reference in New Issue
Block a user