zengtx 1 سال پیش
والد
کامیت
7a636282c6

+ 3 - 3
jeecg-boot-module-system/src/main/java/org/jeecg/modules/cost/mapper/xml/SyCostAllocationAccidentMapper.xml

@@ -19,14 +19,14 @@
 	<select id="queryByCostAccident" resultType="org.jeecg.modules.cost.entity.SyCostAllocationAccident">
 		select
 			it.id as id,its.u8_invoice as accidentNum,its.money_type,it.accident_number,its.accident_type,it.accident_theme,
-			case when its.money_type='美元' then ifnull(it.total_money,0) end as amount,
-			case when its.money_type='人民币' then ifnull(it.total_money,0) end as amountrmb,
+			case when its.money_type='美元' then ifnull(sum(its.accident_sum),0) end as amount,
+			case when its.money_type='人民币' then ifnull(sum(its.accident_sum),0) end as amountrmb,
 			CONCAT_WS(',',it.responsibility_person1,it.responsibility_person2,it.responsibility_person3,it.responsibility_person4) as responsibilityPerson1,
 			it.accident_data,it.responsibility_company as accidentUndertaker,it.customer,it.style_number,its.plan_number,it.plan_personnel,
 			it.business_people,it.garment_sales_order,material,it.quality_control,finance_remark
 		from incident_ticket it
 		join incident_ticket_children its on it.id=its.incident_ticket_id
-		where its.plan_number = #{code}
+		where its.plan_number = #{code} and it.state = '5'
 	</select>
 	<!--
 	SELECT ah.cPBVCode as accidentNum,ven.cVenAbbName as accidentUndertaker,sum(A.iOriSum) as amount,sum(a.iSum) as rmbamount

+ 8 - 7
jeecg-boot-module-system/src/main/java/org/jeecg/modules/cost/mapper/xml/SyCostAllocationFabricMapper.xml

@@ -39,7 +39,7 @@
 		join UFDATA_101_2021.dbo.Inventory oti on oti.cInvCode=ot.cInvCode
 		join UFDATA_101_2021.dbo.Inventory omi on omi.cInvCode=od.cInvCode
 		WHERE om.iVerifyStateNew = 2 and (om.cCloser is null or om.cCloser='asuser') and omi.cInvCcode like '19%' and om.cCode LIKE CONCAT(#{code},'%')
-		and (oti.cInvCcode like '03%' or oti.cInvCcode like '04%') and oti.cInvCCode != '0399' and oti.cInvCCode != '0499' and oti.cInvCCode != '0299'
+		and (oti.cInvCcode like '03%' or oti.cInvCcode like '04%' or oti.cInvCcode like '02%') and (oti.cInvCCode != '0399' or oti.cInvName like '%带%') and (oti.cInvCCode != '0499' or oti.cInvName like '%带%') and (oti.cInvCCode != '0299' or oti.cInvName like '%带%')
 		GROUP BY oti.cInvName
 		) tab
 		left join
@@ -54,7 +54,7 @@
 		join UFDATA_101_2021.dbo.Inventory omi on omi.cInvCode=od.cInvCode
 		WHERE om.cVerifier is not null and (om.cCloser is null or om.cCloser='asuser')
 		 and om.cPOID like CONCAT(#{code},'%')
-		) and (i.cInvCcode like '03%' or i.cInvCcode like '04%') and i.cInvCCode != '0399' and i.cInvCCode != '0499' and i.cInvCCode != '0299'
+		) and (i.cInvCcode like '03%' or i.cInvCcode like '04%' or i.cInvCcode like '02%') and (i.cInvCCode != '0399' or i.cInvName like '%带%') and (i.cInvCCode != '0499' or i.cInvName like '%带%') and (i.cInvCCode != '0299' or i.cInvName like '%带%')
 		 and rs.cBatch like CONCAT(#{code},'%')
 		GROUP BY i.cInvName
 		)tab1
@@ -69,8 +69,8 @@
 		join UFDATA_101_2021.dbo.Inventory omi on omi.cInvCode=od.cInvCode
 		WHERE om.iVerifyStateNew = 2 and (om.cCloser is null or om.cCloser='asuser')
 		and omi.cInvCcode like '19%' and om.cCode like CONCAT(#{code},'%')
-		) and (i.cInvCcode like '03%' or i.cInvCcode like '04%') and i.cInvCCode != '0399' and (i.cInvCCode != '0499' or i.cInvName like '%棉%') and i.cInvCCode != '0299'
-		 and rs.cBatch like CONCAT(#{code},'%')
+		) and (i.cInvCcode like '03%' or i.cInvCcode like '04%' or i.cInvCcode like '02%') and (i.cInvCCode != '0399' or i.cInvName like '%带%') and (i.cInvCCode != '0499' or i.cInvName like '%带%') and (i.cInvCCode != '0299' or i.cInvName like '%带%')
+
 		GROUP BY i.cInvName
 		)tab2 on tab2.cInvName=tab1.cInvName and tab2.cBatch=tab1.cBatch
 		GROUP BY tab2.cInvName
@@ -100,7 +100,7 @@
 		join UFDATA_103_2021.dbo.Inventory oti on oti.cInvCode=ot.cInvCode
 		join UFDATA_103_2021.dbo.Inventory omi on omi.cInvCode=od.cInvCode
 		WHERE om.iVerifyStateNew = 2 and (om.cCloser is null or om.cCloser='asuser') and omi.cInvCcode like '19%' and om.cCode LIKE CONCAT(#{code},'%')
-		and (oti.cInvCcode like '03%' or oti.cInvCcode like '04%') and oti.cInvCCode != '0399' and (oti.cInvCCode != '0499' or oti.cInvName like '%棉%') and oti.cInvCCode != '0299'
+		and (oti.cInvCcode like '03%' or oti.cInvCcode like '04%' or oti.cInvCcode like '02%') and (oti.cInvCCode != '0399' or oti.cInvName like '%带%') and (oti.cInvCCode != '0499' or oti.cInvName like '%带%') and (oti.cInvCCode != '0299' or oti.cInvName like '%带%')
 		GROUP BY oti.cInvName
 		) tab
 		left join
@@ -115,7 +115,8 @@
 		join UFDATA_103_2021.dbo.Inventory omi on omi.cInvCode=od.cInvCode
 		WHERE om.cVerifier is not null and (om.cCloser is null or om.cCloser='asuser')
 		 and om.cPOID like CONCAT(#{code},'%')
-		) and (i.cInvCcode like '03%' or i.cInvCcode like '04%') and i.cInvCCode != '0399' and (i.cInvCCode != '0499' or i.cInvName like '%棉%') and i.cInvCCode != '0299' and rs.cBatch like CONCAT(#{code},'%')
+		) and (i.cInvCcode like '03%' or i.cInvCcode like '04%' or i.cInvCcode like '02%') and (i.cInvCCode != '0399' or i.cInvName like '%带%') and (i.cInvCCode != '0499' or i.cInvName like '%带%') and (i.cInvCCode != '0299' or i.cInvName like '%带%')
+		 and rs.cBatch like CONCAT(#{code},'%')
 		GROUP BY i.cInvName
 		)tab1
 		right join
