| <?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.SysCheckDetailDao"> | 
|      | 
|     <resultMap type="SysCheckDetail" id="SysCheckDetailMap"> | 
|             <id property="id" column="id" /> | 
|             <result property="checkId" column="check_id" /> | 
|             <result property="skuId" column="sku_id" /> | 
|             <result property="beginBalance" column="begin_balance" /> | 
|             <result property="incomeNum" column="income_num" /> | 
|             <result property="outcomeNum" column="outcome_num" /> | 
|             <result property="endBalance" column="end_balance" /> | 
|             <result property="price" column="price" /> | 
|             <result property="storeId" column="storeId" /> | 
|             <result property="priceSum" column="priceSum" /> | 
|             <result property="actuallySum" column="actuallySum" /> | 
|             <result property="remark" column="remark" /> | 
|          | 
|         <association property="goods" javaType="ShoppingGoods" | 
|                      column="{id=sku_id}" select="com.matrix.system.hive.dao.ShoppingGoodsDao.selectById" /> | 
|   | 
|   | 
|     </resultMap> | 
|     <resultMap type="SysCheckDetail" id="SysCheckDetailMapSimple"> | 
|             <id property="id" column="id" /> | 
|             <result property="checkId" column="check_id" /> | 
|             <result property="skuId" column="sku_id" /> | 
|             <result property="beginBalance" column="begin_balance" /> | 
|             <result property="incomeNum" column="income_num" /> | 
|             <result property="outcomeNum" column="outcome_num" /> | 
|             <result property="endBalance" column="end_balance" /> | 
|             <result property="price" column="price" /> | 
|             <result property="priceSum" column="priceSum" /> | 
|             <result property="actuallySum" column="actuallySum" /> | 
|             <result property="remark" column="remark" /> | 
|         <result property="storeId" column="storeId" /> | 
|     </resultMap> | 
|     <!--  插入方法   --> | 
|     <!--  插入方法   --> | 
|     <insert id="insert" parameterType="SysCheckDetail" | 
|             useGeneratedKeys="true" keyProperty="id"> | 
|         INSERT INTO sys_check_detail ( | 
|             id, | 
|             check_id, | 
|             sku_id, | 
|             begin_balance, | 
|             income_num, | 
|             outcome_num, | 
|             end_balance, | 
|             price, | 
|             priceSum, | 
|             actuallySum, | 
|             remark, | 
|             storeId | 
|         ) | 
|     VALUES ( | 
|             #{id}, | 
|             #{checkId}, | 
|             #{skuId}, | 
|             #{beginBalance}, | 
|             #{incomeNum}, | 
|             #{outcomeNum}, | 
|             #{endBalance}, | 
|             #{price}, | 
|             #{priceSum}, | 
|             #{actuallySum}, | 
|             #{remark}, | 
|             #{storeId} | 
|     ) | 
|     </insert> | 
|   | 
|   | 
|     <!--  根据id更新 部分更新   --> | 
|     <update id="update" > | 
|         UPDATE sys_check_detail | 
|         <set> | 
|             <if test="checkId != null and checkId !='' "> | 
|                 check_id = #{checkId}, | 
|             </if> | 
|             <if test="skuId != null and skuId !='' "> | 
|                 sku_id = #{skuId}, | 
|             </if> | 
|             <if test="beginBalance != null and beginBalance !='' "> | 
|                 begin_balance = #{beginBalance}, | 
|             </if> | 
|             <if test="incomeNum != null and incomeNum !='' "> | 
|                 income_num = #{incomeNum}, | 
|             </if> | 
|             <if test="outcomeNum != null and outcomeNum !='' "> | 
|                 outcome_num = #{outcomeNum}, | 
|             </if> | 
|             <if test="endBalance != null and endBalance !='' "> | 
|                 end_balance = #{endBalance}, | 
|             </if> | 
|             <if test="price != null and price !='' "> | 
|                 price = #{price}, | 
|             </if> | 
|             <if test="priceSum != null and priceSum !='' "> | 
|                 priceSum = #{priceSum}, | 
|             </if> | 
|             <if test="(actuallySum != null and actuallySum !='') or  actuallySum==0 "> | 
|                 actuallySum = #{actuallySum}, | 
|             </if> | 
|             <if test="remark != null and remark !='' "> | 
|                 remark = #{remark}, | 
|             </if> | 
|         </set> | 
|         WHERE id=#{id} | 
|     </update> | 
|   | 
|   | 
|   | 
|     <!-- 批量删除 --> | 
|     <delete id="deleteByIds" parameterType="java.util.List"> | 
|         delete from sys_check_detail where  id in | 
|         <foreach collection="list" index="index" item="item" open="(" | 
|                  separator="," close=")"> | 
|             #{item} | 
|         </foreach> | 
|     </delete> | 
|   | 
|     <!-- 根据id删除--> | 
|     <delete id="deleteById" > | 
|         DELETE FROM sys_check_detail | 
|         where  id=#{id} | 
|     </delete> | 
|   | 
|   | 
|   | 
|   | 
|   | 
|     <!-- 分页查询 --> | 
|     <select id="selectInPage" resultMap="SysCheckDetailMap"> | 
|         SELECT | 
|         a.id, | 
|         a.check_id, | 
|         a.sku_id, | 
|         a.actuallySum, | 
|         a.remark, | 
|         case | 
|         when d.check_status = '已完成' THEN a.begin_balance | 
|         ELSE | 
|         ( SELECT | 
|         sum(STORE_TOTAL) | 
|         FROM | 
|              sys_store_info e where e.SKU_ID=a.sku_id and e.shop_id=d.shop_id ) | 
|         END AS begin_balance | 
|         from sys_check_detail a | 
|         LEFT JOIN shopping_goods c ON a.sku_id=c.ID | 
|         LEFT JOIN sys_check_info d ON d.ID = a.check_id | 
|         <where> | 
|             <if test="record!=null"> | 
|             <if test="record.checkId != null and record.checkId!='' "> | 
|                 and d.ID =#{record.checkId} | 
|             </if> | 
|             <if test="record.checkNo != null and record.checkNo!='' "> | 
|                 and d.CHECK_NO =#{record.checkNo} | 
|             </if> | 
|   | 
|             <if test="record.goods!=null and record.goods.name != null and record.goods.name !='' "> | 
|                 and c.NAME LIKE concat('%',#{record.goods.name},'%') | 
|             </if> | 
|             <if test="record.goods!=null and record.goods.goodsSortId != null and record.goods.goodsSortId !='' "> | 
|                 and c.GOODS_SORT_ID=  #{record.goods.goodsSortId} | 
|             </if> | 
| <!--            <if test="record.goods!=null and record.goods.goodsAttr != null and record.goods.goodsAttr !='' ">--> | 
| <!--                and c.GOODS_ATTR=  #{record.goods.goodsAttr}--> | 
| <!--            </if>--> | 
|             <if test="record.goods!=null and record.goods.code != null and record.goods.code !='' "> | 
|                 and c.code LIKE   concat('%',#{record.goods.code},'%') | 
|             </if> | 
|         </if> | 
|         </where> | 
|         <if test="pageVo !=null"><!-- 判断pageVo对象是否为空 --> | 
|             <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(*) | 
|         from sys_check_detail a | 
|         LEFT JOIN shopping_goods c ON a.sku_id=c.ID | 
|         LEFT JOIN sys_check_info d ON d.ID = a.check_id | 
|         where 1=1 | 
|         <if test="record!=null"> | 
|             <if test="record.checkId != null and record.checkId!='' "> | 
|                 and d.ID =#{record.checkId} | 
|             </if> | 
|             <if test="record.checkNo != null and record.checkNo!='' "> | 
|                 and d.CHECK_NO =#{record.checkNo} | 
|             </if> | 
|   | 
|             <if test="record.goods!=null and record.goods.name != null and record.goods.name !='' "> | 
|                 and c.name LIKE   concat('%',#{record.goods.name},'%') | 
|             </if> | 
|             <if test="record.goods!=null and record.goods.goodsSortId != null and record.goods.goodsSortId !='' "> | 
|                 and c.GOODS_SORT_ID=  #{record.goods.goodsSortId} | 
|             </if> | 
| <!--            <if test="record.goods!=null and record.goods.goodsAttr != null and record.goods.goodsAttr !='' ">--> | 
| <!--                and c.GOODS_ATTR=  #{record.goods.goodsAttr}--> | 
| <!--            </if>--> | 
|             <if test="record.goods!=null and record.goods.goodsNo != null and record.goods.goodsNo !='' "> | 
|                 and c.goods_no LIKE   concat('%',#{record.goods.goodsNo},'%') | 
|             </if> | 
|         </if> | 
|     </select> | 
|   | 
|     <!-- 根据id查询--> | 
|     <select id="selectById" resultMap="SysCheckDetailMap"> | 
|         select | 
|             id, | 
|             check_id, | 
|             sku_id, | 
|             begin_balance, | 
|             income_num, | 
|             outcome_num, | 
|             end_balance, | 
|             price, | 
|             priceSum, | 
|             actuallySum, | 
|             remark, | 
|             storeId | 
|         from sys_check_detail | 
|         where  id=#{id} | 
|     </select> | 
|   | 
|   | 
|     <!-- 根据对象查询--> | 
|     <select id="selectByModel" resultMap="SysCheckDetailMap"> | 
|         SELECT | 
|         a.id, | 
|         a.check_id, | 
|         a.sku_id, | 
|         a.actuallySum, | 
|         case | 
|         when d.check_status = '已完成' THEN a.begin_balance | 
|         ELSE | 
|         ( SELECT | 
|         sum(STORE_TOTAL) | 
|         FROM | 
|         sys_store_info e where e.SKU_ID=a.sku_id and e.shop_id=d.shop_id ) | 
|         END AS begin_balance | 
|         from sys_check_detail a | 
|         LEFT JOIN shopping_goods c ON a.sku_id=c.ID | 
|         LEFT JOIN sys_check_info d ON d.ID = a.check_id | 
|         <where> | 
|             <if test="record!=null"> | 
|                 <if test="record.id != null and record.id !='' "> | 
|                     and id = ${record.id} | 
|                 </if> | 
|                 <if test="record.checkId != null and record.checkId !='' "> | 
|                     and check_id =#{record.checkId} | 
|                 </if> | 
|             </if> | 
|         </where> | 
|     </select> | 
|   | 
|     <!-- 根据对象查询--> | 
|     <select id="selectByModelSimple" resultMap="SysCheckDetailMapSimple"> | 
|         SELECT | 
|         a.id, | 
|         a.check_id, | 
|         a.sku_id, | 
|         a.actuallySum, | 
|         case | 
|         when d.check_status = '已完成' THEN a.begin_balance | 
|         ELSE | 
|         ( SELECT | 
|         sum(STORE_TOTAL) | 
|         FROM | 
|         sys_store_info e where e.SKU_ID=a.sku_id and e.shop_id=d.shop_id ) | 
|         END AS begin_balance | 
|         from sys_check_detail a | 
|         LEFT JOIN shopping_goods c ON a.sku_id=c.ID | 
|         LEFT JOIN sys_check_info d ON d.ID = a.check_id | 
|     <where> | 
|         <if test="record!=null"> | 
|             <if test="record.id != null and record.id !='' "> | 
|                 and id = ${record.id} | 
|             </if> | 
|             <if test="record.checkId != null and record.checkId !='' "> | 
|                 and check_id =#{record.checkId} | 
|             </if> | 
|         </if> | 
|     </where> | 
|     </select> | 
|   | 
|   | 
|   | 
|   | 
|   | 
|   | 
| </mapper> |