添加原材料追溯报表,资源任务明细报表

master
yinq 3 years ago
parent 1d5ca6ec93
commit 22611e6704

@ -150,6 +150,34 @@ public class ReportController {
return R.failed(e.getMessage()); return R.failed(e.getMessage());
} }
} }
/**
*
* @param paramMap
* @return
*/
@GetMapping("/itemTraceScheduleReport")
public R itemTraceScheduleReport(@RequestParam(required = false) Map paramMap){
try{
List<Map<String, Object>> result = reportService.itemTraceScheduleReport(paramMap);
return R.ok(result);
}catch (Exception e){
return R.failed(e.getMessage());
}
}
/**
*
* @param paramMap
* @return
*/
@GetMapping("/resourceTaskDetailReport")
public R resourceTaskDetailReport(@RequestParam(required = false) Map paramMap){
try{
List<Map<String, Object>> result = reportService.resourceTaskDetailReport(paramMap);
return R.ok(result);
}catch (Exception e){
return R.failed(e.getMessage());
}
}
@GetMapping("/findOperatorScheduleReport") @GetMapping("/findOperatorScheduleReport")
public R findOperatorScheduleReport(@RequestParam(required = false) Map paramMap){ public R findOperatorScheduleReport(@RequestParam(required = false) Map paramMap){

@ -57,10 +57,25 @@ public interface ReportMapper {
* @return * @return
*/ */
List<Map<String,Object>> findWorkOrderSchedule(Map paramMap); List<Map<String,Object>> findWorkOrderSchedule(Map paramMap);
/** /**
* *
* @param paramMap * @param paramMap
* @return * @return
*/ */
List<Map<String,Object>> partsTraceScheduleReport(Map paramMap); List<Map<String,Object>> partsTraceScheduleReport(Map paramMap);
/**
*
* @param paramMap
* @return
*/
List<Map<String, Object>> itemTraceScheduleReport(Map paramMap);
/**
*
* @param paramMap
* @return
*/
List<Map<String, Object>> resourceTaskDetailReport(Map paramMap);
} }

@ -68,4 +68,20 @@ public interface ReportService {
* @return * @return
*/ */
List<Map<String, Object>> partsTraceScheduleReport(Map paramMap); List<Map<String, Object>> partsTraceScheduleReport(Map paramMap);
/**
*
* @param paramMap
* @return
*/
List<Map<String, Object>> itemTraceScheduleReport(Map paramMap);
/**
*
* @param paramMap
* @return
*/
List<Map<String, Object>> resourceTaskDetailReport(Map paramMap);
} }

@ -357,9 +357,32 @@ public class ReportServiceImpl implements ReportService {
String site = CommonMethods.getSite(); String site = CommonMethods.getSite();
paramMap.put("site",site); paramMap.put("site",site);
paramMap.put("locale",LocaleContextHolder.getLocale().getLanguage()); paramMap.put("locale",LocaleContextHolder.getLocale().getLanguage());
return reportMapper.partsTraceScheduleReport(paramMap); return reportMapper.partsTraceScheduleReport(paramMap);
}
/**
*
* @param paramMap
* @return
*/
@Override
public List<Map<String, Object>> itemTraceScheduleReport(Map paramMap) {
String site = CommonMethods.getSite();
paramMap.put("site",site);
paramMap.put("locale",LocaleContextHolder.getLocale().getLanguage());
return reportMapper.itemTraceScheduleReport(paramMap);
}
/**
*
* @param paramMap
* @return
*/
@Override
public List<Map<String, Object>> resourceTaskDetailReport(Map paramMap) {
String site = CommonMethods.getSite();
paramMap.put("site",site);
paramMap.put("locale",LocaleContextHolder.getLocale().getLanguage());
return reportMapper.resourceTaskDetailReport(paramMap);
} }
} }

