瀏覽代碼

多数据源

zouxuan 11 月之前
父節點
當前提交
907d47c35e

+ 4 - 1
mec-biz/pom.xml

@@ -17,6 +17,10 @@
 
 	<dependencies>
 		<dependency>
+			<groupId>com.yonge.datasource</groupId>
+			<artifactId>dynamic-datasource</artifactId>
+		</dependency>
+		<dependency>
 			<groupId>com.ym</groupId>
 			<artifactId>common-core</artifactId>
 		</dependency>
@@ -112,6 +116,5 @@
 			<groupId>com.yonge.log</groupId>
 			<artifactId>audit-log</artifactId>
 		</dependency>
-
 	</dependencies>
 </project>

+ 0 - 45
mec-biz/src/main/java/com/ym/mec/biz/dal/dao/FinancialExpenditureDao.java

@@ -1,7 +1,6 @@
 package com.ym.mec.biz.dal.dao;
 
 import com.ym.mec.biz.dal.dto.FinancialExpenditureDto;
-import com.ym.mec.biz.dal.dto.PWorkOrderInfo;
 import com.ym.mec.biz.dal.entity.FinancialExpenditure;
 import com.ym.mec.common.dal.BaseDAO;
 import org.apache.ibatis.annotations.Param;
@@ -39,42 +38,6 @@ public interface FinancialExpenditureDao extends BaseDAO<Long, FinancialExpendit
     List<String> countBydingTalk(@Param("collect") List<Object> collect);
 
     /**
-    * @description: 同步oa审批到支出记录
-     * @param workOrderId
-    * @return java.lang.Boolean
-    * @author zx
-    * @date 2021/11/25 16:09
-    */
-    PWorkOrderInfo getWorkOrderInfo(Integer workOrderId);
-
-    /**
-    * @description: 获取oa表单模板
-     * @param workOrderId
-    * @return java.lang.String
-    * @author zx
-    * @date 2021/11/25 16:55
-    */
-    String getFormStructure(Integer workOrderId);
-
-    /**
-    * @description: 获取oa表单
-     * @param workOrderId
-    * @return java.lang.String
-    * @author zx
-    * @date 2021/11/26 10:09
-    */
-    String getFormData(Integer workOrderId);
-
-    /**
-    * @description: 获取模板
-     * @param tplInfoId
-    * @return java.lang.String
-    * @author zx
-    * @date 2021/11/29 15:16
-    */
-    String getTplInfo(String tplInfoId);
-
-    /**
     * @description: 是否同步过数据
      * @param workOrderId
     * @return java.lang.Boolean
@@ -83,12 +46,4 @@ public interface FinancialExpenditureDao extends BaseDAO<Long, FinancialExpendit
     */
     Integer findByBatchNoAndProcessNo(Integer workOrderId);
 
-    /**
-    * @description: 获取社保分部
-     * @param deptId
-    * @return java.lang.Integer
-    * @author zx
-    * @date 2021/11/30 14:40
-    */
-    Integer getDeptId(Integer deptId);
 }

+ 53 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/dao/OaDao.java

@@ -0,0 +1,53 @@
+package com.ym.mec.biz.dal.dao;
+
+import com.ym.mec.biz.dal.dto.PWorkOrderInfo;
+import com.yonge.datasource.config.DbAnnotation;
+
+@DbAnnotation("oa")
+public interface OaDao {
+
+    /**
+    * @description: 同步oa审批到支出记录
+     * @param workOrderId
+    * @return java.lang.Boolean
+    * @author zx
+    * @date 2021/11/25 16:09
+    */
+    PWorkOrderInfo getWorkOrderInfo(Integer workOrderId);
+
+    /**
+    * @description: 获取oa表单模板
+     * @param workOrderId
+    * @return java.lang.String
+    * @author zx
+    * @date 2021/11/25 16:55
+    */
+    String getFormStructure(Integer workOrderId);
+
+    /**
+    * @description: 获取oa表单
+     * @param workOrderId
+    * @return java.lang.String
+    * @author zx
+    * @date 2021/11/26 10:09
+    */
+    String getFormData(Integer workOrderId);
+
+    /**
+    * @description: 获取模板
+     * @param tplInfoId
+    * @return java.lang.String
+    * @author zx
+    * @date 2021/11/29 15:16
+    */
+    String getTplInfo(String tplInfoId);
+
+    /**
+    * @description: 获取社保分部
+     * @param deptId
+    * @return java.lang.Integer
+    * @author zx
+    * @date 2021/11/30 14:40
+    */
+    Integer getDeptId(Integer deptId);
+}

+ 17 - 14
mec-biz/src/main/java/com/ym/mec/biz/service/impl/FinancialExpenditureServiceImpl.java

