Prechádzať zdrojové kódy

2023年11月6日08:35:34

纪新园 1 rok pred
rodič
commit
5a886df1e9

+ 97 - 56
ruoyi-admin/src/main/java/com/ruoyi/web/controller/anpin/StockControl.java

@@ -2,11 +2,14 @@ package com.ruoyi.web.controller.anpin;
 
 import cn.hutool.core.date.DateTime;
 import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
+import com.baomidou.mybatisplus.core.toolkit.ObjectUtils;
 import com.ruoyi.anpin.*;
+import com.ruoyi.basicData.service.ITWarehouseService;
 import com.ruoyi.common.annotation.Log;
 import com.ruoyi.common.annotation.RepeatSubmit;
 import com.ruoyi.common.core.controller.BaseController;
 import com.ruoyi.common.core.domain.AjaxResult;
+import com.ruoyi.common.core.domain.entity.TWarehouse;
 import com.ruoyi.common.core.domain.model.LoginUser;
 import com.ruoyi.common.core.page.TableDataInfo;
 import com.ruoyi.common.enums.BusinessType;
@@ -25,6 +28,7 @@ import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.security.access.prepost.PreAuthorize;
 import org.springframework.web.bind.annotation.*;
 
+import java.math.BigDecimal;
 import java.text.ParseException;
 import java.text.SimpleDateFormat;
 import java.util.ArrayList;
