sangwenwei 5 месяцев назад
Родитель
Сommit
6f8fa22f1a
13 измененных файлов с 163 добавлено и 49 удалено
  1. 85 23
      jeeplus-modules/jeeplus-finance/src/main/java/com/jeeplus/finance/ccpm/controller/CcpmList.java
  2. 2 1
      jeeplus-modules/jeeplus-finance/src/main/java/com/jeeplus/finance/projectRecords/mapper/CwFillingBatchInfoMapper.java
  3. 4 0
      jeeplus-modules/jeeplus-finance/src/main/java/com/jeeplus/finance/projectRecords/mapper/CwProjectRecordsMapper.java
  4. 8 2
      jeeplus-modules/jeeplus-finance/src/main/java/com/jeeplus/finance/projectRecords/mapper/xml/CwFillingbatchInfoMapper.xml
  5. 7 0
      jeeplus-modules/jeeplus-finance/src/main/java/com/jeeplus/finance/projectRecords/mapper/xml/CwProjectRecordsMapper.xml
  6. 21 19
      jeeplus-modules/jeeplus-finance/src/main/java/com/jeeplus/finance/projectRecords/service/CwFillingbatchService.java
  7. 7 0
      jeeplus-modules/jeeplus-finance/src/main/java/com/jeeplus/finance/projectReport/controller/CwProjectReportController.java
  8. 3 0
      jeeplus-modules/jeeplus-finance/src/main/java/com/jeeplus/finance/projectReport/domain/CwProjectReportData.java
  9. 9 0
      jeeplus-modules/jeeplus-finance/src/main/java/com/jeeplus/finance/projectReport/domain/CwProjectReviewAuditUser.java
  10. 2 0
      jeeplus-modules/jeeplus-finance/src/main/java/com/jeeplus/finance/projectReport/mapper/CwProjectReportMapper.java
  11. 4 0
      jeeplus-modules/jeeplus-finance/src/main/java/com/jeeplus/finance/projectReport/mapper/xml/CwProjectReportMapper.xml
  12. 4 0
      jeeplus-modules/jeeplus-finance/src/main/java/com/jeeplus/finance/projectReport/service/CwProjectReportService.java
  13. 7 4
      jeeplus-modules/jeeplus-finance/src/main/java/com/jeeplus/finance/workClientInfo/service/CwWorkClientService.java

+ 85 - 23
jeeplus-modules/jeeplus-finance/src/main/java/com/jeeplus/finance/ccpm/controller/CcpmList.java

@@ -19,13 +19,8 @@ import com.jeeplus.finance.contractRegistration.mapper.ContractFilePaperMapper;
 import com.jeeplus.finance.contractRegistration.mapper.ContractInfoMapper;
 import com.jeeplus.finance.contractRegistration.mapper.ContractParticipantMapper;
 import com.jeeplus.finance.projectDict.mapper.ProjectDictMapper;
-import com.jeeplus.finance.projectRecords.domain.CwProjectClientContact;
-import com.jeeplus.finance.projectRecords.domain.CwProjectClientInfo;
-import com.jeeplus.finance.projectRecords.domain.CwProjectRecords;
-import com.jeeplus.finance.projectRecords.domain.PartialCustomerInfo;
-import com.jeeplus.finance.projectRecords.mapper.CwProjectClientContactMapper;
-import com.jeeplus.finance.projectRecords.mapper.CwProjectClientInfoMapper;
-import com.jeeplus.finance.projectRecords.mapper.CwProjectRecordsMapper;
+import com.jeeplus.finance.projectRecords.domain.*;
+import com.jeeplus.finance.projectRecords.mapper.*;
 import com.jeeplus.finance.projectRecords.service.PartialCustomerInfoService;
 import com.jeeplus.finance.projectRecords.service.dto.CwProjectClientInfoDTO;
 import com.jeeplus.finance.projectRecords.service.dto.CwProjectRecordsDTO;
@@ -57,6 +52,7 @@ import org.springframework.transaction.annotation.Transactional;
 import org.springframework.web.bind.annotation.GetMapping;
 
 import javax.annotation.Resource;
+import java.math.BigDecimal;
 import java.sql.SQLException;
 import java.util.*;
 
