zhangyuewww 2 年之前
父節點
當前提交
4febd21ac5

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

@@ -4,6 +4,7 @@ import com.yh.saas.plugin.yiliangyiyun.entity.ContractManagementInfo;
 import com.yh.saas.plugin.yiliangyiyun.entity.TranCarInfo;
 import com.yh.saas.plugin.yiliangyiyun.entity.TranCarInfo;
 import com.yh.saas.plugin.yiliangyiyun.entity.WarehouseBaseInfo;
 import com.yh.saas.plugin.yiliangyiyun.entity.WarehouseBaseInfo;
 import com.baomidou.mybatisplus.mapper.BaseMapper;
 import com.baomidou.mybatisplus.mapper.BaseMapper;
+import com.yh.saas.plugin.yiliangyiyun.entity.WarehousePositionStorageInfo;
 import com.yh.saas.plugin.yiliangyiyun.entity.view.ExportVView;
 import com.yh.saas.plugin.yiliangyiyun.entity.view.ExportVView;
 import com.yh.saas.plugin.yiliangyiyun.entity.view.WarehouseNumView;
 import com.yh.saas.plugin.yiliangyiyun.entity.view.WarehouseNumView;
 import com.yh.saas.plugin.yiliangyiyun.entity.view.WarehouseView;
 import com.yh.saas.plugin.yiliangyiyun.entity.view.WarehouseView;
@@ -108,4 +109,11 @@ public interface WarehouseBaseInfoMapper extends BaseMapper<WarehouseBaseInfo> {
      * @return
      * @return
      */
      */
     List<WarehouseBaseInfo> getWarehouseFormByCondition(Map<String, Object> pageView);
     List<WarehouseBaseInfo> getWarehouseFormByCondition(Map<String, Object> pageView);
+    /**
+     * 仓库货名总储量
+     *
+     * @param pageView
+     * @return
+     */
+    List<WarehousePositionStorageInfo> getGoodsNameNumListByCondition(Map<String, Object> pageView);
 }
 }

+ 84 - 36
winsea-haixin-plugin-yiliangyiyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/service/impl/WarehouseBaseInfoServiceImpl.java

@@ -1603,13 +1603,19 @@ public class WarehouseBaseInfoServiceImpl extends ServiceImpl<WarehouseBaseInfoM
                 List<WarehousePositionInfo> warehousePositionInfos = warehousePositionInfoService.selectList(new EntityWrapper<WarehousePositionInfo>()
                 List<WarehousePositionInfo> warehousePositionInfos = warehousePositionInfoService.selectList(new EntityWrapper<WarehousePositionInfo>()
                         .eq("base_id", warehouseBaseInfo.getId()).orderBy("bin_number", false));
                         .eq("base_id", warehouseBaseInfo.getId()).orderBy("bin_number", false));
                 if (!CollectionUtils.isEmpty(warehousePositionInfos)) {
                 if (!CollectionUtils.isEmpty(warehousePositionInfos)) {
-                    for (WarehousePositionInfo warehousePositionInfo : warehousePositionInfos) {
-                        //查询仓库内的货名
-                        List<WarehousePositionStorageInfo> warehousePositionStorageInfos = warehousePositionStorageInfoService.selectList(new EntityWrapper<WarehousePositionStorageInfo>()
-                                .eq("position_id", warehousePositionInfo.getId()));
-                        if (!CollectionUtils.isEmpty(warehousePositionStorageInfos)) {
-                            warehouseBaseInfo.setGoodsNameInfos(warehousePositionStorageInfos);
-                        }
+//                    for (WarehousePositionInfo warehousePositionInfo : warehousePositionInfos) {
+//                        //查询仓库内的货名
+//                        List<WarehousePositionStorageInfo> warehousePositionStorageInfos = warehousePositionStorageInfoService.selectList(new EntityWrapper<WarehousePositionStorageInfo>()
+//                                .eq("position_id", warehousePositionInfo.getId()));
+//                        if (!CollectionUtils.isEmpty(warehousePositionStorageInfos)) {
+//                            warehouseBaseInfo.setGoodsNameInfos(warehousePositionStorageInfos);
+//                        }
+//                    }
+                    Map<String, Object> pageView = new HashMap<>();
+                    pageView.put("baseId", warehouseBaseInfo.getId());
+                    List<WarehousePositionStorageInfo> warehousePositionStorageInfoList = baseMapper.getGoodsNameNumListByCondition(pageView);
+                    if (!CollectionUtils.isEmpty(warehousePositionStorageInfoList)){
+                        warehouseBaseInfo.setGoodsNameInfos(warehousePositionStorageInfoList);
                     }
                     }
                     warehouseBaseInfo.setPositionInfos(warehousePositionInfos);
                     warehouseBaseInfo.setPositionInfos(warehousePositionInfos);
                 }
                 }
