|
@@ -569,7 +569,6 @@ public class ProduceReportServiceImpl extends BaseServiceImpl<ProduceReportMappe
|
|
|
|
|
|
// 计算耗用,耗用等于库存-液位
|
|
// 计算耗用,耗用等于库存-液位
|
|
generateYeweiReport(date, "ck_", "0100087_hy", SysConfigEnum.PRODUCE_YEWEI_903_HY.name());// 903
|
|
generateYeweiReport(date, "ck_", "0100087_hy", SysConfigEnum.PRODUCE_YEWEI_903_HY.name());// 903
|
|
- generateYeweiReport(date, "ck_", "0100074_hy", SysConfigEnum.PRODUCE_YEWEI_904_HY.name());// 904
|
|
|
|
generateYeweiReport(date, "ck_", "0100083_hy", SysConfigEnum.PRODUCE_YEWEI_905_HY.name());// 905
|
|
generateYeweiReport(date, "ck_", "0100083_hy", SysConfigEnum.PRODUCE_YEWEI_905_HY.name());// 905
|
|
generateYeweiReport(date, "ck_", "0100003_hy", SysConfigEnum.PRODUCE_YEWEI_907_HY.name());// 907
|
|
generateYeweiReport(date, "ck_", "0100003_hy", SysConfigEnum.PRODUCE_YEWEI_907_HY.name());// 907
|
|
generateYeweiReport(date, "ck_", "0100026_hy", SysConfigEnum.PRODUCE_YEWEI_F160C_HY.name());// F160C
|
|
generateYeweiReport(date, "ck_", "0100026_hy", SysConfigEnum.PRODUCE_YEWEI_F160C_HY.name());// F160C
|
|
@@ -579,27 +578,79 @@ public class ProduceReportServiceImpl extends BaseServiceImpl<ProduceReportMappe
|
|
generateYeweiReport(date, "ck_", "0100160_hy", SysConfigEnum.PRODUCE_YEWEI_YJ_HY.name());// 液碱
|
|
generateYeweiReport(date, "ck_", "0100160_hy", SysConfigEnum.PRODUCE_YEWEI_YJ_HY.name());// 液碱
|
|
generateYeweiReport(date, "ck_", "0100086_hy", SysConfigEnum.PRODUCE_YEWEI_YS_HY.name());// 盐酸
|
|
generateYeweiReport(date, "ck_", "0100086_hy", SysConfigEnum.PRODUCE_YEWEI_YS_HY.name());// 盐酸
|
|
|
|
|
|
|
|
+ // 单独计算904:月均单耗 = 本月耗用/CS-977月累计产量*0.3
|
|
|
|
+ generate904Report(date, "ck_", "0100074_hy");// 904
|
|
|
|
+
|
|
// 重新更新:当日耗用=当日库存+当日入库-前一天库存
|
|
// 重新更新:当日耗用=当日库存+当日入库-前一天库存
|
|
- generateHyAgain(date, "ck_", "0100087_hy", SysConfigEnum.PRODUCE_YEWEI_903_HY.name());// 903
|
|
|
|
- generateHyAgain(date, "ck_", "0100074_hy", SysConfigEnum.PRODUCE_YEWEI_904_HY.name());// 904
|
|
|
|
- generateHyAgain(date, "ck_", "0100083_hy", SysConfigEnum.PRODUCE_YEWEI_905_HY.name());// 905
|
|
|
|
- generateHyAgain(date, "ck_", "0100003_hy", SysConfigEnum.PRODUCE_YEWEI_907_HY.name());// 907
|
|
|
|
- generateHyAgain(date, "ck_", "0100026_hy", SysConfigEnum.PRODUCE_YEWEI_F160C_HY.name());// F160C
|
|
|
|
- generateHyAgain(date, "ck_", "0100010_hy", SysConfigEnum.PRODUCE_YEWEI_CM47B_HY.name());// CM47B
|
|
|
|
- generateHyAgain(date, "ck_", "0100065_hy", SysConfigEnum.PRODUCE_YEWEI_QFS_HY.name());// 氢氟酸
|
|
|
|
- generateHyAgain(date, "ck_", "0100120_hy", SysConfigEnum.PRODUCE_YEWEI_LXL_HY.name());// 硫酰氯
|
|
|
|
- generateHyAgain(date, "ck_", "0100160_hy", SysConfigEnum.PRODUCE_YEWEI_YJ_HY.name());// 液碱
|
|
|
|
- generateHyAgain(date, "ck_", "0100086_hy", SysConfigEnum.PRODUCE_YEWEI_YS_HY.name());// 盐酸
|
|
|
|
|
|
+ generateHyAgain(date, "ck_", "0100087_hy");// 903
|
|
|
|
+ generateHyAgain(date, "ck_", "0100074_hy");// 904
|
|
|
|
+ generateHyAgain(date, "ck_", "0100083_hy");// 905
|
|
|
|
+ generateHyAgain(date, "ck_", "0100003_hy");// 907
|
|
|
|
+ generateHyAgain(date, "ck_", "0100026_hy");// F160C
|
|
|
|
+ generateHyAgain(date, "ck_", "0100010_hy");// CM47B
|
|
|
|
+ generateHyAgain(date, "ck_", "0100065_hy");// 氢氟酸
|
|
|
|
+ generateHyAgain(date, "ck_", "0100120_hy");// 硫酰氯
|
|
|
|
+ generateHyAgain(date, "ck_", "0100160_hy");// 液碱
|
|
|
|
+ generateHyAgain(date, "ck_", "0100086_hy");// 盐酸
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ /**
|
|
|
|
+ * 计算904,单独计算904:月均单耗 = 本月耗用/CS-977月累计产量*0.3
|
|
|
|
+ *
|
|
|
|
+ * @param date
|
|
|
|
+ * @param prefix
|
|
|
|
+ * @param no
|
|
|
|
+ */
|
|
|
|
+ private void generate904Report(LocalDate date, String prefix, String no) {
|
|
|
|
+ // 找到977 月累积产量
|
|
|
|
+ Weekend<ProduceReport> weekend = new Weekend<>(ProduceReport.class);
|
|
|
|
+ WeekendCriteria<ProduceReport, Object> weekendCriteria = weekend.weekendCriteria();
|
|
|
|
+ weekendCriteria.andEqualTo(ProduceReport::getNo, "scl_0300027_month")
|
|
|
|
+ .andEqualTo(ProduceReport::getYear, date.getYear())
|
|
|
|
+ .andEqualTo(ProduceReport::getMonth, date.getMonthValue())
|
|
|
|
+ .andEqualTo(ProduceReport::getDay, date.getDayOfMonth())
|
|
|
|
+ .andEqualTo(ProduceReport::getDate, date);
|
|
|
|
+ ProduceReport report1 = mapper.selectOneByExample(weekend);
|
|
|
|
+ if (StringUtils.isBlank(report1.getValue())) {
|
|
|
|
+ report1.setValue("1");
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ // 找到904:本月耗用
|
|
|
|
+ Weekend<ProduceReport> weekend2 = new Weekend<>(ProduceReport.class);
|
|
|
|
+ WeekendCriteria<ProduceReport, Object> weekendCriteria2 = weekend2.weekendCriteria();
|
|
|
|
+ weekendCriteria2.andEqualTo(ProduceReport::getNo, "ck_0100074_hy_month")
|
|
|
|
+ .andEqualTo(ProduceReport::getYear, date.getYear())
|
|
|
|
+ .andEqualTo(ProduceReport::getMonth, date.getMonthValue())
|
|
|
|
+ .andEqualTo(ProduceReport::getDay, date.getDayOfMonth())
|
|
|
|
+ .andEqualTo(ProduceReport::getDate, date);
|
|
|
|
+ ProduceReport report2 = mapper.selectOneByExample(weekend2);
|
|
|
|
+
|
|
|
|
+ // 找到904:月均单耗
|
|
|
|
+ Weekend<ProduceReport> weekend3 = new Weekend<>(ProduceReport.class);
|
|
|
|
+ WeekendCriteria<ProduceReport, Object> weekendCriteria3 = weekend3.weekendCriteria();
|
|
|
|
+ weekendCriteria3.andEqualTo(ProduceReport::getNo, "hy_0100074_month")
|
|
|
|
+ .andEqualTo(ProduceReport::getYear, date.getYear())
|
|
|
|
+ .andEqualTo(ProduceReport::getMonth, date.getMonthValue())
|
|
|
|
+ .andEqualTo(ProduceReport::getDay, date.getDayOfMonth())
|
|
|
|
+ .andEqualTo(ProduceReport::getDate, date);
|
|
|
|
+ ProduceReport report3 = mapper.selectOneByExample(weekend3);
|
|
|
|
+ if (StringUtils.isBlank(report1.getValue())) {
|
|
|
|
+ report3.setValue(new BigDecimal(report2.getValue()).divide(new BigDecimal(report1.getValue()), 2, RoundingMode.HALF_UP).multiply(new BigDecimal(0.3)).toString());
|
|
|
|
+ } else {
|
|
|
|
+ report3.setValue("0");
|
|
|
|
+ }
|
|
|
|
+ this.modModelByPrimaryKey(report3);
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+
|
|
/**
|
|
/**
|
|
* 重新计算耗用:当日耗用=当日库存+当日入库-前一天库存
|
|
* 重新计算耗用:当日耗用=当日库存+当日入库-前一天库存
|
|
|
|
+ *
|
|
* @param date
|
|
* @param date
|
|
* @param prefix
|
|
* @param prefix
|
|
* @param no
|
|
* @param no
|
|
- * @param name
|
|
|
|
*/
|
|
*/
|
|
- private void generateHyAgain(LocalDate date, String prefix, String no, String name) {
|
|
|
|
|
|
+ private void generateHyAgain(LocalDate date, String prefix, String no) {
|
|
ProduceData produceData = produceDataService.selectByNo(prefix + no);
|
|
ProduceData produceData = produceDataService.selectByNo(prefix + no);
|
|
|
|
|
|
// 找到当日耗用
|
|
// 找到当日耗用
|
|
@@ -612,7 +663,7 @@ public class ProduceReportServiceImpl extends BaseServiceImpl<ProduceReportMappe
|
|
|
|
|
|
// 找到当日库存
|
|
// 找到当日库存
|
|
Weekend<ProduceReport> weekend2 = new Weekend<>(ProduceReport.class);
|
|
Weekend<ProduceReport> weekend2 = new Weekend<>(ProduceReport.class);
|
|
- WeekendCriteria<ProduceReport, Object> weekendCriteria2= weekend2.weekendCriteria();
|
|
|
|
|
|
+ WeekendCriteria<ProduceReport, Object> weekendCriteria2 = weekend2.weekendCriteria();
|
|
weekendCriteria2.andEqualTo(ProduceReport::getNo, "hy_" + no.replace("_hy", "_stock"))
|
|
weekendCriteria2.andEqualTo(ProduceReport::getNo, "hy_" + no.replace("_hy", "_stock"))
|
|
.andEqualTo(ProduceReport::getYear, date.getYear())
|
|
.andEqualTo(ProduceReport::getYear, date.getYear())
|
|
.andEqualTo(ProduceReport::getMonth, date.getMonthValue())
|
|
.andEqualTo(ProduceReport::getMonth, date.getMonthValue())
|
|
@@ -623,7 +674,7 @@ public class ProduceReportServiceImpl extends BaseServiceImpl<ProduceReportMappe
|
|
// 找到前一天库存
|
|
// 找到前一天库存
|
|
LocalDate preDate = date.plusDays(-1);
|
|
LocalDate preDate = date.plusDays(-1);
|
|
Weekend<ProduceReport> weekend3 = new Weekend<>(ProduceReport.class);
|
|
Weekend<ProduceReport> weekend3 = new Weekend<>(ProduceReport.class);
|
|
- WeekendCriteria<ProduceReport, Object> weekendCriteria3= weekend3.weekendCriteria();
|
|
|
|
|
|
+ WeekendCriteria<ProduceReport, Object> weekendCriteria3 = weekend3.weekendCriteria();
|
|
weekendCriteria3.andEqualTo(ProduceReport::getNo, "hy_" + no.replace("_hy", "_stock"))
|
|
weekendCriteria3.andEqualTo(ProduceReport::getNo, "hy_" + no.replace("_hy", "_stock"))
|
|
.andEqualTo(ProduceReport::getYear, preDate.getYear())
|
|
.andEqualTo(ProduceReport::getYear, preDate.getYear())
|
|
.andEqualTo(ProduceReport::getMonth, preDate.getMonthValue())
|
|
.andEqualTo(ProduceReport::getMonth, preDate.getMonthValue())
|
|
@@ -633,7 +684,7 @@ public class ProduceReportServiceImpl extends BaseServiceImpl<ProduceReportMappe
|
|
|
|
|
|
// 找到当日入库
|
|
// 找到当日入库
|
|
Weekend<ProduceReport> weekend4 = new Weekend<>(ProduceReport.class);
|
|
Weekend<ProduceReport> weekend4 = new Weekend<>(ProduceReport.class);
|
|
- WeekendCriteria<ProduceReport, Object> weekendCriteria4= weekend4.weekendCriteria();
|
|
|
|
|
|
+ WeekendCriteria<ProduceReport, Object> weekendCriteria4 = weekend4.weekendCriteria();
|
|
weekendCriteria4.andEqualTo(ProduceReport::getNo, "ck_" + no.replace("_hy", ""))
|
|
weekendCriteria4.andEqualTo(ProduceReport::getNo, "ck_" + no.replace("_hy", ""))
|
|
.andEqualTo(ProduceReport::getYear, date.getYear())
|
|
.andEqualTo(ProduceReport::getYear, date.getYear())
|
|
.andEqualTo(ProduceReport::getMonth, date.getMonthValue())
|
|
.andEqualTo(ProduceReport::getMonth, date.getMonthValue())
|
|
@@ -761,7 +812,7 @@ public class ProduceReportServiceImpl extends BaseServiceImpl<ProduceReportMappe
|
|
// 默认977
|
|
// 默认977
|
|
String sclNo = "scl_0300027";
|
|
String sclNo = "scl_0300027";
|
|
BigDecimal rate = new BigDecimal(0.3);
|
|
BigDecimal rate = new BigDecimal(0.3);
|
|
- if(no.equals("0100010_hy") || no.equals("0100065_hy")|| no.equals("0100120_hy")|| no.equals("0100160_hy")|| no.equals("0100086_hy")) {
|
|
|
|
|
|
+ if (no.equals("0100010_hy") || no.equals("0100065_hy") || no.equals("0100120_hy") || no.equals("0100160_hy") || no.equals("0100086_hy")) {
|
|
sclNo = "scl_0600032";// 902
|
|
sclNo = "scl_0600032";// 902
|
|
rate = new BigDecimal(1);
|
|
rate = new BigDecimal(1);
|
|
}
|
|
}
|
|
@@ -774,10 +825,10 @@ public class ProduceReportServiceImpl extends BaseServiceImpl<ProduceReportMappe
|
|
.andEqualTo(ProduceReport::getDate, date);
|
|
.andEqualTo(ProduceReport::getDate, date);
|
|
ProduceReport cs077 = mapper.selectOneByExample(weekend977);
|
|
ProduceReport cs077 = mapper.selectOneByExample(weekend977);
|
|
|
|
|
|
- if(StringUtils.isBlank(cs077.getValue()) || new BigDecimal(cs077.getValue()).compareTo(new BigDecimal(0))==0 || new BigDecimal(cs077.getValue()).compareTo(new BigDecimal(0))==0){
|
|
|
|
|
|
+ if (StringUtils.isBlank(cs077.getValue()) || new BigDecimal(cs077.getValue()).compareTo(new BigDecimal(0)) == 0 || new BigDecimal(cs077.getValue()).compareTo(new BigDecimal(0)) == 0) {
|
|
danhao.setValue("0");
|
|
danhao.setValue("0");
|
|
- }else{
|
|
|
|
- danhao.setValue(yeweiStock.divide(new BigDecimal(cs077.getValue()), RoundingMode.HALF_UP).multiply(rate).setScale(2,RoundingMode.HALF_UP).toString());
|
|
|
|
|
|
+ } else {
|
|
|
|
+ danhao.setValue(yeweiStock.divide(new BigDecimal(cs077.getValue()), RoundingMode.HALF_UP).multiply(rate).setScale(2, RoundingMode.HALF_UP).toString());
|
|
}
|
|
}
|
|
this.modModelByPrimaryKey(danhao);
|
|
this.modModelByPrimaryKey(danhao);
|
|
|
|
|
|
@@ -791,7 +842,7 @@ public class ProduceReportServiceImpl extends BaseServiceImpl<ProduceReportMappe
|
|
.andEqualTo(ProduceReport::getDate, date);
|
|
.andEqualTo(ProduceReport::getDate, date);
|
|
ProduceReport danhaoMonth = mapper.selectOneByExample(weekendHyoMonth);
|
|
ProduceReport danhaoMonth = mapper.selectOneByExample(weekendHyoMonth);
|
|
|
|
|
|
- log.info("no: " +no);
|
|
|
|
|
|
+ log.info("no: " + no);
|
|
Weekend<ProduceReport> weekendDanhaoMonth = new Weekend<>(ProduceReport.class);
|
|
Weekend<ProduceReport> weekendDanhaoMonth = new Weekend<>(ProduceReport.class);
|
|
WeekendCriteria<ProduceReport, Object> weekendCriteriaDanhaoMonth = weekendDanhaoMonth.weekendCriteria();
|
|
WeekendCriteria<ProduceReport, Object> weekendCriteriaDanhaoMonth = weekendDanhaoMonth.weekendCriteria();
|
|
weekendCriteriaDanhaoMonth.andEqualTo(ProduceReport::getNo, "ck_" + no.replace("_hy", "_hy_month"))
|
|
weekendCriteriaDanhaoMonth.andEqualTo(ProduceReport::getNo, "ck_" + no.replace("_hy", "_hy_month"))
|
|
@@ -811,10 +862,10 @@ public class ProduceReportServiceImpl extends BaseServiceImpl<ProduceReportMappe
|
|
ProduceReport cs077Month = mapper.selectOneByExample(weekend977Month);
|
|
ProduceReport cs077Month = mapper.selectOneByExample(weekend977Month);
|
|
log.info("month: " + month.getValue());
|
|
log.info("month: " + month.getValue());
|
|
log.info("cs077Month: " + cs077Month.getValue());
|
|
log.info("cs077Month: " + cs077Month.getValue());
|
|
- if(StringUtils.isBlank(cs077Month.getValue()) || new BigDecimal(cs077Month.getValue()).compareTo(new BigDecimal(0))==0){
|
|
|
|
|
|
+ if (StringUtils.isBlank(cs077Month.getValue()) || new BigDecimal(cs077Month.getValue()).compareTo(new BigDecimal(0)) == 0) {
|
|
danhaoMonth.setValue("0");
|
|
danhaoMonth.setValue("0");
|
|
- }else{
|
|
|
|
- danhaoMonth.setValue(new BigDecimal(month.getValue()).divide(new BigDecimal(cs077Month.getValue()), RoundingMode.HALF_UP).multiply(rate).setScale(2,RoundingMode.HALF_UP).toString());
|
|
|
|
|
|
+ } else {
|
|
|
|
+ danhaoMonth.setValue(new BigDecimal(month.getValue()).divide(new BigDecimal(cs077Month.getValue()), RoundingMode.HALF_UP).multiply(rate).setScale(2, RoundingMode.HALF_UP).toString());
|
|
}
|
|
}
|
|
this.modModelByPrimaryKey(danhaoMonth);
|
|
this.modModelByPrimaryKey(danhaoMonth);
|
|
} else {
|
|
} else {
|