瀏覽代碼

采购付款添加附件 付款详情添加弹窗

yzc 1 年之前
父節點
當前提交
130ef8438f

+ 15 - 2
hx-purchase/src/main/java/com/fjhx/purchase/controller/purchase/PurchasePayRecordController.java

@@ -1,9 +1,14 @@
 package com.fjhx.purchase.controller.purchase;
 
-import org.springframework.web.bind.annotation.*;
 import com.fjhx.purchase.entity.purchase.dto.PurchasePayRecordDto;
+import com.fjhx.purchase.entity.purchase.dto.PurchasePayRecordSelectDto;
+import com.fjhx.purchase.entity.purchase.vo.PurchasePayRecordVo;
 import com.fjhx.purchase.service.purchase.PurchasePayRecordService;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
 
 
 /**
@@ -11,7 +16,7 @@ import org.springframework.beans.factory.annotation.Autowired;
  * 采购付款记录 前端控制器
  * </p>
  *
- * @author 
+ * @author
  * @since 2023-05-24
  */
 @RestController
@@ -29,4 +34,12 @@ public class PurchasePayRecordController {
         purchasePayRecordService.add(purchasePayRecordDto);
     }
 
+    /**
+     * 采购付款记录明细
+     */
+    @PostMapping("/detail")
+    public PurchasePayRecordVo detail(@RequestBody PurchasePayRecordSelectDto dto) {
+        return purchasePayRecordService.detail(dto);
+    }
+
 }

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

@@ -1,5 +1,6 @@
 package com.fjhx.purchase.entity.purchase.dto;
 
+import com.fjhx.file.entity.ObsFile;
 import com.fjhx.purchase.entity.purchase.po.PurchasePayRecord;
 import com.fjhx.purchase.entity.purchase.po.PurchasePayRecordDetail;
 import lombok.Getter;
@@ -22,4 +23,9 @@ public class PurchasePayRecordDto extends PurchasePayRecord {
      */
     List<PurchasePayRecordDetail> purchasePayRecordDetailList;
 
+    /**
+     * 附件信息
+     */
+    private List<ObsFile> fileList;
+
 }

+ 27 - 0
hx-purchase/src/main/java/com/fjhx/purchase/entity/purchase/vo/PurchasePayRecordDetailVo.java

@@ -4,6 +4,8 @@ import com.fjhx.purchase.entity.purchase.po.PurchasePayRecordDetail;
 import lombok.Getter;
 import lombok.Setter;
 
+import java.math.BigDecimal;
+
 /**
  * 采购付款记录列表查询返回值实体
  *
@@ -24,4 +26,29 @@ public class PurchasePayRecordDetailVo extends PurchasePayRecordDetail {
      */
     private String payAccount;
 
+    /**
+     * 采购合同编号
+     */
+    private String contractCode;
+    /**
+     * 是否合同
+     */
+    private Integer isAgreement;
+    /**
+     * 付款方式
+     */
+    private String paymentMethod;
+    /**
+     * 采购备注
+     */
+    private String purchaseContent;
+    /**
+     * 采购金额
+     */
+    private BigDecimal purchaseAmount;
+    /**
+     * 已付款金额
+     */
+    private BigDecimal paidAmount;
+
 }

+ 7 - 0
hx-purchase/src/main/java/com/fjhx/purchase/entity/purchase/vo/PurchasePayRecordVo.java

@@ -4,6 +4,8 @@ import com.fjhx.purchase.entity.purchase.po.PurchasePayRecord;
 import lombok.Getter;
 import lombok.Setter;
 
+import java.util.List;
+
 /**
  * 采购付款记录列表查询返回值实体
  *
@@ -14,4 +16,9 @@ import lombok.Setter;
 @Setter
 public class PurchasePayRecordVo extends PurchasePayRecord {
 
+    /**
+     * 采购付款记录明细列表
+     */
+    List<PurchasePayRecordDetailVo> purchasePayRecordDetailList;
+
 }

+ 7 - 1
hx-purchase/src/main/java/com/fjhx/purchase/service/purchase/PurchasePayRecordService.java

@@ -1,8 +1,10 @@
 package com.fjhx.purchase.service.purchase;
 
+import com.fjhx.purchase.entity.purchase.dto.PurchasePayRecordDto;
+import com.fjhx.purchase.entity.purchase.dto.PurchasePayRecordSelectDto;
 import com.fjhx.purchase.entity.purchase.po.PurchasePayRecord;
+import com.fjhx.purchase.entity.purchase.vo.PurchasePayRecordVo;
 import com.ruoyi.common.core.service.BaseService;
-import com.fjhx.purchase.entity.purchase.dto.PurchasePayRecordDto;
 
 
 /**
@@ -20,4 +22,8 @@ public interface PurchasePayRecordService extends BaseService<PurchasePayRecord>
      */
     void add(PurchasePayRecordDto purchasePayRecordDto);
 
+    /**
+     * 采购付款记录明细
+     */
+    PurchasePayRecordVo detail(PurchasePayRecordSelectDto dto);
 }

+ 37 - 4
hx-purchase/src/main/java/com/fjhx/purchase/service/purchase/impl/PurchasePayRecordServiceImpl.java

@@ -1,14 +1,20 @@
 package com.fjhx.purchase.service.purchase.impl;
 
+import cn.hutool.core.bean.BeanUtil;
 import cn.hutool.core.util.ObjectUtil;
 import com.alibaba.fastjson2.JSONObject;
 import com.alibaba.fastjson2.JSONWriter;
+import com.baomidou.dynamic.datasource.annotation.DSTransactional;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.fjhx.common.utils.Assert;
+import com.fjhx.file.utils.ObsFileUtil;
 import com.fjhx.purchase.entity.purchase.dto.PurchasePayRecordDto;
