From 1bf6cb4c0bfc149737afa37a1df1c809b29c6139 Mon Sep 17 00:00:00 2001
From: qushaowei <qushaowei@163.com>
Date: 星期二, 10 六月 2025 13:57:43 +0800
Subject: [PATCH] 点检测试修改

---
 lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/DailyInspectionStandardController.java |  438 +++++++++++++++++++++++++++++++++++++++++++++++++++---
 1 files changed, 414 insertions(+), 24 deletions(-)

diff --git a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/DailyInspectionStandardController.java b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/DailyInspectionStandardController.java
index 1c26d74..f84630f 100644
--- a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/DailyInspectionStandardController.java
+++ b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/DailyInspectionStandardController.java
@@ -2,32 +2,44 @@
 
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
 import com.baomidou.mybatisplus.core.toolkit.StringUtils;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import lombok.extern.slf4j.Slf4j;
+import org.apache.poi.ss.usermodel.*;
+import org.apache.poi.xssf.usermodel.XSSFWorkbook;
+import org.apache.shiro.SecurityUtils;
+import org.jeecg.common.api.dto.message.MessageDTO;
 import org.jeecg.common.api.vo.Result;
 import org.jeecg.common.aspect.annotation.AutoLog;
+import org.jeecg.common.constant.CommonConstant;
+import org.jeecg.common.system.api.ISysBaseAPI;
 import org.jeecg.common.system.base.controller.JeecgController;
 import org.jeecg.common.system.query.QueryGenerator;
-import org.jeecg.modules.eam.entity.DailyInspectionStandard;
-import org.jeecg.modules.eam.entity.DailyInspectionStandardDetail;
-import org.jeecg.modules.eam.service.IDailyInspectionStandardDetailService;
-import org.jeecg.modules.eam.service.IDailyInspectionStandardService;
-import org.jeecg.modules.eam.service.IEamEquipmentService;
+import org.jeecg.common.system.vo.LoginUser;
+import org.jeecg.common.util.ImportExcelUtil;
+import org.jeecg.modules.eam.entity.*;
+import org.jeecg.modules.eam.service.*;
+import org.jeecg.modules.eam.vo.InspectionStandardImportVo;
+import org.jeecg.modules.system.entity.*;
+import org.jeecg.modules.system.service.*;
+import org.jeecgframework.poi.excel.entity.ImportParams;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.transaction.annotation.Transactional;
 import org.springframework.web.bind.annotation.*;
+import org.springframework.web.multipart.MultipartFile;
+import org.springframework.web.multipart.MultipartHttpServletRequest;
 import org.springframework.web.servlet.ModelAndView;
 
+import javax.annotation.Resource;
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
+import java.io.IOException;
+import java.io.InputStream;
 import java.math.BigDecimal;
-import java.util.Arrays;
-import java.util.Date;
-import java.util.List;
-import java.util.Map;
+import java.util.*;
 
 /**
  * @Description: mom_eam_inspection_project
@@ -48,6 +60,28 @@
 
     @Autowired
     private IDailyInspectionStandardDetailService dailyInspectionStandardDetailService;
+
+    @Autowired
+    private IdentityService identityService;
+
+    @Autowired
+    private IInspectionProjectService inspectionProjectService;
+
+    @Autowired
+    private IInspectionCycleService inspectionCycleService;
+
+    @Autowired
+    private ISysBaseAPI sysBaseApi;
+    @Autowired
+    private ISysUserService sysUserService;
+    @Resource
+    private ISysRoleService sysRoleService;
+    @Resource
+    private ISysDictService sysDictService;
+    @Resource
+    private ISysDictItemService sysDictItemService;
+    @Resource
+    private ISysUserRoleService sysUserRoleService;
     /**
      * 鍒嗛〉鍒楄〃鏌ヨ
      *
@@ -94,8 +128,8 @@
      */
     @GetMapping("findInspectionStandardList")
     public Result<?> findInspectionStandardList(@RequestParam("pageNo") Integer pageNo,
-                                               @RequestParam("pageSize") Integer pageSize,
-                                               @RequestParam Map<String, Object> params) {
+                                                @RequestParam("pageSize") Integer pageSize,
+                                                @RequestParam Map<String, Object> params) {
         IPage<Map<String, Object>> inspectionStandardList = dailyInspectionStandardService.findInspectionStandardList(pageNo, pageSize, params);
         return Result.ok(inspectionStandardList);
     }
