yzc преди 2 години
родител
ревизия
507bd64dff

+ 0 - 10
hx-common/src/main/java/com/fjhx/common/enums/CodingRuleEnum.java

@@ -17,16 +17,6 @@ import java.util.stream.Collectors;
 public enum CodingRuleEnum {
 
     /**
-     * 测试方法
-     */
-    test("test", "aaa", Arrays.asList(
-            getDefaultRule(RuleTypeEnum.CUSTOMIZE, "TEST"),
-            getDefaultRule(RuleTypeEnum.DATE_FORMAT, "yyyyMM"),
-            getDefaultRule(RuleTypeEnum.COUNTRY_CODE),
-            getDefaultRule(RuleTypeEnum.CUSTOMER_CODE),
-            getDefaultRule(RuleTypeEnum.AUTOINCREMENT, "5")
-    )),
-    /**
      * 外销合同
      */
     CONTRACT("contract", "外销合同", Arrays.asList(

+ 0 - 8
hx-purchase/src/main/java/com/fjhx/purchase/controller/purchase/PurchaseController.java

@@ -96,12 +96,4 @@ public class PurchaseController {
         return purchaseService.paymentBill(purchaseDto);
     }
 
-    /**
-     * 采购付款
-     */
-    @PostMapping("/payByWdly")
-    public void payByWdly(@RequestBody PurchasePayRecordDto purchasePayRecordDto) {
-        purchaseService.payByWdly(purchasePayRecordDto);
-    }
-
 }

+ 13 - 0
hx-purchase/src/main/java/com/fjhx/purchase/controller/purchase/PurchasePayRecordController.java

@@ -1,6 +1,9 @@
 package com.fjhx.purchase.controller.purchase;
 
 import org.springframework.web.bind.annotation.*;
+import com.fjhx.purchase.entity.purchase.dto.PurchasePayRecordDto;
+import com.fjhx.purchase.service.purchase.PurchasePayRecordService;
+import org.springframework.beans.factory.annotation.Autowired;
 
 
 /**
@@ -15,5 +18,15 @@ import org.springframework.web.bind.annotation.*;
 @RequestMapping("/purchasePayRecord")
 public class PurchasePayRecordController {
 
+    @Autowired
+    private PurchasePayRecordService purchasePayRecordService;
+
+    /**
+     * 采购付款记录新增
+     */
+    @PostMapping("/add")
+    public void add(@RequestBody PurchasePayRecordDto purchasePayRecordDto) {
+        purchasePayRecordService.add(purchasePayRecordDto);
+    }
 
 }

+ 1 - 1
hx-purchase/src/main/java/com/fjhx/purchase/controller/purchase/PurchasePayRecordDetailController.java

@@ -20,7 +20,7 @@ import org.springframework.web.bind.annotation.RestController;
  * @since 2023-05-23
  */
 @RestController
-@RequestMapping("/purchasePayRecord")
+@RequestMapping("/purchasePayRecordDetail")
 public class PurchasePayRecordDetailController {
 
     @Autowired

+ 3 - 3
hx-purchase/src/main/java/com/fjhx/purchase/entity/purchase/dto/PurchasePayRecordDto.java

@@ -5,7 +5,6 @@ import com.fjhx.purchase.entity.purchase.po.PurchasePayRecordDetail;
 import lombok.Getter;
 import lombok.Setter;
 
-import java.util.Date;
 import java.util.List;
 
 /**
@@ -19,7 +18,8 @@ import java.util.List;
 public class PurchasePayRecordDto extends PurchasePayRecord {
 
     /**
-     * 付款记录列表
+     * 采购付款记录明细
      */
-    private List<PurchasePayRecordDetail> purchasePayRecordList;
+    List<PurchasePayRecordDetail> purchasePayRecordDetailList;
+
 }

+ 6 - 0
hx-purchase/src/main/java/com/fjhx/purchase/service/purchase/PurchasePayRecordService.java

@@ -2,6 +2,7 @@ package com.fjhx.purchase.service.purchase;
 
 import com.fjhx.purchase.entity.purchase.po.PurchasePayRecord;
 import com.ruoyi.common.core.service.BaseService;
+import com.fjhx.purchase.entity.purchase.dto.PurchasePayRecordDto;
 
 
 /**
@@ -14,4 +15,9 @@ import com.ruoyi.common.core.service.BaseService;
  */
 public interface PurchasePayRecordService extends BaseService<PurchasePayRecord> {
 
+    /**
+     * 采购付款记录新增
+     */
+    void add(PurchasePayRecordDto purchasePayRecordDto);
+
 }

+ 0 - 4
hx-purchase/src/main/java/com/fjhx/purchase/service/purchase/PurchaseService.java

@@ -65,8 +65,4 @@ public interface PurchaseService extends BaseService<Purchase> {
      */
     Page<PurchaseDto> paymentBill(PurchaseSelectDto purchaseDto);
 
-    /**
-     * 采购付款
-     */
-    void payByWdly(PurchasePayRecordDto purchaseDto);
 }

+ 14 - 0
hx-purchase/src/main/java/com/fjhx/purchase/service/purchase/impl/PurchasePayRecordDetailServiceImpl.java

@@ -1,5 +1,6 @@
 package com.fjhx.purchase.service.purchase.impl;
 
+import com.baomidou.mybatisplus.core.toolkit.ObjectUtils;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.fjhx.common.utils.Assert;
@@ -9,6 +10,7 @@ import com.fjhx.purchase.entity.purchase.po.PurchasePayRecordDetail;
 import com.fjhx.purchase.entity.purchase.vo.PurchasePayRecordDetailVo;
 import com.fjhx.purchase.mapper.purchase.PurchasePayRecordDetailMapper;
 import com.fjhx.purchase.service.purchase.PurchasePayRecordDetailService;
+import com.fjhx.purchase.service.purchase.PurchasePayRecordService;
 import com.fjhx.purchase.service.purchase.PurchaseService;
 import com.ruoyi.common.utils.wrapper.IWrapper;
 import com.ruoyi.system.utils.UserUtil;
@@ -16,6 +18,9 @@ import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 
+import java.util.List;
+import java.util.stream.Collectors;
+
 
 /**
  * <p>
@@ -30,6 +35,8 @@ public class PurchasePayRecordDetailServiceImpl extends ServiceImpl<PurchasePayR
 
     @Autowired
     private PurchaseService purchaseService;
+    @Autowired
+    private PurchasePayRecordService purchasePayRecordService;
 
     @Override
     public Page<PurchasePayRecordDetailVo> getPage(PurchasePayRecordDetailSelectDto dto) {
@@ -51,6 +58,13 @@ public class PurchasePayRecordDetailServiceImpl extends ServiceImpl<PurchasePayR
         purchaseService.updateById(purchase);
         //清空付款记录
         this.remove(q -> q.eq(PurchasePayRecordDetail::getPurchaseId, dto.getPurchaseId()));
+
+        //清空记录信息
+        List<PurchasePayRecordDetail> list = this.list(q -> q.eq(PurchasePayRecordDetail::getPurchaseId, dto.getPurchaseId()));
+        if (ObjectUtils.isNotEmpty(list)) {
+            List<Long> purchasePayRecordIds = list.stream().map(PurchasePayRecordDetail::getPurchasePayRecordId).collect(Collectors.toList());
+            purchasePayRecordService.removeBatchByIds(purchasePayRecordIds);
+        }
     }
 
 }

+ 72 - 2
hx-purchase/src/main/java/com/fjhx/purchase/service/purchase/impl/PurchasePayRecordServiceImpl.java

@@ -1,23 +1,93 @@
 package com.fjhx.purchase.service.purchase.impl;
 
+import cn.hutool.core.util.ObjectUtil;
+import com.alibaba.fastjson2.JSONObject;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.fjhx.common.utils.Assert;
+import com.fjhx.purchase.entity.purchase.dto.PurchasePayRecordDto;
+import com.fjhx.purchase.entity.purchase.po.Purchase;
 import com.fjhx.purchase.entity.purchase.po.PurchasePayRecord;
+import com.fjhx.purchase.entity.purchase.po.PurchasePayRecordDetail;
 import com.fjhx.purchase.mapper.purchase.PurchasePayRecordMapper;
+import com.fjhx.purchase.service.purchase.PurchasePayRecordDetailService;
 import com.fjhx.purchase.service.purchase.PurchasePayRecordService;
-import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.fjhx.purchase.service.purchase.PurchaseService;
+import com.obs.services.internal.ServiceException;
+import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
+import java.math.BigDecimal;
+import java.util.List;
+import java.util.Map;
+import java.util.stream.Collectors;
+
 
 /**
  * <p>
  * 采购付款记录 服务实现类
  * </p>
  *
- * @author 
+ * @author
  * @since 2023-05-24
  */
 @Service
 public class PurchasePayRecordServiceImpl extends ServiceImpl<PurchasePayRecordMapper, PurchasePayRecord> implements PurchasePayRecordService {
 
+    @Autowired
+    private PurchaseService purchaseService;
+    @Autowired
+    private PurchasePayRecordDetailService purchasePayRecordDetailService;
+
+    @Override
+    public void add(PurchasePayRecordDto purchasePayRecordDto) {
+        //保存付款记录
+        this.save(purchasePayRecordDto);
+
+        //创建付款记录
+        List<PurchasePayRecordDetail> purchasePayRecordList = purchasePayRecordDto.getPurchasePayRecordDetailList();
+        Assert.notEmpty(purchasePayRecordList, "付款列表为空");
+        List<Long> purchaseIds = purchasePayRecordList.stream().map(PurchasePayRecordDetail::getPurchaseId).collect(Collectors.toList());
+        ;
+
+        Map<Long, Purchase> purchaseMap = purchaseService.mapKEntity(Purchase::getId, q -> q.in(Purchase::getId, purchaseIds));
+        Map<Long, List<PurchasePayRecordDetail>> PayRecordMap = purchasePayRecordDetailService.mapKGroup(PurchasePayRecordDetail::getPurchaseId,
+                q -> q.in(PurchasePayRecordDetail::getPurchaseId, purchaseIds));
+
+
+        //创建付款明细
+        for (PurchasePayRecordDetail payRecord : purchasePayRecordList) {
+            //检查付款金额+已付款金额是否大于采购金额
+            Purchase purchase = purchaseMap.get(payRecord.getPurchaseId());
+            List<PurchasePayRecordDetail> oldPurchasePayRecords = PayRecordMap.get(payRecord.getPurchaseId());
+
+            //求和已付款
+            BigDecimal paidAmount = oldPurchasePayRecords.stream().map(PurchasePayRecordDetail::getAmount).reduce(BigDecimal.ZERO, BigDecimal::add);
+            BigDecimal add = paidAmount.add(payRecord.getAmount());
+
+            if (purchase.getAmount().compareTo(add) < 0) {
+                throw new ServiceException("付款金额不能大于采购金额");
+            }
+            if (purchase.getAmount().compareTo(add) > 0) {
+                //部分付款
+                purchase.setPayStatus(10);
+            } else {
+                //完全付款
+                purchase.setPayStatus(20);
+            }
+
+            //赋值已付款金额
+            String victoriatouristJson = purchase.getVictoriatouristJson();
+            JSONObject json = ObjectUtil.isEmpty(victoriatouristJson) ? new JSONObject() : JSONObject.parseObject(victoriatouristJson);
+            json.put("paidAmount", add);
+            purchase.setVictoriatouristJson(json.toJSONString());
+
+            purchaseService.updateById(purchase);
 
+            //获取付款记录并赋值付款时间
+            payRecord.setPayDate(purchasePayRecordDto.getPayDate());
+            payRecord.setPurchasePayRecordId(purchasePayRecordDto.getId());
+        }
+        purchasePayRecordDetailService.saveBatch(purchasePayRecordList);
+    }
 
 }

+ 4 - 60
hx-purchase/src/main/java/com/fjhx/purchase/service/purchase/impl/PurchaseServiceImpl.java

@@ -7,7 +7,6 @@ import com.alibaba.fastjson2.JSONObject;
 import com.baomidou.dynamic.datasource.annotation.DS;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
-import com.baomidou.mybatisplus.core.toolkit.IdWorker;
 import com.baomidou.mybatisplus.core.toolkit.ObjectUtils;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
@@ -17,7 +16,6 @@ import com.fjhx.common.entity.documentary.bo.DocumentaryData;
 import com.fjhx.common.enums.CodingRuleEnum;
 import com.fjhx.common.service.coding.CodingRuleService;
 import com.fjhx.common.service.documentary.GetDocumentaryBusinessTemplate;
-import com.fjhx.common.utils.Assert;
 import com.fjhx.customer.service.customer.CustomerService;
 import com.fjhx.item.entity.product.vo.ProductInfoVo;
 import com.fjhx.item.service.product.ProductInfoService;
@@ -25,12 +23,10 @@ import com.fjhx.purchase.entity.invoice.vo.InvoiceDetailsVo;
 import com.fjhx.purchase.entity.pay.vo.PayDetailVo;
 import com.fjhx.purchase.entity.purchase.bo.PurchaseDocumentaryBo;
 import com.fjhx.purchase.entity.purchase.dto.PurchaseDto;
-import com.fjhx.purchase.entity.purchase.dto.PurchasePayRecordDto;
 import com.fjhx.purchase.entity.purchase.dto.PurchaseSelectDto;
 import com.fjhx.purchase.entity.purchase.enums.PurchaseStatusEnum;
 import com.fjhx.purchase.entity.purchase.po.Purchase;
 import com.fjhx.purchase.entity.purchase.po.PurchaseDetail;
-import com.fjhx.purchase.entity.purchase.po.PurchasePayRecord;
 import com.fjhx.purchase.entity.purchase.po.PurchasePayRecordDetail;
 import com.fjhx.purchase.entity.purchase.vo.PurchaseDocumentaryVo;
 import com.fjhx.purchase.entity.purchase.vo.PurchaseVo;
@@ -43,6 +39,7 @@ import com.fjhx.purchase.service.invoice.InvoiceDetailsService;
 import com.fjhx.purchase.service.pay.PayDetailService;
 import com.fjhx.purchase.service.purchase.PurchaseDetailService;
 import com.fjhx.purchase.service.purchase.PurchasePayRecordDetailService;
+import com.fjhx.purchase.service.purchase.PurchasePayRecordService;
 import com.fjhx.purchase.service.purchase.PurchaseService;
 import com.fjhx.purchase.service.subscribe.SubscribeDetailService;
 import com.fjhx.purchase.service.subscribe.SubscribeService;
@@ -58,7 +55,6 @@ import com.ruoyi.common.utils.wrapper.IWrapper;
 import org.apache.commons.collections4.MapUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
-import org.springframework.transaction.annotation.Transactional;
 
 import java.math.BigDecimal;
 import java.util.ArrayList;
@@ -116,6 +112,8 @@ public class PurchaseServiceImpl extends ServiceImpl<PurchaseMapper, Purchase>
     private CodingRuleService codingRuleService;
     @Autowired
     private PurchasePayRecordDetailService purchasePayRecordDetailService;
+    @Autowired
+    private PurchasePayRecordService purchasePayRecordService;
 
     /**
      * 列表
@@ -274,6 +272,7 @@ public class PurchaseServiceImpl extends ServiceImpl<PurchaseMapper, Purchase>
             List<PurchasePayRecordDetail> purchasePayRecords = PayRecordMap.get(purchaseVo.getId());
             if (ObjectUtils.isEmpty(purchasePayRecords)) {
                 purchaseVo.setPaidAmount(BigDecimal.ZERO);
+                continue;
             }
             //求和已付款
             BigDecimal paidAmount = purchasePayRecords.stream().map(PurchasePayRecordDetail::getAmount).reduce(BigDecimal.ZERO, BigDecimal::add);
@@ -490,59 +489,4 @@ public class PurchaseServiceImpl extends ServiceImpl<PurchaseMapper, Purchase>
 
         return page;
     }
-
-    /**
-     * 维多利亚 采购付款
-     */
-    @Override
-    @Transactional(rollbackFor = Exception.class)
-    public void payByWdly(PurchasePayRecordDto purchaseDto) {
-        //创建付款记录
-        long payId = IdWorker.getId();
-        List<PurchasePayRecordDetail> purchasePayRecordList = purchaseDto.getPurchasePayRecordList();
-        Assert.notEmpty(purchasePayRecordList, "付款列表为空");
-        List<Long> purchaseIds = purchasePayRecordList.stream().map(PurchasePayRecordDetail::getPurchaseId).collect(Collectors.toList());
-        ;
-
-        Map<Long, Purchase> purchaseMap = this.mapKEntity(Purchase::getId, q -> q.in(Purchase::getId, purchaseIds));
-        Map<Long, List<PurchasePayRecordDetail>> PayRecordMap = purchasePayRecordDetailService.mapKGroup(PurchasePayRecordDetail::getPurchaseId,
-                q -> q.in(PurchasePayRecordDetail::getPurchaseId, purchaseIds));
-
-        PurchasePayRecord purchasePayRecord = new PurchasePayRecord();
-
-
-        for (PurchasePayRecordDetail payRecord : purchasePayRecordList) {
-            //检查付款金额+已付款金额是否大于采购金额
-            Purchase purchase = purchaseMap.get(payRecord.getPurchaseId());
-            List<PurchasePayRecordDetail> oldPurchasePayRecords = PayRecordMap.get(payRecord.getPurchaseId());
-
-            //求和已付款
-            BigDecimal paidAmount = oldPurchasePayRecords.stream().map(PurchasePayRecordDetail::getAmount).reduce(BigDecimal.ZERO, BigDecimal::add);
-            BigDecimal add = paidAmount.add(payRecord.getAmount());
-
-            if (purchase.getAmount().compareTo(add) < 0) {
-                throw new ServiceException("付款金额不能大于采购金额");
-            }
-            if (purchase.getAmount().compareTo(add) > 0) {
-                //部分付款
-                purchase.setPayStatus(10);
-            } else {
-                //完全付款
-                purchase.setPayStatus(20);
-            }
-
-            //赋值已付款金额
-            String victoriatouristJson = purchase.getVictoriatouristJson();
-            JSONObject json = ObjectUtil.isEmpty(victoriatouristJson) ? new JSONObject() : JSONObject.parseObject(victoriatouristJson);
-            json.put("paidAmount", add);
-            purchase.setVictoriatouristJson(json.toJSONString());
-
-            this.updateById(purchase);
-
-            //获取付款记录并赋值付款时间
-            payRecord.setPayDate(purchaseDto.getPayDate());
-            payRecord.setPurchasePayRecordId(payId);
-        }
-        purchasePayRecordDetailService.saveBatch(purchasePayRecordList);
-    }
 }