|
|
@@ -108,6 +108,7 @@ public class ExpenseAccountServiceImpl extends BaseMybatisDao<ExpenseAccountMapp
|
|
|
*/
|
|
|
private void addExpenseAccountExamine(Integer id,ExpenseAccount ea) {
|
|
|
List<ExpenseAccountExamine> list=new ArrayList<>();
|
|
|
+ expenseAccountExamineMapper.deleteByEaid(ea.getId());
|
|
|
String aid = TokenManager.getAdminId();
|
|
|
OrganizationListOut dep = departmentMapper.selectAllById(ea.getApplyDep());
|
|
|
AdminNoticeBo a = adminMapper.selectMyAndSuperBySuperId(aid);
|
|
|
@@ -158,20 +159,27 @@ public class ExpenseAccountServiceImpl extends BaseMybatisDao<ExpenseAccountMapp
|
|
|
private void addExpenseAccountLog(Integer eaid, Integer status,Integer processStatus,String aid, String str) {
|
|
|
addExpenseAccountLog(eaid,status,processStatus,aid,str,null);
|
|
|
}
|
|
|
-
|
|
|
+ private void addExpenseAccountLog(Integer eaid, Integer status,Integer processStatus,String aid, String str,Date date){
|
|
|
+ addExpenseAccountLog(eaid,status,processStatus,aid,str,date,null);
|
|
|
+ }
|
|
|
/**
|
|
|
* 新增报销日志
|
|
|
* @param eaid 报销编号
|
|
|
* @param status 状态 0发起 1通过 2完成 3驳回 4修改
|
|
|
* @param str 备注
|
|
|
*/
|
|
|
- private void addExpenseAccountLog(Integer eaid, Integer status,Integer processStatus,String aid, String str,Date date) {
|
|
|
+ private void addExpenseAccountLog(Integer eaid, Integer status,Integer processStatus,String aid, String str,Date date,Integer showStatus) {
|
|
|
ExpenseAccountLog eaLog=new ExpenseAccountLog();
|
|
|
eaLog.setEaid(eaid);
|
|
|
eaLog.setStatus(status);
|
|
|
eaLog.setRemarks(str);
|
|
|
eaLog.setProcessStatus(processStatus);
|
|
|
eaLog.setAuditor(aid);
|
|
|
+ if (showStatus!=null){
|
|
|
+ eaLog.setShowStatus(showStatus);
|
|
|
+ }else {
|
|
|
+ eaLog.setShowStatus(0);
|
|
|
+ }
|
|
|
if (date !=null)eaLog.setCreateTime(date);
|
|
|
expenseAccountLogMapper.insertSelective(eaLog);
|
|
|
}
|
|
|
@@ -188,14 +196,14 @@ public class ExpenseAccountServiceImpl extends BaseMybatisDao<ExpenseAccountMapp
|
|
|
String str2=String.format("未设置[%s]审核。",EAProcessStatus.getDesc(in.getProcessStatus()));
|
|
|
Date date=new Date();
|
|
|
date.setTime(date.getTime()+1000L);
|
|
|
- addExpenseAccountLog(in.getId(),1,in.getProcessStatus(),aid,str2,date);
|
|
|
+ addExpenseAccountLog(in.getId(),1,in.getProcessStatus(),aid,str2,date,2);
|
|
|
in.setProcessStatus(in.getProcessStatus()+1);
|
|
|
}else {
|
|
|
if (admin.getSuperiorId()==null||admin.getId().equals(admin.getSuperiorId())){
|
|
|
String str2=String.format("重复审核人跳过[%s]。",EAProcessStatus.getDesc(in.getProcessStatus()));
|
|
|
Date date=new Date();
|
|
|
date.setTime(date.getTime()+1000L);
|
|
|
- addExpenseAccountLog(in.getId(),1,in.getProcessStatus(),aid,str2,date);
|
|
|
+ addExpenseAccountLog(in.getId(),1,in.getProcessStatus(),aid,str2,date,2);
|
|
|
in.setProcessStatus(in.getProcessStatus()+1);
|
|
|
}
|
|
|
}
|
|
|
@@ -368,30 +376,33 @@ public class ExpenseAccountServiceImpl extends BaseMybatisDao<ExpenseAccountMapp
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
- public Object updateTypeOther(Integer id, String typeOther) {
|
|
|
+ public Object updateTypeOther(Integer id, String typeOther,String remarks) {
|
|
|
ExpenseAccount ea = new ExpenseAccount();
|
|
|
ea.setId(id);
|
|
|
- ea.setTypeOther(typeOther);
|
|
|
+ if (StringUtils.isNotEmpty(typeOther))ea.setTypeOther(typeOther);
|
|
|
+ if (StringUtils.isNotEmpty(remarks))ea.setRemarks(remarks);
|
|
|
expenseAccountMapper.updateByPrimaryKeySelective(ea);
|
|
|
- MainExpenseAccount mainExpenseAccount = expenseAccountMapper.selectbySonId(id);
|
|
|
- StringBuffer types=new StringBuffer();
|
|
|
- for (SonExpenseAccount e : mainExpenseAccount.getSonList()) {
|
|
|
- if (e.getType()!=0){
|
|
|
- types=types.append(EATypes.getDescByCode(e.getType()));
|
|
|
- }else {
|
|
|
- types=types.append(e.getTypeOther());
|
|
|
- }
|
|
|
- if (e.getType()==2){
|
|
|
- if (e.getSecondaryType()==0){
|
|
|
- types=types.append("-").append(e.getSecondaryTypeOther());
|
|
|
- }else{
|
|
|
- String descByCode = EAsecondaryTypes.getDescByCode(e.getSecondaryType());
|
|
|
- types=types.append("-").append(descByCode);
|
|
|
+ if (StringUtils.isNotEmpty(typeOther)){
|
|
|
+ MainExpenseAccount mainExpenseAccount = expenseAccountMapper.selectbySonId(id);
|
|
|
+ StringBuffer types=new StringBuffer();
|
|
|
+ for (SonExpenseAccount e : mainExpenseAccount.getSonList()) {
|
|
|
+ if (e.getType()!=0){
|
|
|
+ types=types.append(EATypes.getDescByCode(e.getType()));
|
|
|
+ }else {
|
|
|
+ types=types.append(e.getTypeOther());
|
|
|
}
|
|
|
+ if (e.getType()==2){
|
|
|
+ if (e.getSecondaryType()==0){
|
|
|
+ types=types.append("-").append(e.getSecondaryTypeOther());
|
|
|
+ }else{
|
|
|
+ String descByCode = EAsecondaryTypes.getDescByCode(e.getSecondaryType());
|
|
|
+ types=types.append("-").append(descByCode);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ types=types.append(",");
|
|
|
}
|
|
|
- types=types.append(",");
|
|
|
+ expenseAccountMapper.updateSonTypeOther(id,types.substring(0,types.length()-1));
|
|
|
}
|
|
|
- expenseAccountMapper.updateSonTypeOther(id,types.substring(0,types.length()-1));
|
|
|
return 1;
|
|
|
}
|
|
|
|
|
|
@@ -491,15 +502,16 @@ public class ExpenseAccountServiceImpl extends BaseMybatisDao<ExpenseAccountMapp
|
|
|
if (processStatus <3){
|
|
|
List<OutExpenseAccountLog> outExpenseAccountLogs = expenseAccountExamineMapper.selectNotExamineByEaidAndProcessStatus(eaid, processStatus);
|
|
|
list.addAll(outExpenseAccountLogs);
|
|
|
- }
|
|
|
- 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);
|
|
|
+ }else {
|
|
|
+ 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);
|
|
|
@@ -711,7 +723,6 @@ public class ExpenseAccountServiceImpl extends BaseMybatisDao<ExpenseAccountMapp
|
|
|
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);
|
|
|
@@ -824,7 +835,7 @@ public class ExpenseAccountServiceImpl extends BaseMybatisDao<ExpenseAccountMapp
|
|
|
String str=String.format("重复审核人跳过[%s]。",EAProcessStatus.getDesc(newEa.getProcessStatus()));
|
|
|
Date date=new Date();
|
|
|
date.setTime(date.getTime()+1000l);
|
|
|
- addExpenseAccountLog(newEa.getId(),1,newEa.getProcessStatus(),aid,str,date);
|
|
|
+ addExpenseAccountLog(newEa.getId(),1,newEa.getProcessStatus(),aid,str,date,2);
|
|
|
if (newEa.getProcessStatus()==EAProcessStatus.BMFZRSH.getCode()){
|
|
|
addFinanceCount(admin.getDepFinance(),newEa.getCreateTime());
|
|
|
}
|
|
|
@@ -902,12 +913,12 @@ public class ExpenseAccountServiceImpl extends BaseMybatisDao<ExpenseAccountMapp
|
|
|
if (str==null)str=String.format("未设置[%s]审核,跳过此流程",tip);
|
|
|
if (newEa.getProcessStatus()<EAProcessStatus.CNSH.getCode()){
|
|
|
date2.setTime(date2.getTime()+100);
|
|
|
- addExpenseAccountLog(newEa.getId(),1,newEa.getProcessStatus(),aid,str,date2);
|
|
|
+ addExpenseAccountLog(newEa.getId(),1,newEa.getProcessStatus(),aid,str,date2,2);
|
|
|
newEa.setProcessStatus(newEa.getProcessStatus()+1);
|
|
|
examineByprocess(newEa,admin,dep,list);
|
|
|
}else {
|
|
|
date2.setTime(date2.getTime()+100);
|
|
|
- addExpenseAccountLog(newEa.getId(),2,newEa.getProcessStatus(),aid,str,date2);
|
|
|
+ addExpenseAccountLog(newEa.getId(),2,newEa.getProcessStatus(),aid,str,date2,2);
|
|
|
newEa.setProcessStatus(newEa.getProcessStatus());
|
|
|
newEa.setStatus(2);
|
|
|
}
|
|
|
@@ -1099,6 +1110,7 @@ public class ExpenseAccountServiceImpl extends BaseMybatisDao<ExpenseAccountMapp
|
|
|
for (OutExpenseAccountLog log : listLog) {
|
|
|
if (!newLog.contains(log)){
|
|
|
log.setEaid(in.getId());
|
|
|
+ log.setShowStatus(1);
|
|
|
newLog.add(log);
|
|
|
}
|
|
|
}
|
|
|
@@ -1112,6 +1124,7 @@ public class ExpenseAccountServiceImpl extends BaseMybatisDao<ExpenseAccountMapp
|
|
|
@Override
|
|
|
public MainExpenseAccount mainExpense(Integer id) {
|
|
|
MainExpenseAccount res = expenseAccountMapper.selectByMainId(id);
|
|
|
+ pushData(res);
|
|
|
res.setExamine(0);
|
|
|
if (res.getAid().equals(TokenManager.getAdminId())){
|
|
|
res.setExamine(2);
|
|
|
@@ -1121,6 +1134,30 @@ public class ExpenseAccountServiceImpl extends BaseMybatisDao<ExpenseAccountMapp
|
|
|
return res;
|
|
|
}
|
|
|
|
|
|
+ private void pushData(MainExpenseAccount res) {
|
|
|
+ List<SonExpenseAccount> sonList = res.getSonList();
|
|
|
+ sonList.stream().forEach(e->{
|
|
|
+ if (StringUtils.isNotEmpty(e.getUserNames())){
|
|
|
+ String userNames = e.getUserNames();
|
|
|
+ String districtName = e.getDistrictName();
|
|
|
+ int start=userNames.indexOf("[");
|
|
|
+ if (start>0){
|
|
|
+ userNames = userNames.substring(0,start);
|
|
|
+ districtName=districtName.replace(userNames,"");
|
|
|
+ e.setUserNames(userNames);
|
|
|
+ e.setDistrictName(districtName);
|
|
|
+ }else {
|
|
|
+ districtName=districtName.replace(userNames,"");
|
|
|
+ e.setDistrictName(districtName);
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ });
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
@Override
|
|
|
public Object updateMain(MainExpenseAccount in) {
|
|
|
OutExpenseAccount outExpenseAccount = expenseAccountMapper.selectByid(in.getId());
|
|
|
@@ -1186,19 +1223,19 @@ public class ExpenseAccountServiceImpl extends BaseMybatisDao<ExpenseAccountMapp
|
|
|
//1-3s是不同人的审核
|
|
|
if (in.getProcessStatus()!=null&&in.getProcessStatus()==1){
|
|
|
// 财务审核,复审,出纳都是财务与经理
|
|
|
- if (TokenManager.hasRole(AFTConstants.FINANCE)||TokenManager.hasRole(AFTConstants.FINANCE_MANAGER)){
|
|
|
- in.setProcessStatus(3);
|
|
|
- }else if (TokenManager.hasRole(AFTConstants.SALESMAN_MANAGER)){
|
|
|
- in.setProcessStatus(1);
|
|
|
- }else if (TokenManager.hasRole(AFTConstants.SALESMAN_ADMIN)){
|
|
|
- in.setProcessStatus(2);
|
|
|
+ if(TokenManager.hasRole(AFTConstants.FINANCE_ADMIN)){
|
|
|
+ in.setProcessStatus(6);
|
|
|
}else if (TokenManager.hasRole(AFTConstants.APPROVAL_DECISION)||TokenManager.hasRole(AFTConstants.APPROVAL_DECISION_ASSISTANT)){
|
|
|
in.setProcessStatus(5);
|
|
|
}else if(TokenManager.hasRole(AFTConstants.VICE_CEO)){
|
|
|
//先不做财务查看权限
|
|
|
in.setProcessStatus(7);
|
|
|
- }else if(TokenManager.hasRole(AFTConstants.FINANCE_ADMIN)){
|
|
|
- in.setProcessStatus(6);
|
|
|
+ }else if (TokenManager.hasRole(AFTConstants.SALESMAN_MANAGER)){
|
|
|
+ in.setProcessStatus(1);
|
|
|
+ }else if (TokenManager.hasRole(AFTConstants.SALESMAN_ADMIN)){
|
|
|
+ in.setProcessStatus(2);
|
|
|
+ }else if (TokenManager.hasRole(AFTConstants.FINANCE)||TokenManager.hasRole(AFTConstants.FINANCE_MANAGER)){
|
|
|
+ in.setProcessStatus(3);
|
|
|
}
|
|
|
}else {
|
|
|
in.setProcessStatus(0);
|
|
|
@@ -1243,7 +1280,7 @@ public class ExpenseAccountServiceImpl extends BaseMybatisDao<ExpenseAccountMapp
|
|
|
if (in.getEndTime()!=null)params.put("endTime",in.getEndTime());
|
|
|
if (in.getCheckNo()!=null)params.put("checkNo",in.getCheckNo());
|
|
|
//0=自己 1=财务 2=财务经理 3=超管
|
|
|
- if (TokenManager.hasRole(AFTConstants.SUPERADMIN)){
|
|
|
+ if (TokenManager.hasRole(AFTConstants.SUPERADMIN)||TokenManager.hasRole(AFTConstants.FINANCE_ADMIN)){
|
|
|
params.put("roleType",3);
|
|
|
}else if (TokenManager.hasRole(AFTConstants.FINANCE_MANAGER)){
|
|
|
params.put("roleType",2);
|