代码更新

This commit is contained in:
2022-11-18 14:46:17 +08:00
parent 6f3eccc9f6
commit 26cb3fd3a7
3 changed files with 194 additions and 25 deletions

View File

@@ -4,6 +4,7 @@ import cn.hutool.core.date.DateUnit;
import cn.hutool.core.date.DateUtil;
import cn.hutool.core.util.NumberUtil;
import cn.hutool.core.util.ObjectUtil;
import cn.hutool.core.util.StrUtil;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import lombok.RequiredArgsConstructor;
@@ -285,10 +286,16 @@ public class DeviceBigScreenServiceImpl implements DeviceBigScreenService {
JSONObject json = deptArr.getJSONObject(i);
JSONObject jsonObject = new JSONObject();
jsonObject.put("dept_name", json.getString("name"));
if(StrUtil.equals(json.getString("type"), "1")) {
jsonObject.put("dept_name", json.getString("name")+"(保养)");
} else {
jsonObject.put("dept_name", json.getString("name")+"(维修)");
}
// 2.根据部门code查询对应的保养台数未保养台数等
JSONObject map = new JSONObject();
map.put("flag", "2");
if(StrUtil.equals(json.getString("type"), "1")) map.put("flag", "2");
if(StrUtil.equals(json.getString("type"), "2")) map.put("flag", "21");
map.put("dept_code", json.getString("code"));
// 需保养台数: 开始日期和计划日期都为空
@@ -296,17 +303,22 @@ public class DeviceBigScreenServiceImpl implements DeviceBigScreenService {
jsonObject.put("need_num", need_num.getString("num"));
// 已保养台数:开始日期和计划日期都不为空
map.put("flag", "3");
if(StrUtil.equals(json.getString("type"), "1")) map.put("flag", "3");
if(StrUtil.equals(json.getString("type"), "2")) map.put("flag", "31");
JSONObject end_num = WQL.getWO("EM_DEVICEBIGSCREEN_02").addParamMap(map).process().uniqueResult(0);
jsonObject.put("end_num", end_num.getString("num"));
// 在保养台数:开始日期不能为空,结束日期为空
map.put("flag", "4");
if(StrUtil.equals(json.getString("type"), "1")) map.put("flag", "4");
if(StrUtil.equals(json.getString("type"), "2")) map.put("flag", "41");
JSONObject begin_num = WQL.getWO("EM_DEVICEBIGSCREEN_02").addParamMap(map).process().uniqueResult(0);
jsonObject.put("begin_num", begin_num.getString("num"));
// 未保养台数 = 需保养台数
jsonObject.put("not_num", jsonObject.getString("need_num"));
// 未保养台数
if(StrUtil.equals(json.getString("type"), "1")) map.put("flag", "5");
if(StrUtil.equals(json.getString("type"), "2")) map.put("flag", "51");
JSONObject not_num = WQL.getWO("EM_DEVICEBIGSCREEN_02").addParamMap(map).process().uniqueResult(0);
jsonObject.put("not_num", not_num.getString("num"));
// 完成率:已保养台数/需保养台数
try {
@@ -316,7 +328,6 @@ public class DeviceBigScreenServiceImpl implements DeviceBigScreenService {
jsonObject.put("confirm_rate", "0.0");
}
resultArr.add(jsonObject);
}
resultData.put("device_year_arr", resultArr);
@@ -334,22 +345,14 @@ public class DeviceBigScreenServiceImpl implements DeviceBigScreenService {
* 查询保养单明细
*/
WQLObject dtlTab = WQLObject.getWQLObject("em_bi_devicemaintenanceplandtl");
JSONObject resultJson = new JSONObject();
JSONObject resultData = new JSONObject();
JSONArray resultArr = new JSONArray();
JSONArray arr = WQL.getWO("EM_DEVICEBIGSCREEN_01").addParam("flag", "8").process().getResultJSONArray(0);
for (int i = 0; i < arr.size(); i++) {
JSONObject json = arr.getJSONObject(i);
// 明细数
JSONArray jsonDtl = dtlTab.query("maint_plan_id = '" + json.getString("maint_plan_id") + "'").getResultJSONArray(0);
if (ObjectUtil.isEmpty(jsonDtl)) {
json.put("num", "0");
} else {
json.put("num", String.valueOf(jsonDtl.size()));
}
// 保养倒计时: 计划日期 - 当前日期
Date date1 = DateUtil.parse(DateUtil.today()); // 当前日期
Date date2 = DateUtil.parse(json.getString("plan_time")); // 计划日期
@@ -364,10 +367,20 @@ public class DeviceBigScreenServiceImpl implements DeviceBigScreenService {
if (betweenDay2 < 0) {
json.put("putoff_time", String.valueOf(betweenDay2)+ "");
json.put("remark", "延期");
} else {
json.put("putoff_time", "");
}
} else {
json.put("putoff_time", "");
}
// 显示倒计时为30天以内的维保计划
if (json.getIntValue("main_time") <= 30 ) {
resultArr.add(json);
}
}
resultData.put("device_year_arr", arr);
resultData.put("device_year_arr", resultArr);
resultJson.put("srb", resultData);
resultJson.put("code", "1");

View File

@@ -191,13 +191,61 @@
END
) AS maint_object,
mst.real_start_date AS impl_time,
mst.remark,
mst.real_end_date,
mst.maint_plan_id
mst.maint_plan_id,
dtl.num,
(
CASE IFNULL(bydMst.STATUS,'')
WHEN '' THEN '未生成'
ELSE '生成'
END
) AS remark
FROM
EM_BI_DeviceMaintenancePlanMst mst
LEFT JOIN EM_BI_EquipmentFile file ON mst.devicerecord_id = file.devicerecord_id
LEFT JOIN sys_dept dept ON dept.dept_id = file.use_deptid
LEFT JOIN (
SELECT COUNT(d.maint_plan_id) AS num,d.maint_plan_id FROM EM_BI_DeviceMaintenancePlanDtl d
group by d.maint_plan_id
) AS dtl ON mst.maint_plan_id = dtl.maint_plan_id
LEFT JOIN (
SELECT COUNT(c.source_bill_id) AS status,c.source_bill_id FROM EM_BI_DeviceMaintenanceMst c
group by c.source_bill_id
) AS bydMst ON mst.maint_plan_id = bydMst.source_bill_id
WHERE
mst.is_delete = '0'
AND mst.maintenancecycle = '01'
UNION
SELECT
dept.name AS dept_name,
file.device_name,
file.device_code,
mst.plan_start_date AS plan_time,
'' AS maint_object,
mst.real_start_date AS impl_time,
mst.real_end_date,
mst.repair_plan_id AS maint_plan_id,
dtl.num,
(
CASE IFNULL(wxdMst.STATUS,'')
WHEN '' THEN '未生成'
ELSE '生成'
END
) AS remark
FROM
EM_BI_DeviceRepairPlanMst mst
LEFT JOIN EM_BI_EquipmentFile file ON mst.devicerecord_id = file.devicerecord_id
LEFT JOIN sys_dept dept ON dept.dept_id = file.use_deptid
LEFT JOIN (
SELECT COUNT(d.repair_plan_id) AS num,d.repair_plan_id FROM EM_BI_DeviceRepairPlanDtl d
group by d.repair_plan_id
) AS dtl ON mst.repair_plan_id = dtl.repair_plan_id
LEFT JOIN (
SELECT COUNT(c.source_bill_id) AS status,c.source_bill_id FROM EM_BI_DeviceRepairMst c
group by c.source_bill_id
) AS wxdMst ON mst.repair_plan_id = wxdMst.source_bill_id
WHERE
mst.is_delete = '0'
AND mst.maintenancecycle = '01'

View File

@@ -43,7 +43,8 @@
QUERY
SELECT
dept.code,
dept.name
dept.name,
'1' AS type
FROM
EM_BI_DeviceMaintenancePlanMst mst
LEFT JOIN EM_BI_EquipmentFile file ON mst.devicerecord_id = file.devicerecord_id
@@ -52,6 +53,22 @@
mst.is_delete = '0'
AND mst.maintenancecycle = '01'
group by file.use_deptid
UNION
SELECT
dept.code,
dept.name,
'2' AS type
FROM
EM_BI_DeviceRepairPlanMst mst
LEFT JOIN EM_BI_EquipmentFile file ON mst.devicerecord_id = file.devicerecord_id
LEFT JOIN sys_dept dept ON dept.dept_id = file.use_deptid
WHERE
mst.is_delete = '0'
AND mst.maintenancecycle = '01'
group by file.use_deptid
ENDSELECT
@@ -70,8 +87,23 @@
mst.is_delete = '0'
AND mst.maintenancecycle = '01'
AND dept.code = 输入.dept_code
AND IFNULL(mst.real_start_date, '') = ''
AND IFNULL(mst.real_end_date, '') = ''
ENDSELECT
ENDQUERY
ENDIF
IF 输入.flag = "21"
QUERY
SELECT
count(mst.repair_plan_id) AS num
FROM
EM_BI_DeviceRepairPlanMst mst
LEFT JOIN EM_BI_EquipmentFile file ON mst.devicerecord_id = file.devicerecord_id
LEFT JOIN sys_dept dept ON dept.dept_id = file.use_deptid
WHERE
mst.is_delete = '0'
AND mst.maintenancecycle = '01'
AND dept.code = 输入.dept_code
ENDSELECT
ENDQUERY
@@ -96,6 +128,25 @@
ENDQUERY
ENDIF
IF 输入.flag = "31"
QUERY
SELECT
count(mst.repair_plan_id) AS num
FROM
EM_BI_DeviceRepairPlanMst mst
LEFT JOIN EM_BI_EquipmentFile file ON mst.devicerecord_id = file.devicerecord_id
LEFT JOIN sys_dept dept ON dept.dept_id = file.use_deptid
WHERE
mst.is_delete = '0'
AND mst.maintenancecycle = '01'
AND dept.code = 输入.dept_code
AND IFNULL(mst.real_start_date, '') <> ''
AND IFNULL(mst.real_end_date, '') <> ''
ENDSELECT
ENDQUERY
ENDIF
IF 输入.flag = "4"
QUERY
SELECT
@@ -108,9 +159,66 @@
mst.is_delete = '0'
AND mst.maintenancecycle = '01'
AND dept.code = 输入.dept_code
AND mst.real_start_date is not null
AND mst.real_end_date is null
AND IFNULL(mst.real_start_date,'') <> ''
AND IFNULL(mst.real_end_date,'') = ''
ENDSELECT
ENDQUERY
ENDIF
ENDIF
IF 输入.flag = "41"
QUERY
SELECT
count(mst.repair_plan_id) AS num
FROM
EM_BI_DeviceRepairPlanMst mst
LEFT JOIN EM_BI_EquipmentFile file ON mst.devicerecord_id = file.devicerecord_id
LEFT JOIN sys_dept dept ON dept.dept_id = file.use_deptid
WHERE
mst.is_delete = '0'
AND mst.maintenancecycle = '01'
AND dept.code = 输入.dept_code
AND IFNULL(mst.real_start_date,'') <> ''
AND IFNULL(mst.real_end_date,'') = ''
ENDSELECT
ENDQUERY
ENDIF
IF 输入.flag = "5"
QUERY
SELECT
count(mst.maint_plan_id) AS num
FROM
EM_BI_DeviceMaintenancePlanMst mst
LEFT JOIN EM_BI_EquipmentFile file ON mst.devicerecord_id = file.devicerecord_id
LEFT JOIN sys_dept dept ON dept.dept_id = file.use_deptid
WHERE
mst.is_delete = '0'
AND mst.maintenancecycle = '01'
AND dept.code = 输入.dept_code
AND IFNULL(mst.real_start_date, '') = ''
AND IFNULL(mst.real_end_date, '') = ''
ENDSELECT
ENDQUERY
ENDIF
IF 输入.flag = "51"
QUERY
SELECT
count(mst.repair_plan_id) AS num
FROM
EM_BI_DeviceRepairPlanMst mst
LEFT JOIN EM_BI_EquipmentFile file ON mst.devicerecord_id = file.devicerecord_id
LEFT JOIN sys_dept dept ON dept.dept_id = file.use_deptid
WHERE
mst.is_delete = '0'
AND mst.maintenancecycle = '01'
AND dept.code = 输入.dept_code
AND IFNULL(mst.real_start_date, '') = ''
AND IFNULL(mst.real_end_date, '') = ''
ENDSELECT
ENDQUERY
ENDIF