xda před 2 roky
rodič
revize
a4b91841d1

+ 2 - 2
src/main/java/com/winhc/repal/model/dto/UpdateRepalBillDTO.java

@@ -28,8 +28,8 @@ public class UpdateRepalBillDTO {
     @JsonFormat(pattern = "yyyy-MM-dd")
     private LocalDate endDate;
 
-    @ApiModelProperty(value = "账款总金额string")
-    private BigDecimal totalMoney;
+    @ApiModelProperty(value = "账款总应收金额string")
+    private BigDecimal receivable;
 
     @ApiModelProperty(value = "账款阶段,1未起诉,2已起诉,3已申请执行,4终结本次执行")
     private Integer repalBillStage;

+ 16 - 7
src/main/java/com/winhc/repal/service/impl/RepalBillServiceImpl.java

@@ -116,6 +116,7 @@ public class RepalBillServiceImpl extends ServiceImpl<RepalBillMapper, RepalBill
     @Autowired
     private RepalCustChargeRelService repalCustChargeRelService;
 
+
     @Autowired
     private CompanyService companyService;
 
@@ -150,6 +151,7 @@ public class RepalBillServiceImpl extends ServiceImpl<RepalBillMapper, RepalBill
                 case 3:
                     billPageBO.setStartDate(LocalDate.now().with(TemporalAdjusters.firstDayOfMonth()));
                     billPageBO.setEndDate(LocalDate.now().with(TemporalAdjusters.lastDayOfMonth()));
+                    break;
                 case 4:
                     billPageBO.setStartDate(LocalDate.now().with(TemporalAdjusters.firstDayOfYear()));
                     billPageBO.setEndDate(LocalDate.now().with(TemporalAdjusters.lastDayOfYear()));
@@ -221,9 +223,10 @@ public class RepalBillServiceImpl extends ServiceImpl<RepalBillMapper, RepalBill
             if (nameMap.containsKey(repalBill.getId())) {
                 vo.setResponsiblePersonNames(String.join("、", nameMap.get(repalBill.getId())));
             }
-            vo.setRepalOverdueStatus(repalBill.getRepalBillStatus() > 1 ? repalBill.getRepalBillStatus() + 1 : repalBill.getRepalBillStatus());
             if (RepalBillStatusEnum.PROGRESSING.getCode().equals(vo.getRepalOverdueStatus()) && LocalDate.now().plusDays(3).equals(vo.getEndDate())) {
                 vo.setRepalOverdueStatus(2);
+            } else {
+                vo.setRepalOverdueStatus(repalBill.getRepalBillStatus() > 1 ? repalBill.getRepalBillStatus() + 1 : repalBill.getRepalBillStatus());
             }
             vo.setCustName(repalBill.getCustomerName());
             vo.setCustProperty(custMap.get(repalBill.getCustomerId()));
@@ -620,13 +623,18 @@ public class RepalBillServiceImpl extends ServiceImpl<RepalBillMapper, RepalBill
             // 逾期
             repalBill.setRepalBillStatus(RepalBillStatusEnum.OVERDUE.getCode());
         }
-        repalBill.setTotalMoney(dto.getTotalMoney());
-        if (repalBill.getReceipt().compareTo(repalBill.getTotalMoney()) >= 0) {
-            // 收回了
-            repalBill.setRefreshStatus(RepalBillStatusEnum.SUCCESS.getCode());
-            repalBill.setReceivable(BigDecimal.ZERO);
+        // 改金额三种状态
+        if (dto.getReceivable().compareTo(BigDecimal.ZERO) == 0) {
+            repalBill.setTotalMoney(repalBill.getReceipt());
+            repalBill.setRepalBillStatus(RepalBillStatusEnum.SUCCESS.getCode());
         }
-
+        if (dto.getReceivable().compareTo(repalBill.getReceivable()) > 0) {
+            repalBill.setTotalMoney(repalBill.getTotalMoney().add(dto.getReceivable().subtract(repalBill.getReceivable())));
+        }
+        if (dto.getReceivable().compareTo(repalBill.getReceivable()) < 0) {
+            repalBill.setTotalMoney(repalBill.getTotalMoney().subtract(repalBill.getReceivable().subtract(dto.getReceivable())));
+        }
+        repalBill.setReceivable(dto.getReceivable());
         this.update(Wrappers.lambdaUpdate(RepalBill.class)
                 .eq(RepalBill::getId, repalBill.getId())
                 .set(RepalBill::getEndDate, dto.getEndDate())
@@ -635,6 +643,7 @@ public class RepalBillServiceImpl extends ServiceImpl<RepalBillMapper, RepalBill
                 .set(RepalBill::getBillRemark, dto.getBillRemark())
                 .set(RepalBill::getTotalMoney, repalBill.getTotalMoney())
                 .set(RepalBill::getReceivable, repalBill.getReceivable())
+                .set(RepalBill::getReceipt, repalBill.getReceipt())
                 .set(RepalBill::getContractName, dto.getContractName())
                 .set(RepalBill::getContractEndDate, dto.getContractEndDate())
                 .set(RepalBill::getContractUrl, String.join( ";", dto.getContractUrlList()))