From 05683f2b2bdbdbe21cf17ad523c21ab338bd1c54 Mon Sep 17 00:00:00 2001
From: wuxw <928255095@qq.com>
Date: 星期二, 19 七月 2022 21:49:55 +0800
Subject: [PATCH] 优化添加设备 功能

---
 java110-db/src/main/resources/mapper/store/ResourceStoreServiceDaoImplMapper.xml |  326 ++++++++++++++++++++++++++++++++++++++++++++++++------
 1 files changed, 288 insertions(+), 38 deletions(-)

diff --git a/java110-db/src/main/resources/mapper/store/ResourceStoreServiceDaoImplMapper.xml b/java110-db/src/main/resources/mapper/store/ResourceStoreServiceDaoImplMapper.xml
index b8f69c2..939ddf0 100755
--- a/java110-db/src/main/resources/mapper/store/ResourceStoreServiceDaoImplMapper.xml
+++ b/java110-db/src/main/resources/mapper/store/ResourceStoreServiceDaoImplMapper.xml
@@ -6,24 +6,41 @@
 
     <!-- 淇濆瓨璧勬簮淇℃伅 add by wuxw 2018-07-03 -->
     <insert id="saveBusinessResourceStoreInfo" parameterType="Map">
-        insert into business_resource_store(
-        res_name,operate,price,res_code,description,store_id,stock,warning_stock,b_id,res_id,goods_type,
-        unit_code,remark,out_low_price,out_high_price,show_mobile,create_time,sh_id,average_price
-        ) values (
-        #{resName},#{operate},#{price},#{resCode},#{description},#{storeId},#{stock},#{warningStock},#{bId},#{resId},
-        #{goodsType},#{unitCode},#{remark},#{outLowPrice},#{outHighPrice},#{showMobile},#{createTime},#{shId},#{averagePrice}
-        )
+        insert into business_resource_store(res_name, operate, price, res_code, description, store_id, stock,
+                                            warning_stock, b_id, res_id,
+                                            unit_code, remark, out_low_price, out_high_price, show_mobile, create_time,
+                                            sh_id, average_price, rst_id, rss_id,
+                                            mini_unit_code, mini_unit_stock, mini_stock, parent_rst_id, is_fixed)
+        values (#{resName}, #{operate}, #{price}, #{resCode}, #{description}, #{storeId}, #{stock}, #{warningStock},
+                #{bId}, #{resId},
+                #{unitCode}, #{remark}, #{outLowPrice}, #{outHighPrice}, #{showMobile}, #{createTime}, #{shId},
+                #{averagePrice}, #{rstId}, #{rssId}, #{miniUnitCode}, #{miniUnitStock}, #{miniStock}, #{parentRstId},
+                #{isFixed})
+    </insert>
+
+    <!-- 淇濆瓨鐗╁搧淇℃伅-->
+    <insert id="saveResourceStoreInfo" parameterType="Map">
+        insert into resource_store(res_id, b_id, store_id, res_name, res_code, unit_code, remark, out_low_price,
+                                   out_high_price, show_mobile, description,
+                                   price, stock, create_time, sh_id, warning_stock, average_price, rss_id, rst_id,
+                                   mini_unit_code, mini_unit_stock, mini_stock, parent_rst_id, is_fixed)
+        values (#{resId}, #{bId}, #{storeId}, #{resName}, #{resCode}, #{unitCode}, #{remark}, #{outLowPrice},
+                #{outHighPrice},
+                #{showMobile}, #{description}, #{price}, #{stock}, #{createTime}, #{shId}, #{warningStock},
+                #{averagePrice}, #{rssId}, #{rstId}, #{miniUnitCode}, #{miniUnitStock}, #{miniStock}, #{parentRstId},
+                #{isFixed})
     </insert>
 
     <!-- 鏌ヨ璧勬簮淇℃伅锛圔usiness锛� add by wuxw 2018-07-03 -->
     <select id="getBusinessResourceStoreInfo" parameterType="Map" resultType="Map">
         select t.res_name,t.res_name resName,t.operate,t.price,t.res_code,t.res_code
         resCode,t.description,t.store_id,t.store_id storeId,t.stock,t.warning_stock,t.warning_stock
-        warningStock,t.b_id,t.b_id bId,t.res_id,t.res_id resId,
-        t.goods_type,t.goods_type goodsType,t.unit_code,t.unit_code unitCode,t.remark,
-        t.out_low_price,t.out_low_price outLowPrice,t.out_high_price,t.out_high_price outHighPrice,
-        t.show_mobile,t.show_mobile showMobile,t.create_time,t.create_time createTime,t.sh_id,t.sh_id shId,
-        t.average_price,t.average_price averagePrice
+        warningStock,t.b_id,t.b_id bId,t.res_id,t.res_id resId,t.rst_id,t.rst_id rstId,t.rss_id,t.rss_id rssId,
+        t.unit_code,t.unit_code unitCode,t.remark,t.out_low_price,t.out_low_price outLowPrice,
+        t.out_high_price,t.out_high_price outHighPrice,t.show_mobile,t.show_mobile showMobile,
+        t.create_time,t.create_time createTime,t.sh_id,t.sh_id shId,t.mini_unit_code,t.mini_unit_code miniUnitCode,
+        t.mini_unit_stock,t.mini_unit_stock miniUnitStock,t.average_price,t.average_price averagePrice,t.mini_stock,
+        t.mini_stock miniStock,t.parent_rst_id,t.parent_rst_id parentRstId,t.is_fixed,t.is_fixed isFixed
         from business_resource_store t
         where 1 =1
         <if test="resName !=null and resName != ''">
@@ -38,6 +55,15 @@
         <if test="resCode !=null and resCode != ''">
             and t.res_code= #{resCode}
         </if>
+        <if test="rstId !=null and rstId != ''">
+            and t.rst_id= #{rstId}
+        </if>
+        <if test="parentRstId !=null and parentRstId != ''">
+            and t.parent_rst_id= #{parentRstId}
+        </if>
+        <if test="rssId !=null and rssId != ''">
+            and t.rss_id= #{rssId}
+        </if>
         <if test="description !=null and description != ''">
             and t.description= #{description}
         </if>
@@ -55,9 +81,6 @@
         </if>
         <if test="resId !=null and resId != ''">
             and t.res_id= #{resId}
-        </if>
-        <if test="goodsType !=null and goodsType != ''">
-            and t.goods_type= #{goodsType}
         </if>
         <if test="unitCode !=null and unitCode != ''">
             and t.unit_code= #{unitCode}
@@ -77,6 +100,18 @@
         <if test="averagePrice !=null and averagePrice != ''">
             and t.average_price= #{averagePrice}
         </if>
+        <if test="miniUnitCode !=null and miniUnitCode != ''">
+            and t.mini_unit_code= #{miniUnitCode}
+        </if>
+        <if test="miniUnitStock !=null and miniUnitStock != ''">
+            and t.mini_unit_stock= #{miniUnitStock}
+        </if>
+        <if test="miniStock !=null and miniStock != ''">
+            and t.mini_stock= #{miniStock}
+        </if>
+        <if test="isFixed !=null and isFixed != ''">
+            and t.is_fixed= #{isFixed}
+        </if>
         <if test="createTime !=null and createTime != ''">
             and t.create_time= #{createTime}
         </if>
@@ -85,11 +120,13 @@
     <!-- 淇濆瓨璧勬簮淇℃伅鑷� instance琛ㄤ腑 add by wuxw 2018-07-03 -->
     <insert id="saveResourceStoreInfoInstance" parameterType="Map">
         insert into resource_store(
-        res_name,price,res_code,description,status_cd,store_id,stock,warning_stock,b_id,res_id,goods_type,unit_code,remark,
-        out_low_price,out_high_price,show_mobile,create_time,sh_id,average_price
+        res_name,price,res_code,description,status_cd,store_id,stock,warning_stock,b_id,res_id,unit_code,remark,
+        out_low_price,out_high_price,show_mobile,create_time,sh_id,average_price,rst_id,rss_id,mini_unit_code,mini_unit_stock,
+        mini_stock,parent_rst_id,is_fixed
         ) select
-        t.res_name,t.price,t.res_code,t.description,'0',t.store_id,t.stock,t.warning_stock,t.b_id,t.res_id,t.goods_type,
-        t.unit_code,t.remark,t.out_low_price,t.out_high_price,t.show_mobile,t.create_time,t.sh_id,t.average_price
+        t.res_name,t.price,t.res_code,t.description,'0',t.store_id,t.stock,t.warning_stock,t.b_id,t.res_id,
+        t.unit_code,t.remark,t.out_low_price,t.out_high_price,t.show_mobile,t.create_time,t.sh_id,t.average_price,t.rst_id,t.rss_id,
+        t.mini_unit_code,t.mini_unit_stock,t.mini_stock,t.parent_rst_id,t.is_fixed
         from business_resource_store t where 1=1
         <if test="resName !=null and resName != ''">
             and t.res_name= #{resName}
@@ -101,6 +138,15 @@
         <if test="resCode !=null and resCode != ''">
             and t.res_code= #{resCode}
         </if>
+        <if test="rstId !=null and rstId != ''">
+            and t.rst_id= #{rstId}
+        </if>
+        <if test="parentRstId !=null and parentRstId != ''">
+            and t.parent_rst_id= #{parentRstId}
+        </if>
+        <if test="rssId !=null and rssId != ''">
+            and t.rss_id= #{rssId}
+        </if>
         <if test="description !=null and description != ''">
             and t.description= #{description}
         </if>
@@ -118,9 +164,6 @@
         </if>
         <if test="resId !=null and resId != ''">
             and t.res_id= #{resId}
-        </if>
-        <if test="goodsType !=null and goodsType != ''">
-            and t.goods_type= #{goodsType}
         </if>
         <if test="unitCode !=null and unitCode != ''">
             and t.unit_code= #{unitCode}
@@ -140,7 +183,19 @@
         <if test="averagePrice !=null and averagePrice != ''">
             and t.average_price= #{averagePrice}
         </if>
-        <if test="createTime !=null and createTime != ''">
+        <if test="miniUnitCode !=null and miniUnitCode != ''">
+            and t.mini_unit_code= #{miniUnitCode}
+        </if>
+        <if test="miniUnitStock !=null and miniUnitStock != ''">
+            and t.mini_unit_stock= #{miniUnitStock}
+        </if>
+        <if test="miniStock !=null and miniStock != ''">
+            and t.mini_stock= #{miniStock}
+        </if>
+        <if test="isFixed !=null and isFixed != ''">
+            and t.is_fixed= #{isFixed}
+        </if>
+        <if test="createTime !=null">
             and t.create_time= #{createTime}
         </if>
     </insert>
@@ -149,29 +204,50 @@
     <select id="getResourceStoreInfo" parameterType="Map" resultType="Map">
         select t.res_name,t.res_name resName,t.price,t.res_code,t.res_code resCode,t.description,t.status_cd,t.status_cd
         statusCd,t.store_id,t.store_id storeId,t.stock,t.warning_stock,t.warning_stock warningStock,t.b_id,t.b_id
-        bId,t.res_id,t.res_id resId,t.out_low_price,
-        t.out_low_price outLowPrice,rst.name goodsTypeName,t.out_high_price,t.out_high_price outHighPrice,t.goods_type,
-        t.goods_type goodsType,t.unit_code,t.unit_code unitCode,t.remark,t.show_mobile,t.show_mobile showMobile,
+        bId,t.res_id,t.res_id resId,t.out_low_price,t.rss_id,t.rss_id rssId,
+        t.out_low_price outLowPrice,t.out_high_price,t.out_high_price outHighPrice,
+        t.unit_code,t.unit_code unitCode,t.remark,t.show_mobile,t.show_mobile showMobile,
         t.create_time,t.create_time createTime,t.sh_id,t.sh_id shId,sh.sh_name shName,t.average_price,t.average_price
-        averagePrice
+        averagePrice,rss.spec_name rssName,t.mini_unit_code,t.mini_unit_code miniUnitCode,t.mini_stock,t.mini_stock
+        miniStock,t.mini_unit_stock,t.mini_unit_stock miniUnitStock,td.name unitCodeName,td1.name
+        miniUnitCodeName,sh.sh_type shType,t.parent_rst_id parentRstId,t.rst_id rstId,rst1.name parentRstName,rst.name
+        rstName,
+        t.is_fixed,t.is_fixed isFixed,td2.name isFixedName
         from resource_store t
-        left join resource_store_type rst on t.goods_type = rst.goods_type and rst.status_cd = '0'
+        left join resource_store_type rst on t.rst_id = rst.rst_id and rst.status_cd = '0'
+        left join resource_store_type rst1 on t.parent_rst_id = rst1.rst_id and rst1.status_cd = '0'
+        left join resource_store_specification rss on t.rss_id = rss.rss_id and rss.status_cd = '0'
         left join storehouse sh on t.sh_id = sh.sh_id and t.store_id = sh.store_id and sh.status_cd = '0'
+        left join t_dict td on t.unit_code = td.status_cd and td.table_name = 'resource_store' and td.table_columns =
+        'unit_code'
+        left join t_dict td1 on t.mini_unit_code = td1.status_cd and td1.table_name = 'resource_store' and
+        td1.table_columns = 'unit_code'
+        left join t_dict td2 on t.is_fixed = td2.status_cd and td2.table_name='resource_store' and td2.table_columns =
+        'is_fixed'
         where 1 = 1
         <if test="resName !=null and resName != ''">
             and t.res_name like concat('%',#{resName},'%')
         </if>
+        <if test="name != null and name != ''">
+            and t.res_name = #{name}
+        </if>
         <if test="price !=null and price != ''">
             and t.price= #{price}
+        </if>
+        <if test="rstId !=null and rstId != ''">
+            and t.rst_id= #{rstId}
+        </if>
+        <if test="parentRstId !=null and parentRstId != ''">
+            and t.parent_rst_id= #{parentRstId}
+        </if>
+        <if test="rssId !=null and rssId != ''">
+            and t.rss_id= #{rssId}
         </if>
         <if test="outLowPrice !=null and outLowPrice != ''">
             and t.out_low_price = #{outLowPrice}
         </if>
         <if test="outHighPrice != null and outHighPrice != ''">
             and t.out_high_price = #{outHighPrice}
-        </if>
-        <if test="goodsType != null and goodsType != ''">
-            and t.goods_type = #{goodsType}
         </if>
         <if test="unitCode != null and unitCode != ''">
             and t.unit_code = #{unitCode}
@@ -212,16 +288,37 @@
         <if test="shObjId !=null and shObjId != ''">
             and sh.sh_obj_id= #{shObjId}
         </if>
+        <if test="shObjIds !=null">
+            and sh.sh_obj_id in
+            <foreach collection="shObjIds" item="item" index="index" open="(" close=")" separator=",">
+                #{item}
+            </foreach>
+        </if>
         <if test="showMobile != null and showMobile != ''">
             and t.show_mobile = #{showMobile}
         </if>
         <if test="averagePrice != null and averagePrice != ''">
             and t.average_price = #{averagePrice}
         </if>
+        <if test="miniUnitCode !=null and miniUnitCode != ''">
+            and t.mini_unit_code= #{miniUnitCode}
+        </if>
+        <if test="miniUnitStock !=null and miniUnitStock != ''">
+            and t.mini_unit_stock= #{miniUnitStock}
+        </if>
+        <if test="miniStock !=null and miniStock != ''">
+            and t.mini_stock= #{miniStock}
+        </if>
+        <if test="isShow !=null and isShow != ''">
+            and sh.is_show= #{isShow}
+        </if>
+        <if test="isFixed !=null and isFixed != ''">
+            and t.is_fixed= #{isFixed}
+        </if>
         <if test="resOrderType == '20000'">
             and t.stock > 0
         </if>
-        order by t.create_time desc
+        order by t.res_code
         <if test="page != -1 and page != null ">
             limit #{page}, #{row}
         </if>
@@ -239,14 +336,20 @@
         <if test="price !=null and price != ''">
             , t.price= #{price}
         </if>
+        <if test="rstId !=null and rstId != ''">
+            , t.rst_id= #{rstId}
+        </if>
+        <if test="parentRstId !=null and parentRstId != ''">
+            , t.parent_rst_id= #{parentRstId}
+        </if>
+        <if test="rssId !=null and rssId != ''">
+            , t.rss_id= #{rssId}
+        </if>
         <if test="outLowPrice !=null and outLowPrice != ''">
             , t.out_low_price= #{outLowPrice}
         </if>
         <if test="outHighPrice !=null and outHighPrice != ''">
             , t.out_high_price= #{outHighPrice}
-        </if>
-        <if test="goodsType !=null and goodsType != ''">
-            , t.goods_type= #{goodsType}
         </if>
         <if test="unitCode !=null and unitCode != ''">
             , t.unit_code= #{unitCode}
@@ -276,6 +379,18 @@
         <if test="averagePrice !=null and averagePrice != ''">
             , t.average_price= #{averagePrice}
         </if>
+        <if test="miniUnitCode !=null and miniUnitCode != ''">
+            , t.mini_unit_code= #{miniUnitCode}
+        </if>
+        <if test="miniUnitStock !=null and miniUnitStock != ''">
+            , t.mini_unit_stock= #{miniUnitStock}
+        </if>
+        <if test="miniStock !=null and miniStock != ''">
+            , t.mini_stock= #{miniStock}
+        </if>
+        <if test="isFixed !=null and isFixed != ''">
+            , t.is_fixed= #{isFixed}
+        </if>
         where 1=1
         <if test="bId !=null and bId != ''">
             and t.b_id= #{bId}
@@ -293,6 +408,18 @@
         where 1 =1
         <if test="resName !=null and resName != ''">
             and t.res_name like concat('%',#{resName},'%')
+        </if>
+        <if test="name != null and name != ''">
+            and t.res_name = #{name}
+        </if>
+        <if test="rstId !=null and rstId != ''">
+            and t.rst_id= #{rstId}
+        </if>
+        <if test="parentRstId !=null and parentRstId != ''">
+            and t.parent_rst_id= #{parentRstId}
+        </if>
+        <if test="rssId !=null and rssId != ''">
+            and t.rss_id= #{rssId}
         </if>
         <if test="price !=null and price != ''">
             and t.price= #{price}
@@ -321,9 +448,6 @@
         <if test="resId !=null and resId != ''">
             and t.res_id= #{resId}
         </if>
-        <if test="goodsType !=null and goodsType != ''">
-            and t.goods_type= #{goodsType}
-        </if>
         <if test="unitCode !=null and unitCode != ''">
             and t.unit_code= #{unitCode}
         </if>
@@ -345,14 +469,140 @@
         <if test="shObjId !=null and shObjId != ''">
             and sh.sh_obj_id= #{shObjId}
         </if>
+        <if test="shObjIds !=null">
+            and sh.sh_obj_id in
+            <foreach collection="shObjIds" item="item" index="index" open="(" close=")" separator=",">
+                #{item}
+            </foreach>
+        </if>
         <if test="shType !=null and shType != ''">
             and sh.sh_type= #{shType}
         </if>
         <if test="averagePrice != null and averagePrice != ''">
             and t.average_price = #{averagePrice}
         </if>
+        <if test="miniUnitCode !=null and miniUnitCode != ''">
+            and t.mini_unit_code= #{miniUnitCode}
+        </if>
+        <if test="miniUnitStock !=null and miniUnitStock != ''">
+            and t.mini_unit_stock= #{miniUnitStock}
+        </if>
+        <if test="miniStock !=null and miniStock != ''">
+            and t.mini_stock= #{miniStock}
+        </if>
+        <if test="isShow !=null and isShow != ''">
+            and sh.is_show= #{isShow}
+        </if>
+        <if test="isFixed !=null and isFixed != ''">
+            and t.is_fixed= #{isFixed}
+        </if>
         <if test="resOrderType == '20000'">
             and t.stock > 0
         </if>
     </select>
+    <!-- 鏌ヨ璧勬簮淇℃伅 add by wuxw 2018-07-03 -->
+    <select id="queryResourceStoresTotalPrice" parameterType="Map" resultType="Map">
+        select IFNULL(sum(w.stock*w.average_price),0) as totalPrice from(
+        select t.stock,t.average_price from resource_store t
+        left join storehouse sh on t.sh_id = sh.sh_id and t.store_id = sh.store_id and sh.status_cd = '0'
+        where 1 = 1
+        <if test="resName !=null and resName != ''">
+            and t.res_name like concat('%',#{resName},'%')
+        </if>
+        <if test="name != null and name != ''">
+            and t.res_name = #{name}
+        </if>
+        <if test="price !=null and price != ''">
+            and t.price= #{price}
+        </if>
+        <if test="rstId !=null and rstId != ''">
+            and t.rst_id= #{rstId}
+        </if>
+        <if test="parentRstId !=null and parentRstId != ''">
+            and t.parent_rst_id= #{parentRstId}
+        </if>
+        <if test="rssId !=null and rssId != ''">
+            and t.rss_id= #{rssId}
+        </if>
+        <if test="outLowPrice !=null and outLowPrice != ''">
+            and t.out_low_price = #{outLowPrice}
+        </if>
+        <if test="outHighPrice != null and outHighPrice != ''">
+            and t.out_high_price = #{outHighPrice}
+        </if>
+        <if test="unitCode != null and unitCode != ''">
+            and t.unit_code = #{unitCode}
+        </if>
+        <if test="remark != null and remark != ''">
+            and t.remark = #{remark}
+        </if>
+        <if test="resCode !=null and resCode != ''">
+            and t.res_code= #{resCode}
+        </if>
+        <if test="description !=null and description != ''">
+            and t.description= #{description}
+        </if>
+        <if test="statusCd !=null and statusCd != ''">
+            and t.status_cd= #{statusCd}
+        </if>
+        <if test="storeId !=null and storeId != ''">
+            and t.store_id= #{storeId}
+        </if>
+        <if test="stock !=null and stock != ''">
+            and t.stock= #{stock}
+        </if>
+        <if test="warningStock !=null and warningStock != ''">
+            and t.warning_stock= #{warningStock}
+        </if>
+        <if test="bId !=null and bId != ''">
+            and t.b_id= #{bId}
+        </if>
+        <if test="resId !=null and resId != ''">
+            and t.res_id= #{resId}
+        </if>
+        <if test="shId !=null and shId != ''">
+            and t.sh_id= #{shId}
+        </if>
+        <if test="shType !=null and shType != ''">
+            and sh.sh_type= #{shType}
+        </if>
+        <if test="shObjId !=null and shObjId != ''">
+            and sh.sh_obj_id= #{shObjId}
+        </if>
+        <if test="shObjIds !=null">
+            and sh.sh_obj_id in
+            <foreach collection="shObjIds" item="item" index="index" open="(" close=")" separator=",">
+                #{item}
+            </foreach>
+        </if>
+        <if test="showMobile != null and showMobile != ''">
+            and t.show_mobile = #{showMobile}
+        </if>
+        <if test="averagePrice != null and averagePrice != ''">
+            and t.average_price = #{averagePrice}
+        </if>
+        <if test="miniUnitCode !=null and miniUnitCode != ''">
+            and t.mini_unit_code= #{miniUnitCode}
+        </if>
+        <if test="miniUnitStock !=null and miniUnitStock != ''">
+            and t.mini_unit_stock= #{miniUnitStock}
+        </if>
+        <if test="miniStock !=null and miniStock != ''">
+            and t.mini_stock= #{miniStock}
+        </if>
+        <if test="isShow !=null and isShow != ''">
+            and sh.is_show= #{isShow}
+        </if>
+        <if test="isFixed !=null and isFixed != ''">
+            and t.is_fixed= #{isFixed}
+        </if>
+        <if test="resOrderType == '20000'">
+            and t.stock > 0
+        </if>
+        order by t.create_time desc
+        <if test="page != -1 and page != null ">
+            limit #{page}, #{row}
+        </if>
+        )w
+    </select>
 </mapper>

--
Gitblit v1.8.0