|
|
<?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.xujie.modules.srm.mapper.SrmSupplierMapper">
<!-- 基础字段映射 --> <sql id="Base_Column_List"> id,site,supplier_no,supplier_name,supplier_group,create_date,create_by,update_date,update_by,supplier_doc_type, TaxCode,tax,FaxNo,PhoneNo,PhoneNo2,PhoneNo3,Contact,Address,PaymentTerm,DeliveryTerm,Buyer,SourcingStaff, Currency,ABC,Active,BankName,BankAccount,TaxNo,Email,Email2,Other_contact1,Other_contact2,Other_contact3,Memo </sql>
<select id="searchSrmSupplierList" resultType="SrmSupplierData"> SELECT s.id,s.site,s.supplier_no,s.supplier_name,s.supplier_group,sg.GroupDesc AS groupDesc,s.supplier_doc_type, s.create_date,s.create_by,s.update_date,s.update_by,s.Buyer,s.SourcingStaff AS sourcingStaff,s.PhoneNo, s.PhoneNo2,s.PhoneNo3,s.FaxNo,s.Contact,s.Address,s.Email,s.Email2, s.PaymentTerm,pt.PaymentTerm AS paymentTermDesc, s.DeliveryTerm,dt.DeliveryTerm AS deliveryTermDesc, s.Currency, s.TaxCode,t.TaxDesc AS taxDesc,s.tax AS taxRate, s.ABC,s.Active,s.BankName,s.BankAccount,s.TaxNo, s.Other_contact1,s.Other_contact2,s.Other_contact3, s.Memo FROM srm_supplier s LEFT JOIN SupplierGroup sg ON sg.supplier_group = s.supplier_group AND sg.Site = s.site LEFT JOIN Currency c ON c.Currency = s.Currency AND c.Site = s.site LEFT JOIN Tax t ON t.TaxCode = s.TaxCode AND t.Site = s.site LEFT JOIN DeliveryTerm dt ON dt.DeliveryTermID = s.DeliveryTerm AND dt.Site = s.site LEFT JOIN PaymentTerm pt ON pt.PaymentTermID = s.PaymentTerm AND pt.Site = s.site <where> <if test="query.site != null and query.site != ''"> AND s.site = #{query.site} </if>
<if test="query.supplierNo != null and query.supplierNo != ''"> AND s.supplier_no LIKE '%' + #{query.supplierNo} + '%' </if>
<if test="query.supplierName != null and query.supplierName != ''"> AND s.supplier_name LIKE '%' + #{query.supplierName} + '%' </if>
<if test="query.supplierGroup != null and query.supplierGroup != ''"> AND s.supplier_group = #{query.supplierGroup} </if>
<if test="query.active != null and query.active != ''"> AND s.Active = #{query.active} </if> </where> ORDER BY id </select> <select id="checkSrmSupplierList" resultType="SrmSupplierData"> SELECT id,site,supplier_no,supplier_name,supplier_group,create_date,create_by,update_date,update_by,supplier_doc_type, TaxCode,tax,FaxNo,PhoneNo,PhoneNo2,PhoneNo3,Contact,Address,PaymentTerm,DeliveryTerm,Buyer,SourcingStaff, Currency,ABC,Active,BankName,BankAccount,TaxNo,Email,Email2,Other_contact1,Other_contact2,Other_contact3,Memo FROM srm_supplier <where>
<if test="site != null and site != ''"> AND site=#{site} </if> <if test = "supplierNo != null and supplierNo != ''"> AND supplier_no = #{supplierNo} </if>
</where>
</select> <update id="updateTransNo" > EXEC UpdateTransNo #{site}, #{transType} </update>
<select id="getTransNo" resultType="String"> SELECT
dbo.Get_TransNo(#{site},#{transType}) as transNo </select> <select id="searchSupplierGroupRequestList" resultType="SrmSupplierGroupRequsetData"> select a.id,a.site,a.request_no,a.request_date,a.supplier_no,a.old_supplier_group,a.new_supplier_group,a.reason,a.[status], a.create_by,a.update_date,a.update_by,dbo.plm_get_user_display(a.site,a.create_by) requestBy from srm_supplierGroupRequset a <where> <if test="site !=null and site !=''"> and a.site =#{site} </if> <if test="requestNo !=null and requestNo !=''"> and a.request_no like '%' + #{requestNo} + '%' </if> <if test="supplierNo !=null and supplierNo !=''"> and a.supplier_no like '%' + #{supplierNo} + '%' </if> <if test="status !=null and status !=''"> and a.status like '%' + #{status} + '%' </if> </where> order by a.create_date desc </select> <select id="getSupplierGroupRequestList" resultType="SrmSupplierGroupRequsetData"> SELECT a.id,a.site,a.request_no,a.request_date,a.supplier_no,a.old_supplier_group,a.new_supplier_group,a.reason,a.[status], a.create_date,a.create_by,a.update_date,a.update_by,dbo.plm_get_user_display(a.site,a.create_by) requestBy,b.supplier_name FROM srm_supplierGroupRequset a left join srm_supplier b on a.site=b.site and a.supplier_no=b.supplier_no <where>
<if test="query.site != null and query.site != ''"> AND a.site=#{query.site} </if> <if test="query.startDate != null "> AND a.request_date >= #{query.startDate} </if> <if test="query.endDate != null "> AND #{query.endDate} >=a.request_date </if> <if test = "query.requestNo != null and query.requestNo != ''"> AND a.request_no like '%' + #{query.requestNo} + '%' </if> <if test = "query.supplierNo != null and query.supplierNo != ''"> AND a.supplier_no like '%' + #{query.supplierNo} + '%' </if> <if test = "query.supplierName != null and query.supplierName != ''"> AND b.supplier_name like '%' + #{query.supplierName} + '%' </if> <if test = "query.status != null and query.status != ''"> AND a.status like '%' + #{query.status} + '%' </if> <if test = "query.requestBy != null and query.requestBy != ''"> AND dbo.plm_get_user_display(a.site,a.create_by) like '%' + #{query.requestBy} + '%' </if> </where>
</select> <!-- 新增:用于MyBatis Plus内置分页的查询方法(无ORDER BY,避免SQL Server分页问题) --> <select id="queryPage" resultType="SrmSupplierGroupRequsetData"> SELECT a.id,a.site,a.request_no,a.request_date,a.supplier_no,a.old_supplier_group,a.new_supplier_group,a.reason,a.status, a.create_date,a.create_by,a.update_date,a.update_by,dbo.plm_get_user_display(a.site,a.create_by) requestBy,b.supplier_name FROM srm_supplierGroupRequset a left join srm_supplier b on a.site=b.site and a.supplier_no=b.supplier_no <where> <if test="query.site != null and query.site != ''"> AND a.site=#{query.site} </if> <if test="query.startDate != null "> AND a.request_date >= #{query.startDate} </if> <if test="query.endDate != null "> AND #{query.endDate} >=a.request_date </if> <if test = "query.requestNo != null and query.requestNo != ''"> AND a.request_no like '%' + #{query.requestNo} + '%' </if> <if test = "query.supplierNo != null and query.supplierNo != ''"> AND a.supplier_no like '%' + #{query.supplierNo} + '%' </if> <if test = "query.supplierName != null and query.supplierName != ''"> AND b.supplier_name like '%' + #{query.supplierName} + '%' </if> <if test = "query.status != null and query.status != ''"> AND a.status like '%' + #{query.status} + '%' </if> <if test = "query.requestBy != null and query.requestBy != ''"> AND dbo.plm_get_user_display(a.site,a.create_by) like '%' + #{query.requestBy} + '%' </if> </where> order by a.request_date desc </select> <insert id="saveSrmSupplierGroupRequsetData" > insert into srm_supplierGroupRequset(site,request_no,request_date,supplier_no,old_supplier_group,new_supplier_group,reason,[status],create_date,create_by) values(#{site},#{requestNo},#{requestDate},#{supplierNo},#{oldSupplierGroup},#{newSupplierGroup},#{reason},#{status},GetDate(),#{createBy}) </insert> <update id="confirmRequest"> update srm_supplierGroupRequset set update_by=#{updateBy},update_date=GetDate(),status=#{status} where id=#{id,jdbcType=INTEGER} </update> <update id="updateSupplierGroup"> update srm_supplier set supplier_group=#{newSupplierGroup} where site=#{site} and supplier_no=#{supplierNo} </update> <select id="getNewSupplierContract" resultType="SrmSupplierContractData"> select a.id,a.site,a.contractId,a.supplierNo,a.contractDate,a.validTo,a.amout,a.currency,a.contractNo,a.contractName,a.contractDetail, a.create_by,a.create_date,a.update_by,a.update_date,b.supplier_name,a.needRenew from srm_supplierContract a left join srm_supplier b on a.supplierNo=b.supplier_no <where> <if test="site != null and site != ''"> AND a.site=#{site} </if> <if test = "supplierNo != null and supplierNo != ''"> AND a.supplierNo = #{supplierNo} </if> <if test = "contractId != null and contractId != ''"> AND a.contractId = #{contractId} </if> </where> order by a.contractDate desc </select> <insert id="createNewSupplierContract"> insert into srm_supplierContract (site,contractId,supplierNo,contractDate,validTo,amout,currency,contractNo, contractName,contractDetail,create_by,create_date,needRenew) values (#{site},#{contractId},#{supplierNo},#{contractDate},#{validTo},#{amout},#{currency},#{contractNo}, #{contractName},#{contractDetail},#{createBy},GETDATE(),#{needRenew}) </insert> <update id="updateSupplierContract"> update srm_supplierContract set contractDate=#{contractDate},validTo=#{validTo},amout=#{amout},currency=#{currency},contractNo=#{contractNo}, contractName=#{contractName},contractDetail=#{contractDetail},update_date=GETDATE(),update_by=#{updateBy} where id=#{id} </update> <delete id="deleteSupplierContract"> delete from srm_supplierContract where id=#{id} </delete>
<insert id="saveSrmContractRequset"> insert into srm_contractRequset(site,request_no,request_date,supplier_no,contractId, [status],create_date,create_by) values(#{site},#{requestNo},#{requestDate},#{supplierNo},#{contractId}, #{status},GetDate(),#{createBy}) </insert>
<select id="getContractRequestList" resultType="SrmContractRequsetData"> select a.id,a.site,a.request_no,a.request_date,a.supplier_no,a.contractId,a.status,a.create_date,a.create_by,a.update_date, a.update_by ,b.supplier_name,c.contractNo,c.contractName,c.contractDetail from srm_contractRequset a left join srm_supplier b on a.site=b.site and a.supplier_no=b.supplier_no left join srm_supplierContract c on a.site=c.site and a.contractId=c.contractId <where> <if test="query.site != null and query.site != ''"> AND a.site=#{query.site} </if> <if test="query.startDate != null "> AND a.request_date >= #{query.startDate} </if> <if test="query.endDate != null "> AND #{query.endDate} >=a.request_date </if> <if test = "query.requestNo != null and query.requestNo != ''"> AND a.request_no like '%' + #{query.requestNo} + '%' </if> <if test = "query.supplierNo != null and query.supplierNo != ''"> AND a.supplier_no like '%' + #{query.supplierNo} + '%' </if> <if test = "query.supplierName != null and query.supplierName != ''"> AND b.supplier_name like '%' + #{query.supplierName} + '%' </if> <if test = "query.status != null and query.status != ''"> AND a.status like '%' + #{query.status} + '%' </if> </where> order by a.request_date desc </select>
<update id="updateContractRequestStatus"> update srm_contractRequset set status=#{status} where site=#{site} and contractId=#{contractId} </update> <update id="updateContractRequestStatusForRequestNo"> update srm_contractRequset set status=#{status} where site=#{site} and request_no=#{requestNo} </update> <update id="updateContractRenewFlag"> update srm_supplierContract set needRenew=#{needRenew} where site=#{site} and contractId=#{contractId} </update>
<!-- 新增供应商 --> <insert id="insertSrmSupplier" parameterType="com.xujie.modules.srm.entity.SrmSupplier"> INSERT INTO srm_supplier ( site, supplier_no, supplier_name, supplier_group, create_date, create_by, update_date, update_by, supplier_doc_type, TaxCode, tax, FaxNo, PhoneNo, PhoneNo2, PhoneNo3, Contact, Address, PaymentTerm, DeliveryTerm, Buyer, SourcingStaff, Currency, ABC, Active, BankName, BankAccount, TaxNo, Email, Email2, Other_contact1, Other_contact2, Other_contact3, Memo ) VALUES ( #{site}, #{supplierNo}, #{supplierName}, #{supplierGroup}, #{createDate}, #{createBy}, #{updateDate}, #{updateBy}, #{supplierDocType}, #{taxCode}, #{tax}, #{faxNo}, #{phoneNo}, #{phoneNo2}, #{phoneNo3}, #{contact}, #{address}, #{paymentTerm}, #{deliveryTerm}, #{buyer}, #{sourcingstaff}, #{currency}, #{abc}, #{active}, #{bankName}, #{bankAccount}, #{taxNo}, #{email}, #{email2}, #{otherContact1}, #{otherContact2}, #{otherContact3}, #{memo} ) </insert>
<!-- 更新供应商 --> <update id="updateSrmSupplier" parameterType="com.xujie.modules.srm.entity.SrmSupplier"> UPDATE srm_supplier <set> <if test="supplierNo != null and supplierNo != ''"> supplier_no = #{supplierNo}, </if> <if test="supplierName != null and supplierName != ''"> supplier_name = #{supplierName}, </if> <if test="supplierGroup != null and supplierGroup != ''"> supplier_group = #{supplierGroup}, </if> <if test="active != null and active != ''"> active = #{active}, </if> <if test="supplierDocType != null and supplierDocType != ''"> supplier_doc_type = #{supplierDocType}, </if> <if test="taxCode != null and taxCode != ''"> taxCode = #{taxCode}, </if> <if test="abc != null and abc != ''"> abc = #{abc}, </if> <if test="sourcingstaff != null and sourcingstaff != ''"> sourcingStaff = #{sourcingstaff}, </if> <if test="currency != null and currency != ''"> currency = #{currency}, </if> <if test="paymentTerm != null and paymentTerm != ''"> paymentTerm = #{paymentTerm}, </if> <if test="deliveryTerm != null and deliveryTerm != ''"> deliveryTerm = #{deliveryTerm}, </if> <if test="phoneNo != null and phoneNo != ''"> phoneNo = #{phoneNo}, </if> <if test="phoneNo2 != null and phoneNo2 != ''"> phoneNo2 = #{phoneNo2}, </if> <if test="phoneNo3 != null and phoneNo3 != ''"> phoneNo3 = #{phoneNo3}, </if> <if test="email != null and email != ''"> email = #{email}, </if> <if test="email2 != null and email2 != ''"> email2 = #{email2}, </if> <if test="faxNo != null and faxNo != ''"> faxNo = #{faxNo}, </if> <if test="otherContact1 != null and otherContact1 != ''"> otherContact1 = #{otherContact1}, </if> <if test="otherContact2 != null and otherContact2 != ''"> otherContact2 = #{otherContact2}, </if> <if test="otherContact3 != null and otherContact3 != ''"> otherContact3 = #{otherContact3}, </if> <if test="bankName != null and bankName != ''"> bankName = #{bankName}, </if> <if test="bankAccount != null and bankAccount != ''"> bankAccount = #{bankAccount}, </if> <if test="address != null and address != ''"> address = #{address}, </if> <if test="memo != null and memo != ''"> memo = #{memo}, </if> </set> WHERE id = #{id} </update>
<!-- 根据ID查询供应商 --> <select id="selectSrmSupplierById" parameterType="java.lang.Integer" resultType="com.xujie.modules.srm.entity.SrmSupplier"> SELECT <include refid="Base_Column_List" /> FROM srm_supplier WHERE id = #{id} </select>
<!-- 检查供应商是否存在 --> <select id="checkSupplierExists" parameterType="com.xujie.modules.srm.entity.SrmSupplier" resultType="java.lang.Integer"> SELECT COUNT(1) FROM srm_supplier WHERE 1=1 <if test="site != null and site != ''"> AND site = #{site} </if> <if test="supplierNo != null and supplierNo != ''"> AND supplier_no = #{supplierNo} </if> <if test="supplierName != null and supplierName != ''"> AND supplier_name = #{supplierName} </if> <if test="taxCode != null and taxCode != ''"> AND TaxCode = #{taxCode} </if> </select> <!-- 根据ID删除供应商 --> <delete id="deleteSrmSupplierById" parameterType="java.lang.Integer"> DELETE FROM srm_supplier WHERE id = #{id} </delete> <!-- 根据ID检查供应商是否存在 --> <select id="existsById" parameterType="java.lang.Integer" resultType="java.lang.Integer"> SELECT COUNT(1) FROM srm_supplier WHERE id = #{id} </select> <select id="checkSupplierNameExists" resultType="int"> SELECT COUNT(1) FROM srm_supplier WHERE site = #{site} AND supplier_name = #{supplierName} AND id <![CDATA[ <> ]]> #{id} </select>
</mapper>
|