|
@@ -8,14 +8,12 @@ import cn.hutool.extra.spring.SpringUtil;
|
|
|
import cn.hutool.json.JSONObject;
|
|
|
import cn.hutool.json.JSONUtil;
|
|
|
import com.alibaba.fastjson.JSON;
|
|
|
-import com.alibaba.fastjson.TypeReference;
|
|
|
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.extension.plugins.pagination.Page;
|
|
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
|
|
-import com.fasterxml.jackson.databind.ObjectMapper;
|
|
|
import com.google.common.collect.Lists;
|
|
|
import com.jeeplus.common.TokenProvider;
|
|
|
import com.jeeplus.common.constant.CacheNames;
|
|
@@ -24,10 +22,6 @@ import com.jeeplus.core.query.QueryWrapperGenerator;
|
|
|
import com.jeeplus.finance.contractRegistration.domain.ContractInfo;
|
|
|
import com.jeeplus.finance.contractRegistration.mapper.ContractInfoMapper;
|
|
|
import com.jeeplus.finance.contractRegistration.service.ContractInfoService;
|
|
|
-import com.jeeplus.finance.invoice.domain.CwFinanceInvoice;
|
|
|
-import com.jeeplus.finance.invoice.domain.CwFinanceInvoiceBase;
|
|
|
-import com.jeeplus.finance.invoice.service.dto.CwFinanceImportDTO;
|
|
|
-import com.jeeplus.finance.invoice.service.dto.CwFinanceInvoiceDTO;
|
|
|
import com.jeeplus.finance.projectRecords.domain.CwProjectClientContact;
|
|
|
import com.jeeplus.finance.projectRecords.domain.CwProjectMembers;
|
|
|
import com.jeeplus.finance.projectRecords.domain.CwProjectRecords;
|
|
@@ -41,29 +35,25 @@ import com.jeeplus.finance.projectReport.domain.CwProjectReportData;
|
|
|
import com.jeeplus.finance.projectReport.mapper.CwProjectReportMapper;
|
|
|
import com.jeeplus.finance.workClientInfo.domain.CwWorkClientContact;
|
|
|
import com.jeeplus.finance.workClientInfo.mapper.CwWorkClientBaseMapper;
|
|
|
+import com.jeeplus.finance.workClientInfo.mapper.CwWorkClientContactMapper;
|
|
|
import com.jeeplus.finance.workClientInfo.service.CwWorkClientContactService;
|
|
|
-import com.jeeplus.finance.workClientInfo.service.CwWorkClientService;
|
|
|
import com.jeeplus.finance.workClientInfo.service.dto.CwWorkClientBaseDTO;
|
|
|
-import com.jeeplus.finance.workClientInfo.service.dto.CwWorkClientBillingDTO;
|
|
|
-import com.jeeplus.finance.workClientInfo.service.dto.CwWorkClientContactDTO;
|
|
|
+import com.jeeplus.flowable.feign.IAssessApi;
|
|
|
import com.jeeplus.sys.domain.User;
|
|
|
import com.jeeplus.sys.feign.IDictApi;
|
|
|
import com.jeeplus.sys.feign.IUserApi;
|
|
|
import com.jeeplus.sys.feign.IWorkAttachmentApi;
|
|
|
-import com.jeeplus.sys.service.dto.AreaDTO;
|
|
|
import com.jeeplus.sys.service.dto.UserDTO;
|
|
|
import org.apache.commons.lang3.StringUtils;
|
|
|
import org.springframework.http.ResponseEntity;
|
|
|
import org.springframework.stereotype.Service;
|
|
|
import org.springframework.transaction.annotation.Transactional;
|
|
|
-
|
|
|
import javax.annotation.Resource;
|
|
|
+import java.math.BigDecimal;
|
|
|
+import java.math.RoundingMode;
|
|
|
import java.util.*;
|
|
|
import java.util.stream.Collectors;
|
|
|
|
|
|
-//import com.jeeplus.pubmodules.oss.service.OssService;
|
|
|
-//import com.jeeplus.pubmodules.serialNumTpl.service.SerialnumTplService;
|
|
|
-//import com.jeeplus.sys.mapper.UserMapper;
|
|
|
|
|
|
/**
|
|
|
* 财务项目登记service
|
|
@@ -99,6 +89,9 @@ public class CwProjectRecordsService extends ServiceImpl<CwProjectRecordsMapper,
|
|
|
private ContractInfoService contractInfoService;
|
|
|
@Resource
|
|
|
private CwWorkClientBaseMapper cwWorkClientBaseMapper; ;
|
|
|
+ @Resource
|
|
|
+ private CwWorkClientContactMapper cwWorkClientContactMapper; ;
|
|
|
+
|
|
|
|
|
|
/**
|
|
|
* 差选项目列表信息
|
|
@@ -1187,14 +1180,17 @@ public class CwProjectRecordsService extends ServiceImpl<CwProjectRecordsMapper,
|
|
|
return "导入的数据为空,请确认后重新导入";
|
|
|
}
|
|
|
|
|
|
- //判断项目名是否有重复
|
|
|
+ //数据校验
|
|
|
Set<String> projectNames = new HashSet<>();
|
|
|
for (CwProjectRecordsImportDTO item : list) {
|
|
|
+ String message = projectValidation(item);
|
|
|
+ if(StringUtils.isNotBlank(message)){
|
|
|
+ return "项目名为:"+ item.getProjectName()+"的数据存在以下问题:"+message+",请修正后重新导入";
|
|
|
+ }
|
|
|
if (!projectNames.add(item.getProjectName())) {
|
|
|
return "导入数据中项目名称重复,请修正后重新导入";
|
|
|
}
|
|
|
}
|
|
|
-
|
|
|
//根据合同名称进行去重,并根据去重后的合同名称进行查询,若查询出来的数据量小于去重后的合同量,则表示有合同没有进行录入,则不进行导入
|
|
|
LinkedHashSet contractNameSet = new LinkedHashSet();
|
|
|
for (CwProjectRecordsImportDTO cwProjectRecordsImportDTO : list) {
|
|
@@ -1205,28 +1201,18 @@ public class CwProjectRecordsService extends ServiceImpl<CwProjectRecordsMapper,
|
|
|
List<ContractInfo> contractInfoList = Lists.newArrayList();
|
|
|
//根据contractList进行查询合同信息
|
|
|
//分批处理
|
|
|
- if (null != contractNameList && contractNameList.size() > 0) {
|
|
|
- int pointsDataLimit = 10;//限制条数
|
|
|
- Integer size = list.size();
|
|
|
- //判断是否有必要分批
|
|
|
- if (pointsDataLimit < size) {
|
|
|
- int part = size / pointsDataLimit;//分批数
|
|
|
- //
|
|
|
- for (int i = 0; i < part; i++) {
|
|
|
- //10条
|
|
|
- List<String> subContractNameList = contractNameList.subList(0, pointsDataLimit);
|
|
|
- //查询的合同信息仅自己创建的合同信息
|
|
|
- List<ContractInfo> contractList = contractInfoService.getByContractNameList(subContractNameList, userDTO.getId());
|
|
|
- contractInfoList.addAll(contractList);
|
|
|
- //剔除
|
|
|
- list.subList(0, pointsDataLimit).clear();
|
|
|
- }
|
|
|
- if (!list.isEmpty()) {
|
|
|
- List<ContractInfo> contractList = contractInfoService.getByContractNameList(contractNameList, userDTO.getId());
|
|
|
- contractInfoList.addAll(contractList);
|
|
|
- }
|
|
|
- } else {
|
|
|
- List<ContractInfo> contractList = contractInfoService.getByContractNameList(contractNameList, userDTO.getId());
|
|
|
+ if (contractNameList != null && !contractNameList.isEmpty()) {
|
|
|
+ int pointsDataLimit = 10; // 限制每批查询条数
|
|
|
+ int size = contractNameList.size();
|
|
|
+ int part = (size + pointsDataLimit - 1) / pointsDataLimit; // 计算需要分多少批
|
|
|
+
|
|
|
+ for (int i = 0; i < part; i++) {
|
|
|
+ int fromIndex = i * pointsDataLimit;
|
|
|
+ int toIndex = Math.min(fromIndex + pointsDataLimit, size);
|
|
|
+ List<String> subContractNameList = contractNameList.subList(fromIndex, toIndex);
|
|
|
+
|
|
|
+ // 查询
|
|
|
+ List<ContractInfo> contractList = contractInfoService.getByContractNameList(subContractNameList, userDTO.getId());
|
|
|
contractInfoList.addAll(contractList);
|
|
|
}
|
|
|
} else {
|
|
@@ -1236,7 +1222,15 @@ public class CwProjectRecordsService extends ServiceImpl<CwProjectRecordsMapper,
|
|
|
if (contractInfoList.size() != contractNameList.size()) {
|
|
|
return "导入数据中的合同名称存在未录入系统或填写错误的情况,请修正后重新导入";
|
|
|
}
|
|
|
-
|
|
|
+ List<CwProjectRecordsDTO> cwProjectRecordsDTOS = new ArrayList<>();
|
|
|
+ //根据合同信息查询对应的客户联系人数据
|
|
|
+ for(ContractInfo contractInfo :contractInfoList){
|
|
|
+ CwProjectRecordsDTO cwProjectRecordsDTO = new CwProjectRecordsDTO();
|
|
|
+ List<CwProjectClientContactDTO> contractClientListByName = cwWorkClientBaseMapper.getContractClientListByName(contractInfo.getContractName());
|
|
|
+ cwProjectRecordsDTO.setContractName(contractInfo.getContractName());
|
|
|
+ cwProjectRecordsDTO.setCwProjectClientContactDTOList(contractClientListByName);
|
|
|
+ cwProjectRecordsDTOS.add(cwProjectRecordsDTO);
|
|
|
+ }
|
|
|
|
|
|
//根据项目名称进行去重,若去重后的数量小于原数据量,则表示项目名称有重复,则不进行导入
|
|
|
LinkedHashSet projectNameSet = new LinkedHashSet();
|
|
@@ -1248,33 +1242,24 @@ public class CwProjectRecordsService extends ServiceImpl<CwProjectRecordsMapper,
|
|
|
List<CwProjectRecordsDTO> projectInfoList = Lists.newArrayList();
|
|
|
//根据contractList进行查询合同信息
|
|
|
//分批处理
|
|
|
- if (null != projectNameList && projectNameList.size() > 0) {
|
|
|
- int pointsDataLimit = 10;//限制条数
|
|
|
- Integer size = list.size();
|
|
|
- //判断是否有必要分批
|
|
|
- if (pointsDataLimit < size) {
|
|
|
- int part = size / pointsDataLimit;//分批数
|
|
|
- //
|
|
|
- for (int i = 0; i < part; i++) {
|
|
|
- //10条
|
|
|
- List<String> subProjectNameList = projectNameList.subList(0, pointsDataLimit);
|
|
|
- //查询的合同信息仅自己创建的合同信息
|
|
|
- List<CwProjectRecordsDTO> contractList = cwProjectRecordsMapper.getByProjectNameList(subProjectNameList, userDTO.getId());
|
|
|
- projectInfoList.addAll(contractList);
|
|
|
- //剔除
|
|
|
- list.subList(0, pointsDataLimit).clear();
|
|
|
- }
|
|
|
- if (!list.isEmpty()) {
|
|
|
- List<CwProjectRecordsDTO> contractList = cwProjectRecordsMapper.getByProjectNameList(projectNameList, userDTO.getId());
|
|
|
- projectInfoList.addAll(contractList);
|
|
|
- }
|
|
|
- } else {
|
|
|
- List<CwProjectRecordsDTO> contractList = cwProjectRecordsMapper.getByProjectNameList(projectNameList, userDTO.getId());
|
|
|
+ if (projectNameList != null && !projectNameList.isEmpty()) {
|
|
|
+ int pointsDataLimit = 10; // 每批查询的数量
|
|
|
+ int size = projectNameList.size();
|
|
|
+ int part = (size + pointsDataLimit - 1) / pointsDataLimit; // 计算需要分多少批
|
|
|
+
|
|
|
+ for (int i = 0; i < part; i++) {
|
|
|
+ int fromIndex = i * pointsDataLimit;
|
|
|
+ int toIndex = Math.min(fromIndex + pointsDataLimit, size);
|
|
|
+ List<String> subProjectNameList = projectNameList.subList(fromIndex, toIndex);
|
|
|
+
|
|
|
+ // 查询数据
|
|
|
+ List<CwProjectRecordsDTO> contractList = cwProjectRecordsMapper.getByProjectNameList(subProjectNameList, userDTO.getId());
|
|
|
projectInfoList.addAll(contractList);
|
|
|
}
|
|
|
- } else {
|
|
|
+ }else {
|
|
|
return "导入数据中的项目名称不存在,请修正后重新导入";
|
|
|
}
|
|
|
+
|
|
|
//对比查询出来的合同信息,如果查询出来的合同信息比去重后的合同信息少,则表示合同信息存在没有录入系统的情况,则直接抛出
|
|
|
if (projectInfoList.size() > 0) {
|
|
|
List<String> repeatedProjectNameList = Lists.newArrayList();
|
|
@@ -1295,6 +1280,7 @@ public class CwProjectRecordsService extends ServiceImpl<CwProjectRecordsMapper,
|
|
|
JSONObject reportTypeDatas = JSONUtil.parseObj(SpringUtil.getBean(IDictApi.class).getDictValueListMapByDict("cw_work_client_report_type"));
|
|
|
|
|
|
for (CwProjectRecordsImportDTO cwProjectRecordsImportDTO : list) {
|
|
|
+
|
|
|
CwProjectRecordsDTO cwProjectRecordsDTO = new CwProjectRecordsDTO();
|
|
|
//对比风险等级的key
|
|
|
String riskLevel = riskLevelDatas.getStr(cwProjectRecordsImportDTO.getRiskLevel());
|
|
@@ -1307,7 +1293,6 @@ public class CwProjectRecordsService extends ServiceImpl<CwProjectRecordsMapper,
|
|
|
cwProjectRecordsDTO.setProjectLeaderId(userDTO.getId());
|
|
|
} else {
|
|
|
String userId = SpringUtil.getBean(IUserApi.class).getUserIdByName(cwProjectRecordsImportDTO.getProjectLeaderId());
|
|
|
- //如果未查询到就抛出
|
|
|
if (StringUtils.isNotBlank(userId)) {
|
|
|
cwProjectRecordsDTO.setProjectLeaderId(userId);
|
|
|
} else {
|
|
@@ -1317,16 +1302,26 @@ public class CwProjectRecordsService extends ServiceImpl<CwProjectRecordsMapper,
|
|
|
//项目经理1 和项目经理2 至少填写一个,且必须有效,否则不进行导入
|
|
|
String projectManagerOne = cwProjectRecordsImportDTO.getProjectMasterId();
|
|
|
String projectManagerTwo = cwProjectRecordsImportDTO.getRealHeader();
|
|
|
- if (StringUtils.isAllBlank(projectManagerOne, projectManagerTwo)) {
|
|
|
- return "导入数据中的项目经理1和项目经理2,至少填写一个,请修正后重新导入";
|
|
|
- }
|
|
|
- IUserApi userApi = SpringUtil.getBean(IUserApi.class);
|
|
|
+
|
|
|
+ IAssessApi iAssessApi = SpringUtil.getBean(IAssessApi.class);
|
|
|
// 查询用户 ID
|
|
|
if (StringUtils.isNotBlank(projectManagerOne)) {
|
|
|
- projectManagerOne = userApi.getUserIdByName(projectManagerOne);
|
|
|
+ String userId = iAssessApi.getUserBySignatureScribe(projectManagerOne, userDTO.getId());
|
|
|
+ if(StringUtils.isBlank(userId)){
|
|
|
+ return "确保导入数据中的项目经理1和项目经理2填写正确,请修正后重新导入";
|
|
|
+ }
|
|
|
+ projectManagerOne = userId;
|
|
|
}
|
|
|
if (StringUtils.isNotBlank(projectManagerTwo)) {
|
|
|
- projectManagerTwo = userApi.getUserIdByName(projectManagerTwo);
|
|
|
+ String userId = iAssessApi.getUserBySignatureScribe(projectManagerTwo, userDTO.getId());
|
|
|
+ if(StringUtils.isBlank(userId)){
|
|
|
+ return "确保导入数据中的项目经理1和项目经理2填写正确,请修正后重新导入";
|
|
|
+ }
|
|
|
+ projectManagerTwo = userId;
|
|
|
+
|
|
|
+ }
|
|
|
+ if (StringUtils.isAllBlank(projectManagerOne, projectManagerTwo)) {
|
|
|
+ return "导入数据中的项目经理1和项目经理2,至少填写一个,请修正后重新导入";
|
|
|
}
|
|
|
//根据客户联系人-姓名和部门、手机号和合同信息进行查询并嵌入
|
|
|
//设置基本信息
|
|
@@ -1345,31 +1340,114 @@ public class CwProjectRecordsService extends ServiceImpl<CwProjectRecordsMapper,
|
|
|
if(foundContract == null){
|
|
|
return "导入数据中的对应的合同未找到,请修正后重新导入";
|
|
|
}
|
|
|
+ //设置合同id和合同份数
|
|
|
cwProjectRecordsDTO.setContractId(foundContract.getId());
|
|
|
cwProjectRecordsDTO.setContractNum(foundContract.getContractNum());
|
|
|
//查询被服务单位信息
|
|
|
List<CwWorkClientBaseDTO> contractClient = cwWorkClientBaseMapper.getContractClient(cwProjectRecordsImportDTO.getContractName());
|
|
|
cwProjectRecordsDTO.setCwProjectClientInfoDTOList(contractClient);
|
|
|
- //添加联系人数据
|
|
|
+ //根据合同名称找到之前查询的客户联系人
|
|
|
+ Optional<CwProjectRecordsDTO> contractResult = cwProjectRecordsDTOS.stream()
|
|
|
+ .filter(dto -> cwProjectRecordsImportDTO.getContractName().equals(dto.getContractName()))
|
|
|
+ .findFirst();
|
|
|
List<CwProjectClientContactDTO> cwProjectClientContactList = new ArrayList<>();
|
|
|
CwProjectClientContactDTO cwProjectClientContactDTO = new CwProjectClientContactDTO();
|
|
|
- cwProjectClientContactDTO.setName(cwProjectRecordsImportDTO.getCwProjectClientName());
|
|
|
- cwProjectClientContactDTO.setContactFirst(cwProjectRecordsImportDTO.getCwProjectClientPhone());
|
|
|
- cwProjectClientContactDTO.setOfficeId(cwProjectRecordsImportDTO.getCwProjectClientOffice());
|
|
|
+ if (!contractResult.isPresent()) {
|
|
|
+ return "导入数据中的合同对应被服务单位未找到,请修正后重新导入";
|
|
|
+ }else{
|
|
|
+ CwProjectRecordsDTO cwCurrentContract = contractResult.get();
|
|
|
+ //通过excel中的姓名,职位,手机号找到对应的联系人
|
|
|
+ List<CwProjectClientContactDTO> cwProjectClientContactDTOList = cwCurrentContract.getCwProjectClientContactDTOList();
|
|
|
+ Optional<CwProjectClientContactDTO> result = cwProjectClientContactDTOList.stream()
|
|
|
+ .filter(dto -> cwProjectRecordsImportDTO.getCwProjectClientName().equals(dto.getName()) &&
|
|
|
+ cwProjectRecordsImportDTO.getCwProjectClientPhone().equals(dto.getContactFirst()) &&
|
|
|
+ cwProjectRecordsImportDTO.getCwProjectClientOffice().equals(dto.getOfficeId()))
|
|
|
+ .findFirst();
|
|
|
+ if (result.isPresent()) {
|
|
|
+ CwProjectClientContactDTO foundContactDTO = result.get();
|
|
|
+ //添加已存在的联系人数据
|
|
|
+ //通过id获取到对应联系人的详细数据,并添加到新对象中,在saveForm方法里会对联系人进行校验
|
|
|
+ CwWorkClientContact contractInfo = cwWorkClientContactMapper.getInfoById(foundContactDTO.getId());
|
|
|
+ cwProjectClientContactDTO.setName(contractInfo.getName());
|
|
|
+ cwProjectClientContactDTO.setContactFirst(contractInfo.getContactFirst());
|
|
|
+ cwProjectClientContactDTO.setOfficeId(contractInfo.getOfficeId());
|
|
|
+ cwProjectClientContactDTO.setClientId(contractInfo.getClientId());
|
|
|
+ cwProjectClientContactDTO.setFax(contractInfo.getFax());
|
|
|
+ cwProjectClientContactDTO.setSex(contractInfo.getSex());
|
|
|
+ cwProjectClientContactDTO.setPosition(contractInfo.getPosition());
|
|
|
+ cwProjectClientContactDTO.setEmail(contractInfo.getEmail());
|
|
|
+ cwProjectClientContactDTO.setRemarks(contractInfo.getRemarks());
|
|
|
+ cwProjectClientContactDTO.setContactSecond(contractInfo.getContactSecond());
|
|
|
+ } else {
|
|
|
+ //如果联系人不存在,直接新增联系人数据
|
|
|
+ cwProjectClientContactDTO.setName(cwProjectRecordsImportDTO.getCwProjectClientName());
|
|
|
+ cwProjectClientContactDTO.setContactFirst(cwProjectRecordsImportDTO.getCwProjectClientPhone());
|
|
|
+ cwProjectClientContactDTO.setOfficeId(cwProjectRecordsImportDTO.getCwProjectClientOffice());
|
|
|
+ }
|
|
|
+ }
|
|
|
cwProjectClientContactList.add(cwProjectClientContactDTO);
|
|
|
cwProjectRecordsDTO.setCwProjectClientContactDTOList(cwProjectClientContactList);
|
|
|
//基本数据
|
|
|
cwProjectRecordsDTO.setPlanStartDate(cwProjectRecordsImportDTO.getPlanStartDate());
|
|
|
cwProjectRecordsDTO.setPlanEndDate(cwProjectRecordsImportDTO.getPlanEndDate());
|
|
|
cwProjectRecordsDTO.setPayerSubject(foundContract.getPayerSubject());
|
|
|
- cwProjectRecordsDTO.setProjectMoney(cwProjectRecordsImportDTO.getProjectMoney());
|
|
|
+ //处理项目规模,保留两位小数
|
|
|
+ String projectMoneyStr = cwProjectRecordsImportDTO.getProjectMoney();
|
|
|
+ if (StringUtils.isNotBlank(projectMoneyStr)) {
|
|
|
+ BigDecimal projectMoney = new BigDecimal(projectMoneyStr).setScale(2, RoundingMode.HALF_UP);
|
|
|
+ String formattedMoney = projectMoney.toPlainString();
|
|
|
+ cwProjectRecordsDTO.setProjectMoney(formattedMoney);
|
|
|
+ }
|
|
|
cwProjectRecordsDTO.setProjectName(cwProjectRecordsImportDTO.getProjectName());
|
|
|
//保存
|
|
|
saveForm(cwProjectRecordsDTO);
|
|
|
}
|
|
|
}catch (Exception e){
|
|
|
- return "数据异常,请联系管理员排查";
|
|
|
+ return "数据异常,请联系管理员";
|
|
|
}
|
|
|
return "";
|
|
|
}
|
|
|
+
|
|
|
+ public String projectValidation(CwProjectRecordsImportDTO cwProjectRecordsImportDTO) {
|
|
|
+ StringBuilder errorMsg = new StringBuilder();
|
|
|
+
|
|
|
+ if (StringUtils.isBlank(cwProjectRecordsImportDTO.getContractName())) {
|
|
|
+ errorMsg.append("合同名称不能为空");
|
|
|
+ }
|
|
|
+ if (StringUtils.isBlank(cwProjectRecordsImportDTO.getProjectName())) {
|
|
|
+ errorMsg.append("项目名称不能为空");
|
|
|
+ }
|
|
|
+ if (StringUtils.isBlank(cwProjectRecordsImportDTO.getRiskLevel())) {
|
|
|
+ errorMsg.append("风险等级不能为空");
|
|
|
+ }
|
|
|
+ if (StringUtils.isBlank(cwProjectRecordsImportDTO.getProjectMoney())) {
|
|
|
+ errorMsg.append("项目规模不能为空");
|
|
|
+ }
|
|
|
+ if (StringUtils.isBlank(cwProjectRecordsImportDTO.getIsHaveReport())) {
|
|
|
+ errorMsg.append("有无报告不能为空");
|
|
|
+ }
|
|
|
+ if (StringUtils.isBlank(cwProjectRecordsImportDTO.getReportType())) {
|
|
|
+ errorMsg.append("报备类型不能为空");
|
|
|
+ }
|
|
|
+ if (StringUtils.isBlank(cwProjectRecordsImportDTO.getAuditYear())) {
|
|
|
+ errorMsg.append("审计期间不能为空");
|
|
|
+ }
|
|
|
+ if (cwProjectRecordsImportDTO.getPlanStartDate() == null) {
|
|
|
+ errorMsg.append("项目预计开始时间不能为空");
|
|
|
+ }
|
|
|
+ if (cwProjectRecordsImportDTO.getPlanEndDate() == null) {
|
|
|
+ errorMsg.append("项目预计结束时间不能为空");
|
|
|
+ }
|
|
|
+ if (StringUtils.isBlank(cwProjectRecordsImportDTO.getCwProjectClientName())) {
|
|
|
+ errorMsg.append("客户联系人姓名不能为空");
|
|
|
+ }
|
|
|
+ if (StringUtils.isBlank(cwProjectRecordsImportDTO.getCwProjectClientOffice())) {
|
|
|
+ errorMsg.append("客户联系人部门不能为空");
|
|
|
+ }
|
|
|
+ if (StringUtils.isBlank(cwProjectRecordsImportDTO.getCwProjectClientPhone())) {
|
|
|
+ errorMsg.append("客户联系人电话不能为空");
|
|
|
+ }
|
|
|
+ return errorMsg.length() > 0 ? errorMsg.toString() : "";
|
|
|
+ }
|
|
|
+
|
|
|
}
|