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 abaef466..f6d8dc70 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/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 @@ - +