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