@@ -1700,29 +1706,50 @@ public class WarehouseBaseInfoServiceImpl extends ServiceImpl<WarehouseBaseInfoM
                 List<WarehousePositionInfo> warehousePositionInfos = warehousePositionInfoService.selectList(new EntityWrapper<WarehousePositionInfo>()
                 List<WarehousePositionInfo> warehousePositionInfos = warehousePositionInfoService.selectList(new EntityWrapper<WarehousePositionInfo>()
                         .eq("base_id", warehouseBaseInfo.getId()).orderBy("bin_number", false));
                         .eq("base_id", warehouseBaseInfo.getId()).orderBy("bin_number", false));
                 if (!CollectionUtils.isEmpty(warehousePositionInfos)) {
                 if (!CollectionUtils.isEmpty(warehousePositionInfos)) {
-                    for (WarehousePositionInfo warehousePositionInfo : warehousePositionInfos) {
-                        //查询仓库内的货名
-                        List<WarehousePositionStorageInfo> warehousePositionStorageInfos = warehousePositionStorageInfoService.selectList(new EntityWrapper<WarehousePositionStorageInfo>()
-                                .eq("position_id", warehousePositionInfo.getId()));
-                        if (!CollectionUtils.isEmpty(warehousePositionStorageInfos)) {
-                            for (WarehousePositionStorageInfo warehousePositionStorageInfo : warehousePositionStorageInfos) {
-                                //查询贸易仓单可用储量
-                                Double useWeight = 0d;
-                                List<TradeWarehouseReceiptAppl> tradeWarehouseReceiptAppls = tradeWarehouseReceiptApplService.selectList(new EntityWrapper<TradeWarehouseReceiptAppl>()
-                                        .eq("warehouse_id", warehouseBaseInfo.getId())
-                                        .eq("warehouse_no_id", warehousePositionInfo.getId())
-                                        .eq("goods_name", warehousePositionStorageInfo.getGoodsName())
-                                        .eq("status", "待还款"));
-                                if (!CollectionUtils.isEmpty(tradeWarehouseReceiptAppls)) {
-                                    for (int i = 0; i < tradeWarehouseReceiptAppls.size(); i++) {
-                                        //待还仓单储量和
-                                        useWeight = useWeight + tradeWarehouseReceiptAppls.get(i).getWeight();
-                                    }
+//                    for (WarehousePositionInfo warehousePositionInfo : warehousePositionInfos) {
+//                        //查询仓库内的货名
+//                        List<WarehousePositionStorageInfo> warehousePositionStorageInfos = warehousePositionStorageInfoService.selectList(new EntityWrapper<WarehousePositionStorageInfo>()
+//                                .eq("position_id", warehousePositionInfo.getId()));
+//                        if (!CollectionUtils.isEmpty(warehousePositionStorageInfos)) {
+//                            for (WarehousePositionStorageInfo warehousePositionStorageInfo : warehousePositionStorageInfos) {
+//                                //查询贸易仓单可用储量
+//                                Double useWeight = 0d;
+//                                List<TradeWarehouseReceiptAppl> tradeWarehouseReceiptAppls = tradeWarehouseReceiptApplService.selectList(new EntityWrapper<TradeWarehouseReceiptAppl>()
+//                                        .eq("warehouse_id", warehouseBaseInfo.getId())
+//                                        .eq("warehouse_no_id", warehousePositionInfo.getId())
+//                                        .eq("goods_name", warehousePositionStorageInfo.getGoodsName())
+//                                        .eq("status", "待还款"));
+//                                if (!CollectionUtils.isEmpty(tradeWarehouseReceiptAppls)) {
+//                                    for (int i = 0; i < tradeWarehouseReceiptAppls.size(); i++) {
+//                                        //待还仓单储量和
+//                                        useWeight = useWeight + tradeWarehouseReceiptAppls.get(i).getWeight();
+//                                    }
+//                                }
+//                                warehousePositionStorageInfo.setUseStorage(warehousePositionStorageInfo.getStorage() - useWeight);
+//                            }
+//                            warehouseBaseInfo.setGoodsNameInfos(warehousePositionStorageInfos);
+//                        }
+//                    }
+                    Map<String, Object> pageView = new HashMap<>();
+                    pageView.put("baseId", warehouseBaseInfo.getId());
+                    List<WarehousePositionStorageInfo> warehousePositionStorageInfoList = baseMapper.getGoodsNameNumListByCondition(pageView);
+                    if (!CollectionUtils.isEmpty(warehousePositionStorageInfoList)){
+                        for (WarehousePositionStorageInfo warehousePositionStorageInfo:warehousePositionStorageInfoList){
+                            //查询贸易仓单可用储量
+                            Double useWeight = 0d;
+                            List<TradeWarehouseReceiptAppl> tradeWarehouseReceiptAppls = tradeWarehouseReceiptApplService.selectList(new EntityWrapper<TradeWarehouseReceiptAppl>()
+                                    .eq("warehouse_id", warehouseBaseInfo.getId())
+                                    .eq("goods_name", warehousePositionStorageInfo.getGoodsName())
+                                    .eq("status", "待还款"));
+                            if (!CollectionUtils.isEmpty(tradeWarehouseReceiptAppls)) {
+                                for (int i = 0; i < tradeWarehouseReceiptAppls.size(); i++) {
+                                    //待还仓单储量和
+                                    useWeight = useWeight + tradeWarehouseReceiptAppls.get(i).getWeight();
                                 }
                                 }
-                                warehousePositionStorageInfo.setUseStorage(warehousePositionStorageInfo.getStorage() - useWeight);
                             }
                             }
-                            warehouseBaseInfo.setGoodsNameInfos(warehousePositionStorageInfos);
+                            warehousePositionStorageInfo.setUseStorage(warehousePositionStorageInfo.getStorage() - useWeight);
                         }
                         }
+                        warehouseBaseInfo.setGoodsNameInfos(warehousePositionStorageInfoList);
                     }
                     }
                     warehouseBaseInfo.setPositionInfos(warehousePositionInfos);
                     warehouseBaseInfo.setPositionInfos(warehousePositionInfos);
                 }
                 }
