From efec0bd39064f6b76e98ee4df03701041d4428de Mon Sep 17 00:00:00 2001 From: liyongde <1419499670@qq.com> Date: Wed, 28 Dec 2022 18:05:16 +0800 Subject: [PATCH] =?UTF-8?q?=E6=89=8B=E6=8C=81=E5=B7=A5=E5=8D=95=E7=AE=A1?= =?UTF-8?q?=E7=90=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../rest/WorkOrderManagementController.java | 55 +++++++++++++++ .../service/WorkOrderManagementService.java | 24 +++++++ .../impl/WorkOrderManagementServiceImpl.java | 45 +++++++++++++ .../wms/pda/workorder/wql/WorkOrderInfo.wql | 67 +++++++++++++++++++ .../service/impl/WorkorderServiceImpl.java | 1 + 5 files changed, 192 insertions(+) create mode 100644 lms/nladmin-system/src/main/java/org/nl/wms/pda/workorder/rest/WorkOrderManagementController.java create mode 100644 lms/nladmin-system/src/main/java/org/nl/wms/pda/workorder/service/WorkOrderManagementService.java create mode 100644 lms/nladmin-system/src/main/java/org/nl/wms/pda/workorder/service/impl/WorkOrderManagementServiceImpl.java create mode 100644 lms/nladmin-system/src/main/java/org/nl/wms/pda/workorder/wql/WorkOrderInfo.wql diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/pda/workorder/rest/WorkOrderManagementController.java b/lms/nladmin-system/src/main/java/org/nl/wms/pda/workorder/rest/WorkOrderManagementController.java new file mode 100644 index 0000000..aec730e --- /dev/null +++ b/lms/nladmin-system/src/main/java/org/nl/wms/pda/workorder/rest/WorkOrderManagementController.java @@ -0,0 +1,55 @@ +package org.nl.wms.pda.workorder.rest; + +import cn.dev33.satoken.annotation.SaIgnore; +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.logging.annotation.Log; +import org.nl.wms.pda.workorder.service.WorkOrderManagementService; +import org.nl.wms.pdm.service.WorkordeService; +import org.springframework.http.HttpStatus; +import org.springframework.http.ResponseEntity; +import org.springframework.web.bind.annotation.*; + +/** + * @Author: lyd + * @Description: 手持工单管理 + * @Date: 2022/12/28 + */ +@RestController +@RequiredArgsConstructor +@Api(tags = "手持送空托盘") +@RequestMapping("api/pda/workorder") +@Slf4j +public class WorkOrderManagementController { + + private final WorkOrderManagementService workOrderManagementService; + private final WorkordeService workordeService; + + @PostMapping("/queryDevice") + @Log("查询设备") + @ApiOperation("查询设备") + @SaIgnore + public ResponseEntity queryPoint() { + return new ResponseEntity<>(workOrderManagementService.queryDevice(), HttpStatus.OK); + } + + @PostMapping("/queryWorkerOrder") + @Log("查询工单") + @ApiOperation("查询工单") + @SaIgnore + public ResponseEntity queryWorkerOrder(@RequestBody JSONObject param) { + return new ResponseEntity<>(workOrderManagementService.queryWorkerOrder(param), HttpStatus.OK); + } + + @PutMapping("/executes") + @Log("手持确认工单执行") + @ApiOperation("手持确认工单执行") + @SaIgnore + public ResponseEntity executes(@RequestBody JSONObject param){ + workordeService.executes(param); + return new ResponseEntity<>(HttpStatus.NO_CONTENT); + } +} diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/pda/workorder/service/WorkOrderManagementService.java b/lms/nladmin-system/src/main/java/org/nl/wms/pda/workorder/service/WorkOrderManagementService.java new file mode 100644 index 0000000..761a49e --- /dev/null +++ b/lms/nladmin-system/src/main/java/org/nl/wms/pda/workorder/service/WorkOrderManagementService.java @@ -0,0 +1,24 @@ +package org.nl.wms.pda.workorder.service; + +import com.alibaba.fastjson.JSONArray; +import com.alibaba.fastjson.JSONObject; + +/** + * @Author: lyd + * @Description: + * @Date: 2022/12/28 + */ +public interface WorkOrderManagementService { + /** + * 获取设备下拉框 + * @return + */ + JSONArray queryDevice(); + + /** + * 查询工单 + * @param param + * @return + */ + JSONArray queryWorkerOrder(JSONObject param); +} diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/pda/workorder/service/impl/WorkOrderManagementServiceImpl.java b/lms/nladmin-system/src/main/java/org/nl/wms/pda/workorder/service/impl/WorkOrderManagementServiceImpl.java new file mode 100644 index 0000000..7bc953c --- /dev/null +++ b/lms/nladmin-system/src/main/java/org/nl/wms/pda/workorder/service/impl/WorkOrderManagementServiceImpl.java @@ -0,0 +1,45 @@ +package org.nl.wms.pda.workorder.service.impl; + +import cn.hutool.core.util.ObjectUtil; +import com.alibaba.fastjson.JSONArray; +import com.alibaba.fastjson.JSONObject; +import lombok.RequiredArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.apache.commons.collections4.map.HashedMap; +import org.nl.modules.common.exception.BadRequestException; +import org.nl.modules.wql.WQL; +import org.nl.modules.wql.core.bean.WQLObject; +import org.nl.wms.pda.workorder.service.WorkOrderManagementService; +import org.springframework.stereotype.Service; + +import java.util.HashMap; +import java.util.Map; + +/** + * @Author: lyd + * @Description: + * @Date: 2022/12/28 + */ +@Service +@RequiredArgsConstructor +@Slf4j +public class WorkOrderManagementServiceImpl implements WorkOrderManagementService { + @Override + public JSONArray queryDevice() { + WQLObject deviceTab = WQLObject.getWQLObject("pdm_bi_device"); + JSONArray jsonArray = deviceTab.query("is_used = '1' and is_delete = '0'", "device_code").getResultJSONArray(0); + return jsonArray; + } + + @Override + public JSONArray queryWorkerOrder(JSONObject param) { + String deviceCode = param.getString("device_code"); + if (ObjectUtil.isEmpty(deviceCode)) throw new BadRequestException("设备编码不能为空"); + // 查找改设备编码,状态为未开始的 1 :未生产 + Map map = new HashMap(); + map.put("flag", "1"); + map.put("device_code", deviceCode); + JSONArray workOrderInfo = WQL.getWO("WorkOrderInfo").addParamMap(map).process().getResultJSONArray(0); + return workOrderInfo; + } +} diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/pda/workorder/wql/WorkOrderInfo.wql b/lms/nladmin-system/src/main/java/org/nl/wms/pda/workorder/wql/WorkOrderInfo.wql new file mode 100644 index 0000000..dcb9e2d --- /dev/null +++ b/lms/nladmin-system/src/main/java/org/nl/wms/pda/workorder/wql/WorkOrderInfo.wql @@ -0,0 +1,67 @@ +[交易说明] + 交易名: 手持工单查询 + 所属模块: + 功能简述: + 版权所有: + 表引用: + 版本经历: + +[数据库] + --指定数据库,为空采用默认值,默认为db.properties中列出的第一个库 + +[IO定义] + ################################################# + ## 表字段对应输入参数 + ################################################# + 输入.flag TYPEAS s_string + 输入.device_code TYPEAS s_string + +[临时表] + --这边列出来的临时表就会在运行期动态创建 + +[临时变量] + --所有中间过程变量均可在此处定义 + +[业务过程] + + ########################################## + # 1、输入输出检查 # + ########################################## + + + ########################################## + # 2、主过程前处理 # + ########################################## + + + ########################################## + # 3、业务主过程 # + ########################################## + + IF 输入.flag = "1" + QUERY + SELECT + work.workorder_id, + work.workorder_code, + work.produce_date, + work.plan_qty, + work.device_code, + work.vehicle_type, + material.material_name, + dictdtl1.label as `procedure`, + dictdtl2.label as status, + dictdtl3.label as `type` + FROM + pdm_bd_workorder work + LEFT JOIN md_me_materialbase material ON material.material_id = work.material_id + LEFT JOIN sys_dict_detail dictdtl1 ON dictdtl1.value = work.workorder_procedure AND dictdtl1.name = 'workorder_procedure' + LEFT JOIN sys_dict_detail dictdtl2 ON dictdtl2.value = work.order_status AND dictdtl2.name = 'pdm_workorder_status' + LEFT JOIN sys_dict_detail dictdtl3 ON dictdtl3.value = work.vehicle_type AND dictdtl3.name = 'vehicle_type' + WHERE + work.order_status = '1' + OPTION 输入.device_code <> "" + work.device_code = 输入.device_code + ENDOPTION + ENDSELECT + ENDQUERY + ENDIF diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/pdm/service/impl/WorkorderServiceImpl.java b/lms/nladmin-system/src/main/java/org/nl/wms/pdm/service/impl/WorkorderServiceImpl.java index 95edb70..f669ec0 100644 --- a/lms/nladmin-system/src/main/java/org/nl/wms/pdm/service/impl/WorkorderServiceImpl.java +++ b/lms/nladmin-system/src/main/java/org/nl/wms/pdm/service/impl/WorkorderServiceImpl.java @@ -448,6 +448,7 @@ public class WorkorderServiceImpl implements WorkordeService { WQLObject wo = WQLObject.getWQLObject("PDM_BD_WorkOrder"); JSONObject json = wo.query("workorder_id = '" + param.getString("workorder_id") + "'").uniqueResult(0); if (ObjectUtil.isEmpty(json.getString("device_id"))) throw new BadRequestException("请先绑定设备"); + if (json.getString("order_status").equals("3")) throw new BadRequestException("此工单已经在执行了"); JSONArray orderArr = wo.query("device_id = '" + json.getString("device_id") + "' and order_status = '3'").getResultJSONArray(0); if (ObjectUtil.isNotEmpty(orderArr)) throw new BadRequestException("当前设备正在生产中");