From 50c669c09a7b392af22706e6fb1fa8a4c335d8eb Mon Sep 17 00:00:00 2001
From: kongzy <kongzy>
Date: 星期五, 15 三月 2024 13:23:11 +0800
Subject: [PATCH] 新增需求

---
 assess-admin/src/main/java/com/gkhy/assess/admin/controller/app/AppProjectController.java          |    3 
 assess-system/src/main/java/com/gkhy/assess/system/service/impl/AssEstimatePlanServiceImpl.java    |    7 +
 assess-admin/src/main/resources/db/migration/V20240226005_face_record_index.sql                    |    2 
 assess-system/src/main/java/com/gkhy/assess/system/domain/AssProject.java                          |    5 +
 assess-admin/src/main/resources/application-pro.yml                                                |    4 
 assess-system/src/main/java/com/gkhy/assess/system/service/impl/SysUserServiceImpl.java            |    2 
 assess-admin/src/main/resources/db/migration/V20240226006_face_recognition_index.sql               |    2 
 assess-admin/src/main/resources/db/migration/V20240226002_user_index.sql                           |    4 
 assess-system/src/main/java/com/gkhy/assess/system/service/impl/AssProjectServiceImpl.java         |   16 +++
 assess-admin/src/main/resources/db/migration/V20240226008_device_index.sql                         |    2 
 assess-system/src/main/resources/mapper/AssRecitificationMapper.xml                                |    2 
 assess-admin/src/main/java/com/gkhy/assess/admin/GkhyAdminApplication.java                         |    1 
 assess-admin/src/main/java/com/gkhy/assess/admin/controller/app/AppCommonController.java           |   32 ++++++
 assess-admin/src/main/java/com/gkhy/assess/admin/controller/app/AppFaceRecognitionController.java  |    2 
 assess-admin/src/main/resources/db/migration/V20240109001_add_delflag.sql                          |   11 --
 assess-admin/src/main/resources/db/migration/V20240226003_accessory_file_index.sql                 |    2 
 assess-system/src/main/java/com/gkhy/assess/system/domain/AssFaceRecognition.java                  |   20 +--
 assess-system/src/main/resources/mapper/AssFaceRecognitionMapper.xml                               |   38 ++++++-
 assess-admin/src/main/resources/application.yml                                                    |    2 
 assess-system/src/main/java/com/gkhy/assess/system/service/impl/AssPlanPersonServiceImpl.java      |    2 
 assess-system/src/main/java/com/gkhy/assess/system/mapper/AssPlanPersonMapper.java                 |    9 +
 assess-system/src/main/java/com/gkhy/assess/system/service/impl/AssInvestigationServiceImpl.java   |   13 +-
 assess-system/src/main/resources/mapper/AssPlanPersonMapper.xml                                    |    9 +
 assess-admin/src/main/resources/db/migration/V20240226007_estimate_schedule_index.sql              |    2 
 assess-system/src/main/java/com/gkhy/assess/system/domain/vo/PersonRecognitionVO.java              |   33 ++++++
 assess-admin/src/main/resources/db/migration/V20240131001_change_recogmotopm.sql                   |    2 
 assess-admin/src/main/resources/db/migration/V20240226001_project_index.sql                        |    3 
 assess-admin/src/main/resources/db/migration/V20240226004_plan_person_index.sql                    |    2 
 assess-system/src/main/java/com/gkhy/assess/system/service/impl/AssFaceRecognitionServiceImpl.java |   15 +--
 29 files changed, 194 insertions(+), 53 deletions(-)

diff --git a/assess-admin/src/main/java/com/gkhy/assess/admin/GkhyAdminApplication.java b/assess-admin/src/main/java/com/gkhy/assess/admin/GkhyAdminApplication.java
index 17339e9..d7acabe 100644
--- a/assess-admin/src/main/java/com/gkhy/assess/admin/GkhyAdminApplication.java
+++ b/assess-admin/src/main/java/com/gkhy/assess/admin/GkhyAdminApplication.java
@@ -1,6 +1,5 @@
 package com.gkhy.assess.admin;
 
-import org.mybatis.spring.annotation.MapperScan;
 import org.springframework.boot.SpringApplication;
 import org.springframework.boot.autoconfigure.SpringBootApplication;
 import org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration;
