From be87c64a8d25072a6b9f5f67d5e941c843c863db Mon Sep 17 00:00:00 2001 From: liyongde <1419499670@qq.com> Date: Thu, 16 Mar 2023 09:50:39 +0800 Subject: [PATCH] =?UTF-8?q?=E8=AE=BE=E5=A4=87=E7=AE=A1=E7=90=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../org/nl/wms/pdm/rest/DeviceController.java | 55 +--- .../org/nl/wms/pdm/service/DeviceService.java | 79 +++--- .../org/nl/wms/pdm/service/dto/DeviceDto.java | 116 +++++---- .../pdm/service/impl/DeviceServiceImpl.java | 234 ++++-------------- .../java/org/nl/wms/pdm/wql/QUERY_DEVICE.wql | 60 +++++ .../src/main/java/org/nl/wms/pdm/wql/pdm.xls | Bin 212992 -> 237056 bytes .../src/main/java/org/nl/wms/sch/wql/sch.xls | Bin 175616 -> 211968 bytes mes/qd/src/api/wms/pdm/device.js | 10 +- mes/qd/src/views/wms/pdm/device/index.vue | 146 ++++++----- 9 files changed, 293 insertions(+), 407 deletions(-) create mode 100644 mes/hd/nladmin-system/src/main/java/org/nl/wms/pdm/wql/QUERY_DEVICE.wql diff --git a/mes/hd/nladmin-system/src/main/java/org/nl/wms/pdm/rest/DeviceController.java b/mes/hd/nladmin-system/src/main/java/org/nl/wms/pdm/rest/DeviceController.java index 9f15b43f..a1caccf4 100644 --- a/mes/hd/nladmin-system/src/main/java/org/nl/wms/pdm/rest/DeviceController.java +++ b/mes/hd/nladmin-system/src/main/java/org/nl/wms/pdm/rest/DeviceController.java @@ -2,12 +2,11 @@ package org.nl.wms.pdm.rest; -import com.alibaba.fastjson.JSONObject; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; - import lombok.RequiredArgsConstructor; -import org.nl.common.anno.Log; +import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; +import org.nl.common.anno.Log; import org.nl.wms.pdm.service.DeviceService; import org.nl.wms.pdm.service.dto.DeviceDto; import org.springframework.data.domain.Pageable; @@ -19,9 +18,9 @@ import org.springframework.web.bind.annotation.*; import java.util.Map; /** -* @author geng by -* @date 2022-05-25 -**/ + * @author lyd + * @date 2023-03-15 + **/ @RestController @RequiredArgsConstructor @Api(tags = "生产设备管理") @@ -61,7 +60,7 @@ public class DeviceController { @ApiOperation("删除生产设备") //@PreAuthorize("@el.check('device:del')") @DeleteMapping - public ResponseEntity delete(@RequestBody Long[] ids) { + public ResponseEntity delete(@RequestBody String[] ids) { deviceService.deleteAll(ids); return new ResponseEntity<>(HttpStatus.OK); } @@ -74,46 +73,4 @@ public class DeviceController { return new ResponseEntity<>(deviceService.getWorkprocedure(),HttpStatus.OK); } - @PostMapping("/getItemByDevice") - @Log("获取设备下的项点") - @ApiOperation("获取设备下的项点") - //@PreAuthorize("@el.check('device:list')") - public ResponseEntity getItemByDevice(@RequestBody JSONObject param){ - return new ResponseEntity<>(deviceService.getItemByDevice(param),HttpStatus.OK); - } - - @PostMapping("/savaDeviceItem") - @Log("保存设备项点") - @ApiOperation("保存设备项点") - //@PreAuthorize("@el.check('device:list')") - public ResponseEntity savaDeviceItem(@RequestBody JSONObject param){ - deviceService.savaDeviceItem(param); - return new ResponseEntity<>(HttpStatus.OK); - } - - @PostMapping("/getItemByDeviceId") - @Log("动态获取表格列") - @ApiOperation("动态获取表格列") - //@PreAuthorize("@el.check('dcBaseDevice:list')") - public ResponseEntity getItemByDeviceId(@RequestBody JSONObject param){ - return new ResponseEntity<>(deviceService.getItemByDeviceId(param),HttpStatus.OK); - } - - @PostMapping("/copyAdd") - @Log("复制新增") - @ApiOperation("复制新增") - //@PreAuthorize("@el.check('dcBaseDevice:list')") - public ResponseEntity copyAdd(@RequestBody JSONObject param){ - deviceService.copyAdd(param); - return new ResponseEntity<>(HttpStatus.OK); - } - - @GetMapping("/queryById/{device_id}") - @Log("查询生产设备") - @ApiOperation("查询生产设备") - //@PreAuthorize("@el.check('device:list')") - public ResponseEntity queryById(@PathVariable("device_id") String device_id){ - return new ResponseEntity<>(deviceService.queryById(device_id),HttpStatus.OK); - } - } diff --git a/mes/hd/nladmin-system/src/main/java/org/nl/wms/pdm/service/DeviceService.java b/mes/hd/nladmin-system/src/main/java/org/nl/wms/pdm/service/DeviceService.java index 0526e5be..d7af9ce9 100644 --- a/mes/hd/nladmin-system/src/main/java/org/nl/wms/pdm/service/DeviceService.java +++ b/mes/hd/nladmin-system/src/main/java/org/nl/wms/pdm/service/DeviceService.java @@ -2,82 +2,71 @@ package org.nl.wms.pdm.service; import com.alibaba.fastjson.JSONArray; -import com.alibaba.fastjson.JSONObject; import org.nl.wms.pdm.service.dto.DeviceDto; import org.springframework.data.domain.Pageable; - -import java.util.List; import java.util.Map; +import java.util.List; +import java.io.IOException; +import javax.servlet.http.HttpServletResponse; /** -* @description 服务接口 -* @author geng by -* @date 2022-05-25 -**/ + * @description 服务接口 + * @author lyd + * @date 2023-03-15 + **/ public interface DeviceService { /** - * 查询数据分页 - * @param whereJson 条件 - * @param page 分页参数 - * @return Map - */ + * 查询数据分页 + * @param whereJson 条件 + * @param page 分页参数 + * @return Map + */ Map queryAll(Map whereJson, Pageable page); /** - * 查询所有数据不分页 - * @param whereJson 条件参数 - * @return List - */ + * 查询所有数据不分页 + * @param whereJson 条件参数 + * @return List + */ List queryAll(Map whereJson); /** * 根据ID查询 - * @param device_id ID + * @param device_code ID * @return Device */ - DeviceDto findById(Long device_id); + DeviceDto findById(String device_code); /** - * 根据编码查询 - * @param code code - * @return Device - */ + * 根据编码查询 + * @param code code + * @return Device + */ DeviceDto findByCode(String code); /** - * 创建 - * @param dto / - */ + * 创建 + * @param dto / + */ void create(DeviceDto dto); /** - * 编辑 - * @param dto / - */ + * 编辑 + * @param dto / + */ void update(DeviceDto dto); /** - * 多选删除 - * @param ids / - */ - void deleteAll(Long[] ids); - - JSONArray getWorkprocedure(); - - JSONArray getItemByDevice(JSONObject param); - - void savaDeviceItem(JSONObject param); + * 多选删除 + * @param ids / + */ + void deleteAll(String[] ids); /** - * 查询设备类型 - * @param param + * 获取工序的下拉框 * @return */ - Map getItemByDeviceId(JSONObject param); - - void copyAdd(JSONObject param); - - DeviceDto queryById(String device_id); + JSONArray getWorkprocedure(); } diff --git a/mes/hd/nladmin-system/src/main/java/org/nl/wms/pdm/service/dto/DeviceDto.java b/mes/hd/nladmin-system/src/main/java/org/nl/wms/pdm/service/dto/DeviceDto.java index ff2c98b1..44c9f27c 100644 --- a/mes/hd/nladmin-system/src/main/java/org/nl/wms/pdm/service/dto/DeviceDto.java +++ b/mes/hd/nladmin-system/src/main/java/org/nl/wms/pdm/service/dto/DeviceDto.java @@ -1,73 +1,87 @@ package org.nl.wms.pdm.service.dto; -import com.fasterxml.jackson.databind.annotation.JsonSerialize; -import com.fasterxml.jackson.databind.ser.std.ToStringSerializer; import lombok.Data; -import java.util.Date; - import java.io.Serializable; import java.math.BigDecimal; /** -* @description / -* @author geng by -* @date 2022-05-25 -**/ + * @description / + * @author lyd + * @date 2023-03-15 + **/ @Data public class DeviceDto implements Serializable { - /** 设备标识 */ - /** 防止精度丢失 */ - @JsonSerialize(using= ToStringSerializer.class) - private Long device_id; + /** 设备编码 */ + private String device_code; - /** 设备编码 */ - private String device_code; + /** 设备名称 */ + private String device_name; - /** 设备名称 */ - private String device_name; + /** 生产区域 */ + private String product_area; - /** 设备型号 */ - private String device_model; - - /** 工序标识 */ - private Long workprocedure_id; - - /** 外部编码 */ - private String extend_code; - - /** 设备档案标识 */ - private Long devicebill_id; - - /** 备注 */ - private String remark; - - /** 是否启用 */ - private String is_active; - - /** 创建人 */ - private String create_id; - - /** 创建人姓名 */ - private String create_name; - - /** 创建时间 */ - private String create_time; - - /** 是否删除 */ - private String is_delete; + /** 工序标识 */ + private Long workprocedure_id; + /** 外部编码 */ + private String ext_code; /** 物料标识 */ private Long material_id; - /** 生产班次工单标识 */ - private Long produceorder_id; + /** 工单编号 */ + private String workorder_code; - /** 生产班次工单编号 */ - private String produceorder_code; + /** 设备编码2 */ + private String device_code2; - /** 设备产能 */ - private BigDecimal productivity; + /** 设备来料仓上限数 */ + private BigDecimal inupperlimit_qty; + + /** 设备来料仓下限数 */ + private BigDecimal inlowerlimit_qty; + + /** 设备产品仓上限数 */ + private BigDecimal outupperlimit_qty; + + /** 设备产品仓下限数 */ + private BigDecimal outlowerlimit_qty; + + /** 设备初始来料仓数 */ + private BigDecimal deviceinitinstor_qty; + + /** 设备实时来料仓数 */ + private BigDecimal deviceinstor_qty; + + /** 设备实时产品仓数 */ + private BigDecimal deviceoutstor_qty; + + /** 是否人工 */ + private String is_artificial; + + /** 备注 */ + private String remark; + + /** 创建人 */ + private String create_id; + + /** 创建人 */ + private String create_name; + + /** 创建时间 */ + private String create_time; + + /** 修改人 */ + private String update_id; + + /** 修改人 */ + private String update_name; + + /** 修改时间 */ + private String update_time; + + /** 是否删除 */ + private String is_delete; } diff --git a/mes/hd/nladmin-system/src/main/java/org/nl/wms/pdm/service/impl/DeviceServiceImpl.java b/mes/hd/nladmin-system/src/main/java/org/nl/wms/pdm/service/impl/DeviceServiceImpl.java index 72217f2d..1dc1ec67 100644 --- a/mes/hd/nladmin-system/src/main/java/org/nl/wms/pdm/service/impl/DeviceServiceImpl.java +++ b/mes/hd/nladmin-system/src/main/java/org/nl/wms/pdm/service/impl/DeviceServiceImpl.java @@ -3,36 +3,32 @@ package org.nl.wms.pdm.service.impl; import cn.hutool.core.date.DateUtil; -import cn.hutool.core.map.MapUtil; -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; -import org.nl.common.anno.Log; +import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; +import org.nl.common.utils.SecurityUtils; import org.nl.modules.common.exception.BadRequestException; - import org.nl.common.utils.SecurityUtils; import org.nl.modules.wql.WQL; +import org.nl.modules.wql.core.bean.ResultBean; import org.nl.modules.wql.core.bean.WQLObject; import org.nl.modules.wql.util.WqlUtil; import org.nl.wms.pdm.service.DeviceService; import org.nl.wms.pdm.service.dto.DeviceDto; - import org.springframework.data.domain.Pageable; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; -import java.util.Date; +import java.util.HashMap; import java.util.List; import java.util.Map; /** - * @author geng by * @description 服务实现 - * @date 2022-05-25 + * @author lyd + * @date 2023-03-15 **/ @Service @RequiredArgsConstructor @@ -40,60 +36,17 @@ import java.util.Map; public class DeviceServiceImpl implements DeviceService { @Override - public Map queryAll(Map whereJson, Pageable page) { - String workprocedure_id = MapUtil.getStr(whereJson, "workprocedure_id"); - String search = MapUtil.getStr(whereJson, "search"); - JSONObject map2 = new JSONObject(); - map2.put("flag", "3"); - map2.put("workprocedure_id", workprocedure_id); - if (!StrUtil.isEmpty(search)) { - map2.put("search", "%" + search + "%"); - } - //根据工序获取设备信息 - JSONObject json = WQL.getWO("PDM_BI_DEVICE01").addParamMap(map2).pageQuery(WqlUtil.getHttpContext(page), "device.create_time desc"); - JSONArray jsonArray = json.getJSONArray("content"); - JSONArray newContent = new JSONArray(); - for (int i = 0; i < jsonArray.size(); i++) { - JSONObject jsonObject = jsonArray.getJSONObject(i); - JSONObject map = new JSONObject(); - String device_id = jsonObject.getString("device_id"); - map.put("flag", "4"); - map.put("device_id", device_id); - //获取设备所拥有的项点信息 - JSONArray itemArray = WQL.getWO("PDM_BI_DEVICE01").addParamMap(map).process().getResultJSONArray(0); - JSONObject newMap = new JSONObject(); - newMap.put("device_id", jsonObject.getString("device_id")); - newMap.put("device_code", jsonObject.getString("device_code")); - newMap.put("device_name", jsonObject.getString("device_name")); - newMap.put("device_model", jsonObject.getString("device_model")); - newMap.put("productivity", jsonObject.getString("productivity")); - newMap.put("workprocedure_id", jsonObject.getString("workprocedure_id")); - newMap.put("extend_code", jsonObject.getString("extend_code")); - newMap.put("devicebill_id", jsonObject.getString("devicebill_id")); - newMap.put("remark", jsonObject.getString("remark")); - newMap.put("is_active", jsonObject.getString("is_active")); - newMap.put("is_delete", jsonObject.getString("is_delete")); - //循环每个设备的项点信息,将项点所对应的键设为项点编码,对应动态表格的prop - for (int j = 0; j < itemArray.size(); j++) { - JSONObject itemObject = itemArray.getJSONObject(j); - if (itemObject.getString("data_type").equals("01")){ - if (itemObject.getString("item_value").equals("0")){ - newMap.put(itemObject.getString("item_code"), "否"); - }else { - newMap.put(itemObject.getString("item_code"), "是"); - } - }else { - newMap.put(itemObject.getString("item_code"), itemObject.getString("item_value")); - } - } - newContent.add(newMap); - } - json.put("content", newContent); - return json; + public Map queryAll(Map whereJson, Pageable page){ + Map param = new HashMap(); + param.put("flag", "1"); + param.put("search", whereJson.get("search")); + param.put("workprocedure_id", whereJson.get("workprocedure_id")); + JSONObject jsonObject = WQL.getWO("QUERY_DEVICE").addParamMap(param).pageQuery(WqlUtil.getHttpContext(page), "device_code asc"); + return jsonObject; } @Override - public List queryAll(Map whereJson) { + public List queryAll(Map whereJson){ WQLObject wo = WQLObject.getWQLObject("pdm_bi_device"); JSONArray arr = wo.query().getResultJSONArray(0); if (ObjectUtil.isNotEmpty(arr)) return arr.toJavaList(DeviceDto.class); @@ -101,21 +54,21 @@ public class DeviceServiceImpl implements DeviceService { } @Override - public DeviceDto findById(Long device_id) { + public DeviceDto findById(String device_code) { WQLObject wo = WQLObject.getWQLObject("pdm_bi_device"); - JSONObject json = wo.query("device_id = '" + device_id + "'").uniqueResult(0); - if (ObjectUtil.isNotEmpty(json)) { - return json.toJavaObject(DeviceDto.class); + JSONObject json = wo.query("device_code = '" + device_code + "'").uniqueResult(0); + if (ObjectUtil.isNotEmpty(json)){ + return json.toJavaObject( DeviceDto.class); } return null; } @Override - public DeviceDto findByCode(String code) { + public DeviceDto findByCode(String code) { WQLObject wo = WQLObject.getWQLObject("pdm_bi_device"); - JSONObject json = wo.query("device_code ='" + code + "'").uniqueResult(0); - if (ObjectUtil.isNotEmpty(json)) { - return json.toJavaObject(DeviceDto.class); + JSONObject json = wo.query("code ='" + code + "'").uniqueResult(0); + if (ObjectUtil.isNotEmpty(json)){ + return json.toJavaObject( DeviceDto.class); } return null; } @@ -126,13 +79,11 @@ public class DeviceServiceImpl implements DeviceService { String currentUserId = SecurityUtils.getCurrentUserId(); String nickName = SecurityUtils.getCurrentNickName(); - //编码唯一性校验 - String device_code = dto.getDevice_code(); - DeviceDto byCode = this.findByCode(device_code); - if (ObjectUtil.isNotEmpty(byCode)) throw new BadRequestException("编码已存在!"); - dto.setDevice_id(IdUtil.getSnowflake(1, 1).nextId()); dto.setCreate_id(currentUserId); dto.setCreate_name(nickName); + dto.setUpdate_id(currentUserId); + dto.setUpdate_name(nickName); + dto.setUpdate_time(DateUtil.now()); dto.setCreate_time(DateUtil.now()); WQLObject wo = WQLObject.getWQLObject("pdm_bi_device"); @@ -143,12 +94,19 @@ public class DeviceServiceImpl implements DeviceService { @Override @Transactional(rollbackFor = Exception.class) public void update(DeviceDto dto) { - DeviceDto entity = this.findById(dto.getDevice_id()); + DeviceDto entity = this.findById(dto.getDevice_code()); if (entity == null) throw new BadRequestException("被删除或无权限,操作失败!"); - //编码唯一性校验 + String currentUserId = SecurityUtils.getCurrentUserId(); + String nickName = SecurityUtils.getCurrentNickName(); + + + dto.setUpdate_time(DateUtil.now()); + dto.setUpdate_id(currentUserId); + dto.setUpdate_name(nickName); + WQLObject wo = WQLObject.getWQLObject("pdm_bi_device"); - String where = "is_delete = '0' and device_code = '" + dto.getDevice_code() + "' and device_id != '" + dto.getDevice_id() + "'"; + String where = "is_delete = '0' and device_code = '" + dto.getDevice_code() + "'"; JSONObject jsonObject = wo.query(where).uniqueResult(0); if (ObjectUtil.isNotEmpty(jsonObject)) { @@ -162,16 +120,23 @@ public class DeviceServiceImpl implements DeviceService { @Override @Transactional(rollbackFor = Exception.class) - public void deleteAll(Long[] ids) { + public void deleteAll(String[] ids) { + String currentUserId = SecurityUtils.getCurrentUserId(); + String nickName = SecurityUtils.getCurrentNickName(); + + WQLObject wo = WQLObject.getWQLObject("pdm_bi_device"); - WQLObject wo_value = WQLObject.getWQLObject("PDM_BI_DeviceItemValue"); - for (Long device_id : ids) { - wo.delete("device_id = '" + device_id + "'"); - wo_value.delete("device_id = '" + device_id + "'"); + for (String device_code: ids) { + JSONObject param = new JSONObject(); + param.put("device_code", String.valueOf(device_code)); + param.put("is_delete", "1"); + param.put("update_optid", currentUserId); + param.put("update_optname", nickName); + param.put("update_time", DateUtil.now()); + wo.update(param); } } - @Override public JSONArray getWorkprocedure() { WQLObject wo = WQLObject.getWQLObject("pdm_bi_workprocedure"); @@ -179,107 +144,4 @@ public class DeviceServiceImpl implements DeviceService { return resultJSONArray; } - @Override - public JSONArray getItemByDevice(JSONObject param) { - JSONObject map = new JSONObject(); - map.put("flag", "1"); - map.put("device_id", param.getString("device_id")); - final JSONArray resultJSONArray = WQL.getWO("PDM_BI_DEVICE01").addParamMap(map).addParamMap(map).process().getResultJSONArray(0); - return resultJSONArray; - } - - @Transactional(rollbackFor = Exception.class) - @Override - public void savaDeviceItem(JSONObject param) { - WQLObject wo = WQLObject.getWQLObject("PDM_BI_DeviceItemValue"); - final JSONObject row = param.getJSONObject("row"); - final JSONArray rows = param.getJSONArray("rows"); - final String device_id = row.getString("device_id"); - wo.delete("device_id = '" + device_id + "'"); - for (int i = 0; i < rows.size(); i++) { - final JSONObject jsonObject = rows.getJSONObject(i); - final String item_id = jsonObject.getString("item_id"); - JSONObject map = new JSONObject(); - map.put("deviceitem_id", IdUtil.getSnowflake(1, 1).nextId()); - map.put("device_id", device_id); - map.put("item_id", item_id); - map.put("item_value", jsonObject.getString("item_value")); - map.put("order_seq", i + 1); - wo.insert(map); - } - } - - @Override - public Map getItemByDeviceId(JSONObject param) { - //动态获取设备类型下对应的项点信息 - String workprocedure_id = param.getString("workprocedure_id"); - String search = param.getString("search"); - JSONObject map = new JSONObject(); - map.put("flag", "2"); - map.put("workprocedure_id", workprocedure_id); - if (StrUtil.isNotEmpty(search)) { - map.put("search", "%" + search + "%"); - } - final JSONArray jsonArray = WQL.getWO("PDM_BI_DEVICE01").addParamMap(map).process().getResultJSONArray(0); - JSONArray newArray = new JSONArray(); - for (int i = 0; i < jsonArray.size(); i++) { - JSONObject jsonObject = jsonArray.getJSONObject(i); - String item_name = jsonObject.getString("item_name"); - JSONObject json = new JSONObject(); - json.put("label", item_name); - //将表格prop设置为项点编码 - json.put("prop", jsonObject.getString("item_code")); - json.put("show", true); - if (item_name.length() >= 6) { - json.put("width", "150"); - } - newArray.add(json); - } - JSONObject resultMap = new JSONObject(); - resultMap.put("newArray", newArray); - return resultMap; - } - - @Override - @Transactional(rollbackFor = Exception.class) - public void copyAdd(JSONObject param) { - - WQLObject wo = WQLObject.getWQLObject("PDM_BI_Device"); - WQLObject wo_value = WQLObject.getWQLObject("PDM_BI_DeviceItemValue"); - String currentUserId = SecurityUtils.getCurrentUserId(); - String nickName = SecurityUtils.getCurrentNickName(); - - String device_id = IdUtil.getSnowflake(1, 1).nextId() + ""; - JSONObject row = param.getJSONObject("row"); - //编码唯一性校验 - String device_code = row.getString("device_code"); - DeviceDto byCode = this.findByCode(device_code); - if (ObjectUtil.isNotEmpty(byCode)) throw new BadRequestException("编码已存在!"); - - row.put("device_id", device_id); - row.put("create_id", currentUserId); - row.put("create_name", nickName); - row.put("create_time", DateUtil.now()); - wo.insert(row); - JSONArray rows = param.getJSONArray("rows"); - if (rows.size() > 0) { - for (int i = 0; i < rows.size(); i++) { - JSONObject jsonObject = rows.getJSONObject(i); - JSONObject map = new JSONObject(); - map.put("deviceitem_id", IdUtil.getSnowflake(1, 1).nextId()); - map.put("device_id", device_id); - map.put("item_id", jsonObject.getString("item_id")); - map.put("item_value", jsonObject.getString("default_value")); - map.put("order_seq", i + 1); - wo_value.insert(map); - } - } - } - - @Override - public DeviceDto queryById(String device_id) { - DeviceDto deviceDto = this.findById(Long.parseLong(device_id)); - return deviceDto; - } - } diff --git a/mes/hd/nladmin-system/src/main/java/org/nl/wms/pdm/wql/QUERY_DEVICE.wql b/mes/hd/nladmin-system/src/main/java/org/nl/wms/pdm/wql/QUERY_DEVICE.wql new file mode 100644 index 00000000..e16de1df --- /dev/null +++ b/mes/hd/nladmin-system/src/main/java/org/nl/wms/pdm/wql/QUERY_DEVICE.wql @@ -0,0 +1,60 @@ +[交易说明] + 交易名: 设备查询 + 所属模块: + 功能简述: + 版权所有: + 表引用: + 版本经历: + +[数据库] + --指定数据库,为空采用默认值,默认为db.properties中列出的第一个库 + +[IO定义] + ################################################# + ## 表字段对应输入参数 + ################################################# + 输入.flag TYPEAS s_string + 输入.search TYPEAS s_string + 输入.workprocedure_id TYPEAS s_string + + +[临时表] + --这边列出来的临时表就会在运行期动态创建 + +[临时变量] + --所有中间过程变量均可在此处定义 + +[业务过程] + + ########################################## + # 1、输入输出检查 # + ########################################## + + + ########################################## + # 2、主过程前处理 # + ########################################## + + + ########################################## + # 3、业务主过程 # + ########################################## + + IF 输入.flag = "1" + PAGEQUERY + SELECT + * + FROM + PDM_BI_Device device + WHERE + 1 = 1 + OPTION 输入.search <> "" + (device.device_code like "%" 输入.search "%" or + device.device_name like "%" 输入.search "%") + ENDOPTION + OPTION 输入.workprocedure_id <> "" + (device.workprocedure_id = 输入.workprocedure_id) + ENDOPTION + ENDSELECT + ENDPAGEQUERY + ENDIF diff --git a/mes/hd/nladmin-system/src/main/java/org/nl/wms/pdm/wql/pdm.xls b/mes/hd/nladmin-system/src/main/java/org/nl/wms/pdm/wql/pdm.xls index aede5a26065c51be65edc9587527ca00875a194f..7358e5b87851fd38a211f0f38251e01471d7eb0d 100644 GIT binary patch delta 34429 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%0Dt(G-eGqysK<|3v6mu}t&bDP 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 B(aHb- diff --git a/mes/hd/nladmin-system/src/main/java/org/nl/wms/sch/wql/sch.xls b/mes/hd/nladmin-system/src/main/java/org/nl/wms/sch/wql/sch.xls index b91e07f6d3d248d42babc894877c784a17eac485..cc92739de393ab50670b8ac13073a47956ed2549 100644 GIT binary patch delta 46962 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 delta 16284 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 Wj|q-e?BphK5qzTY+^7l_N&XLe9c>i= diff --git a/mes/qd/src/api/wms/pdm/device.js b/mes/qd/src/api/wms/pdm/device.js index f8181c31..e6d2c2ae 100644 --- a/mes/qd/src/api/wms/pdm/device.js +++ b/mes/qd/src/api/wms/pdm/device.js @@ -47,14 +47,6 @@ export function savaDeviceItem(data) { }) } -export function getItemByDeviceId(data) { - return request({ - url: 'api/device/getItemByDeviceId', - method: 'post', - data - }) -} - export function copyAdd(data) { return request({ url: 'api/device/copyAdd', @@ -70,4 +62,4 @@ export function queryById(device_id) { }) } -export default { add, edit, del, getWorkprocedure, getItemByDevice, savaDeviceItem, getItemByDeviceId, copyAdd, queryById } +export default { add, edit, del, getWorkprocedure, getItemByDevice, savaDeviceItem, copyAdd, queryById } diff --git a/mes/qd/src/views/wms/pdm/device/index.vue b/mes/qd/src/views/wms/pdm/device/index.vue index 18c07e80..a036d23b 100644 --- a/mes/qd/src/views/wms/pdm/device/index.vue +++ b/mes/qd/src/views/wms/pdm/device/index.vue @@ -26,17 +26,6 @@ - - 设备扩展项 - - - + + - - + + - - - - + + - - + + + + + + + + + + + + + + + + + + + + - - +