update入库查询报表

master
yinq 2 years ago
parent 312ab41bb4
commit 36c878e0ea

@ -446,10 +446,20 @@ public class ReportServiceImpl implements ReportService {
endPlanTime = String.valueOf(map.get("endPlanTime"));
}
}
if (!StringUtils.isBlank(String.valueOf(paramMap.get("finished"))) && "false".equals(String.valueOf(paramMap.get("finished")))){
if ((rate / items.get(item).size()) == 100.0){
continue;
}
}else if (!StringUtils.isBlank(String.valueOf(paramMap.get("finished"))) && "true".equals(String.valueOf(paramMap.get("finished")))){
if ((rate / items.get(item).size()) != 100.0){
continue;
}
}
itemsMap.put("shopOrderQTY", shopOrderQTY);
itemsMap.put("doneQTY", doneQTY);
itemsMap.put("nextOperationNum", nextOperationNum);
itemsMap.put("rate", String.format("%.2f",rate / items.get(item).size()) + "%");
itemsMap.put("endPlanTime", endPlanTime.substring(0,endPlanTime.length() - 2));
List<Map<String, Object>> itemsList = items.get(item);
@ -530,6 +540,16 @@ public class ReportServiceImpl implements ReportService {
}
HashMap<String, Object> objectHashMap = new HashMap<>();
/*List<HashMap<String, Object>> clothingJSONObjectNew = new ArrayList<>();
clothingJSONObjectNew.addAll(clothingJSONObject);
if (!StringUtils.isBlank(String.valueOf(paramMap.get("finished"))) && "false".equals(String.valueOf(paramMap.get("finished")))){
for (int i = 0; i < clothingJSONObject.size(); i++) {
if ("100.00%".equals(clothingJSONObject.get(i).get("rate"))){
clothingJSONObjectNew.remove(i);
}
}
}*/
objectHashMap.put("categories", clothingJSONObject);
HashMap<String, Object> result = new HashMap<>();
result.put("clothing", objectHashMap);

