user5 hace 1 año
padre
commit
438e80ebff

+ 11 - 0
jeeplus-modules/jeeplus-business/src/main/java/com/jeeplus/business/project/controller/JyProjectController.java

@@ -530,6 +530,17 @@ public class JyProjectController {
     }
 
 
+    /**
+     * 根据合同id获取关联的项目信息
+     * @param contractId
+     * @return
+     */
+    @ApiOperation(value = "根据合同id获取关联的项目信息")
+    @GetMapping(value = "/getByContractId")
+    public ResponseEntity<List<JyProjectDTO>> getByContractId(String contractId,JyProject cwProjectRecordsDTO) throws Exception {
+        List<JyProjectDTO> cwProjectRecordsDTOList = jyProjectService.getByContractId(contractId,cwProjectRecordsDTO);
+        return ResponseEntity.ok(cwProjectRecordsDTOList);
+    }
 
 
 

+ 4 - 0
jeeplus-modules/jeeplus-business/src/main/java/com/jeeplus/business/project/mapper/JyProjectMapper.java

@@ -52,4 +52,8 @@ public interface JyProjectMapper extends BaseMapper<JyProject> {
     List<JyProjectDTO> getByIdNoArchive(@Param("id")String id);
     @InterceptorIgnore(tenantLine = "true")
     List<JyProject> getListByIds(@Param("ids") List idList);
+
+
+
+    List<JyProjectDTO> getByContractId(@Param(Constants.WRAPPER) QueryWrapper<JyProject> queryWrapper);
 }

+ 65 - 1
jeeplus-modules/jeeplus-business/src/main/java/com/jeeplus/business/project/mapper/xml/ProjectListMapper.xml

@@ -17,7 +17,9 @@
        a.effective_date,
        a.closing_date,
        a.contract_type as contractType,
-       a.contract_type_first as contractTypeFirst,
+       (SELECT dv.label FROM `sys_dict_value` dv
+       LEFT JOIN sys_dict_type dt on dt.id=dv.dict_type_id
+       where dt.type='jy_contract_type_up' and a.contract_type_first=dv.value) as "contractTypeFirst",
        a.contract_amount_type,
        a.contract_amount,
        a.contract_opposite,
@@ -47,6 +49,7 @@
        ${ew.customSqlSegment}
             and a.del_flag = 0
             and a.filed_type != 1
+            and a.contract_signed_type = 2
 
            <if test="dto.name != null and dto.name != ''">
                AND a.name LIKE CONCAT ('%', #{dto.name}, '%')
@@ -1060,6 +1063,67 @@
     </select>
 
 
+    <select id="getByContractId" resultType="com.jeeplus.business.project.service.dto.JyProjectDTO">
+        SELECT
+        distinct
+           a.id,
+           a.create_by_id,
+           a.create_time,
+           a.update_by_id,
+           a.update_time,
+           a.del_flag,
+           a.name,
+           a.no,
+           a.contract_id,
+           a.contract_name,
+           a.client,
+           a.client_name,
+           a.status,
+           a.reports_submit,
+           a.report_issuance,
+           a.contract_status,
+           a.project_place,
+           a.build_place,
+           a.project_overview,
+           a.special,
+           a.contract_project_no,
+           (select name from sys_user where id=a.project_leader) as projectLeader,
+           a.proc_ins_id,
+           a.process_definition_id,
+           b.name AS create_by_id,
+           pa1.status as firstInstanceStatus,
+           pa1.id as auditId1,
+           pa1.update_time as audit1UpdateTime,
+           pa2.status as secondInstanceStatus,
+           pa2.id as auditId2,
+           pa2.update_time as audit2UpdateTime,
+           pa3.id as auditId3,
+           pa3.update_time as audit3UpdateTime,
+           pa3.status as thirdInstanceStatus,
+           po.status as outInstance,
+           po.id as outInstanceId,
+           po.update_time as outTime,
+           par.status as reviewStatus,
+           par.id as archiveId,
+           par.update_time as archiveTime,
+           peq.id as eiaId,
+           so.name as officeName,
+           su.name as "createBy"
+        FROM
+            jy_project_record a
+            LEFT JOIN sys_user b ON a.create_by_id = b.id
+            left join sys_office so on b.office_id = so.id
+            LEFT JOIN sys_user c ON a.project_leader = c.id
+            left join jy_project_members pm on a.id = pm.project_id
+            left join jy_project_outinstance po on a.id=po.project_id
+            left join jy_project_archive par on a.id=par.project_id
+            left join jy_project_eia_qualification peq on a.id=peq.project_id
+						left join jy_project_audit pa1 on pa1.project_id = a.id and pa1.audit_level = '1' and pa1.del_flag = '0'
+            LEFT JOIN jy_project_audit pa2 ON pa2.project_id = a.id and pa2.audit_level = '2' and pa2.del_flag = '0'
+            LEFT JOIN jy_project_audit pa3 ON pa3.project_id = a.id and pa3.audit_level = '3' and pa3.del_flag = '0'
+        left join sys_user su on su.id = a.create_by_id and su.del_flag = '0'
+        ${ew.customSqlSegment}
+    </select>
 
 
 

+ 140 - 0
jeeplus-modules/jeeplus-business/src/main/java/com/jeeplus/business/project/service/JyProjectService.java

@@ -8,6 +8,7 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
+import com.baomidou.mybatisplus.core.toolkit.ObjectUtils;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.jeeplus.business.project.domain.*;
 import com.jeeplus.business.project.mapper.*;
@@ -2020,4 +2021,143 @@ public class JyProjectService {
         }
         return ResponseEntity.ok("操作成功");
     }
