update 会员项目导入

This commit is contained in:
lijiarao
2021-08-31 19:42:40 +08:00
parent 4fb0c80e5d
commit 8ae3f85d4c
3 changed files with 51 additions and 100 deletions
@@ -3,12 +3,18 @@ package com.jero.member.controller;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import cn.hutool.core.util.NumberUtil;
import com.jero.common.api.vo.Result;
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.DictModel;
import com.jero.common.util.ValidUtil;
import com.jero.member.entity.PayMemberProjectSubitem;
import com.jero.member.service.IPayMemberProjectSubitemService;
@@ -39,6 +45,8 @@ import com.jero.common.aspect.annotation.AutoLog;
public class PayMemberProjectSubitemController extends JeroController<PayMemberProjectSubitem, IPayMemberProjectSubitemService> {
@Resource
private IPayMemberProjectSubitemService memberProjectSubitemService;
@Resource
private ISysBaseAPI sysBaseAPI;
/**
* 分页列表查询
@@ -155,15 +163,42 @@ public class PayMemberProjectSubitemController extends JeroController<PayMemberP
int errorRowNum = 2;
List<String> errorMessage = new ArrayList<>();
for (Object obj :excelData) {
errorRowNum += 1;
//复制属性
PayMemberProjectSubitemExcel projectSubitemExcel = (PayMemberProjectSubitemExcel)obj;
PayMemberProjectSubitem projectSubitem = new PayMemberProjectSubitem();
//应收金额
String amountReceivable = projectSubitemExcel.getAmountReceivable();
if (!NumberUtil.isInteger(amountReceivable)) {
errorMessage.add(""+errorRowNum+"行:应收金额不符合规范");
}else {
projectSubitem.setAmountReceivable(Integer.parseInt(amountReceivable));
}
//来款方式
List<DictModel> paymentType = sysBaseAPI.queryDictItemsByCode("payment_type");
Map<String, String> paymentTypeMap = paymentType.stream().collect(Collectors.toMap(DictModel::getText, DictModel::getValue));
String paymentMethod = projectSubitemExcel.getPaymentMethod();
if (paymentTypeMap.containsKey(paymentMethod)){
projectSubitem.setPaymentMethod(Integer.parseInt(paymentTypeMap.get(paymentMethod)));
}else {
errorMessage.add(""+errorRowNum+"行:来款方式不符合规范");
}
//需要发票
List<DictModel> invoiceType = sysBaseAPI.queryDictItemsByCode("invoice_type");
Map<String, String> invoiceTypeMap = invoiceType.stream().collect(Collectors.toMap(DictModel::getText, DictModel::getValue));
String needInvoice = projectSubitemExcel.getNeedInvoice();
if (invoiceTypeMap.containsKey(needInvoice)){
projectSubitem.setNeedInvoice(Integer.parseInt(invoiceTypeMap.get(needInvoice)));
}else {
errorMessage.add(""+errorRowNum+"行:需要发票不符合规范");
}
//复制属性
BeanUtils.copyProperties(projectSubitemExcel,projectSubitem);
errorRowNum += 1;
try {
ValidUtil.validate(projectSubitem);
add(projectSubitem);
memberProjectSubitemService.add(projectSubitem);
}catch (JeroBootException e){
errorMessage.add(""+errorRowNum+"行:"+e.getMessage());
}
@@ -3,6 +3,7 @@ import java.util.Date;
import com.jero.common.exception.JeroBootException;
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;
@@ -45,6 +46,11 @@ public class PayPayMemberProjectSubitemServiceImpl extends ServiceImpl<PayMember
*/
@Override
public void add(PayMemberProjectSubitem payMemberProjectSubitem) {
String projectId = payMemberProjectSubitem.getProjectId();
PayCompanyManagement companyManagement = companyManagementService.getById(projectId);
if (companyManagement == null){
throw new JeroBootException("会员项目不存在");
}
validMemberProjectSubitem(payMemberProjectSubitem);
//实收金额
payMemberProjectSubitem.setPaidAmount(0);
@@ -66,6 +72,9 @@ public class PayPayMemberProjectSubitemServiceImpl extends ServiceImpl<PayMember
public void editById(PayMemberProjectSubitem payMemberProjectSubitem) {
String id = payMemberProjectSubitem.getId();
PayMemberProjectSubitem payMemberProjectSubitem1 = getById(id);
if (payMemberProjectSubitem1 == null){
throw new JeroBootException("会员项目不存在");
}
//无法更改状态
payMemberProjectSubitem.setPack(payMemberProjectSubitem1.getPack());
payMemberProjectSubitem.setNeedInvoice(payMemberProjectSubitem1.getNeedInvoice());
@@ -22,42 +22,6 @@ import java.util.Date;
public class PayMemberProjectSubitemExcel {
private static final long serialVersionUID = 1L;
/**
* id
*/
@TableId(type = IdType.ASSIGN_ID)
@ApiModelProperty(value = "id")
private String id;
/**
* 创建人
*/
@ApiModelProperty(value = "创建人")
private String createBy;
/**
* 创建日期
*/
@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 HH:mm:ss")
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@ApiModelProperty(value = "更新日期")
private Date updateTime;
/**
* 会员项目id
*/
@@ -76,12 +40,6 @@ public class PayMemberProjectSubitemExcel {
@Size(max = 50, message = "企业最大为50字符")
private String companyId;
/**
* 企业名称
*/
@ApiModelProperty(value = "企业名称")
private String companyName;
/**
* 企业联系人id
*/
@@ -91,12 +49,6 @@ public class PayMemberProjectSubitemExcel {
@Size(max = 50, message = "企业联系人最大为50字符")
private String companyContactId;
/**
* 企业联系人名称
*/
@ApiModelProperty(value = "企业联系人名称")
private String companyContactName;
/**
* 邮寄联系人id
*/
@@ -105,12 +57,6 @@ public class PayMemberProjectSubitemExcel {
@NotBlank(message = "邮寄联系人不能为空")
private String postContactId;
/**
* 邮寄联系人姓名
*/
@ApiModelProperty(value = "邮寄联系人姓名")
private String postContactName;
/**
* 应收金额
*/
@@ -118,25 +64,15 @@ public class PayMemberProjectSubitemExcel {
@ApiModelProperty(value = "应收金额")
@NotNull(message = "应收金额不能为空")
@Max(value = 999999999, message = "应收金额格式错误")
private Integer amountReceivable;
private String amountReceivable;
/**
* 实收金额
*/
//@Excel(name = "实收金额", width = 15,orderNum = "5")
@ApiModelProperty(value = "实收金额")
@Max(value = 999999999, message = "应收金额格式错误")
private Integer paidAmount;
/**
* 来款方式
*/
@Excel(name = "来款方式", width = 15, dicCode = "payment_type",orderNum = "7")
@Excel(name = "来款方式", width = 15, orderNum = "7")
@ApiModelProperty(value = "来款方式(2:合同,3:收费通知)")
@Dict(dicCode = "payment_type")
@Min(2)
@Max(3)
private Integer paymentMethod;
private String paymentMethod;
/**
* 收费通知号
@@ -147,12 +83,6 @@ public class PayMemberProjectSubitemExcel {
@Size(max = 50, message = "收费通知号最大为50字符", groups = ChargeNotice.class)
private String chargeNoticeNo;
/**
* 收费通知文件id
*/
@ApiModelProperty(value = "收费通知文件id")
private String chargeNoticeFileId;
/**
* 合同号
*/
@@ -180,31 +110,8 @@ public class PayMemberProjectSubitemExcel {
/**
* 需要发票
*/
@Excel(name = "需要发票", width = 15, dicCode = "invoice_type",orderNum = "6")
@Excel(name = "需要发票", width = 15, orderNum = "6")
@ApiModelProperty(value = "需要发票")
@Dict(dicCode = "invoice_type")
@Min(0)
@Max(2)
private Integer needInvoice;
/**
* 到账
*/
@ApiModelProperty(value = "到账")
private Integer inAccount;
/**
* 开票
*/
@ApiModelProperty(value = "开票")
@Dict(dicCode = "yn")
private Integer makeInvoice;
/**
* 邮寄
*/
@ApiModelProperty(value = "邮寄")
@Dict(dicCode = "yn")
private Integer mail;
private String needInvoice;
}