diff --git a/assess-admin/src/main/java/com/gkhy/assess/admin/controller/app/AppCommonController.java b/assess-admin/src/main/java/com/gkhy/assess/admin/controller/app/AppCommonController.java
new file mode 100644
index 0000000..1cfeec5
--- /dev/null
+++ b/assess-admin/src/main/java/com/gkhy/assess/admin/controller/app/AppCommonController.java
@@ -0,0 +1,32 @@
+package com.gkhy.assess.admin.controller.app;
+
+import com.gkhy.assess.common.api.CommonResult;
+import com.gkhy.assess.system.domain.vo.UploadObjectVO;
+import com.gkhy.assess.system.service.SysCommonService;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+import org.springframework.web.multipart.MultipartFile;
+
+@Api(tags = "APP通用接口前端控制器")
+@RestController
+@RequestMapping("/app/system/common")
+public class AppCommonController {
+    @Autowired
+    private SysCommonService commonService;
+
+    @ApiOperation(value = "上传图片/文件")
+    @PostMapping("/uploadFile")
+    public CommonResult<UploadObjectVO> uploadFile(MultipartFile file){
+        return CommonResult.success(commonService.uploadFile(file));
+    }
+
+
+    @ApiOperation(value = "删除图片")
+    @DeleteMapping("/removeFile")
+    public CommonResult removeFile(@RequestParam(required = true) String path){
+        return CommonResult.success(commonService.removeFile(path));
+    }
+
+}
diff --git a/assess-admin/src/main/java/com/gkhy/assess/admin/controller/app/AppFaceRecognitionController.java b/assess-admin/src/main/java/com/gkhy/assess/admin/controller/app/AppFaceRecognitionController.java
index d22a505..c45fe7d 100644
--- a/assess-admin/src/main/java/com/gkhy/assess/admin/controller/app/AppFaceRecognitionController.java
+++ b/assess-admin/src/main/java/com/gkhy/assess/admin/controller/app/AppFaceRecognitionController.java
@@ -33,7 +33,7 @@
     @RepeatSubmit
     @ApiOperation(value = "新增签字确认")
     @PostMapping("/add")