@@ -129,7 +130,7 @@
 		join UFDATA_103_2021.dbo.Inventory omi on omi.cInvCode=od.cInvCode
 		WHERE om.iVerifyStateNew = 2 and (om.cCloser is null or om.cCloser='asuser')
 		and omi.cInvCcode like '19%' and om.cCode like CONCAT(#{code},'%')
-		) and (i.cInvCcode like '03%' or i.cInvCcode like '04%') and i.cInvCCode != '0399' and (i.cInvCCode != '0499' or i.cInvName like '%棉%') and i.cInvCCode != '0299'
+		) and (i.cInvCcode like '03%' or i.cInvCcode like '04%' or i.cInvCcode like '02%') and (i.cInvCCode != '0399' or i.cInvName like '%带%') and (i.cInvCCode != '0499' or i.cInvName like '%带%') and (i.cInvCCode != '0299' or i.cInvName like '%带%')
 		and rs.cBatch like CONCAT(#{code},'%')
 		GROUP BY i.cInvName
 		)tab2 on tab2.cInvName=tab1.cInvName and tab2.cBatch=tab1.cBatch

+ 135 - 39
jeecg-boot-module-system/src/main/java/org/jeecg/modules/cost/mapper/xml/SyCostAllocationIngredientMapper.xml

@@ -30,34 +30,94 @@
 		else (isnull(tab2.jian,0)-isnull(tab1.purchaseQuantity,0))*tab.cost end as transferCost
 		from
 		(
-		select t3.goodsName,sum(t3.dosage) as dosage,sum(t3.usageQuantity) as usageQuantity,max(t3.cVenAbbName) as supper,sum(t3.rmbAmount) as rmbAmount,sum(t3.usdAmount) as usdAmount,sum(t3.priceExcludingtax) as priceExcludingtax,sum(t3.iCost) as cost from (
-
-
-		select t1.goodsName,t1.dosage,t1.usageQuantity,t2.cVenAbbName,t2.rmbAmount,t2.usdAmount,t2.priceExcludingtax,t2.iCost from (select  ot.cInvCode,od.isosid,om.ccode,oti.cInvName as goodsName,sum(ot.iUnitQuantity) as dosage,sum(ot.iSendQTY) as usageQuantity
-
-		from UFDATA_103_2021.dbo.om_momain om
-		join UFDATA_103_2021.dbo.OM_MODetails od on om.moid=od.moid
-		join UFDATA_103_2021.dbo.OM_MOMaterials ot on ot.MoDetailsID=od.MODetailsID
-		JOIN UFDATA_103_2021.dbo.Vendor v ON om.cVenCode= v.cVenCode
-		join UFDATA_103_2021.dbo.Inventory oti on oti.cInvCode=ot.cInvCode
-		join UFDATA_103_2021.dbo.Inventory omi on omi.cInvCode=od.cInvCode
-
-		WHERE om.iVerifyStateNew = 2 and (om.cCloser is null or om.cCloser='asuser') and omi.cInvCcode like '19%'
-		and om.cCode LIKE CONCAT(#{code},'%') and (oti.cInvCcode like '05%' or oti.cInvCcode like '06%'
-		or oti.cInvCcode like '07%' or oti.cInvCCode = '0399' or oti.cInvCCode = '0299' or oti.cInvCCode = '0499' and oti.cInvName not like '%棉%')
-		group by ot.cInvCode,od.isosid,om.ccode,oti.cInvName
-		) as t1,(select max(ven.cVenAbbName) as cVenAbbName,
-		bi.cInvCode,pod.iorderdid,sum(bi.iSum) as rmbAmount,sum(bi.iOriSum) as usdAmount
-		,sum(bi.iMoney) as priceExcludingtax,max(bi.iCost) as iCost
-		from UFDATA_103_2021.dbo.PO_Pomain pom
-		join UFDATA_103_2021.dbo.PO_Podetails pod on pod.POID  = pom.POID
-		join UFDATA_103_2021.dbo.PurBillVouchs bi  on bi.iPOsID=pod.ID
-		join UFDATA_103_2021.dbo.PurBillVouch bm  on bm.PBVID=bi.PBVID
-		join UFDATA_103_2021.dbo.Vendor ven on bm.cVenCode = ven.cVenCode
-		join UFDATA_103_2021.dbo.Inventory oti on oti.cInvCode=pod.cInvCode
-		GROUP BY bi.cInvCode,pod.iorderdid) as t2 where t1.cInvCode=t2.cInvCode and t2.iorderdid=t1.isosid
-		) t3  GROUP BY t3.goodsName
-
+			select t4.goodsName,sum(t4.dosage) as dosage,sum(t4.usageQuantity) as usageQuantity,max(t4.supper) as supper,sum(t4.rmbAmount) as rmbAmount,sum(t4.usdAmount) as usdAmount,sum(t4.priceExcludingtax) as priceExcludingtax,sum(t4.cost) as cost from(
+		SELECT t3.goodsName,t3.cVenAbbName AS supper,SUM ( t3.dosage ) AS dosage,SUM ( t3.usageQuantity ) AS usageQuantity,
+	
+	SUM ( t3.rmbAmount ) AS rmbAmount,SUM ( t3.usdAmount ) AS usdAmount,SUM ( t3.priceExcludingtax ) AS priceExcludingtax,
+	SUM ( t3.totalCost )/sum(totalSum) AS cost 
+FROM(
+SELECT t1.goodsName,t1.dosage,t1.usageQuantity,t2.cVenAbbName,t2.rmbAmount,t2.usdAmount,t2.priceExcludingtax,t2.totalCost,t2.totalSum	
+FROM
+	(
+SELECT ot.cInvCode,od.isosid,om.ccode,oti.cInvName AS goodsName,SUM (ot.iUnitQuantity) AS dosage,SUM (ot.iSendQTY) AS usageQuantity 
+FROM
+	UFDATA_103_2021.dbo.om_momain om
+	JOIN UFDATA_103_2021.dbo.OM_MODetails od ON om.moid= od.moid
+	JOIN UFDATA_103_2021.dbo.OM_MOMaterials ot ON ot.MoDetailsID= od.MODetailsID
+	JOIN UFDATA_103_2021.dbo.Vendor v ON om.cVenCode= v.cVenCode
+	JOIN UFDATA_103_2021.dbo.Inventory oti ON oti.cInvCode= ot.cInvCode
+	JOIN UFDATA_103_2021.dbo.Inventory omi ON omi.cInvCode= od.cInvCode 
+WHERE
+	om.iVerifyStateNew = 2 
+	AND ( om.cCloser IS NULL OR om.cCloser= 'asuser' ) 
+	AND omi.cInvCcode LIKE '19%' 
+	AND om.cCode LIKE CONCAT(#{code},'%')
+	AND (oti.cInvCcode LIKE '05%' OR oti.cInvCcode LIKE '06%' OR oti.cInvCcode LIKE '07%' OR oti.cInvCCode = '0399' OR oti.cInvCCode = '0299' OR oti.cInvCCode = '0499' ) AND oti.cInvName NOT LIKE '%带%'
+GROUP BY ot.cInvCode,od.isosid,om.ccode,oti.cInvName ) AS t1 
+
+	left join (SELECT ven.cVenAbbName AS cVenAbbName,bi.cInvCode,pod.isosid,SUM ( bi.iSum ) AS rmbAmount,SUM ( bi.iOriSum ) AS usdAmount,
+			SUM ( bi.iMoney ) AS priceExcludingtax,sum ( bi.iCost*bi.iPBVQuantity) AS totalCost ,sum ( bi.iPBVQuantity) AS totalSum 
+		FROM
+			UFDATA_103_2021.dbo.om_momain pom
+			JOIN UFDATA_103_2021.dbo.OM_MODetails pod ON pod.MOID  = pom.MOID
+			JOIN UFDATA_103_2021.dbo.PurBillVouchs bi ON bi.iPOsID= pod.MODetailsID
+			JOIN UFDATA_103_2021.dbo.PurBillVouch bm ON bm.PBVID= bi.PBVID
+			JOIN UFDATA_103_2021.dbo.Vendor ven ON bm.cVenCode = ven.cVenCode
+			JOIN UFDATA_103_2021.dbo.Inventory oti ON oti.cInvCode= pod.cInvCode 
+		GROUP BY bi.cInvCode,pod.isosid,ven.cVenAbbName
+	) AS t2 
+on
+	t1.cInvCode= t2.cInvCode 
+	AND t2.isosid= t1.isosid 
+	) t3 
+GROUP BY
+	t3.goodsName,t3.cVenAbbName
+	
+	union all
+		
+		
+SELECT t3.goodsName,t3.cVenAbbName AS supper,SUM ( t3.dosage ) AS dosage,SUM ( t3.usageQuantity ) AS usageQuantity,
+	
+	SUM ( t3.rmbAmount ) AS rmbAmount,SUM ( t3.usdAmount ) AS usdAmount,SUM ( t3.priceExcludingtax ) AS priceExcludingtax,
+	SUM ( t3.totalCost )/sum(totalSum) AS cost 
+FROM(
+SELECT t1.goodsName,t1.dosage,t1.usageQuantity,t2.cVenAbbName,t2.rmbAmount,t2.usdAmount,t2.priceExcludingtax,t2.totalCost,t2.totalSum	
+FROM
+	(
+SELECT ot.cInvCode,od.isosid,om.ccode,oti.cInvName AS goodsName,SUM (ot.iUnitQuantity) AS dosage,SUM (ot.iSendQTY) AS usageQuantity 
+FROM
+	UFDATA_103_2021.dbo.om_momain om
+	JOIN UFDATA_103_2021.dbo.OM_MODetails od ON om.moid= od.moid
+	JOIN UFDATA_103_2021.dbo.OM_MOMaterials ot ON ot.MoDetailsID= od.MODetailsID
+	JOIN UFDATA_103_2021.dbo.Vendor v ON om.cVenCode= v.cVenCode
+	JOIN UFDATA_103_2021.dbo.Inventory oti ON oti.cInvCode= ot.cInvCode
+	JOIN UFDATA_103_2021.dbo.Inventory omi ON omi.cInvCode= od.cInvCode 
+WHERE
+	om.iVerifyStateNew = 2 
+	AND ( om.cCloser IS NULL OR om.cCloser= 'asuser' ) 
+	AND omi.cInvCcode LIKE '19%' 
+	AND om.cCode LIKE CONCAT(#{code},'%')
+	AND (oti.cInvCcode LIKE '05%' OR oti.cInvCcode LIKE '06%' OR oti.cInvCcode LIKE '07%' OR oti.cInvCCode = '0399' OR oti.cInvCCode = '0299' OR oti.cInvCCode = '0499'  ) AND oti.cInvName NOT LIKE '%带%'
+GROUP BY ot.cInvCode,od.isosid,om.ccode,oti.cInvName ) AS t1 
+
+	left join (SELECT ven.cVenAbbName AS cVenAbbName,bi.cInvCode,pod.iorderdid,SUM ( bi.iSum ) AS rmbAmount,SUM ( bi.iOriSum ) AS usdAmount,
+			SUM ( bi.iMoney ) AS priceExcludingtax,sum ( bi.iCost*bi.iPBVQuantity) AS totalCost ,sum ( bi.iPBVQuantity) AS totalSum 
+		FROM
+			UFDATA_103_2021.dbo.PO_Pomain pom
+			JOIN UFDATA_103_2021.dbo.PO_Podetails pod ON pod.POID  = pom.POID
+			JOIN UFDATA_103_2021.dbo.PurBillVouchs bi ON bi.iPOsID= pod.ID
+			JOIN UFDATA_103_2021.dbo.PurBillVouch bm ON bm.PBVID= bi.PBVID
+			JOIN UFDATA_103_2021.dbo.Vendor ven ON bm.cVenCode = ven.cVenCode
+			JOIN UFDATA_103_2021.dbo.Inventory oti ON oti.cInvCode= pod.cInvCode 
+		GROUP BY bi.cInvCode,pod.iorderdid,ven.cVenAbbName
+	) AS t2 
+on
+	t1.cInvCode= t2.cInvCode 
+	AND t2.iorderdid= t1.isosid 
+	) t3 
+GROUP BY
+	t3.goodsName,t3.cVenAbbName
+	) t4 GROUP BY t4.goodsName
 		) tab
 		left join
 		(
@@ -71,7 +131,7 @@
 		WHERE om.cVerifier is not null and (om.cCloser is null or om.cCloser='asuser')
 		and om.cPOID LIKE CONCAT(#{code},'%')
 		) and (i.cInvCcode like '05%' or i.cInvCcode like '06%' or i.cInvCcode like '07%'
-		or i.cInvCCode = '0399' or i.cInvCCode = '0499' and i.cInvName not like '%棉%'  or i.cInvCCode = '0299')
+		or i.cInvCCode = '0399' or i.cInvCCode = '0499'  or i.cInvCCode = '0299') and i.cInvName not like '%带%'
 		GROUP BY i.cInvName
 		)tab1 on tab1.cInvName=tab.goodsName
 		left join
@@ -86,7 +146,7 @@
 		WHERE om.iVerifyStateNew = 2 and (om.cCloser is null or om.cCloser='asuser')
 		and omi.cInvCcode like '19%' and om.cCode LIKE CONCAT(#{code},'%')
 		) and (i.cInvCcode like '05%' or i.cInvCcode like '06%' or i.cInvCcode like '07%'
-		or i.cInvCCode = '0399' or i.cInvCCode = '0499' and i.cInvName not like '%棉%' or i.cInvCCode = '0299') and rs.cBatch LIKE CONCAT(#{code},'%')
+		or i.cInvCCode = '0399' or i.cInvCCode = '0499'  or i.cInvCCode = '0299') and rs.cBatch LIKE CONCAT(#{code},'%') and i.cInvName not like '%带%'
 		GROUP BY i.cInvName--,rs.cBatch
 		)tab2 on tab2.cInvName=tab.goodsName
 
@@ -105,6 +165,7 @@
 		else (isnull(tab2.jian,0)-isnull(tab1.purchaseQuantity,0))*tab.cost end as transferCost
 		from
 		(
+		select t4.goodsName,sum(t4.dosage) as dosage,sum(t4.usageQuantity) as usageQuantity,max(t4.supper) as supper,sum(t4.rmbAmount) as rmbAmount,sum(t4.usdAmount) as usdAmount,sum(t4.priceExcludingtax) as priceExcludingtax,sum(t4.cost) as cost from (
 		select t3.goodsName,sum(t3.dosage) as dosage,sum(t3.usageQuantity) as usageQuantity,max(t3.cVenAbbName) as supper,sum(t3.rmbAmount) as rmbAmount,sum(t3.usdAmount) as usdAmount,sum(t3.priceExcludingtax) as priceExcludingtax,sum(t3.iCost) as cost from (
 
 		select t1.goodsName,t1.dosage,t1.usageQuantity,t2.cVenAbbName,t2.rmbAmount,t2.usdAmount,t2.priceExcludingtax,t2.iCost from (select  ot.cInvCode,od.isosid,om.ccode,oti.cInvName as goodsName,sum(ot.iUnitQuantity) as dosage,sum(ot.iSendQTY) as usageQuantity
@@ -118,7 +179,7 @@
 
 		WHERE om.iVerifyStateNew = 2 and (om.cCloser is null or om.cCloser='asuser') and omi.cInvCcode like '19%'
 		and om.cCode LIKE CONCAT(#{code},'%') and (oti.cInvCcode like '05%' or oti.cInvCcode like '06%'
-		or oti.cInvCcode like '07%' or oti.cInvCCode = '0399' or oti.cInvCCode = '0299' or oti.cInvCCode = '0499' )
+		or oti.cInvCcode like '07%' or oti.cInvCCode = '0399' or oti.cInvCCode = '0299' or oti.cInvCCode = '0499' ) AND oti.cInvName NOT LIKE '%带%'
 		group by ot.cInvCode,od.isosid,om.ccode,oti.cInvName
 		) as t1,
 		(
@@ -131,7 +192,7 @@
 		join UFDATA_101_2021.dbo.PurBillVouch bm  on bm.PBVID=bi.PBVID
 		join UFDATA_101_2021.dbo.Vendor ven on bm.cVenCode = ven.cVenCode
 		join UFDATA_101_2021.dbo.Inventory oti on oti.cInvCode=pod.cInvCode
-		where pom.cVenCode != 'T010001' and pom.cVenCode = 'T020001'
+		where pom.cVenCode != 'T010001' and pom.cVenCode != 'T020001'
 		GROUP BY bi.cInvCode,pod.iorderdid) as t2 where t1.cInvCode=t2.cInvCode and t2.iorderdid=t1.isosid
 		) t3  GROUP BY t3.goodsName
 
@@ -150,10 +211,10 @@
 
 		WHERE om.iVerifyStateNew = 2 and (om.cCloser is null or om.cCloser='asuser') and omi.cInvCcode like '19%'
 		and om.cCode LIKE CONCAT(#{code},'%') and (oti.cInvCcode like '05%' or oti.cInvCcode like '06%'
-		or oti.cInvCcode like '07%' or oti.cInvCCode = '0399' or oti.cInvCCode = '0299' or oti.cInvCCode = '0499')
+		or oti.cInvCcode like '07%' or oti.cInvCCode = '0399' or oti.cInvCCode = '0299' or oti.cInvCCode = '0499' ) AND oti.cInvName NOT LIKE '%带%'
 		group by ot.cInvCode,od.isosid,om.ccode,oti.cInvName
-		) as t1,
-		(
+		) as t1
+		left join (
 		select max(ven.cVenAbbName) as cVenAbbName,
 		bi.cInvCode,pod.iorderdid,sum(bi.iSum) as rmbAmount,sum(bi.iOriSum) as usdAmount
 		,sum(bi.iMoney) as priceExcludingtax,max(bi.iCost) as iCost
@@ -167,10 +228,45 @@
 		join UFDATA_102_2021.dbo.PurBillVouch bm  on bm.PBVID=bi.PBVID
 		join UFDATA_102_2021.dbo.Vendor ven on bm.cVenCode = ven.cVenCode
 		join UFDATA_102_2021.dbo.Inventory oti on oti.cInvCode=pd.cInvCode
-		where pm.cVenCode != 'T010001' and pom.cVenCode = 'T010001' and pom.cpoid LIKE CONCAT(#{code},'%')
-		GROUP BY bi.cInvCode,pod.iorderdid) as t2 where t1.cInvCode=t2.cInvCode and t2.iorderdid=t1.isosid
+		where pm.cVenCode != 'T020001' and pom.cpoid LIKE CONCAT(#{code},'%')
+		GROUP BY bi.cInvCode,pod.iorderdid) as t2 on t1.cInvCode=t2.cInvCode and t2.iorderdid=t1.isosid
 		) t3  GROUP BY t3.goodsName
 
