add:合同变更

This commit is contained in:
zhangqinlin
2022-04-01 18:09:41 +08:00
parent 1ce08f3600
commit a8db9f916b
20 changed files with 982 additions and 109 deletions
@@ -17,6 +17,7 @@ import com.jero.common.system.base.controller.JeroController;
import com.jero.common.system.vo.LoginUser;
import com.jero.common.util.PasswordUtil;
import com.jero.common.util.oConvertUtils;
import com.jero.contract.common.PayIncomeContractCommon;
import com.jero.contract.entity.PayIncomeContract;
import com.jero.contract.service.IPayIncomeContractService;
import com.jero.mail.entity.PayMailContracrList;
@@ -128,56 +129,57 @@ public class PayMailContractController extends JeroController<PayMailContract, I
payMailContract.setMobile(PasswordUtil.encrypt(payMailContract.getMobile()));
payMailContract.setMailer(sysUser.getUsername());
payMailContractService.updateById(payMailContract);
if(payMailContract.getContractType()== PayIncomeContractCommon.CONTRACT_TYPE2) {
if (!Objects.isNull(payMailContractData)) {
PayIncomeContract payIncomeContract = payIncomeContractService.getById(payMailContractData.getContractId());
if (Objects.isNull(payIncomeContract)) {
throw new JeroBootException("合同不存在!");
}
// 发给 合同负责人
SysUser sysUserInfo = sysUserService.getById(payIncomeContract.getPrincipalId());
// 发送消息
SendMessageDTO sendMessageDTO = new SendMessageDTO();
if (!org.apache.commons.lang3.StringUtils.isBlank(sysUserInfo.getEmail())) {
sendMessageDTO.setEmail(PasswordUtil.decrypt(sysUserInfo.getEmail()));
}
if (!org.apache.commons.lang3.StringUtils.isEmpty(sysUserInfo.getPhone())) {
sendMessageDTO.setPhone(PasswordUtil.decrypt(sysUserInfo.getPhone()));
}
HashMap<String, String> map = new HashMap<>();
map.put("contractName", payIncomeContract.getContractName());
map.put("contractNum", payIncomeContract.getContractNum());
sendMessageDTO.setFromUser(sysUser.getUsername());
sendMessageDTO.setToUser(sysUserInfo.getUsername());
sendMessageDTO.setTemplateCode(ManagementMessageEnums.MSG14.getCode());
sendMessageDTO.setTemplateParam(map);
sendMessageDTO.setBusType("M_OPEN_TYPE14");
JSONObject json = new JSONObject();
json.put("id", payMailContract.getPostNo());
sendMessageDTO.setBusId(json.toJSONString());
sendMessageService.SendMessageService(sendMessageDTO);
if (!Objects.isNull(payMailContractData)) {
PayIncomeContract payIncomeContract = payIncomeContractService.getById(payMailContractData.getContractId());
if(Objects.isNull(payIncomeContract)){
throw new JeroBootException("合同不存在!");
// 发给合同的签订单位合同联系人
SendMessageDTO sendMessageDTO1 = new SendMessageDTO();
if (!StringUtils.isBlank(payMailContractData.getEmail())) {
sendMessageDTO1.setEmail(PasswordUtil.decrypt(payMailContractData.getEmail()));
}
if (!StringUtils.isBlank(payMailContractData.getMobile())) {
sendMessageDTO1.setToUser(PasswordUtil.decrypt(payMailContractData.getMobile()));
sendMessageDTO1.setPhone(PasswordUtil.decrypt(payMailContractData.getMobile()));
}
HashMap<String, String> map1 = new HashMap<>();
if (!Objects.isNull(payIncomeContract)) {
map1.put("contractName", payIncomeContract.getContractName());
}
sendMessageDTO1.setFromUser(sysUser.getUsername());
sendMessageDTO1.setTemplateCode(CompanyMessageEnums.MSG10.getCode());
sendMessageDTO1.setTemplateParam(map1);
JSONObject jsonObject = new JSONObject();
jsonObject.put("id", payMailContract.getPostNo());
sendMessageDTO1.setBusId(jsonObject.toJSONString());
sendMessageDTO1.setBusType("C_OPEN_TYPE10");
sendMessageService.SendMessageService(sendMessageDTO1);
}
// 发给 合同负责人
SysUser sysUserInfo = sysUserService.getById(payIncomeContract.getPrincipalId());
// 发送消息
SendMessageDTO sendMessageDTO = new SendMessageDTO();
if(!org.apache.commons.lang3.StringUtils.isBlank(sysUserInfo.getEmail())){
sendMessageDTO.setEmail(PasswordUtil.decrypt(sysUserInfo.getEmail()));
}
if(!org.apache.commons.lang3.StringUtils.isEmpty(sysUserInfo.getPhone())){
sendMessageDTO.setPhone(PasswordUtil.decrypt(sysUserInfo.getPhone()));
}
HashMap<String,String> map = new HashMap<>();
map.put("contractName",payIncomeContract.getContractName());
map.put("contractNum",payIncomeContract.getContractNum());
sendMessageDTO.setFromUser(sysUser.getUsername());
sendMessageDTO.setToUser(sysUserInfo.getUsername());
sendMessageDTO.setTemplateCode(ManagementMessageEnums.MSG14.getCode());
sendMessageDTO.setTemplateParam(map);
sendMessageDTO.setBusType("M_OPEN_TYPE14");
JSONObject json = new JSONObject();
json.put("id",payMailContract.getPostNo());
sendMessageDTO.setBusId(json.toJSONString());
sendMessageService.SendMessageService(sendMessageDTO);
// 发给合同的签订单位合同联系人
SendMessageDTO sendMessageDTO1 = new SendMessageDTO();
if (!StringUtils.isBlank(payMailContractData.getEmail())) {
sendMessageDTO1.setEmail(PasswordUtil.decrypt(payMailContractData.getEmail()));
}
if (!StringUtils.isBlank(payMailContractData.getMobile())) {
sendMessageDTO1.setToUser(PasswordUtil.decrypt(payMailContractData.getMobile()));
sendMessageDTO1.setPhone(PasswordUtil.decrypt(payMailContractData.getMobile()));
}
HashMap<String, String> map1 = new HashMap<>();
if (!Objects.isNull(payIncomeContract)) {
map1.put("contractName", payIncomeContract.getContractName());
}
sendMessageDTO1.setFromUser(sysUser.getUsername());
sendMessageDTO1.setTemplateCode(CompanyMessageEnums.MSG10.getCode());
sendMessageDTO1.setTemplateParam(map1);
JSONObject jsonObject = new JSONObject();
jsonObject.put("id",payMailContract.getPostNo());
sendMessageDTO1.setBusId(jsonObject.toJSONString());
sendMessageDTO1.setBusType("C_OPEN_TYPE10");
sendMessageService.SendMessageService(sendMessageDTO1);
}
return Result.OK("操作成功!");
}
@@ -60,6 +60,10 @@ public class PayMailContracrList {
private java.lang.String postalCode;
@ApiModelProperty(value = "邮寄联系人地址")
private java.lang.String contactAddress;
@Dict(dicCode ="contract_type")
@ApiModelProperty(value = "合同类型")
private java.lang.String contractType;
@@ -92,4 +92,6 @@ public class PayMailContract implements Serializable {
@ApiModelProperty(value = "邮寄人(详情使用)")
@TableField(exist = false)
private String mailName;
@ApiModelProperty(value = "合同类型:1 支出合同,2 收入合同")
private Integer contractType;
}
@@ -2,25 +2,31 @@
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.jero.mail.mapper.PayMailContractMapper">
<select id="pageContract" resultType="com.jero.mail.entity.PayMailContracrList">
SELECT
pc.id,
pc.post_status as postStatus,
pc.send_method as sendMethod,
pc.post_no as postNo,
pc.liaison_man as liaisonMan,
pc.mobile,
pc.remark,
pc.mailer,
pc.send_date as sendDate,
pic.contract_num as contractNum,
pic.contract_name as contractName,
pic.signed_company_temporary_name as signedCompanyTemporaryName,
pic.principal_name as principalName,
pic.principal_id as principalId,
pcmt.postal_code as postalCode,
pcmt.contact_address as contactAddress,
pic.contract_amount as contractAmount FROM pay_mail_contract as pc left join pay_income_contract as pic on(pc.contract_id=pic.id) left join pay_contacts_management_temporary as pcmt on(pic.signed_contacts_temporary_id=pcmt.id)
select * from(
SELECT
pc.id,
pc.post_status as postStatus,
pc.send_method as sendMethod,
pc.post_no as postNo,
pc.liaison_man as liaisonMan,
pc.mobile,
pc.remark,
pc.mailer,
pc.send_date as sendDate,
pic.contract_num as contractNum,
pic.contract_name as contractName,
pic.signed_company_temporary_name as signedCompanyTemporaryName,
pic.principal_name as principalName,
pic.principal_id as principalId,
pcmt.postal_code as postalCode,
pcmt.contact_address as contactAddress,
pc.contract_type as contractType,
pc.create_time,
pic.contract_amount as contractAmount FROM pay_mail_contract as pc left join pay_income_contract as pic
on(pc.contract_id=pic.id) left join pay_contacts_management_temporary as pcmt
on(pic.signed_contacts_temporary_id=pcmt.id)
<where>
pc.contract_type='2'
<if test="payMailContracrList.contractNum !='' and payMailContracrList.contractNum !=null">
pic.contract_num like concat('%',concat(#{payMailContracrList.contractNum},'%'))
</if>
@@ -34,7 +40,45 @@ pic.contract_amount as contractAmount FROM pay_mail_contract as pc left join pay
and pic.principal_id = #{payMailContracrList.principalId}
</if>
</where>
order by post_status ASC , pc.create_time DESC
union all
SELECT
pc.id,
pc.post_status as postStatus,
pc.send_method as sendMethod,
pc.post_no as postNo,
pc.liaison_man as liaisonMan,
pc.mobile,
pc.remark,
pc.mailer,
pc.send_date as sendDate,
psc.contract_num as contractNum,
psc.contract_name as contractName,
psc.signed_company_temporary_name as signedCompanyTemporaryName,
psc.principal_name as principalName,
psc.principal_id as principalId,
psc.post_code as postalCode,
psc.address as contactAddress,
pc.contract_type as contractType,
pc.create_time,
psc.contract_amount as contractAmount FROM pay_mail_contract as pc left join pay_spending_contract as psc on(pc.contract_id=psc.id)
<where>
pc.contract_type='1'
<if test="payMailContracrList.contractNum !='' and payMailContracrList.contractNum !=null">
psc.contract_num like concat('%',concat(#{payMailContracrList.contractNum},'%'))
</if>
<if test="payMailContracrList.contractName !='' and payMailContracrList.contractName !=null">
and psc.contract_name like concat('%',concat(#{payMailContracrList.contractName},'%'))
</if>
<if test="payMailContracrList.signedCompanyTemporaryName !='' and payMailContracrList.signedCompanyTemporaryName !=null">
and psc.signed_company_temporary_name like concat('%',concat(#{payMailContracrList.signedCompanyTemporaryName},'%'))
</if>
<if test="payMailContracrList.principalId !='' and payMailContracrList.principalId !=null">
and psc.principal_id = #{payMailContracrList.principalId}
</if>
</where>
) pp
order by pp.postStatus ASC , pp.create_time DESC
</select>
<select id="checkOne" resultType="com.jero.mail.entity.PayMailContracrList">
@@ -99,4 +143,4 @@ pic.contract_amount as contractAmount FROM pay_mail_contract as pc left join pay
</select>
</mapper>
</mapper>