代码更新

This commit is contained in:
2022-09-30 15:19:09 +08:00
parent c96a961af3
commit 38b68fd258
7 changed files with 194 additions and 18 deletions

View File

@@ -93,7 +93,7 @@ public class DeviceBigScreenServiceImpl implements DeviceBigScreenService {
json.put("dept_name_jm", "0"); json.put("dept_name_jm", "0");
} }
// 当前日期 // 当前日期
json.put("device_date", run_date); json.put("device_date", run_date.substring(5, 10));
resultArr.add(json); resultArr.add(json);
} }
@@ -298,8 +298,13 @@ public class DeviceBigScreenServiceImpl implements DeviceBigScreenService {
jsonObject.put("not_num", jsonObject.getString("need_num")); jsonObject.put("not_num", jsonObject.getString("need_num"));
// 完成率:已保养台数/需保养台数 // 完成率:已保养台数/需保养台数
try {
String div = NumberUtil.div(jsonObject.getShort("end_num"), jsonObject.getShort("need_num")).toString(); String div = NumberUtil.div(jsonObject.getShort("end_num"), jsonObject.getShort("need_num")).toString();
jsonObject.put("confirm_rate", NumberUtil.round(NumberUtil.mul(div, "100"), 2)); jsonObject.put("confirm_rate", NumberUtil.round(NumberUtil.mul(div, "100"), 2));
} catch (Exception e) {
jsonObject.put("confirm_rate", "0.0");
}
resultArr.add(jsonObject); resultArr.add(jsonObject);
} }
@@ -418,12 +423,17 @@ public class DeviceBigScreenServiceImpl implements DeviceBigScreenService {
String one_all_time = "0"; // 一台设备30天的维修时间 String one_all_time = "0"; // 一台设备30天的维修时间
JSONArray jsonReArr = WQL.getWO("EM_DEVICEBIGSCREEN_03").addParamMap(map).process().getResultJSONArray(0); JSONArray jsonReArr = WQL.getWO("EM_DEVICEBIGSCREEN_03").addParamMap(map).process().getResultJSONArray(0);
for (int k = 0; k < jsonReArr.size(); k++) { for (int k = 0; k < jsonReArr.size(); k++) {
JSONObject jsonObject = jsonReArr.getJSONObject(k); Object o = jsonReArr.get(k);
JSONObject jsonObject = JSONObject.parseObject(o.toString());
Date date_finish_time = DateUtil.parse(jsonObject.getString("finish_time")); // 报修完成时间 Date date_finish_time = DateUtil.parse(jsonObject.getString("finish_time")); // 报修完成时间
Date date_create_time = DateUtil.parse(jsonObject.getString("create_time")); // 报修时间 Date date_create_time = DateUtil.parse(jsonObject.getString("create_time")); // 报修时间
// 一台设备一天的维修时间 // 一台设备一天的维修时间
long one_day_time = DateUtil.between(date_create_time, date_finish_time, DateUnit.HOUR, false); long one_day_time = 0;
try {
one_day_time = DateUtil.between(date_create_time, date_finish_time, DateUnit.HOUR, false);
} catch (Exception e) {
}
one_all_time = NumberUtil.add(one_all_time,String.valueOf(one_day_time)).toString(); one_all_time = NumberUtil.add(one_all_time,String.valueOf(one_day_time)).toString();
} }

View File

@@ -12,6 +12,7 @@ import com.alibaba.fastjson.JSON;
import lombok.RequiredArgsConstructor; import lombok.RequiredArgsConstructor;
import org.nl.exception.BadRequestException; import org.nl.exception.BadRequestException;
import org.nl.modules.security.service.dto.JwtUserDto; import org.nl.modules.security.service.dto.JwtUserDto;
import org.nl.modules.system.service.DeptService;
import org.nl.modules.system.service.impl.ParamServiceImpl; import org.nl.modules.system.service.impl.ParamServiceImpl;
import org.nl.modules.system.util.CodeUtil; import org.nl.modules.system.util.CodeUtil;
import org.nl.utils.SpringContextHolder; import org.nl.utils.SpringContextHolder;
@@ -552,6 +553,7 @@ public class DevicerepairmstServiceImpl implements DevicerepairmstService {
JSONObject jsonMst = reMstTab.query("repair_id = '" + whereJson.getString("repair_id") + "'").uniqueResult(0); JSONObject jsonMst = reMstTab.query("repair_id = '" + whereJson.getString("repair_id") + "'").uniqueResult(0);
jsonMst.put("invstatus", "05"); jsonMst.put("invstatus", "05");
jsonMst.put("outsourceback_remark", whereJson.getString("outsourceback_remark"));
jsonMst.put("outsourceback_optid", currentUserId); jsonMst.put("outsourceback_optid", currentUserId);
jsonMst.put("outsourceback_optname", nickName); jsonMst.put("outsourceback_optname", nickName);
jsonMst.put("outsourceback_time", DateUtil.now()); jsonMst.put("outsourceback_time", DateUtil.now());
@@ -996,6 +998,8 @@ public class DevicerepairmstServiceImpl implements DevicerepairmstService {
@Override @Override
public Map<String, Object> query5(Map whereJson, Pageable page) { public Map<String, Object> query5(Map whereJson, Pageable page) {
DeptService deptService = SpringContextHolder.getBean(DeptService.class);
String device_code = MapUtil.getStr(whereJson, "device_code"); String device_code = MapUtil.getStr(whereJson, "device_code");
String repair_code = MapUtil.getStr(whereJson, "repair_code"); String repair_code = MapUtil.getStr(whereJson, "repair_code");
String maintenancecycle = MapUtil.getStr(whereJson, "maintenancecycle"); String maintenancecycle = MapUtil.getStr(whereJson, "maintenancecycle");
@@ -1022,6 +1026,12 @@ public class DevicerepairmstServiceImpl implements DevicerepairmstService {
String classIds = classstandardService.getAllChildIdStr(class_idStr); String classIds = classstandardService.getAllChildIdStr(class_idStr);
map.put("classIds", classIds); 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_DEVICEREPAIR001").addParamMap(map).pageQuery(WqlUtil.getHttpContext(page), "mst.input_time DESC"); JSONObject json = WQL.getWO("EM_BI_DEVICEREPAIR001").addParamMap(map).pageQuery(WqlUtil.getHttpContext(page), "mst.input_time DESC");
return json; return json;
} }

View File

@@ -27,6 +27,7 @@
输入.sparepart_only_id TYPEAS s_string 输入.sparepart_only_id TYPEAS s_string
输入.material_code TYPEAS s_string 输入.material_code TYPEAS s_string
输入.devicerecord_id TYPEAS s_string 输入.devicerecord_id TYPEAS s_string
输入.deptIds TYPEAS f_string
[临时表] [临时表]
@@ -423,6 +424,10 @@
mst.plan_start_date <= 输入.end_time mst.plan_start_date <= 输入.end_time
ENDOPTION ENDOPTION
OPTION 输入.deptIds <> ""
d2.dept_id in 输入.deptIds
ENDOPTION
ENDSELECT ENDSELECT
ENDPAGEQUERY ENDPAGEQUERY
ENDIF ENDIF

View File

@@ -20,6 +20,15 @@
placeholder="请选择" placeholder="请选择"
/> />
</el-form-item> </el-form-item>
<el-form-item label="使用班组">
<treeselect
v-model="query.dept_id"
:load-options="loadDepts"
:options="depts"
style="width: 200px;"
placeholder="请选择"
/>
</el-form-item>
<el-form-item label="设备"> <el-form-item label="设备">
<el-input <el-input
v-model="query.device_code" v-model="query.device_code"
@@ -142,6 +151,7 @@ import Treeselect, { LOAD_CHILDREN_OPTIONS } from '@riophae/vue-treeselect'
import '@riophae/vue-treeselect/dist/vue-treeselect.css' import '@riophae/vue-treeselect/dist/vue-treeselect.css'
import crudMaterialbase from '@/api/wms/basedata/master/materialbase' import crudMaterialbase from '@/api/wms/basedata/master/materialbase'
import AddDialog from '@/views/wms/sb/repair/devicerepair/AddDialog' import AddDialog from '@/views/wms/sb/repair/devicerepair/AddDialog'
import { getDepts } from '@/api/system/dept'
export default { export default {
name: 'Devicegridcheck', name: 'Devicegridcheck',
@@ -167,6 +177,7 @@ export default {
data() { data() {
return { return {
classes: [], classes: [],
depts: [],
class_idStr: null, class_idStr: null,
materOpt_code: '23', materOpt_code: '23',
permission: { permission: {
@@ -183,6 +194,7 @@ export default {
this.crud.toQuery() this.crud.toQuery()
this.queryClassId() this.queryClassId()
}) })
this.getDepts()
}, },
methods: { methods: {
// 钩子在获取表格数据之前执行false 则代表不获取数据 // 钩子在获取表格数据之前执行false 则代表不获取数据
@@ -240,6 +252,32 @@ export default {
this.crud.toQuery() this.crud.toQuery()
}) })
}, },
// 获取弹窗内部门数据
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
})
})
}
} }
} }
</script> </script>

