看板异常原因信息修改

master
yinq 2 years ago
parent bd7ae22cff
commit ec03738f92

@ -540,7 +540,7 @@ public class ReportServiceImpl implements ReportService {
HashMap<String, Object> dutyCauseMap = new HashMap<>();
List<Map<String, String>> dutyCauseTypeDescription = reportMapper.dutyCauseTypeDescription();
List<String> descriptionList = dutyCauseTypeDescription.stream().map(e -> e.get("DESCRIPTION")).collect(Collectors.toList());
dutyCauseMap.put("causeTypeDescription",descriptionList);
List<String> numbersList = new LinkedList<>();
List<String> dutyCauseType = reportMapper.dutyCauseType(user);
@ -554,7 +554,7 @@ public class ReportServiceImpl implements ReportService {
numbersList.add(type);
}
}
ArrayList<HashMap<String, Object>> distributionMapList = new ArrayList<>();
List<HashMap<String, Object>> distributionMapList = new ArrayList<>();
for (int i = 0; i < descriptionList.size(); i++) {
HashMap<String, Object> distributionMap = new HashMap<>();
Integer integers = 0;
@ -567,7 +567,17 @@ public class ReportServiceImpl implements ReportService {
distributionMap.put("value", integers);
distributionMapList.add(distributionMap);
}
dutyCauseMap.put("distributionMapList",distributionMapList);
//过滤前十的异常原因
distributionMapList = distributionMapList.stream()
.sorted(Comparator.comparing(e -> Integer.parseInt(String.valueOf(e.get("value"))))).collect(Collectors.toList());
List<HashMap<String, Object>> distributionMapListTop = distributionMapList.subList(8,18);
descriptionList.clear();
for (HashMap<String, Object> hashMap : distributionMapListTop) {
descriptionList.add(String.valueOf(hashMap.get("name")));
}
dutyCauseMap.put("causeTypeDescription",descriptionList);
dutyCauseMap.put("distributionMapList",distributionMapListTop);
result.put("dutyCause",dutyCauseMap);
//近半年质量异常情况
HashMap<String, Object> abnormalQualityMap = new HashMap<>();
@ -614,7 +624,7 @@ public class ReportServiceImpl implements ReportService {
if (abnormalQualityList.size() > 20){
abnormalQualityList = abnormalQualityList.subList(0, 20);
}
result.put("originalData",abnormalQualityList);
//项目进度圆圈circle
ArrayList<HashMap<String, String>> projectCircleList = new ArrayList<>();
for (Map<String, String> abnormalQualityMap : abnormalQualityList) {
@ -650,13 +660,15 @@ public class ReportServiceImpl implements ReportService {
}
result.put("firstThreeList",firstThreeList);
// rate2 实际工时进度(浅绿色)/ rate1 计划完成(深蓝色) 为百分比 rate3深黄色() 计划进度。start开始时间 0 -- 70
// rate2 计划进度(浅绿色)/ rate1 计划完成(深蓝色) 为百分比 rate3深黄色() 实际工时进度。start开始时间 0 -- 70
ArrayList<HashMap<String, String>> projectGanttChartList = new ArrayList<>();
for (Map<String, String> abnormalQualityMap : abnormalQualityList) {
HashMap<String, String> projectGanttChartHashMap = new HashMap<>();
String startDate = dateConvert(String.valueOf(abnormalQualityMap.get("startDate")));
projectGanttChartHashMap.put("start",startDate);
// rate1 计划完成(深蓝色)
String planRate = dateConvert(String.valueOf(abnormalQualityMap.get("endPlanDate")));
planRate = String.valueOf(Float.valueOf(planRate) - Float.valueOf(startDate));
if (Float.valueOf(planRate) < 1){
projectGanttChartHashMap.put("rate1", "1");
}else {
@ -665,18 +677,19 @@ public class ReportServiceImpl implements ReportService {
projectGanttChartHashMap.put("rate2", String.valueOf(0.00));
projectGanttChartHashMap.put("rate3", String.valueOf(0.00));
projectGanttChartHashMap.put("start", String.valueOf(0.00));
continue;
}else {
projectGanttChartHashMap.put("rate1", String.valueOf(Float.valueOf(planRate) - Float.valueOf(startDate)));
projectGanttChartHashMap.put("rate1", planRate);
}
}
String rate = String.valueOf(abnormalQualityMap.get("rate"));
if ((Float.valueOf(rate) * 0.7 - Float.valueOf(startDate)) < 0){
projectGanttChartHashMap.put("rate2",String.valueOf(0.00));
projectGanttChartHashMap.put("rate3",String.valueOf(0.00));
}else {
projectGanttChartHashMap.put("rate2",String.valueOf(Float.valueOf(rate) * 0.7 - Float.valueOf(startDate)));
projectGanttChartHashMap.put("rate3",String.valueOf(Float.valueOf(rate) * 0.7 - Float.valueOf(startDate)));
}
//String now = dateConvert(DateUtil.formatDate(new Date()));
projectGanttChartHashMap.put("rate3",String.valueOf(Float.valueOf(abnormalQualityMap.get("planRate")) * 0.7 - Float.valueOf(startDate)));
projectGanttChartHashMap.put("rate2",String.valueOf(Float.valueOf(abnormalQualityMap.get("planRate")) * 0.7 - Float.valueOf(startDate)));
projectGanttChartList.add(projectGanttChartHashMap);
}
result.put("projectGanttChartList",projectGanttChartList);

@ -1297,7 +1297,7 @@
GROUP BY ZSD.SFC))
SELECT COUNT(zab.NC_QTY) "abnormalQualityNumber",
DECODE(MAX(acc.QTY), NULL, 0, MAX(acc.QTY)) "orderedTotalNumber",
DECODE(MAX(acc.QTY), NULL, 0.00, TO_CHAR(COUNT(zab.NC_QTY) / MAX(acc.QTY) * 100, '99990.99')) || '%' "rate"
DECODE(MAX(acc.QTY), NULL, 0.00, TO_CHAR(100 - COUNT(zab.NC_QTY) / MAX(acc.QTY) * 100, '99990.99')) || '%' "rate"
FROM Z_ABNORMAL_BILL zab
CROSS JOIN acc
WHERE zab.STATUS != 'Q'
@ -1339,32 +1339,27 @@
ORDER BY DATE_TIME DESC
</select>
<select id="projectScheduleShow" parameterType="java.util.HashMap" resultType="java.util.HashMap">
SELECT WIP.item "item",--项目号
WIP.workOrder "workOrder",
SUM(WIP.shopOrderQTY) "shopOrderQTY",
TO_CHAR(AVG(WIP.rate), '990.99') "rate", --项目总进度(工时百分比)
SELECT * FROM (
SELECT OWIP.item "item",--项目号
OWIP.workOrder "workOrder",
SUM(OWIP.shopOrderQTY) "shopOrderQTY",
TO_CHAR(AVG(OWIP.rate), '990.99') "rate", --项目总进度(工时百分比)
TO_CHAR(CASE
WHEN
DECODE((TO_DATE(MAX(WIP.endPlanTime)) - TO_DATE(MIN(WIP.PLANNED_START_DATE))),
0,0,((SYSDATE - TO_DATE(MIN(WIP.PLANNED_START_DATE))) /
(TO_DATE(MAX(WIP.endPlanTime)) - TO_DATE(MIN(WIP.PLANNED_START_DATE)))))
DECODE((TO_DATE(MAX(OWIP.endPlanTime)) - TO_DATE(MIN(OWIP.PLANNED_START_DATE))),
0, 0, ((TO_DATE(SYSDATE) - TO_DATE(MIN(OWIP.PLANNED_START_DATE))) /
(TO_DATE(MAX(OWIP.endPlanTime)) - TO_DATE(MIN(OWIP.PLANNED_START_DATE)))))
<![CDATA[ < 1 ]]>
THEN DECODE((TO_DATE(MAX(WIP.endPlanTime)) - TO_DATE(MIN(WIP.PLANNED_START_DATE))),
0,0,((SYSDATE - TO_DATE(MIN(WIP.PLANNED_START_DATE))) /
(TO_DATE(MAX(WIP.endPlanTime)) - TO_DATE(MIN(WIP.PLANNED_START_DATE))))) * 100
THEN DECODE((TO_DATE(MAX(OWIP.endPlanTime)) - TO_DATE(MIN(OWIP.PLANNED_START_DATE))),
0, 0, ((TO_DATE(SYSDATE) - TO_DATE(MIN(OWIP.PLANNED_START_DATE))) /
(TO_DATE(MAX(OWIP.endPlanTime)) - TO_DATE(MIN(OWIP.PLANNED_START_DATE))))) * 100
ELSE 100 END, '990.99') "planRate", --计划进度
MAX(WIP.endPlanTime) "endPlanDate",
MIN(WIP.PLANNED_START_DATE) "startDate"
FROM (SELECT cf.VALUE item,--项目号
cf2.VALUE workOrder,--工作令
zsd.SHOP_ORDER shopOrder,--订单编号
zsd.SFC SFC,--SFC
MAX(zsd.DISPATCH_QTY) shopOrderQTY,--订单数量
MIN(CASE
WHEN zsd.DISPATCH_STATUS = 'COMPLETE' THEN
zsd.DISPATCH_QTY
ELSE 0 END) doneQTY, --已完成数量
MAX(OWIP.endPlanTime) "endPlanDate",
MIN(OWIP.PLANNED_START_DATE) "startDate"
FROM (SELECT cf.VALUE item,--项目号
cf2.VALUE workOrder,--工作令
zsd.SFC,
MAX(zsd.DISPATCH_QTY) shopOrderQTY,--订单数量
TO_CHAR(
DECODE(SUM(CASE
WHEN zsd.DISPATCH_STATUS = 'COMPLETE' THEN
@ -1372,10 +1367,13 @@
ELSE 0 END), 0, 0, SUM(CASE
WHEN zsd.DISPATCH_STATUS = 'COMPLETE' THEN
zsd.PROD_HOURS
ELSE 0 END) / SUM(zsd.PROD_HOURS))
ELSE 0 END) / SUM(CASE
WHEN zsd.DISPATCH_STATUS != 'CANCEL' THEN
zsd.PROD_HOURS
ELSE 0 END))
* 100, '99990.99') rate,--进度(工时百分比)
MIN(zsd.PLANNED_START_DATE) PLANNED_START_DATE,--计划开始时间
MAX(zsd.PLANNED_COMP_DATE) endPlanTime --计划最终交付时间
MAX(zsd.PLANNED_COMP_DATE) endPlanTime, --计划最终交付时间
MIN(zsd.PLANNED_START_DATE) PLANNED_START_DATE--计划开始时间
FROM Z_SFC_DISPATCH zsd
LEFT JOIN SFC s ON s.SFC = zsd.SFC AND s.SITE = zsd.SITE
LEFT JOIN SHOP_ORDER so ON so.SHOP_ORDER = zsd.SHOP_ORDER AND so.SITE = zsd.SITE
@ -1384,17 +1382,18 @@
WHERE zsd.SITE = '1000'
AND cf.VALUE IS NOT NULL
AND cf2.VALUE IS NOT NULL
GROUP BY zsd.SITE, cf.VALUE, cf2.VALUE, zsd.SHOP_ORDER, zsd.SFC
ORDER BY endPlanTime DESC) WIP
GROUP BY zsd.SITE, cf.VALUE, cf2.VALUE,zsd.SFC
ORDER BY endPlanTime DESC) OWIP
GROUP BY OWIP.item, OWIP.workOrder
) WIP
<where>
WIP.rate > 0.00
AND WIP.PLANNED_START_DATE >= (SYSDATE - 5 * 7)
WIP."rate" > 0.00
AND WIP."startDate" >= (SYSDATE - 5 * 7)
<if test="user != null and user != ''">
AND WIP.workOrder like '%${user}%'
AND WIP."workOrder" like '%${user}%'
</if>
</where>
GROUP BY WIP.item, WIP.workOrder
ORDER BY"rate" DESC
ORDER BY WIP."rate" DESC
</select>
<select id="qualityRepairReport" parameterType="java.util.HashMap" resultType="java.util.HashMap">
SELECT * FROM

Loading…
Cancel
Save