浏览代码

[CODE]: 仓储小程序接口:待办数、入出库(明细)列表、入出库详情、提交待入出库、提交确认入出库

maxianghua 4 年之前
父节点
当前提交
a7bff82ed7

+ 101 - 0
ruoyi-admin/src/main/java/com/ruoyi/web/controller/warehouse/warehouseBusiness/AppletsController.java

@@ -0,0 +1,101 @@
+package com.ruoyi.web.controller.warehouse.warehouseBusiness;
+
+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.model.LoginUser;
+import com.ruoyi.common.core.page.TableDataInfo;
+import com.ruoyi.common.utils.ServletUtils;
+import com.ruoyi.common.utils.spring.SpringUtils;
+import com.ruoyi.framework.web.service.TokenService;
+import com.ruoyi.warehouseBusiness.domain.TWarehouseBills;
+import com.ruoyi.warehouseBusiness.domain.TWarehousebillsitems;
+import com.ruoyi.warehouseBusiness.service.ITWarehouseBillsService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+
+import java.util.List;
+import java.util.Map;
+
+/**
+ * 仓库详情主表Controller
+ *
+ * @author ruoyi
+ * @date 2020-12-11
+ */
+@RestController
+@RequestMapping("/warehouseBusiness/applets")
+public class AppletsController extends BaseController {
+    @Autowired
+    private ITWarehouseBillsService itWarehouseBillsService;
+
+    /**
+     *  待办数
+     */
+    @GetMapping("/number")
+    public AjaxResult list() {
+        List<Map<String, Object>> list = itWarehouseBillsService.selectWareHouseNumber();
+        return AjaxResult.success(list);
+    }
+
+    /**
+     *  入库数量
+     */
+    @GetMapping("/inStockList")
+    public TableDataInfo inList(TWarehouseBills tWarehouseBills) {
+        startPage();
+        tWarehouseBills.setfBilltype("SJRK");
+        List<Map<String, Object>> list = itWarehouseBillsService.selectWarehouseBusinessInStockList(tWarehouseBills);
+        return getDataTable(list);
+    }
+
+    /**
+     *  出库数量
+     */
+    @GetMapping("/outStockList")
+    public TableDataInfo outList(TWarehouseBills tWarehouseBills) {
+        startPage();
+        tWarehouseBills.setfBilltype("SJCK");
+        List<Map<String, Object>> list = itWarehouseBillsService.selectWarehouseBusinessInStockList(tWarehouseBills);
+        return getDataTable(list);
+    }
+
+    /**
+     *   待入出库
+     */
+    @PostMapping(value = "/ischargeCargo")
+    @RepeatSubmit
+    public AjaxResult ischargeCargo(@RequestBody TWarehousebillsitems tWarehousebillsitems) {
+        tWarehousebillsitems.setfBillstatus(30L);
+        return itWarehouseBillsService.waitWarehousingItems(tWarehousebillsitems);
+    }
+
+    /**
+     *  确认入库
+     */
+    @PostMapping(value = "/addCredit")
+    @RepeatSubmit
+    public AjaxResult addCredit( @RequestParam("tEnclosure") String tEnclosure,
+                                 @RequestParam("warehousebillsitems") String warehousebillsitems) {
+        String billsType = "SJRK";
+        // 获取当前的用户
+        LoginUser loginUser = SpringUtils.getBean(TokenService.class).getLoginUser(ServletUtils.getRequest());
+        return itWarehouseBillsService.addCreditItems(tEnclosure,warehousebillsitems,billsType,loginUser);
+    }
+
+    /**
+     *  确认出库
+     */
+    @PostMapping(value = "/outAddCredit")
+    @RepeatSubmit
+    public AjaxResult outAddCredit( @RequestParam("tEnclosure") String tEnclosure,
+                                 @RequestParam("warehousebillsitems") String warehousebillsitems) {
+        String billsType = "SJRCK";
+        // 获取当前的用户
+        LoginUser loginUser = SpringUtils.getBean(TokenService.class).getLoginUser(ServletUtils.getRequest());
+        return itWarehouseBillsService.addCreditItems(tEnclosure,warehousebillsitems,billsType,loginUser);
+    }
+
+
+
+}

