From 648c12e66d7dc99693ac17db4204582fbd8a0ee3 Mon Sep 17 00:00:00 2001 From: zds <2388969634@qq.com> Date: Mon, 4 Jul 2022 12:47:11 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9bug?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/impl/WorkOrderServiceImpl.java | 57 ++++++++++++------- .../wms/st/instor/wql/QST_IVT_SHUTFRAME.wql | 19 ++++--- .../wms/pdm/produce/workorder/AddDialog.vue | 14 ++++- .../views/wms/st/inStor/shutFrame/index.vue | 2 - 4 files changed, 61 insertions(+), 31 deletions(-) diff --git a/mes/hd/nladmin-system/src/main/java/org/nl/wms/pdm/service/impl/WorkOrderServiceImpl.java b/mes/hd/nladmin-system/src/main/java/org/nl/wms/pdm/service/impl/WorkOrderServiceImpl.java index 471624e1..8697fd67 100644 --- a/mes/hd/nladmin-system/src/main/java/org/nl/wms/pdm/service/impl/WorkOrderServiceImpl.java +++ b/mes/hd/nladmin-system/src/main/java/org/nl/wms/pdm/service/impl/WorkOrderServiceImpl.java @@ -98,27 +98,35 @@ public class WorkOrderServiceImpl implements WorkOrdereService { WQLObject mstTab = WQLObject.getWQLObject("PDM_BI_WorkOrder"); // 工艺路线主表 String material_id = json.getString("material_id"); String pcsn = json.getString("pcsn"); - JSONObject old = mstTab.query("status<>'99' and material_id='"+material_id+"' and pcsn='"+pcsn+"'").uniqueResult(0); - if(old!=null){ - throw new BadRequestException("已存在相同产品和批次的未完成工令!"); + int pcsn_num = json.getInteger("pcsn_num"); + if(pcsn_num>=1){ + for(int i=0;i'99' and material_id='"+material_id+"' and pcsn='"+pcsn+"'").uniqueResult(0); + if(old!=null){ + throw new BadRequestException("已存在相同产品和批次的未完成工令!"); + } + json.put("pcsn", pcsn); + String product_series_id = json.getString("product_series_id"); + if (StrUtil.isEmpty(product_series_id)) { + throw new BadRequestException("工令对应产品系列不能为空!"); + } + // 插入主表 + json.put("workorder_id", IdUtil.getSnowflake(1, 1).nextId()); + json.put("workordercard_id",json.getString("workorder_id")); + String workorder_code = CodeUtil.getNewCode("GL_CODE"); + json.put("workorder_code", workorder_code); + json.put("is_delete", "0"); + json.put("create_id", currentUserId); + json.put("create_name", nickName); + json.put("create_time", now); + json.put("sysdeptid", deptId); + json.put("syscompanyid", deptId); + mstTab.insert(json); + this.updatePcsn(json); + } } - String product_series_id = json.getString("product_series_id"); - if (StrUtil.isEmpty(product_series_id)) { - throw new BadRequestException("工令对应产品系列不能为空!"); - } - // 插入主表 - json.put("workorder_id", IdUtil.getSnowflake(1, 1).nextId()); - json.put("workordercard_id",json.getString("workorder_id")); - String workorder_code = CodeUtil.getNewCode("GL_CODE"); - json.put("workorder_code", workorder_code); - json.put("is_delete", "0"); - json.put("create_id", currentUserId); - json.put("create_name", nickName); - json.put("create_time", now); - json.put("sysdeptid", deptId); - json.put("syscompanyid", deptId); - mstTab.insert(json); - this.updatePcsn(json); } @Override @@ -147,7 +155,16 @@ public class WorkOrderServiceImpl implements WorkOrdereService { whereJson.put("update_time", now); whereJson.put("sysdeptid", deptId); whereJson.put("syscompanyid", deptId); + + JSONObject old2 = mstTab.query("workorder_id='"+workorder_id+"'").uniqueResult(0); + if(old2!=null){ + String pcsn_old = old2.getString("pcsn"); + if(!pcsn_old.equals("pcsn")){ + this.updatePcsn(whereJson); + } + } mstTab.update(whereJson); + } @Override diff --git a/mes/hd/nladmin-system/src/main/java/org/nl/wms/st/instor/wql/QST_IVT_SHUTFRAME.wql b/mes/hd/nladmin-system/src/main/java/org/nl/wms/st/instor/wql/QST_IVT_SHUTFRAME.wql index e1546b4d..39aed5af 100644 --- a/mes/hd/nladmin-system/src/main/java/org/nl/wms/st/instor/wql/QST_IVT_SHUTFRAME.wql +++ b/mes/hd/nladmin-system/src/main/java/org/nl/wms/st/instor/wql/QST_IVT_SHUTFRAME.wql @@ -64,13 +64,19 @@ PAGEQUERY SELECT ShutFrame.shutframeinv_id AS id, - ShutFrame.*, - mb.material_code, - mb.material_name + ShutFrame.* FROM ST_IVT_ShutFrameInv ShutFrame - LEFT JOIN ST_IVT_ShutFrameDtl ShutFrameDtl ON ShutFrameDtl.shutframeinv_id = ShutFrame.shutframeinv_id - LEFT JOIN md_me_materialbase mb ON mb.material_id = ShutFrameDtl.material_id + inner join (SELECT + ShutFrameDtl.shutframeinv_id + FROM + ST_IVT_ShutFrameDtl ShutFrameDtl + LEFT JOIN md_me_materialbase mb ON mb.material_id = ShutFrameDtl.material_id + where 1=1 + OPTION 输入.material_code <> "" + (mb.material_code like 输入.material_code or mb.material_name like 输入.material_code) + ENDOPTION + group by shutframeinv_id) dtlcopy on dtlcopy.shutframeinv_id = ShutFrame.shutframeinv_id WHERE 1 = 1 AND ShutFrame.is_delete = '0' @@ -99,9 +105,6 @@ OPTION 输入.end_time <> "" ShutFrame.input_time <= 输入.end_time ENDOPTION - OPTION 输入.material_code <> "" - (mb.material_code like 输入.material_code or mb.material_name like 输入.material_code) - ENDOPTION ENDSELECT ENDPAGEQUERY ENDIF diff --git a/mes/qd/src/views/wms/pdm/produce/workorder/AddDialog.vue b/mes/qd/src/views/wms/pdm/produce/workorder/AddDialog.vue index 08d15832..f0377652 100644 --- a/mes/qd/src/views/wms/pdm/produce/workorder/AddDialog.vue +++ b/mes/qd/src/views/wms/pdm/produce/workorder/AddDialog.vue @@ -6,7 +6,7 @@ :visible.sync="crud.status.cu > 0 || crud.status.view > 0" @close="close" > - + @@ -96,6 +96,17 @@ + + + + @@ -130,6 +141,7 @@ const defaultForm = { workorder_qty: '500', workorder_type: '01', is_experiment: '0', + pcsn_num: '1', remark: '', planstart_time: '' } diff --git a/mes/qd/src/views/wms/st/inStor/shutFrame/index.vue b/mes/qd/src/views/wms/st/inStor/shutFrame/index.vue index 291d6f64..f252f8a5 100644 --- a/mes/qd/src/views/wms/st/inStor/shutFrame/index.vue +++ b/mes/qd/src/views/wms/st/inStor/shutFrame/index.vue @@ -168,8 +168,6 @@ - -