-    public CommonResult addContract(@Validated @ModelAttribute AssFaceRecognition faceRecognition){
+    public CommonResult addContract(@Validated @RequestBody AssFaceRecognition faceRecognition){
         return CommonResult.success(faceRecognitionService.addFaceRecognition(faceRecognition));
     }
 
diff --git a/assess-admin/src/main/java/com/gkhy/assess/admin/controller/app/AppProjectController.java b/assess-admin/src/main/java/com/gkhy/assess/admin/controller/app/AppProjectController.java
index e1898d0..ec45eb2 100644
--- a/assess-admin/src/main/java/com/gkhy/assess/admin/controller/app/AppProjectController.java
+++ b/assess-admin/src/main/java/com/gkhy/assess/admin/controller/app/AppProjectController.java
@@ -2,6 +2,7 @@
 
 
 import com.gkhy.assess.common.api.CommonResult;
+import com.gkhy.assess.system.domain.AssProject;
 import com.gkhy.assess.system.service.AssProjectService;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiImplicitParam;
@@ -51,7 +52,7 @@
 
     @ApiOperation(value = "根据id获取项目详情")
     @GetMapping("/detail/{projectId}")
-    public CommonResult projectDetail(@PathVariable(value = "projectId") Long projectId){
+    public CommonResult<AssProject> projectDetail(@PathVariable(value = "projectId") Long projectId){
         return CommonResult.success(projectService.getProjectById(projectId));
     }
 
diff --git a/assess-admin/src/main/resources/application-pro.yml b/assess-admin/src/main/resources/application-pro.yml
index 0c6ce23..6997820 100644
--- a/assess-admin/src/main/resources/application-pro.yml
+++ b/assess-admin/src/main/resources/application-pro.yml
@@ -5,9 +5,9 @@
     druid:
       # 主库数据源
       master:
-        url: jdbc:mysql://192.168.30.118:3306/smart_assess?useUnicode=true&characterEncoding=utf-8&autoReconnect=true&serverTimezone=Asia/Shanghai&useSSL=false
+        url: jdbc:mysql://172.17.254.237:7006/smart_assess?useUnicode=true&characterEncoding=utf-8&autoReconnect=true&serverTimezone=Asia/Shanghai&useSSL=false
         username: root
-        password: e7be93ef5413e5ed
+        password: 2farwL3yPXfbH2AP
       # 从库数据源
       slave:
         enabled: false
diff --git a/assess-admin/src/main/resources/application.yml b/assess-admin/src/main/resources/application.yml
index e1e6343..79b029e 100644
--- a/assess-admin/src/main/resources/application.yml
+++ b/assess-admin/src/main/resources/application.yml
@@ -2,7 +2,7 @@
   application:
     name: assess_admin
   profiles:
-    active: dev
+    active: pro
   servlet:
     multipart:
       enabled: true
diff --git a/assess-admin/src/main/resources/db/migration/V20240109001_add_delflag.sql b/assess-admin/src/main/resources/db/migration/V20240109001_add_delflag.sql
index cafbe78..e69de29 100644
--- a/assess-admin/src/main/resources/db/migration/V20240109001_add_delflag.sql
+++ b/assess-admin/src/main/resources/db/migration/V20240109001_add_delflag.sql
@@ -1,11 +0,0 @@
-ALTER TABLE `smart_assess`.`sys_dict_data`
-ADD COLUMN `del_flag` tinyint NULL DEFAULT 0 COMMENT '删除标志(0代表存在,1代表删除,默认0)';
-
-ALTER TABLE `smart_assess`.`sys_dict_type`
-ADD COLUMN `del_flag` tinyint NULL DEFAULT 0 COMMENT '删除标志(0代表存在,1代表删除,默认0)';
-
-ALTER TABLE `smart_assess`.`sys_notice`
-ADD COLUMN `del_flag` tinyint NULL DEFAULT 0 COMMENT '删除标志(0代表存在,1代表删除,默认0)';
-
-ALTER TABLE `smart_assess`.`sys_law`
-ADD COLUMN `del_flag` tinyint NULL DEFAULT 0 COMMENT '删除标志(0代表存在,1代表删除,默认0)';
\ No newline at end of file
diff --git a/assess-admin/src/main/resources/db/migration/V20240131001_change_recogmotopm.sql b/assess-admin/src/main/resources/db/migration/V20240131001_change_recogmotopm.sql
new file mode 100644
index 0000000..ebcea3d
--- /dev/null
+++ b/assess-admin/src/main/resources/db/migration/V20240131001_change_recogmotopm.sql
@@ -0,0 +1,2 @@
+ALTER TABLE `smart_assess`.`ass_face_recognition`
+CHANGE COLUMN `insurance_pic_id` `insurance_path` varchar(100) NULL DEFAULT NULL COMMENT '承诺书图片路径';
\ No newline at end of file
diff --git a/assess-admin/src/main/resources/db/migration/V20240226001_project_index.sql b/assess-admin/src/main/resources/db/migration/V20240226001_project_index.sql
new file mode 100644
index 0000000..cd5ea64
--- /dev/null
+++ b/assess-admin/src/main/resources/db/migration/V20240226001_project_index.sql
@@ -0,0 +1,3 @@
+ALTER TABLE `smart_assess`.`ass_project`
+ADD INDEX `index_name`(`name`) USING BTREE,
+ADD INDEX `index_create_time`(`create_time`) USING BTREE;
\ No newline at end of file
diff --git a/assess-admin/src/main/resources/db/migration/V20240226002_user_index.sql b/assess-admin/src/main/resources/db/migration/V20240226002_user_index.sql
new file mode 100644
index 0000000..161f0f4
--- /dev/null
+++ b/assess-admin/src/main/resources/db/migration/V20240226002_user_index.sql
@@ -0,0 +1,4 @@
+ALTER TABLE `smart_assess`.`sys_user`
+ADD INDEX `index_phone`(`phone`) USING BTREE,
+ADD INDEX `index_post`(`post`) USING BTREE,
+ADD INDEX `index_level`(`level`) USING BTREE;
\ No newline at end of file
diff --git a/assess-admin/src/main/resources/db/migration/V20240226003_accessory_file_index.sql b/assess-admin/src/main/resources/db/migration/V20240226003_accessory_file_index.sql
new file mode 100644
index 0000000..3ab77ed
--- /dev/null
+++ b/assess-admin/src/main/resources/db/migration/V20240226003_accessory_file_index.sql
@@ -0,0 +1,2 @@
+ALTER TABLE `smart_assess`.`ass_accessory_file`
+ADD INDEX `index_project_id`(`project_id`) USING BTREE;
\ No newline at end of file
diff --git a/assess-admin/src/main/resources/db/migration/V20240226004_plan_person_index.sql b/assess-admin/src/main/resources/db/migration/V20240226004_plan_person_index.sql
new file mode 100644
index 0000000..e8a8a2c
--- /dev/null
+++ b/assess-admin/src/main/resources/db/migration/V20240226004_plan_person_index.sql
@@ -0,0 +1,2 @@
+ALTER TABLE `smart_assess`.`ass_plan_person`
+ADD INDEX `index_project_id`(`project_id`) USING BTREE;
\ No newline at end of file
diff --git a/assess-admin/src/main/resources/db/migration/V20240226005_face_record_index.sql b/assess-admin/src/main/resources/db/migration/V20240226005_face_record_index.sql
new file mode 100644
index 0000000..fcf5d0b
--- /dev/null
+++ b/assess-admin/src/main/resources/db/migration/V20240226005_face_record_index.sql
@@ -0,0 +1,2 @@
+ALTER TABLE `smart_assess`.`ass_face_record`
+    ADD INDEX `index_project_id`(`project_id`) USING BTREE;
\ No newline at end of file
diff --git a/assess-admin/src/main/resources/db/migration/V20240226006_face_recognition_index.sql b/assess-admin/src/main/resources/db/migration/V20240226006_face_recognition_index.sql
new file mode 100644
index 0000000..b0056d0
--- /dev/null
+++ b/assess-admin/src/main/resources/db/migration/V20240226006_face_recognition_index.sql
@@ -0,0 +1,2 @@
+ALTER TABLE `smart_assess`.`ass_face_recognition`
+    ADD INDEX `index_project_id`(`project_id`) USING BTREE;
\ No newline at end of file
diff --git a/assess-admin/src/main/resources/db/migration/V20240226007_estimate_schedule_index.sql b/assess-admin/src/main/resources/db/migration/V20240226007_estimate_schedule_index.sql
new file mode 100644
index 0000000..4e56403
--- /dev/null
+++ b/assess-admin/src/main/resources/db/migration/V20240226007_estimate_schedule_index.sql
@@ -0,0 +1,2 @@
+ALTER TABLE `smart_assess`.`ass_estimate_schedule`
+    ADD INDEX `index_project_id`(`project_id`) USING BTREE;
\ No newline at end of file
diff --git a/assess-admin/src/main/resources/db/migration/V20240226008_device_index.sql b/assess-admin/src/main/resources/db/migration/V20240226008_device_index.sql
new file mode 100644
index 0000000..f27fb38
--- /dev/null
+++ b/assess-admin/src/main/resources/db/migration/V20240226008_device_index.sql
@@ -0,0 +1,2 @@
+ALTER TABLE `smart_assess`.`ass_device`
+    ADD INDEX `index_project_id`(`project_id`) USING BTREE;
\ No newline at end of file
diff --git a/assess-system/src/main/java/com/gkhy/assess/system/domain/AssFaceRecognition.java b/assess-system/src/main/java/com/gkhy/assess/system/domain/AssFaceRecognition.java
index 60c7de2..0992ee0 100644
--- a/assess-system/src/main/java/com/gkhy/assess/system/domain/AssFaceRecognition.java
+++ b/assess-system/src/main/java/com/gkhy/assess/system/domain/AssFaceRecognition.java
@@ -13,6 +13,7 @@
 import lombok.Setter;
 import org.springframework.web.multipart.MultipartFile;
 
+import javax.validation.constraints.NotBlank;
 import javax.validation.constraints.NotNull;
 
 import java.util.List;
@@ -49,13 +50,15 @@
     @TableField("project_id")
     private Long projectId;
 
-    @ApiModelProperty(value = "签字图片路径")
+    @NotBlank(message = "签字图片路径不能为空")
+    @ApiModelProperty(value = "签字图片路径",required = true)
     @TableField("sign_path")
     private String signPath;
 
-    @ApiModelProperty(value = "承诺书图片id",required = true)
-    @TableField("insurance_pic_id")
-    private Long insurancePicId;
+    @NotBlank(message = "承诺书图片路径不能为空")
+    @ApiModelProperty(value = "承诺书图片路径",required = true)
+    @TableField("insurance_path")
+    private String insurancePath;
 
 
     @ApiModelProperty("乐观锁")
@@ -66,18 +69,13 @@
     @TableField("del_flag")
     private Integer delFlag;
 
-    @NotNull(message = "签字图片对象不能为空")
-    @ApiModelProperty(value = "签字图片对象",required = true)
-    @TableField(exist = false)
-    private MultipartFile file;
 
-
-    @ApiModelProperty("人脸识别记录对象")
+    @ApiModelProperty(value = "人脸识别记录对象",required = false)
     @TableField(exist = false)
     private AssFaceRecord faceRecord;
 
     @ApiModelProperty("人员对象")
     @TableField(exist = false)
-    private SysUser person;
+    private AssPlanPerson planPerson;
 
 }
diff --git a/assess-system/src/main/java/com/gkhy/assess/system/domain/AssProject.java b/assess-system/src/main/java/com/gkhy/assess/system/domain/AssProject.java
index 9a2359c..01fe651 100644
--- a/assess-system/src/main/java/com/gkhy/assess/system/domain/AssProject.java
+++ b/assess-system/src/main/java/com/gkhy/assess/system/domain/AssProject.java
@@ -7,6 +7,7 @@
 
 import com.fasterxml.jackson.annotation.JsonInclude;
 import com.gkhy.assess.common.domain.BaseEntity;
+import com.gkhy.assess.system.domain.vo.PersonRecognitionVO;
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Getter;
@@ -189,4 +190,8 @@
     @ApiModelProperty("要件数量")
     @TableField(exist = false)
     private Integer materialCnt;
+
+    @ApiModelProperty("归档确认总人数和已确认人数")
+    @TableField(exist = false)
+    private PersonRecognitionVO personRecognition;
 }
