src/main/java/com/zy/asrs/task/AutomaticallyIssueWCSTasksScheduler.java
@@ -3,6 +3,7 @@ import com.zy.asrs.entity.WrkMast; import com.zy.asrs.service.WrkMastService; import com.zy.asrs.task.core.ReturnT; import com.zy.asrs.task.handler.AutomaticallyIssueWCSTasksHandler; import com.zy.asrs.task.handler.WorkMastHandler; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -19,7 +20,7 @@ @Autowired private WrkMastService wrkMastService; @Autowired private WorkMastHandler workMastHandler; private AutomaticallyIssueWCSTasksHandler automaticallyIssueWCSTasksHandler; @Scheduled(cron = "0/3 * * * * ? ") private void execute(){ @@ -27,16 +28,6 @@ if (wrkMasts.isEmpty()) { return; } for (WrkMast wrkMast : wrkMasts) { ReturnT<String> returnT = workMastHandler.start(wrkMast); if (!returnT.isSuccess()) { wrkMast.setUpdMk("X"); wrkMast.setErrorMemo(returnT.getMsg()); wrkMast.setErrorTime(new Date()); if (!wrkMastService.updateById(wrkMast)) { log.error("工作档[workNo={}]标记待处理失败", wrkMast.getWrkNo()); } } } ReturnT<String> returnT = automaticallyIssueWCSTasksHandler.start(wrkMasts); } } src/main/java/com/zy/asrs/task/OrderToSortLineScheduler.java
File was deleted src/main/java/com/zy/asrs/task/handler/AutomaticallyIssueWCSTasksHandler.java
@@ -1,20 +1,112 @@ package com.zy.asrs.task.handler; import com.zy.asrs.entity.WrkMast; import com.zy.asrs.service.WrkMastService; import com.zy.asrs.task.AbstractHandler; import com.zy.asrs.task.core.ReturnT; import com.zy.common.utils.HttpHandler; import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONObject; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Value; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import java.util.ArrayList; import java.util.Date; import java.util.HashMap; import java.util.List; import java.util.Map; import java.util.Objects; import java.util.concurrent.TimeUnit; @Slf4j @Service @Transactional public class AutomaticallyIssueWCSTasksHandler extends AbstractHandler<String> { @Value("${wcs.switch}") private String switchValue; @Value("${wcs.address.URL}") private String urlValue; @Value("${wcs.address.createInTask}") private String createInTaskValue; @Value("${wcs.address.createOutTask}") private String createOutTaskValue; @Value("${wcs.address.createLocMoveTask}") private String createLocMoveTaskValue; public ReturnT<String> start(List<WrkMast> wrkMast) { try { if (!Boolean.parseBoolean(String.valueOf(switchValue))) { return SUCCESS; } if (wrkMast == null || wrkMast.isEmpty()) { return SUCCESS; } List<WrkMast> toSend = new ArrayList<>(); for (WrkMast m : wrkMast) { if (m == null) { continue; } if (Objects.equals(m.getWrkSts(), 11L)) { if (m.getUpdMk() != null && "WCS_SENT".equalsIgnoreCase(m.getUpdMk())) { continue; } toSend.add(m); } } if (toSend.isEmpty()) { return SUCCESS; } List<Map<String, Object>> tasks = new ArrayList<>(); for (WrkMast m : toSend) { Map<String, Object> t = new HashMap<>(); t.put("taskNo", String.valueOf(m.getWrkNo())); t.put("staNo", String.valueOf(m.getStaNo())); t.put("locNo", m.getSourceLocNo()); if (m.getIoPri() != null) { t.put("taskPri", m.getIoPri().intValue()); } t.put("seq",m.getPltType()); t.put("orderId",m.getUserNo()); tasks.add(t); } Map<String, Object> payload = new HashMap<>(); payload.put("tasks", tasks); public ReturnT<String> start(WrkMast wrkMast) { String response = new HttpHandler.Builder() .setUri(urlValue) .setPath(createOutTaskValue) .setHttps(urlValue != null && urlValue.startsWith("https://")) .setTimeout(10, TimeUnit.SECONDS) .setJson(JSON.toJSONString(payload)) .build() .doPost(); JSONObject jsonObject = JSON.parseObject(response == null ? "{}" : response); Integer code = jsonObject.getInteger("code"); if (code == null || !Objects.equals(code, 200)) { log.error("WCS下发出库任务失败, url:{}, path:{}, request:{}, response:{}", urlValue, createOutTaskValue, JSON.toJSONString(payload), response); return FAIL.setMsg("WCS下发出库任务失败"); } Date now = new Date(); for (WrkMast m : toSend) { m.setUpdMk("WCS_SENT"); m.setModiTime(now); m.setWrkSts(12L); } // 延迟注入,避免循环依赖 WrkMastService wrkMastService = com.core.common.SpringUtils.getBean(WrkMastService.class); for (WrkMast m : toSend) { try { wrkMastService.updateById(m); } catch (Exception ignore) {} } } catch (Exception e) { log.error("WCS出库任务下发异常", e); return FAIL.setMsg(e.getMessage()); } return SUCCESS; } } src/main/java/com/zy/asrs/task/kingdee/InboundOrderScheduler.java
File was deleted src/main/java/com/zy/asrs/task/kingdee/LoginAuthenticationScheduler.java
File was deleted src/main/java/com/zy/asrs/task/kingdee/ReviewOrderSyncScheduler.java
File was deleted src/main/java/com/zy/asrs/task/kingdee/SaveOrderSyncScheduler.java
File was deleted src/main/java/com/zy/asrs/task/kingdee/SubmitOrderSyncScheduler.java
File was deleted src/main/java/com/zy/asrs/task/kingdee/handler/InboundOrderHandler.java
File was deleted src/main/java/com/zy/asrs/task/kingdee/handler/LoginAuthenticationHandler.java
File was deleted src/main/java/com/zy/asrs/task/kingdee/handler/ReviewOrderSyncHandler.java
File was deleted src/main/java/com/zy/asrs/task/kingdee/handler/SaveOrderSyncHandler.java
File was deleted src/main/java/com/zy/asrs/task/kingdee/handler/SubmitOrderSyncHandler.java
File was deleted src/main/resources/application.yml
@@ -91,12 +91,6 @@ switch: #计时器上报开关 ErpReportOld: true #获取单据开关 InboundOrderSwitch: true #登录接口开关 LoginAuthenticationSwitch: true #上报、审核单据开关 ReviewOrderSwitch: true # 地址 address: URL: https://shyucheng.test.kdgalaxy.com @@ -104,72 +98,17 @@ loginaddress: /kapi/oauth2/getToken #商品档案地址 mataddress: /kapi/v2/eap7/basedata/bd_material/batchQuery #货主档案地址 orgaddress: /kapi/v2/basedata/bd_supplier/query #收料单-查询 impurreceivebilladdress: /kapi/v2/im/im_purreceivebill/getList #进仓通知单 impurreceivebilldetl: kapi/v2/eap7/im/im_purreceivebill/query #进仓入库单新增 imPurinbillAdd: /kapi/v2/im/im_purinbill/add #进仓入库单提交 imPurinbillBatchSubmit: /kapi/v2/im/im_purinbill/batchSubmit #进仓入库单审核 imPurinbillBatchAudit: /kapi/v2/im/im_purinbill/batchAudit #销售出库单查询 imSaloutbill: /kapi/v2/eap7/im/im_saloutbill/query #销售出库单上报 imSaloutbillReport: /kapi/v2/im/im_saloutbill/batchAudit #销售退货查询 scpSalreturn: /kapi/v2/eap7/im/im_saloutbill/query # #销售退货进仓单 # scpSalreturnDetl: /kapi/v2/eap7/scp/scp_salreturn/query #销售退货上报 scpSalreturnReport: /kapi/v2/im/im_saloutbill/batchAudit #生产领料查询 imMdcMftproorder: /kapi/v2/im/im_mdc_mftproorder/batchQuery #生产领料汇报 imMdcMftproorderReport: /kapi/v2/im/im_mdc_mftproorder/batchAudit #生产退料单查询 imMdcMftreturnorder: /kapi/v2/eap7/im/im_mdc_mftreturnorder/batchQuery #生产退料单上报 imMdcMftreturnorderReport: /kapi/v2/im/im_mdc_mftreturnorder/batchAudit #生产补料单 imMdcMftfeedorder: /kapi/v2/im/im_mdc_mftfeedorder/batcheQuery #生产补料单汇报 imMdcMftfeedorderReport: /kapi/v2/im/im_mdc_mftfeedorder/batchAudit #生产进仓单查询 imProductinbill: /kapi/v2/eap7/pom/pom_mftorderreport/query #生产进仓单查询上报 imProductinbillReport: /kapi/v2/eap7/im/im_mdc_mftmanuinbill/add imProductinbillBatchSubmit: /kapi/v2/im/im_mdc_mftmanuinbill/batchSubmit imProductinbillBatchAudit: /kapi/v2/im/im_mdc_mftmanuinbill/batchAudit #其他出库单上报 imOtheroutbill: /kapi/v2/im/im_otheroutbill/batchSave #其他出库单提交 imOtheroutbillSubmit: /kapi/v2/im/im_otheroutbill/batchSubmit #其他出库单审核 imOtheroutbillAudi: /kapi/v2/im/im_otheroutbill/batchAudit #其他入库新增 imOtherinbill: /kapi/v2/im/im_otherinbill/batchAdd #其他入库提交 imOtherinbillSubmit: /kapi/v2/im/im_otherinbill/batchSubmit #其他入库审核 imOtherinbillAudit: /kapi/v2/im/im_otherinbill/batchAudit #产品检验单查询 qcppManuinspec: /kapi/v2/eap7/qcpp/qcpp_manuinspec/query #汇报单->自生成出库单上报 imSaloutbillSave: /kapi/v2/eap7/im/im_saloutbill/save imSaloutbillSaveSubmit: kapi/v2/im/im_saloutbill/batchSubmit #委外入库指令 omOutsourcereceiptQuery: /kapi/v2/eap7/om/om_outsourcereceipt/query imMdcOmprdinbillSave: /kapi/v2/eap7/im/im_mdc_omprdinbill/save imMdcOmprdinbillBatchSubmit: /kapi/v2/im/im_mdc_omprdinbill/batchSubmit imMdcOmprdinbillBatchAudit: /kapi/v2/im/im_mdc_omprdinbill/batchAudit # 登录账号管理 login : xAcfwIdentity: "djF8MTlhNTNhZjJhOWEwMWRlODhlMDF8NDkxNTk0MDU4MTQxNXwus9WaEHKRh0daJe1TWmVoMkv3zQY2knNTZRzaOhRgwnw" clientId: "WMS" clientSecret: "123456789Asd!@123456789" accountId: "2182793143735298048" username: "admin" #wcs任务下发 wcs: # 开关 switch: true # 地址 address: URL: https://127.0.0.1:9090 #入库任务下发地址 createInTask : /openapi/createInTask #出库任务下发地址 createOutTask: /openapi/createOutTask #移库任务下发地址 createLocMoveTask: /openapi/createLocMoveTask