From b7265cdd6f3e1fbb0d428c27e5b5e29e34d56953 Mon Sep 17 00:00:00 2001
From: zhaoxiaohao <279049017@qq.com>
Date: Tue, 17 Nov 2020 17:55:21 +0800
Subject: [PATCH] Merge branch 'dev'

---
 kidgrow-business/kidgrow-opration-center/kidgrow-opration-center-biz/src/main/resources/mapper/ProductOrderMapper.xml |  231 +++++++++++++++++++++++++++++++++++++++++++--------------
 1 files changed, 173 insertions(+), 58 deletions(-)

diff --git a/kidgrow-business/kidgrow-opration-center/kidgrow-opration-center-biz/src/main/resources/mapper/ProductOrderMapper.xml b/kidgrow-business/kidgrow-opration-center/kidgrow-opration-center-biz/src/main/resources/mapper/ProductOrderMapper.xml
index df12aa3..cffb8ad 100644
--- a/kidgrow-business/kidgrow-opration-center/kidgrow-opration-center-biz/src/main/resources/mapper/ProductOrderMapper.xml
+++ b/kidgrow-business/kidgrow-opration-center/kidgrow-opration-center-biz/src/main/resources/mapper/ProductOrderMapper.xml
@@ -4,71 +4,147 @@
 <mapper namespace="com.kidgrow.oprationcenter.mapper.ProductOrderMapper">
     <!--定义查询列-->
     <sql id="Column_List">
-	   *
+	  DISTINCT *
 	</sql>
 
     <!--sql查询片段-->
     <sql id="where">
         <where>
-            <!--查询条件自行添加-->
-            p.is_del=0
-            <if test="p.id != null and p.id !=''">
-                and id = #{p.id}
-            </if>
-            <if test="p.hospitalId != null and p.hospitalId !=''">
-                and hospital_id = #{p.hospitalId}
-            </if>
-            <if test="p.hospitalName != null and p.hospitalName !=''">
-                and hospital_name = #{p.hospitalName}
-            </if>
-            <if test="p.departmentId != null and p.departmentId !=''">
-                and department_id = #{p.departmentId}
-            </if>
-            <if test="p.departmentName != null and p.departmentName !=''">
-                and department_name = #{p.departmentName}
-            </if>
-            <if test="p.contractNo != null and p.contractNo !=''">
-                and contract_no = #{p.contractNo}
-            </if>
-            <if test="p.contractTitle != null and p.contractTitle !=''">
-                and contract_title = #{p.contractTitle}
-            </if>
-            <if test="p.contractBeginTime != null and p.contractBeginTime !=''">
-                and contract_begin_time = #{p.contractBeginTime}
-            </if>
-            <if test="p.contractEndTime != null and p.contractEndTime !=''">
-                and contract_end_time = #{p.contractEndTime}
-            </if>
-            <if test="p.contractTime != null and p.contractTime !=''">
-                and contract_time = #{p.contractTime}
-            </if>
-            <if test="p.isDel != null and p.isDel !=''">
-                and is_del = #{p.isDel}
-            </if>
-            <if test="p.enabled != null and p.enabled !=''">
-                and enabled = #{p.enabled}
-            </if>
-            <if test="p.updateTime != null and p.updateTime !=''">
-                and update_time = #{p.updateTime}
-            </if>
-            <if test="p.createUserId != null and p.createUserId !=''">
-                and create_user_id = #{p.createUserId}
-            </if>
-            <if test="p.createUserName != null and p.createUserName !=''">
-                and create_user_name = #{p.createUserName}
-            </if>
-            <if test="p.updateUserId != null and p.updateUserId !=''">
-                and update_user_id = #{p.updateUserId}
-            </if>
-            <if test="p.updateUserName != null and p.updateUserName !=''">
-                and update_user_name = #{p.updateUserName}
-            </if>
-            <if test="p.createTime != null and p.createTime !=''">
-                and create_time = #{p.createTime}
-            </if>
+            <include refid="where_condition"></include>
         </where>
     </sql>
