Просмотр исходного кода

Merge branch 'test' of jishutao/kede-server into prod

anderx лет назад: 2
Родитель
Сommit
ef63adeb85

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

@@ -143,6 +143,7 @@ public interface AdminMapper {
     Admin selectFinanceAdminByOrderDep(String orderDep);
     Admin selectFinanceAdminByOrderDep(String orderDep);
 
 
     Admin selectFinanceAdminByAid(String aid);
     Admin selectFinanceAdminByAid(String aid);
+    Admin selectExpenseFinanceByAid(String aid);
 
 
     String getPermission(String transferId);
     String getPermission(String transferId);
 
 

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

@@ -1441,5 +1441,11 @@
       and  c.finance_id = #{aid}
       and  c.finance_id = #{aid}
       and a.start_time  between #{startTime} and #{endTime}
       and a.start_time  between #{startTime} and #{endTime}
   </select>
   </select>
+  <select id="selectExpenseFinanceByAid" 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>
 </mapper>

Разница между файлами не показана из-за своего большого размера
+ 627 - 610
src/main/java/com/goafanti/common/mapper/DepartmentMapper.xml


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

@@ -886,18 +886,18 @@
         and b.process_status &gt; eae.type
         and b.process_status &gt; eae.type
       </if>
       </if>
     </if>
     </if>
-    <if test="roleType == 2">
+    <if test="roleType == 3">
       <if test="listStatus ==0">
       <if test="listStatus ==0">
-        and b.process_status =2
+        and b.process_status =3
       </if>
       </if>
       <if test="listStatus ==1">
       <if test="listStatus ==1">
-        and b.process_status &gt; 2
+        and b.process_status &gt; 3
       </if>
       </if>
       and adDep.finance_id = #{aid}
       and adDep.finance_id = #{aid}
     </if>
     </if>
-    <if test="roleType == 4">
+    <if test="roleType == 5">
       <if test="listStatus ==0">
       <if test="listStatus ==0">
-        and b.process_status =4 and b.status=1
+        and b.process_status =5 and b.status=1
       </if>
       </if>
       <if test="listStatus ==1">
       <if test="listStatus ==1">
         and b.process_status =5 and b.status=2
         and b.process_status =5 and b.status=2

+ 43 - 20
src/main/java/com/goafanti/common/model/Department.java

@@ -6,7 +6,7 @@ import java.util.Date;
 
 
 /**
 /**
  * department
  * department
- * @author
+ * @author 
  */
  */
 public class Department implements Serializable {
 public class Department implements Serializable {
     /**
     /**
@@ -118,32 +118,28 @@ public class Department implements Serializable {
      * 复审财务id
      * 复审财务id
      */
      */
     private String retrialFinanceId;
     private String retrialFinanceId;
+
     /**
     /**
      * 特批审核状态 0=无需特批,1=需要特批
      * 特批审核状态 0=无需特批,1=需要特批
      */
      */
     private Integer approval;
     private Integer approval;
+
     /**
     /**
      * 特批审核人
      * 特批审核人
      */
      */
     private String approvalAid;
     private String approvalAid;
 
 
-    private static final long serialVersionUID = 1L;
-
-    public Integer getApproval() {
-        return approval;
-    }
-
-    public void setApproval(Integer approval) {
-        this.approval = approval;
-    }
+    /**
+     * 报销财务审核人
+     */
+    private String expenseFinanceId;
 
 
-    public String getApprovalAid() {
-        return approvalAid;
-    }
+    /**
+     * 报销财务复审审核人
+     */
+    private String expenseRetrialFinanceId;
 
 
-    public void setApprovalAid(String approvalAid) {
-        this.approvalAid = approvalAid;
-    }
+    private static final long serialVersionUID = 1L;
 
 
     public String getId() {
     public String getId() {
         return id;
         return id;
@@ -321,8 +317,35 @@ public class Department implements Serializable {
         this.retrialFinanceId = retrialFinanceId;
         this.retrialFinanceId = retrialFinanceId;
     }
     }
 
 
-    public Department() {}
-    public Department(String id) {
-        this.id = id;
+    public Integer getApproval() {
+        return approval;
+    }
+
+    public void setApproval(Integer approval) {
+        this.approval = approval;
+    }
+
+    public String getApprovalAid() {
+        return approvalAid;
+    }
+
+    public void setApprovalAid(String approvalAid) {
+        this.approvalAid = approvalAid;
+    }
+
+    public String getExpenseFinanceId() {
+        return expenseFinanceId;
+    }
+
+    public void setExpenseFinanceId(String expenseFinanceId) {
+        this.expenseFinanceId = expenseFinanceId;
+    }
+
+    public String getExpenseRetrialFinanceId() {
+        return expenseRetrialFinanceId;
+    }
+
+    public void setExpenseRetrialFinanceId(String expenseRetrialFinanceId) {
+        this.expenseRetrialFinanceId = expenseRetrialFinanceId;
     }
     }
-}
+}

+ 9 - 2
src/main/java/com/goafanti/common/utils/AsyncUtils.java

@@ -148,8 +148,15 @@ public class AsyncUtils {
 
 
 	public void send(EmailBo bo){
 	public void send(EmailBo bo){
 		try {
 		try {
-			SendEmailUtil.getInstance().send(bo);
-			LoggerUtils.debug(getClass(),String.format("=============发送邮件==>%s===>%s",bo.getSubject(),bo.getAddress()));
+
+			if (bo.getAddress()==null){
+				LoggerUtils.debug(getClass(),String.format("====================" +
+						"邮件发送失败,发送地址={%s}",bo.getAddress()));
+			}else {
+				SendEmailUtil.getInstance().send(bo);
+				LoggerUtils.debug(getClass(),String.format("====================" +
+						"邮件发送成功,地址={%s},类型={%s}",bo.getAddress(),bo.getSubject()));
+			}
 		} catch (UnsupportedEncodingException | MessagingException e) {
 		} catch (UnsupportedEncodingException | MessagingException e) {
 			LoggerUtils.error(getClass(),"邮件发送错误");
 			LoggerUtils.error(getClass(),"邮件发送错误");
 		}
 		}

+ 9 - 5
src/main/java/com/goafanti/expenseAccount/Enums/EAProcessStatus.java

@@ -5,13 +5,17 @@ import java.util.HashMap;
 import java.util.Map;
 import java.util.Map;
 
 
 public enum EAProcessStatus {
 public enum EAProcessStatus {
-
+//流程状态 0=成员发起,1=上级审核,2=部门负责人审核,3=财务审核,4=财务复审,5=董事长,6=财务管理员,7=公司副总,8=出纳
     FQ(0,"发起"),
     FQ(0,"发起"),
     SJSH(1,"上级审核"),
     SJSH(1,"上级审核"),
-    CWSH(2,"财务审核"),
-    ZJLSH(3,"总经理审核"),
-    DSZSH(4,"董事长审核"),
-    WCSH(5,"完成审核"),
+    BMFZRSH(2,"部门负责人审核"),
+    CWSH(3,"财务审核"),
+    CWFS(4,"财务复审"),
+    DSZSH(5,"董事长"),
+    CWGGLYSH(6,"财务管理员"),
+    GSFSSH(7,"公司副总"),
+    CNSH(8,"出纳"),
+    BXWC(9,"报销完成"),
     NOT(99,"未知");
     NOT(99,"未知");
 
 
     private Integer code;
     private Integer code;

+ 71 - 103
src/main/java/com/goafanti/expenseAccount/service/impl/ExpenseAccountServiceImpl.java

@@ -11,10 +11,7 @@ import com.goafanti.common.enums.NoticeStatus;
 import com.goafanti.common.enums.NoticeTypes;
 import com.goafanti.common.enums.NoticeTypes;
 import com.goafanti.common.error.BusinessException;
 import com.goafanti.common.error.BusinessException;
 import com.goafanti.common.model.*;
 import com.goafanti.common.model.*;
-import com.goafanti.common.utils.AsyncUtils;
-import com.goafanti.common.utils.DateUtils;
-import com.goafanti.common.utils.LoggerUtils;
-import com.goafanti.common.utils.WeChatUtils;
+import com.goafanti.common.utils.*;
 import com.goafanti.core.mybatis.BaseMybatisDao;
 import com.goafanti.core.mybatis.BaseMybatisDao;
 import com.goafanti.core.mybatis.JDBCIdGenerator;
 import com.goafanti.core.mybatis.JDBCIdGenerator;
 import com.goafanti.core.mybatis.page.Pagination;
 import com.goafanti.core.mybatis.page.Pagination;
@@ -24,6 +21,7 @@ import com.goafanti.expenseAccount.Enums.EATypes;
 import com.goafanti.expenseAccount.Enums.EAsecondaryTypes;
 import com.goafanti.expenseAccount.Enums.EAsecondaryTypes;
 import com.goafanti.expenseAccount.bo.*;
 import com.goafanti.expenseAccount.bo.*;
 import com.goafanti.expenseAccount.service.ExpenseAccountService;
 import com.goafanti.expenseAccount.service.ExpenseAccountService;
+import com.goafanti.organization.bo.OrganizationListOut;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.cache.annotation.CacheEvict;
 import org.springframework.cache.annotation.CacheEvict;
 import org.springframework.cache.annotation.Cacheable;
 import org.springframework.cache.annotation.Cacheable;
@@ -62,6 +60,8 @@ public class ExpenseAccountServiceImpl extends BaseMybatisDao<ExpenseAccountMapp
     private ExpenseRelationshipMapper expenseRelationshipMapper;
     private ExpenseRelationshipMapper expenseRelationshipMapper;
     @Autowired
     @Autowired
     private DepartmentService departmentService;
     private DepartmentService departmentService;
+    @Autowired
+    private DepartmentMapper departmentMapper;
 
 
 
 
 
 
@@ -102,12 +102,13 @@ public class ExpenseAccountServiceImpl extends BaseMybatisDao<ExpenseAccountMapp
     private void addExpenseAccountExamine(Integer id,ExpenseAccount ea) {
     private void addExpenseAccountExamine(Integer id,ExpenseAccount ea) {
         List<ExpenseAccountExamine> list=new ArrayList<>();
         List<ExpenseAccountExamine> list=new ArrayList<>();
         String aid = TokenManager.getAdminId();
         String aid = TokenManager.getAdminId();
-        Admin admin = adminMapper.selectByPrimaryKey(aid);
-        for (int i=1;i<5;i++){
+        OrganizationListOut dep = departmentMapper.selectAllById(ea.getApplyDep());
+        AdminNoticeBo a = adminMapper.selectMyAndSuperBySuperId(aid);
+        //暂时只发起到财务
+        for (int i=1;i<4;i++){
+                ExpenseAccountExamine eae=new ExpenseAccountExamine(id,i);
             if (i==1){
             if (i==1){
                 //新增一级
                 //新增一级
-                ExpenseAccountExamine eae=new ExpenseAccountExamine(id,i);
-                AdminNoticeBo a = adminMapper.selectMyAndSuperBySuperId(aid);
                 String examineId=null;
                 String examineId=null;
                 String examineName=null;
                 String examineName=null;
                 //正常用上级,没有的情况下就是自己
                 //正常用上级,没有的情况下就是自己
@@ -121,42 +122,23 @@ public class ExpenseAccountServiceImpl extends BaseMybatisDao<ExpenseAccountMapp
                 eae.setAuditor(examineId);
                 eae.setAuditor(examineId);
                 eae.setAuditorname(examineName);
                 eae.setAuditorname(examineName);
                 ea.setExamineName(examineName);
                 ea.setExamineName(examineName);
-                if (eae.getAuditor().equals(aid))eae.setStatus(1);
-                else  eae.setStatus(0);
-                list.add(eae);
             }else if (i==2){
             }else if (i==2){
-                ExpenseAccountExamine eae=new ExpenseAccountExamine(id,i);
-                Admin admin2 = adminMapper.selectFinanceAdminByAid(aid);
-                if (admin2==null){
-                    throw new BusinessException("发起人部门财务专员不存在。");
+                if (dep.getManagerId()==null|| StringUtils.isBlank(dep.getManagerId())){
+                    throw new BusinessException("报销申请部门管理员不存在。");
                 }
                 }
-                eae.setAuditor(admin2.getId());
-                eae.setAuditorname(admin2.getName());
-                if (eae.getAuditor().equals(aid))eae.setStatus(1);
-                else  eae.setStatus(0);
-                list.add(eae);
+                    eae.setAuditor(dep.getManagerId());
+                    eae.setAuditorname(dep.getManagerName());
             }else if (i==3){
             }else if (i==3){
-                List<Admin> admins = adminMapper.listAdminBydepIdAndRoleType(admin.getDepartmentId(), AFTConstants.SALESMAN_ADMIN);
-                if (admins.isEmpty())throw new BusinessException("发起人部门营销管理员不存在。");
-                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);
-                }
+                if (dep.getExpenseFinanceName()==null)throw new BusinessException("报销部门财务审核人不存在。");
+                eae.setAuditor(dep.getExpenseFinanceId());
+                eae.setAuditorname(dep.getExpenseFinanceName());
             }else if (i==4){
             }else if (i==4){
-                List<Admin> admins = adminMapper.selectAdminByRoleType(AFTConstants.APPROVAL_DECISION);
-                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);
-                }
+                eae.setAuditor(dep.getExpenseRetrialFinanceId());
+                eae.setAuditorname(dep.getExpenseRetrialFinanceName());
             }
             }
+            if (eae.getAuditor().equals(aid))eae.setStatus(1);
+            else  eae.setStatus(0);
+            list.add(eae);
 
 
         }
         }
         expenseAccountExamineMapper.insertBatch(list);
         expenseAccountExamineMapper.insertBatch(list);
@@ -215,30 +197,17 @@ public class ExpenseAccountServiceImpl extends BaseMybatisDao<ExpenseAccountMapp
     private void createExamineByProcess(ExpenseAccount in) {
     private void createExamineByProcess(ExpenseAccount in) {
         //审核流程推送到最新
         //审核流程推送到最新
         AdminListBo admin = adminMapper.getDeptNameByAid(in.getAid());
         AdminListBo admin = adminMapper.getDeptNameByAid(in.getAid());
-        examineByprocess(in,admin);
+        List<ExpenseAccountExamine> list=examineByprocess(in,admin);
         List<Admin> aids=new ArrayList<>();
         List<Admin> aids=new ArrayList<>();
-        if(in.getProcessStatus()== EAProcessStatus.SJSH.getCode()){
-            //获取上级
-            Admin superAdmin = adminMapper.selectByPrimaryKey(admin.getSuperiorId());
-            aids.add(superAdmin);
-            in.setExamineName(superAdmin.getName());
-        }else if (in.getProcessStatus()== EAProcessStatus.CWSH.getCode()){
-            //获取财务负责人
-            Admin finaceAdmin = adminMapper.selectByPrimaryKey(admin.getDepFinance());
-            aids.add(finaceAdmin);
-            in.setExamineName(finaceAdmin.getName());
-            addFinanceCount( admin.getDepFinance(), new Date());
-        }else if (in.getProcessStatus()== EAProcessStatus.ZJLSH.getCode()){
-            //获取部门负责人
-            List<Admin> list = adminMapper.listAdminBydepIdAndRoleType(admin.getDepartmentId(), AFTConstants.SALESMAN_ADMIN);
-            if (!list.isEmpty())aids.addAll(list);
-            in.setExamineName(getAdmins(list));
-        }else if (in.getProcessStatus()== EAProcessStatus.DSZSH.getCode()){
-            //获取总裁、董事长等审核
-            List<Admin> list = adminMapper.selectAdminByRoleType(AFTConstants.All_CED_AND_CHAIRMAN);
-            if (!list.isEmpty())aids.addAll(list);
-            in.setExamineName(getAdmins(list));
+        StringBuffer aname =new StringBuffer();
+        for (ExpenseAccountExamine e : list) {
+            if (e.getProcessStatus()==in.getProcessStatus()&&e.getStatus()==0){
+                Admin ad = adminMapper.selectByPrimaryKey(e.getAuditor());
+                aids.add(ad);
+                aname=aname.append(ad.getName()).append(",");
+            }
         }
         }
+        in.setExamineName(aname.substring(0,aname.length()-1));
         StringBuffer str=new StringBuffer().append("编号[").append(in.getCheckNo()).append("]需要审核").append(",请查看并审核。");
         StringBuffer str=new StringBuffer().append("编号[").append(in.getCheckNo()).append("]需要审核").append(",请查看并审核。");
         addNoticeAndEmail(in,  EAProcessStatus.SJSH.getCode(),str.toString(), admin.getName(),aids);
         addNoticeAndEmail(in,  EAProcessStatus.SJSH.getCode(),str.toString(), admin.getName(),aids);
     }
     }
@@ -391,6 +360,7 @@ public class ExpenseAccountServiceImpl extends BaseMybatisDao<ExpenseAccountMapp
         ExpenseAccount newEa=new ExpenseAccount();
         ExpenseAccount newEa=new ExpenseAccount();
         newEa.setId(useEa.getId());
         newEa.setId(useEa.getId());
         in.setCheckNo(useEa.getCheckNo());
         in.setCheckNo(useEa.getCheckNo());
+        in.setProcessStatus(useEa.getProcessStatus());
         //审核通知 获取发送人
         //审核通知 获取发送人
         AdminListBo admin = adminMapper.getDeptNameByAid(useEa.getAid());
         AdminListBo admin = adminMapper.getDeptNameByAid(useEa.getAid());
         addExamineExpenseAccountLog(admin,in, useEa, newEa);
         addExamineExpenseAccountLog(admin,in, useEa, newEa);
@@ -427,7 +397,7 @@ public class ExpenseAccountServiceImpl extends BaseMybatisDao<ExpenseAccountMapp
                 expenseAccountMapper.updateByPrimaryKeySelective(updateSon);
                 expenseAccountMapper.updateByPrimaryKeySelective(updateSon);
             }
             }
         }else if (newEa.getStatus()==1){
         }else if (newEa.getStatus()==1){
-            if (newEa.getProcessStatus()==EAProcessStatus.CWSH.getCode()){
+            if (newEa.getProcessStatus()==EAProcessStatus.BMFZRSH.getCode()){
                 pushFinanceCount(admin.getDepFinance(),useEa.getCreateTime(),0);
                 pushFinanceCount(admin.getDepFinance(),useEa.getCreateTime(),0);
                 //处理金额修改
                 //处理金额修改
                 if(in.getRealList()!=null){
                 if(in.getRealList()!=null){
@@ -450,13 +420,13 @@ public class ExpenseAccountServiceImpl extends BaseMybatisDao<ExpenseAccountMapp
                         }
                         }
                     }
                     }
                 }
                 }
-            }else if (newEa.getProcessStatus()==EAProcessStatus.ZJLSH.getCode()){
+            }else if (newEa.getProcessStatus()==EAProcessStatus.CWSH.getCode()){
                 pushFinanceCount(admin.getDepFinance(),useEa.getCreateTime(),1);
                 pushFinanceCount(admin.getDepFinance(),useEa.getCreateTime(),1);
             }
             }
         }else if (newEa.getStatus()==3){
         }else if (newEa.getStatus()==3){
-            if (useEa.getProcessStatus()==EAProcessStatus.CWSH.getCode()){
+            if (useEa.getProcessStatus()==EAProcessStatus.BMFZRSH.getCode()){
                 pushFinanceCount(admin.getDepFinance(),useEa.getCreateTime(),2);
                 pushFinanceCount(admin.getDepFinance(),useEa.getCreateTime(),2);
-            }else if (newEa.getProcessStatus()>EAProcessStatus.ZJLSH.getCode()){
+            }else if (newEa.getProcessStatus()>EAProcessStatus.CWSH.getCode()){
                 pushFinanceCount(admin.getDepFinance(),useEa.getCreateTime(),3);
                 pushFinanceCount(admin.getDepFinance(),useEa.getCreateTime(),3);
             }
             }
         }
         }
