Browse Source

修改审核逻辑

anderx 2 years ago
parent
commit
2335f33f7b

+ 2 - 1
src/main/java/com/goafanti/common/dao/AdminMapper.java

@@ -145,6 +145,8 @@ public interface AdminMapper {
 
     Admin selectFinanceAdminByOrderDep(String orderDep);
 
+    Admin selectFinanceAdminByAid(String aid);
+
     String getPermission(String transferId);
 
     List<String> selectDepIdWithSpuerId(String superId);
@@ -167,7 +169,6 @@ public interface AdminMapper {
 
     List<AdminCustomerBo > selectByDeps(@Param("depIds") List<Department> depIds,@Param("seniorStaff") Integer seniorStaff);
 
-    Admin getAdminByFinanceId(String id);
 
 
     List<Integer> selectRoleTypeByid(String aid);

+ 1 - 2
src/main/java/com/goafanti/common/dao/NoticeMapper.java

@@ -45,7 +45,6 @@ public interface NoticeMapper {
 	int updateByPrimaryKey(Notice record);
 
 
-	int findUnreadNoticeCount(String aid);
 
 	int selectUnreadedCount(String aid);
 
@@ -56,4 +55,4 @@ public interface NoticeMapper {
 	List<NoticeBo> findUnreadNoticeListByPage(@Param("aid") String aid);
 
 	List<NoticeBo> publicReleaseUnread(@Param("aid") String aid);
-}
+}

+ 6 - 0
src/main/java/com/goafanti/common/mapper/AdminMapper.xml

@@ -1234,4 +1234,10 @@
     from user_role a left join `role` b on a.rid =b.id
     where a.uid = #{aid}
   </select>
+  <select id="selectFinanceAdminByAid" resultType="com.goafanti.common.model.Admin">
+    select c.id,c.name,c.open_id openId,c.email
+    from admin  a left join department b on a.department_id=b.id
+    left join admin c on b.finance_id=c.id
+    where a.id= #{aid}
+  </select>
 </mapper>

+ 1 - 1
src/main/java/com/goafanti/common/mapper/ExpenseAccountMapper.xml

@@ -391,7 +391,7 @@
     <if test="payDep != null">
       and a.pay_dep = #{payDep}
     </if>
-    order by a.create_time desc
+    order by a.status,a.create_time desc
     <if test="page_sql !=null">
       ${page_sql}
     </if>

+ 62 - 0
src/main/java/com/goafanti/expenseAccount/service/impl/ExpenseAccountServiceImpl.java

@@ -44,6 +44,8 @@ public class ExpenseAccountServiceImpl extends BaseMybatisDao<ExpenseAccountMapp
     private ExpenseAccountDetailsMapper expenseAccountDetailsMapper;
     @Autowired
     private ExpenseAccountPrivateMapper expenseAccountPrivateMapper;
+    @Autowired
+    private ExpenseAccountExamineMapper expenseAccountExamineMapper;
 
 
 
@@ -71,11 +73,71 @@ public class ExpenseAccountServiceImpl extends BaseMybatisDao<ExpenseAccountMapp
             in.setTargetType(1);
         }
         expenseAccountMapper.insertSelective(in);
+        addExpenseAccountExamine(in.getId());
         addExpenseAccountLogAndNoticEmail(in,0,"创建报销");
         return in.getId();
     }
 
     /**
+     * 添加审核流程
+     * @param id
+     */
+    private void addExpenseAccountExamine(Integer id) {
+        List<ExpenseAccountExamine> list=new ArrayList<>();
+        String aid = TokenManager.getAdminId();
+        Admin admin = adminMapper.selectByPrimaryKey(aid);
+        for (int i=1;i<5;i++){
+            if (i==1){
+                //新增一级
+                ExpenseAccountExamine eae=new ExpenseAccountExamine(id,i);
+                AdminNoticeBo a = adminMapper.selectMyAndSuperBySuperId(aid);
+                if (a.getSuperId()!=null){
+                    eae.setAuditor(a.getSuperId());
+                    eae.setAuditorname(a.getSuperName());
+                    list.add(eae);
+                }else {
+                    eae.setAuditor(a.getId());
+                    eae.setAuditorname(a.getName());
+                }
+                if (eae.getAuditor().equals(aid))eae.setStatus(1);
+                else  eae.setStatus(0);
+                list.add(eae);
+            }else if (i==2){
+                ExpenseAccountExamine eae=new ExpenseAccountExamine(id,i);
+                Admin admin2 = adminMapper.selectFinanceAdminByAid(aid);
+                eae.setAuditor(admin2.getId());
+                eae.setAuditorname(admin2.getName());
+                if (eae.getAuditor().equals(aid))eae.setStatus(1);
+                else  eae.setStatus(0);
+                list.add(eae);
+            }else if (i==3){
+                List<Admin> admins = adminMapper.listAdminBydepIdAndRoleType(admin.getDepartmentId(), AFTConstants.SALESMAN_ADMIN);
+                for (Admin e : admins) {
+                    ExpenseAccountExamine eae=new ExpenseAccountExamine(id,i);
+                    eae.setAuditor(e.getId());
+                    eae.setAuditorname(e.getName());
+                    if (eae.getAuditor().equals(aid))eae.setStatus(1);
+                    else  eae.setStatus(0);
+                    list.add(eae);
+                }
+            }else if (i==4){
+                List<Admin> admins = adminMapper.selectAdminByRoleType(AFTConstants.All_CED_AND_CHAIRMAN);
+                for (Admin e : admins) {
+                    ExpenseAccountExamine eae=new ExpenseAccountExamine(id,i);
+                    eae.setAuditor(e.getId());
+                    eae.setAuditorname(e.getName());
+                    if (eae.getAuditor().equals(aid))eae.setStatus(1);
+                    else  eae.setStatus(0);
+                    list.add(eae);
+                }
+            }
+
+        }
+
+            expenseAccountExamineMapper.insertBatch(list);
+    }
+
+    /**
      *
      * @param eaid 报销编号
      * @param status 状态 0创建 1发起 2通过 3驳回 4修改