diff --git a/assess-system/src/main/java/com/gkhy/assess/system/domain/vo/PersonRecognitionVO.java b/assess-system/src/main/java/com/gkhy/assess/system/domain/vo/PersonRecognitionVO.java
new file mode 100644
index 0000000..e52e57b
--- /dev/null
+++ b/assess-system/src/main/java/com/gkhy/assess/system/domain/vo/PersonRecognitionVO.java
@@ -0,0 +1,33 @@
+package com.gkhy.assess.system.domain.vo;
+
+import com.fasterxml.jackson.annotation.JsonInclude;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Getter;
+import lombok.Setter;
+
+import static com.fasterxml.jackson.annotation.JsonInclude.Include.NON_NULL;
+
+/**
+ * <p>
+ * 项目归档总人数和已签字人数对象
+ * </p>
+ *
+ * @author kzy
+ * @since 2023-12-12 10:46:54
+ */
+@Getter
+@Setter
+@ApiModel(value = "ProjectPersonRecognitionVO对象", description = "项目归档总人数和已签字人数对象")
+public class PersonRecognitionVO {
+
+    @ApiModelProperty(value = "项目id",required = true)
+    private Long projectId;
+
+    @ApiModelProperty(value = "总人数",required = true)
+    private Integer personCnt;
+
+    @ApiModelProperty(value = "已签字确认人数",required = true)
+    private Integer recognitionCnt;
+
+}
diff --git a/assess-system/src/main/java/com/gkhy/assess/system/mapper/AssPlanPersonMapper.java b/assess-system/src/main/java/com/gkhy/assess/system/mapper/AssPlanPersonMapper.java
index df83799..0bf27f5 100644
--- a/assess-system/src/main/java/com/gkhy/assess/system/mapper/AssPlanPersonMapper.java
+++ b/assess-system/src/main/java/com/gkhy/assess/system/mapper/AssPlanPersonMapper.java
@@ -2,9 +2,11 @@
 
 import com.gkhy.assess.system.domain.AssPlanPerson;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.gkhy.assess.system.domain.vo.PersonRecognitionVO;
 import org.apache.ibatis.annotations.Mapper;
 
 import java.util.List;
