|
@@ -75,7 +75,12 @@ public class ProduceReportServiceImpl extends BaseServiceImpl<ProduceReportMappe
|
|
|
|
|
|
@Override
|
|
|
public ProduceReportVO sumMonthYear(ProduceReportDTO record) {
|
|
|
- return mapper.sumMonthYear(record);
|
|
|
+ ProduceReportVO vo = mapper.sumMonthYear(record);
|
|
|
+ if (vo == null) {
|
|
|
+ vo = new ProduceReportVO();
|
|
|
+ vo.setTotalValue("0");
|
|
|
+ }
|
|
|
+ return vo;
|
|
|
}
|
|
|
|
|
|
|
|
@@ -251,7 +256,6 @@ public class ProduceReportServiceImpl extends BaseServiceImpl<ProduceReportMappe
|
|
|
* 902 0600032
|
|
|
*/
|
|
|
@Override
|
|
|
- @Async
|
|
|
@Transactional(rollbackFor = Exception.class)
|
|
|
public void generate(LocalDate date) {
|
|
|
LocalDate now = LocalDate.now();
|
|
@@ -820,15 +824,17 @@ public class ProduceReportServiceImpl extends BaseServiceImpl<ProduceReportMappe
|
|
|
this.saveModel(report);
|
|
|
resultList.add(report);
|
|
|
// 年累计
|
|
|
- ProduceReportDTO month = new ProduceReportDTO();
|
|
|
- month.setDataId(produceData.getId());
|
|
|
- month.setYear(date.getYear());
|
|
|
- ProduceReportVO yearVO = this.sumMonthYear(month);
|
|
|
+ ProduceRecordDTO month = new ProduceRecordDTO();
|
|
|
+ month.setProductNo(no);
|
|
|
+ month.setDateStart(DateUtils.getFirstDayOfThisYear(date.getYear()));
|
|
|
+ month.setDateEnd(DateUtils.getLastDayOfThisYear(date.getYear()));
|
|
|
+ month.setType(type);
|
|
|
+ ProduceRecordVO yearVO = produceRecordService.sumMonthYear(month);
|
|
|
ProduceData yearData = produceDataService.selectByNo(prefix + no + "_year");
|
|
|
ProduceReport yearReport = BeanConverterUtil.copyObjectProperties(yearData, ProduceReport.class);
|
|
|
yearReport.setDate(date);
|
|
|
yearReport.setDataId(yearData.getId());
|
|
|
- yearReport.setValue(new BigDecimal(yearVO.getTotalValue()).divide(new BigDecimal(1000), 2, BigDecimal.ROUND_HALF_UP).toString());
|
|
|
+ yearReport.setValue(yearVO.getTotalValue().divide(new BigDecimal(1000), 2, BigDecimal.ROUND_HALF_UP).toString());
|
|
|
yearReport.setYear(date.getYear());
|
|
|
yearReport.setMonth(date.getMonthValue());
|
|
|
yearReport.setDay(date.getDayOfMonth());
|
|
@@ -836,13 +842,14 @@ public class ProduceReportServiceImpl extends BaseServiceImpl<ProduceReportMappe
|
|
|
this.saveModel(yearReport);
|
|
|
|
|
|
// 月累计
|
|
|
- report.setMonth(date.getMonthValue());
|
|
|
- ProduceReportVO monthVO = this.sumMonthYear(month);
|
|
|
+ month.setDateStart(DateUtils.getFirstDayOfMonth(date));
|
|
|
+ month.setDateEnd(DateUtils.getLastDayOfMonth(date));
|
|
|
+ ProduceRecordVO monthVO = produceRecordService.sumMonthYear(month);
|
|
|
ProduceData monthData = produceDataService.selectByNo(prefix + no + "_month");
|
|
|
ProduceReport monthReport = BeanConverterUtil.copyObjectProperties(monthData, ProduceReport.class);
|
|
|
monthReport.setDate(date);
|
|
|
monthReport.setDataId(monthData.getId());
|
|
|
- monthReport.setValue(new BigDecimal(monthVO.getTotalValue()).divide(new BigDecimal(1000), 2, BigDecimal.ROUND_HALF_UP).toString());
|
|
|
+ monthReport.setValue(monthVO.getTotalValue().divide(new BigDecimal(1000), 2, BigDecimal.ROUND_HALF_UP).toString());
|
|
|
monthReport.setYear(date.getYear());
|
|
|
monthReport.setMonth(date.getMonthValue());
|
|
|
monthReport.setDay(date.getDayOfMonth());
|
|
@@ -1011,15 +1018,17 @@ public class ProduceReportServiceImpl extends BaseServiceImpl<ProduceReportMappe
|
|
|
this.saveModel(report);
|
|
|
|
|
|
// 年累计
|
|
|
- ProduceReportDTO month = new ProduceReportDTO();
|
|
|
- month.setDataId(produceData.getId());
|
|
|
- month.setYear(date.getYear());
|
|
|
- ProduceReportVO yearVO = this.sumMonthYear(month);
|
|
|
+ ProduceRecordDTO month = new ProduceRecordDTO();
|
|
|
+ month.setProductNo(no);
|
|
|
+ month.setDateStart(DateUtils.getFirstDayOfThisYear(date.getYear()));
|
|
|
+ month.setDateEnd(DateUtils.getLastDayOfThisYear(date.getYear()));
|
|
|
+ month.setType(ProduceRecordTypeEnum.CL_CK.getValue());
|
|
|
+ ProduceRecordVO yearVO = produceRecordService.sumMonthYear(month);
|
|
|
ProduceData yearData = produceDataService.selectByNo(prefix + no + "_hy" + "_year");
|
|
|
ProduceReport yearReport = BeanConverterUtil.copyObjectProperties(yearData, ProduceReport.class);
|
|
|
yearReport.setDate(date);
|
|
|
yearReport.setDataId(yearData.getId());
|
|
|
- yearReport.setValue(new BigDecimal(yearVO.getTotalValue()).divide(new BigDecimal(1000), 2, BigDecimal.ROUND_HALF_UP).toString());
|
|
|
+ yearReport.setValue(yearVO.getTotalValue().divide(new BigDecimal(1000), 2, BigDecimal.ROUND_HALF_UP).toString());
|
|
|
yearReport.setYear(date.getYear());
|
|
|
yearReport.setMonth(date.getMonthValue());
|
|
|
yearReport.setDay(date.getDayOfMonth());
|
|
@@ -1027,20 +1036,20 @@ public class ProduceReportServiceImpl extends BaseServiceImpl<ProduceReportMappe
|
|
|
this.saveModel(yearReport);
|
|
|
|
|
|
// 月累计
|
|
|
- report.setMonth(date.getMonthValue());
|
|
|
- ProduceReportVO monthVO = this.sumMonthYear(month);
|
|
|
+ month.setDateStart(DateUtils.getFirstDayOfMonth(date));
|
|
|
+ month.setDateEnd(DateUtils.getLastDayOfMonth(date));
|
|
|
+ ProduceRecordVO monthVO = produceRecordService.sumMonthYear(month);
|
|
|
ProduceData monthData = produceDataService.selectByNo(prefix + no + "_hy" + "_month");
|
|
|
ProduceReport monthReport = BeanConverterUtil.copyObjectProperties(monthData, ProduceReport.class);
|
|
|
monthReport.setDate(date);
|
|
|
monthReport.setDataId(monthData.getId());
|
|
|
- monthReport.setValue(new BigDecimal(monthVO.getTotalValue()).divide(new BigDecimal(1000), 2, BigDecimal.ROUND_HALF_UP).toString());
|
|
|
+ monthReport.setValue(monthVO.getTotalValue().divide(new BigDecimal(1000), 2, BigDecimal.ROUND_HALF_UP).toString());
|
|
|
monthReport.setYear(date.getYear());
|
|
|
monthReport.setMonth(date.getMonthValue());
|
|
|
monthReport.setDay(date.getDayOfMonth());
|
|
|
monthReport.setCreatedTime(LocalDateTime.now());
|
|
|
this.saveModel(monthReport);
|
|
|
|
|
|
-
|
|
|
// 计算每日单耗,找到每日scl量
|
|
|
ProduceReport dayScl = sclList.stream().filter(dept -> dept.getNo().endsWith("_0300027")).collect(Collectors.toList()).get(0);
|
|
|
String hyPrefix = "hy_";
|
|
@@ -1066,10 +1075,10 @@ public class ProduceReportServiceImpl extends BaseServiceImpl<ProduceReportMappe
|
|
|
ProduceReport monthHy = BeanConverterUtil.copyObjectProperties(hyMonth, ProduceReport.class);
|
|
|
monthHy.setDate(date);
|
|
|
monthHy.setDataId(hyMonth.getId());
|
|
|
- if (new BigDecimal("0").compareTo(new BigDecimal(monthVO.getTotalValue())) == 0) {
|
|
|
+ if (new BigDecimal("0").compareTo(monthVO.getTotalValue()) == 0 || new BigDecimal(monthScl.getValue()).compareTo(new BigDecimal(0)) <= 0) {
|
|
|
monthHy.setValue("0");
|
|
|
} else {
|
|
|
- BigDecimal hyMonthValue = (new BigDecimal(monthVO.getTotalValue()).divide(new BigDecimal(monthScl.getValue()), RoundingMode.HALF_UP).multiply(new BigDecimal(0.3))).setScale(2, RoundingMode.HALF_UP);
|
|
|
+ BigDecimal hyMonthValue = (monthVO.getTotalValue().divide(new BigDecimal(monthScl.getValue()), RoundingMode.HALF_UP).multiply(new BigDecimal(0.3))).setScale(2, RoundingMode.HALF_UP);
|
|
|
monthHy.setValue(hyMonthValue.toString());
|
|
|
}
|
|
|
monthHy.setYear(date.getYear());
|