@ -240,8 +240,7 @@
AND zsd.DISPATCH_STATUS != 'CANCEL' AND zsd.DISPATCH_STATUS != 'CANCEL'
GROUP BY GROUP BY
SITE , SITE ,
SHOP_ORDER SHOP_ORDER) zsd3 ON
) zsd3 ON
zsd3.SHOP_ORDER = so.SHOP_ORDER zsd3.SHOP_ORDER = so.SHOP_ORDER
AND zsd3.SITE = zsd.SITE AND zsd3.SITE = zsd.SITE
) )
@ -962,6 +961,7 @@
</where> </where>
ORDER BY CREATED_DATE_TIME ASC ORDER BY CREATED_DATE_TIME ASC
</select> </select>
<select id="partsTraceScheduleReport" parameterType="java.util.HashMap" resultType="java.util.HashMap"> <select id="partsTraceScheduleReport" parameterType="java.util.HashMap" resultType="java.util.HashMap">
SELECT zsd.SHOP_ORDER SHOP_ORDER, SELECT zsd.SHOP_ORDER SHOP_ORDER,
s.SFC SFC, s.SFC SFC,
@ -984,16 +984,16 @@
LEFT JOIN ITEM i On i.HANDLE = so.ITEM_BO LEFT JOIN ITEM i On i.HANDLE = so.ITEM_BO
LEFT JOIN ITEM_T it ON it.ITEM_BO = so.ITEM_BO AND it.LOCALE = 'zh' LEFT JOIN ITEM_T it ON it.ITEM_BO = so.ITEM_BO AND it.LOCALE = 'zh'
INNER JOIN SFC_BOM sb ON SB.SFC_BO = s.HANDLE INNER JOIN SFC_BOM sb ON SB.SFC_BO = s.HANDLE
INNER JOIN BOM_COMPONENT bc ON bc.BOM_BO = sb.BOM_BO INNER JOIN (select bc.BOM_BO from BOM_COMPONENT bc group by bc.BOM_BO) bc ON sb.BOM_BO = bc.BOM_BO
LEFT JOIN ITEM cp ON cp.HANDLE = bc.COMPONENT_GBO LEFT JOIN ITEM cp ON cp.HANDLE = s.ITEM_BO
LEFT JOIN ITEM_T ct ON ct.ITEM_BO = cp.HANDLE AND ct.LOCALE = 'zh' LEFT JOIN ITEM_T ct ON ct.ITEM_BO = cp.HANDLE
INNER JOIN OPERATION o ON o.SITE = zsd.SITE AND o.OPERATION = zsd.OPERATION AND o.CURRENT_REVISION = 'true' INNER JOIN OPERATION o ON o.SITE = zsd.SITE AND o.OPERATION = zsd.OPERATION AND o.CURRENT_REVISION = 'true'
LEFT JOIN OPERATION_T ot ON ot.OPERATION_BO = o.HANDLE AND ot.LOCALE = 'zh' LEFT JOIN OPERATION_T ot ON ot.OPERATION_BO = o.HANDLE
LEFT JOIN Z_INSPECTION_TASK zit ON zit.SFC = S.SFC AND zit.SHOP_ORDER = so.SHOP_ORDER LEFT JOIN Z_INSPECTION_TASK zit ON zsd.HANDLE = zit.SFC_DISPATCH_BO AND zit.STEP_ID = zsd.STEP_ID
AND zsd.OPERATION = zit.OPERATION AND zit.STEP_ID = zsd.STEP_ID LEFT JOIN Z_NWA_USER znu ON znu.USER_NAME = zit.MODIFY_USER
LEFT JOIN Z_NWA_USER ZNU ON ZNU.USER_NAME = zit.MODIFY_USER
<where> <where>
zsd.DISPATCH_STATUS = 'COMPLETE' zsd.DISPATCH_STATUS = 'COMPLETE'
AND zsd.SITE = #{site}
<if test="shopOrder != null and shopOrder != ''"> <if test="shopOrder != null and shopOrder != ''">
AND zsd.SHOP_ORDER = #{shopOrder} AND zsd.SHOP_ORDER = #{shopOrder}
</if> </if>
@ -1008,4 +1008,104 @@
</if> </if>
</where> </where>
</select> </select>
<select id="itemTraceScheduleReport" parameterType="java.util.HashMap" resultType="java.util.HashMap">
SELECT cf.VALUE ITEM_NUMBER,
cf2.VALUE WORK_ORDER,
zsd.SHOP_ORDER SHOP_ORDER,
s.SFC SFC,
i.ITEM ITEM,
it.DESCRIPTION ITEM_DESCRIPTION,
ct.DESCRIPTION COMPONENT_DESCRIPTION,
ot.DESCRIPTION OPERATION_DESCRIPTION,
zsd.BLANKING_SIZE BLANKING_SIZE,
zsd.ACTUAL_START_DATE ACTUAL_START_DATE,
zsd.ACTUAL_COMPLETE_DATE ACTUAL_COMPLETE_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
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'
LEFT JOIN ITEM i On i.HANDLE = so.ITEM_BO AND I.SITE = SO.SITE
LEFT JOIN ITEM_T it ON it.ITEM_BO = so.ITEM_BO
INNER JOIN SFC_BOM sb ON SB.SFC_BO = s.HANDLE
INNER JOIN (select bc.BOM_BO from BOM_COMPONENT bc group by bc.BOM_BO) bc ON sb.BOM_BO = bc.BOM_BO
LEFT JOIN ITEM cp ON cp.HANDLE = s.ITEM_BO
LEFT JOIN ITEM_T ct ON ct.ITEM_BO = cp.HANDLE
INNER JOIN OPERATION o ON o.SITE = zsd.SITE AND o.OPERATION = zsd.OPERATION AND o.CURRENT_REVISION = 'true'
LEFT JOIN OPERATION_T ot ON ot.OPERATION_BO = o.HANDLE
<where>
zsd.DISPATCH_STATUS = 'COMPLETE'
AND zsd.SITE = #{site}
<if test="shopOrder != null and shopOrder != ''">
AND zsd.SHOP_ORDER = #{shopOrder}
</if>
<if test="sfc != null and sfc != ''">
AND s.SFC = #{sfc}
</if>
</where>
</select>
<select id="resourceTaskDetailReport" parameterType="java.util.HashMap" resultType="java.util.HashMap">
SELECT WIP.*,
CASE
WHEN WIP.DISPATCH_SEQ = 1 OR V1.DISPATCH_STATUS = 'COMPLETE'
THEN N'是'
ELSE N'否' END IS_COMPLETED,
CASE
WHEN WIP.DISPATCH_STATUS = 'NEW' THEN N'新建'
WHEN WIP.DISPATCH_STATUS = 'RELEASE' THEN N'发布'
WHEN WIP.DISPATCH_STATUS = 'START' THEN N'已开始'
END AS DISPATCH_STATUS
FROM (
SELECT cf.VALUE ITEM_NUMBER,
cf2.VALUE WORK_ORDER,
zsd.SHOP_ORDER SHOP_ORDER,
zsd.DISPATCH_NO DISPATCH_NO,
i.ITEM ITEM,
it.DESCRIPTION ITEM_DESCRIPTION,
ct.DESCRIPTION COMPONENT_DESCRIPTION,
zsd.BLANKING_SIZE BLANKING_SIZE,
zsd.DISPATCH_QTY DISPATCH_QTY,
zsd.PROD_HOURS PROD_HOURS,
CASE
WHEN zsd.PROD_HOURS IS NULL THEN 0
ELSE ROUND(zsd.DISPATCH_QTY * zsd.PROD_HOURS, 4) END TOTAL_PROD_HOURS,
zsd.DISPATCH_STATUS DISPATCH_STATUS,
zsd.SITE SITE,
zsd.SFC SFC,
zsd.ROUTER_BO ROUTER_BO,
zsd.DISPATCH_SEQ,
zsd.DISPATCH_SEQ - 1 BEFORE_SEQ,
zsd.PLANNED_START_DATE PLANNED_START_DATE,
zsd.PLANNED_COMP_DATE PLANNED_COMP_DATE,
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
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'
LEFT JOIN ITEM i On i.HANDLE = so.ITEM_BO AND I.SITE = SO.SITE
LEFT JOIN ITEM_T it ON it.ITEM_BO = so.ITEM_BO AND it.LOCALE = 'zh'
INNER JOIN SFC_BOM sb ON SB.SFC_BO = s.HANDLE
INNER JOIN (select bc.BOM_BO from BOM_COMPONENT bc group by bc.BOM_BO) bc ON sb.BOM_BO = bc.BOM_BO
LEFT JOIN ITEM cp ON cp.HANDLE = s.ITEM_BO
LEFT JOIN ITEM_T ct ON ct.ITEM_BO = cp.HANDLE AND ct.LOCALE = 'zh'
WHERE zsd.SITE = '1000'
AND zsd.DISPATCH_STATUS = 'NEW'
OR zsd.DISPATCH_STATUS = 'RELEASE'
OR zsd.DISPATCH_STATUS = 'START') WIP
LEFT JOIN Z_SFC_DISPATCH V1
ON V1.SITE = WIP.SITE AND V1.SFC = WIP.SFC AND V1.ROUTER_BO = WIP.ROUTER_BO AND
V1.DISPATCH_SEQ = WIP.BEFORE_SEQ
<where>
1=1
<if test="shopOrder != null and shopOrder != ''">
AND WIP.SHOP_ORDER = #{shopOrder}
</if>
<if test="dispatchStatus != null and dispatchStatus != ''">
AND WIP.DISPATCH_STATUS = #{dispatchStatus}
</if>
</where>
</select>
</mapper> </mapper>
Loading…
Cancel
Save