View File

@@ -0,0 +1,111 @@
<template>
<el-dialog
title="委外验收"
append-to-body
:visible.sync="dialogVisible"
:before-close="handleClose"
width="550px"
destroy-on-close
@close="close"
>
<el-form ref="form" :inline="true" :model="form4" size="mini" label-width="120px" label-suffix=":">
<el-row>
<el-col :span="24">
<el-form-item label="委外单位" prop="outsourceback_remark">
<el-input v-model="form4.outsourceback_remark" style="width: 200px;" />
</el-form-item>
</el-col>
</el-row>
</el-form>
<span slot="footer" class="dialog-footer">
<el-button icon="el-icon-check" size="mini" type="primary" @click="submitResuft">保存</el-button>
<el-button icon="el-icon-close" size="mini" type="info" @click="close">关闭</el-button>
</span>
</el-dialog>
</template>
<script>
import CRUD, { crud } from '@crud/crud'
import crudDevicerepairmst from '@/api/wms/sb/devicerepairmst'
export default {
name: 'OutDialog',
mixins: [crud()],
props: {
dialogShow: {
type: Boolean,
default: false
},
openParam: {
type: Object
}
},
watch: {
dialogShow: {
handler(newValue, oldValue) {
this.dialogVisible = newValue
this.form4 = this.openParam
}
}
},
data() {
return {
form4: {
},
dialogVisible: false
}
},
methods: {
handleClose(done) {
this.$confirm('确认关闭?')
.then(_ => {
done()
})
.catch(_ => {
})
},
close() {
this.$emit('update:dialogShow', false)
},
submitResuft() {
if (!this.form4.outsourceback_remark) {
return this.crud.notify('委外单位不能为空', CRUD.NOTIFICATION_TYPE.INFO)
}
const data = this.form4
crudDevicerepairmst.checkRepair(data).then(res => {
this.crud.notify('操作成功', CRUD.NOTIFICATION_TYPE.SUCCESS)
this.dialogVisible = false
this.crud.toQuery()
})
}
}
}
</script>
<style>
.crud-opts2 {
padding: 0;
display: -webkit-flex;
display: flex;
align-items: center;
}
.crud-opts2 .el-dialog__title2 {
line-height: 24px;
font-size:20px;
color:#303133;
}
.crud-opts2 .role-span {
padding: 10px 0px 10px 0px;
}
.crud-opts2 .crud-opts-form {
padding: 10px 0px 0px 20px;
}
.input-with-select {
background-color: #fff;
}
</style>