@ -1221,12 +1221,6 @@
GROUP BY zsd1.SITE,zsd1.SFC) zsd2 ON WIP.SFC = zsd2.SFC AND WIP.SITE = zsd2.SITE
LEFT JOIN Z_SFC_DISPATCH zsd3 ON zsd3.SFC = zsd2.SFC AND zsd3.STEP_ID = zsd2.STEP_ID AND zsd3.SITE = zsd2.SITE
<where>
<if test="workOrder != null and finished == 'true'">
AND WIP.rate = 100.00
</if>
<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>
@ -1421,7 +1415,7 @@
<select id="projectPlanningProgress" parameterType="java.util.HashMap" resultType="java.util.HashMap">
--项目生产加工周期看板
SELECT WIP.*,
CASE WHEN (SYSDATE - WIP.ACTUAL_START_DATE) > 90 AND WIP."shopOrderQTY" != WIP."doneQTY" THEN 'ture'
CASE WHEN (SYSDATE - WIP.ACTUAL_START_DATE) > 90 AND WIP."shopOrderQTY" != WIP."doneQTY" THEN 'true'
ELSE 'false' END "isLongTime"
FROM (
SELECT OWIP.workOrder "workOrder",
@ -1457,27 +1451,27 @@
ORDER BY WIP."workOrder" DESC
</select>
<select id="qualityRepairReport" parameterType="java.util.HashMap" resultType="java.util.HashMap">
SELECT * FROM
(SELECT zab.WORK_ORDER "workOrder",
i.ITEM "item",
"MAP".VALUE "mapNo",
zab.PB_DESCRIPTION "problemDescription",
SELECT *
FROM (SELECT zab.WORK_ORDER "workOrder",
i.ITEM "item",
"MAP".VALUE "mapNo",
zab.PB_DESCRIPTION "problemDescription",
CASE
WHEN zabd.ABNORMAL_METHOD = 'F' THEN '返修'
WHEN zabd.ABNORMAL_METHOD = 'FW' THEN '返修(外协)'
WHEN zabd.ABNORMAL_METHOD = 'FB' THEN '返修(不返回原工艺)'
ELSE ''
END "abnormalMethod",
zab.CREATED_DATE_TIME "submissionTime",
zabd.RESOLVE_DATE_TIME "resolveDateTime",
ZSDD.SFC_RELEASED_DATE "dispatchingTime",
ZSDD.PLANNED_COMP_DATE "estimatedCompletionTime",
END "abnormalMethod",
zab.CREATED_DATE_TIME "submissionTime",
zabd.RESOLVE_DATE_TIME "resolveDateTime",
ZSDD.SFC_RELEASED_DATE "dispatchingTime",
ZSDD.PLANNED_COMP_DATE "estimatedCompletionTime",
ZSDD.ACTUAL_COMPLETE_DATE "actualCompletionTime",
OT.DESCRIPTION "operationDescription",
ZSDD.repairTotalNumber "repairTotalNumber",
ZSDD.surplusRepairNumber "surplusRepairNumber",
ZSDD.RATE "rate",
zab.SFC "SFC"
OT.DESCRIPTION "operationDescription",
ZSDD.repairTotalNumber "repairTotalNumber",
ZSDD.surplusRepairNumber "surplusRepairNumber",
ZSDD.RATE "rate",
zab.SFC "SFC"
FROM Z_ABNORMAL_BILL zab
LEFT JOIN Z_ABNORMAL_BILL_DISPOSE zabd ON zabd.ABNORMAL_BILL_BO = zab.HANDLE
LEFT JOIN ITEM i ON i.HANDLE = zab.ITEM_BO
@ -1492,31 +1486,31 @@
WIP.RATE,
WIP.SFC
FROM (
SELECT zsd.SFC SFC,
MIN(zsd.SFC_RELEASED_DATE) SFC_RELEASED_DATE,
MAX(zsd.PLANNED_COMP_DATE) PLANNED_COMP_DATE,
MAX(zsd.ACTUAL_COMPLETE_DATE) ACTUAL_COMPLETE_DATE,
SELECT zsd.SFC SFC,
MIN(zsd.SFC_RELEASED_DATE) SFC_RELEASED_DATE,
MAX(zsd.PLANNED_COMP_DATE) PLANNED_COMP_DATE,
MAX(zsd.ACTUAL_COMPLETE_DATE) ACTUAL_COMPLETE_DATE,
MAX(CASE
WHEN zsd.DISPATCH_STATUS != 'COMPLETE'
THEN zsd.STEP_ID
ELSE zsd.STEP_ID END
) STEP_ID,
COUNT(STEP_ID) repairTotalNumber,
) STEP_ID,
COUNT(STEP_ID) repairTotalNumber,
SUM(CASE
WHEN zsd.DISPATCH_STATUS != 'COMPLETE'
THEN 1
ELSE 0 END
) surplusRepairNumber,
) surplusRepairNumber,
TO_CHAR(
DECODE(SUM(CASE
WHEN zsd.DISPATCH_STATUS = 'COMPLETE' THEN
zsd.PROD_HOURS
DECODE(zsd.PROD_HOURS * zsd.DISPATCH_QTY,0,1,zsd.PROD_HOURS * zsd.DISPATCH_QTY)
ELSE 0 END), 0, 0, SUM(CASE
WHEN zsd.DISPATCH_STATUS = 'COMPLETE'
THEN
zsd.PROD_HOURS
DECODE(zsd.PROD_HOURS * zsd.DISPATCH_QTY,0,1,zsd.PROD_HOURS * zsd.DISPATCH_QTY)
ELSE 0 END) /
SUM(zsd.PROD_HOURS))
SUM(DECODE(zsd.PROD_HOURS * zsd.DISPATCH_QTY,0,1,zsd.PROD_HOURS * zsd.DISPATCH_QTY)))
* 100, '99990.99') || '%' RATE --进度百分比
FROM Z_SFC_DISPATCH zsd
WHERE zsd.STEP_ID LIKE '9%'
@ -1524,7 +1518,8 @@
LEFT JOIN Z_SFC_DISPATCH zsd2 ON zsd2.SFC = WIP.SFC AND WIP.STEP_ID = zsd2.STEP_ID
) ZSDD
ON ZSDD.SFC = zab.SFC
LEFT JOIN OPERATION O ON O.OPERATION = ZSDD.OPERATION AND O.SITE = ZAB.SITE AND O.CURRENT_REVISION = 'true'
LEFT JOIN OPERATION O
ON O.OPERATION = ZSDD.OPERATION AND O.SITE = ZAB.SITE AND O.CURRENT_REVISION = 'true'
LEFT JOIN OPERATION_T OT ON O.HANDLE = OT.OPERATION_BO
WHERE zabd.ABNORMAL_METHOD = 'F'
OR zabd.ABNORMAL_METHOD = 'FW'
@ -2104,21 +2099,25 @@
ORDER BY "QTY" DESC
</select>
<select id="importStoreQueryReports" resultType="java.util.HashMap" parameterType="java.util.HashMap">
SELECT SRI.SFC SFC,
S.SHOP_ORDER SHOP_ORDER,
cf2.VALUE WORK_ORDER,
DECODE(INSTR(cf2.VALUE,'/',1,2),0,NULL,SUBSTR(cf2.VALUE,INSTR(cf2.VALUE,'/',1,2) + 1)) PARE_NAME,
it.DESCRIPTION ITEM_DESCRIPTION,
SRI.IN_QTY PART_QTY,
SRI.IN_TIME IN_STORE_DATE
SELECT SRI.SFC SFC,
S.SHOP_ORDER SHOP_ORDER,
cf2.VALUE WORK_ORDER,
DECODE(INSTR(cf2.VALUE, '/', 1, 2), 0, NULL, SUBSTR(cf2.VALUE, INSTR(cf2.VALUE, '/', 1, 2) + 1)) PARE_NAME,
i.ITEM ITEM_NAME,
it.DESCRIPTION ITEM_DESCRIPTION,
SRI.IN_QTY PART_QTY,
CASE WHEN SRI.IN_TYPE = 0 THEN '正式' ELSE '临时' END IN_TYPE,
znu.FULL_NAME WORK_USER,
SRI.IN_TIME - 8 / 24 IN_STORE_DATE
FROM STORE_RECORD_IN SRI
LEFT JOIN (SELECT ZSD.SHOP_ORDER, ZSD.SFC, ZSD.SITE
FROM Z_SFC_DISPATCH ZSD
GROUP BY ZSD.SHOP_ORDER, ZSD.SFC, ZSD.SITE) S on SRI.SFC = S.SFC
LEFT JOIN SHOP_ORDER so ON so.SHOP_ORDER = S.SHOP_ORDER AND so.SITE = s.SITE
LEFT JOIN CUSTOM_FIELDS cf2 ON cf2.HANDLE = so.HANDLE AND cf2."ATTRIBUTE" = 'WORK_ORDER'
LEFT JOIN ITEM i On i.HANDLE = so.ITEM_BO AND I.SITE = SO.SITE
LEFT JOIN ITEM_T it ON it.ITEM_BO = i.HANDLE
LEFT JOIN (SELECT ZSD.SHOP_ORDER, ZSD.SFC, ZSD.SITE
FROM Z_SFC_DISPATCH ZSD
GROUP BY ZSD.SHOP_ORDER, ZSD.SFC, ZSD.SITE) S on SRI.SFC = S.SFC
LEFT JOIN SHOP_ORDER so ON so.SHOP_ORDER = S.SHOP_ORDER AND so.SITE = s.SITE
LEFT JOIN CUSTOM_FIELDS cf2 ON cf2.HANDLE = so.HANDLE AND cf2."ATTRIBUTE" = 'WORK_ORDER'
LEFT JOIN ITEM i On i.HANDLE = so.ITEM_BO AND I.SITE = SO.SITE
LEFT JOIN ITEM_T it ON it.ITEM_BO = i.HANDLE
LEFT JOIN Z_NWA_USER znu ON znu.USER_NAME = SRI.WORK_USER
<where>
1=1
<if test="sfc != null and sfc != ''">
@ -2131,9 +2130,19 @@
AND cf2.VALUE like '%${workOrder}%'
</if>
<if test="itemDescription != null and itemDescription != ''">
AND it.DESCRIPTION like '%${itemDescription}%'
</if>
AND i.ITEM like '%${itemDescription}%'
</if>
<if test="inStoreType != null and inStoreType != ''">
AND SRI.IN_TYPE = #{inStoreType}
</if>
<if test="startDate != null and startDate != ''">
AND to_char( SRI.IN_TIME,'YYYY-mm-dd') >= #{startDate}
</if>
<if test="endDate != null and endDate != ''">
AND to_char( SRI.IN_TIME,'YYYY-mm-dd') &lt;= #{endDate}
</if>
</where>
ORDER BY SRI.IN_TIME
</select>
<select id="projectIdleTimeStatisticsReport" resultType="java.util.Map" parameterType="java.util.HashMap">
--项目空闲时间统计报表

Loading…
Cancel
Save