工时报表加异常匹配修改

master
yinq 2 years ago
parent db87610e30
commit a1f62ac682

@ -282,4 +282,19 @@ public interface ReportMapper {
* @return
*/
List<Map<String, String>> timeStatisticsWorkshopReport(Map paramMap);
/**
* duty
* @param abnormalNo
* @return
*/
Map<String, String> findAbnormalDutyByAbnormalNo(@Param("site") String site,@Param("abnormalNo") String abnormalNo);
/**
* sfcstepIdduty
* @param sfc
* @param stepId
* @return
*/
Map<String, String> findAbnormalDutyBySFCAndStepId(@Param("site") String site,@Param("sfc") String sfc,@Param("stepId") String stepId);
}

@ -360,7 +360,33 @@ public class ReportServiceImpl implements ReportService {
String site = CommonMethods.getSite();
paramMap.put("site", site);
paramMap.put("locale", LocaleContextHolder.getLocale().getLanguage());
return reportMapper.findOperatorScheduleReport(paramMap);
List<Map<String, Object>> result = reportMapper.findOperatorScheduleReport(paramMap);
for (Map<String, Object> map : result) {
if (String.valueOf(map.get("STEP_ID")).substring(0,2).equals("90") ){
String sfc = String.valueOf(map.get("SFC"));
String stepId = String.valueOf(map.get("STEP_ID"));
//检验是否拆单
Map<String, String> sfcAbnormalNoMap = reportMapper.findAbnormalDutyBySFCAndStepId(site,sfc,stepId);
if (sfcAbnormalNoMap != null){
map.put("ABNORMAL_NO",sfcAbnormalNoMap.get("ABNORMAL_NO"));
map.put("DUTY_TYPE",sfcAbnormalNoMap.get("DUTY_TYPE"));
map.put("DUTY_DEPART",sfcAbnormalNoMap.get("DUTY_DEPART"));
map.put("PRINCIPAL_USER",sfcAbnormalNoMap.get("PRINCIPAL_USER"));
map.put("NC_CODE_DESCRIPTION",sfcAbnormalNoMap.get("NC_CODE_DESCRIPTION"));
}
String abnormalNo = String.valueOf(map.get("SHOP_ORDER"));
if (abnormalNo.substring(0,1).equals("Q")){
Map<String, String> abnormalNoMap = reportMapper.findAbnormalDutyByAbnormalNo(site,abnormalNo);
map.put("ABNORMAL_NO",abnormalNoMap.get("ABNORMAL_NO"));
map.put("DUTY_TYPE",abnormalNoMap.get("DUTY_TYPE"));
map.put("DUTY_DEPART",abnormalNoMap.get("DUTY_DEPART"));
map.put("PRINCIPAL_USER",abnormalNoMap.get("PRINCIPAL_USER"));
map.put("NC_CODE_DESCRIPTION",abnormalNoMap.get("NC_CODE_DESCRIPTION"));
}
}
}
return result;
}
@Override