@@ -3,6 +3,7 @@ package com.ym.mec.biz.service.impl;
 
 import com.alibaba.fastjson.JSONObject;
 import com.ym.mec.biz.dal.dao.FinancialExpenditureDao;
+import com.ym.mec.biz.dal.dao.OaDao;
 import com.ym.mec.biz.dal.dao.OrganizationDao;
 import com.ym.mec.biz.dal.dao.TeacherDao;
 import com.ym.mec.biz.dal.dto.*;
@@ -33,12 +34,12 @@ import org.redisson.api.RBucket;
 import org.redisson.api.RedissonClient;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
-import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.core.io.ClassPathResource;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 import org.springframework.web.multipart.MultipartFile;
 
+import javax.annotation.Resource;
 import java.io.ByteArrayInputStream;
 import java.io.File;
 import java.io.InputStream;
@@ -52,21 +53,23 @@ import java.util.stream.Collectors;
 @Service
 public class FinancialExpenditureServiceImpl extends BaseServiceImpl<Long, FinancialExpenditure> implements FinancialExpenditureService {
 
-    @Autowired
+    @Resource
+    private OaDao oaDao;
+    @Resource
     private FinancialExpenditureDao financialExpenditureDao;
-    @Autowired
+    @Resource
     private OrganizationDao organizationDao;
-    @Autowired
+    @Resource
     private VipGroupService vipGroupService;
-    @Autowired
+    @Resource
     private GroupClassService groupClassService;
-    @Autowired
+    @Resource
     private MusicGroupService musicGroupService;
-    @Autowired
+    @Resource
     private TeacherDao teacherDao;
-    @Autowired
+    @Resource
     private FinancialExpenditureService financialExpenditureService;
-    @Autowired
+    @Resource
     private RedissonClient redissonClient;
 
     @Override
@@ -239,7 +242,7 @@ public class FinancialExpenditureServiceImpl extends BaseServiceImpl<Long, Finan
         if (!bucket.trySet(workOrderId, 2L, TimeUnit.SECONDS)) {
             throw new BizException("正在同步oa审批记录,请勿重复操作");
         }
-        PWorkOrderInfo pWorkOrderInfo = financialExpenditureDao.getWorkOrderInfo(workOrderId);
+        PWorkOrderInfo pWorkOrderInfo = oaDao.getWorkOrderInfo(workOrderId);
         if (pWorkOrderInfo != null){
             Integer hasFinancial = financialExpenditureDao.findByBatchNoAndProcessNo(workOrderId);
             if(hasFinancial != null){
@@ -254,9 +257,9 @@ public class FinancialExpenditureServiceImpl extends BaseServiceImpl<Long, Finan
                 }
             }
             //获取模板
-            String formStructure = financialExpenditureDao.getFormStructure(workOrderId);
+            String formStructure = oaDao.getFormStructure(workOrderId);
             //获取用户填写的表单
-            JSONObject formData = JSONObject.parseObject(financialExpenditureDao.getFormData(workOrderId));
+            JSONObject formData = JSONObject.parseObject(oaDao.getFormData(workOrderId));
             OaFormStructureDto oaFormStructureDto = JSONObject.parseObject(formStructure, OaFormStructureDto.class);
             List<OaInputDto> oaInputDtos = oaFormStructureDto.getList();
             //课程退费和乐团退费需要单独处理
@@ -389,7 +392,7 @@ public class FinancialExpenditureServiceImpl extends BaseServiceImpl<Long, Finan
                 financialExpenditure.setApplyUserId(pWorkOrderInfo.getCreator());
                 financialExpenditure.setProcessId(pWorkOrderInfo.getProcess());
                 financialExpenditure.setEffectiveTime(DateUtil.format(endTime,DateUtil.ISO_YEAR_MONTH_FORMAT));
-                Integer organId = financialExpenditureDao.getDeptId(pWorkOrderInfo.getDeptId());
+                Integer organId = oaDao.getDeptId(pWorkOrderInfo.getDeptId());
                 Organization organization = organizationDao.get(organId);
                 if(organization != null){
                     financialExpenditure.setOrganId(organization.getId());
@@ -591,7 +594,7 @@ public class FinancialExpenditureServiceImpl extends BaseServiceImpl<Long, Finan
                 return;
             }
             JSONObject formData = JSONObject.parseObject(data);
-            String formStructure = financialExpenditureDao.getTplInfo(tplInfoId);
+            String formStructure = oaDao.getTplInfo(tplInfoId);
             Date now = new Date();
             OaFormStructureDto oaFormStructureDto = JSONObject.parseObject(formStructure, OaFormStructureDto.class);
             List<OaInputDto> oaInputDtos = oaFormStructureDto.getList();

+ 0 - 32
mec-biz/src/main/resources/config/mybatis/FinancialExpenditureMapper.xml

@@ -227,39 +227,7 @@
         </foreach>
         GROUP BY dingtalk_process_no_
     </select>
-    <resultMap id="PWorkOrderInfo" type="com.ym.mec.biz.dal.dto.PWorkOrderInfo">
-        <result property="id" column="id"/>
-        <result property="classify" column="classify"/>
-        <result property="isEnd" column="is_end"/>
-        <result property="isDenied" column="is_denied"/>
-        <result property="isCancel" column="is_cancel"/>
-        <result property="creator" column="mec_user_id"/>
-        <result property="process" column="process"/>
-        <result property="title" column="title"/>
-        <result property="deptId" column="dept_id"/>
-        <result property="updateTime" column="update_time"/>
-    </resultMap>
-    <select id="getWorkOrderInfo" resultMap="PWorkOrderInfo">
-        SELECT woi.*,su.mec_user_id FROM oa_pro.p_work_order_info woi
-        LEFT JOIN oa_pro.p_work_order_circulation_history woch ON woi.id = woch.work_order
-        LEFT JOIN oa_pro.p_process_info pi ON pi.id = woi.classify
-        LEFT JOIN oa_pro.sys_user su ON su.user_id = woi.creator
-        WHERE woi.is_end = 1  AND woi.is_denied = 0  AND woi.is_cancel = 0
-        AND woch.`status` != 0 AND woi.id = #{workOrderId} AND pi.fee_type = 1 LIMIT 1
-    </select>
-    <select id="getFormStructure" resultType="java.lang.String">
-        SELECT form_structure FROM oa_pro.p_work_order_tpl_data WHERE work_order = #{workOrderId}
-    </select>
-    <select id="getFormData" resultType="java.lang.String">
-        SELECT form_data FROM oa_pro.p_work_order_tpl_data WHERE work_order = #{workOrderId}
-    </select>
-    <select id="getTplInfo" resultType="java.lang.String">
-        SELECT form_structure FROM oa_pro.p_tpl_info WHERE id = #{tplInfoId}
-    </select>
     <select id="findByBatchNoAndProcessNo" resultType="integer">
         SELECT id_ FROM financial_expenditure WHERE batch_no_ = #{workOrderId} AND financial_process_no_ = #{workOrderId} LIMIT 1
     </select>
-    <select id="getDeptId" resultType="java.lang.Integer">
-        SELECT organ_id FROM oa_pro.sys_dept WHERE dept_id = #{deptId}
-    </select>
 </mapper>

+ 40 - 0
mec-biz/src/main/resources/config/mybatis/OaMapper.xml

@@ -0,0 +1,40 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<!--
+这个文件是自动生成的。
+不要修改此文件。所有改动将在下次重新自动生成时丢失。
+-->
+<mapper namespace="com.ym.mec.biz.dal.dao.OaDao">
+    <resultMap id="PWorkOrderInfo" type="com.ym.mec.biz.dal.dto.PWorkOrderInfo">
+        <result property="id" column="id"/>
+        <result property="classify" column="classify"/>
+        <result property="isEnd" column="is_end"/>
+        <result property="isDenied" column="is_denied"/>
+        <result property="isCancel" column="is_cancel"/>
+        <result property="creator" column="mec_user_id"/>
+        <result property="process" column="process"/>
+        <result property="title" column="title"/>
+        <result property="deptId" column="dept_id"/>
+        <result property="updateTime" column="update_time"/>
+    </resultMap>
+    <select id="getWorkOrderInfo" resultMap="PWorkOrderInfo">
+        SELECT woi.*,su.mec_user_id FROM p_work_order_info woi
+        LEFT JOIN p_work_order_circulation_history woch ON woi.id = woch.work_order
+        LEFT JOIN p_process_info pi ON pi.id = woi.classify
+        LEFT JOIN sys_user su ON su.user_id = woi.creator
+        WHERE woi.is_end = 1  AND woi.is_denied = 0  AND woi.is_cancel = 0
+        AND woch.`status` != 0 AND woi.id = #{workOrderId} AND pi.fee_type = 1 LIMIT 1
+    </select>
+    <select id="getFormStructure" resultType="java.lang.String">
+        SELECT form_structure FROM p_work_order_tpl_data WHERE work_order = #{workOrderId}
+    </select>
+    <select id="getFormData" resultType="java.lang.String">
+        SELECT form_data FROM p_work_order_tpl_data WHERE work_order = #{workOrderId}
+    </select>
+    <select id="getTplInfo" resultType="java.lang.String">
+        SELECT form_structure FROM p_tpl_info WHERE id = #{tplInfoId}
+    </select>
+    <select id="getDeptId" resultType="java.lang.Integer">
+        SELECT organ_id FROM sys_dept WHERE dept_id = #{deptId}
+    </select>
+</mapper>