添加开票

This commit is contained in:
baozhipeng
2021-09-16 18:26:10 +08:00
parent ce6866555d
commit bd59134350
5 changed files with 45 additions and 10 deletions
@@ -0,0 +1,27 @@
package com.jero.mail;
import com.baomidou.mybatisplus.annotation.TableField;
import com.jero.mail.entity.PayMailBill;
import com.jero.mail.entity.PayMailBillProject;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import javax.validation.constraints.DecimalMax;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import javax.validation.constraints.Size;
import java.math.BigDecimal;
import java.util.List;
@Data
public class PayMailBillVO extends PayMailBill {
/**
* 邮寄票据关联项目表
*/
@TableField(exist = false)
List<PayMailBillProject> bmpList;
}
@@ -6,6 +6,7 @@ import java.math.BigDecimal;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.jero.common.aspect.annotation.Dict;
import lombok.Data;
import com.fasterxml.jackson.annotation.JsonFormat;
@@ -57,6 +58,7 @@ public class PayMailBill implements Serializable {
@Excel(name = "票号", width = 15)
@ApiModelProperty(value = "票号")
@NotNull(message = "票号不能为空")
@JsonProperty(value = "billNo")
private java.lang.String billNo;
/**开票金额*/
@Excel(name = "开票金额", width = 15)
@@ -5,6 +5,7 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.jero.common.api.vo.Result;
import com.jero.mail.PayMailBillVO;
import com.jero.mail.entity.PayMailBill;
import com.jero.mail.entity.PayMailBillProject;
import com.jero.mail.entity.PayMailBillSearch;
@@ -34,7 +35,7 @@ public interface IPayMailBillService extends IService<PayMailBill> {
* @param payMailBill
* @return
*/
Result<?> addPayBill(PayMailBill payMailBill, List<PayMailBillProject> bmpList);
Result<?> addPayBill(PayMailBillVO payMailBill);
@@ -11,6 +11,7 @@ import com.jero.common.system.query.QueryGenerator;
import com.jero.common.system.vo.LoginUser;
import com.jero.common.util.oConvertUtils;
import com.jero.contract.common.PayIncomeContractCommon;
import com.jero.mail.PayMailBillVO;
import com.jero.mail.entity.PayMailBill;
import com.jero.mail.entity.PayMailBillProject;
import com.jero.mail.entity.PayMailBillSearch;
@@ -99,8 +100,10 @@ public class PayMailBillServiceImpl extends ServiceImpl<PayMailBillMapper, PayMa
* @param payMailBill
* @return
*/
public Result<?> addPayBill(PayMailBill payMailBill, List<PayMailBillProject> bmpList) {
public Result<?> addPayBill(PayMailBillVO payMailBill) {
//票据关联项目表
List<PayMailBillProject> bmpList = payMailBill.getBmpList();
//校验不同项目是否属于同一个公司
String res = checkCompanyProject(bmpList);
if (!"success".equals(res)) {
@@ -166,7 +169,7 @@ public class PayMailBillServiceImpl extends ServiceImpl<PayMailBillMapper, PayMa
// 普通项目
case PayIncomeContractCommon.PROJECT_TYPE1:
PayCommonProject payCommonProject = payCommonProjectMapper.selectById(bmpList.get(i).getId());
PayCommonProject payCommonProject = payCommonProjectMapper.selectById(bmpList.get(i).getProjectId());
//将第一个项目作为基准公司
if (i == 0) {
standardCompanyId = payCommonProject.getChargeCompanyId();
@@ -184,7 +187,7 @@ public class PayMailBillServiceImpl extends ServiceImpl<PayMailBillMapper, PayMa
break;
// 工作组项目
case PayIncomeContractCommon.PROJECT_TYPE2:
PayWorkingGroupSubItem workingGroup = payWorkingGroupSubItemMapper.selectById(bmpList.get(i).getId());
PayWorkingGroupSubItem workingGroup = payWorkingGroupSubItemMapper.selectById(bmpList.get(i).getProjectId());
//将第一个项目作为基准公司
if (i == 0) {
standardCompanyId = workingGroup.getChargeCompanyId();
@@ -202,7 +205,7 @@ public class PayMailBillServiceImpl extends ServiceImpl<PayMailBillMapper, PayMa
break;
//会议项目
case PayIncomeContractCommon.PROJECT_TYPE3:
PayMeetingSituation meeting = payMeetingSituationMapper.selectById(bmpList.get(i).getId());
PayMeetingSituation meeting = payMeetingSituationMapper.selectById(bmpList.get(i).getProjectId());
//将第一个项目作为基准公司
if (i == 0) {
standardCompanyId = meeting.getCompanyId();
@@ -220,7 +223,7 @@ public class PayMailBillServiceImpl extends ServiceImpl<PayMailBillMapper, PayMa
break;
//会员项目
case PayIncomeContractCommon.PROJECT_TYPE4:
PayMemberProjectSubitem memberProject = payMemberProjectSubitemMapper.selectById(bmpList.get(i).getId());
PayMemberProjectSubitem memberProject = payMemberProjectSubitemMapper.selectById(bmpList.get(i).getProjectId());
//将第一个项目作为基准公司
if (i == 0) {
standardCompanyId = memberProject.getCompanyId();
@@ -238,7 +241,7 @@ public class PayMailBillServiceImpl extends ServiceImpl<PayMailBillMapper, PayMa
break;
//标协会员
case PayIncomeContractCommon.PROJECT_TYPE5:
TbMemberProjectSubitem tbMemberProject = tbMemberProjectSubitemMapper.selectById(bmpList.get(i).getId());
TbMemberProjectSubitem tbMemberProject = tbMemberProjectSubitemMapper.selectById(bmpList.get(i).getProjectId());
//将第一个项目作为基准公司
if (i == 0) {
standardCompanyId = tbMemberProject.getCompanyId();
@@ -17,6 +17,7 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.jero.common.util.AuthenticationUtils;
import com.jero.mail.PayMailBillVO;
import com.jero.mail.entity.PayMailBill;
import com.jero.mail.entity.PayMailBillProject;
import com.jero.mail.service.IPayMailBillService;
@@ -135,8 +136,9 @@ public class PayPaymentRecordController extends JeroController<PayPaymentRecord,
*/
@ApiOperation(value="添加开票", notes="添加开票")
@PostMapping(value = "/addPayBill")
public Result<?> addPayBill(@RequestBody PayMailBill payMailBill,@RequestBody List<PayMailBillProject> bmpList) {
return payMailBillService.addPayBill(payMailBill, bmpList);
public Result<?> addPayBill(@RequestBody(required = false) PayMailBillVO payMailBill) {
return payMailBillService.addPayBill(payMailBill);
}
/**