From fe2e015bd4f8e71fbce6497f6221618341d5b7a4 Mon Sep 17 00:00:00 2001 From: ludj Date: Fri, 27 Jan 2023 15:14:09 +0800 Subject: [PATCH 01/12] =?UTF-8?q?=E4=BB=A3=E7=A0=81=E6=9B=B4=E6=96=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/param/SysParamController.java | 2 +- .../basedata/master/interfaceback/index.vue | 2 +- .../src/views/wms/sch/task/index.vue | 19 +++++++++++++------ 3 files changed, 15 insertions(+), 8 deletions(-) diff --git a/lms/nladmin-system/src/main/java/org/nl/system/controller/param/SysParamController.java b/lms/nladmin-system/src/main/java/org/nl/system/controller/param/SysParamController.java index a1f8fa9ca..c255155e4 100644 --- a/lms/nladmin-system/src/main/java/org/nl/system/controller/param/SysParamController.java +++ b/lms/nladmin-system/src/main/java/org/nl/system/controller/param/SysParamController.java @@ -10,6 +10,7 @@ import org.nl.common.domain.query.PageQuery; import org.nl.modules.logging.annotation.Log; import org.nl.system.service.param.ISysParamService; import org.nl.system.service.param.dao.Param; +import org.springframework.beans.factory.annotation.Value; import org.springframework.http.HttpStatus; import org.springframework.http.ResponseEntity; import org.springframework.validation.annotation.Validated; @@ -33,7 +34,6 @@ import java.util.Map; @RequestMapping("/api/param") @RequiredArgsConstructor class SysParamController { - private final ISysParamService paramService; @GetMapping @Log("查询系统参数") diff --git a/lms/nladmin-ui/src/views/wms/basedata/master/interfaceback/index.vue b/lms/nladmin-ui/src/views/wms/basedata/master/interfaceback/index.vue index a605991b8..81b833eb6 100644 --- a/lms/nladmin-ui/src/views/wms/basedata/master/interfaceback/index.vue +++ b/lms/nladmin-ui/src/views/wms/basedata/master/interfaceback/index.vue @@ -84,7 +84,7 @@ - + diff --git a/lms/nladmin-ui/src/views/wms/sch/task/index.vue b/lms/nladmin-ui/src/views/wms/sch/task/index.vue index aadf8ab29..9820cf94d 100644 --- a/lms/nladmin-ui/src/views/wms/sch/task/index.vue +++ b/lms/nladmin-ui/src/views/wms/sch/task/index.vue @@ -112,7 +112,7 @@ @selection-change="crud.selectionChangeHandler" > - + @@ -161,11 +161,11 @@ width="30%" > - + />--> 取 消 确 定 @@ -200,7 +200,7 @@ export default { sort: 'task_id,desc', crudMethod: { ...crudTask }, query: { - task_code: '', vehicle_code: '', start_point_code: '', next_point_code: '', task_type: '', finished_type: '', task_status: '' + task_code: '', vehicle_code: '', start_point_code: '', next_point_code: '', task_type: '', finished_type: '', task_status: ['-1'] }, optShow: { add: false, @@ -236,10 +236,14 @@ export default { crudTask.getFinishType().then(data => { this.finishTypeList = data }) - this.crud.query.task_status = ['-1'] - this.crud.toQuery() + // this.crud.query.task_status = ['-1'] + // this.crud.toQuery() }, methods: { + // 钩子:在获取表格数据之前执行,false 则代表不获取数据 + [CRUD.HOOK.beforeRefresh]() { + return true + }, initClass1() { const param = { parent_class_code: 'task_type' @@ -263,6 +267,7 @@ export default { // 获取子节点数据 loadChildNodes({ action, parentNode, callback }) { if (action === LOAD_CHILDREN_OPTIONS) { + debugger crudClassstandard.getClass({ pid: parentNode.id }).then(res => { parentNode.children = res.content.map(function(obj) { if (obj.hasChildren) { @@ -277,9 +282,11 @@ export default { } }, hand(value) { + debugger this.crud.toQuery() }, handTaskStatus(value) { + debugger if (value) { this.query.task_status = this.task_status.toString() } From b1fc30d1f06d532bd5c7fc37631a33a8ae6bdd69 Mon Sep 17 00:00:00 2001 From: liuxy Date: Fri, 27 Jan 2023 17:46:13 +0800 Subject: [PATCH 02/12] =?UTF-8?q?=E4=BB=A3=E7=A0=81=E6=9B=B4=E6=96=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../nl/wms/pda/st/service/impl/ProductionOutServiceImpl.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/pda/st/service/impl/ProductionOutServiceImpl.java b/lms/nladmin-system/src/main/java/org/nl/wms/pda/st/service/impl/ProductionOutServiceImpl.java index 1ac059917..e322502c7 100644 --- a/lms/nladmin-system/src/main/java/org/nl/wms/pda/st/service/impl/ProductionOutServiceImpl.java +++ b/lms/nladmin-system/src/main/java/org/nl/wms/pda/st/service/impl/ProductionOutServiceImpl.java @@ -71,7 +71,7 @@ public class ProductionOutServiceImpl implements ProductionOutService { * 生产区确认 * a.解锁出库点位、清除木箱号 */ - jsonPoint.put("point_status", "00"); + jsonPoint.put("point_status", "1"); jsonPoint.put("lock_type", "1"); jsonPoint.put("vehicle_code", ""); jsonPoint.put("vehicle_type", ""); From 1488621cd0f0f9efc3bd2243bd9af26975a456f7 Mon Sep 17 00:00:00 2001 From: "ZHOUZ\\Noble'lift" <1014987728@qq.com> Date: Fri, 27 Jan 2023 18:25:19 +0800 Subject: [PATCH 03/12] =?UTF-8?q?=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../mes/service/impl/MesToLmsServiceImpl.java | 6 ++++ .../mps/service/impl/ShippingServiceImpl.java | 6 ++-- .../impl/RawAssistIStorServiceImpl.java | 33 ++++++++++++++----- .../src/views/wms/st/inbill/TaskDialog.vue | 2 +- .../src/views/wms/st/inbill/ViewDialog.vue | 8 ++--- 5 files changed, 38 insertions(+), 17 deletions(-) diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/ext/mes/service/impl/MesToLmsServiceImpl.java b/lms/nladmin-system/src/main/java/org/nl/wms/ext/mes/service/impl/MesToLmsServiceImpl.java index 57913953f..fc4b747d8 100644 --- a/lms/nladmin-system/src/main/java/org/nl/wms/ext/mes/service/impl/MesToLmsServiceImpl.java +++ b/lms/nladmin-system/src/main/java/org/nl/wms/ext/mes/service/impl/MesToLmsServiceImpl.java @@ -821,6 +821,12 @@ public class MesToLmsServiceImpl implements MesToLmsService { String thickness_request = detail.getString("Attribute2");//物料主数据厚度 String width_standard = detail.getString("Attribute3");//要求幅宽 + //查询库内是否存在相同的子卷号 + JSONObject container_jo = WQLObject.getWQLObject("PDM_BI_SubPackageRelation").query("container_name = '"+ContainerName+"'").uniqueResult(0); + if (ObjectUtil.isNotEmpty(container_jo)){ + throw new BadRequestException("LMS系统中已存在子卷号:"+ContainerName+",请检查!"); + } + JSONObject jo = new JSONObject(); jo.put("workorder_id", IdUtil.getSnowflake(1, 1).nextId()); jo.put("package_box_sn", PackageBoxSN); diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/pda/mps/service/impl/ShippingServiceImpl.java b/lms/nladmin-system/src/main/java/org/nl/wms/pda/mps/service/impl/ShippingServiceImpl.java index eb5b0d952..2a7e1ecbe 100644 --- a/lms/nladmin-system/src/main/java/org/nl/wms/pda/mps/service/impl/ShippingServiceImpl.java +++ b/lms/nladmin-system/src/main/java/org/nl/wms/pda/mps/service/impl/ShippingServiceImpl.java @@ -171,7 +171,7 @@ public class ShippingServiceImpl implements ShippingService { throw new BadRequestException("未查询到可用的空点位!"); } - /*//如果为左边点位判断右边是否存在未完成的任务,如果有则提示不能下发 + //如果为左边点位判断右边是否存在未完成的任务,如果有则提示不能下发 //判断输送出来的任务起点是否靠近分切机,如果靠近分切机且远离分切机的点位上存在载具且不存在任务进行载具横移 char dtl_type = empty_point.getString("point_code").charAt(empty_point.getString("point_code").length() - 1); if (Integer.valueOf(String.valueOf(dtl_type)) % 2 != 0) { @@ -179,9 +179,9 @@ public class ShippingServiceImpl implements ShippingService { //判断是否存在任务 JSONObject task_jo = WQLObject.getWQLObject("sch_base_task").query("point_code1 = '"+right_point.getString("point_code")+"' OR point_code2 = '"+right_point.getString("point_code")+"' AND task_status < '07' AND is_delete = '0'").uniqueResult(0); if (ObjectUtil.isNotEmpty(task_jo)){ - throw new BadRequestException("当前一截输送线存在未完成的任务,请稍等几分钟后进行下发!"); + throw new BadRequestException(empty_point.getString("point_code")+"所在一截输送线存在未完成的任务,请稍等几分钟后进行下发!"); } - }*/ + } //下发输送线任务 JSONObject form = new JSONObject(); diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/st/inbill/service/impl/RawAssistIStorServiceImpl.java b/lms/nladmin-system/src/main/java/org/nl/wms/st/inbill/service/impl/RawAssistIStorServiceImpl.java index 8a6be2653..0fe07da1f 100644 --- a/lms/nladmin-system/src/main/java/org/nl/wms/st/inbill/service/impl/RawAssistIStorServiceImpl.java +++ b/lms/nladmin-system/src/main/java/org/nl/wms/st/inbill/service/impl/RawAssistIStorServiceImpl.java @@ -186,7 +186,7 @@ public class RawAssistIStorServiceImpl implements RawAssistIStorService { JSONObject material = WQLObject.getWQLObject("md_me_materialbase").query("material_code = '" + row.get("product_name") + "'").uniqueResult(0); row.put("material_id", material.getString("material_id")); row.put("pcsn", row.get("container_name")); - row.put("bill_status", "30"); + row.put("bill_status", "10"); row.put("quality_scode", "01"); row.put("qty_unit_id", material.getString("base_unit_id")); JSONObject unit = WQLObject.getWQLObject("md_pb_measureunit").query("measure_unit_id = '" + material.getString("base_unit_id") + "'").uniqueResult(0); @@ -356,7 +356,7 @@ public class RawAssistIStorServiceImpl implements RawAssistIStorService { JSONObject material = WQLObject.getWQLObject("md_me_materialbase").query("material_code = '" + row.get("product_name") + "'").uniqueResult(0); row.put("material_id", material.getString("material_id")); row.put("pcsn", row.get("container_name")); - row.put("bill_status", "30"); + row.put("bill_status", "10"); row.put("quality_scode", "01"); row.put("qty_unit_id", material.getString("base_unit_id")); JSONObject unit = WQLObject.getWQLObject("md_pb_measureunit").query("measure_unit_id = '" + material.getString("base_unit_id") + "'").uniqueResult(0); @@ -472,7 +472,7 @@ public class RawAssistIStorServiceImpl implements RawAssistIStorService { HashMap map = rows.get(0); Boolean auto_div = false; - if (whereJson2.containsKey("auto_div")){ + if (whereJson2.containsKey("auto_div")) { auto_div = whereJson2.getBoolean("auto_div"); } //判断该载具是否已经分配货位或者起点 @@ -605,9 +605,8 @@ public class RawAssistIStorServiceImpl implements RawAssistIStorService { i_form.put("qty_unit_name", dis_jo.getString("qty_unit_name")); storPublicService.IOStor(i_form, "31"); + JSONObject dtl_jo = WQLObject.getWQLObject("ST_IVT_IOStorInvDtl").query("iostorinvdtl_id = '" + dis_jo.getString("iostorinvdtl_id") + "'").uniqueResult(0); if (StrUtil.isNotEmpty(ios_dis.getString("point_id")) || is_virtual) { - //更新明细表状态 - JSONObject dtl_jo = WQLObject.getWQLObject("ST_IVT_IOStorInvDtl").query("iostorinvdtl_id = '" + dis_jo.getString("iostorinvdtl_id") + "'").uniqueResult(0); if (dtl_jo.getDoubleValue("unassign_qty") == 0) { //判断该明细下是否还存在未分配货位的分配明细 JSONArray disdiv_rows = WQLObject.getWQLObject("ST_IVT_IOStorInvDis").query("iostorinvdtl_id = '" + dis_jo.getString("iostorinvdtl_id") + "' AND (struct_id = '' OR struct_id is null) AND (point_id = '' OR point_id is null)").getResultJSONArray(0); @@ -622,9 +621,23 @@ public class RawAssistIStorServiceImpl implements RawAssistIStorService { mst_jo.put("dis_optname", nickName); mst_jo.put("dis_time", now); WQLObject.getWQLObject("ST_IVT_IOStorInv").update(mst_jo); + } else { + mst_jo.put("bill_status", "30"); + mst_jo.put("dis_optid", currentUserId); + mst_jo.put("dis_optname", nickName); + mst_jo.put("dis_time", now); + WQLObject.getWQLObject("ST_IVT_IOStorInv").update(mst_jo); } } } + } else { + dtl_jo.put("bill_status", "30"); + WQLObject.getWQLObject("ST_IVT_IOStorInvDtl").update(dtl_jo); + mst_jo.put("bill_status", "30"); + mst_jo.put("dis_optid", currentUserId); + mst_jo.put("dis_optname", nickName); + mst_jo.put("dis_time", now); + WQLObject.getWQLObject("ST_IVT_IOStorInv").update(mst_jo); } } //如果是虚拟区,直接更新完成分配任务 @@ -696,9 +709,11 @@ public class RawAssistIStorServiceImpl implements RawAssistIStorService { WQLObject.getWQLObject("ST_IVT_IOStorInvDis").update(map, "iostorinv_id = '" + mst_jo.get("iostorinv_id") + "' AND box_no = '" + whereJson.get("box_no") + "'"); //修改明细状态 + JSONObject dtl_jo = WQLObject.getWQLObject("ST_IVT_IOStorInvDtl").query("iostorinvdtl_id = '" + dis_rows.getJSONObject(0).getString("iostorinvdtl_id") + "'").uniqueResult(0); + HashMap dtl_map = new HashMap<>(); - map.put("bill_status", "30"); - WQLObject.getWQLObject("ST_IVT_IOStorInvDtl").update(map, "iostorinv_id = '" + mst_jo.get("iostorinv_id") + "' AND box_no = '" + whereJson.get("box_no") + "'"); + dtl_map.put("bill_status", "10"); + WQLObject.getWQLObject("ST_IVT_IOStorInvDtl").update(dtl_map, "iostorinv_id = '" + mst_jo.get("iostorinv_id") + "' AND box_no = '" + whereJson.get("box_no") + "'"); //更新主表状态 JSONArray dtl_rows = WQLObject.getWQLObject("ST_IVT_IOStorInvDtl").query("iostorinv_id = '" + mst_jo.get("iostorinv_id") + "' AND bill_status IN ('20','30')").getResultJSONArray(0); @@ -1059,7 +1074,7 @@ public class RawAssistIStorServiceImpl implements RawAssistIStorService { //修改明细状态 HashMap dtl_map = new HashMap<>(); - map.put("bill_status", "30"); + map.put("bill_status", "10"); WQLObject.getWQLObject("ST_IVT_IOStorInvDtl").update(map, "iostorinv_id = '" + mst_jo.get("iostorinv_id") + "' AND box_no = '" + whereJson.get("box_no") + "'"); //更新主表状态 @@ -1077,7 +1092,7 @@ public class RawAssistIStorServiceImpl implements RawAssistIStorService { public void reIssueTask(Map whereJson) { String task_id = (String) whereJson.get("task_id"); //判断指令状态,只能下发生成、执行中状态的任务 - JSONObject task_jo = WQLObject.getWQLObject("sch_base_task").query("task_id = '"+task_id+"'").uniqueResult(0); + JSONObject task_jo = WQLObject.getWQLObject("sch_base_task").query("task_id = '" + task_id + "'").uniqueResult(0); if (ObjectUtil.isEmpty(task_jo)) { throw new BadRequestException("请输入正确的任务号!"); } diff --git a/lms/nladmin-ui/src/views/wms/st/inbill/TaskDialog.vue b/lms/nladmin-ui/src/views/wms/st/inbill/TaskDialog.vue index 2833b1168..937516cbc 100644 --- a/lms/nladmin-ui/src/views/wms/st/inbill/TaskDialog.vue +++ b/lms/nladmin-ui/src/views/wms/st/inbill/TaskDialog.vue @@ -216,7 +216,7 @@ export default { this.crud.notify('请选择一条任务项', CRUD.NOTIFICATION_TYPE.INFO) return } - if (this.dis_row.work_status !== '01') { + if (this.dis_row.work_status !== '04') { this.crud.notify('只能对状态为生成的任务进行删除!', CRUD.NOTIFICATION_TYPE.INFO) return } diff --git a/lms/nladmin-ui/src/views/wms/st/inbill/ViewDialog.vue b/lms/nladmin-ui/src/views/wms/st/inbill/ViewDialog.vue index 507a5f415..ad64f674a 100644 --- a/lms/nladmin-ui/src/views/wms/st/inbill/ViewDialog.vue +++ b/lms/nladmin-ui/src/views/wms/st/inbill/ViewDialog.vue @@ -109,7 +109,8 @@ - + + @@ -135,7 +136,8 @@ > - + + @@ -151,8 +153,6 @@ import { crud } from '@crud/crud' import checkoutbill from '@/views/wms/st/outbill/checkoutbill' -import crudStorattr from '@/views/wms/basedata/st/stor/storattr' -import crudRawAssist from '@/views/wms/st/inbill/rawassist' import crudUserStor from '@/views/wms/basedata/st/userStor/userStor' export default { From 37a2f84e0125481955ed1533830cedfbf00ac943 Mon Sep 17 00:00:00 2001 From: liuxy Date: Fri, 27 Jan 2023 18:41:08 +0800 Subject: [PATCH 04/12] =?UTF-8?q?=E4=BB=A3=E7=A0=81=E6=9B=B4=E6=96=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../pda/st/rest/ProductInstorController.java | 7 +++++++ .../pda/st/service/ProductInstorService.java | 2 ++ .../service/impl/ProductInstorServiceImpl.java | 18 ++++++++++++++++++ 3 files changed, 27 insertions(+) diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/pda/st/rest/ProductInstorController.java b/lms/nladmin-system/src/main/java/org/nl/wms/pda/st/rest/ProductInstorController.java index 23f5bdbbd..eaec5b22f 100644 --- a/lms/nladmin-system/src/main/java/org/nl/wms/pda/st/rest/ProductInstorController.java +++ b/lms/nladmin-system/src/main/java/org/nl/wms/pda/st/rest/ProductInstorController.java @@ -44,4 +44,11 @@ public class ProductInstorController { return new ResponseEntity<>(productInstorService.confirm(whereJson),HttpStatus.OK); } + @PostMapping("/mendCode") + @Log("补码") + @ApiOperation("补码") + public ResponseEntity mendCode(@RequestBody JSONObject whereJson){ + return new ResponseEntity<>(productInstorService.mendCode(whereJson),HttpStatus.OK); + } + } diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/pda/st/service/ProductInstorService.java b/lms/nladmin-system/src/main/java/org/nl/wms/pda/st/service/ProductInstorService.java index e18ec0059..52945d3e5 100644 --- a/lms/nladmin-system/src/main/java/org/nl/wms/pda/st/service/ProductInstorService.java +++ b/lms/nladmin-system/src/main/java/org/nl/wms/pda/st/service/ProductInstorService.java @@ -19,4 +19,6 @@ public interface ProductInstorService { JSONObject boxQuery(JSONObject whereJson); JSONObject confirm(JSONObject whereJson); + + JSONObject mendCode(JSONObject whereJson); } diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/pda/st/service/impl/ProductInstorServiceImpl.java b/lms/nladmin-system/src/main/java/org/nl/wms/pda/st/service/impl/ProductInstorServiceImpl.java index aed094440..2d95ae011 100644 --- a/lms/nladmin-system/src/main/java/org/nl/wms/pda/st/service/impl/ProductInstorServiceImpl.java +++ b/lms/nladmin-system/src/main/java/org/nl/wms/pda/st/service/impl/ProductInstorServiceImpl.java @@ -16,6 +16,7 @@ import org.nl.modules.wql.WQL; import org.nl.modules.wql.core.bean.WQLObject; import org.nl.modules.wql.util.SpringContextHolder; import org.nl.modules.wql.util.WqlUtil; +import org.nl.wms.ext.acs.service.impl.AcsToWmsServiceImpl; import org.nl.wms.pda.st.service.CoolInService; import org.nl.wms.pda.st.service.ProductInstorService; import org.nl.wms.sch.manage.AbstractAcsTask; @@ -248,4 +249,21 @@ public class ProductInstorServiceImpl implements ProductInstorService { jo.put("message", "确认成功!"); return jo; } + + @Override + public JSONObject mendCode(JSONObject whereJson) { + String vehicle_code = whereJson.getString("box_no"); + if (ObjectUtil.isEmpty(vehicle_code)) throw new BadRequestException("木箱号不能为空"); + + JSONObject param = new JSONObject(); + param.put("vehicle_code",vehicle_code); + param.put("type","1"); + + AcsToWmsServiceImpl bean = SpringContextHolder.getBean(AcsToWmsServiceImpl.class); + bean.deviceApply(param); + + JSONObject jo = new JSONObject(); + jo.put("message", "补码成功!"); + return jo; + } } From 9c74e9ebe3fbd0df7892a2e431d8af78b18b2ffb Mon Sep 17 00:00:00 2001 From: ludj Date: Fri, 27 Jan 2023 22:36:58 +0800 Subject: [PATCH 05/12] =?UTF-8?q?=E4=BB=A3=E7=A0=81=E6=9B=B4=E6=96=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../mps/service/impl/BakingServiceImpl.java | 2 +- .../java/org/nl/wms/pda/mps/wql/PDA_02.wql | 2 +- lms/nladmin-ui/src/views/wms/pdm/bi/index.vue | 2 +- .../wms/statistics/sendReceiveQuery/index.vue | 20 ++++++++++--------- 4 files changed, 14 insertions(+), 12 deletions(-) diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/pda/mps/service/impl/BakingServiceImpl.java b/lms/nladmin-system/src/main/java/org/nl/wms/pda/mps/service/impl/BakingServiceImpl.java index a6fb9e766..b3d456381 100644 --- a/lms/nladmin-system/src/main/java/org/nl/wms/pda/mps/service/impl/BakingServiceImpl.java +++ b/lms/nladmin-system/src/main/java/org/nl/wms/pda/mps/service/impl/BakingServiceImpl.java @@ -115,7 +115,7 @@ public class BakingServiceImpl implements BakingService { hotParam.put("workorder_id", jsonRaw.getString("workorder_id")); hotParam.put("material_id", jsonMater.getString("material_id")); hotParam.put("qty", jsonRaw.get("productin_qty")); - hotParam.put("io_type", "1"); + hotParam.put("io_type", "0"); hotParam.put("qty_unit_id", jsonMater.getString("base_unit_id")); hotParam.put("task_id", task_id); hotParam.put("start_point_code", point_code1); diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/pda/mps/wql/PDA_02.wql b/lms/nladmin-system/src/main/java/org/nl/wms/pda/mps/wql/PDA_02.wql index 7d96249aa..dda1d48c1 100644 --- a/lms/nladmin-system/src/main/java/org/nl/wms/pda/mps/wql/PDA_02.wql +++ b/lms/nladmin-system/src/main/java/org/nl/wms/pda/mps/wql/PDA_02.wql @@ -89,7 +89,7 @@ PDM_BI_SlittingProductionPlan plan LEFT JOIN st_ivt_cutpointivt ivt ON ivt.ext_code = plan.resource_name WHERE - plan.STATUS < 09 + plan.STATUS <> '09' AND is_child_tz_ok = 0 AND diff --git a/lms/nladmin-ui/src/views/wms/pdm/bi/index.vue b/lms/nladmin-ui/src/views/wms/pdm/bi/index.vue index cc21488a1..d8b374444 100644 --- a/lms/nladmin-ui/src/views/wms/pdm/bi/index.vue +++ b/lms/nladmin-ui/src/views/wms/pdm/bi/index.vue @@ -425,7 +425,7 @@ + :min-width="flexWidth('un_plan_product_property1',crud.data,'子卷的物性值1',-220)"/> + + + + - - - + Date: Sat, 28 Jan 2023 09:30:16 +0800 Subject: [PATCH 06/12] =?UTF-8?q?=E4=BB=A3=E7=A0=81=E6=9B=B4=E6=96=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../pda/st/rest/ProductInstorController.java | 7 ++++ .../pda/st/service/ProductInstorService.java | 2 + .../impl/ProductInstorServiceImpl.java | 42 +++++++++++++++++++ 3 files changed, 51 insertions(+) diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/pda/st/rest/ProductInstorController.java b/lms/nladmin-system/src/main/java/org/nl/wms/pda/st/rest/ProductInstorController.java index eaec5b22f..a6c507c25 100644 --- a/lms/nladmin-system/src/main/java/org/nl/wms/pda/st/rest/ProductInstorController.java +++ b/lms/nladmin-system/src/main/java/org/nl/wms/pda/st/rest/ProductInstorController.java @@ -51,4 +51,11 @@ public class ProductInstorController { return new ResponseEntity<>(productInstorService.mendCode(whereJson),HttpStatus.OK); } + @PostMapping("/bale") + @Log("捆扎") + @ApiOperation("捆扎") + public ResponseEntity bale(@RequestBody JSONObject whereJson){ + return new ResponseEntity<>(productInstorService.bale(whereJson),HttpStatus.OK); + } + } diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/pda/st/service/ProductInstorService.java b/lms/nladmin-system/src/main/java/org/nl/wms/pda/st/service/ProductInstorService.java index 52945d3e5..abdab87fe 100644 --- a/lms/nladmin-system/src/main/java/org/nl/wms/pda/st/service/ProductInstorService.java +++ b/lms/nladmin-system/src/main/java/org/nl/wms/pda/st/service/ProductInstorService.java @@ -21,4 +21,6 @@ public interface ProductInstorService { JSONObject confirm(JSONObject whereJson); JSONObject mendCode(JSONObject whereJson); + + JSONObject bale(JSONObject whereJson); } diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/pda/st/service/impl/ProductInstorServiceImpl.java b/lms/nladmin-system/src/main/java/org/nl/wms/pda/st/service/impl/ProductInstorServiceImpl.java index 2d95ae011..40bbca334 100644 --- a/lms/nladmin-system/src/main/java/org/nl/wms/pda/st/service/impl/ProductInstorServiceImpl.java +++ b/lms/nladmin-system/src/main/java/org/nl/wms/pda/st/service/impl/ProductInstorServiceImpl.java @@ -6,6 +6,7 @@ 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.JSON; import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; import lombok.RequiredArgsConstructor; @@ -17,6 +18,7 @@ import org.nl.modules.wql.core.bean.WQLObject; import org.nl.modules.wql.util.SpringContextHolder; import org.nl.modules.wql.util.WqlUtil; import org.nl.wms.ext.acs.service.impl.AcsToWmsServiceImpl; +import org.nl.wms.ext.acs.service.impl.WmsToAcsServiceImpl; import org.nl.wms.pda.st.service.CoolInService; import org.nl.wms.pda.st.service.ProductInstorService; import org.nl.wms.sch.manage.AbstractAcsTask; @@ -251,6 +253,7 @@ public class ProductInstorServiceImpl implements ProductInstorService { } @Override + @Transactional(rollbackFor = Exception.class) public JSONObject mendCode(JSONObject whereJson) { String vehicle_code = whereJson.getString("box_no"); if (ObjectUtil.isEmpty(vehicle_code)) throw new BadRequestException("木箱号不能为空"); @@ -266,4 +269,43 @@ public class ProductInstorServiceImpl implements ProductInstorService { jo.put("message", "补码成功!"); return jo; } + + @Override + @Transactional(rollbackFor = Exception.class) + public JSONObject bale(JSONObject whereJson) { + String vehicle_code = whereJson.getString("box_no"); + String point_code = whereJson.getString("point_code"); + + if (StrUtil.isEmpty(vehicle_code)) { + throw new BadRequestException("木箱码不能为空!"); + } + if (StrUtil.isEmpty(point_code)) { + throw new BadRequestException("点位不能为空!"); + } + + JSONObject sub_jo = WQLObject.getWQLObject("pdm_bi_subpackagerelation").query("package_box_sn = '" + vehicle_code + "'").uniqueResult(0); + if (ObjectUtil.isEmpty(sub_jo)) { + throw new BadRequestException("未查询到该木箱对应的包装关系!"); + } + + String box_length = sub_jo.getString("box_length"); + String box_width = sub_jo.getString("box_width"); + String box_high = sub_jo.getString("box_high"); + + JSONArray array = new JSONArray(); + + JSONObject jsonLength = new JSONObject(); + jsonLength.put("device_code", point_code); + jsonLength.put("code", ""); + jsonLength.put("value", box_length); + array.add(jsonLength); + + // 调用接口返回数据 + WmsToAcsServiceImpl wmsToAcsServiceImpl = SpringContextHolder.getBean(WmsToAcsServiceImpl.class); + wmsToAcsServiceImpl.action(array); + + JSONObject jo = new JSONObject(); + jo.put("message", "捆扎成功!"); + return jo; + } } From 33ac8957fb2bfffa364fbb54351e971a8442c433 Mon Sep 17 00:00:00 2001 From: liuxy Date: Sat, 28 Jan 2023 16:30:08 +0800 Subject: [PATCH 07/12] =?UTF-8?q?=E4=BB=A3=E7=A0=81=E6=9B=B4=E6=96=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../st/service/impl/PdaCheckServiceImpl.java | 4 +++ .../java/org/nl/wms/pda/st/wql/PDA_CHECK.wql | 25 +++++++++++++++++-- .../instor/service/impl/CheckServiceImpl.java | 6 +++++ .../nl/wms/st/instor/wql/QST_IVT_CHECK.wql | 2 +- .../views/wms/st/inStor/check/CheckDialog.vue | 1 + 5 files changed, 35 insertions(+), 3 deletions(-) diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/pda/st/service/impl/PdaCheckServiceImpl.java b/lms/nladmin-system/src/main/java/org/nl/wms/pda/st/service/impl/PdaCheckServiceImpl.java index c17caa8bf..a89fedd10 100644 --- a/lms/nladmin-system/src/main/java/org/nl/wms/pda/st/service/impl/PdaCheckServiceImpl.java +++ b/lms/nladmin-system/src/main/java/org/nl/wms/pda/st/service/impl/PdaCheckServiceImpl.java @@ -55,9 +55,13 @@ public class PdaCheckServiceImpl implements PdaCheckService { @Override public JSONObject checkQueryDtl(JSONObject whereJson) { + String box_no = whereJson.getString("box_no"); + JSONObject map = new JSONObject(); map.put("flag", "2"); map.put("check_code", whereJson.getString("check_code")); + if (ObjectUtil.isNotEmpty(box_no)) map.put("storagevehicle_code","%"+box_no+"%"); + JSONArray resultJSONArray = WQL.getWO("PDA_CHECK").addParamMap(map).process().getResultJSONArray(0); JSONObject jo = new JSONObject(); diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/pda/st/wql/PDA_CHECK.wql b/lms/nladmin-system/src/main/java/org/nl/wms/pda/st/wql/PDA_CHECK.wql index f3e33c2fe..e90986cc5 100644 --- a/lms/nladmin-system/src/main/java/org/nl/wms/pda/st/wql/PDA_CHECK.wql +++ b/lms/nladmin-system/src/main/java/org/nl/wms/pda/st/wql/PDA_CHECK.wql @@ -116,8 +116,8 @@ dtl.storagevehicle_code, mater.material_code, mater.material_name, - ROUND(dtl.base_qty) AS base_qty, - ROUND(dtl.fac_qty) AS fac_qty, + ROUND(dtl.base_qty,3) AS net_qty, + ROUND(dtl.fac_qty,3) AS fac_qty, dtl.qty_unit_name, ( CASE @@ -142,6 +142,10 @@ dtl.check_code = 输入.check_code ENDOPTION + OPTION 输入.storagevehicle_code <> "" + dtl.storagevehicle_code like 输入.storagevehicle_code + ENDOPTION + ENDSELECT ENDQUERY ENDIF @@ -186,3 +190,20 @@ ENDSELECT ENDQUERY ENDIF + + IF 输入.flag = "4" + QUERY + SELECT + SUM(net_weight) AS net_weight + FROM + pdm_bi_subpackagerelation + WHERE + 1=1 + + OPTION 输入.storagevehicle_code <> "" + package_box_sn = 输入.storagevehicle_code + ENDOPTION + + ENDSELECT + ENDQUERY + ENDIF diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/st/instor/service/impl/CheckServiceImpl.java b/lms/nladmin-system/src/main/java/org/nl/wms/st/instor/service/impl/CheckServiceImpl.java index ef7ec4c14..231b3f948 100644 --- a/lms/nladmin-system/src/main/java/org/nl/wms/st/instor/service/impl/CheckServiceImpl.java +++ b/lms/nladmin-system/src/main/java/org/nl/wms/st/instor/service/impl/CheckServiceImpl.java @@ -187,6 +187,9 @@ public class CheckServiceImpl implements CheckService { jsonDtl.put("qty_unit_id", json.getLongValue("measure_unit_id")); jsonDtl.put("qty_unit_name", json.getString("qty_unit_name")); jsonDtl.put("status", "1"); + + JSONObject jsonSub = WQL.getWO("PDA_CHECK").addParam("flag", "4").addParam("storagevehicle_code", json.getString("storagevehicle_code")).process().uniqueResult(0); + jsonDtl.put("base_qty", jsonSub.getDoubleValue("net_weight")); dtlTab.insert(jsonDtl); } } @@ -286,6 +289,9 @@ public class CheckServiceImpl implements CheckService { jsonDtl.put("qty_unit_name", json.getString("qty_unit_name")); jsonDtl.put("status", "1"); jsonDtl.put("fac_qty", json.getDoubleValue("fac_qty")); + + JSONObject jsonSub = WQL.getWO("PDA_CHECK").addParam("flag", "4").addParam("storagevehicle_code", json.getString("storagevehicle_code")).process().uniqueResult(0); + jsonDtl.put("base_qty", jsonSub.getDoubleValue("net_weight")); dtlTab.insert(jsonDtl); } } diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/st/instor/wql/QST_IVT_CHECK.wql b/lms/nladmin-system/src/main/java/org/nl/wms/st/instor/wql/QST_IVT_CHECK.wql index 55b0f1299..350ae9f07 100644 --- a/lms/nladmin-system/src/main/java/org/nl/wms/st/instor/wql/QST_IVT_CHECK.wql +++ b/lms/nladmin-system/src/main/java/org/nl/wms/st/instor/wql/QST_IVT_CHECK.wql @@ -341,7 +341,7 @@ CheckDtl.storagevehicle_id, CheckDtl.storagevehicle_code, CheckDtl.material_id, - CheckDtl.base_qty, + ROUND(CheckDtl.base_qty,3) AS base_qty, CheckDtl.qty_unit_id, CheckDtl.qty_unit_name, CheckDtl.STATUS, diff --git a/lms/nladmin-ui/src/views/wms/st/inStor/check/CheckDialog.vue b/lms/nladmin-ui/src/views/wms/st/inStor/check/CheckDialog.vue index 2e5855b06..5432c2387 100644 --- a/lms/nladmin-ui/src/views/wms/st/inStor/check/CheckDialog.vue +++ b/lms/nladmin-ui/src/views/wms/st/inStor/check/CheckDialog.vue @@ -108,6 +108,7 @@ + @@ -125,10 +127,11 @@ import { get } from '@/api/system/dictDetail' import { selectOpcList } from '@/api/acs/device/opc' import { download } from '@/api/data' import { downloadFile } from '@/utils' +import pagination from '@crud/Pagination' export default { name: 'Protocol', - components: { crudOperation, rrOperation }, + components: { crudOperation, rrOperation, pagination }, mixins: [presenter(), header(), crud()], cruds() { return CRUD({ diff --git a/acs/nladmin-ui/src/views/acs/instruction/index.vue b/acs/nladmin-ui/src/views/acs/instruction/index.vue index 7d5c0ed88..2b2ef30b4 100644 --- a/acs/nladmin-ui/src/views/acs/instruction/index.vue +++ b/acs/nladmin-ui/src/views/acs/instruction/index.vue @@ -110,7 +110,7 @@ - + @@ -133,13 +133,13 @@ - - - - - - - + + + + + + + @@ -169,6 +169,7 @@ + @@ -178,6 +179,7 @@ import crudInstruction from '@/api/acs/instruction/instruction' import CRUD, { presenter, header, form, crud } from '@crud/crud' import crudOperation from '@crud/CRUD.operation' import { getDicts } from '@/api/system/dict' +import pagination from '@crud/Pagination' const defaultForm = { instruction_id: null, @@ -218,7 +220,7 @@ const defaultForm = { export default { dicts: ['task_status'], name: 'Instruction', - components: { crudOperation }, + components: { crudOperation, pagination }, mixins: [presenter(), header(), form(defaultForm), crud()], cruds() { return CRUD({ From 8d5faa265196e9699c9cb3a59fc9eec18eb7e9a8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=BC=A0=E6=B1=9F=E7=8E=AE?= Date: Sat, 28 Jan 2023 19:53:26 +0800 Subject: [PATCH 09/12] =?UTF-8?q?=E6=A8=A1=E7=B3=8A=E6=9F=A5=E8=AF=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../main/java/org/nl/acs/task/service/wql/QTASK_QUERY.wql | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/acs/nladmin-system/src/main/java/org/nl/acs/task/service/wql/QTASK_QUERY.wql b/acs/nladmin-system/src/main/java/org/nl/acs/task/service/wql/QTASK_QUERY.wql index dbd0efdcc..fac35ef90 100644 --- a/acs/nladmin-system/src/main/java/org/nl/acs/task/service/wql/QTASK_QUERY.wql +++ b/acs/nladmin-system/src/main/java/org/nl/acs/task/service/wql/QTASK_QUERY.wql @@ -95,16 +95,16 @@ IF 输入.flag = "2" task.task_status = 输入.status ENDOPTION OPTION 输入.vehicle_code <> "" - task.vehicle_code = 输入.vehicle_code + task.vehicle_code LIKE CONCAT ( '%', 输入.vehicle_code, '%' ) ENDOPTION OPTION 输入.material_type <> "" task.material = 输入.material_type ENDOPTION OPTION 输入.point_code <> "" ( - task.start_point_code = 输入.point_code + task.start_point_code LIKE CONCAT ( '%', 输入.point_code, '%' ) OR - task.next_point_code = 输入.point_code + task.next_point_code LIKE CONCAT ( '%', 输入.point_code, '%') ) ENDOPTION OPTION 输入.create_time <> "" From 6c7a900c64a5cce865d9c3cc0b63122b05ef7acb Mon Sep 17 00:00:00 2001 From: gengby <858962040@qq.com> Date: Sat, 28 Jan 2023 22:01:39 +0800 Subject: [PATCH 10/12] =?UTF-8?q?=E6=9B=B4=E6=96=B0=E7=9B=91=E6=8E=A7?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../OvenGantryManipulatorDeviceDriver.java | 109 +++++++++++++++--- 1 file changed, 96 insertions(+), 13 deletions(-) diff --git a/acs/nladmin-system/src/main/java/org/nl/acs/device_driver/basedriver/oven_manipulator/OvenGantryManipulatorDeviceDriver.java b/acs/nladmin-system/src/main/java/org/nl/acs/device_driver/basedriver/oven_manipulator/OvenGantryManipulatorDeviceDriver.java index 9bff92190..b30a9fbff 100644 --- a/acs/nladmin-system/src/main/java/org/nl/acs/device_driver/basedriver/oven_manipulator/OvenGantryManipulatorDeviceDriver.java +++ b/acs/nladmin-system/src/main/java/org/nl/acs/device_driver/basedriver/oven_manipulator/OvenGantryManipulatorDeviceDriver.java @@ -185,12 +185,28 @@ public class OvenGantryManipulatorDeviceDriver extends AbstractOpcDeviceDriver i if (device.getDeviceDriver() instanceof HongXiangConveyorDeviceDriver) { hongXiangConveyorDeviceDriver = (HongXiangConveyorDeviceDriver) device.getDeviceDriver(); //hongXiangConveyorDeviceDriver.writing("to_open_door", "1"); - if (hongXiangConveyorDeviceDriver.getMode() == 1 && hongXiangConveyorDeviceDriver.getDoor() == 1 && hongXiangConveyorDeviceDriver.getAction() == 1 && hongXiangConveyorDeviceDriver.getError1() == 0) { + int mode = hongXiangConveyorDeviceDriver.getMode(); + int door = hongXiangConveyorDeviceDriver.getDoor(); + int action = hongXiangConveyorDeviceDriver.getAction(); + int error1 = hongXiangConveyorDeviceDriver.getError1(); + if (mode == 1 && door == 1 && action == 1 && error1 == 0) { this.writing("to_command", "2"); this.setNow_steps_type(3); } else { if (this.getNow_steps_type() == 2) { - feedMessage = "请检查烘箱:door=1&&action==1&&error1=0"; + feedMessage = "烘箱:" + hongXiangConveyorDeviceDriver.getDevice_code(); + if (mode != 1) { + feedMessage = feedMessage + "mode未联机,"; + } + if (door != 1) { + feedMessage = feedMessage + "door未开门,"; + } + if (action != 1) { + feedMessage = feedMessage + "action未允许取放,"; + } + if (error1 != 0) { + feedMessage = feedMessage + "error1出现故障。"; + } } } } else { @@ -200,7 +216,19 @@ public class OvenGantryManipulatorDeviceDriver extends AbstractOpcDeviceDriver i } } else { if (this.getNow_steps_type() == 2) { - feedMessage = "请检查:mode == 3 && action == 1 && move == 0 && task > 0"; + feedMessage = "行架机械手:"; + if (mode != 3) { + feedMessage = feedMessage + "mode不为运行中状态,"; + } + if (action != 1) { + feedMessage = feedMessage + "action不为取货中状态,"; + } + if (move != 0) { + feedMessage = feedMessage + "move不为无货状态,"; + } + if (task == 0) { + feedMessage = feedMessage + "task为0。"; + } } } @@ -220,7 +248,19 @@ public class OvenGantryManipulatorDeviceDriver extends AbstractOpcDeviceDriver i } } else { if (this.getNow_steps_type() == 3) { - feedMessage = "请检查:mode == 3 && action == 2 && move == 1 && task > 0"; + feedMessage = "行架机械手:"; + if (mode != 3) { + feedMessage = feedMessage + "mode不为运行中状态,"; + } + if (action != 2) { + feedMessage = feedMessage + "action不为取货完成状态,"; + } + if (move != 1) { + feedMessage = feedMessage + "move不为有货状态,"; + } + if (task == 0) { + feedMessage = feedMessage + "task为0。"; + } } } @@ -233,11 +273,27 @@ public class OvenGantryManipulatorDeviceDriver extends AbstractOpcDeviceDriver i if (nextDevice.getDeviceDriver() instanceof HongXiangConveyorDeviceDriver) { hongXiangConveyorDeviceDriver = (HongXiangConveyorDeviceDriver) nextDevice.getDeviceDriver(); //hongXiangConveyorDeviceDriver.writing("to_open_door", "1"); - if (hongXiangConveyorDeviceDriver.getMode() == 1 && hongXiangConveyorDeviceDriver.getDoor() == 1 && hongXiangConveyorDeviceDriver.getAction() == 1 && hongXiangConveyorDeviceDriver.getError1() == 0) { + int mode = hongXiangConveyorDeviceDriver.getMode(); + int door = hongXiangConveyorDeviceDriver.getDoor(); + int action = hongXiangConveyorDeviceDriver.getAction(); + int error1 = hongXiangConveyorDeviceDriver.getError1(); + if (mode == 1 && door == 1 && action == 1 && error1 == 0) { this.writing("to_command", "4"); this.setNow_steps_type(5); } else { - feedMessage = "请检查烘箱:door=1&&action==1&&error1=0"; + feedMessage = "烘箱:" + hongXiangConveyorDeviceDriver.getDevice_code(); + if (mode != 1) { + feedMessage = feedMessage + "mode未联机,"; + } + if (door != 1) { + feedMessage = feedMessage + "door未开门,"; + } + if (action != 1) { + feedMessage = feedMessage + "action未允许取放,"; + } + if (error1 != 0) { + feedMessage = feedMessage + "error1出现故障。"; + } } } else { this.writing("to_command", "4"); @@ -245,7 +301,19 @@ public class OvenGantryManipulatorDeviceDriver extends AbstractOpcDeviceDriver i } } else { if (this.getNow_steps_type() == 4) { - feedMessage = "请检查:mode == 3 && action == 3 && move == 1 && task > 0"; + feedMessage = "行架机械手:"; + if (mode != 3) { + feedMessage = feedMessage + "mode不为运行中状态,"; + } + if (action != 3) { + feedMessage = feedMessage + "action不为放货中状态,"; + } + if (move != 1) { + feedMessage = feedMessage + "move不为有货状态,"; + } + if (task == 0) { + feedMessage = feedMessage + "task为0。"; + } } } @@ -293,7 +361,19 @@ public class OvenGantryManipulatorDeviceDriver extends AbstractOpcDeviceDriver i } } else { if (this.getNow_steps_type() == 5) { - feedMessage = "请检查:mode == 3 && action == 4 && move == 0 && task > 0"; + feedMessage = "行架机械手:"; + if (mode != 3) { + feedMessage = feedMessage + "mode不为运行中状态,"; + } + if (action != 4) { + feedMessage = feedMessage + "action不为放货完成状态,"; + } + if (move != 0) { + feedMessage = feedMessage + "move不为无货状态,"; + } + if (task == 0) { + feedMessage = feedMessage + "task为0。"; + } } } @@ -334,15 +414,18 @@ public class OvenGantryManipulatorDeviceDriver extends AbstractOpcDeviceDriver i } else { if (mode == 2) { //if (!requireSucess) { - String remark = ""; + String remark = "未查找任务原因为:"; if (mode != 2) { - remark = remark + "mode不为2,"; + remark = remark + "mode不是待机状态,"; } if (move != 0) { - remark = remark + "move不为0,"; + remark = remark + "move为有货状态,"; } if (task != 0) { - remark = remark + "task不为0,"; + remark = remark + "task任务号不为0,"; + } + if (requireSucess) { + remark = remark + "请求标记requireSucess为true。"; } this.setNotCreateTaskMessage(remark); //} @@ -505,7 +588,7 @@ public class OvenGantryManipulatorDeviceDriver extends AbstractOpcDeviceDriver i hongXiangConveyorDeviceDriver.writing("to_open_door", "1"); hongXiangConveyorDeviceDriver.writing("to_open_door", "1"); } - if (startDevice.getDeviceDriver() instanceof HongXiangConveyorDeviceDriver){ + if (startDevice.getDeviceDriver() instanceof HongXiangConveyorDeviceDriver) { hongXiangConveyorDeviceDriver = (HongXiangConveyorDeviceDriver) startDevice.getDeviceDriver(); hongXiangConveyorDeviceDriver.writing("to_open_door", "1"); hongXiangConveyorDeviceDriver.writing("to_open_door", "1"); From 78873e720599434f4dd347939a0f7184228fee2e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=BC=A0=E6=B1=9F=E7=8E=AE?= Date: Sat, 28 Jan 2023 23:19:11 +0800 Subject: [PATCH 11/12] =?UTF-8?q?=E7=9B=91=E6=8E=A7=E6=8F=90=E7=A4=BA?= =?UTF-8?q?=E6=9B=B4=E6=96=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../SlitTwoManipulatorDeviceDriver.java | 276 +++++++++++++----- 1 file changed, 207 insertions(+), 69 deletions(-) diff --git a/acs/nladmin-system/src/main/java/org/nl/acs/device_driver/basedriver/slit_two_manipulator/SlitTwoManipulatorDeviceDriver.java b/acs/nladmin-system/src/main/java/org/nl/acs/device_driver/basedriver/slit_two_manipulator/SlitTwoManipulatorDeviceDriver.java index bed1501d9..6f170f7fe 100644 --- a/acs/nladmin-system/src/main/java/org/nl/acs/device_driver/basedriver/slit_two_manipulator/SlitTwoManipulatorDeviceDriver.java +++ b/acs/nladmin-system/src/main/java/org/nl/acs/device_driver/basedriver/slit_two_manipulator/SlitTwoManipulatorDeviceDriver.java @@ -306,16 +306,32 @@ public class SlitTwoManipulatorDeviceDriver extends AbstractOpcDeviceDriver impl this.setNow_steps_type3(3); } } else { - log.warn("前工位取货位无货,取货位:{},mode:{},move:{}", start_device_code, mode, move); + log.warn("后工位取货位无货,取货位:{},mode:{},move:{}", start_device_code, mode, move); if (this.getNow_steps_type2() == 2 || this.getNow_steps_type3() == 2) { - feedMessage = "请检查输送线:mode == 2 && move == 1,此时读取到mode = " + mode + "move = " + move; + feedMessage = "后工位未取货原因-->"; + if (mode != 2) { + feedMessage += "后工位取货位工作模式不为待机(mode != 2),"; + } else if (move != 1) { + feedMessage += "后工位取货位无货(move != 1)"; + } } } } } else { if (this.getNow_steps_type2() == 2 || this.getNow_steps_type3() == 2) { - feedMessage = "请检查:mode == 3 && action2 == 1 && move2 == 0 && task2 > 0,此时读取到mode = " + mode - + "action2 = " + action2 + "move2 = " + move2 + "task2 = " + task2; + feedMessage = "后工位未取货原因-->"; + if (mode != 3) { + feedMessage += "行架工作模式不为运行中(mode != 3),"; + } + if (action2 != 1) { + feedMessage += "后工位动作信号不为取货中(action2 != 1),"; + } + if (move2 != 0) { + feedMessage += "后工位光电信号不为空(move2 != 0),"; + } + if (task2 == 0) { + feedMessage += "后工位没有任务(task2 == 0)"; + } } } @@ -330,8 +346,19 @@ public class SlitTwoManipulatorDeviceDriver extends AbstractOpcDeviceDriver impl } } else { if (this.getNow_steps_type2() == 3 || this.getNow_steps_type3() == 3) { - feedMessage = "请检查:mode == 3 && action2 == 2 && move2 == 1 && task2 > 0,此时读取到mode = " + mode - + "action2 = " + action2 + "move2 = " + move2 + "task2 = " + task2; + feedMessage = "后工位取货完成后未反馈原因-->"; + if (mode != 3) { + feedMessage += "行架工作模式不为运行中(mode != 3),"; + } + if (action2 != 2) { + feedMessage += "后工位未取货完成(action2 != 2),"; + } + if (move2 == 0) { + feedMessage += "后工位光电信号为空(move2 == 0),"; + } + if (task2 == 0) { + feedMessage += "后工位没有任务(task2 == 0)"; + } } } @@ -345,8 +372,19 @@ public class SlitTwoManipulatorDeviceDriver extends AbstractOpcDeviceDriver impl } } else { if (this.getNow_steps_type1() == 2 || this.getNow_steps_type3() == 4) { - feedMessage = "请检查mode == 3 && action1 == 1 && move1 == 0 && task1 > 0,此时读取到mode = " + mode - + "action1 = " + action1 + "move1 = " + move1 + "task1 = " + task1; + feedMessage = "前工位未取货原因"; + if (mode != 3) { + feedMessage += "行架工作模式不为运行中(mode != 3),"; + } + if (action1 != 1) { + feedMessage += "前工位动作信号不为取货中(action2 != 1),"; + } + if (move1 != 0) { + feedMessage += "前工位光电信号不为空(move2 != 0),"; + } + if (task1 == 0) { + feedMessage += "前工位没有任务(task2 == 0)"; + } } } @@ -361,8 +399,19 @@ public class SlitTwoManipulatorDeviceDriver extends AbstractOpcDeviceDriver impl } } else { if (this.getNow_steps_type1() == 3 || this.getNow_steps_type3() == 5) { - feedMessage = "请检查:mode == 3 && action1 == 2 && move1 == 1 && task1 > 0,此时读取到mode = " + mode - + "action1 = " + action1 + "move1 = " + move1 + "task1 = " + task1; + feedMessage = "前工位取货完成后未反馈原因"; + if (mode != 3) { + feedMessage += "行架工作模式不为运行中(mode != 3),"; + } + if (action1 != 2) { + feedMessage += "前工位未取货完成(action2 != 2),"; + } + if (move1 == 0) { + feedMessage += "前工位光电信号为空(move2 == 0),"; + } + if (task1 == 0) { + feedMessage += "前工位没有任务(task2 == 0)"; + } } } @@ -377,8 +426,19 @@ public class SlitTwoManipulatorDeviceDriver extends AbstractOpcDeviceDriver impl } } else { if (this.getNow_steps_type2() == 4 || this.getNow_steps_type3() == 6) { - feedMessage = "请检查:mode == 3 && action2 == 3 && move2 == 1 && task2 > 0,此时读取到mode = " + mode - + "action2 = " + action2 + "move2 = " + move2 + "task2 = " + task2; + feedMessage = "后工位未放货原因-->"; + if (mode != 3) { + feedMessage += "行架工作模式不为运行中(mode != 3),"; + } + if (action2 != 3) { + feedMessage += "后工位动作信号不为放货中(action2 != 3),"; + } + if (move2 == 0) { + feedMessage += "后工位光电信号为空(move2 == 0),"; + } + if (task2 == 0) { + feedMessage += "后工位没有任务(task2 == 0)"; + } } } @@ -408,8 +468,22 @@ public class SlitTwoManipulatorDeviceDriver extends AbstractOpcDeviceDriver impl } } else { if (this.getNow_steps_type2() == 5) { - feedMessage = "请检查:mode == 3 && action2 == 4 && move2 == 0 && task2 > 0 && type == 2,此时读取到 " + - "mode =" + mode + "action2 = " + action2 + "move2 = " + move2 + "task2 = " + task2 + "type = " + type; + feedMessage = "单任务后工位放货完成后未反馈原因-->"; + if (mode != 3) { + feedMessage += "行架工作模式不为运行中(mode != 3),"; + } + if (action2 != 4) { + feedMessage += "后工位未放货完成(action2 != 4),"; + } + if (move2 != 0) { + feedMessage += "后工位光电信号为有货(move2 != 0),"; + } + if (task2 == 0) { + feedMessage += "后工位没有任务(task2 == 0),"; + } + if (type != 2) { + feedMessage += "不是后工位单任务(type != 2)"; + } } } @@ -419,8 +493,25 @@ public class SlitTwoManipulatorDeviceDriver extends AbstractOpcDeviceDriver impl this.setNow_steps_type3(8); } else { if (this.getNow_steps_type3() == 7) { - feedMessage = "请检查:mode == 3 && action2 == 4 && move2 == 0 && task1 > 0 && task2 > 0 && type == 3,此时读取到mode = " + mode - + "action2 = " + action2 + "move2 = " + move2 + "task1 = " + task1 + "task2 = " + task2 + "type = " + type; + feedMessage = "双任务后工位放货完成后未反馈原因-->"; + if (mode != 3) { + feedMessage += "行架工作模式不为运行中(mode != 3),"; + } + if (action2 != 4) { + feedMessage += "后工位未放货完成(action2 != 4),"; + } + if (move2 != 0) { + feedMessage += "后工位光电信号为有货(move2 != 0),"; + } + if (task1 == 0) { + feedMessage += "前工位没有任务(task1 == 0),"; + } + if (task2 == 0) { + feedMessage += "后工位没有任务(task2 == 0),"; + } + if (type != 3) { + feedMessage += "不是双任务(type != 3)"; + } } } @@ -453,14 +544,30 @@ public class SlitTwoManipulatorDeviceDriver extends AbstractOpcDeviceDriver impl } else { log.warn("后工位放货位有货,放货位:{},mode:{},move:{}", next_device_code, mode, move); if (this.getNow_steps_type1() == 4 || this.getNow_steps_type3() == 8) { - feedMessage = "请检查输送线:move == 1 && mode == 2,此时读取到mode = " + mode + "move = " + move; + feedMessage = "前工位未放货原因-->"; + if (mode != 2) { + feedMessage += "前工位放货位工作模式不为待机(mode != 2),"; + } else if (move == 0) { + feedMessage += "前工位放货位无货(move == 0)"; + } } } } } else { if (this.getNow_steps_type1() == 4 || this.getNow_steps_type3() == 8) { - feedMessage = "请检查:mode == 3 && action1 == 3 && move1 == 1 && task1 > 0,此时读取到mode = " + mode + "action1 = " - + action1 + "move1 = " + move1 + "task1 = " + task1; + feedMessage = "前工位未放货原因-->"; + if (mode != 3) { + feedMessage += "行架工作模式不为运行中(mode != 3),"; + } + if (action1 != 3) { + feedMessage += "前工位动作信号不为放货中(action1 != 3),"; + } + if (move1 == 0) { + feedMessage += "前工位光电信号为空(move1 == 0),"; + } + if (task1 == 0) { + feedMessage += "前工位没有任务(task1 == 0),"; + } } } @@ -491,8 +598,22 @@ public class SlitTwoManipulatorDeviceDriver extends AbstractOpcDeviceDriver impl } } else { if (this.getNow_steps_type1() == 5) { - feedMessage = "请检查:mode == 3 && action1 == 4 && move1 == 0 && task1 > 0 && type == 1,此时读取到 mode = " + - mode + "action1 = " + action1 + "move1 = " + move1 + "task1 = " + task1 + "type = " + type; + feedMessage = "单任务前工位放货完成后未反馈原因-->"; + if (mode != 3) { + feedMessage += "行架工作模式不为运行中(mode != 3),"; + } + if (action1 != 4) { + feedMessage += "前工位未放货完成(action1 != 4),"; + } + if (move1 != 0) { + feedMessage += "前工位光电信号为有货(move1 != 0),"; + } + if (task1 == 0) { + feedMessage += "前工位没有任务(task1 == 0),"; + } + if (type != 1) { + feedMessage += "不为前工位单任务(type != 1)"; + } } } @@ -523,8 +644,25 @@ public class SlitTwoManipulatorDeviceDriver extends AbstractOpcDeviceDriver impl } } else { if (this.getNow_steps_type3() == 9) { - feedMessage = "请检查:mode == 3 && action1 == 4 && move1 == 0 && task1 > 0 && task2 > 0 && type == 3,此时读取到mode = " + mode - + "action1 = " + action1 + "move1 = " + move1 + "task1 = " + task1 + "task2 = " + task2 + "type = " + type; + feedMessage = "双任务前工位放货完成后未反馈原因-->"; + if (mode != 3) { + feedMessage += "行架工作模式不为运行中(mode != 3),"; + } + if (action1 != 4) { + feedMessage += "前工位未放货完成(action1 != 4),"; + } + if (move1 != 0) { + feedMessage += "前工位光电信号为有货(move1 != 0),"; + } + if (task1 == 0) { + feedMessage += "前工位没有任务(task1 == 0),"; + } + if (task2 == 0) { + feedMessage += "后工位没有任务(task2 == 0),"; + } + if (type != 3) { + feedMessage += "不是双任务(type != 3)"; + } } } @@ -592,25 +730,25 @@ public class SlitTwoManipulatorDeviceDriver extends AbstractOpcDeviceDriver impl if (!requireSucess) { String remark = ""; if (mode != 2) { - remark = remark + "mode不为2,"; + remark = remark + "行架工作模式不为待机(mode != 2),"; } if (move1 != 0) { - remark = remark + "move1不为0,"; + remark = remark + "前工位有货(move1 != 0),"; } if (move2 != 0) { - remark = remark + "move2不为0,"; + remark = remark + "后工位有货(move2 != 0),"; } if (action1 != 0) { - remark = remark + "action1不为0,"; + remark = remark + "前工位动作信号不为0(action1 != 0),"; } if (action2 != 0) { - remark = remark + "action2不为0,"; + remark = remark + "后工位动作信号不为0(action2 != 0),"; } if (task1 != 0) { - remark = remark + "task1不为0,"; + remark = remark + "前工位存在任务(task1 != 0),"; } if (task2 != 0) { - remark = remark + "task2不为0,"; + remark = remark + "后工位存在任务(task2 != 0),"; } this.setNotCreateTaskMessage(remark); } @@ -973,24 +1111,24 @@ public class SlitTwoManipulatorDeviceDriver extends AbstractOpcDeviceDriver impl List list = new ArrayList(); if (StrUtil.equals(type, "1")) { Map map1 = new HashMap(); - map1.put("code","to_onset1"); - map1.put("value",start_addr); + map1.put("code", "to_onset1"); + map1.put("value", start_addr); list.add(map1); Map map2 = new HashMap(); - map2.put("code","to_target1"); - map2.put("value",next_addr); + map2.put("code", "to_target1"); + map2.put("value", next_addr); list.add(map2); Map map3 = new HashMap(); - map3.put("code","to_task1"); - map3.put("value",dto.getInstruction_code()); + map3.put("code", "to_task1"); + map3.put("value", dto.getInstruction_code()); list.add(map3); Map map4 = new HashMap(); - map4.put("code","to_type"); - map4.put("value","1"); + map4.put("code", "to_type"); + map4.put("value", "1"); list.add(map4); Map map5 = new HashMap(); - map5.put("code","to_command1"); - map5.put("value","1"); + map5.put("code", "to_command1"); + map5.put("value", "1"); list.add(map5); this.writing(list); logServer.deviceExecuteLog(device_code, "", "", dto.getInstruction_code() + "下发前工位任务"); @@ -1003,24 +1141,24 @@ public class SlitTwoManipulatorDeviceDriver extends AbstractOpcDeviceDriver impl this.setNow_steps_type1(2); } else if (StrUtil.equals(type, "2")) { Map map1 = new HashMap(); - map1.put("code","to_onset2"); - map1.put("value",start_addr); + map1.put("code", "to_onset2"); + map1.put("value", start_addr); list.add(map1); Map map2 = new HashMap(); - map2.put("code","to_target2"); - map2.put("value",next_addr); + map2.put("code", "to_target2"); + map2.put("value", next_addr); list.add(map2); Map map3 = new HashMap(); - map3.put("code","to_task2"); - map3.put("value",dto.getInstruction_code()); + map3.put("code", "to_task2"); + map3.put("value", dto.getInstruction_code()); list.add(map3); Map map4 = new HashMap(); - map4.put("code","to_type"); - map4.put("value","2"); + map4.put("code", "to_type"); + map4.put("value", "2"); list.add(map4); Map map5 = new HashMap(); - map5.put("code","to_command2"); - map5.put("value","1"); + map5.put("code", "to_command2"); + map5.put("value", "1"); list.add(map5); this.writing(list); logServer.deviceExecuteLog(device_code, "", "", dto.getInstruction_code() + "下发后工位任务"); @@ -1041,40 +1179,40 @@ public class SlitTwoManipulatorDeviceDriver extends AbstractOpcDeviceDriver impl Map map1 = new HashMap(); - map1.put("code","to_onset1"); - map1.put("value",start_addr2); + map1.put("code", "to_onset1"); + map1.put("value", start_addr2); list.add(map1); Map map2 = new HashMap(); - map2.put("code","to_target1"); - map2.put("value",next_addr2); + map2.put("code", "to_target1"); + map2.put("value", next_addr2); list.add(map2); Map map3 = new HashMap(); - map3.put("code","to_task1"); - map3.put("value",dto.getInstruction_code()); + map3.put("code", "to_task1"); + map3.put("value", dto.getInstruction_code()); list.add(map3); Map map4 = new HashMap(); - map4.put("code","to_onset2"); - map4.put("value",start_addr); + map4.put("code", "to_onset2"); + map4.put("value", start_addr); list.add(map4); Map map5 = new HashMap(); - map5.put("code","to_target2"); - map5.put("value",next_addr); + map5.put("code", "to_target2"); + map5.put("value", next_addr); list.add(map5); Map map6 = new HashMap(); - map6.put("code","to_task2"); - map6.put("value",dto.getInstruction_code()); + map6.put("code", "to_task2"); + map6.put("value", dto.getInstruction_code()); list.add(map6); Map map7 = new HashMap(); - map7.put("code","to_type"); - map7.put("value","3"); + map7.put("code", "to_type"); + map7.put("value", "3"); list.add(map7); Map map8 = new HashMap(); - map8.put("code","to_command1"); - map8.put("value","1"); + map8.put("code", "to_command1"); + map8.put("value", "1"); list.add(map8); Map map9 = new HashMap(); - map9.put("code","to_command2"); - map9.put("value","1"); + map9.put("code", "to_command2"); + map9.put("value", "1"); list.add(map9); this.writing(list); logServer.deviceExecuteLog(device_code, "", "", dto.getInstruction_code() + "下发双工位任务"); @@ -1092,7 +1230,7 @@ public class SlitTwoManipulatorDeviceDriver extends AbstractOpcDeviceDriver impl this.setNow_steps_type3(2); } - if(task1 != Integer.parseInt(dto.getInstruction_code()) || task2 != Integer.parseInt(dto.getInstruction_code()) ){ + if (task1 != Integer.parseInt(dto.getInstruction_code()) || task2 != Integer.parseInt(dto.getInstruction_code())) { this.writing(list); logServer.deviceExecuteLog(device_code, "", "", dto.getInstruction_code() + "再次下发电气信号"); } From 2144c58b54580bc9c9b4cc93045205449ad6c41c Mon Sep 17 00:00:00 2001 From: "ZHOUZ\\Noble'lift" <1014987728@qq.com> Date: Sun, 29 Jan 2023 01:33:44 +0800 Subject: [PATCH 12/12] =?UTF-8?q?=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/impl/RawAssistIStorServiceImpl.java | 13 +++++++++++-- .../nl/wms/st/inbill/wql/QST_IVT_RAWASSISTISTOR.wql | 13 +++++++++++++ 2 files changed, 24 insertions(+), 2 deletions(-) diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/st/inbill/service/impl/RawAssistIStorServiceImpl.java b/lms/nladmin-system/src/main/java/org/nl/wms/st/inbill/service/impl/RawAssistIStorServiceImpl.java index 0fe07da1f..38e1ecbf4 100644 --- a/lms/nladmin-system/src/main/java/org/nl/wms/st/inbill/service/impl/RawAssistIStorServiceImpl.java +++ b/lms/nladmin-system/src/main/java/org/nl/wms/st/inbill/service/impl/RawAssistIStorServiceImpl.java @@ -858,10 +858,19 @@ public class RawAssistIStorServiceImpl implements RawAssistIStorService { //根据分切计划查询该订单物料大概还有多少未入 row_map.put("flag", "12"); JSONArray plan_rows = WQL.getWO("QST_IVT_RAWASSISTISTOR").addParamMap(row_map).process().getResultJSONArray(0); - int box_num = (int) Math.ceil(plan_rows.size() / 2); + if (ObjectUtil.isEmpty(plan_rows)){ + plan_rows = new JSONArray(); + } + //查询该销售订单及行号有多少个生成状态的箱子 + row_map.put("flag", "27"); + JSONArray box_rows = WQL.getWO("QST_IVT_RAWASSISTISTOR").addParamMap(row_map).process().getResultJSONArray(0); + if (ObjectUtil.isEmpty(box_rows)){ + box_rows = new JSONArray(); + } + int box_num = (int) Math.ceil(plan_rows.size() / 2) + box_rows.size(); //查询数量与订单物料箱子数量相近的一排 - JSONObject empty_row = WQL.getWO("QST_IVT_RAWASSISTISTOR").addParam("sect_id", sect_id).addParam("flag", "13").addParam("sql_str", " ORDER BY abs(" + box_num + "-a.struct_num)").process().uniqueResult(0); + JSONObject empty_row = WQL.getWO("QST_IVT_RAWASSISTISTOR").addParam("sect_id", sect_id).addParam("flag", "13").addParam("sql_str", " ORDER BY abs(" + box_num + "-a.struct_num),block_num,row_num").process().uniqueResult(0); if (ObjectUtil.isNotEmpty(empty_row)) { String block_num = empty_row.getString("block_num"); String row_num = empty_row.getString("row_num"); diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/st/inbill/wql/QST_IVT_RAWASSISTISTOR.wql b/lms/nladmin-system/src/main/java/org/nl/wms/st/inbill/wql/QST_IVT_RAWASSISTISTOR.wql index 03ae7e7bd..730bb38c8 100644 --- a/lms/nladmin-system/src/main/java/org/nl/wms/st/inbill/wql/QST_IVT_RAWASSISTISTOR.wql +++ b/lms/nladmin-system/src/main/java/org/nl/wms/st/inbill/wql/QST_IVT_RAWASSISTISTOR.wql @@ -930,6 +930,19 @@ ENDQUERY ENDIF + IF 输入.flag = "27" + QUERY + SELECT DISTINCT + package_box_sn + FROM + pdm_bi_subpackagerelation + WHERE + sale_order_name = 输入.sale_order_name + AND `status` = '0' + ENDSELECT + ENDQUERY + ENDIF +