diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/company/controller/PayCompanyManagementController.java b/jero-boot-incoming-payment/src/main/java/com/jero/company/controller/PayCompanyManagementController.java index b48500a8..2da83425 100644 --- a/jero-boot-incoming-payment/src/main/java/com/jero/company/controller/PayCompanyManagementController.java +++ b/jero-boot-incoming-payment/src/main/java/com/jero/company/controller/PayCompanyManagementController.java @@ -32,7 +32,6 @@ import org.jeecgframework.poi.excel.entity.ImportParams; import org.jeecgframework.poi.excel.view.JeecgEntityExcelView; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.core.env.Environment; -import org.springframework.transaction.annotation.Transactional; import org.springframework.web.bind.annotation.*; import org.springframework.web.multipart.MultipartFile; import org.springframework.web.multipart.MultipartHttpServletRequest; @@ -59,9 +58,9 @@ public class PayCompanyManagementController extends JeroController delete(@RequestParam(name="id",required=true) String id) { + public Result delete(@RequestParam(name="id") String id) { if(StringUtils.isBlank(id)){ return Result.error("id不能为空!"); } @@ -196,12 +195,12 @@ public class PayCompanyManagementController extends JeroController deleteBatch(@RequestParam(name="ids",required=true) String ids) { + public Result deleteBatch(@RequestParam(name="ids") String ids) { if(StringUtils.isBlank(ids)){ return Result.error("id不能为空!"); } @@ -223,7 +222,7 @@ public class PayCompanyManagementController extends JeroController queryByCompanyName(@RequestParam(name="companyName",required=true) String companyName) { + public Result queryByCompanyName(@RequestParam(name="companyName") String companyName) { if(StringUtils.isBlank(companyName)){ return Result.error("企业名称不能为空!"); }else{ @@ -249,12 +248,12 @@ public class PayCompanyManagementController extends JeroController queryById(@RequestParam(name="id",required=true) String id) { + public Result queryById(@RequestParam(name="id") String id) { PayCompanyManagement payCompanyManagement = payCompanyManagementService.getById(id); if(payCompanyManagement==null) { return Result.error("未找到对应数据"); @@ -266,7 +265,7 @@ public class PayCompanyManagementController extends JeroController pageList = payCompanyManagementService.list(queryWrapper); - List exportList = null; + List exportList; // 过滤选中数据 String selections = request.getParameter("selections"); @@ -322,12 +321,11 @@ public class PayCompanyManagementController extends JeroController importExcel(HttpServletRequest request, HttpServletResponse response) { + public Result importExcel(HttpServletRequest request) { MultipartHttpServletRequest multipartRequest = (MultipartHttpServletRequest) request; Map fileMap = multipartRequest.getFileMap(); for (Map.Entry entity : fileMap.entrySet()) { diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/company/controller/PayContactsManagementController.java b/jero-boot-incoming-payment/src/main/java/com/jero/company/controller/PayContactsManagementController.java index ef57687f..9ad2b9b0 100644 --- a/jero-boot-incoming-payment/src/main/java/com/jero/company/controller/PayContactsManagementController.java +++ b/jero-boot-incoming-payment/src/main/java/com/jero/company/controller/PayContactsManagementController.java @@ -30,7 +30,6 @@ import lombok.extern.slf4j.Slf4j; import org.apache.commons.collections.CollectionUtils; import org.apache.commons.lang3.StringUtils; import org.apache.shiro.SecurityUtils; -import org.apache.shiro.authz.annotation.RequiresPermissions; import org.jeecgframework.poi.excel.ExcelImportCheckUtil; import org.jeecgframework.poi.excel.ExcelImportUtil; import org.jeecgframework.poi.excel.def.NormalExcelConstants; @@ -69,18 +68,16 @@ public class PayContactsManagementController extends JeroController queryPageList(PayContactsManagement payContactsManagement, @RequestParam(name="pageNo", defaultValue="1") Integer pageNo, - @RequestParam(name="pageSize", defaultValue="10") Integer pageSize, - HttpServletRequest req) { + @RequestParam(name="pageSize", defaultValue="10") Integer pageSize) { if(!StringUtils.isBlank(payContactsManagement.getName()) && payContactsManagement.getName().length() > 20){ return Result.error("姓名长度不能大于20个字符!"); } @@ -90,7 +87,7 @@ public class PayContactsManagementController extends JeroController 11){ return Result.error("手机号长度不能大于11个字符!"); } - Page page = new Page(pageNo, pageSize); + Page page = new Page<>(pageNo, pageSize); IPage pageList = payContactsManagementService.queryPageList(page, payContactsManagement); List listPayContactsManagement = pageList.getRecords(); if(!CollectionUtils.isEmpty(listPayContactsManagement)){ @@ -114,7 +111,7 @@ public class PayContactsManagementController extends JeroController queryWrapper = new LambdaQueryWrapper<>(); - queryWrapper.eq(PayContactsManagement::getPhone,payContactsManagement.getPhone()); + queryWrapper.eq(PayContactsManagement::getPhone,phone); payContactsManagementNew = payContactsManagementService.getOne(queryWrapper); + // 手机号存在,并且编辑id与查询不同,则校验不通过 + if(!Objects.isNull(payContactsManagementNew)) { + return Result.error("手机号已存在!"); + } }catch (Exception e){ log.info("联系人管理-添加异常",e); return Result.error("手机号已存在!"); } // 存在数据 - if(!Objects.isNull(payContactsManagementNew)){ - // 如果是管理新增 && 已存在数据来源是报名,更新数据,变更来源为管理端 - if(Objects.equals(payContactsManagement.getDataSource(), PayContactsManagementCommon.DATA_SOURCE1) - && Objects.equals(payContactsManagementNew.getDataSource(),PayContactsManagementCommon.DATA_SOURCE2)){ - payContactsManagement.setId(payContactsManagementNew.getId()); - payContactsManagement.setDataSource(PayCompanyManagementCommon.DATA_SOURCE1); - payContactsManagement.setSigningUp(payContactsManagementNew.getSigningUp()); - payContactsManagementService.updateById(payContactsManagement); - return Result.OK("添加成功!"); - } - return Result.error("手机号已存在!"); - } try { if (!StringUtils.isBlank(payContactsManagement.getPhone())){ payContactsManagement.setPhone(PasswordUtil.encrypt(payContactsManagement.getPhone())); @@ -185,9 +175,10 @@ public class PayContactsManagementController extends JeroController queryWrapper = new LambdaQueryWrapper<>(); - queryWrapper.eq(PayContactsManagement::getPhone,payContactsManagement.getPhone()); + queryWrapper.eq(PayContactsManagement::getPhone,phone); PayContactsManagement payContactsManagementNew = payContactsManagementService.getOne(queryWrapper); // 手机号存在,并且编辑id与查询不同,则校验不通过 if(!Objects.isNull(payContactsManagementNew) && !Objects.equals(payContactsManagementNew.getId(),payContactsManagement.getId())) { @@ -219,7 +210,7 @@ public class PayContactsManagementController extends JeroController delete(@RequestParam(name="id",required=true) String id) { + public Result delete(@RequestParam(name="id") String id) { if(StringUtils.isBlank(id)){ return Result.error("id不能为空!"); } @@ -235,7 +226,7 @@ public class PayContactsManagementController extends JeroController deleteBatch(@RequestParam(name="ids",required=true) String ids) { + public Result deleteBatch(@RequestParam(name="ids") String ids) { if(StringUtils.isBlank(ids)){ return Result.error("id不能为空!"); } @@ -257,7 +248,7 @@ public class PayContactsManagementController extends JeroController queryByCompanyName(@RequestParam(name="phone",required=true) String phone) { + public Result queryByCompanyName(@RequestParam(name="phone") String phone) { if(StringUtils.isBlank(phone)){ return Result.error("手机号不能为空!"); }else{ @@ -268,8 +259,9 @@ public class PayContactsManagementController extends JeroController queryWrapper = new LambdaQueryWrapper<>(); - queryWrapper.eq(PayContactsManagement::getPhone,phone); + queryWrapper.eq(PayContactsManagement::getPhone,phoneNew); queryWrapper.eq(PayContactsManagement::getDataSource,PayContactsManagementCommon.DATA_SOURCE1); PayContactsManagement payContactsManagement = payContactsManagementService.getOne(queryWrapper); if(Objects.isNull(payContactsManagement)) { @@ -290,9 +282,9 @@ public class PayContactsManagementController extends JeroController queryById(@RequestParam(name="id",required=true) String id) { + public Result queryById(@RequestParam(name="id") String id) { PayContactsManagement payContactsManagement = payContactsManagementService.getById(id); - if(payContactsManagement==null) { + if(payContactsManagement == null) { return Result.error("未找到对应数据"); } return Result.OK(payContactsManagement); @@ -306,7 +298,7 @@ public class PayContactsManagementController extends JeroController queryByCompany(@RequestParam(name="companyId",required=true) String companyId) { + public Result queryByCompany(@RequestParam(name="companyId") String companyId) { LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); queryWrapper.eq(PayContactsManagement::getCompanyId,companyId); List list = payContactsManagementService.list(queryWrapper); @@ -317,14 +309,13 @@ public class PayContactsManagementController extends JeroController queryWrapper = QueryGenerator.initQueryWrapper(payContactsManagement, request.getParameterMap()); - LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal(); // Step.2 获取导出数据 List pageList = payContactsManagementService.list(queryWrapper); diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/company/entity/PayContactsManagement.java b/jero-boot-incoming-payment/src/main/java/com/jero/company/entity/PayContactsManagement.java index 66e60e82..6dd75082 100644 --- a/jero-boot-incoming-payment/src/main/java/com/jero/company/entity/PayContactsManagement.java +++ b/jero-boot-incoming-payment/src/main/java/com/jero/company/entity/PayContactsManagement.java @@ -53,8 +53,6 @@ public class PayContactsManagement implements Serializable { /**性别(1:男,2:女)*/ @Excel(name = "性别", width = 15,dicCode="sex") @ApiModelProperty(value = "性别") - @Max(2) - @Min(1) @Dict(dicCode = "sex") private Integer gender; /**职务*/ diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/contract/controller/PayIncomeContractController.java b/jero-boot-incoming-payment/src/main/java/com/jero/contract/controller/PayIncomeContractController.java index 081e8738..6fd9268a 100644 --- a/jero-boot-incoming-payment/src/main/java/com/jero/contract/controller/PayIncomeContractController.java +++ b/jero-boot-incoming-payment/src/main/java/com/jero/contract/controller/PayIncomeContractController.java @@ -1,28 +1,17 @@ package com.jero.contract.controller; -import java.util.ArrayList; import java.util.Arrays; -import java.util.List; -import java.util.Objects; -import java.util.stream.Collectors; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; - -import com.alibaba.fastjson.JSONArray; -import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.jero.common.api.vo.Result; import com.jero.common.aspect.annotation.AutoLog; import com.jero.common.system.base.controller.JeroController; -import com.jero.common.util.ValidUtil; import com.jero.contract.entity.PayIncomeContract; -import com.jero.contract.entity.PayIncomeContractInstallment; -import com.jero.contract.service.IPayIncomeContractInstallmentService; import com.jero.contract.service.IPayIncomeContractService; import com.jero.contract.vo.PayIncomeContractInput; import lombok.extern.slf4j.Slf4j; -import org.apache.commons.collections.CollectionUtils; import org.apache.commons.lang3.StringUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; @@ -43,8 +32,6 @@ import io.swagger.annotations.ApiOperation; public class PayIncomeContractController extends JeroController { @Autowired private IPayIncomeContractService payIncomeContractService; - @Autowired - private IPayIncomeContractInstallmentService payIncomeContractInstallmentService; /** * 分页列表查询 @@ -79,37 +66,7 @@ public class PayIncomeContractController extends JeroController add(@RequestBody PayIncomeContractInput input) { - if(Objects.isNull(input)){ - return Result.error("收入合同信息不能为空!"); - } - if(StringUtils.isBlank(input.getContract())){ - return Result.error("收入合同信息不能为空!"); - } - PayIncomeContract payIncomeContract = JSONObject.parseObject(input.getContract(),PayIncomeContract.class); - if(Objects.isNull(payIncomeContract)){ - return Result.error("收入合同信息不能为空!"); - } - StringBuilder msgPayIncomeContract = ValidUtil.validateAll(payIncomeContract); - if(!StringUtils.isBlank(msgPayIncomeContract)){ - return Result.error(msgPayIncomeContract.toString()); - } - List listPayIncomeContractInstallment = new ArrayList<>(); - if(!StringUtils.isBlank(input.getInstallment())){ - listPayIncomeContractInstallment = JSONArray.parseArray(input.getInstallment(),PayIncomeContractInstallment.class); - } - payIncomeContractService.save(payIncomeContract); - StringBuilder msgPayIncomeContractInstallment = new StringBuilder(); - if(!CollectionUtils.isEmpty(listPayIncomeContractInstallment)){ - List finalListPayIncomeContractInstallment = listPayIncomeContractInstallment; - listPayIncomeContractInstallment.forEach(p->{ - p.setContractId(payIncomeContract.getId()); - msgPayIncomeContractInstallment.append("第").append(finalListPayIncomeContractInstallment.indexOf(p)).append("阶段:").append(ValidUtil.validateAll(p)); - }); - payIncomeContractInstallmentService.saveBatch(listPayIncomeContractInstallment); - } - if(!StringUtils.isBlank(msgPayIncomeContractInstallment)){ - return Result.error(msgPayIncomeContractInstallment.toString()); - } + payIncomeContractService.addPayIncomeContractInput(input); return Result.OK("添加成功!"); } @@ -122,39 +79,7 @@ public class PayIncomeContractController extends JeroController edit(@RequestBody PayIncomeContractInput input) { - if(Objects.isNull(input)){ - return Result.error("收入合同信息不能为空!"); - } - if(StringUtils.isBlank(input.getContract())){ - return Result.error("收入合同信息不能为空!"); - } - PayIncomeContract payIncomeContract = JSONObject.parseObject(input.getContract(),PayIncomeContract.class); - if(Objects.isNull(payIncomeContract)){ - return Result.error("收入合同信息不能为空!"); - } - StringBuilder msgPayIncomeContract = ValidUtil.validateAll(payIncomeContract); - if(!StringUtils.isBlank(msgPayIncomeContract)){ - return Result.error(msgPayIncomeContract.toString()); - } - List listPayIncomeContractInstallment = new ArrayList<>(); - if(!StringUtils.isBlank(input.getInstallment())){ - listPayIncomeContractInstallment = JSONArray.parseArray(input.getInstallment(),PayIncomeContractInstallment.class); - } - StringBuilder msgPayIncomeContractInstallment = new StringBuilder(); - if(!CollectionUtils.isEmpty(listPayIncomeContractInstallment)){ - List list = listPayIncomeContractInstallment.stream().map(PayIncomeContractInstallment::getId).collect(Collectors.toList()); - payIncomeContractInstallmentService.removeByIds(list); - List finalListPayIncomeContractInstallment = listPayIncomeContractInstallment; - listPayIncomeContractInstallment.forEach(p->{ - p.setContractId(payIncomeContract.getId()); - msgPayIncomeContractInstallment.append("第").append(finalListPayIncomeContractInstallment.indexOf(p)).append("阶段:").append(ValidUtil.validateAll(p)); - }); - payIncomeContractInstallmentService.saveBatch(listPayIncomeContractInstallment); - } - if(!StringUtils.isBlank(msgPayIncomeContractInstallment)){ - return Result.error(msgPayIncomeContractInstallment.toString()); - } - payIncomeContractService.updateById(payIncomeContract); + payIncomeContractService.editPayIncomeContractInput(input); return Result.OK("编辑成功!"); } @@ -166,11 +91,11 @@ public class PayIncomeContractController extends JeroController delete(@RequestParam(name="id",required=true) String id) { + public Result delete(@RequestParam(name="id") String id) { if(StringUtils.isBlank(id)){ return Result.error("id不能为空!"); } - payIncomeContractService.removeById(id); + payIncomeContractService.deletePayIncomeContractInputById(id); return Result.OK("删除成功!"); } @@ -182,7 +107,7 @@ public class PayIncomeContractController extends JeroController deleteBatch(@RequestParam(name="ids",required=true) String ids) { + public Result deleteBatch(@RequestParam(name="ids") String ids) { if(StringUtils.isBlank(ids)){ return Result.error("id不能为空!"); } @@ -192,7 +117,7 @@ public class PayIncomeContractController extends JeroController queryById(@RequestParam(name="id",required=true) String id) { + public Result queryById(@RequestParam(name="id") String id) { PayIncomeContract payIncomeContract = payIncomeContractService.getById(id); if(payIncomeContract==null) { return Result.error("未找到对应数据"); @@ -216,7 +141,7 @@ public class PayIncomeContractController extends JeroController { * @Exception */ IPage queryPageList(Page page,PayIncomeContract payIncomeContract,String chargeStatus,String startTime,String endTime); - + /** + * @Description 添加 + * @Author lqt + * @Date 2021/9/3 + * @Param + * @Return + * @Exception + */ + void addPayIncomeContractInput(PayIncomeContractInput input); + /** + * @Description 编辑 + * @Author lqt + * @Date 2021/9/3 + * @Param + * @Return + * @Exception + */ + void editPayIncomeContractInput(PayIncomeContractInput input); + /** + * @Description 删除 + * @Author lqt + * @Date 2021/9/3 + * @Param + * @Return + * @Exception + */ + void deletePayIncomeContractInputById(String id); + /** + * @Description 批量删除 + * @Author lqt + * @Date 2021/9/3 + * @Param + * @Return + * @Exception + */ + void deletePayIncomeContractInputByIds(List ids); } diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/contract/service/impl/PayIncomeContractServiceImpl.java b/jero-boot-incoming-payment/src/main/java/com/jero/contract/service/impl/PayIncomeContractServiceImpl.java index f0ea6df1..cae66de7 100644 --- a/jero-boot-incoming-payment/src/main/java/com/jero/contract/service/impl/PayIncomeContractServiceImpl.java +++ b/jero-boot-incoming-payment/src/main/java/com/jero/contract/service/impl/PayIncomeContractServiceImpl.java @@ -1,14 +1,35 @@ package com.jero.contract.service.impl; +import com.alibaba.fastjson.JSONArray; +import com.alibaba.fastjson.JSONObject; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.jero.common.api.vo.Result; +import com.jero.common.exception.JeroBootException; +import com.jero.common.util.ValidUtil; import com.jero.contract.entity.PayIncomeContract; +import com.jero.contract.entity.PayIncomeContractAssociated; +import com.jero.contract.entity.PayIncomeContractAudit; +import com.jero.contract.entity.PayIncomeContractInstallment; import com.jero.contract.mapper.PayIncomeContractMapper; +import com.jero.contract.service.IPayIncomeContractAssociatedService; +import com.jero.contract.service.IPayIncomeContractAuditService; +import com.jero.contract.service.IPayIncomeContractInstallmentService; import com.jero.contract.service.IPayIncomeContractService; +import com.jero.contract.vo.PayIncomeContractInput; +import org.apache.commons.collections.CollectionUtils; +import org.apache.commons.lang3.StringUtils; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; import javax.annotation.Resource; +import java.util.ArrayList; +import java.util.List; +import java.util.Objects; +import java.util.stream.Collectors; /** * @Description: pay_income_contract @@ -21,9 +42,121 @@ public class PayIncomeContractServiceImpl extends ServiceImpl queryPageList(Page page, PayIncomeContract payIncomeContract, String chargeStatus,String startTime,String endTime) { return payIncomeContractMapper.queryPageList(page,payIncomeContract,chargeStatus,startTime,endTime); } + + @Override + @Transactional + public void addPayIncomeContractInput(PayIncomeContractInput input) { + if(Objects.isNull(input)){ + throw new JeroBootException("收入合同信息不能为空!"); + } + if(StringUtils.isBlank(input.getContract())){ + throw new JeroBootException("收入合同信息不能为空!"); + } + PayIncomeContract payIncomeContract = JSONObject.parseObject(input.getContract(),PayIncomeContract.class); + if(Objects.isNull(payIncomeContract)){ + throw new JeroBootException("收入合同信息不能为空!"); + } + StringBuilder msgPayIncomeContract = ValidUtil.validateAll(payIncomeContract); + if(!StringUtils.isBlank(msgPayIncomeContract)){ + throw new JeroBootException(msgPayIncomeContract.toString()); + } + List listPayIncomeContractInstallment = new ArrayList<>(); + if(!StringUtils.isBlank(input.getInstallment())){ + listPayIncomeContractInstallment = JSONArray.parseArray(input.getInstallment(),PayIncomeContractInstallment.class); + } + payIncomeContractService.save(payIncomeContract); + StringBuilder msgPayIncomeContractInstallment = new StringBuilder(); + if(!CollectionUtils.isEmpty(listPayIncomeContractInstallment)){ + List finalListPayIncomeContractInstallment = listPayIncomeContractInstallment; + listPayIncomeContractInstallment.forEach(p->{ + p.setContractId(payIncomeContract.getId()); + msgPayIncomeContractInstallment.append("第").append(finalListPayIncomeContractInstallment.indexOf(p)).append("阶段:").append(ValidUtil.validateAll(p)); + }); + payIncomeContractInstallmentService.saveBatch(listPayIncomeContractInstallment); + } + if(!StringUtils.isBlank(msgPayIncomeContractInstallment)){ + throw new JeroBootException(msgPayIncomeContractInstallment.toString()); + } + } + + @Override + @Transactional + public void editPayIncomeContractInput(PayIncomeContractInput input) { + if(Objects.isNull(input)){ + throw new JeroBootException("收入合同信息不能为空!"); + } + if(StringUtils.isBlank(input.getContract())){ + throw new JeroBootException("收入合同信息不能为空!"); + } + PayIncomeContract payIncomeContract = JSONObject.parseObject(input.getContract(),PayIncomeContract.class); + if(Objects.isNull(payIncomeContract)){ + throw new JeroBootException("收入合同信息不能为空!"); + } + StringBuilder msgPayIncomeContract = ValidUtil.validateAll(payIncomeContract); + if(!StringUtils.isBlank(msgPayIncomeContract)){ + throw new JeroBootException(msgPayIncomeContract.toString()); + } + List listPayIncomeContractInstallment = new ArrayList<>(); + if(!StringUtils.isBlank(input.getInstallment())){ + listPayIncomeContractInstallment = JSONArray.parseArray(input.getInstallment(),PayIncomeContractInstallment.class); + } + StringBuilder msgPayIncomeContractInstallment = new StringBuilder(); + if(!CollectionUtils.isEmpty(listPayIncomeContractInstallment)){ + List list = listPayIncomeContractInstallment.stream().map(PayIncomeContractInstallment::getId).collect(Collectors.toList()); + payIncomeContractInstallmentService.removeByIds(list); + List finalListPayIncomeContractInstallment = listPayIncomeContractInstallment; + listPayIncomeContractInstallment.forEach(p->{ + p.setContractId(payIncomeContract.getId()); + msgPayIncomeContractInstallment.append("第").append(finalListPayIncomeContractInstallment.indexOf(p)).append("阶段:").append(ValidUtil.validateAll(p)); + }); + payIncomeContractInstallmentService.saveBatch(listPayIncomeContractInstallment); + } + if(!StringUtils.isBlank(msgPayIncomeContractInstallment)){ + throw new JeroBootException(msgPayIncomeContractInstallment.toString()); + } + payIncomeContractService.updateById(payIncomeContract); + } + + @Override + @Transactional + public void deletePayIncomeContractInputById(String id) { + payIncomeContractService.removeById(id); + LambdaQueryWrapper queryPayIncomeContractInstallment = new LambdaQueryWrapper<>(); + queryPayIncomeContractInstallment.eq(PayIncomeContractInstallment::getContractId,id); + payIncomeContractInstallmentService.remove(queryPayIncomeContractInstallment); + LambdaQueryWrapper queryPayIncomeContractAssociated = new LambdaQueryWrapper<>(); + queryPayIncomeContractAssociated.eq(PayIncomeContractAssociated::getContractId,id); + payIncomeContractAssociatedService.remove(queryPayIncomeContractAssociated); + LambdaQueryWrapper queryPayIncomeContractAudit = new LambdaQueryWrapper<>(); + queryPayIncomeContractAudit.eq(PayIncomeContractAudit::getContractId,id); + payIncomeContractAuditService.remove(queryPayIncomeContractAudit); + } + + @Override + @Transactional + public void deletePayIncomeContractInputByIds(List ids) { + payIncomeContractService.removeByIds(ids); + LambdaQueryWrapper queryPayIncomeContractInstallment = new LambdaQueryWrapper<>(); + queryPayIncomeContractInstallment.in(PayIncomeContractInstallment::getContractId,ids); + payIncomeContractInstallmentService.remove(queryPayIncomeContractInstallment); + LambdaQueryWrapper queryPayIncomeContractAssociated = new LambdaQueryWrapper<>(); + queryPayIncomeContractAssociated.in(PayIncomeContractAssociated::getContractId,ids); + payIncomeContractAssociatedService.remove(queryPayIncomeContractAssociated); + LambdaQueryWrapper queryPayIncomeContractAudit = new LambdaQueryWrapper<>(); + queryPayIncomeContractAudit.in(PayIncomeContractAudit::getContractId,ids); + payIncomeContractAuditService.remove(queryPayIncomeContractAudit); + } } diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/project/controller/PayCommonProjectController.java b/jero-boot-incoming-payment/src/main/java/com/jero/project/controller/PayCommonProjectController.java index ec6fe323..7888772e 100644 --- a/jero-boot-incoming-payment/src/main/java/com/jero/project/controller/PayCommonProjectController.java +++ b/jero-boot-incoming-payment/src/main/java/com/jero/project/controller/PayCommonProjectController.java @@ -4,30 +4,19 @@ import java.util.Arrays; import java.util.Objects; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; - import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.jero.common.api.vo.Result; -import com.jero.common.exception.JeroBootException; import com.jero.common.service.ProjectDetailService; import com.jero.common.system.base.controller.JeroController; import com.jero.common.util.ValidUtil; -import com.jero.project.common.PayProjectCommon; import com.jero.project.service.IPayCommonProjectService; import com.jero.project.entity.PayCommonProject; - import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; -import com.jero.temporary.entity.PayCompanyManagementTemporary; -import com.jero.temporary.entity.PayContactsManagementTemporary; -import com.jero.temporary.service.IPayCompanyManagementTemporaryService; -import com.jero.temporary.service.IPayContactsManagementTemporaryService; -import com.jero.modules.system.entity.SysUser; -import com.jero.modules.system.service.ISysUserService; import lombok.extern.slf4j.Slf4j; import org.apache.commons.lang3.StringUtils; import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.transaction.annotation.Transactional; import org.springframework.web.bind.annotation.*; import org.springframework.web.servlet.ModelAndView; import io.swagger.annotations.Api; @@ -51,10 +40,10 @@ public class PayCommonProjectController extends JeroController queryPageList(PayCommonProject payCommonProject, @RequestParam(name="pageNo", defaultValue="1") Integer pageNo, @RequestParam(name="pageSize", defaultValue="10") Integer pageSize, - @RequestParam(name="paymentDate",required = false) String paymentDate, - HttpServletRequest req) { + @RequestParam(name="paymentDate",required = false) String paymentDate) { if(!StringUtils.isBlank(payCommonProject.getChargeProject()) && payCommonProject.getChargeProject().length() > 100){ return Result.error("来款项目长度不能大于100个字符"); } @@ -78,7 +66,7 @@ public class PayCommonProjectController extends JeroController edit(@RequestBody PayCommonProject payCommonProject) { StringBuilder msg = ValidUtil.validateAll(payCommonProject); if(!StringUtils.isBlank(msg)){ @@ -114,12 +101,12 @@ public class PayCommonProjectController extends JeroController delete(@RequestParam(name="id",required=true) String id) { + public Result delete(@RequestParam(name="id") String id) { if(StringUtils.isBlank(id)){ return Result.error("id不能为空!"); } @@ -130,12 +117,12 @@ public class PayCommonProjectController extends JeroController deleteBatch(@RequestParam(name="ids",required=true) String ids) { + public Result deleteBatch(@RequestParam(name="ids") String ids) { if(StringUtils.isBlank(ids)){ return Result.error("id不能为空!"); } @@ -152,12 +139,12 @@ public class PayCommonProjectController extends JeroController queryById(@RequestParam(name="id",required=true) String id) { + public Result queryById(@RequestParam(name="id") String id) { if(StringUtils.isBlank(id)){ return Result.error("id不能为空!"); } @@ -181,7 +168,7 @@ public class PayCommonProjectController extends JeroController queryByChargeProject(@RequestParam(name="chargeProject",required=true) String chargeProject) { + public Result queryByChargeProject(@RequestParam(name="chargeProject") String chargeProject) { if(StringUtils.isBlank(chargeProject)){ return Result.error("来款项目不能为空!"); }else{ @@ -207,7 +194,7 @@ public class PayCommonProjectController extends JeroController queryPageList(PayWorkingGroup payWorkingGroup, @RequestParam(name="pageNo", defaultValue="1") Integer pageNo, - @RequestParam(name="pageSize", defaultValue="10") Integer pageSize, - HttpServletRequest req) { + @RequestParam(name="pageSize", defaultValue="10") Integer pageSize) { if(!StringUtils.isBlank(payWorkingGroup.getWorkingGroupProject()) && payWorkingGroup.getWorkingGroupProject().length() > 50){ return Result.error("工作组项目长度不能大于50个字符"); } @@ -116,7 +113,7 @@ public class PayWorkingGroupController extends JeroController delete(@RequestParam(name="id",required=true) String id) { + public Result delete(@RequestParam(name="id") String id) { if(StringUtils.isBlank(id)){ return Result.error("id不能为空!"); } @@ -235,12 +231,12 @@ public class PayWorkingGroupController extends JeroController deleteBatch(@RequestParam(name="ids",required=true) String ids) { + public Result deleteBatch(@RequestParam(name="ids") String ids) { if(StringUtils.isBlank(ids)){ return Result.error("id不能为空!"); } @@ -257,12 +253,12 @@ public class PayWorkingGroupController extends JeroController queryById(@RequestParam(name="id",required=true) String id) { + public Result queryById(@RequestParam(name="id") String id) { PayWorkingGroup payWorkingGroup = payWorkingGroupService.getById(id); if(payWorkingGroup==null) { return Result.error("未找到对应数据"); @@ -274,7 +270,7 @@ public class PayWorkingGroupController extends JeroController queryPageList(PayWorkingGroupSubItem payWorkingGroupSubitem, + public Result queryPageList(PayWorkingGroupSubItem payWorkingGroupSubItem, @RequestParam(name="pageNo", defaultValue="1") Integer pageNo, @RequestParam(name="pageSize", defaultValue="10") Integer pageSize, - @RequestParam(name="paymentDate",required = false) String paymentDate, - HttpServletRequest req) { - if(!StringUtils.isBlank(payWorkingGroupSubitem.getChargeCompanyTemporaryName()) && payWorkingGroupSubitem.getChargeCompanyTemporaryName().length() > 50){ + @RequestParam(name="paymentDate",required = false) String paymentDate) { + if(!StringUtils.isBlank(payWorkingGroupSubItem.getChargeCompanyTemporaryName()) && payWorkingGroupSubItem.getChargeCompanyTemporaryName().length() > 50){ return Result.error("成员单位长度不能大于50个字符"); } - if(StringUtils.isBlank(payWorkingGroupSubitem.getWorkingGroupId())){ + if(StringUtils.isBlank(payWorkingGroupSubItem.getWorkingGroupId())){ return Result.error("工作组id不能为空!"); } Page page = new Page(pageNo, pageSize); - IPage pageList = payWorkingGroupSubItemService.queryPageList(page, payWorkingGroupSubitem,paymentDate); + IPage pageList = payWorkingGroupSubItemService.queryPageList(page, payWorkingGroupSubItem,paymentDate); return Result.OK(pageList); } /** * 添加 * - * @param payWorkingGroupSubItem + * @param payWorkingGroupSubItem 工作组成员 * @return */ @ApiOperation(value="工作组成员-添加", notes="工作组成员-添加") @PostMapping(value = "/add") - @Transactional public Result add(@RequestBody PayWorkingGroupSubItem payWorkingGroupSubItem) { StringBuilder msg = ValidUtil.validateAll(payWorkingGroupSubItem); if(!StringUtils.isBlank(msg)){ return Result.error(msg.toString()); } - if(payWorkingGroupSubItem.getChargeWay() == PayProjectCommon.CHARGE_WAY2){ - if(Objects.isNull(payWorkingGroupSubItem.getReceivableAmount())){ - return Result.error("应收金额不能为空"); - } - if(StringUtils.isBlank(payWorkingGroupSubItem.getContractNum())){ - return Result.error("合同号不能为空"); - } - } - if(payWorkingGroupSubItem.getChargeWay() == PayProjectCommon.CHARGE_WAY3){ - if(Objects.isNull(payWorkingGroupSubItem.getChargeNoticeNo())){ - return Result.error("收费通知号不能为空"); - } - if(Objects.isNull(payWorkingGroupSubItem.getReceivableAmount())){ - return Result.error("应收金额不能为空"); - } - } - - PayWorkingGroup payWorkingGroup = payWorkingGroupService.getById(payWorkingGroupSubItem.getWorkingGroupId()); - if(Objects.isNull(payWorkingGroup)){ - return Result.error("工作组不存在!"); - } - - try { - // 编辑保存前再次校验来款项目是否存在 - LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); - queryWrapper.eq(PayWorkingGroupSubItem::getWorkingGroupId,payWorkingGroupSubItem.getWorkingGroupId()); - queryWrapper.eq(PayWorkingGroupSubItem::getChargeCompanyId,payWorkingGroupSubItem.getChargeCompanyId()); - queryWrapper.eq(PayWorkingGroupSubItem::getContactsIdOne,payWorkingGroupSubItem.getContactsIdOne()); - PayWorkingGroupSubItem payWorkingGroupSubItemNew = payWorkingGroupSubItemService.getOne(queryWrapper); - // 企业和联系人同时存在,则校验不通过 - if(!Objects.isNull(payWorkingGroupSubItemNew)) { - return Result.error("工作组成员已存在!"); - } - }catch (Exception e){ - log.info("工作组成员-添加异常",e); - return Result.error("工作组成员已存在!"); - } - - payWorkingGroupSubItem = setPayWorkingGroupSubItem(payWorkingGroupSubItem); - payWorkingGroupSubItem.setPack(PayProjectCommon.PACKAGING0); - payWorkingGroupSubItem.setInAccount(PayProjectCommon.IN_ACCOUNT0); - payWorkingGroupSubItem.setMakeInvoice(PayProjectCommon.MAKE_INVOICE0); - payWorkingGroupSubItem.setMail(PayProjectCommon.MAIL0); - payWorkingGroupSubItemService.save(payWorkingGroupSubItem); + payWorkingGroupSubItemService.addPayWorkingGroupSubItem(payWorkingGroupSubItem); return Result.OK("添加成功!"); } /** * 编辑 * - * @param payWorkingGroupSubItem + * @param payWorkingGroupSubItem 工作组成员 * @return */ @ApiOperation(value="工作组成员-编辑", notes="工作组成员-编辑") @@ -168,108 +96,19 @@ public class PayWorkingGroupSubItemController extends JeroController queryWrapper = new LambdaQueryWrapper<>(); - queryWrapper.eq(PayWorkingGroupSubItem::getWorkingGroupId,payWorkingGroupSubItem.getWorkingGroupId()); - queryWrapper.eq(PayWorkingGroupSubItem::getChargeCompanyId,payWorkingGroupSubItem.getChargeCompanyId()); - queryWrapper.eq(PayWorkingGroupSubItem::getContactsIdOne,payWorkingGroupSubItem.getContactsIdOne()); - PayWorkingGroupSubItem payWorkingGroupSubItemNew = payWorkingGroupSubItemService.getOne(queryWrapper); - // 来款项目存在,并且编辑id与查询不同,则校验不通过 - if(!Objects.isNull(payWorkingGroupSubItemNew) - && !Objects.equals(payWorkingGroupSubItemNew.getId(),payWorkingGroupSubItem.getId())) { - return Result.error("工作组成员已存在!"); - } - }catch (Exception e){ - log.info("工作组成员-编辑异常",e); - return Result.error("工作组成员已存在!"); - } - - payWorkingGroupSubItem = setPayWorkingGroupSubItem(payWorkingGroupSubItem); - payWorkingGroupSubItemService.updateById(payWorkingGroupSubItem); + payWorkingGroupSubItemService.editPayWorkingGroupSubItem(payWorkingGroupSubItem); return Result.OK("编辑成功!"); } - - /** - * @Description 插入企业信息,联系人信息到临时表,更新项目记录 - * @Author lqt - * @Date 2021/8/31 - * @Param payCommonProject - * @Return - * @Exception - */ - private PayWorkingGroupSubItem setPayWorkingGroupSubItem(PayWorkingGroupSubItem payWorkingGroupSubItem){ - // 企业 - PayCompanyManagementTemporary chargeCompanyName = payCompanyManagementTemporaryService.insertCompanyManagementTemporary(payWorkingGroupSubItem.getChargeCompanyId()); - if(Objects.isNull(chargeCompanyName)){ - throw new JeroBootException("企业名称为空!"); - } - payWorkingGroupSubItem.setChargeCompanyTemporaryId(chargeCompanyName.getId()); - payWorkingGroupSubItem.setChargeCompanyTemporaryName(chargeCompanyName.getCompanyName()); - // 企业联系人一 - PayContactsManagementTemporary contactsNameOne = payContactsManagementTemporaryService.insertContactsManagementTemporary(payWorkingGroupSubItem.getContactsIdOne()); - if(Objects.isNull(contactsNameOne)){ - throw new JeroBootException("企业联系人一名称为空!"); - } - payWorkingGroupSubItem.setContactsTemporaryIdOne(contactsNameOne.getId()); - payWorkingGroupSubItem.setContactsTemporaryNameOne(contactsNameOne.getName()); - if(!StringUtils.isBlank(payWorkingGroupSubItem.getContactsIdTwo())){ - // 企业联系人二 - PayContactsManagementTemporary contactsNameTwo = payContactsManagementTemporaryService.insertContactsManagementTemporary(payWorkingGroupSubItem.getContactsIdTwo()); - if(Objects.isNull(contactsNameTwo)){ - throw new JeroBootException("企业联系人二名称为空!"); - } - payWorkingGroupSubItem.setContactsTemporaryIdTwo(contactsNameTwo.getId()); - payWorkingGroupSubItem.setContactsTemporaryNameTwo(contactsNameTwo.getName()); - } - if(!StringUtils.isBlank(payWorkingGroupSubItem.getContactsIdThree())){ - // 企业联系人三 - PayContactsManagementTemporary contactsNameThree = payContactsManagementTemporaryService.insertContactsManagementTemporary(payWorkingGroupSubItem.getContactsIdThree()); - if(Objects.isNull(contactsNameThree)){ - throw new JeroBootException("企业联系人三名称为空!"); - } - payWorkingGroupSubItem.setContactsTemporaryIdThree(contactsNameThree.getId()); - payWorkingGroupSubItem.setContactsTemporaryNameThree(contactsNameThree.getName()); - } - // 邮寄联系人 - PayContactsManagementTemporary mailContactsName = payContactsManagementTemporaryService.insertContactsManagementTemporary(payWorkingGroupSubItem.getMailContactsId()); - if(Objects.isNull(mailContactsName)){ - throw new JeroBootException("邮寄联系人名称为空!"); - } - payWorkingGroupSubItem.setMailContactsTemporaryId(mailContactsName.getId()); - payWorkingGroupSubItem.setMailContactsTemporaryName(mailContactsName.getName()); - return payWorkingGroupSubItem; - } /** * 通过id删除 * - * @param id + * @param id 工作组成员id * @return */ @ApiOperation(value="工作组成员-通过id删除", notes="工作组成员-通过id删除") @GetMapping(value = "/delete") - public Result delete(@RequestParam(name="id",required=true) String id) { + public Result delete(@RequestParam(name="id") String id) { if(StringUtils.isBlank(id)){ return Result.error("id不能为空!"); } @@ -280,12 +119,12 @@ public class PayWorkingGroupSubItemController extends JeroController deleteBatch(@RequestParam(name="ids",required=true) String ids) { + public Result deleteBatch(@RequestParam(name="ids") String ids) { if(StringUtils.isBlank(ids)){ return Result.error("id不能为空!"); } @@ -301,7 +140,7 @@ public class PayWorkingGroupSubItemController extends JeroController queryById(@RequestParam(name="id",required=true) String id) { + public Result queryById(@RequestParam(name="id") String id) { PayWorkingGroupSubItem payWorkingGroupSubitem = payWorkingGroupSubItemService.getById(id); if(payWorkingGroupSubitem==null) { return Result.error("未找到对应数据"); @@ -380,12 +219,12 @@ public class PayWorkingGroupSubItemController extends JeroController importExcel(HttpServletRequest request, HttpServletResponse response) { - MultipartHttpServletRequest multipartRequest = (MultipartHttpServletRequest) request; - String workGroupId; - try { - workGroupId = multipartRequest.getParameter("workGroupId"); - }catch (Exception e){ - log.error("获取工作组id异常",e); - throw new RuntimeException("工作组id不能为空 !"); - } - if(StringUtils.isBlank(workGroupId)){ - throw new RuntimeException("工作组id不能为空 !"); - } - - Map fileMap = multipartRequest.getFileMap(); - for (Map.Entry entity : fileMap.entrySet()) { - MultipartFile file = entity.getValue();// 获取上传文件对象 - ImportParams params = new ImportParams(); - params.setTitleRows(1); - params.setHeadRows(1); - try { - //导入Excel格式校验,看匹配的字段文本概率 - Boolean t = ExcelImportCheckUtil.check(file.getInputStream(), PayWorkingGroupSubItem.class, params); - if(!t){ - throw new RuntimeException("导入Excel校验失败 !"); - } - List list = ExcelImportUtil.importExcel(file.getInputStream(), PayWorkingGroupSubItem.class, params); - if(!CollectionUtils.isEmpty(list)){ - // 校验重复成员的集合 - List listCompanyAndContacts = new ArrayList<>(); - StringBuilder msg = new StringBuilder(); - // 获取excel中的企业名称 - List listCompanyName = list.stream().map(PayWorkingGroupSubItem::getChargeCompanyTemporaryName).collect(Collectors.toList()); - // 获取excel企业信息 - LambdaQueryWrapper companyWrapper = new LambdaQueryWrapper<>(); - companyWrapper.in(PayCompanyManagement::getCompanyName,listCompanyName); - List listCompanyInfo = payCompanyManagementService.list(companyWrapper); - if(CollectionUtils.isEmpty(listCompanyInfo)){ - throw new RuntimeException("excel中企业不存在 !"); - } - List listContactsName = new ArrayList<>(); - // 获取excel中联系人一名称 - List listContactsNameOne = list.stream().map(PayWorkingGroupSubItem::getContactsTemporaryNameOne).collect(Collectors.toList()); - if(!CollectionUtils.isEmpty(listContactsNameOne)){ - listContactsName.addAll(listContactsNameOne); - } - // 获取excel中联系人二名称 - List listContactsNameTwo = list.stream().map(PayWorkingGroupSubItem::getContactsTemporaryNameTwo).collect(Collectors.toList()); - if(!CollectionUtils.isEmpty(listContactsNameTwo)){ - listContactsName.addAll(listContactsNameTwo); - } - // 获取excel中联系人三名称 - List listContactsNameThree = list.stream().map(PayWorkingGroupSubItem::getContactsTemporaryNameThree).collect(Collectors.toList()); - if(!CollectionUtils.isEmpty(listContactsNameThree)){ - listContactsName.addAll(listContactsNameThree); - } - // 获取excel中邮寄联系人名称 - List listContactsNameMail = list.stream().map(PayWorkingGroupSubItem::getMailContactsTemporaryName).collect(Collectors.toList()); - if(!CollectionUtils.isEmpty(listContactsNameMail)){ - listContactsName.addAll(listContactsNameMail); - } - // 获取excel联系人信息 - LambdaQueryWrapper contactsWrapper = new LambdaQueryWrapper<>(); - contactsWrapper.in(PayContactsManagement::getName,listContactsName); - List listContactsInfo = payContactsManagementService.list(contactsWrapper); - if(CollectionUtils.isEmpty(listContactsInfo)){ - throw new RuntimeException("excel中联系人不存在 !"); - } - // 获取工作组信息 - PayWorkingGroup payWorkingGroup = payWorkingGroupService.getById(workGroupId); - if(Objects.isNull(payWorkingGroup)){ - throw new RuntimeException("工作组不存在 !"); - } - - // 获取工作组成员 - LambdaQueryWrapper query = new LambdaQueryWrapper<>(); - query.eq(PayWorkingGroupSubItem::getWorkingGroupId,workGroupId); - List listData = payWorkingGroupSubItemService.list(query); - list.forEach(p->{ - p.setWorkingGroupId(workGroupId); - int count = list.indexOf(p); - // 校验企业名称 - List listCompany = new ArrayList<>(); - if(StringUtils.isBlank(p.getChargeCompanyTemporaryName())){ - msg.append("第 ").append(count + 3).append(" 行:企业名称不能为空,请修改。
"); - }else{ - // 通过企业名称获取企业id - listCompany = listCompanyInfo.stream().filter(item-> - Objects.equals(item.getCompanyName(),p.getChargeCompanyTemporaryName())).collect(Collectors.toList()); - if(CollectionUtils.isEmpty(listCompany)){ - msg.append("第 ").append(count + 3).append(" 行:企业名称不存在,请修改。
"); - }else{ - p.setChargeCompanyId(listCompany.get(0).getId()); - } - } - // 校验联系人一 - if(StringUtils.isBlank(p.getContactsTemporaryNameOne())){ - msg.append("第 ").append(count + 3).append(" 行:联系人不能为空,请修改。
"); - }else{ - if(!CollectionUtils.isEmpty(listCompany)){ - // 通过联系人获取联系人id - List finalListCompany = listCompany; - List listContacts = listContactsInfo.stream().filter(item-> - Objects.equals(item.getName(),p.getContactsTemporaryNameOne()) - && Objects.equals(item.getCompanyId(), finalListCompany.get(0).getId())).collect(Collectors.toList()); - if(CollectionUtils.isEmpty(listContacts)){ - msg.append("第 ").append(count + 3).append(" 行:该企业下不存在该联系人一,请修改。
"); - }else{ - p.setContactsIdOne(listContacts.get(0).getId()); - } - } - } - // 校验工作组是否已存在成员 - if(!StringUtils.isBlank(p.getChargeCompanyId()) && !StringUtils.isBlank(p.getContactsIdOne())){ - List listDateNew = listData.stream().filter(item->Objects.equals(p.getChargeCompanyId(),item.getChargeCompanyId()) - && Objects.equals(p.getContactsIdOne(),item.getContactsIdOne())).collect(Collectors.toList()); - if(!CollectionUtils.isEmpty(listDateNew)){ - msg.append("第 ").append(count + 3).append(" 行:工作组成员已存在,请修改。
"); - } - } - // 校验联系人二 - if(!StringUtils.isBlank(p.getContactsTemporaryNameTwo()) && !CollectionUtils.isEmpty(listCompany)){ - if(!CollectionUtils.isEmpty(listCompany)){ - // 通过联系人获取联系人id - List finalListCompany = listCompany; - List listContacts = listContactsInfo.stream().filter(item-> - Objects.equals(item.getName(),p.getContactsTemporaryNameTwo()) - && Objects.equals(item.getCompanyId(), finalListCompany.get(0).getId())).collect(Collectors.toList()); - if(CollectionUtils.isEmpty(listContacts)){ - msg.append("第 ").append(count + 3).append(" 行:该企业下不存在该联系人二,请修改。
"); - }else{ - p.setContactsIdTwo(listContacts.get(0).getId()); - } - } - } - // 校验联系人三 - if(!StringUtils.isBlank(p.getContactsTemporaryNameThree()) && !CollectionUtils.isEmpty(listCompany)){ - if(!CollectionUtils.isEmpty(listCompany)){ - // 通过联系人获取联系人id - List finalListCompany = listCompany; - List listContacts = listContactsInfo.stream().filter(item-> - Objects.equals(item.getName(),p.getContactsTemporaryNameThree()) - && Objects.equals(item.getCompanyId(), finalListCompany.get(0).getId())).collect(Collectors.toList()); - if(CollectionUtils.isEmpty(listContacts)){ - msg.append("第 ").append(count + 3).append(" 行:该企业下不存在该联系人三,请修改。
"); - }else{ - p.setContactsIdThree(listContacts.get(0).getId()); - } - } - } - // 校验邮寄联系人 - if(StringUtils.isBlank(p.getMailContactsTemporaryName())){ - msg.append("第 ").append(count + 3).append(" 行:邮寄联系人不能为空,请修改。
"); - }else{ - if(!CollectionUtils.isEmpty(listCompany)){ - // 通过联系人获取联系人id - List finalListCompany = listCompany; - List listContacts = listContactsInfo.stream().filter(item-> - Objects.equals(item.getName(),p.getMailContactsTemporaryName()) - && Objects.equals(item.getCompanyId(), finalListCompany.get(0).getId())).collect(Collectors.toList()); - if(CollectionUtils.isEmpty(listContacts)){ - msg.append("第 ").append(count + 3).append(" 行:该企业下不存在该邮寄联系人,请修改。
"); - }else{ - p.setMailContactsId(listContacts.get(0).getId()); - } - } - } - // 校验成员唯一性 - List listCompanyAndContactsNew = listCompanyAndContacts.stream().filter(item->Objects.equals(p.getChargeCompanyTemporaryName(),item.getChargeCompanyTemporaryName()) - && Objects.equals(p.getContactsTemporaryNameOne(),item.getContactsTemporaryNameOne())).collect(Collectors.toList()); - if(!CollectionUtils.isEmpty(listCompanyAndContactsNew)){ - msg.append("第 ").append(count + 3).append(" 行:工作组成员重复出现,请修改。
"); - } - listCompanyAndContacts.add(p); - - if(Objects.equals(p.getChargeWay(),PayProjectCommon.CHARGE_WAY2)){ - if(Objects.isNull(p.getReceivableAmount())){ - msg.append("第 ").append(count + 3).append(" 行:应收金额不能为空,请修改。
"); - } - if(StringUtils.isBlank(p.getContractNum())){ - msg.append("第 ").append(count + 3).append(" 行:合同号不能为空,请修改。
"); - } - } - if(Objects.equals(p.getChargeWay(),PayProjectCommon.CHARGE_WAY3)){ - if(Objects.isNull(p.getChargeNoticeNo())){ - msg.append("第 ").append(count + 3).append(" 行:收费通知号不能为空,请修改。
"); - }else{ - if(Objects.equals(payWorkingGroup.getChargeNoticeNoA(),p.getChargeNoticeNo())) { - p.setChargeNoticeId(payWorkingGroup.getChargeNoticeAId()); - }else if(Objects.equals(payWorkingGroup.getChargeNoticeNoB(),p.getChargeNoticeNo()) ){ - p.setChargeNoticeId(payWorkingGroup.getChargeNoticeBId()); - }else{ - msg.append("第 ").append(count + 3).append(" 行:收费通知号不存在,请修改。
"); - } - } - if(Objects.isNull(p.getReceivableAmount())){ - msg.append("第 ").append(count + 3).append(" 行:应收金额不能为空,请修改。
"); - } - } - p.setPack(PayProjectCommon.PACKAGING0); - p.setInAccount(PayProjectCommon.IN_ACCOUNT0); - p.setMakeInvoice(PayProjectCommon.MAKE_INVOICE0); - p.setMail(PayProjectCommon.MAIL0); - // 校验字段值 - StringBuilder s = ValidUtil.validateExcel(p,(count+3)); - if(!StringUtils.isBlank(s)){ - msg.append(s); - } - }); - if(!StringUtils.isBlank(msg)){ - return Result.error(msg.toString()); - } - // 拷贝企业,联系人 - list.forEach(p->{ - setPayWorkingGroupSubItem(p); - }); - // 更新数据 - payWorkingGroupSubItemService.saveBatch(list); - } - } catch (Exception e) { - log.error(e.getMessage(),e); - return Result.error("文件导入失败!"); - } finally { - try { - file.getInputStream().close(); - } catch (Exception e) { - e.printStackTrace(); - } - } - } + public Result importExcel(HttpServletRequest request) { + payWorkingGroupSubItemService.importExcel(request); return Result.OK("文件导入成功!"); } diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/project/service/IPayWorkingGroupSubItemService.java b/jero-boot-incoming-payment/src/main/java/com/jero/project/service/IPayWorkingGroupSubItemService.java index acc04018..f741ff89 100644 --- a/jero-boot-incoming-payment/src/main/java/com/jero/project/service/IPayWorkingGroupSubItemService.java +++ b/jero-boot-incoming-payment/src/main/java/com/jero/project/service/IPayWorkingGroupSubItemService.java @@ -6,6 +6,7 @@ import com.jero.project.entity.PayWorkingGroupSubItem; import com.baomidou.mybatisplus.extension.service.IService; import com.jero.project.vo.SetChargeInput; +import javax.servlet.http.HttpServletRequest; import java.util.List; /** @@ -33,4 +34,31 @@ public interface IPayWorkingGroupSubItemService extends IService queryPageList(Page page,PayWorkingGroupSubItem payWorkingGroupSubitem,String paymentDate); + /** + * @Description 添加 + * @Author lqt + * @Date 2021/9/3 + * @Param + * @Return + * @Exception + */ + void addPayWorkingGroupSubItem(PayWorkingGroupSubItem payWorkingGroupSubItem); + /** + * @Description 编辑 + * @Author lqt + * @Date 2021/9/3 + * @Param + * @Return + * @Exception + */ + void editPayWorkingGroupSubItem(PayWorkingGroupSubItem payWorkingGroupSubItem); + /** + * @Description excel导入 + * @Author lqt + * @Date 2021/9/3 + * @Param + * @Return + * @Exception + */ + void importExcel(HttpServletRequest request); } diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/project/service/impl/PayWorkingGroupSubItemServiceImpl.java b/jero-boot-incoming-payment/src/main/java/com/jero/project/service/impl/PayWorkingGroupSubItemServiceImpl.java index addd98b9..f60f7ded 100644 --- a/jero-boot-incoming-payment/src/main/java/com/jero/project/service/impl/PayWorkingGroupSubItemServiceImpl.java +++ b/jero-boot-incoming-payment/src/main/java/com/jero/project/service/impl/PayWorkingGroupSubItemServiceImpl.java @@ -1,16 +1,47 @@ package com.jero.project.service.impl; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.jero.common.api.vo.Result; +import com.jero.common.exception.JeroBootException; +import com.jero.common.util.ValidUtil; +import com.jero.company.entity.PayCompanyManagement; +import com.jero.company.entity.PayContactsManagement; +import com.jero.company.service.IPayCompanyManagementService; +import com.jero.company.service.IPayContactsManagementService; +import com.jero.project.common.PayProjectCommon; +import com.jero.project.entity.PayWorkingGroup; +import com.jero.project.service.IPayWorkingGroupService; import com.jero.project.service.IPayWorkingGroupSubItemService; import com.jero.project.entity.PayWorkingGroupSubItem; import com.jero.project.mapper.PayWorkingGroupSubItemMapper; import com.jero.project.vo.SetChargeInput; +import com.jero.temporary.entity.PayCompanyManagementTemporary; +import com.jero.temporary.entity.PayContactsManagementTemporary; +import com.jero.temporary.service.IPayCompanyManagementTemporaryService; +import com.jero.temporary.service.IPayContactsManagementTemporaryService; +import lombok.extern.slf4j.Slf4j; +import org.apache.commons.collections.CollectionUtils; +import org.apache.commons.lang3.StringUtils; +import org.jeecgframework.poi.excel.ExcelImportCheckUtil; +import org.jeecgframework.poi.excel.ExcelImportUtil; +import org.jeecgframework.poi.excel.entity.ImportParams; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import org.springframework.transaction.annotation.Transactional; +import org.springframework.web.multipart.MultipartFile; +import org.springframework.web.multipart.MultipartHttpServletRequest; import javax.annotation.Resource; +import javax.servlet.http.HttpServletRequest; +import java.util.ArrayList; +import java.util.List; +import java.util.Map; +import java.util.Objects; +import java.util.stream.Collectors; /** * @Description: pay_working_group_subitem @@ -18,11 +49,24 @@ import javax.annotation.Resource; * @Date: 2021-08-27 * @Version: V1.0 */ +@Slf4j @Service public class PayWorkingGroupSubItemServiceImpl extends ServiceImpl implements IPayWorkingGroupSubItemService { @Resource private PayWorkingGroupSubItemMapper payWorkingGroupSubItemMapper; + @Autowired + private IPayCompanyManagementTemporaryService payCompanyManagementTemporaryService; + @Autowired + private IPayContactsManagementTemporaryService payContactsManagementTemporaryService; + @Autowired + private IPayCompanyManagementService payCompanyManagementService; + @Autowired + private IPayContactsManagementService payContactsManagementService; + @Autowired + private IPayWorkingGroupService payWorkingGroupService; + @Autowired + private IPayWorkingGroupSubItemService payWorkingGroupSubItemService; @Override public void updateBatchSetCharge(SetChargeInput input) { @@ -34,4 +78,381 @@ public class PayWorkingGroupSubItemServiceImpl extends ServiceImpl queryWrapper = new LambdaQueryWrapper<>(); + queryWrapper.eq(PayWorkingGroupSubItem::getWorkingGroupId,payWorkingGroupSubItem.getWorkingGroupId()); + queryWrapper.eq(PayWorkingGroupSubItem::getChargeCompanyId,payWorkingGroupSubItem.getChargeCompanyId()); + queryWrapper.eq(PayWorkingGroupSubItem::getContactsIdOne,payWorkingGroupSubItem.getContactsIdOne()); + PayWorkingGroupSubItem payWorkingGroupSubItemNew = payWorkingGroupSubItemService.getOne(queryWrapper); + // 企业和联系人同时存在,则校验不通过 + if(!Objects.isNull(payWorkingGroupSubItemNew)) { + throw new RuntimeException("工作组成员已存在!"); + } + }catch (Exception e){ + log.info("工作组成员-添加异常",e); + throw new RuntimeException("工作组成员已存在!"); + } + + payWorkingGroupSubItem = setPayWorkingGroupSubItem(payWorkingGroupSubItem); + payWorkingGroupSubItem.setPack(PayProjectCommon.PACKAGING0); + payWorkingGroupSubItem.setInAccount(PayProjectCommon.IN_ACCOUNT0); + payWorkingGroupSubItem.setMakeInvoice(PayProjectCommon.MAKE_INVOICE0); + payWorkingGroupSubItem.setMail(PayProjectCommon.MAIL0); + payWorkingGroupSubItemService.save(payWorkingGroupSubItem); + } + + @Override + @Transactional + public void editPayWorkingGroupSubItem(PayWorkingGroupSubItem payWorkingGroupSubItem) { + if(payWorkingGroupSubItem.getChargeWay() == PayProjectCommon.CHARGE_WAY2){ + if(Objects.isNull(payWorkingGroupSubItem.getReceivableAmount())){ + throw new RuntimeException("应收金额不能为空"); + } + if(StringUtils.isBlank(payWorkingGroupSubItem.getContractNum())){ + throw new RuntimeException("合同号不能为空"); + } + } + if(payWorkingGroupSubItem.getChargeWay() == PayProjectCommon.CHARGE_WAY3){ + if(Objects.isNull(payWorkingGroupSubItem.getChargeNoticeNo())){ + throw new RuntimeException("收费通知号不能为空"); + } + if(Objects.isNull(payWorkingGroupSubItem.getReceivableAmount())){ + throw new RuntimeException("应收金额不能为空"); + } + } + PayWorkingGroup payWorkingGroup = payWorkingGroupService.getById(payWorkingGroupSubItem.getWorkingGroupId()); + if(Objects.isNull(payWorkingGroup)){ + throw new RuntimeException("工作组不存在!"); + } + try { + // 编辑保存前再次校验来款项目是否存在 + LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); + queryWrapper.eq(PayWorkingGroupSubItem::getWorkingGroupId,payWorkingGroupSubItem.getWorkingGroupId()); + queryWrapper.eq(PayWorkingGroupSubItem::getChargeCompanyId,payWorkingGroupSubItem.getChargeCompanyId()); + queryWrapper.eq(PayWorkingGroupSubItem::getContactsIdOne,payWorkingGroupSubItem.getContactsIdOne()); + PayWorkingGroupSubItem payWorkingGroupSubItemNew = payWorkingGroupSubItemService.getOne(queryWrapper); + // 来款项目存在,并且编辑id与查询不同,则校验不通过 + if(!Objects.isNull(payWorkingGroupSubItemNew) + && !Objects.equals(payWorkingGroupSubItemNew.getId(),payWorkingGroupSubItem.getId())) { + throw new RuntimeException("工作组成员已存在!"); + } + }catch (Exception e){ + log.info("工作组成员-编辑异常",e); + throw new RuntimeException("工作组成员已存在!"); + } + + payWorkingGroupSubItem = setPayWorkingGroupSubItem(payWorkingGroupSubItem); + payWorkingGroupSubItemService.updateById(payWorkingGroupSubItem); + } + + @Override + @Transactional + public void importExcel(HttpServletRequest request) { + MultipartHttpServletRequest multipartRequest = (MultipartHttpServletRequest) request; + String workGroupId; + try { + workGroupId = multipartRequest.getParameter("workGroupId"); + }catch (Exception e){ + log.error("获取工作组id异常",e); + throw new RuntimeException("工作组id不能为空 !"); + } + if(StringUtils.isBlank(workGroupId)){ + throw new RuntimeException("工作组id不能为空 !"); + } + + Map fileMap = multipartRequest.getFileMap(); + for (Map.Entry entity : fileMap.entrySet()) { + MultipartFile file = entity.getValue();// 获取上传文件对象 + ImportParams params = new ImportParams(); + params.setTitleRows(1); + params.setHeadRows(1); + try { + //导入Excel格式校验,看匹配的字段文本概率 + Boolean t = ExcelImportCheckUtil.check(file.getInputStream(), PayWorkingGroupSubItem.class, params); + if(!t){ + throw new RuntimeException("导入Excel校验失败 !"); + } + List list = ExcelImportUtil.importExcel(file.getInputStream(), PayWorkingGroupSubItem.class, params); + if(!CollectionUtils.isEmpty(list)){ + // 校验重复成员的集合 + List listCompanyAndContacts = new ArrayList<>(); + StringBuilder msg = new StringBuilder(); + // 获取excel中的企业名称 + List listCompanyName = list.stream().map(PayWorkingGroupSubItem::getChargeCompanyTemporaryName).collect(Collectors.toList()); + // 获取excel企业信息 + LambdaQueryWrapper companyWrapper = new LambdaQueryWrapper<>(); + companyWrapper.in(PayCompanyManagement::getCompanyName,listCompanyName); + List listCompanyInfo = payCompanyManagementService.list(companyWrapper); + if(CollectionUtils.isEmpty(listCompanyInfo)){ + throw new RuntimeException("excel中企业不存在 !"); + } + List listContactsName = new ArrayList<>(); + // 获取excel中联系人一名称 + List listContactsNameOne = list.stream().map(PayWorkingGroupSubItem::getContactsTemporaryNameOne).collect(Collectors.toList()); + if(!CollectionUtils.isEmpty(listContactsNameOne)){ + listContactsName.addAll(listContactsNameOne); + } + // 获取excel中联系人二名称 + List listContactsNameTwo = list.stream().map(PayWorkingGroupSubItem::getContactsTemporaryNameTwo).collect(Collectors.toList()); + if(!CollectionUtils.isEmpty(listContactsNameTwo)){ + listContactsName.addAll(listContactsNameTwo); + } + // 获取excel中联系人三名称 + List listContactsNameThree = list.stream().map(PayWorkingGroupSubItem::getContactsTemporaryNameThree).collect(Collectors.toList()); + if(!CollectionUtils.isEmpty(listContactsNameThree)){ + listContactsName.addAll(listContactsNameThree); + } + // 获取excel中邮寄联系人名称 + List listContactsNameMail = list.stream().map(PayWorkingGroupSubItem::getMailContactsTemporaryName).collect(Collectors.toList()); + if(!CollectionUtils.isEmpty(listContactsNameMail)){ + listContactsName.addAll(listContactsNameMail); + } + // 获取excel联系人信息 + LambdaQueryWrapper contactsWrapper = new LambdaQueryWrapper<>(); + contactsWrapper.in(PayContactsManagement::getName,listContactsName); + List listContactsInfo = payContactsManagementService.list(contactsWrapper); + if(CollectionUtils.isEmpty(listContactsInfo)){ + throw new RuntimeException("excel中联系人不存在 !"); + } + // 获取工作组信息 + PayWorkingGroup payWorkingGroup = payWorkingGroupService.getById(workGroupId); + if(Objects.isNull(payWorkingGroup)){ + throw new RuntimeException("工作组不存在 !"); + } + + // 获取工作组成员 + LambdaQueryWrapper query = new LambdaQueryWrapper<>(); + query.eq(PayWorkingGroupSubItem::getWorkingGroupId,workGroupId); + List listData = payWorkingGroupSubItemService.list(query); + list.forEach(p->{ + p.setWorkingGroupId(workGroupId); + int count = list.indexOf(p); + // 校验企业名称 + List listCompany = new ArrayList<>(); + if(StringUtils.isBlank(p.getChargeCompanyTemporaryName())){ + msg.append("第 ").append(count + 3).append(" 行:企业名称不能为空,请修改。
"); + }else{ + // 通过企业名称获取企业id + listCompany = listCompanyInfo.stream().filter(item-> + Objects.equals(item.getCompanyName(),p.getChargeCompanyTemporaryName())).collect(Collectors.toList()); + if(CollectionUtils.isEmpty(listCompany)){ + msg.append("第 ").append(count + 3).append(" 行:企业名称不存在,请修改。
"); + }else{ + p.setChargeCompanyId(listCompany.get(0).getId()); + } + } + // 校验联系人一 + if(StringUtils.isBlank(p.getContactsTemporaryNameOne())){ + msg.append("第 ").append(count + 3).append(" 行:联系人不能为空,请修改。
"); + }else{ + if(!CollectionUtils.isEmpty(listCompany)){ + // 通过联系人获取联系人id + List finalListCompany = listCompany; + List listContacts = listContactsInfo.stream().filter(item-> + Objects.equals(item.getName(),p.getContactsTemporaryNameOne()) + && Objects.equals(item.getCompanyId(), finalListCompany.get(0).getId())).collect(Collectors.toList()); + if(CollectionUtils.isEmpty(listContacts)){ + msg.append("第 ").append(count + 3).append(" 行:该企业下不存在该联系人一,请修改。
"); + }else{ + p.setContactsIdOne(listContacts.get(0).getId()); + } + } + } + // 校验工作组是否已存在成员 + if(!StringUtils.isBlank(p.getChargeCompanyId()) && !StringUtils.isBlank(p.getContactsIdOne())){ + List listDateNew = listData.stream().filter(item->Objects.equals(p.getChargeCompanyId(),item.getChargeCompanyId()) + && Objects.equals(p.getContactsIdOne(),item.getContactsIdOne())).collect(Collectors.toList()); + if(!CollectionUtils.isEmpty(listDateNew)){ + msg.append("第 ").append(count + 3).append(" 行:工作组成员已存在,请修改。
"); + } + } + // 校验联系人二 + if(!StringUtils.isBlank(p.getContactsTemporaryNameTwo()) && !CollectionUtils.isEmpty(listCompany)){ + if(!CollectionUtils.isEmpty(listCompany)){ + // 通过联系人获取联系人id + List finalListCompany = listCompany; + List listContacts = listContactsInfo.stream().filter(item-> + Objects.equals(item.getName(),p.getContactsTemporaryNameTwo()) + && Objects.equals(item.getCompanyId(), finalListCompany.get(0).getId())).collect(Collectors.toList()); + if(CollectionUtils.isEmpty(listContacts)){ + msg.append("第 ").append(count + 3).append(" 行:该企业下不存在该联系人二,请修改。
"); + }else{ + p.setContactsIdTwo(listContacts.get(0).getId()); + } + } + } + // 校验联系人三 + if(!StringUtils.isBlank(p.getContactsTemporaryNameThree()) && !CollectionUtils.isEmpty(listCompany)){ + if(!CollectionUtils.isEmpty(listCompany)){ + // 通过联系人获取联系人id + List finalListCompany = listCompany; + List listContacts = listContactsInfo.stream().filter(item-> + Objects.equals(item.getName(),p.getContactsTemporaryNameThree()) + && Objects.equals(item.getCompanyId(), finalListCompany.get(0).getId())).collect(Collectors.toList()); + if(CollectionUtils.isEmpty(listContacts)){ + msg.append("第 ").append(count + 3).append(" 行:该企业下不存在该联系人三,请修改。
"); + }else{ + p.setContactsIdThree(listContacts.get(0).getId()); + } + } + } + // 校验邮寄联系人 + if(StringUtils.isBlank(p.getMailContactsTemporaryName())){ + msg.append("第 ").append(count + 3).append(" 行:邮寄联系人不能为空,请修改。
"); + }else{ + if(!CollectionUtils.isEmpty(listCompany)){ + // 通过联系人获取联系人id + List finalListCompany = listCompany; + List listContacts = listContactsInfo.stream().filter(item-> + Objects.equals(item.getName(),p.getMailContactsTemporaryName()) + && Objects.equals(item.getCompanyId(), finalListCompany.get(0).getId())).collect(Collectors.toList()); + if(CollectionUtils.isEmpty(listContacts)){ + msg.append("第 ").append(count + 3).append(" 行:该企业下不存在该邮寄联系人,请修改。
"); + }else{ + p.setMailContactsId(listContacts.get(0).getId()); + } + } + } + // 校验成员唯一性 + List listCompanyAndContactsNew = listCompanyAndContacts.stream().filter(item->Objects.equals(p.getChargeCompanyTemporaryName(),item.getChargeCompanyTemporaryName()) + && Objects.equals(p.getContactsTemporaryNameOne(),item.getContactsTemporaryNameOne())).collect(Collectors.toList()); + if(!CollectionUtils.isEmpty(listCompanyAndContactsNew)){ + msg.append("第 ").append(count + 3).append(" 行:工作组成员重复出现,请修改。
"); + } + listCompanyAndContacts.add(p); + + if(Objects.equals(p.getChargeWay(), PayProjectCommon.CHARGE_WAY2)){ + if(Objects.isNull(p.getReceivableAmount())){ + msg.append("第 ").append(count + 3).append(" 行:应收金额不能为空,请修改。
"); + } + if(StringUtils.isBlank(p.getContractNum())){ + msg.append("第 ").append(count + 3).append(" 行:合同号不能为空,请修改。
"); + } + } + if(Objects.equals(p.getChargeWay(),PayProjectCommon.CHARGE_WAY3)){ + if(Objects.isNull(p.getChargeNoticeNo())){ + msg.append("第 ").append(count + 3).append(" 行:收费通知号不能为空,请修改。
"); + }else{ + if(Objects.equals(payWorkingGroup.getChargeNoticeNoA(),p.getChargeNoticeNo())) { + p.setChargeNoticeId(payWorkingGroup.getChargeNoticeAId()); + }else if(Objects.equals(payWorkingGroup.getChargeNoticeNoB(),p.getChargeNoticeNo()) ){ + p.setChargeNoticeId(payWorkingGroup.getChargeNoticeBId()); + }else{ + msg.append("第 ").append(count + 3).append(" 行:收费通知号不存在,请修改。
"); + } + } + if(Objects.isNull(p.getReceivableAmount())){ + msg.append("第 ").append(count + 3).append(" 行:应收金额不能为空,请修改。
"); + } + } + p.setPack(PayProjectCommon.PACKAGING0); + p.setInAccount(PayProjectCommon.IN_ACCOUNT0); + p.setMakeInvoice(PayProjectCommon.MAKE_INVOICE0); + p.setMail(PayProjectCommon.MAIL0); + // 校验字段值 + StringBuilder s = ValidUtil.validateExcel(p,(count+3)); + if(!StringUtils.isBlank(s)){ + msg.append(s); + } + }); + if(!StringUtils.isBlank(msg)){ + throw new RuntimeException(msg.toString()); + } + // 拷贝企业,联系人 + list.forEach(p->{ + setPayWorkingGroupSubItem(p); + }); + // 更新数据 + payWorkingGroupSubItemService.saveBatch(list); + } + } catch (Exception e) { + log.error(e.getMessage(),e); + throw new RuntimeException("文件导入失败!"); + } finally { + try { + file.getInputStream().close(); + } catch (Exception e) { + e.printStackTrace(); + } + } + } + } + + /** + * @Description 插入企业信息,联系人信息到临时表,更新项目记录 + * @Author lqt + * @Date 2021/8/31 + * @Param payCommonProject + * @Return + * @Exception + */ + private PayWorkingGroupSubItem setPayWorkingGroupSubItem(PayWorkingGroupSubItem payWorkingGroupSubItem){ + // 企业 + PayCompanyManagementTemporary chargeCompanyName = payCompanyManagementTemporaryService.insertCompanyManagementTemporary(payWorkingGroupSubItem.getChargeCompanyId()); + if(Objects.isNull(chargeCompanyName)){ + throw new JeroBootException("企业名称为空!"); + } + payWorkingGroupSubItem.setChargeCompanyTemporaryId(chargeCompanyName.getId()); + payWorkingGroupSubItem.setChargeCompanyTemporaryName(chargeCompanyName.getCompanyName()); + // 企业联系人一 + PayContactsManagementTemporary contactsNameOne = payContactsManagementTemporaryService.insertContactsManagementTemporary(payWorkingGroupSubItem.getContactsIdOne()); + if(Objects.isNull(contactsNameOne)){ + throw new JeroBootException("企业联系人一名称为空!"); + } + payWorkingGroupSubItem.setContactsTemporaryIdOne(contactsNameOne.getId()); + payWorkingGroupSubItem.setContactsTemporaryNameOne(contactsNameOne.getName()); + if(!StringUtils.isBlank(payWorkingGroupSubItem.getContactsIdTwo())){ + // 企业联系人二 + PayContactsManagementTemporary contactsNameTwo = payContactsManagementTemporaryService.insertContactsManagementTemporary(payWorkingGroupSubItem.getContactsIdTwo()); + if(Objects.isNull(contactsNameTwo)){ + throw new JeroBootException("企业联系人二名称为空!"); + } + payWorkingGroupSubItem.setContactsTemporaryIdTwo(contactsNameTwo.getId()); + payWorkingGroupSubItem.setContactsTemporaryNameTwo(contactsNameTwo.getName()); + } + if(!StringUtils.isBlank(payWorkingGroupSubItem.getContactsIdThree())){ + // 企业联系人三 + PayContactsManagementTemporary contactsNameThree = payContactsManagementTemporaryService.insertContactsManagementTemporary(payWorkingGroupSubItem.getContactsIdThree()); + if(Objects.isNull(contactsNameThree)){ + throw new JeroBootException("企业联系人三名称为空!"); + } + payWorkingGroupSubItem.setContactsTemporaryIdThree(contactsNameThree.getId()); + payWorkingGroupSubItem.setContactsTemporaryNameThree(contactsNameThree.getName()); + } + // 邮寄联系人 + PayContactsManagementTemporary mailContactsName = payContactsManagementTemporaryService.insertContactsManagementTemporary(payWorkingGroupSubItem.getMailContactsId()); + if(Objects.isNull(mailContactsName)){ + throw new JeroBootException("邮寄联系人名称为空!"); + } + payWorkingGroupSubItem.setMailContactsTemporaryId(mailContactsName.getId()); + payWorkingGroupSubItem.setMailContactsTemporaryName(mailContactsName.getName()); + return payWorkingGroupSubItem; + } + }