diff --git a/nladmin-system/wms-server/pom.xml b/nladmin-system/wms-server/pom.xml
index 6d9f22e..1574d47 100644
--- a/nladmin-system/wms-server/pom.xml
+++ b/nladmin-system/wms-server/pom.xml
@@ -228,28 +228,22 @@
1.4
- javax.xml.rpc
- javax.xml.rpc-api
- 1.1.2
+ javax.xml
+ jaxrpc-api
+ 1.1
commons-logging
commons-logging
1.2
-
+
commons-discovery
commons-discovery
- 0.5
+ 0.2
-
-
- commons-httpclient
- commons-httpclient
- 3.1
-
wsdl4j
diff --git a/nladmin-system/wms-server/src/main/java/org/nl/wms/ext_manage/purchase/service/mapper/EasPurchasemstMapper.xml b/nladmin-system/wms-server/src/main/java/org/nl/wms/ext_manage/purchase/service/mapper/EasPurchasemstMapper.xml
index 33c124b..fc78e1e 100644
--- a/nladmin-system/wms-server/src/main/java/org/nl/wms/ext_manage/purchase/service/mapper/EasPurchasemstMapper.xml
+++ b/nladmin-system/wms-server/src/main/java/org/nl/wms/ext_manage/purchase/service/mapper/EasPurchasemstMapper.xml
@@ -17,7 +17,7 @@
diff --git a/nladmin-system/wms-server/src/main/java/org/nl/wms/ext_manage/service/impl/MesToWmsServiceImpl.java b/nladmin-system/wms-server/src/main/java/org/nl/wms/ext_manage/service/impl/MesToWmsServiceImpl.java
index 3c51d2d..fed1170 100644
--- a/nladmin-system/wms-server/src/main/java/org/nl/wms/ext_manage/service/impl/MesToWmsServiceImpl.java
+++ b/nladmin-system/wms-server/src/main/java/org/nl/wms/ext_manage/service/impl/MesToWmsServiceImpl.java
@@ -1,9 +1,12 @@
package org.nl.wms.ext_manage.service.impl;
+import cn.hutool.core.date.DateUtil;
import cn.hutool.core.util.StrUtil;
+import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import org.nl.common.exception.BadRequestException;
+import org.nl.common.utils.IdUtil;
import org.nl.config.SpringContextHolder;
import org.nl.wms.ext_manage.service.MesToWmsService;
import org.nl.wms.ext_manage.service.dto.MesTaskParams;
@@ -14,6 +17,12 @@ import org.nl.wms.sch_manage.service.dao.SchBasePoint;
import org.nl.wms.warehouse_manage.enums.IOSEnum;
import org.nl.wms.warehouse_manage.service.IMdPbGroupplateService;
import org.nl.wms.warehouse_manage.service.dao.GroupPlate;
+import org.nl.wms.warehouse_manage.stockReturn.service.IPmStockReturnService;
+import org.nl.wms.warehouse_manage.stockReturn.service.dao.PmStockReturn;
+import org.nl.wms.warehouse_manage.stockReturn.service.enums.StockReturnStatusEnum;
+import org.nl.wms.welding_manage.service.work_order.IWorkOrderService;
+import org.nl.wms.welding_manage.service.work_order.dao.WorkOrderBomDao;
+import org.nl.wms.welding_manage.service.work_order.dao.WorkOrderDao;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
@@ -28,6 +37,10 @@ public class MesToWmsServiceImpl implements MesToWmsService {
private IMdPbGroupplateService iMdPbGroupplateService;
@Autowired
private ISchBasePointService iSchBasePointService;
+ @Autowired
+ private IWorkOrderService iWorkOrderService;
+ @Autowired
+ private IPmStockReturnService iPmStockReturnService;
@Transactional
@Override
@@ -85,6 +98,45 @@ public class MesToWmsServiceImpl implements MesToWmsService {
taskFormCall.put("create_name", "MES");
LineCallFullTask lineCallFullTask = SpringContextHolder.getBean("LineCallFullTask");
lineCallFullTask.create(taskFormCall);
+ //调用eas领料出库单
+ //获取工单信息
+ WorkOrderDao workOrder = iWorkOrderService.getWorkOrder(mesTaskParams.getOrderCode());
+ List orderBomItems = iWorkOrderService.getOrderBomItem(mesTaskParams.getOrderCode());
+
+ // 创建最外层的JSONObject
+ JSONObject root = new JSONObject();
+ root.put("method", "DealMaterailReqBill");
+ root.put("type", "MES");
+ // 创建data对象
+ JSONObject data = new JSONObject();
+ data.put("bizStatus", "02");
+ data.put("mesNo", IdUtil.getLongId());
+ // 创建entrys数组
+ JSONArray entrys = new JSONArray();
+ // 创建第一个entry对象
+ JSONObject entry = new JSONObject();
+ for (WorkOrderBomDao orderBomItem : orderBomItems) {
+ entry.put("qty", groupList.get(0).getQty());
+ entry.put("sourceBillId", workOrder.getOrder_id());
+ entry.put("sourceBillEntryId", orderBomItem.getItem_id());
+ entry.put("sourceBillNo", workOrder.getOrder_code());
+ }
+ // 将entry添加到数组中
+ entrys.add(entry);
+ // 将entrys数组设置到data中
+ data.put("entrys", entrys);
+ // 将data设置到根对象中
+ root.put("data", data);
+// ErpUtil.create().login().audit(root.toJSONString());
+ //保存回传单
+ PmStockReturn stockReturn = new PmStockReturn();
+ stockReturn.setRequest_Id(workOrder.getOrder_id());
+ stockReturn.setRequest_type(IOSEnum.BILL_TYPE.code("生产领料"));
+ stockReturn.setStatus(StockReturnStatusEnum.TODO.getCode()); // 0-处理中
+ stockReturn.setCreate_time(DateUtil.now());
+ stockReturn.setRequest_data(root.toJSONString());
+
+ iPmStockReturnService.save(stockReturn);
if (Objects.equals(mesTaskParams.getRequestedCode(), "2")) break;
}
}
diff --git a/nladmin-system/wms-server/src/main/java/org/nl/wms/ext_manage/util/ErpUtil.java b/nladmin-system/wms-server/src/main/java/org/nl/wms/ext_manage/util/ErpUtil.java
index 18d1eef..963e76c 100644
--- a/nladmin-system/wms-server/src/main/java/org/nl/wms/ext_manage/util/ErpUtil.java
+++ b/nladmin-system/wms-server/src/main/java/org/nl/wms/ext_manage/util/ErpUtil.java
@@ -1,6 +1,7 @@
package org.nl.wms.ext_manage.util;
import cn.hutool.core.util.StrUtil;
+import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import lombok.Data;
import lombok.extern.slf4j.Slf4j;
@@ -14,7 +15,6 @@ import org.nl.config.SpringContextHolder;
import org.nl.wms.system_manage.enums.SysParamConstant;
import org.nl.wms.system_manage.service.param.dao.Param;
import org.nl.wms.system_manage.service.param.impl.SysParamServiceImpl;
-import org.springframework.beans.factory.annotation.Value;
import javax.xml.namespace.QName;
import javax.xml.rpc.ParameterMode;
@@ -24,27 +24,29 @@ import javax.xml.rpc.encoding.XMLType;
@Slf4j
@Data
public class ErpUtil {
+
private String loginUrl;
- private String auditUrl;
+ private String busUrl;
private String userName;
private String password;
private String slnName;
private String dcName;
- private String dbType;
+ private int dbType;
private final Service service = new Service();
+ private Call call;
private String sessionId;
public static ErpUtil create(){
ErpUtil erpUtil = new ErpUtil();
erpUtil.setLoginUrl(SpringContextHolder.getProperties("erp.loginUrl"));
- erpUtil.setAuditUrl(SpringContextHolder.getProperties("erp.busUrl"));
+ erpUtil.setBusUrl(SpringContextHolder.getProperties("erp.busUrl"));
erpUtil.setUserName(SpringContextHolder.getProperties("erp.username"));
erpUtil.setPassword(SpringContextHolder.getProperties("erp.password"));
erpUtil.setSlnName(SpringContextHolder.getProperties("erp.slnName"));
erpUtil.setDcName(SpringContextHolder.getProperties("erp.dcName"));
- erpUtil.setDbType(SpringContextHolder.getProperties("erp.dbType"));
+ erpUtil.setDbType(Integer.parseInt(SpringContextHolder.getProperties("erp.dbType")));
return erpUtil;
}
/**
@@ -53,56 +55,25 @@ public class ErpUtil {
*/
public ErpUtil login(){
try {
- Call call = (Call) service.createCall();
+ call = (Call)service.createCall();
call.setOperationName("login");
+ //登录的webservice的wsdl的地址
call.setTargetEndpointAddress(loginUrl);
- call.setMaintainSession(true);
- call.setTimeout(60*1000);
- QName wsContextQName = new QName("urn:client", "WSContext");
- call.registerTypeMapping(
- WSContext.class,
- wsContextQName,
- BeanSerializerFactory.class,
- BeanDeserializerFactory.class
- );
- call.setReturnType(wsContextQName);
+ call.setReturnType(new QName("urn:client", "WSContext"));
+ //本地根据wsdl文件建立的返回对象
call.setReturnClass(WSContext.class);
- call.addParameter(
- new QName("", "userName"), // 空命名空间
- XMLType.XSD_STRING,
- String.class,
- ParameterMode.IN
- );
- call.addParameter(
- new QName("", "password"), // 空命名空间
- XMLType.XSD_STRING,
- String.class,
- ParameterMode.IN
- );
- call.addParameter(
- new QName("", "slnName"), // 空命名空间
- XMLType.XSD_STRING,
- String.class,
- ParameterMode.IN
- );
- call.addParameter(
- new QName("", "dcName"), // 空命名空间
- XMLType.XSD_STRING,
- String.class,
- ParameterMode.IN
- );
- call.addParameter(
- new QName("", "dbType"), // 空命名空间
- XMLType.XSD_STRING,
- String.class,
- ParameterMode.IN
- );
- WSContext response = (WSContext)call.invoke(new Object[]{userName, password, slnName, dcName, dbType});
- if (StrUtil.isEmptyIfStr(response.getSessionId())){
- throw new BadRequestException("erp登录接口请求失败: 返回sessionId为空,请检查账户设置是否正确");
- }
- this.sessionId = response.getSessionId();
- log.info("ERP登录接口返回:{}", response);
+ call.setReturnQName(new QName("", "loginReturn"));
+ //超时时间 自由配置
+ call.setTimeout(1000 * 15);
+ call.setMaintainSession(true);
+ WSContext result = null;
+ //解决方案:eas
+ //语言:L2 简体中文 L3 繁体中文
+ //数据库类型:0 SQL Server 1 Oracle 2 DB2
+ result = (WSContext) call.invoke(new Object[]{userName, password, slnName, dcName, "L2", dbType, "BaseDB"});
+ //关键点,获取登录时返回的sessionid
+ sessionId = result.getSessionId();
+ log.info("ERP登录接口返回:{}", result.toString());
} catch (Exception e) {
throw new BadRequestException("erp登录接口请求失败:" + e.getMessage());
}
@@ -113,15 +84,20 @@ public class ErpUtil {
*/
public void audit(String json){
try {
- Call call = (Call) service.createCall();
+ call.clearOperation();
call.setOperationName("dealTask");
call.setTimeout(1000*60);
call.setMaintainSession(true);
- call.setTargetEndpointAddress(auditUrl);
- call.setReturnQName(new QName("", "erpsyncReturn"));
+ call.setTargetEndpointAddress(busUrl);
+ call.setReturnQName(new QName("", "dealTaskReturn"));
call.addHeader(new SOAPHeaderElement("http://login.webservice.bos.kingdee.com", "SessionId", sessionId));
Object result = call.invoke(new Object[]{json});
- System.out.println(result);
+ JSONObject resultJson = JSON.parseObject(result.toString());
+ if (resultJson.getInteger("result") == 0){
+ throw new BadRequestException("回传失败:" + resultJson.getString("msg"));
+ }
+ log.error("Eas回传接口请求成功!");
+ log.error("Eas回传接口invoke调用结果:" + result.toString());
} catch (Exception e) {
throw new BadRequestException("erp审核接口请求失败:" + e.getMessage());
}
diff --git a/nladmin-system/wms-server/src/main/java/org/nl/wms/ext_manage/util/WSContext.java b/nladmin-system/wms-server/src/main/java/org/nl/wms/ext_manage/util/WSContext.java
index f9557be..91cf223 100644
--- a/nladmin-system/wms-server/src/main/java/org/nl/wms/ext_manage/util/WSContext.java
+++ b/nladmin-system/wms-server/src/main/java/org/nl/wms/ext_manage/util/WSContext.java
@@ -1,13 +1,295 @@
+/**
+ * WSContext.java
+ *
+ * This file was auto-generated from WSDL
+ * by the Apache Axis 1.4 Apr 22, 2006 (06:55:48 PDT) WSDL2Java emitter.
+ */
+
package org.nl.wms.ext_manage.util;
-import lombok.Data;
+public class WSContext implements java.io.Serializable {
+ private int dbType;
-@Data
-public class WSContext {
- private Integer dbType;
private String dcName;
+
private String password;
+
private String sessionId;
+
private String slnName;
+
private String userName;
+
+ public WSContext() {
+ }
+
+ public WSContext(
+ int dbType,
+ String dcName,
+ String password,
+ String sessionId,
+ String slnName,
+ String userName) {
+ this.dbType = dbType;
+ this.dcName = dcName;
+ this.password = password;
+ this.sessionId = sessionId;
+ this.slnName = slnName;
+ this.userName = userName;
+ }
+
+
+ /**
+ * Gets the dbType value for this WSContext.
+ *
+ * @return dbType
+ */
+ public int getDbType() {
+ return dbType;
+ }
+
+
+ /**
+ * Sets the dbType value for this WSContext.
+ *
+ * @param dbType
+ */
+ public void setDbType(int dbType) {
+ this.dbType = dbType;
+ }
+
+
+ /**
+ * Gets the dcName value for this WSContext.
+ *
+ * @return dcName
+ */
+ public String getDcName() {
+ return dcName;
+ }
+
+
+ /**
+ * Sets the dcName value for this WSContext.
+ *
+ * @param dcName
+ */
+ public void setDcName(String dcName) {
+ this.dcName = dcName;
+ }
+
+
+ /**
+ * Gets the password value for this WSContext.
+ *
+ * @return password
+ */
+ public String getPassword() {
+ return password;
+ }
+
+
+ /**
+ * Sets the password value for this WSContext.
+ *
+ * @param password
+ */
+ public void setPassword(String password) {
+ this.password = password;
+ }
+
+
+ /**
+ * Gets the sessionId value for this WSContext.
+ *
+ * @return sessionId
+ */
+ public String getSessionId() {
+ return sessionId;
+ }
+
+
+ /**
+ * Sets the sessionId value for this WSContext.
+ *
+ * @param sessionId
+ */
+ public void setSessionId(String sessionId) {
+ this.sessionId = sessionId;
+ }
+
+
+ /**
+ * Gets the slnName value for this WSContext.
+ *
+ * @return slnName
+ */
+ public String getSlnName() {
+ return slnName;
+ }
+
+
+ /**
+ * Sets the slnName value for this WSContext.
+ *
+ * @param slnName
+ */
+ public void setSlnName(String slnName) {
+ this.slnName = slnName;
+ }
+
+
+ /**
+ * Gets the userName value for this WSContext.
+ *
+ * @return userName
+ */
+ public String getUserName() {
+ return userName;
+ }
+
+
+ /**
+ * Sets the userName value for this WSContext.
+ *
+ * @param userName
+ */
+ public void setUserName(String userName) {
+ this.userName = userName;
+ }
+
+ private Object __equalsCalc = null;
+ public synchronized boolean equals(Object obj) {
+ if (!(obj instanceof WSContext)) return false;
+ WSContext other = (WSContext) obj;
+ if (obj == null) return false;
+ if (this == obj) return true;
+ if (__equalsCalc != null) {
+ return (__equalsCalc == obj);
+ }
+ __equalsCalc = obj;
+ boolean _equals;
+ _equals = true &&
+ this.dbType == other.getDbType() &&
+ ((this.dcName==null && other.getDcName()==null) ||
+ (this.dcName!=null &&
+ this.dcName.equals(other.getDcName()))) &&
+ ((this.password==null && other.getPassword()==null) ||
+ (this.password!=null &&
+ this.password.equals(other.getPassword()))) &&
+ ((this.sessionId==null && other.getSessionId()==null) ||
+ (this.sessionId!=null &&
+ this.sessionId.equals(other.getSessionId()))) &&
+ ((this.slnName==null && other.getSlnName()==null) ||
+ (this.slnName!=null &&
+ this.slnName.equals(other.getSlnName()))) &&
+ ((this.userName==null && other.getUserName()==null) ||
+ (this.userName!=null &&
+ this.userName.equals(other.getUserName())));
+ __equalsCalc = null;
+ return _equals;
+ }
+
+ private boolean __hashCodeCalc = false;
+ public synchronized int hashCode() {
+ if (__hashCodeCalc) {
+ return 0;
+ }
+ __hashCodeCalc = true;
+ int _hashCode = 1;
+ _hashCode += getDbType();
+ if (getDcName() != null) {
+ _hashCode += getDcName().hashCode();
+ }
+ if (getPassword() != null) {
+ _hashCode += getPassword().hashCode();
+ }
+ if (getSessionId() != null) {
+ _hashCode += getSessionId().hashCode();
+ }
+ if (getSlnName() != null) {
+ _hashCode += getSlnName().hashCode();
+ }
+ if (getUserName() != null) {
+ _hashCode += getUserName().hashCode();
+ }
+ __hashCodeCalc = false;
+ return _hashCode;
+ }
+
+ // Type metadata
+ private static org.apache.axis.description.TypeDesc typeDesc =
+ new org.apache.axis.description.TypeDesc(WSContext.class, true);
+
+ static {
+ typeDesc.setXmlType(new javax.xml.namespace.QName("urn:client", "WSContext"));
+ org.apache.axis.description.ElementDesc elemField = new org.apache.axis.description.ElementDesc();
+ elemField.setFieldName("dbType");
+ elemField.setXmlName(new javax.xml.namespace.QName("", "dbType"));
+ elemField.setXmlType(new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "int"));
+ elemField.setNillable(false);
+ typeDesc.addFieldDesc(elemField);
+ elemField = new org.apache.axis.description.ElementDesc();
+ elemField.setFieldName("dcName");
+ elemField.setXmlName(new javax.xml.namespace.QName("", "dcName"));
+ elemField.setXmlType(new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "string"));
+ elemField.setNillable(true);
+ typeDesc.addFieldDesc(elemField);
+ elemField = new org.apache.axis.description.ElementDesc();
+ elemField.setFieldName("password");
+ elemField.setXmlName(new javax.xml.namespace.QName("", "password"));
+ elemField.setXmlType(new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "string"));
+ elemField.setNillable(true);
+ typeDesc.addFieldDesc(elemField);
+ elemField = new org.apache.axis.description.ElementDesc();
+ elemField.setFieldName("sessionId");
+ elemField.setXmlName(new javax.xml.namespace.QName("", "sessionId"));
+ elemField.setXmlType(new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "string"));
+ elemField.setNillable(true);
+ typeDesc.addFieldDesc(elemField);
+ elemField = new org.apache.axis.description.ElementDesc();
+ elemField.setFieldName("slnName");
+ elemField.setXmlName(new javax.xml.namespace.QName("", "slnName"));
+ elemField.setXmlType(new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "string"));
+ elemField.setNillable(true);
+ typeDesc.addFieldDesc(elemField);
+ elemField = new org.apache.axis.description.ElementDesc();
+ elemField.setFieldName("userName");
+ elemField.setXmlName(new javax.xml.namespace.QName("", "userName"));
+ elemField.setXmlType(new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "string"));
+ elemField.setNillable(true);
+ typeDesc.addFieldDesc(elemField);
+ }
+
+ /**
+ * Return type metadata object
+ */
+ public static org.apache.axis.description.TypeDesc getTypeDesc() {
+ return typeDesc;
+ }
+
+ /**
+ * Get Custom Serializer
+ */
+ public static org.apache.axis.encoding.Serializer getSerializer(
+ String mechType,
+ Class _javaType,
+ javax.xml.namespace.QName _xmlType) {
+ return
+ new org.apache.axis.encoding.ser.BeanSerializer(
+ _javaType, _xmlType, typeDesc);
+ }
+
+ /**
+ * Get Custom Deserializer
+ */
+ public static org.apache.axis.encoding.Deserializer getDeserializer(
+ String mechType,
+ Class _javaType,
+ javax.xml.namespace.QName _xmlType) {
+ return
+ new org.apache.axis.encoding.ser.BeanDeserializer(
+ _javaType, _xmlType, typeDesc);
+ }
+
}
diff --git a/nladmin-system/wms-server/src/main/java/org/nl/wms/pda_manage/ios_manage/purchase/service/impl/InboundPdaServiceImpl.java b/nladmin-system/wms-server/src/main/java/org/nl/wms/pda_manage/ios_manage/purchase/service/impl/InboundPdaServiceImpl.java
index 218a734..96bcb25 100644
--- a/nladmin-system/wms-server/src/main/java/org/nl/wms/pda_manage/ios_manage/purchase/service/impl/InboundPdaServiceImpl.java
+++ b/nladmin-system/wms-server/src/main/java/org/nl/wms/pda_manage/ios_manage/purchase/service/impl/InboundPdaServiceImpl.java
@@ -29,6 +29,7 @@ import org.nl.wms.pm_manage.purchase.service.dao.Purchasemst;
import org.nl.wms.pda_manage.ios_manage.purchase.service.dto.PdaGroupPlateDto;
import org.nl.wms.warehouse_manage.enums.IOSEnum;
import org.nl.wms.warehouse_manage.inAndOut.service.IInBillService;
+import org.nl.wms.warehouse_manage.inAndOut.service.dao.IOStorInvDis;
import org.nl.wms.warehouse_manage.inAndOut.service.dao.IOStorInvDtl;
import org.nl.wms.warehouse_manage.inAndOut.service.dao.mapper.IOStorInvDisMapper;
import org.nl.wms.warehouse_manage.inAndOut.service.dao.mapper.IOStorInvDtlMapper;
@@ -241,7 +242,6 @@ public class InboundPdaServiceImpl implements InboundPdaService {
Structattr struct = structList.get(0);
log.info("平库入库:找到虚拟库位{}",JSON.toJSONString(struct));
String storagevehicleCode = struct.getStoragevehicle_code();//载具编码
- List items = new ArrayList<>();
boolean flag = false;
for (UsualInboundDto.UsualInboundDtlDto item : usualInboundDto.getDetailList()) {
//判断当前物料是否在库内
@@ -290,10 +290,6 @@ public class InboundPdaServiceImpl implements InboundPdaService {
.create_time(DateUtil.now())
.build();
iMdPbGroupplateService.save(plateDao);
- PurchaseListenerParams.DetailItem detailItem = new PurchaseListenerParams.DetailItem();
- detailItem.setItem_no(item.getItem_no());
- detailItem.setQty(item.getQty());
- items.add(detailItem);
}
if (flag) return;//已存在库存则不用走组盘入库
GroupPlateInboundDto groupPlateInboundDto = new GroupPlateInboundDto();
@@ -332,21 +328,25 @@ public class InboundPdaServiceImpl implements InboundPdaService {
// 组织明细数据
ArrayList tableData = new ArrayList<>();
HashMap dtl = new HashMap<>();
- GroupPlate plateDao = plateDaoList.get(0);
- MdMeMaterialbase materDao = iMdMeMaterialbaseService.getByCode(plateDao.getMaterial_code());
- dtl.put("storagevehicle_code", plateDao.getStoragevehicle_code());
- dtl.put("material_id", materDao.getMaterial_id());
- dtl.put("material_code", materDao.getMaterial_code());
- dtl.put("material_name", materDao.getMaterial_name());
- dtl.put("pcsn", plateDao.getPcsn());
- dtl.put("qty_unit_id", plateDao.getQty_unit_id());
- dtl.put("qty_unit_name", plateDao.getQty_unit_name());
- dtl.put("qty", String.valueOf(total_qty));
- dtl.put("plan_qty", String.valueOf(total_qty));
- dtl.put("ext_code", plateDao.getExt_code());
- dtl.put("ext_type", plateDao.getExt_type());
- // 调用新增
- tableData.add(dtl);
+// GroupPlate plateDao = plateDaoList.get(0);
+ for (GroupPlate plateDao : plateDaoList) {
+ MdMeMaterialbase materDao = iMdMeMaterialbaseService.getByCode(plateDao.getMaterial_code());
+ dtl.put("storagevehicle_code", plateDao.getStoragevehicle_code());
+ dtl.put("material_id", materDao.getMaterial_id());
+ dtl.put("material_code", materDao.getMaterial_code());
+ dtl.put("material_name", materDao.getMaterial_name());
+ dtl.put("pcsn", plateDao.getPcsn());
+ dtl.put("qty_unit_id", plateDao.getQty_unit_id());
+ dtl.put("qty_unit_name", plateDao.getQty_unit_name());
+ dtl.put("qty", String.valueOf(total_qty));
+ dtl.put("plan_qty", String.valueOf(total_qty));
+ dtl.put("ext_code", plateDao.getExt_code());
+ dtl.put("ext_type", plateDao.getExt_type());
+ dtl.put("callback_strategy", "dealPurchaseRecBillCallback");
+ // 调用新增
+ tableData.add(dtl);
+ }
+
jsonMst.put("tableData",tableData);
String iostorinv_id = iRawAssistIStorService.insertDtl(jsonMst);
// 查询仓库
@@ -382,19 +382,22 @@ public class InboundPdaServiceImpl implements InboundPdaService {
sendTask(whereJsonTask);
} else {
// 单据直接完成
- JSONObject confirmJson = new JSONObject();
- confirmJson.put("iostorinv_id", iostorinv_id);
- iRawAssistIStorService.confirm(confirmJson);
+// JSONObject confirmJson = new JSONObject();
+// confirmJson.put("iostorinv_id", iostorinv_id);
+// iRawAssistIStorService.confirm(confirmJson);
+ List ioStorInvDis = ioStorInvDisMapper.selectList(new LambdaQueryWrapper()
+ .eq(IOStorInvDis::getIostorinv_id, iostorinv_id));
+ iRawAssistIStorService.disFinish(ioStorInvDis);
}
- PurchaseListenerParams listenerParams = new PurchaseListenerParams();
- listenerParams.setBillId(plateDao.getExt_code());
- PurchaseListenerParams.DetailItem detailItem = new PurchaseListenerParams.DetailItem();
- detailItem.setQty(plateDao.getQty());
- detailItem.setMaterialCode(plateDao.getMaterial_code());
- List detailItemList = new ArrayList<>();
- detailItemList.add(detailItem);
- listenerParams.setDetailItem(detailItemList);
- pushEvent(listenerParams);
+// PurchaseListenerParams listenerParams = new PurchaseListenerParams();
+// listenerParams.setBillId(plateDao.getExt_code());
+// PurchaseListenerParams.DetailItem detailItem = new PurchaseListenerParams.DetailItem();
+// detailItem.setQty(plateDao.getQty());
+// detailItem.setMaterialCode(plateDao.getMaterial_code());
+// List detailItemList = new ArrayList<>();
+// detailItemList.add(detailItem);
+// listenerParams.setDetailItem(detailItemList);
+// pushEvent(listenerParams);
}
@@ -429,21 +432,25 @@ public class InboundPdaServiceImpl implements InboundPdaService {
// 组织明细数据
ArrayList tableData = new ArrayList<>();
HashMap dtl = new HashMap<>();
- GroupPlate plateDao = plateDaoList.get(0);
- MdMeMaterialbase materDao = iMdMeMaterialbaseService.getByCode(plateDao.getMaterial_code());
- dtl.put("storagevehicle_code", plateDao.getStoragevehicle_code());
- dtl.put("material_id", materDao.getMaterial_id());
- dtl.put("material_code", materDao.getMaterial_code());
- dtl.put("material_name", materDao.getMaterial_name());
- dtl.put("pcsn", plateDao.getPcsn());
- dtl.put("qty_unit_id", plateDao.getQty_unit_id());
- dtl.put("qty_unit_name", plateDao.getQty_unit_name());
- dtl.put("qty", String.valueOf(total_qty));
- dtl.put("plan_qty", String.valueOf(total_qty));
- dtl.put("ext_code", plateDao.getExt_code());
- dtl.put("ext_type", plateDao.getExt_type());
- // 调用新增入库单
- tableData.add(dtl);
+// GroupPlate plateDao = plateDaoList.get(0);
+ for (GroupPlate plateDao : plateDaoList) {
+ MdMeMaterialbase materDao = iMdMeMaterialbaseService.getByCode(plateDao.getMaterial_code());
+ dtl.put("storagevehicle_code", plateDao.getStoragevehicle_code());
+ dtl.put("material_id", materDao.getMaterial_id());
+ dtl.put("material_code", materDao.getMaterial_code());
+ dtl.put("material_name", materDao.getMaterial_name());
+ dtl.put("pcsn", plateDao.getPcsn());
+ dtl.put("qty_unit_id", plateDao.getQty_unit_id());
+ dtl.put("qty_unit_name", plateDao.getQty_unit_name());
+ dtl.put("qty", String.valueOf(total_qty));
+ dtl.put("plan_qty", String.valueOf(total_qty));
+ dtl.put("ext_code", plateDao.getExt_code());
+ dtl.put("ext_type", plateDao.getExt_type());
+ dtl.put("callback_strategy", "dealPurchaseRecBillCallback");
+ // 调用新增入库单
+ tableData.add(dtl);
+ }
+
jsonMst.put("tableData",tableData);
String iostorinv_id = iRawAssistIStorService.insertDtl(jsonMst);
// 查询仓库
@@ -478,19 +485,22 @@ public class InboundPdaServiceImpl implements InboundPdaService {
// 调用分配,分配库位
iRawAssistIStorService.divStruct(new JSONObject(jsonMst1));
// 手工入库单据直接完成
- JSONObject confirmJson = new JSONObject();
- confirmJson.put("iostorinv_id", iostorinv_id);
- iRawAssistIStorService.confirm(confirmJson);
+ List ioStorInvDis = ioStorInvDisMapper.selectList(new LambdaQueryWrapper()
+ .eq(IOStorInvDis::getIostorinv_id, iostorinv_id));
+ iRawAssistIStorService.disFinish(ioStorInvDis);
+// JSONObject confirmJson = new JSONObject();
+// confirmJson.put("iostorinv_id", iostorinv_id);
+// iRawAssistIStorService.confirm(confirmJson);
- PurchaseListenerParams purchaseListenerParams = new PurchaseListenerParams();
- purchaseListenerParams.setBillId(plateDao.getExt_code());
- PurchaseListenerParams.DetailItem detailItem = new PurchaseListenerParams.DetailItem();
- detailItem.setMaterialCode(plateDao.getMaterial_code());
- detailItem.setQty(plateDao.getQty());
- List detailItemList = new ArrayList<>();
- detailItemList.add(detailItem);
- purchaseListenerParams.setDetailItem(detailItemList);
- pushEvent(purchaseListenerParams);
+// PurchaseListenerParams purchaseListenerParams = new PurchaseListenerParams();
+// purchaseListenerParams.setBillId(plateDao.getExt_code());
+// PurchaseListenerParams.DetailItem detailItem = new PurchaseListenerParams.DetailItem();
+// detailItem.setMaterialCode(plateDao.getMaterial_code());
+// detailItem.setQty(plateDao.getQty());
+// List detailItemList = new ArrayList<>();
+// detailItemList.add(detailItem);
+// purchaseListenerParams.setDetailItem(detailItemList);
+// pushEvent(purchaseListenerParams);
}
private Map parseCode(String code){
diff --git a/nladmin-system/wms-server/src/main/java/org/nl/wms/sch_manage/service/core/tasks/LineCallFullTask.java b/nladmin-system/wms-server/src/main/java/org/nl/wms/sch_manage/service/core/tasks/LineCallFullTask.java
index 2f6cf2b..ee6dc60 100644
--- a/nladmin-system/wms-server/src/main/java/org/nl/wms/sch_manage/service/core/tasks/LineCallFullTask.java
+++ b/nladmin-system/wms-server/src/main/java/org/nl/wms/sch_manage/service/core/tasks/LineCallFullTask.java
@@ -25,7 +25,7 @@ import org.springframework.transaction.annotation.Transactional;
/**
* @Author: Liuxy
- * @Description: 产线返空托盘
+ * @Description: 产线叫满
* @Date: 2025/6/6
*/
@Component(value = "LineCallFullTask")
diff --git a/nladmin-system/wms-server/src/main/java/org/nl/wms/system_manage/enums/SysParamConstant.java b/nladmin-system/wms-server/src/main/java/org/nl/wms/system_manage/enums/SysParamConstant.java
index 283da05..d24e2fd 100644
--- a/nladmin-system/wms-server/src/main/java/org/nl/wms/system_manage/enums/SysParamConstant.java
+++ b/nladmin-system/wms-server/src/main/java/org/nl/wms/system_manage/enums/SysParamConstant.java
@@ -21,14 +21,6 @@ public class SysParamConstant {
* ERP系统IP
*/
public final static String ERP_URL = "erp_url";
- /**
- * ERP登录接口
- */
- public final static String ERP_LOGIN_URL = "erp_login_url";
- /**
- * ERP审核接口
- */
- public final static String ERP_AUDIT_URL = "erp_audit_url";
/**
* 中鼎系统URL
diff --git a/nladmin-system/wms-server/src/main/java/org/nl/wms/warehouse_manage/enums/IOSEnum.java b/nladmin-system/wms-server/src/main/java/org/nl/wms/warehouse_manage/enums/IOSEnum.java
index 72a2166..b6655e0 100644
--- a/nladmin-system/wms-server/src/main/java/org/nl/wms/warehouse_manage/enums/IOSEnum.java
+++ b/nladmin-system/wms-server/src/main/java/org/nl/wms/warehouse_manage/enums/IOSEnum.java
@@ -28,7 +28,7 @@ public enum IOSEnum {
BILL_STATUS(MapOf.of("生成","10", "分配中", "20", "分配完", "30", "完成", "99")),
// 入库业务类型
- BILL_TYPE(MapOf.of("生产入库","0001", "采购入库", "0005", "手工入库", "0009","销售出库","1001","生产出库","1005","调拨出库","1004", "手工出库", "1009")),
+ BILL_TYPE(MapOf.of("生产入库","0001", "采购入库", "0005","生产领料", "0006", "手工入库", "0009","销售出库","1001","生产出库","1005","调拨出库","1004", "手工出库", "1009")),
//入库分配明细状态
INBILL_DIS_STATUS(MapOf.of("未生成", "00", "生成", "01", "执行中", "02", "完成", "99")),
diff --git a/nladmin-system/wms-server/src/main/java/org/nl/wms/warehouse_manage/inAndOut/service/impl/InBillServiceImpl.java b/nladmin-system/wms-server/src/main/java/org/nl/wms/warehouse_manage/inAndOut/service/impl/InBillServiceImpl.java
index 44ca4a5..6248476 100644
--- a/nladmin-system/wms-server/src/main/java/org/nl/wms/warehouse_manage/inAndOut/service/impl/InBillServiceImpl.java
+++ b/nladmin-system/wms-server/src/main/java/org/nl/wms/warehouse_manage/inAndOut/service/impl/InBillServiceImpl.java
@@ -30,29 +30,26 @@ import org.nl.wms.basedata_manage.service.dto.StrategyMater;
import org.nl.wms.basedata_manage.service.dto.StrategyStructParam;
import org.nl.wms.basedata_manage.service.dto.StructattrChangeDto;
import org.nl.wms.sch_manage.enums.StatusEnum;
-import org.nl.wms.sch_manage.service.dao.SchBasePoint;
-import org.nl.wms.sch_manage.service.dao.SchBaseTask;
import org.nl.wms.sch_manage.service.core.tasks.StInTask;
+import org.nl.wms.sch_manage.service.dao.SchBaseTask;
import org.nl.wms.warehouse_manage.enums.IOSConstant;
import org.nl.wms.warehouse_manage.enums.IOSEnum;
-import org.nl.wms.warehouse_manage.inventory.IStInventoryService;
-import org.nl.wms.warehouse_manage.inventory.core.enums.InventoryChangeType;
-import org.nl.wms.warehouse_manage.inventory.core.param.impl.AddInvParam;
-import org.nl.wms.warehouse_manage.inventory.core.param.impl.InFinishParam;
-import org.nl.wms.warehouse_manage.inventory.core.param.impl.OutFinishParam;
-import org.nl.wms.warehouse_manage.service.IMdPbGroupplateService;
-import org.nl.wms.warehouse_manage.service.impl.MdPbGroupplateServiceImpl;
import org.nl.wms.warehouse_manage.inAndOut.service.IInBillService;
-import org.nl.wms.warehouse_manage.service.dao.GroupPlate;
import org.nl.wms.warehouse_manage.inAndOut.service.dao.IOStorInv;
import org.nl.wms.warehouse_manage.inAndOut.service.dao.IOStorInvDis;
import org.nl.wms.warehouse_manage.inAndOut.service.dao.IOStorInvDtl;
-import org.nl.wms.warehouse_manage.service.dto.GroupPlateDto;
import org.nl.wms.warehouse_manage.inAndOut.service.dao.mapper.IOStorInvDisMapper;
import org.nl.wms.warehouse_manage.inAndOut.service.dao.mapper.IOStorInvDtlMapper;
import org.nl.wms.warehouse_manage.inAndOut.service.dao.mapper.IOStorInvMapper;
import org.nl.wms.warehouse_manage.inAndOut.service.dto.IOStorInvDisDto;
import org.nl.wms.warehouse_manage.inAndOut.service.dto.IOStorInvDtlDto;
+import org.nl.wms.warehouse_manage.inventory.IStInventoryService;
+import org.nl.wms.warehouse_manage.inventory.core.enums.InventoryChangeType;
+import org.nl.wms.warehouse_manage.inventory.core.param.impl.AddInvParam;
+import org.nl.wms.warehouse_manage.service.IMdPbGroupplateService;
+import org.nl.wms.warehouse_manage.service.dao.GroupPlate;
+import org.nl.wms.warehouse_manage.service.dto.GroupPlateDto;
+import org.nl.wms.warehouse_manage.service.impl.MdPbGroupplateServiceImpl;
import org.nl.wms.warehouse_manage.stockReturn.strategy.CallbackStrategyPublish;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
@@ -673,9 +670,21 @@ public class InBillServiceImpl extends ServiceImpl i
if (CollectionUtils.isEmpty(ioStorInvDis)) {
throw new BadRequestException("未找到任务对应的分配明细");
}
- String iostorinvId = ioStorInvDis.get(0).getIostorinv_id();
- String storagevehicleCode = ioStorInvDis.get(0).getStoragevehicle_code();
- String structCode = ioStorInvDis.get(0).getStruct_code();
+ //库存变动
+ StructattrChangeDto changeDto = StructattrChangeDto.builder()
+ .inv(ioStorInvDis.get(0).getIostorinv_id())
+ .storagevehicleCode(ioStorInvDis.get(0).getStoragevehicle_code())
+ .structCode(ioStorInvDis.get(0).getStruct_code()).taskType(task.getConfig_code()).inBound(true).build();
+ iStructattrService.changeStruct(changeDto);
+ disFinish(ioStorInvDis);
+
+ }
+
+ @Override
+ public void disFinish(List disList) {
+ String iostorinvId = disList.get(0).getIostorinv_id();
+ String storagevehicleCode = disList.get(0).getStoragevehicle_code();
+ String structCode = disList.get(0).getStruct_code();
//解锁库位
JSONObject finish_map = new JSONObject();
finish_map.put("struct_code", structCode);
@@ -684,50 +693,6 @@ public class InBillServiceImpl extends ServiceImpl i
finish_map.put("inv_id", null);
finish_map.put("inv_code", null);
iStructattrService.updateStatusByCode("1", finish_map);
- //库存变动
- StructattrChangeDto changeDto = StructattrChangeDto.builder()
- .inv(iostorinvId)
- .storagevehicleCode(storagevehicleCode)
- .structCode(structCode).taskType(task.getConfig_code()).inBound(true).build();
- iStructattrService.changeStruct(changeDto);
- // 完成当前分配明细
- Map dtlMap = new HashMap<>();
- for (IOStorInvDis item : ioStorInvDis) {
- ioStorInvDisMapper.update(item, new LambdaUpdateWrapper<>(IOStorInvDis.class)
- .set(IOStorInvDis::getWork_status, IOSEnum.INBILL_DIS_STATUS.code("完成"))
- .set(IOStorInvDis::getReal_qty, item.getPlan_qty())
- .eq(IOStorInvDis::getIostorinvdis_id, item.getIostorinvdis_id()));
- dtlMap.put(item.getIostorinvdtl_id(), item.getPlan_qty());
- }
- //更新明细
- for (String dtl_id : dtlMap.keySet()) {
- IOStorInvDtl invDtl = new IOStorInvDtl();
- invDtl.setIostorinvdtl_id(dtl_id);
- invDtl.setReal_qty(dtlMap.get(dtl_id));
- invDtl.setBill_status(IOSEnum.BILL_STATUS.code("完成"));
- ioStorInvDtlMapper.updateById(invDtl);
- }
- // 查看明细是否全部完成
- int countDtl = ioStorInvDtlMapper.selectCount(new LambdaQueryWrapper<>(IOStorInvDtl.class)
- .eq(IOStorInvDtl::getIostorinv_id, iostorinvId)
- .ne(IOStorInvDtl::getBill_status, IOSEnum.BILL_STATUS.code("完成"))
- );
- // 如果明细全部完成则更新主表状态
- if (countDtl == 0) {
- //更新主表状态
- ioStorInvMapper.update(new IOStorInv(), new LambdaUpdateWrapper<>(IOStorInv.class)
- .set(IOStorInv::getBill_status, IOSEnum.BILL_STATUS.code("完成"))
- .set(IOStorInv::getConfirm_optid, currentUserId)
- .set(IOStorInv::getConfirm_optname, nickName)
- .set(IOStorInv::getConfirm_time, now)
- .eq(IOStorInv::getIostorinv_id, iostorinvId)
- );
- }
-
- }
-
- @Override
- public void disFinish(List disList) {
// 完成当前任务对应的所有分配明细
ioStorInvDisMapper.update(null,new LambdaUpdateWrapper<>(IOStorInvDis.class)
.set(IOStorInvDis::getWork_status,IOSEnum.INBILL_DIS_STATUS.code("完成"))
diff --git a/nladmin-system/wms-server/src/main/java/org/nl/wms/warehouse_manage/stockReturn/strategy/core/impl/DealPurchaseRecBillCallback.java b/nladmin-system/wms-server/src/main/java/org/nl/wms/warehouse_manage/stockReturn/strategy/core/impl/DealPurchaseRecBillCallback.java
new file mode 100644
index 0000000..7fb7180
--- /dev/null
+++ b/nladmin-system/wms-server/src/main/java/org/nl/wms/warehouse_manage/stockReturn/strategy/core/impl/DealPurchaseRecBillCallback.java
@@ -0,0 +1,114 @@
+package org.nl.wms.warehouse_manage.stockReturn.strategy.core.impl;
+
+import cn.hutool.core.date.DateUtil;
+import com.alibaba.fastjson.JSON;
+import com.alibaba.fastjson.JSONObject;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import org.apache.commons.lang.time.DateFormatUtils;
+import org.nl.wms.ext_manage.purchase.service.dto.EasAuditRequestDto;
+import org.nl.wms.ext_manage.util.ErpUtil;
+import org.nl.wms.pm_manage.purchase.service.PurchaseService;
+import org.nl.wms.pm_manage.purchase.service.PurchasedtlService;
+import org.nl.wms.pm_manage.purchase.service.dao.Purchasedtl;
+import org.nl.wms.pm_manage.purchase.service.dao.Purchasemst;
+import org.nl.wms.pm_manage.purchase.service.enums.PurchaseBillStatus;
+import org.nl.wms.warehouse_manage.enums.IOSEnum;
+import org.nl.wms.warehouse_manage.inAndOut.service.dao.IOStorInvDtl;
+import org.nl.wms.warehouse_manage.inAndOut.service.dao.mapper.IOStorInvDtlMapper;
+import org.nl.wms.warehouse_manage.stockReturn.service.IPmStockReturnService;
+import org.nl.wms.warehouse_manage.stockReturn.service.dao.PmStockReturn;
+import org.nl.wms.warehouse_manage.stockReturn.service.enums.StockReturnStatusEnum;
+import org.nl.wms.warehouse_manage.stockReturn.strategy.core.CallbackStrategy;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import java.util.ArrayList;
+import java.util.Date;
+import java.util.List;
+
+/**
+ * 生产入库回传
+ */
+@Service
+public class DealPurchaseRecBillCallback implements CallbackStrategy {
+
+ @Autowired
+ private IPmStockReturnService iPmStockReturnService;
+ @Autowired
+ private PurchaseService purchaseService;
+ @Autowired
+ private PurchasedtlService purchasedtlService;
+ @Autowired
+ private IOStorInvDtlMapper ioStorInvDtlMapper;
+
+
+ @Override
+ public void buildCallback(IOStorInvDtl param) {
+ final String orderCode = param.getSource_bill_code();
+ Purchasemst purchasemst = purchaseService.getOne(new LambdaQueryWrapper()
+ .eq(Purchasemst::getBill_id, orderCode));
+ List ioStorInvDtls = ioStorInvDtlMapper.selectList(new LambdaQueryWrapper()
+ .eq(IOStorInvDtl::getIostorinv_id, param.getIostorinv_id()));
+ List entryList = new ArrayList<>();
+ for (IOStorInvDtl item : ioStorInvDtls) {
+ Purchasedtl purchasedtl = purchasedtlService.getOne(new LambdaQueryWrapper()
+ .eq(Purchasedtl::getBill_id, orderCode)
+ .eq(Purchasedtl::getSku_code, item.getMaterial_code()));
+
+ purchasedtl.setInstock_qty(item.getPlan_qty().add(purchasedtl.getInstock_qty()));
+ purchasedtlService.updateById(purchasedtl);
+
+ EasAuditRequestDto.EasAuditEntryDto easAuditEntryDto = new EasAuditRequestDto.EasAuditEntryDto();
+ easAuditEntryDto.setSeq(Integer.parseInt(purchasedtl.getItem_no()));
+ easAuditEntryDto.setQty(item.getPlan_qty());
+ easAuditEntryDto.setEntryId(purchasedtl.getEntry_id());
+ entryList.add(easAuditEntryDto);
+ }
+ List list = purchasedtlService.list(new LambdaQueryWrapper()
+ .eq(Purchasedtl::getBill_id, orderCode));
+ boolean flag = list.stream().anyMatch(i -> i.getQty().compareTo(i.getInstock_qty()) != 0);
+ if (!flag){
+ //全部相等则单据完成
+ purchaseService.lambdaUpdate()
+ .set(Purchasemst::getBill_status, PurchaseBillStatus.COMPLETED.getCode())
+ .set(Purchasemst::getModify_date, DateFormatUtils.format(new Date(), "yyyy-MM-dd HH:mm:ss"))
+ .eq(Purchasemst::getBill_id, orderCode)
+ .update();
+ // 保存回传单
+ EasAuditRequestDto easAuditRequestDto = new EasAuditRequestDto();
+ easAuditRequestDto.setType("WMS");
+ easAuditRequestDto.setMethod("DealBill");
+ EasAuditRequestDto.EasAuditDataDto easAuditDataDto = new EasAuditRequestDto.EasAuditDataDto();
+ easAuditDataDto.setBillType(purchasemst.getOrder_type());
+ easAuditDataDto.setBillNo(purchasemst.getOrder_no());
+ easAuditDataDto.setEntrys(entryList);
+ easAuditRequestDto.setData(easAuditDataDto);
+
+ final PmStockReturn stockReturn = new PmStockReturn();
+ stockReturn.setRequest_Id(orderCode);
+ stockReturn.setCreate_time(DateUtil.now());
+ stockReturn.setRequest_type(IOSEnum.BILL_TYPE.code("采购入库"));
+ stockReturn.setStatus(StockReturnStatusEnum.TODO.getCode());
+ stockReturn.setRequest_data(JSON.toJSONString(easAuditRequestDto));
+ iPmStockReturnService.save(stockReturn);
+ //回传
+ try {
+ ErpUtil.create().login().audit(JSONObject.toJSONString(easAuditRequestDto));
+ iPmStockReturnService.lambdaUpdate()
+ .set(PmStockReturn::getStatus,StockReturnStatusEnum.SUCESS.getCode())
+ .eq(PmStockReturn::getRequest_Id, orderCode);
+ } catch (Exception e) {
+ iPmStockReturnService.lambdaUpdate()
+ .set(PmStockReturn::getStatus,StockReturnStatusEnum.FAIL.getCode())
+ .eq(PmStockReturn::getRequest_Id, orderCode);
+ }
+ }else {
+ //更新单据状态执行中
+ purchaseService.lambdaUpdate()
+ .eq(Purchasemst::getBill_id, orderCode)
+ .eq(Purchasemst::getBill_status, PurchaseBillStatus.CREATED.getCode())
+ .set(Purchasemst::getBill_status, PurchaseBillStatus.EXECUTING.getCode())
+ .update();
+ }
+ }
+}
diff --git a/nladmin-system/wms-server/src/main/java/org/nl/wms/welding_manage/service/work_order/IWorkOrderService.java b/nladmin-system/wms-server/src/main/java/org/nl/wms/welding_manage/service/work_order/IWorkOrderService.java
index 31fd818..dc3e866 100644
--- a/nladmin-system/wms-server/src/main/java/org/nl/wms/welding_manage/service/work_order/IWorkOrderService.java
+++ b/nladmin-system/wms-server/src/main/java/org/nl/wms/welding_manage/service/work_order/IWorkOrderService.java
@@ -38,4 +38,6 @@ public interface IWorkOrderService extends IService {
void updateBomUseQty(String id, BigDecimal qty);
List getOrderBomItem(String orderCode);
+
+ WorkOrderDao getWorkOrder(String orderCode);
}
diff --git a/nladmin-system/wms-server/src/main/java/org/nl/wms/welding_manage/service/work_order/impl/WorkOrderServiceImpl.java b/nladmin-system/wms-server/src/main/java/org/nl/wms/welding_manage/service/work_order/impl/WorkOrderServiceImpl.java
index a9c0164..2e6f257 100644
--- a/nladmin-system/wms-server/src/main/java/org/nl/wms/welding_manage/service/work_order/impl/WorkOrderServiceImpl.java
+++ b/nladmin-system/wms-server/src/main/java/org/nl/wms/welding_manage/service/work_order/impl/WorkOrderServiceImpl.java
@@ -1,5 +1,6 @@
package org.nl.wms.welding_manage.service.work_order.impl;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
@@ -119,4 +120,15 @@ public class WorkOrderServiceImpl extends ServiceImpl()
+ .eq(WorkOrderDao::getOrder_code, orderCode));
+ }
+
+
}