diff --git a/mes/hd/nladmin-system/src/main/java/org/nl/wms/basedata/em/wql/em.xls b/mes/hd/nladmin-system/src/main/java/org/nl/wms/basedata/em/wql/em.xls index 48515ace..da1db16a 100644 Binary files a/mes/hd/nladmin-system/src/main/java/org/nl/wms/basedata/em/wql/em.xls and b/mes/hd/nladmin-system/src/main/java/org/nl/wms/basedata/em/wql/em.xls differ diff --git a/mes/hd/nladmin-system/src/main/java/org/nl/wms/sb/repair/rest/DevicerepairrequestController.java b/mes/hd/nladmin-system/src/main/java/org/nl/wms/sb/repair/rest/DevicerepairrequestController.java index 1eb11e5d..45f7e57e 100644 --- a/mes/hd/nladmin-system/src/main/java/org/nl/wms/sb/repair/rest/DevicerepairrequestController.java +++ b/mes/hd/nladmin-system/src/main/java/org/nl/wms/sb/repair/rest/DevicerepairrequestController.java @@ -40,6 +40,14 @@ public class DevicerepairrequestController { return new ResponseEntity<>(devicerepairrequestService.queryAll(whereJson, page), HttpStatus.OK); } + @GetMapping("/query2") + @Log("查询设备报修2") + @ApiOperation("查询设备报修2") + //@PreAuthorize("@el.check('devicerepairrequest:list')") + public ResponseEntity query2(@RequestParam Map whereJson, Pageable page) { + return new ResponseEntity<>(devicerepairrequestService.query2(whereJson, page), HttpStatus.OK); + } + @PostMapping @Log("新增设备报修") @ApiOperation("新增设备报修") diff --git a/mes/hd/nladmin-system/src/main/java/org/nl/wms/sb/repair/service/DevicerepairrequestService.java b/mes/hd/nladmin-system/src/main/java/org/nl/wms/sb/repair/service/DevicerepairrequestService.java index 698b2941..dc17599f 100644 --- a/mes/hd/nladmin-system/src/main/java/org/nl/wms/sb/repair/service/DevicerepairrequestService.java +++ b/mes/hd/nladmin-system/src/main/java/org/nl/wms/sb/repair/service/DevicerepairrequestService.java @@ -26,6 +26,15 @@ public interface DevicerepairrequestService { */ Map queryAll(Map whereJson, Pageable page); + /** + * 查询数据分页 + * + * @param whereJson 条件 + * @param page 分页参数 + * @return Map + */ + Map query2(Map whereJson, Pageable page); + /** * 查询所有数据不分页 * diff --git a/mes/hd/nladmin-system/src/main/java/org/nl/wms/sb/repair/service/dto/DevicerepairrequestDto.java b/mes/hd/nladmin-system/src/main/java/org/nl/wms/sb/repair/service/dto/DevicerepairrequestDto.java index 6f78ea7c..1bc39b09 100644 --- a/mes/hd/nladmin-system/src/main/java/org/nl/wms/sb/repair/service/dto/DevicerepairrequestDto.java +++ b/mes/hd/nladmin-system/src/main/java/org/nl/wms/sb/repair/service/dto/DevicerepairrequestDto.java @@ -80,4 +80,7 @@ public class DevicerepairrequestDto implements Serializable { /** 公司ID */ private Long syscompanyid; + + /** 班组配合人 */ + private String product_person_name; } diff --git a/mes/hd/nladmin-system/src/main/java/org/nl/wms/sb/repair/service/impl/DevicerepairmstServiceImpl.java b/mes/hd/nladmin-system/src/main/java/org/nl/wms/sb/repair/service/impl/DevicerepairmstServiceImpl.java index 2cfc0a60..bf9f043e 100644 --- a/mes/hd/nladmin-system/src/main/java/org/nl/wms/sb/repair/service/impl/DevicerepairmstServiceImpl.java +++ b/mes/hd/nladmin-system/src/main/java/org/nl/wms/sb/repair/service/impl/DevicerepairmstServiceImpl.java @@ -289,6 +289,7 @@ public class DevicerepairmstServiceImpl implements DevicerepairmstService { // 1. 更新设备维修单主表 JSONObject jsonReMst = reMstTab.query("repair_id = '" + whereJson.getString("repair_id") + "'").uniqueResult(0); jsonReMst.put("invstatus", "03"); + jsonReMst.put("update_optname", whereJson.getString("update_optname")); jsonReMst.put("real_start_date", DateUtil.now()); reMstTab.update(jsonReMst); // 2.更新设备档案表 @@ -381,7 +382,7 @@ public class DevicerepairmstServiceImpl implements DevicerepairmstService { // 1.更新维修主表 JSONObject jsonReMst = reMstTab.query("repair_id = '" + whereJson.getString("repair_id") + "'").uniqueResult(0); - jsonReMst.put("update_optname", whereJson.getString("update_optname")); +// jsonReMst.put("update_optname", whereJson.getString("update_optname")); jsonReMst.put("product_person_name", whereJson.getString("product_person_name")); jsonReMst.put("update_time", DateUtil.now()); reMstTab.update(jsonReMst); diff --git a/mes/hd/nladmin-system/src/main/java/org/nl/wms/sb/repair/service/impl/DevicerepairrequestServiceImpl.java b/mes/hd/nladmin-system/src/main/java/org/nl/wms/sb/repair/service/impl/DevicerepairrequestServiceImpl.java index d2863b71..846c5ef5 100644 --- a/mes/hd/nladmin-system/src/main/java/org/nl/wms/sb/repair/service/impl/DevicerepairrequestServiceImpl.java +++ b/mes/hd/nladmin-system/src/main/java/org/nl/wms/sb/repair/service/impl/DevicerepairrequestServiceImpl.java @@ -8,7 +8,9 @@ import com.alibaba.fastjson.JSON; import lombok.RequiredArgsConstructor; import org.nl.exception.BadRequestException; import org.nl.modules.security.service.dto.JwtUserDto; +import org.nl.modules.system.service.DeptService; import org.nl.modules.system.util.CodeUtil; +import org.nl.utils.SpringContextHolder; import org.nl.wms.basedata.master.service.ClassstandardService; import org.nl.wms.sb.repair.service.DevicerepairrequestService; import org.nl.wms.sb.repair.service.dto.DevicerepairrequestDto; @@ -74,6 +76,44 @@ public class DevicerepairrequestServiceImpl implements DevicerepairrequestServic return json; } + @Override + public Map query2(Map whereJson, Pageable page) { + DeptService deptService = SpringContextHolder.getBean(DeptService.class); + + String material_type_id = MapUtil.getStr(whereJson, "material_type_id"); + String device_code = MapUtil.getStr(whereJson, "device_code"); + String request_code = MapUtil.getStr(whereJson, "request_code"); + String status = MapUtil.getStr(whereJson, "status"); + String begin_time = MapUtil.getStr(whereJson, "begin_time"); + String end_time = MapUtil.getStr(whereJson, "end_time"); + String class_idStr = (String) whereJson.get("class_idStr"); + + HashMap map = new HashMap<>(); + map.put("flag", "3"); + map.put("begin_time", begin_time); + map.put("end_time", end_time); + map.put("status", status); + if (ObjectUtil.isNotEmpty(device_code)) map.put("device_code","%"+device_code+"%"); + if (ObjectUtil.isNotEmpty(request_code)) map.put("request_code","%"+request_code+"%"); + //处理物料当前节点的所有子节点 + if (!StrUtil.isEmpty(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); + } + // 归属部门 + String dept_id = MapUtil.getStr(whereJson, "dept_id"); + if (!StrUtil.isEmpty(dept_id)) { + String deptIds = deptService.getChildIdStr(Long.parseLong(dept_id)); + map.put("deptIds", deptIds); + } + JSONObject json = WQL.getWO("EM_BI_DEVICEREPAIRREQUEST001").addParamMap(map).pageQuery(WqlUtil.getHttpContext(page), "mst.create_time DESC"); + return json; + } + @Override public List queryAll(Map whereJson) { WQLObject wo = WQLObject.getWQLObject("em_bi_devicerepairrequest"); @@ -176,7 +216,7 @@ public class DevicerepairrequestServiceImpl implements DevicerepairrequestServic jsonFile.put("status","20"); fileTab.update(jsonFile); - // 2.更新设备保修单 + // 2.更新设备报修单 JSONObject jsonRequest = requestTab.query("request_id = '" + whereJson.getString("request_id") + "'").uniqueResult(0); jsonRequest.put("is_passed", "1"); jsonRequest.put("status", "02"); @@ -192,6 +232,7 @@ public class DevicerepairrequestServiceImpl implements DevicerepairrequestServic jsonReMst.put("devicerecord_id", jsonRequest.get("devicerecord_id")); jsonReMst.put("maintenancecycle", "02"); jsonReMst.put("invstatus", "01"); + jsonReMst.put("product_person_name", jsonRequest.getString("product_person_name")); jsonReMst.put("fault_desc", jsonRequest.getString("fault_desc")); jsonReMst.put("fault_level", jsonRequest.getString("fault_level")); jsonReMst.put("plan_start_date", DateUtil.today()); diff --git a/mes/hd/nladmin-system/src/main/java/org/nl/wms/sb/repair/wql/EM_BI_DEVICEREPAIRREQUEST001.wql b/mes/hd/nladmin-system/src/main/java/org/nl/wms/sb/repair/wql/EM_BI_DEVICEREPAIRREQUEST001.wql index 3e6cc875..2123b895 100644 --- a/mes/hd/nladmin-system/src/main/java/org/nl/wms/sb/repair/wql/EM_BI_DEVICEREPAIRREQUEST001.wql +++ b/mes/hd/nladmin-system/src/main/java/org/nl/wms/sb/repair/wql/EM_BI_DEVICEREPAIRREQUEST001.wql @@ -20,6 +20,7 @@ 输入.request_code TYPEAS s_string 输入.begin_time TYPEAS s_string 输入.end_time TYPEAS s_string + 输入.deptIds TYPEAS f_string [临时表] @@ -107,5 +108,61 @@ ENDPAGEQUERY ENDIF + IF 输入.flag = "3" + PAGEQUERY + SELECT + mst.*, + class.class_name, + file.device_code, + file.device_name, + file.extend_code, + class2.device_faultclass_name, + d1.name AS dept_name, + d2.name AS use_name + FROM + EM_BI_DeviceRepairRequest mst + LEFT JOIN EM_BI_EquipmentFile file ON file.devicerecord_id = mst.devicerecord_id + LEFT JOIN md_pb_classstandard class ON file.material_type_id = class.class_id + LEFT JOIN EM_BI_DeviceFaultClass class2 ON mst.device_faultclass_id = class2.device_faultclass_id + LEFT JOIN sys_dept d1 ON file.belong_deptid = d1.dept_id + LEFT JOIN sys_dept d2 ON file.use_groupid = d2.dept_id + WHERE + mst.is_delete = '0' + AND file.is_delete = '0' + + OPTION 输入.device_code <> "" + (file.device_code like 输入.device_code or + file.device_name like 输入.device_code) + ENDOPTION + + OPTION 输入.request_code <> "" + (mst.request_code like 输入.request_code or + mst.request_code like 输入.request_code) + ENDOPTION + + OPTION 输入.classIds <> "" + class.class_id in 输入.classIds + ENDOPTION + + OPTION 输入.deptIds <> "" + d1.dept_id in 输入.deptIds + ENDOPTION + + OPTION 输入.status <> "" + mst.status = 输入.status + ENDOPTION + + OPTION 输入.begin_time <> "" + mst.create_time >= 输入.begin_time + ENDOPTION + + OPTION 输入.end_time <> "" + mst.create_time <= 输入.end_time + ENDOPTION + + ENDSELECT + ENDPAGEQUERY + ENDIF + diff --git a/mes/qd/src/views/wms/sb/repair/devicerepairpa/ExecuteDialog.vue b/mes/qd/src/views/wms/sb/repair/devicerepairpa/ExecuteDialog.vue index 852df758..6eff7242 100644 --- a/mes/qd/src/views/wms/sb/repair/devicerepairpa/ExecuteDialog.vue +++ b/mes/qd/src/views/wms/sb/repair/devicerepairpa/ExecuteDialog.vue @@ -8,12 +8,13 @@ destroy-on-close @close="close" > - - + + - + + 结束维修 保存 关闭 @@ -65,7 +66,7 @@ - + @@ -169,14 +170,19 @@ export default { }, submitMain() { const data = this.form - if (this.form.update_optname === '') { - return this.crud.notify('维修人不能为空', CRUD.NOTIFICATION_TYPE.INFO) - } crudDevicerepairmst.submitRepair(data).then(res => { this.crud.notify('操作成功', CRUD.NOTIFICATION_TYPE.SUCCESS) this.crud.toQuery() this.dialogVisible = false }) + }, + endRepair() { + const data = this.form + crudDevicerepairmst.endRepair(data).then(res => { + this.crud.notify('操作成功', CRUD.NOTIFICATION_TYPE.SUCCESS) + this.crud.toQuery() + this.dialogVisible = false + }) } } } diff --git a/mes/qd/src/views/wms/sb/repair/devicerepairpa/StartDialog.vue b/mes/qd/src/views/wms/sb/repair/devicerepairpa/StartDialog.vue new file mode 100644 index 00000000..a1e38ae6 --- /dev/null +++ b/mes/qd/src/views/wms/sb/repair/devicerepairpa/StartDialog.vue @@ -0,0 +1,111 @@ + + + + diff --git a/mes/qd/src/views/wms/sb/repair/devicerepairpa/index.vue b/mes/qd/src/views/wms/sb/repair/devicerepairpa/index.vue index 2d1d304e..bdaa0c87 100644 --- a/mes/qd/src/views/wms/sb/repair/devicerepairpa/index.vue +++ b/mes/qd/src/views/wms/sb/repair/devicerepairpa/index.vue @@ -89,7 +89,7 @@ > 开始维修 - 维修执行 + --> + + 维修领用 结束维修 - - 维修领用 - - 维修确认 + 班组验收 + @@ -197,11 +198,12 @@ import crudMaterialbase from '@/api/wms/basedata/master/materialbase' import ExecuteDialog from '@/views/wms/sb/repair/devicerepairpa/ExecuteDialog' import resuftDialog from '@/views/wms/sb/repair/devicerepairpa/resuftDialog' import ReceiveDialog from '@/views/wms/sb/repair/devicerepairpa/ReceiveDialog' +import StartDialog from '@/views/wms/sb/repair/devicerepairpa/StartDialog' export default { name: 'Devicerepairpa', dicts: ['EM_DEVICE_WX_INVTYPE', 'EM_DEVICE_WX_INVSTATUS', 'EM_FAULT_LEVEL'], - components: { pagination, crudOperation, rrOperation, udOperation, DateRangePicker, Treeselect, ExecuteDialog, resuftDialog, ReceiveDialog }, + components: { pagination, crudOperation, rrOperation, udOperation, DateRangePicker, Treeselect, ExecuteDialog, resuftDialog, ReceiveDialog, StartDialog }, mixins: [presenter(), header(), crud()], cruds() { return CRUD({ @@ -234,6 +236,7 @@ export default { executeDialog: false, resuftDialog: false, receiveDialog: false, + startDialog: false, permission: { } } @@ -300,18 +303,19 @@ export default { if (data.invstatus !== '02') { return this.crud.notify('只能对提交状态的单据维修', CRUD.NOTIFICATION_TYPE.INFO) } - crudDevicerepairmst.startRepair(data).then(res => { - this.crud.notify('操作成功', CRUD.NOTIFICATION_TYPE.SUCCESS) - this.crud.toQuery() - }) + this.openParam = data + this.startDialog = true }, endRepair() { const _selectData = this.$refs.table.selection const data = _selectData[0] if (data.invstatus === '03' || data.invstatus === '05') { - crudDevicerepairmst.endRepair(data).then(res => { - this.crud.notify('操作成功', CRUD.NOTIFICATION_TYPE.SUCCESS) - this.crud.toQuery() + crudDevicerepairmst.getDtl(data).then(res => { + this.openParam = { + 'form': data, + 'tableData': res + } + this.executeDialog = true }) } else { return this.crud.notify('只能对开始或者委外验收的单据结束维修', CRUD.NOTIFICATION_TYPE.INFO) diff --git a/mes/qd/src/views/wms/sb/repair/devicevprs/index.vue b/mes/qd/src/views/wms/sb/repair/devicevprs/index.vue index 4f4e6593..73a1dfe1 100644 --- a/mes/qd/src/views/wms/sb/repair/devicevprs/index.vue +++ b/mes/qd/src/views/wms/sb/repair/devicevprs/index.vue @@ -20,6 +20,15 @@ placeholder="请选择" /> + + + + + + + + + + + @@ -187,8 +204,9 @@ import crudMaterialbase from '@/api/wms/basedata/master/materialbase' import PicDialog from '@/views/wms/sb/repair/devicerepairrequest/PicDialog' import DeviceDialog from '@/views/wms/sb/upkeep/devicemaintenanceplan/DeviceDialog' import FaultDialog from '@/views/wms/sb/repair/devicevprs/FaultDialog' +import { getDepts } from '@/api/system/dept' -const defaultForm = { device_faultclass_name: null, device_code: null, request_id: null, request_code: null, devicerecord_id: null, fault_time: null, device_faultclass_id: null, fault_desc: null, fault_level: null, remark: null, status: null, create_id: null, create_name: null, create_time: null, is_passed: null, process_id: null, process_name: null, process_time: null, finish_id: null, finish_name: null, finish_time: null, is_delete: null, sysdeptid: null, syscompanyid: null } +const defaultForm = { product_person_name: null, device_faultclass_name: null, device_code: null, request_id: null, request_code: null, devicerecord_id: null, fault_time: null, device_faultclass_id: null, fault_desc: null, fault_level: null, remark: null, status: null, create_id: null, create_name: null, create_time: null, is_passed: null, process_id: null, process_name: null, process_time: null, finish_id: null, finish_name: null, finish_time: null, is_delete: null, sysdeptid: null, syscompanyid: null } export default { name: 'Devicevprs', dicts: ['EM_FAULT_LEVEL'], @@ -197,7 +215,7 @@ export default { cruds() { return CRUD({ title: '设备报修', - url: 'api/devicerepairrequest', + url: 'api/devicerepairrequest/query2', idField: 'request_id', sort: 'request_id,desc', crudMethod: { ...crudDevicerepairrequest }, @@ -216,6 +234,7 @@ export default { faultDialog: false, classes: [], class_idStr: null, + depts: [], materOpt_code: '23', statusList: [ { 'label': '生成', 'value': '01' }, @@ -234,6 +253,9 @@ export default { ], fault_level: [ { required: true, message: '故障等级不能为空', trigger: 'blur' } + ], + product_person_name: [ + { required: true, message: '班组配合人不能为空', trigger: 'blur' } ] } } @@ -248,6 +270,7 @@ export default { this.crud.toQuery() this.queryClassId() }) + this.getDepts() }, methods: { // 钩子:在获取表格数据之前执行,false 则代表不获取数据 @@ -350,6 +373,32 @@ export default { tableChanged(row) { this.form.device_faultclass_id = row.device_faultclass_id this.form.device_faultclass_name = row.device_faultclass_name + }, + // 获取弹窗内部门数据 + loadDepts({ action, parentNode, callback }) { + if (action === LOAD_CHILDREN_OPTIONS) { + getDepts({ enabled: true, pid: parentNode.id }).then(res => { + parentNode.children = res.content.map(function(obj) { + if (obj.hasChildren) { + obj.children = null + } + return obj + }) + setTimeout(() => { + callback() + }, 200) + }) + } + }, + getDepts() { + getDepts({ enabled: true }).then(res => { + this.depts = res.content.map(function(obj) { + if (obj.hasChildren) { + obj.children = null + } + return obj + }) + }) } } } diff --git a/mes/qd/src/views/wms/sb/upkeep/devicemaintenance/index.vue b/mes/qd/src/views/wms/sb/upkeep/devicemaintenance/index.vue index c129d874..4c8e36b2 100644 --- a/mes/qd/src/views/wms/sb/upkeep/devicemaintenance/index.vue +++ b/mes/qd/src/views/wms/sb/upkeep/devicemaintenance/index.vue @@ -98,7 +98,7 @@ :disabled="crud.selections.length !== 1" @click="createExcel" > - 生成设备保养 + 生成保养单