+ 24 - 0
ruoyi-warehouse/src/main/java/com/ruoyi/warehouseBusiness/mapper/TWarehousebillsitemsMapper.java

@@ -91,4 +91,28 @@ public interface TWarehousebillsitemsMapper extends BaseMapper<TWarehousebillsit
      * @return
      * @return
      */
      */
     int agreementApprovalRejected(TWarehousebillsitems billsItem);
     int agreementApprovalRejected(TWarehousebillsitems billsItem);
+
+    /**
+     *  入库待办数
+     */
+    int inStock();
+
+    /**
+     *  出库待办数
+     */
+    int outStock();
+
+    /**
+     *  当月入库待办数
+     */
+    int monthInStock(@Param("timeInterval") List<String> timeInterval);
+
+    /**
+     *  当月出库待办数
+     */
+    int monthOutStock(@Param("timeInterval") List<String> timeInterval);
+
+    public List<Map<String, Object>> selectWarehouseBusinesInList(TWarehouseBills tWarehousebills);
+    public List<Map<String, Object>> selectWarehouseBusinesOutList(TWarehouseBills tWarehousebills);
+
 }
 }

+ 10 - 0
ruoyi-warehouse/src/main/java/com/ruoyi/warehouseBusiness/service/ITWarehouseBillsService.java

@@ -5,6 +5,7 @@ import com.ruoyi.common.core.domain.model.LoginUser;
 import com.ruoyi.reportManagement.domain.TWareHouseItemsExcel;
 import com.ruoyi.reportManagement.domain.TWareHouseItemsExcel;
 import com.ruoyi.warehouseBusiness.domain.TWareHouseExcelItems;
 import com.ruoyi.warehouseBusiness.domain.TWareHouseExcelItems;
 import com.ruoyi.warehouseBusiness.domain.TWarehouseBills;
 import com.ruoyi.warehouseBusiness.domain.TWarehouseBills;
+import com.ruoyi.warehouseBusiness.domain.TWarehousebillsitems;
 
 
 import java.util.List;
 import java.util.List;
 import java.util.Map;
 import java.util.Map;
@@ -189,4 +190,13 @@ public interface ITWarehouseBillsService {
     AjaxResult serialNumber( String billsType);
     AjaxResult serialNumber( String billsType);
 
 
     public int derecognition(Long fId);
     public int derecognition(Long fId);
+
+    List<Map<String, Object>> selectWareHouseNumber();
+
+    public List<Map<String, Object>> selectWarehouseBusinessInStockList(TWarehouseBills tWarehousebills);
+
+    AjaxResult waitWarehousingItems(TWarehousebillsitems tWarehousebillsitems);
+
+    AjaxResult addCreditItems(String tEnclosure ,String  tWarehousebillsitems, String billsType,LoginUser loginUser);
+
 }
 }

+ 208 - 8
ruoyi-warehouse/src/main/java/com/ruoyi/warehouseBusiness/service/impl/TWarehouseBillsServiceImpl.java

@@ -36,6 +36,7 @@ import org.springframework.transaction.annotation.Transactional;
 import org.springframework.transaction.interceptor.TransactionAspectSupport;
 import org.springframework.transaction.interceptor.TransactionAspectSupport;
 
 
 import java.math.BigDecimal;
 import java.math.BigDecimal;
+import java.text.SimpleDateFormat;
 import java.util.*;
 import java.util.*;
 import java.util.stream.Collectors;
 import java.util.stream.Collectors;
 
 
@@ -826,6 +827,180 @@ public class TWarehouseBillsServiceImpl implements ITWarehouseBillsService {
         }
         }
     }
     }
 
 
