项目进度报表v5

master
yinq 2 years ago
parent e68dbbecdb
commit b4a1e85141

@ -111,6 +111,8 @@ public class ImprovementProposalsServiceImpl extends ServiceImpl<ImprovementProp
String fileType = req.getParameter("fileType");
String site = req.getParameter("site");
String user = req.getParameter("user");
CommonMethods.setSite(site);
CommonMethods.setUser(user);
try {
CommonMethods.setSite(site);
CommonMethods.setUser(user);

@ -781,9 +781,7 @@ public class ReportServiceImpl implements ReportService {
return "非公路";
}else if (career.indexOf("研究院") != -1) {
return "研究院";
}else if (career.indexOf("塞班") != -1) {
return "塞班";
} else {
}else if (career.indexOf("外部") != -1) {
return "外部";
}
} catch (Exception exception) {
@ -798,17 +796,23 @@ public class ReportServiceImpl implements ReportService {
ArrayList<String> shopOrderQTYs = new ArrayList<>();
ArrayList<String> doneQTY = new ArrayList<>();
ArrayList<String> rate = new ArrayList<>();
ArrayList<String> workOrderList = new ArrayList<>();
ArrayList<String> isLongTime = 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"));
workOrderList.add(e.get("workOrder"));
isLongTime.add(e.get("isLongTime"));
});
resultMap.put("items",items);
resultMap.put("shopOrderQTY",shopOrderQTYs);
resultMap.put("doneQTY",doneQTY);
resultMap.put("rate",rate);
resultMap.put("workOrder",workOrderList);
resultMap.put("isLongTime",isLongTime);
result.put(workOrder,resultMap);
}
return result;

@ -71,14 +71,13 @@ public class YunBpmServiceImpl implements YunBpmService {
.product_barcode(abnormalBill.getSfc()).work_order(abnormalBill.getWorkOrder()).submit_date(DateUtil.getCurrentDate())
.item_number(abnormalBill.getItemNumber()).product_category(abnormalBill.getProductCategory())
.submission_users(abnormalBill.getReportSendUserGroup()).working_procedure_code(abnormalBill.getOperation())
.submission_man_employee_no(abnormalBill.getPbUser())
.submission_man_employee_no(abnormalBill.getPbUser()).test_user_employeeNo(abnormalBill.getInspector())
//不良明细
.problem_description(abnormalBill.getPbDescription()).problem_number(abnormalBill.getPbQty())
.discover_link(abnormalBill.getDiscover()).entity_location(abnormalBill.getEntityLocation())
.report_from(abnormalBill.getReportFrom()).rejects_number(abnormalBill.getNcQty())
.bad_code_group(ncGroup).bad_code(ncCode).problem_level(abnormalBill.getPbGrade())
// .problem_photos(null)
// .test_user_employeeNo(abnormalBill.getInspector()).submission_man_employeeNo(pbUserList)
//责任划分
.cause_analysis(abnormalBillDispose.getDutyCauseDescription()).reason_type(abnormalBillDispose.getDutyCauseType())
.responsibility_type(abnormalBillDispose.getDutyType()).responsibility_dept(abnormalBillDispose.getDutyDepart())

@ -1218,9 +1218,21 @@
<if test="workOrder != null and finished == 'false'">
AND WIP.rate != 100.00
</if>
<if test="careerKey != null and careerKey != ''">
AND WIP.workOrder like '%${careerKey}%'
</if>
<if test="item != null and item != ''">
AND WIP.item like '%${item}%'
</if>
<if test="workOrder != null and workOrder != ''">
AND WIP.workOrder like '%${workOrder}%'
</if>
<if test="shopOrder != null and shopOrder != ''">
AND WIP.shopOrder like '%${shopOrder}%'
</if>
<if test="SFC != null and SFC != ''">
AND WIP.SFC like '%${SFC}%'
</if>
</where>
ORDER BY endPlanTime DESC
</select>
@ -1369,7 +1381,7 @@
WHEN zsd.DISPATCH_STATUS = 'COMPLETE' THEN
zsd.PROD_HOURS * zsd.DISPATCH_QTY
ELSE 0 END), 0, 0, SUM(CASE
WHEN zsd.DISPATCH_STATUS = 'COMPLETE' OR zsd.DISPATCH_STATUS != 'CANCEL' THEN
WHEN zsd.DISPATCH_STATUS = 'COMPLETE' THEN
zsd.PROD_HOURS * zsd.DISPATCH_QTY
ELSE 0 END) / SUM(zsd.PROD_HOURS * zsd.DISPATCH_QTY) )
* 100, '99990.99') rate,--进度(工时百分比)
@ -1381,6 +1393,7 @@
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.SITE = '1000'
AND 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
@ -1397,18 +1410,23 @@
ORDER BY WIP."rate" DESC
</select>
<select id="projectPlanningProgress" parameterType="java.util.HashMap" resultType="java.util.HashMap">
SELECT *
--项目生产加工周期看板
SELECT WIP.*,
CASE WHEN (SYSDATE - WIP.ACTUAL_START_DATE) > 90 AND WIP."shopOrderQTY" != WIP."doneQTY" THEN 'ture'
ELSE 'false' END "isLongTime"
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"
TO_CHAR(SUM(OWIP.doneQTY) / SUM(OWIP.shopOrderQTY) * 100, '99990.99') "rate",
MIN(OWIP.ACTUAL_START_DATE) ACTUAL_START_DATE
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
MIN(CASE WHEN zsd.DISPATCH_STATUS = 'COMPLETE' THEN zsd.DISPATCH_QTY ELSE 0 END ) doneQTY,
MIN(zsd.ACTUAL_START_DATE) ACTUAL_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
@ -1419,6 +1437,7 @@
AND cf2.VALUE IS NOT NULL
GROUP BY zsd.SITE, cf.VALUE, cf2.VALUE, zsd.SFC
) OWIP
WHERE OWIP.ACTUAL_START_DATE IS NOT NULL
GROUP BY OWIP.item, OWIP.workOrder
) WIP
<where>

Loading…
Cancel
Save