Bladeren bron

成本分配

zengtx 2 jaren geleden
bovenliggende
commit
de8c94a6b6

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

@@ -81,7 +81,7 @@
         inner join UFDATA_102_2021.dbo.so_somain ss on ss.id=s.id
        		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
+        left join UFDATA_102_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 
@@ -127,6 +127,50 @@
         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
+     UNION ALL
+
+             SELECT max(ss1.iExchRate) as exchangeRate,min(s1.iTaxUnitPrice) as soPrice,'103' as pkOrg,
+            max(o.omCode) as planNum,max(s1.cdefine22) as poStyleNum,max(pe.cPersonName) as exportSales,
+            max(ss1.cSOCode) as garmentContractno,max(de.cDepName) as department,
+            max(cu.cCusAbbName) as customerShortame,v.cVenAbbName as processUnit,min(sa.dDate) as outdata,
+            max(ss1.iTaxRate) as taxrate,max(ss1.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
+        inner JOIN UFDATA_103_2021.dbo.SO_SOMain b on b.ID= a.ID
+        inner JOIN (
+                     SELECT
+                     om.cCode AS omCode, od.csoordercode,
+                     om.MOID AS ompoId,od.MODetailsID AS ompoIdItem,
+                     om.cVenCode AS supplierCode,od.cInvCode,od.isosid,od.iQuantity
+                     FROM
+                     UFDATA_103_2021.dbo.OM_MOMain om
+                     inner JOIN UFDATA_103_2021.dbo.OM_MODetails od ON om.MOID = od.MOID
+                     WHERE
+                     om.iVerifyStateNew = 2 and (om.cCloser is null or om.cCloser='asuser') and om.cCode like CONCAT(#{code},'%')
+                     ) o ON a.isosid  = o.isosid AND a.cInvCode = o.cInvCode
+        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
+        inner JOIN UFDATA_103_2021.dbo.Department de ON b.cDepCode = de.cDepCode
+        inner JOIN UFDATA_103_2021.dbo.Customer cc ON b.cCusCode = cc.cCusCode
+        inner join UFDATA_102_2021.dbo.PO_Pomain f on f.cPOID=o.csoordercode
+        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
+
+				inner join UFDATA_101_2021.dbo.PO_Pomain f1 on f1.cPOID=ss.csocode
+        inner join UFDATA_101_2021.dbo.po_podetails g1 on g1.POID=f1.POID and g1.ivouchrowno=s.iRowNo
+        inner join UFDATA_101_2021.dbo.SO_SODetails s1 on s1.iSOsID=g1.iorderdid
+        inner join UFDATA_101_2021.dbo.so_somain ss1 on ss1.id=s1.id
+       		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 s1.iSOsID = sa.iSOsID
+        inner join UFDATA_101_2021.dbo.Person j on j.cPersonCode=ss1.cPersonCode
+        inner JOIN UFDATA_101_2021.dbo.Customer cu ON ss1.cCusCode = cu.cCusCode
+        WHERE cc.cCusCode in ('T020001','0001') and ss.cCusCode in ('T020001','0001') and c.cInvCcode like '19%' GROUP BY v.cVenAbbName
+
     </select>
 
 

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

@@ -164,7 +164,66 @@
 						GROUP BY s.iSOsID
 			) so ON so.iSOsID = rd.iorderdid
 		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 ) t order by t.outdata