View File

@@ -134,6 +134,7 @@
<!--分页组件--> <!--分页组件-->
<pagination /> <pagination />
</div> </div>
<OutDialog :dialog-show.sync="OutDialog" :open-param="openParam" />
</div> </div>
</template> </template>
@@ -149,11 +150,12 @@ import crudClassstandard from '@/api/wms/basedata/master/classstandard'
import Treeselect, { LOAD_CHILDREN_OPTIONS } from '@riophae/vue-treeselect' import Treeselect, { LOAD_CHILDREN_OPTIONS } from '@riophae/vue-treeselect'
import '@riophae/vue-treeselect/dist/vue-treeselect.css' import '@riophae/vue-treeselect/dist/vue-treeselect.css'
import crudMaterialbase from '@/api/wms/basedata/master/materialbase' import crudMaterialbase from '@/api/wms/basedata/master/materialbase'
import OutDialog from '@/views/wms/sb/repair/devicerepaorout/OutDialog'
export default { export default {
name: 'Devicerepaorout', name: 'Devicerepaorout',
dicts: ['EM_DEVICE_WX_INVTYPE', 'EM_DEVICE_WX_INVSTATUS', 'EM_FAULT_LEVEL'], dicts: ['EM_DEVICE_WX_INVTYPE', 'EM_DEVICE_WX_INVSTATUS', 'EM_FAULT_LEVEL'],
components: { pagination, crudOperation, rrOperation, udOperation, DateRangePicker, Treeselect }, components: { pagination, crudOperation, rrOperation, udOperation, DateRangePicker, Treeselect, OutDialog },
mixins: [presenter(), header(), crud()], mixins: [presenter(), header(), crud()],
cruds() { cruds() {
return CRUD({ return CRUD({
@@ -175,6 +177,8 @@ export default {
return { return {
classes: [], classes: [],
class_idStr: null, class_idStr: null,
OutDialog: false,
openParam: null,
materOpt_code: '23', materOpt_code: '23',
permission: { permission: {
} }
@@ -253,10 +257,8 @@ export default {
if (data.invstatus !== '04') { if (data.invstatus !== '04') {
return this.crud.notify('只能对委外维修状态的单据验收', CRUD.NOTIFICATION_TYPE.INFO) return this.crud.notify('只能对委外维修状态的单据验收', CRUD.NOTIFICATION_TYPE.INFO)
} }
crudDevicerepairmst.checkRepair(data).then(res => { this.openParam = data
this.crud.notify('操作成功', CRUD.NOTIFICATION_TYPE.SUCCESS) this.OutDialog = true
this.crud.toQuery()
})
} }
} }
} }

View File

@@ -2,21 +2,21 @@
<div class="login" :style="'background-image:url('+ Background +');'"> <div class="login" :style="'background-image:url('+ Background +');'">
<div style="font-size: 22px; color: #f4f4f5; text-align: center; background-color: transparent">武汉新锐设备管理任务看板</div> <div style="font-size: 22px; color: #f4f4f5; text-align: center; background-color: transparent">武汉新锐设备管理任务看板</div>
<div class="t_btn2"> <div class="t_btn2">
<el-table border style="width: 100%;" :data="tableData" max-height="700" :cell-style="cellStyle" :row-style="setRowStyle" :highlight-current-row="true" > <el-table :border="false" style="width: 100%;" :data="tableData" max-height="700" :cell-style="cellStyle" :row-style="setRowStyle" :highlight-current-row="true" >
<el-table-column type="index" label="序号" width="55" align="center" /> <el-table-column type="index" label="序号" width="55" align="center" />
<el-table-column prop="input_time" label="生成时间" show-overflow-tooltip /> <el-table-column prop="input_time" label="报修时间" show-overflow-tooltip />
<el-table-column prop="repair_code" label="任务号" show-overflow-tooltip /> <el-table-column prop="repair_code" label="任务号" show-overflow-tooltip />
<el-table-column prop="maintenancecycle" label="任务类型" /> <el-table-column prop="maintenancecycle" label="任务类型" />
<el-table-column prop="fault_level" label="故障等级" />
<!-- <el-table-column prop="" label="部门" />-->
<el-table-column prop="fault_desc" width="170px" label="故障描述" />
<el-table-column prop="device_name" width="150px" label="设备名称" /> <el-table-column prop="device_name" width="150px" label="设备名称" />
<el-table-column prop="extend_code" label="自编号" show-overflow-tooltip /> <el-table-column prop="extend_code" label="自编号" show-overflow-tooltip />
<el-table-column prop="fault_desc" width="170px" label="故障描述" />
<el-table-column prop="fault_level" label="故障等级" />
<el-table-column prop="dept_name" label="使用部门" show-overflow-tooltip /> <el-table-column prop="dept_name" label="使用部门" show-overflow-tooltip />
<el-table-column prop="invstatus" label="状态" /> <el-table-column prop="invstatus" label="状态" />
<el-table-column prop="user_name" width="170px" label="维修/保养人" /> <el-table-column prop="user_name" width="170px" label="维修/保养人" />
<el-table-column prop="real_start_date" width="150px" label="开始时间" show-overflow-tooltip /> <el-table-column prop="real_start_date" width="150px" label="开始时间" show-overflow-tooltip />
<el-table-column prop="real_end_date" width="150px" label="结束时间" show-overflow-tooltip /> <el-table-column prop="real_end_date" width="150px" label="结束时间" show-overflow-tooltip />
<!-- <el-table-column prop="" label="部门" />-->
</el-table> </el-table>
</div> </div>
</div> </div>
@@ -127,10 +127,10 @@ export default {
/* 去除表头边框 */ /* 去除表头边框 */
border: none; border: none;
} }
.t_btn2 >>> .el-table__row>td { /*.t_btn2 >>> .el-table__row>td {
/* 去除表格线 */ !* 去除表格线 *!
border: none; border: none;
} }*/
.t_btn2 >>> .el-table th { .t_btn2 >>> .el-table th {
/* 设置表头的颜色和字体颜色 */ /* 设置表头的颜色和字体颜色 */
background-color: #012957; background-color: #012957;