From 1e20f9b6c5bc642f92f77388c5f339f05a3ae9be Mon Sep 17 00:00:00 2001
From: chengf <cgf12138@163.com>
Date: 星期五, 27 三月 2026 16:47:00 +0800
Subject: [PATCH] 采购导入需求
---
java110-db/src/main/resources/mapper/store/PurchaseApplyServiceDaoImplMapper.xml | 272 ++++++++++++++++++++++++++++++++++++++++++++++++------
1 files changed, 242 insertions(+), 30 deletions(-)
diff --git a/java110-db/src/main/resources/mapper/store/PurchaseApplyServiceDaoImplMapper.xml b/java110-db/src/main/resources/mapper/store/PurchaseApplyServiceDaoImplMapper.xml
old mode 100644
new mode 100755
index a4149b8..e1b1a8e
--- a/java110-db/src/main/resources/mapper/store/PurchaseApplyServiceDaoImplMapper.xml
+++ b/java110-db/src/main/resources/mapper/store/PurchaseApplyServiceDaoImplMapper.xml
@@ -1,9 +1,9 @@
<?xml version="1.0" encoding="UTF-8" ?>
-<!DOCTYPE mapper
- PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+
<mapper namespace="purchaseApplyServiceDaoImpl">
- <resultMap type="com.java110.dto.purchaseApply.PurchaseApplyDto" id="applyMap">
+ <resultMap type="com.java110.dto.purchase.PurchaseApplyDto" id="applyMap">
<id column="applyOrderId" property="applyOrderId"/>
<result column="description" property="description"/>
<result column="resOrderType" property="resOrderType"/>
@@ -17,12 +17,14 @@
<result column="stateName" property="stateName"/>
<result column="endUserName" property="endUserName"/>
<result column="endUserTel" property="endUserTel"/>
+ <result column="communityId" property="communityId"/>
<!-- 涓�瀵瑰鍏崇郴 -->
<collection property="purchaseApplyDetailVo" ofType="com.java110.vo.api.purchaseApply.PurchaseApplyDetailVo"
javaType="java.util.ArrayList">
<id property="id" column="id"/>
<result property="applyOrderId" column="applyOrderId"/>
<result property="resId" column="resId"/>
+ <result column="rsId" property="rsId"/>
<result property="quantity" column="quantity"/>
<result property="resName" column="resName"/>
<result property="remark" column="remark"/>
@@ -36,9 +38,10 @@
<!-- 淇濆瓨閲囪喘鐢宠淇℃伅 add by wuxw 2018-07-03 -->
<insert id="saveBusinessPurchaseApplyInfo" parameterType="Map">
insert into business_purchase_apply
- (operate,res_order_type,description,apply_order_id,state,store_id,user_id,user_name,b_id,end_user_name,end_user_tel)
- values
- (#{operate},#{resOrderType},#{description},#{applyOrderId},#{state},#{storeId},#{userId},#{userName},#{bId},#{endUserName},#{endUserTel})
+ (operate, res_order_type, description, apply_order_id, state, store_id, user_id, user_name, b_id, end_user_name,
+ end_user_tel, community_id)
+ values (#{operate}, #{resOrderType}, #{description}, #{applyOrderId}, #{state}, #{storeId}, #{userId},
+ #{userName}, #{bId}, #{endUserName}, #{endUserTel}, #{communityId})
</insert>
<!-- 淇濆瓨閲囪喘鏄庣粏琛ㄥ浠借〃 -->
@@ -60,20 +63,49 @@
<!-- 淇濆瓨閲囪喘鏄庣粏琛�-->
<insert id="savePurchaseApplyDetailInfo" parameterType="List">
- insert into purchase_apply_detail (id,apply_order_id,res_id,quantity,remark,b_id,operate,status_cd)
- values
+ INSERT INTO purchase_apply_detail (
+ id, rs_id, apply_order_id, res_id, quantity, remark, b_id, operate, status_cd, price,
+ purchase_quantity, purchase_remark, original_stock, times_id, consult_price,
+ purchase_date2, purchase_quantity2, purchase_date3, purchase_quantity3,
+ first_cumulative_purchase_quantity, purchase_date, purchase_amount, purchaser,
+ contract_no, supplier, first_cumulative_delivery_quantity, delivery_order_no,
+ delivery_quantity, delivery_date, signer
+ )
+ VALUES
<foreach collection="list" item="item" index="index" separator=",">
(
#{item.id},
+ #{item.rsId},
#{item.applyOrderId},
#{item.resId},
#{item.quantity},
#{item.remark},
'-1',
'ADD',
- '0'
+ '0',
+ #{item.price},
+ #{item.purchaseQuantity},
+ #{item.purchaseRemark},
+ #{item.originalStock},
+ #{item.timesId},
+ #{item.consultPrice},
+ #{item.purchaseDate2},
+ #{item.purchaseQuantity2},
+ #{item.purchaseDate3},
+ #{item.purchaseQuantity3},
+ #{item.firstCumulativePurchaseQuantity},
+ #{item.purchaseDate},
+ #{item.purchaseAmount},
+ #{item.purchaser},
+ #{item.contractNo},
+ #{item.supplier},
+ #{item.firstCumulativeDeliveryQuantity},
+ #{item.deliveryOrderNo},
+ #{item.deliveryQuantity},
+ #{item.deliveryDate},
+ #{item.signer}
)
- </foreach>
+ </foreach>;
</insert>
<!-- 鏌ヨ閲囪喘鐢宠淇℃伅锛圔usiness锛� add by wuxw 2018-07-03 -->
@@ -97,7 +129,8 @@
t.end_user_name,
t.end_user_tel,
t.end_user_name endUserName,
- t.end_user_tel endUserTel
+ t.end_user_tel endUserTel,
+ t.community_id communityId
from business_purchase_apply t
where 1 =1
<if test="operate !=null and operate != ''">
@@ -130,6 +163,9 @@
<if test="endUserTel !=null and endUserTel != ''">
and t.end_user_tel= #{endUserTel}
</if>
+ <if test="communityId !=null and communityId != ''">
+ and t.community_id= #{communityId}
+ </if>
</select>
<select id="getBusinessPurchaseApplyDetailInfo" parameterType="Map" resultType="Map">
@@ -155,9 +191,10 @@
<!-- 淇濆瓨閲囪喘鐢宠淇℃伅鑷� instance琛ㄤ腑 add by wuxw 2018-07-03 -->
<insert id="savePurchaseApplyInfoInstance" parameterType="Map">
insert into purchase_apply
- (res_order_type,description,apply_order_id,status_cd,state,store_id,user_name,b_id,user_id,end_user_name,end_user_tel)
+ (res_order_type,description,apply_order_id,status_cd,state,store_id,user_name,b_id,user_id,end_user_name,end_user_tel,community_id)
select
- t.res_order_type,t.description,t.apply_order_id,'0',t.state,t.store_id,t.user_name,t.b_id,t.user_id,t.end_user_name,t.end_user_tel
+ t.res_order_type,t.description,t.apply_order_id,'0',t.state,t.store_id,t.user_name,t.b_id,t.user_id,t.end_user_name,t.end_user_tel,
+ t.community_id
from business_purchase_apply t where 1=1
and t.operate= 'ADD'
<if test="resOrderType !=null and resOrderType != ''">
@@ -181,6 +218,9 @@
<if test="userId !=null and userId != ''">
and t.user_id= #{userId}
</if>
+ <if test="communityId !=null and communityId != ''">
+ and t.community_id= #{communityId}
+ </if>
</insert>
<!-- 鏌ヨ閲囪喘鐢宠淇℃伅 add by wuxw 2018-07-03 -->
@@ -194,10 +234,17 @@
t.end_user_tel,
t.end_user_name endUserName,
t.end_user_tel endUserTel,
- t.description
+ t.create_user_id createUserId,
+ t.create_user_name createUserName,
+ t.warehousing_way warehousingWay,
+ t.community_id communityId
from purchase_apply t
- inner join t_dict d on t.state = d.status_cd and d.table_name = 'purchase_apply' and d.table_columns = 'state'
+ left join t_dict d
+ on t.state = d.status_cd
+ and d.table_name = 'purchase_apply'
+ and d.table_columns = 'state'
where 1 = 1
+
<if test="resOrderType !=null and resOrderType != ''">
and t.res_order_type= #{resOrderType}
</if>
@@ -205,13 +252,11 @@
and t.description= #{description}
</if>
<if test="applyOrderId !=null and applyOrderId != ''">
- and t.apply_order_id= #{applyOrderId}
+ and t.apply_order_id like concat('%',#{applyOrderId},'%')
</if>
-
<if test="applyOrderIds !=null ">
and t.apply_order_id in
- <foreach open="(" close=")"
- separator="," collection="applyOrderIds" item="item">
+ <foreach open="(" close=")" separator="," collection="applyOrderIds" item="item">
#{item}
</foreach>
</if>
@@ -239,6 +284,44 @@
<if test="userId !=null and userId != ''">
and t.user_id= #{userId}
</if>
+ <if test="createUserId !=null and createUserId != ''">
+ and t.create_user_id= #{createUserId}
+ </if>
+ <if test="communityId !=null and communityId != ''">
+ and t.community_id= #{communityId}
+ </if>
+
+ -- 璧勬簮鍚嶇О鏌ヨ锛堝叧閿慨鏀癸級
+ <if test="resName !=null and resName != ''">
+ and exists (
+ select 1
+ from purchase_apply_detail de
+ inner join resource_store rs
+ on de.res_id = rs.res_id
+ and rs.status_cd = '0'
+ where de.apply_order_id = t.apply_order_id
+ and de.status_cd = '0'
+ and rs.res_name like concat('%',#{resName},'%')
+ )
+ </if>
+
+ -- 鏃犺祫婧愬悕绉版椂锛屼粎鍒ゆ柇瀛樺湪鏈夋晥鏄庣粏
+ <if test="resName ==null or resName == ''">
+ and exists (
+ select 1
+ from purchase_apply_detail de
+ where de.apply_order_id = t.apply_order_id
+ and de.status_cd = '0'
+ )
+ </if>
+
+ <if test="startTime !=null and startTime != ''">
+ and t.create_time >= #{startTime}
+ </if>
+ <if test="endTime !=null and endTime != ''">
+ and t.create_time <= #{endTime}
+ </if>
+
order by t.create_time desc
<if test="page != -1 and page != null ">
limit #{page}, #{row}
@@ -256,7 +339,8 @@
t.end_user_name,
t.end_user_tel,
t.end_user_name endUserName,
- t.end_user_tel endUserTel
+ t.end_user_tel endUserTel,
+ t.community_id communityId
from purchase_apply t
inner join t_dict d on t.state = d.status_cd and d.table_name = 'purchase_apply' and d.table_columns = 'state'
inner join purchase_apply_detail de on de.apply_order_id = t.apply_order_id
@@ -286,22 +370,49 @@
<if test="endUserTel !=null and endUserTel != ''">
and t.end_user_tel= #{endUserTel}
</if>
+ <if test="createUserId !=null and createUserId != ''">
+ and t.create_user_id= #{createUserId}
+ </if>
+ <if test="communityId !=null and communityId != ''">
+ and t.community_id= #{communityId}
+ </if>
order by t.create_time desc
<if test="page != -1 and page != null ">
limit #{page}, #{row}
</if>
-
</select>
+
<!-- 鏌ヨ閲囪喘鏄庣粏 -->
<select id="getPurchaseApplyDetailInfo" parameterType="Map" resultType="Map">
select
p.id,
p.apply_order_id applyOrderId,
- p.res_id resId,p.quantity,p.remark,
+ p.res_id resId,p.quantity,p.remark,p.purchase_quantity purchaseQuantity,p.purchase_remark purchaseRemark,p.price
+ purchasePrice,p.original_stock originalStock,p.consult_price consultPrice,p.times_id timesId,
r.res_name resName,r.res_code resCode,
- r.price,r.stock
+ r.price,r.price standardPrice,rstime.stock,rst.name rstName,rst1.name parentRstName,rss.spec_name
+ specName,rs.supplier_name supplierName,
+ td1.name unitCodeName,
+ td2.name miniUnitCodeName,
+ r.sh_id shId,
+ sh.sh_name shName,
+ r.is_fixed isFixed,
+ td3.name isFixedName
from
- purchase_apply_detail p inner join resource_store r on p.res_id = r.res_id and r.status_cd = '0'
+ purchase_apply_detail p
+ inner join resource_store r on p.res_id = r.res_id and r.status_cd = '0'
+ left join storehouse sh on r.sh_id = sh.sh_id and sh.status_cd = '0'
+ left join t_dict td1 on r.unit_code = td1.status_cd and td1.table_name = 'resource_store' and td1.table_columns
+ = 'unit_code'
+ left join t_dict td2 on r.mini_unit_code = td2.status_cd and td2.table_name = 'resource_store' and
+ td2.table_columns = 'unit_code'
+ left join t_dict td3 on r.is_fixed = td3.status_cd and td3.table_name = 'resource_store' and
+ td3.table_columns = 'is_fixed'
+ LEFT JOIN resource_supplier rs on p.rs_id=rs.rs_id
+ LEFT JOIN resource_store_type rst on r.rst_id=rst.rst_id
+ LEFT JOIN resource_store_type rst1 on r.parent_rst_id=rst1.rst_id
+ LEFT JOIN resource_store_specification rss on r.rss_id=rss.rss_id
+ left join resource_store_times rstime on p.times_id = rstime.times_id and rstime.status_cd = '0'
where 1=1
and p.status_cd = '0'
<if test="applyOrderIds !=null">
@@ -351,6 +462,9 @@
<if test="endUserTel !=null and endUserTel != ''">
, t.end_user_tel= #{endUserTel}
</if>
+ <if test="communityId !=null and communityId != ''">
+ , t.community_id= #{communityId}
+ </if>
where 1=1
<if test="applyOrderId !=null and applyOrderId != ''">
and t.apply_order_id= #{applyOrderId}
@@ -364,7 +478,12 @@
<select id="queryPurchaseApplysCount" parameterType="Map" resultType="Map">
select count(1) count
from purchase_apply t
- where 1 =1
+ left join t_dict d
+ on t.state = d.status_cd
+ and d.table_name = 'purchase_apply'
+ and d.table_columns = 'state'
+ where 1 = 1
+
<if test="resOrderType !=null and resOrderType != ''">
and t.res_order_type= #{resOrderType}
</if>
@@ -372,7 +491,16 @@
and t.description= #{description}
</if>
<if test="applyOrderId !=null and applyOrderId != ''">
- and t.apply_order_id= #{applyOrderId}
+ and t.apply_order_id like concat('%',#{applyOrderId},'%')
+ </if>
+ <if test="applyOrderIds !=null ">
+ and t.apply_order_id in
+ <foreach open="(" close=")" separator="," collection="applyOrderIds" item="item">
+ #{item}
+ </foreach>
+ </if>
+ <if test="userName !=null and userName != ''">
+ and t.user_name like concat('%',#{userName},'%')
</if>
<if test="statusCd !=null and statusCd != ''">
and t.status_cd= #{statusCd}
@@ -395,13 +523,97 @@
<if test="userId !=null and userId != ''">
and t.user_id= #{userId}
</if>
+ <if test="createUserId !=null and createUserId != ''">
+ and t.create_user_id= #{createUserId}
+ </if>
+ <if test="communityId !=null and communityId != ''">
+ and t.community_id= #{communityId}
+ </if>
+
+ -- 璧勬簮鍚嶇О鏌ヨ锛堝叧閿慨鏀癸級
+ <if test="resName !=null and resName != ''">
+ and exists (
+ select 1
+ from purchase_apply_detail de
+ inner join resource_store rs
+ on de.res_id = rs.res_id
+ and rs.status_cd = '0'
+ where de.apply_order_id = t.apply_order_id
+ and de.status_cd = '0'
+ and rs.res_name like concat('%',#{resName},'%')
+ )
+ </if>
+
+ -- 鏃犺祫婧愬悕绉版椂锛屼粎鍒ゆ柇瀛樺湪鏈夋晥鏄庣粏
+ <if test="resName ==null or resName == ''">
+ and exists (
+ select 1
+ from purchase_apply_detail de
+ where de.apply_order_id = t.apply_order_id
+ and de.status_cd = '0'
+ )
+ </if>
+
+ <if test="startTime !=null and startTime != ''">
+ and t.create_time >= #{startTime}
+ </if>
+ <if test="endTime !=null and endTime != ''">
+ and t.create_time <= #{endTime}
+ </if>
+
</select>
<!-- 淇濆瓨閲囪喘鐢宠淇℃伅 add by wuxw 2018-07-03 -->
<insert id="savePurchaseApply" parameterType="Map">
- insert into purchase_apply
- (status_cd,res_order_type,description,apply_order_id,state,store_id,user_id,user_name,b_id,end_user_name,end_user_tel,create_time)
- values
- ('0',#{resOrderType},#{description},#{applyOrderId},#{state},#{storeId},#{userId},#{userName},'-1',#{endUserName},#{endUserTel},#{createTime})
+ INSERT INTO purchase_apply (
+ status_cd, res_order_type, description, apply_order_id, state, store_id, user_id, user_name, b_id,
+ end_user_name, end_user_tel,
+ create_time, create_user_id, create_user_name, warehousing_way, community_id,
+ apply_no, apply_date, approver, apply_quantity
+ )
+ VALUES (
+ '0', #{resOrderType}, #{description}, #{applyOrderId}, #{state}, #{storeId}, #{userId}, #{userName}, '-1',
+ #{endUserName}, #{endUserTel}, #{createTime}, #{createUserId}, #{createUserName}, #{warehousingWay}, #{communityId},
+ #{applyNo}, #{applyDate}, #{approver}, #{applyQuantity}
+ );
</insert>
+
+ <!--鏌ヨ涓嬬骇鐢ㄦ埛id-->
+ <select id="getActRuTaskUserId" parameterType="Map" resultType="Map">
+ SELECT ASSIGNEE_ taskUserId FROM ACT_RU_TASK t
+ LEFT JOIN ACT_HI_PROCINST ahp on t.PROC_INST_ID_=ahp.ID_
+ LEFT JOIN ACT_RU_EXECUTION are on t.EXECUTION_ID_=are.ID_
+ where 1 = 1
+ <if test="actRuTaskId !=null and actRuTaskId != ''">
+ and ahp.ID_ = #{actRuTaskId}
+ </if>
+ <if test="procDefId !=null and procDefId != ''">
+ and t.PROC_DEF_ID_ = #{procDefId}
+ </if>
+ <if test="businessKey !=null and businessKey != ''">
+ and ahp.BUSINESS_KEY_ = #{businessKey}
+ </if>
+ </select>
+
+ <!--鑾峰緱鑾峰彇娴佺▼浠诲姟id-->
+ <select id="getActRuTaskId" parameterType="Map" resultType="Map">
+ SELECT art.ID_ actRuTaskId FROM ACT_RU_EXECUTION are
+ LEFT JOIN ACT_RU_TASK art ON are.PROC_INST_ID_=art.PROC_INST_ID_
+ where 1 = 1
+ <if test="businessKey !=null and businessKey != ''">
+ and are.BUSINESS_KEY_ = #{businessKey}
+ </if>
+ </select>
+
+ <!-- 淇敼娴佺▼浠诲姟淇℃伅 -->
+ <update id="updateActRuTaskById" parameterType="Map">
+ update ACT_RU_TASK t set SUSPENSION_STATE_=1
+ <if test="assigneeUser != null and assigneeUser != ''">
+ ,t.ASSIGNEE_ = #{assigneeUser}
+ </if>
+ where 1=1
+ <if test="actRuTaskId !=null and actRuTaskId != ''">
+ and t.ID_= #{actRuTaskId}
+ </if>
+ </update>
</mapper>
--
Gitblit v1.8.0