|
|
@@ -65,7 +65,7 @@ public class ExpenseAccountServiceImpl extends BaseMybatisDao<ExpenseAccountMapp
|
|
|
Integer eaaid = expenseAccountPrivateMapper.selectByaidDefault(in.getAid());
|
|
|
in.setEaaid(eaaid);
|
|
|
expenseAccountMapper.insertSelective(in);
|
|
|
- addExpenseAccountLogAndNoticEmail(in.getId(),0,"创建报销");
|
|
|
+ addExpenseAccountLogAndNoticEmail(in,0,"创建报销");
|
|
|
return in.getId();
|
|
|
}
|
|
|
|
|
|
@@ -85,17 +85,18 @@ public class ExpenseAccountServiceImpl extends BaseMybatisDao<ExpenseAccountMapp
|
|
|
expenseAccountLogMapper.insertSelective(eaLog);
|
|
|
}
|
|
|
|
|
|
- private void addExpenseAccountLogAndNoticEmail(Integer eaid, Integer status, String str) {
|
|
|
+ private void addExpenseAccountLogAndNoticEmail(InputExpenseAccount in, Integer status, String str) {
|
|
|
Date date=new Date();
|
|
|
String aid=TokenManager.getAdminId();
|
|
|
- addExpenseAccountLog(eaid,status,aid,str);
|
|
|
+ addExpenseAccountLog(in.getId(),status,aid,str);
|
|
|
//日志写入用操作人,邮箱、微信订阅与站内信要的是发送方消息,即收件人
|
|
|
AdminNoticeBo an = adminMapper.selectMyAndSuperBySuperId(aid);
|
|
|
StringBuffer sb =new StringBuffer();
|
|
|
if (status>0){
|
|
|
+ in.setExamineName(an.getSuperName());
|
|
|
sb=sb.append("[").append(an.getName()).append("]").append(str).append(",请及时审核。");
|
|
|
asyncUtils.addNoticAndEmail(NoticeStatus.EXPENSE_NOTICE.getCode(), an.getSuperId(),sb.toString());
|
|
|
- weChatUtils.addExpenseAccountWeChatNotice(an.getExpenseOpenId(), 1, eaid, date, an.getName(),sb.toString());
|
|
|
+ weChatUtils.addExpenseAccountWeChatNotice(an.getExpenseOpenId(), 1, in.getId(), date, an.getName(),sb.toString());
|
|
|
}
|
|
|
}
|
|
|
|
|
|
@@ -115,9 +116,9 @@ public class ExpenseAccountServiceImpl extends BaseMybatisDao<ExpenseAccountMapp
|
|
|
//计算总金额
|
|
|
in.setTotalAmount(expenseAccountDetailsMapper.selectAmountCountByEAid(in.getId()));
|
|
|
if (useEA.getStatus()==0){
|
|
|
- addExpenseAccountLogAndNoticEmail(useEA.getId(),1,"发起报销审核");
|
|
|
+ addExpenseAccountLogAndNoticEmail(in,1,"发起报销审核");
|
|
|
}else if (useEA.getStatus()==3){
|
|
|
- addExpenseAccountLogAndNoticEmail(useEA.getId(),4,"修改并发起审核");
|
|
|
+ addExpenseAccountLogAndNoticEmail(in,4,"修改并发起审核");
|
|
|
}
|
|
|
return expenseAccountMapper.updateByPrimaryKeySelective(in);
|
|
|
}
|
|
|
@@ -159,10 +160,10 @@ public class ExpenseAccountServiceImpl extends BaseMybatisDao<ExpenseAccountMapp
|
|
|
//审核通知 获取发送人
|
|
|
addExamineExpenseAccountLog(in, useEa, newEa);
|
|
|
//完成申请
|
|
|
- if (newEa.getStatus()==2){
|
|
|
+ if (in.getStatus()==2){
|
|
|
//如果是借支则订单新增
|
|
|
|
|
|
- if (useEa.getType()==4){
|
|
|
+ if (in.getType()==4){
|
|
|
|
|
|
}else {
|
|
|
//不然就看是否挂载借支订单进行抵扣
|
|
|
@@ -182,39 +183,55 @@ public class ExpenseAccountServiceImpl extends BaseMybatisDao<ExpenseAccountMapp
|
|
|
str=str.append("您有报销需要审核,").append("报销编号[").append(in.getId()).append("]").append(",请查看并审核。");
|
|
|
if(useEa.getProcessStatus()== EAProcessStatus.FQ.getCode()){
|
|
|
//获取上级
|
|
|
- aids.add(adminMapper.selectByPrimaryKey(admin.getSuperiorId()));
|
|
|
+ Admin superAdmin = adminMapper.selectByPrimaryKey(admin.getSuperiorId());
|
|
|
+ aids.add(superAdmin);
|
|
|
newEa.setProcessStatus(EAProcessStatus.SJSH.getCode());
|
|
|
-
|
|
|
+ newEa.setUserNames(superAdmin.getName());
|
|
|
}else if (useEa.getProcessStatus()== EAProcessStatus.SJSH.getCode()){
|
|
|
//获取财务负责人
|
|
|
- aids.add(adminMapper.selectByPrimaryKey(admin.getDepFinance()));
|
|
|
+ Admin finaceAdmin = adminMapper.selectByPrimaryKey(admin.getDepFinance());
|
|
|
+ aids.add(finaceAdmin);
|
|
|
newEa.setProcessStatus(EAProcessStatus.CWSH.getCode());
|
|
|
+ newEa.setExamineName(finaceAdmin.getName());
|
|
|
}else if (useEa.getProcessStatus()== EAProcessStatus.CWSH.getCode()){
|
|
|
//获取部门负责人
|
|
|
List<Admin> list = adminMapper.listAdminBydepIdAndRoleType(admin.getDepartmentId(), AFTConstants.SALESMAN_ADMIN);
|
|
|
if (!list.isEmpty())aids.addAll(list);
|
|
|
newEa.setProcessStatus(EAProcessStatus.ZJLSH.getCode());
|
|
|
+ newEa.setExamineName(getAdmins(list));
|
|
|
}else if (useEa.getProcessStatus()== EAProcessStatus.ZJLSH.getCode()){
|
|
|
//获取总裁、董事长等审核
|
|
|
- List<Admin> admins = adminMapper.selectAdminByRoleType(AFTConstants.All_CED_AND_CHAIRMAN);
|
|
|
- if (!admins.isEmpty())aids.addAll(admins);
|
|
|
+ List<Admin> list = adminMapper.selectAdminByRoleType(AFTConstants.All_CED_AND_CHAIRMAN);
|
|
|
+ if (!list.isEmpty())aids.addAll(list);
|
|
|
newEa.setProcessStatus(EAProcessStatus.DSZSH.getCode());
|
|
|
+ newEa.setExamineName(getAdmins(list));
|
|
|
}else if (useEa.getProcessStatus()== EAProcessStatus.DSZSH.getCode()){
|
|
|
//获取报销申请人
|
|
|
status =2;
|
|
|
aids.add(adminMapper.selectByPrimaryKey(admin.getId()));
|
|
|
newEa.setStatus(status);
|
|
|
+ newEa.setExamineName("");
|
|
|
str.setLength(0);
|
|
|
str=str.append("您的报销审核已通过,报销编号[").append(in.getId()).append("],请注意查看。");
|
|
|
}
|
|
|
}else {
|
|
|
aids.add(adminMapper.selectByPrimaryKey(admin.getId()));
|
|
|
+ newEa.setStatus(3);
|
|
|
str.setLength(0);
|
|
|
str=str.append("您的报销审核已驳回,报销编号[").append(in.getId()).append("],请注意查看。");
|
|
|
}
|
|
|
+ if (newEa.getStatus()==null)newEa.setStatus(1);
|
|
|
addLogAndNoticeAndEmail(in, status,str.toString(),admin.getName(),aids);
|
|
|
}
|
|
|
|
|
|
+ private String getAdmins(List<Admin> list) {
|
|
|
+ StringBuffer str =new StringBuffer();
|
|
|
+ for (Admin admin : list) {
|
|
|
+ str=str.append(admin.getName()).append(",");
|
|
|
+ }
|
|
|
+ return str.substring(0,str.length()-1);
|
|
|
+ }
|
|
|
+
|
|
|
private void addLogAndNoticeAndEmail(InputExpenseAccount in, Integer status, String str,String aname, List<Admin> aids) {
|
|
|
Date date= new Date();
|
|
|
addExpenseAccountLog(in.getId(),status,null,in.getReason());
|