|
|
@@ -449,16 +449,23 @@ public class ExpenseAccountServiceImpl extends BaseMybatisDao<ExpenseAccountMapp
|
|
|
OutExpenseAccountLog lastout = list.get(list.size() - 1);
|
|
|
ExpenseAccount expenseAccount = expenseAccountMapper.selectByPrimaryKey(eaid);
|
|
|
Integer processStatus = lastout.getProcessStatus();
|
|
|
- if (processStatus<8){
|
|
|
if (processStatus <3){
|
|
|
List<OutExpenseAccountLog> outExpenseAccountLogs = expenseAccountExamineMapper.selectNotExamineByEaidAndProcessStatus(eaid, processStatus);
|
|
|
list.addAll(outExpenseAccountLogs);
|
|
|
}
|
|
|
if (lastout.getStatus() != 3) {
|
|
|
- addDetailsLog(list, expenseAccount,processStatus);
|
|
|
-
|
|
|
+ List<ExpenseAccountExamine> expenseAccountExamines = expenseAccountExamineMapper.selectByEaidAndProcessStatus(eaid, processStatus);
|
|
|
+ for (ExpenseAccountExamine e : expenseAccountExamines) {
|
|
|
+ if (e.getStatus()==0){
|
|
|
+ OutExpenseAccountLog out =new OutExpenseAccountLog();
|
|
|
+ out.setEaid(eaid);
|
|
|
+ out.setProcessStatus(e.getProcessStatus());
|
|
|
+ out.setAuditorName(e.getAuditorname());
|
|
|
+ list.add(out);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ if (processStatus<8)addDetailsLog(list, expenseAccount,processStatus);
|
|
|
}
|
|
|
- }
|
|
|
}
|
|
|
return list;
|
|
|
}
|
|
|
@@ -527,6 +534,7 @@ public class ExpenseAccountServiceImpl extends BaseMybatisDao<ExpenseAccountMapp
|
|
|
in.setProcessStatus(useEa.getProcessStatus());
|
|
|
//审核通知 获取发送人
|
|
|
AdminListBo admin = adminMapper.getDeptNameByAid(useEa.getAid());
|
|
|
+ //项目推送流程及添加日志
|
|
|
addExamineExpenseAccountLog(admin,in, useEa, newEa);
|
|
|
//完成申请
|
|
|
if (newEa.getStatus()==2){
|
|
|
@@ -640,18 +648,30 @@ public class ExpenseAccountServiceImpl extends BaseMybatisDao<ExpenseAccountMapp
|
|
|
OrganizationListOut dep = departmentMapper.selectAllById(newEa.getApplyDep());
|
|
|
List<ExpenseConfigDetails> configDetailsList = expenseConfigDetailsMapper.selectByDepId(newEa.getApplyDep());
|
|
|
if(useEa.getProcessStatus()==EAProcessStatus.CNSH.getCode()){
|
|
|
+ expenseAccountExamineMapper.updateStatusByEaidAndAid(in.getId(),TokenManager.getAdminId(),1,1);
|
|
|
boolean expenseExamine = pushExpenseExamine(configDetailsList, newEa, EAProcessStatus.CNSH.getCode());
|
|
|
if (expenseExamine){
|
|
|
//完成后的流程
|
|
|
status =2;
|
|
|
- expenseAccountExamineMapper.updateStatusByEaidAndAid(in.getId(),TokenManager.getAdminId(),1,1);
|
|
|
aids.add(adminMapper.selectByPrimaryKey(admin.getId()));
|
|
|
+
|
|
|
newEa.setStatus(status);
|
|
|
newEa.setExamineName("");
|
|
|
}else {
|
|
|
status =1;
|
|
|
+ List<ExpenseAccountExamine> list=expenseAccountExamineMapper.selectByEaidAndProcessStatus(newEa.getId(), useEa.getProcessStatus());
|
|
|
+ StringBuffer aname =new StringBuffer();
|
|
|
+ for (ExpenseAccountExamine e : list) {
|
|
|
+ if (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));
|
|
|
}
|
|
|
addExpenseAccountLog(in.getId(),status,useEa.getProcessStatus(),TokenManager.getAdminId(),in.getReason());
|
|
|
+
|
|
|
}else {
|
|
|
addExpenseAccountLog(in.getId(),status,useEa.getProcessStatus(),TokenManager.getAdminId(),in.getReason());
|
|
|
newEa.setStatus(1);
|
|
|
@@ -769,7 +789,7 @@ public class ExpenseAccountServiceImpl extends BaseMybatisDao<ExpenseAccountMapp
|
|
|
flag2=true;
|
|
|
tip=EAProcessStatus.CWFS.getDesc();
|
|
|
}else {
|
|
|
- boolean expenseExamine = pushExpenseExamine(list, newEa, EAProcessStatus.CNSH.getCode());
|
|
|
+ boolean expenseExamine = pushExpenseExamine(list, newEa, EAProcessStatus.CWFS.getCode());
|
|
|
if (expenseExamine){
|
|
|
flag3=true;
|
|
|
}
|
|
|
@@ -845,27 +865,40 @@ public class ExpenseAccountServiceImpl extends BaseMybatisDao<ExpenseAccountMapp
|
|
|
else if (status==EAProcessStatus.GSFSSH.getCode())configDetails=4;
|
|
|
else if (status==EAProcessStatus.CNSH.getCode())configDetails=5;
|
|
|
int finalConfigDetails = configDetails;
|
|
|
- List<ExpenseConfigDetails> collect = list.stream().filter(e -> e.getType() == finalConfigDetails).collect(Collectors.toList());
|
|
|
+ //查询审核表,如果为空就新增,不然直接判定审核
|
|
|
+ List<ExpenseAccountExamine> expenseAccountExamines = expenseAccountExamineMapper.selectByEaidAndProcessStatus(newEa.getId(), status);
|
|
|
int count = 0;
|
|
|
- List<ExpenseAccountExamine> examineList=new ArrayList<>();
|
|
|
- for (ExpenseConfigDetails e : collect) {
|
|
|
- ExpenseAccountExamine eae=new ExpenseAccountExamine(newEa.getId(),status);
|
|
|
- eae.setAuditor(e.getAid());
|
|
|
- eae.setAuditorname(e.getAdminName());
|
|
|
- eae.setStatus(0);
|
|
|
- Integer i = expenseAccountExamineMapper.selectYesByParam(newEa.getId(), e.getAid());
|
|
|
- if (status==EAProcessStatus.CNSH.getCode()){
|
|
|
+ int size=10;
|
|
|
+ if (expenseAccountExamines.isEmpty()){
|
|
|
+ List<ExpenseConfigDetails> collect = list.stream().filter(e -> e.getType() == finalConfigDetails).collect(Collectors.toList());
|
|
|
+ size= collect.size();
|
|
|
+ for (ExpenseConfigDetails e : collect) {
|
|
|
+ ExpenseAccountExamine eae=new ExpenseAccountExamine(newEa.getId(),status);
|
|
|
+ eae.setAuditor(e.getAid());
|
|
|
+ eae.setAuditorname(e.getAdminName());
|
|
|
eae.setStatus(0);
|
|
|
- count++;
|
|
|
- }else {
|
|
|
- if (i>0||e.getAid().equals(TokenManager.getAdminId())) {
|
|
|
- eae.setStatus(1);
|
|
|
+ Integer i = expenseAccountExamineMapper.selectYesByParam(newEa.getId(), e.getAid());
|
|
|
+ if (status==EAProcessStatus.CNSH.getCode()){
|
|
|
+ eae.setStatus(0);
|
|
|
+ count++;
|
|
|
+ }else {
|
|
|
+ if (i>0||e.getAid().equals(TokenManager.getAdminId())) {
|
|
|
+ eae.setStatus(1);
|
|
|
+ count++;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ expenseAccountExamineMapper.insertSelective(eae);
|
|
|
+ }
|
|
|
+
|
|
|
+ }else {
|
|
|
+ size = expenseAccountExamines.size();
|
|
|
+ for (ExpenseAccountExamine e : expenseAccountExamines) {
|
|
|
+ if (e.getStatus()==1){
|
|
|
count++;
|
|
|
}
|
|
|
}
|
|
|
- expenseAccountExamineMapper.insertSelective(eae);
|
|
|
}
|
|
|
- if (count==collect.size()){
|
|
|
+ if (count==size){
|
|
|
return true;
|
|
|
}
|
|
|
return false;
|
|
|
@@ -928,7 +961,7 @@ public class ExpenseAccountServiceImpl extends BaseMybatisDao<ExpenseAccountMapp
|
|
|
public Object selectById(Integer id) {
|
|
|
OutExpenseAccount useEa = expenseAccountMapper.selectByid(id);
|
|
|
//判断当前角色是否审核
|
|
|
- pushExpenseAccountGetExamine(useEa);
|
|
|
+ useEa.setExamine(pushExpenseAccountGetExamine( id, useEa.getProcessStatus()));;
|
|
|
if (useEa.getDebitId()!=null){
|
|
|
pushExpenseAccountGetDebitAmount(useEa);
|
|
|
|
|
|
@@ -1009,17 +1042,10 @@ public class ExpenseAccountServiceImpl extends BaseMybatisDao<ExpenseAccountMapp
|
|
|
public MainExpenseAccount mainExpense(Integer id) {
|
|
|
MainExpenseAccount res = expenseAccountMapper.selectByMainId(id);
|
|
|
res.setExamine(0);
|
|
|
- List<ExpenseAccountExamine> expenseAccountExamines = expenseAccountExamineMapper.selectByEaidAndProcessStatus(id, res.getProcessStatus());
|
|
|
- for (ExpenseAccountExamine e : expenseAccountExamines) {
|
|
|
- if (e.getAuditor().equals(TokenManager.getAdminId())){
|
|
|
- if (res.getStatus()==1){
|
|
|
- res.setExamine(1);
|
|
|
- }
|
|
|
- break;
|
|
|
- }
|
|
|
- }
|
|
|
if (res.getAid().equals(TokenManager.getAdminId())){
|
|
|
res.setExamine(2);
|
|
|
+ }else {
|
|
|
+ res.setExamine(pushExpenseAccountGetExamine( id, res.getProcessStatus()));;
|
|
|
}
|
|
|
return res;
|
|
|
}
|
|
|
@@ -1205,29 +1231,9 @@ public class ExpenseAccountServiceImpl extends BaseMybatisDao<ExpenseAccountMapp
|
|
|
|
|
|
/**
|
|
|
* 判断角色是否已经审核
|
|
|
- * @param useEa
|
|
|
- */
|
|
|
- private void pushExpenseAccountGetExamine(OutExpenseAccount useEa) {
|
|
|
- List<ExpenseAccountExamine> list = expenseAccountExamineMapper.selectByEaidAndProcessStatus(useEa.getId(), useEa.getProcessStatus());
|
|
|
- boolean flag=false;
|
|
|
- for (ExpenseAccountExamine e : list) {
|
|
|
- if (e.getAuditor().equals(TokenManager.getAdminId())){
|
|
|
- if (e.getStatus()==0){
|
|
|
- flag=true;
|
|
|
- break;
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
- if (flag){
|
|
|
- useEa.setExamine(1);
|
|
|
- }else {
|
|
|
- useEa.setExamine(0);
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
- /**
|
|
|
- * 判断角色是否已经审核
|
|
|
- * @param
|
|
|
+ * @param id 编号
|
|
|
+ * @param processStatus 审核状态
|
|
|
+ * @return 0 无需审核 1 需要审核
|
|
|
*/
|
|
|
private Integer pushExpenseAccountGetExamine(Integer id,Integer processStatus) {
|
|
|
List<ExpenseAccountExamine> list = expenseAccountExamineMapper.selectByEaidAndProcessStatus(id, processStatus);
|