收入合同修改接收参数
This commit is contained in:
-3
@@ -16,11 +16,9 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.jero.common.api.vo.Result;
|
||||
import com.jero.common.system.base.controller.JeroController;
|
||||
import com.jero.common.system.query.QueryGenerator;
|
||||
import com.jero.common.system.vo.LoginUser;
|
||||
import com.jero.common.util.PasswordUtil;
|
||||
import com.jero.common.util.ValidUtil;
|
||||
import com.jero.common.util.oConvertUtils;
|
||||
import com.jero.company.common.PayCompanyManagementCommon;
|
||||
import com.jero.company.common.PayContactsManagementCommon;
|
||||
import com.jero.company.entity.PayCompanyManagement;
|
||||
import com.jero.company.entity.PayContactsManagement;
|
||||
@@ -29,7 +27,6 @@ import com.jero.company.service.IPayContactsManagementService;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.apache.commons.collections.CollectionUtils;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.apache.shiro.SecurityUtils;
|
||||
import org.jeecgframework.poi.excel.ExcelImportCheckUtil;
|
||||
import org.jeecgframework.poi.excel.ExcelImportUtil;
|
||||
import org.jeecgframework.poi.excel.def.NormalExcelConstants;
|
||||
|
||||
+13
-4
@@ -102,7 +102,16 @@ public class PayIncomeContractController extends JeroController<PayIncomeContrac
|
||||
@RequestParam(name="projectName",required = false) String projectName,
|
||||
@RequestParam(name="startTime",required = false) String startTime,
|
||||
@RequestParam(name="endTime",required = false) String endTime) {
|
||||
// todo 缺少验证,缺少会议,会员项目
|
||||
if(!StringUtils.isBlank(payIncomeContract.getContractNum()) && payIncomeContract.getContractNum().length() > 50){
|
||||
return Result.error("合同编号长度不能大于50个字符!");
|
||||
}
|
||||
if(!StringUtils.isBlank(payIncomeContract.getContractName()) && payIncomeContract.getContractName().length() > 50){
|
||||
return Result.error("合同名称长度不能大于50个字符!");
|
||||
}
|
||||
if(!StringUtils.isBlank(projectName) && projectName.length() > 50){
|
||||
return Result.error("关联项目长度不能大于50个字符!");
|
||||
}
|
||||
// todo 缺少会议,会员项目
|
||||
Page<PayIncomeContractOutput> page = new Page<>(pageNo, pageSize);
|
||||
IPage<PayIncomeContractOutput> pageList = payIncomeContractService.queryPageList(page, payIncomeContract,chargeStatus,projectName,startTime,endTime);
|
||||
pageList.getRecords().forEach(p->{
|
||||
@@ -140,14 +149,14 @@ public class PayIncomeContractController extends JeroController<PayIncomeContrac
|
||||
/**
|
||||
* 关联
|
||||
*
|
||||
* @param input
|
||||
* @param listPayIncomeContractAssociated
|
||||
* @return
|
||||
*/
|
||||
@AutoLog(value = "收入合同-关联")
|
||||
@ApiOperation(value="收入合同-关联", notes="收入合同-关联")
|
||||
@PostMapping(value = "/associated")
|
||||
public Result<?> associated(@RequestBody PayIncomeContractAssociatedInput input) {
|
||||
List<ProjectOutput> list = payIncomeContractService.associated(input);
|
||||
public Result<?> associated(@RequestBody List<PayIncomeContractAssociated> listPayIncomeContractAssociated) {
|
||||
List<ProjectOutput> list = payIncomeContractService.associated(listPayIncomeContractAssociated);
|
||||
return Result.OK("关联成功!",list);
|
||||
}
|
||||
|
||||
|
||||
+4
-4
@@ -44,8 +44,8 @@ public class PayIncomeContractInstallment implements Serializable {
|
||||
@ApiModelProperty(value = "应收金额")
|
||||
private java.lang.String accountsReceivableAmount;
|
||||
/**应收时间*/
|
||||
@Excel(name = "应收时间", width = 15, format = "yyyy-MM-dd HH:mm:ss")
|
||||
@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
|
||||
@Excel(name = "应收时间", width = 15, format = "yyyy-MM-dd")
|
||||
@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
|
||||
@DateTimeFormat(pattern="yyyy-MM-dd")
|
||||
@ApiModelProperty(value = "应收时间")
|
||||
private java.util.Date accountsReceivableTime;
|
||||
@@ -54,8 +54,8 @@ public class PayIncomeContractInstallment implements Serializable {
|
||||
@ApiModelProperty(value = "实收金额")
|
||||
private java.lang.String paidAmount;
|
||||
/**实收时间*/
|
||||
@Excel(name = "实收时间", width = 15, format = "yyyy-MM-dd HH:mm:ss")
|
||||
@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
|
||||
@Excel(name = "实收时间", width = 15, format = "yyyy-MM-dd")
|
||||
@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
|
||||
@DateTimeFormat(pattern="yyyy-MM-dd")
|
||||
@ApiModelProperty(value = "实收时间")
|
||||
private java.util.Date paidTime;
|
||||
|
||||
+2
-2
@@ -54,11 +54,11 @@ public interface IPayIncomeContractService extends IService<PayIncomeContract> {
|
||||
* @Description 收入合同-关联
|
||||
* @Author lqt
|
||||
* @Date 2021/9/5
|
||||
* @Param input 关联项目
|
||||
* @Param list 关联项目
|
||||
* @Return
|
||||
* @Exception
|
||||
*/
|
||||
List<ProjectOutput> associated(PayIncomeContractAssociatedInput input);
|
||||
List<ProjectOutput> associated(List<PayIncomeContractAssociated> listPayIncomeContractAssociated);
|
||||
/**
|
||||
* @Description 取消关联
|
||||
* @Author lqt
|
||||
|
||||
+36
-31
@@ -93,10 +93,7 @@ public class PayIncomeContractServiceImpl extends ServiceImpl<PayIncomeContractM
|
||||
if(Objects.isNull(input)){
|
||||
throw new JeroBootException("收入合同信息不能为空!");
|
||||
}
|
||||
if(StringUtils.isBlank(input.getContract())){
|
||||
throw new JeroBootException("收入合同信息不能为空!");
|
||||
}
|
||||
PayIncomeContract payIncomeContract = JSONObject.parseObject(input.getContract(),PayIncomeContract.class);
|
||||
PayIncomeContract payIncomeContract = input.getContract();
|
||||
if(Objects.isNull(payIncomeContract)){
|
||||
throw new JeroBootException("收入合同信息不能为空!");
|
||||
}
|
||||
@@ -105,8 +102,8 @@ public class PayIncomeContractServiceImpl extends ServiceImpl<PayIncomeContractM
|
||||
throw new JeroBootException(msgPayIncomeContract.toString());
|
||||
}
|
||||
List<PayIncomeContractInstallment> listPayIncomeContractInstallment = new ArrayList<>();
|
||||
if(!StringUtils.isBlank(input.getInstallment())){
|
||||
listPayIncomeContractInstallment = JSONArray.parseArray(input.getInstallment(),PayIncomeContractInstallment.class);
|
||||
if(!CollectionUtils.isEmpty(input.getInstallment())){
|
||||
listPayIncomeContractInstallment = input.getInstallment();
|
||||
}
|
||||
try {
|
||||
LambdaQueryWrapper<PayIncomeContract> query = new LambdaQueryWrapper<>();
|
||||
@@ -142,7 +139,6 @@ public class PayIncomeContractServiceImpl extends ServiceImpl<PayIncomeContractM
|
||||
if(!StringUtils.isBlank(sb)){
|
||||
msgPayIncomeContractInstallment.append("第").append(finalListPayIncomeContractInstallment.indexOf(p)).append("阶段:").append(sb);
|
||||
}
|
||||
|
||||
});
|
||||
payIncomeContractInstallmentService.saveBatch(listPayIncomeContractInstallment);
|
||||
}
|
||||
@@ -158,11 +154,8 @@ public class PayIncomeContractServiceImpl extends ServiceImpl<PayIncomeContractM
|
||||
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)){
|
||||
PayIncomeContract payIncomeContract = input.getContract();
|
||||
if(Objects.isNull(input.getContract())){
|
||||
throw new JeroBootException("收入合同信息不能为空!");
|
||||
}
|
||||
StringBuilder msgPayIncomeContract = ValidUtil.validateAll(payIncomeContract);
|
||||
@@ -181,8 +174,8 @@ public class PayIncomeContractServiceImpl extends ServiceImpl<PayIncomeContractM
|
||||
throw new JeroBootException("收入合同不可编辑!");
|
||||
}
|
||||
List<PayIncomeContractInstallment> listPayIncomeContractInstallment = new ArrayList<>();
|
||||
if(!StringUtils.isBlank(input.getInstallment())){
|
||||
listPayIncomeContractInstallment = JSONArray.parseArray(input.getInstallment(),PayIncomeContractInstallment.class);
|
||||
if(!CollectionUtils.isEmpty(input.getInstallment())){
|
||||
listPayIncomeContractInstallment = input.getInstallment();
|
||||
}
|
||||
try {
|
||||
LambdaQueryWrapper<PayIncomeContract> query = new LambdaQueryWrapper<>();
|
||||
@@ -236,11 +229,7 @@ public class PayIncomeContractServiceImpl extends ServiceImpl<PayIncomeContractM
|
||||
|
||||
@Override
|
||||
@Transactional
|
||||
public List<ProjectOutput> associated(PayIncomeContractAssociatedInput input) {
|
||||
if(StringUtils.isBlank(input.getAssociated())){
|
||||
throw new JeroBootException("关联项目不能为空!");
|
||||
}
|
||||
List<PayIncomeContractAssociated> listPayIncomeContractAssociated = JSONArray.parseArray(input.getAssociated(),PayIncomeContractAssociated.class);
|
||||
public List<ProjectOutput> associated(List<PayIncomeContractAssociated> listPayIncomeContractAssociated) {
|
||||
if(CollectionUtils.isEmpty(listPayIncomeContractAssociated)){
|
||||
throw new JeroBootException("关联项目不能为空!");
|
||||
}
|
||||
@@ -255,13 +244,7 @@ public class PayIncomeContractServiceImpl extends ServiceImpl<PayIncomeContractM
|
||||
if(Objects.isNull(payIncomeContract)){
|
||||
throw new JeroBootException("合同不存在!");
|
||||
}
|
||||
LambdaQueryWrapper<PayIncomeContractAssociated> queryPayIncomeContractAssociated = new LambdaQueryWrapper<>();
|
||||
queryPayIncomeContractAssociated.eq(PayIncomeContractAssociated::getContractId,p.getContractId());
|
||||
queryPayIncomeContractAssociated.eq(PayIncomeContractAssociated::getProjectId,p.getProjectId());
|
||||
List<PayIncomeContractAssociated> listPayIncomeContractAssociatedNew = payIncomeContractAssociatedService.list(queryPayIncomeContractAssociated);
|
||||
if(!CollectionUtils.isEmpty(listPayIncomeContractAssociatedNew)){
|
||||
throw new JeroBootException("项目已被其他合同关联!");
|
||||
}
|
||||
|
||||
// 查看项目类型
|
||||
switch (String.valueOf(p.getProjectType())){
|
||||
case PayIncomeContractCommon.PROJECT_TYPE1:
|
||||
@@ -271,6 +254,12 @@ public class PayIncomeContractServiceImpl extends ServiceImpl<PayIncomeContractM
|
||||
if(Objects.isNull(payCommonProject)){
|
||||
throw new JeroBootException("项目不存在!");
|
||||
}
|
||||
// 验证企业是否正确
|
||||
if(!Objects.equals(payCommonProject.getChargeCompanyId(),payIncomeContract.getSignedCompanyId())){
|
||||
throw new JeroBootException("企业不匹配!");
|
||||
}
|
||||
// 验证项目是否已被关联
|
||||
getIncomeContractAssociated(p.getContractId(),p.getProjectId());
|
||||
// 合同选择打包,运行年份不是打包企业,添加打包企业
|
||||
if(Objects.equals(payIncomeContract.getPack(),PayIncomeContractCommon.PACK1)){
|
||||
LambdaUpdateWrapper<PayCommonProject> updatePayCommonProject = new LambdaUpdateWrapper<>();
|
||||
@@ -301,13 +290,19 @@ public class PayIncomeContractServiceImpl extends ServiceImpl<PayIncomeContractM
|
||||
if(CollectionUtils.isEmpty(listPayWorkingGroupSubItem)){
|
||||
throw new JeroBootException("工作组成员单位不存在!");
|
||||
}
|
||||
// 验证项目是否已被关联
|
||||
getIncomeContractAssociated(p.getContractId(),listPayWorkingGroupSubItem.get(0).getId());
|
||||
// 合同选择打包,运行年份不是打包企业,添加打包企业
|
||||
if(Objects.equals(payIncomeContract.getPack(),PayIncomeContractCommon.PACK1)){
|
||||
// 打包,将关联项目设置成打包
|
||||
LambdaUpdateWrapper<PayWorkingGroupSubItem> updatePayWorkingGroupSubItem = new LambdaUpdateWrapper<>();
|
||||
updatePayWorkingGroupSubItem.eq(PayWorkingGroupSubItem::getPack,PayIncomeContractCommon.PACK1);
|
||||
updatePayWorkingGroupSubItem.eq(PayWorkingGroupSubItem::getId,listPayWorkingGroupSubItem.get(0).getId());
|
||||
payWorkingGroupSubItemService.update(updatePayWorkingGroupSubItem);
|
||||
// todo 添加打包企业
|
||||
}
|
||||
// 更新项目id
|
||||
p.setProjectId(listPayWorkingGroupSubItem.get(0).getId());
|
||||
// 打包,将关联项目设置成打包
|
||||
LambdaUpdateWrapper<PayWorkingGroupSubItem> updatePayWorkingGroupSubItem = new LambdaUpdateWrapper<>();
|
||||
updatePayWorkingGroupSubItem.eq(PayWorkingGroupSubItem::getPack,PayIncomeContractCommon.PACK1);
|
||||
updatePayWorkingGroupSubItem.eq(PayWorkingGroupSubItem::getId,listPayWorkingGroupSubItem.get(0).getId());
|
||||
payWorkingGroupSubItemService.update(updatePayWorkingGroupSubItem);
|
||||
projectOutput.setProjectId(listPayWorkingGroupSubItem.get(0).getId());
|
||||
projectOutput.setProjectType(PayIncomeContractCommon.PROJECT_TYPE2);
|
||||
projectOutput.setChargeProject(payWorkingGroup.getWorkingGroupProject());
|
||||
@@ -331,6 +326,16 @@ public class PayIncomeContractServiceImpl extends ServiceImpl<PayIncomeContractM
|
||||
return listProjectOutput;
|
||||
}
|
||||
|
||||
private void getIncomeContractAssociated(String contractId,String projectId){
|
||||
LambdaQueryWrapper<PayIncomeContractAssociated> query = new LambdaQueryWrapper<>();
|
||||
query.eq(PayIncomeContractAssociated::getContractId,contractId);
|
||||
query.eq(PayIncomeContractAssociated::getProjectId,projectId);
|
||||
List<PayIncomeContractAssociated> list = payIncomeContractAssociatedService.list(query);
|
||||
if(!CollectionUtils.isEmpty(list)){
|
||||
throw new JeroBootException("项目已被其他合同关联!");
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
@Transactional
|
||||
public void cancelAssociated(PayIncomeContractAssociated payIncomeContractAssociated) {
|
||||
|
||||
+5
-2
@@ -1,9 +1,12 @@
|
||||
package com.jero.contract.vo;
|
||||
|
||||
import com.jero.contract.entity.PayIncomeContract;
|
||||
import com.jero.contract.entity.PayIncomeContractInstallment;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.util.List;
|
||||
|
||||
@Data
|
||||
public class PayIncomeContractInput implements Serializable {
|
||||
@@ -11,10 +14,10 @@ public class PayIncomeContractInput implements Serializable {
|
||||
* 合同数据
|
||||
*/
|
||||
@ApiModelProperty(value = "合同数据")
|
||||
private String contract;
|
||||
private PayIncomeContract contract;
|
||||
/**
|
||||
* 分期信息
|
||||
*/
|
||||
@ApiModelProperty(value = "分期信息")
|
||||
private String installment;
|
||||
private List<PayIncomeContractInstallment> installment;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user