|
@@ -205,9 +205,9 @@ public class ExpenseAccountServiceImpl extends BaseMybatisDao<ExpenseAccountMapp
|
|
|
*/
|
|
*/
|
|
|
private void createExamineByProcess(InputExpenseAccount in) {
|
|
private void createExamineByProcess(InputExpenseAccount in) {
|
|
|
//审核流程推送到最新
|
|
//审核流程推送到最新
|
|
|
- examineByprocess(in);
|
|
|
|
|
- List<Admin> aids=new ArrayList<>();
|
|
|
|
|
AdminListBo admin = adminMapper.getDeptNameByAid(in.getAid());
|
|
AdminListBo admin = adminMapper.getDeptNameByAid(in.getAid());
|
|
|
|
|
+ examineByprocess(in,admin);
|
|
|
|
|
+ List<Admin> aids=new ArrayList<>();
|
|
|
if(in.getProcessStatus()== EAProcessStatus.SJSH.getCode()){
|
|
if(in.getProcessStatus()== EAProcessStatus.SJSH.getCode()){
|
|
|
//获取上级
|
|
//获取上级
|
|
|
Admin superAdmin = adminMapper.selectByPrimaryKey(admin.getSuperiorId());
|
|
Admin superAdmin = adminMapper.selectByPrimaryKey(admin.getSuperiorId());
|
|
@@ -218,9 +218,7 @@ public class ExpenseAccountServiceImpl extends BaseMybatisDao<ExpenseAccountMapp
|
|
|
Admin finaceAdmin = adminMapper.selectByPrimaryKey(admin.getDepFinance());
|
|
Admin finaceAdmin = adminMapper.selectByPrimaryKey(admin.getDepFinance());
|
|
|
aids.add(finaceAdmin);
|
|
aids.add(finaceAdmin);
|
|
|
in.setExamineName(finaceAdmin.getName());
|
|
in.setExamineName(finaceAdmin.getName());
|
|
|
- String startTime=DateUtils.formatDate(new Date(),AFTConstants.YYYYMMDD);
|
|
|
|
|
- FinanceCount financeCount = financeCountMapper.selectByAidAndDates(admin.getDepFinance(), startTime);
|
|
|
|
|
- addFinanceCount(startTime, admin.getDepFinance(), financeCount);
|
|
|
|
|
|
|
+ addFinanceCount( admin.getDepFinance(), new Date());
|
|
|
}else if (in.getProcessStatus()== EAProcessStatus.ZJLSH.getCode()){
|
|
}else if (in.getProcessStatus()== EAProcessStatus.ZJLSH.getCode()){
|
|
|
//获取部门负责人
|
|
//获取部门负责人
|
|
|
List<Admin> list = adminMapper.listAdminBydepIdAndRoleType(admin.getDepartmentId(), AFTConstants.SALESMAN_ADMIN);
|
|
List<Admin> list = adminMapper.listAdminBydepIdAndRoleType(admin.getDepartmentId(), AFTConstants.SALESMAN_ADMIN);
|
|
@@ -399,18 +397,18 @@ public class ExpenseAccountServiceImpl extends BaseMybatisDao<ExpenseAccountMapp
|
|
|
}
|
|
}
|
|
|
if (newEa.getStatus()==1){
|
|
if (newEa.getStatus()==1){
|
|
|
if (newEa.getProcessStatus()==EAProcessStatus.CWSH.getCode()){
|
|
if (newEa.getProcessStatus()==EAProcessStatus.CWSH.getCode()){
|
|
|
- pushFinanceCount(admin.getDepFinance(),newEa.getCreateTime(),0);
|
|
|
|
|
|
|
+ pushFinanceCount(admin.getDepFinance(),useEa.getCreateTime(),0);
|
|
|
}else if (newEa.getProcessStatus()==EAProcessStatus.ZJLSH.getCode()){
|
|
}else if (newEa.getProcessStatus()==EAProcessStatus.ZJLSH.getCode()){
|
|
|
- pushFinanceCount(admin.getDepFinance(),newEa.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.CWSH.getCode()){
|
|
|
- pushFinanceCount(admin.getDepFinance(),newEa.getCreateTime(),2);
|
|
|
|
|
|
|
+ pushFinanceCount(admin.getDepFinance(),useEa.getCreateTime(),2);
|
|
|
}else if (newEa.getProcessStatus()>EAProcessStatus.ZJLSH.getCode()){
|
|
}else if (newEa.getProcessStatus()>EAProcessStatus.ZJLSH.getCode()){
|
|
|
- pushFinanceCount(admin.getDepFinance(),newEa.getCreateTime(),3);
|
|
|
|
|
|
|
+ pushFinanceCount(admin.getDepFinance(),useEa.getCreateTime(),3);
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
- pushExpenseFinaceCount(useEa,newEa);
|
|
|
|
|
|
|
+
|
|
|
//审核处理审核表
|
|
//审核处理审核表
|
|
|
pushExpenseAccountExamine(in);
|
|
pushExpenseAccountExamine(in);
|
|
|
expenseAccountMapper.updateByPrimaryKeySelective(newEa);
|
|
expenseAccountMapper.updateByPrimaryKeySelective(newEa);
|
|
@@ -418,7 +416,7 @@ public class ExpenseAccountServiceImpl extends BaseMybatisDao<ExpenseAccountMapp
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
private void pushExpenseFinaceCount(ExpenseAccount useEa, ExpenseAccount newEa) {
|
|
private void pushExpenseFinaceCount(ExpenseAccount useEa, ExpenseAccount newEa) {
|
|
|
- String startTime=DateUtils.formatDate(newEa.getCreateTime(),AFTConstants.YYYYMMDD);
|
|
|
|
|
|
|
+ String startTime=DateUtils.formatDate(useEa.getCreateTime(),AFTConstants.YYYYMMDD);
|
|
|
AdminListBo admin = adminMapper.getDeptNameByAid(useEa.getAid());
|
|
AdminListBo admin = adminMapper.getDeptNameByAid(useEa.getAid());
|
|
|
FinanceCount financeCount = financeCountMapper.selectByAidAndDates(admin.getDepFinance(), startTime);
|
|
FinanceCount financeCount = financeCountMapper.selectByAidAndDates(admin.getDepFinance(), startTime);
|
|
|
//通过
|
|
//通过
|
|
@@ -427,7 +425,7 @@ public class ExpenseAccountServiceImpl extends BaseMybatisDao<ExpenseAccountMapp
|
|
|
if (newEa.getProcessStatus()== EAProcessStatus.CWSH.getCode()||
|
|
if (newEa.getProcessStatus()== EAProcessStatus.CWSH.getCode()||
|
|
|
useEa.getProcessStatus()== EAProcessStatus.CWSH.getCode()){
|
|
useEa.getProcessStatus()== EAProcessStatus.CWSH.getCode()){
|
|
|
if (newEa.getProcessStatus()== EAProcessStatus.CWSH.getCode()){
|
|
if (newEa.getProcessStatus()== EAProcessStatus.CWSH.getCode()){
|
|
|
- addFinanceCount(startTime, admin.getDepFinance(), financeCount);
|
|
|
|
|
|
|
+ addFinanceCount(admin.getDepFinance(), startTime);
|
|
|
//如果当前是财务审核通过就要减去未审核
|
|
//如果当前是财务审核通过就要减去未审核
|
|
|
}else if (useEa.getProcessStatus()== EAProcessStatus.CWSH.getCode()){
|
|
}else if (useEa.getProcessStatus()== EAProcessStatus.CWSH.getCode()){
|
|
|
FinanceCount newFinanceCount =new FinanceCount();
|
|
FinanceCount newFinanceCount =new FinanceCount();
|
|
@@ -454,8 +452,13 @@ public class ExpenseAccountServiceImpl extends BaseMybatisDao<ExpenseAccountMapp
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
}
|
|
}
|
|
|
|
|
+ private void addFinanceCount(String aid,Date startTime ) {
|
|
|
|
|
+ String forDate=DateUtils.formatDate(startTime,AFTConstants.YYYYMMDD);
|
|
|
|
|
+ addFinanceCount(aid,forDate);
|
|
|
|
|
+ }
|
|
|
|
|
|
|
|
- private void addFinanceCount(String startTime, String aid, FinanceCount financeCount) {
|
|
|
|
|
|
|
+ private void addFinanceCount(String aid,String startTime ) {
|
|
|
|
|
+ FinanceCount financeCount = financeCountMapper.selectByAidAndDates(aid, startTime);
|
|
|
if (financeCount ==null){
|
|
if (financeCount ==null){
|
|
|
financeCount =FinanceCount.initialization(aid, startTime);
|
|
financeCount =FinanceCount.initialization(aid, startTime);
|
|
|
financeCount.setExpenseCount(1);
|
|
financeCount.setExpenseCount(1);
|
|
@@ -487,7 +490,9 @@ public class ExpenseAccountServiceImpl extends BaseMybatisDao<ExpenseAccountMapp
|
|
|
str=str.append("您有报销需要审核,").append("报销编号[").append(in.getId()).append("]").append(",请查看并审核。");
|
|
str=str.append("您有报销需要审核,").append("报销编号[").append(in.getId()).append("]").append(",请查看并审核。");
|
|
|
//新的流程是当前流程+1
|
|
//新的流程是当前流程+1
|
|
|
newEa.setProcessStatus(useEa.getProcessStatus()+1);
|
|
newEa.setProcessStatus(useEa.getProcessStatus()+1);
|
|
|
- pushExamineProcess(newEa);
|
|
|
|
|
|
|
+ newEa.setAid(useEa.getAid());
|
|
|
|
|
+ newEa.setCreateTime(useEa.getCreateTime());
|
|
|
|
|
+ pushExamineProcess(newEa,admin);
|
|
|
if (newEa.getProcessStatus()== EAProcessStatus.CWSH.getCode()){
|
|
if (newEa.getProcessStatus()== EAProcessStatus.CWSH.getCode()){
|
|
|
//获取财务负责人
|
|
//获取财务负责人
|
|
|
Admin finaceAdmin = adminMapper.selectByPrimaryKey(admin.getDepFinance());
|
|
Admin finaceAdmin = adminMapper.selectByPrimaryKey(admin.getDepFinance());
|
|
@@ -562,11 +567,11 @@ public class ExpenseAccountServiceImpl extends BaseMybatisDao<ExpenseAccountMapp
|
|
|
|
|
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
- private void pushExamineProcess( ExpenseAccount newEa) {
|
|
|
|
|
|
|
+ private void pushExamineProcess( ExpenseAccount newEa,AdminListBo admin) {
|
|
|
//如果到了董事长审核,无需判断了
|
|
//如果到了董事长审核,无需判断了
|
|
|
if (newEa.getProcessStatus()<EAProcessStatus.WCSH.getCode()){
|
|
if (newEa.getProcessStatus()<EAProcessStatus.WCSH.getCode()){
|
|
|
//判断没一个流程是否可以跳过
|
|
//判断没一个流程是否可以跳过
|
|
|
- examineByprocess(newEa);
|
|
|
|
|
|
|
+ examineByprocess(newEa,admin);
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
|
|
|
|
@@ -574,7 +579,7 @@ public class ExpenseAccountServiceImpl extends BaseMybatisDao<ExpenseAccountMapp
|
|
|
* 审核流程推送,只要不是完成状态就继续判断是否跳过
|
|
* 审核流程推送,只要不是完成状态就继续判断是否跳过
|
|
|
* @param newEa
|
|
* @param newEa
|
|
|
*/
|
|
*/
|
|
|
- private void examineByprocess( ExpenseAccount newEa) {
|
|
|
|
|
|
|
+ private void 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;
|
|
@@ -585,14 +590,22 @@ public class ExpenseAccountServiceImpl extends BaseMybatisDao<ExpenseAccountMapp
|
|
|
aid=e.getAuditor();
|
|
aid=e.getAuditor();
|
|
|
break;
|
|
break;
|
|
|
}
|
|
}
|
|
|
|
|
+ if(e.getAuditor().equals(newEa.getAid())){
|
|
|
|
|
+ flag=true;
|
|
|
|
|
+ break;
|
|
|
|
|
+ }
|
|
|
}
|
|
}
|
|
|
|
|
+
|
|
|
if (flag){
|
|
if (flag){
|
|
|
String str=String.format("重复审核人跳过[%s]。",EAProcessStatus.getDesc(newEa.getProcessStatus()));
|
|
String str=String.format("重复审核人跳过[%s]。",EAProcessStatus.getDesc(newEa.getProcessStatus()));
|
|
|
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()){
|
|
|
|
|
+ addFinanceCount(admin.getDepFinance(),newEa.getCreateTime());
|
|
|
|
|
+ }
|
|
|
newEa.setProcessStatus(newEa.getProcessStatus()+1);
|
|
newEa.setProcessStatus(newEa.getProcessStatus()+1);
|
|
|
- if (newEa.getProcessStatus()<EAProcessStatus.WCSH.getCode())examineByprocess(newEa);
|
|
|
|
|
|
|
+ if (newEa.getProcessStatus()<EAProcessStatus.WCSH.getCode())examineByprocess(newEa,admin);
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
}
|
|
}
|