+		group by sh.cDefine10,sh.iExchRate,sh.cSOCode,c.cInvName, v.cVenName
+		 		UNION ALL
+
+			 SELECT
+			sh.cDefine10 AS invoiceNum,
+			CONVERT(varchar(50), min(sh.dDate), 23) as outdata ,
+			sum(shs.iQuantity) as shipQuantity,
+			sh.iExchRate AS exchangeRate,
+			sh.cSOCode AS orderNum,
+			max(so.cdefine22) AS poStyleNum,
+			max(so.cDefine28) AS smallPo,
+			avg(shs.iTaxUnitPrice) AS exportUnitPrice ,
+			sum(shs.iSum) as exportPrice,
+			sum(iNatSum) as rmbAmount,
+			case when max(so.cexch)='人民币' then avg(so.iOriTaxCost) else round(avg(so.iOriTaxCost)*sh.iExchRate,4) end as procesUnitPricermb,
+			case when max(so.cexch)='人民币' then 0 else avg(so.iOriTaxCost) end as procesUnitPriceusd,
+				case when max(so.cexch)='人民币' then avg(so.iOriTaxCost) else round(avg(so.iOriTaxCost)*sh.iExchRate,4) end * sum(shs.iQuantity) as processCost,
+			case when max(so.cexch)='人民币' then 0 else avg(so.iOriTaxCost) end * sum(shs.iQuantity) as processCostUsd,
+			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.Inventory c ON c.cInvCode= shs.cInvCode
+
+		JOIN (
+			 SELECT  max(supplierCode) as supplierCode,s1.iSOsID,avg(o.iOriTaxCost) as iOriTaxCost,max(o.cexch) as cexch,
+					avg(o.iNatUnitPrice) as iNatUnitPrice,max(s1.cdefine22) as cdefine22,max(s1.cDefine28) as cDefine28
+						FROM  UFDATA_103_2021.dbo.SO_SODetails a
+						inner JOIN UFDATA_103_2021.dbo.SO_SOMain b on b.ID= a.ID
+						inner JOIN (
+									 SELECT max(om.cexch_name) as cexch,
+									 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.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
+						inner join UFDATA_102_2021.dbo.PO_Pomain f on f.cPOID=o.csoordercode
+						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
+						inner join UFDATA_101_2021.dbo.PO_Pomain f1 on f1.cPOID=ss.csocode
+						inner join UFDATA_101_2021.dbo.po_podetails g1 on g1.POID=f1.POID and g1.ivouchrowno=s.iRowNo
+						inner join UFDATA_101_2021.dbo.SO_SODetails s1 on s1.iSOsID=g1.iorderdid
+						inner join UFDATA_101_2021.dbo.so_somain ss1 on ss1.id=s1.id
+						WHERE b.cCusCode in ('T020001','0001') and ss.cCusCode in ('T020001','0001') and c.cInvCcode like '19%'
+						GROUP BY s1.iSOsID
+			) 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
+
+		 ) t order by t.outdata
 
 	</select>
 </mapper>

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

@@ -70,6 +70,9 @@
         <if test="e.dverifyDateB !=null and e.dverifyDateB !='' and e.dverifyDateE !=null and e.dverifyDateE !=''">
             where t1.dverifyDate between #{e.dverifyDateB} and #{e.dverifyDateE}
         </if>
+        <if test="e.dverifyDateB ==null or e.dverifyDateB =='' or e.dverifyDateE ==null or e.dverifyDateE ==''">
+            where t1.dverifyDate > '2022-12-31'
+        </if>
         ORDER BY t1.dverifyDate
 
     </select>
@@ -140,7 +143,13 @@
             </foreach>
         </if>
         GROUP BY t.planNo
-        ) t1 where t1.dverifyDate between #{e.dverifyDateB} and #{e.dverifyDateE}
+        ) t1
+        <if test="e.dverifyDateB !=null and e.dverifyDateB !='' and e.dverifyDateE !=null and e.dverifyDateE !=''">
+            where t1.dverifyDate between #{e.dverifyDateB} and #{e.dverifyDateE}
+        </if>
+        <if test="e.dverifyDateB ==null or e.dverifyDateB =='' or e.dverifyDateE ==null or e.dverifyDateE ==''">
+            where t1.dverifyDate > '2022-12-31'
+        </if>
         ) t2
 
 

+ 1 - 0
jeecg-boot-module-system/src/main/java/org/jeecg/modules/documents/syShippingOrder/entity/SyShippingOrderItem.java

@@ -339,6 +339,7 @@ public class SyShippingOrderItem {
 	//报关单序号
 	@TableField(exist = false)
 	private Integer size;
+	//是否TC
 
 	private String isTc;
 }