+import java.util.Map;
 
 /**
  * <p>
@@ -44,4 +46,11 @@
      */
     List<AssPlanPerson> getPlanPersonsByIds(List<Long> ids);
 
+    /**
+     * 根据项目id获取项目归档总人数和已签字人数
+     * @param projectIds
+     * @return
+     */
+    List<PersonRecognitionVO> getPersonAndRecognitionCount(List<Long> projectIds);
+
 }
diff --git a/assess-system/src/main/java/com/gkhy/assess/system/service/impl/AssEstimatePlanServiceImpl.java b/assess-system/src/main/java/com/gkhy/assess/system/service/impl/AssEstimatePlanServiceImpl.java
index b402d2f..ee94840 100644
--- a/assess-system/src/main/java/com/gkhy/assess/system/service/impl/AssEstimatePlanServiceImpl.java
+++ b/assess-system/src/main/java/com/gkhy/assess/system/service/impl/AssEstimatePlanServiceImpl.java
@@ -3,6 +3,7 @@
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.gkhy.assess.common.exception.ApiException;
 import com.gkhy.assess.system.domain.AssEstimatePlan;
+import com.gkhy.assess.system.domain.AssEstimateSchedule;
 import com.gkhy.assess.system.domain.AssPlanPerson;
 import com.gkhy.assess.system.enums.PlayRoleEnum;
 import com.gkhy.assess.system.enums.ReportProgressEnum;
