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)); + } + + }