+    @Override
+    public List<Map<String, Object>> selectWareHouseNumber() {
+        List<Map<String, Object>> map= new ArrayList<>();
+        Map<String, Object> maps = new HashMap<>();
+        // 入库待办数量
+        maps.put("inStock",tWarehousebillsitemsMapper.inStock());
+        // 出库待办数量
+        maps.put("outStock",tWarehousebillsitemsMapper.outStock());
+
+        List<String> timeInterval =new ArrayList<>();
+        SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");
+        //获取当前月第一天:
+        Calendar c = Calendar.getInstance();
+        c.add(Calendar.MONTH, 0);
+        c.set(Calendar.DAY_OF_MONTH,1);//设置为1号,当前日期既为本月第一天
+        timeInterval.add(format.format(c.getTime()));
+        //获取前月的最后一天
+        Calendar ca = Calendar.getInstance();
+        ca.set(Calendar.DAY_OF_MONTH, ca.getActualMaximum(Calendar.DAY_OF_MONTH));
+        timeInterval.add(format.format(ca.getTime()));
+        maps.put("monthInStock",tWarehousebillsitemsMapper.monthInStock(timeInterval));
+        // 当月出库待办数量
+        maps.put("monthOutStock",tWarehousebillsitemsMapper.monthOutStock(timeInterval));
+        map.add(maps);
+        return map;
+    }
+
+    @Override
+    public List<Map<String, Object>> selectWarehouseBusinessInStockList(TWarehouseBills tWarehousebills) {
+        if(tWarehousebills.getfBilltype().equals("SJRK")){
+            return tWarehousebillsitemsMapper.selectWarehouseBusinesInList(tWarehousebills);
+        }else {
+            return tWarehousebillsitemsMapper.selectWarehouseBusinesOutList(tWarehousebills);
+        }
+    }
+
+    @Override
+    @Transactional
+    public AjaxResult waitWarehousingItems(TWarehousebillsitems tWarehousebillsitems) {
+        // 先查询是否已经处理
+        TWarehousebillsitems tWarehousebillsitems1=tWarehousebillsitemsMapper.selectTWarehousebillsitemsById(tWarehousebillsitems.getfId());
+        if(tWarehousebillsitems1.getfBillstatus().equals(30)){
+            TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
+            return AjaxResult.error("更新库存明细失败,该信息已操作,请重新加载");
+        }
+        int  num = tWarehousebillsitemsMapper.updateTWarehousebillsitems(tWarehousebillsitems);
+        if (num <= 0) {
+            TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
+            return AjaxResult.error("更新库存明细失败");
+        }else{
+            return AjaxResult.success();
+        }
+    }
+
+    @Override
+    @Transactional
+    public AjaxResult addCreditItems(String tEnclosure ,String  tWarehousebillsitems, String billsType,LoginUser loginUser) {
+        TWarehouseBills tWarehouseBills =new TWarehouseBills();
+        JSONArray warehouseJSON = JSONArray.parseArray(tWarehousebillsitems);
+        List<TWarehousebillsitems> warehousebillsitemsList = JSONObject.parseArray(warehouseJSON.toJSONString(), TWarehousebillsitems.class);
+        if(billsType.equals("SJRK")){
+            for(TWarehousebillsitems item : warehousebillsitemsList){
+                // 先查询是否已经处理
+                TWarehousebillsitems tWarehousebillsitems1=tWarehousebillsitemsMapper.selectTWarehousebillsitemsById(item.getfId());
+                if(tWarehousebillsitems1.getfBillstatus().equals(40)){
+                    TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
+                    return AjaxResult.error("更新库存明细失败,该信息已操作,请重新加载");
+                }
+                // 查询主表
+                tWarehouseBills =  tWarehouseBillsMapper.selectTWarehousebillsById(item.getfPid());
+                // 查询库容量  是否可入库
+                int m = calculation(tWarehouseBills.getfWarehouseid(), item.getfGrossweight());
+                if (m == 0) {
+                    TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
+                    return AjaxResult.error("更新库存总账失败-->入库毛重大于库容");
+                }
+                item.setfBillingway(tWarehouseBills.getfBillingway());
+                item.setfChargedate(tWarehouseBills.getfChargedate());
+                TWhgenleg tWhgenle = queryTWhgenleg(tWarehouseBills, item);
+                if (StringUtils.isNotNull(tWhgenle)) {
+                    int i = updateTWhgenlegData(item, tWhgenle.getfId(), billsType);
+                    if (i <= 0) {
+                        TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
+                        return AjaxResult.error("更新库存总账失败");
+                    }
+                } else {
+                    if (instalTWhgenleg(tWarehouseBills, item, loginUser.getUser()) <= 0) {
+                        TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
+                        return AjaxResult.error("新增库存总账失败");
+                    }
+                }
+                item.setfIsInventory(0L);
+                int num = 0;
+                if (StringUtils.isNotNull(item.getfId())) {
+                    item.setfBillstatus(40L);
+                    item.setUpdateBy(loginUser.getUser().getUserName());
+                    item.setUpdateTime(new Date());
+                    num = tWarehousebillsitemsMapper.updateTWarehousebillsitems(item);
+                    // 添加状态log
+                    insertTWarehousebillsLog(item, 40L, loginUser);
+                }
+                if (num <= 0) {
+                    TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
+                    return AjaxResult.error("新增库存明细失败");
+                }
+            }
+        }else {
+            for (TWarehousebillsitems wbItem : warehousebillsitemsList) {
+                // 先查询是否已经处理
+                TWarehousebillsitems tWarehousebillsitems1=tWarehousebillsitemsMapper.selectTWarehousebillsitemsById(wbItem.getfId());
+                if(tWarehousebillsitems1.getfBillstatus().equals(40)){
+                    TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
+                    return AjaxResult.error("更新库存明细失败,该信息已操作,请重新加载");
+                }
+                // 查询总账是否存在
+                TWhgenleg tWhgenle = queryTWhgenleg(tWarehouseBills, wbItem);
+                if (StringUtils.isNull(tWhgenle)) { // 为空 提示没有库存
+                    TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
+                    return AjaxResult.error("库存明细库存为空");
+                } else { // 非空修改库存总账
+                    //  库存 <  出库件数
+                    if (tWhgenle.getfQtyblc() < wbItem.getfQty()) {
+                        TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
+                        return AjaxResult.error("库存明细库存不足");
+                    }
+                    // 更新库存总账
+                    updateTWhgenlegData(wbItem, tWhgenle.getfId(), billsType);
+                    if (StringUtils.isNull(tWarehouseBills.getfBsdate()) || StringUtils.isNull(wbItem.getfChargedate())) {
+                        return AjaxResult.error("库存明细请检查日期,操作终止");
+                    }
+                    if (StringUtils.isNull(tWarehouseBills.getfCorpid())) {
+                        return AjaxResult.error("库存明细请检查客户信息,操作终止");
+                    }
+                }
+                wbItem.setfBillstatus(40L);
+                int num = 0;
+                wbItem.setfPid(tWarehouseBills.getfId());
+                wbItem.setfBilltype(billsType);
+                wbItem.setfBillno(tWarehouseBills.getfBillno());
+                wbItem.setfBsdate(tWarehouseBills.getfBsdate());
+                if (StringUtils.isNotNull(wbItem.getfId())) {
+                    wbItem.setUpdateBy(loginUser.getUser().getUserName());
+                    wbItem.setUpdateTime(new Date());
+                    num = tWarehousebillsitemsMapper.updateTWarehousebillsitems(wbItem);
+                    // 添加状态log
+                    insertTWarehousebillsLog(wbItem, 40L, loginUser);
+                }
+                if (num <= 0) {
+                    TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
+                    return AjaxResult.error("库存明细更新失败");
+                }
+            }
+        }
+        //  主表修改
+        tWarehouseBills.setfItemsStatus(4L);
+        tWarehouseBills.setfBilltype(billsType);
+        tWarehouseBills.setUpdateBy(loginUser.getUser().getUserName());
+        tWarehouseBills.setUpdateTime(new Date());
+        tWarehouseBillsMapper.updateTWarehousebills(tWarehouseBills);
+        //  附件添加
+        if (StringUtils.isNotEmpty(tEnclosure) && !"[]".equals(tEnclosure)) {
+            JSONArray jsonDrArray = JSONArray.parseArray(tEnclosure);
+            List<TEnclosure> tEnclosureList = JSONObject.parseArray(jsonDrArray.toJSONString(), TEnclosure.class);
+            for (TEnclosure enclosure : tEnclosureList) {
+                enclosure.setfPid(tWarehouseBills.getfId());
+                enclosure.setCreateBy(loginUser.getUser().getUserName());
+                enclosure.setCreateTime(new Date());
+                tEnclosureMapper.insertTEnclosure(enclosure);
+            }
+        }
+        return AjaxResult.success();
+    }
+
+
     /**
     /**
      * 根据仓库主表id 更新对应明细表状态
      * 根据仓库主表id 更新对应明细表状态
      *
      *
@@ -931,7 +1106,14 @@ public class TWarehouseBillsServiceImpl implements ITWarehouseBillsService {
         boolean businessStatus = "场地直装".equals(tWarehouseBills.getfBusinessType());
         boolean businessStatus = "场地直装".equals(tWarehouseBills.getfBusinessType());
         JSONArray warehouseJSON = JSONArray.parseArray(warehousebillsitems);
         JSONArray warehouseJSON = JSONArray.parseArray(warehousebillsitems);
         List<TWarehousebillsitems> warehousebillsitemsList = JSONObject.parseArray(warehouseJSON.toJSONString(), TWarehousebillsitems.class);
         List<TWarehousebillsitems> warehousebillsitemsList = JSONObject.parseArray(warehouseJSON.toJSONString(), TWarehousebillsitems.class);
+        int i=1;
         for (TWarehousebillsitems item : warehousebillsitemsList) {
         for (TWarehousebillsitems item : warehousebillsitemsList) {
+            // 查询是否可以修改
+            TWarehousebillsitems tWarehousebillsitems = tWarehousebillsitemsMapper.selectTWarehousebillsitemsById(item.getfId());
+            if(tWarehousebillsitems.getfBillstatus().equals(40)){
+                TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
+                return AjaxResult.error("更新库存明细第"+i+"行失败,已处理,请刷新网页");
+            }
             if (!businessStatus) {
             if (!businessStatus) {
                 // 查询库容量  是否可入库
                 // 查询库容量  是否可入库
                 int m = calculation(tWarehouseBills.getfWarehouseid(), item.getfGrossweight());
                 int m = calculation(tWarehouseBills.getfWarehouseid(), item.getfGrossweight());
@@ -943,8 +1125,8 @@ public class TWarehouseBillsServiceImpl implements ITWarehouseBillsService {
                 item.setfChargedate(tWarehouseBills.getfChargedate());
                 item.setfChargedate(tWarehouseBills.getfChargedate());
                 TWhgenleg tWhgenle = queryTWhgenleg(tWarehouseBills, item);
                 TWhgenleg tWhgenle = queryTWhgenleg(tWarehouseBills, item);
                 if (StringUtils.isNotNull(tWhgenle)) {
                 if (StringUtils.isNotNull(tWhgenle)) {
-                    int i = updateTWhgenlegData(item, tWhgenle.getfId(), billsType);
-                    if (i <= 0) {
+                    int i1 = updateTWhgenlegData(item, tWhgenle.getfId(), billsType);
+                    if (i1 <= 0) {
                         TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
                         TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
                         return AjaxResult.error("更新库存总账失败");
                         return AjaxResult.error("更新库存总账失败");
                     }
                     }
@@ -971,6 +1153,7 @@ public class TWarehouseBillsServiceImpl implements ITWarehouseBillsService {
                 TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
                 TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
                 return AjaxResult.error("新增库存明细失败");
                 return AjaxResult.error("新增库存明细失败");
             }
             }
+            i++;
         }
         }
         //  附件添加
         //  附件添加
         if (StringUtils.isNotEmpty(tEnclosure) && !"[]".equals(tEnclosure)) {
         if (StringUtils.isNotEmpty(tEnclosure) && !"[]".equals(tEnclosure)) {
@@ -1056,6 +1239,12 @@ public class TWarehouseBillsServiceImpl implements ITWarehouseBillsService {
         List<TFees> feesList = new ArrayList<>();
         List<TFees> feesList = new ArrayList<>();
         List<TWarehousebillsfees> warehousebillsfees = new ArrayList<>();
         List<TWarehousebillsfees> warehousebillsfees = new ArrayList<>();
         for (TWarehousebillsitems wbItem : warehousebillsitemsList) {
         for (TWarehousebillsitems wbItem : warehousebillsitemsList) {
+            // 查询是否可以修改
+            TWarehousebillsitems tWarehousebillsitems = tWarehousebillsitemsMapper.selectTWarehousebillsitemsById(wbItem.getfId());
+            if(tWarehousebillsitems.getfBillstatus().equals(40)){
+                TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
+                return AjaxResult.error("更新库存明细第"+i+"行失败,已处理,请刷新网页");
+            }
             long warehouselocId = 0L;
             long warehouselocId = 0L;
             long transferWarehouselocid = 0L;
             long transferWarehouselocid = 0L;
             if ("CKDB".equals(billsType)) {
             if ("CKDB".equals(billsType)) {
@@ -1248,6 +1437,7 @@ public class TWarehouseBillsServiceImpl implements ITWarehouseBillsService {
      * @return
      * @return
      */
      */
     @Override
     @Override
