|
@@ -18,22 +18,23 @@
|
|
|
|
|
|
<select id="queryByCostShipdetail" resultType="org.jeecg.modules.cost.entity.SyCostAllocationShipdetail">
|
|
|
select t.* from (
|
|
|
- select sbv.cDefine10 AS invoiceNum,CONVERT(varchar(50), min(sbv.dDate), 23) as outdata,sum(pbv.iQuantity) as shipQuantity,sbv.iExchRate AS exchangeRate,sbv.cSOCode AS orderNum,max(pbv.cdefine22) AS poStyleNum,max(pbv.cDefine28) AS smallPo,max(sbv.exportUnitPrice) AS exportUnitPrice,sum(sbv.exportPrice) as exportPrice,sum(sbv.rmbAmount) as rmbAmount,
|
|
|
-case when max(sbv.cexch_name)='人民币' then max(pbv.iOriTaxCost) else round(max(pbv.iOriTaxCost)*sbv.iExchRate,4) end as procesUnitPricermb,
|
|
|
+ select sbv.cDefine10 AS invoiceNum,CONVERT(varchar(50), min(sbv.dDate), 23) as outdata,sum(pbv.iQuantity) as shipQuantity,pbv.cExchRate AS exchangeRate,sbv.cSOCode AS orderNum,max(pbv.cdefine22) AS poStyleNum,max(pbv.cDefine28) AS smallPo,max(sbv.exportUnitPrice) AS exportUnitPrice,sum(sbv.exportPrice) as exportPrice,sum(sbv.rmbAmount) as rmbAmount,
|
|
|
+case when max(sbv.cexch_name)='人民币' then max(pbv.iOriTaxCost) else round(max(pbv.iOriTaxCost)*pbv.cExchRate,4) end as procesUnitPricermb,
|
|
|
case when max(sbv.cexch_name)='人民币' then 0 else max(pbv.iOriTaxCost) end as procesUnitPriceusd,
|
|
|
- case when max(sbv.cexch_name)='人民币' then max(pbv.iOriTaxCost) else round(max(pbv.iOriTaxCost)*sbv.iExchRate,4) end * sum(pbv.iQuantity) as processCost,
|
|
|
+ sum(pbv.processCost) as processCost,
|
|
|
case when max(sbv.cexch_name)='人民币' then 0 else max(pbv.iOriTaxCost) end * sum(pbv.iQuantity) as processCostUsd,
|
|
|
max(v.cVenName) AS processUnit
|
|
|
|
|
|
from
|
|
|
-(select pbv.cDefine10,pbvs.cInvCode,pbvs.cFree1,pbvs.cFree2,pbv.cBusType,sum(pbvs.iPBVQuantity) as iQuantity,ommo.ccode,max(sd.cdefine22) as cdefine22,max(sd.cdefine28) as cdefine28,max(pbvs.iOriTaxCost) as iOriTaxCost,ommo.cVenCode as cVenCode
|
|
|
+(select pbv.cDefine10,pbvs.cInvCode,pbvs.cFree1,pbvs.cFree2,pbv.cBusType,sum(pbvs.iPBVQuantity) as iQuantity,ommo.ccode,max(sd.cdefine22) as cdefine22,max(sd.cdefine28) as cdefine28,max(pbvs.iOriTaxCost) as iOriTaxCost,ommo.cVenCode as cVenCode,max(pbv.cExchRate) as cExchRate,sum(pbvs.iSum) as processCost
|
|
|
from UFDATA_101_2021.dbo.PurBillVouchs pbvs left join UFDATA_101_2021.dbo.PurBillVouch pbv
|
|
|
on pbv.PBVID=pbvs.PBVID
|
|
|
left join UFDATA_101_2021.dbo.OM_MODetails ommos on ommos.MODetailsID=pbvs.iPOsID
|
|
|
left join UFDATA_101_2021.dbo.om_momain ommo on ommo.moid=ommos.moid
|
|
|
left join UFDATA_101_2021.dbo.SO_SODetails sd on sd.iSOsID = ommos.isosid
|
|
|
-group by pbv.cDefine10,pbvs.cInvCode,pbvs.cFree1,pbvs.cFree2,pbv.cBusType,ommo.ccode,ommo.cVenCode
|
|
|
-having ommo.ccode like CONCAT(#{code},'%') AND pbv.cBusType='委外加工') as pbv
|
|
|
+ left join UFDATA_101_2021.dbo.Inventory inv on pbvs.cInvCode = inv.cInvCode
|
|
|
+group by pbv.cDefine10,pbvs.cInvCode,pbvs.cFree1,pbvs.cFree2,pbv.cBusType,inv.cInvCCode,ommo.ccode,ommo.cVenCode
|
|
|
+having ommo.ccode like CONCAT(#{code},'%') AND pbv.cBusType='委外加工' and inv.cInvCCode like '19%') as pbv
|
|
|
left join
|
|
|
-- 根据外销发票号 加物料编码以及自由项组合计算 销售发票合计数量
|
|
|
(select sbv.cDefine10,sum(sbvs.iQuantity) as iQuantity,sbvs.cInvCode,sbvs.cFree1,sbvs.cFree2,min(sbv.dDate) as dDate,max(sbv.iExchRate) as iExchRate,sbv.cSOCode as cSOCode,max(sbvs.iTaxUnitPrice) AS exportUnitPrice,sum(sbvs.iSum) as exportPrice,sum(sbvs.iNatSum) as rmbAmount,max(sbv.cexch_name) as cexch_name
|
|
@@ -41,24 +42,24 @@ from UFDATA_101_2021.dbo.SaleBillVouchs sbvs left join UFDATA_101_2021.dbo.Sale
|
|
|
group by sbv.cDefine10,sbvs.cInvCode,sbvs.cFree1,sbvs.cFree2,sbv.cSOCode
|
|
|
) as sbv on sbv.cInvCode=pbv.cInvCode and sbv.cFree1=pbv.cFree1 and sbv.cFree2=pbv.cFree2 and pbv.iQuantity=sbv.iQuantity -- 自由项+合计数量做匹配
|
|
|
LEFT JOIN UFDATA_101_2021.dbo.Vendor v ON pbv.cVenCode= v.cVenCode
|
|
|
-GROUP BY sbv.cDefine10,sbv.iExchRate,sbv.cSOCode
|
|
|
+GROUP BY sbv.cDefine10,pbv.cExchRate,sbv.cSOCode
|
|
|
|
|
|
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,
|
|
|
+ sum(shs.iQuantity) as shipQuantity,
|
|
|
+ so.cExchRate AS exchangeRate,
|
|
|
sh.cSOCode AS orderNum,
|
|
|
max(so.cdefine22) AS poStyleNum,
|
|
|
max(so.cDefine28) AS smallPo,
|
|
|
max(shs.iTaxUnitPrice) AS exportUnitPrice ,
|
|
|
sum(shs.iSum) as exportPrice,
|
|
|
sum(iNatSum) as rmbAmount,
|
|
|
- case when max(so.cexch)='人民币' then max(so.iOriTaxCost) else round(max(so.iOriTaxCost)*sh.iExchRate,4) end as procesUnitPricermb,
|
|
|
+ case when max(so.cexch)='人民币' then max(so.iOriTaxCost) else round(max(so.iOriTaxCost)*so.cExchRate,4) end as procesUnitPricermb,
|
|
|
case when max(so.cexch)='人民币' then 0 else max(so.iOriTaxCost) end as procesUnitPriceusd,
|
|
|
- case when max(so.cexch)='人民币' then max(so.iOriTaxCost) else round(max(so.iOriTaxCost)*sh.iExchRate,4) end * sum(shs.iQuantity) as processCost,
|
|
|
+ case when max(so.cexch)='人民币' then max(so.iOriTaxCost) else round(max(so.iOriTaxCost)*so.cExchRate,4) end * sum(shs.iQuantity) as processCost,
|
|
|
case when max(so.cexch)='人民币' then 0 else max(so.iOriTaxCost) end * sum(shs.iQuantity) as processCostUsd,
|
|
|
v.cVenName AS processUnit
|
|
|
FROM
|
|
@@ -67,12 +68,14 @@ GROUP BY sbv.cDefine10,sbv.iExchRate,sbv.cSOCode
|
|
|
LEFT JOIN UFDATA_102_2021.dbo.Inventory c ON c.cInvCode= shs.cInvCode
|
|
|
LEFT JOIN UFDATA_102_2021.dbo.rdrecords32 rd ON rd.AutoID = shs.isaleoutid
|
|
|
JOIN (
|
|
|
- SELECT max(supplierCode) as supplierCode,s.iSOsID,max(o.iOriTaxCost) as iOriTaxCost,max(o.cexch) as cexch,
|
|
|
+ SELECT max(o.cExchRate) as cExchRate,max(supplierCode) as supplierCode,s.iSOsID,max(o.iOriTaxCost) as iOriTaxCost,max(o.cexch) as cexch,
|
|
|
max(o.iNatUnitPrice) as iNatUnitPrice,max(s.cdefine22) as cdefine22,max(s.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,
|
|
|
+
|
|
|
+ max(pb.cExchRate) as cExchRate,
|
|
|
od.csoordercode as csoordercode,
|
|
|
max(om.cVenCode) AS supplierCode,max(od.cInvCode) as cInvCode,max(od.isosid) as isosid,sum(od.iQuantity) as iQuantity ,
|
|
|
max(bi.iOriTaxCost) as iOriTaxCost,max(od.iNatUnitPrice) as iNatUnitPrice
|
|
@@ -80,8 +83,10 @@ GROUP BY sbv.cDefine10,sbv.iExchRate,sbv.cSOCode
|
|
|
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
|
|
|
+ left join UFDATA_103_2021.dbo.PurBillVouch pb on bi.PBVID =pb.PBVID
|
|
|
+ left join UFDATA_103_2021.dbo.Inventory inv on bi.cInvCode = inv.cInvCode
|
|
|
WHERE
|
|
|
- om.iVerifyStateNew = 2 and (om.cCloser is null or om.cCloser='asuser') and om.cCode like CONCAT(#{code},'%')
|
|
|
+ om.iVerifyStateNew = 2 and (om.cCloser is null or om.cCloser='asuser') and om.cCode like CONCAT(#{code},'%') and inv.cInvCCode like '19%'
|
|
|
GROUP BY od.csoordercode
|
|
|
) o ON a.csocode = o.csoordercode
|
|
|
inner JOIN UFDATA_103_2021.dbo.Vendor v ON o.supplierCode= v.cVenCode
|
|
@@ -95,25 +100,25 @@ GROUP BY sbv.cDefine10,sbv.iExchRate,sbv.cSOCode
|
|
|
GROUP BY s.iSOsID
|
|
|
) so ON so.iSOsID = rd.iorderdid
|
|
|
LEFT JOIN UFDATA_102_2021.dbo.Vendor v ON so.supplierCode= v.cVenCode
|
|
|
- group by sh.cDefine10,sh.iExchRate,sh.cSOCode,c.cInvName, v.cVenName
|
|
|
+ group by sh.cDefine10,so.cExchRate,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,
|
|
|
+ sum(shs.iQuantity) as shipQuantity,
|
|
|
+ so.cExchRate AS exchangeRate,
|
|
|
sh.cSOCode AS orderNum,
|
|
|
max(so.cdefine22) AS poStyleNum,
|
|
|
max(so.cDefine28) AS smallPo,
|
|
|
max(shs.iTaxUnitPrice) AS exportUnitPrice ,
|
|
|
sum(shs.iSum) as exportPrice,
|
|
|
sum(iNatSum) as rmbAmount,
|
|
|
- case when max(so.cexch)='人民币' then max(so.iOriTaxCost) else round(max(so.iOriTaxCost)*sh.iExchRate,4) end as procesUnitPricermb,
|
|
|
+ case when max(so.cexch)='人民币' then max(so.iOriTaxCost) else round(max(so.iOriTaxCost)*so.cExchRate,4) end as procesUnitPricermb,
|
|
|
case when max(so.cexch)='人民币' then 0 else max(so.iOriTaxCost) end as procesUnitPriceusd,
|
|
|
|
|
|
- case when max(so.cexch)='人民币' then max(so.iOriTaxCost) else round(max(so.iOriTaxCost)*sh.iExchRate,4) end * sum(shs.iQuantity) as processCost,
|
|
|
+ case when max(so.cexch)='人民币' then max(so.iOriTaxCost) else round(max(so.iOriTaxCost)*so.cExchRate,4) end * sum(shs.iQuantity) as processCost,
|
|
|
case when max(so.cexch)='人民币' then 0 else max(so.iOriTaxCost) end * sum(shs.iQuantity) as processCostUsd,
|
|
|
v.cVenName AS processUnit
|
|
|
FROM
|
|
@@ -122,12 +127,14 @@ GROUP BY sbv.cDefine10,sbv.iExchRate,sbv.cSOCode
|
|
|
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 max(supplierCode) as supplierCode,s.iSOsID,max(o.iOriTaxCost) as iOriTaxCost,max(o.cexch) as cexch,
|
|
|
+ SELECT max(o.cExchRate) as cExchRate,max(supplierCode) as supplierCode,s.iSOsID,max(o.iOriTaxCost) as iOriTaxCost,max(o.cexch) as cexch,
|
|
|
max(o.iNatUnitPrice) as iNatUnitPrice,max(s.cdefine22) as cdefine22,max(s.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,
|
|
|
+
|
|
|
+ max(pb.cExchRate) as cExchRate,
|
|
|
od.csoordercode as csoordercode,
|
|
|
max(om.cVenCode) AS supplierCode,max(od.cInvCode) as cInvCode,max(od.isosid) as isosid,sum(od.iQuantity) as iQuantity ,
|
|
|
max(bi.iOriTaxCost) as iOriTaxCost,max(od.iNatUnitPrice) as iNatUnitPrice
|
|
@@ -135,8 +142,10 @@ GROUP BY sbv.cDefine10,sbv.iExchRate,sbv.cSOCode
|
|
|
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
|
|
|
+ left join UFDATA_103_2021.dbo.PurBillVouch pb on bi.PBVID =pb.PBVID
|
|
|
+ left join UFDATA_103_2021.dbo.Inventory inv on bi.cInvCode = inv.cInvCode
|
|
|
WHERE
|
|
|
- om.iVerifyStateNew = 2 and (om.cCloser is null or om.cCloser='asuser') and om.cCode like CONCAT(#{code},'%')
|
|
|
+ om.iVerifyStateNew = 2 and (om.cCloser is null or om.cCloser='asuser') and om.cCode like CONCAT(#{code},'%') and inv.cInvCCode like '19%'
|
|
|
GROUP BY od.csoordercode
|
|
|
) o ON a.csocode = o.csoordercode
|
|
|
inner JOIN UFDATA_103_2021.dbo.Vendor v ON o.supplierCode= v.cVenCode
|
|
@@ -150,7 +159,7 @@ GROUP BY sbv.cDefine10,sbv.iExchRate,sbv.cSOCode
|
|
|
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
|
|
|
+ group by sh.cDefine10,so.cExchRate,sh.cSOCode,c.cInvName, v.cVenName
|
|
|
|
|
|
) t order by t.outdata
|
|
|
|