From 9b015b51b72ba050b4c38a6ba79eb45b7065e67d Mon Sep 17 00:00:00 2001 From: Lius <Lius2225@163.com> Date: 星期四, 25 七月 2024 10:11:52 +0800 Subject: [PATCH] 调整sql --- lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/impl/MdcPassRateServiceImpl.java | 28 ++++++++++++++++++++++++---- 1 files changed, 24 insertions(+), 4 deletions(-) diff --git a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/impl/MdcPassRateServiceImpl.java b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/impl/MdcPassRateServiceImpl.java index 5e34d15..f2e5f4b 100644 --- a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/impl/MdcPassRateServiceImpl.java +++ b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/impl/MdcPassRateServiceImpl.java @@ -10,10 +10,10 @@ import org.jeecg.common.system.vo.LoginUser; import org.jeecg.modules.mdc.entity.MdcEquipment; import org.jeecg.modules.mdc.entity.MdcPassRate; -import org.jeecg.modules.mdc.entity.MdcStandardProcessDuration; import org.jeecg.modules.mdc.mapper.MdcPassRateMapper; import org.jeecg.modules.mdc.service.IMdcEquipmentService; import org.jeecg.modules.mdc.service.IMdcPassRateService; +import org.jeecg.modules.mdc.util.DateUtils; import org.jeecgframework.poi.excel.def.NormalExcelConstants; import org.jeecgframework.poi.excel.entity.ExportParams; import org.jeecgframework.poi.excel.view.JeecgEntityExcelView; @@ -24,6 +24,8 @@ import javax.annotation.Resource; import javax.servlet.http.HttpServletRequest; import java.math.BigDecimal; +import java.time.LocalDate; +import java.time.format.DateTimeFormatter; import java.util.ArrayList; import java.util.Collections; import java.util.List; @@ -99,7 +101,7 @@ if (passRate.getUnqualifiedQuantity() == null || passRate.getUnqualifiedQuantity() == 0) { passRate.setPassRate(new BigDecimal("1")); } else { - passRate.setPassRate(new BigDecimal(passRate.getUnqualifiedQuantity()).divide(new BigDecimal(passRate.getProcessQuantity())).setScale(2, BigDecimal.ROUND_HALF_UP)); + passRate.setPassRate(new BigDecimal("1").subtract(new BigDecimal(passRate.getUnqualifiedQuantity()).divide(new BigDecimal(passRate.getProcessQuantity()), 4, BigDecimal.ROUND_HALF_UP))); } } boolean b = super.save(passRate); @@ -124,7 +126,7 @@ if (mdcPassRate.getUnqualifiedQuantity() == null || mdcPassRate.getUnqualifiedQuantity() == 0) { mdcPassRate.setPassRate(new BigDecimal("1")); } else { - mdcPassRate.setPassRate(new BigDecimal(mdcPassRate.getUnqualifiedQuantity()).divide(new BigDecimal(mdcPassRate.getProcessQuantity())).setScale(2, BigDecimal.ROUND_HALF_UP)); + mdcPassRate.setPassRate(new BigDecimal("1").subtract(new BigDecimal(mdcPassRate.getUnqualifiedQuantity()).divide(new BigDecimal(mdcPassRate.getProcessQuantity()), 4, BigDecimal.ROUND_HALF_UP))); } } return super.updateById(mdcPassRate); @@ -188,9 +190,27 @@ //鑾峰彇褰撳墠鐧诲綍鐢ㄦ埛 //update-begin---author:wangshuai ---date:20211227 for锛歔JTC-116]瀵煎嚭浜哄啓姝讳簡------------ LoginUser user = (LoginUser) SecurityUtils.getSubject().getPrincipal(); - mv.addObject(NormalExcelConstants.PARAMS, new ExportParams("鍚堟牸鐜囧垪琛ㄦ暟鎹�", "瀵煎嚭浜�:" + user.getRealname(), "瀵煎嚭淇℃伅")); + mv.addObject(NormalExcelConstants.PARAMS, new ExportParams("鍚堟牸鐜囧垪琛ㄦ暟鎹�", "瀵煎嚭浜�:" + user.getRealname(), "鍚堟牸鐜�")); //update-end---author:wangshuai ---date:20211227 for锛歔JTC-116]瀵煎嚭浜哄啓姝讳簡------------ mv.addObject(NormalExcelConstants.DATA_LIST, mdcPassRates); return mv; } + + @Override + public BigDecimal findProcessQuantity(String equipmentId, String validDate) { + String startTime = DateUtils.format(DateUtils.toDate(validDate + "-01 00:00:00", DateUtils.STR_DATE_TIME_SMALL), DateUtils.STR_DATE_TIME_SMALL); + LocalDate localDate = LocalDate.of(Integer.parseInt(validDate.split("-")[0]), Integer.parseInt(validDate.split("-")[1]), Integer.parseInt("01")).plusMonths(1); + String endTime = DateUtils.format(DateUtils.toDate(localDate.format(DateTimeFormatter.ofPattern("yyyy-MM-dd")) + " 00:00:00", DateUtils.STR_DATE_TIME_SMALL), DateUtils.STR_DATE_TIME_SMALL); + Integer result = this.baseMapper.findProcessQuantity(equipmentId, startTime, endTime); + return result == null ? new BigDecimal("0") : new BigDecimal(result); + } + + @Override + public BigDecimal findUnqualifiedQuantity(String equipmentId, String validDate) { + String startTime = DateUtils.format(DateUtils.toDate(validDate + "-01 00:00:00", DateUtils.STR_DATE_TIME_SMALL), DateUtils.STR_DATE_TIME_SMALL); + LocalDate localDate = LocalDate.of(Integer.parseInt(validDate.split("-")[0]), Integer.parseInt(validDate.split("-")[1]), Integer.parseInt("01")).plusMonths(1); + String endTime = DateUtils.format(DateUtils.toDate(localDate.format(DateTimeFormatter.ofPattern("yyyy-MM-dd")) + " 00:00:00", DateUtils.STR_DATE_TIME_SMALL), DateUtils.STR_DATE_TIME_SMALL); + Integer result = this.baseMapper.findUnqualifiedQuantity(equipmentId, startTime, endTime); + return result == null ? new BigDecimal("0") : new BigDecimal(result); + } } -- Gitblit v1.9.3