合同邮寄

This commit is contained in:
zhangqinlin
2021-09-16 15:13:55 +08:00
parent b865cba8a2
commit eb5d6f3618
5 changed files with 141 additions and 81 deletions
@@ -38,10 +38,14 @@ 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.entity.PayMeetingSituation;
import com.jero.meeting.service.IPayMeetingSituationService;
import com.jero.member.entity.PayMemberProjectSubitem;
import com.jero.member.entity.TbMemberProjectSubitem;
import com.jero.member.service.IPayMemberProjectSubitemService;
import com.jero.member.service.ITbMemberProjectSubitemService;
import com.jero.project.entity.PayCommonProject;
import com.jero.project.entity.PayWorkingGroupSubItem;
import com.jero.project.service.IPayCommonProjectService;
import com.jero.project.service.IPayWorkingGroupSubItemService;
import com.jero.util.AmountUtil;
@@ -154,72 +158,120 @@ 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种项目的邮寄状态
//
// LambdaQueryWrapper<PayMailBillProject> queryPayMailBillProject = new LambdaQueryWrapper<>();
// queryPayMailBillProject.eq(PayMailBillProject::getId,id);
// PayMailBillProject one = payMailBillProjectService.getOne(queryPayMailBillProject);
//
// //获取项目应收金额
// BigDecimal receivableAmount = null;
// 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();
// }
/**
* 编辑
*
*/
@ApiOperation(value="邮寄票据-邮寄", notes="邮寄票据-邮寄")
@Transactional
@PostMapping(value = "/edit3")
public Result<?> edit3(@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);
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);
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();
}
//获取项目应收金额
BigDecimal receivableAmount = null;
if(GlobalConstants.ONE.equals(one.getProjectType())){
receivableAmount= payCommonProjectService.getById(one.getProjectId()).getReceivableAmount();}
PayCommonProject payCommonProject = new PayCommonProject();
if(receivableAmount==invoice && c==y){
payCommonProject.setId(one.getProjectId());
payCommonProject.setMail(1);
payCommonProjectService.updateById(payCommonProject);
}else if(y<c&&y>0){
payCommonProject.setId(one.getProjectId());
payCommonProject.setMail(2);
payCommonProjectService.updateById(payCommonProject);
}
else if(GlobalConstants.TWO.equals(one.getProjectType())) {
receivableAmount= payWorkingGroupSubItemService.getById(one.getProjectId()).getReceivableAmount();
PayWorkingGroupSubItem payWorkingGroupSubItem = new PayWorkingGroupSubItem();
if(receivableAmount==invoice && c==y){
payWorkingGroupSubItem.setId(one.getProjectId());
payWorkingGroupSubItem.setMail(1);
payWorkingGroupSubItemService.updateById(payWorkingGroupSubItem);
}else if(y<c&&y>0){
payWorkingGroupSubItem.setId(one.getProjectId());
payWorkingGroupSubItem.setMail(2);
payWorkingGroupSubItemService.updateById(payWorkingGroupSubItem);
}
}else if (GlobalConstants.THERE.equals(one.getProjectType())) {
receivableAmount= payMeetingSituationService.getById(one.getProjectId()).getAmountReceivable();
PayMeetingSituation payMeetingSituation = new PayMeetingSituation();
if(receivableAmount==invoice && c==y){
payMeetingSituation.setId(one.getProjectId());
payMeetingSituation.setMail(1);
payMeetingSituationService.updateById(payMeetingSituation);
}else if(y<c&&y>0){
payMeetingSituation.setId(one.getProjectId());
payMeetingSituation.setMail(2);
payMeetingSituationService.updateById(payMeetingSituation);
}
}else if (GlobalConstants.FORE.equals(one.getProjectType())) {
receivableAmount= payMemberProjectSubitemService.getById(one.getProjectId()).getAmountReceivable();
PayMemberProjectSubitem payMemberProjectSubitem = new PayMemberProjectSubitem();
if(receivableAmount==invoice && c==y){
payMemberProjectSubitem.setId(one.getProjectId());
payMemberProjectSubitem.setMail(1);
payMemberProjectSubitemService.updateById(payMemberProjectSubitem);
}else if(y<c&&y>0){
payMemberProjectSubitem.setId(one.getProjectId());
payMemberProjectSubitem.setMail(2);
payMemberProjectSubitemService.updateById(payMemberProjectSubitem);
}
}else if (GlobalConstants.FIVE.equals(one.getProjectType())){
receivableAmount=tbMemberProjectSubitemService.getById(one.getProjectId()).getAmountReceivable();
TbMemberProjectSubitem tbMemberProjectSubitem = new TbMemberProjectSubitem();
if(receivableAmount==invoice && c==y){
tbMemberProjectSubitem.setId(one.getProjectId());
tbMemberProjectSubitem.setMail(1);
tbMemberProjectSubitemService.updateById(tbMemberProjectSubitem);
}else if(y<c&&y>0){
tbMemberProjectSubitem.setId(one.getProjectId());
tbMemberProjectSubitem.setMail(2);
tbMemberProjectSubitemService.updateById(tbMemberProjectSubitem);
}
}
// // 到账
// // 应收金额 = 实收金额 = 1
// if(receivableAmount.compareTo(payCommonProject.getPaidAmount()) == 0){
@@ -234,10 +286,10 @@ public class PayMailBillController extends JeroController<PayMailBill, IPayMailB
// && payCommonProject.getPaidAmount().compareTo(receivableAmount) ==-1){
// projectStatusVO.setInAccount(ProjectCommon.IN_ACCOUNT2);
// }
//
//
// return Result.OK("编辑成功!");
// }
return Result.OK("编辑成功!");
}
/**
* 编辑
@@ -246,7 +298,7 @@ public class PayMailBillController extends JeroController<PayMailBill, IPayMailB
@ApiOperation(value="邮寄票据-修改", notes="邮寄票据-修改")
@Transactional
@PostMapping(value = "/edit2")
public Result<?> edit2(PayMailBill payMailBill
public Result<?> edit2(@RequestBody PayMailBill payMailBill
) {
payMailBill.setPostStatus(1);
payMailBillService.updateById(payMailBill);
@@ -259,7 +311,7 @@ public class PayMailBillController extends JeroController<PayMailBill, IPayMailB
@ApiOperation(value="邮寄票据-邮寄", notes="邮寄票据-邮寄")
@Transactional
@PostMapping(value = "/edit")
public Result<?> edit(PayMailBill payMailBill
public Result<?> edit(@RequestBody PayMailBill payMailBill
) {
payMailBill.setPostStatus(1);
payMailBillService.updateById(payMailBill);
@@ -61,7 +61,7 @@ public class PayMailContractController extends JeroController<PayMailContract, I
*/
@ApiOperation(value="邮寄合同-编辑(邮寄和修改按钮统一接口)", notes="邮寄合同-编辑(邮寄和修改按钮统一接口)")
@PostMapping(value = "/edit")
public Result<?> edit(PayMailContract payMailContract
public Result<?> edit(@RequestBody PayMailContract payMailContract
) {
payMailContract.setPostStatus(1);
payMailContractService.updateById(payMailContract);
@@ -1,9 +1,11 @@
package com.jero.mail.entity;
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 org.springframework.format.annotation.DateTimeFormat;
@Data
public class PayMailBillList {
@@ -45,11 +47,17 @@ public class PayMailBillList {
private java.lang.String contractAmount;
/**备注*/
@Excel(name = "备注", width = 15)
@ApiModelProperty(value = "备注")
private java.lang.String remark;
/**邮寄时间*/
@Excel(name = "邮寄时间", width = 15, format = "yyyy-MM-dd")
@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
@DateTimeFormat(pattern="yyyy-MM-dd")
@ApiModelProperty(value = "邮寄时间")
private java.util.Date sendDate;
@@ -62,13 +62,13 @@ public class PayMailContract implements Serializable {
/**快递单号*/
@Excel(name = "快递单号", width = 15)
@ApiModelProperty(value = "快递单号")
private java.lang.String postno;
private java.lang.String postNo;
/**邮寄时间*/
@Excel(name = "邮寄时间", width = 15, format = "yyyy-MM-dd")
@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
@DateTimeFormat(pattern="yyyy-MM-dd")
@ApiModelProperty(value = "邮寄时间")
private java.util.Date senddate;
private java.util.Date sendDate;
/**备注*/
@Excel(name = "备注", width = 15)
@ApiModelProperty(value = "备注")
@@ -6,7 +6,7 @@ SELECT
pc.id,
pc.post_status as postStatus,
pc.send_method as sendMethod,
pc.postNo,
pc.post_no as postNo,
pc.liaison_man as liaisonMan,
pc.mobile,
pic.contract_num as contractNum,
@@ -23,7 +23,7 @@ SELECT
pc.id,
pc.post_status as postStatus,
pc.send_method as sendMethod,
pc.postNo,
pc.post_no as postNo,
pc.liaison_man as liaisonMan,
pc.mobile,
pic.contract_num as contractNum,