Merge remote-tracking branch 'origin/master'

This commit is contained in:
baozhipeng
2021-09-10 16:01:34 +08:00
21 changed files with 548 additions and 144 deletions
@@ -68,8 +68,8 @@ public class PayIncomeContractCommon {
* 支出合同excel表头
*/
public final static List<String> LIST_SPENDING_CONTRACT = Arrays.asList("合同编号","合同名称","签订单位名称","签订单位联系人","是否开口","负责人",
"签订合同总金额","税率","未税金额","合同签订日期","合同终止日期","合同约定主要时点",
"应收金额","已收金额","合同约定付款次数","是否打包","打包年份");
"部门名称","签订合同总金额","税率","未税金额","合同签订日期","合同终止日期","合同约定主要时点",
"应收金额","已收金额","未收金额","账款状态","合同约定付款次数","是否打包","打包年份");
/**
* 支出合同分期信息excel 表头
*/
@@ -26,12 +26,10 @@ import com.jero.contract.service.IPayIncomeContractInstallmentService;
import com.jero.contract.service.IPayIncomeContractService;
import com.jero.contract.vo.*;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiModelProperty;
import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.collections.CollectionUtils;
import org.apache.commons.lang3.StringUtils;
import org.jeecgframework.poi.excel.annotation.Excel;
import org.jeecgframework.poi.excel.def.MapExcelConstants;
import org.jeecgframework.poi.excel.entity.ExportParams;
import org.jeecgframework.poi.excel.entity.params.ExcelExportEntity;
@@ -171,16 +171,16 @@ public class PaySpendingContract implements Serializable {
@ApiModelProperty(value = "创建人")
private String createBy;
/**创建时间*/
@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
@DateTimeFormat(pattern="yyyy-MM-dd")
@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
@DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
@ApiModelProperty(value = "创建时间")
private Date createTime;
/**更新人*/
@ApiModelProperty(value = "更新人")
private String updateBy;
/**更新时间*/
@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
@DateTimeFormat(pattern="yyyy-MM-dd")
@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
@DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
@ApiModelProperty(value = "更新时间")
private Date updateTime;
}
@@ -79,16 +79,16 @@ public class PaySpendingContractInstallment implements Serializable {
@ApiModelProperty(value = "创建人")
private String createBy;
/**创建时间*/
@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
@DateTimeFormat(pattern="yyyy-MM-dd")
@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
@DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
@ApiModelProperty(value = "创建时间")
private Date createTime;
/**更新人*/
@ApiModelProperty(value = "更新人")
private String updateBy;
/**更新时间*/
@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
@DateTimeFormat(pattern="yyyy-MM-dd")
@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
@DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
@ApiModelProperty(value = "更新时间")
private Date updateTime;
}
@@ -37,15 +37,13 @@
pic.create_time AS createTime,
pic.update_by AS updateBy,
pic.update_time AS updateTime,
if(pic.chargeStatus > 0,1,0) AS chargeStatus,
GROUP_CONCAT(project.projectName) AS associatedProject
FROM
(
select pay_income_contract.*,(select count(*) from pay_income_contract_installment
where contract_id = pay_income_contract.id AND accounts_receivable_time > DATE_FORMAT(NOW(),'%Y-%m-%d')
AND accounts_receivable_amount != 0 AND accounts_receivable_amount &lt; paid_amount) AS chargeStatus
FROM pay_income_contract
) pic
select if(count(*) > 0,1,0) from pay_income_contract_installment
where contract_id = pic.id AND accounts_receivable_time &lt; DATE_FORMAT(NOW(),'%Y-%m-%d')
AND accounts_receivable_amount != 0 AND accounts_receivable_amount > paid_amount
) AS chargeStatus,
GROUP_CONCAT(project.projectName) AS associatedProject
FROM pay_income_contract pic
LEFT JOIN pay_income_contract_associated pica ON pica.contract_id = pic.id
LEFT JOIN
(
@@ -80,7 +78,7 @@
AND aa.associatedProject LIKE CONCAT('%',CONCAT(#{projectName},'%'))
</if>
</where>
ORDER BY aa.chargeStatus,aa.createTime desc
ORDER BY aa.chargeStatus desc,aa.createTime desc
</select>
<select id="getAssociated" resultType="com.jero.contract.vo.ProjectOutput">
SELECT * FROM (
@@ -33,7 +33,11 @@
create_by AS createBy,
create_time AS createTime,
update_by AS updateBy,
update_time AS updateTime
update_time AS updateTime,
(select if(count(*) > 0,1,0) from pay_spending_contract_installment
where contract_id = pay_spending_contract.id AND accounts_receivable_time &lt; DATE_FORMAT(NOW(),'%Y-%m-%d')
AND accounts_receivable_amount != 0 AND accounts_receivable_amount > paid_amount
) AS chargeStatus
FROM pay_spending_contract
<where>
<if test="contractNum != null and contractNum != ''">
@@ -49,7 +53,7 @@
AND DATE_FORMAT(create_time,'%Y-%m-%d') &lt;= #{endTime}
</if>
</where>
ORDER BY create_time desc
ORDER BY chargeStatus desc,create_time desc
</select>
</mapper>
@@ -98,6 +98,10 @@ public class PayIncomeContractServiceImpl extends ServiceImpl<PayIncomeContractM
if(Objects.isNull(payIncomeContract)){
throw new JeroBootException("收入合同信息不能为空!");
}
if(!Objects.isNull(payIncomeContract.getAccountsReceivableAmount()) && !Objects.isNull(payIncomeContract.getAmountReceived())
&& payIncomeContract.getAccountsReceivableAmount().compareTo(payIncomeContract.getAmountReceived()) == -1){
throw new JeroBootException("应收金额大于已收金额!");
}
StringBuilder msgPayIncomeContract = ValidUtil.validateAll(payIncomeContract);
if(!StringUtils.isBlank(msgPayIncomeContract)){
throw new JeroBootException(msgPayIncomeContract.toString());
@@ -138,7 +142,11 @@ public class PayIncomeContractServiceImpl extends ServiceImpl<PayIncomeContractM
p.setContractId(payIncomeContract.getId());
StringBuilder sb = ValidUtil.validateAll(p);
if(!StringUtils.isBlank(sb)){
msgPayIncomeContractInstallment.append("").append(finalListPayIncomeContractInstallment.indexOf(p)).append("阶段:").append(sb);
msgPayIncomeContractInstallment.append("").append(finalListPayIncomeContractInstallment.indexOf(p) + 1).append("阶段:").append(sb);
}
if(!Objects.isNull(p.getAccountsReceivableAmount()) && !Objects.isNull(p.getPaidAmount())
&& p.getAccountsReceivableAmount().compareTo(p.getPaidAmount()) == -1){
msgPayIncomeContractInstallment.append("").append(finalListPayIncomeContractInstallment.indexOf(p) + 1).append("期应收金额大于已收金额!");
}
});
payIncomeContractInstallmentService.saveBatch(listPayIncomeContractInstallment);
@@ -164,6 +172,10 @@ public class PayIncomeContractServiceImpl extends ServiceImpl<PayIncomeContractM
if(Objects.isNull(input.getContract())){
throw new JeroBootException("收入合同信息不能为空!");
}
if(!Objects.isNull(payIncomeContract.getAccountsReceivableAmount()) && !Objects.isNull(payIncomeContract.getAmountReceived())
&& payIncomeContract.getAccountsReceivableAmount().compareTo(payIncomeContract.getAmountReceived()) == -1){
throw new JeroBootException("应收金额大于已收金额!");
}
StringBuilder msgPayIncomeContract = ValidUtil.validateAll(payIncomeContract);
if(!StringUtils.isBlank(msgPayIncomeContract)){
throw new JeroBootException(msgPayIncomeContract.toString());
@@ -221,7 +233,11 @@ public class PayIncomeContractServiceImpl extends ServiceImpl<PayIncomeContractM
p.setContractId(payIncomeContract.getId());
StringBuilder sb = ValidUtil.validateAll(p);
if(!StringUtils.isBlank(sb)){
msgPayIncomeContractInstallment.append("").append(finalListPayIncomeContractInstallment.indexOf(p)).append("阶段:").append(sb);
msgPayIncomeContractInstallment.append("").append(finalListPayIncomeContractInstallment.indexOf(p) + 1).append("阶段:").append(sb);
}
if(!Objects.isNull(p.getAccountsReceivableAmount()) && !Objects.isNull(p.getPaidAmount())
&& p.getAccountsReceivableAmount().compareTo(p.getPaidAmount()) == -1){
msgPayIncomeContractInstallment.append("").append(finalListPayIncomeContractInstallment.indexOf(p) + 1).append("期应收金额大于已收金额!");
}
});
payIncomeContractInstallmentService.saveBatch(listPayIncomeContractInstallment);
@@ -101,6 +101,10 @@ public class PaySpendingContractServiceImpl extends ServiceImpl<PaySpendingContr
if(Objects.isNull(paySpendingContract)){
throw new JeroBootException("支出合同信息不能为空!");
}
if(!Objects.isNull(paySpendingContract.getAccountsReceivableAmount()) && !Objects.isNull(paySpendingContract.getAmountReceived())
&& paySpendingContract.getAccountsReceivableAmount().compareTo(paySpendingContract.getAmountReceived()) == -1){
throw new JeroBootException("应收金额大于已收金额!");
}
StringBuilder msgPayIncomeContract = ValidUtil.validateAll(paySpendingContract);
if(!StringUtils.isBlank(msgPayIncomeContract)){
throw new JeroBootException(msgPayIncomeContract.toString());
@@ -129,7 +133,11 @@ public class PaySpendingContractServiceImpl extends ServiceImpl<PaySpendingContr
p.setContractId(paySpendingContract.getId());
StringBuilder sb = ValidUtil.validateAll(p);
if(!StringUtils.isBlank(sb)){
msgPaySpendingContractInstallment.append("").append(finalListPaySpendingContractInstallment.indexOf(p)).append("阶段:").append(sb);
msgPaySpendingContractInstallment.append("").append(finalListPaySpendingContractInstallment.indexOf(p) + 1).append("阶段:").append(sb);
}
if(!Objects.isNull(p.getAccountsReceivableAmount()) && !Objects.isNull(p.getPaidAmount())
&& p.getAccountsReceivableAmount().compareTo(p.getPaidAmount()) == -1){
msgPaySpendingContractInstallment.append("").append(finalListPaySpendingContractInstallment.indexOf(p) + 1).append("期应收金额大于已收金额!");
}
});
paySpendingContractInstallmentService.saveBatch(listPaySpendingContractInstallment);
@@ -149,6 +157,10 @@ public class PaySpendingContractServiceImpl extends ServiceImpl<PaySpendingContr
if(Objects.isNull(input.getContract())){
throw new JeroBootException("支出合同信息不能为空!");
}
if(!Objects.isNull(paySpendingContract.getAccountsReceivableAmount()) && !Objects.isNull(paySpendingContract.getAmountReceived())
&& paySpendingContract.getAccountsReceivableAmount().compareTo(paySpendingContract.getAmountReceived()) == -1){
throw new JeroBootException("应收金额大于已收金额!");
}
StringBuilder msgPayIncomeContract = ValidUtil.validateAll(paySpendingContract);
if(!StringUtils.isBlank(msgPayIncomeContract)){
throw new JeroBootException(msgPayIncomeContract.toString());
@@ -187,12 +199,16 @@ public class PaySpendingContractServiceImpl extends ServiceImpl<PaySpendingContr
}
// 新增
if(!CollectionUtils.isEmpty(listPaySpendingContractInstallment)){
List<PaySpendingContractInstallment> finalListPayIncomeContractInstallment = listPaySpendingContractInstallment;
List<PaySpendingContractInstallment> finalListPaySpendingContractInstallment = listPaySpendingContractInstallment;
listPaySpendingContractInstallment.forEach(p->{
p.setContractId(paySpendingContract.getId());
StringBuilder sb = ValidUtil.validateAll(p);
if(!StringUtils.isBlank(sb)){
msgPaySpendingContractInstallment.append("").append(finalListPayIncomeContractInstallment.indexOf(p)).append("阶段:").append(sb);
msgPaySpendingContractInstallment.append("").append(finalListPaySpendingContractInstallment.indexOf(p) + 1).append("阶段:").append(sb);
}
if(!Objects.isNull(p.getAccountsReceivableAmount()) && !Objects.isNull(p.getPaidAmount())
&& p.getAccountsReceivableAmount().compareTo(p.getPaidAmount()) == -1){
msgPaySpendingContractInstallment.append("").append(finalListPaySpendingContractInstallment.indexOf(p) + 1).append("期应收金额大于已收金额!");
}
});
paySpendingContractInstallmentService.saveBatch(listPaySpendingContractInstallment);
@@ -247,7 +263,7 @@ public class PaySpendingContractServiceImpl extends ServiceImpl<PaySpendingContr
if(!Objects.isNull(map)){
int count = map.size();
// 合同信息字段为20个,分期信息为5个
if(count < 17){
if(count < listSpendingContract.size()){
throw new JeroBootException("excel表头错误!");
}else {
listSpendingContract.forEach(p->{
@@ -255,20 +271,20 @@ public class PaySpendingContractServiceImpl extends ServiceImpl<PaySpendingContr
throw new JeroBootException("excel表头错误!");
}
});
int count1 = count - 17;
int count1 = count - listSpendingContract.size();
if(count1 != 0){
Pattern p = Pattern.compile("[0-9]*");
Matcher m = p.matcher(String.valueOf(count1 / 5));
if (!m.matches()){
throw new JeroBootException("excel表头错误!");
}
int count2 = count1/5;
int count2 = count1 / listSpendingContractInstallment.size();
for (int i = 1; i <= count2; i++) {
int finalI = i;
listSpendingContractInstallment.forEach(item->{
int n = listSpendingContractInstallment.indexOf(item) + 1;
if(Objects.equals((n + 1) + item,map.get(17 + finalI * n))){
throw new JeroBootException("excel表头误!");
if(Objects.equals((n + 1) + item,map.get(listSpendingContract.size() + finalI * n))){
throw new JeroBootException("导入的!" + n + "期阶段excel表头误!");
}
});
}
@@ -286,7 +302,7 @@ public class PaySpendingContractServiceImpl extends ServiceImpl<PaySpendingContr
if(n < 2){
return;
}
if(count < 17){
if(count < listSpendingContract.size()){
sb.append("").append(n + 1).append("行,excel数据错误!");
}else {
PaySpendingContractImportExcel paySpendingContractImportExcel = new PaySpendingContractImportExcel();
@@ -295,21 +311,21 @@ public class PaySpendingContractServiceImpl extends ServiceImpl<PaySpendingContr
if(!Objects.isNull(paySpendingContract)){
paySpendingContractImportExcel.setSpendingContract(paySpendingContract);
}
int count1 = count - 17;
int count1 = count - listSpendingContract.size();
if(count > 0){
Pattern p = Pattern.compile("[0-9]*");
Matcher m = p.matcher(String.valueOf(count1 / 5));
int count2 = count1 / listSpendingContractInstallment.size();
Matcher m = p.matcher(String.valueOf(count2));
if (!m.matches()){
throw new JeroBootException("excel数据错误!");
}
int count2 = count1/5;
List<PaySpendingContractInstallment> listPaySpendingContractInstallment = new ArrayList<>();
Pattern pattern = Pattern.compile("[0-9]*\\.?[0-9]+");
for (int i = 0; i < count2; i++) {
if(StringUtils.isBlank(sub.get(17 + (i * 5) + 0))){
if(StringUtils.isBlank(sub.get(listSpendingContract.size() + (i * 5) + 0))){
continue;
}
int mm = 17 + (i * 5);
int mm = listSpendingContract.size() + (i * listSpendingContractInstallment.size());
PaySpendingContractInstallment paySpendingContractInstallment = new PaySpendingContractInstallment();
paySpendingContractInstallment.setPhaseName(sub.get(mm + 0));
if(!StringUtils.isBlank(sub.get(mm + 1))){
@@ -379,9 +395,6 @@ public class PaySpendingContractServiceImpl extends ServiceImpl<PaySpendingContr
// 获取excel负责人
List<SysUser> listDBPrincipalName = sysUserService.list();
// 获取excel部门名称
List<SysDepart> listDepartmentName = sysDepartService.list();
// 校验excel中是否存在重复合同编号
List<PaySpendingContract> listPaySpendingContract = new ArrayList<>();
listPaySpendingContractImportExcel.forEach(p->{
@@ -448,10 +461,15 @@ public class PaySpendingContractServiceImpl extends ServiceImpl<PaySpendingContr
}else{
paySpendingContract.setPrincipalId(listDB.get(0).getId());
// 验证数据库中是否存在部门名称
List<SysDepart> listDB1 = listDepartmentName.stream().filter(item->
Objects.equals(listDB.get(0).getDepartIds(),item.getId())).collect(Collectors.toList());
if(!CollectionUtils.isEmpty(listDB1)){
paySpendingContract.setDepartmentName(listDB1.get(0).getDepartName());
Map<String, String> useDepNames = sysUserService.getDepNamesByUserIds(Arrays.asList(listDB.get(0).getId()));
if(!Objects.isNull(useDepNames)){
if(!Objects.equals(useDepNames.get(listDB.get(0).getId()),paySpendingContract.getDepartmentName())){
sb.append("").append(n + 1).append("行,部门名称不存在,请修改!");
}else{
paySpendingContract.setDepartmentName(useDepNames.get(listDB.get(0).getId()));
}
}else{
sb.append("").append(n + 1).append("行,部门名称不存在,请修改!");
}
}
}else{
@@ -460,9 +478,18 @@ public class PaySpendingContractServiceImpl extends ServiceImpl<PaySpendingContr
if(!Objects.isNull(paySpendingContract.getPack()) && StringUtils.isBlank(paySpendingContract.getPackYear())){
sb.append("").append(n + 1).append("行,打包年份不能为空,请修改!");
}
if(!Objects.isNull(paySpendingContract.getAccountsReceivableAmount()) && !Objects.isNull(paySpendingContract.getAmountReceived())
&& paySpendingContract.getAccountsReceivableAmount().compareTo(paySpendingContract.getAmountReceived()) == -1){
sb.append("").append(n + 1).append("行,应收金额大于已收金额,请修改!");
}
List<PaySpendingContractInstallment> listPaySpendingContractInstallment = p.getListInstallment();
if(!CollectionUtils.isEmpty(listPaySpendingContractInstallment)){
listPaySpendingContractInstallment.forEach(item->{
int c = listPaySpendingContractInstallment.indexOf(item) + 1;
if(!Objects.isNull(item.getAccountsReceivableAmount()) && !Objects.isNull(item.getPaidAmount())
&& item.getAccountsReceivableAmount().compareTo(item.getPaidAmount()) == -1){
sb.append("").append(n + 1).append("行,").append(c).append("期应收金额大于已收金额,请修改!");
}
StringBuilder msg = ValidUtil.validateExcel(item,n + 1);
if(!StringUtils.isBlank(msg)){
sb.append(msg.toString());
@@ -478,14 +505,15 @@ public class PaySpendingContractServiceImpl extends ServiceImpl<PaySpendingContr
listPaySpendingContractImportExcel.forEach(p->{
PaySpendingContract paySpendingContract = p.getSpendingContract();
paySpendingContract.setOutstandingAmount(paySpendingContract.getAccountsReceivableAmount().subtract(paySpendingContract.getAmountReceived()));
if(paySpendingContract.getAccountsReceivableAmount().compareTo(paySpendingContract.getAmountReceived()) == 1){
paySpendingContract.setAccountStatus(PayIncomeContractCommon.ACCOUNT_STATUS2);
}else if(paySpendingContract.getAccountsReceivableAmount().compareTo(paySpendingContract.getAmountReceived()) == 0){
if(paySpendingContract.getAccountsReceivableAmount().compareTo(paySpendingContract.getAmountReceived()) == 0){
paySpendingContract.setAccountStatus(PayIncomeContractCommon.ACCOUNT_STATUS3);
}else if(paySpendingContract.getAccountsReceivableAmount().compareTo(paySpendingContract.getAmountReceived()) == 1
&& paySpendingContract.getAmountReceived().compareTo(new BigDecimal("0.00")) != 0){
paySpendingContract.setAccountStatus(PayIncomeContractCommon.ACCOUNT_STATUS2);
}else{
paySpendingContract.setAccountStatus(PayIncomeContractCommon.ACCOUNT_STATUS1);
}
paySpendingContract.setNoTaxAmount(paySpendingContract.getContractAmount().subtract(paySpendingContract.getContractAmount().multiply(paySpendingContract.getRate().divide(new BigDecimal("100")))));
setPaySpendingContract(paySpendingContract);
paySpendingContractService.save(paySpendingContract);
List<PaySpendingContractInstallment> listPaySpendingContractInstallment = p.getListInstallment();
@@ -518,64 +546,65 @@ public class PaySpendingContractServiceImpl extends ServiceImpl<PaySpendingContr
}
});
paySpendingContract.setPrincipalName(map.get(5));
if(!StringUtils.isBlank(map.get(6))){
if(!pattern.matcher(map.get(6)).matches()){
sb.append("").append(n).append("行,签订合同总金额格式错误!");
}else{
paySpendingContract.setContractAmount(new BigDecimal(map.get(6)));
}
}
paySpendingContract.setDepartmentName(map.get(6));
if(!StringUtils.isBlank(map.get(7))){
if(!pattern.matcher(map.get(7)).matches()){
sb.append("").append(n).append("行,税率格式错误!");
sb.append("").append(n).append("行,签订合同总金额格式错误!");
}else{
paySpendingContract.setRate(new BigDecimal(map.get(7)));
paySpendingContract.setContractAmount(new BigDecimal(map.get(7)));
}
}
if(!StringUtils.isBlank(map.get(8)) ){
if(!StringUtils.isBlank(map.get(8))){
if(!pattern.matcher(map.get(8)).matches()){
sb.append("").append(n).append("行,未税金额格式错误!");
sb.append("").append(n).append("行,税率格式错误!");
}else{
paySpendingContract.setNoTaxAmount(new BigDecimal(map.get(8)));
paySpendingContract.setRate(new BigDecimal(map.get(8)));
}
}
if(!StringUtils.isBlank(map.get(9)) ){
if(!DateUtils.isValidDate(map.get(9))){
if(!pattern.matcher(map.get(9)).matches()){
sb.append("").append(n).append("行,未税金额格式错误!");
}else{
paySpendingContract.setNoTaxAmount(new BigDecimal(map.get(9)));
}
}
if(!StringUtils.isBlank(map.get(11)) ){
if(!DateUtils.isValidDate(map.get(11))){
sb.append("").append(n).append("行,合同签订日期格式不正确 <br/>");
}else{
paySpendingContract.setContractDate(DateUtils.str2Date(map.get(9),new SimpleDateFormat("yyyy-MM-dd")));
paySpendingContract.setContractDate(DateUtils.str2Date(map.get(11),new SimpleDateFormat("yyyy-MM-dd")));
}
}
if(!StringUtils.isBlank(map.get(10))){
if(!DateUtils.isValidDate(map.get(10))) {
if(!StringUtils.isBlank(map.get(12))){
if(!DateUtils.isValidDate(map.get(12))) {
sb.append("").append(n).append("行,合同终止日期格式不正确 <br/>");
}else{
paySpendingContract.setTerminationDate(DateUtils.str2Date(map.get(10),new SimpleDateFormat("yyyy-MM-dd")));
}
}
paySpendingContract.setContractTimePoints(map.get(11));
if(!StringUtils.isBlank(map.get(12))){
if(!pattern.matcher(map.get(12)).matches()){
sb.append("").append(n).append("行,应收金额格式错误!");
}else{
paySpendingContract.setAccountsReceivableAmount(new BigDecimal(map.get(12)));
paySpendingContract.setTerminationDate(DateUtils.str2Date(map.get(12),new SimpleDateFormat("yyyy-MM-dd")));
}
}
paySpendingContract.setContractTimePoints(map.get(13));
if(!StringUtils.isBlank(map.get(13))){
if(!pattern.matcher(map.get(13)).matches()){
sb.append("").append(n).append("行,应收金额格式错误!");
}else{
paySpendingContract.setAccountsReceivableAmount(new BigDecimal(map.get(13)));
}
}
if(!StringUtils.isBlank(map.get(14))){
if(!pattern.matcher(map.get(14)).matches()){
sb.append("").append(n).append("行,已收金额格式错误!");
}else{
paySpendingContract.setAmountReceived(new BigDecimal(map.get(13)));
paySpendingContract.setAmountReceived(new BigDecimal(map.get(14)));
}
}
paySpendingContract.setContractPaymentTimes(map.get(14));
paySpendingContract.setContractPaymentTimes(map.get(17));
mapPack.forEach((k,v)->{
if(Objects.equals(map.get(15),k)){
if(Objects.equals(map.get(18),k)){
paySpendingContract.setPack(Integer.parseInt(v));
}
});
paySpendingContract.setPackYear(map.get(16));
paySpendingContract.setPackYear(map.get(19));
return paySpendingContract;
}
@@ -12,7 +12,7 @@ public class PayIncomeContractOutput extends PayIncomeContract implements Serial
* 来款状态 0:全部 1:到期未付款
*/
@ApiModelProperty(value = "来款状态 0:全部 1:到期未付款")
private String chargeStatus;
private Integer chargeStatus;
/**
* 关联项目
*/
@@ -1,9 +1,15 @@
package com.jero.contract.vo;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.jero.common.aspect.annotation.Dict;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.jeecgframework.poi.excel.annotation.Excel;
import javax.validation.constraints.Max;
import javax.validation.constraints.Size;
import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;
@Data
public class PaySpendingContractExcelModel implements Serializable {
@@ -26,6 +32,9 @@ public class PaySpendingContractExcelModel implements Serializable {
/**负责人名称*/
@Excel(name = "负责人", width = 15)
private String principalName;
/**部门名称*/
@Excel(name = "部门名称", width = 15)
private String departmentName;
/**签订合同总金额*/
@Excel(name = "签订合同总金额", width = 15)
private String contractAmount;
@@ -50,6 +59,12 @@ public class PaySpendingContractExcelModel implements Serializable {
/**已收金额*/
@Excel(name = "已收金额", width = 15)
private String amountReceived;
/**未收金额*/
@Excel(name = "未收金额", width = 15)
private BigDecimal outstandingAmount;
/**账款状态(1:未支付,2:部分支付,3:已付全款)*/
@Excel(name = "账款状态", width = 15)
private Integer accountStatus;
/**合同约定付款次数*/
@Excel(name = "合同约定付款次数", width = 15)
private String contractPaymentTimes;
@@ -0,0 +1,20 @@
package com.jero.contract.vo;
import com.jero.contract.entity.PaySpendingContract;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.io.Serializable;
/**
* @Description: pay_spending_contract
* @Author: jeecg-boot
* @Date: 2021-09-07
* @Version: V1.0
*/
@Data
public class PaySpendingContractOutput extends PaySpendingContract implements Serializable {
/**
* 来款状态 0:全部 1:到期未付款
*/
@ApiModelProperty(value = "来款状态 0:全部 1:到期未付款")
private Integer chargeStatus;
}
@@ -144,6 +144,24 @@ public class PayDataDirectoryController extends JeroController<PayDataDirectory,
payDataDirectoryService.save(payDataDirectory);
return Result.OK("添加成功!");
}
/**
* 添加
* @return
*/
@Transactional
@AutoLog(value = "资料目录管理-新增定时父根会议目录")
@ApiOperation(value = "资料目录管理-新增定时父根会议目录", notes = "资料目录管理-新增定时父根会议目录")
@PostMapping(value = "/addMeetingDataDirectory")
public Result<?> addMeetingDataDirectory() {
PayDataDirectory payDataDirectory = new PayDataDirectory();
payDataDirectory.setType(2);
payDataDirectory.setParentId("0");
payDataDirectory.setCreateBy("admin");
payDataDirectory.setSort("0");
payDataDirectoryService.save(payDataDirectory);
return Result.OK("添加成功!");
}
/**
* 批量删除
@@ -264,10 +264,12 @@ public class PayDataFileController extends JeroController<PayDataFile, IPayDataF
@RequestParam(name="fileIds") String fileIds,
@RequestParam(name="dataType") int dataType,
@RequestParam(name="oldFileId") String oldFileId) {
iossFileService.removeById(oldFileId);
payDataFileService.removeById(keyId);
ArrayList<String> fileIdList = new ArrayList<>(Arrays.asList(fileIds.split(",")));
fileIdList.remove(oldFileId);
if(fileIdList.contains(oldFileId)&&fileIdList.size()>1){
fileIdList.remove(oldFileId);
iossFileService.removeById(oldFileId);
}
ArrayList<PayDataFile> list = new ArrayList<>();
stringBuffer = new StringBuffer();
findToTree(dataId, dataType);
@@ -393,17 +395,19 @@ public class PayDataFileController extends JeroController<PayDataFile, IPayDataF
@AutoLog(value = "分发")
@ApiOperation(value="分发", notes="分发")
@ApiImplicitParams({
@ApiImplicitParam(name = "FileName",value = "文件"),
@ApiImplicitParam(name = "fileId",value = "文件id"),
@ApiImplicitParam(name = "mails", value = "邮箱地址,多个以逗号隔开")
})
@GetMapping(value = "/distribute")
public Result<?> distribute(
@RequestParam(name="FileName",required = true) String FileName,
@RequestParam(name="fileId",required = true) String fileId,
@RequestParam(name="mails",required = true) String mails
) {
StringBuilder stringBuilder = new StringBuilder("会议邮件注意查收");
OSSFile byId = iossFileService.getById(fileId);
String fileName = byId.getFileName();
EmailSendMsgHandle emailHandle = new EmailSendMsgHandle();
emailHandle.SendMsgAndFile(mails, stringBuilder.toString(), stringBuilder.toString(), FileName);
emailHandle.SendMsgAndFile(mails, stringBuilder.toString(), stringBuilder.toString(), fileName);
return Result.OK("分发成功!");
}
@@ -416,17 +420,26 @@ public class PayDataFileController extends JeroController<PayDataFile, IPayDataF
@AutoLog(value = "批量分发")
@ApiOperation(value="批量分发", notes="批量分发")
@ApiImplicitParams({
@ApiImplicitParam(name = "FileNameS",value = "文件,多个以逗号隔开"),
@ApiImplicitParam(name = "fileIds",value = "文件id,多个以逗号隔开"),
@ApiImplicitParam(name = "mails", value = "邮箱地址,多个以逗号隔开")
})
@GetMapping(value = "/distributes")
public Result<?> distributes(
@RequestParam(name="FileNameS",required = true) String FileNameS,
@RequestParam(name="fileIds",required = true) String fileIds,
@RequestParam(name="mails",required = true) String mails
) {
StringBuilder stringBuilder = new StringBuilder("会议邮件注意查收");
EmailSendMsgHandle emailHandle = new EmailSendMsgHandle();
emailHandle.SendMsgAndFile(mails, stringBuilder.toString(), stringBuilder.toString(), FileNameS);
ArrayList<String> fileList = new ArrayList<>(Arrays.asList(fileIds.split(",")));
StringBuilder stringBuilder1 = new StringBuilder();
for(String id:fileList){
OSSFile byId = iossFileService.getById(id);
String fileName = byId.getFileName();
stringBuilder1.append(fileName+",");
}
int i = stringBuilder1.lastIndexOf(",");
stringBuilder1.deleteCharAt(i);
emailHandle.SendMsgAndFile(mails, stringBuilder.toString(), stringBuilder.toString(), stringBuilder1.toString());
return Result.OK("分发成功!");
}
@@ -55,4 +55,28 @@ public class MeetingSubitemCommon {
* 入住酒店
*/
public static final Integer CHECK_IN_HOTEL = 1;
/**
* 1未导入
*/
public static final Integer STATUS_1 = 1;
/**
* 2已导入
*/
public static final Integer STATUS_2 = 2;
/**
* 3参会人
*/
public static final Integer STATUS_3 = 3;
/**
* 未审核
*/
public static final Integer SIGNUP_STATUS_0 = 0;
/**
* 已审核
*/
public static final Integer SIGNUP_STATUS_1 = 1;
/**
* 已驳回
*/
public static final Integer SIGNUP_STATUS_2 = 2;
}
@@ -14,12 +14,15 @@ import com.jero.common.exception.JeroBootException;
import com.jero.common.system.api.ISysBaseAPI;
import com.jero.common.system.query.QueryGenerator;
import com.jero.common.system.vo.LoginUser;
import com.jero.meeting.common.MeetingSubitemCommon;
import com.jero.meeting.entity.PayMeetingSituation;
import com.jero.meeting.service.IPayMeetingSituationService;
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.meeting.vo.AddDockVO;
import com.jero.meeting.vo.CheckVO;
import com.jero.meeting.vo.ImportSituationsVO;
import com.jero.meeting.vo.PayMeetingSituationVO;
import lombok.extern.slf4j.Slf4j;
import com.jero.common.system.base.controller.JeroController;
@@ -32,12 +35,12 @@ import com.jero.common.aspect.annotation.AutoLog;
/**
* @description: 会议报名信息
* @description: 参会人员信息
* @author: jero-boot
* @date: 2021-09-02
* @version: V1.0
*/
@Api(tags="会议报名信息")
@Api(tags="参会人员信息")
@RestController
@RequestMapping("/meeting/payMeetingSituation")
@Slf4j
@@ -48,24 +51,42 @@ public class PayMeetingSituationController extends JeroController<PayMeetingSitu
/**
* 分页列表查询
*/
@AutoLog(value = "会议报名信息-分页列表查询")
@ApiOperation(value="会议报名信息-分页列表查询", notes="会议报名信息-分页列表查询")
@AutoLog(value = "参会人员信息-分页列表查询")
@ApiOperation(value="参会人员信息-分页列表查询", notes="参会人员信息-分页列表查询")
@GetMapping(value = "/page")
public Result<?> queryPageList(PayMeetingSituation payMeetingSituation,
@RequestParam(name="pageNo", defaultValue="1") Integer pageNo,
@RequestParam(name="pageSize", defaultValue="10") Integer pageSize,
HttpServletRequest req) {
QueryWrapper<PayMeetingSituation> queryWrapper = QueryGenerator.initQueryWrapper(payMeetingSituation, req.getParameterMap());
queryWrapper.ne("status", MeetingSubitemCommon.STATUS_1);
Page<PayMeetingSituation> page = new Page<>(pageNo, pageSize);
IPage<PayMeetingSituation> pageList = payMeetingSituationService.page(page, queryWrapper);
return Result.OK(pageList);
}
/**
* 分页列表查询
*/
@AutoLog(value = "报名信息-分页列表查询")
@ApiOperation(value="报名信息-分页列表查询", notes="报名信息-分页列表查询")
@GetMapping(value = "/signUpPage")
public Result<?> signUpPage(PayMeetingSituation payMeetingSituation,
@RequestParam(name="pageNo", defaultValue="1") Integer pageNo,
@RequestParam(name="pageSize", defaultValue="10") Integer pageSize,
HttpServletRequest req) {
QueryWrapper<PayMeetingSituation> queryWrapper = QueryGenerator.initQueryWrapper(payMeetingSituation, req.getParameterMap());
queryWrapper.ne("status",MeetingSubitemCommon.STATUS_3);
Page<PayMeetingSituation> page = new Page<>(pageNo, pageSize);
IPage<PayMeetingSituation> pageList = payMeetingSituationService.page(page, queryWrapper);
return Result.OK(pageList);
}
/**
* 列表查询
*/
@AutoLog(value = "会议报名信息-列表查询")
@ApiOperation(value="会议报名信息-列表查询", notes="会议报名信息-列表查询")
@AutoLog(value = "参会人员信息-列表查询")
@ApiOperation(value="参会人员信息-列表查询", notes="参会人员信息-列表查询")
@GetMapping(value = "/list")
public Result<List<PayMeetingSituation>> queryList() {
List<PayMeetingSituation> list = payMeetingSituationService.queryList();
@@ -73,21 +94,33 @@ public class PayMeetingSituationController extends JeroController<PayMeetingSitu
}
/**
* 添加
* 添加参会人
*/
@AutoLog(value = "会议报名信息-添加")
@ApiOperation(value="会议报名信息-添加", notes="会议报名信息-添加")
@AutoLog(value = "参会人员信息-添加参会人")
@ApiOperation(value="参会人员信息-添加参会人", notes="参会人员信息-添加参会人")
@PostMapping(value = "/add")
public Result<?> add(@RequestBody PayMeetingSituation payMeetingSituation) {
payMeetingSituationService.add(payMeetingSituation);
return Result.OK("添加成功!");
}
/**
* 报名
*/
@AutoLog(value = "报名信息-报名")
@ApiOperation(value="报名信息-报名", notes="报名信息-报名")
@PostMapping(value = "/signUp")
public Result<?> signUp(@RequestBody PayMeetingSituation payMeetingSituation) {
payMeetingSituationService.signUp(payMeetingSituation);
return Result.OK("添加成功!");
}
/**
* 编辑
*/
@AutoLog(value = "会议报名信息-编辑")
@ApiOperation(value="会议报名信息-编辑", notes="会议报名信息-编辑")
@AutoLog(value = "参会人员信息-编辑")
@ApiOperation(value="参会人员信息-编辑", notes="参会人员信息-编辑")
@PostMapping(value = "/edit")
public Result<?> edit(@RequestBody PayMeetingSituationVO payMeetingSituationVO) {
payMeetingSituationService.editById(payMeetingSituationVO);
@@ -97,8 +130,8 @@ public class PayMeetingSituationController extends JeroController<PayMeetingSitu
/**
* 通过id删除
*/
@AutoLog(value = "会议报名信息-通过id删除")
@ApiOperation(value="会议报名信息-通过id删除", notes="会议报名信息-通过id删除")
@AutoLog(value = "参会人员信息-通过id删除")
@ApiOperation(value="参会人员信息-通过id删除", notes="参会人员信息-通过id删除")
@GetMapping(value = "/delete")
public Result<?> delete(@RequestParam(name="id") String id) {
payMeetingSituationService.deleteById(id);
@@ -108,8 +141,8 @@ public class PayMeetingSituationController extends JeroController<PayMeetingSitu
/**
* 批量删除
*/
@AutoLog(value = "会议报名信息-批量删除")
@ApiOperation(value="会议报名信息-批量删除", notes="会议报名信息-批量删除")
@AutoLog(value = "参会人员信息-批量删除")
@ApiOperation(value="参会人员信息-批量删除", notes="参会人员信息-批量删除")
@GetMapping(value = "/deleteBatch")
public Result<?> deleteBatch(@RequestParam(name="ids") String ids) {
this.payMeetingSituationService.deleteByIds(Arrays.asList(ids.split(",")));
@@ -119,8 +152,8 @@ public class PayMeetingSituationController extends JeroController<PayMeetingSitu
/**
* 通过id查询
*/
@AutoLog(value = "会议报名信息-通过id查询")
@ApiOperation(value="会议报名信息-通过id查询", notes="会议报名信息-通过id查询")
@AutoLog(value = "参会人员信息-通过id查询")
@ApiOperation(value="参会人员信息-通过id查询", notes="参会人员信息-通过id查询")
@GetMapping(value = "/queryById")
public Result<?> queryById(@RequestParam(name="id") String id) {
PayMeetingSituation payMeetingSituation = payMeetingSituationService.queryById(id);
@@ -135,8 +168,19 @@ public class PayMeetingSituationController extends JeroController<PayMeetingSitu
*/
@GetMapping(value = "/exportXls")
public ModelAndView exportXls(HttpServletRequest request, PayMeetingSituation payMeetingSituation) {
return super.exportXls(request, payMeetingSituation, PayMeetingSituation.class, "会议报名信息");
return super.exportXls(request, payMeetingSituation, PayMeetingSituation.class, "参会人员信息");
}
/**
* 上传资料
*/
@AutoLog(value = "上传资料")
@ApiOperation(value="上传资料", notes="上传资料")
@PostMapping(value = "/uploadFile")
public Result<?> uploadFile(@RequestBody AddDockVO addDockVO) {
payMeetingSituationService.addDock(addDockVO);
return Result.OK("上传资料成功!");
}
/**
* 设置对接人
@@ -149,4 +193,26 @@ public class PayMeetingSituationController extends JeroController<PayMeetingSitu
return Result.OK("设置对接人成功!");
}
/**
* 审核
*/
@AutoLog(value = "审核")
@ApiOperation(value="审核", notes="审核")
@PostMapping(value = "/check")
public Result<?> check(@RequestBody CheckVO checkVO) {
payMeetingSituationService.check(checkVO);
return Result.OK("设置对接人成功!");
}
/**
* 导入参会人
*/
@AutoLog(value = "导入参会人")
@ApiOperation(value="导入参会人", notes="导入参会人")
@PostMapping(value = "/importSituations")
public Result<?> importSituations(@RequestBody ImportSituationsVO importSituationsVO) {
//payMeetingSituationService.importSituations(importSituationsVO);
return Result.OK("设置对接人成功!");
}
}
@@ -289,15 +289,20 @@ public class PayMeetingSituation implements Serializable {
@ApiModelProperty(value = "付款凭证")
private String paymentRecord;
/**状态(导入、未导入*/
@Excel(name = "状态(导入、未导入", width = 15)
@ApiModelProperty(value = "状态(导入、未导入")
/**状态(1未导入、2已导入、3参会人*/
@Excel(name = "状态(1未导入、2已导入、3参会人", width = 15)
@ApiModelProperty(value = "状态(1未导入、2已导入、3参会人")
private Integer status;
/**是否为新增*/
@Excel(name = "是否为新增", width = 15)
@ApiModelProperty(value = "是否为新增")
private Integer isNew;
/**是否为新增企业*/
@Excel(name = "是否为新增企业", width = 15)
@ApiModelProperty(value = "是否为新增企业")
private Integer newCompany;
/**是否为新增联系人*/
@Excel(name = "是否为新增联系人", width = 15)
@ApiModelProperty(value = "是否为新增联系人")
private Integer newContact;
/**
* 应收金额
@@ -357,4 +362,8 @@ public class PayMeetingSituation implements Serializable {
@ApiModelProperty(value = "审核备注")
@TableField(exist = false)
private String checkRemark;
@ApiModelProperty(value = "邀请码")
@TableField(exist = false)
private String invitationCode;
}
@@ -3,6 +3,7 @@ package com.jero.meeting.service;
import com.jero.meeting.entity.PayMeetingSituation;
import com.baomidou.mybatisplus.extension.service.IService;
import com.jero.meeting.vo.AddDockVO;
import com.jero.meeting.vo.CheckVO;
import com.jero.meeting.vo.PayMeetingSituationVO;
import java.util.List;
@@ -46,4 +47,8 @@ public interface IPayMeetingSituationService extends IService<PayMeetingSituatio
List<PayMeetingSituation> queryList();
void addDock(AddDockVO addDockVO);
void signUp(PayMeetingSituation payMeetingSituation);
void check(CheckVO checkVO);
}
@@ -1,13 +1,15 @@
package com.jero.meeting.service.impl;
import cn.hutool.core.util.ObjectUtil;
import cn.hutool.http.HttpUtil;
import cn.hutool.core.util.StrUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.jero.common.exception.JeroBootException;
import com.jero.common.system.api.ISysBaseAPI;
import com.jero.common.system.vo.LoginUser;
import com.jero.common.util.ValidUtil;
import com.jero.company.entity.PayCompanyManagement;
import com.jero.company.entity.PayContactsManagement;
import com.jero.company.service.IPayCompanyManagementService;
import com.jero.company.service.IPayContactsManagementService;
import com.jero.meeting.common.MeetingCommon;
import com.jero.meeting.common.MeetingSubitemCommon;
@@ -46,6 +48,8 @@ import javax.annotation.Resource;
@Service
@Transactional(propagation = Propagation.REQUIRES_NEW, rollbackFor = Exception.class)
public class PayMeetingSituationServiceImpl extends ServiceImpl<PayMeetingSituationMapper, PayMeetingSituation> implements IPayMeetingSituationService {
@Resource
private IPayCompanyManagementService companyManagementService;
@Resource
private IPayContactsManagementService contactsManagementService;
@Resource
@@ -63,12 +67,17 @@ public class PayMeetingSituationServiceImpl extends ServiceImpl<PayMeetingSituat
*/
@Override
public void add(PayMeetingSituation payMeetingSituation) {
payMeetingSituation.setStatus(MeetingSubitemCommon.STATUS_3);
PayMeetingSituation payMeetingSituation1 = getPayMeetingSituation(payMeetingSituation);
payMeetingSituation1.setStatus(PayProjectCommon.NO);
saveMeetingSituation(payMeetingSituation1);
}
private void saveMeetingSituation(PayMeetingSituation payMeetingSituation1) {
payMeetingSituation1.setCheckIn(PayProjectCommon.NO);
payMeetingSituation1.setCheckResult(PayProjectCommon.NO);
payMeetingSituation1.setCheckResult(MeetingSubitemCommon.SIGNUP_STATUS_0);
payMeetingSituation1.setPaidAmount(new BigDecimal("0"));
//到账
payMeetingSituation1.setInAccount(PayProjectCommon.IN_ACCOUNT0);
//开票
@@ -78,6 +87,58 @@ public class PayMeetingSituationServiceImpl extends ServiceImpl<PayMeetingSituat
save(payMeetingSituation1);
}
/**
* 报名
* @param payMeetingSituation
*/
@Override
public void signUp(PayMeetingSituation payMeetingSituation) {
payMeetingSituation.setStatus(MeetingSubitemCommon.STATUS_1);
String meetingId = payMeetingSituation.getMeetingId();
PayMeeting payMeeting = meetingService.getById(meetingId);
//会议类型
Integer meetingType = payMeeting.getMeetingType();
//如果是国际研讨会会议并且邀请码不为空就进行比对嘉宾身份
String invitationCode = payMeetingSituation.getInvitationCode();
if (meetingType.equals(Integer.parseInt(MeetingCommon.INTERNATIONAL_MEETING)) &&
StrUtil.isNotBlank(invitationCode)) {
String vipInvitationCode = payMeeting.getVipInvitationCode();
String speakerInvitationCode = payMeeting.getSpeakerInvitationCode();
String guestInvitationCode = payMeeting.getGuestInvitationCode();
String cooperativeInvitationCode = payMeeting.getCooperativeInvitationCode();
if (invitationCode.equals(vipInvitationCode)){
payMeetingSituation.setGuestType(MeetingSubitemCommon.VIP);
}else if (invitationCode.equals(speakerInvitationCode)){
payMeetingSituation.setGuestType(MeetingSubitemCommon.SPEAKER);
}else if (invitationCode.equals(guestInvitationCode)){
payMeetingSituation.setGuestType(MeetingSubitemCommon.GUEST);
}else if (invitationCode.equals(cooperativeInvitationCode)){
payMeetingSituation.setGuestType(MeetingSubitemCommon.COOPERATIVE);
}else {
throw new JeroBootException("邀请码无效");
}
payMeetingSituation.setIdentity(MeetingSubitemCommon.JIA_BIN);
}
PayMeetingSituation payMeetingSituation1 = getPayMeetingSituation(payMeetingSituation);
saveMeetingSituation(payMeetingSituation1);
}
/**
* 审核
* @param checkVO
*/
@Override
public void check(CheckVO checkVO) {
String id = checkVO.getId();
PayMeetingSituation meetingSituation = getById(id);
Integer checkResult = checkVO.getCheckResult();
if (checkResult.equals(MeetingSubitemCommon.SIGNUP_STATUS_2)){
//TODO 提示信息
}
meetingSituation.setCheckResult(checkResult);
saveOrUpdate(meetingSituation);
}
/**
* 更新
*/
@@ -96,6 +157,7 @@ public class PayMeetingSituationServiceImpl extends ServiceImpl<PayMeetingSituat
@NotNull
private PayMeetingSituation getPayMeetingSituation(PayMeetingSituation payMeetingSituation) {
Integer status = payMeetingSituation.getStatus();
String meetingId = payMeetingSituation.getMeetingId();
PayMeeting payMeeting = meetingService.getById(meetingId);
//会议类型
@@ -111,22 +173,23 @@ public class PayMeetingSituationServiceImpl extends ServiceImpl<PayMeetingSituat
BeanUtils.copyProperties(meetingEntity, payMeetingSituation1);
//校验企业
String companyId = meetingEntity.getCompanyId();
PayCompanyManagementTemporary companyManagementTemporary = companyManagementTemporaryService.insertCompanyManagementTemporary(companyId);
payMeetingSituation.setCompanyTemporaryId(companyManagementTemporary.getId());
payMeetingSituation.setCompanyName(companyManagementTemporary.getCompanyName());
PayCompanyManagement companyManagement = companyManagementService.getById(companyId);
//
if (status.equals(MeetingSubitemCommon.STATUS_1)) {
//处理报名时公司信息
baoMingCompany(payMeetingSituation, companyId, companyManagement);
}else {
canHuiRenCompany(payMeetingSituation, companyManagement);
}
//校验企业联系人
String companyContactId = meetingEntity.getCompanyContactId();
PayContactsManagement contactsManagement = contactsManagementService.getById(companyContactId);
//校验是否是选择的企业的联系人
String companyId1 = contactsManagement.getCompanyId();
if (companyId1.equals(companyId)) {
PayContactsManagementTemporary contactsManagementTemporary = contactsManagementTemporaryService.insertContactsManagementTemporary(companyContactId);
payMeetingSituation.setCompanyContactTemporaryId(contactsManagementTemporary.getId());
payMeetingSituation.setCompanyContactName(contactsManagementTemporary.getName());
} else {
throw new JeroBootException("企业联系人不是所选企业的企业联系人");
if (status.equals(MeetingSubitemCommon.STATUS_1)){
baoMingContact(payMeetingSituation, companyId, companyContactId, contactsManagement);
}else {
canHuiContact(payMeetingSituation, companyId, contactsManagement);
}
//判断身份
Integer identity = payMeetingSituation.getIdentity();
//国际研讨会会议的嘉宾和其他类型不同
@@ -208,9 +271,14 @@ public class PayMeetingSituationServiceImpl extends ServiceImpl<PayMeetingSituat
//校验是否是选择的企业的联系人
String companyId2 = postContact.getCompanyId();
if (companyId2.equals(companyId)) {
PayContactsManagementTemporary contactsManagementTemporary1 = contactsManagementTemporaryService.insertContactsManagementTemporary(postContactId);
payMeetingSituation1.setPostContactTemporaryId(contactsManagementTemporary1.getId());
payMeetingSituation1.setPostContactName(contactsManagementTemporary1.getName());
if (status.equals(MeetingSubitemCommon.STATUS_1)){
PayContactsManagementTemporary contactsManagementTemporary = contactsManagementTemporaryService.insertContactsManagementTemporary(postContactId);
payMeetingSituation.setCompanyContactTemporaryId(contactsManagementTemporary.getId());
payMeetingSituation.setCompanyContactName(contactsManagementTemporary.getName());
}else {
payMeetingSituation.setCompanyContactTemporaryId(postContact.getId());
payMeetingSituation.setCompanyContactName(postContact.getName());
}
} else {
throw new JeroBootException("邮寄联系人不是所选企业的企业联系人");
}
@@ -225,6 +293,68 @@ public class PayMeetingSituationServiceImpl extends ServiceImpl<PayMeetingSituat
return payMeetingSituation1;
}
private void canHuiContact(PayMeetingSituation payMeetingSituation, String companyId, PayContactsManagement contactsManagement) {
if (contactsManagement == null) {
throw new JeroBootException("联系人不存在");
}
String companyId1 = contactsManagement.getCompanyId();
//校验是否是选择的企业的联系人
if (companyId1.equals(companyId)) {
payMeetingSituation.setCompanyContactTemporaryId(contactsManagement.getId());
payMeetingSituation.setCompanyContactName(contactsManagement.getName());
} else {
throw new JeroBootException("企业联系人不是所选企业的企业联系人");
}
}
private void baoMingContact(PayMeetingSituation payMeetingSituation, String companyId, String companyContactId, PayContactsManagement contactsManagement) {
if (contactsManagement == null) {
PayContactsManagementTemporary contactsManagementTemporary = contactsManagementTemporaryService.insertContactsManagementTemporary(companyContactId);
if (contactsManagementTemporary == null) {
throw new JeroBootException("联系人不存在");
}
String companyId1 = contactsManagementTemporary.getCompanyId();
if (companyId1.equals(companyId)) {
payMeetingSituation.setCompanyContactTemporaryId(contactsManagementTemporary.getId());
payMeetingSituation.setCompanyContactName(contactsManagementTemporary.getName());
} else {
throw new JeroBootException("企业联系人不是所选企业的企业联系人");
}
}else {
String companyId1 = contactsManagement.getCompanyId();
//校验是否是选择的企业的联系人
if (companyId1.equals(companyId)) {
payMeetingSituation.setCompanyContactTemporaryId(contactsManagement.getId());
payMeetingSituation.setCompanyContactName(contactsManagement.getName());
} else {
throw new JeroBootException("企业联系人不是所选企业的企业联系人");
}
}
}
private void canHuiRenCompany(PayMeetingSituation payMeetingSituation, PayCompanyManagement companyManagement) {
if (companyManagement == null) {
throw new JeroBootException("企业不存在");
}
payMeetingSituation.setCompanyTemporaryId(companyManagement.getId());
payMeetingSituation.setCompanyName(companyManagement.getCompanyName());
}
private void baoMingCompany(PayMeetingSituation payMeetingSituation, String companyId, PayCompanyManagement companyManagement) {
if (companyManagement == null) {
PayCompanyManagementTemporary companyManagementTemporary = companyManagementTemporaryService.getById(companyId);
if (companyManagementTemporary == null) {
throw new JeroBootException("企业不存在");
}
payMeetingSituation.setCompanyTemporaryId(companyManagementTemporary.getId());
payMeetingSituation.setCompanyName(companyManagementTemporary.getCompanyName());
payMeetingSituation.setNewCompany(1);
}else {
payMeetingSituation.setCompanyTemporaryId(companyManagement.getId());
payMeetingSituation.setCompanyName(companyManagement.getCompanyName());
}
payMeetingSituation.setNewCompany(0);
}
/**
@@ -275,4 +405,6 @@ public class PayMeetingSituationServiceImpl extends ServiceImpl<PayMeetingSituat
saveOrUpdate(payMeetingSituation);
}
}
}
@@ -0,0 +1,16 @@
package com.jero.meeting.vo;
import lombok.Data;
import java.util.List;
/**
* @author liJiaRao
* @date 2021-09-10 15:11
*/
@Data
public class CheckVO {
private Integer checkResult;
private String checkRemark;
private String id;
}
@@ -0,0 +1,14 @@
package com.jero.meeting.vo;
import lombok.Data;
import java.util.List;
/**
* @author liJiaRao
* @date 2021-09-10 15:29
*/
@Data
public class ImportSituationsVO {
private List<String> ids;
}
@@ -1,9 +1,11 @@
package com.jero.pack.controller;
import java.util.Arrays;
import java.util.Objects;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
@@ -23,12 +25,12 @@ import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
/**
* @Description: 打包关联
* @Description: 打包企业管理
* @Author: jeecg-boot
* @Date: 2021-09-07
* @Version: V1.0
*/
@Api(tags="打包关联")
@Api(tags="打包企业管理")
@RestController
@RequestMapping("/pack/payPackCompany")
@Slf4j
@@ -45,8 +47,8 @@ public class PayPackCompanyController extends JeroController<PayPackCompany, IPa
* @param req
* @return
*/
@AutoLog(value = "打包关联-分页列表查询")
@ApiOperation(value="打包关联-分页列表查询", notes="打包关联-分页列表查询")
@AutoLog(value = "打包企业管理-分页列表查询")
@ApiOperation(value="打包企业管理-分页列表查询", notes="打包企业管理-分页列表查询")
@GetMapping(value = "/list")
public Result<?> queryPageList(PayPackCompany payPackCompany,
@RequestParam(name="pageNo", defaultValue="1") Integer pageNo,
@@ -64,14 +66,27 @@ public class PayPackCompanyController extends JeroController<PayPackCompany, IPa
* @param payPackCompany
* @return
*/
@AutoLog(value = "打包关联-添加")
@ApiOperation(value="打包关联-添加", notes="打包关联-添加")
@AutoLog(value = "打包企业管理-添加")
@ApiOperation(value="打包企业管理-添加", notes="打包企业管理-添加")
@PostMapping(value = "/add")
public Result<?> add(@RequestBody PayPackCompany payPackCompany) {
StringBuilder msg = ValidUtil.validateAll(payPackCompany);
if(!StringUtils.isBlank(msg)){
return Result.error(msg.toString());
}
try {
LambdaQueryWrapper<PayPackCompany> query = new LambdaQueryWrapper<>();
query.eq(PayPackCompany::getCompanyId,payPackCompany.getCompanyId());
query.eq(PayPackCompany::getPackYear,payPackCompany.getPackYear());
PayPackCompany payPackCompanyNew = payPackCompanyService.getOne(query);
if(!Objects.isNull(payPackCompanyNew)){
return Result.error("当前年份下已存在打包企业!");
}
}catch (Exception e){
log.error("",e);
return Result.error("当前年份下已存在打包企业!");
}
payPackCompanyService.save(payPackCompany);
return Result.OK("添加成功!");
}
@@ -82,14 +97,26 @@ public class PayPackCompanyController extends JeroController<PayPackCompany, IPa
* @param payPackCompany
* @return
*/
@AutoLog(value = "打包关联-编辑")
@ApiOperation(value="打包关联-编辑", notes="打包关联-编辑")
@AutoLog(value = "打包企业管理-编辑")
@ApiOperation(value="打包企业管理-编辑", notes="打包企业管理-编辑")
@PostMapping(value = "/edit")
public Result<?> edit(@RequestBody PayPackCompany payPackCompany) {
StringBuilder msg = ValidUtil.validateAll(payPackCompany);
if(!StringUtils.isBlank(msg)){
return Result.error(msg.toString());
}
try {
LambdaQueryWrapper<PayPackCompany> query = new LambdaQueryWrapper<>();
query.eq(PayPackCompany::getCompanyId,payPackCompany.getCompanyId());
query.eq(PayPackCompany::getPackYear,payPackCompany.getPackYear());
PayPackCompany payPackCompanyNew = payPackCompanyService.getOne(query);
if(!Objects.isNull(payPackCompanyNew) && !Objects.equals(payPackCompany.getId(),payPackCompanyNew.getId())){
return Result.error("当前年份下已存在打包企业!");
}
}catch (Exception e){
log.error("",e);
return Result.error("当前年份下已存在打包企业!");
}
payPackCompanyService.updateById(payPackCompany);
return Result.OK("编辑成功!");
}
@@ -117,8 +144,8 @@ public class PayPackCompanyController extends JeroController<PayPackCompany, IPa
* @param ids
* @return
*/
@AutoLog(value = "打包关联-批量删除")
@ApiOperation(value="打包关联-批量删除", notes="打包关联-批量删除")
@AutoLog(value = "打包企业管理-批量删除")
@ApiOperation(value="打包企业管理-批量删除", notes="打包企业管理-批量删除")
@GetMapping(value = "/deleteBatch")
public Result<?> deleteBatch(@RequestParam(name="ids") String ids) {
if(StringUtils.isBlank(ids)){
@@ -140,8 +167,8 @@ public class PayPackCompanyController extends JeroController<PayPackCompany, IPa
* @param id
* @return
*/
@AutoLog(value = "打包关联-通过id查询")
@ApiOperation(value="打包关联-通过id查询", notes="打包关联-通过id查询")
@AutoLog(value = "打包企业管理-通过id查询")
@ApiOperation(value="打包企业管理-通过id查询", notes="打包企业管理-通过id查询")
@GetMapping(value = "/queryById")
public Result<?> queryById(@RequestParam(name="id") String id) {
if(StringUtils.isBlank(id)){
@@ -162,7 +189,7 @@ public class PayPackCompanyController extends JeroController<PayPackCompany, IPa
*/
@GetMapping(value = "/exportXls")
public ModelAndView exportXls(HttpServletRequest request, PayPackCompany payPackCompany) {
return super.exportXls(request, payPackCompany, PayPackCompany.class, "pay_pack_company");
return super.exportXls(request, payPackCompany, PayPackCompany.class, "打包企业管理");
}
/**