+
+
+    /**
+     * 根据合同id获取关联的项目信息
+     * @param contractId
+     * @return
+     */
+    public List<JyProjectDTO> getByContractId(String contractId,JyProject jyProject) throws Exception{
+        if (StringUtils.isNotBlank(contractId)) {
+
+            QueryWrapper<JyProject> wrapper = QueryWrapperGenerator.buildQueryCondition(jyProject, JyProject.class);
+            wrapper.eq("a.contract_id", contractId);
+            if(StringUtils.isNotBlank(jyProject.getName())){
+                wrapper.like("a.name",jyProject.getName());
+            }
+            if(StringUtils.isNotBlank(jyProject.getNo())){
+                wrapper.like("a.no",jyProject.getNo());
+            }
+            wrapper.eq("a.del_flag","0");
+            wrapper.orderByDesc("a.create_time");
+            List<JyProjectDTO> jyProjectDTO = jyProjectMapper.getByContractId(wrapper);
+            //获取用印id
+            QueryWrapper<Signet> queryWrapper = new QueryWrapper<>();
+            queryWrapper.eq("del_flag",'0');
+            queryWrapper.orderByDesc("create_time");
+            List<Signet> signets = signetMapper.selectList(queryWrapper);
+            jyProjectDTO.stream().forEach(item ->{
+                for (Signet signet : signets) {
+                    if (StringUtils.isNotBlank(signet.getProjectId())){
+                        String[] split = signet.getProjectId().split(",");
+                        for (String s : split) {
+                            if (StringUtils.isNotBlank(s)){
+                                if (StringUtils.isNotBlank(signet.getTypeStatus())){
+                                    //用印类型为报告,则获取报告签发
+                                    if ( s.equals(item.getId()) && signet.getTypeStatus().equals("1") ){
+                                        item.setReportStatus(signet.getStatus());
+                                        item.setReportTime(signet.getUpdateTime());
+                                    }
+                                    if (s.equals(item.getId()) && signet.getTypeStatus().equals("2")){
+                                        //用印类型为报批,则设置报批签发所需信息
+                                        item.setReportsTime(signet.getUpdateTime());
+                                        item.setReportsStatus(signet.getStatus());
+                                    }
+                                }
+                            }
+                        }
+                    }
+
+                    if (StringUtils.isNotBlank(signet.getProjectId())){
+                        String[] split = signet.getProjectId().split(",");
+                        for (String s : split) {
+                            if (StringUtils.isNotBlank(s)){
+                                if (StringUtils.isNotBlank(signet.getTypeStatus())){
+                                    //用印类型为报告,则获取报告签发
+                                    if ( s.equals(item.getId()) && signet.getTypeStatus().equals("1") ){
+                                        item.setSealId(signet.getId());
+                                        item.setProcInsReportIssuance(signet.getProcInsId());
+                                        item.setReportIssuance(signet.getStatus());
+                                    }
+                                    if (s.equals(item.getId()) && signet.getTypeStatus().equals("2")){
+                                        //用印类型为报批,则设置报批签发所需信息
+                                        item.setReportsSubmitId(signet.getId());
+                                        item.setProcInsIdReports(signet.getProcInsId());
+                                        item.setReportsSubmit(signet.getStatus());
+                                    }
+                                }
+                            }
+                        }
+                    }
+                }
+            });
+
+
+            if (ObjectUtils.isNotEmpty(jyProjectDTO)){
+                for (JyProjectDTO item : jyProjectDTO) {
+                    //项目进度信息
+                    if (!item.getFirstInstanceStatus().equals("5") && com.jeeplus.utils.StringUtils.isNotBlank(item.getFirstInstanceStatus())){
+                        item.setProcess("登记完成");
+                        item.setProcessTime(item.getUpdateTime());
+                        continue;
+                    }else {
+                        item.setProcess("一级校审完成");
+                        item.setProcessTime(item.getAudit1UpdateTime());
+                    }
+                    if (!item.getSecondInstanceStatus().equals("5") && com.jeeplus.utils.StringUtils.isNotBlank(item.getSecondInstanceStatus())){
+                        item.setProcess("一级校审完成");
+                        item.setProcessTime(item.getAudit1UpdateTime());
+                        continue;
+                    }else {
+                        item.setProcess("二级校审完成");
+                        item.setProcessTime(item.getAudit2UpdateTime());
+                    }
+                    if (!item.getThirdInstanceStatus().equals("5") && com.jeeplus.utils.StringUtils.isNotBlank(item.getThirdInstanceStatus())){
+                        item.setProcess("二级校审完成");
+                        item.setProcessTime(item.getAudit2UpdateTime());
+                        continue;
+                    }else {
+                        item.setProcess("三级校审完成");
+                        item.setProcessTime(item.getAudit3UpdateTime());
+                    }
+                    if ((com.jeeplus.utils.StringUtils.isNotBlank(item.getReportStatus()) && !item.getReportStatus().equals("5")) || com.jeeplus.utils.StringUtils.isBlank(item.getReportStatus())){
+                        item.setProcess("三级校审完成");
+                        item.setProcessTime(item.getAudit3UpdateTime());
+                        continue;
+                    }else {
+                        item.setProcess("报告签发完成");
+                        item.setProcessTime(item.getReportTime());
+                    }
+                    if (com.jeeplus.utils.StringUtils.isNotBlank(item.getOutInstance()) && !item.getOutInstance().equals("5")){
+                        item.setProcess("报告签发完成");
+                        item.setProcessTime(item.getReportTime());
+                        continue;
+                    }else {
+                        item.setProcess("外审完成");
+                        item.setProcessTime(item.getOutTime());
+                    }
+                    if ((com.jeeplus.utils.StringUtils.isNotBlank(item.getReportsStatus()) && !item.getReportsStatus().equals("5")) || com.jeeplus.utils.StringUtils.isBlank(item.getReportsStatus())){
+                        item.setProcess("外审完成");
+                        item.setProcessTime(item.getOutTime());
+                        continue;
+                    }else {
+                        item.setProcess("报批签发完成");
+                        item.setProcessTime(item.getReportsTime());
+                    }
+
+                    if ((com.jeeplus.utils.StringUtils.isNotBlank(item.getReportsSubmit()) && !item.getReportsSubmit().equals("5")) || com.jeeplus.utils.StringUtils.isBlank(item.getReportsSubmit())){
+                        item.setProcess("报批签发完成");
+                        item.setProcessTime(item.getReportsTime());
+                    }else {
+                        item.setProcess("归档完成");
+                        item.setProcessTime(item.getArchiveTime());
+                    }
+                }
+            }
+            return jyProjectDTO;
+        }
+        return new ArrayList<>();
+    }
+
 }