+		union all
+		select t3.goodsName,sum(t3.dosage) as dosage,sum(t3.usageQuantity) as usageQuantity,max(t3.cVenAbbName) as supper,sum(t3.rmbAmount) as rmbAmount,sum(t3.usdAmount) as usdAmount,sum(t3.priceExcludingtax) as priceExcludingtax,sum(t3.iCost) as cost from (
+
+		select t1.goodsName,t1.dosage,t1.usageQuantity,t2.cVenAbbName,t2.rmbAmount,t2.usdAmount,t2.priceExcludingtax,t2.iCost from (select  ot.cInvCode,od.isosid,om.ccode,oti.cInvName as goodsName,sum(ot.iUnitQuantity) as dosage,sum(ot.iSendQTY) as usageQuantity
+
+		from UFDATA_101_2021.dbo.om_momain om
+		join UFDATA_101_2021.dbo.OM_MODetails od on om.moid=od.moid
+		join UFDATA_101_2021.dbo.OM_MOMaterials ot on ot.MoDetailsID=od.MODetailsID
+		JOIN UFDATA_101_2021.dbo.Vendor v ON om.cVenCode= v.cVenCode
+		join UFDATA_101_2021.dbo.Inventory oti on oti.cInvCode=ot.cInvCode
+		join UFDATA_101_2021.dbo.Inventory omi on omi.cInvCode=od.cInvCode
+
+		WHERE om.iVerifyStateNew = 2 and (om.cCloser is null or om.cCloser='asuser') and omi.cInvCcode like '19%'
+		and om.cCode LIKE CONCAT(#{code},'%') and (oti.cInvCcode like '05%' or oti.cInvCcode like '06%'
+		or oti.cInvCcode like '07%' or oti.cInvCCode = '0399' or oti.cInvCCode = '0299' or oti.cInvCCode = '0499' )AND oti.cInvName NOT LIKE '%带%'
+		group by ot.cInvCode,od.isosid,om.ccode,oti.cInvName
+		) as t1,
+		(
+		select max(ven.cVenAbbName) as cVenAbbName,
+		bi.cInvCode,pod.iorderdid,sum(bi.iSum) as rmbAmount,sum(bi.iOriSum) as usdAmount
+		,sum(bi.iMoney) as priceExcludingtax,max(bi.iCost) as iCost
+		from UFDATA_101_2021.dbo.PO_Pomain pom
+		join UFDATA_101_2021.dbo.PO_Podetails pod on pod.POID  = pom.POID
+		join UFDATA_103_2021.dbo.HY_DZ_K7_SYNERGISMLOGDID hy on pod.id = hy.predid
+
+		join UFDATA_103_2021.dbo.OM_MODetails pd on pd.isosid=hy.did
+		join UFDATA_103_2021.dbo.OM_MOMain pm on pd.MOID  = pm.MOID
+		left join UFDATA_103_2021.dbo.PurBillVouchs bi  on bi.iPOsID=pd.MODetailsID
+		left join UFDATA_103_2021.dbo.PurBillVouch bm  on bm.PBVID=bi.PBVID
+		join UFDATA_103_2021.dbo.Vendor ven on bm.cVenCode = ven.cVenCode
+		join UFDATA_103_2021.dbo.Inventory oti on oti.cInvCode=pd.cInvCode
+		where pom.cpoid LIKE CONCAT(#{code},'%')
+		GROUP BY bi.cInvCode,pod.iorderdid) as t2 where t1.cInvCode=t2.cInvCode and t2.iorderdid=t1.isosid
+		) t3  GROUP BY t3.goodsName
+		) t4 GROUP BY t4.goodsName
 		) tab
 		left join
 		(
@@ -184,7 +280,7 @@
 		WHERE om.cVerifier is not null and (om.cCloser is null or om.cCloser='asuser')
 		and om.cPOID LIKE CONCAT(#{code},'%')
 		) and (i.cInvCcode like '05%' or i.cInvCcode like '06%' or i.cInvCcode like '07%'
-		or i.cInvCCode = '0399' or i.cInvCCode = '0499' or i.cInvCCode = '0299')
+		or i.cInvCCode = '0399' or i.cInvCCode = '0499' or i.cInvCCode = '0299')  and i.cInvName not like '%带%'
 		GROUP BY i.cInvName
 		)tab1 on tab1.cInvName=tab.goodsName
 		left join