@@ -1766,17 +1793,39 @@ public class WarehouseBaseInfoServiceImpl extends ServiceImpl<WarehouseBaseInfoM
                 List<WarehousePositionInfo> warehousePositionInfos = warehousePositionInfoService.selectList(new EntityWrapper<WarehousePositionInfo>()
                 List<WarehousePositionInfo> warehousePositionInfos = warehousePositionInfoService.selectList(new EntityWrapper<WarehousePositionInfo>()
                         .eq("base_id", warehouseBaseInfo.getId()).orderBy("bin_number", false));
                         .eq("base_id", warehouseBaseInfo.getId()).orderBy("bin_number", false));
                 if (!CollectionUtils.isEmpty(warehousePositionInfos)) {
                 if (!CollectionUtils.isEmpty(warehousePositionInfos)) {
-                    for (WarehousePositionInfo warehousePositionInfo : warehousePositionInfos) {
-                        //查询仓库内的货名
-                        List<WarehousePositionStorageInfo> warehousePositionStorageInfos = warehousePositionStorageInfoService.selectList(new EntityWrapper<WarehousePositionStorageInfo>()
-                                .eq("position_id", warehousePositionInfo.getId()));
-                        if (!CollectionUtils.isEmpty(warehousePositionStorageInfos)) {
-                            for (WarehousePositionStorageInfo warehousePositionStorageInfo : warehousePositionStorageInfos) {
+//                    for (WarehousePositionInfo warehousePositionInfo : warehousePositionInfos) {
+//                        //查询仓库内的货名
+//                        List<WarehousePositionStorageInfo> warehousePositionStorageInfos = warehousePositionStorageInfoService.selectList(new EntityWrapper<WarehousePositionStorageInfo>()
+//                                .eq("position_id", warehousePositionInfo.getId()));
+//                        if (!CollectionUtils.isEmpty(warehousePositionStorageInfos)) {
+//                            for (WarehousePositionStorageInfo warehousePositionStorageInfo : warehousePositionStorageInfos) {
+//                                //查询贸易仓单可用储量
+//                                Double useWeight = 0d;
+//                                List<TradeWarehouseReceiptAppl> tradeWarehouseReceiptAppls = tradeWarehouseReceiptApplService.selectList(new EntityWrapper<TradeWarehouseReceiptAppl>()
+//                                        .eq("warehouse_id", warehouseBaseInfo.getId())
+//                                        .eq("warehouse_no_id", warehousePositionInfo.getId())
+//                                        .eq("goods_name", warehousePositionStorageInfo.getGoodsName())
+//                                        .eq("status", "待还款"));
+//                                if (!CollectionUtils.isEmpty(tradeWarehouseReceiptAppls)) {
+//                                    for (int i = 0; i < tradeWarehouseReceiptAppls.size(); i++) {
+//                                        //待还仓单储量和
+//                                        useWeight = useWeight + tradeWarehouseReceiptAppls.get(i).getWeight();
+//                                    }
+//                                }
+//                                warehousePositionStorageInfo.setUseStorage(warehousePositionStorageInfo.getStorage() - useWeight);
+//                            }
+//                            warehouseBaseInfo.setGoodsNameInfos(warehousePositionStorageInfos);
+//                        }
+//                    }
+                    Map<String, Object> pageView3 = new HashMap<>();
+                    pageView3.put("baseId", warehouseBaseInfo.getId());
+                    List<WarehousePositionStorageInfo> warehousePositionStorageInfoList1 = baseMapper.getGoodsNameNumListByCondition(pageView3);
+                    if (!CollectionUtils.isEmpty(warehousePositionStorageInfoList1)){
+                        for (WarehousePositionStorageInfo warehousePositionStorageInfo:warehousePositionStorageInfoList1){
                                 //查询贸易仓单可用储量
                                 //查询贸易仓单可用储量
                                 Double useWeight = 0d;
                                 Double useWeight = 0d;
                                 List<TradeWarehouseReceiptAppl> tradeWarehouseReceiptAppls = tradeWarehouseReceiptApplService.selectList(new EntityWrapper<TradeWarehouseReceiptAppl>()
                                 List<TradeWarehouseReceiptAppl> tradeWarehouseReceiptAppls = tradeWarehouseReceiptApplService.selectList(new EntityWrapper<TradeWarehouseReceiptAppl>()
                                         .eq("warehouse_id", warehouseBaseInfo.getId())
                                         .eq("warehouse_id", warehouseBaseInfo.getId())
-                                        .eq("warehouse_no_id", warehousePositionInfo.getId())
                                         .eq("goods_name", warehousePositionStorageInfo.getGoodsName())
                                         .eq("goods_name", warehousePositionStorageInfo.getGoodsName())
                                         .eq("status", "待还款"));
                                         .eq("status", "待还款"));
                                 if (!CollectionUtils.isEmpty(tradeWarehouseReceiptAppls)) {
                                 if (!CollectionUtils.isEmpty(tradeWarehouseReceiptAppls)) {
@@ -1786,9 +1835,8 @@ public class WarehouseBaseInfoServiceImpl extends ServiceImpl<WarehouseBaseInfoM
                                     }
                                     }
                                 }
                                 }
                                 warehousePositionStorageInfo.setUseStorage(warehousePositionStorageInfo.getStorage() - useWeight);
                                 warehousePositionStorageInfo.setUseStorage(warehousePositionStorageInfo.getStorage() - useWeight);
-                            }
-                            warehouseBaseInfo.setGoodsNameInfos(warehousePositionStorageInfos);
                         }
                         }
+                        warehouseBaseInfo.setGoodsNameInfos(warehousePositionStorageInfoList1);
                     }
                     }
                     warehouseBaseInfo.setPositionInfos(warehousePositionInfos);
                     warehouseBaseInfo.setPositionInfos(warehousePositionInfos);
                 }
                 }

