From 78d7daf2573001828181fdd153d7f3157a6aaf16 Mon Sep 17 00:00:00 2001 From: liangqitao <12345678> Date: Tue, 14 Dec 2021 17:35:32 +0800 Subject: [PATCH] =?UTF-8?q?=E5=90=88=E5=90=8C=E7=AE=A1=E7=90=86-=E5=8E=BB?= =?UTF-8?q?=E6=8E=89=E5=AE=A1=E6=A0=B8=E6=B5=81=E7=A8=8B=EF=BC=8C=E6=B7=BB?= =?UTF-8?q?=E5=8A=A0=E4=BD=9C=E5=BA=9F=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../common/enums/CompanyMessageEnums.java | 7 +- .../common/enums/ManagementMessageEnums.java | 4 +- .../jero/common/enums/MessageUrlEnums.java | 9 +- .../common/PayIncomeContractCommon.java | 14 +- ...tractAssociatedCancellationController.java | 37 +++++ .../PayIncomeContractController.java | 77 ++++++++-- ...yIncomeContractAssociatedCancellation.java | 93 ++++++++++++ ...eContractAssociatedCancellationMapper.java | 15 ++ ...meContractAssociatedCancellationMapper.xml | 5 + ...ContractAssociatedCancellationService.java | 15 ++ .../service/IPayIncomeContractService.java | 11 ++ ...ractAssociatedCancellationServiceImpl.java | 19 +++ .../impl/PayIncomeContractServiceImpl.java | 132 +++++++++++++++--- 13 files changed, 395 insertions(+), 43 deletions(-) create mode 100644 jero-boot-incoming-payment/src/main/java/com/jero/contract/controller/PayIncomeContractAssociatedCancellationController.java create mode 100644 jero-boot-incoming-payment/src/main/java/com/jero/contract/entity/PayIncomeContractAssociatedCancellation.java create mode 100644 jero-boot-incoming-payment/src/main/java/com/jero/contract/mapper/PayIncomeContractAssociatedCancellationMapper.java create mode 100644 jero-boot-incoming-payment/src/main/java/com/jero/contract/mapper/xml/PayIncomeContractAssociatedCancellationMapper.xml create mode 100644 jero-boot-incoming-payment/src/main/java/com/jero/contract/service/IPayIncomeContractAssociatedCancellationService.java create mode 100644 jero-boot-incoming-payment/src/main/java/com/jero/contract/service/impl/PayIncomeContractAssociatedCancellationServiceImpl.java diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/common/enums/CompanyMessageEnums.java b/jero-boot-incoming-payment/src/main/java/com/jero/common/enums/CompanyMessageEnums.java index b307a099..05b8eacc 100644 --- a/jero-boot-incoming-payment/src/main/java/com/jero/common/enums/CompanyMessageEnums.java +++ b/jero-boot-incoming-payment/src/main/java/com/jero/common/enums/CompanyMessageEnums.java @@ -27,7 +27,12 @@ public enum CompanyMessageEnums { MSG13("QY_13_HYTZ_FBW_CREATE","会议通知","meetingName,busId"),//点击跳转到报名页面,meetingName,busId MSG14("QY_14_JFTZ_DZ_CREATE","缴费通知","projectName,amount"),//弹窗:查看该项目详情,projectName,amount MSG15("QY_15_KPTZ_KP_CREATE","开票通知","projectName"),//弹窗:查看该项目详情,projectName - MSG16("QY_16_HYTZ_NOT_AUDIT_CREATE","会议通知","");//弹窗:查看该会议详情 + MSG16("QY_16_HYTZ_NOT_AUDIT_CREATE","会议通知",""),//弹窗:查看该会议详情 + MSG17("QY_17_JFTZ_UPLOAD_VOUCHER","缴费通知","projectName"),//进入缴费凭证的页面 projectName + MSG18("QY_18_JFTZ_VOUCHER_CHECK","缴费通知","projectName"),//进入缴费凭证的页面 projectName + MSG19("QY_19_HYTZ_CANCELLATION","合同通知","contractNum,contractName"),//合同列表页 contractNum,contractName + MSG20("QY_20_HYTZ_NOT_AUDIT_CREATE","项目通知","projectName,"),//项目详情页/弹框 projectName + MSG21("QY_21_HYTZ_NOT_AUDIT_CREATE","合同通知","contractNum,contractName");//合同列表页 contractNum,contractName 对应原型的序号19 diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/common/enums/ManagementMessageEnums.java b/jero-boot-incoming-payment/src/main/java/com/jero/common/enums/ManagementMessageEnums.java index aef4ee6f..c048af58 100644 --- a/jero-boot-incoming-payment/src/main/java/com/jero/common/enums/ManagementMessageEnums.java +++ b/jero-boot-incoming-payment/src/main/java/com/jero/common/enums/ManagementMessageEnums.java @@ -24,7 +24,9 @@ public enum ManagementMessageEnums { MSG11("GL_11_DZTZ_DZ_CREATE","到账通知","projectName,time,amount"),//查看该项目详情, projectName,time,amount MSG12("GL_12_KPTZ_KP_CREATE","开票通知","projectName,time,amount,num"),//查看该项目详情,projectName,time,amount,num MSG13("GL_13_YJTZ_PJ_CREATE","邮寄通知","projectName"),//查看该项目详情, projectName - MSG14("GL_14_YJTZ_HT_CREATE","邮寄通知","contractName,contractNum");//跳转到合同的详情页面, contractNum,contractName + MSG14("GL_14_YJTZ_HT_CREATE","邮寄通知","contractName,contractNum"),//跳转到合同的详情页面, contractNum,contractName + MSG15("GL_15_XMTZ_UPLOAD_VOUCHER","项目通知","projectName"),//审核弹窗 projectName + MSG16("GL_16_HTTZ_HT_CANCELLATION","合同通知","contractNum,contractName");//合同详情页面 private String code; diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/common/enums/MessageUrlEnums.java b/jero-boot-incoming-payment/src/main/java/com/jero/common/enums/MessageUrlEnums.java index efebe528..96158196 100644 --- a/jero-boot-incoming-payment/src/main/java/com/jero/common/enums/MessageUrlEnums.java +++ b/jero-boot-incoming-payment/src/main/java/com/jero/common/enums/MessageUrlEnums.java @@ -26,6 +26,8 @@ public enum MessageUrlEnums { M_OPEN_TYPE12("M_OPEN_TYPE12","component","@comp/ProjectDetailModal"), M_OPEN_TYPE13("M_OPEN_TYPE13","component","@comp/ProjectDetailModal"), M_OPEN_TYPE14("M_OPEN_TYPE14","url","/contractManagement/RevenueContractDetail"), + M_OPEN_TYPE15("M_OPEN_TYPE15","component",""), + M_OPEN_TYPE16("M_OPEN_TYPE16","url","/contractManagement/RevenueContractDetail"), // todo 待定企业端 C_OPEN_TYPE1("C_OPEN_TYPE1","href",""), C_OPEN_TYPE2("C_OPEN_TYPE2","component","MessagePage/MeetingDetailModal"), @@ -42,7 +44,12 @@ public enum MessageUrlEnums { C_OPEN_TYPE13("C_OPEN_TYPE13","href",""), C_OPEN_TYPE14("C_OPEN_TYPE14","component","MessagePage/ProjectDetailModal"), C_OPEN_TYPE15("C_OPEN_TYPE15","component","MessagePage/ProjectDetailModal"), - C_OPEN_TYPE16("C_OPEN_TYPE16","component","MessagePage/ProjectDetailModal"); + C_OPEN_TYPE16("C_OPEN_TYPE16","component","MessagePage/ProjectDetailModal"), + C_OPEN_TYPE17("C_OPEN_TYPE17","url",""), + C_OPEN_TYPE18("C_OPEN_TYPE18","url",""), + C_OPEN_TYPE19("C_OPEN_TYPE19","url","/mineContract/MineContract"), + C_OPEN_TYPE20("C_OPEN_TYPE20","",""), + C_OPEN_TYPE21("C_OPEN_TYPE21","url","/mineContract/MineContract"); /** diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/contract/common/PayIncomeContractCommon.java b/jero-boot-incoming-payment/src/main/java/com/jero/contract/common/PayIncomeContractCommon.java index cbe373b7..c10d1745 100644 --- a/jero-boot-incoming-payment/src/main/java/com/jero/contract/common/PayIncomeContractCommon.java +++ b/jero-boot-incoming-payment/src/main/java/com/jero/contract/common/PayIncomeContractCommon.java @@ -8,25 +8,29 @@ import java.util.List; public class PayIncomeContractCommon { /** - * 合同状态(1:草稿,2:待审核,3:已通过,4:未通过,5:已存档) + * 合同状态(1:草稿,2:待审核,3:已通过,4:未通过,5:已存档,6:已作废) */ public final static Integer STATUS1 = 1; /** - * 合同状态(1:草稿,2:待审核,3:已通过,4:未通过,5:已存档) + * 合同状态(1:草稿,2:待审核,3:已通过,4:未通过,5:已存档,6:已作废) */ public final static Integer STATUS2 = 2; /** - * 合同状态(1:草稿,2:待审核,3:已通过,4:未通过,5:已存档) + * 合同状态(1:草稿,2:待审核,3:已通过,4:未通过,5:已存档,6:已作废) */ public final static Integer STATUS3 = 3; /** - * 合同状态(1:草稿,2:待审核,3:已通过,4:未通过,5:已存档) + * 合同状态(1:草稿,2:待审核,3:已通过,4:未通过,5:已存档,6:已作废) */ public final static Integer STATUS4 = 4; /** - * 合同状态(1:草稿,2:待审核,3:已通过,4:未通过,5:已存档) + * 合同状态(1:草稿,2:待审核,3:已通过,4:未通过,5:已存档,6:已作废) */ public final static Integer STATUS5 = 5; + /** + * 合同状态(1:草稿,2:待审核,3:已通过,4:未通过,5:已存档,6:已作废) + */ + public final static Integer STATUS6 = 6; /** * 是否打包(1:是,0:否) */ diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/contract/controller/PayIncomeContractAssociatedCancellationController.java b/jero-boot-incoming-payment/src/main/java/com/jero/contract/controller/PayIncomeContractAssociatedCancellationController.java new file mode 100644 index 00000000..96311719 --- /dev/null +++ b/jero-boot-incoming-payment/src/main/java/com/jero/contract/controller/PayIncomeContractAssociatedCancellationController.java @@ -0,0 +1,37 @@ +package com.jero.contract.controller; + +import java.util.Arrays; +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +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.system.query.QueryGenerator; +import com.jero.contract.entity.PayIncomeContractAssociatedCancellation; +import com.jero.contract.service.IPayIncomeContractAssociatedCancellationService; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; +import org.springframework.web.servlet.ModelAndView; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; + + /** + * @Description: pay_income_contract_associated_cancellation + * @Author: jeecg-boot + * @Date: 2021-12-14 + * @Version: V1.0 + */ +@Api(tags="pay_income_contract_associated_cancellation") +@RestController +@RequestMapping("/contract/payIncomeContractAssociatedCancellation") +@Slf4j +public class PayIncomeContractAssociatedCancellationController extends JeroController { + @Autowired + private IPayIncomeContractAssociatedCancellationService payIncomeContractAssociatedCancellationService; + +} 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 007b8a48..310aeec0 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 @@ -16,14 +16,8 @@ import com.jero.common.system.vo.LoginUser; import com.jero.common.util.DateUtils; import com.jero.common.util.oConvertUtils; import com.jero.contract.common.PayIncomeContractCommon; -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.service.IPayIncomeContractAssociatedService; -import com.jero.contract.service.IPayIncomeContractAuditService; -import com.jero.contract.service.IPayIncomeContractInstallmentService; -import com.jero.contract.service.IPayIncomeContractService; +import com.jero.contract.entity.*; +import com.jero.contract.service.*; import com.jero.contract.vo.*; import com.jero.mail.entity.PayMailContract; import com.jero.mail.service.IPayMailContractService; @@ -79,6 +73,8 @@ public class PayIncomeContractController extends JeroController submitAudit(@RequestBody PayIncomeContract payIncomeContract) { payIncomeContractService.submitAudit(payIncomeContract); - return Result.OK("提交审核成功!"); + return Result.OK("提交成功!"); } /** - * 审核 + * 审核(已废弃) * * @param payIncomeContractAudit 审核记录 */ @@ -364,6 +360,23 @@ public class PayIncomeContractController extends JeroController cancellation(@RequestBody PayIncomeContractAudit payIncomeContractAudit) { + if(StringUtils.isBlank(payIncomeContractAudit.getContractId())){ + return Result.error("id不能为空!"); + } + payIncomeContractService.cancellation(payIncomeContractAudit); + return Result.OK("操作成功!"); + } + /** * 归档 * @@ -440,8 +453,25 @@ public class PayIncomeContractController extends JeroController listProject = new ArrayList<>(); // 获取关联项目id - List listProject = payIncomeContractService.getAssociated(id); + if(Objects.equals(payIncomeContract.getStatus(),PayIncomeContractCommon.STATUS6)){ + LambdaQueryWrapper queryPayIncomeContractAssociatedCancellation = new LambdaQueryWrapper(); + queryPayIncomeContractAssociatedCancellation.eq(PayIncomeContractAssociatedCancellation::getContractId,payIncomeContract.getId()); + List listPayIncomeContractAssociatedCancellation = payIncomeContractAssociatedCancellationService.list(queryPayIncomeContractAssociatedCancellation); + if(!CollectionUtils.isEmpty(listPayIncomeContractAssociatedCancellation)){ + List finalListProject = listProject; + listPayIncomeContractAssociatedCancellation.forEach(p->{ + String s = JSON.toJSONString(p); + ProjectOutput projectOutput = JSONObject.parseObject(s,ProjectOutput.class); + projectOutput.setId(p.getAssociatedId()); + finalListProject.add(projectOutput); + }); + } + }else{ + listProject = payIncomeContractService.getAssociated(id); + } + LambdaQueryWrapper queryPayMailContract = new LambdaQueryWrapper<>(); queryPayMailContract.eq(PayMailContract::getContractId,id); queryPayMailContract.eq(PayMailContract::getPostStatus,PayIncomeContractCommon.POST_STATUS1); @@ -520,7 +550,24 @@ public class PayIncomeContractController extends JeroController listPayIncomeContractInstallment = payIncomeContractInstallmentService.list(queryPayIncomeContractInstallment); // 获取关联项目id - List listProject = payIncomeContractService.getAssociated(id); + List listProject = new ArrayList<>(); + // 获取关联项目id + if(Objects.equals(payIncomeContract.getStatus(),PayIncomeContractCommon.STATUS6)){ + LambdaQueryWrapper queryPayIncomeContractAssociatedCancellation = new LambdaQueryWrapper(); + queryPayIncomeContractAssociatedCancellation.eq(PayIncomeContractAssociatedCancellation::getContractId,payIncomeContract.getId()); + List listPayIncomeContractAssociatedCancellation = payIncomeContractAssociatedCancellationService.list(queryPayIncomeContractAssociatedCancellation); + if(!CollectionUtils.isEmpty(listPayIncomeContractAssociatedCancellation)){ + List finalListProject = listProject; + listPayIncomeContractAssociatedCancellation.forEach(p->{ + String s = JSON.toJSONString(p); + ProjectOutput projectOutput = JSONObject.parseObject(s,ProjectOutput.class); + projectOutput.setId(p.getAssociatedId()); + finalListProject.add(projectOutput); + }); + } + }else{ + listProject = payIncomeContractService.getAssociated(id); + } LambdaQueryWrapper queryPayIncomeContractAudit = new LambdaQueryWrapper<>(); queryPayIncomeContractAudit.in(PayIncomeContractAudit::getContractId,id); diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/contract/entity/PayIncomeContractAssociatedCancellation.java b/jero-boot-incoming-payment/src/main/java/com/jero/contract/entity/PayIncomeContractAssociatedCancellation.java new file mode 100644 index 00000000..082b1536 --- /dev/null +++ b/jero-boot-incoming-payment/src/main/java/com/jero/contract/entity/PayIncomeContractAssociatedCancellation.java @@ -0,0 +1,93 @@ +package com.jero.contract.entity; + +import java.io.Serializable; +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import lombok.Data; +import com.fasterxml.jackson.annotation.JsonFormat; +import org.springframework.format.annotation.DateTimeFormat; +import org.jeecgframework.poi.excel.annotation.Excel; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; + +/** + * @Description: pay_income_contract_associated_cancellation + * @Author: jeecg-boot + * @Date: 2021-12-14 + * @Version: V1.0 + */ +@Data +@TableName("pay_income_contract_associated_cancellation") +@Accessors(chain = true) +@EqualsAndHashCode(callSuper = false) +@ApiModel(value="pay_income_contract_associated_cancellation对象", description="pay_income_contract_associated_cancellation") +public class PayIncomeContractAssociatedCancellation implements Serializable { + private static final long serialVersionUID = 1L; + + /**主键*/ + @TableId(type = IdType.ASSIGN_ID) + @ApiModelProperty(value = "主键") + private java.lang.String id; + /**关联id*/ + @ApiModelProperty(value = "关联id") + private java.lang.String associatedId; + /**合同id*/ + @Excel(name = "合同id", width = 15) + @ApiModelProperty(value = "合同id") + private java.lang.String contractId; + /**项目id*/ + @Excel(name = "项目id", width = 15) + @ApiModelProperty(value = "项目id") + private java.lang.String projectId; + /**项目类型(1:普通项目,2:工作组项目,3:会议项目,4:会员项目,5:标协会员项目)*/ + @Excel(name = "项目类型(1:普通项目,2:工作组项目,3:会议项目,4:会员项目,5:标协会员项目)", width = 15) + @ApiModelProperty(value = "项目类型(1:普通项目,2:工作组项目,3:会议项目,4:会员项目,5:标协会员项目)") + private java.lang.Integer projectType; + /**来款项目*/ + @Excel(name = "来款项目", width = 15) + @ApiModelProperty(value = "来款项目") + private java.lang.String chargeProject; + /**来款用途*/ + @Excel(name = "来款用途", width = 15) + @ApiModelProperty(value = "来款用途") + private java.lang.String chargeUse; + /**来款单位*/ + @Excel(name = "来款单位", width = 15) + @ApiModelProperty(value = "来款单位") + private java.lang.String chargeCompanyName; + /**应收金额(元)*/ + @Excel(name = "应收金额(元)", width = 15) + @ApiModelProperty(value = "应收金额(元)") + private java.math.BigDecimal receivableAmount; + /**实收金额(元)*/ + @Excel(name = "实收金额(元)", width = 15) + @ApiModelProperty(value = "实收金额(元)") + private java.math.BigDecimal paidAmount; + /**负责人名称*/ + @Excel(name = "负责人名称", width = 15) + @ApiModelProperty(value = "负责人名称") + private java.lang.String principalName; + /**企业联系人*/ + @Excel(name = "企业联系人", width = 15) + @ApiModelProperty(value = "企业联系人") + private java.lang.String contactsName; + /**创建人*/ + @ApiModelProperty(value = "创建人") + private java.lang.String createBy; + /**创建时间*/ + @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss") + @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss") + @ApiModelProperty(value = "创建时间") + private java.util.Date createTime; + /**更新人*/ + @ApiModelProperty(value = "更新人") + private java.lang.String updateBy; + /**更新时间*/ + @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss") + @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss") + @ApiModelProperty(value = "更新时间") + private java.util.Date updateTime; +} diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/contract/mapper/PayIncomeContractAssociatedCancellationMapper.java b/jero-boot-incoming-payment/src/main/java/com/jero/contract/mapper/PayIncomeContractAssociatedCancellationMapper.java new file mode 100644 index 00000000..fb6173cb --- /dev/null +++ b/jero-boot-incoming-payment/src/main/java/com/jero/contract/mapper/PayIncomeContractAssociatedCancellationMapper.java @@ -0,0 +1,15 @@ +package com.jero.contract.mapper; + + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.jero.contract.entity.PayIncomeContractAssociatedCancellation; + +/** + * @Description: pay_income_contract_associated_cancellation + * @Author: jeecg-boot + * @Date: 2021-12-14 + * @Version: V1.0 + */ +public interface PayIncomeContractAssociatedCancellationMapper extends BaseMapper { + +} diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/contract/mapper/xml/PayIncomeContractAssociatedCancellationMapper.xml b/jero-boot-incoming-payment/src/main/java/com/jero/contract/mapper/xml/PayIncomeContractAssociatedCancellationMapper.xml new file mode 100644 index 00000000..92156a97 --- /dev/null +++ b/jero-boot-incoming-payment/src/main/java/com/jero/contract/mapper/xml/PayIncomeContractAssociatedCancellationMapper.xml @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/contract/service/IPayIncomeContractAssociatedCancellationService.java b/jero-boot-incoming-payment/src/main/java/com/jero/contract/service/IPayIncomeContractAssociatedCancellationService.java new file mode 100644 index 00000000..61a33e7d --- /dev/null +++ b/jero-boot-incoming-payment/src/main/java/com/jero/contract/service/IPayIncomeContractAssociatedCancellationService.java @@ -0,0 +1,15 @@ +package com.jero.contract.service; + + +import com.baomidou.mybatisplus.extension.service.IService; +import com.jero.contract.entity.PayIncomeContractAssociatedCancellation; + +/** + * @Description: pay_income_contract_associated_cancellation + * @Author: jeecg-boot + * @Date: 2021-12-14 + * @Version: V1.0 + */ +public interface IPayIncomeContractAssociatedCancellationService extends IService { + +} diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/contract/service/IPayIncomeContractService.java b/jero-boot-incoming-payment/src/main/java/com/jero/contract/service/IPayIncomeContractService.java index f2725aca..b25d4e3c 100644 --- a/jero-boot-incoming-payment/src/main/java/com/jero/contract/service/IPayIncomeContractService.java +++ b/jero-boot-incoming-payment/src/main/java/com/jero/contract/service/IPayIncomeContractService.java @@ -105,6 +105,17 @@ public interface IPayIncomeContractService extends IService { * @Exception */ void updateAudit(PayIncomeContractAudit payIncomeContractAudit); + + /** + * @Description 已作废 + * @Author lqt + * @Date 2021/9/5 + * @Param payIncomeContractAudit 审核记录 + * @Return + * @Exception + */ + void cancellation(PayIncomeContractAudit payIncomeContractAudit); + /** * @Description 归档 * @Author lqt diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/contract/service/impl/PayIncomeContractAssociatedCancellationServiceImpl.java b/jero-boot-incoming-payment/src/main/java/com/jero/contract/service/impl/PayIncomeContractAssociatedCancellationServiceImpl.java new file mode 100644 index 00000000..8f6cd0a9 --- /dev/null +++ b/jero-boot-incoming-payment/src/main/java/com/jero/contract/service/impl/PayIncomeContractAssociatedCancellationServiceImpl.java @@ -0,0 +1,19 @@ +package com.jero.contract.service.impl; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.jero.contract.entity.PayIncomeContractAssociatedCancellation; +import com.jero.contract.mapper.PayIncomeContractAssociatedCancellationMapper; +import com.jero.contract.service.IPayIncomeContractAssociatedCancellationService; +import org.springframework.stereotype.Service; + + +/** + * @Description: pay_income_contract_associated_cancellation + * @Author: jeecg-boot + * @Date: 2021-12-14 + * @Version: V1.0 + */ +@Service +public class PayIncomeContractAssociatedCancellationServiceImpl extends ServiceImpl implements IPayIncomeContractAssociatedCancellationService { + +} 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 507e587e..d7bd8829 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,5 +1,7 @@ package com.jero.contract.service.impl; +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.update.LambdaUpdateWrapper; @@ -8,22 +10,18 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.jero.common.common.RoleCommon; import com.jero.common.dto.SendMessageDTO; +import com.jero.common.enums.CompanyMessageEnums; import com.jero.common.enums.ManagementMessageEnums; import com.jero.common.exception.JeroBootException; import com.jero.common.service.SendMessageService; +import com.jero.common.system.api.ISysBaseAPI; import com.jero.common.system.vo.LoginUser; import com.jero.common.util.PasswordUtil; import com.jero.common.util.ValidUtil; import com.jero.contract.common.PayIncomeContractCommon; -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.entity.*; 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.service.*; import com.jero.contract.vo.PayIncomeContractInput; import com.jero.contract.vo.ProjectOutput; import com.jero.mail.entity.PayMailContract; @@ -46,7 +44,6 @@ import com.jero.modules.system.service.ISysUserService; import com.jero.pack.common.PackCommon; import com.jero.pack.entity.PayPackCompanyProject; import com.jero.pack.service.IPayPackCompanyProjectService; -import com.jero.project.common.PayProjectCommon; import com.jero.project.entity.PayCommonProject; import com.jero.project.entity.PayWorkingGroup; import com.jero.project.entity.PayWorkingGroupSubItem; @@ -118,6 +115,10 @@ public class PayIncomeContractServiceImpl extends ServiceImpl queryPageList(Page page, PayIncomeContract payIncomeContract, String chargeStatus,String projectName, String startTime, String endTime) { @@ -765,25 +766,35 @@ public class PayIncomeContractServiceImpl extends ServiceImpl updatePayIncomeContract = new LambdaUpdateWrapper<>(); updatePayIncomeContract.set(PayIncomeContract::getUpdateBy,sysUser.getUsername()); updatePayIncomeContract.set(PayIncomeContract::getUpdateTime,new Date()); updatePayIncomeContract.eq(PayIncomeContract::getId,payIncomeContract.getId()); - updatePayIncomeContract.set(PayIncomeContract::getStatus,PayIncomeContractCommon.STATUS2); + updatePayIncomeContract.set(PayIncomeContract::getStatus,PayIncomeContractCommon.STATUS3); payIncomeContractService.update(updatePayIncomeContract); - // 获取项目负责人,发送消息 + + // 更新到合同邮寄表 + PayMailContract payMailContract = new PayMailContract(); + PayContactsManagementTemporary payContactsManagementTemporary = payContactsManagementTemporaryService.getById(payIncomeContractNew.getSignedContactsTemporaryId()); + if(!Objects.isNull(payContactsManagementTemporary)){ + payMailContract.setMobile(payContactsManagementTemporary.getPhone()); + payMailContract.setEmail(payContactsManagementTemporary.getEmail()); + } + payMailContract.setContractId(payIncomeContractNew.getId()); + payMailContract.setPostStatus(PayIncomeContractCommon.POST_STATUS0); + payMailContract.setLiaisonMan(payIncomeContractNew.getContractName()); + payMailContractService.save(payMailContract); + // 获取财务人员,发送消息 List list = sysUserService.getRolesUser(Arrays.asList(RoleCommon.CWRY)); if(!CollectionUtils.isEmpty(list)){ list.forEach(p->{ @@ -792,7 +803,7 @@ public class PayIncomeContractServiceImpl extends ServiceImpl map = new HashMap<>(); @@ -800,9 +811,9 @@ public class PayIncomeContractServiceImpl extends ServiceImpl update = new LambdaUpdateWrapper<>(); + update.set(PayIncomeContract::getUpdateBy,sysUser.getUsername()); + update.set(PayIncomeContract::getUpdateTime,new Date()); + update.eq(PayIncomeContract::getId,payIncomeContractAudit.getContractId()); + update.set(PayIncomeContract::getStatus, PayIncomeContractCommon.STATUS6); + payIncomeContractService.update(update); + // 获取关联项目id + List listProject = payIncomeContractService.getAssociated(payIncomeContractAudit.getContractId()); + if(!CollectionUtils.isEmpty(listProject)){ + List list = new ArrayList<>(); + listProject.forEach(p->{ + String str = JSON.toJSONString(p); + PayIncomeContractAssociatedCancellation payIncomeContractAssociatedCancellation = JSONObject.parseObject(str,PayIncomeContractAssociatedCancellation.class); + payIncomeContractAssociatedCancellation.setId(null); + payIncomeContractAssociatedCancellation.setAssociatedId(p.getId()); + list.add(payIncomeContractAssociatedCancellation); + }); + payIncomeContractAssociatedCancellationService.saveBatch(list); + } + + // 发生送消息给 合同负责人;合同企业联系人 + // 合同负责人 + SysUser sysUserData = sysUserService.getById(payIncomeContractStatus.getPrincipalId()); + if(!Objects.isNull(sysUserData)){ + // 发送消息 + SendMessageDTO sendMessageDTO = new SendMessageDTO(); + if(!StringUtils.isBlank(sysUserData.getEmail())){ + sendMessageDTO.setEmail(PasswordUtil.decrypt(sysUserData.getEmail())); + } + if(!StringUtils.isEmpty(sysUserData.getPhone())){ + sendMessageDTO.setPhone(PasswordUtil.decrypt(sysUserData.getPhone())); + } + HashMap map = new HashMap<>(); + map.put("contractNum",payIncomeContractStatus.getContractNum()); + map.put("contractName",payIncomeContractStatus.getContractName()); + sendMessageDTO.setFromUser(sysUser.getUsername()); + sendMessageDTO.setToUser(sysUserData.getUsername()); + sendMessageDTO.setTemplateCode(ManagementMessageEnums.MSG16.getCode()); + sendMessageDTO.setTemplateParam(map); + sendMessageDTO.setBusType("M_OPEN_TYPE16"); + JSONObject json = new JSONObject(); + json.put("revenueId",payIncomeContractStatus.getId()); + json.put("contractNum",payIncomeContractStatus.getContractNum()); + json.put("contractType",PayIncomeContractCommon.CONTRACT_TYPE); + sendMessageDTO.setBusId(json.toJSONString()); + sendMessageService.SendMessageService(sendMessageDTO); + } + // 合同企业联系人 + PayContactsManagementTemporary payContactsManagementTemporary = payContactsManagementTemporaryService.getById(payIncomeContractStatus.getSignedContactsTemporaryId()); + if(!Objects.isNull(payContactsManagementTemporary)){ + // 发送消息 + SendMessageDTO sendMessageDTO = new SendMessageDTO(); + if(!StringUtils.isBlank(payContactsManagementTemporary.getEmail())){ + sendMessageDTO.setEmail(PasswordUtil.decrypt(payContactsManagementTemporary.getEmail())); + } + if(!StringUtils.isEmpty(payContactsManagementTemporary.getPhone())){ + sendMessageDTO.setPhone(PasswordUtil.decrypt(payContactsManagementTemporary.getPhone())); + sendMessageDTO.setToUser(PasswordUtil.decrypt(payContactsManagementTemporary.getPhone())); + } + HashMap map = new HashMap<>(); + map.put("contractNum",payIncomeContractStatus.getContractNum()); + map.put("contractName",payIncomeContractStatus.getContractName()); + sendMessageDTO.setFromUser(sysUser.getUsername()); + sendMessageDTO.setTemplateCode(CompanyMessageEnums.MSG19.getCode()); + sendMessageDTO.setTemplateParam(map); + sendMessageDTO.setBusType("C_OPEN_TYPE19"); + sendMessageService.SendMessageService(sendMessageDTO); + } + } + @Override @Transactional public void updateArchive(PayIncomeContractAudit payIncomeContractAudit) {