|
@@ -110,103 +110,104 @@ public class WorkContractBorrowService extends CrudService<WorkContractBorrowDao
|
|
|
*/
|
|
|
@Transactional(readOnly = false)
|
|
|
public String save(WorkCntractBorrow workCntractBorrow, Map<String, Object> variables, String processInstanceId) {
|
|
|
- User user = UserUtils.getUser();
|
|
|
+ User user = UserUtils.getUser();
|
|
|
|
|
|
- super.save(workCntractBorrow);
|
|
|
- String str = "";
|
|
|
- Office office = officeService.get(workCntractBorrow.getOfficeId());
|
|
|
- str = "主委托方:"+workCntractBorrow.getWorkContractInfo().getClient().getName()+",申请人:"+user.getName()+",所属部门:"+office.getName();
|
|
|
- String title = "合同名称:"+workCntractBorrow.getWorkContractInfo().getName();
|
|
|
- // 用来设置启动流程的人员ID,引擎会自动把用户ID保存到activiti:initiator中
|
|
|
- identityService.setAuthenticatedUserId(user.getId());
|
|
|
- // 启动流程
|
|
|
- String businessKey = workCntractBorrow.getId().toString();
|
|
|
- WorkActivityMenu workActivityMenu = workActivityMenuService.findByParentAndOffice("zth3125f1f194c82bdea9htgdc750904", office);
|
|
|
- // 启动流程
|
|
|
- String processType = workActivityMenu.getProcessType();
|
|
|
- StringBuffer buffer = new StringBuffer();
|
|
|
- Activity activity = new Activity();
|
|
|
- WorkProjectNotify workProjectNotify = UtilNotify
|
|
|
- .saveNotify(workCntractBorrow.getId(),
|
|
|
- null,
|
|
|
- workCntractBorrow.getCompanyId(),
|
|
|
- title,
|
|
|
- str,
|
|
|
- "93",
|
|
|
- "0",
|
|
|
- "待审批",
|
|
|
- ""
|
|
|
- );
|
|
|
- List<User> users = new ArrayList<>();
|
|
|
- List<User> bmzrs = UserUtils.getByRoleActivityEnname("htgdgly",3,office.getId(),"8",workCntractBorrow.getCreateBy());
|
|
|
+ super.save(workCntractBorrow);
|
|
|
+ Office office = officeService.get(workCntractBorrow.getOfficeId());
|
|
|
+ SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd");
|
|
|
+ String aboutGiveDateStr = formatter.format(workCntractBorrow.getAboutGiveDate());
|
|
|
+ String str = "合同【"+workCntractBorrow.getWorkContractInfo().getName() +"】借用待审批,约定归还日期:" + aboutGiveDateStr;
|
|
|
+ String title = "合同【"+workCntractBorrow.getWorkContractInfo().getName() +"】借用待审批";
|
|
|
+ // 用来设置启动流程的人员ID,引擎会自动把用户ID保存到activiti:initiator中
|
|
|
+ identityService.setAuthenticatedUserId(user.getId());
|
|
|
+ // 启动流程
|
|
|
+ String businessKey = workCntractBorrow.getId().toString();
|
|
|
+ WorkActivityMenu workActivityMenu = workActivityMenuService.findByParentAndOffice("zth3125f1f194c82bdea9htgdc750904", office);
|
|
|
+ // 启动流程
|
|
|
+ String processType = workActivityMenu.getProcessType();
|
|
|
+ StringBuffer buffer = new StringBuffer();
|
|
|
+ Activity activity = new Activity();
|
|
|
+ WorkProjectNotify workProjectNotify = UtilNotify
|
|
|
+ .saveNotify(workCntractBorrow.getId(),
|
|
|
+ null,
|
|
|
+ workCntractBorrow.getCompanyId(),
|
|
|
+ title,
|
|
|
+ str,
|
|
|
+ "93",
|
|
|
+ "0",
|
|
|
+ "待审批",
|
|
|
+ ""
|
|
|
+ );
|
|
|
+ List<User> users = new ArrayList<>();
|
|
|
+ List<User> bmzrs = UserUtils.getByRoleActivityEnname("htgdgly",3,office.getId(),"8",workCntractBorrow.getCreateBy());
|
|
|
|
|
|
- if (StringUtils.isNotBlank(workActivityMenu.getId())) {
|
|
|
- workProjectNotify.setNotifyRole("");
|
|
|
- workActivityMenu = workActivityMenuService.get(workActivityMenu.getId());
|
|
|
- List<Activity> activities = workActivityMenu.getActivities();
|
|
|
- for (Activity a : activities) {
|
|
|
- String encount = a.getEncount();
|
|
|
- String enlist = a.getEnlist();
|
|
|
- if (a.getRole()!=null && StringUtils.isNotBlank(a.getRole().getEnname())){
|
|
|
- List enusers = UserUtils.getByRoleActivityEnnames(a.getRole().getEnname(),office.getId(),"3",workCntractBorrow.getCreateBy());
|
|
|
- if (enusers.size()==0){
|
|
|
- return "流程审批人不能为空,角色"+a.getRole().getName()+"下无用户,请联系管理员!";
|
|
|
- }
|
|
|
- variables.put(enlist, enusers);
|
|
|
- variables.put(encount, enusers.size());
|
|
|
- }
|
|
|
- if (a.getDelFlag().equals("0") && a.getCount() == 1) {
|
|
|
- activity = a;
|
|
|
+ if (StringUtils.isNotBlank(workActivityMenu.getId())) {
|
|
|
+ workProjectNotify.setNotifyRole("");
|
|
|
+ workActivityMenu = workActivityMenuService.get(workActivityMenu.getId());
|
|
|
+ List<Activity> activities = workActivityMenu.getActivities();
|
|
|
+ for (Activity a : activities) {
|
|
|
+ String encount = a.getEncount();
|
|
|
+ String enlist = a.getEnlist();
|
|
|
+ if (a.getRole()!=null && StringUtils.isNotBlank(a.getRole().getEnname())){
|
|
|
+ List enusers = UserUtils.getByRoleActivityEnnames(a.getRole().getEnname(),office.getId(),"3",workCntractBorrow.getCreateBy());
|
|
|
+ if (enusers.size()==0){
|
|
|
+ return "流程审批人不能为空,角色"+a.getRole().getName()+"下无用户,请联系管理员!";
|
|
|
}
|
|
|
+ variables.put(enlist, enusers);
|
|
|
+ variables.put(encount, enusers.size());
|
|
|
}
|
|
|
- buffer.append(activity.getRole().getEnname());
|
|
|
- if (activity != null && StringUtils.isNotBlank(activity.getId())) {
|
|
|
- //角色审批
|
|
|
- if (StringUtils.isNotBlank(activity.getRole().getEnname())) {
|
|
|
- users = UserUtils.getByRoleActivityEnnames(activity.getRole().getEnname(),office.getId(),"3",workCntractBorrow.getCreateBy());
|
|
|
- }
|
|
|
- //人员审批
|
|
|
- if (StringUtils.isNotBlank(activity.getUser().getId())) {
|
|
|
- users.add(activity.getUser());
|
|
|
- }
|
|
|
+ if (a.getDelFlag().equals("0") && a.getCount() == 1) {
|
|
|
+ activity = a;
|
|
|
}
|
|
|
- workProjectNotify.setId("");
|
|
|
- } else {
|
|
|
- if (bmzrs.size()==0){
|
|
|
- return "流程审批人不能为空,角色合同借用管理员下无用户,请联系管理员!";
|
|
|
+ }
|
|
|
+ buffer.append(activity.getRole().getEnname());
|
|
|
+ if (activity != null && StringUtils.isNotBlank(activity.getId())) {
|
|
|
+ //角色审批
|
|
|
+ if (StringUtils.isNotBlank(activity.getRole().getEnname())) {
|
|
|
+ users = UserUtils.getByRoleActivityEnnames(activity.getRole().getEnname(),office.getId(),"3",workCntractBorrow.getCreateBy());
|
|
|
+ }
|
|
|
+ //人员审批
|
|
|
+ if (StringUtils.isNotBlank(activity.getUser().getId())) {
|
|
|
+ users.add(activity.getUser());
|
|
|
}
|
|
|
- variables.put("bmzrList", bmzrs);
|
|
|
- variables.put("bmzrCount",bmzrs.size());
|
|
|
- processType = "contractArchive";
|
|
|
- users.addAll(bmzrs);
|
|
|
}
|
|
|
- for (User u : users){
|
|
|
- workProjectNotify.setUser(u);
|
|
|
- workProjectNotify.setId("");
|
|
|
- workProjectNotify.setNotifyRole("合同借用管理员审批");
|
|
|
- workProjectNotifyService
|
|
|
- .save(workProjectNotify);
|
|
|
- Map<String,Object> extras = new HashMap<>();
|
|
|
- extras.put("type","7001");
|
|
|
- extras.put("id",workProjectNotify.getId());
|
|
|
- extras.put("procDefKey","93");
|
|
|
- UserUtils.pushInfoToApp(title,str,extras,u.getId());
|
|
|
- UserUtils.pushIm(u.getId(),str);
|
|
|
+ workProjectNotify.setId("");
|
|
|
+ } else {
|
|
|
+ if (bmzrs.size()==0){
|
|
|
+ return "流程审批人不能为空,角色合同借用管理员下无用户,请联系管理员!";
|
|
|
}
|
|
|
- variables.put("type", processType);
|
|
|
- variables.put("busId", businessKey);
|
|
|
- variables.put("title", "审批单:" + workCntractBorrow.getRecordNum());//设置标题;
|
|
|
+ variables.put("bmzrList", bmzrs);
|
|
|
+ variables.put("bmzrCount",bmzrs.size());
|
|
|
+ processType = "contractArchive";
|
|
|
+ users.addAll(bmzrs);
|
|
|
+ }
|
|
|
+ for (User u : users){
|
|
|
+ workProjectNotify.setUser(u);
|
|
|
+ workProjectNotify.setId("");
|
|
|
+ workProjectNotify.setNotifyRole("合同借用管理员审批");
|
|
|
+ workProjectNotifyService
|
|
|
+ .save(workProjectNotify);
|
|
|
+ Map<String,Object> extras = new HashMap<>();
|
|
|
+ extras.put("type","7001");
|
|
|
+ extras.put("id",workProjectNotify.getId());
|
|
|
+ extras.put("procDefKey","93");
|
|
|
+ UserUtils.pushInfoToApp(title,str,extras,u.getId());
|
|
|
+ UserUtils.pushIm(u.getId(),str);
|
|
|
+ }
|
|
|
+ variables.put("type", processType);
|
|
|
+ variables.put("busId", businessKey);
|
|
|
+ variables.put("title", "审批单:" + workCntractBorrow.getRecordNum());//设置标题;
|
|
|
|
|
|
- ProcessInstance processInstance = runtimeService.startProcessInstanceByKey(processType, businessKey, variables);
|
|
|
- workCntractBorrow.setProcessInstance(processInstance);
|
|
|
- if (StringUtils.isNotBlank(processInstanceId)) {
|
|
|
- workActivityProcessService.updateProcessInstanceId(processInstance.getId(),processInstanceId);
|
|
|
- workActivityProcessService.deleteProcessInstanceId(processInstanceId);
|
|
|
- workActivityProcessService.deleteProcessIdAuditUsers(processInstanceId);
|
|
|
- }
|
|
|
- // 更新流程实例ID
|
|
|
- workCntractBorrow.setProcessInstanceId(processInstance.getId());
|
|
|
- dao.updateProcessInstanceId(workCntractBorrow);
|
|
|
+ ProcessInstance processInstance = runtimeService.startProcessInstanceByKey(processType, businessKey, variables);
|
|
|
+ workCntractBorrow.setProcessInstance(processInstance);
|
|
|
+ if (StringUtils.isNotBlank(processInstanceId)) {
|
|
|
+ workActivityProcessService.updateProcessInstanceId(processInstance.getId(),processInstanceId);
|
|
|
+ workActivityProcessService.deleteProcessInstanceId(processInstanceId);
|
|
|
+ workActivityProcessService.deleteProcessIdAuditUsers(processInstanceId);
|
|
|
+ }
|
|
|
+ // 更新流程实例ID
|
|
|
+ workCntractBorrow.setProcessInstanceId(processInstance.getId());
|
|
|
+ dao.updateProcessInstanceId(workCntractBorrow);
|
|
|
//通知添加流程实例ID
|
|
|
workProjectNotify.setProcessInstanceId(processInstance.getId());
|
|
|
workProjectNotifyService.save(workProjectNotify);
|
|
@@ -422,7 +423,7 @@ public class WorkContractBorrowService extends CrudService<WorkContractBorrowDao
|
|
|
pro.setProcessInstanceId(processList.get(0).getProcessInstanceId());
|
|
|
pro.setCount(0);
|
|
|
workActivityProcessDao.insert(pro);
|
|
|
- state = false;
|
|
|
+ state = true;
|
|
|
}
|
|
|
try {
|
|
|
//结束该流程,设为"撤销"状态
|
|
@@ -477,6 +478,26 @@ public class WorkContractBorrowService extends CrudService<WorkContractBorrowDao
|
|
|
}
|
|
|
}
|
|
|
workActivityProcessService.deleteProcessIdAuditUsers(workCntractBorrow.getProcessInstanceId());
|
|
|
+ }else{
|
|
|
+ str = "合同【"+workCntractBorrow.getWorkContractInfo().getName() + "】借用被驳回";
|
|
|
+ title = "合同【"+workCntractBorrow.getWorkContractInfo().getName() + "】借用被驳回";
|
|
|
+ users.add(workCntractBorrow.getCreateBy());
|
|
|
+
|
|
|
+ workCntractBorrow.setStatus("4");
|
|
|
+ WorkProjectNotify notify = new WorkProjectNotify();
|
|
|
+ notify.setNotifyId(workCntractBorrow.getId());
|
|
|
+ userList = workProjectNotifyService.readByNotifyId(notify);
|
|
|
+ workProjectNotifyService
|
|
|
+ .save(UtilNotify
|
|
|
+ .saveNotify(workCntractBorrow.getId(),
|
|
|
+ workCntractBorrow.getCreateBy(),
|
|
|
+ workCntractBorrow.getCompanyId(),
|
|
|
+ title,
|
|
|
+ str,
|
|
|
+ "93",
|
|
|
+ "0",
|
|
|
+ "待通知",
|
|
|
+ notifyRole));
|
|
|
}
|
|
|
if (users!=null && users.size()!=0) {
|
|
|
for (User u : users) {
|