You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
udi-wms-java/src/main/resources/mybatis/mapper/purchase/PurPlanDetailDao.xml

234 lines
8.8 KiB
XML

<?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.glxp.api.dao.purchase.PurPlanDetailDao">
<select id="queryPageList" parameterType="com.glxp.api.req.purchase.PurPlanDetailRequest"
resultType="com.glxp.api.entity.purchase.PurPlanDetailEntity">
select *
FROM pur_plan_detail
<where>
<if test="orderIdFk != '' and orderIdFk != null">
AND orderIdFk = #{orderIdFk}
</if>
<if test="productId != null">
AND productId = #{productId}
</if>
<if test="supId != '' and supId != null">
AND supId = #{supId}
</if>
</where>
</select>
<select id="joinQueryList" parameterType="com.glxp.api.req.purchase.PurPlanDetailRequest"
resultType="com.glxp.api.res.purchase.PurOrderDetailResponse">
SELECT
pur_plan_detail.*,
basic_products.ggxh spec,
basic_products.nameCode nameCode,
basic_products.measname,
basic_products.manufactory,
basic_products.ylqxzcrbarmc,
basic_corp.`name` supName
FROM
pur_plan_detail
INNER JOIN basic_udirel ON pur_plan_detail.productId = basic_udirel.id
INNER JOIN basic_products ON basic_udirel.uuid = basic_products.uuid
left JOIN basic_corp ON pur_plan_detail.supId = basic_corp.erpId
<where>
<if test="orderIdFk != '' and orderIdFk != null">
AND orderIdFk = #{orderIdFk}
AND basic_products.diType=1
</if>
<if test="productId != null">
AND productId = #{productId}
</if>
<if test="supId != '' and supId != null">
AND supId = #{supId}
</if>
</where>
</select>
<select id="joinDrugQueryList" parameterType="com.glxp.api.req.purchase.PurPlanDetailRequest"
resultType="com.glxp.api.res.purchase.PurOrderDetailResponse">
SELECT
pur_plan_detail.*,
basic_products.ggxh spec,
basic_products.nameCode nameCode,
basic_products.measname,
basic_products.manufactory,
basic_products.ylqxzcrbarmc,
basic_products.bzgg,
basic_products.packUnit,
basic_products.prepnSpec,
basic_products.prepnUnit,
basic_corp.`name` supName
FROM
pur_plan_detail
INNER JOIN basic_udirel ON pur_plan_detail.productId = basic_udirel.id
INNER JOIN basic_products ON basic_udirel.uuid = basic_products.uuid
left JOIN basic_corp ON pur_plan_detail.supId = basic_corp.erpId
<where>
<if test="orderIdFk != '' and orderIdFk != null">
AND orderIdFk = #{orderIdFk}
AND basic_products.diType=1
</if>
<if test="productId != null">
AND productId = #{productId}
</if>
<if test="supId != '' and supId != null">
AND supId = #{supId}
</if>
</where>
</select>
<insert id="insert" keyProperty="id"
parameterType="com.glxp.api.entity.purchase.PurPlanDetailEntity">
replace
INTO pur_plan_detail
(
orderIdFk,productId,productName,`count`,supId,zczbhhzbapzbh,destinyId
)
values (
#{orderIdFk},
#{productId},
#{productName},
#{count},
#{supId},#{zczbhhzbapzbh},#{destinyId})
</insert>
<delete id="deleteByIds" parameterType="java.util.List">
DELETE FROM pur_plan_detail WHERE id in
<foreach collection="ids" item="item" open="(" separator="," close=")">
#{item}
</foreach>
</delete>
<delete id="deleteByOrderId" parameterType="map">
DELETE
FROM pur_plan_detail
WHERE orderIdFk = #{orderIdFk}
</delete>
<update id="update" parameterType="com.glxp.api.entity.purchase.PurPlanDetailEntity">
UPDATE pur_plan_detail
<trim prefix="set" suffixOverrides=",">
<if test="orderIdFk != null">orderIdFk=#{orderIdFk},</if>
<if test="productId != null">productId=#{productId},</if>
<if test="productName != null">productName=#{productName},</if>
<if test="count != null">`count`=#{count},</if>
<if test="supId != null">supId=#{supId},</if>
<if test="zczbhhzbapzbh != null">zczbhhzbapzbh=#{zczbhhzbapzbh},</if>
</trim>
WHERE id = #{id}
</update>
<insert id="insertPurPlanDetailEntity" keyProperty="id" parameterType="com.glxp.api.entity.purchase.PurPlanDetailEntity">
REPLACE INTO pur_plan_detail
( orderIdFk,productId,productName,count,supId,zczbhhzbapzbh) values
<foreach collection="datas" item="item" index="index" separator=",">
(
#{item.orderIdFk},
#{item.productId},
#{item.productName},
#{item.count},
#{item.supId},
#{item.zczbhhzbapzbh}
)
</foreach>
</insert>
<select id="selectIoOrderDetailBiz" parameterType="long"
resultType="com.glxp.api.entity.basic.BasicProductsEntity">
SELECT
b2.*
FROM
pur_plan_detail p1
LEFT JOIN basic_udirel b1 on b1.id=p1.productId
LEFT JOIN basic_products b2 on b1.uuid = b2 .uuid
<where>
<if test="id != null and id!='' ">
AND p1.id = #{id}
</if>
</where>
GROUP BY uuid
</select>
<select id="seletDetaiList" resultType="com.glxp.api.res.purchase.PurOrderDetailResponse">
SELECT
pur_plan_detail.*,
pur_plan.billNo,
basic_products.ggxh spec,
basic_products.measname,
basic_products.nameCode,
basic_products.manufactory,
basic_products.ylqxzcrbarmc,
basic_products.bzgg,
basic_products.packUnit,
basic_products.prepnSpec,
basic_products.prepnUnit,
basic_corp.`name` supName
FROM
pur_plan_detail
INNER JOIN basic_udirel ON pur_plan_detail.productId = basic_udirel.id
INNER JOIN basic_products ON basic_udirel.uuid = basic_products.uuid
left JOIN basic_corp ON pur_plan_detail.supId = basic_corp.erpId
left join pur_plan on pur_plan.id = pur_plan_detail.orderIdFk
Left Join sys_approval_flow as saf ON pur_plan.approvalFlowId = saf.id
<where>
<if test="nameCode != null and nameCode != ''">
AND basic_products.nameCode like concat('%', #{nameCode}, '%')
</if>
<if test="billNo != null and billNo != ''">
AND pur_plan.billNo like concat('%', #{billNo}, '%')
</if>
<if test="productType != null">
AND pur_plan.productType = #{productType}
</if>
<if test="productId != null">
AND productId like concat('%', #{productId}, '%')
</if>
<if test="productName != null and productName != ''">
AND productName like concat('%', #{productName}, '%')
</if>
<if test="spec != null and spec != ''">
AND basic_products.ggxh like concat('%', #{spec}, '%')
</if>
<if test="zczbhhzbapzbh != null and zczbhhzbapzbh != ''">
AND pur_plan_detail.zczbhhzbapzbh like concat('%', #{zczbhhzbapzbh}, '%')
</if>
<if test="manufactory != null and manufactory != ''">
AND basic_products.manufactory like concat('%', #{manufactory}, '%')
</if>
<if test="startDate != null and startDate !=''">
<![CDATA[ and DATE_FORMAT(pur_plan.createTime,'%Y-%m-%d')>= #{startDate}]]>
</if>
<if test="endDate != null and endDate !=''">
<![CDATA[ and DATE_FORMAT(pur_plan.createTime,'%Y-%m-%d') <= #{endDate}]]>
</if>
<if test="keyWords != '' and keyWords != null">
AND (
basic_products.nameCode LIKE concat('%', #{keyWords}, '%')
or pur_plan.billNo LIKE concat('%', #{keyWords}, '%')
or pur_plan.productType LIKE concat('%', #{keyWords}, '%')
or productId LIKE concat('%', #{keyWords}, '%')
or productName LIKE concat('%', #{keyWords}, '%')
or basic_products.ggxh LIKE concat('%', #{keyWords}, '%')
or pur_plan_detail.zczbhhzbapzbh LIKE concat('%', #{keyWords}, '%')
or basic_products.manufactory LIKE concat('%', #{keyWords}, '%')
)
</if>
and (pur_plan.status = 3 or saf.status = 3)
</where>
</select>
</mapper>