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