@@ -50,6 +54,9 @@ public class StockControl extends BaseController {
     @Autowired
     private ITWarehousebillsfeesService itWarehousebillsfeesService;
 
+    @Autowired
+    private ITWarehouseService tWarehouseService;
+
     /**
      * 查询仓库主(出入库)列表
      */
@@ -60,14 +67,14 @@ public class StockControl extends BaseController {
         List<TWarehouseBills> list = tWarehousebillsService.selectAnPinList(tWarehousebills);
         return getDataTable(list);
     }
+
     /**
      * 导出仓库主(出入库)列表
      */
     @PreAuthorize("@ss.hasPermi('anpin:stockControl:export')")
     @Log(title = "仓库主(出入库)", businessType = BusinessType.EXPORT)
     @GetMapping("/export")
-    public AjaxResult export(TWarehouseBills tWarehousebills)
-    {
+    public AjaxResult export(TWarehouseBills tWarehousebills) {
 //        List<TWarehouseBills> list = tWarehousebillsService.selectTWarehousebillsList(tWarehousebills);
         List<TWarehouseBillOutboundExcel> list = tWarehousebillsService.getTWarehouseBillOutboundExcel(tWarehousebills);
         ExcelUtil<TWarehouseBillOutboundExcel> util = new ExcelUtil<TWarehouseBillOutboundExcel>(TWarehouseBillOutboundExcel.class);
@@ -83,28 +90,29 @@ public class StockControl extends BaseController {
 //        }
         return util.exportExcel(list, "仓库出库");
     }
+
     /**
      * 导出仓库从(出入库)列表
      */
     @PreAuthorize("@ss.hasPermi('anpin:stockControl:export')")
     @Log(title = "仓库主(出入库)", businessType = BusinessType.EXPORT)
     @GetMapping("/tFee/export")
-    public AjaxResult tFeeExport(TWarehousebillsfees tWarehousebillsfees)
-    {
+    public AjaxResult tFeeExport(TWarehousebillsfees tWarehousebillsfees) {
         List<TWarehousebillsfees> list = itWarehousebillsfeesService.selectTWarehousebillsfeesList(tWarehousebillsfees);
         ExcelUtil<TWarehousebillsfees> util = new ExcelUtil<TWarehousebillsfees>(TWarehousebillsfees.class);
         String sheetName = null;
-        if (StringUtils.isNotEmpty(tWarehousebillsfees.getfBusinessType()) && tWarehousebillsfees.getfBusinessType().equals("SQ")){
+        if (StringUtils.isNotEmpty(tWarehousebillsfees.getfBusinessType()) && tWarehousebillsfees.getfBusinessType().equals("SQ")) {
             sheetName = "采购申请";
-        }else if (StringUtils.isNotEmpty(tWarehousebillsfees.getfBusinessType()) && tWarehousebillsfees.getfBusinessType().equals("SQ")){
+        } else if (StringUtils.isNotEmpty(tWarehousebillsfees.getfBusinessType()) && tWarehousebillsfees.getfBusinessType().equals("SQ")) {
             sheetName = "仓库入库";
-        }else if (StringUtils.isNotEmpty(tWarehousebillsfees.getfBusinessType()) && tWarehousebillsfees.getfBusinessType().equals("SQ")){
+        } else if (StringUtils.isNotEmpty(tWarehousebillsfees.getfBusinessType()) && tWarehousebillsfees.getfBusinessType().equals("SQ")) {
             sheetName = "仓库出库";
-        }else if (StringUtils.isNotEmpty(tWarehousebillsfees.getfBusinessType()) && tWarehousebillsfees.getfBusinessType().equals("SQ")){
+        } else if (StringUtils.isNotEmpty(tWarehousebillsfees.getfBusinessType()) && tWarehousebillsfees.getfBusinessType().equals("SQ")) {
             sheetName = "销售出库";
         }
         return util.exportExcel(list, "warehousebills");
     }
+
     /**
      * 获取仓库主(出入库)详细信息
      */
@@ -116,7 +124,8 @@ public class StockControl extends BaseController {
 
     /**
      * 采购申请 SQ 付,仓库入库 RK 收,仓库出库 CK 付,销售出库 XS 收
-     *保存接口
+     * 保存接口
+     *
      * @param tWarehousebills
      * @param tWarehousebillsfees
      * @return暂存接口
@@ -125,12 +134,12 @@ public class StockControl extends BaseController {
     @Log(title = "仓库信息暂存", businessType = BusinessType.DELETE)
     @PostMapping("/anPingApply")
     public AjaxResult anPingApply(@RequestParam(value = "tWarehousebills") String tWarehousebills,
-                             @RequestParam("tWarehousebillsfees") String tWarehousebillsfees,
-                             @RequestParam("fBilltype") String fBilltype) {
+                                  @RequestParam("tWarehousebillsfees") String tWarehousebillsfees,
+                                  @RequestParam("fBilltype") String fBilltype) {
         if (StringUtils.isEmpty(tWarehousebills) || "{}".equals(tWarehousebills)) {
             return AjaxResult.error("未找到订单主表信息,请确认");
         }
-        if (StringUtils.isEmpty(tWarehousebillsfees)|| "[]".equals(tWarehousebillsfees)) {
+        if (StringUtils.isEmpty(tWarehousebillsfees) || "[]".equals(tWarehousebillsfees)) {
             return AjaxResult.error("未找到订单明细表信息,请确认");
         }
         if (StringUtils.isEmpty(fBilltype)) {
@@ -143,7 +152,8 @@ public class StockControl extends BaseController {
 
     /**
      * 采购申请 SQ 付,仓库入库 RK 收,仓库出库 CK 付,销售出库 XS 收
-     *提交审核接口
+     * 提交审核接口
+     *
      * @param tWarehousebills
      * @param tWarehousebillsfees
      * @return提交审核
@@ -152,13 +162,12 @@ public class StockControl extends BaseController {
     @Log(title = "仓库信息提交", businessType = BusinessType.DELETE)
     @PostMapping("/anPinSubmit")
     public AjaxResult anPinSubmit(@RequestParam(value = "tWarehousebills") String tWarehousebills,
-                                         @RequestParam("tWarehousebillsfees") String tWarehousebillsfees,
-                                         @RequestParam("fBilltype") String fBilltype)
-    {
+                                  @RequestParam("tWarehousebillsfees") String tWarehousebillsfees,
+                                  @RequestParam("fBilltype") String fBilltype) {
         if (StringUtils.isEmpty(tWarehousebills) || "{}".equals(tWarehousebills)) {
             return AjaxResult.error("未找到订单主表信息,请确认");
         }
-        if (StringUtils.isEmpty(tWarehousebillsfees)|| "[]".equals(tWarehousebillsfees)) {
+        if (StringUtils.isEmpty(tWarehousebillsfees) || "[]".equals(tWarehousebillsfees)) {
             return AjaxResult.error("未找到订单明细表信息,请确认");
         }
         if (StringUtils.isEmpty(fBilltype)) {
@@ -168,9 +177,12 @@ public class StockControl extends BaseController {
         return tWarehousebillsService.anPinSubmit(tWarehousebills, tWarehousebillsfees, loginUser, fBilltype);
 
     }
-    /**生成入库单,出库单,销售出库单
+
+    /**
+     * 生成入库单,出库单,销售出库单
      * 采购申请 CGSQ 付,仓库入库 CKRK 收,仓库出库 CKCK 付,销售出库 XSCK 收
-     *提交审核接口
+     * 提交审核接口
+     *
      * @param tWarehouseBills
      * @return提交审核
      */
@@ -185,7 +197,7 @@ public class StockControl extends BaseController {
             return AjaxResult.error("生成单来源数据不能为空");
         }
         LoginUser loginUser = SpringUtils.getBean(TokenService.class).getLoginUser(ServletUtils.getRequest());
-        return tWarehousebillsService.generateReceipts(tWarehouseBills,loginUser);
+        return tWarehousebillsService.generateReceipts(tWarehouseBills, loginUser);
 
     }
 
@@ -197,8 +209,9 @@ public class StockControl extends BaseController {
     @DeleteMapping("/remove/{fIds}")
     public AjaxResult remove(@PathVariable Long[] fIds) {
         LoginUser loginUser = SpringUtils.getBean(TokenService.class).getLoginUser(ServletUtils.getRequest());
-        return toAjax(tWarehousebillsService.anPinDeleteUpdate(fIds,loginUser));
+        return toAjax(tWarehousebillsService.anPinDeleteUpdate(fIds, loginUser));
     }
+
     /**
      * 删除仓库主(出入库)
      */
@@ -208,14 +221,16 @@ public class StockControl extends BaseController {
     public AjaxResult removeById(@PathVariable Long fIds) {
         return tWarehousebillsService.removeById(fIds);
     }
+
     /**
      * 判断能否修改或者删除数据
      */
     @PreAuthorize("@ss.hasPermi('anpin:stockControl:remove')")
     @PostMapping("/judge")
-    public AjaxResult judge(@RequestBody TWarehouseBills tWarehouseBills){
+    public AjaxResult judge(@RequestBody TWarehouseBills tWarehouseBills) {
         return tWarehousebillsService.judge(tWarehouseBills);
     }
+
     /**
      * 删除仓库从(出入库)
      */
@@ -224,8 +239,9 @@ public class StockControl extends BaseController {
     @DeleteMapping("/removeFee/{fIds}")
     public AjaxResult removeFee(@PathVariable Long[] fIds) {
         LoginUser loginUser = SpringUtils.getBean(TokenService.class).getLoginUser(ServletUtils.getRequest());
-        return toAjax(tWarehousebillsService.anPinDeleteFeeUpdate(fIds,loginUser));
+        return toAjax(tWarehousebillsService.anPinDeleteFeeUpdate(fIds, loginUser));
     }
+
     /**
      * 撤销入库信息
      */
@@ -235,24 +251,25 @@ public class StockControl extends BaseController {
     @RepeatSubmit
     public AjaxResult withdrawById(@RequestBody TWarehouseBills tWarehouseBills) {
         // 查询是否对账、收费、付费
-        if (tWarehouseBills.getfId() == null){
+        if (tWarehouseBills.getfId() == null) {
             return AjaxResult.error("数据不能为空");
         }
         String billsType = null;
-        if (StringUtils.isNotEmpty(tWarehouseBills.getfBilltype())&& "RK".equals(tWarehouseBills.getfBilltype())){
+        if (StringUtils.isNotEmpty(tWarehouseBills.getfBilltype()) && "RK".equals(tWarehouseBills.getfBilltype())) {
             billsType = "RKRevoke";
-        }else if (StringUtils.isNotEmpty(tWarehouseBills.getfBilltype())&& "CK".equals(tWarehouseBills.getfBilltype())){
+        } else if (StringUtils.isNotEmpty(tWarehouseBills.getfBilltype()) && "CK".equals(tWarehouseBills.getfBilltype())) {
             billsType = "CKRevoke";
-        }else {
+        } else {
             billsType = "SJRKRevoke";
         }
         // 获取当前的用户
         LoginUser loginUser = SpringUtils.getBean(TokenService.class).getLoginUser(ServletUtils.getRequest());
         return tWarehousebillsService.revokeAnPinOrder(tWarehouseBills.getfId(), loginUser, billsType);
     }
+
     /**
      * 出入库统计列表
-     *
+     * <p>
      * 2022/2/23
      * 修改 返回数据添加fid
      */
@@ -263,18 +280,19 @@ public class StockControl extends BaseController {
         List<WarhousrExcel> list = tWarehousebillsService.selectTWarehouseInorOut(tWarehousebillsfees);
         return getDataTable(list);
     }
+
     /**
      * 导出出入库统计列表
      */
     @PreAuthorize("@ss.hasPermi('anpin:stockControl:tWarehouseInorOutExcePorrt')")
     @Log(title = "导出出入库统计表", businessType = BusinessType.EXPORT)
     @GetMapping("/tWarehouseInorOutExcePorrt/export")
-    public AjaxResult tWarehouseInorOutExcePorrt(TWarehousebillsfees tWarehousebillsfees)
-    {
+    public AjaxResult tWarehouseInorOutExcePorrt(TWarehousebillsfees tWarehousebillsfees) {
         List<WarhousrExcel> list = tWarehousebillsService.selectTWarehouseInorOut(tWarehousebillsfees);
         ExcelUtil<WarhousrExcel> util = new ExcelUtil<WarhousrExcel>(WarhousrExcel.class);
         return util.exportExcel(list, "出入库统计表");
     }
+
     /**
      * 销售出库统计列表
      */
@@ -285,18 +303,19 @@ public class StockControl extends BaseController {
         List<SalesOfOutbound> list = tWarehousebillsService.salesOfOutbound(tWarehouseBills);
         return getDataTable(list);
     }
+
     /**
      * 导出销售出库统计列表
      */
     @PreAuthorize("@ss.hasPermi('anpin:stockControl:salesOfOutboundExcePorrt')")
     @Log(title = "导出销售出库统计表", businessType = BusinessType.EXPORT)
     @GetMapping("/salesOfOutboundExcePorrt/export")
-    public AjaxResult salesOfOutboundExcePorrt(TWarehouseBills tWarehouseBills)
-    {
+    public AjaxResult salesOfOutboundExcePorrt(TWarehouseBills tWarehouseBills) {
         List<SalesOfOutbound> list = tWarehousebillsService.salesOfOutbound(tWarehouseBills);
         ExcelUtil<SalesOfOutbound> util = new ExcelUtil<SalesOfOutbound>(SalesOfOutbound.class);
         return util.exportExcel(list, "销售出库统计表");
     }
+
     /**
      * 利润统计列表
      */
@@ -307,18 +326,19 @@ public class StockControl extends BaseController {
         List<ProfitExcel> list = tWarehousebillsService.salectAnpinProfit(tWarehouseBills);
         return getDataTable(list);
     }
+
     /**
      * 导出利润统计列表
      */
     @PreAuthorize("@ss.hasPermi('anpin:stockControl:salectAnpinProfitExcePorrt')")
     @Log(title = "导出利润统计表", businessType = BusinessType.EXPORT)
     @GetMapping("/salectAnpinProfit/export")
-    public AjaxResult salectAnpinProfitExcePorrt(TWarehouseBills tWarehouseBills)
-    {
+    public AjaxResult salectAnpinProfitExcePorrt(TWarehouseBills tWarehouseBills) {
         List<ProfitExcel> list = tWarehousebillsService.salectAnpinProfit(tWarehouseBills);
         ExcelUtil<ProfitExcel> util = new ExcelUtil<ProfitExcel>(ProfitExcel.class);
         return util.exportExcel(list, "利润统计表");
     }
+
     /**
      * 库存总账
      */
@@ -327,20 +347,38 @@ public class StockControl extends BaseController {
     public TableDataInfo selectInventoryLedger(TWarehouseBills tWarehouseBills) {
         startPage();
         List<InventoryLedgerExcel> list = new ArrayList<>();
-        if (CollectionUtils.isEmpty(tWarehouseBills.gettimeInterval()) || "[]".equals(tWarehouseBills.gettimeInterval())){
+        if (CollectionUtils.isEmpty(tWarehouseBills.gettimeInterval()) || "[]".equals(tWarehouseBills.gettimeInterval())) {
             return getDataTable(list);
         }
         list = tWarehousebillsService.selectInventoryLedger(tWarehouseBills);
+        for (InventoryLedgerExcel item : list) {
+            if ("1".equals(tWarehouseBills.getDBR())) {
+                item.setfBeginQty(new BigDecimal("0.00"));
+                item.setfBeginUnitprice(new BigDecimal("0.00"));
+                item.setfBeginAmount(new BigDecimal("0.00"));
+                item.setFoldQty(item.getCalloutQty());
+                item.setCalloutQty(new BigDecimal("0.00"));
+                item.setfAfterQty(new BigDecimal("0.00"));
+                item.setfAfterUnitprice(new BigDecimal("0.00"));
+                item.setfAfterAmount(new BigDecimal("0.00"));
+                if (ObjectUtils.isNotNull(tWarehouseBills.getfWarehouseid())) {
+                    TWarehouse tWarehouse = tWarehouseService.selectTWarehouseById(tWarehouseBills.getfWarehouseid());
+                    if (tWarehouse != null) {
+                        item.setfWarehouseName(tWarehouse.getfName());
+                    }
+                }
+            }
+        }
         return getDataTable(list);
     }
+
     /**
      * 库存总账
      */
     @PreAuthorize("@ss.hasPermi('anpin:stockControl:selectInventoryLedgerExcePorrt')")
     @Log(title = "导出库存总账统计表", businessType = BusinessType.EXPORT)
     @GetMapping("/selectInventoryLedger/export")
-    public AjaxResult selectInventoryLedgerExcePorrt(TWarehouseBills tWarehouseBills)
-    {
+    public AjaxResult selectInventoryLedgerExcePorrt(TWarehouseBills tWarehouseBills) {
         List<InventoryLedgerExcel> list = new ArrayList<>();
         if (CollectionUtils.isNotEmpty(tWarehouseBills.gettimeInterval()) || !"[]".equals(tWarehouseBills.gettimeInterval())) {
             list = tWarehousebillsService.selectInventoryLedger(tWarehouseBills);
@@ -348,6 +386,7 @@ public class StockControl extends BaseController {
         ExcelUtil<InventoryLedgerExcel> util = new ExcelUtil<InventoryLedgerExcel>(InventoryLedgerExcel.class);
         return util.exportExcel(list, "库存总账统计表");
     }
+
     @Log(title = "打印日志记录", businessType = BusinessType.DELETE)
     @PostMapping("/updetePrintLog")
     public AjaxResult updetePrintLog(@RequestBody TWarehouseBills tWarehouseBills) {
@@ -355,9 +394,10 @@ public class StockControl extends BaseController {
             return AjaxResult.error("参数不能为空");
         }
         LoginUser loginUser = SpringUtils.getBean(TokenService.class).getLoginUser(ServletUtils.getRequest());
-        return tWarehousebillsService.updetePrintLog(tWarehouseBills,loginUser);
+        return tWarehousebillsService.updetePrintLog(tWarehouseBills, loginUser);
 
     }
+
     /**
      * 查询费用信息
      */
@@ -365,13 +405,13 @@ public class StockControl extends BaseController {
     @GetMapping("/selectFeeMessage")
     public TableDataInfo selectFeeMessage(TWarehouseBills tWarehouseBills) {
         startPage();
-        if (StringUtils.isEmpty(tWarehouseBills.getAnnual()) || "null".equals(tWarehouseBills.getAnnual())){
+        if (StringUtils.isEmpty(tWarehouseBills.getAnnual()) || "null".equals(tWarehouseBills.getAnnual())) {
             TableDataInfo tableDataInfo = new TableDataInfo();
             tableDataInfo.setCode(500);
             tableDataInfo.setMsg("请选择查询年份");
             return tableDataInfo;
         }
-        if (StringUtils.isEmpty(tWarehouseBills.getfBilltype()) || "null".equals(tWarehouseBills.getfBilltype())){
+        if (StringUtils.isEmpty(tWarehouseBills.getfBilltype()) || "null".equals(tWarehouseBills.getfBilltype())) {
             TableDataInfo tableDataInfo = new TableDataInfo();
             tableDataInfo.setCode(500);
             tableDataInfo.setMsg("请选择查询类型");
@@ -380,77 +420,78 @@ public class StockControl extends BaseController {
         List<AnPingOrderMessage> list = tWarehousebillsService.selectFeeMessage(tWarehouseBills);
         return getDataTable(list);
     }
+
     /**
      * 采购申请统计列表
      */
     @PreAuthorize("@ss.hasPermi('anpin:stockControl:purchaseRequest')")
     @GetMapping("/purchaseRequest")
-    public TableDataInfo purchaseRequest (TWarehouseBills tWarehouseBills) {
+    public TableDataInfo purchaseRequest(TWarehouseBills tWarehouseBills) {
         startPage();
         List<PurchaseRequestExcel> list = tWarehousebillsService.purchaseRequest(tWarehouseBills);
         return getDataTable(list);
     }
+
     /**
      * 导出采购申请统计列表
      */
     @PreAuthorize("@ss.hasPermi('anpin:stockControl:purchaseRequestExPorrt')")
     @Log(title = "导出采购申请统计表", businessType = BusinessType.EXPORT)
     @GetMapping("/purchaseRequest/export")
-    public AjaxResult purchaseRequestExPort(TWarehouseBills tWarehouseBills)
-    {
+    public AjaxResult purchaseRequestExPort(TWarehouseBills tWarehouseBills) {
         List<PurchaseRequestExcel> list = tWarehousebillsService.purchaseRequest(tWarehouseBills);
         ExcelUtil<PurchaseRequestExcel> util = new ExcelUtil<PurchaseRequestExcel>(PurchaseRequestExcel.class);
         return util.exportExcel(list, "采购申请统计表");
     }
+
     /**
      * 导出入库统计列表
      */
     @Log(title = "导出入库统计表", businessType = BusinessType.EXPORT)
     @GetMapping("/tWarehouseInorOutExcePorrt/anPinExcePort")
-    public AjaxResult anPinExcePort(TWarehousebillsfees tWarehousebillsfees)
-    {
+    public AjaxResult anPinExcePort(TWarehousebillsfees tWarehousebillsfees) {
         List<AnPinExcePort> list = tWarehousebillsService.anPinExcePort(tWarehousebillsfees);
         ExcelUtil<AnPinExcePort> util = new ExcelUtil<AnPinExcePort>(AnPinExcePort.class);
         return util.exportExcel(list, "入库统计表");
     }
+
     /**
      * 导出仓库入库表
      */
     @Log(title = "导出仓库入库表", businessType = BusinessType.EXPORT)
     @GetMapping("/warehouseIn")
-    public AjaxResult warehouseIn(TWarehouseBills tWarehouseBills)
-    {
+    public AjaxResult warehouseIn(TWarehouseBills tWarehouseBills) {
         List<WarehouseIn> list = tWarehousebillsService.warehouseIn(tWarehouseBills);
         ExcelUtil<WarehouseIn> util = new ExcelUtil<WarehouseIn>(WarehouseIn.class);
         return util.exportExcel(list, "仓库入库");
     }
+
     /**
      * 导出销售出库
      */
     @Log(title = "导出销售出库", businessType = BusinessType.EXPORT)
     @GetMapping("/marketOut")
-    public AjaxResult marketOut(TWarehouseBills tWarehouseBills)
-    {
+    public AjaxResult marketOut(TWarehouseBills tWarehouseBills) {
         List<MarketOut> list = tWarehousebillsService.marketOut(tWarehouseBills);
         ExcelUtil<MarketOut> util = new ExcelUtil<MarketOut>(MarketOut.class);
         return util.exportExcel(list, "销售出库");
     }
+
     /**
      * 导出销售出库
      */
     @Log(title = "导出销售出库", businessType = BusinessType.EXPORT)
     @GetMapping("/statistics")
-    public AjaxResult statistics(TWarehouseBills tWarehouseBills)
-    {
+    public AjaxResult statistics(TWarehouseBills tWarehouseBills) {
         List<Map<String, Object>> statistics = new ArrayList<>();
-        if (tWarehouseBills.getfMblno().equals("外部用户")){
+        if (tWarehouseBills.getfMblno().equals("外部用户")) {
             statistics = null;
-        }else if (tWarehouseBills.getfMblno().equals("超级管理员")
-        || tWarehouseBills.getfMblno().equals("财务经理")
+        } else if (tWarehouseBills.getfMblno().equals("超级管理员")
+                || tWarehouseBills.getfMblno().equals("财务经理")
                 || tWarehouseBills.getfMblno().equals("主管")
-                || tWarehouseBills.getfMblno().equals("会计")){
+                || tWarehouseBills.getfMblno().equals("会计")) {
             statistics = tWarehousebillsService.statistics(tWarehouseBills);
-        }else {
+        } else {
             statistics = tWarehousebillsService.statisticsNew(tWarehouseBills);
         }
         return AjaxResult.success(statistics);

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

@@ -1,5 +1,6 @@
 package com.ruoyi.warehouseBusiness.domain;
 
+import com.baomidou.mybatisplus.annotation.TableField;
 import com.fasterxml.jackson.annotation.JsonFormat;
 import com.ruoyi.common.annotation.Excel;
 import com.ruoyi.common.core.domain.BaseEntity;
@@ -667,6 +668,18 @@ public class TWarehouseBills extends BaseEntity {
     // 余额
     private BigDecimal balance;
 
+    // 调拨入库
+    @TableField(exist = false)
+    private String DBR;
+
+    public String getDBR() {
+        return DBR;
+    }
+
+    public void setDBR(String DBR) {
+        this.DBR = DBR;
+    }
+
     public BigDecimal getBalance() {
         return balance;
     }

+ 13 - 0
ruoyi-warehouse/src/main/java/com/ruoyi/warehouseBusiness/domain/TWarehousebillsfees.java

@@ -256,6 +256,11 @@ public class TWarehousebillsfees extends BaseEntity {
     @Excel(name = "单据类型(数据字典)SJRK", readConverterExp = "入=库")
     private String fBilltype;
 
+    /**
+     * 单据类型虚拟
+     */
+    private String fBillTypeVirtually;
+
     /** 入(出)库日期 */
     @Excel(name = "入", readConverterExp = "出=")
     private Date fBsdate;
@@ -837,6 +842,14 @@ public class TWarehousebillsfees extends BaseEntity {
         return fBillingQty;
     }
 
+    public String getfBillTypeVirtually() {
+        return fBillTypeVirtually;
+    }
+
+    public void setfBillTypeVirtually(String fBillTypeVirtually) {
+        this.fBillTypeVirtually = fBillTypeVirtually;
+    }
+
     public void setfBilltype(String fBilltype) {
         this.fBilltype = fBilltype;
     }

+ 2 - 0
ruoyi-warehouse/src/main/java/com/ruoyi/warehouseBusiness/mapper/TWarehousebillsfeesMapper.java

@@ -237,4 +237,6 @@ public interface TWarehousebillsfeesMapper extends BaseMapper<TWarehousebillsfee
      * @return
      */
     public List<AnPinExcePort> anPinExcePort(TWarehousebillsfees tWarehousebillsfees);
+
+    List<TWarehousebillsfees> selectfeesItemList(TWarehousebillsfees fees);
 }

Rozdielové dáta súboru neboli zobrazené, pretože súbor je príliš veľký
+ 216 - 195
ruoyi-warehouse/src/main/java/com/ruoyi/warehouseBusiness/service/impl/TWarehouseBillsServiceImpl.java


+ 95 - 19
ruoyi-warehouse/src/main/resources/mapper/warehouseBusiness/TWarehousebillsfeesMapper.xml

@@ -62,7 +62,7 @@
         <result property="fUnits" column="f_units"/>
         <result property="fStoreEnv" column="f_store_env"/>
         <result property="fIsfilles" column="f_isfilles"/>
-        <result property="fAllotWarehouseid"    column="f_allot_warehouseid"    />
+        <result property="fAllotWarehouseid" column="f_allot_warehouseid"/>
     </resultMap>
 
     <sql id="selectTWarehousebillsfeesVo">
@@ -176,6 +176,7 @@
             <if test="fStltypeid != null">and f_stltypeid = #{fStltypeid},</if>
             <if test="fSrcTypeId != null">and f_src_type_id = #{fSrcTypeId},</if>
             <if test="fWarehouseid != null ">and f_warehouseid = #{fWarehouseid}</if>
+            <if test="fAllotWarehouseid != null ">and f_allot_warehouseid = #{fAllotWarehouseid}</if>
             <if test="fPurchase != null ">and f_purchase = #{fPurchase}</if>
         </where>
     </select>
@@ -1394,21 +1395,25 @@
         /*库区*/
         th.f_warehouse_information AS fWarehouseName,
         /*库区中文名*/
-        ifnull(sum( CASE WHEN tf.f_billtype='RK' AND tf.f_bsdate&lt;#{timeInterval[0]} THEN tf.f_qty ELSE 0 END ) + IFNULL( de.fQty, 0 ) - IFNULL( df.fQty, 0 ) - sum(
+        ifnull(sum( CASE WHEN tf.f_billtype='RK' AND tf.f_bsdate&lt;#{timeInterval[0]} THEN tf.f_qty ELSE 0 END ) +
+        IFNULL( de.fQty, 0 ) - IFNULL( df.fQty, 0 ) - sum(
         CASE WHEN tf.f_billtype='CK' AND tf.f_bsdate&lt;#{timeInterval[0]} THEN tf.f_qty ELSE 0 END ),0) AS fBeginQty,
         /*期初数量*/
         ROUND(
         IFNULL((
-        sum( CASE WHEN tf.f_billtype='RK' AND tf.f_bsdate&lt;#{timeInterval[0]} THEN tf.f_amount ELSE 0 END )+ IFNULL( de.fAmount, 0 )- IFNULL( df.fAmount, 0 ) - sum(
+        sum( CASE WHEN tf.f_billtype='RK' AND tf.f_bsdate&lt;#{timeInterval[0]} THEN tf.f_amount ELSE 0 END )+ IFNULL(
+        de.fAmount, 0 )- IFNULL( df.fAmount, 0 ) - sum(
         CASE WHEN tf.f_billtype='CK' AND tf.f_bsdate&lt;#{timeInterval[0]} THEN tf.f_amount ELSE 0 END ))/(
-        sum( CASE WHEN tf.f_billtype='RK' AND tf.f_bsdate&lt;#{timeInterval[0]} THEN tf.f_qty ELSE 0 END ) + IFNULL( de.fQty, 0 ) - IFNULL( df.fQty, 0 )  - sum( CASE
+        sum( CASE WHEN tf.f_billtype='RK' AND tf.f_bsdate&lt;#{timeInterval[0]} THEN tf.f_qty ELSE 0 END ) + IFNULL(
+        de.fQty, 0 ) - IFNULL( df.fQty, 0 ) - sum( CASE
         WHEN tf.f_billtype='CK' AND tf.f_bsdate&lt;#{timeInterval[0]} THEN tf.f_qty ELSE 0 END )),
         0
         ),
         2
         ) AS fBeginUnitprice,
         /*期初单价*/
-        IFNULL(sum( CASE WHEN tf.f_billtype='RK' AND tf.f_bsdate&lt;#{timeInterval[0]} THEN tf.f_amount ELSE 0 END )+ IFNULL( de.fAmount, 0 )- IFNULL( df.fAmount, 0 ) -
+        IFNULL(sum( CASE WHEN tf.f_billtype='RK' AND tf.f_bsdate&lt;#{timeInterval[0]} THEN tf.f_amount ELSE 0 END )+
+        IFNULL( de.fAmount, 0 )- IFNULL( df.fAmount, 0 ) -
         sum( CASE WHEN tf.f_billtype='CK' AND tf.f_bsdate&lt;#{timeInterval[0]} THEN tf.f_amount ELSE 0 END ),0) AS
         fBeginAmount,
         /*期初金额*/
@@ -1424,22 +1429,26 @@
         IFNULL(sum( CASE WHEN tf.f_billtype='CK' AND tf.f_bsdate&gt;=#{timeInterval[0]} AND tf.f_bsdate&lt;=#{timeInterval[1]}
         THEN tf.f_amount ELSE 0 END ),0) AS cfAmount,
         /*出库金额*/
-        IFNULL(sum( CASE WHEN tf.f_billtype='RK' AND tf.f_bsdate&lt;=#{timeInterval[1]} THEN tf.f_qty ELSE 0 END ) + IFNULL( dg.fQty, 0 ) - IFNULL( dh.fQty, 0 ) -
+        IFNULL(sum( CASE WHEN tf.f_billtype='RK' AND tf.f_bsdate&lt;=#{timeInterval[1]} THEN tf.f_qty ELSE 0 END ) +
+        IFNULL( dg.fQty, 0 ) - IFNULL( dh.fQty, 0 ) -
         sum( CASE WHEN tf.f_billtype = 'CK' AND tf.f_bsdate&lt;=#{timeInterval[1]} THEN tf.f_qty ELSE 0 END ),0) AS
         fAfterQty,
         /*结余数量*/
         ROUND(
         IFNULL((
-        sum( CASE WHEN tf.f_billtype='RK' AND tf.f_bsdate&lt;=#{timeInterval[1]} THEN tf.f_amount ELSE 0 END ) + IFNULL( dg.fAmount, 0 )- IFNULL( dh.fAmount, 0 ) - sum(
+        sum( CASE WHEN tf.f_billtype='RK' AND tf.f_bsdate&lt;=#{timeInterval[1]} THEN tf.f_amount ELSE 0 END ) + IFNULL(
+        dg.fAmount, 0 )- IFNULL( dh.fAmount, 0 ) - sum(
         CASE WHEN tf.f_billtype='CK' AND tf.f_bsdate&lt;=#{timeInterval[1]} THEN tf.f_amount ELSE 0 END ))/(
-        sum( CASE WHEN tf.f_billtype='RK' AND tf.f_bsdate&lt;= #{timeInterval[1]} THEN tf.f_qty ELSE 0 END ) + IFNULL( dg.fQty, 0 ) - IFNULL( dh.fQty, 0 ) - sum( CASE
+        sum( CASE WHEN tf.f_billtype='RK' AND tf.f_bsdate&lt;= #{timeInterval[1]} THEN tf.f_qty ELSE 0 END ) + IFNULL(
+        dg.fQty, 0 ) - IFNULL( dh.fQty, 0 ) - sum( CASE
         WHEN tf.f_billtype='CK' AND tf.f_bsdate&lt;=#{timeInterval[1]} THEN tf.f_qty ELSE 0 END )),
         0
         ),
         2
         ) AS fAfterUnitprice,
         /*结余单价*/
-        IFNULL(sum( CASE WHEN tf.f_billtype='RK' AND tf.f_bsdate&lt;= #{timeInterval[1]} THEN tf.f_amount ELSE 0 END ) + IFNULL( dg.fAmount, 0 )- IFNULL( dh.fAmount, 0 )-
+        IFNULL(sum( CASE WHEN tf.f_billtype='RK' AND tf.f_bsdate&lt;= #{timeInterval[1]} THEN tf.f_amount ELSE 0 END ) +
+        IFNULL( dg.fAmount, 0 )- IFNULL( dh.fAmount, 0 )-
         sum( CASE WHEN tf.f_billtype='CK' AND tf.f_bsdate&lt;= #{timeInterval[1]} THEN tf.f_amount ELSE 0 END ),0) AS
         fAfterAmount, /*结余金额*/
         IFNULL( dr.fQty, 0 ) AS foldQty,
@@ -1599,7 +1608,7 @@
         AND tf.f_feeUnitid = dh.fFeeUnitid
         AND tf.f_warehouseid = dh.fwarehouseid
         WHERE
-        tf.f_billtype IN ( 'RK', 'CK' )
+        tf.f_billtype IN ( 'RK', 'CK' , 'DB')
         AND tf.del_flag = '0'
         AND tw.del_flag = '0'
         AND tf.f_bsdate&lt;=#{timeInterval[1]}
@@ -1607,7 +1616,21 @@
         <if test="fBillstatus != null">and tf.f_billstatus = #{fBillstatus}</if>
         <if test="fBillstatus == null">and tf.f_billstatus = 6</if>
         <if test="fCorpid != null ">and tf.f_corpid = #{fCorpid}</if>
-        <if test="fWarehouseid != null ">and tw.f_warehouseid = #{fWarehouseid}</if>
+        <if test="DBR != null and DBR != '' and DBR == 0">
+            <if test="fWarehouseid != null ">
+                and tw.f_warehouseid = #{fWarehouseid}
+            </if>
+        </if>
+        <if test="DBR != null and DBR != '' and DBR == 1">
+            <if test="fWarehouseid != null ">
+                and tw.f_allot_warehouseid = #{fWarehouseid}
+            </if>
+        </if>
+        <if test="DBR == null or DBR == '' ">
+            <if test="fWarehouseid != null ">
+                and tw.f_warehouseid = #{fWarehouseid}
+            </if>
+        </if>
         <if test="feeName != null and feeName != ''">and tf.f_feeid = #{feeName}</if>
         GROUP BY
         /*DATE_FORMAT( tf.f_bsdate, '%Y' ),
@@ -1725,10 +1748,8 @@
         GROUP BY temp.fCorpid
     </select>
     <select id="selectAmount" parameterType="long" resultType="java.math.BigDecimal">
-        SELECT
-            IFNULL(SUM(tw.f_amount),0.00) famount
-        FROM
-            t_warehousebillsfees tw
+        SELECT IFNULL(SUM(tw.f_amount), 0.00) famount
+        FROM t_warehousebillsfees tw
         WHERE f_pid = #{fPid}
           AND tw.del_flag = '0'
     </select>
@@ -1915,7 +1936,7 @@
         IFNULL(tl.f_grossweightblc,0) AS fGrossweightblc,
         IFNULL(tl.f_volumnblc,0) AS fVolumnblc,
         IFNULL(tl.f_netweightblc,0) AS fNetweightblc,
-        tc.f_name  AS corpName
+        tc.f_name AS corpName
         from t_warehousebillsfees tw
         LEFT JOIN t_fees tf ON tw.f_feeid = tf.f_id
         LEFT JOIN t_corps tc ON tw.f_corpid = tc.f_id
@@ -2140,7 +2161,7 @@
         tw.f_feeUnitid,
         sc.dict_label AS fFeeunitName,
         tw.f_qty AS fQty,
-        tw.f_unitprice  AS fUnitprice,
+        tw.f_unitprice AS fUnitprice,
         tw.f_amount AS fAmount,
         tw.f_currency,
         tw.f_exrate,
@@ -2215,7 +2236,7 @@
         IFNULL(tl.f_grossweightblc,0) AS fGrossweightblc,
         IFNULL(tl.f_volumnblc,0) AS fVolumnblc,
         IFNULL(tl.f_netweightblc,0) AS fNetweightblc,
-        tc.f_name  AS corpName
+        tc.f_name AS corpName
         from t_warehousebillsfees tw
         LEFT JOIN t_fees tf ON tw.f_feeid = tf.f_id
         LEFT JOIN t_corps tc ON tw.f_corpid = tc.f_id
@@ -2280,5 +2301,60 @@
             <if test="fPurchase != null ">and tw.f_purchase = #{fPurchase}</if>
         </where>
     </select>
+    <select id="selectfeesItemList" resultType="com.ruoyi.warehouseBusiness.domain.TWarehousebillsfees">
+        <include refid="selectTWarehousebillsfeesVo"/>
+        <where>
+            del_flag = '0'
+            <if test="fPid != null ">and f_pid = #{fPid}</if>
+            <if test="fLineno != null ">and f_lineno = #{fLineno}</if>
+            <if test="fCorpid != null ">and f_corpid = #{fCorpid}</if>
+            <if test="fFeeid != null ">and f_feeid = #{fFeeid}</if>
+            <if test="fFeeunitid != null ">and f_feeUnitid = #{fFeeunitid}</if>
+            <if test="fQty != null ">and f_qty = #{fQty}</if>
+            <if test="fUnitprice != null ">and f_unitprice = #{fUnitprice}</if>
+            <if test="fAmount != null ">and f_amount = #{fAmount}</if>
+            <if test="fCurrency != null  and fCurrency != ''">and f_currency = #{fCurrency}</if>
+            <if test="fExrate != null ">and f_exrate = #{fExrate}</if>
+            <if test="fTaxrate != null ">and f_taxrate = #{fTaxrate}</if>
+            <if test="fDc != null  and fDc != ''">and f_dc = #{fDc}</if>
+            <if test="fBillstatus != null  and fBillstatus != ''">and f_billstatus = #{fBillstatus}</if>
+            <if test="fReviewDate != null ">and f_review_date = #{fReviewDate}</if>
+            <if test="fStatementNo != null  and fStatementNo != ''">and f_statement_no = #{fStatementNo}</if>
+            <if test="fAccamount != null ">and f_accamount = #{fAccamount}</if>
+            <if test="fStlamount != null ">and f_stlamount = #{fStlamount}</if>
+            <if test="fAccamountDate != null ">and f_accamount_date = #{fAccamountDate}</if>
+            <if test="fInvnos != null  and fInvnos != ''">and f_invnos = #{fInvnos}</if>
+            <if test="fInvamount != null ">and f_invamount = #{fInvamount}</if>
+            <if test="fStlamountNo != null  and fStlamountNo != ''">and f_stlamount_no = #{fStlamountNo}</if>
+            <if test="fAskamount != null ">and f_askamount = #{fAskamount}</if>
+            <if test="fStatus != null  and fStatus != ''">and f_status = #{fStatus}</if>
+            <if test="fStlamountDate != null ">and f_stlamount_date = #{fStlamountDate}</if>
+            <if test="srcId != null ">and src_id = #{srcId}</if>
+            <if test="srcBillNo != null  and srcBillNo != ''">and src_bill_no = #{srcBillNo}</if>
+            <if test="fMblno != null  and fMblno != ''">and f_mblno = #{fMblno}</if>
+            <if test="fProductName != null  and fProductName != ''">and f_product_name like concat('%', #{fProductName},
+                '%')
+            </if>
+            <if test="fMarks != null  and fMarks != ''">and f_marks = #{fMarks}</if>
+            <if test="fChargedate != null ">and f_chargedate = #{fChargedate}</if>
+            <if test="fBillingDeadline != null ">and f_billing_deadline = #{fBillingDeadline}</if>
+            <if test="fInventoryDays != null ">and f_inventory_days = #{fInventoryDays}</if>
+            <if test="fAmt != null ">and f_amt = #{fAmt}</if>
+            <if test="fBillingDays != null ">and f_billing_days = #{fBillingDays}</if>
+            <if test="fBillingQty != null ">and f_billing_qty = #{fBillingQty}</if>
+            <if test="fBilltype != null  and fBilltype != ''">and f_billtype = #{fBilltype}</if>
+            <if test="fBillTypeVirtually != null  and fBillTypeVirtually != ''">and f_bill_type_virtually =
+                #{fBillTypeVirtually}
+            </if>
+            <if test="fBillingway != null ">and f_billingway = #{fBillingway}</if>
+            <if test="fOriginalbilldate != null ">and f_originalbilldate = #{fOriginalbilldate}</if>
+            <if test="fStltypeid != null">and f_stltypeid = #{fStltypeid},</if>
+            <if test="fSrcTypeId != null">and f_src_type_id = #{fSrcTypeId},</if>
+            <if test="fWarehouseid != null ">and f_warehouseid = #{fWarehouseid}</if>
+            <if test="fAllotWarehouseid != null ">and f_allot_warehouseid = #{fAllotWarehouseid}</if>
+            <if test="fPurchase != null ">and f_purchase = #{fPurchase}</if>
+            <if test="fBsdate != null ">and f_bsdate &lt;= #{fBsdate}</if>
+        </where>
+    </select>
 
-</mapper>
+</mapper>

Niektoré súbory nie sú zobrazené, pretože je v týchto rozdielových dátach zmenené mnoho súborov