工时统计报表(车间维度)

master
yinq 2 years ago
parent 163ddeea6a
commit e3d80c4b77

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

@ -101,7 +101,8 @@ public class WorkCentreDetailsController {
*/ */
@PostMapping @PostMapping
public R save(@RequestBody WorkCentreDetails workCentreDetails) { public R save(@RequestBody WorkCentreDetails workCentreDetails) {
String handle = StringUtil.createQUID();
String user = CommonMethods.getUser(); String user = CommonMethods.getUser();
String site = CommonMethods.getSite(); String site = CommonMethods.getSite();
LocalDateTime now = LocalDateTime.now(); LocalDateTime now = LocalDateTime.now();
@ -113,6 +114,7 @@ public class WorkCentreDetailsController {
if (selectList.size() != 0) { if (selectList.size() != 0) {
return R.failed("车间工作中心编号:" + workshopWorkCenterNo + "不允许重复"); return R.failed("车间工作中心编号:" + workshopWorkCenterNo + "不允许重复");
} }
String handle = "CostCenterBO:" + site + "," + workshopWorkCenterNo;
workCentreDetails.setHandle(handle); workCentreDetails.setHandle(handle);
workCentreDetails.setSite(site); workCentreDetails.setSite(site);
workCentreDetails.setCreatedTime(now); workCentreDetails.setCreatedTime(now);

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

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

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

@ -2893,5 +2893,69 @@ SELECT zab.CREATED_DATE_TIME,
GROUP BY ZWH."shortHandWorkOrder" GROUP BY ZWH."shortHandWorkOrder"
ORDER BY "totalWorkingHours" DESC ORDER BY "totalWorkingHours" DESC
</select> </select>
<select id="timeStatisticsWorkshopReport" resultType="java.util.Map" parameterType="java.util.HashMap">
--工时统计报表(车间维度)
SELECT NEWIP.Z_YEAR,
NEWIP.Z_MONTH,
NEWIP.COST_CENTER,
NEWIP.WORK_CENTER_DESCRIPTION,
NEWIP.WORK_HOURS,
CASE
WHEN ZTF.TOTAL_WORK_HOURS IS NOT NULL THEN ZTF.TOTAL_WORK_HOURS
ELSE 0 END ZTF_WORK_HOURS,
CASE
WHEN ZTF.TOTAL_WORK_HOURS IS NOT NULL THEN NEWIP.WORK_HOURS + ZTF.TOTAL_WORK_HOURS
ELSE NEWIP.WORK_HOURS END TOTAL_HOURS
FROM (
SELECT WCIP.Z_YEAR,
WCIP.Z_MONTH,
WCIP.Z_YEAR_MONTH,
WCIP.COST_CENTER,
WCT.DESCRIPTION WORK_CENTER_DESCRIPTION,
SUM(WCIP.WORK_HOURS) WORK_HOURS,
WCIP.SITE
FROM (
SELECT TO_CHAR((ZSD.ACTUAL_COMPLETE_DATE + 8 / 24), 'yyyy') Z_YEAR,
TO_CHAR((ZSD.ACTUAL_COMPLETE_DATE + 8 / 24), 'MM') Z_MONTH,
TO_CHAR((ZSD.ACTUAL_COMPLETE_DATE + 8 / 24), 'YYYY-mm') Z_YEAR_MONTH,
WC.HANDLE WORK_CENTER,
ZWCD.COST_CENTER COST_CENTER,
CASE
WHEN ZSD.DISPATCH_STATUS = 'COMPLETE'
THEN ZSD.DISPATCH_QTY * ZSD.PROD_HOURS
ELSE 0 END WORK_HOURS,
ZSD.SITE
FROM Z_SFC_DISPATCH ZSD
JOIN WORK_CENTER WC ON WC.WORK_CENTER = ZSD.WORK_CENTER
LEFT JOIN Z_WORK_CENTRE_DETAILS ZWCD ON ZWCD.SITE = ZSD.SITE
AND ZWCD.WORKSHOP = ZSD.WORK_CENTER AND ZWCD.WORKSHOP_WORK_CENTER_NO = ZSD.OPERATION
WHERE ZSD.ACTUAL_COMPLETE_DATE IS NOT NULL) WCIP
LEFT JOIN WORK_CENTER_T WCT ON WCT.WORK_CENTER_BO = WCIP.WORK_CENTER
GROUP BY WCIP.SITE,WCIP.Z_YEAR, WCIP.Z_MONTH,WCIP.Z_YEAR_MONTH, WCT.DESCRIPTION, WCIP.COST_CENTER) NEWIP
LEFT JOIN (SELECT NZTF.SITE,
NZTF.Z_YEAR_MONTH,
NZTF.COST_CENTER,
ROUND(SUM(NZTF.TOTAL_WORK_HOURS), 2) TOTAL_WORK_HOURS
FROM (
SELECT ZTF.SITE,
ZTF.COST_CENTER,
ZTF.TOTAL_WORK_HOURS,
TO_CHAR((ZTF.CREATED_TIME + 8 / 24), 'YYYY-mm') Z_YEAR_MONTH
FROM Z_TEMPORARY_FIX ZTF
WHERE ZTF.COST_CENTER IS NOT NULL) NZTF
GROUP BY NZTF.SITE, NZTF.Z_YEAR_MONTH, NZTF.COST_CENTER) ZTF
ON ZTF.SITE = NEWIP.SITE AND ZTF.COST_CENTER = NEWIP.COST_CENTER AND ZTF.Z_YEAR_MONTH = NEWIP.Z_YEAR_MONTH
WHERE 1=1
<if test="monthDate != null and monthDate != ''">
AND NEWIP.Z_YEAR_MONTH = #{monthDate}
</if>
<if test="yearDate != null and yearDate != ''">
AND NEWIP.Z_YEAR = #{yearDate}
</if>
<if test="workCenter != null and workCenter != ''">
AND NEWIP.WORK_CENTER_DESCRIPTION = #{workCenter}
</if>
ORDER BY NEWIP.Z_YEAR, NEWIP.Z_MONTH, NEWIP.WORK_CENTER_DESCRIPTION,NEWIP.COST_CENTER
</select>
</mapper> </mapper>
Loading…
Cancel
Save