工时统计报表(客户维度)

master
yinq 2 years ago
parent 849e845955
commit 163ddeea6a

@ -526,6 +526,20 @@ public class ReportController {
}
}
/**
*
* @param
* @return
*/
@GetMapping("/timeStatisticsCustomerReport")
public R timeStatisticsCustomerReport(@RequestParam(required = false) Map paramMap){
try {
return R.ok(reportService.timeStatisticsCustomerReport(paramMap));
} catch (Exception e) {
return R.failed(e.getMessage());
}
}
/**
*
*

@ -268,4 +268,11 @@ public interface ReportMapper {
* @return
*/
List<Map<String, String>> JJComponentProcessEfficiencyReport(Map paramMap);
/**
* ()
* @param paramMap
* @return
*/
List<Map<String, String>> timeStatisticsCustomerReport(Map paramMap);
}

@ -279,4 +279,10 @@ public interface ReportService {
*/
List<Map<String, String>> JJComponentProcessEfficiencyReport(Map paramMap);
/**
* ()
* @param paramMap
* @return
*/
List<Map<String, String>> timeStatisticsCustomerReport(Map paramMap);
}

@ -1497,6 +1497,19 @@ public class ReportServiceImpl implements ReportService {
return reportMapper.JJComponentProcessEfficiencyReport(paramMap);
}
/**
* ()
* @param paramMap
* @return
*/
@Override
public List<Map<String, String>> timeStatisticsCustomerReport(Map paramMap) {
String site = CommonMethods.getSite();
paramMap.put("site", site);
paramMap.put("locale", LocaleContextHolder.getLocale().getLanguage());
return reportMapper.timeStatisticsCustomerReport(paramMap);
}
/**
*
* @param paramMap

@ -2415,7 +2415,7 @@ SELECT zab.CREATED_DATE_TIME,
LEFT JOIN Z_NWA_USER znu ON znu.USER_NAME = zab.CREATED_USER AND znu.SITE = zab.SITE
LEFT JOIN Z_NWA_USER znu2 ON znu2.USER_NAME = zabd.RESOLVE_USER AND znu2.SITE = zab.SITE
<where>
zab.SITE = #{site} AND zab."TYPE" ='Z'
zab.SITE = #{site} AND zab."TYPE" ='Z' AND zab.STATUS != 'Q'
<if test="abnormalNo != null and abnormalNo != ''">
AND zab.ABNORMAL_NO = #{abnormalNo}
</if>
@ -2429,7 +2429,7 @@ SELECT zab.CREATED_DATE_TIME,
AND i.ITEM = #{item}
</if>
<if test="itemDescription != null and itemDescription != ''">
AND it.DESCRIPTION = #{itemDescription}
AND it.DESCRIPTION like '%${itemDescription}%'
</if>
<if test="productCategory != null and productCategory != ''">
AND (dflt.DATA_TAG = #{productCategory} OR
@ -2852,4 +2852,46 @@ SELECT zab.CREATED_DATE_TIME,
</if>
</select>
<select id="timeStatisticsCustomerReport" resultType="java.util.Map" parameterType="java.util.HashMap">
--工时统计报表(客户维度)
SELECT ZWH."shortHandWorkOrder",
ROUND(SUM(ZWH."workHours"), 2) "totalWorkingHours"
FROM (
SELECT cf2.VALUE "workOrder",
CASE
WHEN INSTR(cf2.VALUE, '硫化') > 0 THEN '硫化'
WHEN INSTR(cf2.VALUE, '全钢') > 0 THEN '全钢'
WHEN INSTR(cf2.VALUE, '半钢') > 0 THEN '半钢'
WHEN INSTR(cf2.VALUE, '鼓') > 0 THEN '鼓'
WHEN INSTR(cf2.VALUE, '裁断') > 0 THEN '裁断'
WHEN INSTR(cf2.VALUE, '检测') > 0 THEN '检测'
WHEN INSTR(cf2.VALUE, '橡塑') > 0 THEN '橡塑'
WHEN INSTR(cf2.VALUE, '非公路') > 0 THEN '非公路'
WHEN INSTR(cf2.VALUE, '研究院') > 0 THEN '研究院'
WHEN INSTR(cf2.VALUE, '粉体') > 0 THEN '粉体'
ELSE '其他' END "shortHandWorkOrder",
SUM(CASE
WHEN ZSD.DISPATCH_STATUS = 'COMPLETE'
THEN ZSD.DISPATCH_QTY * ZSD.PROD_HOURS
ELSE 0 END) "workHours"
FROM Z_SFC_DISPATCH ZSD
LEFT JOIN SHOP_ORDER so ON so.SHOP_ORDER = zsd.SHOP_ORDER AND so.SITE = zsd.SITE
LEFT JOIN CUSTOM_FIELDS cf2 ON cf2.HANDLE = so.HANDLE AND cf2."ATTRIBUTE" = 'WORK_ORDER'
WHERE 1 = 1
<if test="workOrder != null and workOrder != ''">
AND cf2.VALUE like '%${workOrder}%'
</if>
<if test="monthDate != null and monthDate != ''">
AND TO_CHAR((ZSD.ACTUAL_COMPLETE_DATE + 8 / 24),'yyyy-MM') = #{monthDate}
AND TO_CHAR((ZSD.ACTUAL_COMPLETE_DATE + 8 / 24),'yyyy-MM') = #{monthDate}
</if>
<if test="yearDate != null and yearDate != ''">
AND TO_CHAR((ZSD.ACTUAL_COMPLETE_DATE + 8 / 24),'yyyy') = #{yearDate}
AND TO_CHAR((ZSD.ACTUAL_COMPLETE_DATE + 8 / 24),'yyyy') = #{yearDate}
</if>
GROUP BY cf2.VALUE) ZWH
GROUP BY ZWH."shortHandWorkOrder"
ORDER BY "totalWorkingHours" DESC
</select>
</mapper>
Loading…
Cancel
Save