项目生产加工周期看板接口

master
yinq 3 years ago
parent 4520e851d9
commit 598769bd2f

@ -356,4 +356,18 @@ public class ReportController {
}
}
/**
*
* @param
* @return
*/
@GetMapping("/projectPlanningProgress")
public R projectPlanningProgress(String user){
try {
return R.ok(reportService.projectPlanningProgress(user));
} catch (Exception e) {
return R.failed(e.getMessage());
}
}
}

@ -105,6 +105,8 @@ public interface ReportMapper {
List<Map<String, String>> projectScheduleShow(@Param("user") String user);
List<Map<String, String>> projectPlanningProgress(@Param("user") String user);
/**
*
* @param paramMap

@ -159,4 +159,11 @@ public interface ReportService {
* @return
*/
List<Map<String, Object>> qualityInspectionResponseReport(Map paramMap);
/**
*
* @param userGroup
* @return
*/
Map<String, Object> projectPlanningProgress(String userGroup);
}

@ -1,11 +1,9 @@
package com.foreverwin.mesnac.anomaly.service.impl;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.foreverwin.mesnac.anomaly.dto.IntegrationLogDto;
import com.foreverwin.mesnac.anomaly.mapper.ReportMapper;
import com.foreverwin.mesnac.anomaly.service.ReportService;
import com.foreverwin.mesnac.anomaly.utils.DateReportUtils;
import com.foreverwin.mesnac.common.enums.HandleEnum;
import com.foreverwin.mesnac.common.util.DateUtil;
import com.foreverwin.mesnac.meapi.mapper.DataFieldListMapper;
@ -676,6 +674,68 @@ public class ReportServiceImpl implements ReportService {
return reportMapper.qualityInspectionResponseReport(paramMap);
}
/**
*
* @param userGroup
* @return
*/
@Override
public Map<String, Object> projectPlanningProgress(String userGroup) {
List<Map<String, String>> abnormalQualityList = reportMapper.projectPlanningProgress(userGroup);
Map<String, Object> result = new HashMap<>();
Map<String, List<Map<String, String>>> workOrderMap = abnormalQualityList.stream()
.collect(Collectors.groupingBy(e -> {
String career =e.get("workOrder");
try {
if (career.indexOf("硫化") != -1) {
return "硫化";
}else if (career.indexOf("全钢") != -1) {
return "全钢";
}else if (career.indexOf("半钢") != -1) {
return "半钢";
}else if (career.indexOf("鼓") != -1) {
return "鼓";
}else if (career.indexOf("裁断") != -1) {
return "裁断";
}else if (career.indexOf("检测") != -1) {
return "检测";
}else if (career.indexOf("橡塑") != -1) {
return "橡塑";
} else if (career.indexOf("非公路") != -1) {
return "非公路";
} else if (career.indexOf("塞班") != -1) {
return "塞班";
} else {
return "外部";
}
} catch (Exception exception) {
exception.printStackTrace();
}
return "";
}));
for (String workOrder : workOrderMap.keySet()) {
HashMap<String, Object> resultMap = new HashMap<>();
ArrayList<String> items = new ArrayList<>();
ArrayList<String> shopOrderQTYs = new ArrayList<>();
ArrayList<String> doneQTY = new ArrayList<>();
ArrayList<String> rate = new ArrayList<>();
List<Map<String, String>> maps = workOrderMap.get(workOrder);
maps.forEach(e -> {
items.add(e.get("item"));
shopOrderQTYs.add(e.get("shopOrderQTY"));
doneQTY.add(e.get("doneQTY"));
rate.add(e.get("rate"));
});
resultMap.put("items",items);
resultMap.put("shopOrderQTY",shopOrderQTYs);
resultMap.put("doneQTY",doneQTY);
resultMap.put("rate",rate);
result.put(workOrder,resultMap);
}
return result;
}
/**
*
* @param user

@ -1397,6 +1397,38 @@
</where>
ORDER BY WIP."rate" DESC
</select>
<select id="projectPlanningProgress" parameterType="java.util.HashMap" resultType="java.util.HashMap">
SELECT *
FROM (
SELECT OWIP.workOrder "workOrder",
OWIP.item "item",--项目号
SUM(OWIP.shopOrderQTY) "shopOrderQTY",
SUM(OWIP.doneQTY) "doneQTY",
TO_CHAR(SUM(OWIP.doneQTY) / SUM(OWIP.shopOrderQTY) * 100, '99990.99') "rate"
FROM (SELECT cf.VALUE item,--项目号
cf2.VALUE workOrder,--工作令
zsd.SFC,
MAX(zsd.DISPATCH_QTY) shopOrderQTY,--订单数量
MIN(CASE WHEN zsd.DISPATCH_STATUS = 'COMPLETE' THEN zsd.DISPATCH_QTY ELSE 0 END ) doneQTY
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
LEFT JOIN CUSTOM_FIELDS cf ON cf.HANDLE = so.HANDLE AND cf."ATTRIBUTE" = 'ITEM_NUMBER'
LEFT JOIN CUSTOM_FIELDS cf2 ON cf2.HANDLE = so.HANDLE AND cf2."ATTRIBUTE" = 'WORK_ORDER'
WHERE zsd.DISPATCH_STATUS != 'CANCEL'
AND cf.VALUE IS NOT NULL
AND cf2.VALUE IS NOT NULL
GROUP BY zsd.SITE, cf.VALUE, cf2.VALUE, zsd.SFC
) OWIP
GROUP BY OWIP.item, OWIP.workOrder
) WIP
<where>
<if test="user != null and user != ''">
AND WIP."workOrder" like '%${user}%'
</if>
</where>
ORDER BY WIP."workOrder" DESC
</select>
<select id="qualityRepairReport" parameterType="java.util.HashMap" resultType="java.util.HashMap">
SELECT * FROM
(SELECT zab.WORK_ORDER "workOrder",

Loading…
Cancel
Save