@@ -508,41 +478,38 @@ public class ExpenseAccountServiceImpl extends BaseMybatisDao<ExpenseAccountMapp
             newEa.setProcessStatus(useEa.getProcessStatus()+1);
             newEa.setProcessStatus(useEa.getProcessStatus()+1);
             newEa.setAid(useEa.getAid());
             newEa.setAid(useEa.getAid());
             newEa.setCreateTime(useEa.getCreateTime());
             newEa.setCreateTime(useEa.getCreateTime());
-            pushExamineProcess(newEa,admin);
-            if (newEa.getProcessStatus()== EAProcessStatus.CWSH.getCode()){
-                //获取财务负责人
-                Admin finaceAdmin = adminMapper.selectByPrimaryKey(admin.getDepFinance());
-                aids.add(finaceAdmin);
-                newEa.setExamineName(finaceAdmin.getName());
-            }else if (newEa.getProcessStatus()== EAProcessStatus.ZJLSH.getCode()){
-                //获取部门负责人
-                List<Admin> list = adminMapper.listAdminBydepIdAndRoleType(admin.getDepartmentId(), AFTConstants.SALESMAN_ADMIN);
-                if (!list.isEmpty())aids.addAll(list);
-                newEa.setExamineName(getAdmins(list));
-            }else if (newEa.getProcessStatus()== EAProcessStatus.DSZSH.getCode()){
-                //获取总裁、董事长等审核
-                List<Admin> list = adminMapper.selectAdminByRoleType(AFTConstants.APPROVAL_DECISION);
-                if (!list.isEmpty())aids.addAll(list);
-                newEa.setExamineName(getAdmins(list));
-            }else if (newEa.getProcessStatus()== EAProcessStatus.WCSH.getCode()){
-                //获取报销申请人
+            List<ExpenseAccountExamine> list=examineByprocess(newEa,admin);
+            if(newEa.getProcessStatus()==4){
+                //完成后的流程
                 status =2;
                 status =2;
-                Admin finaceAdmin = adminMapper.selectByPrimaryKey(admin.getDepFinance());
-                //同事添加通知财务管理员与公司副总
-                List<Admin> admins = adminMapper.selectAdminByRoleType(AFTConstants.FINANCE_ADMIN);
-                aids.addAll(admins);
-                List<Admin> viceCEO = adminMapper.selectAdminByRoleType(AFTConstants.VICE_CEO);
-                aids.addAll(viceCEO);
-                aids.add(finaceAdmin);
-                str.setLength(0);
-                str=str.append("报销编号[").append(in.getCheckNo()).append("]审核已通过,请注意查看。");
-                addNoticeAndEmail(in,  status,str.toString(),admin.getName(),aids);
-                aids.clear();
+//                Admin finaceAdmin = adminMapper.selectByPrimaryKey(admin.getDepFinance());
+//                //同事添加通知财务管理员与公司副总
+//                List<Admin> admins = adminMapper.selectAdminByRoleType(AFTConstants.FINANCE_ADMIN);
+//                aids.addAll(admins);
+//                List<Admin> viceCEO = adminMapper.selectAdminByRoleType(AFTConstants.VICE_CEO);
+//                aids.addAll(viceCEO);
+//                aids.add(finaceAdmin);
+//                str.setLength(0);
+//                str=str.append("报销编号[").append(in.getCheckNo()).append("]审核已通过,请注意查看。");
+//                addNoticeAndEmail(in,  status,str.toString(),admin.getName(),aids);
+//                aids.clear();
                 aids.add(adminMapper.selectByPrimaryKey(admin.getId()));
                 aids.add(adminMapper.selectByPrimaryKey(admin.getId()));
                 newEa.setStatus(status);
                 newEa.setStatus(status);
                 newEa.setExamineName("");
                 newEa.setExamineName("");
+            }else {
+                StringBuffer aname =new StringBuffer();
+                for (ExpenseAccountExamine e : list) {
+                    if (e.getProcessStatus()==newEa.getProcessStatus()&&e.getStatus()==0){
+                        Admin ad=adminMapper.selectByPrimaryKey(e.getAuditor());
+                        aids.add(ad);
+                        aname=aname.append(ad.getName()).append(",");
 
 
+                    }
+                }
+                newEa.setExamineName(aname.substring(0,aname.length()-1));
             }
             }