@@ -12,6 +13,8 @@
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
+
+import java.util.List;
 
 /**
  * <p>
@@ -74,6 +77,10 @@
         AssEstimatePlan oldPlan=getById(estimatePlan.getId());
         estimatePlan.setUpdateBy(ShiroUtils.getSysUser().getUsername());
         int row=baseMapper.updateById(estimatePlan);
+        List<AssEstimateSchedule> estimateScheduleList=estimatePlan.getEstimateSchedules();
+        if(estimateScheduleList!=null&&estimateScheduleList.size()>0){
+            estimateScheduleService.updateBatchById(estimateScheduleList);
+        }
         if(row>0) {
             if (estimatePlan.getAuserId() != null && !estimatePlan.getAuserId().equals(oldPlan.getAuserId())) {
                 planPersonService.checkPersonUnique(new AssPlanPerson().setPersonId(estimatePlan.getAuserId()).setProjectId(oldPlan.getProjectId()));
diff --git a/assess-system/src/main/java/com/gkhy/assess/system/service/impl/AssFaceRecognitionServiceImpl.java b/assess-system/src/main/java/com/gkhy/assess/system/service/impl/AssFaceRecognitionServiceImpl.java
index 79215f3..66c5fd6 100644
--- a/assess-system/src/main/java/com/gkhy/assess/system/service/impl/AssFaceRecognitionServiceImpl.java
+++ b/assess-system/src/main/java/com/gkhy/assess/system/service/impl/AssFaceRecognitionServiceImpl.java
@@ -43,19 +43,13 @@
 
     @Override
     public int addFaceRecognition(AssFaceRecognition faceRecognition) {
-        int row=0;
         projectService.checkUserAllowed(faceRecognition.getProjectId());
-        UploadObjectVO uploadObjectVO=commonService.doUpload(faceRecognition.getFile());
-        faceRecognition.setSignPath(uploadObjectVO.getPath());
         AssFaceRecognition existRecord=checkFaceRecognitionUnique(faceRecognition.getPersonId(),faceRecognition.getProjectId());
         if(existRecord!=null){
-            existRecord.setSignPath(faceRecognition.getSignPath());
-            existRecord.setUpdateBy(ShiroUtils.getSysUser().getUsername());
-            row =baseMapper.updateById(existRecord);
-        }else{
-            faceRecognition.setCreateBy(ShiroUtils.getSysUser().getUsername());
-            row=baseMapper.insert(faceRecognition);
+            throw new ApiException("签字确认记录已存在");
         }
+        faceRecognition.setCreateBy(ShiroUtils.getSysUser().getUsername());
+        int row=baseMapper.insert(faceRecognition);
         return row;
     }
 
@@ -109,7 +103,8 @@
     @Override
     public List<AssFaceRecognition> getFaceRecognitionByProjectId(Long projectId) {
         projectService.checkUserAllowed(projectId);
-        return baseMapper.getFaceRecognitionByProjectId(projectId);
+        List<AssFaceRecognition> faceRecognitionList= baseMapper.getFaceRecognitionByProjectId(projectId);
+        return faceRecognitionList;
     }
 
 
diff --git a/assess-system/src/main/java/com/gkhy/assess/system/service/impl/AssInvestigationServiceImpl.java b/assess-system/src/main/java/com/gkhy/assess/system/service/impl/AssInvestigationServiceImpl.java
index 97c7212..907c2cd 100644
--- a/assess-system/src/main/java/com/gkhy/assess/system/service/impl/AssInvestigationServiceImpl.java
+++ b/assess-system/src/main/java/com/gkhy/assess/system/service/impl/AssInvestigationServiceImpl.java
@@ -99,12 +99,13 @@
     public AssInvestigation getInvestigationByProjectId(Long projectId) {
         projectService.checkUserAllowed(projectId);
         AssInvestigation investigation= baseMapper.getInvestigationByProjectId(projectId);
-        investigation.setAssAccessoryFiles(accessoryFileService.getAccessoryFileByProjectId(projectId, AccessoryFileTypeEnum.INVESTINGATION_ATTACHMENT.getCode()));
-        investigation.setCcompanyImages(accessoryFileService.getAccessoryFileByProjectId(projectId, AccessoryFileTypeEnum.COMPANY_IMAGE.getCode()));
-        investigation.setDeviceImages(accessoryFileService.getAccessoryFileByProjectId(projectId, AccessoryFileTypeEnum.DEVICE_IMAGE.getCode()));
-        investigation.setInvestingationImages(accessoryFileService.getAccessoryFileByProjectId(projectId, AccessoryFileTypeEnum.INVESTINGATION_IMAGE.getCode()));
-        investigation.setInvestingationVideos(accessoryFileService.getAccessoryFileByProjectId(projectId, AccessoryFileTypeEnum.INVESTINGATION_VIDEO.getCode()));
-
+        if(investigation!=null) {
+            investigation.setAssAccessoryFiles(accessoryFileService.getAccessoryFileByProjectId(projectId, AccessoryFileTypeEnum.INVESTINGATION_ATTACHMENT.getCode()));
+            investigation.setCcompanyImages(accessoryFileService.getAccessoryFileByProjectId(projectId, AccessoryFileTypeEnum.COMPANY_IMAGE.getCode()));
+            investigation.setDeviceImages(accessoryFileService.getAccessoryFileByProjectId(projectId, AccessoryFileTypeEnum.DEVICE_IMAGE.getCode()));
+            investigation.setInvestingationImages(accessoryFileService.getAccessoryFileByProjectId(projectId, AccessoryFileTypeEnum.INVESTINGATION_IMAGE.getCode()));
+            investigation.setInvestingationVideos(accessoryFileService.getAccessoryFileByProjectId(projectId, AccessoryFileTypeEnum.INVESTINGATION_VIDEO.getCode()));
+        }
         return investigation;
     }
 
diff --git a/assess-system/src/main/java/com/gkhy/assess/system/service/impl/AssPlanPersonServiceImpl.java b/assess-system/src/main/java/com/gkhy/assess/system/service/impl/AssPlanPersonServiceImpl.java
index b8fbf46..e641012 100644
--- a/assess-system/src/main/java/com/gkhy/assess/system/service/impl/AssPlanPersonServiceImpl.java
+++ b/assess-system/src/main/java/com/gkhy/assess/system/service/impl/AssPlanPersonServiceImpl.java
@@ -59,7 +59,7 @@
             PlayRoleEnum playRoleEnum=PlayRoleEnum.getInfoByCode(pPerson.getPlayRole());
             String message=playRoleEnum!=null?playRoleEnum.getInfo():"";
             if(StringUtils.isBlank(message)){
-                message="改用户已存在";
+                message="该用户已存在";
             }else{
                 message="该用户已担任"+message;
             }
diff --git a/assess-system/src/main/java/com/gkhy/assess/system/service/impl/AssProjectServiceImpl.java b/assess-system/src/main/java/com/gkhy/assess/system/service/impl/AssProjectServiceImpl.java
index baec209..deb847c 100644
--- a/assess-system/src/main/java/com/gkhy/assess/system/service/impl/AssProjectServiceImpl.java
+++ b/assess-system/src/main/java/com/gkhy/assess/system/service/impl/AssProjectServiceImpl.java
@@ -8,6 +8,7 @@
 import com.gkhy.assess.common.utils.PageUtil;
 import com.gkhy.assess.system.domain.AssPlanPerson;
 import com.gkhy.assess.system.domain.AssProject;
+import com.gkhy.assess.system.domain.vo.PersonRecognitionVO;
 import com.gkhy.assess.system.domain.vo.ProjectStaticVO;
 import com.gkhy.assess.system.enums.ProgressPhaseEnum;
 import com.gkhy.assess.system.enums.ReportProgressEnum;
@@ -52,9 +53,24 @@
         PageUtil.startPage();
         List<AssProject> projects=baseMapper.projectList(project);
         //获取签字确认人数
+        handleProjectRecognitionCount(projects);
         return CommonPage.restPage(projects);
     }
 
+    public void handleProjectRecognitionCount(List<AssProject> projects){
+        List<Long>projectIds=projects.stream().map(item -> item.getId()).collect(Collectors.toList());
+        if(!projectIds.isEmpty()) {
+            List<PersonRecognitionVO> personAndRecognitions = planPersonMapper.getPersonAndRecognitionCount(projectIds);
+            Map<Long, PersonRecognitionVO> map = personAndRecognitions.stream().collect(Collectors.toMap(PersonRecognitionVO::getProjectId, a -> a));
+            for (AssProject project : projects) {
+                PersonRecognitionVO personRecognitionVO = map.get(project.getId());
+                if (personRecognitionVO != null) {
+                    project.setPersonRecognition(personRecognitionVO);
+                }
+            }
+        }
+    }
+
     @Override
     public AssProject getProjectById(Long projectId) {
         return baseMapper.getProjectById(projectId);
diff --git a/assess-system/src/main/java/com/gkhy/assess/system/service/impl/SysUserServiceImpl.java b/assess-system/src/main/java/com/gkhy/assess/system/service/impl/SysUserServiceImpl.java
index 5004259..41ff653 100644
--- a/assess-system/src/main/java/com/gkhy/assess/system/service/impl/SysUserServiceImpl.java
+++ b/assess-system/src/main/java/com/gkhy/assess/system/service/impl/SysUserServiceImpl.java
@@ -71,7 +71,7 @@
     @Override
     public AccountVO login(LoginBody loginBody) {
         // 验证码校验
-        //validateCaptcha(loginBody.getUsername(), loginBody.getCode(), loginBody.getUuid());
+        validateCaptcha(loginBody.getUsername(), loginBody.getCode(), loginBody.getUuid());
         UsernamePasswordToken usernamePasswordToken = new UsernamePasswordToken(loginBody.getUsername(), Base64.decodeStr(loginBody.getPassword()), false);
         Subject subject= SecurityUtils.getSubject();
         String msg ;
diff --git a/assess-system/src/main/resources/mapper/AssFaceRecognitionMapper.xml b/assess-system/src/main/resources/mapper/AssFaceRecognitionMapper.xml
index 7465df5..7512fc8 100644
--- a/assess-system/src/main/resources/mapper/AssFaceRecognitionMapper.xml
+++ b/assess-system/src/main/resources/mapper/AssFaceRecognitionMapper.xml
@@ -6,7 +6,7 @@
         <result property="personId"     column="person_id"      />
         <result property="projectId"     column="project_id"      />
         <result property="signPath"     column="sign_path"      />
-        <result property="insurancePicId"     column="insurance_pic_id"      />
+        <result property="insurancePath"     column="insurance_path"      />
         <result property="delFlag"     column="del_flag"      />
         <result property="version"     column="version"      />
         <result property="createBy"     column="create_by"      />
@@ -15,13 +15,21 @@
         <result property="updateTime"     column="update_time"      />
         <result property="remark"     column="remark"      />
         <association property="faceRecord" javaType="com.gkhy.assess.system.domain.AssFaceRecord" resultMap="faceRecordesult" />
-        <association property="person" javaType="com.gkhy.assess.system.domain.SysUser" resultMap="userResult" />
+        <association property="planPerson" javaType="com.gkhy.assess.system.domain.AssPlanPerson" resultMap="personResult" />
     </resultMap>
 
     <resultMap id="faceRecordesult" type="com.gkhy.assess.system.domain.AssFaceRecord">
         <id     property="id"       column="person_id"        />
         <result property="facePath"     column="face_path"      />
         <result property="updateTime"      column="face_time"       />
+    </resultMap>
+
+    <resultMap id="personResult" type="com.gkhy.assess.system.domain.AssPlanPerson">
+        <id     property="id"       column="person_id"        />
+        <result property="jobType"     column="job_type"      />
+        <result property="playRole"      column="play_role"       />
+        <result property="projectId"      column="project_id"       />
+        <association property="person" javaType="com.gkhy.assess.system.domain.AssFaceRecord" resultMap="userResult" />
     </resultMap>
 
     <resultMap id="userResult" type="com.gkhy.assess.system.domain.SysUser">
@@ -31,16 +39,19 @@
         <result property="phone"      column="person_phone"       />
         <result property="post"      column="person_post"       />
         <result property="level"      column="person_level"       />
+        <collection property="majorNames" ofType="java.lang.String" select="getMajorById" column="{major=person_major}"/>
     </resultMap>
 
     <sql id="selectFaceRecognitionVo">
-        select f.id,f.person_id,f.project_id,f.sign_path,f.insurance_pic_id,
+        select f.id,f.person_id,f.project_id,f.sign_path,f.insurance_path,
                f.version,f.del_flag,f.create_by,f.create_time,f.update_by,f.update_time,f.remark,
+               p.job_type,p.play_role,
                u.name as person_name,u.major as person_major,u.phone as person_phone,u.post as person_post,u.level as person_level,
                a.face_path,a.update_time as face_time
         from ass_face_recognition f
+        left join ass_plan_person p on p.person_id=f.person_id and p.project_id=f.project_id
         left join sys_user u on u.id=f.person_id
-        left join ass_face_record a on a.person_id=f.person_id
+        left join ass_face_record a on a.person_id=f.person_id and a.project_id=f.project_id
 
     </sql>
 
@@ -52,8 +63,16 @@
     </select>
 
     <select id="getFaceRecognitionByProjectId" resultMap="faceRecognitionResult">
-        <include refid="selectFaceRecognitionVo"/>
-        where f.project_id=#{projectId} and f.del_flag=0 and a.del_flag=0
+        select f.id,f.person_id,p.project_id,f.sign_path,f.insurance_path,
+               f.version,f.del_flag,f.create_by,f.create_time,f.update_by,f.update_time,f.remark,
+               p.job_type,p.play_role,
+               u.name as person_name,u.major as person_major,u.phone as person_phone,u.post as person_post,u.level as person_level,
+               a.face_path,a.update_time as face_time
+        from ass_plan_person p
+        left join ass_face_recognition f on f.person_id=p.person_id and f.project_id=p.project_id and f.del_flag=0
+        left join sys_user u on u.id=p.person_id
+        left join ass_face_record a on a.person_id=p.person_id and a.project_id=p.project_id and a.del_flag=0
+        where p.project_id=#{projectId} and p.del_flag=0
     </select>
 
     <select id="getFaceRecognitionById" resultMap="faceRecognitionResult">
@@ -65,4 +84,11 @@
         select count(1) from ass_face_recognition where project_id=#{projectId} and del_flag=0
     </select>
 
+    <select id="getMajorById" resultType="java.lang.String">
+        select label from sys_dict_data where id in
+        <foreach item="item" index="index" collection="major.split(',')"  open="(" separator="," close=")">
+            #{item}
+        </foreach>
+    </select>
+
 </mapper>
diff --git a/assess-system/src/main/resources/mapper/AssPlanPersonMapper.xml b/assess-system/src/main/resources/mapper/AssPlanPersonMapper.xml
index c9b183c..1fd23dd 100644
--- a/assess-system/src/main/resources/mapper/AssPlanPersonMapper.xml
+++ b/assess-system/src/main/resources/mapper/AssPlanPersonMapper.xml
@@ -72,4 +72,13 @@
         </foreach>
     </select>
 
+    <select id="getPersonAndRecognitionCount" resultType="com.gkhy.assess.system.domain.vo.PersonRecognitionVO">
+        select count(1) as person_cnt,project_id,(select count(1) from ass_face_recognition where project_id =a.project_id) as recognition_cnt from ass_plan_person a
+        where a.del_flag=0 and a.project_id in
+        <foreach collection="projectIds" item="projectId" open="(" separator="," close=")">
+            #{projectId}
+        </foreach>
+        group by a.project_id
+    </select>
+
 </mapper>
diff --git a/assess-system/src/main/resources/mapper/AssRecitificationMapper.xml b/assess-system/src/main/resources/mapper/AssRecitificationMapper.xml
index 32cd96b..ff25d55 100644
--- a/assess-system/src/main/resources/mapper/AssRecitificationMapper.xml
+++ b/assess-system/src/main/resources/mapper/AssRecitificationMapper.xml
@@ -26,7 +26,7 @@
     </resultMap>
 
     <sql id="selectProjectMaterialVo">
-        select r.id,r.rectify_person,r.rectify_person,r.project_id,r.file_id,r.reason,
+        select r.id,r.rectify_person,r.rectify_person,r.project_id,r.file_id,r.reason,r.rectify_time,
                r.version,r.del_flag,r.create_by,r.create_time,r.update_by,r.update_time,r.remark,a.origin_name,a.file_name,a.path
         from ass_recitification r
         left join ass_accessory_file a on a.id=r.file_id

--
Gitblit v1.9.2