+    <sql id="where_condition">
+        <if test="p.id != null and p.id !=''">
+            and id = #{p.id}
+        </if>
+        <if test="p.hospitalId != null and p.hospitalId !=''">
+            and hospital_id = #{p.hospitalId}
+        </if>
+        <if test="p.hospitalName != null and p.hospitalName !=''">
+            and hospital_name like concat('%',#{p.hospitalName},'%')
+        </if>
+        <if test="p.departmentId != null and p.departmentId !=''">
+            and department_id = #{p.departmentId}
+        </if>
+        <if test="p.departmentName != null and p.departmentName !=''">
+            and department_name = #{p.departmentName}
+        </if>
+        <if test="p.contractNo != null and p.contractNo !=''">
+            and contract_no = #{p.contractNo}
+        </if>
+        <if test="p.contractTitle != null and p.contractTitle !=''">
+            and contract_title = #{p.contractTitle}
+        </if>
+        <if test="p.contractBeginTime != null and p.contractBeginTime !=''">
+            and contract_begin_time = #{p.contractBeginTime}
+        </if>
+        <if test="p.contractEndTime != null and p.contractEndTime !=''">
+            and contract_end_time = #{p.contractEndTime}
+        </if>
+        <if test="p.contractTime != null and p.contractTime !=''">
+            and contract_time = #{p.contractTime}
+        </if>
+        <if test="p.isDel != null and p.isDel !=''">
+            and is_del = #{p.isDel}
+        </if>
+        <if test="p.enabled != null and p.enabled !=''">
+            and enabled = #{p.enabled}
+        </if>
+        <if test="p.updateTime != null and p.updateTime !=''">
+            and update_time = #{p.updateTime}
+        </if>
+        <if test="p.createUserId != null and p.createUserId !=''">
+            and create_user_id = #{p.createUserId}
+        </if>
+        <if test="p.createUserName != null and p.createUserName !=''">
+            and create_user_name = #{p.createUserName}
+        </if>
+        <if test="p.updateUserId != null and p.updateUserId !=''">
+            and update_user_id = #{p.updateUserId}
+        </if>
+        <if test="p.updateUserName != null and p.updateUserName !=''">
+            and update_user_name = #{p.updateUserName}
+        </if>
+        <if test="p.createTime != null and p.createTime !=''">
+            and create_time = #{p.createTime}
+        </if>
+    </sql>
+    <!--定义数据权限的查询-->
+    <sql id="Role_Organization">
+        <if test="p.roleOrg != null and p.roleOrg.size>0">
+            <foreach item="item" collection="p.roleOrg" index="">
+                <foreach item="itemto" collection="item" index="inx">
+                    <choose>
+                        <when test="inx == 1">
+                            <if test="itemto.flag">
 
+                            </if>
+                            <if test="!itemto.flag">
+                                or ( is_del = 0 and enabled=1) <include refid="where_condition"></include>
+                            </if>
+                        </when>
+                        <when test="inx==2">
+                            <if test="itemto.flag">
+                                AND
+                                <foreach item="itemtoto" collection="itemto.object" separator="or" open="(" close=")"
+                                         index="">
+                                    create_user_org_code = #{itemtoto.orgCode}
+                                </foreach>
+                            </if>
+                            <if test="!itemto.flag">
+                                or (
+                                <foreach item="itemtoto" collection="itemto.object" separator="or" open="(" close=")"
+                                         index="">
+                                    create_user_org_code = #{itemtoto.orgCode}
+                                </foreach>
+                                and is_del = 0 and enabled=1  <include refid="where_condition"></include>
+                                )
+                            </if>
+                        </when>
+                        <when test="inx == 3">
+                            <if test="itemto.flag">
+                                AND
+                                create_user_org_code = #{itemto.object}
+                            </if>
+                            <if test="!itemto.flag">
+                                or (create_user_org_code = #{itemto.object} and is_del = 0 and enabled=1) <include refid="where_condition"></include>
+                            </if>
+                        </when>
+                        <when test="inx == 4">
+                            <if test="itemto.flag">
+                                AND
+                                create_user_org_code like '${itemto.object}%'
+                            </if>
+                            <if test="!itemto.flag">
+                                or (create_user_org_code like '${itemto.object}%' and is_del = 0 and enabled=1) <include refid="where_condition"></include>
+                            </if>
+                        </when>
+                        <when test="inx == 5">
+                            <if test="itemto.flag">
+                                AND
+                                create_user_id = #{itemto.object}
+                            </if>
+                            <if test="!itemto.flag">
+                                or (create_user_id = #{itemto.object} and is_del = 0 and enabled=1) <include refid="where_condition"></include>
+                            </if>
+                        </when>
+                        <otherwise>
+                            AND id is null
+                        </otherwise>
+                    </choose>
+                </foreach>
+            </foreach>
+        </if>
+    </sql>
+    <!--sql查询片段-->
+    <sql id="where_role">
+        <where>
+            <!--查询条件自行添加-->
+            is_del=0
+            <include refid="where_condition"></include>
+            <include refid="Role_Organization"></include>
+        </where>
+    </sql>
     <!--定义根据-ProductOrder当作查询条件返回对象-->
     <select id="findByObject" resultType="com.kidgrow.oprationcenter.model.ProductOrder">
         select
@@ -76,6 +152,7 @@
         from product_order
         <include refid="where"/>
         order by id desc
+        limit 1
     </select>
 
     <!--定义根据-ProductOrder当作查询条件返回对象集合-->
@@ -83,7 +160,45 @@
         select
         <include refid="Column_List"/>
         from product_order
-        <include refid="where"/>
+        <include refid="where_role"/>
         order by id desc
     </select>
+    <update id="delProductDetail">
+        UPDATE  product_order_record SET is_del=1,update_time=now() WHERE order_id= #{orderId};
+        UPDATE  product_order_detail SET is_del=1,update_time=now() WHERE order_id= #{orderId};
+    </update>
+    <select id="getStatus" parameterType="com.kidgrow.oprationcenter.model.ProductOrder" resultType="int">
+        SELECT
+	SUM(total)
+        FROM
+            (
+                SELECT
+                    count(*) total
+                FROM
+                    `product_order` order_order
+                LEFT JOIN product_order_record record ON order_order.id = record.order_id
+                WHERE
+                    order_order.hospital_id = #{hospitalId}
+                AND order_order.department_id = #{departmentId}
+                AND record.pro_type = 1
+                AND order_order.enabled = 1
+                AND order_order.is_del = 0
+                AND record.enabled = 1
+                AND record.is_del = 0
+                UNION ALL
+                    SELECT
+                        count(*) total
+                    FROM
+                        `product_order` order_order
+                    LEFT JOIN product_order_record record ON order_order.id = record.order_id
+                    WHERE
+                        order_order.hospital_id = #{hospitalId}
+                    AND record.pro_type = 1
+                    AND record.is_share = 1
+                    AND order_order.enabled = 1
+                    AND order_order.is_del = 0
+                    AND record.enabled = 1
+                    AND record.is_del = 0
+            ) cc
+    </select>
 </mapper>
\ No newline at end of file

--
Gitblit v1.8.0