@@ -199,7 +295,7 @@
 		WHERE om.iVerifyStateNew = 2 and (om.cCloser is null or om.cCloser='asuser')
 		and omi.cInvCcode like '19%' and om.cCode LIKE CONCAT(#{code},'%')
 		) and (i.cInvCcode like '05%' or i.cInvCcode like '06%' or i.cInvCcode like '07%'
-		or i.cInvCCode = '0399' or i.cInvCCode = '0499' or i.cInvCCode = '0299') and rs.cBatch LIKE CONCAT(#{code},'%')
+		or i.cInvCCode = '0399' or i.cInvCCode = '0499'  or i.cInvCCode = '0299') and i.cInvName not like '%带%' and rs.cBatch LIKE CONCAT(#{code},'%')
 		GROUP BY i.cInvName
 		)tab2 on tab2.cInvName=tab.goodsName
 

+ 19 - 10
jeecg-boot-module-system/src/main/java/org/jeecg/modules/cost/mapper/xml/SyCostAllocationMapper.xml

@@ -18,16 +18,19 @@
     </select>
 
     <select id="queryByCostHead" resultType="org.jeecg.modules.cost.entity.SyCostAllocation">
-        SELECT max(ss.iExchRate) as exchangeRate,min(s.iTaxUnitPrice) as soPrice,
+        SELECT max(ss.iExchRate) as exchangeRate,min(s.iTaxUnitPrice) as soPrice,'101' as pkOrg,
             max(o.omCode) as planNum,max(s.cdefine22) as poStyleNum,max(pe.cPersonName) as exportSales,
             max(ss.cSOCode) as garmentContractno,max(de.cDepName) as department, 
