From 036499cc0996bab90a835b35c3142737e7898b65 Mon Sep 17 00:00:00 2001 From: lyd <1419499670@qq.com> Date: Mon, 21 Nov 2022 09:04:02 +0800 Subject: [PATCH] =?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 --- .../pdm/service/impl/DeviceServiceImpl.java | 2 +- .../java/org/nl/wms/sch/manage/PointEnum.java | 40 +++++++++++ .../org/nl/wms/sch/rest/PointController.java | 44 ++++++++++++ .../callMaterial/YzjCallMaterialTask.java | 2 - .../wql/QSCH_yzjCallMaterial_01.wql | 15 ++--- .../sendMaterial/HnSendMaterialTask.java | 63 ++++++++++-------- .../src/main/java/org/nl/wms/wms.xls | Bin 280064 -> 280064 bytes .../src/views/wms/pdm/workerorder/index.vue | 26 +++++--- 8 files changed, 139 insertions(+), 53 deletions(-) create mode 100644 lms/nladmin-system/src/main/java/org/nl/wms/sch/manage/PointEnum.java diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/pdm/service/impl/DeviceServiceImpl.java b/lms/nladmin-system/src/main/java/org/nl/wms/pdm/service/impl/DeviceServiceImpl.java index 80bedff..365a90e 100644 --- a/lms/nladmin-system/src/main/java/org/nl/wms/pdm/service/impl/DeviceServiceImpl.java +++ b/lms/nladmin-system/src/main/java/org/nl/wms/pdm/service/impl/DeviceServiceImpl.java @@ -47,7 +47,7 @@ public class DeviceServiceImpl implements DeviceService { if (!StrUtil.isEmpty(search)) { map.put("search", "%" + search + "%"); } - JSONObject json = WQL.getWO("PDM_BI_DEVICE01").addParamMap(map).pageQuery(WqlUtil.getHttpContext(page), "device.create_time DESC"); + JSONObject json = WQL.getWO("PDM_BI_DEVICE01").addParamMap(map).pageQuery(WqlUtil.getHttpContext(page), "device.device_model, device.device_code"); return json; } diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/sch/manage/PointEnum.java b/lms/nladmin-system/src/main/java/org/nl/wms/sch/manage/PointEnum.java new file mode 100644 index 0000000..5c95160 --- /dev/null +++ b/lms/nladmin-system/src/main/java/org/nl/wms/sch/manage/PointEnum.java @@ -0,0 +1,40 @@ +package org.nl.wms.sch.manage; + +/** + * @author: lyd + * @description: 点位相关的枚举 + * @Date: 2022/11/19 + */ + +public enum PointEnum { + // 是否鎖定 + LOCK_TYPE_FALSE("1", "未锁定"), + LOCK_TYPE_TRUE("2", "锁定"), + + VEHICLE_TYPE_NEW_BUCKET("1", "新料盅"), + VEHICLE_TYPE_OLD_BUCKET("2", "旧料盅"), + VEHICLE_TYPE_STEEL_TRAY("3", "钢托盘"), + VEHICLE_TYPE_WOOL_TRAY("4", "木托盘"), + + // 点位状态 + POINT_STATUS_EMPTY_POSITION("1", "空位"), + POINT_STATUS_EMPTY_VEHICLE("2", "空载具"), + POINT_STATUS_HAVE_MATERIAL("3", "有料") + ; + + private final String code; + private final String name; + + PointEnum(String code, String name) { + this.code = code; + this.name = name; + } + + public String getCode() { + return code; + } + + public String getName() { + return name; + } +} diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/sch/rest/PointController.java b/lms/nladmin-system/src/main/java/org/nl/wms/sch/rest/PointController.java index 7310c4e..5413332 100644 --- a/lms/nladmin-system/src/main/java/org/nl/wms/sch/rest/PointController.java +++ b/lms/nladmin-system/src/main/java/org/nl/wms/sch/rest/PointController.java @@ -2,13 +2,18 @@ package org.nl.wms.sch.rest; +import cn.dev33.satoken.annotation.SaIgnore; +import cn.hutool.core.date.DateUtil; +import cn.hutool.core.util.IdUtil; import com.alibaba.fastjson.JSONArray; 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.modules.common.utils.SecurityUtils; import org.nl.modules.logging.annotation.Log; +import org.nl.modules.wql.core.bean.WQLObject; import org.nl.wms.sch.service.PointService; import org.nl.wms.sch.service.dto.PointDto; import org.springframework.data.domain.Pageable; @@ -112,4 +117,43 @@ public class PointController { pointService.changeLock(jsonObject); return new ResponseEntity<>(HttpStatus.NO_CONTENT); } + +// @GetMapping("/add") +// @SaIgnore +// public ResponseEntity add() { +// WQLObject sch_base_point = WQLObject.getWQLObject("SCH_BASE_Point"); +// String code = "FMJDJW"; +// String name = "困料货架"; +// for (int i = 1; i <= 4; i++) { +// JSONObject object = new JSONObject(); +// object.put("point_id", IdUtil.getSnowflake(1, 1).nextId()); +// if (i == 1) { +// object.put("point_code", "FMJDJW0101"); +// object.put("point_name", "覆膜机对接位101"); +// } else if (i == 2) { +// object.put("point_code", "FMJDJW0102"); +// object.put("point_name", "覆膜机对接位102"); +// } else if (i == 3) { +// object.put("point_code", "FMJDJW0201"); +// object.put("point_name", "覆膜机对接位201"); +// } else if (i == 4) { +// object.put("point_code", "FMJDJW0202"); +// object.put("point_name", "覆膜机对接位202"); +// } +// object.put("region_id", "1593073159588941824"); +// object.put("region_code", "FMQ"); +// object.put("region_name", "覆膜区"); +// object.put("lock_type", "1"); +// object.put("vehicle_max_qty", "0"); +// object.put("vehicle_qty", "0"); +// object.put("create_id", SecurityUtils.getCurrentUserId()); +// object.put("update_optid", SecurityUtils.getCurrentUserId()); +// object.put("create_name", SecurityUtils.getCurrentNickName()); +// object.put("update_optname", SecurityUtils.getCurrentNickName()); +// object.put("create_time", DateUtil.now()); +// object.put("update_time", DateUtil.now()); +// sch_base_point.insert(object); +// } +// return new ResponseEntity<>(HttpStatus.NO_CONTENT); +// } } diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/sch/tasks/callMaterial/YzjCallMaterialTask.java b/lms/nladmin-system/src/main/java/org/nl/wms/sch/tasks/callMaterial/YzjCallMaterialTask.java index 10e3c6b..10a52c8 100644 --- a/lms/nladmin-system/src/main/java/org/nl/wms/sch/tasks/callMaterial/YzjCallMaterialTask.java +++ b/lms/nladmin-system/src/main/java/org/nl/wms/sch/tasks/callMaterial/YzjCallMaterialTask.java @@ -239,9 +239,7 @@ public class YzjCallMaterialTask extends AbstractAcsTask { queryParam.put("flag", "1"); queryParam.put("material_id", material_id); queryParam.put("region_code", "KLHJ"); - queryParam.put("vehicle_type", "%" + vehicle_type + "%"); queryParam.put("is_new", workOrderObj.getString("is_new")); - //TODO: 如果点位表载具类型没有维护新旧盅,就从载具表关联 JSONObject json1 = WQL.getWO("QSCH_yzjCallMaterial_01").addParamMap(queryParam).process().uniqueResult(0); if (ObjectUtil.isNotEmpty(json1)) { // 拿到点位 diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/sch/tasks/callMaterial/wql/QSCH_yzjCallMaterial_01.wql b/lms/nladmin-system/src/main/java/org/nl/wms/sch/tasks/callMaterial/wql/QSCH_yzjCallMaterial_01.wql index 2379f26..8a708a4 100644 --- a/lms/nladmin-system/src/main/java/org/nl/wms/sch/tasks/callMaterial/wql/QSCH_yzjCallMaterial_01.wql +++ b/lms/nladmin-system/src/main/java/org/nl/wms/sch/tasks/callMaterial/wql/QSCH_yzjCallMaterial_01.wql @@ -45,17 +45,13 @@ SELECT p.point_id, p.point_code, - p.point_name, - p.block_num, - p.col_num, - p.row_num + p.point_name FROM SCH_BASE_Point p - LEFT JOIN md_pb_vehicle veh ON p.vehicle_code = veh.vehicle_code WHERE p.is_used = '1' AND standing_time is not null - AND now()> DATE_ADD(standing_time,INTERVAL s_datetime MINUTE) + AND now() > DATE_ADD(instorage_time,INTERVAL standing_time MINUTE) AND is_delete = '0' AND lock_type='1' AND point_status = '3' @@ -66,12 +62,9 @@ p.region_code = 输入.region_code ENDOPTION OPTION 输入.vehicle_type <> "" - p.can_vehicle_type like 输入.vehicle_type + p.vehicle_type like 输入.is_new ENDOPTION - OPTION 输入.is_new <> "" - vehicle.vehicle_type = 输入.is_new - ENDOPTION - ORDER BY col_num desc,row_num,layer_num + ORDER BY p.instorage_time ENDSELECT ENDQUERY ENDIF diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/sch/tasks/sendMaterial/HnSendMaterialTask.java b/lms/nladmin-system/src/main/java/org/nl/wms/sch/tasks/sendMaterial/HnSendMaterialTask.java index f96d884..5b882a2 100644 --- a/lms/nladmin-system/src/main/java/org/nl/wms/sch/tasks/sendMaterial/HnSendMaterialTask.java +++ b/lms/nladmin-system/src/main/java/org/nl/wms/sch/tasks/sendMaterial/HnSendMaterialTask.java @@ -14,9 +14,7 @@ import org.nl.modules.system.util.CodeUtil; import org.nl.modules.wql.WQL; import org.nl.modules.wql.core.bean.WQLObject; import org.nl.wms.sch.SchTaskDto; -import org.nl.wms.sch.manage.AbstractAcsTask; -import org.nl.wms.sch.manage.TaskStatusEnum; -import org.nl.wms.sch.manage.UpdateTaskStatusEnum; +import org.nl.wms.sch.manage.*; import org.nl.wms.sch.tasks.AcsTaskDto; import org.nl.wms.util.IdUtil; import org.springframework.stereotype.Service; @@ -77,9 +75,13 @@ public class HnSendMaterialTask extends AbstractAcsTask { */ @Override public void updateTaskStatus(JSONObject task, String status) { + /** + * 工单没有载具类型,混碾下料根据工单新旧物料区分。 + */ WQLObject taskTab = WQLObject.getWQLObject("SCH_BASE_Task"); WQLObject pointTab = WQLObject.getWQLObject("sch_base_point"); WQLObject materialTab = WQLObject.getWQLObject("MD_ME_MaterialBase"); + WQLObject workOrderTab = WQLObject.getWQLObject("PDM_BD_WorkOrder"); //生产工单表【PDM_BD_WorkOrder】 String task_id = task.getString("task_id"); JSONObject taskObj = taskTab.query("task_id = '" + task_id + "'").uniqueResult(0); @@ -91,9 +93,9 @@ public class HnSendMaterialTask extends AbstractAcsTask { throw new BadRequestException("已完成不能取消!"); } String point_code2 = taskObj.getString("point_code2"); - if (ObjectUtil.isEmpty(point_code2)) { + if (ObjectUtil.isNotEmpty(point_code2)) { // 防止未找到终点而取消任务空指针 JSONObject endPoint = pointTab.query("point_code = '" + point_code2 + "'").uniqueResult(0); - endPoint.put("lock_type", "1"); + endPoint.put("lock_type", PointEnum.LOCK_TYPE_FALSE.getCode()); pointTab.update(endPoint); } taskObj.put("task_status", TaskStatusEnum.FINISHED.getCode()); @@ -118,54 +120,57 @@ public class HnSendMaterialTask extends AbstractAcsTask { taskTab.update(taskObj); String point_code2 = taskObj.getString("point_code2"); + + if (ObjectUtil.isEmpty(point_code2)) return; // 防止未找到终点而完成任务空指针 + JSONObject point2Obj = pointTab.query("point_code = '" + point_code2 + "'").uniqueResult(0); JSONObject requestObj = task.getJSONObject("request_param"); - //工单标识 - String workorder_id = requestObj.getString("material_info_id"); - //生产工单表【PDM_BD_WorkOrder】 - WQLObject workOrderTab = WQLObject.getWQLObject("PDM_BD_WorkOrder"); - JSONObject workorderObj = workOrderTab.query("workorder_id", workorder_id).uniqueResult(0); + // 工单标识 + String workorder_id = taskObj.getString("material_info_id"); + JSONObject workorderObj = workOrderTab.query("workorder_id = '" + workorder_id + "'").uniqueResult(0); + // 物料 + JSONObject materialObj = materialTab.query("material_id = '" + workorderObj.getString("material_id") + "'").uniqueResult(0); + if (ObjectUtil.isEmpty(materialObj)) throw new BadRequestException("物料不存在!"); - //区域出入表【st_ivt_regionIO】 + // 区域出入表【st_ivt_regionIO】 WQLObject regionIoTab = WQLObject.getWQLObject("st_ivt_regionIO"); JSONObject regionIoObj = new JSONObject(); regionIoObj.put("iostorinv_id", IdUtil.getLongId()); regionIoObj.put("bill_code", CodeUtil.getNewCode("IN_STORE_CODE")); regionIoObj.put("buss_date", DateUtil.today()); - regionIoObj.put("io_type", "1"); + regionIoObj.put("io_type", RegionIOEnum.IO_TYPE_IN.getCode()); regionIoObj.put("region_id", point2Obj.getString("region_id")); regionIoObj.put("region_code", point2Obj.getString("region_code")); regionIoObj.put("region_name", point2Obj.getString("region_name")); regionIoObj.put("material_id", taskObj.getString("material_id")); regionIoObj.put("vehicle_code", taskObj.getString("vehicle_code")); regionIoObj.put("qty", requestObj.getString("qty")); - regionIoObj.put("bill_status", "3"); + regionIoObj.put("is_new", workorderObj.getString("is_new")); + regionIoObj.put("bill_status", RegionIOEnum.BILL_STATUS_FINISH.getCode()); regionIoObj.put("start_point_code", taskObj.getString("point_code1")); - regionIoObj.put("end_point_code", taskObj.getString("point_code3")); - regionIoObj.put("create_mode", "2"); + regionIoObj.put("end_point_code", taskObj.getString("point_code2")); + regionIoObj.put("create_mode", RegionIOEnum.CREATE_MODE_ACS.getCode()); regionIoObj.put("pcsn", DateUtil.format(DateUtil.parse(DateUtil.today()), "yyyyMMdd")); regionIoObj.put("create_id", SecurityUtils.getCurrentUserId()); regionIoObj.put("create_name", SecurityUtils.getCurrentNickName()); regionIoObj.put("create_time", DateUtil.now()); regionIoTab.insert(regionIoObj); - JSONObject materialObj = materialTab.query("material_id = '" + workorderObj.getString("material_id") + "'").uniqueResult(0); - if (ObjectUtil.isEmpty(materialObj)) throw new BadRequestException("物料不存在!"); - //完成后入库 point2Obj.put("instorage_time", taskObj.getString("create_time")); // 入库时间为任务生成的时间 point2Obj.put("pcsn", DateUtil.format(DateUtil.parse(DateUtil.today()), "yyyyMMdd")); point2Obj.put("ivt_qty", requestObj.getString("qty")); point2Obj.put("standing_time", materialObj.getString("standing_time")); - point2Obj.put("warn_time", materialObj.getString("standing_time")); + point2Obj.put("warn_time", materialObj.getString("warn_time")); point2Obj.put("material_id", workorderObj.getString("material_id")); - point2Obj.put("vehicle_type", workorderObj.getString("vehicle_type")); + point2Obj.put("vehicle_type", workorderObj.getString("is_new")); // 工单的新旧物料 point2Obj.put("vehicle_code", taskObj.getString("vehicle_code")); + point2Obj.put("vehicle_qty", "1"); // 入库为1个载具 point2Obj.put("is_full", requestObj.getString("is_full")); // 终点解锁 - point2Obj.put("lock_type", "1"); - point2Obj.put("point_status", "3"); + point2Obj.put("lock_type", PointEnum.LOCK_TYPE_FALSE.getCode()); + point2Obj.put("point_status", PointEnum.POINT_STATUS_HAVE_MATERIAL.getCode()); pointTab.update(point2Obj); } } @@ -181,7 +186,7 @@ public class HnSendMaterialTask extends AbstractAcsTask { String vehicle_code = form.getString("vehicle_code"); String qty = form.getString("qty"); String is_full = form.getString("is_full"); - String weight = form.getString("weight"); + String weight = form.getString("weight"); // 未存 //任务表【SCH_BASE_Task】 WQLObject taskTab = WQLObject.getWQLObject("SCH_BASE_Task"); //判断当前点是否有未完成的任务 @@ -230,13 +235,15 @@ public class HnSendMaterialTask extends AbstractAcsTask { public void findNextPoint() { /** * 根据业务找到相应的终点 + * 高速混碾机下料先找高速压制机旁边的三个困料位,没有位置则去公共货架 + * 普通混碾机下料直接送到公共困料货架 */ WQLObject taskTab = WQLObject.getWQLObject("SCH_BASE_Task"); WQLObject pointTab = WQLObject.getWQLObject("sch_base_point"); JSONArray taskArr = taskTab.query("handle_class = '" + THIS_CLASS + "'and is_delete = '0' and task_status = '2'").getResultJSONArray(0); for (int i = 0; i < taskArr.size(); i++) { JSONObject taskObj = taskArr.getJSONObject(i); - String vehicle_type = taskObj.getString("vehicle_type");//混碾载具类型新旧料? + String vehicle_type = taskObj.getString("vehicle_type");//混碾载具类型新旧料? 工單不提供载具类型 JSONObject param1 = new JSONObject(); param1.put("flag", "1"); param1.put("region_code", "KLHJ"); @@ -255,11 +262,9 @@ public class HnSendMaterialTask extends AbstractAcsTask { //锁住终点 endPoint.put("task_id", taskObj.getString("task_id")); - endPoint.put("lock_type", "2"); + endPoint.put("lock_type", PointEnum.LOCK_TYPE_TRUE.getCode()); pointTab.update(endPoint); } - - } } @@ -278,7 +283,7 @@ public class HnSendMaterialTask extends AbstractAcsTask { WQLObject taskTab = WQLObject.getWQLObject("SCH_BASE_Task"); JSONObject taskObj = taskTab.query("task_id = '" + task_id + "' and is_delete = '0' and task_status <> " + TaskStatusEnum.FINISHED.getCode()).uniqueResult(0); if (ObjectUtil.isNotEmpty(taskObj)) - this.updateTaskStatus(taskObj,"2"); + this.updateTaskStatus(taskObj, UpdateTaskStatusEnum.FORCEFINISH.getCode()); else { throw new BadRequestException("未找到该任务或者任务已完成!"); } @@ -294,7 +299,7 @@ public class HnSendMaterialTask extends AbstractAcsTask { WQLObject taskTab = WQLObject.getWQLObject("SCH_BASE_Task"); JSONObject taskObj = taskTab.query("task_id = '" + task_id + "' and is_delete = '0' and task_status <> " + TaskStatusEnum.FINISHED.getCode()).uniqueResult(0); if (ObjectUtil.isNotEmpty(taskObj)) - this.updateTaskStatus(taskObj,"0"); + this.updateTaskStatus(taskObj,UpdateTaskStatusEnum.CANCEL.getCode()); else { throw new BadRequestException("未找到该任务或者任务已完成!"); } diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/wms.xls b/lms/nladmin-system/src/main/java/org/nl/wms/wms.xls index 6bdbc77777b8cffd2750b0713b129c9373ef6072..cdae97835e58b6cac5e2fa413565750ff42bc9f5 100644 GIT binary patch delta 21472 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 D{VNUa delta 21458 zcmeHvcX(ArxA)9sr<3H6LJ~+I2`!bBlS)f3ln_FPKq!F_I#N`moLEp46v8G9Js?U^ zkP`5SG`$Got5ij>0lq4|3WzkhYt7!L?Q?wZ``zbz?)~SU{Umedx7S*;)|xeI%HB!! zyoS~D8ZPMNafc9MpoIKIc}=8Lxou*5x}A+>F01{oH*5Y-o+Q1>)}53eN~67Xuil)r z^}!js^~OCY>nAzO)RmOJ(mI{E*Eet-=^~eT1j%JyLG^RJQmH(~)hn1WI=8H6Nh0wl zKSDF^WC1ip$g50#>K#a#Jk%9`$NL1@Qc~hZ_Ar%lu>DlKZ?jBmdo|KZkgGnk;gAHH zE#GPpDA#2N(LDKht9W@!M7SK*IzSH1iKYeeg1D6WnK?O5w38f`8wkI%@&e_X`3bbM z+`VNW{w@fWdly`xUFEF8Kw2zMjE!=24?7Q?(M_IM*hJPR_yc-ABv3w9I0U{W6wQ~P z76!@ti_XvzlqqlN6a?Q;iTEx>^2N?Y_0M(rh|w-`LbqD^RID!@DR1o%NJq(^6a~Wf z)v@?Ht8*Y7Egy&PV;08YP4QJ;-8nFLEI5vm#)LfIuwhnMRv2-K75V^ERG@2>xEn0@ zDQOn`EbBPJ3kVP-aHP0o`%W`5(6M63h9laudTAeH( zm38bYl@r%CmG{0FCV#ykL>^MEW7nx%Ix1RDsF7r8N~j!GqoX&0Glt%h>69?6v)h7% z{w{Bw6Dk{@_oH{^Et8taO=s)m!iC}T`{Q-=4>^8znEd`A9lbA4TNopsTDU|0alDQ_ zrt<2#AURBSm2ZsJ(I@gUIZtl7XshhKNJpt$wMI;MM`Ru#Gk}(>7V7lcy~Smq#tpQ9rq6X_(yf zEuH-B5~YOz;BF#+H&iF(KCZJ151!dydH!>wc` z>D}b4)uBEk9AK3ith_cC#-dmcg_itZ>{i? zw92d!cb?$_%riD*%T(fI3l!u-nv}@hK`*vIWtNJ4&$?ljwJTPxF1mbe*mMa9pEhq8>*dN!g-h0ti zo`0~h>poW``cU3_u)BQzppWcx_{;5w4$}sAf$YiCr%&%eDSz{MqI~+GfBl`qZp9gvCo_G0>C0o~N7p6c_a}l=^qPd1PMZ+HdBi zzqvH?mks@DS~mKo)i<+VpBLfxN?1gTg#*q+1hyF+<}vkgS$>`;KM}EEqF-(2m`^g+?J zUw8G4c&q*F8M=qVzI=5od!zZRnvR8r;X}VZJEJgb*5fJ8^j9`4)Tvut`s9#x?zdkL zxzR83-7m{8h0?2YhrC}jx;R7%sOuR)H;ve;J5am3IH`E#M*YsQLq-l6LXxhR{d{b} z&U~+h3tO%E;hlG%2|u`|BJgh4^-|2Mci`la7mj}Q)$k63Vsaa- z{3vPYC__l6&M*JAYtNn)_wM$8_THhd-}>!v(Bm23t=QNr`s!t4`>R7P9;iG0+TNbc zn;(C8=jejTQwJVuVQePfX?3mb@G;ey9a zzSh6DZ~SBK(qB*M5)!*y9?`A7L(rl*izNUby{JJ%8UY_}jAvp99g& zk{g|F)OzKGjdE3)_aZVP%Wa8EKmU?UsjJhXXU4rb@8IzZPh6^k*E?@uA=SVB6jf7s z>#O{kX~%uKvKBKddsXiK>WkfcZC>H5j_Y@39LXLOvV=5_s*cnL-tk|UJAFjR!u$Te zzVPnZ4_;2aR#)HS?c$Kgcf60RnYz``_d@Bk_6Gui=+y3CIv97AZ#><0N!_kp+xyn` z@A=iG9)I?JxPS798HXw-4D8+QrID*PUph5Ey~WL9`D*P8*K4N*B+eb_buTM?YL)lV z#TjQ}`qqB_$%NipW;|E3=eddx`d+!-cFFRopON3Cs~em=F84m?^K8eXOV2Nzv^aWx z^%m;!h2j2|``>l@EZ#MJerRyhxxI!zfAmR2g4;T`F`b*uy4B*&x?_8;%6$6K>ECaD zH1*f4XM*_8w_iKdc~-lA^NTmF+;O+X(0y^^YWhyy@wCsIyNy8U;jQ(L0#@yQy|9nr&ao{sW}Wcr zfA!Ri;K}`WXNv-MH==q5wr#0$0_`Q)w{_(@UO%+YLyD!Kg5B9qjTuiRN zeAJLdn;J*?&?b$Ya!4@W7DxSfd^C0Us+cgoa@5GdqlQzGOZba1)SrJAMFTwYV5W*B z&LofU+le%gKa8TqG>=zD(^x5ykzD?KG)<$q#;wtGI;HvYr&s*st-rbQf>;_y3;DJ- z(7cK+WlK?*#l4i~@PQ+OUm26_D z-8Ek}+zvGIcv|I4s}|=_oUl$@453xLV-D>I+3pP|H?sT?Aq{{d=5s<;Kw11HA^RXJ zz5(SUDBZszQO>2Kq_v0jF7pInzun2;Z8`8<@ZP@vsYhXV&3|#Z%rm=9)Jh^2s!akvHZv*Lc+n~0GJv_H6rBozX=1j>Eu(;NRlFMN6BPip*;_0rGY=-hI zlsd3{yc;E}p?m;k40vFXJ0*vpya#1#@WccUO4dLrc~X)J9tm$iNl)-dsuv|y25?ES zHzfveiR?qkK?tJFAoU!0*O0IyV zr(03t9!ALbt)Y$e&ok_liyZ9FCK zf&pJ9Q1Sy9@F$4>p=3LB>Bp(mm;3|z^jsPxH^Gu68I)`= zwke<|>Ef<**}5Vs8JBgX!#q6ub)jTR2_*?VD8JpBmC$sa9m%@5t|1YiXgc56myYR> z4!XjJ`Vcp!BcLd3*ljUT)(!*35#y!(sGmjz=xRp}j<&gG976IHA?cC?d1k{f`lJ! zajdz)($j;WKMP>|C^B3?MgbF-K`G$3A_SeR-ZJ08dng1V1MZRC6~m#SZ3LaJ#UPp5VUSntFvzjQRbyNem`v?Jm{<|xbgW%e;t0~p zfce%AgBeJOCbLNk@y}5JM3|?L}Y^X~{8wv={~tir8i^!ck`VA4n`3 zcWM(0PP(wxw=)D+WoXD6`}BqjF|FOOMz+InRfZyNgNPE#bYV(moneZzq_Qr|bajRC zj5L_aiWv$qrLu0!bd?x;j-ydd^p0`nM7q`u=ECr4cHJJKv~M#{HFtpFIt2B621ICP zL0o#kE#uN@^r(|-Cz%qjTI;AUHhRvY7s3sd&X!2VqWCRCT?&HX)^tIG+WCUA{6j#vbLWFT?9JsflO<1^ONp0qzdzMhsq5w?NmLNQz^HYmk4EC%p|jZl>FDH|b}2J$6Ju}3M+ zD~0qP+#AFru_)tRu^7lFD#aqD_y~(Z{6{Rx7QZhjS|~*k7K8X$EPC(-SoGvOl;Vt1 zJXVUZP2ygjQdDiCxI)LQWaSA=wrW=5w>H7jyC>Ie7Hr8_^fLC_O!KJEm!vR>Y8GsjHoawb(IMXB7 zZTp6CruWmBiZi_y!-XJVJbOFUwul2?OODGuB%isR&W+kCrZtlzaVFK0)eE4+yc#?O65=c;=;lRX(Wq_>H|(!&8=Pa903 z%kAX=?Cn5c9~(Nw3w;&LSaF(uAw>;=Q%j|%I)Uehu)n>Gy?>-}p0t#EKFcEc`xmJ% zGVaIjy{zzp#>P9UZ$|E>=wy7n$M+SA{$xy|9$%6 z{4$NFwv$rfHQIcHDRWsSCCdm_FmQp@s8%o-3U(N-Q?I;Iqjr(s%h zoT0QB&QMwmXDBU(#~oS>cd2H~TMa^-ya41Au0uvL#h7B2I-|f)CB&pB9v+xws3P#- zz=A0gG_ETxn3BzKBdNu3BWcDus{-+S-wdi4ZY#Cee`{VFq6RUfsed)E8DUD4l>apw@2OcWSZLstEd2EK>rW z(z$diUjsFbPB;Zw<~gO2BnOyY!T4<AxbcLNmvoFI1o2y~S$9|! zWm`W>f_+}!@OppC5)hZ1l~#3JBI>!Z0sEgEa2hxKKMpuP--|s5hPryg+ir<`xi{Mw zRnFGJ*!VZsNI&tdiOie#)3H~XGv()X>;erme%_GDQq*Mjo*HC65M)Ey-(LLXM(hEd zVw@SszGNx*urx$W(1E}f%ciRnbRf7pnaxlq=s=jDUBv_)2uBIAd}d=7m=b56j{{-( z-iE=GQZYLRLeIpqnZSytDuM7&AfB171pY;1)*6()-I)1EPLb?+qf;|hOz9+JX&Afh zY#0stv=jQofIefGLDeS)^clmdRefSWpV4Ar5Ci&*WiOg>XQ09bLk#Ri#<2?!f4Go{ z0R_jaxEoNsB$R6mxI3A^CbDP5HIYqpfeKvw^HyvoKe8E~Z0tMF!oB^VbsXz{a52WG zw`LW-)lC_ROk(5{cz!pmFC*Vqs)1~TK)x>-^tyS13lCtF{gS1Q2NoAx=Gp9*Dm^Xt zmHm?CzOrAk)N#L5?`EOL!EhncQdjp&yW-en&E60bF=mNum_9Vyc<_liBbZJHtY;t- zW<3L`(oMNa9T0q18&;=j7gxd%goC=%5bZpF0av1 zFk`t140D?$St@jx+q77+4W{s>IKWb^u@JS9G;2`B;K;By^W*T)ZV99gz9N^sL4W71 z^VnP{>P2D9%xAATu`h}7a1o1Uv?;&SncX(rr#b3)On~tFldgaW#-We^q4z)xlP%iBhY9}7a7%48Ni@1xZ8XW;Xp(3Y-e?ewCYc*ef<_yO%!c+P3F|>N z*z6BAHzF~6t1%SNYDED(8V!$2RR#2*fII7^HlzmyJVYkag94tctr>SF4OHCPYCS06 z#k`r1<>I@GS#a5XxX@6qdOW9iV?U3v{_*iY%u*dn1sIy82T zKPq7@oBcs=n2Fth_$JiQfAB{$Kzz-Z*`1AXQa2u^G@T9YoAQ$h%W;6^I>7QAVEGEh zeR{D9Sj0^3WtZaBy`!;pZ+QP3vh``9WdzBB0r9tIKdhXW_F-3jF3}4>j?T{ke_Y~S z`m#{~UR1$c0Uki`3jIa}^8mce+x26G^eTV3A4`OL->diX#k~W{Jemm$>UNriY^4 zFc#kMHa!N?F;e;|k;2CT>~n)&R#oT^D%|8Nhp|9b?J3g)6f{-lachV|StquBe5UNeS{W!K=Wwn*&T{f9#AgOkZn zxZK>9LSw|8XFtm(`wkq($Q9TYy;Z}=w{J7DYQ5F!>7o=~Z}lDtJ};{Deuo0Lc$_6x zQ@q&>hA)<6&S3DA$5=6gO`xucVz&0KnTPBdiGLp!74>BofYcm}|~(Z>PED0<{m#HCGbBjOLmf-22F2uDU~Y zm$~KvwU5m;PpIuS*BU@=kGbXrH8f69+Z$?op@#E5j;C_?xs{3cBEaNwat|D!)ELzM zV0_X-mgCu+nJ>P7A!|bK^B)$nVjEm9vncu}A0)F(8+<+D5BLe0<=WuQ7O^Hi57p*c zL6Rvak9em=tcwj*-6A&12Jou|agTY2TGl1StQ4rHtmko5qDf&{Xham46vaA0WGgjn z;|bqe3$w>x{8TN|r`k)vF^m!-goJ3}l&7ke(V*p2Mx1!Z#Vjv)D*G5D<75>LdCf`^ zU%nVjqv}EsPXfvb;|CXO9OJ`*%1Nb)6;u+>;4IUDU6>qDt4N_$oX`sXqD|NpCseGg6>dz*i9i1is2ubG=08*;Sy+%F)Cf>nam!Io8u8-g4p}ix zB5R6ZO%<$xDl2Xj%1IFa6j*I6@LU191*=rJ!Y?O{dCCe6l>w=ms8qN#FDD^#K^$e%sC${T+}GaDbJmB5LeK401q@(Wv#sU{%D=Z^Py# zMva~<5k0ZI;aW|Mm92#si&Lqx1yvh9TT68esp3^C+;Wza1pWZ19E=hSD%49k-^mrB zo~W|o#k!ETMm8w1yDJ#0Am_0$Q6UNP^giivf>7}oV4W~);VM?QY}zeiv(*sl@+(U z<)l5|2COy~JX#03bx^5rpIc5k@|Np0R1?+%Ri;YSSx{y1r9kDt0vu9kLB6n{i%=t5 zW$hwZbGX+AhphO39s59G?J8JvRo1S8HIKgttTq;WxdC*`SE-5xRRO=JrOMn0RD~*4 zH$hdzM{RVd299X7pio#)BGl-lvX%(e&ip6GtoTG9El^my3)U_wYj?rgm6yJ!v0(Xo zpj)v@RVt{u@q=0_pZ9^PM5XE>sJiov_Z?b*2?Z_aBrNDD)F@S1dkWSbe6wTLUaAEO zYcIjtQ)TTXSbOpCO&SZvYy#bSt5m%ORUclfr8J1U*-@yhoSBTHR zf8xO1ZKbNALRcvXr*i#H);|FM))@C~m9TI7mYi1hZhXy7_L{Sh!Q(z;&oY-FaVY2= zDgKUz!e6DsH&6b}E!`f5OPCCv1)ZdG#KqORQ{Y`x=1u)$d?<)g5+}=2zV> z@K5)!!E`AP-^-e79@%3^n3fl&rN~Qw~zo#X+iBgkne|8*;@zfi{>zhp+OWAr1Fiz4@x#YV3f#iAr9) zpS7+qy-%gMsi_UQ;wC&rvMB8(&hi0*hYoK--~O8~R|Fex?PonCpWkT}1PSh9;Mo-U zotJ*bTEfHD=RSi+*1sEf_HPOj!x!W_NK`ibc22pba= zthocs`Yg7ZD)L$?bo|jVR$_jbt#qCBX{jmPtxro$2jbR;r6$b!u+$X$)`z7gI_tyI z>QwcGP&}Tnbcxc_cib87Ftb@3U^wcg__)iTW*kN zoO^=3D?t|?RJ%}|N&WrH$;STQvLzmLsqy#o%$xG#2D)hRKiP2a)xX^m|HzJH--XgR z>7VQ$lJf*Il1$>+7g-bdI+;u`4!y{hyGoE@t3SNSo|ouDeJ^Z(h40t%25C7{x4_7Wcd5(i8wFU5#4&QP}HhkBs-;g5} z9y(?KokE)mscS^!JHZG3H-!4ZiNSb2Q2O4i-Se) zJUMmb+2$?l&~$X+UXR_Wvs!%6`HfMYFO#1)>rA-oCI6349UPVW@#DLDmS6tia}&Pi z;LTg@XP+$GF(S8q{e0<96F$-HKOVk$@}->JXV1;`zfnEOgr5xh=9jO_QZn-vT#2df zGulfw-MCL1WIZmt-(~i!NgF&j*X%UmSayd9s1{v2gFXlUHtbA$V@kBNQj$uVUUTQ( z@lqK7qmAUxk{|H~@zN6~_|KC(tc}#z*eXGiC@X2oV-uy1oqmS6weyJ$iLG|{hg*vnZQ$$rE+N7Seq>U;zZ+()6yk9>zi7T znwOT7pOK!U&nQUK=UM+mczNV?&*>16mzI~3t4~i%hM(;0^d#j6?iS{Dh|m}4^OBG` zCpRNCDK{H`GV=Jnw$i1B`lQ$}{7FnrOo$CjOGxH7+DWe%tJ_N_nCsD1BGmcMQ7l+a NkbI2QnNqdOe*#a!FbMzv diff --git a/lms/nladmin-ui/src/views/wms/pdm/workerorder/index.vue b/lms/nladmin-ui/src/views/wms/pdm/workerorder/index.vue index 169fab4..d3902f1 100644 --- a/lms/nladmin-ui/src/views/wms/pdm/workerorder/index.vue +++ b/lms/nladmin-ui/src/views/wms/pdm/workerorder/index.vue @@ -159,10 +159,10 @@ - - + + @@ -261,15 +261,20 @@ + + + - - - + + + + +