From 8a8b05a77ccb9b20b05b76b1705dcce8f6d50e1f Mon Sep 17 00:00:00 2001 From: liuxy Date: Tue, 11 Oct 2022 14:51:04 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BB=A3=E7=A0=81=E6=9B=B4=E6=96=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/org/nl/wms/basedata/em/wql/em.xls | Bin 311808 -> 313344 bytes .../rest/DeviceBigScreenController.java | 7 ++++ .../service/DeviceBigScreenService.java | 6 ++++ .../impl/DeviceBigScreenServiceImpl.java | 19 +++++++++++ .../impl/DevicerepairmstServiceImpl.java | 24 +++++++++++-- .../impl/DevicerepairrequestServiceImpl.java | 12 +++++++ .../sb/repair/wql/EM_BI_DEVICEREPAIR001.wql | 3 +- .../wql/EM_BI_DEVICEREPAIRREQUEST001.wql | 19 +++++++++++ .../DevicemaintenanceplanmstServiceImpl.java | 19 +++++++---- .../wql/EM_BIDEVICEMAINTENANCEPLAN001.wql | 5 ++- .../wms/sb/repair/devicegridcheck/index.vue | 32 +++++++++++++++--- .../wms/sb/repair/devicerepair/AddDialog.vue | 4 +-- .../wms/sb/repair/devicerepair/index.vue | 4 +-- .../wms/sb/repair/devicerepairpa/index.vue | 24 +++++++++---- .../views/wms/sb/repair/devicevprs/index.vue | 2 +- 15 files changed, 153 insertions(+), 27 deletions(-) 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 abaef46600a202c3509577b9eb5c0c5ddb209adc..f6d8dc701ccd87d3267bae380f548f3803df5d02 100644 GIT binary patch delta 35458 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 delta 33984 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 OyX!z+eC=Ux;Qs+$wT<2Y diff --git a/mes/hd/nladmin-system/src/main/java/org/nl/wms/sb/bigscreen/rest/DeviceBigScreenController.java b/mes/hd/nladmin-system/src/main/java/org/nl/wms/sb/bigscreen/rest/DeviceBigScreenController.java index 05b17041..fe3ac655 100644 --- a/mes/hd/nladmin-system/src/main/java/org/nl/wms/sb/bigscreen/rest/DeviceBigScreenController.java +++ b/mes/hd/nladmin-system/src/main/java/org/nl/wms/sb/bigscreen/rest/DeviceBigScreenController.java @@ -69,4 +69,11 @@ public class DeviceBigScreenController { public ResponseEntity getDeviceGroupStatus(){ return new ResponseEntity<>(deviceBigScreenService.getDeviceGroupStatus(),HttpStatus.OK); } + + @PostMapping("/getTodayTask") + @Log("当日任务列表") + @ApiOperation("当日任务列表") + public ResponseEntity getTodayTask(){ + return new ResponseEntity<>(deviceBigScreenService.getTodayTask(),HttpStatus.OK); + } } diff --git a/mes/hd/nladmin-system/src/main/java/org/nl/wms/sb/bigscreen/service/DeviceBigScreenService.java b/mes/hd/nladmin-system/src/main/java/org/nl/wms/sb/bigscreen/service/DeviceBigScreenService.java index 413e21a8..dd68213c 100644 --- a/mes/hd/nladmin-system/src/main/java/org/nl/wms/sb/bigscreen/service/DeviceBigScreenService.java +++ b/mes/hd/nladmin-system/src/main/java/org/nl/wms/sb/bigscreen/service/DeviceBigScreenService.java @@ -45,4 +45,10 @@ public interface DeviceBigScreenService { * @return JSONObject */ JSONObject getDeviceGroupStatus(); + + /** + * 当日任务列表 + * @return JSONObject + */ + JSONObject getTodayTask(); } diff --git a/mes/hd/nladmin-system/src/main/java/org/nl/wms/sb/bigscreen/service/impl/DeviceBigScreenServiceImpl.java b/mes/hd/nladmin-system/src/main/java/org/nl/wms/sb/bigscreen/service/impl/DeviceBigScreenServiceImpl.java index cbc37a3b..06342d9f 100644 --- a/mes/hd/nladmin-system/src/main/java/org/nl/wms/sb/bigscreen/service/impl/DeviceBigScreenServiceImpl.java +++ b/mes/hd/nladmin-system/src/main/java/org/nl/wms/sb/bigscreen/service/impl/DeviceBigScreenServiceImpl.java @@ -14,6 +14,7 @@ import org.nl.wql.core.bean.WQLObject; import org.springframework.stereotype.Service; import java.util.Date; +import java.util.HashMap; @Service @RequiredArgsConstructor @@ -476,4 +477,22 @@ public class DeviceBigScreenServiceImpl implements DeviceBigScreenService { resultJson.put("desc", "查询成功"); return resultJson; } + + @Override + public JSONObject getTodayTask() { + JSONObject resultJson = new JSONObject(); + JSONObject resultData = new JSONObject(); + + + HashMap map = new HashMap<>(); + map.put("flag", "4"); + + JSONArray resultJSONArray = WQL.getWO("TASK_AUTOWEBSOCKETTSK").addParamMap(map).process().getResultJSONArray(0); + resultData.put("device_group_arr", resultJSONArray); + + resultJson.put("srb", resultData); + resultJson.put("code", "1"); + resultJson.put("desc", "查询成功"); + return resultJson; + } } 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 1c352b1e..12e12374 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 @@ -2,7 +2,10 @@ package org.nl.wms.sb.repair.service.impl; +import cn.hutool.core.date.DateTime; +import cn.hutool.core.date.DateUnit; import cn.hutool.core.map.MapUtil; +import cn.hutool.core.util.NumberUtil; import cn.hutool.core.util.StrUtil; import com.alibaba.excel.EasyExcel; import com.alibaba.excel.ExcelWriter; @@ -370,7 +373,7 @@ public class DevicerepairmstServiceImpl implements DevicerepairmstService { // 1.判断维修单明细中是否完成 都为是,不是则报错 JSONArray reDtlArr = reDtlTab.query("repair_id = '" + whereJson.getString("repair_id") + "'").getResultJSONArray(0); - if (ObjectUtil.isEmpty(reDtlArr)) throw new BadRequestException("明细为空"); + if (ObjectUtil.isEmpty(reDtlArr)) throw new BadRequestException("明细不能为空"); for (int i = 0; i < reDtlArr.size(); i++) { JSONObject json = reDtlArr.getJSONObject(i); if (!StrUtil.equals(json.getString("isfinish"), "1")) { @@ -735,6 +738,7 @@ public class DevicerepairmstServiceImpl implements DevicerepairmstService { jsonSpareBom.put("qty", json.get("qty")); jsonSpareBom.put("qty_unit_id", json.get("qty_unit_id")); jsonSpareBom.put("qty_unit_name", json.getString("qty_unit_name")); + jsonSpareBom.put("current_change", DateUtil.now()); spareBOMTab.insert(jsonSpareBom); } else { JSONObject jsonSpareBom = spareBOMTab.query("sparepart_only_id = '" + old_sparepart_only_id + "'").uniqueResult(0); @@ -744,6 +748,23 @@ public class DevicerepairmstServiceImpl implements DevicerepairmstService { jsonSpareBom.put("qty", json.get("qty")); jsonSpareBom.put("qty_unit_id", json.get("qty_unit_id")); jsonSpareBom.put("qty_unit_name", json.getString("qty_unit_name")); + jsonSpareBom.put("last_change", jsonSpareBom.getString("current_change")); + jsonSpareBom.put("current_change", DateUtil.now()); + // 间隔时间:本次更新时间 - 上次更新时间(天) + String last_change = jsonSpareBom.getString("last_change"); + String current_change = jsonSpareBom.getString("current_change"); + if (ObjectUtil.isNotEmpty(last_change) && ObjectUtil.isNotEmpty(current_change)) { + // 都不为空才能插入间隔时间 + DateTime date1 = DateUtil.parse(last_change); + DateTime date2 = DateUtil.parse(current_change); + try { + long betweenDay = DateUtil.between(date1, date2, DateUnit.HOUR); + double interval_time = NumberUtil.round(NumberUtil.div(betweenDay, 24), 1).doubleValue(); + jsonSpareBom.put("interval_time",interval_time); + } catch (Exception e) { + jsonSpareBom.put("interval_time",""); + } + } spareBOMTab.update(jsonSpareBom); } @@ -1035,5 +1056,4 @@ public class DevicerepairmstServiceImpl implements DevicerepairmstService { JSONObject json = WQL.getWO("EM_BI_DEVICEREPAIR001").addParamMap(map).pageQuery(WqlUtil.getHttpContext(page), "mst.input_time DESC"); return json; } - } 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 eadf9ef4..124f2862 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 @@ -145,12 +145,24 @@ public class DevicerepairrequestServiceImpl implements DevicerepairrequestServic @Override @Transactional(rollbackFor = Exception.class) public void create(DevicerepairrequestDto dto) { + DeptService deptService = SpringContextHolder.getBean(DeptService.class); + Long currentUserId = SecurityUtils.getCurrentUserId(); String nickName = SecurityUtils.getNickName(); String now = DateUtil.now(); JwtUserDto currentUser = (JwtUserDto) SecurityUtils.getCurrentUser(); Long deptId = currentUser.getDeptId(); + // 登录人所在班组下的设备维修单(结束维修) > 2 报错 + JSONObject jsonUser = WQLObject.getWQLObject("sys_user").query("user_id = '" + currentUserId + "'").uniqueResult(0); + if (ObjectUtil.isNotEmpty(jsonUser)) { + String dept_str = deptService.getChildIdStr(jsonUser.getLong("dept_id")); + JSONObject json = WQL.getWO("EM_BI_DEVICEREPAIRREQUEST001").addParam("flag", "4").addParam("deptIds", dept_str).process().uniqueResult(0); + + if (json.getIntValue("num") > 2) { + throw new BadRequestException("结束维修状态的设备数>2"); + } + } dto.setRequest_id(IdUtil.getSnowflake(1, 1).nextId()); dto.setRequest_code(CodeUtil.getNewCode("BXD_CODE")); diff --git a/mes/hd/nladmin-system/src/main/java/org/nl/wms/sb/repair/wql/EM_BI_DEVICEREPAIR001.wql b/mes/hd/nladmin-system/src/main/java/org/nl/wms/sb/repair/wql/EM_BI_DEVICEREPAIR001.wql index c256e2f1..62e5bd85 100644 --- a/mes/hd/nladmin-system/src/main/java/org/nl/wms/sb/repair/wql/EM_BI_DEVICEREPAIR001.wql +++ b/mes/hd/nladmin-system/src/main/java/org/nl/wms/sb/repair/wql/EM_BI_DEVICEREPAIR001.wql @@ -264,6 +264,7 @@ SELECT mst.*, class.class_name, + file.material_type_id, file.device_code, file.device_name, file.extend_code, @@ -283,7 +284,7 @@ WHERE mst.is_delete = '0' AND file.is_delete = '0' - AND mst.invstatus not in ('01','04','06','99') + AND mst.invstatus not in ('04','06','99') OPTION 输入.device_code <> "" (file.device_code like 输入.device_code or 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 4ecdae6f..f49e898e 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 @@ -165,5 +165,24 @@ ENDPAGEQUERY ENDIF + IF 输入.flag = "4" + QUERY + SELECT + count(*) AS num + FROM + EM_BI_DeviceRepairMst mst + LEFT JOIN EM_BI_EquipmentFile file ON file.devicerecord_id = mst.devicerecord_id + WHERE + mst.is_delete = '0' + AND file.is_delete = '0' + AND mst.invstatus = '06' + + OPTION 输入.deptIds <> "" + file.use_groupid in 输入.deptIds + ENDOPTION + ENDSELECT + ENDQUERY + ENDIF + diff --git a/mes/hd/nladmin-system/src/main/java/org/nl/wms/sb/upkeep/service/impl/DevicemaintenanceplanmstServiceImpl.java b/mes/hd/nladmin-system/src/main/java/org/nl/wms/sb/upkeep/service/impl/DevicemaintenanceplanmstServiceImpl.java index 1798597f..d723689f 100644 --- a/mes/hd/nladmin-system/src/main/java/org/nl/wms/sb/upkeep/service/impl/DevicemaintenanceplanmstServiceImpl.java +++ b/mes/hd/nladmin-system/src/main/java/org/nl/wms/sb/upkeep/service/impl/DevicemaintenanceplanmstServiceImpl.java @@ -270,16 +270,21 @@ public class DevicemaintenanceplanmstServiceImpl implements Devicemaintenancepla map.put("useIds", useIds); } - // 获取当前登陆用户 - Long currentUserId = SecurityUtils.getCurrentUserId(); - JSONObject jsonUser = WQLObject.getWQLObject("sys_user").query("user_id = '" + currentUserId + "'").uniqueResult(0); - if (ObjectUtil.isNotEmpty(jsonUser)) { - String dept_str = deptService.getChildIdStr(jsonUser.getLong("dept_id")); - if (ObjectUtil.isNotEmpty(dept_str)) { - map.put("dept_str",dept_str); + // 如果班组为空 则默认当前用户部门 + if (ObjectUtil.isEmpty(use_id) && ObjectUtil.isEmpty(dept_id)) { + // 获取当前登陆用户 + Long currentUserId = SecurityUtils.getCurrentUserId(); + JSONObject jsonUser = WQLObject.getWQLObject("sys_user").query("user_id = '" + currentUserId + "'").uniqueResult(0); + if (ObjectUtil.isNotEmpty(jsonUser)) { + String dept_str = deptService.getChildIdStr(jsonUser.getLong("dept_id")); + if (ObjectUtil.isNotEmpty(dept_str)) { + map.put("dept_str",dept_str); + } } } + + JSONObject json = WQL.getWO("EM_BIDEVICEMAINTENANCEPLAN001").addParamMap(map).pageQuery(WqlUtil.getHttpContext(page), "file.update_time DESC"); return json; } diff --git a/mes/hd/nladmin-system/src/main/java/org/nl/wms/sb/upkeep/wql/EM_BIDEVICEMAINTENANCEPLAN001.wql b/mes/hd/nladmin-system/src/main/java/org/nl/wms/sb/upkeep/wql/EM_BIDEVICEMAINTENANCEPLAN001.wql index 667e75fc..68512430 100644 --- a/mes/hd/nladmin-system/src/main/java/org/nl/wms/sb/upkeep/wql/EM_BIDEVICEMAINTENANCEPLAN001.wql +++ b/mes/hd/nladmin-system/src/main/java/org/nl/wms/sb/upkeep/wql/EM_BIDEVICEMAINTENANCEPLAN001.wql @@ -177,7 +177,6 @@ WHERE file.is_delete = '0' AND file.status not in (90,91) - AND d2.dept_id in 输入.dept_str OPTION 输入.device_code <> "" (file.device_code like 输入.device_code or @@ -192,6 +191,10 @@ d2.dept_id in 输入.useIds ENDOPTION + OPTION 输入.dept_str <> "" + d2.dept_id in 输入.dept_str + ENDOPTION + ENDSELECT ENDPAGEQUERY ENDIF diff --git a/mes/qd/src/views/wms/sb/repair/devicegridcheck/index.vue b/mes/qd/src/views/wms/sb/repair/devicegridcheck/index.vue index 27f6b74b..3780dc0e 100644 --- a/mes/qd/src/views/wms/sb/repair/devicegridcheck/index.vue +++ b/mes/qd/src/views/wms/sb/repair/devicegridcheck/index.vue @@ -151,7 +151,7 @@ import Treeselect, { LOAD_CHILDREN_OPTIONS } from '@riophae/vue-treeselect' import '@riophae/vue-treeselect/dist/vue-treeselect.css' import crudMaterialbase from '@/api/wms/basedata/master/materialbase' import AddDialog from '@/views/wms/sb/repair/devicerepair/AddDialog' -import { getDepts } from '@/api/system/dept' +import { getDepts, getDeptSuperior } from '@/api/system/dept' import { mapGetters } from 'vuex' export default { @@ -186,21 +186,24 @@ export default { } }, computed: { - ...mapGetters([ - 'user' - ]) + ...mapGetters({ + user: 'user' + }) }, created() { + debugger const param = { 'materOpt_code': this.materOpt_code } crudMaterialbase.getMaterOptType(param).then(res => { this.class_idStr = res.class_idStr this.crud.query.class_idStr = this.class_idStr - this.crud.toQuery() this.queryClassId() }) this.getDepts() + this.query.dept_id = this.user.dept.id + this.getSupDepts(this.user.dept.id) + this.crud.toQuery() }, methods: { // 钩子:在获取表格数据之前执行,false 则代表不获取数据 @@ -283,6 +286,25 @@ export default { return obj }) }) + }, + getSupDepts(deptId) { + debugger + var number = parseFloat(deptId) + getDeptSuperior(number).then(res => { + const date = res.content + this.buildDepts(date) + this.depts = date + }) + }, + buildDepts(depts) { + depts.forEach(data => { + if (data.children) { + this.buildDepts(data.children) + } + if (data.hasChildren && !data.children) { + data.children = null + } + }) } } } diff --git a/mes/qd/src/views/wms/sb/repair/devicerepair/AddDialog.vue b/mes/qd/src/views/wms/sb/repair/devicerepair/AddDialog.vue index a4f4ad03..f7d03597 100644 --- a/mes/qd/src/views/wms/sb/repair/devicerepair/AddDialog.vue +++ b/mes/qd/src/views/wms/sb/repair/devicerepair/AddDialog.vue @@ -209,11 +209,11 @@ export default { }, methods: { [CRUD.HOOK.beforeSubmit]() { - const arr = this.form.tableData + /* const arr = this.form.tableData if (arr.length === 0) { this.crud.notify('明细不能为空', CRUD.NOTIFICATION_TYPE.INFO) return false - } + }*/ }, [CRUD.HOOK.afterToEdit]() { const data = { diff --git a/mes/qd/src/views/wms/sb/repair/devicerepair/index.vue b/mes/qd/src/views/wms/sb/repair/devicerepair/index.vue index aac16c3c..fed8001d 100644 --- a/mes/qd/src/views/wms/sb/repair/devicerepair/index.vue +++ b/mes/qd/src/views/wms/sb/repair/devicerepair/index.vue @@ -78,7 +78,7 @@ - 提交 - + --> 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 75a70ad1..6d17f009 100644 --- a/mes/qd/src/views/wms/sb/repair/devicerepairpa/index.vue +++ b/mes/qd/src/views/wms/sb/repair/devicerepairpa/index.vue @@ -161,6 +161,16 @@ + + + @@ -169,6 +179,7 @@ + @@ -188,11 +199,12 @@ 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' +import AddDialog from '@/views/wms/sb/repair/devicerepair/AddDialog' 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, StartDialog }, + components: { pagination, crudOperation, rrOperation, udOperation, DateRangePicker, Treeselect, ExecuteDialog, resuftDialog, ReceiveDialog, StartDialog, AddDialog }, mixins: [presenter(), header(), crud()], cruds() { return CRUD({ @@ -202,7 +214,7 @@ export default { sort: 'repair_id,desc', crudMethod: { ...crudDevicerepairmst }, optShow: { - add: false, + add: true, edit: false, del: false, download: false, @@ -249,6 +261,9 @@ export default { hand(value) { this.crud.toQuery() }, + formterStatus(row) { + return '06,07,99'.includes(row.invstatus) + }, loadClass({ action, parentNode, callback }) { if (action === LOAD_CHILDREN_OPTIONS) { crudClassstandard.getClass({ pid: parentNode.id }).then(res => { @@ -289,9 +304,6 @@ export default { startRepair() { const _selectData = this.$refs.table.selection const data = _selectData[0] - if (data.invstatus !== '02') { - return this.crud.notify('只能对提交状态的单据维修', CRUD.NOTIFICATION_TYPE.INFO) - } this.openParam = data this.startDialog = true }, @@ -383,7 +395,7 @@ export default { this.confirm_flag = false this.result_flag = false for (let i = 0; i < rows.length; i++) { - if ('01,03,04,05,06,07,99'.includes(rows[i].invstatus)) { + if ('03,04,05,06,07,99'.includes(rows[i].invstatus)) { this.start_flag = true } if ('01,02,04,05,06,07,99'.includes(rows[i].invstatus)) { 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 b23bec0e..3a9eacc9 100644 --- a/mes/qd/src/views/wms/sb/repair/devicevprs/index.vue +++ b/mes/qd/src/views/wms/sb/repair/devicevprs/index.vue @@ -168,7 +168,7 @@ - +