<?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>
|