+    @Transactional
     public AjaxResult waitWarehousing(String warehouseBills, String warehousebillsitems,
     public AjaxResult waitWarehousing(String warehouseBills, String warehousebillsitems,
                                       String tEnclosure, String tWarehousebillsfeesCr, String tWarehousebillsfeesDr,
                                       String tEnclosure, String tWarehousebillsfeesCr, String tWarehousebillsfeesDr,
                                       LoginUser loginUser, Long status, String billtystatus) {
                                       LoginUser loginUser, Long status, String billtystatus) {
@@ -1280,14 +1470,23 @@ public class TWarehouseBillsServiceImpl implements ITWarehouseBillsService {
          */
          */
         Date time = new Date();
         Date time = new Date();
         String serialNumber = null;
         String serialNumber = null;
-        if ("RK".equals(billtystatus)) {
-            serialNumber = billnoSerialServiceImpl.getSerialNumber("RK", time);
-        } else if ("CK".equals(billtystatus)) { //生成 出库 流水号
-            serialNumber = billnoSerialServiceImpl.getSerialNumber("CK", time);
-        } else if ("DB".equals(billtystatus)) { //生成 出库 流水号
-            serialNumber = billnoSerialServiceImpl.getSerialNumber("DB", time);
+        if(status==20){
+            if ("RK".equals(billtystatus)) {
+                serialNumber = billnoSerialServiceImpl.getSerialNumber("RK", time);
+            } else if ("CK".equals(billtystatus)) { //生成 出库 流水号
+                serialNumber = billnoSerialServiceImpl.getSerialNumber("CK", time);
+            } else if ("DB".equals(billtystatus)) { //生成 出库 流水号
+                serialNumber = billnoSerialServiceImpl.getSerialNumber("DB", time);
+            }
         }
         }
+        int i=1;
         for (TWarehousebillsitems item : warehousebillsitemsList) {
         for (TWarehousebillsitems item : warehousebillsitemsList) {
+            // 查询是否可以修改
+            TWarehousebillsitems tWarehousebillsitems = tWarehousebillsitemsMapper.selectTWarehousebillsitemsById(item.getfId());
+            if(tWarehousebillsitems.getfBillstatus().equals(30)){
+                TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
+                return AjaxResult.error("更新库存明细第"+i+"行失败,已处理,请刷新网页");
+            }
             if (item.getfBillstatus() < 30L) {
             if (item.getfBillstatus() < 30L) {
                 if(item.getfSerialNumber()==null ||  item.getfSerialNumber().equals("")){
                 if(item.getfSerialNumber()==null ||  item.getfSerialNumber().equals("")){
                     item.setfSerialNumber(serialNumber);
                     item.setfSerialNumber(serialNumber);
@@ -1304,6 +1503,7 @@ public class TWarehouseBillsServiceImpl implements ITWarehouseBillsService {
                 }
                 }
             }
             }
             mapList.add(item);
             mapList.add(item);
+            i++;
         }
         }
         //  附件添加
         //  附件添加
         if (StringUtils.isNotEmpty(tEnclosure) && !"[]".equals(tEnclosure)) {
         if (StringUtils.isNotEmpty(tEnclosure) && !"[]".equals(tEnclosure)) {

+ 113 - 0
ruoyi-warehouse/src/main/resources/mapper/warehouseBusiness/TWarehousebillsitemsMapper.xml

@@ -418,6 +418,119 @@
         WHERE
         WHERE
             f_warehouselocid = #{fWarehouselocid}
             f_warehouselocid = #{fWarehouselocid}
     </select>
     </select>
+    <select id="inStock" resultType="java.lang.Integer">
+        SELECT
+            COUNT(f_id)
+        FROM
+            t_warehousebillsitems
+        WHERE
+            f_billtype = 'SJRK'
+          AND
+            f_billstatus in (20,30)
+    </select>
+    <select id="outStock" resultType="java.lang.Integer">
+        SELECT
+            COUNT(f_id)
+        FROM
+            t_warehousebillsitems
+        WHERE
+            f_billtype = 'SJCK'
+          AND
+            f_billstatus in (20,30)
+    </select>
+    <select id="monthInStock" resultType="java.lang.Integer">
+        SELECT
+        COUNT(f_id)
+        FROM
+            t_warehousebillsitems
+        WHERE
+            f_billtype = 'SJRK'
+            AND
+             f_billstatus =40
+            AND
+            f_bsdate &gt;= #{timeInterval[0]}
+            AND
+            f_bsdate &lt;=  #{timeInterval[1]}
+    </select>
+    <select id="monthOutStock" resultType="java.lang.Integer">
+        SELECT
+        COUNT(f_id)
+        FROM
+            t_warehousebillsitems
+        WHERE
+            f_billtype = 'SJCK'
+            AND
+            f_billstatus =40
+            AND
+            f_bsdate &gt;=  #{timeInterval[0]}
+            AND
+            f_bsdate &lt;=  #{timeInterval[1]}
+    </select>
+    <select id="selectWarehouseBusinesInList" resultType="java.util.Map">
+        SELECT
+            items.f_id AS fId,
+            items.f_pid AS  fPid,
+            c.f_name AS fName,
+            items.f_mblno AS fMblno,
+            items.f_bsdate AS fBsdate,
+            CASE
+                WHEN items.f_billstatus = 20 THEN
+                    '待入库'
+                WHEN items.f_billstatus = 30 THEN
+                    '入库中'
+                END AS fBillstatus,
+            g.f_name AS fGoodsid,
+            items.f_driver_tel AS fDriverTel,
+            dict.dict_label AS fBusinessType ,
+            items.f_marks AS fMarks,
+            items.f_warehouse_information AS fWarehouseInformation,
+            items.f_qty AS fQty,
+            items.f_grossweight AS fGrossweight,
+            items.f_netweight AS  fNetweight
+        FROM
+            t_warehousebillsitems items
+                LEFT JOIN t_warehousebills t ON items.f_pid = t.f_id
+                LEFT JOIN t_corps c ON t.f_corpid = c.f_id
+                LEFT JOIN t_goods g ON items.f_goodsid = g.f_id
+                LEFT JOIN sys_dict_data dict ON dict.dict_type = 'storage_type'
+                AND dict.dict_value = items.f_business_type
+        WHERE
+            items.f_billtype = 'SJRK'
+          AND items.f_billstatus IN ( 20, 30 )
+    </select>
+    <select id="selectWarehouseBusinesOutList" resultType="java.util.Map">
+        SELECT
+            items.f_id AS fId,
+            items.f_pid AS  fPid,
+            c.f_name AS fName,
+            items.f_mblno AS fMblno,
+            items.f_bsdate AS fBsdate,
+            CASE
+                WHEN items.f_billstatus = 20 THEN
+                    '待出库'
+                WHEN items.f_billstatus = 30 THEN
+                    '出库中'
+                END AS fBillstatus,
+            g.f_name AS fGoodsid,
+            items.f_driver_tel AS fDriverTel,
+            dict.dict_label AS fBusinessType ,
+            items.f_marks AS fMarks,
+            items.f_warehouse_information AS fWarehouseInformation,
+            items.f_qty AS fQty,
+            items.f_grossweight AS fGrossweight,
+            items.f_netweight AS  fNetweight
+        FROM
+            t_warehousebillsitems items
+                LEFT JOIN t_warehousebills t ON items.f_pid = t.f_id
+                LEFT JOIN t_corps c ON t.f_corpid = c.f_id
+                LEFT JOIN t_goods g ON items.f_goodsid = g.f_id
+                LEFT JOIN sys_dict_data dict ON dict.dict_type = 'storage_type'
+                AND dict.dict_value = items.f_business_type
+        WHERE
+            items.f_billtype = 'SJCK'
+          AND items.f_billstatus IN ( 20, 30 )
+    </select>
+
 
 
     <update id="warehouseItemFollowUpdate" parameterType="Long">
     <update id="warehouseItemFollowUpdate" parameterType="Long">
         update
         update