瀏覽代碼

2023年6月30日18:25:14

纪新园 2 年之前
父節點
當前提交
e785c73583

+ 6 - 2
ruoyi-plugin/src/main/java/com/ruoyi/ccb/service/impl/ForeignHttpServiceImpl.java

@@ -233,8 +233,12 @@ public class ForeignHttpServiceImpl implements ForeignHttpService{
      */
     @Override
     public Map<String, Object> getStorageTop(String wareHouseId, Integer countType, Integer topCnt){
-
-       List<Map<String, Object>> data = itWarehouseService.getStorageTop(wareHouseId,countType,topCnt);
+        List<Map<String, Object>> data = new ArrayList<>();
+        if (1 == countType){
+             data = itWarehouseService.getStorageTopS(wareHouseId,countType,topCnt);
+        }else if (2 == countType){
+             data = itWarehouseService.getStorageTop(wareHouseId,countType,topCnt);
+        }
 
         if (data.size() > 0){
             for (int i = 0; i < data.size(); i++){

+ 5 - 0
ruoyi-warehouse/src/main/java/com/ruoyi/basicData/mapper/TWarehouseMapper.java

@@ -257,6 +257,11 @@ public interface TWarehouseMapper {
     List<Map<String, Object>> getStorageTop(@Param("wareHouseId")String wareHouseId,@Param("countType") Integer countType,@Param("topCnt") Integer topCnt);
 
     /**
+     *  获取货物品类top值
+     */
+    List<Map<String, Object>> getStorageTopS(@Param("wareHouseId")String wareHouseId,@Param("countType") Integer countType,@Param("topCnt") Integer topCnt);
+
+    /**
      *  获取货主仓库top值
      */
     List<Map<String, Object>> getGoodsTop(@Param("wareHouseId")String wareHouseId,@Param("countType") Integer countType,@Param("topCnt") Integer topCnt);

+ 5 - 0
ruoyi-warehouse/src/main/java/com/ruoyi/basicData/service/ITWarehouseService.java

@@ -258,6 +258,11 @@ public interface ITWarehouseService {
     List<Map<String, Object>> getStorageTop(String wareHouseId, Integer countType, Integer topCnt);
 
     /**
+     *  获取货物品类top值
+     */
+    List<Map<String, Object>> getStorageTopS(String wareHouseId, Integer countType, Integer topCnt);
+
+    /**
      *  获取货主仓库top值
      */
     List<Map<String, Object>> getGoodsTop(String wareHouseId, Integer countType, Integer topCnt);

+ 14 - 0
ruoyi-warehouse/src/main/java/com/ruoyi/basicData/service/impl/TGoodsServiceImpl.java

@@ -7,7 +7,10 @@ import com.ruoyi.basicData.service.ITGoodsService;
 import com.ruoyi.common.constant.UserConstants;
 import com.ruoyi.common.core.domain.AjaxResult;
 import com.ruoyi.common.utils.DateUtils;
+import com.ruoyi.common.utils.SecurityUtils;
 import com.ruoyi.common.utils.StringUtils;
+import com.ruoyi.reportManagement.domain.TWhgenleg;
+import com.ruoyi.reportManagement.mapper.TWhgenlegMapper;
 import com.ruoyi.warehouseBusiness.domain.TWarehouseBills;
 import com.ruoyi.warehouseBusiness.domain.TWarehousebillsitems;
 import com.ruoyi.warehouseBusiness.mapper.TWarehousebillsitemsMapper;
@@ -34,6 +37,9 @@ public class TGoodsServiceImpl implements ITGoodsService {
     @Autowired
     private TWarehousebillsitemsMapper tWarehousebillsitemsMapper;
 
+    @Autowired
+    private TWhgenlegMapper tWhgenlegMapper;
+
     /**
      * 查询商品详情
      *
@@ -65,6 +71,7 @@ public class TGoodsServiceImpl implements ITGoodsService {
     @Override
     public int insertTGoods(TGoods tGoods) {
         tGoods.setCreateTime(DateUtils.getNowDate());
+        tGoods.setCreateBy(SecurityUtils.getUsername());
         if (ObjectUtils.isNull(tGoods.getStockWarning())){
             tGoods.setStockWarning(new BigDecimal(0));
         }
@@ -87,10 +94,17 @@ public class TGoodsServiceImpl implements ITGoodsService {
                 return AjaxResult.error("商品在库存总账有记录不可变更状态");
             }
         }
+        TWhgenleg tWhgenleg = new TWhgenleg();
+        tWhgenleg.setfGoodsid(tGoods.getfId());
+        TWhgenleg selectTWhgenleg =tWhgenlegMapper.selectTWhgenleg(tWhgenleg);
+        if (ObjectUtils.isNotNull(selectTWhgenleg) && selectTWhgenleg.getfQtyblc() != 0){
+            return AjaxResult.error("该商品存在未出库库存,禁止修改");
+        }
         if (ObjectUtils.isNull(tGoods.getStockWarning())){
             tGoods.setStockWarning(new BigDecimal(0));
         }
         tGoods.setUpdateTime(DateUtils.getNowDate());
+        tGoods.setUpdateBy(SecurityUtils.getUsername());
         tGoodsMapper.updateTGoods(tGoods);
         return AjaxResult.success();
     }

+ 8 - 0
ruoyi-warehouse/src/main/java/com/ruoyi/basicData/service/impl/TWarehouseServiceImpl.java

@@ -614,6 +614,14 @@ public class TWarehouseServiceImpl implements ITWarehouseService {
     }
 
     /**
+     * 获取货物品类top值
+     */
+    @Override
+    public List<Map<String, Object>> getStorageTopS(String wareHouseId, Integer countType, Integer topCnt) {
+        return tWarehouseMapper.getStorageTopS(wareHouseId, countType, topCnt);
+    }
+
+    /**
      * 获取货主仓库top值
      */
     @Override

+ 5 - 0
ruoyi-warehouse/src/main/java/com/ruoyi/warehouseBusiness/response/InventoryQueryResponse.java

@@ -16,6 +16,11 @@ public class InventoryQueryResponse implements Serializable {
     private String warehouseSerialNumber;
 
     /**
+     * 仓库标识符
+     */
+    private String blNo;
+
+    /**
      * 原始进仓日期 yyyy-MM-dd
      */
     private String originalWarehousingDate;

+ 46 - 36
ruoyi-warehouse/src/main/resources/mapper/basicData/TWarehouseMapper.xml

@@ -641,11 +641,11 @@
             ROUND( SUM(TW.f_grossweight) / 1000, 2 ) as normalCnt,
             '' AS receiptCnt
         FROM
-        t_warehousebills TW
+        t_warehousebillsitems TW
         LEFT JOIN t_goods TG ON TG.f_id = TW.f_goodsid
         <where>
             TW.del_flag = '0'
-            AND TW.f_warehouseid = #{wareHouseId}
+            AND TW.f_warehouselocid = #{wareHouseId}
             <if test="countType != null and countType != '' and countType == 2">
                 and TW.f_billtype in ('SJRK','SJCK')
             </if>
@@ -737,46 +737,40 @@
 
     <select id="inventoryQueries" resultType="com.ruoyi.warehouseBusiness.response.InventoryQueryResponse">
         SELECT
-            TWBI.f_business_type,
-            TW.f_mblno AS warehouseSerialNumber,
+            TWH.f_no AS warehouseSerialNumber,
+            TW.f_mblno AS blNo,
             TW.f_originalbilldate AS originalWarehousingDate,
-            TG.f_name AS cargoName,
-            TW.f_marks AS cargoModel,
-            (
-                CASE
-                    TWBI.f_business_type
-                WHEN '2' THEN
-                    TWBI.f_marks
-                ELSE '' END
-            ) AS cargoSpec,
-            SUM( TW.f_qtyblc ) AS cargoQuantity,
-            IFNULL( ROUND( SUM( TW.f_netweightblc ) / 1000, 2 ), 0 ) AS netWeight,
-            IFNULL( ROUND( SUM( TW.f_grossweightblc ) / 1000, 2 ), 0 ) AS grossWeight,
-            TWH.f_addr AS warehouseAddress,
+            TW.f_originalbilldate AS rentBeginDate,
             TC.f_name AS sourceOwnerName,
             TC.uscc AS sourceOwnerSocialIdentifier,
             TC.f_name AS currentOwnerName,
             TC.uscc AS currentOwnerSocialIdentifier,
-            TW.f_originalbilldate AS rentBeginDate,
-            '' AS storageRate,
-            TW.f_marks AS mark,
-            SUM( TW.f_qtyblc ) AS number,
-            (CASE
-            TWBI.f_business_type
-            WHEN '3' THEN
-            TWBI.f_marks ELSE ''
-            END) AS manufacturer,
-            '' AS trademark,
-            '' AS grade,
-            TG.f_packagespecs AS packing,
-            '' AS country,
-            '' AS process,
-            TWBI.f_warehouse_information AS location
+            TWH.f_addr AS warehouseAddress,
+            TG.f_name AS cargoName,
+            TW.f_marks AS cargoModel,
+            TW.f_marks AS cargoSpec,
+            IFNULL( ROUND( SUM( TW.f_netweightblc ) / 1000, 2 ), 0 ) AS netWeight,
+            IFNULL( ROUND( SUM( TW.f_grossweightblc ) / 1000, 2 ), 0 ) AS grossWeight,
+            SUM( TW.f_qtyblc ) AS cargoQuantity
+--             '' AS storageRate,
+--             TW.f_marks AS mark,
+--             SUM( TW.f_qtyblc ) AS number,
+--             (CASE
+--             TWBI.f_business_type
+--             WHEN '3' THEN
+--             TWBI.f_marks ELSE ''
+--             END) AS manufacturer,
+--             '' AS trademark,
+--             '' AS grade,
+--             TG.f_packagespecs AS packing,
+--             '' AS country,
+--             '' AS process,
+--             TWBI.f_warehouse_information AS location
         FROM t_whgenleg TW
         LEFT JOIN t_goods TG ON TG.f_id = TW.f_goodsid
         LEFT JOIN t_warehouse TWH ON TW.f_warehouseid = TWH.f_id
         LEFT JOIN t_corps TC ON TC.f_id = TW.f_corpid
-        LEFT JOIN (
+        <!--LEFT JOIN (
         SELECT DISTINCT
         TWB.f_ifpledge,
         TWB.f_mblno,
@@ -796,11 +790,11 @@
             </foreach>
         </if>
         ) TWBI ON TWBI.f_mblno = TW.f_mblno
-        AND TWBI.f_warehouselocid = TW.f_warehouseid
+        AND TWBI.f_warehouselocid = TW.f_warehouseid-->
         <where>
             TW.del_flag = '0'
             and TW.f_netweightblc != 0
-            AND (TWBI.f_ifpledge != 0 or TWBI.f_ifpledge IS NULL)
+           /* AND (TWBI.f_ifpledge != 0 or TWBI.f_ifpledge IS NULL)*/
             <if test="ownerName != null and ownerName != ''">
                 and TC.f_name = #{ownerName}
             </if>
@@ -808,7 +802,7 @@
                 and TC.uscc = #{identifier}
             </if>
             <if test="numbersList != null and numbersList != ''">
-                and TW.f_mblno in
+                and TWH.f_no in
                 <foreach item="number" collection="numbersList" open="(" separator="," close=")">
                     #{number}
                 </foreach>
@@ -860,4 +854,20 @@
             parent_id = #{fWarehouseid} and del_flag = '0' and f_name =#{stringCellValue}
         </where>
     </select>
+    <select id="getStorageTopS" resultType="java.util.Map">
+        SELECT
+        TG.f_name AS goodsName,
+        ROUND( SUM(TW.f_grossweightblc) / 1000, 2 ) as normalCnt,
+        '' AS receiptCnt
+        FROM
+        t_whgenleg TW
+        LEFT JOIN t_goods TG ON TG.f_id = TW.f_goodsid
+        <where>
+            TW.del_flag = '0'
+            AND TW.f_warehouseid = #{wareHouseId}
+        </where>
+        GROUP BY TW.f_goodsid
+        ORDER BY IFNULL( ROUND( SUM(TW.f_grossweightblc) / 1000, 2 ), 0 ) DESC
+        LIMIT #{topCnt}
+    </select>
 </mapper>