Browse Source

项目功能优化

lizhenhao 2 years ago
parent
commit
59b4ac703e

+ 6 - 0
jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/program/configuration/projectList/domain/ProgramProjectListInfo.java

@@ -327,4 +327,10 @@ public class ProgramProjectListInfo {
      */
     private String agreeUserId;
 
+    /**
+     * 合同编号
+     */
+    @TableField(exist = false)
+    private String contractNo;
+
 }

+ 60 - 21
jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/program/configuration/projectList/mapper/xml/ProgramArchiveMapper.xml

@@ -89,31 +89,70 @@
         pa.signature_evaluator_second
     </sql>
     <sql id="Program_Column_List">
-        id,create_by,create_date,
-        update_by,update_date,del_flag,
-        contract_id,contract_name,client,
-        client_name,amount,contract_type,
-        name,no,project_type,
-        approval_no,company,project_mould,
-        property_holder,property_holder_name,location,
-        is_first,year_num,check_year,
-        project_manager,project_manager_name,report_type,
-        industry,enterprise_type,risk_level,
-        project_source,estimate,plan_end_time,
-        use_num,appointment,work_hours,
-        remarks,assessment_enterprise,assessment_enterprise_name,
-        link_num,relationship,assessment_way,
-        assessment_objective,assessment_date,num,
-        project_development,delegate_project_type,assessment_object,
-        work_begin_date,work_end_date,reporting_date,
-        is_have,is_influence,mode,
-        status,proc_ins_id,process_definition_id
+        ppli.id,
+        ppli.create_by,
+        ppli.create_date,
+        ppli.update_by,
+        ppli.update_date,
+        ppli.del_flag,
+        ppli.contract_id,
+        ppli.contract_name,
+        ppli.client,
+        ppli.client_name,
+        ppli.amount,
+        ppli.contract_type,
+        ppli.name,
+        ppli.no,
+        ppli.project_type,
+        ppli.approval_no,
+        ppli.company,
+        ppli.project_mould,
+        ppli.property_holder,
+        ppli.property_holder_name,
+        ppli.location,
+        ppli.is_first,
+        ppli.year_num,
+        ppli.check_year,
+        ppli.project_manager,
+        ppli.project_manager_name,
+        ppli.report_type,
+        ppli.industry,
+        ppli.enterprise_type,
+        ppli.risk_level,
+        ppli.project_source,
+        ppli.estimate,
+        ppli.plan_end_time,
+        ppli.use_num,
+        ppli.appointment,
+        ppli.work_hours,
+        ppli.remarks,
+        ppli.assessment_enterprise,
+        ppli.assessment_enterprise_name,
+        ppli.link_num,
+        ppli.relationship,
+        ppli.assessment_way,
+        ppli.assessment_objective,
+        ppli.assessment_date,
+        ppli.num,
+        ppli.project_development,
+        ppli.delegate_project_type,
+        ppli.assessment_object,
+        ppli.work_begin_date,
+        ppli.work_end_date,
+        ppli.reporting_date,
+        ppli.is_have,
+        ppli.is_influence,mode,
+        ppli.status,
+        ppli.proc_ins_id,
+        ppli.process_definition_id
     </sql>
     <select id="getProgram" resultType="com.jeeplus.test.program.configuration.projectList.domain.ProgramProjectListInfo">
         select
-        <include refid="Program_Column_List"></include>
+        <include refid="Program_Column_List"></include>,
+        wci.no AS contract_no
         from program_project_list_info ppli
-        where ppli.del_flag = '0' and id = #{program_id}
+        left join work_contract_info wci on wci.id = ppli.contract_id and wci.del_flag = '0'
+        where ppli.del_flag = '0' and ppli.id = #{program_id}
     </select>
     <select id="findByIdArchive" resultMap="BaseResultMap">
         select

+ 4 - 2
jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/program/configuration/projectList/mapper/xml/ProjectListMapper.xml

