瀏覽代碼

增加取消终止账款

xda 2 年之前
父節點
當前提交
dbe8e1ae3d

+ 6 - 0
src/main/java/com/winhc/repal/controller/RepalBillController.java

@@ -69,6 +69,12 @@ public class RepalBillController {
         return BeanResponse.success(CodeMsg.SUCCESS, repalBillService.breakRepalBill(dto));
     }
 
+    @ApiOperation("取消终止账款")
+    @RequestMapping(value = "/unBreak", method = RequestMethod.POST)
+    public BeanResponse<Boolean> unBreakRepalBill(@RequestBody BreakRepalBillDTO dto) {
+        return BeanResponse.success(CodeMsg.SUCCESS, repalBillService.unBreakRepalBill(dto));
+    }
+
     @ApiOperation("修改账款信息")
     @RequestMapping(value = "/update", method = RequestMethod.POST)
     public BeanResponse<Boolean> updateRepalBill(@RequestBody UpdateRepalBillDTO dto) {

+ 9 - 0
src/main/java/com/winhc/repal/service/RepalBillService.java

@@ -84,6 +84,15 @@ public interface RepalBillService extends IService<RepalBill> {
     Boolean breakRepalBill(BreakRepalBillDTO dto);
 
     /**
+     * 终止账款
+     * @param dto dto
+     * @return java.lang.Boolean
+     * @author xda
+     * @date 2022/4/18 12:38
+     */
+    Boolean unBreakRepalBill(BreakRepalBillDTO dto);
+
+    /**
      * 修改账款信息
      * @param dto dto
      * @return java.lang.Boolean

+ 19 - 0
src/main/java/com/winhc/repal/service/impl/RepalBillServiceImpl.java

@@ -547,6 +547,25 @@ public class RepalBillServiceImpl extends ServiceImpl<RepalBillMapper, RepalBill
     }
 
     @Override
+    public Boolean unBreakRepalBill(BreakRepalBillDTO dto) {
+        RepalBill repalBill = this.getById(dto.getRepalBillId());
+        if (Objects.isNull(repalBill)) {
+            throw new CommonException(CodeMsg.FAILED, "账款错误");
+        }
+        if (!repalRolePermissionService.checkUserPermission(UserContextUtil.getUser().getUserId(),
+                RepalBillTypeEnum.RECEIVABLE.getCode().equals(repalBill.getRepalBillType()) ? PermissionEnum.UPDATE_RECEIVABLE.getCode() : PermissionEnum.UPDATE_RECEIPT.getCode())) {
+            throw new CommonException(CodeMsg.FAILED, "无对应权限");
+        }
+        // 逾期标志
+        boolean overdue = LocalDate.now().isAfter(repalBill.getEndDate());
+        this.update(Wrappers.lambdaUpdate(RepalBill.class)
+                .eq(RepalBill::getId, dto.getRepalBillId())
+                .set(RepalBill::getRepalBillStatus, overdue ? RepalBillStatusEnum.OVERDUE.getCode() : RepalBillStatusEnum.PROGRESSING.getCode())
+                .set(StrUtil.isNotBlank(dto.getBreakReason()), RepalBill::getBreakReason, dto.getBreakReason()));
+        return true;
+    }
+
+    @Override
     @Transactional(rollbackFor = Exception.class)
     public Boolean updateRepalBill(UpdateRepalBillDTO dto) {
         RepalBill repalBill = this.getById(dto.getRepalBillId());