合同邮寄

This commit is contained in:
zhangqinlin
2021-09-16 11:37:44 +08:00
parent 3b13454148
commit 3a49bcda99
3 changed files with 160 additions and 82 deletions
@@ -11,4 +11,31 @@ public class GlobalConstants {
* redis消息通道名称
*/
public static final String REDIS_TOPIC_NAME="jero_redis_topic";
/**
* 1
*/
public static final Integer ONE=1;
/**
* 2
*/
public static final Integer TWO=2;
/**
* 3
*/
public static final Integer THERE=3;
/**
* 4
*/
public static final Integer FORE=4;
/**
* 5
*/
public static final Integer FIVE=5;
}
@@ -1,5 +1,6 @@
package com.jero.mail.controller;
import java.math.BigDecimal;
import java.security.PrivateKey;
import java.text.ParseException;
import java.text.SimpleDateFormat;
@@ -7,6 +8,7 @@ import java.util.ArrayList;
import java.util.Arrays;
import java.util.Date;
import java.util.List;
import java.util.stream.Collectors;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
@@ -20,6 +22,9 @@ import com.baomidou.mybatisplus.core.toolkit.StringUtils;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.jero.common.api.vo.Result;
import com.jero.common.common.ProjectCommon;
import com.jero.common.constant.GlobalConstants;
import com.jero.common.exception.JeroBootException;
import com.jero.common.service.ProjectDetailService;
import com.jero.common.system.base.controller.JeroController;
import com.jero.common.system.query.QueryGenerator;
@@ -33,10 +38,15 @@ import com.jero.mail.entity.PayMailBillProject;
import com.jero.mail.entity.PayMailBillSearch;
import com.jero.mail.service.IPayMailBillProjectService;
import com.jero.mail.service.IPayMailBillService;
import com.jero.meeting.service.IPayMeetingSituationService;
import com.jero.member.entity.PayMemberProjectSubitem;
import com.jero.member.service.IPayMemberProjectSubitemService;
import com.jero.member.service.ITbMemberProjectSubitemService;
import com.jero.project.service.IPayCommonProjectService;
import com.jero.project.service.IPayWorkingGroupSubItemService;
import com.jero.util.AmountUtil;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.collections.CollectionUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.web.bind.annotation.*;
@@ -55,18 +65,29 @@ import io.swagger.annotations.ApiOperation;
@RequestMapping("/mail/payMailBill")
@Slf4j
public class PayMailBillController extends JeroController<PayMailBill, IPayMailBillService> {
@Autowired
private IPayMailBillService payMailBillService;
@Autowired
private ProjectDetailService projectDetailService;
@Autowired
private IPayContactsManagementService iPayContactsManagementService;
@Autowired
private IPayMailBillProjectService iPayMailBillProjectService;
@Autowired
private IPayMemberProjectSubitemService iPayMemberProjectSubitemService;
/**
@Autowired
private IPayMailBillProjectService payMailBillProjectService;
@Autowired
private IPayMailBillService payMailBillService;
@Autowired
private ProjectDetailService projectDetailService;
@Autowired
private IPayContactsManagementService iPayContactsManagementService;
@Autowired
private IPayMailBillProjectService iPayMailBillProjectService;
@Autowired
private IPayCommonProjectService payCommonProjectService;
@Autowired
private IPayMemberProjectSubitemService payMemberProjectSubitemService;
@Autowired
private IPayMeetingSituationService payMeetingSituationService;
@Autowired
private IPayWorkingGroupSubItemService payWorkingGroupSubItemService;
@Autowired
private ITbMemberProjectSubitemService tbMemberProjectSubitemService;
/**
* 分页列表查询
*
* @param payMailBillSearch
@@ -133,35 +154,89 @@ public class PayMailBillController extends JeroController<PayMailBill, IPayMailB
return Result.OK(projectDetailVO);
}
/**
* 编辑
*
*/
@ApiOperation(value="邮寄票据-邮寄", notes="邮寄票据-邮寄")
@Transactional
@PostMapping(value = "/edit")
public Result<?> edit(@RequestParam(name="id") String id,
@RequestParam(name="sendMethod") Integer sendMethod,
@RequestParam(name="postNo") String postNo,
@RequestParam(name="sendDate") String sendDate,
@RequestParam(name="remark") String remark
) throws ParseException {
PayMailBill payMailBill = new PayMailBill();
payMailBill.setId(id);
payMailBill.setSendMethod(sendMethod);
payMailBill.setPostNo(postNo);
payMailBill.setRemark(remark);
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd");
Date parse = simpleDateFormat.parse(sendDate);
payMailBill.setSendDate(parse);
payMailBill.setPostStatus(1);
payMailBillService.updateById(payMailBill);
//变更5种项目的邮寄状态
return Result.OK("编辑成功!");
}
// /**
// * 编辑
// *
// */
// @ApiOperation(value="邮寄票据-邮寄", notes="邮寄票据-邮寄")
// @Transactional
// @PostMapping(value = "/edit")
// public Result<?> edit(@RequestParam(name="id") String id,
// @RequestParam(name="sendMethod") Integer sendMethod,
// @RequestParam(name="postNo") String postNo,
// @RequestParam(name="sendDate") String sendDate,
// @RequestParam(name="remark") String remark
// ) throws ParseException {
// PayMailBill payMailBill = new PayMailBill();
// payMailBill.setId(id);
// payMailBill.setSendMethod(sendMethod);
// payMailBill.setPostNo(postNo);
// payMailBill.setRemark(remark);
// SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd");
// Date parse = simpleDateFormat.parse(sendDate);
// payMailBill.setSendDate(parse);
// payMailBill.setPostStatus(1);
// payMailBillService.updateById(payMailBill);
// //变更5种项目的邮寄状态
//
// LambdaQueryWrapper<PayMailBillProject> queryPayMailBillProject = new LambdaQueryWrapper<>();
// queryPayMailBillProject.eq(PayMailBillProject::getId,id);
// PayMailBillProject one = payMailBillProjectService.getOne(queryPayMailBillProject);
// BigDecimal receivableAmount;
// //获取项目应收金额
// if(GlobalConstants.ONE.equals(one.getProjectType())){
// receivableAmount= payCommonProjectService.getById(one.getProjectId()).getReceivableAmount();}
// else if(GlobalConstants.TWO.equals(one.getProjectType())) {
// receivableAmount= payWorkingGroupSubItemService.getById(one.getProjectId()).getReceivableAmount();
// }else if (GlobalConstants.THERE.equals(one.getProjectType())) {
// receivableAmount= payMeetingSituationService.getById(one.getProjectId()).getAmountReceivable();
// }else if (GlobalConstants.FORE.equals(one.getProjectType())) {
// receivableAmount= payMemberProjectSubitemService.getById(one.getProjectId()).getAmountReceivable();
//
// }else if (GlobalConstants.FIVE.equals(one.getProjectType())){
// receivableAmount=tbMemberProjectSubitemService.getById(one.getProjectId()).getAmountReceivable();
// }
// LambdaQueryWrapper<PayMailBillProject> queryPayMailBillProject2 = new LambdaQueryWrapper<>();
// queryPayMailBillProject.eq(PayMailBillProject::getProjectId,one.getProjectId());
// List<PayMailBillProject> listPayMailBillProject = payMailBillProjectService.list(queryPayMailBillProject2);
//
// // 开票金额
// BigDecimal invoice = new BigDecimal("0.00");
// // 开票次数
// int c = listPayMailBillProject.size();
// // 邮寄次数
// int y = 0;
// if(!CollectionUtils.isEmpty(listPayMailBillProject)){
// BigDecimal b = listPayMailBillProject.stream().map(PayMailBillProject::getInvoiceAmount).reduce(BigDecimal.ZERO,BigDecimal::add);
// invoice = invoice.add(b);
// if(receivableAmount.compareTo(invoice) == -1){
// throw new JeroBootException("应收金额不能小于开票金额!");
// }
// List<String> list = listPayMailBillProject.stream().map(PayMailBillProject::getBillId).collect(Collectors.toList());
// LambdaQueryWrapper<PayMailBill> queryPayMailBill = new LambdaQueryWrapper<>();
// queryPayMailBill.in(PayMailBill::getId,list);
// queryPayMailBill.eq(PayMailBill::getPostStatus, ProjectCommon.POST_STATUS1);
// List<PayMailBill> listPayMailBill = payMailBillService.list(queryPayMailBill);
// y = listPayMailBill.size();
// }
// // 到账
// // 应收金额 = 实收金额 = 1
// if(receivableAmount.compareTo(payCommonProject.getPaidAmount()) == 0){
// projectStatusVO.setInAccount(ProjectCommon.IN_ACCOUNT1);
// }
// // 0 = 实收金额 = 0
// if(payCommonProject.getPaidAmount().compareTo(new BigDecimal("0.00")) == 0){
// projectStatusVO.setInAccount(ProjectCommon.IN_ACCOUNT0);
// }
// // 0 < 实收金额 && 实收金额 < 应收金额 = 2
// if(payCommonProject.getPaidAmount().compareTo(new BigDecimal("0.00")) == 1
// && payCommonProject.getPaidAmount().compareTo(receivableAmount) ==-1){
// projectStatusVO.setInAccount(ProjectCommon.IN_ACCOUNT2);
// }
//
//
// return Result.OK("编辑成功!");
// }
/**
* 编辑
@@ -170,20 +245,21 @@ public class PayMailBillController extends JeroController<PayMailBill, IPayMailB
@ApiOperation(value="邮寄票据-修改", notes="邮寄票据-修改")
@Transactional
@PostMapping(value = "/edit2")
public Result<?> edit2(@RequestParam(name="id") String id,
@RequestParam(name="sendMethod") Integer sendMethod,
@RequestParam(name="postNo") String postNo,
@RequestParam(name="sendDate") String sendDate,
@RequestParam(name="remark") String remark
) throws ParseException {
PayMailBill payMailBill = new PayMailBill();
payMailBill.setId(id);
payMailBill.setSendMethod(sendMethod);
payMailBill.setPostNo(postNo);
payMailBill.setRemark(remark);
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd");
Date parse = simpleDateFormat.parse(sendDate);
payMailBill.setSendDate(parse);
public Result<?> edit2(PayMailBill payMailBill
) {
payMailBill.setPostStatus(1);
payMailBillService.updateById(payMailBill);
return Result.OK("编辑成功!");
}
/**
* 编辑
*
*/
@ApiOperation(value="邮寄票据-邮寄", notes="邮寄票据-邮寄")
@Transactional
@PostMapping(value = "/edit")
public Result<?> edit(PayMailBill payMailBill
) {
payMailBill.setPostStatus(1);
payMailBillService.updateById(payMailBill);
return Result.OK("编辑成功!");
@@ -53,20 +53,7 @@ public class PayMailContractController extends JeroController<PayMailContract, I
IPage<PayMailBillList> pageList = payMailContractService.pageContract(page, queryWrapper);
return Result.OK(pageList);
}
/**
* 添加
*
* @param payMailContract
* @return
*/
@AutoLog(value = "邮寄合同-添加")
@ApiOperation(value="邮寄合同-添加", notes="邮寄合同-添加")
@PostMapping(value = "/add")
public Result<?> add(@RequestBody PayMailContract payMailContract) {
payMailContractService.save(payMailContract);
return Result.OK("添加成功!");
}
/**
* 编辑
@@ -74,20 +61,8 @@ public class PayMailContractController extends JeroController<PayMailContract, I
*/
@ApiOperation(value="邮寄合同-编辑(邮寄和修改按钮统一接口)", notes="邮寄合同-编辑(邮寄和修改按钮统一接口)")
@PostMapping(value = "/edit")
public Result<?> edit(@RequestParam(name="id") String id,
@RequestParam(name="sendMethod") Integer sendMethod,
@RequestParam(name="postNo") String postNo,
@RequestParam(name="sendDate") String sendDate,
@RequestParam(name="remark") String remark
) throws ParseException {
PayMailContract payMailContract = new PayMailContract();
payMailContract.setId(id);
payMailContract.setSendMethod(sendMethod);
payMailContract.setPostno(postNo);
payMailContract.setRemark(remark);
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd");
Date parse = simpleDateFormat.parse(sendDate);
payMailContract.setSenddate(parse);
public Result<?> edit(PayMailContract payMailContract
) {
payMailContract.setPostStatus(1);
payMailContractService.updateById(payMailContract);
return Result.OK("操作成功!");