diff --git a/mes/hd/nladmin-system/src/main/java/org/nl/pda/sb/rest/SparePartController.java b/mes/hd/nladmin-system/src/main/java/org/nl/pda/sb/rest/SparePartController.java index c7c0c9bf..f99bb0e9 100644 --- a/mes/hd/nladmin-system/src/main/java/org/nl/pda/sb/rest/SparePartController.java +++ b/mes/hd/nladmin-system/src/main/java/org/nl/pda/sb/rest/SparePartController.java @@ -144,4 +144,11 @@ public class SparePartController { public ResponseEntity repaireDtlConfirm(@RequestBody Map whereJson) { return new ResponseEntity<>(sparePartService.repaireDtlConfirm(whereJson),HttpStatus.OK); } + + @PostMapping("/queryDevice") + @Log("查询设备") + @ApiOperation("查询设备") + public ResponseEntity queryDevice(@RequestBody Map whereJson) { + return new ResponseEntity<>(sparePartService.queryDevice(whereJson),HttpStatus.OK); + } } diff --git a/mes/hd/nladmin-system/src/main/java/org/nl/pda/sb/service/SparePartService.java b/mes/hd/nladmin-system/src/main/java/org/nl/pda/sb/service/SparePartService.java index 473e0351..b8ba9379 100644 --- a/mes/hd/nladmin-system/src/main/java/org/nl/pda/sb/service/SparePartService.java +++ b/mes/hd/nladmin-system/src/main/java/org/nl/pda/sb/service/SparePartService.java @@ -43,5 +43,7 @@ public interface SparePartService { Map repaireDtlConfirm(Map jsonObject); + Map queryDevice(Map jsonObject); + Map repairs(Map map, HttpServletRequest request); } diff --git a/mes/hd/nladmin-system/src/main/java/org/nl/pda/sb/service/impl/SparePartServiceImpl.java b/mes/hd/nladmin-system/src/main/java/org/nl/pda/sb/service/impl/SparePartServiceImpl.java index 69d8d712..e060c598 100644 --- a/mes/hd/nladmin-system/src/main/java/org/nl/pda/sb/service/impl/SparePartServiceImpl.java +++ b/mes/hd/nladmin-system/src/main/java/org/nl/pda/sb/service/impl/SparePartServiceImpl.java @@ -11,14 +11,18 @@ import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; +import org.nl.domain.LocalStorage; import org.nl.exception.BadRequestException; import org.nl.ext.acs.service.WmsToAcsService; import org.nl.modules.security.service.dto.JwtUserDto; +import org.nl.modules.system.service.DictDetailService; +import org.nl.modules.system.service.dto.DictDetailDto; import org.nl.modules.system.util.CodeUtil; import org.nl.pda.exception.PdaRequestException; import org.nl.pda.pdm.service.PdmWorkTaskService; import org.nl.pda.sb.service.SparePartService; import org.nl.pda.st.vehicle.service.impl.EmptyVehicleServiceImpl; +import org.nl.service.LocalStorageService; import org.nl.utils.SecurityUtils; import org.nl.utils.SpringContextHolder; import org.nl.wms.basedata.master.service.ClassstandardService; @@ -50,16 +54,13 @@ import java.util.Map; @Slf4j public class SparePartServiceImpl implements SparePartService { - @Autowired private final StorattrService storattrService; - @Autowired private final SparePartInServiceImpl sparePartInService; - @Autowired private final SparePartOutService sparePartOutService; - @Autowired private final DevicemaintenancemstService devicemaintenancemstService; - @Autowired private final DevicerepairmstService devicerepairmstService; + private final DictDetailService dictDetailService; + private final LocalStorageService localStorageService; @Override public Map queryReturnDis(Map jsonObject) { @@ -95,6 +96,7 @@ public class SparePartServiceImpl implements SparePartService { return returnjo; } + @Transactional(rollbackFor = Exception.class) @Override public Map confirmReturn(Map jsonObject) { WQLObject mst_wql = WQLObject.getWQLObject("EM_BI_IOStorInv"); @@ -108,7 +110,7 @@ public class SparePartServiceImpl implements SparePartService { JSONArray rows = jo.getJSONArray("rows"); String device_code = rows.getJSONObject(0).getString("device_code"); - String device_id = rows.getJSONObject(0).getString("device_id"); + String device_id = rows.getJSONObject(0).getString("devicerecord_id"); String device_name = rows.getJSONObject(0).getString("device_name"); String stor_id = rows.getJSONObject(0).getString("stor_id"); String iostorinv_id = IdUtil.getSnowflake(1, 1).nextId() + ""; @@ -242,7 +244,7 @@ public class SparePartServiceImpl implements SparePartService { JSONArray rows = WQL.getWO("QPDAEM_BI_SPAREPART").addParam("flag", flag).process().getResultJSONArray(0); JSONObject content = new JSONObject(); - content.put("rows",rows); + content.put("rows", rows); JSONObject returnjo = new JSONObject(); returnjo.put("code", "1"); returnjo.put("content", content); @@ -272,6 +274,7 @@ public class SparePartServiceImpl implements SparePartService { return returnjo; } + @Transactional(rollbackFor = Exception.class) @Override public Map confirmDis(Map jsonObject) { if (ObjectUtil.isEmpty(jsonObject)) { @@ -305,7 +308,7 @@ public class SparePartServiceImpl implements SparePartService { map.put("maintenance_flag", maintenance_flag); map.put("device_code", device_code); JSONArray rows = WQL.getWO("QPDAEM_BI_SPAREPART").addParamMap(map).process().getResultJSONArray(0); - if (ObjectUtil.isEmpty(rows)){ + if (ObjectUtil.isEmpty(rows)) { rows = new JSONArray(); } @@ -316,6 +319,7 @@ public class SparePartServiceImpl implements SparePartService { return returnjo; } + @Transactional(rollbackFor = Exception.class) @Override public Map maintOpeate(Map jsonObject) { if (ObjectUtil.isEmpty(jsonObject)) { @@ -421,7 +425,7 @@ public class SparePartServiceImpl implements SparePartService { JSONObject row = jo.getJSONObject("row"); JSONArray rows = devicemaintenancemstService.getDtl(row); JSONObject content = new JSONObject(); - content.put("rows",rows); + content.put("rows", rows); JSONObject returnjo = new JSONObject(); returnjo.put("code", "1"); returnjo.put("desc", "操作成功!"); @@ -429,6 +433,7 @@ public class SparePartServiceImpl implements SparePartService { return returnjo; } + @Transactional(rollbackFor = Exception.class) @Override public Map dtlConfirm(Map jsonObject) { if (ObjectUtil.isEmpty(jsonObject)) { @@ -436,7 +441,7 @@ public class SparePartServiceImpl implements SparePartService { } JSONObject jo = JSONObject.parseObject(JSON.toJSONString(jsonObject)); JSONArray rows = jo.getJSONArray("rows"); - if (rows.size()==0){ + if (rows.size() == 0) { throw new PdaRequestException("至少有一条明细进行确认!"); } String maint_id = rows.getJSONObject(0).getString("maint_id"); @@ -446,6 +451,11 @@ public class SparePartServiceImpl implements SparePartService { // 更新主表 JSONObject jsonMst = mstTab.query("maint_id ='" + maint_id + "'").uniqueResult(0); + + if (!jsonMst.getString("invstatus").equals("03")) { + throw new PdaRequestException("只能对开始状态的单据结束保养"); + } + jsonMst.put("update_optname", SecurityUtils.getNickName()); jsonMst.put("update_time", DateUtil.now()); mstTab.update(jsonMst); @@ -466,13 +476,18 @@ public class SparePartServiceImpl implements SparePartService { @Override public Map errorType(Map jsonObject) { + String material_type_id = (String) jsonObject.get("material_type_id"); JSONArray ja = WQLObject.getWQLObject("EM_BI_DeviceFaultClass").query("is_delete = '0'").getResultJSONArray(0); + if (StrUtil.isNotEmpty(material_type_id)) { + ja = WQLObject.getWQLObject("EM_BI_DeviceFaultClass").query("is_delete = '0' AND material_type_id = '" + material_type_id + "'").getResultJSONArray(0); + } + JSONArray rows = new JSONArray(); for (int i = 0; i < ja.size(); i++) { JSONObject jo = ja.getJSONObject(i); JSONObject row = new JSONObject(); row.put("value", jo.getString("device_faultclass_id")); - row.put("label", jo.getString("device_faultclass_id")); + row.put("label", jo.getString("device_faultclass_name")); row.put("solutions", jo.getString("solutions")); rows.add(row); } @@ -485,14 +500,13 @@ public class SparePartServiceImpl implements SparePartService { @Override public Map errorLevel(Map jsonObject) { - JSONObject level_jo = WQLObject.getWQLObject("sys_dict").query("name = 'EM_FAULT_LEVEL'").uniqueResult(0); - JSONArray ja = WQLObject.getWQLObject("sys_dict_detail").query("dict_id = '" + level_jo.getString("dict_id") + "'").getResultJSONArray(0); + List ja = dictDetailService.getDictByName("EM_FAULT_LEVEL"); JSONArray rows = new JSONArray(); for (int i = 0; i < ja.size(); i++) { - JSONObject jo = ja.getJSONObject(i); + DictDetailDto dictDetailDto = ja.get(i); JSONObject row = new JSONObject(); - row.put("value", jo.getString("value")); - row.put("label", jo.getString("label")); + row.put("value", dictDetailDto.getValue()); + row.put("label", dictDetailDto.getLabel()); rows.add(row); } JSONObject returnjo = new JSONObject(); @@ -524,6 +538,7 @@ public class SparePartServiceImpl implements SparePartService { return returnjo; } + @Transactional(rollbackFor = Exception.class) @Override public Map repairOpeate(Map jsonObject) { { @@ -636,6 +651,9 @@ public class SparePartServiceImpl implements SparePartService { // 更新主表 JSONObject jsonMst = mstTab.query("repair_id ='" + repair_id + "'").uniqueResult(0); + if (!jsonMst.getString("invstatus").equals("02")) { + throw new PdaRequestException("只能对开始状态的单据进行填报确认"); + } jsonMst.put("update_optname", SecurityUtils.getNickName()); jsonMst.put("update_time", DateUtil.now()); mstTab.update(jsonMst); @@ -654,12 +672,98 @@ public class SparePartServiceImpl implements SparePartService { return returnjo; } + @Override + public Map queryDevice(Map jsonObject) { + if (ObjectUtil.isEmpty(jsonObject)) { + throw new PdaRequestException("传入参数不能为空!"); + } + JSONObject jo = JSONObject.parseObject(JSON.toJSONString(jsonObject)); + String device_code = jo.getString("device_code"); + + JSONObject device_info = WQLObject.getWQLObject("EM_BI_EquipmentFile").query("device_code = '" + device_code + "'").uniqueResult(0); + if (ObjectUtil.isEmpty(device_info)) { + throw new PdaRequestException("未查询到相关设备信息!"); + } + //00生成,90报废,91报废处理 + String status = device_info.getString("status"); + if (status.equals("00")) { + throw new PdaRequestException("设备未启用!"); + } + if (status.equals("90")) { + throw new PdaRequestException("设备已经报废!"); + } + if (status.equals("91")) { + throw new PdaRequestException("设备已经报废处理!"); + } + + JSONObject content = new JSONObject(); + content.put("devicerecord_id", device_info.getString("devicerecord_id")); + content.put("material_type_id", device_info.getString("material_type_id")); + JSONObject returnjo = new JSONObject(); + returnjo.put("code", "1"); + returnjo.put("content", content); + returnjo.put("desc", "操作成功!"); + return returnjo; + } + + @Transactional(rollbackFor = Exception.class) @Override public Map repairs(Map map, HttpServletRequest request) { - MultipartHttpServletRequest params=((MultipartHttpServletRequest) request); + MultipartHttpServletRequest params = ((MultipartHttpServletRequest) request); List files = ((MultipartHttpServletRequest) request) .getFiles("file"); - return null; + JSONObject jo = JSONObject.parseObject(JSON.toJSONString(map)); + + JSONObject repair = new JSONObject(); + WQLObject mst = WQLObject.getWQLObject("EM_BI_DeviceRepairRequest"); + + String request_id = IdUtil.getSnowflake(1, 1).nextId() + ""; + String request_code = CodeUtil.getNewCode("BXD_CODE"); + String now = DateUtil.now(); + Long currentUserId = SecurityUtils.getCurrentUserId(); + String nickName = SecurityUtils.getNickName(); + JwtUserDto currentUser = (JwtUserDto) SecurityUtils.getCurrentUser(); + Long deptId = currentUser.getDeptId(); + + repair.put("request_id", request_id); + repair.put("request_code", request_code); + repair.put("devicerecord_id", jo.getString("devicerecord_id")); + repair.put("fault_time", now); + repair.put("device_faultclass_id", jo.getString("device_faultclass_id")); + repair.put("fault_desc", jo.getString("fault_desc")); + repair.put("fault_level", jo.getString("fault_level")); + repair.put("status", "01"); + repair.put("create_id", currentUserId); + repair.put("create_name", nickName); + repair.put("create_time", now); + repair.put("sysdeptid", deptId); + repair.put("syscompanyid", deptId); + repair.put("is_delete", "0"); + mst.insert(repair); + + for (int i = 0; i < files.size(); i++) { + MultipartFile multipartFile = files.get(i); + LocalStorage localStorage = this.localStorageService.create((String) null, multipartFile); + + JSONObject param = new JSONObject(); + param.put("source_bill_id", request_id); + param.put("source_bill_code", request_code); + param.put("source_bill_table", "EM_BI_DeviceRepairRequest"); + param.put("source_bill_table_pk", "request_id"); + param.put("is_delete", "0"); + param.put("create_id", currentUserId); + param.put("create_name", SecurityUtils.getNickName()); + //本地存储【tool_local_storage】 + WQLObject storateTab = WQLObject.getWQLObject("tool_local_storage"); + //storateTab.delete("source_bill_id = '"+inspection_id+"'"); + storateTab.update(param, "storage_id = '" + localStorage.getId() + "'"); + + } + + JSONObject returnjo = new JSONObject(); + returnjo.put("code", "1"); + returnjo.put("desc", "操作成功!"); + return returnjo; } } diff --git a/mes/hd/nladmin-system/src/main/java/org/nl/pda/sb/wql/QPDAEM_BI_SPAREPART.wql b/mes/hd/nladmin-system/src/main/java/org/nl/pda/sb/wql/QPDAEM_BI_SPAREPART.wql index 3268d52e..ba5af20e 100644 --- a/mes/hd/nladmin-system/src/main/java/org/nl/pda/sb/wql/QPDAEM_BI_SPAREPART.wql +++ b/mes/hd/nladmin-system/src/main/java/org/nl/pda/sb/wql/QPDAEM_BI_SPAREPART.wql @@ -58,7 +58,10 @@ 'EM_BI_IOStorInv' AS source_bill_table, '领用出库' AS source_type_name, dis.material_id, - file.device_code + file.device_code, + file.device_name, + mst.stor_id, + file.devicerecord_id FROM em_bi_iostorinvdis dis LEFT JOIN em_bi_iostorinv mst ON mst.iostorinv_id = dis.iostorinv_id diff --git a/mes/hd/nladmin-system/src/main/java/org/nl/wms/sb/core/rest/SparePartReturnController.java b/mes/hd/nladmin-system/src/main/java/org/nl/wms/sb/core/rest/SparePartReturnController.java index 3edaa4b9..d9a00eaa 100644 --- a/mes/hd/nladmin-system/src/main/java/org/nl/wms/sb/core/rest/SparePartReturnController.java +++ b/mes/hd/nladmin-system/src/main/java/org/nl/wms/sb/core/rest/SparePartReturnController.java @@ -18,7 +18,7 @@ import java.util.Map; @RestController @RequiredArgsConstructor -@Api(tags = "备件出库") +@Api(tags = "备件领用还回") @RequestMapping("/api/sb/return") @Slf4j public class SparePartReturnController { @@ -27,8 +27,8 @@ public class SparePartReturnController { private SparePartReturnService sparePartReturnService; @GetMapping - @Log("查询备件出库") - @ApiOperation("查询原辅料入库单据") + @Log("查询备件领用还回") + @ApiOperation("查询备件领用还回") //@PreAuthorize("@el.check('checkoutbill:list')") public ResponseEntity query(@RequestParam Map whereJson, Pageable page){ return new ResponseEntity<>(sparePartReturnService.pageQuery(whereJson,page), HttpStatus.OK); diff --git a/mes/hd/nladmin-system/src/main/java/org/nl/wms/sb/core/service/impl/SparePartReturnServiceImpl.java b/mes/hd/nladmin-system/src/main/java/org/nl/wms/sb/core/service/impl/SparePartReturnServiceImpl.java index 5c24cc44..449d48e8 100644 --- a/mes/hd/nladmin-system/src/main/java/org/nl/wms/sb/core/service/impl/SparePartReturnServiceImpl.java +++ b/mes/hd/nladmin-system/src/main/java/org/nl/wms/sb/core/service/impl/SparePartReturnServiceImpl.java @@ -42,22 +42,9 @@ public class SparePartReturnServiceImpl implements SparePartReturnService { @Override public Map pageQuery(Map whereJson, Pageable page) { HashMap map = new HashMap<>(); - map.put("flag", "1"); + map.put("flag", "11"); map.put("buss_type", (String) whereJson.get("buss_type")); - map.put("stor_id", (String) whereJson.get("stor_id")); - map.put("bill_type", (String) whereJson.get("bill_type")); - map.put("create_mode", (String) whereJson.get("create_mode")); - map.put("bill_status", (String) whereJson.get("bill_status")); - String bill_code = MapUtil.getStr(whereJson, "bill_code"); - if (!ObjectUtil.isEmpty(bill_code)) { - map.put("bill_code", "%" + bill_code + "%"); - } String begin_time = (String) whereJson.get("begin_time"); - - //根据系统参数判断是否需要使用部门进行数据权限过滤 - String deptIds = DataAuthUtil.getDeptStr(); - map.put("deptIds", deptIds); - if (!StrUtil.isEmpty(begin_time)) { map.put("begin_time", begin_time); } @@ -65,7 +52,38 @@ public class SparePartReturnServiceImpl implements SparePartReturnService { if (!StrUtil.isEmpty(end_time)) { map.put("end_time", end_time); } - + String start_time = (String) whereJson.get("start_time"); + if (!StrUtil.isEmpty(start_time)) { + map.put("start_time", start_time); + } + String last_time = (String) whereJson.get("last_time"); + if (!StrUtil.isEmpty(last_time)) { + map.put("last_time", last_time); + } + String device_code = (String) whereJson.get("device_code"); + if (!StrUtil.isEmpty(device_code)) { + map.put("device_code", device_code + "%"); + } + String out_person = (String) whereJson.get("out_person"); + if (!StrUtil.isEmpty(out_person)) { + map.put("out_person", out_person + "%"); + } + String sparepart_only_id = (String) whereJson.get("sparepart_only_id"); + if (!StrUtil.isEmpty(sparepart_only_id)) { + map.put("sparepart_only_id", sparepart_only_id + "%"); + } + String in_person = (String) whereJson.get("in_person"); + if (!StrUtil.isEmpty(in_person)) { + map.put("in_person", in_person + "%"); + } + String out_code = (String) whereJson.get("out_code"); + if (!StrUtil.isEmpty(out_code)) { + map.put("out_code", out_code + "%"); + } + String in_code = (String) whereJson.get("end_time"); + if (!StrUtil.isEmpty(in_code)) { + map.put("in_code", in_code + "%"); + } JSONObject jo = WQL.getWO("QEM_BI_SPAREPART").addParamMap(map).pageQuery(WqlUtil.getHttpContext(page), "input_time desc"); return jo; } diff --git a/mes/hd/nladmin-system/src/main/java/org/nl/wms/sb/core/wql/QEM_BI_SPAREPART.wql b/mes/hd/nladmin-system/src/main/java/org/nl/wms/sb/core/wql/QEM_BI_SPAREPART.wql index c053505c..ff715902 100644 --- a/mes/hd/nladmin-system/src/main/java/org/nl/wms/sb/core/wql/QEM_BI_SPAREPART.wql +++ b/mes/hd/nladmin-system/src/main/java/org/nl/wms/sb/core/wql/QEM_BI_SPAREPART.wql @@ -18,6 +18,14 @@ 输入.material_search TYPEAS s_string 输入.end_time TYPEAS s_string 输入.begin_time TYPEAS s_string + 输入.start_time TYPEAS s_string + 输入.last_time TYPEAS s_string + 输入.device_code TYPEAS s_string + 输入.out_person TYPEAS s_string + 输入.sparepart_only_id TYPEAS s_string + 输入.in_person TYPEAS s_string + 输入.out_code TYPEAS s_string + 输入.in_code TYPEAS s_string 输入.bill_status TYPEAS s_string 输入.bill_code TYPEAS s_string 输入.create_mode TYPEAS s_string @@ -431,6 +439,65 @@ ENDQUERY ENDIF + IF 输入.flag = "11" + PAGEQUERY + SELECT + in_mst.bill_code, + in_mst.biz_date, + dis.sparepart_only_id, + mb.material_name, + mb.material_spec, + mb.material_model, + dis.pcsn, + dis.real_qty, + in_mst.bizperson, + out_mst.input_optname, + out_mst.input_time, + out_mst.bill_code AS out_bill_code, + out_mst.biz_date AS out_biz_date, + out_mst.bizperson AS out_bizperson, + out_mst.device_name + FROM + em_bi_iostorinvdis dis + LEFT JOIN em_bi_iostorinv in_mst ON dis.iostorinv_id = in_mst.iostorinv_id + LEFT JOIN em_bi_iostorinvdtl in_dtl ON in_dtl.iostorinvdtl_id = dis.iostorinvdtl_id + LEFT JOIN em_bi_iostorinv out_mst ON out_mst.bill_code = in_dtl.source_bill_code + LEFT JOIN md_me_materialbase mb ON mb.material_id = dis.material_id + WHERE + in_mst.bill_type = '000801' + OPTION 输入.begin_time <> "" + in_mst.input_time >= 输入.begin_time + ENDOPTION + OPTION 输入.end_time <> "" + in_mst.input_time <= 输入.end_time + ENDOPTION + OPTION 输入.start_time <> "" + out_mst.input_time >= 输入.start_time + ENDOPTION + OPTION 输入.last_time <> "" + out_mst.input_time <= 输入.last_time + ENDOPTION + OPTION 输入.device_code <> "" + (out_mst.device_code like 输入.device_code OR out_mst.device_name like 输入.device_code) + ENDOPTION + OPTION 输入.out_person <> "" + out_mst.bizperson like 输入.out_person + ENDOPTION + OPTION 输入.sparepart_only_id <> "" + dis.sparepart_only_id like 输入.sparepart_only_id + ENDOPTION + OPTION 输入.in_person <> "" + in_mst.bizperson like 输入.in_person + ENDOPTION + OPTION 输入.out_code <> "" + out_mst.bill_code like 输入.out_code + ENDOPTION + OPTION 输入.in_code <> "" + in_mst.bill_code like 输入.in_code + ENDOPTION + ENDSELECT + ENDPAGEQUERY + ENDIF diff --git a/mes/qd/src/views/wms/sb/return/index.vue b/mes/qd/src/views/wms/sb/return/index.vue index 1cd4250b..a2121f77 100644 --- a/mes/qd/src/views/wms/sb/return/index.vue +++ b/mes/qd/src/views/wms/sb/return/index.vue @@ -32,7 +32,7 @@ - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + +