From 6f2a40a799c7b3bd61edcc47bfaae57044380dc8 Mon Sep 17 00:00:00 2001 From: liuxy Date: Wed, 12 Oct 2022 17:01:06 +0800 Subject: [PATCH 1/5] =?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/mps/rest/BakingController.java | 3 +- .../nl/wms/pda/mps/service/BakingService.java | 2 +- .../mps/service/impl/BakingServiceImpl.java | 199 +++++++++++++++++- .../mps/service/impl/RawFoilServiceImpl.java | 14 +- .../wms/pda/mps/wql/PDA_OVENINANDOUT_01.wql | 64 ++++++ .../org/nl/wms/sch/manage/RegionTypeEnum.java | 43 ++++ .../nl/wms/sch/tasks/BookTwoConfirmTask.java | 24 +-- .../org/nl/wms/sch/tasks/CallEmpReelTask.java | 20 +- .../java/org/nl/wms/sch/tasks/InHotTask.java | 169 +++++++++++++++ 9 files changed, 499 insertions(+), 39 deletions(-) create mode 100644 nladmin-system/src/main/java/org/nl/wms/pda/mps/wql/PDA_OVENINANDOUT_01.wql create mode 100644 nladmin-system/src/main/java/org/nl/wms/sch/manage/RegionTypeEnum.java create mode 100644 nladmin-system/src/main/java/org/nl/wms/sch/tasks/InHotTask.java diff --git a/nladmin-system/src/main/java/org/nl/wms/pda/mps/rest/BakingController.java b/nladmin-system/src/main/java/org/nl/wms/pda/mps/rest/BakingController.java index c5352d3d0..8e189c5b8 100644 --- a/nladmin-system/src/main/java/org/nl/wms/pda/mps/rest/BakingController.java +++ b/nladmin-system/src/main/java/org/nl/wms/pda/mps/rest/BakingController.java @@ -28,6 +28,7 @@ public class BakingController { @Log("烘箱出入") @ApiOperation("烘箱出入") public ResponseEntity queryRawFoil(@RequestBody JSONObject whereJson) { - return new ResponseEntity<>(bakingService.ovenInAndOut(whereJson), HttpStatus.OK); + bakingService.ovenInAndOut(whereJson); + return new ResponseEntity<>(HttpStatus.OK); } } diff --git a/nladmin-system/src/main/java/org/nl/wms/pda/mps/service/BakingService.java b/nladmin-system/src/main/java/org/nl/wms/pda/mps/service/BakingService.java index b9a9aa306..cabd1aafd 100644 --- a/nladmin-system/src/main/java/org/nl/wms/pda/mps/service/BakingService.java +++ b/nladmin-system/src/main/java/org/nl/wms/pda/mps/service/BakingService.java @@ -9,6 +9,6 @@ public interface BakingService { * @param whereJson / * @return JSONObject */ - JSONObject ovenInAndOut(JSONObject whereJson); + void ovenInAndOut(JSONObject whereJson); } diff --git a/nladmin-system/src/main/java/org/nl/wms/pda/mps/service/impl/BakingServiceImpl.java b/nladmin-system/src/main/java/org/nl/wms/pda/mps/service/impl/BakingServiceImpl.java index 77a28fc4e..7946bed85 100644 --- a/nladmin-system/src/main/java/org/nl/wms/pda/mps/service/impl/BakingServiceImpl.java +++ b/nladmin-system/src/main/java/org/nl/wms/pda/mps/service/impl/BakingServiceImpl.java @@ -1,27 +1,210 @@ package org.nl.wms.pda.mps.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.wms.ext.acs.service.AcsToWmsService; +import org.nl.modules.common.exception.BadRequestException; +import org.nl.modules.common.utils.SecurityUtils; +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.pda.mps.service.BakingService; -import org.nl.wms.pda.mps.service.RawFoilService; +import org.nl.wms.sch.manage.RegionTypeEnum; +import org.nl.wms.sch.tasks.InHotTask; import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; @Service @RequiredArgsConstructor @Slf4j public class BakingServiceImpl implements BakingService { - + /* + * 业务流程: + * 入烤箱: + * 1.首先需要找到无任务的暂存位 并创建两条任务 + * 2。下发冷却区 --> 烘烤区的任务 等待反馈完成 + * 3.插入烤箱区出入主表和明细表 + * 出烤箱: + * 1.烤箱时间到后 查找无任务的暂存位 并创建2条任务 + * 2.1下发烤箱区 --> 暂存位 的任务 + * 2.2插入烤箱区出入明细表 + * 3.查找对应冷却区空位 + * 4.在下发暂存位 --> 冷却区的任务 + * 问题: + * 1.第二条任务出现异常后 如何再次触发 + */ @Override - public JSONObject ovenInAndOut(JSONObject whereJson) { - JSONObject result = new JSONObject(); - result.put("code", "1"); - result.put("desc", "查询成功"); - return result; + @Transactional + public void ovenInAndOut(JSONObject whereJson) { + + String option = whereJson.getString("option"); // 1-入箱 2-出箱 + + WQLObject pointTab = WQLObject.getWQLObject("SCH_BASE_Point"); // 点位表 + WQLObject taskTab = WQLObject.getWQLObject("SCH_BASE_Task"); // 任务表 + WQLObject coolIvtTab = WQLObject.getWQLObject("ST_IVT_CoolPointIvt"); // 冷却区点位库存表 + WQLObject hosIvtTab = WQLObject.getWQLObject("ST_IVT_HotPointIvt"); // 烤箱区点位库存表 + + if (StrUtil.equals(option, "1")) { + // 入箱 + String container_name = whereJson.getString("container_name"); // 母卷号 + String temperature = whereJson.getString("temperature"); // 温度 + String hours = whereJson.getString("hours"); // 时间 + String point_code1 = whereJson.getString("point_code"); // 点位 + + if (ObjectUtil.isEmpty(container_name)) throw new BadRequestException("母卷号不能为空"); + if (ObjectUtil.isEmpty(temperature)) throw new BadRequestException("温度不能为空"); + if (ObjectUtil.isEmpty(hours)) throw new BadRequestException("时间不能为空"); + if (ObjectUtil.isEmpty(point_code1)) throw new BadRequestException("点位不能为空"); + + // 1.根据冷却区此母卷的点位找到对应的暂存区、找到空位 + JSONObject jsonCoolIvt = coolIvtTab.query("container_name ='" + container_name + "' and is is_used = '1' and full_point_status = '02'").uniqueResult(0); + if (ObjectUtil.isEmpty(jsonCoolIvt)) throw new BadRequestException("母卷不存在"); + + String product_area = jsonCoolIvt.getString("product_area"); // 生产区域 + String point_location = jsonCoolIvt.getString("point_location"); // 位置 + String reging_id = ""; + + switch (product_area) { + case "A": + reging_id = RegionTypeEnum.A_HKZC.getId(); + break; + case "B": + reging_id = RegionTypeEnum.B_HKZC.getId(); + break; + case "C": + reging_id = RegionTypeEnum.C_HKZC.getId(); + break; + case "D": + reging_id = RegionTypeEnum.D_HKZC.getId(); + break; + } + JSONObject map = new JSONObject(); + map.put("flag", "1"); + map.put("reging_id", reging_id); + map.put("point_location", point_location); + + JSONArray pointArr = WQL.getWO("PDA_OVENINANDOUT_01").addParamMap(map).process().getResultJSONArray(0); + if (ObjectUtil.isEmpty(pointArr)) { + if (StrUtil.equals(point_location, "0")) map.put("point_location","1"); + if (StrUtil.equals(point_location, "1")) map.put("point_location","0"); + pointArr = WQL.getWO("PDA_OVENINANDOUT_01").addParamMap(map).process().getResultJSONArray(0); + + if (ObjectUtil.isEmpty(pointArr)) throw new BadRequestException("没有空暂存位"); + } + + // 2.判断暂存位是否有任务:找到无任务的暂存位 、查询烘箱对应的空位 + String point_code2 = ""; + for (int i = 0; i < pointArr.size(); i++) { + JSONObject jsonPoint = pointArr.getJSONObject(i); + String point_code = jsonPoint.getString("point_code"); + + JSONObject json_point_code1 = taskTab.query("point_code1 = '" + point_code + "' and task_status != '99' and is_delete = '0'").uniqueResult(0); + JSONObject json_point_code2 = taskTab.query("point_code2 = '" + point_code + "' and task_status != '99' and is_delete = '0'").uniqueResult(0); + JSONObject json_point_code3 = taskTab.query("point_code3 = '" + point_code + "' and task_status != '99' and is_delete = '0'").uniqueResult(0); + JSONObject json_point_code4 = taskTab.query("point_code4 = '" + point_code + "' and task_status != '99' and is_delete = '0'").uniqueResult(0); + if (ObjectUtil.isEmpty(json_point_code1) && ObjectUtil.isEmpty(json_point_code2) && ObjectUtil.isEmpty(json_point_code3) && ObjectUtil.isEmpty(json_point_code4)) { + point_code2 = point_code; + break; + } + } + if (ObjectUtil.isEmpty(point_code2)) throw new BadRequestException("没有空暂存位"); + + // 查询烘箱对应的空位 + JSONObject jsonHotIvt = hosIvtTab.query("product_area = '" + product_area + "' and temperature = '" + temperature + "' and point_location = '"+map.getString("point_location")+"' and is_used = '1' and point_status = '01' order by point_code ASC").uniqueResult(0); + if (ObjectUtil.isEmpty(jsonHotIvt)) throw new BadRequestException("烘烤区没有对应空位"); + + // 3.创建冷却区 --> 烘烤区任务 + JSONObject param = new JSONObject(); + param.put("point_code1",point_code1); + param.put("point_code2",point_code2); + param.put("point_code3",jsonHotIvt.getString("point_code")); + + // 创建冷却区 --> 暂存位的任务 + InHotTask inHotTask = new InHotTask(); + String task_id = inHotTask.createTask(param); + + // 4.插入烘箱区出入主表 和 明细表 + JSONObject hotParam = new JSONObject(); + hotParam.put("container_name",container_name); + hotParam.put("task_id",task_id); + // 创建主表 + String iostorinv_id = this.createHotIoMst(hotParam); + // 创建明细 + hotParam.put("iostorinv_id",iostorinv_id); + hotParam.put("start_point_code",point_code2); + hotParam.put("next_point_code",jsonHotIvt.getString("point_code")); + hotParam.put("temperature",temperature); + hotParam.put("oven_time",hours); + this.createHotDtl(hotParam); + + // 5.下发任务 + JSONObject jsonObject = inHotTask.renotifyAcs(task_id); + if (StrUtil.equals(jsonObject.getString("status"), "200")) { + // 成功返回 更新任务状态 + JSONObject jsonTask = taskTab.query("task_id ='" + task_id + "'").uniqueResult(0); + jsonTask.put("task_status", "05"); + taskTab.update(jsonTask); + } + } else if (StrUtil.equals(option, "2")) { + // 出箱 + + } + } + + @Transactional + public String createHotIoMst(JSONObject param) { + /* + * 创建烘箱区出入主表 + */ + WQLObject hotMstTab = WQLObject.getWQLObject("ST_IVT_HotRegionIOMst"); // 烘箱区出入主表 + WQLObject coolTab = WQLObject.getWQLObject("ST_IVT_CoolPointIvt"); // 冷却区点位库存表 + + JSONObject jsonCoolIvt = coolTab.query("container_name = '" + param.getString("container_name") + "'").uniqueResult(0); + + JSONObject jsonHotMst = new JSONObject(); + jsonHotMst.put("iostorinv_id", IdUtil.getSnowflake(1,1).nextId()); + jsonHotMst.put("bill_code", CodeUtil.getNewCode("HOT_BILL_CODE")); + jsonHotMst.put("container_name", param.getString("container_name")); + jsonHotMst.put("workorder_id", jsonCoolIvt.getString("workorder_id")); + jsonHotMst.put("qty", jsonCoolIvt.getString("ivt_qty")); + jsonHotMst.put("bill_status", "10"); + jsonHotMst.put("create_mode", "03"); + jsonHotMst.put("task_id", param.getString("task_id")); + jsonHotMst.put("create_id", SecurityUtils.getCurrentUserId()); + jsonHotMst.put("create_name", SecurityUtils.getCurrentUsername()); + jsonHotMst.put("create_time", DateUtil.now()); + hotMstTab.insert(jsonHotMst); + + return jsonHotMst.getString("iostorinv_id"); + } + + @Transactional + public void createHotDtl(JSONObject param) { + /* + * 创建烘箱区出入明细表 + */ + WQLObject hotDtlTab = WQLObject.getWQLObject("ST_IVT_HotRegionIODtl"); // 烘箱区出入明细表 + + JSONObject jsonHotDtl = new JSONObject(); + jsonHotDtl.put("iostorinvdtl_id",IdUtil.getSnowflake(1,1).nextId()); + jsonHotDtl.put("iostorinv_id", param.getString("iostorinv_id")); + jsonHotDtl.put("start_point_code", param.getString("start_point_code")); + jsonHotDtl.put("next_point_code", param.getString("next_point_code")); + jsonHotDtl.put("temperature", param.getString("temperature")); + jsonHotDtl.put("oven_time", param.getString("oven_time")); + jsonHotDtl.put("task_type", "1"); + jsonHotDtl.put("task_id", param.getString("task_id")); + jsonHotDtl.put("create_id", SecurityUtils.getCurrentUserId()); + jsonHotDtl.put("create_name", SecurityUtils.getCurrentUsername()); + jsonHotDtl.put("create_time", DateUtil.now()); + jsonHotDtl.put("dtl_status", "10"); + hotDtlTab.insert(jsonHotDtl); } diff --git a/nladmin-system/src/main/java/org/nl/wms/pda/mps/service/impl/RawFoilServiceImpl.java b/nladmin-system/src/main/java/org/nl/wms/pda/mps/service/impl/RawFoilServiceImpl.java index 4923c4cde..37de3dcaa 100644 --- a/nladmin-system/src/main/java/org/nl/wms/pda/mps/service/impl/RawFoilServiceImpl.java +++ b/nladmin-system/src/main/java/org/nl/wms/pda/mps/service/impl/RawFoilServiceImpl.java @@ -144,13 +144,13 @@ public class RawFoilServiceImpl implements RawFoilService { param.put("end_pint_code", end_pint_code); CallEmpReelTask callEmpReelTask = new CallEmpReelTask(); - String taskdtl_id = callEmpReelTask.createTask(param); + String task_id = callEmpReelTask.createTask(param); // 下发任务 - JSONObject jsonObject = callEmpReelTask.renotifyAcs(taskdtl_id); + JSONObject jsonObject = callEmpReelTask.renotifyAcs(task_id); if (StrUtil.equals(jsonObject.getString("status"), "200")) { // 成功返回 更新任务状态 - JSONObject jsonTask = taskTab.query("taskdtl_id ='" + taskdtl_id + "'").uniqueResult(0); + JSONObject jsonTask = taskTab.query("task_id ='" + task_id + "'").uniqueResult(0); jsonTask.put("task_status", "05"); taskTab.update(jsonTask); } @@ -204,7 +204,7 @@ public class RawFoilServiceImpl implements RawFoilService { param.put("end_pint_code",end_point_code); BookTwoConfirmTask bookTwoConfirmTask = new BookTwoConfirmTask(); - String taskdtl_id = bookTwoConfirmTask.createTask(param); + String task_id = bookTwoConfirmTask.createTask(param); // 5.插入入库单 Long currentUserId = SecurityUtils.getCurrentUserId(); @@ -226,17 +226,17 @@ public class RawFoilServiceImpl implements RawFoilService { jsonRegion.put("end_point_code",end_point_code); jsonRegion.put("cust_id",""); jsonRegion.put("create_mode","03"); - jsonRegion.put("task_id",taskdtl_id); + jsonRegion.put("task_id",task_id); jsonRegion.put("create_id",currentUserId); jsonRegion.put("create_name",currentUsername); jsonRegion.put("create_time",DateUtil.now()); regionTab.insert(jsonRegion); // 6.下发任务 - JSONObject jsonObject = bookTwoConfirmTask.renotifyAcs(taskdtl_id); + JSONObject jsonObject = bookTwoConfirmTask.renotifyAcs(task_id); if (StrUtil.equals(jsonObject.getString("status"), "200")) { // 成功返回 更新任务状态 - JSONObject jsonTask = taskTab.query("taskdtl_id ='" + taskdtl_id + "'").uniqueResult(0); + JSONObject jsonTask = taskTab.query("task_id ='" + task_id + "'").uniqueResult(0); jsonTask.put("task_status", "05"); taskTab.update(jsonTask); // 更新出入表状态 diff --git a/nladmin-system/src/main/java/org/nl/wms/pda/mps/wql/PDA_OVENINANDOUT_01.wql b/nladmin-system/src/main/java/org/nl/wms/pda/mps/wql/PDA_OVENINANDOUT_01.wql new file mode 100644 index 000000000..47269bdc7 --- /dev/null +++ b/nladmin-system/src/main/java/org/nl/wms/pda/mps/wql/PDA_OVENINANDOUT_01.wql @@ -0,0 +1,64 @@ +[交易说明] + 交易名: 手持接口 + 所属模块: + 功能简述: + 版权所有: + 表引用: + 版本经历: + +[数据库] + --指定数据库,为空采用默认值,默认为db.properties中列出的第一个库 + +[IO定义] + ################################################# + ## 表字段对应输入参数 + ################################################# + 输入.flag TYPEAS s_string + 输入.reging_id TYPEAS s_string + 输入.point_location TYPEAS s_string + + +[临时表] + --这边列出来的临时表就会在运行期动态创建 + +[临时变量] + --所有中间过程变量均可在此处定义 + +[业务过程] + + ########################################## + # 1、输入输出检查 # + ########################################## + + + ########################################## + # 2、主过程前处理 # + ########################################## + + + ########################################## + # 3、业务主过程 # + ########################################## + + IF 输入.flag = "1" + QUERY + SELECT + * + FROM + SCH_BASE_Point + WHERE + is_delete = '0' + AND is_used = '1' + + OPTION 输入.reging_id <> "" + region_id = 输入.reging_id + ENDOPTION + + OPTION 输入.point_location <> "" + point_location = 输入.point_location + ENDOPTION + + + ENDSELECT + ENDQUERY + ENDIF \ No newline at end of file diff --git a/nladmin-system/src/main/java/org/nl/wms/sch/manage/RegionTypeEnum.java b/nladmin-system/src/main/java/org/nl/wms/sch/manage/RegionTypeEnum.java new file mode 100644 index 000000000..71afd33bf --- /dev/null +++ b/nladmin-system/src/main/java/org/nl/wms/sch/manage/RegionTypeEnum.java @@ -0,0 +1,43 @@ +package org.nl.wms.sch.manage; + +/** + * 完成方式:00自动,01:手动 + */ +public enum RegionTypeEnum { + A_SB("01","A生箔区","1578627451293143040"), + B_SB("02","B生箔区",""), + C_SB("03","C生箔区",""), + D_SB("04","D生箔区",""), + A_FQ("05","A分切区","1578628922277498880"), + B_FQ("06","B分切区",""), + C_FQ("07","C分切区",""), + D_FQ("08","D分切区",""), + A_HKZC("09","A烘烤暂存区","1578657813205487616"), + B_HKZC("10","B烘烤暂存区",""), + C_HKZC("11","C烘烤暂存区",""), + D_HKZC("12","D烘烤暂存区",""); + + + private String name; + private String code; + private String id; + + private RegionTypeEnum(String code, String name, String id) { + this.code = code; + this.name = name; + this.id = id; + } + + public String getName() { + return name; + } + + public String getCode() { + return code; + } + + public String getId() { + return id; + } +} + diff --git a/nladmin-system/src/main/java/org/nl/wms/sch/tasks/BookTwoConfirmTask.java b/nladmin-system/src/main/java/org/nl/wms/sch/tasks/BookTwoConfirmTask.java index 16f890a41..098770965 100644 --- a/nladmin-system/src/main/java/org/nl/wms/sch/tasks/BookTwoConfirmTask.java +++ b/nladmin-system/src/main/java/org/nl/wms/sch/tasks/BookTwoConfirmTask.java @@ -67,20 +67,20 @@ public class BookTwoConfirmTask extends AbstractAcsTask { jsonTask.put("update_time", DateUtil.now()); taskTab.update(jsonTask); - String next_point_code = jsonTask.getString("next_point_code"); - String start_point_code = jsonTask.getString("start_point_code"); + String point_code1 = jsonTask.getString("point_code1"); + String point_code2 = jsonTask.getString("point_code2"); PointService point = SpringContextHolder.getBean(PointService.class); // 校验起点是否存在 - PointDto startDto = point.findByCode(start_point_code); - if (ObjectUtil.isEmpty(startDto)) throw new BadRequestException("起点未找到可用点位:" + start_point_code); + PointDto startDto = point.findByCode(point_code1); + if (ObjectUtil.isEmpty(startDto)) throw new BadRequestException("起点未找到可用点位:" + point_code1); // 校验终点是否存在 - JSONObject jsonIvt = ivtTab.query("point_code ='" + next_point_code + "'").uniqueResult(0); - if (ObjectUtil.isEmpty(jsonIvt)) throw new BadRequestException("终点未找到可用点位:" + next_point_code); + JSONObject jsonIvt = ivtTab.query("point_code ='" + point_code2 + "'").uniqueResult(0); + if (ObjectUtil.isEmpty(jsonIvt)) throw new BadRequestException("终点未找到可用点位:" + point_code2); // 更新冷却库存状态 - JSONObject jsonRaw = rawTab.query("resource_name ='" + start_point_code + "'").uniqueResult(0); + JSONObject jsonRaw = rawTab.query("resource_name ='" + point_code1 + "'").uniqueResult(0); jsonIvt.put("full_point_status", "02"); jsonIvt.put("instorage_time", DateUtil.now()); @@ -117,13 +117,13 @@ public class BookTwoConfirmTask extends AbstractAcsTask { String currentUsername = SecurityUtils.getCurrentUsername(); JSONObject json = new JSONObject(); - json.put("taskdtl_id", IdUtil.getSnowflake(1,1).nextId()); - json.put("task_id",json.getString("taskdtl_id")); + json.put("task_id",IdUtil.getSnowflake(1,1).nextId()); json.put("task_code", CodeUtil.getNewCode("TASK_CODE")); json.put("task_type", "05"); json.put("task_status", "01"); - json.put("start_point_code", form.getString("start_pint_code")); - json.put("next_point_code", form.getString("end_pint_code")); + json.put("point_code1", form.getString("start_pint_code")); + json.put("point_code2", form.getString("end_pint_code")); + json.put("sort_seq", "1"); json.put("handle_class", THIS_CLASS); json.put("create_id", currentUserId); json.put("create_name", currentUsername); @@ -132,7 +132,7 @@ public class BookTwoConfirmTask extends AbstractAcsTask { json.put("acs_task_type","1" ); tab.insert(json); - return json.getString("taskdtl_id"); + return json.getString("task_id"); } @Override diff --git a/nladmin-system/src/main/java/org/nl/wms/sch/tasks/CallEmpReelTask.java b/nladmin-system/src/main/java/org/nl/wms/sch/tasks/CallEmpReelTask.java index 2b329feec..d71663840 100644 --- a/nladmin-system/src/main/java/org/nl/wms/sch/tasks/CallEmpReelTask.java +++ b/nladmin-system/src/main/java/org/nl/wms/sch/tasks/CallEmpReelTask.java @@ -65,15 +65,15 @@ public class CallEmpReelTask extends AbstractAcsTask { jsonTask.put("update_time", DateUtil.now()); taskTab.update(jsonTask); - String start_point_code = jsonTask.getString("start_point_code"); + String point_code1 = jsonTask.getString("point_code1"); PointService point = SpringContextHolder.getBean(PointService.class); // 校验起点是否存在 - JSONObject jsonIvt = ivtTab.query("point_code ='" + start_point_code + "'").uniqueResult(0); - if (ObjectUtil.isEmpty(jsonIvt)) throw new BadRequestException("未找到可用点位:" + start_point_code); + JSONObject jsonIvt = ivtTab.query("point_code ='" + point_code1 + "'").uniqueResult(0); + if (ObjectUtil.isEmpty(jsonIvt)) throw new BadRequestException("未找到可用点位:" + point_code1); // 校验终点是否存在 - PointDto nextDto = point.findByCode(jsonTask.getString("next_point_code")); - if (ObjectUtil.isEmpty(nextDto)) throw new BadRequestException("未找到可用点位:" + jsonTask.getString("next_point_code")); + PointDto nextDto = point.findByCode(jsonTask.getString("point_code2")); + if (ObjectUtil.isEmpty(nextDto)) throw new BadRequestException("未找到可用点位:" + jsonTask.getString("point_code2")); // 更新冷却库存状态 jsonIvt.put("empty_point_status", "01"); @@ -99,14 +99,14 @@ public class CallEmpReelTask extends AbstractAcsTask { String currentUsername = SecurityUtils.getCurrentUsername(); JSONObject json = new JSONObject(); - json.put("taskdtl_id", IdUtil.getSnowflake(1,1).nextId()); - json.put("task_id",json.getString("taskdtl_id")); + json.put("task_id",IdUtil.getSnowflake(1,1).nextId()); json.put("task_code", CodeUtil.getNewCode("TASK_CODE")); json.put("task_type", "05"); json.put("task_status", "01"); - json.put("start_point_code", form.getString("start_pint_code")); - json.put("next_point_code", form.getString("end_pint_code")); + json.put("point_code1", form.getString("start_pint_code")); + json.put("point_code2", form.getString("end_pint_code")); json.put("handle_class", THIS_CLASS); + json.put("sort_seq", "1"); json.put("create_id", currentUserId); json.put("create_name", currentUsername); json.put("create_time", DateUtil.now()); @@ -114,7 +114,7 @@ public class CallEmpReelTask extends AbstractAcsTask { json.put("acs_task_type","1" ); tab.insert(json); - return json.getString("taskdtl_id"); + return json.getString("task_id"); } @Override diff --git a/nladmin-system/src/main/java/org/nl/wms/sch/tasks/InHotTask.java b/nladmin-system/src/main/java/org/nl/wms/sch/tasks/InHotTask.java new file mode 100644 index 000000000..c71089d9a --- /dev/null +++ b/nladmin-system/src/main/java/org/nl/wms/sch/tasks/InHotTask.java @@ -0,0 +1,169 @@ +package org.nl.wms.sch.tasks; + +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.JSONObject; +import lombok.RequiredArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.nl.modules.common.exception.BadRequestException; +import org.nl.modules.common.utils.SecurityUtils; +import org.nl.modules.system.util.CodeUtil; +import org.nl.modules.wql.core.bean.WQLObject; +import org.nl.modules.wql.util.SpringContextHolder; +import org.nl.wms.sch.manage.AbstractAcsTask; +import org.nl.wms.sch.manage.TaskStatusEnum; +import org.nl.wms.sch.service.PointService; +import org.nl.wms.sch.service.dto.PointDto; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +@Service +@RequiredArgsConstructor +@Slf4j +public class InHotTask extends AbstractAcsTask { + private final String THIS_CLASS = InHotTask.class.getName(); + + @Override + @Transactional + public void updateTaskStatus(JSONObject taskObj, String status) { + WQLObject taskTab = WQLObject.getWQLObject("SCH_BASE_Task"); // 任务表 + WQLObject pointTab = WQLObject.getWQLObject("sch_base_point"); // 点位表 + WQLObject coolIvtTab = WQLObject.getWQLObject("ST_IVT_CoolPointIvt"); // 冷却区库存表 + WQLObject hotIvtTab = WQLObject.getWQLObject("ST_IVT_HotPointIvt"); // 烘箱区库存表 + WQLObject hotMstTab = WQLObject.getWQLObject("ST_IVT_HotRegionIOMst"); // 烘箱区出入主表 + WQLObject hotDtlTab = WQLObject.getWQLObject("ST_IVT_HotRegionIODtl"); // 烘箱区出入明细表 + + String task_id = taskObj.getString("task_id"); + JSONObject jsonTask = taskTab.query("task_id = '" + task_id + "'").uniqueResult(0); + + if (StrUtil.equals(status,"0")) { + // 取消删除任务 + taskTab.delete("task_id = '"+task_id+"'"); + } + + if (TaskStatusEnum.EXECUTING.getCode().equals(status)) { + // 更新任务状态为执行中 + jsonTask.put("task_status", TaskStatusEnum.EXECUTING.getCode()); + jsonTask.put("update_time", DateUtil.now()); + taskTab.update(jsonTask); + + // 更新明细表状态 + JSONObject jsonHotDtl = hotDtlTab.query("task_id = '" + task_id + "'").uniqueResult(0); + jsonHotDtl.put("dtl_status", "40"); + hotDtlTab.update(jsonHotDtl); + + // 更新主表状态 + JSONObject jsonHotMst = hotMstTab.query("iostorinv_id = '" + jsonHotDtl.getString("iostorinv_id") + "'").uniqueResult(0); + jsonHotMst.put("bill_status", "40"); + hotMstTab.update(jsonHotMst); + } + + if(StrUtil.equals(status, TaskStatusEnum.FINISHED.getCode())) { + Long currentUserId = SecurityUtils.getCurrentUserId(); + String currentUsername = SecurityUtils.getCurrentUsername(); + + // 更改任务状态为完成 + jsonTask.put("task_status",TaskStatusEnum.FINISHED.getCode()); + jsonTask.put("update_optid", currentUserId); + jsonTask.put("update_optname", currentUsername); + jsonTask.put("update_time", DateUtil.now()); + taskTab.update(jsonTask); + + // 更新明细表 + JSONObject jsonHotDtl = hotDtlTab.query("task_id = '" + task_id + "'").uniqueResult(0); + jsonHotDtl.put("dtl_status", "50"); + jsonHotDtl.put("confirm_optid", currentUserId); + jsonHotDtl.put("confirm_optname", currentUsername); + jsonHotDtl.put("confirm_time", DateUtil.now()); + hotDtlTab.update(jsonHotDtl); + + // 更新主表: 什么时候更新主表 + JSONObject jsonHotMst = hotMstTab.query("iostorinv_id = '" + jsonHotDtl.getString("iostorinv_id") + "'").uniqueResult(0); + + // 更新冷却区库存状态 + JSONObject jsonCoolIvt = coolIvtTab.query("full_point_code = '" + jsonTask.getString("point_code1") + "'").uniqueResult(0); + String container_name = jsonCoolIvt.getString("container_name"); // 母卷号 + String workorder_id = jsonCoolIvt.getString("workorder_id"); // 母卷工单标识 + String ivt_qty = jsonCoolIvt.getString("ivt_qty"); // 库存 + + jsonCoolIvt.put("full_point_status", "01"); + jsonCoolIvt.put("container_name", ""); + jsonCoolIvt.put("workorder_id", ""); + jsonCoolIvt.put("ivt_qty", "0"); + jsonCoolIvt.put("instorage_time", ""); + jsonCoolIvt.put("update_optid", currentUserId); + jsonCoolIvt.put("update_optname", currentUsername); + jsonCoolIvt.put("update_time", DateUtil.now()); + coolIvtTab.update(jsonCoolIvt); + + // 更新烘箱区库存状态 + JSONObject jsonHotIvt = hotIvtTab.query("point_code = '" + jsonTask.getString("point_code3") + "'").uniqueResult(0); + jsonHotIvt.put("point_status", "02"); + jsonHotIvt.put("container_name",container_name ); + jsonHotIvt.put("workorder_id",workorder_id ); + jsonHotIvt.put("ivt_qty",ivt_qty ); + jsonHotIvt.put("instorage_time",DateUtil.now() ); + jsonHotIvt.put("update_optid", currentUserId); + jsonHotIvt.put("update_optname", currentUsername); + jsonHotIvt.put("update_time", DateUtil.now()); + hotIvtTab.update(jsonHotIvt); + } + } + + @Override + public void findStartPoint() { + + } + + @Override + public void findNextPoint() { + + } + + @Override + @Transactional + public String createTask(JSONObject form) { + WQLObject tab = WQLObject.getWQLObject("SCH_BASE_Task"); + Long currentUserId = SecurityUtils.getCurrentUserId(); + String currentUsername = SecurityUtils.getCurrentUsername(); + + JSONObject json = new JSONObject(); + json.put("task_id",IdUtil.getSnowflake(1,1).nextId()); + json.put("task_code", CodeUtil.getNewCode("TASK_CODE")); + json.put("task_type", "010201"); + json.put("task_status", "01"); + json.put("point_code1", form.getString("point_code1")); + json.put("point_code2", form.getString("point_code2")); + json.put("point_code3", form.getString("point_code3")); + json.put("sort_seq", "1"); + json.put("handle_class", THIS_CLASS); + json.put("create_id", currentUserId); + json.put("create_name", currentUsername); + json.put("create_time", DateUtil.now()); + json.put("priority","1" ); + json.put("acs_task_type","1" ); + tab.insert(json); + + return json.getString("task_id"); + } + + @Override + @Transactional + public void forceFinish(String task_id) { + JSONObject taskObj = WQLObject.getWQLObject("SCH_BASE_Task").query("task_id = '" + task_id + "'").uniqueResult(0); + this.updateTaskStatus(taskObj, TaskStatusEnum.FINISHED.getCode()); + } + + @Override + public void pullBack(String task_id) { + + } + + @Override + public void cancel(String task_id) { + + } + +} From 685582f3b877c0b0ca5c6d922a17cf7bd4e3199b Mon Sep 17 00:00:00 2001 From: ldj_willow Date: Wed, 12 Oct 2022 17:07:25 +0800 Subject: [PATCH 2/5] =?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 --- .../java/org/nl/wms/sch/TaskTypeEnum.java | 49 +++++++++++++++++++ .../org/nl/wms/sch/manage/TaskTypeEnum.java | 33 ------------- .../org/nl/wms/sch/rest/TaskController.java | 2 +- .../src/main/resources/logback-spring.xml | 2 +- nladmin-ui/package.json | 2 +- nladmin-ui/src/views/system/timing/log.vue | 2 +- 6 files changed, 53 insertions(+), 37 deletions(-) create mode 100644 nladmin-system/src/main/java/org/nl/wms/sch/TaskTypeEnum.java delete mode 100644 nladmin-system/src/main/java/org/nl/wms/sch/manage/TaskTypeEnum.java diff --git a/nladmin-system/src/main/java/org/nl/wms/sch/TaskTypeEnum.java b/nladmin-system/src/main/java/org/nl/wms/sch/TaskTypeEnum.java new file mode 100644 index 000000000..bdada08d7 --- /dev/null +++ b/nladmin-system/src/main/java/org/nl/wms/sch/TaskTypeEnum.java @@ -0,0 +1,49 @@ +package org.nl.wms.sch; + +/** + * 任务状态枚举 + */ +public enum TaskTypeEnum { + //生箔任务 + SB_QKFM("sb_qkfm", "生箔取空放满","生箔取空放满"), + SB_QK("sb_qk", "生箔取空","生箔取空"), + SB_FM("sb_qk", "生箔放满","生箔放满"), + + //分切上料任务 + FQ_SL_QMFK("fq_sl_qmfk", "分切取满放空","分切放满"), + FQ_SL_FM("fq_sl_fm", "分切放满","分切初始化"), + FQ_SL_QK("fq_sl_qk", "分切取满放空","分切放满"), + + //分切下料任务 + FQ_XL_CZ("FQ_XL_QK", "子卷出站","子卷出站4个点"), + + //烘箱 + //入烘箱:3个点 + //输送任务。 + HX_R_QMFMFM("hx_r_qmfmfm", "入烘箱","入烘箱3个点"), + HX_C_SS("hx_c_ss", "出烘箱输送线","出烘箱输送线"), + HX_C_AGV("hx_c_agv", "出烘箱AGV","出烘箱AGV"); + + + + + + private String code; + private String name; + private String description; + + public String getCode() { + return code; + } + + public String getName() { + return name; + } + + TaskTypeEnum(String code, String name,String description) { + this.code = code; + this.name = name; + this.description = description; + } + +} diff --git a/nladmin-system/src/main/java/org/nl/wms/sch/manage/TaskTypeEnum.java b/nladmin-system/src/main/java/org/nl/wms/sch/manage/TaskTypeEnum.java deleted file mode 100644 index 515626ce6..000000000 --- a/nladmin-system/src/main/java/org/nl/wms/sch/manage/TaskTypeEnum.java +++ /dev/null @@ -1,33 +0,0 @@ -package org.nl.wms.sch.manage; - -/** - * 任务状态枚举 - */ -public enum TaskTypeEnum { - IN_TASK(1, "01", "入库"), - Out_TASK(2, "02", "出库"), - IN_EMPTY_VEHICLE_TASK(3, "03", "入空载具"), - OUT_EMPTY_VEHICLE_TASK(4, "04", "出空载具"), - DUMPINV_TASK(5, "05", "转储"), - QUALITY_TASK(6, "06", "质检"), - MATERIAL_BACK_TASK(7, "07", "余料回库"); - - private int index; - private String code; - private String name; - - public String getCode() { - return code; - } - - public String getName() { - return name; - } - - TaskTypeEnum(int index, String code, String name) { - this.index = index; - this.code = code; - this.name = name; - } - -} diff --git a/nladmin-system/src/main/java/org/nl/wms/sch/rest/TaskController.java b/nladmin-system/src/main/java/org/nl/wms/sch/rest/TaskController.java index 2a0f4eeef..82956bf44 100644 --- a/nladmin-system/src/main/java/org/nl/wms/sch/rest/TaskController.java +++ b/nladmin-system/src/main/java/org/nl/wms/sch/rest/TaskController.java @@ -13,7 +13,7 @@ import org.nl.wms.sch.manage.FinishTypeEnum; import org.nl.wms.sch.manage.TaskStatusEnum; import org.nl.wms.sch.service.TaskService; import org.nl.wms.sch.service.dto.TaskDto; -import org.nl.wms.sch.manage.TaskTypeEnum; +import org.nl.wms.sch.TaskTypeEnum; import org.springframework.data.domain.Pageable; import org.springframework.http.HttpStatus; import org.springframework.http.ResponseEntity; diff --git a/nladmin-system/src/main/resources/logback-spring.xml b/nladmin-system/src/main/resources/logback-spring.xml index 2ec458bb6..f8547a761 100644 --- a/nladmin-system/src/main/resources/logback-spring.xml +++ b/nladmin-system/src/main/resources/logback-spring.xml @@ -66,7 +66,7 @@ https://juejin.cn/post/6844903775631572999 ${log.pattern} diff --git a/nladmin-ui/package.json b/nladmin-ui/package.json index f62d896c8..81ea67be7 100644 --- a/nladmin-ui/package.json +++ b/nladmin-ui/package.json @@ -45,7 +45,7 @@ "echarts": "^4.2.1", "echarts-gl": "^1.1.1", "echarts-wordcloud": "^1.1.3", - "element-ui": "^2.13.2", + "element-ui": "^2.15.8", "file-saver": "1.3.8", "font-awesome": "^4.7.0", "fuse.js": "3.4.4", diff --git a/nladmin-ui/src/views/system/timing/log.vue b/nladmin-ui/src/views/system/timing/log.vue index b23242670..b5e1f0af5 100644 --- a/nladmin-ui/src/views/system/timing/log.vue +++ b/nladmin-ui/src/views/system/timing/log.vue @@ -27,7 +27,7 @@ {{ scope.row.isSuccess ? '成功' : '失败' }} - + From 811d5702603468b57bbe1df7c20a5d8869576388 Mon Sep 17 00:00:00 2001 From: ldj_willow Date: Wed, 12 Oct 2022 17:26:28 +0800 Subject: [PATCH 3/5] =?UTF-8?q?=E8=A1=A8=E7=BB=93=E6=9E=84=E6=9B=B4?= =?UTF-8?q?=E6=96=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/org/nl/modules/system/wql/sys.xls | Bin 220672 -> 223744 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/nladmin-system/src/main/java/org/nl/modules/system/wql/sys.xls b/nladmin-system/src/main/java/org/nl/modules/system/wql/sys.xls index 8ffedae58cfa4283a0e355c8198f672a47756ab0..a73514e742fd336ef67fc966b2897443e62d08c3 100644 GIT binary patch delta 17755 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 From f5a18cd6397322905ff32ecd8bca42ad2586c022 Mon Sep 17 00:00:00 2001 From: lyd <1419499670@qq.com> Date: Wed, 12 Oct 2022 19:24:34 +0800 Subject: [PATCH 4/5] =?UTF-8?q?=E5=9F=BA=E7=A1=80=E5=88=86=E7=B1=BB?= =?UTF-8?q?=E3=80=81=E5=88=86=E5=88=87=E8=BE=93=E9=80=81=E7=BA=BF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../master/rest/ClassstandardController.java | 8 + .../master/service/ClassstandardService.java | 5 + .../master/service/dto/ClassstandardDto.java | 2 - .../impl/ClassstandardServiceImpl.java | 36 ++-- .../org/nl/wms/basedata/master/wql/mdpb.xls | Bin 160768 -> 160256 bytes .../ivt/service/dto/DeliveryPointIvtDto.java | 9 + .../impl/DeliveryPointIvtServiceImpl.java | 13 +- .../wms/pdm/wql/ST_IVT_DELIVERYPOINTIVT.wql | 66 +++++++ nladmin-ui/src/components/Crud/crud.js | 12 ++ .../basedata/master/class/classstandard.js | 9 +- .../views/wms/basedata/master/class/index.vue | 168 ++++++++++++----- .../wms/basedata/master/customer/index.vue | 13 -- .../wms/pdm/ivt/coolpointivt/inventory.vue | 6 +- .../wms/pdm/ivt/deliverypointivt/index.vue | 176 ++++++++++++++++-- 14 files changed, 426 insertions(+), 97 deletions(-) create mode 100644 nladmin-system/src/main/java/org/nl/wms/pdm/wql/ST_IVT_DELIVERYPOINTIVT.wql diff --git a/nladmin-system/src/main/java/org/nl/wms/basedata/master/rest/ClassstandardController.java b/nladmin-system/src/main/java/org/nl/wms/basedata/master/rest/ClassstandardController.java index 7ab7de4b6..4d71a0c35 100644 --- a/nladmin-system/src/main/java/org/nl/wms/basedata/master/rest/ClassstandardController.java +++ b/nladmin-system/src/main/java/org/nl/wms/basedata/master/rest/ClassstandardController.java @@ -121,4 +121,12 @@ public class ClassstandardController { return new ResponseEntity<>(ClassstandardService.getType(type_id,level), HttpStatus.OK); } + @GetMapping("/getClassName") + @Log("获取分类名称下拉框") + @ApiOperation("获取分类名称下拉框") + public ResponseEntity getClassName() { + return new ResponseEntity<>(ClassstandardService.getClassName(), HttpStatus.OK); + } + + } diff --git a/nladmin-system/src/main/java/org/nl/wms/basedata/master/service/ClassstandardService.java b/nladmin-system/src/main/java/org/nl/wms/basedata/master/service/ClassstandardService.java index 6960a8550..2772ff7bd 100644 --- a/nladmin-system/src/main/java/org/nl/wms/basedata/master/service/ClassstandardService.java +++ b/nladmin-system/src/main/java/org/nl/wms/basedata/master/service/ClassstandardService.java @@ -124,4 +124,9 @@ public interface ClassstandardService { */ String getAllChildIdStr(String class_idStr); + /** + * 获取分类名称下拉框 + * @return + */ + JSONArray getClassName(); } diff --git a/nladmin-system/src/main/java/org/nl/wms/basedata/master/service/dto/ClassstandardDto.java b/nladmin-system/src/main/java/org/nl/wms/basedata/master/service/dto/ClassstandardDto.java index 50141143b..2ddb62900 100644 --- a/nladmin-system/src/main/java/org/nl/wms/basedata/master/service/dto/ClassstandardDto.java +++ b/nladmin-system/src/main/java/org/nl/wms/basedata/master/service/dto/ClassstandardDto.java @@ -19,8 +19,6 @@ public class ClassstandardDto implements Serializable { @JsonSerialize(using= ToStringSerializer.class) private Long class_id; - private String base_data_type; - private String path_code; private String class_code; diff --git a/nladmin-system/src/main/java/org/nl/wms/basedata/master/service/impl/ClassstandardServiceImpl.java b/nladmin-system/src/main/java/org/nl/wms/basedata/master/service/impl/ClassstandardServiceImpl.java index 6578e4e90..64856070a 100644 --- a/nladmin-system/src/main/java/org/nl/wms/basedata/master/service/impl/ClassstandardServiceImpl.java +++ b/nladmin-system/src/main/java/org/nl/wms/basedata/master/service/impl/ClassstandardServiceImpl.java @@ -44,10 +44,10 @@ public class ClassstandardServiceImpl implements ClassstandardService { @Override public Map queryAll(Map whereJson, Pageable page) { WQLObject wo = WQLObject.getWQLObject("MD_PB_ClassStandard"); - String base_data_type = (String) whereJson.get("base_data_type"); + String class_code = (String) whereJson.get("class_code"); String where = ""; - if (!StrUtil.isEmpty(base_data_type)) { - where = "AND base_data_type = '" + base_data_type + "'"; + if (!StrUtil.isEmpty(class_code)) { + where = "AND class_code = '" + class_code + "'"; } ResultBean rb = wo.pagequery(WqlUtil.getHttpContext(page), "(parent_class_id is null OR parent_class_id = '0') AND is_delete = '0'" + where + "", "update_time desc"); final JSONObject json = rb.pageResult(); @@ -100,7 +100,7 @@ public class ClassstandardServiceImpl implements ClassstandardService { public void create(ClassstandardDto dto) { String class_code = dto.getClass_code(); ClassstandardDto classstandardDto = this.findByCode(class_code); - if (classstandardDto != null && classstandardDto.getIs_delete().equals("0") && dto.getBase_data_type().equals(classstandardDto.getBase_data_type())) { + if (classstandardDto != null && classstandardDto.getIs_delete().equals("0") ) { throw new BadRequestException("存在相同的基础类别编号"); } Long currentUserId = SecurityUtils.getCurrentUserId(); @@ -120,10 +120,6 @@ public class ClassstandardServiceImpl implements ClassstandardService { dto.setPath_code(dto.getClass_code()); dto.setLong_class_code(dto.getClass_code()); - if (StrUtil.equals(dto.getBase_data_type(), "03")) { - dto.setIs_modify("0"); - } - WQLObject wo = WQLObject.getWQLObject("MD_PB_ClassStandard"); JSONObject json = JSONObject.parseObject(JSON.toJSONString(dto)); wo.insert(json); @@ -144,7 +140,7 @@ public class ClassstandardServiceImpl implements ClassstandardService { String class_code = dto.getClass_code(); ClassstandardDto classstandardDto = this.findByCode(class_code); - if (classstandardDto != null && !dto.getClass_id().equals(classstandardDto.getClass_id()) && classstandardDto.getIs_delete().equals("0") && dto.getBase_data_type().equals(classstandardDto.getBase_data_type())) { + if (classstandardDto != null && !dto.getClass_id().equals(classstandardDto.getClass_id()) && classstandardDto.getIs_delete().equals("0") ) { throw new BadRequestException("存在相同的供应商编号"); } @@ -240,15 +236,10 @@ public class ClassstandardServiceImpl implements ClassstandardService { @Override public JSONArray getSuperior(JSONObject jo, JSONArray ja) { - String base_data_type=jo.getString("base_data_type"); WQLObject wo = WQLObject.getWQLObject("MD_PB_ClassStandard"); if (StrUtil.isEmpty(jo.getString("parent_class_id")) || jo.getString("parent_class_id").equals("0")) { JSONArray null_pids = new JSONArray(); - if (jo.getString("base_data_type").equals(base_data_type)) { - null_pids = wo.query("(parent_class_id = '0' OR parent_class_id is null) and is_delete = '0' and base_data_type = '"+base_data_type+"'").getResultJSONArray(0); - } else { - null_pids = wo.query("(parent_class_id = '0' OR parent_class_id is null) and is_delete = '0'").getResultJSONArray(0); - } + null_pids = wo.query("(parent_class_id = '0' OR parent_class_id is null) and is_delete = '0'").getResultJSONArray(0); for (int m = 0; m < null_pids.size(); m++) { JSONObject null_pid = null_pids.getJSONObject(m); @@ -536,6 +527,21 @@ public class ClassstandardServiceImpl implements ClassstandardService { return str; } + @Override + public JSONArray getClassName() { + WQLObject wo = WQLObject.getWQLObject("MD_PB_ClassStandard"); + // 获取的是父节点 + JSONArray result = wo.query("(parent_class_id is null OR parent_class_id = '0') AND is_delete = '0'").getResultJSONArray(0); + JSONArray res = new JSONArray(); + for (int i=0; i~Y}mjW6qKSUh*4}HS+JnS?u6W!7-Q_Q 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 P)Y+zaWyxT!#P queryAll(Map whereJson, Pageable page){ - WQLObject wo = WQLObject.getWQLObject("st_ivt_deliverypointivt"); - ResultBean rb = wo.pagequery(WqlUtil.getHttpContext(page), "1=1", "update_time desc"); - final JSONObject json = rb.pageResult(); + JSONObject map = new JSONObject(); + map.put("flag", "1"); + if (!ObjectUtil.isNull(whereJson.get("point_code"))) + map.put("point_code", "%" + whereJson.get("point_code") + "%"); + map.put("product_area", whereJson.get("product_area")); + map.put("point_status", whereJson.get("point_status")); + map.put("is_used", whereJson.get("is_used")); + JSONObject json = WQL.getWO("ST_IVT_DELIVERYPOINTIVT").addParamMap(map).pageQuery(WqlUtil.getHttpContext(page), "update_time desc"); return json; } diff --git a/nladmin-system/src/main/java/org/nl/wms/pdm/wql/ST_IVT_DELIVERYPOINTIVT.wql b/nladmin-system/src/main/java/org/nl/wms/pdm/wql/ST_IVT_DELIVERYPOINTIVT.wql new file mode 100644 index 000000000..727f0056e --- /dev/null +++ b/nladmin-system/src/main/java/org/nl/wms/pdm/wql/ST_IVT_DELIVERYPOINTIVT.wql @@ -0,0 +1,66 @@ +[交易说明] + 交易名: 分切输送线点位库存 + 所属模块: + 功能简述: + 版权所有: + 表引用: + 版本经历: + +[数据库] + --指定数据库,为空采用默认值,默认为db.properties中列出的第一个库 + +[IO定义] + ################################################# + ## 表字段对应输入参数 + ################################################# + 输入.flag TYPEAS s_string + 输入.point_code TYPEAS s_string + 输入.point_status TYPEAS s_string + 输入.product_area TYPEAS s_string + 输入.is_used TYPEAS s_string + + +[临时表] + --这边列出来的临时表就会在运行期动态创建 + +[临时变量] + --所有中间过程变量均可在此处定义 + +[业务过程] + + ########################################## + # 1、输入输出检查 # + ########################################## + + + ########################################## + # 2、主过程前处理 # + ########################################## + + + ########################################## + # 3、业务主过程 # + ########################################## + IF 输入.flag = "1" + PAGEQUERY + SELECT + deliver.* + FROM + st_ivt_deliverypointivt deliver + WHERE + 1=1 + OPTION 输入.point_code <> "" + point_code LIKE 输入.point_code + ENDOPTION + OPTION 输入.point_status <> "" + point_status = 输入.point_status + ENDOPTION + OPTION 输入.product_area <> "" + product_area = 输入.product_area + ENDOPTION + OPTION 输入.is_used <> "" + is_used = 输入.is_used + ENDOPTION + ENDSELECT + ENDPAGEQUERY + ENDIF \ No newline at end of file diff --git a/nladmin-ui/src/components/Crud/crud.js b/nladmin-ui/src/components/Crud/crud.js index 8479cf5fe..74d4f802f 100644 --- a/nladmin-ui/src/components/Crud/crud.js +++ b/nladmin-ui/src/components/Crud/crud.js @@ -210,6 +210,18 @@ function CRUD(options) { callVmHook(crud, CRUD.HOOK.afterToAdd, crud.form) callVmHook(crud, CRUD.HOOK.afterToCU, crud.form) }, + /** + * 启动添加 可携带参数 + */ + toAddAndData(data) { + crud.resetForm(JSON.parse(JSON.stringify(data))) + if (!(callVmHook(crud, CRUD.HOOK.beforeToAdd, crud.form) && callVmHook(crud, CRUD.HOOK.beforeToCU, crud.form))) { + return + } + crud.status.add = CRUD.STATUS.PREPARED + callVmHook(crud, CRUD.HOOK.afterToAdd, crud.form) + callVmHook(crud, CRUD.HOOK.afterToCU, crud.form) + }, /** * 启动编辑 * @param {*} data 数据项 diff --git a/nladmin-ui/src/views/wms/basedata/master/class/classstandard.js b/nladmin-ui/src/views/wms/basedata/master/class/classstandard.js index a24583e9a..0c216de38 100644 --- a/nladmin-ui/src/views/wms/basedata/master/class/classstandard.js +++ b/nladmin-ui/src/views/wms/basedata/master/class/classstandard.js @@ -72,4 +72,11 @@ export function getClassTable(params) { }) } -export default { add, edit, del, getClass, getClassSuperior, getClassType, getClassTable, getType, queryClassById } +export function getClassName() { + return request({ + url: 'api/Classstandard/getClassName', + method: 'get' + }) +} + +export default { add, edit, del, getClass, getClassSuperior, getClassType, getClassTable, getType, queryClassById, getClassName } diff --git a/nladmin-ui/src/views/wms/basedata/master/class/index.vue b/nladmin-ui/src/views/wms/basedata/master/class/index.vue index fe10a17e2..9fbfab2fa 100644 --- a/nladmin-ui/src/views/wms/basedata/master/class/index.vue +++ b/nladmin-ui/src/views/wms/basedata/master/class/index.vue @@ -2,33 +2,49 @@
- - - - - 基础分类: - - - - - - - - - - - - +
+ + + + + + + + + + +
- + + + 全部展开 + + - - - - - - @@ -105,17 +106,20 @@ @@ -135,7 +139,7 @@ import udOperation from '@crud/UD.operation' import rrOperation from '@crud/RR.operation' import pagination from '@crud/Pagination' -const defaultForm = { +let defaultForm = { class_id: null, base_data_type: null, path_code: null, @@ -180,14 +184,12 @@ export default { data() { return { classes: [], + classNames: [], permission: {}, rules: { class_id: [ { required: true, message: '不能为空', trigger: 'blur' } ], - base_data_type: [ - { required: true, message: '不能为空', trigger: 'blur' } - ], path_code: [ { required: true, message: '不能为空', trigger: 'blur' } ], @@ -218,7 +220,15 @@ export default { } } }, + created() { + this.getClassNames() // 获取分类 + }, methods: { + getClassNames() { + crudClassstandard.getClassName().then((res) => { // 获取分类名称,查询根据分类编码查找对应分支树 + this.classNames = res + }) + }, getClassDatas(tree, treeNode, resolve) { const params = { pid: tree.id } setTimeout(() => { @@ -318,6 +328,72 @@ export default { }, 100) }) } + }, + clearFrom() { + defaultForm = { + id: null, + class_id: null, + base_data_type: null, + path_code: null, + class_code: null, + long_class_code: null, + class_name: null, + class_desc: null, + parent_class_id: null, + is_leaf: null, + sub_count: null, + is_modify: null, + is_delete: null, + class_level: null, + ext_id: null, + ext_parent_id: null, + create_id: null, + create_name: null, + create_time: null, + update_optid: null, + update_optname: null, + update_time: null, + isTop: null + } + }, + addSibling(row) { + this.clearFrom() // 将默认的表单数据清除 + defaultForm.id = row.id // 获取分类树的id - 懒加载依赖此id,不可为空 + defaultForm.class_id = row.class_id + defaultForm.parent_class_id = row.parent_class_id // 同级为父类class_id + defaultForm.isTop = row.isTop + return defaultForm + }, + addChildren(row) { + this.clearFrom() + defaultForm.id = row.id // 获取分类树的id + defaultForm.class_id = row.parent_class_id + defaultForm.parent_class_id = row.id // 子级为本身的class_id + defaultForm.isTop = row.isTop + return defaultForm + }, + // 全部展开 参考:https://www.cnblogs.com/toughy/p/12667805.html + ToExpandall() { + const els = document.getElementsByClassName('el-table__expand-icon') + if (this.crud.data.length !== 0 && els.length !== 0) { + for (let j1 = 0; j1 < els.length; j1++) { + els[j1].classList.add('dafult') + } + if (this.$el.getElementsByClassName('el-table__expand-icon--expanded')) { + const open = this.$el.getElementsByClassName('el-table__expand-icon--expanded') + for (let j = 0; j < open.length; j++) { + open[j].classList.remove('dafult') + } + const dafult = this.$el.getElementsByClassName('dafult') + for (let a = 0; a < dafult.length; a++) { + debugger + dafult[a].click() + } + } + } + }, + hand(value) { + this.crud.toQuery() } } } diff --git a/nladmin-ui/src/views/wms/basedata/master/customer/index.vue b/nladmin-ui/src/views/wms/basedata/master/customer/index.vue index 9facbe86b..3b0791e97 100644 --- a/nladmin-ui/src/views/wms/basedata/master/customer/index.vue +++ b/nladmin-ui/src/views/wms/basedata/master/customer/index.vue @@ -92,19 +92,6 @@ - - - - - - - diff --git a/nladmin-ui/src/views/wms/pdm/ivt/coolpointivt/inventory.vue b/nladmin-ui/src/views/wms/pdm/ivt/coolpointivt/inventory.vue index a0b6c2645..669cfa6c2 100644 --- a/nladmin-ui/src/views/wms/pdm/ivt/coolpointivt/inventory.vue +++ b/nladmin-ui/src/views/wms/pdm/ivt/coolpointivt/inventory.vue @@ -228,7 +228,11 @@ - + + +