打包管理
This commit is contained in:
+2
-2
@@ -68,8 +68,8 @@ public class PayIncomeContractCommon {
|
||||
* 支出合同excel表头
|
||||
*/
|
||||
public final static List<String> LIST_SPENDING_CONTRACT = Arrays.asList("合同编号","合同名称","签订单位名称","签订单位联系人","是否开口","负责人",
|
||||
"签订合同总金额","税率","未税金额","合同签订日期","合同终止日期","合同约定主要时点",
|
||||
"应收金额","已收金额","合同约定付款次数","是否打包","打包年份");
|
||||
"部门名称","签订合同总金额","税率","未税金额","合同签订日期","合同终止日期","合同约定主要时点",
|
||||
"应收金额","已收金额","未收金额","账款状态","合同约定付款次数","是否打包","打包年份");
|
||||
/**
|
||||
* 支出合同分期信息excel 表头
|
||||
*/
|
||||
|
||||
-2
@@ -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;
|
||||
|
||||
+4
-4
@@ -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;
|
||||
}
|
||||
|
||||
+4
-4
@@ -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;
|
||||
}
|
||||
|
||||
+7
-9
@@ -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 < 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 < 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 (
|
||||
|
||||
+6
-2
@@ -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 < 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') <= #{endTime}
|
||||
</if>
|
||||
</where>
|
||||
ORDER BY create_time desc
|
||||
ORDER BY chargeStatus desc,create_time desc
|
||||
|
||||
</select>
|
||||
</mapper>
|
||||
+18
-2
@@ -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);
|
||||
|
||||
+83
-54
@@ -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;
|
||||
}
|
||||
|
||||
|
||||
+1
-1
@@ -12,7 +12,7 @@ public class PayIncomeContractOutput extends PayIncomeContract implements Serial
|
||||
* 来款状态 0:全部 1:到期未付款
|
||||
*/
|
||||
@ApiModelProperty(value = "来款状态 0:全部 1:到期未付款")
|
||||
private String chargeStatus;
|
||||
private Integer chargeStatus;
|
||||
/**
|
||||
* 关联项目
|
||||
*/
|
||||
|
||||
+15
@@ -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;
|
||||
|
||||
+20
@@ -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;
|
||||
}
|
||||
+40
-13
@@ -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, "打包企业管理");
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
Reference in New Issue
Block a user