-            max(cc.cCusAbbName) as customerShortame,v.cVenAbbName as processUnit,min(sh.dDate) as outdata,
+            max(cc.cCusAbbName) as customerShortame,v.cVenAbbName as processUnit,min(sa.dDate) as outdata,
             max(ss.iTaxRate) as taxrate,max(ss.cMaker) as preparedBy,sum(s.iNatSum) as salesordersLocaltotal, 
             sum(s.iSum) as salesrrdersOriginaltotal,sum(o.iQuantity) as planQuantity    
         FROM  UFDATA_101_2021.dbo.SO_SODetails s     
         inner JOIN UFDATA_101_2021.dbo.SO_SOMain ss on ss.ID= s.ID
-      	left JOIN UFDATA_101_2021.dbo.SaleBillVouchs shs ON s.iSOsID = shs.iSOsID
+      	left JOIN
+				(select min(shs.iSOsID) as iSOsID,min(sh.dDate) as dDate from UFDATA_101_2021.dbo.SaleBillVouchs shs
         left join UFDATA_101_2021.dbo.SaleBillVouch sh ON sh.SBVID = shs.SBVID
+				GROUP BY sh.SBVID
+				)sa ON s.iSOsID = sa.iSOsID
         inner JOIN (     
                      SELECT      
                      om.cCode AS omCode,     
@@ -48,10 +51,10 @@
         
         union all  
         
-        SELECT max(ss.iExchRate) as exchangeRate,min(s.iTaxUnitPrice) as soPrice,
+        SELECT max(ss.iExchRate) as exchangeRate,min(s.iTaxUnitPrice) as soPrice,'103' as pkOrg,
             max(o.omCode) as planNum,max(s.cdefine22) as poStyleNum,max(pe.cPersonName) as exportSales, 
             max(ss.cSOCode) as garmentContractno,max(de.cDepName) as department, 
-            max(cu.cCusAbbName) as customerShortame,v.cVenAbbName as processUnit,min(sh.dDate) as outdata,
+            max(cu.cCusAbbName) as customerShortame,v.cVenAbbName as processUnit,min(sa.dDate) as outdata,
             max(ss.iTaxRate) as taxrate,max(ss.cMaker) as preparedBy,sum(s.iNatSum) as salesordersLocaltotal, 
             sum(s.iSum) as salesrrdersOriginaltotal,sum(o.iQuantity) as planQuantity    
         FROM  UFDATA_103_2021.dbo.SO_SODetails a     
@@ -76,8 +79,11 @@
         inner join UFDATA_102_2021.dbo.po_podetails g on g.POID=f.POID and g.ivouchrowno=a.iRowNo
         inner join UFDATA_102_2021.dbo.SO_SODetails s on s.iSOsID=g.iorderdid
         inner join UFDATA_102_2021.dbo.so_somain ss on ss.id=s.id
-       	left JOIN UFDATA_102_2021.dbo.SaleBillVouchs shs ON s.iSOsID = shs.iSOsID
-        left join UFDATA_102_2021.dbo.SaleBillVouch sh ON sh.SBVID = shs.SBVID
+       		left JOIN
+				(select min(shs.iSOsID) as iSOsID,min(sh.dDate) as dDate from UFDATA_101_2021.dbo.SaleBillVouchs shs
+        left join UFDATA_101_2021.dbo.SaleBillVouch sh ON sh.SBVID = shs.SBVID
+				GROUP BY sh.SBVID
+				)sa ON s.iSOsID = sa.iSOsID
         inner join UFDATA_102_2021.dbo.Person j on j.cPersonCode=ss.cPersonCode 
         inner JOIN UFDATA_102_2021.dbo.Customer cu ON ss.cCusCode = cu.cCusCode 
         WHERE cc.cCusCode in ('T020001','0001') and ss.cCusCode not in ('T020001','0001') and c.cInvCcode like '19%' GROUP BY v.cVenAbbName
@@ -85,10 +91,10 @@
         
         union all  
         
-        SELECT max(ss.iExchRate) as exchangeRate,min(s.iTaxUnitPrice) as soPrice,
+        SELECT max(ss.iExchRate) as exchangeRate,min(s.iTaxUnitPrice) as soPrice,'103' as pkOrg,
             max(o.omCode) as planNum,max(s.cdefine22) as poStyleNum,max(pe.cPersonName) as exportSales, 
             max(ss.cSOCode) as garmentContractno,max(de.cDepName) as department, 
-            max(cu.cCusAbbName) as customerShortame,v.cVenAbbName as processUnit,min(sh.dDate) as outdata,
+            max(cu.cCusAbbName) as customerShortame,v.cVenAbbName as processUnit,min(sa.dDate) as outdata,
             max(ss.iTaxRate) as taxrate,max(ss.cMaker) as preparedBy,sum(s.iNatSum) as salesordersLocaltotal, 
             sum(s.iSum) as salesrrdersOriginaltotal,sum(o.iQuantity) as planQuantity    
         FROM  UFDATA_103_2021.dbo.SO_SODetails a     
@@ -113,8 +119,11 @@
         inner join UFDATA_101_2021.dbo.po_podetails g on g.POID=f.POID and g.ivouchrowno=a.iRowNo
         inner join UFDATA_101_2021.dbo.SO_SODetails s on s.iSOsID=g.iorderdid
         inner join UFDATA_101_2021.dbo.so_somain ss on ss.id=s.id
-       	left JOIN UFDATA_101_2021.dbo.SaleBillVouchs shs ON s.iSOsID = shs.iSOsID
+       	left JOIN
+				(select min(shs.iSOsID) as iSOsID,min(sh.dDate) as dDate from UFDATA_101_2021.dbo.SaleBillVouchs shs
         left join UFDATA_101_2021.dbo.SaleBillVouch sh ON sh.SBVID = shs.SBVID
+				GROUP BY sh.SBVID
+				)sa ON s.iSOsID = sa.iSOsID
         inner join UFDATA_101_2021.dbo.Person j on j.cPersonCode=ss.cPersonCode 
         inner JOIN UFDATA_101_2021.dbo.Customer cu ON ss.cCusCode = cu.cCusCode 
         WHERE cc.cCusCode in ('T020001','0001') and ss.cCusCode not in ('T020001','0001') and c.cInvCcode like '19%' GROUP BY v.cVenAbbName

+ 20 - 20
jeecg-boot-module-system/src/main/java/org/jeecg/modules/cost/mapper/xml/SyCostAllocationShipdetailMapper.xml

@@ -17,8 +17,8 @@
 	</select>
 
 	<select id="queryByCostShipdetail" resultType="org.jeecg.modules.cost.entity.SyCostAllocationShipdetail">
-		select t.* from (
-		SELECT
+	select t.* from (
+			SELECT
 			sh.cDefine10 AS invoiceNum,
 			CONVERT(varchar(50), min(sh.dDate), 23) as outdata ,
 			sum(shs.iQuantity) as shipQuantity,
@@ -36,27 +36,27 @@
 			v.cVenName AS processUnit
 		 FROM
 			UFDATA_101_2021.dbo.SaleBillVouch sh
-			JOIN UFDATA_101_2021.dbo.SaleBillVouchs shs ON sh.SBVID = shs.SBVID
+			left JOIN UFDATA_101_2021.dbo.SaleBillVouchs shs ON sh.SBVID = shs.SBVID
 			LEFT JOIN UFDATA_101_2021.dbo.Inventory c ON c.cInvCode= shs.cInvCode
-			LEFT JOIN UFDATA_101_2021.dbo.rdrecords32 rd ON rd.AutoID = shs.isaleoutid
 			JOIN (
 			 SELECT
 				o.supplierCode,s.iSOsID,s.id ,o.procesUnitPriceusd,o.procesUnitPricermb,o.iPBVQuantity,o.cexch as cexch,s.cdefine22,s.cDefine28
 			 FROM UFDATA_101_2021.dbo.SO_SODetails s
 			 JOIN (
-					SELECT max(om.cexch_name) as cexch,
-			 max(om.cVenCode) AS supplierCode,od.cInvCode,od.isosid,sum(od.iTax) as iTax,sum(od.iNatTax) as iNatTax
+					SELECT max(om.cexch_name) as cexch,od.csoordercode,
+			 max(om.cVenCode) AS supplierCode,max(od.cInvCode) as cInvCode,sum(od.iTax) as iTax,sum(od.iNatTax) as iNatTax
 			 ,min(od.iNatUnitPrice) as procesUnitPricermb,min(bi.iOriTaxCost ) as procesUnitPriceusd,count(1) as iPBVQuantity
 					FROM UFDATA_101_2021.dbo.OM_MOMain om
 					LEFT JOIN UFDATA_101_2021.dbo.OM_MODetails od ON om.MOID = od.MOID
 					left join UFDATA_101_2021.dbo.PurBillVouchs bi  on bi.iPOsID=od.MODetailsID
-					WHERE om.iVerifyStateNew = 2 AND om.cCode LIKE CONCAT(#{code},'%')
-					GROUP BY od.cInvCode,od.isosid
-				) o ON s.isosid = o.isosid AND s.cInvCode = o.cInvCode
-			) so ON so.iSOsID = rd.iorderdid
+					WHERE om.iVerifyStateNew = 2 AND om.cCode like CONCAT(#{code},'%') 
+					GROUP BY od.csoordercode
+				) o ON s.csocode = o.csoordercode 
+			) so ON so.iSOsID = shs.iSOsID 
 		 LEFT JOIN UFDATA_101_2021.dbo.Vendor v ON so.supplierCode= v.cVenCode
 		 group by sh.cDefine10,sh.iExchRate,sh.cSOCode,c.cInvName, v.cVenName
 
+
 		 union all
 
 		 SELECT
@@ -87,17 +87,17 @@
 						inner JOIN UFDATA_103_2021.dbo.SO_SOMain b on b.ID= a.ID
 						inner JOIN (
 									 SELECT max(om.cexch_name) as cexch,
-									 max(od.csoordercode) as csoordercode,
-									 max(om.cVenCode) AS supplierCode,od.cInvCode,od.isosid,sum(od.iQuantity) as iQuantity ,
+									 od.csoordercode as csoordercode,
+									 max(om.cVenCode) AS supplierCode,max(od.cInvCode) as cInvCode,max(od.isosid) as isosid,sum(od.iQuantity) as iQuantity ,
 									 avg(bi.iOriTaxCost) as iOriTaxCost,avg(od.iNatUnitPrice) as iNatUnitPrice
 									 FROM
 									 UFDATA_103_2021.dbo.OM_MOMain om
 									 inner JOIN UFDATA_103_2021.dbo.OM_MODetails od ON om.MOID = od.MOID
 									 left join UFDATA_103_2021.dbo.PurBillVouchs bi  on bi.iPOsID=od.MODetailsID
 									 WHERE
-									 om.iVerifyStateNew = 2 and (om.cCloser is null or om.cCloser='asuser') and om.cCode like CONCAT(#{code},'%')
-									 GROUP BY od.cInvCode,od.isosid
-									 ) o ON a.isosid  = o.isosid AND a.cInvCode = o.cInvCode
+									 om.iVerifyStateNew = 2 and (om.cCloser is null or om.cCloser='asuser') and om.cCode like CONCAT(#{code},'%') 
+									 GROUP BY od.csoordercode
+									 ) o ON a.csocode = o.csoordercode 
 						inner JOIN UFDATA_103_2021.dbo.Vendor v ON o.supplierCode= v.cVenCode
 						inner JOIN UFDATA_103_2021.dbo.Inventory c on c.cInvCode=a.cInvCode
 						inner JOIN UFDATA_103_2021.dbo.Person  pe ON b.cPersonCode = pe.cPersonCode
@@ -142,17 +142,17 @@
 						inner JOIN UFDATA_103_2021.dbo.SO_SOMain b on b.ID= a.ID
 						inner JOIN (
 									 SELECT max(om.cexch_name) as cexch,
-									 max(od.csoordercode) as csoordercode,
-									 max(om.cVenCode) AS supplierCode,od.cInvCode,od.isosid,sum(od.iQuantity) as iQuantity ,
+									 od.csoordercode as csoordercode,
+									 max(om.cVenCode) AS supplierCode,max(od.cInvCode) as cInvCode,max(od.isosid) as isosid,sum(od.iQuantity) as iQuantity ,
 									 avg(bi.iOriTaxCost) as iOriTaxCost,avg(od.iNatUnitPrice) as iNatUnitPrice
 									 FROM
 									 UFDATA_103_2021.dbo.OM_MOMain om
 									 inner JOIN UFDATA_103_2021.dbo.OM_MODetails od ON om.MOID = od.MOID
 									 left join UFDATA_103_2021.dbo.PurBillVouchs bi  on bi.iPOsID=od.MODetailsID
 									 WHERE
-									 om.iVerifyStateNew = 2 and (om.cCloser is null or om.cCloser='asuser') and om.cCode like CONCAT(#{code},'%')
-									 GROUP BY od.cInvCode,od.isosid
-									 ) o ON a.isosid  = o.isosid AND a.cInvCode = o.cInvCode
+									 om.iVerifyStateNew = 2 and (om.cCloser is null or om.cCloser='asuser') and om.cCode like CONCAT(#{code},'%') 
+									 GROUP BY od.csoordercode
+									 ) o ON a.csocode = o.csoordercode 
 						inner JOIN UFDATA_103_2021.dbo.Vendor v ON o.supplierCode= v.cVenCode
 						inner JOIN UFDATA_103_2021.dbo.Inventory c on c.cInvCode=a.cInvCode
 						inner JOIN UFDATA_103_2021.dbo.Person  pe ON b.cPersonCode = pe.cPersonCode

+ 13 - 3
jeecg-boot-module-system/src/main/java/org/jeecg/modules/cost/service/impl/SyCostAllocationServiceImpl.java

@@ -217,9 +217,16 @@ public class SyCostAllocationServiceImpl extends ServiceImpl<SyCostAllocationMap
             //根据计划号查找该计划号下所有采购发票含税金额和不含税金额(不含税金额 = 含税金额/1.13)
             SyCostAllocation fabriccostIncludestax = syCostAllocationMapper.queryPurBillVouchByFabric(plannum);
 
-            syCostAllocation.setFabriccostIncludestax(fabriccostIncludestax.getFabriccostIncludestax());
-            syCostAllocation.setFabriccostNotincludestax(fabriccostIncludestax.getFabriccostNotincludestax());
-            syCostAllocation.setFabriccostIncludestaxUsd(fabriccostIncludestax.getFabriccostIncludestaxUsd());
+            if(oConvertUtils.isNotEmpty(fabriccostIncludestax)){
+                syCostAllocation.setFabriccostIncludestax(fabriccostIncludestax.getFabriccostIncludestax());
+                syCostAllocation.setFabriccostNotincludestax(fabriccostIncludestax.getFabriccostNotincludestax());
+                syCostAllocation.setFabriccostIncludestaxUsd(fabriccostIncludestax.getFabriccostIncludestaxUsd());
+            }else{
+                syCostAllocation.setFabriccostIncludestax(BigDecimal.ZERO);
+                syCostAllocation.setFabriccostNotincludestax(BigDecimal.ZERO);
+                syCostAllocation.setFabriccostIncludestaxUsd(BigDecimal.ZERO);
+            }
+
         }
 
         /*如果出现多供应商的情况拼接 供应商*/
@@ -323,6 +330,9 @@ public class SyCostAllocationServiceImpl extends ServiceImpl<SyCostAllocationMap
             Fabric.setPilosityFewerList(pilosityFeweList);
 
             //多发少发 = 使用数量-计划数量
+            if(oConvertUtils.isEmpty(Fabric.getUsageQuantity())){
+                Fabric.setUsageQuantity(BigDecimal.ZERO);
+            }
             Fabric.setPilosityFewer(Fabric.getUsageQuantity().subtract(Fabric.getPlanQuantity()));
         }
 

+ 49 - 3
jeecg-boot-module-system/src/main/java/org/jeecg/modules/documents/costLossReview/mapper/xml/SyCostLossReviewMapper.xml

@@ -3,8 +3,8 @@
 <mapper namespace="org.jeecg.modules.documents.costLossReview.mapper.SyCostLossReviewMapper">
     <select id="querylist" resultType="org.jeecg.modules.documents.costLossReview.entity.SyCostLossReview">
 
-        select planNo,min(dverifyDate) as dverifyDate,min(department) as department,min(salesman) as salesman,min(maker) as maker from (
 
+        select planNo,min(dverifyDate) as dverifyDate,min(department) as department,min(salesman) as salesman,min(maker) as maker from (
 
         select  case when PATINDEX('%备%', t.planNo) !=0 then left(t.planNo,6) else t.planNo end as planNo,t.salesman,t.maker,t.department,t.dverifyDate from (
 
@@ -44,10 +44,52 @@
         where cPOID like 'sy%' and CHARINDEX('-',cPOID)>0
 
         ) t
+        where PATINDEX('%[吖-咗]%', planNo)=0 and PATINDEX('%.%', planNo)=0 and PATINDEX('%/%', planNo)=0
+
         ) as views
+        group by views.planNo HAVING planNo in(
+
+        select  case when PATINDEX('%备%', t.planNo) !=0 then left(t.planNo,6) else t.planNo end as planNo from (
+
+        select LEFT(cCode,CHARINDEX('-',cCode)-1) as planNo,dverifydate as dverifyDate,de.cDepName as department,
+        pe.cPersonName as salesman,cMaker as maker from UFDATA_103_2021.dbo.OM_MOMain s
+        JOIN UFDATA_103_2021.dbo.Department de ON s.cDepCode = de.cDepCode
+        JOIN UFDATA_103_2021.dbo.Person  pe ON s.cPersonCode = pe.cPersonCode
+        where cCode like 'sy%' and CHARINDEX('-',cCode)>0
+
+        union all
+        select LEFT(cPOID,CHARINDEX('-',cPOID)-1) as planNo,cAuditDate as dverifyDate,de.cDepName as department,
+        pe.cPersonName as salesman,cMaker as maker from UFDATA_103_2021.dbo.PO_Pomain s
+        JOIN UFDATA_103_2021.dbo.Department de ON s.cDepCode = de.cDepCode
+        JOIN UFDATA_103_2021.dbo.Person  pe ON s.cPersonCode = pe.cPersonCode
+        where cPOID like 'sy%' and CHARINDEX('-',cPOID)>0
+
+        union all
+
+        select LEFT(cCode,CHARINDEX('-',cCode)-1) as planNo,dverifydate as dverifyDate,de.cDepName as department,
+        pe.cPersonName as salesman,cMaker as maker from UFDATA_101_2021.dbo.OM_MOMain s
+        JOIN UFDATA_101_2021.dbo.Department de ON s.cDepCode = de.cDepCode
+        JOIN UFDATA_101_2021.dbo.Person  pe ON s.cPersonCode = pe.cPersonCode
+        where cCode like 'sy%' and CHARINDEX('-',cCode)>0
+
+        union all
+        select LEFT(cPOID,CHARINDEX('-',cPOID)-1) as planNo,cAuditDate as dverifyDate,de.cDepName as department,
+        pe.cPersonName as salesman,cMaker as maker from UFDATA_101_2021.dbo.PO_Pomain s
+        JOIN UFDATA_101_2021.dbo.Department de ON s.cDepCode = de.cDepCode
+        JOIN UFDATA_101_2021.dbo.Person  pe ON s.cPersonCode = pe.cPersonCode
+        where cPOID like 'sy%' and CHARINDEX('-',cPOID)>0
+
+        union all
+        select LEFT(cPOID,CHARINDEX('-',cPOID)-1) as planNo,cAuditDate as dverifyDate,de.cDepName as department,
+        pe.cPersonName as salesman,cMaker as maker from UFDATA_102_2021.dbo.PO_Pomain s
+        JOIN UFDATA_102_2021.dbo.Department de ON s.cDepCode = de.cDepCode
+        JOIN UFDATA_102_2021.dbo.Person  pe ON s.cPersonCode = pe.cPersonCode
+        where cPOID like 'sy%' and CHARINDEX('-',cPOID)>0
+
+        ) t
         where PATINDEX('%[吖-咗]%', planNo)=0 and PATINDEX('%.%', planNo)=0 and PATINDEX('%/%', planNo)=0
         <if test="e.planNo !=null and e.planNo !=''">
-           and planNo like CONCAT(#{e.planNo},'%')
+            and planNo like CONCAT(#{e.planNo},'%')
         </if>
         <if test="e.dverifyDateB !=null and e.dverifyDateB !='' and e.dverifyDateE !=null and e.dverifyDateE !=''">
             and dverifyDate between #{e.dverifyDateB} and #{e.dverifyDateE}
@@ -70,7 +112,9 @@
                 #{item}
             </foreach>
         </if>
-        group by views.planNo ORDER BY min(dverifyDate)
+        GROUP BY t.planNo, t.dverifyDate
+        )
+
 
     </select>
     <!--order by dverifyDate desc offset #{pageNO} rows fetch next #{pageSize} rows only-->
@@ -146,6 +190,8 @@ select count(*) from(
             </foreach>
         </if>
         group by views.planNo) t1
+
+
     </select>
 
     <select id="queryMakerByplanNo" resultType="String">