diff --git a/mes/hd/nladmin-system/src/main/java/org/nl/wms/basedata/master/constant/MaterOptTypeEnum.java b/mes/hd/nladmin-system/src/main/java/org/nl/wms/basedata/master/constant/MaterOptTypeEnum.java index 58b3d448..6c70bbe3 100644 --- a/mes/hd/nladmin-system/src/main/java/org/nl/wms/basedata/master/constant/MaterOptTypeEnum.java +++ b/mes/hd/nladmin-system/src/main/java/org/nl/wms/basedata/master/constant/MaterOptTypeEnum.java @@ -34,7 +34,8 @@ public enum MaterOptTypeEnum { SBGZ(23, "24", "设备故障", "('1541964046385942528')", ""), TJJ_AND_OTHER(24, "25", "添加剂和其他有色金属粉", "('1503644361697660928','1503644362838511616')", ""), BJID(25, "26", "备品备件", "1503644361789935616", ""), - THW_AND_GF_AND_TJJ(26, "27", "碳化钨、钴粉、添加剂", "('1503644361664106496','1503644362192588800','1503644361697660928')", ""); + THW_AND_GF_AND_TJJ(26, "27", "碳化钨、钴粉、添加剂", "('1503644361664106496','1503644362192588800','1503644361697660928')", ""), + BCP_AND_YL_AND_FL(27, "28", "半成品、原辅料、合金制品", "('1503644359155912704','1503644353019645952','1503644353116114944','1503644349995552768')", ""); diff --git a/mes/hd/nladmin-system/src/main/java/org/nl/wms/sb/stat/rest/DevicesafetyqtyqueryController.java b/mes/hd/nladmin-system/src/main/java/org/nl/wms/sb/stat/rest/DevicesafetyqtyqueryController.java index d8d8c6c9..797dd0c3 100644 --- a/mes/hd/nladmin-system/src/main/java/org/nl/wms/sb/stat/rest/DevicesafetyqtyqueryController.java +++ b/mes/hd/nladmin-system/src/main/java/org/nl/wms/sb/stat/rest/DevicesafetyqtyqueryController.java @@ -41,6 +41,13 @@ public class DevicesafetyqtyqueryController { return new ResponseEntity<>(devicesafetyqtyqueryService.queryAll(whereJson, page), HttpStatus.OK); } + @GetMapping("/query2") + @Log("备件安全库存查询") + @ApiOperation("备件安全库存查询") + public ResponseEntity query2(@RequestParam Map whereJson, Pageable page) { + return new ResponseEntity<>(devicesafetyqtyqueryService.queryAll2(whereJson, page), HttpStatus.OK); + } + @PostMapping @Log("新增备件安全库存查询") @ApiOperation("新增备件安全库存查询") diff --git a/mes/hd/nladmin-system/src/main/java/org/nl/wms/sb/stat/service/DevicesafetyqtyqueryService.java b/mes/hd/nladmin-system/src/main/java/org/nl/wms/sb/stat/service/DevicesafetyqtyqueryService.java index fdc54264..50c7d2b6 100644 --- a/mes/hd/nladmin-system/src/main/java/org/nl/wms/sb/stat/service/DevicesafetyqtyqueryService.java +++ b/mes/hd/nladmin-system/src/main/java/org/nl/wms/sb/stat/service/DevicesafetyqtyqueryService.java @@ -24,6 +24,14 @@ public interface DevicesafetyqtyqueryService { * @return Map */ Map queryAll(Map whereJson, Pageable page); + /** + * 查询数据分页 + * + * @param whereJson 条件 + * @param page 分页参数 + * @return Map + */ + Map queryAll2(Map whereJson, Pageable page); /** * 查询所有数据不分页 diff --git a/mes/hd/nladmin-system/src/main/java/org/nl/wms/sb/stat/service/impl/DevicesafetyqtyqueryServiceImpl.java b/mes/hd/nladmin-system/src/main/java/org/nl/wms/sb/stat/service/impl/DevicesafetyqtyqueryServiceImpl.java index 38fa8973..17315e71 100644 --- a/mes/hd/nladmin-system/src/main/java/org/nl/wms/sb/stat/service/impl/DevicesafetyqtyqueryServiceImpl.java +++ b/mes/hd/nladmin-system/src/main/java/org/nl/wms/sb/stat/service/impl/DevicesafetyqtyqueryServiceImpl.java @@ -15,6 +15,7 @@ import lombok.extern.slf4j.Slf4j; import org.nl.exception.BadRequestException; import org.nl.utils.FileUtil; import org.nl.utils.SecurityUtils; +import org.nl.wms.basedata.master.constant.MaterOptTypeEnum; import org.nl.wms.basedata.master.service.ClassstandardService; import org.nl.wms.sb.stat.service.DevicesafetyqtyqueryService; import org.nl.wms.sb.stat.service.DevicesparepartivtService; @@ -48,7 +49,9 @@ public class DevicesafetyqtyqueryServiceImpl implements DevicesafetyqtyqueryServ String material_code = MapUtil.getStr(whereJson, "material_code"); String type = MapUtil.getStr(whereJson, "type"); String is_all = MapUtil.getStr(whereJson, "is_all"); - + if(StrUtil.isEmpty(class_idStr)){ + class_idStr = MaterOptTypeEnum.SPARE.getClass_idStr(); + } HashMap map = new HashMap<>(); map.put("flag", "1"); map.put("type",type); @@ -63,7 +66,35 @@ public class DevicesafetyqtyqueryServiceImpl implements DevicesafetyqtyqueryServ String classIds = classstandardService.getAllChildIdStr(class_idStr); map.put("classIds", classIds); } - JSONObject json = WQL.getWO("EM_DEVICESAFETQTYQUERY001").addParamMap(map).pageQuery(WqlUtil.getHttpContext(page), "a.material_id DESC"); + JSONObject json = WQL.getWO("EM_DEVICESAFETQTYQUERY001").addParamMap(map).pageQuery(WqlUtil.getHttpContext(page), "a.material_code"); + return json; + } + + @Override + public Map queryAll2(Map whereJson, Pageable page) { + String material_type_id = MapUtil.getStr(whereJson, "material_type_id"); + String class_idStr = (String) whereJson.get("class_idStr"); + String material_code = MapUtil.getStr(whereJson, "material_code"); + String type = MapUtil.getStr(whereJson, "type"); + String is_all = MapUtil.getStr(whereJson, "is_all"); + if(StrUtil.isEmpty(class_idStr)){ + class_idStr = MaterOptTypeEnum.BCP_AND_YL_AND_FL.getClass_idStr(); + } + HashMap map = new HashMap<>(); + map.put("flag", "2"); + map.put("type",type); + map.put("is_all",is_all); + if (ObjectUtil.isNotEmpty(material_code)) map.put("material_code", "%"+material_code+"%"); + //处理物料当前节点的所有子节点 + if (StrUtil.isNotEmpty(material_type_id)) { + map.put("material_type_id", material_type_id); + String classIds = classstandardService.getChildIdStr(material_type_id); + map.put("classIds", classIds); + } else if (ObjectUtil.isNotEmpty(class_idStr)) { + String classIds = classstandardService.getAllChildIdStr(class_idStr); + map.put("classIds", classIds); + } + JSONObject json = WQL.getWO("EM_DEVICESAFETQTYQUERY001").addParamMap(map).pageQuery(WqlUtil.getHttpContext(page), "a.material_code"); return json; } diff --git a/mes/hd/nladmin-system/src/main/java/org/nl/wms/sb/stat/wql/EM_DEVICESAFETQTYQUERY001.wql b/mes/hd/nladmin-system/src/main/java/org/nl/wms/sb/stat/wql/EM_DEVICESAFETQTYQUERY001.wql index 5ec610af..78cfaa8c 100644 --- a/mes/hd/nladmin-system/src/main/java/org/nl/wms/sb/stat/wql/EM_DEVICESAFETQTYQUERY001.wql +++ b/mes/hd/nladmin-system/src/main/java/org/nl/wms/sb/stat/wql/EM_DEVICESAFETQTYQUERY001.wql @@ -113,4 +113,71 @@ ENDSELECT ENDPAGEQUERY - ENDIF \ No newline at end of file + ENDIF + + IF 输入.flag = "2" + PAGEQUERY + SELECT + a.material_id, + a.material_code, + a.material_name, + a.class_name, + a.safe_ivt_down, + a.ivt_qty, + a.qty_unit_name + FROM + ( + SELECT + mater.material_id, + mater.material_code, + mater.material_name, + class.class_name, + ( + CASE + WHEN fivt.safe_ivt_down is null THEN 0 ELSE fivt.safe_ivt_down + END + ) AS safe_ivt_down, + ( + CASE + WHEN pivt.ivt_qty is null THEN 0 ELSE pivt.ivt_qty + END + ) AS ivt_qty, + unit.unit_name AS qty_unit_name + FROM + md_me_materialbase mater + LEFT JOIN md_pb_classstandard class ON mater.material_type_id = class.class_id + LEFT JOIN ST_IVT_MaterialSafeIvt fivt ON fivt.material_id = mater.material_id + LEFT JOIN md_pb_measureunit unit ON unit.measure_unit_id = mater.base_unit_id + LEFT JOIN ( + SELECT + SUM(ivt.ivt_qty) AS ivt_qty, + ivt.material_id + FROM + st_ivt_structivt ivt + WHERE + 1=1 + group by ivt.material_id + ) pivt ON pivt.material_id = mater.material_id + WHERE + 1=1 + + OPTION 输入.classIds <> "" + class.class_id in 输入.classIds + ENDOPTION + + OPTION 输入.material_code <> "" + (mater.material_code like 输入.material_code or + mater.material_name like 输入.material_code) + ENDOPTION + ) AS a + + WHERE + 1=1 + + OPTION 输入.is_all <> "0" + a.safe_ivt_down > a.ivt_qty + ENDOPTION + + ENDSELECT + ENDPAGEQUERY + ENDIF diff --git a/mes/qd/src/views/wms/sb/stat/devicesafetyqtyquery/index.vue b/mes/qd/src/views/wms/sb/stat/devicesafetyqtyquery/index.vue index ca02646c..3da0030c 100644 --- a/mes/qd/src/views/wms/sb/stat/devicesafetyqtyquery/index.vue +++ b/mes/qd/src/views/wms/sb/stat/devicesafetyqtyquery/index.vue @@ -91,6 +91,7 @@ export default { url: 'api/devicesafetyqtyquery', idField: 'stockrecord_id', sort: 'stockrecord_id,desc', + query: { is_all: '1' }, crudMethod: { ...crudDevicesafetyqtyquery }, optShow: { add: false, diff --git a/mes/qd/src/views/wms/sb/stat/safetyqtyquery/index.vue b/mes/qd/src/views/wms/sb/stat/safetyqtyquery/index.vue new file mode 100644 index 00000000..10d49cae --- /dev/null +++ b/mes/qd/src/views/wms/sb/stat/safetyqtyquery/index.vue @@ -0,0 +1,290 @@ + + + + +