@ -2970,6 +2970,101 @@ SELECT zab.CREATED_DATE_TIME,
</if>
ORDER BY NEWIP.Z_YEAR, NEWIP.Z_MONTH, NEWIP.WORK_CENTER_DESCRIPTION DESC,NEWIP.COST_CENTER
</select>
<select id="findAbnormalDutyByAbnormalNo" resultType="java.util.Map">
SELECT zab.SITE SITE,
zab.ABNORMAL_NO ABNORMAL_NO,
(SELECT LISTAGG(DFV.DESCRIPTION, ',') WITHIN GROUP ( ORDER BY DFV.DATA_VALUE )
FROM (
SELECT DFL.DATA_VALUE DATA_VALUE,
DFLT.DATA_TAG DESCRIPTION,
DF.DATA_FIELD DATA_FIELD
FROM DATA_FIELD DF
INNER JOIN DATA_FIELD_LIST DFL ON DF.HANDLE = DFL.DATA_FIELD_BO
LEFT JOIN DATA_FIELD_LIST_T DFLT
ON DFL.HANDLE = DFLT.DATA_FIELD_LIST_BO AND DFLT.LOCALE = 'zh'
) DFV
WHERE INSTR(zabd.DUTY_TYPE, DFV.DATA_VALUE) > 0
AND DFV.DATA_FIELD = 'RESPONSIBILITY_TYPE') DUTY_TYPE,
(SELECT LISTAGG(DFV.DESCRIPTION, ',') WITHIN GROUP ( ORDER BY DFV.DATA_VALUE )
FROM (
SELECT DFL.DATA_VALUE DATA_VALUE,
DFLT.DATA_TAG DESCRIPTION,
DF.DATA_FIELD DATA_FIELD
FROM DATA_FIELD DF
INNER JOIN DATA_FIELD_LIST DFL ON DF.HANDLE = DFL.DATA_FIELD_BO
LEFT JOIN DATA_FIELD_LIST_T DFLT
ON DFL.HANDLE = DFLT.DATA_FIELD_LIST_BO AND DFLT.LOCALE = 'zh'
) DFV
WHERE INSTR(zabd.DUTY_DEPART, DFV.DATA_VALUE) > 0
AND DFV.DATA_FIELD = 'RESPONSIBILITY_DEPARTMENT') DUTY_DEPART,
zabd.PRINCIPAL_USER PRINCIPAL_USER,
LISTAGG(nct.DESCRIPTION, ',') WITHIN GROUP (ORDER BY zab.ABNORMAL_NO) NC_CODE_DESCRIPTION
FROM Z_ABNORMAL_BILL zab
INNER JOIN Z_ABNORMAL_BILL_DISPOSE zabd ON zab.HANDLE = zabd.ABNORMAL_BILL_BO
INNER JOIN Z_ABNORMAL_NC_CODE zanc ON zab.HANDLE = zanc.ABNORMAL_BILL_BO
INNER JOIN NC_CODE nc ON zanc.NC_CODE = nc.NC_CODE AND nc.SITE = zab.SITE
INNER JOIN NC_CODE_T nct ON nct.NC_CODE_BO = nc.HANDLE AND nct.LOCALE = 'zh'
WHERE zab.SITE = #{site} AND zab.ABNORMAL_NO = #{abnormalNo}
GROUP BY zab.SITE, zab.ABNORMAL_NO, zabd.DUTY_TYPE, zabd.DUTY_DEPART, zabd.PRINCIPAL_USER
</select>
<select id="findAbnormalDutyBySFCAndStepId" resultType="java.util.Map">
SELECT NST.SITE,
NST.SFC,
ZSS.SPLIT_SFC,
NST.STEP_ID,
LISTAGG(NST.ABNORMAL_NO, ';') WITHIN GROUP ( ORDER BY NST.ABNORMAL_NO) ABNORMAL_NO,
LISTAGG(NST.DUTY_TYPE, ';') WITHIN GROUP ( ORDER BY NST.ABNORMAL_NO) DUTY_TYPE,
LISTAGG(NST.DUTY_DEPART, ';') WITHIN GROUP ( ORDER BY NST.ABNORMAL_NO) DUTY_DEPART,
LISTAGG(NST.PRINCIPAL_USER, ';') WITHIN GROUP ( ORDER BY NST.ABNORMAL_NO) PRINCIPAL_USER,
LISTAGG(NST.NC_CODE_DESCRIPTION, ';')
WITHIN GROUP ( ORDER BY NST.ABNORMAL_NO) NC_CODE_DESCRIPTION
FROM (
SELECT zab.SITE SITE,
zab.ABNORMAL_NO ABNORMAL_NO,
zab.SFC SFC,
RSP.STEP_ID STEP_ID,
(SELECT LISTAGG(DFV.DESCRIPTION, ',') WITHIN GROUP ( ORDER BY DFV.DATA_VALUE )
FROM (
SELECT DFL.DATA_VALUE DATA_VALUE,
DFLT.DATA_TAG DESCRIPTION,
DF.DATA_FIELD DATA_FIELD
FROM DATA_FIELD DF
INNER JOIN DATA_FIELD_LIST DFL ON DF.HANDLE = DFL.DATA_FIELD_BO
LEFT JOIN DATA_FIELD_LIST_T DFLT
ON DFL.HANDLE = DFLT.DATA_FIELD_LIST_BO AND DFLT.LOCALE = 'zh'
) DFV
WHERE INSTR(zabd.DUTY_TYPE, DFV.DATA_VALUE) > 0
AND DFV.DATA_FIELD = 'RESPONSIBILITY_TYPE') DUTY_TYPE,
(SELECT LISTAGG(DFV.DESCRIPTION, ',') WITHIN GROUP ( ORDER BY DFV.DATA_VALUE )
FROM (
SELECT DFL.DATA_VALUE DATA_VALUE,
DFLT.DATA_TAG DESCRIPTION,
DF.DATA_FIELD DATA_FIELD
FROM DATA_FIELD DF
INNER JOIN DATA_FIELD_LIST DFL ON DF.HANDLE = DFL.DATA_FIELD_BO
LEFT JOIN DATA_FIELD_LIST_T DFLT
ON DFL.HANDLE = DFLT.DATA_FIELD_LIST_BO AND DFLT.LOCALE = 'zh'
) DFV
WHERE INSTR(zabd.DUTY_DEPART, DFV.DATA_VALUE) > 0
AND DFV.DATA_FIELD = 'RESPONSIBILITY_DEPARTMENT') DUTY_DEPART,
zabd.PRINCIPAL_USER PRINCIPAL_USER,
LISTAGG(nct.DESCRIPTION, ',') WITHIN GROUP (ORDER BY zab.ABNORMAL_NO) NC_CODE_DESCRIPTION
FROM Z_ABNORMAL_BILL zab
INNER JOIN Z_ABNORMAL_BILL_DISPOSE zabd ON zab.HANDLE = zabd.ABNORMAL_BILL_BO
INNER JOIN Z_ABNORMAL_NC_CODE zanc ON zab.HANDLE = zanc.ABNORMAL_BILL_BO
INNER JOIN NC_CODE nc ON zanc.NC_CODE = nc.NC_CODE AND nc.SITE = zab.SITE
INNER JOIN NC_CODE_T nct ON nct.NC_CODE_BO = nc.HANDLE AND nct.LOCALE = 'zh'
LEFT JOIN ROUTER rs ON zabd.ROUTER_BO = RS.HANDLE
LEFT JOIN ROUTER_STEP RSP ON RSP.ROUTER_BO = rs.HANDLE
WHERE zab.TYPE = 'Z'
AND ZAB.SFC IS NOT NULL
AND RSP.STEP_ID IS NOT NULL
GROUP BY zab.SITE, zab.ABNORMAL_NO, zab.SFC, RSP.STEP_ID, zabd.DUTY_TYPE, zabd.DUTY_DEPART,
zabd.PRINCIPAL_USER) NST
JOIN Z_SPLIT_SFC ZSS ON NST.SFC = ZSS.SFC
WHERE ZSS.SITE = #{site} AND ZSS.SPLIT_SFC = #{sfc} AND NST.STEP_ID = #{stepId}
GROUP BY NST.SITE, NST.SFC,ZSS.SPLIT_SFC, NST.STEP_ID
</select>
</mapper>
Loading…
Cancel
Save