You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
459 lines
19 KiB
459 lines
19 KiB
<?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>
|