Pārlūkot izejas kodu

[CODE]: 出入库导出

maxianghua 4 gadi atpakaļ
vecāks
revīzija
f58cea4dc3

+ 8 - 7
ruoyi-admin/src/main/java/com/ruoyi/web/controller/warehouse/reportManagement/TWarehousebillsitemsSummaryController.java

@@ -7,8 +7,10 @@ import com.ruoyi.common.core.page.TableDataInfo;
 import com.ruoyi.common.enums.BusinessType;
 import com.ruoyi.common.utils.StringUtils;
 import com.ruoyi.common.utils.poi.ExcelUtil;
+import com.ruoyi.reportManagement.domain.TWareHouseItemsExcel;
 import com.ruoyi.reportManagement.domain.TWhgenleg;
 import com.ruoyi.reportManagement.service.ITWhgenlegService;
+import com.ruoyi.warehouseBusiness.domain.TWareHouseExcelItem;
 import com.ruoyi.warehouseBusiness.domain.TWarehouseBills;
 import com.ruoyi.warehouseBusiness.service.ITWarehouseBillsService;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -43,14 +45,13 @@ public class TWarehousebillsitemsSummaryController extends BaseController {
     /**
      * 导出库存总账列表
      */
-    /*@PreAuthorize("@ss.hasPermi('warehouseBusiness:whgenleg:export')")
-    @Log(title = "库存总账", businessType = BusinessType.EXPORT)
+    @Log(title = "出入库统计", businessType = BusinessType.EXPORT)
     @GetMapping("/export")
-    public AjaxResult export(TWhgenleg tWhgenleg) {
-        List<TWhgenleg> list = tWhgenlegService.selectTWhgenlegList(tWhgenleg);
-        ExcelUtil<TWhgenleg> util = new ExcelUtil<TWhgenleg>(TWhgenleg.class);
-        return util.exportExcel(list, "whgenleg");
-    }*/
+    public AjaxResult export(TWarehouseBills tWarehouseBills) {
+        List<TWareHouseItemsExcel> list = itWarehouseBillsService.selectTWarehousebillsItemsList(tWarehouseBills);
+        ExcelUtil<TWareHouseItemsExcel> util = new ExcelUtil<TWareHouseItemsExcel>(TWareHouseItemsExcel.class);
+        return util.exportExcel(list, "出入库统计");
+    }
 
 
 

+ 12 - 0
ruoyi-warehouse/src/main/java/com/ruoyi/warehouseBusiness/domain/TWarehouseBills.java

@@ -343,6 +343,18 @@ public class TWarehouseBills extends BaseEntity {
      */
     private String delFlag;
 
+    /** 仓库 */
+    @Excel(name = "仓库")
+    private Long fLocation;
+
+    public Long getfLocation() {
+        return fLocation;
+    }
+
+    public void setfLocation(Long fLocation) {
+        this.fLocation = fLocation;
+    }
+
     public void setfId(Long fId) {
         this.fId = fId;
     }

+ 3 - 0
ruoyi-warehouse/src/main/java/com/ruoyi/warehouseBusiness/mapper/TWarehouseBillsMapper.java

@@ -2,6 +2,7 @@ package com.ruoyi.warehouseBusiness.mapper;
 
 
 import com.baomidou.mybatisplus.mapper.BaseMapper;
+import com.ruoyi.reportManagement.domain.TWareHouseItemsExcel;
 import com.ruoyi.warehouseBusiness.domain.TWareHouseExcelItems;
 import com.ruoyi.warehouseBusiness.domain.TWarehouseBills;
 import org.apache.ibatis.annotations.Param;
@@ -91,4 +92,6 @@ public interface TWarehouseBillsMapper extends BaseMapper<TWarehouseBills> {
     public List<TWareHouseExcelItems> selectTWarehousebillsItemsList(@Param("fId") Long fid);
 
     List<Map<String, Object>> selectInventoryList(TWarehouseBills tWarehousebills);
+
+    public List<TWareHouseItemsExcel> selectTWarehousebillsItemList(TWarehouseBills tWarehouseBills);
 }

+ 3 - 1
ruoyi-warehouse/src/main/java/com/ruoyi/warehouseBusiness/service/ITWarehouseBillsService.java

@@ -2,7 +2,7 @@ package com.ruoyi.warehouseBusiness.service;
 
 import com.ruoyi.common.core.domain.AjaxResult;
 import com.ruoyi.common.core.domain.model.LoginUser;
-import com.ruoyi.reportManagement.domain.TWhgenleg;
+import com.ruoyi.reportManagement.domain.TWareHouseItemsExcel;
 import com.ruoyi.warehouseBusiness.domain.TWareHouseExcelItems;
 import com.ruoyi.warehouseBusiness.domain.TWarehouseBills;
 
@@ -183,4 +183,6 @@ public interface ITWarehouseBillsService {
      *      * @return 库存总账集合
      */
     List<Map<String, Object>> selectInventoryList(TWarehouseBills tWarehouseBills);
+
+    public List<TWareHouseItemsExcel> selectTWarehousebillsItemsList(TWarehouseBills tWarehouseBills);
 }

+ 15 - 0
ruoyi-warehouse/src/main/java/com/ruoyi/warehouseBusiness/service/impl/TWarehouseBillsServiceImpl.java

@@ -15,6 +15,7 @@ import com.ruoyi.common.core.domain.entity.SysUser;
 import com.ruoyi.common.core.domain.model.LoginUser;
 import com.ruoyi.common.utils.DateUtils;
 import com.ruoyi.common.utils.StringUtils;
+import com.ruoyi.reportManagement.domain.TWareHouseItemsExcel;
 import com.ruoyi.reportManagement.domain.TWhgenleg;
 import com.ruoyi.reportManagement.mapper.TWhgenlegMapper;
 import com.ruoyi.system.domain.SysConfig;
@@ -750,9 +751,23 @@ public class TWarehouseBillsServiceImpl implements ITWarehouseBillsService {
 
     @Override
     public List<Map<String, Object>> selectInventoryList(TWarehouseBills tWarehouseBills) {
+        if(StringUtils.isNotNull(tWarehouseBills.getfWarehouseid())){
+            // 获取仓库信息
+            TWarehouse tWarehouse =  tWarehouseMapper.selectTWarehouseById(tWarehouseBills.getfWarehouseid());
+            if(tWarehouse.getfLocation()==1){
+                tWarehouseBills.setfLocation(1L);
+            }else {
+                tWarehouseBills.setfLocation(0L);
+            }
+        }
         return tWarehouseBillsMapper.selectInventoryList(tWarehouseBills);
     }
 
+    @Override
+    public List<TWareHouseItemsExcel> selectTWarehousebillsItemsList(TWarehouseBills tWarehouseBills) {
+        return tWarehouseBillsMapper.selectTWarehousebillsItemList(tWarehouseBills);
+    }
+
     /**
      * 根据仓库主表id 更新对应明细表状态
      *

+ 73 - 9
ruoyi-warehouse/src/main/resources/mapper/warehouseBusiness/TWarehousebillsMapper.xml

@@ -289,34 +289,98 @@
             it.f_business_type AS fBusinessType,
             dict.dict_label AS fBusinessTypes,
             it.f_marks AS fMarks ,
-            go.f_name AS fGoodsName,
-            area.f_name AS fWarehouseLocationids,
-            leg.f_trademodeid AS fTrademodeid,
+            goo.f_name AS fGoodsName,
+            it.f_warehouse_information AS fWarehouseLocationids,
+            dicttr.dict_label AS fTrademodeid,
             it.f_qty AS fQty,
             it.f_grossweight AS fGrossweight,
             it.f_netweight AS fNetweight
         FROM
             t_warehousebills leg
                 LEFT JOIN t_warehousebillsitems it ON leg.f_id = it.f_pid
-                LEFT JOIN t_goods go ON it.f_goodsid = go.f_id
+                LEFT JOIN t_goods goo ON it.f_goodsid = goo.f_id
                 LEFT JOIN t_corps co ON leg.f_corpid = co.f_id
                 LEFT JOIN sys_dict_data dict ON dict.dict_value = it.f_business_type
-                LEFT JOIN t_warehouse_area area ON area.f_id = it.f_warehouselocid
+                LEFT JOIN t_warehouse ware ON ware.f_id = it.f_warehouselocid
+                LEFT JOIN sys_dict_data dicttr ON dicttr.dict_value = leg.f_trademodeid
         <where>
             dict.status = '0'
             AND dict.dict_type = 'storage_type'
+            AND dicttr.STATUS = '0'
+            AND dicttr.dict_type = 'data_trademodes'
             AND leg.f_billtype in ('SJRk','SJCK')
             <if test="fBilltype != null">AND leg.f_billtype = #{fBilltype}</if>
-            <if test="fWarehouseid != null ">and leg.f_warehouseid = #{fWarehouseid}</if>
-            <if test="fWarehouseid != null ">and it.f_warehouselocid = #{fWarehouseid}</if>
             <if test="fGoodsid != null ">and it.f_goodsid = #{fGoodsid}</if>
-
             <if test="fTrademodeid != null ">and leg.f_trademodeid = #{fTrademodeid}</if>
             <if test="fCorpid != null ">and leg.f_corpid = #{fCorpid}</if>
             <if test="fMblno != null ">and leg.f_mblno = #{fMblno}</if>
-
+            <if test="fLocation != null  and fLocation ==1 ">
+                and it.f_warehouselocid = #{fWarehouseid}
+            </if>
+            <if test="fLocation != null  and fLocation ==0 ">
+                and ware.ancestors  LIKE  concat('%', #{fWarehouseid}, '%')
+            </if>
+            <if test='timeInterval != null and timeInterval[0] != null and timeInterval[0]!= ""'>
+                and it.f_bsdate &gt;= #{timeInterval[0]}
+            </if>
+            <if test='timeInterval != null and timeInterval[1] != null and timeInterval[1]!= ""'>
+                and it.f_bsdate &lt;= #{timeInterval[1]}
+            </if>
         </where>
     </select>
+    <select id="selectTWarehousebillsItemList"
+            resultType="com.ruoyi.reportManagement.domain.TWareHouseItemsExcel">
+        SELECT
+            ( @ii := @ii + 1 ) AS fId,
+            co.f_name AS fCorpid,
+            it.f_bsdate AS fBsdate,
+            leg.f_mblno AS fMblno,
+            dict.dict_label AS fBusinessType,
+            it.f_marks AS fMarks,
+            go.f_name AS fGoodsid,
+            it.f_warehouse_information AS fWarehouseInformation,
+            dicttr.dict_label AS fTrademodeid,
+            it.f_qty AS fQty,
+            it.f_grossweight AS fGrossweight,
+            it.f_netweight AS fNetweight
+        FROM
+            t_warehousebills leg
+                LEFT JOIN t_warehousebillsitems it ON leg.f_id = it.f_pid
+                LEFT JOIN t_goods go ON it.f_goodsid = go.f_id
+                LEFT JOIN t_corps co ON leg.f_corpid = co.f_id
+                LEFT JOIN sys_dict_data dict ON dict.dict_value = it.f_business_type
+                LEFT JOIN t_warehouse_area area ON area.f_id = it.f_warehouselocid
+                LEFT JOIN sys_dict_data dicttr ON dicttr.dict_value = leg.f_trademodeid,(
+                SELECT
+                @ii := 0
+                ) AS ii
+        WHERE
+              dict.STATUS = '0'
+              AND dict.dict_type = 'storage_type'
+              AND dicttr.STATUS = '0'
+              AND dicttr.dict_type = 'data_trademodes'
+              AND leg.f_billtype IN (
+                'SJRk',
+                'SJCK'
+                )
+        <if test="fBilltype != null">AND leg.f_billtype = #{fBilltype}</if>
+        <if test="fGoodsid != null ">and it.f_goodsid = #{fGoodsid}</if>
+        <if test="fTrademodeid != null ">and leg.f_trademodeid = #{fTrademodeid}</if>
+        <if test="fCorpid != null ">and leg.f_corpid = #{fCorpid}</if>
+        <if test="fMblno != null ">and leg.f_mblno = #{fMblno}</if>
+        <if test="fLocation != null  and fLocation ==1 ">
+            and it.f_warehouselocid = #{fWarehouseid}
+        </if>
+        <if test="fLocation != null  and fLocation ==0 ">
+            and ware.ancestors  LIKE  concat('%', #{fWarehouseid}, '%')
+        </if>
+        <if test='timeInterval != null and timeInterval[0] != null and timeInterval[0]!= ""'>
+            and it.f_bsdate &gt;= #{timeInterval[0]}
+        </if>
+        <if test='timeInterval != null and timeInterval[1] != null and timeInterval[1]!= ""'>
+            and it.f_bsdate &lt;= #{timeInterval[1]}
+        </if>
+    </select>
 
     <insert id="insertTWarehousebills" parameterType="TWarehousebills" useGeneratedKeys="true" keyProperty="fId">
         insert into t_warehousebills