添加工作组列表

This commit is contained in:
梁琦涛
2021-09-03 16:33:32 +08:00
parent 5fc91c6752
commit aca9b45003
11 changed files with 726 additions and 601 deletions
@@ -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<PayIncomeContract, IPayIncomeContractService> {
@Autowired
private IPayIncomeContractService payIncomeContractService;
@Autowired
private IPayIncomeContractInstallmentService payIncomeContractInstallmentService;
/**
* 分页列表查询
@@ -79,37 +66,7 @@ public class PayIncomeContractController extends JeroController<PayIncomeContrac
@ApiOperation(value="收入合同-添加", notes="收入合同-添加")
@PostMapping(value = "/add")
public Result<?> 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<PayIncomeContractInstallment> 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<PayIncomeContractInstallment> 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<PayIncomeContrac
@ApiOperation(value="收入合同-编辑", notes="收入合同-编辑")
@PostMapping(value = "/edit")
public Result<?> 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<PayIncomeContractInstallment> listPayIncomeContractInstallment = new ArrayList<>();
if(!StringUtils.isBlank(input.getInstallment())){
listPayIncomeContractInstallment = JSONArray.parseArray(input.getInstallment(),PayIncomeContractInstallment.class);
}
StringBuilder msgPayIncomeContractInstallment = new StringBuilder();
if(!CollectionUtils.isEmpty(listPayIncomeContractInstallment)){
List<String> list = listPayIncomeContractInstallment.stream().map(PayIncomeContractInstallment::getId).collect(Collectors.toList());
payIncomeContractInstallmentService.removeByIds(list);
List<PayIncomeContractInstallment> 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<PayIncomeContrac
@AutoLog(value = "收入合同-通过id删除")
@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不能为空!");
}
payIncomeContractService.removeById(id);
payIncomeContractService.deletePayIncomeContractInputById(id);
return Result.OK("删除成功!");
}
@@ -182,7 +107,7 @@ public class PayIncomeContractController extends JeroController<PayIncomeContrac
@AutoLog(value = "收入合同-批量删除")
@ApiOperation(value="收入合同-批量删除", notes="收入合同-批量删除")
@GetMapping(value = "/deleteBatch")
public Result<?> 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<PayIncomeContrac
return Result.error("id不能为空!");
}
}
this.payIncomeContractService.removeByIds(Arrays.asList(ids.split(",")));
payIncomeContractService.deletePayIncomeContractInputByIds(Arrays.asList(ids.split(",")));
return Result.OK("批量删除成功!");
}
@@ -204,7 +129,7 @@ public class PayIncomeContractController extends JeroController<PayIncomeContrac
@AutoLog(value = "收入合同-通过id查询")
@ApiOperation(value="收入合同-通过id查询", notes="收入合同-通过id查询")
@GetMapping(value = "/queryById")
public Result<?> 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<PayIncomeContrac
* 导出excel
*
* @param request
* @param payIncomeContract
* @param payIncomeContract 收入合同
*/
@RequestMapping(value = "/exportXls")
public ModelAndView exportXls(HttpServletRequest request, PayIncomeContract payIncomeContract) {
@@ -4,6 +4,9 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.jero.contract.entity.PayIncomeContract;
import com.jero.contract.vo.PayIncomeContractInput;
import java.util.List;
/**
* @Description: pay_income_contract
@@ -21,5 +24,40 @@ public interface IPayIncomeContractService extends IService<PayIncomeContract> {
* @Exception
*/
IPage<PayIncomeContract> queryPageList(Page<PayIncomeContract> 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<String> ids);
}
@@ -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<PayIncomeContractM
@Resource
private PayIncomeContractMapper payIncomeContractMapper;
@Autowired
private IPayIncomeContractService payIncomeContractService;
@Autowired
private IPayIncomeContractInstallmentService payIncomeContractInstallmentService;
@Autowired
private IPayIncomeContractAssociatedService payIncomeContractAssociatedService;
@Autowired
private IPayIncomeContractAuditService payIncomeContractAuditService;
@Override
public IPage<PayIncomeContract> queryPageList(Page<PayIncomeContract> 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<PayIncomeContractInstallment> 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<PayIncomeContractInstallment> 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<PayIncomeContractInstallment> listPayIncomeContractInstallment = new ArrayList<>();
if(!StringUtils.isBlank(input.getInstallment())){
listPayIncomeContractInstallment = JSONArray.parseArray(input.getInstallment(),PayIncomeContractInstallment.class);
}
StringBuilder msgPayIncomeContractInstallment = new StringBuilder();
if(!CollectionUtils.isEmpty(listPayIncomeContractInstallment)){
List<String> list = listPayIncomeContractInstallment.stream().map(PayIncomeContractInstallment::getId).collect(Collectors.toList());
payIncomeContractInstallmentService.removeByIds(list);
List<PayIncomeContractInstallment> 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<PayIncomeContractInstallment> queryPayIncomeContractInstallment = new LambdaQueryWrapper<>();
queryPayIncomeContractInstallment.eq(PayIncomeContractInstallment::getContractId,id);
payIncomeContractInstallmentService.remove(queryPayIncomeContractInstallment);
LambdaQueryWrapper<PayIncomeContractAssociated> queryPayIncomeContractAssociated = new LambdaQueryWrapper<>();
queryPayIncomeContractAssociated.eq(PayIncomeContractAssociated::getContractId,id);
payIncomeContractAssociatedService.remove(queryPayIncomeContractAssociated);
LambdaQueryWrapper<PayIncomeContractAudit> queryPayIncomeContractAudit = new LambdaQueryWrapper<>();
queryPayIncomeContractAudit.eq(PayIncomeContractAudit::getContractId,id);
payIncomeContractAuditService.remove(queryPayIncomeContractAudit);
}
@Override
@Transactional
public void deletePayIncomeContractInputByIds(List<String> ids) {
payIncomeContractService.removeByIds(ids);
LambdaQueryWrapper<PayIncomeContractInstallment> queryPayIncomeContractInstallment = new LambdaQueryWrapper<>();
queryPayIncomeContractInstallment.in(PayIncomeContractInstallment::getContractId,ids);
payIncomeContractInstallmentService.remove(queryPayIncomeContractInstallment);
LambdaQueryWrapper<PayIncomeContractAssociated> queryPayIncomeContractAssociated = new LambdaQueryWrapper<>();
queryPayIncomeContractAssociated.in(PayIncomeContractAssociated::getContractId,ids);
payIncomeContractAssociatedService.remove(queryPayIncomeContractAssociated);
LambdaQueryWrapper<PayIncomeContractAudit> queryPayIncomeContractAudit = new LambdaQueryWrapper<>();
queryPayIncomeContractAudit.in(PayIncomeContractAudit::getContractId,ids);
payIncomeContractAuditService.remove(queryPayIncomeContractAudit);
}
}