gongdecai 3 år sedan
förälder
incheckning
9e179782da

+ 18 - 0
winsea-haixin-plugin-yiliangyiyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/controller/StockPurchaseReceiptReportController.java

@@ -1,6 +1,13 @@
 package com.yh.saas.plugin.yiliangyiyun.controller;
 
 
+import com.baomidou.mybatisplus.plugins.Page;
+import com.yh.saas.plugin.yiliangyiyun.entity.PurchaseReceiptReport;
+import com.yh.saas.plugin.yiliangyiyun.entity.StockPurchaseReceiptReport;
+import com.yh.saas.plugin.yiliangyiyun.service.IPurchaseReceiptReportService;
+import com.yh.saas.plugin.yiliangyiyun.service.IStockPurchaseReceiptReportService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.GetMapping;
 import org.springframework.web.bind.annotation.RequestMapping;
 
 import org.springframework.web.bind.annotation.RestController;
@@ -17,5 +24,16 @@ import org.springframework.web.bind.annotation.RestController;
 @RequestMapping("/stockPurchaseReceiptReport")
 public class StockPurchaseReceiptReportController {
 
+    @Autowired
+    private IStockPurchaseReceiptReportService stockPurchaseReceiptReportService;
+    /**
+     * 采购入库统计列表
+     * @param stockPurchaseReceiptReport
+     * @return
+     */
+    @GetMapping("/selectPurchaseOrder")
+    public Page<StockPurchaseReceiptReport> selectPurchaseOrder(StockPurchaseReceiptReport stockPurchaseReceiptReport){
+        return stockPurchaseReceiptReportService.selectPurchaseOrder(stockPurchaseReceiptReport);
+    }
 }
 

+ 20 - 0
winsea-haixin-plugin-yiliangyiyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/entity/StockPurchaseReceiptReport.java

@@ -4,6 +4,7 @@ import java.util.Date;
 import com.baomidou.mybatisplus.activerecord.Model;
 import java.io.Serializable;
 
+import com.baomidou.mybatisplus.annotations.TableField;
 import com.baomidou.mybatisplus.annotations.TableId;
 import com.baomidou.mybatisplus.annotations.TableName;
 import com.baomidou.mybatisplus.annotations.Version;
@@ -123,6 +124,25 @@ public class StockPurchaseReceiptReport extends BaseModel<StockPurchaseReceiptRe
      * 备注
      */
     private String remark;
+    /**
+     * 模糊查询
+     */
+    @TableField(exist = false)
+    private String searchKeyWord;
+
+    /**
+     *查询类型
+     */
+    @TableField(exist = false)
+    private String searchType;
+    /**
+     *付款金额
+     */
+    @TableField(exist = false)
+    private Float money;
+
+    @TableField(exist = false)
+    private String taskId;
 
 
     @Override

+ 20 - 0
winsea-haixin-plugin-yiliangyiyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/mapper/StockPurchaseReceiptReportMapper.java

@@ -1,8 +1,12 @@
 package com.yh.saas.plugin.yiliangyiyun.mapper;
 
+import com.yh.saas.plugin.yiliangyiyun.entity.PurchaseReceiptReport;
 import com.yh.saas.plugin.yiliangyiyun.entity.StockPurchaseReceiptReport;
 import com.baomidou.mybatisplus.mapper.BaseMapper;
 
+import java.util.List;
+import java.util.Map;
+
 /**
  * <p>
  * 现货采购入库报表 Mapper 接口
@@ -13,4 +17,20 @@ import com.baomidou.mybatisplus.mapper.BaseMapper;
  */
 public interface StockPurchaseReceiptReportMapper extends BaseMapper<StockPurchaseReceiptReport> {
 
+
+    /**
+     * 根据条件查询采购入库他统计总数
+     *
+     * @param pageView
+     * @return
+     */
+    Integer getCountByCondition(Map<String, Object> pageView);
+
+    /**
+     * 根据条件查询采购入库统计列表
+     *
+     * @param pageView
+     * @return
+     */
+    List<StockPurchaseReceiptReport> getListByCondition(Map<String, Object> pageView);
 }

+ 9 - 0
winsea-haixin-plugin-yiliangyiyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/service/IStockPurchaseReceiptReportService.java

@@ -1,5 +1,6 @@
 package com.yh.saas.plugin.yiliangyiyun.service;
 
+import com.baomidou.mybatisplus.plugins.Page;
 import com.yh.saas.plugin.yiliangyiyun.entity.StockPurchaseReceiptReport;
 import com.baomidou.mybatisplus.service.IService;
 
@@ -13,4 +14,12 @@ import com.baomidou.mybatisplus.service.IService;
  */
 public interface IStockPurchaseReceiptReportService extends IService<StockPurchaseReceiptReport> {
 
+    /**
+     * 采购入库统计
+     *
+     * @param stockPurchaseReceiptReport
+     * @return
+     */
+    Page<StockPurchaseReceiptReport> selectPurchaseOrder(StockPurchaseReceiptReport stockPurchaseReceiptReport);
+
 }

