Procházet zdrojové kódy

财务报销 功能优化

zhaoxian před 2 roky
rodič
revize
8c82a9245e

+ 3 - 0
jeecg-boot-module-system/src/main/java/cn/com/ctop/reimburse/mondule/controller/ReimburseProjectController.java

@@ -132,6 +132,9 @@ public class ReimburseProjectController {
         for (ReimburseProject project : list) {
             if (!Check.isNull(project.getFileUrls())) {
                 List<String> fileUrls = JSONArray.parseArray(project.getFileUrls().toString(), String.class);
+                if (Check.isNull(fileUrls)) {
+                    continue;
+                }
                 urls.addAll(fileUrls);
             }
         }

+ 4 - 0
jeecg-boot-module-system/src/main/java/cn/com/ctop/reimburse/mondule/mapper/ReimburseApplyMapper.java

@@ -25,4 +25,8 @@ public interface ReimburseApplyMapper extends BaseMapper<ReimburseApply> {
     void insertRel(@Param("leader") String leader, @Param("applyId") Long applyId);
 
     List<JSONObject> queryLeaderCompanyList();
+
+    String selectFinalLeaders(@Param("userId") String userId,@Param("companyId") String companyId);
+
+    String selectWelfareLeader(@Param("departName")  String departName);
 }

+ 13 - 0
jeecg-boot-module-system/src/main/java/cn/com/ctop/reimburse/mondule/mapper/xml/ReimburseApplyMapper.xml

@@ -174,6 +174,19 @@
         group by company_id
     </select>
 
+    <select id="selectFinalLeaders" resultType="String">
+        SELECT final_id
+        FROM ctop_reimburse_leader
+        where company_id = #{companyId}
+          AND final_id = #{userId} LIMIT 1
+    </select>
+
+    <select id="selectWelfareLeader" resultType="String">
+        SELECT first_id
+        FROM ctop_reimburse_leader
+        where depart_name = #{departName} LIMIT 1
+    </select>
+
     <insert id="insertRel">
         replace
         into ctop_reimburse_apply_leader_rel(apply_id,user_id)VALUE (

+ 7 - 2
jeecg-boot-module-system/src/main/java/cn/com/ctop/reimburse/mondule/service/impl/ReimburseApplyServiceImpl.java

@@ -256,6 +256,11 @@ public class ReimburseApplyServiceImpl extends ServiceImpl<ReimburseApplyMapper,
     // 获取公司审核人ID
     private String getCompanyLeader(String userId, String companyId) {
         String leaderId = "";
+
+        String user = baseMapper.selectFinalLeaders(userId, companyId);
+        if (userId.equals(user)) {
+            return userId;
+        }
         //查询部门
         List<SysDepart> departs = sysDepartService.queryUserDeparts(userId);
         if (!departs.isEmpty()) {
@@ -351,9 +356,9 @@ public class ReimburseApplyServiceImpl extends ServiceImpl<ReimburseApplyMapper,
         String typ = "BL,TJ,JH,SY";
         for (ReimburseProject project : projects) {
             if (type.equals(project.getType())) {
-                return "16eab477cd7a43538c1049d9678753e0";
+                return baseMapper.selectWelfareLeader("考试福利");
             } else if (typ.contains(project.getType())) {
-                return "4afbd7ef38804a558aca1329d4008d37";
+                return baseMapper.selectWelfareLeader("其他福利");
             }
         }
         return null;