From 69d05874075b61bd0568d7cd89bb96f6906102c9 Mon Sep 17 00:00:00 2001 From: 18188916393 <2562295436@qq.com> Date: Mon, 29 Aug 2022 17:02:47 +0800 Subject: [PATCH] =?UTF-8?q?=E6=96=B0=E9=9C=80=E6=B1=82=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../org/nl/wms/common/StructFindUtil.java | 2 + .../org/nl/wms/common/wql/QSTRUCT_RULE.wql | 5 + .../wms/ext/acs/rest/WmsToJnController.java | 9 +- .../wms/ext/acs/service/WmsToJnService.java | 7 + .../acs/service/impl/AcsToWmsServiceImpl.java | 15 ++- .../acs/service/impl/WmsToJnServiceImpl.java | 123 ++++++++++++++++-- .../org/nl/wms/ext/acs/wql/ACSTOMES_001.wql | 14 +- .../rest/ProduceTaskController.java | 53 ++++++++ .../service/ProduceTaskService.java | 23 ++++ .../service/impl/ProduceTaskServiceImpl.java | 78 +++++++++++ .../wms/pda/sendMaterial/wql/QPADSERVICE.wql | 39 ++++-- .../wms/sch/manage/buss/CallMaterialTask.java | 4 +- .../org/nl/wms/sch/task/AutoFeedBackInfo.java | 60 +++++++++ .../src/main/java/org/nl/wms/wms.xls | Bin 397312 -> 399872 bytes .../src/main/resources/AutoWmsToJn.xml | 28 ++++ .../src/main/resources/logback-spring.xml | 1 + 16 files changed, 434 insertions(+), 27 deletions(-) create mode 100644 wms/hd/nladmin-system/src/main/java/org/nl/wms/pda/produceTask/rest/ProduceTaskController.java create mode 100644 wms/hd/nladmin-system/src/main/java/org/nl/wms/pda/produceTask/service/ProduceTaskService.java create mode 100644 wms/hd/nladmin-system/src/main/java/org/nl/wms/pda/produceTask/service/impl/ProduceTaskServiceImpl.java create mode 100644 wms/hd/nladmin-system/src/main/java/org/nl/wms/sch/task/AutoFeedBackInfo.java create mode 100644 wms/hd/nladmin-system/src/main/resources/AutoWmsToJn.xml diff --git a/wms/hd/nladmin-system/src/main/java/org/nl/wms/common/StructFindUtil.java b/wms/hd/nladmin-system/src/main/java/org/nl/wms/common/StructFindUtil.java index afcb86f..48b790d 100644 --- a/wms/hd/nladmin-system/src/main/java/org/nl/wms/common/StructFindUtil.java +++ b/wms/hd/nladmin-system/src/main/java/org/nl/wms/common/StructFindUtil.java @@ -40,6 +40,7 @@ public class StructFindUtil { String area_type = jsonObject.getString("area_type"); String is_full = jsonObject.getString("is_full"); String workprocedure_id = jsonObject.getString("workprocedure_id"); + String group_device= jsonObject.getString("group_device"); if (StrUtil.isEmpty(material_id)) { throw new BadRequestException("物料不能为空!"); @@ -59,6 +60,7 @@ public class StructFindUtil { } JSONObject result = WQL.getWO("QSTRUCT_RULE").addParam("flag", "3") .addParam("material_id", material_id).addParam("area_type", area_type) + .addParam("group_device",group_device) .addParam("is_full", is_full).addParam("workprocedure_id", workprocedure_id) .process().uniqueResult(0); return result; diff --git a/wms/hd/nladmin-system/src/main/java/org/nl/wms/common/wql/QSTRUCT_RULE.wql b/wms/hd/nladmin-system/src/main/java/org/nl/wms/common/wql/QSTRUCT_RULE.wql index 59b7b07..14adf21 100644 --- a/wms/hd/nladmin-system/src/main/java/org/nl/wms/common/wql/QSTRUCT_RULE.wql +++ b/wms/hd/nladmin-system/src/main/java/org/nl/wms/common/wql/QSTRUCT_RULE.wql @@ -24,6 +24,7 @@ 输入.material_id TYPEAS s_string 输入.next_point_code TYPEAS s_string 输入.point_code TYPEAS s_string + 输入.group_device TYPEAS s_string [临时表] @@ -116,12 +117,16 @@ IF 输入.flag = "3" st_ivt_structivt ivt LEFT JOIN sch_base_point point ON point.point_id = ivt.struct_id left join st_rule_IOdisStruct ruledis on ruledis.struct_uuid = ivt.struct_id + LEFT JOIN st_buss_vehiclegroup vehiclegroup ON vehiclegroup.vehicle_code = ivt.vehicle_code WHERE ivt.canuse_qty > 0 AND point.point_status = '02' AND point.lock_type = '00' AND point.is_used ='1' and TIME_TO_SEC(timediff(now(),ivt.instorage_time)) >=ivt.stewing_time*60 + OPTION 输入.group_device <> "" + vehiclegroup.device_id = 输入.group_device + ENDOPTION OPTION 输入.material_id <> "" ivt.material_id = 输入.material_id ENDOPTION diff --git a/wms/hd/nladmin-system/src/main/java/org/nl/wms/ext/acs/rest/WmsToJnController.java b/wms/hd/nladmin-system/src/main/java/org/nl/wms/ext/acs/rest/WmsToJnController.java index 61f53e5..33a3984 100644 --- a/wms/hd/nladmin-system/src/main/java/org/nl/wms/ext/acs/rest/WmsToJnController.java +++ b/wms/hd/nladmin-system/src/main/java/org/nl/wms/ext/acs/rest/WmsToJnController.java @@ -91,7 +91,14 @@ public class WmsToJnController { @Log("返回不合格数量") @ApiOperation("返回不合格数量") public ResponseEntity feedBackQualityInfo(@RequestBody Map whereJson) { - return new ResponseEntity<>(WmsToJnService.feedBackQualityInfo((String) whereJson.get(" record_id")), HttpStatus.OK); + return new ResponseEntity<>(WmsToJnService.feedBackQualityInfo((String) whereJson.get("record_id")), HttpStatus.OK); + } + + @PostMapping("/queryCurrentOrder") + @Log("查询当前工单信息") + @ApiOperation("查询当前工单信息") + public ResponseEntity queryCurrentOrder(@RequestBody Map whereJson) { + return new ResponseEntity<>(WmsToJnService.queryCurrentOrder(whereJson), HttpStatus.OK); } } diff --git a/wms/hd/nladmin-system/src/main/java/org/nl/wms/ext/acs/service/WmsToJnService.java b/wms/hd/nladmin-system/src/main/java/org/nl/wms/ext/acs/service/WmsToJnService.java index bb794c3..870c25b 100644 --- a/wms/hd/nladmin-system/src/main/java/org/nl/wms/ext/acs/service/WmsToJnService.java +++ b/wms/hd/nladmin-system/src/main/java/org/nl/wms/ext/acs/service/WmsToJnService.java @@ -85,7 +85,14 @@ public interface WmsToJnService { */ Map feedBackQualityInfo(String record_id); + /** + * 查询当前工单信息 + * + * @param + * @return Map + */ + Map queryCurrentOrder(Map whereJson); } diff --git a/wms/hd/nladmin-system/src/main/java/org/nl/wms/ext/acs/service/impl/AcsToWmsServiceImpl.java b/wms/hd/nladmin-system/src/main/java/org/nl/wms/ext/acs/service/impl/AcsToWmsServiceImpl.java index 01677a5..6244af7 100644 --- a/wms/hd/nladmin-system/src/main/java/org/nl/wms/ext/acs/service/impl/AcsToWmsServiceImpl.java +++ b/wms/hd/nladmin-system/src/main/java/org/nl/wms/ext/acs/service/impl/AcsToWmsServiceImpl.java @@ -156,11 +156,11 @@ public class AcsToWmsServiceImpl implements AcsToWmsService { jsonObject.put("next_point_code", device_code); jsonObject.put("create_mode", "01"); //机械手1 is_full给1 ,机械手3is_full给空,半托,跟满托都可以出 - if(StrUtil.equals(device_code,"FJJXSSLW101")||StrUtil.equals(device_code,"FJJXSSLW102")){ - is_full ="1"; + if (StrUtil.equals(device_code, "FJJXSSLW101") || StrUtil.equals(device_code, "FJJXSSLW102")) { + is_full = "1"; } - if (StrUtil.equals(device_code,"FJJXSSLW301")||StrUtil.equals(device_code,"FJJXSSLW302")){ - is_full ="2"; + if (StrUtil.equals(device_code, "FJJXSSLW301") || StrUtil.equals(device_code, "FJJXSSLW302")) { + is_full = "2"; } jsonObject.put("is_full", is_full); produceInfoByCode = this.getProduceInfoByCode(device_code); @@ -184,12 +184,13 @@ public class AcsToWmsServiceImpl implements AcsToWmsService { StrUtil.equals(device_code, "FJJXSXLW301") || StrUtil.equals(device_code, "FJJXSXLW302") ) { - + JSONObject joo = pointTable.query("point_code='" + device_code + "'").uniqueResult(0); material_id = produceInfoByCode.getString("material_id"); String workprocedure_id = WorkProcedureEnum.FJGX.getId(); JSONObject jsonObject1 = WQL.getWO("ACSTOMES_001").addParam("flag", "1") .addParam("workprocedure_id", workprocedure_id) .addParam("material_id", material_id) + .addParam("point_id", joo.getString("point_id")) .process().uniqueResult(0); if (ObjectUtil.isNotEmpty(jsonObject1)) { //如果有库存,则出半满托盘 @@ -199,6 +200,7 @@ public class AcsToWmsServiceImpl implements AcsToWmsService { jsonObject.put("material_id", material_id); jsonObject.put("is_full", "0"); jsonObject.put("workprocedure_id", WorkProcedureEnum.BZGX.getId()); + jsonObject.put("group_device",jsonObject1.getString("group_device_id")); callMaterialTask.createTask((JSONObject) JSON.toJSON(jsonObject)); break; } @@ -265,7 +267,7 @@ public class AcsToWmsServiceImpl implements AcsToWmsService { throw new BadRequestException("设备点位不能为空!"); } JSONObject produceInfoByCode = new JSONObject(); - String is_full = (String)jsonObject.get("is_full"); + String is_full = (String) jsonObject.get("is_full"); String vehicle_code = (String) jsonObject.get("vehicle_code"); String qty = String.valueOf(jsonObject.get("qty")); //String material_code = (String) jsonObject.get("material_code"); @@ -277,6 +279,7 @@ public class AcsToWmsServiceImpl implements AcsToWmsService { String producetask_id = WQLObject.getWQLObject("pdm_mg_producetask").query("producetask_code='" + producetask_code + "'").uniqueResult(0).getString("producetask_id"); JSONObject groubObj = new JSONObject(); String group_id = IdUtil.getSnowflake(1, 1).nextId() + ""; + groubObj.put("device_id",produceInfoByCode.getString("device_id")); groubObj.put("group_id", group_id); groubObj.put("material_id", material_id); groubObj.put("material_code", materialObj.getString("material_code")); diff --git a/wms/hd/nladmin-system/src/main/java/org/nl/wms/ext/acs/service/impl/WmsToJnServiceImpl.java b/wms/hd/nladmin-system/src/main/java/org/nl/wms/ext/acs/service/impl/WmsToJnServiceImpl.java index e62794d..0957ec5 100644 --- a/wms/hd/nladmin-system/src/main/java/org/nl/wms/ext/acs/service/impl/WmsToJnServiceImpl.java +++ b/wms/hd/nladmin-system/src/main/java/org/nl/wms/ext/acs/service/impl/WmsToJnServiceImpl.java @@ -55,6 +55,7 @@ public class WmsToJnServiceImpl implements WmsToJnService { if (StrUtil.isNotEmpty(status) && status.equals("1")) { log.info("wms同步嘉耐工单成功!"); } else { + log.info("wms同步嘉耐工单失败!"); } WQLObject produceTaskTable = WQLObject.getWQLObject("PDM_MG_produceTask"); @@ -237,13 +238,13 @@ public class WmsToJnServiceImpl implements WmsToJnService { @Override public Map feedBackStatus(Map whereJson) { + WQLObject wo = WQLObject.getWQLObject("pdm_bi_feedbackrecord"); String value = WQLObject.getWQLObject("sys_param").query("code='IS_CONNECT_JN'").uniqueResult(0).getString("value"); if (StrUtil.equals(value, "0")) { return null; } JSONArray results = WQL.getWO("WMSTOJN_001").addParam("flag", "7").process().getResultJSONArray(0); String method = "upDEVStatus"; - for (int i = 0; i < results.size(); i++) { JSONObject param = results.getJSONObject(0); JSONObject obj = new JSONObject(); @@ -253,7 +254,19 @@ public class WmsToJnServiceImpl implements WmsToJnService { String resultMsg = HttpRequest.post(URL + method) .body(String.valueOf(obj)).timeout(timeout) .execute().body(); - JSONObject result = JSONObject.parseObject(resultMsg); + JSONObject returnResult = JSONObject.parseObject(resultMsg); + String returnStatus = returnResult.getString("status"); + if (StrUtil.isNotEmpty(returnStatus) && returnStatus.equals("1")) { + log.info("诺力请求嘉耐回传不合格记录成功!"); + } else { + log.info("诺力请求嘉耐回传不合格记录失败!"); + JSONObject jo = new JSONObject(); + jo.put("record_id", IdUtil.getSnowflake(1, 1).nextId()); + jo.put("method", method); + jo.put("content", obj); + jo.put("create_time", DateUtil.now()); + wo.insert(jo); + } log.info("诺力请求嘉耐回传不合格记录出参{}", resultMsg); } JSONObject returnjo = new JSONObject(); @@ -265,6 +278,7 @@ public class WmsToJnServiceImpl implements WmsToJnService { @Override public Map feedBackCarryRecord(Map whereJson) { + WQLObject wo = WQLObject.getWQLObject("pdm_bi_feedbackrecord"); String value = WQLObject.getWQLObject("sys_param").query("code='IS_CONNECT_JN'").uniqueResult(0).getString("value"); if (StrUtil.equals(value, "0")) { return null; @@ -279,12 +293,26 @@ public class WmsToJnServiceImpl implements WmsToJnService { String returnResultMsg = HttpRequest.post(URL + method) .body(String.valueOf(obj)).timeout(timeout) .execute().body(); + JSONObject returnResult = JSONObject.parseObject(returnResultMsg); + String returnStatus = returnResult.getString("status"); + if (StrUtil.isNotEmpty(returnStatus) && returnStatus.equals("1")) { + log.info("诺力请求嘉耐回传搬运记录入参成功!"); + } else { + log.info("诺力请求嘉耐回传搬运记录入参失败!"); + JSONObject jo = new JSONObject(); + jo.put("record_id", IdUtil.getSnowflake(1, 1).nextId()); + jo.put("method", method); + jo.put("content", obj); + jo.put("create_time", DateUtil.now()); + wo.insert(jo); + } log.info("诺力请求嘉耐回传搬运记录出参{}", returnResultMsg); return null; } @Override public Map feedBackInKiln(Map whereJson) { + WQLObject wo = WQLObject.getWQLObject("pdm_bi_feedbackrecord"); String value = WQLObject.getWQLObject("sys_param").query("code='IS_CONNECT_JN'").uniqueResult(0).getString("value"); if (StrUtil.equals(value, "0")) { return null; @@ -299,12 +327,26 @@ public class WmsToJnServiceImpl implements WmsToJnService { String returnResultMsg = HttpRequest.post(URL + method) .body(String.valueOf(jsonObject)).timeout(timeout) .execute().body(); + JSONObject returnResult = JSONObject.parseObject(returnResultMsg); + String returnStatus = returnResult.getString("status"); + if (StrUtil.isNotEmpty(returnStatus) && returnStatus.equals("1")) { + log.info("诺力请求嘉耐回传入窑信息成功!"); + } else { + log.info("诺力请求嘉耐回传入窑信息失败!"); + JSONObject jo = new JSONObject(); + jo.put("record_id", IdUtil.getSnowflake(1, 1).nextId()); + jo.put("method", method); + jo.put("content", obj); + jo.put("create_time", DateUtil.now()); + wo.insert(jo); + } log.info("诺力请求嘉耐回传入窑信息出参{}", returnResultMsg); return null; } @Override public Map feedBackOutKiln(Map whereJson) { + WQLObject wo = WQLObject.getWQLObject("pdm_bi_feedbackrecord"); String value = WQLObject.getWQLObject("sys_param").query("code='IS_CONNECT_JN'").uniqueResult(0).getString("value"); if (StrUtil.equals(value, "0")) { return null; @@ -315,16 +357,30 @@ public class WmsToJnServiceImpl implements WmsToJnService { JSONObject obj = new JSONObject(); obj.put("ticker", "WLXT"); obj.put("stringData", jsonObject); - log.info("诺力请求嘉耐回传入窑信息入参{}", obj.toString()); + log.info("诺力请求嘉耐回传出窑信息入参{}", obj.toString()); String returnResultMsg = HttpRequest.post(URL + method) .body(String.valueOf(jsonObject)).timeout(timeout) .execute().body(); - log.info("诺力请求嘉耐回传入窑信息出参{}", returnResultMsg); + JSONObject returnResult = JSONObject.parseObject(returnResultMsg); + String returnStatus = returnResult.getString("status"); + if (StrUtil.isNotEmpty(returnStatus) && returnStatus.equals("1")) { + log.info("诺力请求嘉耐回传出窑信息成功!"); + } else { + log.info("诺力请求嘉耐回传出窑信息失败!"); + JSONObject jo = new JSONObject(); + jo.put("record_id", IdUtil.getSnowflake(1, 1).nextId()); + jo.put("method", method); + jo.put("content", obj); + jo.put("create_time", DateUtil.now()); + wo.insert(jo); + } + log.info("诺力请求嘉耐回传出窑信息出参{}", returnResultMsg); return null; } @Override public Map feedBackPackage(Map whereJson) { + WQLObject wo = WQLObject.getWQLObject("pdm_bi_feedbackrecord"); String value = WQLObject.getWQLObject("sys_param").query("code='IS_CONNECT_JN'").uniqueResult(0).getString("value"); if (StrUtil.equals(value, "0")) { return null; @@ -345,7 +401,19 @@ public class WmsToJnServiceImpl implements WmsToJnService { String resultMsg = HttpRequest.post(URL + method) .body(String.valueOf(obj)).timeout(timeout) .execute().body(); - JSONObject result = JSONObject.parseObject(resultMsg); + JSONObject returnResult = JSONObject.parseObject(resultMsg); + String returnStatus = returnResult.getString("status"); + if (StrUtil.isNotEmpty(returnStatus) && returnStatus.equals("1")) { + log.info("诺力请求嘉耐回传组盘记录成功!"); + } else { + log.info("诺力请求嘉耐回传组盘记录失败!"); + JSONObject jo = new JSONObject(); + jo.put("record_id", IdUtil.getSnowflake(1, 1).nextId()); + jo.put("method", method); + jo.put("content", obj); + jo.put("create_time", DateUtil.now()); + wo.insert(jo); + } log.info("诺力请求嘉耐回传组盘记录出参{}", resultMsg); return null; @@ -353,6 +421,7 @@ public class WmsToJnServiceImpl implements WmsToJnService { @Override public Map feedBackQualityInfo(String record_id) { + WQLObject wo = WQLObject.getWQLObject("pdm_bi_feedbackrecord"); String value = WQLObject.getWQLObject("sys_param").query("code='IS_CONNECT_JN'").uniqueResult(0).getString("value"); if (StrUtil.equals(value, "0")) { return null; @@ -371,15 +440,53 @@ public class WmsToJnServiceImpl implements WmsToJnService { .body(String.valueOf(obj)).timeout(timeout) .execute().body(); JSONObject result = JSONObject.parseObject(resultMsg); + + JSONObject returnResult = JSONObject.parseObject(resultMsg); + String returnStatus = returnResult.getString("status"); + if (StrUtil.isNotEmpty(returnStatus) && returnStatus.equals("1")) { + log.info("诺力请求嘉耐回传组盘记录成功!"); + } else { + log.info("诺力请求嘉耐回传组盘记录失败!"); + JSONObject jo = new JSONObject(); + jo.put("record_id", IdUtil.getSnowflake(1, 1).nextId()); + jo.put("method", method); + jo.put("content", obj); + jo.put("create_time", DateUtil.now()); + wo.insert(jo); + } log.info("诺力请求嘉耐回传不合格记录出参{}", resultMsg); + return null; + } + + @Override + public JSONObject queryCurrentOrder(Map whereJson) { + String value = WQLObject.getWQLObject("sys_param").query("code='IS_CONNECT_JN'").uniqueResult(0).getString("value"); + if (StrUtil.equals(value, "0")) { + return null; + } + String device_code = (String) whereJson.get("device_code"); + if (StrUtil.isEmpty(device_code)) { + throw new BadRequestException("设备编码不能为空!"); + } + String method = "getPressWorkShop"; + JSONObject obj = new JSONObject(); + obj.put("ticker", "Sbdm"); + obj.put("device_code", device_code); + log.info("诺力请求嘉耐当前生产工单入参{}", obj.toString()); + String resultMsg = HttpRequest.post(URL + method) + .body(String.valueOf(obj)).timeout(timeout) + .execute().body(); + JSONObject result = JSONObject.parseObject(resultMsg); + log.info("诺力请求嘉耐当前生产工单出参{}", resultMsg); String status = result.getString("status"); if (StrUtil.isNotEmpty(status) && status.equals("1")) { - log.info("诺力请求嘉耐回传不合格记录成功!"); + log.info("诺力请求嘉耐当前生产工单成功!"); } else { - log.info("诺力请求嘉耐回传不合格记录失败!"); + log.info("诺力请求嘉耐当前生产工单失败!"); } + JSONObject joo = result.getJSONObject("returnData").getJSONObject("Table"); - return null; + return joo; } diff --git a/wms/hd/nladmin-system/src/main/java/org/nl/wms/ext/acs/wql/ACSTOMES_001.wql b/wms/hd/nladmin-system/src/main/java/org/nl/wms/ext/acs/wql/ACSTOMES_001.wql index 0a36e55..aac94f9 100644 --- a/wms/hd/nladmin-system/src/main/java/org/nl/wms/ext/acs/wql/ACSTOMES_001.wql +++ b/wms/hd/nladmin-system/src/main/java/org/nl/wms/ext/acs/wql/ACSTOMES_001.wql @@ -18,6 +18,7 @@ 输入.material_id TYPEAS s_string 输入.area_type TYPEAS s_string 输入.point_code TYPEAS s_string + 输入.device_id TYPEAS s_string [临时表] --这边列出来的临时表就会在运行期动态创建 @@ -44,18 +45,25 @@ IF 输入.flag = "1" QUERY SELECT - * + ivt.*, + point.*, + vehiclegroup.device_id as group_device_id FROM st_ivt_structivt ivt LEFT JOIN sch_base_point point ON ivt.struct_id = point.point_id + LEFT JOIN st_buss_vehiclegroup vehiclegroup ON vehiclegroup.vehicle_code = ivt.vehicle_code WHERE ivt.canuse_qty > 0 + AND ivt.vehicle_code <> '' AND ivt.is_full = '0' AND point.is_used = 1 AND point.point_status = '02' - OPTION 输入.workprocedure_id <> "" - ivt.workprocedure_id = 输入.workprocedure_id + OPTION 输入.device_id <> "" + vehiclegroup.device_id = 输入.device_id ENDOPTION + OPTION 输入.workprocedure_id <> "" + ivt.workprocedure_id = 输入.workprocedure_id + ENDOPTION OPTION 输入.material_id <> "" ivt.material_id = 输入.material_id ENDOPTION diff --git a/wms/hd/nladmin-system/src/main/java/org/nl/wms/pda/produceTask/rest/ProduceTaskController.java b/wms/hd/nladmin-system/src/main/java/org/nl/wms/pda/produceTask/rest/ProduceTaskController.java new file mode 100644 index 0000000..75ca36a --- /dev/null +++ b/wms/hd/nladmin-system/src/main/java/org/nl/wms/pda/produceTask/rest/ProduceTaskController.java @@ -0,0 +1,53 @@ + +package org.nl.wms.pda.produceTask.rest; + + +import com.alibaba.fastjson.JSONObject; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.RequiredArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.nl.annotation.Log; +import org.nl.wms.pda.produceTask.service.ProduceTaskService; +import org.springframework.http.HttpStatus; +import org.springframework.http.ResponseEntity; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +import java.util.Map; + +/** + * @author ldjun + * @date 2021-07-26 + **/ +@RestController +@RequiredArgsConstructor +@Api(tags = "手持工单") +@RequestMapping("/api/pda/produceTask") +@Slf4j +public class ProduceTaskController { + + private final ProduceTaskService produceTaskService; + + @PostMapping("/queryInfo") + @Log("查询工单信息") + @ApiOperation("查询工单信息") + public ResponseEntity queryInfo(@RequestBody Map param) { + return new ResponseEntity<>(produceTaskService.queryInfo(param), HttpStatus.OK); + } + @PostMapping("/confirm") + @Log("下发确定") + @ApiOperation("下发确定") + public ResponseEntity Confirm(@RequestBody JSONObject param) { + return new ResponseEntity<>(produceTaskService.Confirm(param), HttpStatus.OK); + } + @PostMapping("querydevice") + @Log("查询设备下拉框") + @ApiOperation("查询设备下拉框") + public ResponseEntity querydevice(@RequestBody JSONObject param) { + return new ResponseEntity<>(produceTaskService.querydevice(param), HttpStatus.OK); + } + +} diff --git a/wms/hd/nladmin-system/src/main/java/org/nl/wms/pda/produceTask/service/ProduceTaskService.java b/wms/hd/nladmin-system/src/main/java/org/nl/wms/pda/produceTask/service/ProduceTaskService.java new file mode 100644 index 0000000..a003234 --- /dev/null +++ b/wms/hd/nladmin-system/src/main/java/org/nl/wms/pda/produceTask/service/ProduceTaskService.java @@ -0,0 +1,23 @@ +package org.nl.wms.pda.produceTask.service; + +import com.alibaba.fastjson.JSONObject; + +import java.util.Map; + +public interface ProduceTaskService { + Map queryInfo(Map jsonObject); + /** + * 确认 + * @param param 条件 + * @return Map + * + */ + Map Confirm( JSONObject param); + /** + * 查询设备下拉框确认 + * @param param 条件 + * @return Map + * + */ + Map querydevice( JSONObject param); +} diff --git a/wms/hd/nladmin-system/src/main/java/org/nl/wms/pda/produceTask/service/impl/ProduceTaskServiceImpl.java b/wms/hd/nladmin-system/src/main/java/org/nl/wms/pda/produceTask/service/impl/ProduceTaskServiceImpl.java new file mode 100644 index 0000000..04cc5b6 --- /dev/null +++ b/wms/hd/nladmin-system/src/main/java/org/nl/wms/pda/produceTask/service/impl/ProduceTaskServiceImpl.java @@ -0,0 +1,78 @@ +package org.nl.wms.pda.produceTask.service.impl; + +import cn.hutool.core.date.DateUtil; +import cn.hutool.core.util.IdUtil; +import cn.hutool.core.util.ObjectUtil; +import cn.hutool.core.util.StrUtil; +import com.alibaba.fastjson.JSONArray; +import com.alibaba.fastjson.JSONObject; +import lombok.RequiredArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.nl.exception.BadRequestException; +import org.nl.modules.system.util.CodeUtil; +import org.nl.utils.SecurityUtils; +import org.nl.wms.WorkProcedureEnum; +import org.nl.wms.ext.acs.service.impl.WmsToJnServiceImpl; +import org.nl.wms.pda.produceTask.service.ProduceTaskService; +import org.nl.wms.pdm.service.impl.ProducetaskServiceImpl; +import org.nl.wms.sch.manage.AreaEnum; +import org.nl.wms.sch.manage.BillTypeEnum; +import org.nl.wms.st.ivt.IvtChangeTypeEnum; +import org.nl.wms.st.ivt.StoreIvtServiceImpl; +import org.nl.wql.WQL; +import org.nl.wql.core.bean.WQLObject; +import org.springframework.stereotype.Service; + +import java.util.Map; + +@Service +@RequiredArgsConstructor +@Slf4j +public class ProduceTaskServiceImpl implements ProduceTaskService { + private final WmsToJnServiceImpl wmsToJnServiceImpl; + private final ProducetaskServiceImpl producetaskService; + + @Override + public Map queryInfo(Map jsonObject) { + JSONArray results = WQL.getWO("QPADSERVICE").addParam("flag", "18").process().getResultJSONArray(0); + JSONObject returnjo = new JSONObject(); + returnjo.put("code", "1"); + returnjo.put("desc", "查询成功!"); + returnjo.put("result", results); + return returnjo; + } + + @Override + public Map Confirm(JSONObject param) { + String producetask_id = param.getString("producetask_id"); + String device_id = param.getString("device_id"); + String device_code = param.getString("device_code"); + String ext_shoporder_no = param.getString("ext_shoporder_no"); + //查询当前设备有没有正在生产的,或者已经下发的工单 + JSONObject deviceObj = WQL.getWO("QPADSERVICE").addParam("flag", "19").addParam("device_code", device_code).process().uniqueResult(0); + if (ObjectUtil.isNotEmpty(deviceObj)) { + throw new BadRequestException("存在设备'" + deviceObj.getString("device_code") + "'未完成!"); + } + //查询当前设备正在生产的设备工单 + JSONObject stringObjectMap = wmsToJnServiceImpl.queryCurrentOrder(param); + if (!StrUtil.equals(stringObjectMap.getString("SHOPORDERNO"), ext_shoporder_no)) { + throw new BadRequestException("设备'" + device_code + "'正在生产的工单mes号应为'" + ext_shoporder_no + "'"); + } + producetaskService.issued(param); + JSONObject returnjo = new JSONObject(); + returnjo.put("code", "1"); + returnjo.put("desc", "操作成功!"); + return returnjo; + } + + @Override + public Map querydevice(JSONObject param) { + JSONArray results = WQLObject.getWQLObject("pdm_base_device").query("is_work_device='1'").getResultJSONArray(0); + JSONObject returnjo = new JSONObject(); + returnjo.put("code", "1"); + returnjo.put("desc", "查询成功!"); + returnjo.put("result", results); + return returnjo; + } + +} diff --git a/wms/hd/nladmin-system/src/main/java/org/nl/wms/pda/sendMaterial/wql/QPADSERVICE.wql b/wms/hd/nladmin-system/src/main/java/org/nl/wms/pda/sendMaterial/wql/QPADSERVICE.wql index c28cbdc..c208427 100644 --- a/wms/hd/nladmin-system/src/main/java/org/nl/wms/pda/sendMaterial/wql/QPADSERVICE.wql +++ b/wms/hd/nladmin-system/src/main/java/org/nl/wms/pda/sendMaterial/wql/QPADSERVICE.wql @@ -436,15 +436,38 @@ IF 输入.flag = "17" IF 输入.flag = "18" QUERY SELECT - vehiclegroup.is_full, - vehiclegroup.vehicle_code + task.producetask_id, + task.producetask_code, + task.ext_shoporder_no, + material.material_id, + material.material_code, + material.material_name , + device.device_code, + device.device_name, + task.producetask_status, + sys.label as producetask_status_name, + task.plan_qty FROM - st_buss_vehiclegroup vehiclegroup - WHERE - 1 =1 - OPTION 输入.vehicle_code <> "" - st_buss_vehiclegroup.vehicle_code = 输入.vehicle_code - ENDOPTION + pdm_mg_producetask task + LEFT JOIN md_me_material material ON material.material_id = task.material_id + LEFT JOIN pdm_base_device device ON device.device_id = task.device_id + left join sys_dict_detail sys on sys.value = task.producetask_status and sys.dict_id='36' + where task.producetask_status in ('01') ENDSELECT ENDQUERY ENDIF + +IF 输入.flag = "19" + QUERY + SELECT + * + FROM + pdm_mg_producetask task task + WHERE + task.st_buss_devicestatus IN ( '02', '04' ) + OPTION 输入.device_id <> "" + task.device_id = 输入.device_id + ENDOPTION + ENDSELECT + ENDQUERY + ENDIF \ No newline at end of file diff --git a/wms/hd/nladmin-system/src/main/java/org/nl/wms/sch/manage/buss/CallMaterialTask.java b/wms/hd/nladmin-system/src/main/java/org/nl/wms/sch/manage/buss/CallMaterialTask.java index 98be916..2d593f6 100644 --- a/wms/hd/nladmin-system/src/main/java/org/nl/wms/sch/manage/buss/CallMaterialTask.java +++ b/wms/hd/nladmin-system/src/main/java/org/nl/wms/sch/manage/buss/CallMaterialTask.java @@ -208,6 +208,7 @@ public class CallMaterialTask extends AbstractAcsTask { String pcsn = form.getString("pcsn"); String is_full = form.getString("is_full"); String workprocedure_id = form.getString("workprocedure_id"); + String group_device= form.getString("group_device"); WQLObject taskTable = WQLObject.getWQLObject("SCH_BASE_Task"); String iostorinv_id = form.getString("iostorinv_id"); if (StrUtil.isEmpty(next_point_code)) { @@ -256,7 +257,7 @@ public class CallMaterialTask extends AbstractAcsTask { } PointDto nextPoint = pointService.findByCode(next_point_code); - //如果没给终点,根据起点去找工序,找一个合适的仓位 并且生成入库单,并且锁定点位 + //如果没给起点,根据终点去找工序,找一个合适的仓位 并且生成入库单,并且锁定点位 if (StrUtil.isEmpty(start_point_code)) { if (StrUtil.isEmpty(workprocedure_id)) { JSONObject workInfo = WQL.getWO("QSTRUCT_RULE").addParam("flag", "1").addParam("code", next_point_code) @@ -313,6 +314,7 @@ public class CallMaterialTask extends AbstractAcsTask { param.put("area_type", startArea_type); param.put("workprocedure_id", ivt_workprocedure_id); param.put("is_full", is_full); + param.put("group_device",group_device); JSONObject outStructObj = StructFindUtil.getOutStruct(param); if (ObjectUtil.isEmpty(outStructObj)) { throw new BadRequestException("未找到合适的出库仓位!"); diff --git a/wms/hd/nladmin-system/src/main/java/org/nl/wms/sch/task/AutoFeedBackInfo.java b/wms/hd/nladmin-system/src/main/java/org/nl/wms/sch/task/AutoFeedBackInfo.java new file mode 100644 index 0000000..6124a81 --- /dev/null +++ b/wms/hd/nladmin-system/src/main/java/org/nl/wms/sch/task/AutoFeedBackInfo.java @@ -0,0 +1,60 @@ +package org.nl.wms.sch.task; + +import cn.hutool.core.date.DateUtil; +import cn.hutool.core.util.StrUtil; +import cn.hutool.http.HttpRequest; +import com.alibaba.fastjson.JSONArray; +import com.alibaba.fastjson.JSONObject; +import lombok.RequiredArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.nl.wms.ext.acs.service.impl.WmsToJnServiceImpl; +import org.nl.wql.core.bean.WQLObject; +import org.springframework.stereotype.Component; + +import java.lang.reflect.Method; +import java.util.concurrent.ExecutorService; +import java.util.concurrent.Executors; + + +/** + * @author geng by + * 自动回传失败的日志 + */ +@Slf4j +@Component +@RequiredArgsConstructor +public class AutoFeedBackInfo { + + public void run() throws Exception { + String URL = "http://61.177.143.218:8888/ZQ_ZLGL_JsonFacade/ZQJT/MES/MES_ProductionFacade.asmx"; + int timeout = 3000; + log.info("开始自动开始回传嘉耐数据"); + WQLObject Table = WQLObject.getWQLObject("pdm_bi_feedbackrecord"); + JSONArray resultJSONArray = Table.query("status='0'").getResultJSONArray(0); + for (int i = 0; i < resultJSONArray.size(); i++) { + JSONObject jo = resultJSONArray.getJSONObject(i); + String mehtod = jo.getString("method"); + JSONObject content = JSONObject.parseObject(jo.getString("content")); + try { + log.info("开始自动开始回传嘉耐数据入参{}", content.toString()); + String resultMsg = HttpRequest.post(URL + mehtod) + .body(String.valueOf(content)).timeout(timeout) + .execute().body(); + JSONObject result = JSONObject.parseObject(resultMsg); + String status = result.getString("status"); + log.info("自动开始回传嘉耐数据出参{}", content.toString()); + if (StrUtil.isNotEmpty(status) && status.equals("1")) { + log.info("回传成功!"); + jo.put("status", "1"); + jo.put("update_time", DateUtil.now()); + Table.update(jo); + } + } catch (Exception e) { + e.printStackTrace(); + } + } + log.info("完成自动开始回传嘉耐数据"); + } + + +} diff --git a/wms/hd/nladmin-system/src/main/java/org/nl/wms/wms.xls b/wms/hd/nladmin-system/src/main/java/org/nl/wms/wms.xls index 34e15a9de7c89bd6038508cd584242f07aaf1399..e1ae4e95e21005453a50b281e7a785fcc8437261 100644 GIT binary patch delta 13984 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 delta 11955 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 S7Ld>j-!ZmouXf^-;{OAguBB-J diff --git a/wms/hd/nladmin-system/src/main/resources/AutoWmsToJn.xml b/wms/hd/nladmin-system/src/main/resources/AutoWmsToJn.xml new file mode 100644 index 0000000..b2882d8 --- /dev/null +++ b/wms/hd/nladmin-system/src/main/resources/AutoWmsToJn.xml @@ -0,0 +1,28 @@ + + + + + + + + + ${LOG_HOME}/Autowmstojn/%d{yyyy-MM-dd}.%i.log + + 15 + + 200MB + + 20GB + + + + %d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} - %msg%n + + + + + + + + + diff --git a/wms/hd/nladmin-system/src/main/resources/logback-spring.xml b/wms/hd/nladmin-system/src/main/resources/logback-spring.xml index 46a3bf8..6a57c26 100644 --- a/wms/hd/nladmin-system/src/main/resources/logback-spring.xml +++ b/wms/hd/nladmin-system/src/main/resources/logback-spring.xml @@ -19,6 +19,7 @@ https://juejin.cn/post/6844903775631572999 +