+ 95 - 0
winsea-haixin-plugin-yiliangyiyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/service/impl/StockPurchaseReceiptReportServiceImpl.java

@@ -1,10 +1,31 @@
 package com.yh.saas.plugin.yiliangyiyun.service.impl;
 
+import com.alibaba.fastjson.JSONObject;
+import com.alipay.sofa.runtime.api.annotation.SofaReference;
+import com.baomidou.mybatisplus.plugins.Page;
+import com.google.common.collect.Lists;
+import com.winsea.svc.base.base.entity.CommonRoleResource;
+import com.winsea.svc.base.base.service.ICommonRoleResourceService;
+import com.winsea.svc.base.security.entity.User;
+import com.winsea.svc.base.security.util.AuthSecurityUtils;
+import com.yh.saas.plugin.yiliangyiyun.constant.StatusEnum;
+import com.yh.saas.plugin.yiliangyiyun.entity.PurchaseReceiptReport;
 import com.yh.saas.plugin.yiliangyiyun.entity.StockPurchaseReceiptReport;
 import com.yh.saas.plugin.yiliangyiyun.mapper.StockPurchaseReceiptReportMapper;
+import com.yh.saas.plugin.yiliangyiyun.service.IContractManagementInfoService;
+import com.yh.saas.plugin.yiliangyiyun.service.INewWorkflowService;
 import com.yh.saas.plugin.yiliangyiyun.service.IStockPurchaseReceiptReportService;
 import com.baomidou.mybatisplus.service.impl.ServiceImpl;
+import org.apache.commons.lang3.StringUtils;
+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;
+import java.util.List;
+import java.util.Map;
+import java.util.stream.Collectors;
 
 /**
  * <p>
@@ -17,4 +38,78 @@ import org.springframework.stereotype.Service;
 @Service
 public class StockPurchaseReceiptReportServiceImpl extends ServiceImpl<StockPurchaseReceiptReportMapper, StockPurchaseReceiptReport> implements IStockPurchaseReceiptReportService {
 
+
+    @Autowired
+    private INewWorkflowService workflowService;
+
+    @SofaReference
+    private ICommonRoleResourceService roleResourceService;
+    @Autowired
+    private IContractManagementInfoService contractManagementInfoService;
+
+
+    /**
+     * 采购入库统计
+     *
+     * @param stockPurchaseReceiptReport
+     * @return
+     */
+    @Override
+    public Page<StockPurchaseReceiptReport> selectPurchaseOrder(StockPurchaseReceiptReport stockPurchaseReceiptReport) {
+        Map<String, Object> pageView = new HashMap<>();
+        pageView.put("startRecord", (stockPurchaseReceiptReport.getCurrentPage() - 1)
+                * stockPurchaseReceiptReport.getPageSize());
+        List<String> businessKeys = null;
+        if ("1".equals(stockPurchaseReceiptReport.getSearchType())) {
+            businessKeys = workflowService.getTaskBusinessKeysByCode("STOCK-PROCUREMENT-RECEIPT-REPORT");
+        }
+        List<String> statusSet = new ArrayList<>();
+        List<String> resourceIdList = this.getResourceIdList();
+        if (resourceIdList.contains("procurementStockInReport-Edit")) { // 填写,提交    权限做完以后替换
+            List<String> statusList = Lists.newArrayList(StatusEnum.PUR_RETURN.getFlag());
+            statusSet.addAll(statusList);
+        }
+        //公司id
+        pageView.put("compId", stockPurchaseReceiptReport.getCompId());
+        pageView.put("searchKeyWord", stockPurchaseReceiptReport.getSearchKeyWord());
+        pageView.put("searchType", stockPurchaseReceiptReport.getSearchType());
+        pageView.put("pageSize", stockPurchaseReceiptReport.getPageSize());
+        pageView.put("currentPage", stockPurchaseReceiptReport.getCurrentPage());
+        pageView.put("contractNo", stockPurchaseReceiptReport.getContractNo());
+        pageView.put("statusFlag", stockPurchaseReceiptReport.getStatusFlag());
+        pageView.put("businessKeys", businessKeys);
+        pageView.put("statusSet", statusSet);
+        // 查询采购入库总数
+        Integer dataCount = baseMapper.getCountByCondition(pageView);
+        List<StockPurchaseReceiptReport> dataList = baseMapper.getListByCondition(pageView);
+        if (!CollectionUtils.isEmpty(dataList)) {
+            dataList.forEach(purchaseReceiptReport1 -> {
+
+                String taskId = "";
+                // 只有待审核状态才有taskId
+                if (StringUtils.isNotBlank(purchaseReceiptReport1.getWorkflowId())) {
+                    JSONObject jsonObject = workflowService.getActiveTask(Lists.newArrayList(purchaseReceiptReport1.getWorkflowId()), purchaseReceiptReport1.getId());
+                    taskId = jsonObject.getString("taskId");
+                    purchaseReceiptReport1.setTaskId(taskId);
+                }
+            });
+
+        }
+        Page<StockPurchaseReceiptReport> page = new Page<>();
+        page.setRecords(dataList == null ? Lists.newArrayList() : dataList);
+        page.setTotal(dataCount == null ? 0 : dataCount);
+        page.setCurrent(stockPurchaseReceiptReport.getCurrentPage());
+        page.setSize(stockPurchaseReceiptReport.getPageSize());
+        return page;
+    }
+
+
+
+    private List<String> getResourceIdList() {
+        User currentUser = AuthSecurityUtils.getCurrentUserInfo();
+        // 当前登录人主要角色
+        return roleResourceService.getBindResourcesByUserId(currentUser.getUserId()).stream()
+                .map(CommonRoleResource::getResourceId).collect(Collectors.toList());
+    }
+
 }