+import com.fjhx.purchase.entity.purchase.dto.PurchasePayRecordSelectDto;
 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.entity.purchase.vo.PurchasePayRecordDetailVo;
+import com.fjhx.purchase.entity.purchase.vo.PurchasePayRecordVo;
 import com.fjhx.purchase.mapper.purchase.PurchasePayRecordMapper;
 import com.fjhx.purchase.service.purchase.PurchasePayRecordDetailService;
 import com.fjhx.purchase.service.purchase.PurchasePayRecordService;
@@ -16,7 +22,6 @@ 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 org.springframework.transaction.annotation.Transactional;
 
 import java.math.BigDecimal;
 import java.util.List;
@@ -41,10 +46,11 @@ public class PurchasePayRecordServiceImpl extends ServiceImpl<PurchasePayRecordM
     private PurchasePayRecordDetailService purchasePayRecordDetailService;
 
     @Override
-    @Transactional(rollbackFor = Exception.class)
+    @DSTransactional
     public void add(PurchasePayRecordDto purchasePayRecordDto) {
         //保存付款记录
         this.save(purchasePayRecordDto);
+        ObsFileUtil.saveFile(purchasePayRecordDto.getFileList(), purchasePayRecordDto.getId());
 
         //创建付款记录
         List<PurchasePayRecordDetail> purchasePayRecordList = purchasePayRecordDto.getPurchasePayRecordDetailList();
@@ -63,7 +69,7 @@ public class PurchasePayRecordServiceImpl extends ServiceImpl<PurchasePayRecordM
             List<PurchasePayRecordDetail> oldPurchasePayRecords = PayRecordMap.get(payRecord.getPurchaseId());
             //求和已付款
             BigDecimal paidAmount = BigDecimal.ZERO;
-            if(ObjectUtil.isNotEmpty(oldPurchasePayRecords)){
+            if (ObjectUtil.isNotEmpty(oldPurchasePayRecords)) {
                 paidAmount = oldPurchasePayRecords.stream().map(PurchasePayRecordDetail::getAmount).reduce(BigDecimal.ZERO, BigDecimal::add);
             }
             BigDecimal add = paidAmount.add(payRecord.getAmount());
@@ -83,7 +89,7 @@ public class PurchasePayRecordServiceImpl extends ServiceImpl<PurchasePayRecordM
             String victoriatouristJson = purchase.getVictoriatouristJson();
             JSONObject json = ObjectUtil.isEmpty(victoriatouristJson) ? new JSONObject() : JSONObject.parseObject(victoriatouristJson);
             json.put("paidAmount", add);
-            purchase.setVictoriatouristJson(JSONObject.toJSONString(json,JSONWriter.Feature.WriteLongAsString));
+            purchase.setVictoriatouristJson(JSONObject.toJSONString(json, JSONWriter.Feature.WriteLongAsString));
 
             purchaseService.updateById(purchase);
 
@@ -94,4 +100,31 @@ public class PurchasePayRecordServiceImpl extends ServiceImpl<PurchasePayRecordM
         purchasePayRecordDetailService.saveBatch(purchasePayRecordList);
     }
 
+
+    @Override
+    public PurchasePayRecordVo detail(PurchasePayRecordSelectDto dto) {
+        Assert.notEmpty(dto.getId(), "采购付款记录id不能为空");
+        PurchasePayRecord purchasePayRecord = this.getById(dto.getId());
+        PurchasePayRecordVo result = BeanUtil.toBean(purchasePayRecord, PurchasePayRecordVo.class);
+        Assert.notEmpty(result,"查询不到采购付款信息");
+        //赋值付款记录明细
+        List<PurchasePayRecordDetail> list = purchasePayRecordDetailService.list(q -> q.eq(PurchasePayRecordDetail::getPurchasePayRecordId, result.getId()));
+        List<PurchasePayRecordDetailVo> purchasePayRecordDetailVos = BeanUtil.copyToList(list, PurchasePayRecordDetailVo.class);
+        for (PurchasePayRecordDetailVo purchasePayRecordDetailVo : purchasePayRecordDetailVos) {
+            Purchase purchase = purchaseService.getById(purchasePayRecordDetailVo.getPurchaseId());
+            String victoriatouristJsonStr = purchase.getVictoriatouristJson();
+            if (ObjectUtil.isNotEmpty(victoriatouristJsonStr)) {
+                JSONObject victoriatouristJson = JSONObject.parseObject(victoriatouristJsonStr);
+                purchasePayRecordDetailVo.setContractCode(victoriatouristJson.getString("contractCode"));
+                purchasePayRecordDetailVo.setIsAgreement(victoriatouristJson.getInteger("isAgreement"));
+                purchasePayRecordDetailVo.setPaymentMethod(victoriatouristJson.getString("paymentMethod"));
+                purchasePayRecordDetailVo.setPurchaseContent(purchase.getPurchaseContent());
+                purchasePayRecordDetailVo.setPurchaseAmount(purchase.getAmount());
+                purchasePayRecordDetailVo.setPaidAmount(victoriatouristJson.getBigDecimal("paidAmount"));
+            }
+        }
+        result.setPurchasePayRecordDetailList(purchasePayRecordDetailVos);
+        return result;
+    }
+
 }

+ 2 - 1
hx-purchase/src/main/resources/mapper/purchase/PurchasePayRecordDetailMapper.xml

@@ -11,7 +11,8 @@
                pprd.update_user,
                pprd.update_time,
                ppr.pay_account,
-               pprd.remark
+               pprd.remark,
+               ppr.id purchasePayRecordId
         FROM purchase_pay_record_detail pprd
                  LEFT JOIN purchase_pay_record ppr ON pprd.purchase_pay_record_id = ppr.id
             ${ew.customSqlSegment}