+ 19 - 0
winsea-haixin-plugin-yiliangyiyun/src/main/resources/mapper/WarehouseBaseInfoMapper.xml

@@ -1056,4 +1056,23 @@
             AND (DATE_FORMAT(ei.create_date,"%Y%m%d") &lt;=
             AND (DATE_FORMAT(ei.create_date,"%Y%m%d") &lt;=
             DATE_FORMAT(#{endDate},"%Y%m%d"))
             DATE_FORMAT(#{endDate},"%Y%m%d"))
     </select>
     </select>
+    <select id="getGoodsNameNumListByCondition" parameterType="Map"
+            resultType="com.yh.saas.plugin.yiliangyiyun.entity.WarehousePositionStorageInfo">
+        SELECT
+            wpsi.goods_name AS goodsName,
+            wpsi.goods_name_key AS goodsNameKey,
+            sum( wpsi.STORAGE ) AS storage
+        FROM
+            warehouse_base_info wbi
+                LEFT JOIN warehouse_position_info wpi ON wpi.base_id = wbi.id
+                AND wpi.delete_flag = 0
+                LEFT JOIN warehouse_position_storage_info wpsi ON wpsi.position_id = wpi.id
+                AND wpsi.delete_flag = 0
+        WHERE
+            wpsi.id IS NOT NULL
+          and
+            wbi.id= #{baseId}
+        GROUP BY
+            wpsi.goods_name
+    </select>
 </mapper>
 </mapper>