浏览代码

成本分配 费用支出

liuchaohui 2 年之前
父节点
当前提交
b0a53b5095

+ 5 - 0
jeecg-boot-module-system/src/main/java/org/jeecg/modules/cost/mapper/SyCostAllocationCostpayMapper.java

@@ -1,6 +1,8 @@
 package org.jeecg.modules.cost.mapper;
 
 import java.util.List;
+
+import com.baomidou.dynamic.datasource.annotation.DS;
 import org.jeecg.modules.cost.entity.SyCostAllocationCostpay;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 
@@ -15,4 +17,7 @@ public interface SyCostAllocationCostpayMapper extends BaseMapper<SyCostAllocati
 	public boolean deleteByMainId(String mainId);
     
 	public List<SyCostAllocationCostpay> selectByMainId(String mainId);
+
+	@DS("multi-three")
+	List<SyCostAllocationCostpay> queryByCostPay(String code);
 }

+ 71 - 0
jeecg-boot-module-system/src/main/java/org/jeecg/modules/cost/mapper/xml/SyCostAllocationCostpayMapper.xml

@@ -15,4 +15,75 @@
 		WHERE
 			 sy_cost_allocation_id = #{id} 		
 	</select>
+
+	<select id="queryByCostPay" resultType="org.jeecg.modules.cost.entity.SyCostAllocationCostpay">
+		SELECT 901 as setNo,
+		sp.cSPVCode as disbursementSlipNo,
+		sp.cDefine10 as invoicenum,
+		sp.cMaker as preparedBy,
+		sps.cExpCode as expenseItem,
+		sps.iMoney as disbursedLocalmoney,
+		v.cVenName as processUnit,
+		sps.INatMoney as disbursedOriginalmoney
+		FROM
+		UFDATA_901_2021.dbo.SalePayVouch sp
+		INNER JOIN UFDATA_901_2021.dbo.SalePayVouchs sps ON sp.id = sps.id
+		LEFT JOIN Vendor v ON sp.cvencode= v.cVenCode
+		where sp.cSOCode
+		in (
+		SELECT s.cSOCode FROM UFDATA_901_2021.dbo.SO_SODetails s
+			JOIN (
+			SELECT od.cInvCode,od.isosid FROM UFDATA_901_2021.dbo.OM_MOMain om
+			LEFT JOIN UFDATA_901_2021.dbo.OM_MODetails od ON om.MOID = od.MOID
+			WHERE om.iVerifyStateNew = 2 AND om.cCode LIKE CONCAT(#{code},'%')
+			) o ON s.isosid = o.isosid AND s.cInvCode = o.cInvCode
+			GROUP BY s.cSOCode
+		)
+		union all
+		SELECT 902 as setNo,
+				 sp.cSPVCode as disbursementSlipNo,
+				 sp.cDefine10 as invoicenum,
+				 sp.cMaker as preparedBy,
+				 sps.cExpCode as expenseItem,
+				 sps.iMoney as disbursedLocalmoney,
+				 v.cVenName as processUnit,
+				 sps.INatMoney as disbursedOriginalmoney
+			 FROM
+				 UFDATA_902_2021.dbo.SalePayVouch sp
+				 INNER JOIN UFDATA_902_2021.dbo.SalePayVouchs sps ON sp.id = sps.id
+				 LEFT JOIN Vendor v ON sp.cvencode= v.cVenCode
+				 where sp.cSOCode
+			 in (
+				 SELECT s.cSOCode FROM SO_SODetails s
+					 JOIN (
+					 SELECT od.cInvCode,od.isosid FROM UFDATA_902_2021.dbo.OM_MOMain om
+					 LEFT JOIN UFDATA_902_2021.dbo.OM_MODetails od ON om.MOID = od.MOID
+					 WHERE om.iVerifyStateNew = 2 AND om.cCode LIKE CONCAT(#{code},'%')
+					 ) o ON s.isosid = o.isosid AND s.cInvCode = o.cInvCode
+					 GROUP BY s.cSOCode
+				 )
+		union all
+		SELECT 903 as setNo,
+				 sp.cSPVCode as disbursementSlipNo,
+				 sp.cDefine10 as invoicenum,
+				 sp.cMaker as preparedBy,
+				 sps.cExpCode as expenseItem,
+				 sps.iMoney as disbursedLocalmoney,
+				 v.cVenName as processUnit,
+				 sps.INatMoney as disbursedOriginalmoney
+			 FROM
+				 UFDATA_903_2021.dbo.SalePayVouch sp
+				 INNER JOIN UFDATA_903_2021.dbo.SalePayVouchs sps ON sp.id = sps.id
+				 LEFT JOIN Vendor v ON sp.cvencode= v.cVenCode
+				 where sp.cSOCode
+			 in (
+				 SELECT s.cSOCode FROM SO_SODetails s
+					 JOIN (
+					 SELECT od.cInvCode,od.isosid FROM UFDATA_903_2021.dbo.OM_MOMain om
+					 LEFT JOIN UFDATA_903_2021.dbo.OM_MODetails od ON om.MOID = od.MOID
+					 WHERE om.iVerifyStateNew = 2 AND om.cCode LIKE CONCAT(#{code},'%')
+					 ) o ON s.isosid = o.isosid AND s.cInvCode = o.cInvCode
+					 GROUP BY s.cSOCode
+				 );
+	</select>
 </mapper>

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

@@ -590,80 +590,9 @@ public class SyCostAllocationServiceImpl extends ServiceImpl<SyCostAllocationMap
         syCostAllocation.setSyCostAllocationAccidentList(syCostAllocationAccident);
 
         //费用支出
-        String sqlCostpay = "SELECT 901 as setNo, " +
-                    "  sp.cSPVCode as disbursementSlipNo, " +
-                    "  sp.cDefine10 as invoicenum, " +
-                    "  sp.cMaker as preparedBy, " +
-                    "  sps.cExpCode as expenseItem, " +
-                    "  sps.iMoney as disbursedLocalmoney, " +
-                    "  v.cVenName as processUnit," +
-                    "  sps.INatMoney as disbursedOriginalmoney  " +
-                    "FROM " +
-                    "  UFDATA_901_2021.dbo.SalePayVouch sp " +
-                    "  INNER JOIN UFDATA_901_2021.dbo.SalePayVouchs sps ON sp.id = sps.id " +
-                    "  LEFT JOIN Vendor v ON sp.cvencode= v.cVenCode  " +
-                    "  where sp.cSOCode " +
-                    "in (   " +
-                    "  SELECT s.cSOCode FROM UFDATA_901_2021.dbo.SO_SODetails s  " +
-                    "    JOIN (  " +
-                    "    SELECT od.cInvCode,od.isosid FROM UFDATA_901_2021.dbo.OM_MOMain om  " +
-                    "    LEFT JOIN UFDATA_901_2021.dbo.OM_MODetails od ON om.MOID = od.MOID   " +
-                    "    WHERE om.iVerifyStateNew = 2 AND om.cCode LIKE '"+plannum+"%'   " +
-                    "    ) o ON s.isosid = o.isosid AND s.cInvCode = o.cInvCode   " +
-                    "    GROUP BY s.cSOCode  " +
-                    "  )"+
-                " union all "+
-                    " SELECT 902 as setNo, " +
-                    "       sp.cSPVCode as disbursementSlipNo, " +
-                    "       sp.cDefine10 as invoicenum, " +
-                    "       sp.cMaker as preparedBy, " +
-                    "       sps.cExpCode as expenseItem, " +
-                    "       sps.iMoney as disbursedLocalmoney, " +
-                    "       v.cVenName as processUnit," +
-                    "       sps.INatMoney as disbursedOriginalmoney  " +
-                    "     FROM " +
-                    "       UFDATA_902_2021.dbo.SalePayVouch sp " +
-                    "       INNER JOIN UFDATA_902_2021.dbo.SalePayVouchs sps ON sp.id = sps.id " +
-                    "       LEFT JOIN Vendor v ON sp.cvencode= v.cVenCode  " +
-                    "       where sp.cSOCode " +
-                    "     in (   " +
-                    "       SELECT s.cSOCode FROM SO_SODetails s  " +
-                    "         JOIN (  " +
-                    "         SELECT od.cInvCode,od.isosid FROM UFDATA_902_2021.dbo.OM_MOMain om  " +
-                    "         LEFT JOIN UFDATA_902_2021.dbo.OM_MODetails od ON om.MOID = od.MOID   " +
-                    "         WHERE om.iVerifyStateNew = 2 AND om.cCode LIKE '"+plannum+"%'   " +
-                    "         ) o ON s.isosid = o.isosid AND s.cInvCode = o.cInvCode   " +
-                    "         GROUP BY s.cSOCode  " +
-                    "       )"+
-                " union all "+
-                    " SELECT 903 as setNo, " +
-                    "       sp.cSPVCode as disbursementSlipNo, " +
-                    "       sp.cDefine10 as invoicenum, " +
-                    "       sp.cMaker as preparedBy, " +
-                    "       sps.cExpCode as expenseItem, " +
-                    "       sps.iMoney as disbursedLocalmoney, " +
-                    "       v.cVenName as processUnit," +
-                    "       sps.INatMoney as disbursedOriginalmoney  " +
-                    "     FROM " +
-                    "       UFDATA_903_2021.dbo.SalePayVouch sp " +
-                    "       INNER JOIN UFDATA_903_2021.dbo.SalePayVouchs sps ON sp.id = sps.id " +
-                    "       LEFT JOIN Vendor v ON sp.cvencode= v.cVenCode  " +
-                    "       where sp.cSOCode " +
-                    "     in (   " +
-                    "       SELECT s.cSOCode FROM SO_SODetails s  " +
-                    "         JOIN (  " +
-                    "         SELECT od.cInvCode,od.isosid FROM UFDATA_903_2021.dbo.OM_MOMain om  " +
-                    "         LEFT JOIN UFDATA_903_2021.dbo.OM_MODetails od ON om.MOID = od.MOID   " +
-                    "         WHERE om.iVerifyStateNew = 2 AND om.cCode LIKE '"+plannum+"%'   " +
-                    "         ) o ON s.isosid = o.isosid AND s.cInvCode = o.cInvCode   " +
-                    "         GROUP BY s.cSOCode  " +
-                    "       )";
-        List<Map<String, Object>> costpayList  = senYuDataSourceOne.queryForList(sqlCostpay);
-        List<JSONObject> costpay = JsonChangeUtils.toJSONObject(costpayList);
-        List<SyCostAllocationCostpay> syCostAllocationCostpays = new ArrayList<>();
-        for (int i=0;i<costpay.size();i++) {
-            SyCostAllocationCostpay syCostAllocationCostpay = JSONObject.toJavaObject(costpay.get(i), SyCostAllocationCostpay.class);
-            syCostAllocationCostpays.add(syCostAllocationCostpay);
+        List<SyCostAllocationCostpay> syCostAllocationCostpays = syCostAllocationCostpayMapper.queryByCostPay(plannum);
+        for (int i=0;i<syCostAllocationCostpays.size();i++) {
+            SyCostAllocationCostpay syCostAllocationCostpay = syCostAllocationCostpays.get(i);
             //费用支出单原币本币汇总 并 赋值给表头
             if(syCostAllocation.getUsdExpense()==null){
                 syCostAllocation.setUsdExpense(syCostAllocationCostpay.getDisbursedOriginalmoney());