@@ -132,12 +132,14 @@
            pa.proc_ins_id as procInsIdArchive,
            d.id AS issued_id,
            d.proc_ins_id AS procInsId4,
-           d.status AS issued_status
+           d.status AS issued_status,
+           wci.no AS contract_no
         FROM
             program_project_list_info a
             LEFT JOIN sys_user b ON a.create_by = b.id
             LEFT JOIN sys_user c ON a.project_manager = c.id
-            LEFT JOIN program_report_no prn ON prn.program_id = a.id
+            LEFT JOIN work_contract_info wci ON wci.id = a.contract_id and wci.del_flag = '0'
+            LEFT JOIN program_report_no prn ON prn.program_id = a.id and prn.del_flag = '0'
             LEFT JOIN program_audit pa1 ON pa1.program_id = a.id and pa1.audit_level = '1' and pa1.del_flag = '0'
             LEFT JOIN program_audit pa2 ON pa2.program_id = a.id and pa2.audit_level = '2' and pa2.del_flag = '0'
             LEFT JOIN program_audit pa3 ON pa3.program_id = a.id and pa3.audit_level = '3' and pa3.del_flag = '0'

+ 32 - 1
jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/program/configuration/projectList/service/ProjectListService.java

@@ -31,6 +31,7 @@ import com.jeeplus.test.workContract.domain.WorkContractInfo;
 import com.jeeplus.test.workContract.mapper.WorkContractInfoMapper;
 import com.jeeplus.test.workContract.service.WorkContractService;
 import com.jeeplus.test.workContract.service.dto.WorkAttachmentDto;
+import com.jeeplus.test.workContract.service.dto.WorkContractInfoDto;
 import org.apache.commons.compress.utils.Lists;
 import org.springframework.beans.BeanUtils;
 import org.springframework.stereotype.Service;
@@ -195,7 +196,7 @@ public class ProjectListService {
         return programAudit.getId();
     }
 
