zhangyuewww %!s(int64=3) %!d(string=hai) anos
pai
achega
fdb34715df

+ 5 - 1
winsea-haixin-plugin-yiliangyiyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/constant/StatusEnum.java

@@ -80,12 +80,16 @@ public enum StatusEnum {
     NOT_CONFIRM("1", "未确认", "not_confirmed"),
     CONFIRM("3", "已确认", "confirmed"),
 
-    // 采购入库统计
+    // 采购入库统计,采购平仓统计
     PUR_REVIEWED("1", "待审核", ""),
     PUR_PAY("3", "部分付款", ""),
     PUR_PAYaLL("5", "全部付款", ""),
     PUR_RETURN("7", "已驳回", ""),
 
+    // 采购平仓统计
+    PUR_COLLECT("4", "部分收款", ""),
+    PUR_COLLECTaLL("6", "全部收款", ""),
+
     // 点价确认单附件状态
     Not_UPLOADED("0", "未上传", ""),
     UPLOADED("1", "已上传", ""),

+ 45 - 4
winsea-haixin-plugin-yiliangyiyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/controller/PurchaseClosingReportController.java

@@ -1,9 +1,13 @@
 package com.yh.saas.plugin.yiliangyiyun.controller;
 
 
-import org.springframework.web.bind.annotation.RequestMapping;
-
-import org.springframework.web.bind.annotation.RestController;
+import com.baomidou.mybatisplus.plugins.Page;
+import com.yh.saas.plugin.yiliangyiyun.entity.PurchaseClosingReport;
+import com.yh.saas.plugin.yiliangyiyun.entity.PurchaseReceiptReport;
+import com.yh.saas.plugin.yiliangyiyun.service.IPurchaseClosingReportService;
+import com.yh.saas.plugin.yiliangyiyun.service.IPurchaseReceiptReportService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
 
 /**
  * <p>
@@ -16,6 +20,43 @@ import org.springframework.web.bind.annotation.RestController;
 @RestController
 @RequestMapping("/purchaseClosingReport")
 public class PurchaseClosingReportController {
-
+    @Autowired
+    private IPurchaseClosingReportService purchaseClosingReportService;
+    /**
+     * 采购入库统计列表
+     * @param purchaseClosingReport
+     * @return
+     */
+    @GetMapping("/selectPurchaseOrder")
+    public Page<PurchaseClosingReport> selectPurchaseOrder(PurchaseClosingReport purchaseClosingReport){
+        return purchaseClosingReportService.selectPurchaseOrder(purchaseClosingReport);
+    }
+    /**
+     * 编辑采购平仓统计
+     * @param purchaseClosingReport
+     * @return
+     */
+    @PostMapping("/api/editProcurementReceiptReport")
+    public String editProcurementReceiptReport(@RequestBody PurchaseClosingReport purchaseClosingReport){
+        return purchaseClosingReportService.editProcurementReceiptReport(purchaseClosingReport);
+    }
+    /**
+     * 出纳付款
+     * @param purchaseClosingReport
+     * @return
+     */
+    @PostMapping("/api/payMoney")
+    public String payMoney(@RequestBody PurchaseClosingReport purchaseClosingReport){
+        return purchaseClosingReportService.payMoney(purchaseClosingReport);
+    }
+    /**
+     * 出纳收款
+     * @param purchaseClosingReport
+     * @return
+     */
+    @PostMapping("/api/collectMoney")
+    public String collectMoney(@RequestBody PurchaseClosingReport purchaseClosingReport){
+        return purchaseClosingReportService.collectMoney(purchaseClosingReport);
+    }
 }
 

+ 10 - 2
winsea-haixin-plugin-yiliangyiyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/entity/PurchaseClosingReport.java

@@ -1,13 +1,12 @@
 package com.yh.saas.plugin.yiliangyiyun.entity;
 
 import java.util.Date;
-import com.baomidou.mybatisplus.activerecord.Model;
 import java.io.Serializable;
