qushaowei
2023-12-29 b2580407f2d0d1428bcb77963fcdd897ed552827
lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/DailyInspectionStandardController.java
@@ -127,6 +127,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;
@@ -153,6 +156,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()
@@ -289,18 +293,23 @@
                        Sheet sheet = workbook.getSheetAt(i);
                        for (Row row : sheet) {
                            // 遍历每一个单元格
                            for (Cell cell : row) {
//                            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())){
                                    //点检周期存在,判断设备统一编码是否存在
                                    if(cell.getStringCellValue().contains("设备名称:")){
                                        String[] tybh1  = cell.getStringCellValue().split("统一编号:");
                                    String strCell = cell.getStringCellValue();
                                    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().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 = cell.getStringCellValue().split("单位:");
                                        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){
@@ -321,6 +330,7 @@
                                                dailyInspectionStandard.setVersion("1.0");
                                                dailyInspectionStandard.setAssignMode("1");
                                                dailyInspectionStandard.setEquipmentId(equipment.getId());
                                                dailyInspectionStandard.setApprovalStatus("5");
                                                //dailyInspectionStandardService.save(dailyInspectionStandard);
                                                //dailyInspectionStandardId = dailyInspectionStandard.getId();
                                            }
@@ -329,20 +339,20 @@
                                    }
                                    //设备统一编码存在,判断点检项目是否存在
                                    if(c == 0){
                                        System.out.print(cell.getStringCellValue() + "\t");
                                        if(cell.getStringCellValue().contains("点检项目")){
                                        System.out.print(strCell + "\t");
                                        if(strCell.contains("点检项目")){
                                            a = 1;
                                            projectColumnIndex = cell.getColumnIndex();
                                            break;
                                        }
                                        if(cell.getStringCellValue().contains("维护责任人签字")){
                                        if(strCell.contains("维护责任人签字")){
                                            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+1).toString();
                                            String standard = row.getCell(projectColumnIndex+3).toString();
                                            //查询点击项目,如果没有新增点检项目
                                            if(StringUtils.isNotBlank(dayInspectionProjectName)){
                                                List<InspectionProject> inspectionProjectList = inspectionProjectService.lambdaQuery().eq(InspectionProject::getName,dayInspectionProjectName).eq(InspectionProject::getDelFlag,CommonConstant.DEL_FLAG_0).list();
@@ -367,12 +377,13 @@
                                            }
                                            break;
                                        }
                                        if(cell.getStringCellValue().contains("周保养项目")){
                                        if(strCell.contains("周保养项目")){
                                            b = 1;
                                            maintenanceColumnIndex = cell.getColumnIndex();
                                            break;
                                        }
                                        if(cell.getStringCellValue().contains("周保养操作者执行")){
                                        if(strCell.contains("周保养操作者执行")){
                                            b = 0;
                                            dailyInspectionStandardService.save(dailyInspectionStandard);
                                            for(DailyInspectionStandardDetail dailyInspectionStandardDetail : dailyInspectionStandardDetailList){
@@ -387,7 +398,7 @@
                                            DailyInspectionStandardDetail dailyInspectionStandardDetail = new DailyInspectionStandardDetail();
                                            dailyInspectionStandardDetail.setDailyInspectionStandardId(dailyInspectionStandardId);
                                            String weekInspectionProjectName = row.getCell(maintenanceColumnIndex).toString();
                                            String inspectionStandardName = row.getCell(maintenanceColumnIndex+1).toString();
                                            String inspectionStandardName = row.getCell(maintenanceColumnIndex+3).toString();
                                            if(StringUtils.isNotBlank(weekInspectionProjectName)){
                                                List<InspectionProject> inspectionProjectList = inspectionProjectService.lambdaQuery().eq(InspectionProject::getName,weekInspectionProjectName).eq(InspectionProject::getDelFlag,CommonConstant.DEL_FLAG_0).list();
                                                if(CollectionUtils.isEmpty(inspectionProjectList)){
@@ -448,8 +459,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;
@@ -492,15 +513,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("编辑成功!");
@@ -509,5 +533,73 @@
        }
    }
    /**
     * 签审流程
     * 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);
            }
            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){
            return Result.OK("审核成功!");
        }else{
            return Result.error("审核失败!");
        }
    }
    /**
     * 批量 签审流程
     * 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("审核成功!");
    }
}