From 8790d32374d0a8c70dd91bb05d2ebdb3a60dbee1 Mon Sep 17 00:00:00 2001 From: baozhipeng <961815525@qq.com> Date: Fri, 10 Sep 2021 10:12:50 +0800 Subject: [PATCH] =?UTF-8?q?=E6=9D=A5=E6=AC=BE=E3=80=81=E5=BC=80=E7=A5=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../mail/service/IPayMailBillService.java | 8 ++ .../service/impl/PayMailBillServiceImpl.java | 33 ++++++ .../PayPaymentRecordController.java | 110 ++++++++++-------- .../impl/PayPaymentRecordServiceImpl.java | 28 ++++- 4 files changed, 127 insertions(+), 52 deletions(-) diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/mail/service/IPayMailBillService.java b/jero-boot-incoming-payment/src/main/java/com/jero/mail/service/IPayMailBillService.java index 377ef942..b61c313a 100644 --- a/jero-boot-incoming-payment/src/main/java/com/jero/mail/service/IPayMailBillService.java +++ b/jero-boot-incoming-payment/src/main/java/com/jero/mail/service/IPayMailBillService.java @@ -1,6 +1,7 @@ package com.jero.mail.service; import com.baomidou.mybatisplus.extension.service.IService; +import com.jero.common.api.vo.Result; import com.jero.mail.entity.PayMailBill; import java.util.List; @@ -22,4 +23,11 @@ public interface IPayMailBillService extends IService { * @Exception */ List selectMailBillVO(String projectId); + + /** + * 添加开票 + * @param payMailBill + * @return + */ + Result addPayBill(PayMailBill payMailBill,String projectId,Integer projectType); } diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/mail/service/impl/PayMailBillServiceImpl.java b/jero-boot-incoming-payment/src/main/java/com/jero/mail/service/impl/PayMailBillServiceImpl.java index 8cedd529..4bc34808 100644 --- a/jero-boot-incoming-payment/src/main/java/com/jero/mail/service/impl/PayMailBillServiceImpl.java +++ b/jero-boot-incoming-payment/src/main/java/com/jero/mail/service/impl/PayMailBillServiceImpl.java @@ -2,12 +2,15 @@ package com.jero.mail.service.impl; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.jero.common.api.vo.Result; import com.jero.common.exception.JeroBootException; +import com.jero.contract.common.PayIncomeContractCommon; import com.jero.mail.entity.PayMailBill; import com.jero.mail.entity.PayMailBillProject; import com.jero.mail.mapper.PayMailBillMapper; import com.jero.mail.service.IPayMailBillProjectService; import com.jero.mail.service.IPayMailBillService; +import com.jero.payment.entity.PayPaymentRecord; import org.apache.commons.collections.CollectionUtils; import org.apache.commons.lang3.StringUtils; import org.springframework.beans.factory.annotation.Autowired; @@ -47,4 +50,34 @@ public class PayMailBillServiceImpl extends ServiceImpl addPayBill(PayMailBill payMailBill,String projectId,Integer projectType){ + + if(PayIncomeContractCommon.PROJECT_TYPE5.equals(String.valueOf(projectType))){ + + LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); + wrapper.eq(PayMailBillProject::getProjectId, projectId); + wrapper.eq(PayMailBillProject::getProjectType, PayIncomeContractCommon.PROJECT_TYPE5); + List type5List = payMailBillProjectService.list(wrapper); + + if(type5List!=null && type5List.size()>0){ + return Result.error("标协会员项目,只能开票一次。"); + } + } + //新增票据邮寄表 + payMailBillService.save(payMailBill); + + //新增票据关联项目表 + PayMailBillProject payMailBillProject = new PayMailBillProject(); + payMailBillProject.setBillId(payMailBill.getId()); + payMailBillProject.setProjectId(projectId); + payMailBillProject.setProjectType(projectType); + payMailBillProjectService.save(payMailBillProject); + + return Result.OK("添加成功!"); + } } diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/payment/controller/PayPaymentRecordController.java b/jero-boot-incoming-payment/src/main/java/com/jero/payment/controller/PayPaymentRecordController.java index c07b9520..5d3f3d64 100644 --- a/jero-boot-incoming-payment/src/main/java/com/jero/payment/controller/PayPaymentRecordController.java +++ b/jero-boot-incoming-payment/src/main/java/com/jero/payment/controller/PayPaymentRecordController.java @@ -5,12 +5,15 @@ import java.util.List; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.jero.common.api.vo.Result; import com.jero.common.system.base.controller.JeroController; import com.jero.common.system.query.QueryGenerator; 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.mail.entity.PayMailBill; +import com.jero.mail.service.IPayMailBillService; import com.jero.payment.entity.PayPaymentRecord; import com.jero.payment.service.IPayPaymentRecordService; import com.jero.project.entity.PayCommonProject; @@ -34,6 +37,8 @@ import io.swagger.annotations.ApiOperation; public class PayPaymentRecordController extends JeroController { @Autowired private IPayPaymentRecordService payPaymentRecordService; + @Autowired + private IPayMailBillService payMailBillService; @@ -52,56 +57,74 @@ public class PayPaymentRecordController extends JeroController addPhase(@RequestBody PayPaymentRecord payPaymentRecord) { + @ApiOperation(value="添加来款", notes="添加来款") + @PostMapping(value = "/addAmountReceived") + public Result addAmountReceived(@RequestBody PayPaymentRecord payPaymentRecord) { return payPaymentRecordService.addPhase(payPaymentRecord); } - + /** - * 编辑 - * - * @param payPaymentRecord + * 来款列表 * @return */ - @ApiOperation(value="pay_payment_record-编辑", notes="pay_payment_record-编辑") - @PutMapping(value = "/edit") - public Result edit(@RequestBody PayPaymentRecord payPaymentRecord) { + @ApiOperation(value="来款列表", notes="来款列表") + @PostMapping(value = "/amountReceivedList") + public Result amountReceivedList(String id) { + LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); + wrapper.eq(PayPaymentRecord::getProjectId, id); + wrapper.orderByDesc(PayPaymentRecord::getPaymentDate); + List list = payPaymentRecordService.list(wrapper); + + return Result.OK(list); + } + + + /** + * 编辑来款阶段 + */ + @ApiOperation(value="编辑来款阶段", notes="编辑来款阶段") + @PutMapping(value = "/editAmountReceived") + public Result editAmountReceived(@RequestBody PayPaymentRecord payPaymentRecord) { payPaymentRecordService.updateById(payPaymentRecord); return Result.OK("编辑成功!"); } - - /** - * 通过id删除 - * - * @param id - * @return - */ - @ApiOperation(value="pay_payment_record-通过id删除", notes="pay_payment_record-通过id删除") - @DeleteMapping(value = "/delete") - public Result delete(@RequestParam(name="id",required=true) String id) { - payPaymentRecordService.removeById(id); - return Result.OK("删除成功!"); - } - - /** - * 批量删除 - * - * @param ids - * @return - */ - @ApiOperation(value="pay_payment_record-批量删除", notes="pay_payment_record-批量删除") - @DeleteMapping(value = "/deleteBatch") - public Result deleteBatch(@RequestParam(name="ids",required=true) String ids) { - this.payPaymentRecordService.removeByIds(Arrays.asList(ids.split(","))); - return Result.OK("批量删除成功!"); - } - + + /** + * 添加开票 + */ + @ApiOperation(value="添加开票", notes="添加开票") + @PostMapping(value = "/addPayBill") + public Result addPayBill(@RequestBody PayMailBill payMailBill,String projectId,Integer projectType) { + return payMailBillService.addPayBill(payMailBill, projectId, projectType); + } + + /** + * 开票列表 + * @return + */ + @ApiOperation(value="开票列表", notes="开票列表") + @PostMapping(value = "/payBillList") + public Result payBillList(String id) { + + return Result.OK(payMailBillService.selectMailBillVO(id)); + } + + /** + * 编辑开票 + */ + @ApiOperation(value="编辑开票", notes="编辑开票") + @PutMapping(value = "/editPayBill") + public Result editPayBill(@RequestBody PayMailBill payMailBill) { + payMailBillService.updateById(payMailBill); + return Result.OK("编辑成功!"); + } + + /** * 通过id查询 * @@ -129,16 +152,5 @@ public class PayPaymentRecordController extends JeroController importExcel(HttpServletRequest request, HttpServletResponse response) { - return super.importExcel(request, response, PayPaymentRecord.class); - } } diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/payment/service/impl/PayPaymentRecordServiceImpl.java b/jero-boot-incoming-payment/src/main/java/com/jero/payment/service/impl/PayPaymentRecordServiceImpl.java index c4ccf31a..34ba5de6 100644 --- a/jero-boot-incoming-payment/src/main/java/com/jero/payment/service/impl/PayPaymentRecordServiceImpl.java +++ b/jero-boot-incoming-payment/src/main/java/com/jero/payment/service/impl/PayPaymentRecordServiceImpl.java @@ -1,5 +1,6 @@ package com.jero.payment.service.impl; +import cn.hutool.http.HttpUtil; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; @@ -63,16 +64,19 @@ public class PayPaymentRecordServiceImpl extends ServiceImpl mainList(Page page, PayCommonProject payCommonProject){ return payPaymentRecordMapper.mainList(page, payCommonProject); - } /** - * 添加阶段 + * 添加来款记录 * @param payPaymentRecord */ public Result addPhase(PayPaymentRecord payPaymentRecord){ - payPaymentRecordMapper.insert(payPaymentRecord); + //来款记录表新增 + String res = insertPayPaymentRecord(payPaymentRecord); + if(!"success".equals(res)){ + return Result.error(res); + } BigDecimal receivableAmount; Boolean isAdd; @@ -175,6 +179,24 @@ public class PayPaymentRecordServiceImpl extends ServiceImpl wrapper = new LambdaQueryWrapper<>(); + wrapper.eq(PayPaymentRecord::getProjectId, payPaymentRecord.getProjectId()); + wrapper.eq(PayPaymentRecord::getProjectType, PayIncomeContractCommon.PROJECT_TYPE5); + List type5List = payPaymentRecordMapper.selectList(wrapper); + + if(type5List!=null && type5List.size()>0){ + return "标协会员项目,只能来款一次。"; + } + } + payPaymentRecordMapper.insert(payPaymentRecord); + return "success"; + } + /** * 是否还能再添加来款 * @param receivableAmount 应收