@@ -111,6 +145,9 @@
     @PostMapping(value = "/add")
     @Transactional(rollbackFor = { Exception.class })
     public Result<String> add(@RequestBody DailyInspectionStandard dailyInspectionStandard) {
+        LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
+        dailyInspectionStandard.setWritePerson(sysUser.getRealname());
+        dailyInspectionStandard.setAssignMode("1");
         dailyInspectionStandardService.save(dailyInspectionStandard);
         List<DailyInspectionStandardDetail> dailyInspectionStandardDetaillist = dailyInspectionStandard.getDailyInspectionStandardDetaillist();
         DailyInspectionStandardDetail isd = null;
@@ -123,6 +160,8 @@
             isd.setInspectionCycleId(dailyInspectionStandardDetail.getInspectionCycleId());
             dailyInspectionStandardDetailService.save(isd);
         }
+        //娑堟伅鎻愰啋
+        this.inspectionStandardAlert(dailyInspectionStandard.getApprovalStatus(),dailyInspectionStandard.getNum());
         return Result.OK("娣诲姞鎴愬姛锛�");
     }
 
@@ -137,6 +176,7 @@
     @RequestMapping(value = "/edit", method = {RequestMethod.PUT, RequestMethod.POST})
     @Transactional(rollbackFor = { Exception.class })
     public Result<String> edit(@RequestBody DailyInspectionStandard dailyInspectionStandard) {
+        dailyInspectionStandard.setApprovalStatus("1");
         dailyInspectionStandardService.updateById(dailyInspectionStandard);
         //1.鍒犻櫎鍘熺偣妫�椤圭洰
         List<DailyInspectionStandardDetail> dailyInspectionStandardDetails = dailyInspectionStandardDetailService.lambdaQuery()
@@ -159,6 +199,8 @@
             isd.setInspectionCycleId(dailyInspectionStandardDetail.getInspectionCycleId());
             dailyInspectionStandardDetailService.save(isd);
         }
+        //娑堟伅鎻愰啋
+        this.inspectionStandardAlert(dailyInspectionStandard.getApprovalStatus(),dailyInspectionStandard.getNum());
         return Result.OK("缂栬緫鎴愬姛!");
     }
 
@@ -240,8 +282,195 @@
      * @return
      */
     @RequestMapping(value = "/importExcel", method = RequestMethod.POST)