+
+
         }else {
         }else {
             aids.add(adminMapper.selectByPrimaryKey(admin.getId()));
             aids.add(adminMapper.selectByPrimaryKey(admin.getId()));
             newEa.setStatus(3);
             newEa.setStatus(3);
@@ -591,7 +558,7 @@ public class ExpenseAccountServiceImpl extends BaseMybatisDao<ExpenseAccountMapp
 
 
     private void pushExamineProcess( ExpenseAccount newEa,AdminListBo admin) {
     private void pushExamineProcess( ExpenseAccount newEa,AdminListBo admin) {
         //如果到了董事长审核,无需判断了
         //如果到了董事长审核,无需判断了
-        if (newEa.getProcessStatus()<EAProcessStatus.WCSH.getCode()){
+        if (newEa.getProcessStatus()<EAProcessStatus.CWSH.getCode()){
             //判断没一个流程是否可以跳过
             //判断没一个流程是否可以跳过
              examineByprocess(newEa,admin);
              examineByprocess(newEa,admin);
         }
         }
@@ -601,7 +568,7 @@ public class ExpenseAccountServiceImpl extends BaseMybatisDao<ExpenseAccountMapp
      * 审核流程推送,只要不是完成状态就继续判断是否跳过
      * 审核流程推送,只要不是完成状态就继续判断是否跳过
      * @param newEa
      * @param newEa
      */
      */
-    private void examineByprocess( ExpenseAccount newEa,AdminListBo admin) {
+    private List<ExpenseAccountExamine> examineByprocess( ExpenseAccount newEa,AdminListBo admin) {
         //获取当前流程审核人,如果有已审核则跳过当前审核
         //获取当前流程审核人,如果有已审核则跳过当前审核
         List<ExpenseAccountExamine> list = expenseAccountExamineMapper.selectByEaidAndProcessStatus(newEa.getId(), newEa.getProcessStatus());
         List<ExpenseAccountExamine> list = expenseAccountExamineMapper.selectByEaidAndProcessStatus(newEa.getId(), newEa.getProcessStatus());
         boolean flag=false;
         boolean flag=false;
@@ -623,13 +590,13 @@ public class ExpenseAccountServiceImpl extends BaseMybatisDao<ExpenseAccountMapp
             Date date=new Date();
             Date date=new Date();
             date.setTime(date.getTime()+1000l);
             date.setTime(date.getTime()+1000l);
             addExpenseAccountLog(newEa.getId(),1,newEa.getProcessStatus(),aid,str,date);
             addExpenseAccountLog(newEa.getId(),1,newEa.getProcessStatus(),aid,str,date);
-            if (newEa.getProcessStatus()==EAProcessStatus.CWSH.getCode()){
+            if (newEa.getProcessStatus()==EAProcessStatus.BMFZRSH.getCode()){
                 addFinanceCount(admin.getDepFinance(),newEa.getCreateTime());
                 addFinanceCount(admin.getDepFinance(),newEa.getCreateTime());
             }
             }
             newEa.setProcessStatus(newEa.getProcessStatus()+1);
             newEa.setProcessStatus(newEa.getProcessStatus()+1);
-            if (newEa.getProcessStatus()<EAProcessStatus.WCSH.getCode())examineByprocess(newEa,admin);
+            if (newEa.getProcessStatus()<EAProcessStatus.CWSH.getCode())examineByprocess(newEa,admin);
         }
         }
-
+        return list;
     }
     }
 
 
     private String getAdmins(List<Admin> list) {
     private String getAdmins(List<Admin> list) {
@@ -704,11 +671,12 @@ public class ExpenseAccountServiceImpl extends BaseMybatisDao<ExpenseAccountMapp
 
 
     @Override
     @Override
     public Object selectByCheckNo(String checkNo) {
     public Object selectByCheckNo(String checkNo) {
+        checkNo=checkNo.trim();
         OutExpenseAccount useEa = expenseAccountMapper.selectByCheckNo(checkNo);
         OutExpenseAccount useEa = expenseAccountMapper.selectByCheckNo(checkNo);
         if (useEa==null){
         if (useEa==null){
             throw  new BusinessException("报销编号不存在,请客对后再查询。");
             throw  new BusinessException("报销编号不存在,请客对后再查询。");
         }
         }
-        if (useEa.getProcessStatus()<3){
+        if (useEa.getProcessStatus()<3||useEa.getStatus()!=2){
             throw  new BusinessException("报销单财务未审核,不可以根据编号查看打印。");
             throw  new BusinessException("报销单财务未审核,不可以根据编号查看打印。");
         }
         }
         return useEa;
         return useEa;
@@ -831,17 +799,17 @@ public class ExpenseAccountServiceImpl extends BaseMybatisDao<ExpenseAccountMapp
         //1-3s是不同人的审核
         //1-3s是不同人的审核
         if (in.getProcessStatus()!=null&&in.getProcessStatus()==1){
         if (in.getProcessStatus()!=null&&in.getProcessStatus()==1){
              if (TokenManager.hasRole(AFTConstants.FINANCE)){
              if (TokenManager.hasRole(AFTConstants.FINANCE)){
-                in.setProcessStatus(2);
+                in.setProcessStatus(3);
             }else if (TokenManager.hasRole(AFTConstants.SALESMAN_MANAGER)||TokenManager.hasRole(AFTConstants.SALESMAN_ADMIN)){
             }else if (TokenManager.hasRole(AFTConstants.SALESMAN_MANAGER)||TokenManager.hasRole(AFTConstants.SALESMAN_ADMIN)){
                 in.setProcessStatus(1);
                 in.setProcessStatus(1);
             }else if (TokenManager.hasRole(AFTConstants.APPROVAL_DECISION)||TokenManager.hasRole(AFTConstants.APPROVAL_DECISION_ASSISTANT)){
             }else if (TokenManager.hasRole(AFTConstants.APPROVAL_DECISION)||TokenManager.hasRole(AFTConstants.APPROVAL_DECISION_ASSISTANT)){
                 in.setProcessStatus(4);
                 in.setProcessStatus(4);
             }else if(TokenManager.hasRole(AFTConstants.FINANCE_MANAGER)){
             }else if(TokenManager.hasRole(AFTConstants.FINANCE_MANAGER)){
                 //财务经理查看权限
                 //财务经理查看权限
-                in.setProcessStatus(5);
+                in.setProcessStatus(6);
             }else if(TokenManager.hasRole(AFTConstants.FINANCE_ADMIN)||TokenManager.hasRole(AFTConstants.SUPERADMIN)){
             }else if(TokenManager.hasRole(AFTConstants.FINANCE_ADMIN)||TokenManager.hasRole(AFTConstants.SUPERADMIN)){
                 //财务管理员和超级管理员查看全部
                 //财务管理员和超级管理员查看全部
-                in.setProcessStatus(6);
+                in.setProcessStatus(5);
             }
             }
         }else {
         }else {
                 in.setProcessStatus(0);
                 in.setProcessStatus(0);

+ 38 - 0
src/main/java/com/goafanti/organization/bo/OrganizationListOut.java

@@ -42,6 +42,11 @@ public class OrganizationListOut {
 
 
 	private String retrialFinanceId;
 	private String retrialFinanceId;
 	private String retrialFinanceName;
 	private String retrialFinanceName;
+
+	private String expenseFinanceId;
+	private String expenseFinanceName;
+	private String expenseRetrialFinanceId;
+	private String expenseRetrialFinanceName;
 	private Integer approval;
 	private Integer approval;
 	private String approvalAid;
 	private String approvalAid;
 	private String approvalName;
 	private String approvalName;
@@ -52,6 +57,39 @@ public class OrganizationListOut {
 	private Integer lvl;
 	private Integer lvl;
 	private List<OrganizationListOut> list;
 	private List<OrganizationListOut> list;
 
 
+
+	public String getExpenseRetrialFinanceId() {
+		return expenseRetrialFinanceId;
+	}
+
+	public void setExpenseRetrialFinanceId(String expenseRetrialFinanceId) {
+		this.expenseRetrialFinanceId = expenseRetrialFinanceId;
+	}
+
+	public String getExpenseRetrialFinanceName() {
+		return expenseRetrialFinanceName;
+	}
+
+	public void setExpenseRetrialFinanceName(String expenseRetrialFinanceName) {
+		this.expenseRetrialFinanceName = expenseRetrialFinanceName;
+	}
+
+	public String getExpenseFinanceId() {
+		return expenseFinanceId;
+	}
+
+	public void setExpenseFinanceId(String expenseFinanceId) {
+		this.expenseFinanceId = expenseFinanceId;
+	}
+
+	public String getExpenseFinanceName() {
+		return expenseFinanceName;
+	}
+
+	public void setExpenseFinanceName(String expenseFinanceName) {
+		this.expenseFinanceName = expenseFinanceName;
+	}
+
 	public String getApprovalName() {
 	public String getApprovalName() {
 		return approvalName;
 		return approvalName;
 	}
 	}

+ 3 - 2
src/main/java/com/goafanti/organization/controller/AdminOrganizationController.java

@@ -95,7 +95,8 @@ public class AdminOrganizationController extends BaseApiController{
 	@RequestMapping(value = "/updateOrganization" , method = RequestMethod.POST)
 	@RequestMapping(value = "/updateOrganization" , method = RequestMethod.POST)
 	public Result updateOrganization(String name, String type, String managerId, String superId, String status,Integer province,String retrialFinanceId,
 	public Result updateOrganization(String name, String type, String managerId, String superId, String status,Integer province,String retrialFinanceId,
 									 String remarks,String id,String abbreviation,String financeId,Integer workingHoursType,
 									 String remarks,String id,String abbreviation,String financeId,Integer workingHoursType,
-									 Integer hideSign,String depNo,Integer approval,String approvalAid){
+									 Integer hideSign,String depNo,Integer approval,String approvalAid,
+									 String expenseFinanceId){
 		Result res = new Result();
 		Result res = new Result();
 		if(StringUtils.isBlank(name) || StringUtils.isBlank(type)
 		if(StringUtils.isBlank(name) || StringUtils.isBlank(type)
 				|| StringUtils.isBlank(managerId)|| StringUtils.isBlank(superId)
 				|| StringUtils.isBlank(managerId)|| StringUtils.isBlank(superId)
@@ -116,7 +117,7 @@ public class AdminOrganizationController extends BaseApiController{
 			return res;
 			return res;
 		}
 		}
 		int i=organizationService.updateOrganization(name, type, managerId, superId, status, province,
 		int i=organizationService.updateOrganization(name, type, managerId, superId, status, province,
-				retrialFinanceId,remarks,id, abbreviation,financeId,workingHoursType,hideSign,depNo, approval, approvalAid);
+				retrialFinanceId,remarks,id, abbreviation,financeId,workingHoursType,hideSign,depNo, approval, approvalAid,expenseFinanceId);
 		return res.data(i);
 		return res.data(i);
 	}
 	}
 
 

+ 1 - 1
src/main/java/com/goafanti/organization/service/OrganizationService.java

@@ -45,7 +45,7 @@ public interface OrganizationService {
 
 
 	int updateOrganization(String name,String type,String managerId,String superId,String status,Integer province,String retrialFinanceId,
 	int updateOrganization(String name,String type,String managerId,String superId,String status,Integer province,String retrialFinanceId,
 			String remarks,String id,String abbreviation,String financeId,Integer workingHoursType,Integer hideSign,String depNo,
 			String remarks,String id,String abbreviation,String financeId,Integer workingHoursType,Integer hideSign,String depNo,
-						   Integer approval,String approvalAid);
+						   Integer approval,String approvalAid,String expenseFinanceId);
 
 
 	boolean checkDepNo(String depNo,Integer type);
 	boolean checkDepNo(String depNo,Integer type);
 
 

+ 6 - 3
src/main/java/com/goafanti/organization/service/impl/OrganizationServiceImpl.java

@@ -1,7 +1,10 @@
 package com.goafanti.organization.service.impl;
 package com.goafanti.organization.service.impl;
 
 
 import com.goafanti.admin.bo.AdminListBo;
 import com.goafanti.admin.bo.AdminListBo;
-import com.goafanti.common.dao.*;
+import com.goafanti.common.dao.DepartmentMapper;
+import com.goafanti.common.dao.FinanceCountMapper;
+import com.goafanti.common.dao.TOrderMidMapper;
+import com.goafanti.common.dao.TOrderNewMapper;
 import com.goafanti.common.model.Department;
 import com.goafanti.common.model.Department;
 import com.goafanti.common.utils.AsyncUtils;
 import com.goafanti.common.utils.AsyncUtils;
 import com.goafanti.common.utils.StringUtils;
 import com.goafanti.common.utils.StringUtils;
@@ -15,7 +18,6 @@ import net.sourceforge.pinyin4j.PinyinHelper;
 import net.sourceforge.pinyin4j.format.HanyuPinyinOutputFormat;
 import net.sourceforge.pinyin4j.format.HanyuPinyinOutputFormat;
 import net.sourceforge.pinyin4j.format.exception.BadHanyuPinyinOutputFormatCombination;
 import net.sourceforge.pinyin4j.format.exception.BadHanyuPinyinOutputFormatCombination;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.cache.annotation.Cacheable;
 import org.springframework.stereotype.Service;
 import org.springframework.stereotype.Service;
 
 
 import java.util.*;
 import java.util.*;
@@ -193,7 +195,7 @@ public class OrganizationServiceImpl extends BaseMybatisDao<DepartmentMapper> im
 	@Override
 	@Override
 	public int updateOrganization(String name, String type, String managerId, String superId, String status,Integer province,String retrialFinanceId,
 	public int updateOrganization(String name, String type, String managerId, String superId, String status,Integer province,String retrialFinanceId,
 			String remarks,String id,String abbreviation,String financeId,Integer workingHoursType,Integer hideSign,String depNo,
 			String remarks,String id,String abbreviation,String financeId,Integer workingHoursType,Integer hideSign,String depNo,
-								  Integer approval,String approvalAid) {
+								  Integer approval,String approvalAid,String expenseFinanceId) {
 		//获取上级编号
 		//获取上级编号
 		Department superDep=departmentMapper.selectByPrimaryKey(superId);
 		Department superDep=departmentMapper.selectByPrimaryKey(superId);
 		Date now=new Date();
 		Date now=new Date();
@@ -216,6 +218,7 @@ public class OrganizationServiceImpl extends BaseMybatisDao<DepartmentMapper> im
 		dep.setWorkingHoursType(workingHoursType);
 		dep.setWorkingHoursType(workingHoursType);
 		dep.setApproval(approval);
 		dep.setApproval(approval);
 		dep.setApprovalAid(approvalAid);
 		dep.setApprovalAid(approvalAid);
+		dep.setExpenseFinanceId(expenseFinanceId);
 		checkFinaceUpdate(id,financeId);
 		checkFinaceUpdate(id,financeId);
 		int x=departmentMapper.updateByPrimaryKeySelective(dep);
 		int x=departmentMapper.updateByPrimaryKeySelective(dep);
 		return x;
 		return x;

+ 1 - 1
src/main/resources/props/config_local.properties

@@ -52,7 +52,7 @@ yxjl_max=100
 amb.maxLvl=6
 amb.maxLvl=6
 
 
 avatar.host=//static.jishutao.com
 avatar.host=//static.jishutao.com
-static.host=//static.jishutao.com/1.2.99
+static.host=//static.jishutao.com/1.3.00
 rd.static.host=//static.jishutao.com/RD/1.0.03
 rd.static.host=//static.jishutao.com/RD/1.0.03
 #avatar.host=//172.16.0.255:3000
 #avatar.host=//172.16.0.255:3000
 #static.host=//172.16.0.255:3000/1.2.62
 #static.host=//172.16.0.255:3000/1.2.62

+ 1 - 1
src/main/resources/props/config_test.properties

@@ -52,7 +52,7 @@ amb.maxLvl=6
 
 
 portal.host=//static.jishutao.com/portal/2.0.6
 portal.host=//static.jishutao.com/portal/2.0.6
 avatar.host=//static.jishutao.com
 avatar.host=//static.jishutao.com
-static.host=//static.jishutao.com/1.2.99
+static.host=//static.jishutao.com/1.3.00
 rd.static.host=//static.jishutao.com/RD/1.0.03
 rd.static.host=//static.jishutao.com/RD/1.0.03
 avatar.upload.host=//static.jishutao.com/upload
 avatar.upload.host=//static.jishutao.com/upload