@@ -125,6 +121,12 @@ public class CcpmList  {
     @Resource
     private ProjectDictMapper projectDictMapper;
 
+    @Resource
+    private CwProjectMembersMapper cwProjectMembersMapper;
+
+    @Resource
+    private CwProjectPlanMapper cwProjectPlanMapper;
+
 
 
 
@@ -404,13 +406,15 @@ public class CcpmList  {
             //删除之前添加的数据
 //            cwProjectRecordsMapper.deleteByTenantId();
 //            cwProjectReviewNewMapper.deleteByTenantId();
-            cwProjectReportMapper.deleteByTenantId();
-            cwProjectInfoMapper.deleteByTenantId();
+//            cwProjectReportMapper.deleteByTenantId();
+//            cwProjectInfoMapper.deleteByTenantId();
 //            cwProjectReportSignAndIssueMapper.deleteByTenantId();
 //            cwProjectReportOnlineArchivingMapper.deleteByTenantId();
 //            cwProjectReportPaperArchivingMapper.deleteByTenantId();
 //            cwProjectClientContactMapper.deleteByTenantId();
             cwProjectClientInfoMapper.deleteByTenantId();
+            cwProjectRecordsMapper.deletePlanByTenantId();
+            cwProjectRecordsMapper.deleteMemberByTenantId();
             //将获取到的项目信息通过遍历的方式插入到数据表中
             if (CollectionUtils.isNotEmpty(ruralProjectRecordsVos)){
                 for (RuralProjectRecordsVo recordsVo : ruralProjectRecordsVos) {
@@ -433,7 +437,7 @@ public class CcpmList  {
                         cwProjectRecords.setProjectNumber(recordsVo.getProjectId());//项目编号
                         cwProjectRecords.setContractId(recordsVo.getWorkContractInfo().getId());
                         cwProjectRecords.setProjectName(recordsVo.getProjectName());
-                        cwProjectRecords.setStatus("5");
+
                         if (StringUtils.isNotBlank(recordsVo.getProjectType())){
                             if (recordsVo.getProjectType().equals("2")){
                                 cwProjectRecords.setProjectType("1");//造价
@@ -443,7 +447,6 @@ public class CcpmList  {
                                 cwProjectRecords.setReportType(recordsVo.getAttachmentProjectSort());
                             }
                         }
-                        cwProjectRecords.setStatus(recordsVo.getProjectStatus()+"");
                         if (StringUtils.isNotBlank(recordsVo.getCreateNamePhone())){
                             Optional<String> matchingUserId = allUserInfo.stream()
                                     .filter(user -> user.getMobile().equals(recordsVo.getCreateNamePhone()))
@@ -461,6 +464,7 @@ public class CcpmList  {
                         }
                         cwProjectRecords.setCreateTime(recordsVo.getCreateDate());
                         cwProjectRecords.setTenantId("ccpm");
+                        cwProjectRecords.setStatus("5");
                         //获取项目所在地
                         List<Area> areaDTO = SpringUtil.getBean(IAreaApi.class).getAreaDTOByName(recordsVo.getArea().getName());
                         if (areaDTO.size()>1){
@@ -492,8 +496,8 @@ public class CcpmList  {
                         }
 
                         //项目金额
-                        if (ObjectUtils.isNotEmpty(recordsVo.getTotalFees())){
-                            cwProjectRecords.setProjectMoney(recordsVo.getTotalFees().toString());
+                        if (ObjectUtils.isNotEmpty(recordsVo.getSubmitScale())){
+                            cwProjectRecords.setProjectMoney(String.valueOf(recordsVo.getSubmitScale()));
                         }
 
                         //项目开始时间结束时间
@@ -582,9 +586,9 @@ public class CcpmList  {
                                 PartialCustomerInfo customerInfo = new PartialCustomerInfo();
                                 BeanUtil.copyProperties(workConstructionLinkmanList.get(i), customerInfo);
                                 customerInfo.setId(UUID.randomUUID().toString().replace("-", ""));
-                                customerInfo.setCreateById(cwProjectRecords.getId());
+                                customerInfo.setCreateById(cwProjectRecords.getCreateById());
                                 customerInfo.setCreateTime(new Date());
-                                customerInfo.setUpdateById(cwProjectRecords.getId());
+                                customerInfo.setUpdateById(cwProjectRecords.getUpdateById());
                                 customerInfo.setUpdateTime(new Date());
                                 customerInfo.setRecordsId(cwProjectRecords.getId());
                                 customerInfoService.save(customerInfo);
@@ -593,11 +597,41 @@ public class CcpmList  {
                         }
 
                     }
+                    //项目组成员,将创建人添加到项目组成员中
+                    Set<String> strings = new HashSet<>();
+                    strings.add(cwProjectRecords.getCreateById());
+                    strings.add(cwProjectRecords.getProjectMasterId());
+                    strings.add(cwProjectRecords.getProjectLeaderId());
+                    for (String string : strings) {
+
+                        CwProjectMembers cwProjectMembers = new CwProjectMembers();
+                        cwProjectMembers.setId(UUID.randomUUID().toString().replace("-", ""));
+                        cwProjectMembers.setUserId(string);
+                        cwProjectMembers.setProjectId(cwProjectRecords.getId());
+                        cwProjectMembers.setIsImportant("1");
+                        cwProjectMembers.setStatus("0");
+                        cwProjectMembers.setTenantId("ccpm");
+                        cwProjectMembers.setCreateById(cwProjectRecords.getCreateById());
+                        cwProjectMembers.setCreateTime(new Date());
+                        cwProjectMembers.setUpdateById(cwProjectRecords.getUpdateById());
+                        cwProjectMembers.setUpdateTime(new Date());
+                        cwProjectMembersMapper.insert(cwProjectMembers);
+                    }
+
+                    //将项目与项目计划绑定
+                    CwProjectPlan cwProjectPlan = new CwProjectPlan();
+                    cwProjectPlan.setId(UUID.randomUUID().toString().replace("-", ""));
+                    cwProjectPlan.setProjectId(cwProjectRecords.getId());
+                    cwProjectPlan.setTenantId("ccpm");
+                    cwProjectPlan.setCreateById(cwProjectRecords.getCreateById());
+                    cwProjectPlan.setCreateTime(new Date());
+                    cwProjectPlan.setUpdateById(cwProjectRecords.getUpdateById());
+                    cwProjectPlan.setUpdateTime(new Date());
+                    cwProjectPlanMapper.insert(cwProjectPlan);
+
+
                     //报告
                     if (StringUtils.isNotBlank(recordsVo.getPrdId())){
-                        String id = UUID.randomUUID().toString().replace("-", "");
-                        //报告信息
-                        report.setId(id);
                         report.setProjectId(recordsVo.getId());
                         report.setStatus("5");
                         report.setTenantId("ccpm");
@@ -613,11 +647,24 @@ public class CcpmList  {
 
                         }
                         report.setCreateTime(recordsVo.getCreateDate());
-                        cwProjectReportMapper.insert(report);
+                        List<CwProjectReportData> reportData = cwProjectReportMapper.getByProjectId(cwProjectRecords.getId());
+                        String id = "";
+                        if (CollectionUtil.isNotEmpty(reportData)){
+                            id = reportData.get(0).getId();
+                        }else {
+                            id = UUID.randomUUID().toString().replace("-", "");
+                        }
+                        //报告信息
+                        report.setId(id);
+                        if (ObjectUtils.isNotEmpty(reportData)){
+                            cwProjectReportMapper.updateById(report);
+                        }else {
+                            cwProjectReportMapper.insert(report);
+                        }
+
 
                         //报告编号
-                        String id1 = UUID.randomUUID().toString().replace("-", "");
-                        cwProjectInfoData.setId(id1);
+
                         cwProjectInfoData.setReportId(id);
                         cwProjectInfoData.setReportNo(recordsVo.getProjectReportNumber());
                         cwProjectInfoData.setTenantId("ccpm");
@@ -633,7 +680,21 @@ public class CcpmList  {
 
                         }
                         cwProjectInfoData.setCreateTime(recordsVo.getCreateTime());
-                        cwProjectInfoMapper.insert(cwProjectInfoData);
+                        String id1 = "";
+                        CwProjectInfoData byReportId = cwProjectInfoMapper.getByReportId(id);
+                        if (ObjectUtils.isNotEmpty(byReportId)){
+                            id1 = byReportId.getId();
+                        }else {
+                            id1= UUID.randomUUID().toString().replace("-", "");
+                        }
+
+                        cwProjectInfoData.setId(id1);
+                        if (byReportId != null){
+                            cwProjectInfoMapper.updateById(cwProjectInfoData);
+                        }else {
+                            cwProjectInfoMapper.insert(cwProjectInfoData);
+                        }
+
                     }
 
 
@@ -812,7 +873,8 @@ public class CcpmList  {
                     //保存合同归档信息
                     ContractFilePaper workContractFile = new ContractFilePaper();
                     workContractFile.setContractInfoId(contractInfoVo.getId());
-                    workContractInfo.setFiledNo(contractInfoVo.getRecordNum());//案卷号
+                    workContractFile.setFiledNo(contractInfoVo.getRecordNum());//案卷号
+                    workContractFile.setConfirmFiledNo(contractInfoVo.getRecordNum());//案卷号
                     workContractFile.setFiledPaperType(contractInfoVo.getContrractRecordStatus());
                     workContractFile.setTenantId("ccpm");
                     workContractFile.setCreateTime(contractInfoVo.getCreateDate());

+ 2 - 1
jeeplus-modules/jeeplus-finance/src/main/java/com/jeeplus/finance/projectRecords/mapper/CwFillingBatchInfoMapper.java

@@ -13,6 +13,7 @@ import com.jeeplus.finance.projectRecords.service.dto.CwFillingbatchProjectDTO;
 import org.apache.ibatis.annotations.Mapper;
 import org.apache.ibatis.annotations.Param;
 
+import java.util.ArrayList;
 import java.util.List;
 
 @Mapper
@@ -20,7 +21,7 @@ public interface CwFillingBatchInfoMapper extends BaseMapper<CwFillingbatchInfo>
 
     IPage<CwFillingbatchInfoDTO> findList(Page<CwFillingbatchInfoDTO> page,@Param(Constants.WRAPPER) QueryWrapper<CwFillingbatchInfoDTO> queryWrapper);
 
-    List<CwFillingbatchInfoDTO> findProjectList();
+    List<CwFillingbatchInfoDTO> findProjectList(@Param("fillingbatchIds") ArrayList<String> fillingbatchIds);
 
     List<CwFillingbatchProject> findProjectByBatchId(@Param("id") String id);
 

+ 4 - 0
jeeplus-modules/jeeplus-finance/src/main/java/com/jeeplus/finance/projectRecords/mapper/CwProjectRecordsMapper.java

@@ -136,4 +136,8 @@ public interface CwProjectRecordsMapper extends BaseMapper<CwProjectRecords> {
     void deleteByTenantId();
     //根据项目id删除项目信息
     void deleteInfoById(@Param("id")String id);
+
+    void deletePlanByTenantId();
+
+    void deleteMemberByTenantId();
 }

+ 8 - 2
jeeplus-modules/jeeplus-finance/src/main/java/com/jeeplus/finance/projectRecords/mapper/xml/CwFillingbatchInfoMapper.xml

@@ -43,7 +43,12 @@
         LEFT JOIN cw_project_report_new_line prnl on pr.id=prnl.report_id and prnl.del_flag = '0'
         left join cw_project_records pre on pre.id = pr.project_id and pre.del_flag = '0'
         left join sys_user su on pre.create_by_id = su.id and su.del_flag = '0'
-        where a.del_flag ='0' order by a.sort ASC
+        where a.del_flag ='0'
+        and a.fillingbatch_id in
+        <foreach collection="fillingbatchIds" item="fillingbatchId" open="(" close=")" separator=",">
+            #{fillingbatchId}
+        </foreach>
+        order by a.sort ASC
     </select>
 
     <select id="findProjectByBatchId" resultType="com.jeeplus.finance.projectRecords.domain.CwFillingbatchProject">
@@ -116,8 +121,9 @@
         LEFT JOIN cw_project_report_new_line prnl on pr.id=prnl.report_id and prnl.del_flag = '0'
         left join sys_user su on a.project_leader_id = su.id and su.del_flag = '0'
         left join sys_user su1 on a.create_by_id = su1.id and su1.del_flag = '0'
+        left join cw_project_report_review_new cprn on a.id = cprn.project_id
         ${ew.customSqlSegment}
-        and a.project_level= '2' and a.del_flag = '0' and pr.id not in (select report_id from cw_fillingbatch_project where status in (2,3,5) and del_flag = '0')order by a.create_time DESC
+        and a.project_level= '2' and a.del_flag = '0' and cprn.review_status  = '5' order by a.create_time DESC
     </select>
 
     <select id="getIdList" resultType="string">

+ 7 - 0
jeeplus-modules/jeeplus-finance/src/main/java/com/jeeplus/finance/projectRecords/mapper/xml/CwProjectRecordsMapper.xml

@@ -727,4 +727,11 @@
         delete from cw_project_records where id = #{id}
     </delete>
 
+    <delete id="deletePlanByTenantId">
+        delete from cw_project_plan where tenant_id = 'ccpm'
+    </delete>
+    <delete id="deleteMemberByTenantId">
+        delete from cw_project_members where tenant_id = 'ccpm'
+    </delete>
+
 </mapper>

+ 21 - 19
jeeplus-modules/jeeplus-finance/src/main/java/com/jeeplus/finance/projectRecords/service/CwFillingbatchService.java

@@ -81,12 +81,14 @@ public class CwFillingbatchService {
         //查询归档信息  将相关信息查询出来后设置好层级后,前端组件会自动组装成树状表
         IPage<CwFillingbatchInfoDTO> list = cwFillingBatchInfoMapper.findList(page, queryWrapper);
         List<CwFillingbatchInfoDTO> records = list.getRecords();
+        ArrayList<String> strings = new ArrayList<>();
         if (CollectionUtil.isNotEmpty(records)){
-            List<CwFillingbatchInfoDTO> projectList = cwFillingBatchInfoMapper.findProjectList();
-            for (CwFillingbatchInfoDTO record : list.getRecords()) {
+            for (CwFillingbatchInfoDTO record : records) {
                 //设置层级
                 record.setLevel("1");
+                strings.add(record.getId());
             }
+            List<CwFillingbatchInfoDTO> projectList = cwFillingBatchInfoMapper.findProjectList(strings);
             for (CwFillingbatchInfoDTO cwFillingbatchInfoDTO : projectList) {
                 if (StringUtils.isBlank(cwFillingbatchInfoDTO.getStatus())){
                     cwFillingbatchInfoDTO.setStatus("2");
@@ -171,29 +173,29 @@ public class CwFillingbatchService {
         if (StringUtils.isNotBlank(info.getName())) {
             queryWrapper.like("a.project_name", info.getName());
         }
-        //获取当前登陆人所有未归档的B类项目
+        //获取当前登陆人所有质量复核完成的B类项目
         IPage<CwFillingbatchProjectDTO> projectList = cwFillingBatchInfoMapper.getList(page, queryWrapper);
         //获取当前登录人所有归档被驳回的的项目
-        List<CwFillingbatchProjectDTO> list = cwFillingBatchInfoMapper.findProList(userDTO.getId());
-        Map<String, CwFillingbatchProjectDTO> uniqueProjectMap = new LinkedHashMap<>();
-        //将未归档以及归档被驳回的项目存到list中最后重新进行赋值
+//        List<CwFillingbatchProjectDTO> list = cwFillingBatchInfoMapper.findProList(userDTO.getId());
+//        Map<String, CwFillingbatchProjectDTO> uniqueProjectMap = new LinkedHashMap<>();
+//        //将未归档以及归档被驳回的项目存到list中最后重新进行赋值
         if (ObjectUtil.isNotEmpty(projectList)) {
-            if (CollectionUtil.isNotEmpty(list)) {
-                for (CwFillingbatchProjectDTO projectDTO : list) {
-                    if ("4".equals(projectDTO.getStatus())) {
-                        projectDTO.setLevel("1");
-                        uniqueProjectMap.put(projectDTO.getId(), projectDTO);
-                        continue;
-                    }
-                }
-                List<CwFillingbatchProjectDTO> record = new ArrayList<>(uniqueProjectMap.values());
-                List<CwFillingbatchProjectDTO> records = projectList.getRecords();
+//            if (CollectionUtil.isNotEmpty(list)) {
+//                for (CwFillingbatchProjectDTO projectDTO : list) {
+//                    if ("4".equals(projectDTO.getStatus())) {
+//                        projectDTO.setLevel("1");
+//                        uniqueProjectMap.put(projectDTO.getId(), projectDTO);
+//                        continue;
+//                    }
+//                }
+//                List<CwFillingbatchProjectDTO> record = new ArrayList<>(uniqueProjectMap.values());
+//                List<CwFillingbatchProjectDTO> records = projectList.getRecords();
                 for (CwFillingbatchProjectDTO dto : projectList.getRecords()) {
                     dto.setLevel("1");
                 }
-                records.addAll(record);
-                projectList.setRecords(records);
-            }
+//                records.addAll(record);
+//                projectList.setRecords(records);
+//            }
 
 
         }

+ 7 - 0
jeeplus-modules/jeeplus-finance/src/main/java/com/jeeplus/finance/projectReport/controller/CwProjectReportController.java

@@ -509,8 +509,15 @@ public class CwProjectReportController {
             //查询项目报告信息
             List<ProjectReportInfo> projectReportInfos = projectReportService.getProjectReportInfo(id);
             projectReportData.setProjectReportInfos(projectReportInfos);
+            //查询质量复核审核人员
+            List<CwProjectReviewAuditUser> userList = projectReportService.findAuditUserList();
+            if(CollectionUtil.isNotEmpty(userList)){
+                projectReportData.setAuditUserList(userList);
+            }
         }
 
+
+
         return ResponseEntity.ok (projectReportData);
     }
 

+ 3 - 0
jeeplus-modules/jeeplus-finance/src/main/java/com/jeeplus/finance/projectReport/domain/CwProjectReportData.java

@@ -10,6 +10,7 @@ import com.jeeplus.finance.projectReport.service.dto.ProjectContactInfo;
 import com.jeeplus.finance.projectReport.service.dto.ProjectReportInfo;
 import com.jeeplus.finance.projectReport.service.dto.ProjectReportWorkAttachmentDTO;
 import com.jeeplus.sys.domain.WorkAttachmentInfo;
+import com.jeeplus.sys.service.dto.UserDTO;
 import lombok.Data;
 import org.springframework.format.annotation.DateTimeFormat;
 
@@ -735,4 +736,6 @@ public class CwProjectReportData extends BaseDTO {
     private String taskSigId;
 
     private String createName;
+
+    private List<CwProjectReviewAuditUser> auditUserList;
 }

+ 9 - 0
jeeplus-modules/jeeplus-finance/src/main/java/com/jeeplus/finance/projectReport/domain/CwProjectReviewAuditUser.java

@@ -0,0 +1,9 @@
+package com.jeeplus.finance.projectReport.domain;
+
+import lombok.Data;
+
+@Data
+public class CwProjectReviewAuditUser {
+    private String id;
+    private String name;
+}

+ 2 - 0
jeeplus-modules/jeeplus-finance/src/main/java/com/jeeplus/finance/projectReport/mapper/CwProjectReportMapper.java

@@ -275,4 +275,6 @@ public interface CwProjectReportMapper extends BaseMapper<CwProjectReport> {
     void deleteByTenantId();
 
     void deleteByProjectId(@Param("id") String id);
+
+    List<CwProjectReviewAuditUser> findAuditUserList();
 }

+ 4 - 0
jeeplus-modules/jeeplus-finance/src/main/java/com/jeeplus/finance/projectReport/mapper/xml/CwProjectReportMapper.xml

@@ -1459,4 +1459,8 @@ JOIN (
         delete from cw_project_report where project_id = #{id}
     </delete>
 
+    <select id="findAuditUserList" resultType="com.jeeplus.finance.projectReport.domain.CwProjectReviewAuditUser">
+        select id,name from cw_project_review_audit_user where del_flag = '0'
+    </select>
+
 </mapper>

+ 4 - 0
jeeplus-modules/jeeplus-finance/src/main/java/com/jeeplus/finance/projectReport/service/CwProjectReportService.java

@@ -4295,4 +4295,8 @@ public class CwProjectReportService extends ServiceImpl<CwProjectReportMapper, C
         archivedReportInfos.addAll(archivedReportInfo);
         return archivedReportInfos;
     }
+
+    public List<CwProjectReviewAuditUser> findAuditUserList() {
+        return reportMapper.findAuditUserList();
+    }
 }

+ 7 - 4
jeeplus-modules/jeeplus-finance/src/main/java/com/jeeplus/finance/workClientInfo/service/CwWorkClientService.java

@@ -330,12 +330,15 @@ public class CwWorkClientService extends ServiceImpl<CwWorkClientBaseMapper, CwW
         CwWorkClientBase cwWorkClientBase = CwWorkClientBaseWrapper.INSTANCE.toEntity(cwWorkClientBaseDTO);
         if (null == cwWorkClientBase.getRepresentativeParty()) {
             StringBuilder builder = new StringBuilder();
-            for (int i = 0; i < cwWorkClientBaseDTO.getRepresentativePartys().size(); i++) {
-                if (i > 0) {
-                    builder.append(",");
+            if (null != cwWorkClientBaseDTO.getRepresentativePartys()){
+                for (int i = 0; i < cwWorkClientBaseDTO.getRepresentativePartys().size(); i++) {
+                    if (i > 0) {
+                        builder.append(",");
+                    }
+                    builder.append(cwWorkClientBaseDTO.getRepresentativePartys().get(i));
                 }
-                builder.append(cwWorkClientBaseDTO.getRepresentativePartys().get(i));
             }
+
             String value = builder.toString();
 
             cwWorkClientBase.setRepresentativeParty(value);