+ 102 - 0
winsea-haixin-plugin-yiliangyiyun/src/main/resources/mapper/StockPurchaseReceiptReportMapper.xml

@@ -2,4 +2,106 @@
 <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
 <mapper namespace="com.yh.saas.plugin.yiliangyiyun.mapper.StockPurchaseReceiptReportMapper">
 
+
+
+    <!-- 获得采购入库统计总数 -->
+    <select id="getCountByCondition" parameterType="Map" resultType="java.lang.Integer">
+        SELECT
+        COUNT(id)
+        FROM stock_purchase_receipt_report
+        WHERE
+        comp_id = #{compId}
+        and delete_flag = '0'
+        <if test="searchType != null and searchType != ''">
+            <if test="searchType == 2">
+                AND amount_ing_payable-amount_ed_payable>0
+            </if>
+            <if test="searchType == 3">
+                AND amount_ing_payable-amount_ed_payable=0
+            </if>
+        </if>
+        <if test="contractNo != null and contractNo != ''and contractNo != '全部合同'">
+            AND contract_no = #{contractNo}
+        </if>
+        <if test="businessKeys != null and businessKeys.size > 0">
+            and(
+            <foreach collection="businessKeys" item="businessValue" open="(" close=")" separator="or">
+                id = #{businessValue}
+            </foreach>
+            )
+        </if>
+        <if test="statusSet != null and statusSet.size > 0">
+            or (
+            <foreach collection="statusSet" item="statusId" separator="or" open="(" close=")">
+                status_flag =
+                <if test="statusId != null">
+                    #{statusId}
+                </if>
+            </foreach>
+            )
+        </if>
+    </select>
+    <!-- 获得采购入库统计列表 -->
+    <select id="getListByCondition" parameterType="Map"
+            resultType="com.yh.saas.plugin.yiliangyiyun.entity.PurchaseReceiptReport">
+        SELECT
+        id,
+        comp_id as compId,
+        contract_no as contractNo,
+        car_no as carNo,
+        warehousing_date as warehousingDate,
+        net_weight as netWeight,
+        gross_weight as grossWeight,
+        tare as tare,
+        deduction_weight AS deductionWeight,
+        settlement_weight AS settlementWeight,
+        amount_ing_payable as amountIngPayable,
+        amount_ed_payable as amountEdPayable,
+        amount_not_payable as amountNotPayable,
+        payment_screenshot as paymentScreenshot,
+        payment_date as paymentDate,
+        already_invoice as alreadyInvoice,
+        warehouse_name  as warehouseName,
+        status,
+        approve_status as approveStatus,
+        status_flag as statusFlag,
+        approve_status as approveStatus,
+        workflow_id as workflowId
+        FROM stock_purchase_receipt_report
+        WHERE
+        comp_id = #{compId}
+        and delete_flag = '0'
+        <if test="contractNo != null and contractNo != ''and contractNo != '全部合同'">
+            AND contract_no = #{contractNo}
+        </if>
+        <if test="searchType != null and searchType != ''">
+            <if test="searchType == 2">
+                AND amount_ing_payable-amount_ed_payable>0
+            </if>
+            <if test="searchType == 3">
+                AND amount_ing_payable-amount_ed_payable=0
+            </if>
+        </if>
+        <if test="businessKeys != null and businessKeys.size > 0">
+            and(
+            <foreach collection="businessKeys" item="businessValue" open="(" close=")" separator="or">
+                id = #{businessValue}
+            </foreach>
+            )
+        </if>
+        <if test="statusSet != null and statusSet.size > 0">
+            or (
+            <foreach collection="statusSet" item="statusId" separator="or" open="(" close=")">
+                status_flag =
+                <if test="statusId != null">
+                    #{statusId}
+                </if>
+            </foreach>
+            )
+        </if>
+        ORDER BY warehousing_date DESC
+        <if test="currentPage != null and currentPage != ''">
+            LIMIT ${startRecord}, ${pageSize}
+        </if>
+    </select>
 </mapper>