+ 9 - 0
jeeplus-modules/jeeplus-business/src/main/java/com/jeeplus/business/project/service/dto/JyProjectDTO.java

@@ -279,6 +279,8 @@ public class JyProjectDTO extends BaseEntity implements Serializable {
     @TableField(exist = false)
     private String reportsSubmitId;
     @TableField(exist = false)
+    private String ReportsSubmit;
+    @TableField(exist = false)
     private String procInsIdReports;
     @TableField(exist = false)
     private String taskIdReports;
@@ -327,6 +329,11 @@ public class JyProjectDTO extends BaseEntity implements Serializable {
     private String procInsIdArchive;
     @TableField(exist = false)
     private String taskIdArchive;
+    /**
+     * 归档时间
+     */
+    @TableField(exist = false)
+    private Date archiveTime;
 
 
     /**
@@ -337,6 +344,8 @@ public class JyProjectDTO extends BaseEntity implements Serializable {
     @TableField(exist = false)
     private String procInsIdEia;
     @TableField(exist = false)
+    private String procInsReportIssuance;
+    @TableField(exist = false)
     private String taskIdEia;
 
     /**

+ 3 - 1
jeeplus-modules/jeeplus-business/src/main/java/com/jeeplus/business/workClientInfo/domain/JyWorkClientInfo.java

@@ -171,8 +171,10 @@ public class JyWorkClientInfo extends BaseEntity {
      */
     @Excel(name = "客户编号",width = 25)
     private String number;
-    @Excel(name = "创建人",width = 25)
     private String createById;
+    @Excel(name = "创建人",width = 25)
+    @TableField(exist = false)
+    private String createByName;
     @Excel(name = "创建时间",width = 25,exportFormat = "yyyy-MM-dd")
     private Date createTime;
 

+ 2 - 1
jeeplus-modules/jeeplus-business/src/main/java/com/jeeplus/business/workClientInfo/mapper/xml/JyWorkClientInfoMapper.xml

@@ -78,7 +78,8 @@
 	<select id="findPageList" resultType="com.jeeplus.business.workClientInfo.domain.JyWorkClientInfo">
 		SELECT
 			a.id,
-			su.name create_by_id,
+			su.name create_by_name,
+			a.create_by_id,
 			a.create_time,
 			a.update_by_id,
 			a.update_time,

+ 6 - 0
jeeplus-modules/jeeplus-business/src/main/java/com/jeeplus/business/workContractInfo/domain/JyWorkContractInfo.java

@@ -43,6 +43,12 @@ public class JyWorkContractInfo extends BaseEntity {
     @Query(tableColumn = "a.name")
     @Excel(name = "合同名称",width = 16)
     private String name;
+    /**
+     * 合同名称
+     */
+    @Query(tableColumn = "a.contract_signed_type")
+    @Excel(name = "合同签订类型",width = 16)
+    private String contractSignedType;
 
     /**
      * 签订日期

+ 4 - 0
jeeplus-modules/jeeplus-business/src/main/java/com/jeeplus/business/workContractInfo/mapper/xml/JyWorkContractInfoMapper.xml

@@ -39,6 +39,7 @@
 			a.status,
 			a.create_by_id as create_id,
 			a.filed_type,
+			a.contract_signed_type,
 			a.primary_linkman,
 			c.name as createName,
 			art.ID_ as taskId
@@ -86,6 +87,7 @@
 			a.status,
 			a.create_by_id as create_id,
 			a.filed_type,
+			a.contract_signed_type,
 			a.primary_linkman,
 			so.id as department,
 			art.ID_ as taskId,
@@ -182,6 +184,7 @@
 			a.update_time,
 			a.update_by_id,
 			a.del_flag,
+			a.contract_signed_type,
 			d.id as contract_file_id,
 			d.filed_type
 		FROM
@@ -238,6 +241,7 @@
 			a.create_by_id as create_id,
 			a.filed_type,
 			a.primary_linkman,
+			a.contract_signed_type,
 			c.name as createName,
 			art.ID_ as taskId
 		FROM

+ 2 - 0
jeeplus-modules/jeeplus-business/src/main/java/com/jeeplus/business/workContractInfo/service/dto/JyWorkContractInfoDto.java

@@ -175,4 +175,6 @@ public class JyWorkContractInfoDto extends BaseDTO implements Serializable {
 
     private String contractNo;
 
+    private String contractSignedType;
+
 }