-    public String update(ProjectListDto dto) {
+    public String update(ProjectListDto dto) throws Exception{
         //获取当前登录人信息
         UserDTO userDTO = UserUtils.getCurrentUserDTO();
         // 修改项目管理列表主表信息
@@ -237,6 +238,36 @@ public class ProjectListService {
         if (CollectionUtils.isNotEmpty(dto.getFiles())) {
             workContractService.updateFiles(dto.getFiles(), userDTO, dto.getId());
         }
+        // 当项目登记审核同意的时候,生成合同编号。根据createContractNo的值是“1”的时候,就是审核同意的时候
+        if (ObjectUtil.isNotEmpty(dto)) {
+            if (StringUtils.isNotBlank(dto.getCreateContractNo())) {
+                if ("1".equals(dto.getCreateContractNo())) {
+                    ProgramProjectListInfo programProjectListInfo = projectListMapper.getById(info.getId());
+                    if (ObjectUtil.isNotEmpty(programProjectListInfo)) {
+                        // 根据项目id查询关联的合同信息-》找到合同id
+                        String contractId = programProjectListInfo.getContractId();
+                        if (StringUtils.isNotBlank(programProjectListInfo.getReportType())) {
+                            if ("1".equals(programProjectListInfo.getReportType())) {
+                                // 生成合同编号-评估类
+                                String serialNum = serialnumTplService.genSerialNum(userDTO.getCompanyDTO().getId(), WorkContractInfoDto.BIZ_CODE);
+                                // 根据合同id和合同编号来修改合同数据
+                                WorkContractInfo workContractInfo = new WorkContractInfo();
+                                workContractInfo.setNo(serialNum);
+                                workContractInfoMapper.update(workContractInfo, new QueryWrapper<WorkContractInfo>().lambda().eq(WorkContractInfo::getId, contractId));
+                            }else if("2".equals(programProjectListInfo.getReportType())){
+                                // 生成合同编号-咨询类
+                                String serialNum = serialnumTplService.genSerialNum(userDTO.getCompanyDTO().getId(), WorkContractInfoDto.BIZ_CODE_);
+                                // 根据合同id和合同编号来修改合同数据
+                                WorkContractInfo workContractInfo = new WorkContractInfo();
+                                workContractInfo.setNo(serialNum);
+                                workContractInfoMapper.update(workContractInfo, new QueryWrapper<WorkContractInfo>().lambda().eq(WorkContractInfo::getId, contractId));
+                            }
+                        }
+                    }
+                }
+            }
+        }
+
         return dto.getId();
     }
 

+ 5 - 0
jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/program/configuration/projectList/service/dto/ProjectListDto.java

@@ -148,4 +148,9 @@ public class ProjectListDto extends BaseEntity {
      */
     private String agreeUserId;
 
+    /**
+     * 生成合同编号,前端传值为 “ 1 ” 的时候,进行生成
+     */
+    private String createContractNo;
+
 }

+ 6 - 0
jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/proofread/domain/ProofreadIssued.java

@@ -126,4 +126,10 @@ public class ProofreadIssued extends BaseEntity {
      * 流程类型
      */
     private String processDefinitionId;
+
+    /**
+     * 项目-报告类型
+     */
+    @TableField(exist = false)
+    private String reportType;
 }

+ 1 - 0
jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/proofread/mapper/xml/ProofreadIssuedMapper.xml

@@ -14,6 +14,7 @@
 			b.`name` AS project_name,
 			b.assessment_date,
 			b.project_manager,
+			b.report_type,
 			c.report_no,
 			d.`name` AS project_manager_name,
 			e.`name` AS department,

+ 4 - 4
jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/workContract/service/WorkContractService.java

@@ -82,12 +82,12 @@ public class WorkContractService {
         //获取当前登录人信息
         UserDTO userDTO = UserUtils.getCurrentUserDTO();
         //合同编号生成
-        String serialNum = serialnumTplService.genSerialNum(userDTO.getCompanyDTO().getId(), WorkContractInfoDto.BIZ_CODE);
+//        String serialNum = serialnumTplService.genSerialNum(userDTO.getCompanyDTO().getId(), WorkContractInfoDto.BIZ_CODE);
         String id = UUID.randomUUID().toString().replace("-", "");
         WorkContractInfo info = new WorkContractInfo();
         BeanUtils.copyProperties(workContractInfoDto, info);
         info.setId(id);
-        info.setNo(serialNum);
+//        info.setNo(serialNum);
         info.setCreateBy(userDTO.getId());
         info.setCreateDate(new Date());
         info.setUpdateBy(userDTO.getId());
@@ -108,10 +108,10 @@ public class WorkContractService {
         //获取当前登录人信息
         UserDTO userDTO = UserUtils.getCurrentUserDTO();
         //合同编号生成
-        String serialNum = serialnumTplService.genSerialNum(userDTO.getCompanyDTO().getId(), WorkContractInfoDto.BIZ_CODE);
+//        String serialNum = serialnumTplService.genSerialNum(userDTO.getCompanyDTO().getId(), WorkContractInfoDto.BIZ_CODE);
         WorkContractInfo info = new WorkContractInfo();
         BeanUtils.copyProperties(workContractInfoDto, info);
-        info.setNo(serialNum);
+//        info.setNo(serialNum);
         info.setUpdateBy(userDTO.getId());
         info.setUpdateDate(new Date());
         workContractInfoMapper.updateById(info);

+ 4 - 1
jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/workContract/service/dto/WorkContractInfoDto.java

@@ -11,9 +11,12 @@ import java.util.List;
 @Data
 public class WorkContractInfoDto extends BaseDTO {
 
-    //合同编号类型(字典值)
+    //合同编号-评估类型(字典值)
     public static final String BIZ_CODE = "2";
 
+    //合同编号-咨询类型(字典值)
+    public static final String BIZ_CODE_ = "9";
+
     /**
      * 客户id
      */