添加数据字典翻译
This commit is contained in:
+55
-62
@@ -1,6 +1,7 @@
|
||||
package com.jero.contract.controller;
|
||||
|
||||
import com.alibaba.fastjson.JSON;
|
||||
import com.alibaba.fastjson.JSONArray;
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
@@ -38,7 +39,6 @@ import org.apache.commons.lang3.StringUtils;
|
||||
import org.jeecgframework.poi.excel.def.MapExcelConstants;
|
||||
import org.jeecgframework.poi.excel.entity.ExportParams;
|
||||
import org.jeecgframework.poi.excel.entity.params.ExcelExportEntity;
|
||||
import org.jeecgframework.poi.excel.view.JeecgEntityExcelView;
|
||||
import org.jeecgframework.poi.excel.view.JeecgMapExcelView;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.core.env.Environment;
|
||||
@@ -146,10 +146,31 @@ public class PayIncomeContractController extends JeroController<PayIncomeContrac
|
||||
return Result.OK("编辑成功!");
|
||||
}
|
||||
|
||||
/**
|
||||
* 关联项目列表
|
||||
*
|
||||
* @param contractId 合同id
|
||||
* @return
|
||||
*/
|
||||
@AutoLog(value = "收入合同-关联")
|
||||
@ApiOperation(value="收入合同-关联", notes="收入合同-关联")
|
||||
@GetMapping(value = "/getAssociated")
|
||||
public Result<?> getAssociated(@RequestParam("contractId") String contractId) {
|
||||
List<ProjectOutput> list = payIncomeContractService.getAssociated(contractId);
|
||||
if(!CollectionUtils.isEmpty(list)){
|
||||
list.forEach(p->{
|
||||
if(!StringUtils.isBlank(p.getChargeUse())){
|
||||
p.setChargeUse_dictText(sysBaseAPI.translateDict("payment_charge_use",p.getChargeUse()));
|
||||
}
|
||||
});
|
||||
}
|
||||
return Result.OK(list);
|
||||
}
|
||||
|
||||
/**
|
||||
* 关联
|
||||
*
|
||||
* @param listPayIncomeContractAssociated
|
||||
* @param listPayIncomeContractAssociated 关联项目集合
|
||||
* @return
|
||||
*/
|
||||
@AutoLog(value = "收入合同-关联")
|
||||
@@ -163,7 +184,7 @@ public class PayIncomeContractController extends JeroController<PayIncomeContrac
|
||||
/**
|
||||
* 取消关联
|
||||
*
|
||||
* @param payIncomeContractAssociated
|
||||
* @param payIncomeContractAssociated 关联项目
|
||||
* @return
|
||||
*/
|
||||
@AutoLog(value = "收入合同-取消关联")
|
||||
@@ -171,7 +192,7 @@ public class PayIncomeContractController extends JeroController<PayIncomeContrac
|
||||
@PostMapping(value = "/cancelAssociated")
|
||||
public Result<?> cancelAssociated(@RequestBody PayIncomeContractAssociated payIncomeContractAssociated) {
|
||||
payIncomeContractService.cancelAssociated(payIncomeContractAssociated);
|
||||
return Result.OK("关联成功!");
|
||||
return Result.OK("取消关联成功!");
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -273,77 +294,50 @@ public class PayIncomeContractController extends JeroController<PayIncomeContrac
|
||||
if(payIncomeContract==null) {
|
||||
return Result.error("未找到对应数据");
|
||||
}
|
||||
|
||||
// 获取分期信息
|
||||
LambdaQueryWrapper<PayIncomeContractInstallment> queryPayIncomeContractInstallment = new LambdaQueryWrapper<>();
|
||||
queryPayIncomeContractInstallment.eq(PayIncomeContractInstallment::getContractId,payIncomeContract.getId());
|
||||
List<PayIncomeContractInstallment> listPayIncomeContractInstallment = payIncomeContractInstallmentService.list(queryPayIncomeContractInstallment);
|
||||
|
||||
// 获取关联项目id
|
||||
List<ProjectOutput> listProject = new ArrayList<>();
|
||||
LambdaQueryWrapper<PayIncomeContractAssociated> queryPayIncomeContractAssociated = new LambdaQueryWrapper<>();
|
||||
queryPayIncomeContractAssociated.eq(PayIncomeContractAssociated::getContractId,id);
|
||||
List<PayIncomeContractAssociated> listPayIncomeContractAssociated = payIncomeContractAssociatedService.list(queryPayIncomeContractAssociated);
|
||||
if(!CollectionUtils.isEmpty(listPayIncomeContractAssociated)){
|
||||
List<String> listId = listPayIncomeContractAssociated.stream().map(PayIncomeContractAssociated::getProjectId).collect(Collectors.toList());
|
||||
if(!CollectionUtils.isEmpty(listId)){
|
||||
// 普通项目
|
||||
LambdaQueryWrapper<PayCommonProject> queryPayCommonProject = new LambdaQueryWrapper<>();
|
||||
queryPayCommonProject.in(PayCommonProject::getId,listId);
|
||||
List<PayCommonProject> listPayCommonProject = payCommonProjectService.list(queryPayCommonProject);
|
||||
if(!CollectionUtils.isEmpty(listPayCommonProject)){
|
||||
listPayCommonProject.forEach(p->{
|
||||
ProjectOutput projectOutput = new ProjectOutput();
|
||||
projectOutput.setProjectId(p.getId());
|
||||
projectOutput.setProjectType(PayIncomeContractCommon.PROJECT_TYPE1);
|
||||
projectOutput.setChargeProject(p.getChargeProject());
|
||||
projectOutput.setChargeUse(p.getChargeUse());
|
||||
projectOutput.setChargeCompanyName(p.getChargeCompanyTemporaryName());
|
||||
projectOutput.setContactsName(p.getChargeCompanyTemporaryName());
|
||||
projectOutput.setPaidAmount(p.getPaidAmount());
|
||||
projectOutput.setReceivableAmount(p.getReceivableAmount());
|
||||
listProject.add(projectOutput);
|
||||
});
|
||||
}
|
||||
// 工作组项目
|
||||
LambdaQueryWrapper<PayWorkingGroupSubItem> queryPayWorkingGroupSubItem = new LambdaQueryWrapper<>();
|
||||
queryPayWorkingGroupSubItem.in(PayWorkingGroupSubItem::getId,listId);
|
||||
List<PayWorkingGroupSubItem> listPayWorkingGroupSubItem = payWorkingGroupSubItemService.list(queryPayWorkingGroupSubItem);
|
||||
if(!CollectionUtils.isEmpty(listPayWorkingGroupSubItem)){
|
||||
listPayWorkingGroupSubItem.forEach(p->{
|
||||
PayWorkingGroup payWorkingGroup = payWorkingGroupService.getById(p.getWorkingGroupId());
|
||||
ProjectOutput projectOutput = new ProjectOutput();
|
||||
projectOutput.setProjectId(p.getId());
|
||||
projectOutput.setProjectType(PayIncomeContractCommon.PROJECT_TYPE2);
|
||||
if(Objects.isNull(payWorkingGroup)){
|
||||
projectOutput.setChargeProject(payWorkingGroup.getWorkingGroupProject());
|
||||
}
|
||||
projectOutput.setChargeProject(p.getChargeProject());
|
||||
projectOutput.setChargeCompanyName(p.getChargeCompanyTemporaryName());
|
||||
projectOutput.setContactsName(p.getChargeCompanyTemporaryName());
|
||||
projectOutput.setPaidAmount(p.getPaidAmount());
|
||||
projectOutput.setReceivableAmount(p.getReceivableAmount());
|
||||
listProject.add(projectOutput);
|
||||
});
|
||||
}
|
||||
// todo 会议项目
|
||||
// todo 会员项目
|
||||
}
|
||||
}
|
||||
// 获取存档记录
|
||||
List<ProjectOutput> listProject = payIncomeContractService.getAssociated(id);
|
||||
|
||||
LambdaQueryWrapper<PayIncomeContractAudit> queryPayIncomeContractAudit = new LambdaQueryWrapper<>();
|
||||
queryPayIncomeContractAudit.in(PayIncomeContractAudit::getContractId,id);
|
||||
List<PayIncomeContractAudit> listPayIncomeContractAudit = payIncomeContractAuditService.list(queryPayIncomeContractAudit);
|
||||
List<PayIncomeContractAudit> listArchive = listPayIncomeContractAudit.stream().filter(p->Objects.equals(p.getContractStatus(), PayIncomeContractCommon.STATUS5)).collect(Collectors.toList());
|
||||
// 获取审核记录
|
||||
List<PayIncomeContractAudit> listAudit = listPayIncomeContractAudit.stream().filter(p->!Objects.equals(p.getContractStatus(), PayIncomeContractCommon.STATUS5)).collect(Collectors.toList());
|
||||
List<PayIncomeContractAuditOutput> listArchive = new ArrayList<>();
|
||||
List<PayIncomeContractAuditOutput> listAudit = new ArrayList<>();
|
||||
if(!CollectionUtils.isEmpty(listPayIncomeContractAudit)){
|
||||
String str = JSON.toJSONString(listPayIncomeContractAudit);
|
||||
List<PayIncomeContractAuditOutput> listAll = JSONArray.parseArray(str,PayIncomeContractAuditOutput.class);
|
||||
listAll.forEach(p->{
|
||||
if(!Objects.isNull(p.getContractStatus())){
|
||||
p.setContractStatus_dictText(sysBaseAPI.translateDict("revenue_contract_status",String.valueOf(p.getContractStatus())));
|
||||
}
|
||||
});
|
||||
// 获取存档记录
|
||||
listArchive = listAll.stream().filter(p->Objects.equals(p.getContractStatus(), PayIncomeContractCommon.STATUS5)).collect(Collectors.toList());
|
||||
// 获取审核记录
|
||||
listAudit = listAll.stream().filter(p->!Objects.equals(p.getContractStatus(), PayIncomeContractCommon.STATUS5)).collect(Collectors.toList());
|
||||
}
|
||||
|
||||
String str = JSON.toJSONString(payIncomeContract);
|
||||
PayIncomeContractDetailOutput payIncomeContractDetailOutput = JSONObject.parseObject(str,PayIncomeContractDetailOutput.class);
|
||||
// 字典翻译
|
||||
payIncomeContractDetailOutput.setOpening_dictText(sysBaseAPI.translateDict("yn",String.valueOf(payIncomeContract.getOpening())));
|
||||
payIncomeContractDetailOutput.setAccountStatus_dictText(sysBaseAPI.translateDict("revenue_contract_account_status",String.valueOf(payIncomeContract.getAccountStatus())));
|
||||
payIncomeContractDetailOutput.setPack_dictText(sysBaseAPI.translateDict("yn",String.valueOf(payIncomeContract.getPack())));
|
||||
payIncomeContractDetailOutput.setContractStatus_dictText(sysBaseAPI.translateDict("revenue_contract_status",String.valueOf(payIncomeContract.getStatus())));
|
||||
if(!CollectionUtils.isEmpty(listPayIncomeContractInstallment)){
|
||||
payIncomeContractDetailOutput.setListInstallment(listPayIncomeContractInstallment);
|
||||
}
|
||||
if(!CollectionUtils.isEmpty(listProject)){
|
||||
listProject.sort((m1,m2)->m2.getCreateTime().compareToIgnoreCase(m1.getCreateTime()));
|
||||
listProject.forEach(p->{
|
||||
if(!StringUtils.isBlank(p.getChargeUse())){
|
||||
p.setChargeUse_dictText(sysBaseAPI.translateDict("payment_charge_use",p.getChargeUse()));
|
||||
}
|
||||
});
|
||||
payIncomeContractDetailOutput.setListProject(listProject);
|
||||
}
|
||||
if(!CollectionUtils.isEmpty(listArchive)){
|
||||
@@ -380,7 +374,6 @@ public class PayIncomeContractController extends JeroController<PayIncomeContrac
|
||||
}
|
||||
List<Map<String,String>> list = new ArrayList<>();
|
||||
// excel字段长度
|
||||
// todo 缺少字典转换
|
||||
Map<String,Integer> mapCount = new HashMap<>();
|
||||
mapCount.put("count",0);
|
||||
if(!CollectionUtils.isEmpty(exportList)){
|
||||
@@ -392,9 +385,9 @@ public class PayIncomeContractController extends JeroController<PayIncomeContrac
|
||||
exportList.forEach(p->{
|
||||
String str = JSON.toJSONString(p);
|
||||
Map<String,String> map = JSONObject.parseObject(str,Map.class);
|
||||
map.put("opening",sysBaseAPI.translateDict("revenue_contract_open",String.valueOf(p.getOpening())));
|
||||
map.put("opening",sysBaseAPI.translateDict("yn",String.valueOf(p.getOpening())));
|
||||
map.put("accountStatus",sysBaseAPI.translateDict("revenue_contract_account_status",String.valueOf(p.getAccountStatus())));
|
||||
map.put("pack",sysBaseAPI.translateDict("pack_status",String.valueOf(p.getPack())));
|
||||
map.put("pack",sysBaseAPI.translateDict("yn",String.valueOf(p.getPack())));
|
||||
List<PayIncomeContractInstallment> listSub = listPayIncomeContractInstallment.stream().filter(item->
|
||||
Objects.equals(p.getId(),item.getContractId())).collect(Collectors.toList());
|
||||
if(!CollectionUtils.isEmpty(listSub)){
|
||||
|
||||
+8
-3
@@ -4,6 +4,7 @@ import java.io.Serializable;
|
||||
import com.baomidou.mybatisplus.annotation.IdType;
|
||||
import com.baomidou.mybatisplus.annotation.TableId;
|
||||
import com.baomidou.mybatisplus.annotation.TableName;
|
||||
import com.jero.common.aspect.annotation.Dict;
|
||||
import lombok.Data;
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
import org.springframework.format.annotation.DateTimeFormat;
|
||||
@@ -79,10 +80,11 @@ public class PayIncomeContract implements Serializable {
|
||||
@ApiModelProperty(value = "临时签订单位联系人名称")
|
||||
@Size(max = 50, message = "临时签订单位联系人名称长度不能大于50个字符")
|
||||
private java.lang.String signedContactsTemporaryName;
|
||||
/**是否开口(1为是,2为否)*/
|
||||
@Excel(name = "是否开口(1为是,2为否)", width = 15)
|
||||
@ApiModelProperty(value = "是否开口(1为是,2为否)")
|
||||
/**是否开口(1为是,0为否)*/
|
||||
@Excel(name = "是否开口(1为是,0为否)", width = 15)
|
||||
@ApiModelProperty(value = "是否开口(1为是,0为否)")
|
||||
@Max(2)
|
||||
@Dict(dicCode = "yn")
|
||||
private java.lang.Integer opening;
|
||||
/**负责人id*/
|
||||
@Excel(name = "负责人id", width = 15)
|
||||
@@ -156,6 +158,7 @@ public class PayIncomeContract implements Serializable {
|
||||
@Excel(name = "账款状态(1:未支付,2:部分支付,3:已付全款)", width = 15)
|
||||
@ApiModelProperty(value = "账款状态(1:未支付,2:部分支付,3:已付全款)")
|
||||
@Max(value = 3,message = "账款状态格式错误")
|
||||
@Dict(dicCode = "revenue_contract_account_status")
|
||||
private java.lang.Integer accountStatus;
|
||||
/**合同约定付款次数*/
|
||||
@Excel(name = "合同约定付款次数", width = 15)
|
||||
@@ -164,6 +167,7 @@ public class PayIncomeContract implements Serializable {
|
||||
/**是否打包(1:是,2:否)*/
|
||||
@Excel(name = "是否打包(1:是,2:否)", width = 15)
|
||||
@ApiModelProperty(value = "是否打包(1:是,2:否)")
|
||||
@Dict(dicCode = "yn")
|
||||
private java.lang.Integer pack;
|
||||
/**打包年份*/
|
||||
@Excel(name = "打包年份", width = 15)
|
||||
@@ -172,6 +176,7 @@ public class PayIncomeContract implements Serializable {
|
||||
/**合同状态(1:草稿,2:已通过,3:未通过,4:已归档)*/
|
||||
@Excel(name = "合同状态(1:草稿,2:已通过,3:未通过,4:已归档)", width = 15)
|
||||
@ApiModelProperty(value = "合同状态(1:草稿,2:已通过,3:未通过,4:已归档)")
|
||||
@Dict(dicCode = "revenue_contract_status")
|
||||
private java.lang.Integer status;
|
||||
/**创建人*/
|
||||
@ApiModelProperty(value = "创建人")
|
||||
|
||||
+5
-3
@@ -4,6 +4,7 @@ import java.io.Serializable;
|
||||
import com.baomidou.mybatisplus.annotation.IdType;
|
||||
import com.baomidou.mybatisplus.annotation.TableId;
|
||||
import com.baomidou.mybatisplus.annotation.TableName;
|
||||
import com.jero.common.aspect.annotation.Dict;
|
||||
import lombok.Data;
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
import org.springframework.format.annotation.DateTimeFormat;
|
||||
@@ -35,9 +36,10 @@ public class PayIncomeContractAudit implements Serializable {
|
||||
@Excel(name = "合同id", width = 15)
|
||||
@ApiModelProperty(value = "合同id")
|
||||
private java.lang.String contractId;
|
||||
/**合同状态(2:已通过,3:未通过,4:已归档)*/
|
||||
@Excel(name = "合同状态(2:已通过,3:未通过,4:已归档)", width = 15)
|
||||
@ApiModelProperty(value = "合同状态(2:已通过,3:未通过,4:已归档)")
|
||||
/**合同状态(1:草稿,2:待审核,3:已通过,4:未通过,5:已归档)*/
|
||||
@Excel(name = "合同状态(1:草稿,2:待审核,3:已通过,4:未通过,5:已归档)", width = 15)
|
||||
@ApiModelProperty(value = "合同状态(1:草稿,2:待审核,3:已通过,4:未通过,5:已归档)")
|
||||
@Dict(dicCode = "revenue_contract_status")
|
||||
private java.lang.Integer contractStatus;
|
||||
/**拒绝说明*/
|
||||
@Excel(name = "拒绝说明", width = 15)
|
||||
|
||||
+14
@@ -6,8 +6,11 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.jero.contract.entity.PayIncomeContract;
|
||||
import com.jero.contract.vo.PayIncomeContractOutput;
|
||||
import com.jero.contract.vo.ProjectOutput;
|
||||
import org.apache.ibatis.annotations.Param;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* @Description: pay_income_contract
|
||||
* @Author: jeecg-boot
|
||||
@@ -27,4 +30,15 @@ public interface PayIncomeContractMapper extends BaseMapper<PayIncomeContract> {
|
||||
IPage<PayIncomeContractOutput> queryPageList(Page<PayIncomeContractOutput> page, @Param("payIncomeContract") PayIncomeContract payIncomeContract,
|
||||
@Param("chargeStatus") String chargeStatus,@Param("projectName") String projectName,
|
||||
@Param("startTime") String startTime, @Param("endTime") String endTime);
|
||||
|
||||
/**
|
||||
* @Description 关联项目列表
|
||||
* @Author lqt
|
||||
* @Date 2021/9/6
|
||||
* @Param contractId 合同id
|
||||
* @Return
|
||||
* @Exception
|
||||
*/
|
||||
// todo 缺少会议,会员项目数据
|
||||
List<ProjectOutput> getAssociated(@Param("contractId") String contractId);
|
||||
}
|
||||
|
||||
+35
@@ -75,4 +75,39 @@
|
||||
</where>
|
||||
GROUP BY pic.id ORDER BY pic.create_time desc
|
||||
</select>
|
||||
<select id="getAssociated" resultType="com.jero.contract.vo.ProjectOutput">
|
||||
SELECT * FROM (
|
||||
SELECT
|
||||
pcp.id AS projectId,
|
||||
'1' AS projectType,
|
||||
pcp.charge_project AS chargeProject,
|
||||
pcp.charge_use AS chargeUse,
|
||||
pcp.charge_company_temporary_name AS chargeCompanyName,
|
||||
pcp.receivable_amount AS receivableAmount,
|
||||
pcp.paid_amount AS paidAmount,
|
||||
pcp.principal_name AS principalName,
|
||||
pcp.contacts_temporary_name AS contactsName,
|
||||
pica.create_time AS createTime
|
||||
FROM pay_income_contract_associated pica
|
||||
JOIN pay_common_project pcp ON pica.project_id = pcp.id
|
||||
WHERE pica.contract_id = #{contractId}
|
||||
UNION ALL
|
||||
SELECT
|
||||
pwgs.id AS projectId,
|
||||
'2' AS projectType,
|
||||
pwg.working_group_project AS chargeProject,
|
||||
'' AS chargeUse,
|
||||
pwgs.charge_company_temporary_name AS chargeCompanyName,
|
||||
pwgs.receivable_amount AS receivableAmount,
|
||||
pwgs.paid_amount AS paidAmount,
|
||||
pwg.principal_name_a AS principalName,
|
||||
pwgs.contacts_temporary_name_one AS contactsName,
|
||||
pica.create_time AS createTime
|
||||
FROM pay_income_contract_associated pica
|
||||
JOIN pay_working_group_subitem pwgs ON pica.project_id = pwgs.id
|
||||
LEFT JOIN pay_working_group pwg ON pwgs.working_group_id = pwg.id
|
||||
WHERE pica.contract_id = #{contractId}
|
||||
) a
|
||||
ORDER BY createTime,projectId DESC
|
||||
</select>
|
||||
</mapper>
|
||||
+9
@@ -42,6 +42,15 @@ public interface IPayIncomeContractService extends IService<PayIncomeContract> {
|
||||
*/
|
||||
void addPayIncomeContractInput(PayIncomeContractInput input);
|
||||
/**
|
||||
* @Description 关联项目列表
|
||||
* @Author lqt
|
||||
* @Date 2021/9/6
|
||||
* @Param contractId 合同id
|
||||
* @Return
|
||||
* @Exception
|
||||
*/
|
||||
List<ProjectOutput> getAssociated(String contractId);
|
||||
/**
|
||||
* @Description 编辑
|
||||
* @Author lqt
|
||||
* @Date 2021/9/3
|
||||
|
||||
+56
-17
@@ -1,14 +1,12 @@
|
||||
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.conditions.update.LambdaUpdateWrapper;
|
||||
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.system.vo.LoginUser;
|
||||
import com.jero.common.util.ValidUtil;
|
||||
import com.jero.contract.common.PayIncomeContractCommon;
|
||||
import com.jero.contract.entity.PayIncomeContract;
|
||||
@@ -20,7 +18,6 @@ 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.PayIncomeContractAssociatedInput;
|
||||
import com.jero.contract.vo.PayIncomeContractInput;
|
||||
import com.jero.contract.vo.PayIncomeContractOutput;
|
||||
import com.jero.contract.vo.ProjectOutput;
|
||||
@@ -39,12 +36,14 @@ 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.apache.shiro.SecurityUtils;
|
||||
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.Date;
|
||||
import java.util.List;
|
||||
import java.util.Objects;
|
||||
import java.util.stream.Collectors;
|
||||
@@ -148,6 +147,11 @@ public class PayIncomeContractServiceImpl extends ServiceImpl<PayIncomeContractM
|
||||
// todo 缺少发送消息
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<ProjectOutput> getAssociated(String contractId) {
|
||||
return payIncomeContractMapper.getAssociated(contractId);
|
||||
}
|
||||
|
||||
@Override
|
||||
@Transactional
|
||||
public void editPayIncomeContractInput(PayIncomeContractInput input) {
|
||||
@@ -233,6 +237,7 @@ public class PayIncomeContractServiceImpl extends ServiceImpl<PayIncomeContractM
|
||||
if(CollectionUtils.isEmpty(listPayIncomeContractAssociated)){
|
||||
throw new JeroBootException("关联项目不能为空!");
|
||||
}
|
||||
LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
|
||||
List<ProjectOutput> listProjectOutput = new ArrayList<>();
|
||||
listPayIncomeContractAssociated.forEach(p->{
|
||||
ProjectOutput projectOutput = new ProjectOutput();
|
||||
@@ -263,8 +268,10 @@ public class PayIncomeContractServiceImpl extends ServiceImpl<PayIncomeContractM
|
||||
// 合同选择打包,运行年份不是打包企业,添加打包企业
|
||||
if(Objects.equals(payIncomeContract.getPack(),PayIncomeContractCommon.PACK1)){
|
||||
LambdaUpdateWrapper<PayCommonProject> updatePayCommonProject = new LambdaUpdateWrapper<>();
|
||||
updatePayCommonProject.eq(PayCommonProject::getPack,PayIncomeContractCommon.PACK1);
|
||||
updatePayCommonProject.eq(PayCommonProject::getId,p.getProjectId());
|
||||
updatePayCommonProject.set(PayCommonProject::getPack,PayIncomeContractCommon.PACK1);
|
||||
updatePayCommonProject.set(PayCommonProject::getUpdateBy,sysUser.getUsername());
|
||||
updatePayCommonProject.set(PayCommonProject::getUpdateTime,new Date());
|
||||
payCommonProjectService.update(updatePayCommonProject);
|
||||
// todo 添加打包企业
|
||||
}
|
||||
@@ -290,13 +297,19 @@ public class PayIncomeContractServiceImpl extends ServiceImpl<PayIncomeContractM
|
||||
if(CollectionUtils.isEmpty(listPayWorkingGroupSubItem)){
|
||||
throw new JeroBootException("工作组成员单位不存在!");
|
||||
}
|
||||
// 验证企业是否正确
|
||||
if(!Objects.equals(listPayWorkingGroupSubItem.get(0).getChargeCompanyId(),payIncomeContract.getSignedCompanyId())){
|
||||
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.set(PayWorkingGroupSubItem::getUpdateBy,sysUser.getUsername());
|
||||
updatePayWorkingGroupSubItem.set(PayWorkingGroupSubItem::getUpdateTime,new Date());
|
||||
updatePayWorkingGroupSubItem.set(PayWorkingGroupSubItem::getPack,PayIncomeContractCommon.PACK1);
|
||||
updatePayWorkingGroupSubItem.eq(PayWorkingGroupSubItem::getId,listPayWorkingGroupSubItem.get(0).getId());
|
||||
payWorkingGroupSubItemService.update(updatePayWorkingGroupSubItem);
|
||||
// todo 添加打包企业
|
||||
@@ -325,15 +338,27 @@ public class PayIncomeContractServiceImpl extends ServiceImpl<PayIncomeContractM
|
||||
});
|
||||
return listProjectOutput;
|
||||
}
|
||||
|
||||
/**
|
||||
* @Description 验证项目是否被合同关联
|
||||
* @Author lqt
|
||||
* @Date 2021/9/6
|
||||
* @Param contractId 合同id
|
||||
* @Param projectId 项目id
|
||||
* @Return
|
||||
* @Exception
|
||||
*/
|
||||
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)){
|
||||
List<PayIncomeContractAssociated> listNew = list.stream().filter(p->Objects.equals(p.getContractId(),contractId)).collect(Collectors.toList());
|
||||
if(!CollectionUtils.isEmpty(listNew)){
|
||||
throw new JeroBootException("项目已关联!");
|
||||
}
|
||||
throw new JeroBootException("项目已被其他合同关联!");
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -343,6 +368,7 @@ public class PayIncomeContractServiceImpl extends ServiceImpl<PayIncomeContractM
|
||||
if(Objects.isNull(payIncomeContract)){
|
||||
throw new JeroBootException("合同不存在!");
|
||||
}
|
||||
LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
|
||||
// 查看项目类型
|
||||
switch (String.valueOf(payIncomeContractAssociated.getProjectType())){
|
||||
case PayIncomeContractCommon.PROJECT_TYPE1:
|
||||
@@ -352,10 +378,12 @@ public class PayIncomeContractServiceImpl extends ServiceImpl<PayIncomeContractM
|
||||
if(Objects.isNull(payCommonProject)){
|
||||
throw new JeroBootException("项目不存在!");
|
||||
}
|
||||
// 将关联项目取消打包
|
||||
if(Objects.equals(payIncomeContract.getPack(),PayIncomeContractCommon.PACK1)){
|
||||
// todo 缺少查询项目是否为打包企业,是:保持不变,不是:取消打包 将关联项目取消打包
|
||||
if(Objects.equals(payIncomeContract.getPack(),PayIncomeContractCommon.PACK1) ){
|
||||
LambdaUpdateWrapper<PayCommonProject> updatePayCommonProject = new LambdaUpdateWrapper<>();
|
||||
updatePayCommonProject.eq(PayCommonProject::getPack,PayIncomeContractCommon.PACK0);
|
||||
updatePayCommonProject.set(PayCommonProject::getUpdateBy,sysUser.getUsername());
|
||||
updatePayCommonProject.set(PayCommonProject::getUpdateTime,new Date());
|
||||
updatePayCommonProject.set(PayCommonProject::getPack,PayIncomeContractCommon.PACK0);
|
||||
updatePayCommonProject.eq(PayCommonProject::getId,payIncomeContractAssociated.getProjectId());
|
||||
payCommonProjectService.update(updatePayCommonProject);
|
||||
}
|
||||
@@ -375,9 +403,11 @@ public class PayIncomeContractServiceImpl extends ServiceImpl<PayIncomeContractM
|
||||
}
|
||||
// 更新项目id
|
||||
payIncomeContractAssociated.setProjectId(listPayWorkingGroupSubItem.get(0).getId());
|
||||
// 将关联项目取消打包
|
||||
// todo 不是打包企业 取消打包 将关联项目取消打包
|
||||
LambdaUpdateWrapper<PayWorkingGroupSubItem> updatePayWorkingGroupSubItem = new LambdaUpdateWrapper<>();
|
||||
updatePayWorkingGroupSubItem.eq(PayWorkingGroupSubItem::getPack,PayIncomeContractCommon.PACK0);
|
||||
updatePayWorkingGroupSubItem.set(PayWorkingGroupSubItem::getUpdateBy,sysUser.getUsername());
|
||||
updatePayWorkingGroupSubItem.set(PayWorkingGroupSubItem::getUpdateTime,new Date());
|
||||
updatePayWorkingGroupSubItem.set(PayWorkingGroupSubItem::getPack,PayIncomeContractCommon.PACK0);
|
||||
updatePayWorkingGroupSubItem.eq(PayWorkingGroupSubItem::getId,listPayWorkingGroupSubItem.get(0).getId());
|
||||
payWorkingGroupSubItemService.update(updatePayWorkingGroupSubItem);
|
||||
break;
|
||||
@@ -389,11 +419,12 @@ public class PayIncomeContractServiceImpl extends ServiceImpl<PayIncomeContractM
|
||||
break;
|
||||
default:break;
|
||||
}
|
||||
payIncomeContractAssociatedService.save(payIncomeContractAssociated);
|
||||
payIncomeContractAssociatedService.removeById(payIncomeContractAssociated.getId());
|
||||
}
|
||||
|
||||
@Override
|
||||
public void submitAudit(PayIncomeContract payIncomeContract) {
|
||||
LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
|
||||
StringBuilder msgPayIncomeContractAudit = ValidUtil.validateAll(payIncomeContract);
|
||||
if(!StringUtils.isBlank(msgPayIncomeContractAudit)){
|
||||
throw new JeroBootException(msgPayIncomeContractAudit.toString());
|
||||
@@ -406,8 +437,10 @@ public class PayIncomeContractServiceImpl extends ServiceImpl<PayIncomeContractM
|
||||
throw new JeroBootException("合同不存在!");
|
||||
}
|
||||
LambdaUpdateWrapper<PayIncomeContract> updatePayIncomeContract = new LambdaUpdateWrapper<>();
|
||||
updatePayIncomeContract.set(PayIncomeContract::getUpdateBy,sysUser.getUsername());
|
||||
updatePayIncomeContract.set(PayIncomeContract::getUpdateTime,new Date());
|
||||
updatePayIncomeContract.eq(PayIncomeContract::getId,payIncomeContract.getId());
|
||||
updatePayIncomeContract.eq(PayIncomeContract::getStatus,PayIncomeContractCommon.STATUS3);
|
||||
updatePayIncomeContract.set(PayIncomeContract::getStatus,PayIncomeContractCommon.STATUS3);
|
||||
payIncomeContractService.update(updatePayIncomeContract);
|
||||
}
|
||||
|
||||
@@ -463,8 +496,11 @@ public class PayIncomeContractServiceImpl extends ServiceImpl<PayIncomeContractM
|
||||
&& StringUtils.isBlank(payIncomeContractAudit.getExplainRemarks())){
|
||||
throw new JeroBootException("请输入拒绝说明!");
|
||||
}
|
||||
LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
|
||||
LambdaUpdateWrapper<PayIncomeContract> update = new LambdaUpdateWrapper();
|
||||
update.eq(PayIncomeContract::getId,payIncomeContractAudit.getContractId());
|
||||
update.set(PayIncomeContract::getUpdateBy,sysUser.getUsername());
|
||||
update.set(PayIncomeContract::getUpdateTime,new Date());
|
||||
update.set(PayIncomeContract::getId,payIncomeContractAudit.getContractId());
|
||||
update.eq(PayIncomeContract::getStatus, payIncomeContractAudit.getContractStatus());
|
||||
payIncomeContractService.update(update);
|
||||
// 添加审核记录
|
||||
@@ -482,9 +518,12 @@ public class PayIncomeContractServiceImpl extends ServiceImpl<PayIncomeContractM
|
||||
if(!Objects.equals(payIncomeContractStatus.getStatus(),PayIncomeContractCommon.STATUS3)){
|
||||
throw new JeroBootException("收入合同不可归档!");
|
||||
}
|
||||
LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
|
||||
LambdaUpdateWrapper<PayIncomeContract> update = new LambdaUpdateWrapper();
|
||||
update.set(PayIncomeContract::getUpdateBy,sysUser.getUsername());
|
||||
update.set(PayIncomeContract::getUpdateTime,new Date());
|
||||
update.eq(PayIncomeContract::getId,id);
|
||||
update.eq(PayIncomeContract::getStatus, PayIncomeContractCommon.STATUS5);
|
||||
update.set(PayIncomeContract::getStatus, PayIncomeContractCommon.STATUS5);
|
||||
payIncomeContractService.update(update);
|
||||
// 添加归档记录
|
||||
PayIncomeContractAudit payIncomeContractAudit = new PayIncomeContractAudit();
|
||||
|
||||
+14
@@ -0,0 +1,14 @@
|
||||
package com.jero.contract.vo;
|
||||
|
||||
import com.jero.contract.entity.PayIncomeContractAudit;
|
||||
import lombok.Data;
|
||||
|
||||
import java.io.Serializable;
|
||||
|
||||
@Data
|
||||
public class PayIncomeContractAuditOutput extends PayIncomeContractAudit implements Serializable {
|
||||
/**
|
||||
* 合同状态(1:草稿,2:待审核,3:已通过,4:未通过,5:已归档)
|
||||
*/
|
||||
private String contractStatus_dictText;
|
||||
}
|
||||
+19
-2
@@ -11,6 +11,23 @@ import java.util.List;
|
||||
|
||||
@Data
|
||||
public class PayIncomeContractDetailOutput extends PayIncomeContract implements Serializable {
|
||||
|
||||
/**
|
||||
* 是否开口(1为是,0为否)
|
||||
*/
|
||||
private String opening_dictText;
|
||||
/**
|
||||
* 账款状态(1:未支付,2:部分支付,3:已付全款)
|
||||
*/
|
||||
private String accountStatus_dictText;
|
||||
/**
|
||||
* 是否打包(1:是,2:否)
|
||||
*/
|
||||
private String pack_dictText;
|
||||
/**
|
||||
* 合同状态(1:草稿,2:已通过,3:未通过,4:已归档)
|
||||
*/
|
||||
private String contractStatus_dictText;
|
||||
/**
|
||||
* 分期记录
|
||||
*/
|
||||
@@ -25,10 +42,10 @@ public class PayIncomeContractDetailOutput extends PayIncomeContract implements
|
||||
* 归档记录
|
||||
*/
|
||||
@ApiModelProperty(value = "归档记录")
|
||||
private List<PayIncomeContractAudit> listArchive;
|
||||
private List<PayIncomeContractAuditOutput> listArchive;
|
||||
/**
|
||||
* 审核记录
|
||||
*/
|
||||
@ApiModelProperty(value = "审核记录")
|
||||
private List<PayIncomeContractAudit> listAudit;
|
||||
private List<PayIncomeContractAuditOutput> listAudit;
|
||||
}
|
||||
|
||||
@@ -5,6 +5,7 @@ import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.util.Date;
|
||||
|
||||
@Data
|
||||
@ApiModel(value="关联项目", description="关联项目")
|
||||
@@ -30,6 +31,11 @@ public class ProjectOutput implements Serializable {
|
||||
*/
|
||||
@ApiModelProperty(value = "来款用途")
|
||||
private String chargeUse;
|
||||
/**
|
||||
* 来款用途
|
||||
*/
|
||||
@ApiModelProperty(value = "来款用途")
|
||||
private String chargeUse_dictText;
|
||||
/**
|
||||
* 来款单位
|
||||
*/
|
||||
@@ -59,5 +65,5 @@ public class ProjectOutput implements Serializable {
|
||||
* 创建时间
|
||||
*/
|
||||
@ApiModelProperty(value = "创建时间")
|
||||
private String createTime;
|
||||
private Date createTime;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user