| <?xml version="1.0" encoding="UTF-8"?> | 
| <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"  | 
| "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> | 
|   | 
| <mapper namespace="com.matrix.system.hive.dao.SysOutStoreDao"> | 
|      | 
|     <resultMap type="SysOutStore" id="SysOutStoreMap"> | 
|             <id property="id" column="ID" /> | 
|             <result property="shopId" column="SHOP_ID" /> | 
|             <result property="staffId" column="STAFF_ID" /> | 
|             <result property="time" column="TIME" /> | 
|             <result property="serviceId" column="SERVICE_ID" /> | 
|             <result property="type" column="TYPE"/> | 
|             <result property="orderId" column="ORDER_ID"/> | 
|             <result property="checkStatus" column="CHECK_STATUS"/> | 
|             <result property="outStoreNo" column="out_store_no"/> | 
|             <!-- 扩展属性 --> | 
|             <result property="shopName" column="SHOP_NAME" /> | 
|             <result property="staffName" column="STAFF_NAME" /> | 
|             <result property="serviceNo" column="SERVICE_NO" /> | 
|             <result property="remark" column="remark" /> | 
|             <result property="companyId" column="company_id" /> | 
|   | 
|      | 
|     </resultMap> | 
|     <!--  插入方法   --> | 
|     <insert id="insert" parameterType="SysOutStore" | 
|         useGeneratedKeys="true" keyProperty="id" > | 
|      | 
|         INSERT INTO sys_out_store ( | 
|             ID, | 
|             SHOP_ID, | 
|             STAFF_ID, | 
|             TIME, | 
|             SERVICE_ID, | 
|             TYPE, | 
|             ORDER_ID, | 
|             CHECK_STATUS, | 
|             out_store_no, | 
|             remark, | 
|             company_id | 
|             ) | 
|     VALUES ( | 
|             #{id}, | 
|             #{shopId}, | 
|             #{staffId}, | 
|             #{time}, | 
|             #{serviceId}, | 
|             #{type}, | 
|             #{orderId}, | 
|             #{checkStatus}, | 
|             #{outStoreNo}, | 
|             #{remark}, | 
|             #{companyId} | 
|     ) | 
|     </insert> | 
|      | 
|      | 
|     <!--  根据id更新 部分更新   --> | 
|     <update id="update"  > | 
|         UPDATE sys_out_store | 
|         <set> | 
|                 <if test="shopId != null and shopId !='' "> | 
|                     SHOP_ID = #{shopId}, | 
|                 </if>         | 
|                 <if test="staffId != null and staffId !='' "> | 
|                     STAFF_ID = #{staffId}, | 
|                 </if>         | 
|                 <if test="time != null  "> | 
|                     TIME = #{time}, | 
|                 </if>         | 
|                 <if test="serviceId != null and serviceId !='' "> | 
|                     SERVICE_ID = #{serviceId}, | 
|                 </if> | 
|                 <if test="type!= null and type!='' "> | 
|                     TYPE = #{type}, | 
|                 </if>         | 
|                 <if test="orderId!= null and orderId!='' "> | 
|                     ORDER_ID = #{orderId}, | 
|                 </if> | 
|                 <if test="checkStatus!= null and checkStatus!='' "> | 
|                     CHECK_STATUS = #{checkStatus} | 
|                 </if>         | 
|                  | 
|         </set> | 
|         WHERE id=#{id}  | 
|     </update> | 
|      | 
|      | 
|      | 
|     <!-- 批量删除 --> | 
|     <delete id="deleteByIds" parameterType="java.util.List"> | 
|         delete from sys_out_store where  ID in | 
|         <foreach collection="list" index="index" item="item" open="(" | 
|             separator="," close=")"> | 
|             #{item} | 
|         </foreach> | 
|     </delete> | 
|          | 
|     <!-- 根据id删除--> | 
|     <delete id="deleteById" > | 
|         DELETE FROM sys_out_store | 
|         where  ID=#{id}  | 
|     </delete> | 
|      | 
|      | 
|      | 
|     <!-- 分页查询 --> | 
|     <select id="selectInPage" resultMap="SysOutStoreMap"> | 
|   | 
|         <include refid="select"></include> | 
|         <include refid="from"></include> | 
|         <include refid="where"></include> | 
|         <if test="pageVo !=null"> | 
|             <if test="pageVo.sort !=null  and pageVo.order !=null"> | 
|                 order by | 
|                 ${pageVo.sort} ${pageVo.order} | 
|             </if> | 
|             <if test="pageVo.offset >=0  and pageVo.limit >0"> | 
|                 limit | 
|                 #{pageVo.offset},#{pageVo.limit} | 
|             </if> | 
|         </if> | 
|     </select> | 
|      | 
|     <!-- 查询总条数 --> | 
|     <select id="selectTotalRecord"    resultType="java.lang.Integer"> | 
|         select count(*) | 
|         <include refid="from"></include> | 
|         <include refid="where"></include> | 
|     </select> | 
|   | 
|     <!-- 根据id查询--> | 
|     <select id="selectById" resultMap="SysOutStoreMap"> | 
|         <include refid="select"></include> | 
|         <include refid="from"></include> | 
|         where  ID=#{ID}  | 
|     </select>     | 
|      | 
|      | 
|     <!-- 根据对象查询--> | 
|     <select id="selectByModel" resultMap="SysOutStoreMap"> | 
|         select  | 
|             ID, | 
|             SHOP_ID, | 
|             STAFF_ID, | 
|             TIME, | 
|             SERVICE_ID, | 
|             CHECK_STATUS, | 
|             remark | 
|         from sys_out_store | 
|         where 1=1 | 
|         <if test="record!=null"> | 
|             <if test="record.id != null and record.id !='' "> | 
|                 and ID =#{id} | 
|             </if> | 
|             <if test="record.shopId != null and record.shopId !='' "> | 
|                 and SHOP_ID= #{record.shopId} | 
|             </if> | 
|             <if test="record.staffId != null and record.staffId !='' "> | 
|                 and STAFF_ID =#{record.staffId} | 
|             </if> | 
|             <if test="record.orderId != null and record.orderId !='' "> | 
|                 and ORDER_ID=#{record.orderId} | 
|             </if> | 
|             <if test="record.serviceId != null and record.serviceId !='' "> | 
|                 and SERVICE_ID=#{record.serviceId} | 
|             </if> | 
|             <if test="record.serviceNo != null and record.serviceNo !='' "> | 
|                 and SERVICE_ID in(select id from sys_proj_services where SERVICE_NO like CONCAT('%',#{record.serviceNo},'%')) | 
|             </if> | 
|         </if> | 
|     </select> | 
|     <select id="selectByServiceId" resultMap="SysOutStoreMap"> | 
|         select | 
|             ID, | 
|             SHOP_ID, | 
|             STAFF_ID, | 
|             TIME, | 
|             SERVICE_ID, | 
|             ORDER_ID, | 
|             TYPE, | 
|             CHECK_STATUS, | 
|             remark, | 
|             (select name from warehouse t where t.id = s.shop_ID) SHOP_NAME, | 
|             (select su_name from sys_users t where t.su_id=s.STAFF_ID) STAFF_NAME, | 
|             IF(TYPE='家居产品出库', | 
|             (select ORDER_NO from sys_order o where o.id=s.order_id), | 
|             (select SERVICE_NO from sys_proj_services t where t.id=s.SERVICE_ID) | 
|             ) SERVICE_NO | 
|             from sys_out_store s | 
|             where      s.SERVICE_ID=#{serviceId} | 
|     </select> | 
|     <sql id="select"> | 
|             select  | 
|             ID, | 
|             SHOP_ID, | 
|             STAFF_ID, | 
|             TIME, | 
|             SERVICE_ID, | 
|             ORDER_ID, | 
|             TYPE, | 
|             CHECK_STATUS, | 
|             out_store_no, | 
|             remark, | 
|             (select shop_name from sys_shop_info t where t.id = s.shop_ID) SHOP_NAME, | 
|             (select su_name from sys_users t where t.su_id=s.STAFF_ID) STAFF_NAME, | 
|             IF(TYPE='家居产品出库', | 
|             (select ORDER_NO from sys_order o where o.id=s.order_id), | 
|             (select SERVICE_NO from sys_proj_services t where t.id=s.SERVICE_ID) | 
|             ) SERVICE_NO | 
|   | 
|     </sql> | 
|     <sql id="from"> | 
|     from sys_out_store s | 
|     </sql> | 
|     <sql id="where"> | 
|     where 1=1 | 
|         <if test="record!=null"> | 
|             <if test="record.id != null and record.id !='' "> | 
|                 and ID =#{record.id} | 
|             </if> | 
|             <if test="record.shopId != null and record.shopId !='' "> | 
|                 and SHOP_ID= #{record.shopId} | 
|             </if> | 
|             <if test="record.staffId != null and record.staffId !='' "> | 
|                 and STAFF_ID =#{record.staffId} | 
|             </if> | 
|             <if test="record.startTime != null "> | 
|                 and TIME >= #{record.startTime} | 
|             </if> | 
|             <if test="record.endTime != null   "> | 
|                 <![CDATA[and TIME <= #{record.endTime}]]>  | 
|             </if> | 
|             <if test="record.serviceId != null and record.serviceId !='' "> | 
|                 and SERVICE_ID=#{record.serviceId}  | 
|             </if> | 
|             <if test="record.serviceNo != null and record.serviceNo !='' "> | 
|                 and SERVICE_ID in(select id from sys_proj_services where SERVICE_NO like CONCAT('%',#{record.serviceNo},'%'))  | 
|             </if> | 
|             <if test="record.orderId != null and record.orderId !='' "> | 
|                 and ORDER_ID=#{record.orderId}  | 
|             </if> | 
|             <if test="record.type != null and record.type !='' "> | 
|                 and TYPE=#{record.type}  | 
|             </if> | 
|             <if test="record.checkStatus != null and record.checkStatus !='' "> | 
|                 and CHECK_STATUS=#{record.checkStatus}  | 
|             </if> | 
|             <if test="record.companyId != null and record.companyId !='' "> | 
|                 and    company_id = #{record.companyId} | 
|             </if> | 
|         </if> | 
|     </sql> | 
| </mapper> |