+import java.util.List;
 
 import com.baomidou.mybatisplus.annotations.TableField;
 import com.baomidou.mybatisplus.annotations.TableId;
 import com.baomidou.mybatisplus.annotations.TableName;
-import com.baomidou.mybatisplus.annotations.Version;
 
 import com.baomidou.mybatisplus.enums.IdType;
 import com.yh.saas.common.support.entity.BaseModel;
@@ -145,6 +144,15 @@ public class PurchaseClosingReport extends BaseModel<PurchaseClosingReport> {
     @TableField(exist = false)
     private String searchType;
 
+    @TableField(exist = false)
+    private List<PurchaseClosingReport> purchaseClosingReportList;
+
+    /**
+     *本次付款/收款金额
+     */
+    @TableField(exist = false)
+    private Float money;
+
     @Override
     protected Serializable pkVal() {
         return this.id;

+ 24 - 1
winsea-haixin-plugin-yiliangyiyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/service/IPurchaseClosingReportService.java

@@ -3,6 +3,7 @@ package com.yh.saas.plugin.yiliangyiyun.service;
 import com.baomidou.mybatisplus.plugins.Page;
 import com.yh.saas.plugin.yiliangyiyun.entity.PurchaseClosingReport;
 import com.baomidou.mybatisplus.service.IService;
+import com.yh.saas.plugin.yiliangyiyun.entity.PurchaseReceiptReport;
 
 /**
  * <p>
@@ -14,8 +15,30 @@ import com.baomidou.mybatisplus.service.IService;
  */
 public interface IPurchaseClosingReportService extends IService<PurchaseClosingReport> {
 
-
+    /**
+     * 编辑采购平仓统计
+     *
+     * @param purchaseClosingReport
+     * @return
+     */
     String editProcurementReceiptReport(PurchaseClosingReport purchaseClosingReport);
 
+
+    /**
+     * 采购平仓统计列表
+     *
+     * @param purchaseClosingReport
+     * @return
+     */
     Page<PurchaseClosingReport> selectPurchaseOrder(PurchaseClosingReport purchaseClosingReport);
+    /**
+     * 出纳付款
+     * @param purchaseClosingReport
+     */
+    String payMoney(PurchaseClosingReport purchaseClosingReport);
+    /**
+     * 出纳收款
+     * @param purchaseClosingReport
+     */
+    String collectMoney(PurchaseClosingReport purchaseClosingReport);
 }

+ 76 - 1
winsea-haixin-plugin-yiliangyiyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/service/impl/PurchaseClosingReportServiceImpl.java

@@ -16,6 +16,7 @@ import com.baomidou.mybatisplus.service.impl.ServiceImpl;
 import com.yh.saas.toolkit.workflow.service.IWorkflowService;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
+import org.springframework.util.CollectionUtils;
 
 import java.util.ArrayList;
 import java.util.HashMap;
@@ -42,7 +43,7 @@ public class PurchaseClosingReportServiceImpl extends ServiceImpl<PurchaseClosin
 
 
     /**
-     * 采购入库统计
+     * 采购平仓统计列表
      *
      * @param purchaseClosingReport
      * @return
@@ -83,6 +84,80 @@ public class PurchaseClosingReportServiceImpl extends ServiceImpl<PurchaseClosin
         return page;
     }
 
+    /**
+     * 出纳付款
+     * @param purchaseClosingReport
+     */
+    @Override
+    public String payMoney(PurchaseClosingReport purchaseClosingReport) {
+        List<PurchaseClosingReport> purchaseClosingReportList=purchaseClosingReport.getPurchaseClosingReportList();
+        Float money = purchaseClosingReport.getMoney();
+        //付款多条
+        if (!CollectionUtils.isEmpty(purchaseClosingReportList)) {
+            for (PurchaseClosingReport purchaseClosingReport1 : purchaseClosingReportList) {
+                //付款金额大于本次循环未付金额
+                if (money >= purchaseClosingReport1.getAmountNotPayable()) {
+                    money = money - purchaseClosingReport1.getAmountNotPayable();
+                    //全部付款
+                    purchaseClosingReport1.setStatus(StatusEnum.PUR_PAYaLL.getName());
+                    purchaseClosingReport1.setStatusFlag(StatusEnum.PUR_PAYaLL.getFlag());
+                    purchaseClosingReport1.setAmountEdPayable(purchaseClosingReport1.getAmountEdPayable() + purchaseClosingReport1.getAmountNotPayable());
+                    purchaseClosingReport1.setAmountNotPayable(0.0f);
+                    this.updateById(purchaseClosingReport1);
+                } else if (money > 0) {
+                    Float moneyTmp = money - purchaseClosingReport1.getAmountNotPayable();
+                    //部分付款
+                    purchaseClosingReport1.setStatus(StatusEnum.PUR_PAY.getName());
+                    purchaseClosingReport1.setStatusFlag(StatusEnum.PUR_PAY.getFlag());
+                    purchaseClosingReport1.setAmountEdPayable(purchaseClosingReport1.getAmountEdPayable() + money);
+                    purchaseClosingReport1.setAmountNotPayable(purchaseClosingReport1.getAmountNotPayable() - money);
+                    this.updateById(purchaseClosingReport1);
+                    money = moneyTmp;
+                } else {
+                    break;
+                }
+            }
+        }
+        return "OK";
+    }
+
+    /**
+     * 出纳收款
+     * @param purchaseClosingReport
+     */
+    @Override
+    public String collectMoney(PurchaseClosingReport purchaseClosingReport) {
+        List<PurchaseClosingReport> purchaseClosingReportList=purchaseClosingReport.getPurchaseClosingReportList();
+        Float money = purchaseClosingReport.getMoney();
+        //收款多条
+        if (!CollectionUtils.isEmpty(purchaseClosingReportList)) {
+            for (PurchaseClosingReport purchaseClosingReport1 : purchaseClosingReportList) {
+                //收款金额大于本次循环未收金额
+                if (money >= purchaseClosingReport1.getCollectionNotPayable()) {
+                    money = money - purchaseClosingReport1.getCollectionNotPayable();
+                    //全部收款
+                    purchaseClosingReport1.setStatus(StatusEnum.PUR_COLLECTaLL.getName());
+                    purchaseClosingReport1.setStatusFlag(StatusEnum.PUR_COLLECTaLL.getFlag());
+                    purchaseClosingReport1.setCollectionEdPayable(purchaseClosingReport1.getCollectionEdPayable() + purchaseClosingReport1.getCollectionNotPayable());
+                    purchaseClosingReport1.setCollectionNotPayable(0.0f);
+                    this.updateById(purchaseClosingReport1);
+                } else if (money > 0) {
+                    Float moneyTmp = money - purchaseClosingReport1.getCollectionNotPayable();
+                    //部分收款
+                    purchaseClosingReport1.setStatus(StatusEnum.PUR_COLLECT.getName());
+                    purchaseClosingReport1.setStatusFlag(StatusEnum.PUR_COLLECT.getFlag());
+                    purchaseClosingReport1.setCollectionEdPayable(purchaseClosingReport1.getCollectionEdPayable() + money);
+                    purchaseClosingReport1.setCollectionNotPayable(purchaseClosingReport1.getCollectionNotPayable() - money);
+                    this.updateById(purchaseClosingReport1);
+                    money = moneyTmp;
+                } else {
+                    break;
+                }
+            }
+        }
+        return "OK";
+    }
+
 
     /**
      * 编辑采购平仓统计

+ 2 - 0
winsea-haixin-plugin-yiliangyiyun/src/main/resources/mapper/ProcurementPlanInfoMapper.xml

@@ -48,6 +48,8 @@
         basis_price as basisPrice,
         unit_price as unitPrice,
         receive_private as receivePrivate,
+        procurement_price as procurementPrice,
+        planned_purchase_volume as plannedPurchaseVolume,
         receive_city as receiveCity,
         receive_area as receiveArea,
         receive_warehouse as receiveWarehouse,