-    public Result<?> importExcel(HttpServletRequest request, HttpServletResponse response) {
-        return super.importExcel(request, response, DailyInspectionStandard.class);
+    public Result<?> importExcel(HttpServletRequest request, HttpServletResponse response)  throws IOException {
+        MultipartHttpServletRequest multipartRequest = (MultipartHttpServletRequest) request;
+        LoginUser user= (LoginUser) SecurityUtils.getSubject().getPrincipal();
+        Map<String, MultipartFile> fileMap = multipartRequest.getFileMap();
+        // 閿欒淇℃伅
+        List<String> errorMessage = new ArrayList<>();
+        int successLines = 0, errorLines = 0;
+        //a = 1寮�濮嬭鍙栫偣妫�椤圭洰锛沚 = 1寮�濮嬭鍙栧懆淇濆吇椤圭洰锛沜 = 1璇ヨ澶囧鍏ヤ俊鎭瓨鍦ㄩ敊璇紱projectColumnIndex鐐规椤圭洰鎵�鍦ㄥ垪锛沵aintenanceColumnIndex鍛ㄤ繚鍏婚」鐩墍鍦ㄥ垪
+        int a = 0,b = 0,c = 0,projectColumnIndex = -1,maintenanceColumnIndex = 0;
+        //琛ㄥご鏍囬
+        String title = "";
+        String dailyInspectionStandardId = null;
+        String equipmentNum = null;
+        DailyInspectionStandard dailyInspectionStandard = null;
+        List<DailyInspectionStandardDetail> dailyInspectionStandardDetailList = new ArrayList<>();
+        for (Map.Entry<String, MultipartFile> entity : fileMap.entrySet()) {
+            MultipartFile file = entity.getValue();
+            ImportParams params = new ImportParams();
+            params.setNeedSave(true);
+            try {
+                InputStream fis = file.getInputStream();
+                Workbook workbook = new XSSFWorkbook(fis);
+                int sheets = workbook.getNumberOfSheets();
+                //鍒ゆ柇鐐规鍛ㄦ湡鏄惁瀛樺湪
+                InspectionCycle dayInspectionCycle = inspectionCycleService.lambdaQuery().eq(InspectionCycle::getName,"1鏃�").eq(InspectionCycle::getVersionStatus,"2").one();
+                InspectionCycle weekInspectionCycle = inspectionCycleService.lambdaQuery().eq(InspectionCycle::getName,"1鍛�").eq(InspectionCycle::getVersionStatus,"2").one();
+                if(dayInspectionCycle == null || weekInspectionCycle == null){
+                    c = 1;
+                    errorMessage.add("鐐规鍛ㄦ湡涓嶅瓨鍦紝璇峰厛缁存姢鐐规鍛ㄦ湡");
+                    errorLines++;
+                }else{
+                    for(int i = 0;i < sheets;i++){
+                        Sheet sheet = workbook.getSheetAt(i);
+                        for (Row row : sheet) {
+                            // 閬嶅巻姣忎竴涓崟鍏冩牸
+//                            for (Cell cell : row) {
+                            for(int j = 0;j < 5;j++){
+                                // 澶勭悊鍗曞厓鏍兼暟鎹紝渚嬪杈撳嚭鍗曞厓鏍肩殑鍊�
+                                Cell cell = row.getCell(j);
+//                                if("STRING".equals(cell.getCellType().toString())|| "BLANK".equals(cell.getCellType().toString())){
+                                if("STRING".equals(cell.getCellType().toString())|| "BLANK".equals(cell.getCellType().toString())){
+                                    //鐐规鍛ㄦ湡瀛樺湪锛屽垽鏂澶囩粺涓�缂栫爜鏄惁瀛樺湪
+                                    String strCell = cell.getStringCellValue();
+                                    if(strCell.contains("鐢熶骇璁惧鑷富缁存姢鐐规琛�")){
+                                        title = strCell.trim().substring(11).trim();
+                                    }
+                                    if(strCell.contains("璁惧鍚嶇О锛�")){
+                                        String[] tybh1  = strCell.split("缁熶竴缂栧彿锛�");
+                                        String[] tybh2 = tybh1[1].split("骞�");
+//                                        equipmentNum = tybh2[0].trim().substring(0,tybh2[0].trim().length()-4).trim();
+                                        equipmentNum = tybh2[0].trim();
+                                        /*String year =  tybh2[0].trim().substring(tybh2[0].trim().length()-4,tybh2[0].trim().length()).trim();
+                                        String[] month1 = tybh2[1].split("鏈�");
+                                        String month = month1[0].trim();
+                                        String[] unit1 = strCell.split("鍗曚綅锛�");
+                                        String unit = unit1[1].trim();*/
+                                        Equipment equipment = equipmentService.lambdaQuery().eq(Equipment::getNum,equipmentNum).eq(Equipment::getDelFlag, CommonConstant.DEL_FLAG_0).one();
+                                        if(equipment == null){
+                                            c = 1;
+                                            errorMessage.add("sheet椤典负"+sheet.getSheetName()+"锛岃澶囩粺涓�缂栫爜涓�"+ equipmentNum + "鐨勬暟鎹鍏ュけ璐�,鍘熷洜:璁惧涓嶅瓨鍦紝璇峰厛缁存姢璁惧鍙拌处锛�");
+                                            errorLines++;
+                                        }else {
+                                            List<DailyInspectionStandard> dailyInspectionStandardList = dailyInspectionStandardService.lambdaQuery().eq(DailyInspectionStandard::getEquipmentId,equipment.getId())
+                                                    .eq(DailyInspectionStandard::getVersionStatus,"2").eq(DailyInspectionStandard::getDelFlag,CommonConstant.DEL_FLAG_0).list();
+                                            if(CollectionUtils.isNotEmpty(dailyInspectionStandardList)){
+                                                c = 1;
+                                                errorMessage.add("sheet椤典负"+sheet.getSheetName()+"锛岃澶囩粺涓�缂栫爜涓�"+ equipmentNum + "鐨勬暟鎹鍏ュけ璐�,鍘熷洜:璇ヨ澶囧凡缁忓瓨鍦ㄧ偣妫�鏍囧噯锛�");
+                                                errorLines++;
+                                            }else {
+                                                c = 0;
+                                                String num = identityService.getNumByTypeAndLength("DailylnspectionStandard", 4);
+                                                dailyInspectionStandard = new DailyInspectionStandard();
+                                                dailyInspectionStandard.setNum(num);
+                                                dailyInspectionStandard.setVersionStatus("2");
+                                                dailyInspectionStandard.setVersion("1.0");
+                                                dailyInspectionStandard.setAssignMode("1");
+                                                dailyInspectionStandard.setEquipmentId(equipment.getId());
+                                                dailyInspectionStandard.setApprovalStatus("5");
+                                                dailyInspectionStandard.setDisUda1(title);
+                                                //dailyInspectionStandardService.save(dailyInspectionStandard);
+                                                //dailyInspectionStandardId = dailyInspectionStandard.getId();
+                                            }
+                                        }
+                                        break;
+                                    }
+                                    //璁惧缁熶竴缂栫爜瀛樺湪锛屽垽鏂偣妫�椤圭洰鏄惁瀛樺湪
+                                    if(c == 0){
+                                        System.out.print(strCell + "\t");
+                                        if(strCell.contains("鐐规椤圭洰")){
+                                            a = 1;
+                                            projectColumnIndex = cell.getColumnIndex();
+                                            break;
+                                        }
+                                        if(strCell.contains("缁存姢璐d换浜虹瀛�")){
+                                            a = 0;
+                                        }
+                                        if(projectColumnIndex == cell.getColumnIndex() && a == 1){
+                                            DailyInspectionStandardDetail dailyInspectionStandardDetail = new DailyInspectionStandardDetail();
+                                            dailyInspectionStandardDetail.setDailyInspectionStandardId(dailyInspectionStandardId);
+                                            String dayInspectionProjectName = row.getCell(projectColumnIndex).toString();
+                                            String standard = row.getCell(projectColumnIndex+3).toString();
+                                            //鏌ヨ鐐规椤圭洰锛屽鏋滄病鏈夋柊澧炵偣妫�椤圭洰
+                                            if(StringUtils.isNotBlank(dayInspectionProjectName)){
+                                                List<InspectionProject> inspectionProjectList = inspectionProjectService.lambdaQuery().eq(InspectionProject::getName,dayInspectionProjectName)
+                                                        .eq(InspectionProject::getDetectionStandard,standard).eq(InspectionProject::getDelFlag,CommonConstant.DEL_FLAG_0).list();
+                                                if(CollectionUtils.isEmpty(inspectionProjectList)){
+                                                    InspectionProject inspectionProject = new InspectionProject();
+                                                    inspectionProject.setNum(identityService.getNumByTypeAndLength("InspectionProject",4));
+                                                    inspectionProject.setName(dayInspectionProjectName);
+                                                    inspectionProject.setDetectionStandard(standard);
+                                                    inspectionProjectService.save(inspectionProject);
+                                                    dailyInspectionStandardDetail.setInspectionProjectId(inspectionProject.getId());
+                                                    dailyInspectionStandardDetail.setInspectionCycleId(dayInspectionCycle.getId());
+                                                    dailyInspectionStandardDetailList.add(dailyInspectionStandardDetail);
+//                                                    c = 1;
+//                                                    errorMessage.add("sheet椤典负"+sheet.getSheetName()+"锛岃澶囩粺涓�缂栫爜涓�"+ equipmentNum + "鐨勬暟鎹鍏ュけ璐�,鍘熷洜:鐐规椤圭洰涓嶅瓨鍦紝璇峰厛缁存姢鐐规椤圭洰锛�");
+//                                                    errorLines++;
+                                                }else {
+                                                    dailyInspectionStandardDetail.setInspectionProjectId(inspectionProjectList.get(0).getId());
+                                                    dailyInspectionStandardDetail.setInspectionCycleId(dayInspectionCycle.getId());
+                                                    dailyInspectionStandardDetailList.add(dailyInspectionStandardDetail);
+                                                    //dailyInspectionStandardDetailService.save(dailyInspectionStandardDetail);
+                                                }
+                                            }
+                                            break;
+                                        }
+
+                                        if(strCell.contains("鍛ㄤ繚鍏婚」鐩�")){
+                                            b = 1;
+                                            maintenanceColumnIndex = cell.getColumnIndex();
+                                            break;
+                                        }
+                                        if(strCell.contains("鍛ㄤ繚鍏绘搷浣滆�呮墽琛�")){
+                                            b = 0;
+                                            dailyInspectionStandardService.save(dailyInspectionStandard);
+                                            for(DailyInspectionStandardDetail dailyInspectionStandardDetail : dailyInspectionStandardDetailList){
+                                                dailyInspectionStandardDetail.setDailyInspectionStandardId(dailyInspectionStandard.getId());
+                                            }
+                                            dailyInspectionStandardDetailService.saveBatch(dailyInspectionStandardDetailList);
+                                            successLines++;
+                                            dailyInspectionStandard = null;
+                                            dailyInspectionStandardDetailList.clear();
+                                        }
+                                        if(b == 1 && c == 0 && maintenanceColumnIndex == cell.getColumnIndex()){
+                                            DailyInspectionStandardDetail dailyInspectionStandardDetail = new DailyInspectionStandardDetail();
+                                            dailyInspectionStandardDetail.setDailyInspectionStandardId(dailyInspectionStandardId);
+                                            String weekInspectionProjectName = row.getCell(maintenanceColumnIndex).toString();
+                                            String inspectionStandardName = row.getCell(maintenanceColumnIndex+3).toString();
+                                            if(StringUtils.isNotBlank(weekInspectionProjectName)){
+                                                List<InspectionProject> inspectionProjectList = inspectionProjectService.lambdaQuery().eq(InspectionProject::getName,weekInspectionProjectName)
+                                                        .eq(InspectionProject::getDetectionStandard,inspectionStandardName).eq(InspectionProject::getDelFlag,CommonConstant.DEL_FLAG_0).list();
+                                                if(CollectionUtils.isEmpty(inspectionProjectList)){
+                                                    InspectionProject inspectionProject = new InspectionProject();
+                                                    inspectionProject.setNum(identityService.getNumByTypeAndLength("InspectionProject",4));
+                                                    inspectionProject.setName(weekInspectionProjectName);
+                                                    inspectionProject.setDetectionStandard(inspectionStandardName);
+                                                    inspectionProjectService.save(inspectionProject);
+                                                    dailyInspectionStandardDetail.setInspectionProjectId(inspectionProject.getId());
+                                                    dailyInspectionStandardDetail.setInspectionCycleId(weekInspectionCycle.getId());
+                                                    dailyInspectionStandardDetailList.add(dailyInspectionStandardDetail);
+//                                                    c = 1;
+//                                                    errorMessage.add("sheet椤典负"+sheet.getSheetName()+"锛岃鏁颁负锛�"+row.getRowNum()+"锛岃澶囩粺涓�缂栫爜涓�"+ equipmentNum + "鐨勬暟鎹鍏ュけ璐�,鍘熷洜:鐐规椤圭洰涓嶅瓨鍦紝璇峰厛缁存姢鐐规椤圭洰锛�");
+//                                                    errorLines++;
+                                                }else {
+
+                                                    dailyInspectionStandardDetail.setInspectionProjectId(inspectionProjectList.get(0).getId());
+                                                    dailyInspectionStandardDetail.setInspectionCycleId(weekInspectionCycle.getId());
+                                                    dailyInspectionStandardDetailList.add(dailyInspectionStandardDetail);
+                                                    //dailyInspectionStandardDetailService.save(dailyInspectionStandardDetail);
+                                                }
+                                            }
+                                            break;
+                                        }
+                                    }
+                                }/*else if("NUMERIC".equals(cell.getCellType().toString())){
+                                System.out.print(cell.getNumericCellValue() + "\t");
+                            }
+*/
+                            }
+                            System.out.println();
+                        }
+                    }
+                }
+
+            } catch (IOException e) {
+                e.printStackTrace();
+            }
+        }
+        return ImportExcelUtil.imporReturnRes(errorLines, successLines, errorMessage);
     }
 
     /**
@@ -250,8 +479,8 @@
      */
     @GetMapping("getDepartByEquipment")
     public Result<?> getDepartByEquipment(@RequestParam("pageNo") Integer pageNo,
-                                               @RequestParam("pageSize") Integer pageSize,
-                                               @RequestParam Map<String, Object> params) {
+                                          @RequestParam("pageSize") Integer pageSize,
+                                          @RequestParam Map<String, Object> params) {
         IPage<Map<String, Object>> departByEquipment = dailyInspectionStandardService.getDepartByEquipment(pageNo, pageSize, params);
         return Result.ok(departByEquipment);
     }
@@ -262,8 +491,18 @@
     @PostMapping(value = "/revise")
     @Transactional(rollbackFor = { Exception.class })
     public Result<String> revise(@RequestBody DailyInspectionStandard dailyInspectionStandard) {
+        LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
+        dailyInspectionStandard.setWritePerson(sysUser.getRealname());
         dailyInspectionStandard.setId("");
+        dailyInspectionStandard.setAssignMode("1");
+        dailyInspectionStandard.setApprovalStatus("1");
         dailyInspectionStandard.setCreateTime(new Date());
+        dailyInspectionStandard.setTakeEffectTime(null);
+        dailyInspectionStandard.setLoseEfficacyTime(null);
+        dailyInspectionStandard.setApprovalFeedback(null);
+        dailyInspectionStandard.setAuditFeedback(null);
+        dailyInspectionStandard.setAuditPerson(null);
+        dailyInspectionStandard.setApprovalPerson(null);
         dailyInspectionStandardService.save(dailyInspectionStandard);
         List<DailyInspectionStandardDetail> dailyInspectionStandardDetaillist = dailyInspectionStandard.getDailyInspectionStandardDetaillist();
         DailyInspectionStandardDetail isd = null;
@@ -306,15 +545,18 @@
     @Transactional(rollbackFor = { Exception.class })
     public Result<String> versionTakeEffect(@RequestBody DailyInspectionStandard dailyInspectionStandard) {
 
-        List<DailyInspectionStandard> dailyInspectionStandards = dailyInspectionStandardService.lambdaQuery()
-                .eq(DailyInspectionStandard::getNum, dailyInspectionStandard.getNum())
-                .eq(DailyInspectionStandard::getVersionStatus, "2").list();
-        for (DailyInspectionStandard standard : dailyInspectionStandards) {
-            standard.setVersionStatus("3");
-            standard.setLoseEfficacyTime(new Date());
-            dailyInspectionStandardService.updateById(standard);
-        }
-        dailyInspectionStandard.setTakeEffectTime(new Date());
+//        List<DailyInspectionStandard> dailyInspectionStandards = dailyInspectionStandardService.lambdaQuery()
+//                .eq(DailyInspectionStandard::getNum, dailyInspectionStandard.getNum())
+//                .eq(DailyInspectionStandard::getVersionStatus, "2").list();
+//        for (DailyInspectionStandard standard : dailyInspectionStandards) {
+//            standard.setVersionStatus("3");
+//            standard.setLoseEfficacyTime(new Date());
+//            dailyInspectionStandardService.updateById(standard);
+//        }
+//        dailyInspectionStandard.setTakeEffectTime(new Date());
+        LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
+        dailyInspectionStandard.setLoseEfficacyPerson(sysUser.getRealname());
+        dailyInspectionStandard.setLoseEfficacyTime(new Date());
         boolean b = dailyInspectionStandardService.updateById(dailyInspectionStandard);
         if (b){
             return Result.OK("缂栬緫鎴愬姛!");
@@ -323,5 +565,153 @@
         }
     }
 
+    /**
+     * 绛惧娴佺▼
+     * qsw 2023-11-16
+     */
+    @RequestMapping(value = "/auditApproval", method = {RequestMethod.PUT,RequestMethod.POST})
+    @Transactional(rollbackFor = { Exception.class })
+    public Result<String> auditApproval(@RequestBody DailyInspectionStandard dailyInspectionStandard) {
+        LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
+        String approvalStatus = dailyInspectionStandard.getApprovalStatus();
+        if("5".equals(approvalStatus)){//瀹℃牳閫氳繃鍚庯紝鐗堟湰鐢熸晥
+            List<DailyInspectionStandard> dailyInspectionStandards = dailyInspectionStandardService.lambdaQuery()
+                    .eq(DailyInspectionStandard::getNum, dailyInspectionStandard.getNum())
+                    .eq(DailyInspectionStandard::getVersionStatus, "2").list();
+            for (DailyInspectionStandard standard : dailyInspectionStandards) {
+                standard.setVersionStatus("3");
+                standard.setLoseEfficacyTime(new Date());
+                standard.setLoseEfficacyPerson(sysUser.getRealname());
+                dailyInspectionStandardService.updateById(standard);
+            }
+            List<DailyInspectionStandard> list = dailyInspectionStandardService.lambdaQuery()
+                    .eq(DailyInspectionStandard::getEquipmentId, dailyInspectionStandard.getEquipmentId())
+                    .eq(DailyInspectionStandard::getVersionStatus, "2").list();
+            for (DailyInspectionStandard inspectionStandard : list) {
+                inspectionStandard.setVersionStatus("3");
+                inspectionStandard.setLoseEfficacyTime(new Date());
+                inspectionStandard.setLoseEfficacyPerson(sysUser.getRealname());
+                dailyInspectionStandardService.updateById(inspectionStandard);
+            }
+            dailyInspectionStandard.setApprovalPerson(sysUser.getRealname());
+            dailyInspectionStandard.setVersionStatus("2");
+            dailyInspectionStandard.setTakeEffectTime(new Date());
+        }else if("3".equals(approvalStatus)){
+            dailyInspectionStandard.setAuditPerson(sysUser.getRealname());
+        }
+        boolean b = dailyInspectionStandardService.updateById(dailyInspectionStandard);
+        if (b){
+            if(!"5".equals(approvalStatus)){//宸茬紪鍒�
+                this.inspectionStandardAlert(approvalStatus,dailyInspectionStandard.getNum());
+            }
 
+            return Result.OK("瀹℃牳鎴愬姛!");
+        }else{
+            return Result.error("瀹℃牳澶辫触!");
+        }
+    }
+
+    /**
+     *鐐规鏍囧噯绛惧娴佺▼娑堟伅鎻愰啋
+     * qsw 2024-3-11
+     */
+    void inspectionStandardAlert(String approvalStatus,String standardNum){
+
+        LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
+        SysDict sysDict = sysDictService.getOne(new QueryWrapper<SysDict>().eq("dict_code","info_type"),false);
+        SysDictItem sysDictItem = null;
+        String roleDictItem = "";
+        if("1".equals(approvalStatus)){//宸茬紪鍒�
+            roleDictItem = "鐐规鏍囧噯瀹℃牳";
+            sysDictItem = sysDictItemService.getOne(new QueryWrapper<SysDictItem>()
+                    .eq("item_text","鐐规鏍囧噯瀹℃牳")
+                    .eq("dict_id",sysDict.getId()),false);
+        }else if("2".equals(approvalStatus)){//椹冲洖缂栧埗
+            roleDictItem = "鐐规鏍囧噯缂栧埗";
+            sysDictItem = sysDictItemService.getOne(new QueryWrapper<SysDictItem>()
+                    .eq("item_text","鐐规鏍囧噯缂栧埗")
+                    .eq("dict_id",sysDict.getId()),false);
+        }else if("3".equals(approvalStatus)){//宸插鏍�
+            roleDictItem = "鐐规鏍囧噯瀹℃壒";
+            sysDictItem = sysDictItemService.getOne(new QueryWrapper<SysDictItem>()
+                    .eq("item_text","鐐规鏍囧噯瀹℃壒")
+                    .eq("dict_id",sysDict.getId()),false);
+        }else if("4".equals(approvalStatus)){//椹冲洖瀹℃牳
+            roleDictItem = "鐐规鏍囧噯瀹℃牳";
+            sysDictItem = sysDictItemService.getOne(new QueryWrapper<SysDictItem>()
+                    .eq("item_text","鐐规鏍囧噯瀹℃牳")
+                    .eq("dict_id",sysDict.getId()),false);
+        }
+//        else if("5".equals(approvalStatus)){//閫氳繃
+//            roleDictItem = "鐐规鏍囧噯瀹℃壒";
+//            sysDictItem = sysDictItemService.getOne(new QueryWrapper<SysDictItem>()
+//                    .eq("item_text","鐐规鏍囧噯瀹℃壒")
+//                    .eq("dict_id",sysDict.getId()),false);
+//        }
+        String roleCode = sysDictItem.getItemValue();
+        SysRole sysRole = sysRoleService.getOne(new QueryWrapper<SysRole>().eq("role_code",roleCode),false);
+        List<SysUserRole> sysUserRoles = sysUserRoleService.list(new QueryWrapper<SysUserRole>().eq("role_id",sysRole.getId()));
+        for(SysUserRole sysUserRole:sysUserRoles){
+            SysUser user = sysUserService.getById(sysUserRole.getUserId());
+            String msg = "";
+            if("1".equals(approvalStatus)){
+                msg = "銆�"+sysUser.getRealname()+"銆�"+"灏嗐��"+standardNum+"銆戠殑鑷富缁存姢鐐规鏍囧噯缂栧埗鎴愬姛锛岃鍒拌嚜涓荤淮鎶ょ偣妫�鏍囧噯椤甸潰瀹℃牳锛�";
+            }else if("2".equals(approvalStatus)){
+                msg = "銆�"+sysUser.getRealname()+"銆�"+"灏嗐��"+standardNum+"銆戠殑鑷富缁存姢鐐规鏍囧噯宸查┏鍥烇紝璇峰埌鑷富缁存姢鐐规鏍囧噯椤甸潰鏌ョ湅锛�";
+            }else if("3".equals(approvalStatus)){
+                msg = "銆�"+sysUser.getRealname()+"銆�"+"灏嗐��"+standardNum+"銆戠殑鑷富缁存姢鐐规鏍囧噯瀹℃牳閫氳繃锛岃鍒拌嚜涓荤淮鎶ょ偣妫�鏍囧噯椤甸潰瀹℃壒锛�";
+            }else if("4".equals(approvalStatus)){
+                msg = "銆�"+sysUser.getRealname()+"銆�"+"灏嗐��"+standardNum+"銆戠殑鑷富缁存姢鐐规鏍囧噯宸查┏鍥烇紝璇峰埌鑷富缁存姢鐐规鏍囧噯椤甸潰鏌ョ湅锛�";
+            }
+//            else if("5".equals(approvalStatus)){
+//                msg = "銆�"+sysUser.getRealname()+"銆�"+"灏嗕簩绾т繚鍏诲伐鍗曞彿銆�"+standardNum+"銆戠殑瀹屽伐绉讳氦鍗曠‘璁ら�氳繃锛岃鍒颁簩绾т繚鍏婚〉闈㈡煡鐪嬶紒";
+//            }
+            MessageDTO messageDTO = new MessageDTO();
+            messageDTO.setTitle("鑷富缁存姢鐐规鏍囧噯绛惧娑堟伅鎻愰啋锛�");
+            messageDTO.setContent(msg);
+            messageDTO.setCategory(roleDictItem);
+            messageDTO.setFromUser("鑷富缁存姢鐐规鏍囧噯绛惧娑堟伅鎻愰啋鎻愰啋灏忓姪鎵�");
+            if(user != null){
+                messageDTO.setToUser(user.getUsername());
+            }
+            sysBaseApi.sendSysAnnouncement(messageDTO);
+        }
+    }
+
+
+    /**
+     * 鎵归噺 绛惧娴佺▼
+     * qsw 2023-12-12
+     */
+    @RequestMapping(value = "/auditApprovalBatch", method = {RequestMethod.PUT,RequestMethod.POST})
+    @Transactional(rollbackFor = { Exception.class })
+    public Result<String> auditApprovalBatch(@RequestBody DailyInspectionStandard dailyInspectionStandard) {
+        LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
+
+        List<DailyInspectionStandard> dailyInspectionStandardlist = dailyInspectionStandard.getDailyInspectionStandardlist();
+        for (DailyInspectionStandard inspectionStandard : dailyInspectionStandardlist) {
+            String approvalStatus = inspectionStandard.getApprovalStatus();
+            if("5".equals(approvalStatus)){//瀹℃牳閫氳繃鍚庯紝鐗堟湰鐢熸晥
+                List<DailyInspectionStandard> dailyInspectionStandards = dailyInspectionStandardService.lambdaQuery()
+                        .eq(DailyInspectionStandard::getNum, inspectionStandard.getNum())
+                        .eq(DailyInspectionStandard::getVersionStatus, "2").list();
+                for (DailyInspectionStandard standard : dailyInspectionStandards) {
+                    standard.setVersionStatus("3");
+                    standard.setLoseEfficacyTime(new Date());
+                    standard.setLoseEfficacyPerson(sysUser.getRealname());
+                    dailyInspectionStandardService.updateById(standard);
+                }
+                inspectionStandard.setApprovalPerson(sysUser.getRealname());
+                inspectionStandard.setVersionStatus("2");
+                inspectionStandard.setTakeEffectTime(new Date());
+            }else if("3".equals(approvalStatus)){
+                inspectionStandard.setAuditPerson(sysUser.getRealname());
+            }
+            boolean b = dailyInspectionStandardService.updateById(inspectionStandard);
+            if (!b){
+                return Result.error("瀹℃牳澶辫触!");
+            }
+        }
+        return Result.OK("瀹℃牳鎴愬姛!");
+    }
 }

--
Gitblit v1.9.3