|
|
@@ -374,7 +374,61 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
|
|
|
|
|
|
|
|
<select id="getRestStock" resultType="java.util.Map">
|
|
|
- SELECT x1.chemical_id chemicalId,CONCAT((IFNULL(x1.applyNum,0)-IFNULL(x2.stockNum,0)),'g') restStock FROM (
|
|
|
+
|
|
|
+ SELECT x1.chemical_id chemicalId,CASE WHEN CONCAT((IFNULL(x1.applyNum,0)-IFNULL(x2.applyNum,0)),'g')>0
|
|
|
+ THEN CONCAT((IFNULL(x1.applyNum,0)-IFNULL(x2.applyNum,0)),'g') ELSE CONCAT(0,'g') END restStock FROM (
|
|
|
+ SELECT hd.`chemical_id`,IFNULL(SUM(hd.`apply_num`),0) applyNum FROM act_hxpapply ah LEFT JOIN act_hxpapply_detail hd ON ah.`id` = hd.`hxpapply_id`
|
|
|
+ LEFT JOIN act_applytask ak ON ah.`id` = ak.`task_id`
|
|
|
+ LEFT JOIN lab_subject st ON ah.sub_id = st.id
|
|
|
+ <where>
|
|
|
+ ak.`approval_status`=1 AND hd.`tick_status`=1
|
|
|
+ <if test="deptId != null ">
|
|
|
+ AND st.dept_id = #{deptId}
|
|
|
+ </if>
|
|
|
+ <if test="subId != null ">
|
|
|
+ AND ah.sub_id = #{subId}
|
|
|
+ </if>
|
|
|
+ <if test="chemicalId != null ">
|
|
|
+ AND hd.`chemical_id` = #{chemicalId}
|
|
|
+ </if>
|
|
|
+ <if test="cabinetId != null ">
|
|
|
+ AND hd.`cabinet_id` = #{cabinetId}
|
|
|
+ </if>
|
|
|
+ <if test="applyUserId != null ">
|
|
|
+ AND ah.`user_id` = #{applyUserId}
|
|
|
+ </if>
|
|
|
+ </where>
|
|
|
+
|
|
|
+ GROUP BY hd.`chemical_id`
|
|
|
+ )x1 LEFT JOIN
|
|
|
+ (
|
|
|
+ SELECT hd.`chemical_id`,SUM(IFNULL(cjc.`chemical_amount`,0)-IFNULL(cjc.`tare`,0)) applyNum FROM act_hxpapply ah LEFT JOIN act_hxpapply_detail hd ON ah.`id` = hd.`hxpapply_id`
|
|
|
+ LEFT JOIN act_applytask ak ON ah.`id` = ak.`task_id`
|
|
|
+ LEFT JOIN lab_subject st ON ah.sub_id = st.id
|
|
|
+ inner join hxp_chemical_join_cabinet cjc on hd.`cabinet_id` = cjc.`cabinet_id` and hd.`chemical_id` = cjc.`chemical_id`
|
|
|
+ <where>
|
|
|
+ ak.`approval_status`=1 AND hd.`tick_status`=1
|
|
|
+ <if test="deptId != null ">
|
|
|
+ AND st.dept_id = #{deptId}
|
|
|
+ </if>
|
|
|
+ <if test="subId != null ">
|
|
|
+ AND ah.sub_id = #{subId}
|
|
|
+ </if>
|
|
|
+ <if test="chemicalId != null ">
|
|
|
+ AND hd.`chemical_id` = #{chemicalId}
|
|
|
+ </if>
|
|
|
+ <if test="cabinetId != null ">
|
|
|
+ AND hd.`cabinet_id` = #{cabinetId}
|
|
|
+ </if>
|
|
|
+ <if test="applyUserId != null ">
|
|
|
+ AND ah.`user_id` = #{applyUserId}
|
|
|
+ </if>
|
|
|
+ </where>
|
|
|
+ GROUP BY hd.`chemical_id`
|
|
|
+ )x2 ON x1.chemical_id = x2.chemical_id
|
|
|
+
|
|
|
+
|
|
|
+ <!-- SELECT x1.chemical_id chemicalId,CONCAT((IFNULL(x1.applyNum,0)-IFNULL(x2.stockNum,0)),'g') restStock FROM (
|
|
|
SELECT hd.`chemical_id`,IFNULL(SUM(hd.`apply_num`),0) applyNum FROM act_hxpapply ah LEFT JOIN act_hxpapply_detail hd ON ah.`id` = hd.`hxpapply_id`
|
|
|
LEFT JOIN act_applytask ak ON ah.`id` = ak.`task_id`
|
|
|
LEFT JOIN lab_subject st ON ah.sub_id = st.id
|
|
|
@@ -416,7 +470,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
|
|
</if>
|
|
|
</where>
|
|
|
GROUP BY cjc.`chemical_id`
|
|
|
- )x2 ON x1.chemical_id = x2.chemical_id
|
|
|
+ )x2 ON x1.chemical_id = x2.chemical_id-->
|
|
|
</select>
|
|
|
|
|
|
|
|
|
@@ -476,7 +530,8 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
|
|
|
|
|
UNION ALL
|
|
|
|
|
|
- SELECT 4 chemicalId,CONCAT((IFNULL(x1.applyNum,0)-IFNULL(x2.applyNum,0)),'g') restStock FROM (
|
|
|
+ SELECT 4 chemicalId,CASE WHEN CONCAT((IFNULL(x1.applyNum,0)-IFNULL(x2.applyNum,0)),'g')>0
|
|
|
+ THEN CONCAT((IFNULL(x1.applyNum,0)-IFNULL(x2.applyNum,0)),'g') ELSE CONCAT(0,'g') END restStock FROM (
|
|
|
SELECT hd.`chemical_id`,IFNULL(SUM(hd.`apply_num`),0) applyNum FROM act_hxpapply ah LEFT JOIN act_hxpapply_detail hd ON ah.`id` = hd.`hxpapply_id`
|
|
|
LEFT JOIN act_applytask ak ON ah.`id` = ak.`task_id`
|
|
|
LEFT JOIN lab_subject st ON ah.sub_id = st.id
|
|
|
@@ -531,7 +586,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
|
|
|
|
|
|
|
|
<select id="getRestStockByManyCabinet" parameterType="com.zd.chemical.domain.vo.ActRestStockManySearch" resultType="com.zd.chemical.domain.vo.ActRestStockManyVo">
|
|
|
- SELECT x1.cabinet_id cabinetId,CASE WHEN CONCAT((IFNULL(x1.applyNum,0)-IFNULL(x2.stockNum,0)))>0
|
|
|
+ <!--SELECT x1.cabinet_id cabinetId,CASE WHEN CONCAT((IFNULL(x1.applyNum,0)-IFNULL(x2.stockNum,0)))>0
|
|
|
THEN CONCAT((IFNULL(x1.applyNum,0)-IFNULL(x2.stockNum,0))) ELSE 0 END restStock FROM (
|
|
|
SELECT hd.`cabinet_id`,IFNULL(SUM(hd.`apply_num`),0) applyNum FROM act_hxpapply ah LEFT JOIN act_hxpapply_detail hd ON ah.`id` = hd.`hxpapply_id`
|
|
|
LEFT JOIN act_applytask ak ON ah.`id` = ak.`task_id`
|
|
|
@@ -569,6 +624,54 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
|
|
</where>
|
|
|
GROUP BY cjc.`cabinet_id`
|
|
|
)x2 ON x1.cabinet_id = x2.cabinet_id
|
|
|
+ -->
|
|
|
+
|
|
|
+ SELECT x1.cabinet_id cabinetId,CASE WHEN CONCAT((IFNULL(x1.applyNum,0)-IFNULL(x2.stockNum,0)))>0
|
|
|
+ THEN CONCAT((IFNULL(x1.applyNum,0)-IFNULL(x2.stockNum,0))) ELSE 0 END restStock FROM (
|
|
|
+ SELECT hd.`cabinet_id`,IFNULL(SUM(hd.`apply_num`),0) applyNum FROM act_hxpapply ah LEFT JOIN act_hxpapply_detail hd ON ah.`id` = hd.`hxpapply_id`
|
|
|
+ LEFT JOIN act_applytask ak ON ah.`id` = ak.`task_id`
|
|
|
+ LEFT JOIN lab_subject st ON ah.sub_id = st.id
|
|
|
+ <where>
|
|
|
+ ak.`approval_status`=1 AND hd.`tick_status`=1
|
|
|
+ <if test="chemicalId != null ">
|
|
|
+ and hd.`chemical_id` = #{chemicalId}
|
|
|
+ </if>
|
|
|
+
|
|
|
+ <if test="cabinetIds != null ">
|
|
|
+ and hd.`cabinet_id` in
|
|
|
+ <foreach item="id" collection="cabinetIds" open="(" separator="," close=")">
|
|
|
+ #{id}
|
|
|
+ </foreach>
|
|
|
+ </if>
|
|
|
+ <if test="applyUserId != null ">
|
|
|
+ AND ah.`user_id` = #{applyUserId}
|
|
|
+ </if>
|
|
|
+ </where>
|
|
|
+
|
|
|
+ GROUP BY hd.`cabinet_id`
|
|
|
+ )x1 LEFT JOIN
|
|
|
+ (
|
|
|
+ SELECT cjc.`chemical_id`,cjc.`cabinet_id`,SUM(cjc.chemical_amount-cjc.tare) stockNum FROM
|
|
|
+ act_hxpapply ah LEFT JOIN act_hxpapply_detail hd ON ah.`id` = hd.`hxpapply_id`
|
|
|
+ LEFT JOIN act_applytask ak ON ah.`id` = ak.`task_id`
|
|
|
+ INNER JOIN hxp_chemical_join_cabinet cjc ON hd.`cabinet_id` = cjc.`cabinet_id` AND hd.`chemical_id` = cjc.`chemical_id`
|
|
|
+ <where>
|
|
|
+ ak.`approval_status`=1 AND hd.`tick_status`=1
|
|
|
+ <if test="chemicalId != null ">
|
|
|
+ and cjc.`chemical_id` = #{chemicalId}
|
|
|
+ </if>
|
|
|
+ <if test="cabinetIds != null ">
|
|
|
+ and cjc.`cabinet_id` in
|
|
|
+ <foreach item="id" collection="cabinetIds" open="(" separator="," close=")">
|
|
|
+ #{id}
|
|
|
+ </foreach>
|
|
|
+ </if>
|
|
|
+ <if test="applyUserId != null ">
|
|
|
+ AND ah.`user_id` = #{applyUserId}
|
|
|
+ </if>
|
|
|
+ </where>
|
|
|
+ GROUP BY cjc.`cabinet_id`
|
|
|
+ )x2 ON x1.cabinet_id = x2.cabinet_id
|
|
|
</select>
|
|
|
|
|
|
|
|
|
@@ -593,14 +696,18 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
|
|
#{id}
|
|
|
</foreach>
|
|
|
</if>
|
|
|
-
|
|
|
+ <if test="applyUserId != null ">
|
|
|
+ AND ah.`user_id` = #{applyUserId}
|
|
|
+ </if>
|
|
|
GROUP BY hd.`chemical_id`,hd.`cabinet_id`
|
|
|
)x1 LEFT JOIN
|
|
|
(
|
|
|
SELECT cjc.`chemical_id`,cjc.`cabinet_id`,SUM(cjc.chemical_amount-cjc.tare) stockNum FROM
|
|
|
- hxp_chemical_join_cabinet cjc
|
|
|
+ act_hxpapply ah LEFT JOIN act_hxpapply_detail hd ON ah.`id` = hd.`hxpapply_id`
|
|
|
+ LEFT JOIN act_applytask ak ON ah.`id` = ak.`task_id`
|
|
|
+ INNER JOIN hxp_chemical_join_cabinet cjc ON hd.`cabinet_id` = cjc.`cabinet_id` AND hd.`chemical_id` = cjc.`chemical_id`
|
|
|
WHERE
|
|
|
- cjc.`status` IN(0,1)
|
|
|
+ ak.`approval_status`=1 AND hd.`tick_status`=1
|
|
|
<if test="chemicalIds != null ">
|
|
|
AND cjc.`chemical_id` IN
|
|
|
<foreach item="id" collection="chemicalIds" open="(" separator="," close=")">
|
|
|
@@ -613,7 +720,9 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
|
|
#{id}
|
|
|
</foreach>
|
|
|
</if>
|
|
|
-
|
|
|
+ <if test="applyUserId != null ">
|
|
|
+ AND ah.`user_id` = #{applyUserId}
|
|
|
+ </if>
|
|
|
GROUP BY cjc.`chemical_id`,cjc.`cabinet_id`
|
|
|
)x2 ON x1.chemical_id = x2.chemical_id AND x1.cabinet_id = x2.cabinet_id
|
|
|
</select>
|