kongzy
2024-03-15 50c669c09a7b392af22706e6fb1fa8a4c335d8eb
新增需求
已修改18个文件
已添加11个文件
247 ■■■■ 文件已修改
assess-admin/src/main/java/com/gkhy/assess/admin/GkhyAdminApplication.java 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
assess-admin/src/main/java/com/gkhy/assess/admin/controller/app/AppCommonController.java 32 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
assess-admin/src/main/java/com/gkhy/assess/admin/controller/app/AppFaceRecognitionController.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
assess-admin/src/main/java/com/gkhy/assess/admin/controller/app/AppProjectController.java 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
assess-admin/src/main/resources/application-pro.yml 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
assess-admin/src/main/resources/application.yml 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
assess-admin/src/main/resources/db/migration/V20240109001_add_delflag.sql 11 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
assess-admin/src/main/resources/db/migration/V20240131001_change_recogmotopm.sql 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
assess-admin/src/main/resources/db/migration/V20240226001_project_index.sql 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
assess-admin/src/main/resources/db/migration/V20240226002_user_index.sql 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
assess-admin/src/main/resources/db/migration/V20240226003_accessory_file_index.sql 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
assess-admin/src/main/resources/db/migration/V20240226004_plan_person_index.sql 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
assess-admin/src/main/resources/db/migration/V20240226005_face_record_index.sql 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
assess-admin/src/main/resources/db/migration/V20240226006_face_recognition_index.sql 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
assess-admin/src/main/resources/db/migration/V20240226007_estimate_schedule_index.sql 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
assess-admin/src/main/resources/db/migration/V20240226008_device_index.sql 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
assess-system/src/main/java/com/gkhy/assess/system/domain/AssFaceRecognition.java 20 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
assess-system/src/main/java/com/gkhy/assess/system/domain/AssProject.java 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
assess-system/src/main/java/com/gkhy/assess/system/domain/vo/PersonRecognitionVO.java 33 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
assess-system/src/main/java/com/gkhy/assess/system/mapper/AssPlanPersonMapper.java 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
assess-system/src/main/java/com/gkhy/assess/system/service/impl/AssEstimatePlanServiceImpl.java 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
assess-system/src/main/java/com/gkhy/assess/system/service/impl/AssFaceRecognitionServiceImpl.java 15 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
assess-system/src/main/java/com/gkhy/assess/system/service/impl/AssInvestigationServiceImpl.java 13 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
assess-system/src/main/java/com/gkhy/assess/system/service/impl/AssPlanPersonServiceImpl.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
assess-system/src/main/java/com/gkhy/assess/system/service/impl/AssProjectServiceImpl.java 16 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
assess-system/src/main/java/com/gkhy/assess/system/service/impl/SysUserServiceImpl.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
assess-system/src/main/resources/mapper/AssFaceRecognitionMapper.xml 38 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
assess-system/src/main/resources/mapper/AssPlanPersonMapper.xml 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
assess-system/src/main/resources/mapper/AssRecitificationMapper.xml 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
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;
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));
    }
}
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));
    }
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));
    }
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
assess-admin/src/main/resources/application.yml
@@ -2,7 +2,7 @@
  application:
    name: assess_admin
  profiles:
    active: dev
    active: pro
  servlet:
    multipart:
      enabled: true
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)';
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 '承诺书图片路径';
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;
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;
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;
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;
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;
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;
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;
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;
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;
}
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;
}
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;
}
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);
}
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()));
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;
    }
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;
    }
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;
            }
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);
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 ;
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>
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>
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