|
@@ -1,12 +1,14 @@
|
|
|
package org.jeecg.modules.oa.service.impl;
|
|
|
|
|
|
import com.baomidou.dynamic.datasource.annotation.DS;
|
|
|
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
|
|
import org.apache.commons.lang.StringUtils;
|
|
|
import org.apache.shiro.SecurityUtils;
|
|
|
import org.jeecg.common.constant.CommonConstant;
|
|
|
import org.jeecg.common.system.api.ISysBaseAPI;
|
|
|
import org.jeecg.common.system.vo.LoginUser;
|
|
|
import org.jeecg.common.util.DateUtils;
|
|
|
+import org.jeecg.modules.oa.entity.IncidentTicketMsg;
|
|
|
import org.jeecg.modules.oa.entity.SyCarry;
|
|
|
import org.jeecg.modules.oa.entity.SyCarryB;
|
|
|
import org.jeecg.modules.oa.entity.SyCottonYarnB;
|
|
@@ -14,17 +16,16 @@ import org.jeecg.modules.oa.mapper.SyCarryBMapper;
|
|
|
import org.jeecg.modules.oa.mapper.SyCarryMapper;
|
|
|
import org.jeecg.modules.oa.service.ISyCarryBService;
|
|
|
import org.jeecg.modules.oa.service.ISyCarryService;
|
|
|
+import org.jeecg.modules.system.entity.SysRole;
|
|
|
import org.jeecg.modules.system.entity.SysUser;
|
|
|
+import org.jeecg.modules.system.service.ISysRoleService;
|
|
|
import org.jeecg.modules.system.service.ISysUserService;
|
|
|
import org.springframework.stereotype.Service;
|
|
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
|
import org.springframework.transaction.annotation.Transactional;
|
|
|
import java.io.Serializable;
|
|
|
-import java.util.Date;
|
|
|
-import java.util.HashMap;
|
|
|
-import java.util.List;
|
|
|
-import java.util.Collection;
|
|
|
+import java.util.*;
|
|
|
|
|
|
/**
|
|
|
* @Description: 搬运装卸费用-搬运工对账单-主表
|
|
@@ -45,6 +46,8 @@ public class SyCarryServiceImpl extends ServiceImpl<SyCarryMapper, SyCarry> impl
|
|
|
private ISysUserService sysUserService;
|
|
|
@Autowired
|
|
|
private ISyCarryBService iSyCarryBService;
|
|
|
+ @Autowired
|
|
|
+ private ISysRoleService sysRoleService;
|
|
|
|
|
|
@Override
|
|
|
@Transactional
|
|
@@ -141,28 +144,40 @@ public class SyCarryServiceImpl extends ServiceImpl<SyCarryMapper, SyCarry> impl
|
|
|
}
|
|
|
}
|
|
|
|
|
|
-
|
|
|
/**
|
|
|
*
|
|
|
* @param idList
|
|
|
- * @param state state 1 计划员提交 2,人事行政审批 3.财务经理审批
|
|
|
+ * @param state 1 计划员提交
|
|
|
+ * // 0 草稿
|
|
|
+ * // 1 仓库已提交(计划签字)
|
|
|
+ * // 10 SY_BY_001 办公室审批
|
|
|
+ * // 20 SY_BY_002 财务经理审批
|
|
|
+ * // 30 SY_BY_003 搬运装卸费用审批节点3
|
|
|
+ * // 40 SY_BY_004 搬运装卸费用审批节点4
|
|
|
+ * // 50 SY_BY_005 搬运装卸费用审批节点5
|
|
|
+ * // 60 SY_BY_006 财务总监审批
|
|
|
+ * // 70 SY_BY_006 已完成
|
|
|
* @return
|
|
|
*/
|
|
|
@Override
|
|
|
@Transactional
|
|
|
public String commitBatch(Collection<? extends Serializable> idList,String state) {
|
|
|
+ if(state.equals("0")){
|
|
|
+ state = "1";
|
|
|
+ }
|
|
|
StringBuffer sb = new StringBuffer();
|
|
|
HashMap<String,Object> taskParam = new HashMap<>();
|
|
|
LoginUser loginUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
|
|
|
for(Serializable id:idList) {
|
|
|
SyCarry syCarry = syCarryMapper.selectById(id);
|
|
|
String syState = syCarry.getState();//0草稿,1仓库已提交(计划签字),2人事行政,3财务经理 ,4已完成
|
|
|
+ String historyInfo = syCarry.getHistoryInfo();//
|
|
|
|
|
|
//计划员取消提交
|
|
|
if(state.equals("-1")){
|
|
|
|
|
|
- if(!syState.equals("1") && !syState.equals("2")){
|
|
|
- sb.append("单据"+syCarry.getName()+"已签字,无法取消提交");
|
|
|
+ if(StringUtils.isNotBlank(historyInfo) && historyInfo.length() > 50){
|
|
|
+ sb.append("单据"+syCarry.getName()+"已审批,无法取消提交"+historyInfo.length());
|
|
|
continue;
|
|
|
}
|
|
|
|
|
@@ -187,12 +202,15 @@ public class SyCarryServiceImpl extends ServiceImpl<SyCarryMapper, SyCarry> impl
|
|
|
o.setJhyTime(null);
|
|
|
syCarryBMapper.updateById(o);
|
|
|
}
|
|
|
+ syCarry.setHistoryInfo("空");
|
|
|
+ syCarry.setRoleCode("0");
|
|
|
+ syCarry.setRoleText("草稿");
|
|
|
syCarryMapper.updateById(syCarry);
|
|
|
sb.append("单据"+syCarry.getName()+"取消提交成功");
|
|
|
continue;
|
|
|
}
|
|
|
-
|
|
|
//计划员提交
|
|
|
+ else
|
|
|
if(state.equals("1")){
|
|
|
if(!syState.equals("0")){
|
|
|
sb.append("单据"+syCarry.getName()+"无法此操作,请查看");
|
|
@@ -202,10 +220,9 @@ public class SyCarryServiceImpl extends ServiceImpl<SyCarryMapper, SyCarry> impl
|
|
|
syCarry.setCkBy(loginUser.getUsername());//仓库提交人
|
|
|
syCarry.setCkName(loginUser.getRealname());//仓库提交人
|
|
|
syCarry.setCkTime(new Date());//仓库提交时间
|
|
|
- boolean ifAll = true;
|
|
|
-
|
|
|
-
|
|
|
+ syCarry.setRoleText("计划员签字中");
|
|
|
|
|
|
+ boolean ifAll = true;
|
|
|
|
|
|
List<SyCarryB> syCarryB2 = syCarryBMapper.selectByMainId(syCarry.getId());
|
|
|
for(SyCarryB o:syCarryB2){
|
|
@@ -242,92 +259,306 @@ public class SyCarryServiceImpl extends ServiceImpl<SyCarryMapper, SyCarry> impl
|
|
|
|
|
|
}
|
|
|
if(ifAll){
|
|
|
- syCarry.setState("2");//0草稿,1仓库已提交(计划签字),2人事行政,3财务经理
|
|
|
+
|
|
|
+ // 0 草稿
|
|
|
+ // 1 仓库已提交(计划签字)
|
|
|
+ // 10 SY_BY_001 办公室审批
|
|
|
+ // 20 SY_BY_002 财务经理审批
|
|
|
+ // 30 SY_BY_003 搬运装卸费用审批节点3
|
|
|
+ // 40 SY_BY_004 搬运装卸费用审批节点4
|
|
|
+ // 50 SY_BY_005 搬运装卸费用审批节点5
|
|
|
+ // 60 SY_BY_006 财务总监审批
|
|
|
+ List<SysUser> userIds = sysUserService.getUserByRoleCode("SY_BY_001",null);
|
|
|
+ String roleCode = "";
|
|
|
+ if(userIds.size() == 0){
|
|
|
+ userIds = sysUserService.getUserByRoleCode("SY_BY_002",null);
|
|
|
+ }else{
|
|
|
+ if(StringUtils.isBlank(roleCode)){
|
|
|
+ roleCode = "SY_BY_001";
|
|
|
+ syCarry.setState("10");
|
|
|
+ }
|
|
|
+ }
|
|
|
+ if(userIds.size() == 0){
|
|
|
+ userIds = sysUserService.getUserByRoleCode("SY_BY_003",null);
|
|
|
+ }else{
|
|
|
+ if(StringUtils.isBlank(roleCode)){
|
|
|
+ roleCode = "SY_BY_002";
|
|
|
+ syCarry.setState("20");
|
|
|
+ }
|
|
|
+ }
|
|
|
+ if(userIds.size() == 0){
|
|
|
+ userIds = sysUserService.getUserByRoleCode("SY_BY_004",null);
|
|
|
+ }else{
|
|
|
+ if(StringUtils.isBlank(roleCode)){
|
|
|
+ roleCode = "SY_BY_003";
|
|
|
+ syCarry.setState("30");
|
|
|
+ }
|
|
|
+ }
|
|
|
+ if(userIds.size() == 0){
|
|
|
+ userIds = sysUserService.getUserByRoleCode("SY_BY_005",null);
|
|
|
+ }else{
|
|
|
+ if(StringUtils.isBlank(roleCode)){
|
|
|
+ roleCode = "SY_BY_004";
|
|
|
+ syCarry.setState("40");
|
|
|
+ }
|
|
|
+ }
|
|
|
+ if(userIds.size() == 0){
|
|
|
+ userIds = sysUserService.getUserByRoleCode("SY_BY_006",null);
|
|
|
+ }else{
|
|
|
+ if(StringUtils.isBlank(roleCode)){
|
|
|
+ roleCode = "SY_BY_005";
|
|
|
+ syCarry.setState("50");
|
|
|
+ }
|
|
|
+ }
|
|
|
+ if(userIds.size() == 0){
|
|
|
+ return "审批人不存在,请联系系统管理员维护";
|
|
|
+ }else{
|
|
|
+ if(StringUtils.isBlank(roleCode)){
|
|
|
+ roleCode = "SY_BY_006";
|
|
|
+ syCarry.setState("60");
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ if(StringUtils.isBlank(roleCode)){
|
|
|
+ return "角色数据异常,请联系系统管理员维护";
|
|
|
+ }
|
|
|
+
|
|
|
+ SysRole sysRole = getUserByRole(roleCode).get(0);
|
|
|
+ syCarry.setRoleCode(sysRole.getRoleCode());
|
|
|
+ syCarry.setRoleText(sysRole.getRoleName());
|
|
|
+
|
|
|
+ for(SysUser o:userIds){
|
|
|
+ iSysBaseAPI.sendSysAnnouncement(loginUser,loginUser.getUsername(),o.getUsername(),"搬运工对账单","您有一个新的搬运工对账单需要审批,请查看: "+syCarry.getName(), CommonConstant.MSG_CATEGORY_2,taskParam);
|
|
|
+ }
|
|
|
+
|
|
|
}
|
|
|
|
|
|
syCarryMapper.updateById(syCarry);
|
|
|
sb.append("单据"+syCarry.getName()+"提交成功");
|
|
|
continue;
|
|
|
}
|
|
|
+ //计划员提交
|
|
|
+ else{
|
|
|
+
|
|
|
+ // 0 草稿
|
|
|
+ // 1 仓库已提交(计划签字)
|
|
|
+ // 10 SY_BY_001 办公室审批
|
|
|
+ // 20 SY_BY_002 财务经理审批
|
|
|
+ // 30 SY_BY_003 搬运装卸费用审批节点3
|
|
|
+ // 40 SY_BY_004 搬运装卸费用审批节点4
|
|
|
+ // 50 SY_BY_005 搬运装卸费用审批节点5
|
|
|
+ // 60 SY_BY_006 财务总监审批
|
|
|
+ if(!syCarry.getState().equals(state)){
|
|
|
+ sb.append("单据"+syCarry.getName()+"正在被操作,请刷新后重试");
|
|
|
+ continue;
|
|
|
+ }
|
|
|
|
|
|
- List<String> listRole = iSysBaseAPI.getRolesByUsername(loginUser.getUsername());
|
|
|
-
|
|
|
- //人事行政审批
|
|
|
- if(state.equals("2")){
|
|
|
-
|
|
|
- boolean type = false;
|
|
|
-
|
|
|
- for(String o:listRole){
|
|
|
- if(o.equals("SY003")){ //人事文员 角色
|
|
|
- type = true;
|
|
|
+ String roleCode = "";
|
|
|
+ if(state.equals("10")){
|
|
|
+ String userId = iSysBaseAPI.getUserByRoleCode("SY_BY_001",null);
|
|
|
+ if(!userId.contains(loginUser.getUsername())){
|
|
|
+ sb.append("单据"+syCarry.getName()+"需要SY_BY_001角色进行操作");
|
|
|
+ continue;
|
|
|
+ }
|
|
|
+ String[] code = {"SY_BY_002","SY_BY_003","SY_BY_004","SY_BY_005","SY_BY_006"};
|
|
|
+ roleCode = getNextRole(code);
|
|
|
+ syCarry.setHistoryInfo(syCarry.getHistoryInfo()+"SY_BY_001:"+loginUser.getUsername()+"/"+DateUtils.now()+"; ");
|
|
|
+
|
|
|
+ }else if(state.equals("20")){
|
|
|
+ String userId = iSysBaseAPI.getUserByRoleCode("SY_BY_002",null);
|
|
|
+ if(!userId.contains(loginUser.getUsername())){
|
|
|
+ sb.append("单据"+syCarry.getName()+"需要SY_BY_002角色进行操作");
|
|
|
+ continue;
|
|
|
+ }
|
|
|
+ String[] code = {"SY_BY_003","SY_BY_004","SY_BY_005","SY_BY_006"};
|
|
|
+ roleCode = getNextRole(code);
|
|
|
+ syCarry.setHistoryInfo(syCarry.getHistoryInfo()+"SY_BY_002:"+loginUser.getUsername()+"/"+DateUtils.now()+"; ");
|
|
|
+
|
|
|
+ }else if(state.equals("30")){
|
|
|
+ String userId = iSysBaseAPI.getUserByRoleCode("SY_BY_003",null);
|
|
|
+ if(!userId.contains(loginUser.getUsername())){
|
|
|
+ sb.append("单据"+syCarry.getName()+"需要SY_BY_003角色进行操作");
|
|
|
+ continue;
|
|
|
+ }
|
|
|
+ String[] code = {"SY_BY_004","SY_BY_005","SY_BY_006"};
|
|
|
+ roleCode = getNextRole(code);
|
|
|
+ syCarry.setHistoryInfo(syCarry.getHistoryInfo()+"SY_BY_003:"+loginUser.getUsername()+"/"+DateUtils.now()+"; ");
|
|
|
+
|
|
|
+ }else if(state.equals("40")){
|
|
|
+ String userId = iSysBaseAPI.getUserByRoleCode("SY_BY_004",null);
|
|
|
+ if(!userId.contains(loginUser.getUsername())){
|
|
|
+ sb.append("单据"+syCarry.getName()+"需要SY_BY_004角色进行操作");
|
|
|
+ continue;
|
|
|
+ }
|
|
|
+ String[] code = {"SY_BY_005","SY_BY_006"};
|
|
|
+ roleCode = getNextRole(code);
|
|
|
+ syCarry.setHistoryInfo(syCarry.getHistoryInfo()+"SY_BY_004:"+loginUser.getUsername()+"/"+DateUtils.now()+"; ");
|
|
|
+
|
|
|
+ }else if(state.equals("50")){
|
|
|
+ String userId = iSysBaseAPI.getUserByRoleCode("SY_BY_005",null);
|
|
|
+ if(!userId.contains(loginUser.getUsername())){
|
|
|
+ sb.append("单据"+syCarry.getName()+"需要SY_BY_005角色进行操作");
|
|
|
+ continue;
|
|
|
}
|
|
|
+ String[] code = {"SY_BY_006"};
|
|
|
+ roleCode = getNextRole(code);
|
|
|
+ syCarry.setHistoryInfo(syCarry.getHistoryInfo()+"SY_BY_005:"+loginUser.getUsername()+"/"+DateUtils.now()+"; ");
|
|
|
+
|
|
|
+ }else if(state.equals("60")){
|
|
|
+ String userId = iSysBaseAPI.getUserByRoleCode("SY_BY_006",null);
|
|
|
+ if(!userId.contains(loginUser.getUsername())){
|
|
|
+ sb.append("单据"+syCarry.getName()+"需要SY_BY_006角色进行操作");
|
|
|
+ continue;
|
|
|
+ }
|
|
|
+ syCarry.setHistoryInfo(syCarry.getHistoryInfo()+"SY_BY_006:"+loginUser.getUsername()+"/"+DateUtils.now()+"; ");
|
|
|
+ }else{
|
|
|
+ sb.append("单据"+syCarry.getName()+"状态异常,请联系管理员");
|
|
|
+ continue;
|
|
|
}
|
|
|
|
|
|
- if(!type){
|
|
|
- sb.append("单据"+syCarry.getName()+"仅人事行政可进行操作");
|
|
|
+ if (StringUtils.isBlank(roleCode) && !state.equals("60")) {
|
|
|
+ sb.append("角色SY_BY_006没有绑定人员,请联系管理员维护数据");
|
|
|
continue;
|
|
|
}
|
|
|
- //0草稿,1仓库已提交(计划签字),2人事行政,3财务经理 ,4已完成
|
|
|
- if(!syState.equals("2")){
|
|
|
- sb.append("单据"+syCarry.getName()+"无法此操作,请查看");
|
|
|
- continue;
|
|
|
+ if(state.equals("60")){
|
|
|
+ syCarry.setState("70");
|
|
|
+ syCarry.setRoleCode("70");
|
|
|
+ syCarry.setRoleText("已完成");
|
|
|
+
|
|
|
+ }else{
|
|
|
+ SysRole sysRole = getUserByRole(roleCode).get(0);
|
|
|
+ syCarry.setState(changeCode(roleCode));
|
|
|
+ syCarry.setRoleCode(sysRole.getRoleCode());
|
|
|
+ syCarry.setRoleText(sysRole.getRoleName());
|
|
|
+ List<SysUser> userIds = sysUserService.getUserByRoleCode(roleCode,null);
|
|
|
+ for(SysUser o:userIds){
|
|
|
+ iSysBaseAPI.sendSysAnnouncement(loginUser,loginUser.getUsername(),o.getUsername(),"搬运工对账单","您有一个新的搬运工对账单需要审批,请查看: "+syCarry.getName(), CommonConstant.MSG_CATEGORY_2,taskParam);
|
|
|
+ }
|
|
|
}
|
|
|
- syCarry.setState("3");//0草稿,1仓库已提交(计划签字),2人事行政,3财务经理 ,4已完成
|
|
|
- syCarry.setRsxzBy(loginUser.getUsername());//人事行政提交人
|
|
|
- syCarry.setRsxzName(loginUser.getRealname());//人事行政提交人
|
|
|
- syCarry.setRsxzTime(new Date());//人事行政提交人提交时间
|
|
|
+
|
|
|
syCarryMapper.updateById(syCarry);
|
|
|
+
|
|
|
sb.append("单据"+syCarry.getName()+"审批成功");
|
|
|
|
|
|
- // 财务经理
|
|
|
- List<SysUser> getUserByRoleCode = sysUserService.getUserByRoleCode("SY002",null);
|
|
|
- for(SysUser o:getUserByRoleCode){
|
|
|
- iSysBaseAPI.sendSysAnnouncement(loginUser,loginUser.getUsername(),o.getUsername(),"搬运工对账单","您有一个新的搬运工对账单需要审批,请查看: "+syCarry.getName(), CommonConstant.MSG_CATEGORY_2,taskParam);
|
|
|
- }
|
|
|
- //财务总监角色
|
|
|
-// List<SysUser> getUserByRoleCode1 = sysUserService.getUserByRoleCode("SY008",null);
|
|
|
-// for(SysUser o:getUserByRoleCode1){
|
|
|
+ }
|
|
|
+
|
|
|
+// List<String> listRole = iSysBaseAPI.getRolesByUsername(loginUser.getUsername());
|
|
|
+
|
|
|
+ //人事行政审批
|
|
|
+// if(state.equals("2")){
|
|
|
+//
|
|
|
+// boolean type = false;
|
|
|
+//
|
|
|
+// for(String o:listRole){
|
|
|
+// if(o.equals("SY003")){ //人事文员 角色
|
|
|
+// type = true;
|
|
|
+// }
|
|
|
+// }
|
|
|
+//
|
|
|
+// if(!type){
|
|
|
+// sb.append("单据"+syCarry.getName()+"仅人事行政可进行操作");
|
|
|
+// continue;
|
|
|
+// }
|
|
|
+// //0草稿,1仓库已提交(计划签字),2人事行政,3财务经理 ,4已完成
|
|
|
+// if(!syState.equals("2")){
|
|
|
+// sb.append("单据"+syCarry.getName()+"无法此操作,请查看");
|
|
|
+// continue;
|
|
|
+// }
|
|
|
+// syCarry.setState("3");//0草稿,1仓库已提交(计划签字),2人事行政,3财务经理 ,4已完成
|
|
|
+// syCarry.setRsxzBy(loginUser.getUsername());//人事行政提交人
|
|
|
+// syCarry.setRsxzName(loginUser.getRealname());//人事行政提交人
|
|
|
+// syCarry.setRsxzTime(new Date());//人事行政提交人提交时间
|
|
|
+// syCarryMapper.updateById(syCarry);
|
|
|
+// sb.append("单据"+syCarry.getName()+"审批成功");
|
|
|
+//
|
|
|
+// // 财务经理
|
|
|
+// List<SysUser> getUserByRoleCode = sysUserService.getUserByRoleCode("SY002",null);
|
|
|
+// for(SysUser o:getUserByRoleCode){
|
|
|
// iSysBaseAPI.sendSysAnnouncement(loginUser,loginUser.getUsername(),o.getUsername(),"搬运工对账单","您有一个新的搬运工对账单需要审批,请查看: "+syCarry.getName(), CommonConstant.MSG_CATEGORY_2,taskParam);
|
|
|
// }
|
|
|
+// //财务总监角色
|
|
|
+//// List<SysUser> getUserByRoleCode1 = sysUserService.getUserByRoleCode("SY008",null);
|
|
|
+//// for(SysUser o:getUserByRoleCode1){
|
|
|
+//// iSysBaseAPI.sendSysAnnouncement(loginUser,loginUser.getUsername(),o.getUsername(),"搬运工对账单","您有一个新的搬运工对账单需要审批,请查看: "+syCarry.getName(), CommonConstant.MSG_CATEGORY_2,taskParam);
|
|
|
+//// }
|
|
|
+//
|
|
|
+// continue;
|
|
|
+// }
|
|
|
+//
|
|
|
+// //财务经理审批
|
|
|
+// if(state.equals("3")){
|
|
|
+//
|
|
|
+// boolean type = false;
|
|
|
+//
|
|
|
+// for(String o:listRole){
|
|
|
+//// if(o.equals("SY002") || o.equals("SY008")){ //SY002 财务经理 SY008财务总监角色
|
|
|
+// if(o.equals("SY002")){ //SY002 财务经理 SY008财务总监角色
|
|
|
+// type = true;
|
|
|
+// }
|
|
|
+// }
|
|
|
+//
|
|
|
+// if(!type){
|
|
|
+// sb.append("单据"+syCarry.getName()+"仅财务经理可进行操作");
|
|
|
+// continue;
|
|
|
+// }
|
|
|
+//
|
|
|
+// if(!syState.equals("3")){
|
|
|
+// sb.append("单据"+syCarry.getName()+"无法此操作,请查看");
|
|
|
+// continue;
|
|
|
+// }
|
|
|
+// syCarry.setState("4");//0草稿,1仓库已提交(计划签字),2人事行政,3财务经理 ,4已完成
|
|
|
+// syCarry.setCwjlBy(loginUser.getUsername());//财务经理提交人
|
|
|
+// syCarry.setCwjlName(loginUser.getRealname());//财务经理提交人
|
|
|
+// syCarry.setCwjlTime(new Date());//财务经理提交人提交时间
|
|
|
+// syCarryMapper.updateById(syCarry);
|
|
|
+// sb.append("单据"+syCarry.getName()+"审批成功");
|
|
|
+// continue;
|
|
|
+// }
|
|
|
|
|
|
- continue;
|
|
|
- }
|
|
|
-
|
|
|
- //财务经理审批
|
|
|
- if(state.equals("3")){
|
|
|
+ }
|
|
|
|
|
|
- boolean type = false;
|
|
|
+ return sb.toString();
|
|
|
+ }
|
|
|
|
|
|
- for(String o:listRole){
|
|
|
-// if(o.equals("SY002") || o.equals("SY008")){ //SY002 财务经理 SY008财务总监角色
|
|
|
- if(o.equals("SY002")){ //SY002 财务经理 SY008财务总监角色
|
|
|
- type = true;
|
|
|
- }
|
|
|
- }
|
|
|
|
|
|
- if(!type){
|
|
|
- sb.append("单据"+syCarry.getName()+"仅财务经理可进行操作");
|
|
|
- continue;
|
|
|
- }
|
|
|
+ public String changeCode(String code){
|
|
|
+ // 0 草稿
|
|
|
+ // 1 仓库已提交(计划签字)
|
|
|
+ // 10 SY_BY_001 办公室审批
|
|
|
+ // 20 SY_BY_002 财务经理审批
|
|
|
+ // 30 SY_BY_003 搬运装卸费用审批节点3
|
|
|
+ // 40 SY_BY_004 搬运装卸费用审批节点4
|
|
|
+ // 50 SY_BY_005 搬运装卸费用审批节点5
|
|
|
+ // 60 SY_BY_006 财务总监审批
|
|
|
+ if(code.equals("SY_BY_001")){
|
|
|
+ return "10";
|
|
|
+ }else if(code.equals("SY_BY_002")){
|
|
|
+ return "20";
|
|
|
+ }else if(code.equals("SY_BY_003")){
|
|
|
+ return "30";
|
|
|
+ }else if(code.equals("SY_BY_004")){
|
|
|
+ return "40";
|
|
|
+ }else if(code.equals("SY_BY_005")){
|
|
|
+ return "50";
|
|
|
+ }else{
|
|
|
+ return "60";
|
|
|
+ }
|
|
|
+ }
|
|
|
|
|
|
- if(!syState.equals("3")){
|
|
|
- sb.append("单据"+syCarry.getName()+"无法此操作,请查看");
|
|
|
- continue;
|
|
|
- }
|
|
|
- syCarry.setState("4");//0草稿,1仓库已提交(计划签字),2人事行政,3财务经理 ,4已完成
|
|
|
- syCarry.setCwjlBy(loginUser.getUsername());//财务经理提交人
|
|
|
- syCarry.setCwjlName(loginUser.getRealname());//财务经理提交人
|
|
|
- syCarry.setCwjlTime(new Date());//财务经理提交人提交时间
|
|
|
- syCarryMapper.updateById(syCarry);
|
|
|
- sb.append("单据"+syCarry.getName()+"审批成功");
|
|
|
- continue;
|
|
|
+ public String getNextRole(String[] ids){
|
|
|
+ String code = "";
|
|
|
+ for(String o:ids){
|
|
|
+ List<SysUser> userIds = sysUserService.getUserByRoleCode(o,null);
|
|
|
+ if(userIds.size() > 0 ){
|
|
|
+ code = o;
|
|
|
+ break;
|
|
|
}
|
|
|
-
|
|
|
}
|
|
|
|
|
|
- return sb.toString();
|
|
|
+ return code;
|
|
|
}
|
|
|
|
|
|
+
|
|
|
/*
|
|
|
@Override
|
|
|
@Transactional
|
|
@@ -398,6 +629,11 @@ public class SyCarryServiceImpl extends ServiceImpl<SyCarryMapper, SyCarry> impl
|
|
|
*/
|
|
|
|
|
|
|
|
|
+ /**
|
|
|
+ * 驳回(一键回退)
|
|
|
+ * @param id
|
|
|
+ * @return
|
|
|
+ */
|
|
|
@Override
|
|
|
@Transactional
|
|
|
public String initial(String id){
|
|
@@ -411,8 +647,8 @@ public class SyCarryServiceImpl extends ServiceImpl<SyCarryMapper, SyCarry> impl
|
|
|
return "数据不存在,请刷新后重试";
|
|
|
}
|
|
|
String syState = syCarry.getState();//0草稿,1仓库已提交(计划签字中),2人事行政(审批中),3财务经理(审批中) ,4已完成
|
|
|
- if(syState.equals("4")){
|
|
|
- return "财务已审批,无法此操作";
|
|
|
+ if(syState.equals("70")){
|
|
|
+ return "已完成单据,无法此操作";
|
|
|
}
|
|
|
|
|
|
for(SyCarryB o:syCarryB){
|
|
@@ -429,7 +665,7 @@ public class SyCarryServiceImpl extends ServiceImpl<SyCarryMapper, SyCarry> impl
|
|
|
syCarry.setCkBy(null);//仓库提交人
|
|
|
syCarry.setCkName(null);//仓库提交人
|
|
|
syCarry.setCkTime(null);//仓库提交人提交时间
|
|
|
-
|
|
|
+ syCarry.setHistoryInfo("空");
|
|
|
syCarry.setRsxzBy(null);//人事行政提交人
|
|
|
syCarry.setRsxzName(null);//人事行政提交人
|
|
|
syCarry.setRsxzTime(null);//人事行政提交人提交时间
|
|
@@ -443,7 +679,12 @@ public class SyCarryServiceImpl extends ServiceImpl<SyCarryMapper, SyCarry> impl
|
|
|
}
|
|
|
|
|
|
|
|
|
-
|
|
|
+ /**
|
|
|
+ * 取消签字
|
|
|
+ * @param id
|
|
|
+ * @param headId
|
|
|
+ * @return
|
|
|
+ */
|
|
|
@Override
|
|
|
@Transactional
|
|
|
public String signPlanReturn(String id,String headId) {
|
|
@@ -510,10 +751,16 @@ public class SyCarryServiceImpl extends ServiceImpl<SyCarryMapper, SyCarry> impl
|
|
|
|
|
|
}
|
|
|
|
|
|
+ /**
|
|
|
+ * 计划员签字
|
|
|
+ * @param id
|
|
|
+ * @return
|
|
|
+ */
|
|
|
@Override
|
|
|
@Transactional
|
|
|
public String signPlan(String id) {
|
|
|
LoginUser loginUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
|
|
|
+
|
|
|
SyCarryB syCarryB = syCarryBMapper.selectById(id);
|
|
|
if(syCarryB == null){
|
|
|
return "数据不存在,请刷新后重试";
|
|
@@ -531,7 +778,10 @@ public class SyCarryServiceImpl extends ServiceImpl<SyCarryMapper, SyCarry> impl
|
|
|
if(StringUtils.isNotBlank(jhyBy) && jhyBy.contains(loginUser.getUsername())){
|
|
|
return "此条数据以签字,请勿重新操作";
|
|
|
}
|
|
|
-
|
|
|
+ SyCarry syCarry = syCarryMapper.selectById(syCarryB.getHeadId());
|
|
|
+ if(syCarry.getState().equals("0")){
|
|
|
+ return "此条数据还未提交,无法此操作";
|
|
|
+ }
|
|
|
List<SyCarryB> syCarryB1 = syCarryBMapper.selectByMainId(syCarryB.getHeadId());
|
|
|
|
|
|
for(SyCarryB o:syCarryB1){
|
|
@@ -570,22 +820,98 @@ public class SyCarryServiceImpl extends ServiceImpl<SyCarryMapper, SyCarry> impl
|
|
|
}
|
|
|
if(ifAll){
|
|
|
|
|
|
- SyCarry syCarry = syCarryMapper.selectById(syCarryB.getHeadId());
|
|
|
- syCarry.setState("2");//0草稿,1仓库已提交(计划签字),2人事行政,3财务经理
|
|
|
+ // 0 草稿
|
|
|
+ // 1 仓库已提交(计划签字)
|
|
|
+ // 10 SY_BY_001 办公室审批
|
|
|
+ // 20 SY_BY_002 财务经理审批
|
|
|
+ // 30 SY_BY_003 搬运装卸费用审批节点3
|
|
|
+ // 40 SY_BY_004 搬运装卸费用审批节点4
|
|
|
+ // 50 SY_BY_005 搬运装卸费用审批节点5
|
|
|
+ // 60 SY_BY_006 财务总监审批
|
|
|
+ List<SysUser> userIds = sysUserService.getUserByRoleCode("SY_BY_001",null);
|
|
|
+ String roleCode = "";
|
|
|
+ if(userIds.size() == 0){
|
|
|
+ userIds = sysUserService.getUserByRoleCode("SY_BY_002",null);
|
|
|
+ }else{
|
|
|
+ if(StringUtils.isBlank(roleCode)){
|
|
|
+ roleCode = "SY_BY_001";
|
|
|
+ syCarry.setState("10");
|
|
|
+ }
|
|
|
+ }
|
|
|
+ if(userIds.size() == 0){
|
|
|
+ userIds = sysUserService.getUserByRoleCode("SY_BY_003",null);
|
|
|
+ }else{
|
|
|
+ if(StringUtils.isBlank(roleCode)){
|
|
|
+ roleCode = "SY_BY_002";
|
|
|
+ syCarry.setState("20");
|
|
|
+ }
|
|
|
+ }
|
|
|
+ if(userIds.size() == 0){
|
|
|
+ userIds = sysUserService.getUserByRoleCode("SY_BY_004",null);
|
|
|
+ }else{
|
|
|
+ if(StringUtils.isBlank(roleCode)){
|
|
|
+ roleCode = "SY_BY_003";
|
|
|
+ syCarry.setState("30");
|
|
|
+ }
|
|
|
+ }
|
|
|
+ if(userIds.size() == 0){
|
|
|
+ userIds = sysUserService.getUserByRoleCode("SY_BY_005",null);
|
|
|
+ }else{
|
|
|
+ if(StringUtils.isBlank(roleCode)){
|
|
|
+ roleCode = "SY_BY_004";
|
|
|
+ syCarry.setState("40");
|
|
|
+ }
|
|
|
+ }
|
|
|
+ if(userIds.size() == 0){
|
|
|
+ userIds = sysUserService.getUserByRoleCode("SY_BY_006",null);
|
|
|
+ }else{
|
|
|
+ if(StringUtils.isBlank(roleCode)){
|
|
|
+ roleCode = "SY_BY_005";
|
|
|
+ syCarry.setState("50");
|
|
|
+ }
|
|
|
+ }
|
|
|
+ if(userIds.size() == 0){
|
|
|
+ return "审批人不存在,请联系系统管理员维护";
|
|
|
+ }else{
|
|
|
+ if(StringUtils.isBlank(roleCode)){
|
|
|
+ roleCode = "SY_BY_006";
|
|
|
+ syCarry.setState("60");
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ if(StringUtils.isBlank(roleCode)){
|
|
|
+ return "角色数据异常,请联系系统管理员维护";
|
|
|
+ }
|
|
|
+
|
|
|
+ SysRole sysRole = getUserByRole(roleCode).get(0);
|
|
|
+ syCarry.setRoleCode(sysRole.getRoleCode());
|
|
|
+ syCarry.setRoleText(sysRole.getRoleName());
|
|
|
+
|
|
|
syCarryMapper.updateById(syCarry);
|
|
|
HashMap<String,Object> taskParam = new HashMap<>();
|
|
|
- //人事角色
|
|
|
- List<SysUser> getUserByRoleCode = sysUserService.getUserByRoleCode("SY003",null);
|
|
|
- for(SysUser o:getUserByRoleCode){
|
|
|
+
|
|
|
+// List<SysUser> getUserByRoleCode = sysUserService.getUserByRoleCode("SY003",null);
|
|
|
+ for(SysUser o:userIds){
|
|
|
iSysBaseAPI.sendSysAnnouncement(loginUser,loginUser.getUsername(),o.getUsername(),"搬运工对账单","您有一个新的搬运工对账单需要审批,请查看: "+syCarry.getName(), CommonConstant.MSG_CATEGORY_2,taskParam);
|
|
|
}
|
|
|
|
|
|
+
|
|
|
+
|
|
|
}
|
|
|
|
|
|
return "签字成功";
|
|
|
}
|
|
|
|
|
|
|
|
|
+ public List<SysRole> getUserByRole(String code){
|
|
|
+
|
|
|
+ LambdaQueryWrapper<SysRole> query = new LambdaQueryWrapper<SysRole>();
|
|
|
+ query.eq(SysRole::getRoleCode,code);
|
|
|
+ List<SysRole> list2 = sysRoleService.list(query);
|
|
|
+ return list2;
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
public static void main(String[] args) {
|
|
|
String jhyName = "刘静剑/余兴志";
|
|
|
String jhyBy = "T0090,T0089,T0090,T0090";
|