Procházet zdrojové kódy

fix:收款审核通过时无法修改单价

ly před 10 měsíci
rodič
revize
2a56785bec

+ 11 - 7
src/main/java/cn/ezhizao/project/business/order/controller/BizArchiveInputController.java

@@ -405,14 +405,17 @@ public class BizArchiveInputController extends BaseController {
                         .eq(BizWorkOrderDetail::getContractDetailId, item.getId())
                         .eq(BizWorkOrderDetail::getIsStop, 0));
 
-                List<BizCollectionDetail> collectionDetailList = bizCollectionDetailService.list(new LambdaQueryWrapper<BizCollectionDetail>()
-                        .eq(BizCollectionDetail::getContractId, newBizArchiveInput.getId())
-                        .eq(BizCollectionDetail::getContractDetailId, item.getId())
-                        .eq(BizCollectionDetail::getTaskTypeId, item.getTaskTypeId()));
-                if (CollectionUtils.isNotEmpty(collectionDetailList)) {
-                    throw new RuntimeException("您已经收款,无法修改合同价格!");
+                BizArchiveInputDetail oldArchDetails = oldArchiveInput.getDetails().stream().filter(old->old.getId().equals(item.getId())).findFirst().orElse(new BizArchiveInputDetail());;
+                boolean b = (item.getPrice().subtract(item.getDiscountAmount())).compareTo(oldArchDetails.getPrice().subtract(oldArchDetails.getDiscountAmount())) != 0;
+                if(b){
+                    List<BizCollectionDetail> collectionDetailList = bizCollectionDetailService.list(new LambdaQueryWrapper<BizCollectionDetail>()
+                            .eq(BizCollectionDetail::getContractId, newBizArchiveInput.getId())
+                            .eq(BizCollectionDetail::getContractDetailId, item.getId())
+                            .eq(BizCollectionDetail::getTaskTypeId, item.getTaskTypeId()));
+                    if (CollectionUtils.isNotEmpty(collectionDetailList)) {
+                        throw new RuntimeException("您已经收款,无法修改合同价格!");
+                    }
                 }
-
                 //通过明细查询workorderID 进而查询record表
                 if (one != null) {
                     Long workOrderId = one.getWorkOrderId();
@@ -438,6 +441,7 @@ public class BizArchiveInputController extends BaseController {
                     if (CollectionUtils.isNotEmpty(list) && result) {
                         throw new ServiceException("存在已开始的任务,不能修改该合同明细");
                     }
+
                 }
             }