| <?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.SysGoodsDao"> | 
|   | 
|     <resultMap type="SysGoods" id="SysGoodsMap"> | 
|         <id property="id" column="ID"/> | 
|   | 
|         <!-- 外键id冲突时使用goodsId做映射 --> | 
|         <result property="id" column="goodsId"/> | 
|   | 
|         <result property="goodsNo" column="GOODS_NO"/> | 
|         <result property="name" column="NAME"/> | 
|         <result property="unit" column="UNIT"/> | 
|         <result property="deleted" column="DELETED"/> | 
|         <result property="goodsAttr" column="GOODS_ATTR"/> | 
|         <result property="goodsSortId" column="GOODS_SORT_ID"/> | 
|         <result property="supplierId" column="SUPPLIER_ID"/> | 
|         <result property="measure" column="MEASURE"/> | 
|         <result property="alarmNum" column="alarm_num"/> | 
|         <result property="volume" column="volume"/> | 
|         <result property="price" column="price"/> | 
|         <result property="wholesale" column="wholesale"/> | 
|         <result property="shopId" column="shop_id"/> | 
|         <result property="companyId" column="company_id"/> | 
|   | 
|   | 
|         <!-- 扩展属性 --> | 
|         <result property="goodsSortName" column="GOODS_SORT_NAME"/> | 
|   | 
|     </resultMap> | 
|     <!-- 不包含sku的map --> | 
|     <resultMap type="SysGoods" id="SysGoodsNoSkuMap"> | 
|         <id property="id" column="ID"/> | 
|         <result property="goodsNo" column="GOODS_NO"/> | 
|         <result property="name" column="NAME"/> | 
|         <result property="unit" column="UNIT"/> | 
|         <result property="deleted" column="DELETED"/> | 
|         <result property="goodsAttr" column="GOODS_ATTR"/> | 
|         <result property="goodsSortId" column="GOODS_SORT_ID"/> | 
|         <result property="supplierId" column="SUPPLIER_ID"/> | 
|         <result property="measure" column="MEASURE"/> | 
|   | 
|         <result property="alarmNum" column="alarm_num"/> | 
|         <result property="volume" column="volume"/> | 
|         <result property="price" column="price"/> | 
|         <result property="wholesale" column="wholesale"/> | 
|         <result property="shopId" column="shop_id"/> | 
|         <result property="companyId" column="company_id"/> | 
|   | 
|   | 
|         <!-- 扩展属性 --> | 
|         <result property="goodsSortName" column="GOODS_SORT_NAME"/> | 
|     </resultMap> | 
|   | 
|   | 
|     <!--  插入方法   --> | 
|     <insert id="insert" parameterType="SysGoods" | 
|             useGeneratedKeys="true" keyProperty="id"> | 
|         INSERT INTO sys_goods ( | 
|             ID, | 
|             GOODS_NO, | 
|             NAME, | 
|             UNIT, | 
|             DELETED, | 
|             GOODS_ATTR, | 
|             GOODS_SORT_ID, | 
|             SUPPLIER_ID, | 
|             MEASURE, | 
|             alarm_num, | 
|             volume, | 
|             price, | 
|             wholesale, | 
|             shop_id, | 
|             company_id | 
|         ) | 
|     VALUES ( | 
|             #{id}, | 
|             #{goodsNo}, | 
|             #{name}, | 
|             #{unit}, | 
|             #{deleted}, | 
|             #{goodsAttr}, | 
|             #{goodsSortId}, | 
|             #{supplierId}, | 
|             #{measure}, | 
|             #{alarmNum}, | 
|             #{volume}, | 
|             #{price}, | 
|             #{wholesale}, | 
|             #{shopId}, | 
|             #{companyId} | 
|     ) | 
|     </insert> | 
|   | 
|   | 
|     <!--  根据id更新 部分更新   --> | 
|     <update id="update"> | 
|         UPDATE sys_goods | 
|         <set> | 
|             <if test="measure != null and measure !='' "> | 
|                 MEASURE = #{measure}, | 
|             </if> | 
|             <if test="goodsNo != null and goodsNo !='' "> | 
|                 GOODS_NO = #{goodsNo}, | 
|             </if> | 
|             <if test="name != null and name !='' "> | 
|                 NAME = #{name}, | 
|             </if> | 
|             <if test="unit != null and unit !='' "> | 
|                 UNIT = #{unit}, | 
|             </if> | 
|   | 
|             <if test="deleted != null and deleted !='' "> | 
|                 DELETED = #{deleted}, | 
|             </if> | 
|             <if test="goodsAttr != null and goodsAttr !='' "> | 
|                 GOODS_ATTR = #{goodsAttr}, | 
|             </if> | 
|             <if test="goodsSortId != null and goodsSortId !='' "> | 
|                 GOODS_SORT_ID = #{goodsSortId}, | 
|             </if> | 
|   | 
|             <if test="supplierId != null and supplierId !='' "> | 
|                 SUPPLIER_ID = #{supplierId}, | 
|             </if> | 
|   | 
|   | 
|             <if test="alarmNum != null and alarmNum !='' "> | 
|                 alarm_num = #{alarmNum}, | 
|             </if> | 
|             <if test="volume != null and volume !='' "> | 
|                 volume = #{volume}, | 
|             </if> | 
|             <if test="price != null and price !='' "> | 
|                 price = #{price}, | 
|             </if> | 
|             <if test="wholesale != null and wholesale !='' "> | 
|                 wholesale = #{wholesale}, | 
|             </if> | 
|             <if test="companyId != null and companyId !='' "> | 
|                 company_id = #{companyId}, | 
|             </if> | 
|             <if test="shopId != null and shopId !='' "> | 
|                 shop_id = #{shopId}, | 
|             </if> | 
|   | 
|         </set> | 
|         WHERE ID=#{id} | 
|     </update> | 
|   | 
|     <!-- 批量删除 --> | 
|     <delete id="deleteByIds" parameterType="java.util.List"> | 
|   | 
|         update | 
|         sys_goods | 
|         set | 
|         DELETED = 'Y', | 
|         GOODS_NO=concat(GOODS_NO,'[失效]') | 
|         where | 
|         ID in | 
|         <foreach collection="list" index="index" item="item" open="(" | 
|                  separator="," close=")"> | 
|             #{item} | 
|         </foreach> | 
|     </delete> | 
|   | 
|     <!-- 根据id删除--> | 
|     <delete id="deleteById"> | 
|         update | 
|             sys_goods | 
|         set | 
|             DELETED = 'Y', | 
|             GOODS_NO=concat(GOODS_NO,'[失效]') | 
|         where  ID=#{id}  | 
|     </delete> | 
|   | 
|   | 
|     <!-- 分页查询 --> | 
|     <select id="selectInPage" resultMap="SysGoodsMap"> | 
|         select | 
|         ID, | 
|         GOODS_NO, | 
|         NAME, | 
|         UNIT, | 
|         DELETED, | 
|         GOODS_ATTR, | 
|         GOODS_SORT_ID,<!-- 商品分类id --> | 
|         SUPPLIER_ID, | 
|         (select TYPE_NAME from sys_goods_type t where t.id=GOODS_SORT_ID) GOODS_SORT_NAME,<!-- 商品分类名称 --> | 
|   | 
|         MEASURE, | 
|         alarm_num, | 
|         volume, | 
|         price, | 
|         wholesale, | 
|         shop_id, | 
|         company_id | 
|         from sys_goods | 
|         where | 
|         1=1 | 
|         and | 
|         DELETED = 'N' | 
|         <if test="record!=null"> | 
|             <if test="record.id != null and record.id !='' "> | 
|                 and ID = #{record.id} | 
|             </if> | 
|             <if test="record.goodsNo != null and record.goodsNo !='' "> | 
|                 and GOODS_NO like CONCAT('%',#{record.goodsNo},'%') | 
|             </if> | 
|             <if test="record.name != null and record.name !='' "> | 
|                 and NAME like CONCAT('%',#{record.name},'%') | 
|             </if> | 
|             <if test="record.goodsAttr != null and record.goodsAttr !='' "> | 
|                 and GOODS_ATTR like concat('%',#{record.goodsAttr},'%') | 
|             </if> | 
|             <if test="record.goodsSortId != null and record.goodsSortId !='' "> | 
|                 and GOODS_SORT_ID = #{record.goodsSortId} | 
|             </if> | 
|             <if test="record.supplierId != null and record.supplierId !='' "> | 
|                 and SUPPLIER_ID = #{record.supplierId} | 
|             </if> | 
|             <if test="record.shopId != null and record.shopId !='' "> | 
|                 and shop_id = #{record.shopId} | 
|             </if> | 
|             <if test="record.companyId != null and record.companyId !='' "> | 
|                 and company_id = #{record.companyId} | 
|             </if> | 
|         </if> | 
|   | 
|         <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_goods | 
|         where | 
|         1=1 | 
|         and | 
|         DELETED = 'N' | 
|         <if test="record!=null"> | 
|             <if test="record.id != null and record.id !='' "> | 
|                 and ID = #{record.id} | 
|             </if> | 
|             <if test="record.goodsNo != null and record.goodsNo !='' "> | 
|                 and GOODS_NO like CONCAT('%',#{record.goodsNo},'%') | 
|             </if> | 
|             <if test="record.name != null and record.name !='' "> | 
|                 and NAME like CONCAT('%',#{record.name},'%') | 
|             </if> | 
|             <if test="record.goodsAttr != null and record.goodsAttr !='' "> | 
|                 and GOODS_ATTR like concat('%',#{record.goodsAttr},'%') | 
|                 <!-- and #{record.goodsAttr} like concat('%',GOODS_ATTR,'%') --> | 
|             </if> | 
|             <if test="record.goodsSortId != null and record.goodsSortId !='' "> | 
|                 and GOODS_SORT_ID = #{record.goodsSortId} | 
|             </if> | 
|             <if test="record.supplierId != null and record.supplierId !='' "> | 
|                 and SUPPLIER_ID = #{record.supplierId} | 
|             </if> | 
|             <if test="record.shopId != null and record.shopId !='' "> | 
|                 and shop_id = #{record.shopId} | 
|             </if> | 
|             <if test="record.companyId != null and record.companyId !='' "> | 
|                 and company_id = #{record.companyId} | 
|             </if> | 
|         </if> | 
|     </select> | 
|   | 
|     <!-- 根据id查询--> | 
|     <select id="selectById" resultMap="SysGoodsMap"> | 
|         select | 
|         ID, | 
|         GOODS_NO, | 
|         NAME, | 
|         UNIT, | 
|         DELETED, | 
|         GOODS_ATTR, | 
|         SUPPLIER_ID, | 
|         MEASURE, | 
|         GOODS_SORT_ID,<!-- 商品分类id --> | 
|         (select TYPE_NAME from sys_goods_type t where t.id=GOODS_SORT_ID) GOODS_SORT_NAME,<!-- 商品分类名称 --> | 
|         alarm_num, | 
|         volume, | 
|         price, | 
|         wholesale, | 
|         shop_id, | 
|         company_id | 
|         from sys_goods | 
|         where | 
|         id=#{id} | 
|         and | 
|         deleted='N' | 
|     </select> | 
|   | 
|   | 
|     <!-- 根据对象查询--> | 
|     <select id="selectByModel" resultMap="SysGoodsMap"> | 
|         select | 
|         ID, | 
|         GOODS_NO, | 
|         NAME, | 
|         UNIT, | 
|         DELETED, | 
|         GOODS_ATTR, | 
|         SUPPLIER_ID, | 
|         MEASURE, | 
|         GOODS_SORT_ID,<!-- 商品分类id --> | 
|         (select TYPE_NAME from sys_goods_type t where t.id=GOODS_SORT_ID) GOODS_SORT_NAME,<!-- 商品分类名称 --> | 
|         alarm_num, | 
|         volume, | 
|         price, | 
|         wholesale, | 
|         shop_id, | 
|         company_id | 
|         from sys_goods | 
|         where | 
|         1=1 | 
|         and | 
|         deleted = 'N' | 
|         <if test="record!=null"> | 
|             <if test="record.id != null and record.id !='' "> | 
|                 and ID = #{record.id} | 
|             </if> | 
|             <if test="record.goodsNo != null and record.goodsNo !='' "> | 
|                 and GOODS_NO like CONCAT('%',#{record.goodsNo},'%') | 
|             </if> | 
|             <if test="record.name != null and record.name !='' "> | 
|                 and NAME like CONCAT('%',#{record.name},'%') | 
|             </if> | 
|             <if test="record.goodsAttr != null and record.goodsAttr !='' "> | 
|                 and GOODS_ATTR = #{record.goodsAttr} | 
|             </if> | 
|             <if test="record.goodsSortId != null and record.goodsSortId !='' "> | 
|                 and GOODS_SORT_ID = #{record.goodsSortId} | 
|             </if> | 
|             <if test="record.supplierId != null and record.supplierId !='' "> | 
|                 and SUPPLIER_ID = #{record.supplierId} | 
|             </if> | 
|             <if test="record.shopId != null and record.shopId !='' "> | 
|                 and shop_id = #{record.shopId} | 
|             </if> | 
|             <if test="record.companyId != null and record.companyId !='' "> | 
|                 and company_id = #{record.companyId} | 
|             </if> | 
|         </if> | 
|     </select> | 
|   | 
|     <!-- 统计本产品中的sku是否被项目所绑定 --> | 
|     <select id="getbindProjCount" parameterType="java.lang.Long" resultType="java.lang.Integer"> | 
|     select | 
|             count(1) | 
|         from | 
|             sys_proj_goods a  | 
|         where | 
|             a.SKU_ID =#{id} | 
|     </select> | 
|   | 
|   | 
|     <select id="getbindTaocanCount" parameterType="java.lang.Long" resultType="java.lang.Integer"> | 
|         select | 
|             count(1) | 
|         from | 
|             shopping_goods_assemble a  | 
|         where | 
|             a.assemble_sku_id =#{id} | 
|     </select> | 
|   | 
|   | 
|     <!-- 查询所有的编号,供用户查看--> | 
|     <select id="selectAllNo" resultMap="SysGoodsNoSkuMap"> | 
|         select  | 
|             ID, | 
|             GOODS_NO             | 
|         from sys_goods | 
|     </select> | 
| </mapper> |