|
@@ -210,17 +210,10 @@ public class WorkInvoiceAllService extends CrudService<WorkInvoiceDao, WorkInvoi
|
|
public Page<WorkInvoice> findPage(Page<WorkInvoice> page, WorkInvoice workInvoice) {
|
|
public Page<WorkInvoice> findPage(Page<WorkInvoice> page, WorkInvoice workInvoice) {
|
|
// workInvoice.getSqlMap().put("dsf", dataScopeFilter(workInvoice.getCurrentUser(), "o", "u","s", MenuStatusEnum.WORK_INVOICE.getValue()));
|
|
// workInvoice.getSqlMap().put("dsf", dataScopeFilter(workInvoice.getCurrentUser(), "o", "u","s", MenuStatusEnum.WORK_INVOICE.getValue()));
|
|
if(StringUtils.isNotBlank(workInvoice.getOfficeId())){
|
|
if(StringUtils.isNotBlank(workInvoice.getOfficeId())){
|
|
- if("一部本部".equals(workInvoice.getOfficeId())){
|
|
|
|
- List<String> officeIdList = Lists.newArrayList();
|
|
|
|
- Office office = officeService.getByName("工程一部");
|
|
|
|
- officeIdList.add(office.getId());
|
|
|
|
- workInvoice.setOfficeIdList(officeIdList);
|
|
|
|
- }else{
|
|
|
|
- //查询该选择节点下所有的部门Id
|
|
|
|
- List<String> officeIdList = officeService.getChildrenOffice(workInvoice.getOfficeId());
|
|
|
|
- officeIdList.add(workInvoice.getOfficeId());
|
|
|
|
- workInvoice.setOfficeIdList(officeIdList);
|
|
|
|
- }
|
|
|
|
|
|
+ //查询该选择节点下所有的部门Id
|
|
|
|
+ List<String> officeIdList = officeService.getChildrenOffice(workInvoice.getOfficeId());
|
|
|
|
+ officeIdList.add(workInvoice.getOfficeId());
|
|
|
|
+ workInvoice.setOfficeIdList(officeIdList);
|
|
}
|
|
}
|
|
int count = dao.queryCount(workInvoice);
|
|
int count = dao.queryCount(workInvoice);
|
|
page.setCount(count);
|
|
page.setCount(count);
|
|
@@ -270,19 +263,6 @@ public class WorkInvoiceAllService extends CrudService<WorkInvoiceDao, WorkInvoi
|
|
*/
|
|
*/
|
|
public String getSumMoney(WorkInvoice workInvoice){
|
|
public String getSumMoney(WorkInvoice workInvoice){
|
|
//workInvoice.getSqlMap().put("dsf", dataScopeFilter(workInvoice.getCurrentUser(), "o", "u","s", MenuStatusEnum.WORK_INVOICE.getValue()));
|
|
//workInvoice.getSqlMap().put("dsf", dataScopeFilter(workInvoice.getCurrentUser(), "o", "u","s", MenuStatusEnum.WORK_INVOICE.getValue()));
|
|
- if(StringUtils.isNotBlank(workInvoice.getOfficeId())){
|
|
|
|
- if("一部本部".equals(workInvoice.getOfficeId())){
|
|
|
|
- List<String> officeIdList = Lists.newArrayList();
|
|
|
|
- Office office = officeService.getByName("工程一部");
|
|
|
|
- officeIdList.add(office.getId());
|
|
|
|
- workInvoice.setOfficeIdList(officeIdList);
|
|
|
|
- }else{
|
|
|
|
- //查询该选择节点下所有的部门Id
|
|
|
|
- List<String> officeIdList = officeService.getChildrenOffice(workInvoice.getOfficeId());
|
|
|
|
- officeIdList.add(workInvoice.getOfficeId());
|
|
|
|
- workInvoice.setOfficeIdList(officeIdList);
|
|
|
|
- }
|
|
|
|
- }
|
|
|
|
workInvoice.setPage(new Page<WorkInvoice>());
|
|
workInvoice.setPage(new Page<WorkInvoice>());
|
|
String getSumMoney = dao.getSumMoney(workInvoice);
|
|
String getSumMoney = dao.getSumMoney(workInvoice);
|
|
if(StringUtils.isBlank(getSumMoney)){
|
|
if(StringUtils.isBlank(getSumMoney)){
|
|
@@ -337,94 +317,94 @@ public class WorkInvoiceAllService extends CrudService<WorkInvoiceDao, WorkInvoi
|
|
@Transactional(readOnly = false)
|
|
@Transactional(readOnly = false)
|
|
public String save(WorkInvoice workInvoice,Map<String, Object> variables,String processInstanceId) {
|
|
public String save(WorkInvoice workInvoice,Map<String, Object> variables,String processInstanceId) {
|
|
long s1=System.currentTimeMillis();
|
|
long s1=System.currentTimeMillis();
|
|
- if (StringUtils.isBlank(workInvoice.getNumber())) {
|
|
|
|
- synchronized (SYN_BYTE) {
|
|
|
|
- workInvoice.setNumber(serialNumTplService.genSerialNum(UserUtils.getSelectCompany(), WorkInvoice.SERIAL_BIZCODE));
|
|
|
|
- }
|
|
|
|
|
|
+ if (StringUtils.isBlank(workInvoice.getNumber())) {
|
|
|
|
+ synchronized (SYN_BYTE) {
|
|
|
|
+ workInvoice.setNumber(serialNumTplService.genSerialNum(UserUtils.getSelectCompany(), WorkInvoice.SERIAL_BIZCODE));
|
|
}
|
|
}
|
|
|
|
+ }
|
|
long s2=System.currentTimeMillis();
|
|
long s2=System.currentTimeMillis();
|
|
- super.save(workInvoice);
|
|
|
|
|
|
+ super.save(workInvoice);
|
|
long s3=System.currentTimeMillis();
|
|
long s3=System.currentTimeMillis();
|
|
- String str = "";
|
|
|
|
- //所属部门
|
|
|
|
- Office office = officeService.get(workInvoice.getOffice().getId());
|
|
|
|
- String userName = UserUtils.get(workInvoice.getCreateBy().getId()).getName();
|
|
|
|
- str = "发票申请编号:"+workInvoice.getNumber()+",实际开票单位:"+workInvoice.getClient().getName()+",创建人:"+userName+",所属部门:"+office.getName();
|
|
|
|
- String title = "实际开票单位:"+workInvoice.getClient().getName();
|
|
|
|
|
|
+ String str = "";
|
|
|
|
+ //所属部门
|
|
|
|
+ Office office = officeService.get(workInvoice.getOffice().getId());
|
|
|
|
+ String userName = UserUtils.get(workInvoice.getCreateBy().getId()).getName();
|
|
|
|
+ str = "发票申请编号:"+workInvoice.getNumber()+",实际开票单位:"+workInvoice.getClient().getName()+",创建人:"+userName+",所属部门:"+office.getName();
|
|
|
|
+ String title = "实际开票单位:"+workInvoice.getClient().getName();
|
|
long s4=System.currentTimeMillis();
|
|
long s4=System.currentTimeMillis();
|
|
- updateWorkInvoiceInfo(workInvoice);
|
|
|
|
|
|
+ updateWorkInvoiceInfo(workInvoice);
|
|
long s5=System.currentTimeMillis();
|
|
long s5=System.currentTimeMillis();
|
|
- // 用来设置启动流程的人员ID,引擎会自动把用户ID保存到activiti:initiator中
|
|
|
|
- identityService.setAuthenticatedUserId(UserUtils.getUser().getId());
|
|
|
|
- // 启动流程
|
|
|
|
- String businessKey = workInvoice.getId().toString();
|
|
|
|
- WorkActivityMenu workActivityMenu = workActivityMenuService.findByParentAndOffice("ggh3125f1f194c82bdea93555c750905",officeService.get(workInvoice.getOfficeId()));
|
|
|
|
- // 启动流程
|
|
|
|
- String processType = workActivityMenu.getProcessType();
|
|
|
|
- StringBuffer buffer = new StringBuffer();
|
|
|
|
- Activity activity = new Activity();
|
|
|
|
- WorkProjectNotify workProjectNotify = UtilNotify
|
|
|
|
- .saveNotify(workInvoice.getId(),
|
|
|
|
- null,
|
|
|
|
- workInvoice.getCompanyId(),
|
|
|
|
- title,
|
|
|
|
- str,
|
|
|
|
- "21",
|
|
|
|
- "0",
|
|
|
|
- "待审批",
|
|
|
|
- ""
|
|
|
|
- );
|
|
|
|
|
|
+ // 用来设置启动流程的人员ID,引擎会自动把用户ID保存到activiti:initiator中
|
|
|
|
+ identityService.setAuthenticatedUserId(UserUtils.getUser().getId());
|
|
|
|
+ // 启动流程
|
|
|
|
+ String businessKey = workInvoice.getId().toString();
|
|
|
|
+ WorkActivityMenu workActivityMenu = workActivityMenuService.findByParentAndOffice("ggh3125f1f194c82bdea93555c750905",officeService.get(workInvoice.getOfficeId()));
|
|
|
|
+ // 启动流程
|
|
|
|
+ String processType = workActivityMenu.getProcessType();
|
|
|
|
+ StringBuffer buffer = new StringBuffer();
|
|
|
|
+ Activity activity = new Activity();
|
|
|
|
+ WorkProjectNotify workProjectNotify = UtilNotify
|
|
|
|
+ .saveNotify(workInvoice.getId(),
|
|
|
|
+ null,
|
|
|
|
+ workInvoice.getCompanyId(),
|
|
|
|
+ title,
|
|
|
|
+ str,
|
|
|
|
+ "21",
|
|
|
|
+ "0",
|
|
|
|
+ "待审批",
|
|
|
|
+ ""
|
|
|
|
+ );
|
|
long s6=System.currentTimeMillis();
|
|
long s6=System.currentTimeMillis();
|
|
- List<User> users = new ArrayList<>();
|
|
|
|
- List<User> bmzrs = UserUtils.getByRoleActivityEnname("bmzr",2,office.getId(),"5",workInvoice.getCreateBy());
|
|
|
|
- List<User> scbzrs = UserUtils.getByRoleActivityEnname("scfgld",1,office.getId(),"5",workInvoice.getCreateBy());
|
|
|
|
- //List<User> fpglys = UserUtils.getByRoleActivityEnname("fpgly",1,office.getId(),"5",workInvoice.getCreateBy());
|
|
|
|
|
|
+ List<User> users = new ArrayList<>();
|
|
|
|
+ List<User> bmzrs = UserUtils.getByRoleActivityEnname("bmzr",2,office.getId(),"5",workInvoice.getCreateBy());
|
|
|
|
+ List<User> scbzrs = UserUtils.getByRoleActivityEnname("scfgld",1,office.getId(),"5",workInvoice.getCreateBy());
|
|
|
|
+ //List<User> fpglys = UserUtils.getByRoleActivityEnname("fpgly",1,office.getId(),"5",workInvoice.getCreateBy());
|
|
//财务主任
|
|
//财务主任
|
|
List<User> fpglys = UserUtils.getByRoleActivityEnname("cwzg",1,office.getId(),"5",workInvoice.getCreateBy());
|
|
List<User> fpglys = UserUtils.getByRoleActivityEnname("cwzg",1,office.getId(),"5",workInvoice.getCreateBy());
|
|
long s7=System.currentTimeMillis();
|
|
long s7=System.currentTimeMillis();
|
|
- 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(),"5",workInvoice.getCreateBy());
|
|
|
|
- if (enusers.size()==0){
|
|
|
|
- workInvoice.setInvoiceState("1");//暂存
|
|
|
|
- this.save(workInvoice);
|
|
|
|
- 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(),"5",workInvoice.getCreateBy());
|
|
|
|
+ if (enusers.size()==0){
|
|
|
|
+ workInvoice.setInvoiceState("1");//暂存
|
|
|
|
+ this.save(workInvoice);
|
|
|
|
+ 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(),"5",workInvoice.getCreateBy());
|
|
|
|
- }
|
|
|
|
- //人员审批
|
|
|
|
- if (StringUtils.isNotBlank(activity.getUser().getId())) {
|
|
|
|
- users.add(activity.getUser());
|
|
|
|
- }
|
|
|
|
|
|
+ if (a.getDelFlag().equals("0") && a.getCount() == 1) {
|
|
|
|
+ activity = a;
|
|
}
|
|
}
|
|
- workProjectNotify.setId("");
|
|
|
|
- } else {
|
|
|
|
- /*variables.put("scbzrList", scbzrs);
|
|
|
|
- variables.put("fpglyList", fpglys);*/
|
|
|
|
- if (bmzrs.size()==0 ){
|
|
|
|
- workInvoice.setInvoiceState("1");//暂存
|
|
|
|
- this.save(workInvoice);
|
|
|
|
|
|
+ }
|
|
|
|
+ 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(),"5",workInvoice.getCreateBy());
|
|
}
|
|
}
|
|
- if (bmzrs.size()==0){
|
|
|
|
- return "流程审批人不能为空,角色部门负责人下无用户,请联系管理员!";
|
|
|
|
|
|
+ //人员审批
|
|
|
|
+ if (StringUtils.isNotBlank(activity.getUser().getId())) {
|
|
|
|
+ users.add(activity.getUser());
|
|
}
|
|
}
|
|
|
|
+ }
|
|
|
|
+ workProjectNotify.setId("");
|
|
|
|
+ } else {
|
|
|
|
+ /*variables.put("scbzrList", scbzrs);
|
|
|
|
+ variables.put("fpglyList", fpglys);*/
|
|
|
|
+ if (bmzrs.size()==0 ){
|
|
|
|
+ workInvoice.setInvoiceState("1");//暂存
|
|
|
|
+ this.save(workInvoice);
|
|
|
|
+ }
|
|
|
|
+ if (bmzrs.size()==0){
|
|
|
|
+ return "流程审批人不能为空,角色部门负责人下无用户,请联系管理员!";
|
|
|
|
+ }
|
|
/*if (scbzrs.size()==0){
|
|
/*if (scbzrs.size()==0){
|
|
return "流程审批人不能为空,角色市场分管领导下无用户,请联系管理员!";
|
|
return "流程审批人不能为空,角色市场分管领导下无用户,请联系管理员!";
|
|
}
|
|
}
|
|
@@ -433,67 +413,67 @@ public class WorkInvoiceAllService extends CrudService<WorkInvoiceDao, WorkInvoi
|
|
}*/
|
|
}*/
|
|
/*variables.put("scbzrcount",scbzrs.size());
|
|
/*variables.put("scbzrcount",scbzrs.size());
|
|
variables.put("fpglycount",fpglys.size());*/
|
|
variables.put("fpglycount",fpglys.size());*/
|
|
- processType = "workinvoice";
|
|
|
|
- users.addAll(bmzrs);
|
|
|
|
- }
|
|
|
|
- for (User user : users){
|
|
|
|
- workProjectNotify.setUser(user);
|
|
|
|
- workProjectNotify.setId("");
|
|
|
|
- workProjectNotifyService
|
|
|
|
- .save(workProjectNotify);
|
|
|
|
- Map<String,Object> extras = new HashMap<>();
|
|
|
|
- extras.put("type","7002");
|
|
|
|
- extras.put("id",workProjectNotify.getId());
|
|
|
|
- extras.put("procDefKey","21");
|
|
|
|
- UserUtils.pushInfoToApp(title,str,extras,user.getId());
|
|
|
|
- UserUtils.pushIm(user.getId(),str);
|
|
|
|
- }
|
|
|
|
- variables.put("type", processType);
|
|
|
|
- variables.put("busId", businessKey);
|
|
|
|
- variables.put("title", "发票申请编号:" + workInvoice.getNumber());//设置标题;
|
|
|
|
|
|
+ processType = "workinvoice";
|
|
|
|
+ users.addAll(bmzrs);
|
|
|
|
+ }
|
|
|
|
+ for (User user : users){
|
|
|
|
+ workProjectNotify.setUser(user);
|
|
|
|
+ workProjectNotify.setId("");
|
|
|
|
+ workProjectNotifyService
|
|
|
|
+ .save(workProjectNotify);
|
|
|
|
+ Map<String,Object> extras = new HashMap<>();
|
|
|
|
+ extras.put("type","7002");
|
|
|
|
+ extras.put("id",workProjectNotify.getId());
|
|
|
|
+ extras.put("procDefKey","21");
|
|
|
|
+ UserUtils.pushInfoToApp(title,str,extras,user.getId());
|
|
|
|
+ UserUtils.pushIm(user.getId(),str);
|
|
|
|
+ }
|
|
|
|
+ variables.put("type", processType);
|
|
|
|
+ variables.put("busId", businessKey);
|
|
|
|
+ variables.put("title", "发票申请编号:" + workInvoice.getNumber());//设置标题;
|
|
long s8=System.currentTimeMillis();
|
|
long s8=System.currentTimeMillis();
|
|
- ProcessInstance processInstance = runtimeService.startProcessInstanceByKey(processType, businessKey, variables);
|
|
|
|
- workInvoice.setProcessInstance(processInstance);
|
|
|
|
|
|
+ ProcessInstance processInstance = runtimeService.startProcessInstanceByKey(processType, businessKey, variables);
|
|
|
|
+ workInvoice.setProcessInstance(processInstance);
|
|
long s9=System.currentTimeMillis();
|
|
long s9=System.currentTimeMillis();
|
|
- if (StringUtils.isNotBlank(processInstanceId)) {
|
|
|
|
- workActivityProcessService.updateProcessInstanceId(processInstance.getId(),processInstanceId);
|
|
|
|
- workActivityProcessService.deleteProcessInstanceId(processInstanceId);
|
|
|
|
- workActivityProcessService.deleteProcessIdAuditUsers(processInstanceId);
|
|
|
|
- }
|
|
|
|
|
|
+ if (StringUtils.isNotBlank(processInstanceId)) {
|
|
|
|
+ workActivityProcessService.updateProcessInstanceId(processInstance.getId(),processInstanceId);
|
|
|
|
+ workActivityProcessService.deleteProcessInstanceId(processInstanceId);
|
|
|
|
+ workActivityProcessService.deleteProcessIdAuditUsers(processInstanceId);
|
|
|
|
+ }
|
|
long s10=System.currentTimeMillis();
|
|
long s10=System.currentTimeMillis();
|
|
- // 更新流程实例ID
|
|
|
|
- workInvoice.setProcessInstanceId(processInstance.getId());
|
|
|
|
- workInvoiceDao.updateProcessInstanceId(workInvoice);
|
|
|
|
|
|
+ // 更新流程实例ID
|
|
|
|
+ workInvoice.setProcessInstanceId(processInstance.getId());
|
|
|
|
+ workInvoiceDao.updateProcessInstanceId(workInvoice);
|
|
//通知添加流程实例ID
|
|
//通知添加流程实例ID
|
|
workProjectNotify.setProcessInstanceId(processInstance.getId());
|
|
workProjectNotify.setProcessInstanceId(processInstance.getId());
|
|
workProjectNotifyService.save(workProjectNotify);
|
|
workProjectNotifyService.save(workProjectNotify);
|
|
- List<Activity> list = workActivityMenu.getActivities();
|
|
|
|
|
|
+ List<Activity> list = workActivityMenu.getActivities();
|
|
long s11=System.currentTimeMillis();
|
|
long s11=System.currentTimeMillis();
|
|
- if (list != null && list.size() != 0) {
|
|
|
|
- workActivityProcessService.saveList(list, processInstance.getId());
|
|
|
|
- } else {
|
|
|
|
- WorkActivityProcess workActivityProcess = new WorkActivityProcess();
|
|
|
|
- workActivityProcess.setProcessKey("workinvoice");
|
|
|
|
- workActivityProcess.setCount(1);
|
|
|
|
- workActivityProcess.setProcessInstanceId(processInstance.getId());
|
|
|
|
- workActivityProcess.setIsApproval("0");
|
|
|
|
- workActivityProcessService.save(workActivityProcess);
|
|
|
|
- workActivityProcess.setCount(2);
|
|
|
|
- workActivityProcess.setId("");
|
|
|
|
- workActivityProcessService.save(workActivityProcess);
|
|
|
|
- workActivityProcess.setCount(3);
|
|
|
|
- workActivityProcess.setId("");
|
|
|
|
- workActivityProcessService.save(workActivityProcess);
|
|
|
|
- workActivityProcessService.insertAuditsByType(bmzrs,processInstance.getId(),1,1);
|
|
|
|
- workActivityProcessService.insertAuditsByType(scbzrs,processInstance.getId(),2,0);
|
|
|
|
- workActivityProcessService.insertAuditsByType(fpglys,processInstance.getId(),3,0);
|
|
|
|
- }
|
|
|
|
|
|
+ if (list != null && list.size() != 0) {
|
|
|
|
+ workActivityProcessService.saveList(list, processInstance.getId());
|
|
|
|
+ } else {
|
|
|
|
+ WorkActivityProcess workActivityProcess = new WorkActivityProcess();
|
|
|
|
+ workActivityProcess.setProcessKey("workinvoice");
|
|
|
|
+ workActivityProcess.setCount(1);
|
|
|
|
+ workActivityProcess.setProcessInstanceId(processInstance.getId());
|
|
|
|
+ workActivityProcess.setIsApproval("0");
|
|
|
|
+ workActivityProcessService.save(workActivityProcess);
|
|
|
|
+ workActivityProcess.setCount(2);
|
|
|
|
+ workActivityProcess.setId("");
|
|
|
|
+ workActivityProcessService.save(workActivityProcess);
|
|
|
|
+ workActivityProcess.setCount(3);
|
|
|
|
+ workActivityProcess.setId("");
|
|
|
|
+ workActivityProcessService.save(workActivityProcess);
|
|
|
|
+ workActivityProcessService.insertAuditsByType(bmzrs,processInstance.getId(),1,1);
|
|
|
|
+ workActivityProcessService.insertAuditsByType(scbzrs,processInstance.getId(),2,0);
|
|
|
|
+ workActivityProcessService.insertAuditsByType(fpglys,processInstance.getId(),3,0);
|
|
|
|
+ }
|
|
long s12=System.currentTimeMillis();
|
|
long s12=System.currentTimeMillis();
|
|
- logger.info("发票送审-------生成发票编号:"+(s2-s1)+" 保存发票信息:"+(s3-s2)+" 保存发票明细数据:"+(s5-s4)
|
|
|
|
- +" 查询角色人员:"+(s7-s6)+" 流程启动:"+(s9-s8)+" workActivityProcessService.updateProcessInstanceId:"+(s10-s9)
|
|
|
|
- +" 查询角色人员:"+(s12-s11)+" 总时间:"+(s12-s1));
|
|
|
|
- logger.debug("start process of {key={}, bkey={}, pid={}, variables={}}", new Object[]{
|
|
|
|
- ActUtils.PD_REIMBURSEMENT[0], businessKey, processInstance.getId(), variables});
|
|
|
|
|
|
+ logger.info("发票送审-------生成发票编号:"+(s2-s1)+" 保存发票信息:"+(s3-s2)+" 保存发票明细数据:"+(s5-s4)
|
|
|
|
+ +" 查询角色人员:"+(s7-s6)+" 流程启动:"+(s9-s8)+" workActivityProcessService.updateProcessInstanceId:"+(s10-s9)
|
|
|
|
+ +" 查询角色人员:"+(s12-s11)+" 总时间:"+(s12-s1));
|
|
|
|
+ logger.debug("start process of {key={}, bkey={}, pid={}, variables={}}", new Object[]{
|
|
|
|
+ ActUtils.PD_REIMBURSEMENT[0], businessKey, processInstance.getId(), variables});
|
|
return "";
|
|
return "";
|
|
}
|
|
}
|
|
|
|
|
|
@@ -1211,176 +1191,195 @@ public class WorkInvoiceAllService extends CrudService<WorkInvoiceDao, WorkInvoi
|
|
*/
|
|
*/
|
|
@Transactional(readOnly = false)
|
|
@Transactional(readOnly = false)
|
|
public String auditSaveBranch(WorkInvoice workInvoice,List<User> auditUsers) {
|
|
public String auditSaveBranch(WorkInvoice workInvoice,List<User> auditUsers) {
|
|
- //所属部门
|
|
|
|
- Office office = officeService.get(workInvoice.getOffice().getId());
|
|
|
|
- String userName = UserUtils.get(workInvoice.getCreateBy().getId()).getName();
|
|
|
|
- String str = "发票申请编号:"+workInvoice.getNumber()+",实际开票单位:"+workInvoice.getClient().getName()+",创建人:"+userName+",所属部门:"+office.getName();
|
|
|
|
- String title = "实际开票单位:"+workInvoice.getClient().getName();
|
|
|
|
- // 对不同环节的业务逻辑进行操作
|
|
|
|
- String taskDefKey = workInvoice.getAct().getTaskDefKey();
|
|
|
|
- if("fpgly".equals(taskDefKey)){
|
|
|
|
- updateWorkInvoiceInfo(workInvoice);
|
|
|
|
- actTaskService.claim(workInvoice.getAct().getTaskId(), UserUtils.getUser().getId());
|
|
|
|
- }else if (!"modifyApply".equals(taskDefKey)) {
|
|
|
|
- actTaskService.claim(workInvoice.getAct().getTaskId(), UserUtils.getUser().getId());
|
|
|
|
- }else {
|
|
|
|
- workInvoice.getAct().setFlag("yes");
|
|
|
|
- updateWorkInvoiceInfo(workInvoice);
|
|
|
|
- }
|
|
|
|
- String comment = "";
|
|
|
|
- if (workInvoice.getInvoiceState().equals("4")){
|
|
|
|
- comment = ("yes".equals(workInvoice.getAct().getFlag())?"[重新申请] ":"[已撤销] ");
|
|
|
|
- }else {
|
|
|
|
- comment = ("yes".equals(workInvoice.getAct().getFlag())?"[同意] ":"[驳回] ")+workInvoice.getAct().getComment();
|
|
|
|
- }
|
|
|
|
|
|
+ //所属部门
|
|
|
|
+ Office office = officeService.get(workInvoice.getOffice().getId());
|
|
|
|
+ String userName = UserUtils.get(workInvoice.getCreateBy().getId()).getName();
|
|
|
|
+ String str = "发票申请编号:"+workInvoice.getNumber()+",实际开票单位:"+workInvoice.getClient().getName()+",创建人:"+userName+",所属部门:"+office.getName();
|
|
|
|
+ String title = "实际开票单位:"+workInvoice.getClient().getName();
|
|
|
|
+ // 对不同环节的业务逻辑进行操作
|
|
|
|
+ String taskDefKey = workInvoice.getAct().getTaskDefKey();
|
|
|
|
+ if("fpgly".equals(taskDefKey)){
|
|
|
|
+ updateWorkInvoiceInfo(workInvoice);
|
|
|
|
+ actTaskService.claim(workInvoice.getAct().getTaskId(), UserUtils.getUser().getId());
|
|
|
|
+ }else if (!"modifyApply".equals(taskDefKey)) {
|
|
|
|
+ actTaskService.claim(workInvoice.getAct().getTaskId(), UserUtils.getUser().getId());
|
|
|
|
+ }else {
|
|
|
|
+ workInvoice.getAct().setFlag("yes");
|
|
|
|
+ updateWorkInvoiceInfo(workInvoice);
|
|
|
|
+ }
|
|
|
|
+ String comment = "";
|
|
|
|
+ if (workInvoice.getInvoiceState().equals("4")){
|
|
|
|
+ comment = ("yes".equals(workInvoice.getAct().getFlag())?"[重新申请] ":"[已撤销] ");
|
|
|
|
+ }else {
|
|
|
|
+ comment = ("yes".equals(workInvoice.getAct().getFlag())?"[同意] ":"[驳回] ")+workInvoice.getAct().getComment();
|
|
|
|
+ }
|
|
//项目名称获取
|
|
//项目名称获取
|
|
List<String> projectNameList = getProjectNameList(workInvoice);
|
|
List<String> projectNameList = getProjectNameList(workInvoice);
|
|
String projectNameStr = String.join(",", projectNameList);
|
|
String projectNameStr = String.join(",", projectNameList);
|
|
- //yes 的时候状态为审核通过 否则为未通过
|
|
|
|
- //2 审核中 4 驳回
|
|
|
|
- workInvoice.setInvoiceState(("yes".equals(workInvoice.getAct().getFlag()) ? "2" : "4"));
|
|
|
|
- Map<String, Object> vars = Maps.newHashMap();
|
|
|
|
- //业务逻辑对应的条件表达式
|
|
|
|
- String exp = "";
|
|
|
|
- String taskCount = "";
|
|
|
|
- String notifyRole = "";
|
|
|
|
- int key = 0;
|
|
|
|
- String enname = "";
|
|
|
|
- List<Activity> activitieList = activityService.getByProcessInstanceId(workInvoice.getProcessInstanceId());
|
|
|
|
- WorkActivityMenu workActivityMenu = new WorkActivityMenu();
|
|
|
|
- if (activitieList != null && activitieList.size() != 0) {
|
|
|
|
- workActivityMenu.setProcessType(activitieList.get(0).getProcessKey());
|
|
|
|
- workActivityMenu.setActivities(activitieList);
|
|
|
|
- }
|
|
|
|
|
|
+ //yes 的时候状态为审核通过 否则为未通过
|
|
|
|
+ //2 审核中 4 驳回
|
|
|
|
+ workInvoice.setInvoiceState(("yes".equals(workInvoice.getAct().getFlag()) ? "2" : "4"));
|
|
|
|
+ Map<String, Object> vars = Maps.newHashMap();
|
|
|
|
+ //业务逻辑对应的条件表达式
|
|
|
|
+ String exp = "";
|
|
|
|
+ String taskCount = "";
|
|
|
|
+ String notifyRole = "";
|
|
|
|
+ int key = 0;
|
|
|
|
+ String enname = "";
|
|
|
|
+ List<Activity> activitieList = activityService.getByProcessInstanceId(workInvoice.getProcessInstanceId());
|
|
|
|
+ WorkActivityMenu workActivityMenu = new WorkActivityMenu();
|
|
|
|
+ if (activitieList != null && activitieList.size() != 0) {
|
|
|
|
+ workActivityMenu.setProcessType(activitieList.get(0).getProcessKey());
|
|
|
|
+ workActivityMenu.setActivities(activitieList);
|
|
|
|
+ }
|
|
|
|
|
|
- WorkActivityProcess workActivityProcess = new WorkActivityProcess();
|
|
|
|
- WorkActivityProcess selectProcess = new WorkActivityProcess();
|
|
|
|
- selectProcess.setProcessInstanceId(workInvoice.getProcessInstanceId());
|
|
|
|
- List<WorkActivityProcess> workActivityProcesses = workActivityProcessService.findList(selectProcess);
|
|
|
|
- List<Activity> activities = workActivityMenu.getActivities();
|
|
|
|
- if (StringUtils.isNotBlank(workActivityMenu.getProcessType()) && !workActivityMenu.getProcessType().equals("newWorkInvoiceBranch")) {
|
|
|
|
- key = 1;
|
|
|
|
- for (int i = 0; i < workActivityProcesses.size(); i++) {
|
|
|
|
- WorkActivityProcess activityProcess = workActivityProcesses.get(i);
|
|
|
|
- if (taskDefKey.equals(activityProcess.getActivityTask()) && !taskDefKey.equals("modifyApply")) {
|
|
|
|
- taskCount = activityProcess.getCount()+"";
|
|
|
|
- workActivityProcess = activityProcess;
|
|
|
|
- if (!workActivityProcess.getIsApproval().equals("0")) {
|
|
|
|
- workActivityProcess.setId("");
|
|
|
|
- }
|
|
|
|
- exp = "pass";
|
|
|
|
- if (!"yes".equals(workInvoice.getAct().getFlag())) {
|
|
|
|
- workInvoice.setInvoiceState("4");
|
|
|
|
- workActivityProcess.setIsApproval("2");
|
|
|
|
- String returnBack = "-1";
|
|
|
|
- for (Activity activity : activities) {
|
|
|
|
- if (activity.getCount() == activityProcess.getCount()) {
|
|
|
|
- notifyRole = activity.getName();
|
|
|
|
- returnBack = activity.getReturnBack();
|
|
|
|
- break;
|
|
|
|
- }
|
|
|
|
- }
|
|
|
|
- if (returnBack.equals("0")) {
|
|
|
|
- workActivityProcess.setId("");
|
|
|
|
|
|
+ WorkActivityProcess workActivityProcess = new WorkActivityProcess();
|
|
|
|
+ WorkActivityProcess selectProcess = new WorkActivityProcess();
|
|
|
|
+ selectProcess.setProcessInstanceId(workInvoice.getProcessInstanceId());
|
|
|
|
+ List<WorkActivityProcess> workActivityProcesses = workActivityProcessService.findList(selectProcess);
|
|
|
|
+ List<Activity> activities = workActivityMenu.getActivities();
|
|
|
|
+ if (StringUtils.isNotBlank(workActivityMenu.getProcessType()) && !workActivityMenu.getProcessType().equals("newWorkInvoiceBranch")) {
|
|
|
|
+ key = 1;
|
|
|
|
+ for (int i = 0; i < workActivityProcesses.size(); i++) {
|
|
|
|
+ WorkActivityProcess activityProcess = workActivityProcesses.get(i);
|
|
|
|
+ if (taskDefKey.equals(activityProcess.getActivityTask()) && !taskDefKey.equals("modifyApply")) {
|
|
|
|
+ taskCount = activityProcess.getCount()+"";
|
|
|
|
+ workActivityProcess = activityProcess;
|
|
|
|
+ if (!workActivityProcess.getIsApproval().equals("0")) {
|
|
|
|
+ workActivityProcess.setId("");
|
|
|
|
+ }
|
|
|
|
+ exp = "pass";
|
|
|
|
+ if (!"yes".equals(workInvoice.getAct().getFlag())) {
|
|
|
|
+ workInvoice.setInvoiceState("4");
|
|
|
|
+ workActivityProcess.setIsApproval("2");
|
|
|
|
+ String returnBack = "-1";
|
|
|
|
+ for (Activity activity : activities) {
|
|
|
|
+ if (activity.getCount() == activityProcess.getCount()) {
|
|
|
|
+ notifyRole = activity.getName();
|
|
|
|
+ returnBack = activity.getReturnBack();
|
|
|
|
+ break;
|
|
}
|
|
}
|
|
-
|
|
|
|
- } else {
|
|
|
|
- workActivityProcess.setIsApproval("1");
|
|
|
|
}
|
|
}
|
|
- }else if(taskDefKey.equals("modifyApply")){
|
|
|
|
- taskCount = "0";
|
|
|
|
- notifyRole = "调整申请";
|
|
|
|
- exp = "pass";
|
|
|
|
- workActivityProcess.setId("");
|
|
|
|
- workActivityProcess.setCount(0);
|
|
|
|
- if (!"yes".equals(workInvoice.getAct().getFlag())) {
|
|
|
|
- workInvoice.setInvoiceState("3");
|
|
|
|
- workActivityProcess.setIsApproval("2");
|
|
|
|
- } else {
|
|
|
|
- workActivityProcess.setIsApproval("1");
|
|
|
|
|
|
+ if (returnBack.equals("0")) {
|
|
|
|
+ workActivityProcess.setId("");
|
|
}
|
|
}
|
|
- break;
|
|
|
|
|
|
+
|
|
|
|
+ } else {
|
|
|
|
+ workActivityProcess.setIsApproval("1");
|
|
}
|
|
}
|
|
- }
|
|
|
|
- } else {
|
|
|
|
- workActivityMenu.setProcessType("newWorkInvoiceBranch");
|
|
|
|
- for (int i = 0; i < workActivityProcesses.size(); i++) {
|
|
|
|
- WorkActivityProcess activityProcess = workActivityProcesses.get(i);
|
|
|
|
- String count = activityProcess.getCount() + "";
|
|
|
|
- workActivityProcess = activityProcess;
|
|
|
|
- if (!workActivityProcess.getIsApproval().equals("0")) {
|
|
|
|
- workActivityProcess.setId("");
|
|
|
|
|
|
+ }else if(taskDefKey.equals("modifyApply")){
|
|
|
|
+ taskCount = "0";
|
|
|
|
+ notifyRole = "调整申请";
|
|
|
|
+ exp = "pass";
|
|
|
|
+ workActivityProcess.setId("");
|
|
|
|
+ workActivityProcess.setCount(0);
|
|
|
|
+ if (!"yes".equals(workInvoice.getAct().getFlag())) {
|
|
|
|
+ workInvoice.setInvoiceState("3");
|
|
|
|
+ workActivityProcess.setIsApproval("2");
|
|
|
|
+ } else {
|
|
|
|
+ workActivityProcess.setIsApproval("1");
|
|
}
|
|
}
|
|
- // 审核环节
|
|
|
|
- //if ("bmzr".equals(taskDefKey) && count.contains("1")) {
|
|
|
|
- if ("fpgly".equals(taskDefKey) && count.contains("1")) {
|
|
|
|
- taskCount = "1";
|
|
|
|
- exp = "pass";
|
|
|
|
- if ("yes".equals(workInvoice.getAct().getFlag()) &&("0").equals(workInvoice.getExt())) {
|
|
|
|
- workActivityProcessService.insertAuditsByType(auditUsers,workInvoice.getProcessInstanceId(),2,1);
|
|
|
|
- //分公司流程
|
|
|
|
- //notifyRole = "财务主任审批";
|
|
|
|
- notifyRole = "审批通过";
|
|
|
|
- workActivityProcess.setIsApproval("1");
|
|
|
|
|
|
+ break;
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ } else {
|
|
|
|
+ workActivityMenu.setProcessType("newWorkInvoiceBranch");
|
|
|
|
+ for (int i = 0; i < workActivityProcesses.size(); i++) {
|
|
|
|
+ WorkActivityProcess activityProcess = workActivityProcesses.get(i);
|
|
|
|
+ String count = activityProcess.getCount() + "";
|
|
|
|
+ workActivityProcess = activityProcess;
|
|
|
|
+ if (!workActivityProcess.getIsApproval().equals("0")) {
|
|
|
|
+ workActivityProcess.setId("");
|
|
|
|
+ }
|
|
|
|
+ // 审核环节
|
|
|
|
+ //if ("bmzr".equals(taskDefKey) && count.contains("1")) {
|
|
|
|
+ if ("fpgly".equals(taskDefKey) && count.contains("1")) {
|
|
|
|
+ taskCount = "1";
|
|
|
|
+ exp = "pass";
|
|
|
|
+ if ("yes".equals(workInvoice.getAct().getFlag()) &&("0").equals(workInvoice.getExt())) {
|
|
|
|
+ workActivityProcessService.insertAuditsByType(auditUsers,workInvoice.getProcessInstanceId(),2,1);
|
|
|
|
+ //分公司流程
|
|
|
|
+ //notifyRole = "财务主任审批";
|
|
|
|
+ notifyRole = "审批通过";
|
|
|
|
+ workActivityProcess.setIsApproval("1");
|
|
/*enname = "fpgly";
|
|
/*enname = "fpgly";
|
|
vars.put("fpglyList", auditUsers);
|
|
vars.put("fpglyList", auditUsers);
|
|
vars.put("fpglycount",auditUsers.size());*/
|
|
vars.put("fpglycount",auditUsers.size());*/
|
|
- }else {
|
|
|
|
- notifyRole = "调整申请";
|
|
|
|
- workActivityProcess.setIsApproval("2");
|
|
|
|
- }
|
|
|
|
- break;
|
|
|
|
- } else if ("fpgly".equals(taskDefKey) && count.contains("2")) {
|
|
|
|
- taskCount = "2";
|
|
|
|
- exp = "pass";
|
|
|
|
- if ("yes".equals(workInvoice.getAct().getFlag())) {
|
|
|
|
- notifyRole = "审批通过";
|
|
|
|
- workActivityProcess.setIsApproval("1");
|
|
|
|
- } else {
|
|
|
|
- notifyRole = "调整申请";
|
|
|
|
- workActivityProcess.setIsApproval("2");
|
|
|
|
- }
|
|
|
|
- break;
|
|
|
|
- } else if ("modifyApply".equals(taskDefKey)&& count.contains("0")) {
|
|
|
|
- taskCount = "0";
|
|
|
|
- notifyRole = "财务部门审批";
|
|
|
|
- exp = "pass";
|
|
|
|
- workActivityProcess.setCount(0);
|
|
|
|
- enname = "cwygevod";
|
|
|
|
- if (!"yes".equals(workInvoice.getAct().getFlag())) {
|
|
|
|
- workInvoice.setInvoiceState("3");
|
|
|
|
- }
|
|
|
|
- break;
|
|
|
|
- } else if ("apply_end".equals(taskDefKey)) {
|
|
|
|
|
|
+ }else {
|
|
|
|
+ notifyRole = "调整申请";
|
|
|
|
+ workActivityProcess.setIsApproval("2");
|
|
}
|
|
}
|
|
-
|
|
|
|
|
|
+ break;
|
|
|
|
+ } else if ("fpgly".equals(taskDefKey) && count.contains("2")) {
|
|
|
|
+ taskCount = "2";
|
|
|
|
+ exp = "pass";
|
|
|
|
+ if ("yes".equals(workInvoice.getAct().getFlag())) {
|
|
|
|
+ notifyRole = "审批通过";
|
|
|
|
+ workActivityProcess.setIsApproval("1");
|
|
|
|
+ } else {
|
|
|
|
+ notifyRole = "调整申请";
|
|
|
|
+ workActivityProcess.setIsApproval("2");
|
|
|
|
+ }
|
|
|
|
+ break;
|
|
|
|
+ } else if ("modifyApply".equals(taskDefKey)&& count.contains("0")) {
|
|
|
|
+ taskCount = "0";
|
|
|
|
+ notifyRole = "财务部门审批";
|
|
|
|
+ exp = "pass";
|
|
|
|
+ workActivityProcess.setCount(0);
|
|
|
|
+ enname = "cwygevod";
|
|
|
|
+ if (!"yes".equals(workInvoice.getAct().getFlag())) {
|
|
|
|
+ workInvoice.setInvoiceState("3");
|
|
|
|
+ }
|
|
|
|
+ break;
|
|
|
|
+ } else if ("apply_end".equals(taskDefKey)) {
|
|
}
|
|
}
|
|
|
|
+
|
|
}
|
|
}
|
|
- // 设置意见
|
|
|
|
- workInvoice.getAct().setComment(("yes".equals(workInvoice.getAct().getFlag()) ? "[同意] " : "[驳回] ") + workInvoice.getAct().getComment());
|
|
|
|
- workInvoice.preUpdate();
|
|
|
|
|
|
+ }
|
|
|
|
+ // 设置意见
|
|
|
|
+ workInvoice.getAct().setComment(("yes".equals(workInvoice.getAct().getFlag()) ? "[同意] " : "[驳回] ") + workInvoice.getAct().getComment());
|
|
|
|
+ workInvoice.preUpdate();
|
|
|
|
|
|
WorkProjectNotify nowWorkProjectNotify = workProjectNotifyService.processingInfo(workInvoice.getProcessInstanceId());
|
|
WorkProjectNotify nowWorkProjectNotify = workProjectNotifyService.processingInfo(workInvoice.getProcessInstanceId());
|
|
|
|
|
|
- // 提交流程任务
|
|
|
|
- vars.put(exp, "yes".equals(workInvoice.getAct().getFlag()) ? true : false);
|
|
|
|
- vars.put("passs", true);
|
|
|
|
- workActivityProcessService.updateProcess(workActivityProcess,workActivityMenu,key,taskCount,workInvoice.getProcessInstanceId(),taskDefKey,"modifyApply",workInvoice.getAct().getFlag(),comment, activities);
|
|
|
|
- // 提交流程任务
|
|
|
|
- actTaskService.complete(workInvoice.getAct().getTaskId(), workInvoice.getAct().getProcInsId(), workInvoice.getAct().getComment(), vars);
|
|
|
|
- boolean state = actTaskService.isProcessEnd(workInvoice.getAct().getProcInsId());
|
|
|
|
- List<User> users = new ArrayList<>();
|
|
|
|
- List<User> userList = new ArrayList<>();
|
|
|
|
- //ProjectRecords projectRecords = projectRecordsService.getRuralMasters(workInvoice.getProject().getId());
|
|
|
|
|
|
+ // 提交流程任务
|
|
|
|
+ vars.put(exp, "yes".equals(workInvoice.getAct().getFlag()) ? true : false);
|
|
|
|
+ vars.put("passs", true);
|
|
|
|
+ workActivityProcessService.updateProcess(workActivityProcess,workActivityMenu,key,taskCount,workInvoice.getProcessInstanceId(),taskDefKey,"modifyApply",workInvoice.getAct().getFlag(),comment, activities);
|
|
|
|
+ // 提交流程任务
|
|
|
|
+ actTaskService.complete(workInvoice.getAct().getTaskId(), workInvoice.getAct().getProcInsId(), workInvoice.getAct().getComment(), vars);
|
|
|
|
+ boolean state = actTaskService.isProcessEnd(workInvoice.getAct().getProcInsId());
|
|
|
|
+ List<User> users = new ArrayList<>();
|
|
|
|
+ List<User> userList = new ArrayList<>();
|
|
|
|
+ //ProjectRecords projectRecords = projectRecordsService.getRuralMasters(workInvoice.getProject().getId());
|
|
if (!state) {
|
|
if (!state) {
|
|
- users.add(workInvoice.getCreateBy());
|
|
|
|
- if ("yes".equals(workInvoice.getAct().getFlag())) {
|
|
|
|
- title = "项目【"+ projectNameStr +"】发票申请通过";
|
|
|
|
- str = "项目【"+ projectNameStr +"】发票申请通过,发票申请编号:"+workInvoice.getNumber();
|
|
|
|
- workInvoice.setInvoiceState("5");
|
|
|
|
- WorkProjectNotify notify = new WorkProjectNotify();
|
|
|
|
- notify.setNotifyId(workInvoice.getId());
|
|
|
|
- userList = workProjectNotifyService.readByNotifyId(notify);
|
|
|
|
|
|
+ users.add(workInvoice.getCreateBy());
|
|
|
|
+ if ("yes".equals(workInvoice.getAct().getFlag())) {
|
|
|
|
+ title = "项目【"+ projectNameStr +"】发票申请通过";
|
|
|
|
+ str = "项目【"+ projectNameStr +"】发票申请通过,发票申请编号:"+workInvoice.getNumber();
|
|
|
|
+ workInvoice.setInvoiceState("5");
|
|
|
|
+ WorkProjectNotify notify = new WorkProjectNotify();
|
|
|
|
+ notify.setNotifyId(workInvoice.getId());
|
|
|
|
+ userList = workProjectNotifyService.readByNotifyId(notify);
|
|
|
|
+ workProjectNotifyService
|
|
|
|
+ .save(UtilNotify
|
|
|
|
+ .saveNewNotify(workInvoice.getId(),
|
|
|
|
+ workInvoice.getCreateBy(),
|
|
|
|
+ workInvoice.getCompanyId(),
|
|
|
|
+ title,
|
|
|
|
+ str,
|
|
|
|
+ "21",
|
|
|
|
+ "0",
|
|
|
|
+ "待通知",
|
|
|
|
+ notifyRole,
|
|
|
|
+ workInvoice.getProcessInstanceId(), new Date()));
|
|
|
|
+
|
|
|
|
+ } else {
|
|
|
|
+ WorkProjectNotify notify = new WorkProjectNotify();
|
|
|
|
+ notify.setNotifyId(workInvoice.getId());
|
|
|
|
+ userList = workProjectNotifyService.readByNotifyId(notify);
|
|
|
|
+ if (StringUtils.isNotBlank(workInvoice.getInvoiceState()) && !workInvoice.getInvoiceState().equals("3")){
|
|
|
|
+ workInvoice.setInvoiceState("4");
|
|
workProjectNotifyService
|
|
workProjectNotifyService
|
|
.save(UtilNotify
|
|
.save(UtilNotify
|
|
.saveNewNotify(workInvoice.getId(),
|
|
.saveNewNotify(workInvoice.getId(),
|
|
@@ -1393,80 +1392,118 @@ public class WorkInvoiceAllService extends CrudService<WorkInvoiceDao, WorkInvoi
|
|
"待通知",
|
|
"待通知",
|
|
notifyRole,
|
|
notifyRole,
|
|
workInvoice.getProcessInstanceId(), new Date()));
|
|
workInvoice.getProcessInstanceId(), new Date()));
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ workActivityProcessService.deleteProcessIdAuditUsers(workInvoice.getProcessInstanceId());
|
|
|
|
+ } else {
|
|
|
|
+ if (StringUtils.isNotBlank(workActivityMenu.getProcessType()) && !workActivityMenu.getProcessType().equals("newWorkInvoiceBranch")) {
|
|
|
|
+ WorkProjectNotify notify = new WorkProjectNotify();
|
|
|
|
+ notify.setNotifyId(workInvoice.getId());
|
|
|
|
+ userList = workProjectNotifyService.readByNotifyId(notify);
|
|
|
|
+ WorkProjectNotify workProjectNotify = UtilNotify
|
|
|
|
+ .saveNewNotify(workInvoice.getId(),
|
|
|
|
+ new User(),
|
|
|
|
+ workInvoice.getCompanyId(),
|
|
|
|
+ title,
|
|
|
|
+ str,
|
|
|
|
+ "21",
|
|
|
|
+ "0",
|
|
|
|
+ "待审批",
|
|
|
|
+ notifyRole,
|
|
|
|
+ workInvoice.getProcessInstanceId(), new Date());
|
|
|
|
+ List<WorkProjectNotify> workProjectNotifys = activityService.getByFlagAndTaskDefKeyList(
|
|
|
|
+ activities,
|
|
|
|
+ workProjectNotify,
|
|
|
|
+ taskDefKey,
|
|
|
|
+ workInvoice.getAct().getFlag(),
|
|
|
|
+ taskCount,
|
|
|
|
+ workInvoice.getCreateBy(),
|
|
|
|
+ workInvoice.getOfficeId(),
|
|
|
|
+ "5");
|
|
|
|
+ for (WorkProjectNotify workProjectNotify1:workProjectNotifys){
|
|
|
|
+ users.add(workProjectNotify1.getUser());
|
|
|
|
+ workProjectNotify1.setId("");
|
|
|
|
+ workProjectNotify1.setIsNewRecord(false);
|
|
|
|
+ workProjectNotifyService
|
|
|
|
+ .save(workProjectNotify1);
|
|
|
|
+ if (!"modifyApply".equals(taskDefKey)){
|
|
|
|
+ Map<String,Object> extras = new HashMap<>();
|
|
|
|
+ if ("fpgly".equals(taskDefKey) ){
|
|
|
|
+ extras.put("type","7001");
|
|
|
|
+ }else {
|
|
|
|
+ extras.put("type","7002");
|
|
|
|
+ }
|
|
|
|
+ extras.put("id",workProjectNotify.getId());
|
|
|
|
+ extras.put("procDefKey","21");
|
|
|
|
+ UserUtils.pushInfoToApp(title,str,extras,workProjectNotify1.getUser().getId());
|
|
|
|
|
|
- } else {
|
|
|
|
- WorkProjectNotify notify = new WorkProjectNotify();
|
|
|
|
- notify.setNotifyId(workInvoice.getId());
|
|
|
|
- userList = workProjectNotifyService.readByNotifyId(notify);
|
|
|
|
- if (StringUtils.isNotBlank(workInvoice.getInvoiceState()) && !workInvoice.getInvoiceState().equals("3")){
|
|
|
|
- workInvoice.setInvoiceState("4");
|
|
|
|
- workProjectNotifyService
|
|
|
|
- .save(UtilNotify
|
|
|
|
- .saveNewNotify(workInvoice.getId(),
|
|
|
|
- workInvoice.getCreateBy(),
|
|
|
|
- workInvoice.getCompanyId(),
|
|
|
|
- title,
|
|
|
|
- str,
|
|
|
|
- "21",
|
|
|
|
- "0",
|
|
|
|
- "待通知",
|
|
|
|
- notifyRole,
|
|
|
|
- workInvoice.getProcessInstanceId(), new Date()));
|
|
|
|
}
|
|
}
|
|
}
|
|
}
|
|
- workActivityProcessService.deleteProcessIdAuditUsers(workInvoice.getProcessInstanceId());
|
|
|
|
|
|
+
|
|
} else {
|
|
} else {
|
|
- if (StringUtils.isNotBlank(workActivityMenu.getProcessType()) && !workActivityMenu.getProcessType().equals("newWorkInvoiceBranch")) {
|
|
|
|
|
|
+ if (!"yes".equals(workInvoice.getAct().getFlag())) {//驳回待办提醒
|
|
|
|
+ title = "项目【"+ projectNameStr +"】发票申请被驳回";
|
|
|
|
+ str = "项目【"+ projectNameStr +"】发票申请被驳回,请选择重新申请或作废";
|
|
WorkProjectNotify notify = new WorkProjectNotify();
|
|
WorkProjectNotify notify = new WorkProjectNotify();
|
|
notify.setNotifyId(workInvoice.getId());
|
|
notify.setNotifyId(workInvoice.getId());
|
|
userList = workProjectNotifyService.readByNotifyId(notify);
|
|
userList = workProjectNotifyService.readByNotifyId(notify);
|
|
- WorkProjectNotify workProjectNotify = UtilNotify
|
|
|
|
- .saveNewNotify(workInvoice.getId(),
|
|
|
|
- new User(),
|
|
|
|
- workInvoice.getCompanyId(),
|
|
|
|
- title,
|
|
|
|
- str,
|
|
|
|
- "21",
|
|
|
|
- "0",
|
|
|
|
- "待审批",
|
|
|
|
- notifyRole,
|
|
|
|
- workInvoice.getProcessInstanceId(), new Date());
|
|
|
|
- List<WorkProjectNotify> workProjectNotifys = activityService.getByFlagAndTaskDefKeyList(
|
|
|
|
- activities,
|
|
|
|
- workProjectNotify,
|
|
|
|
- taskDefKey,
|
|
|
|
- workInvoice.getAct().getFlag(),
|
|
|
|
- taskCount,
|
|
|
|
- workInvoice.getCreateBy(),
|
|
|
|
- workInvoice.getOfficeId(),
|
|
|
|
- "5");
|
|
|
|
- for (WorkProjectNotify workProjectNotify1:workProjectNotifys){
|
|
|
|
- users.add(workProjectNotify1.getUser());
|
|
|
|
- workProjectNotify1.setId("");
|
|
|
|
- workProjectNotify1.setIsNewRecord(false);
|
|
|
|
- workProjectNotifyService
|
|
|
|
- .save(workProjectNotify1);
|
|
|
|
- if (!"modifyApply".equals(taskDefKey)){
|
|
|
|
- Map<String,Object> extras = new HashMap<>();
|
|
|
|
- if ("fpgly".equals(taskDefKey) ){
|
|
|
|
- extras.put("type","7001");
|
|
|
|
- }else {
|
|
|
|
- extras.put("type","7002");
|
|
|
|
- }
|
|
|
|
- extras.put("id",workProjectNotify.getId());
|
|
|
|
- extras.put("procDefKey","21");
|
|
|
|
- UserUtils.pushInfoToApp(title,str,extras,workProjectNotify1.getUser().getId());
|
|
|
|
|
|
+ workProjectNotifyService
|
|
|
|
+ .save(UtilNotify
|
|
|
|
+ .saveNewNotify(workInvoice.getId(),
|
|
|
|
+ workInvoice.getCreateBy(),
|
|
|
|
+ workInvoice.getCompanyId(),
|
|
|
|
+ title,
|
|
|
|
+ str,
|
|
|
|
+ "21",
|
|
|
|
+ "0",
|
|
|
|
+ "重新申请",
|
|
|
|
+ notifyRole,
|
|
|
|
+ workInvoice.getProcessInstanceId(), new Date()));
|
|
|
|
+ users.add( workInvoice.getCreateBy());
|
|
|
|
+ } else {
|
|
|
|
+ if (StringUtils.isNotBlank(enname)) {//驳回重新申请待办
|
|
|
|
+ title = "项目【"+ projectNameStr +"】发票重新申请,待审批";
|
|
|
|
+ str = "项目【"+ projectNameStr +"】发票重新申请,待审批,发票申请编号:"+workInvoice.getNumber();;
|
|
|
|
+ WorkProjectNotify notify = new WorkProjectNotify();
|
|
|
|
+ notify.setNotifyId(workInvoice.getId());
|
|
|
|
+ userList = workProjectNotifyService.readByNotifyId(notify);
|
|
|
|
+ WorkProjectNotify workProjectNotify = UtilNotify
|
|
|
|
+ .saveNewNotify(workInvoice.getId(),
|
|
|
|
+ new User(),
|
|
|
|
+ workInvoice.getCompanyId(),
|
|
|
|
+ title,
|
|
|
|
+ str,
|
|
|
|
+ "21",
|
|
|
|
+ "0",
|
|
|
|
+ "待审批",
|
|
|
|
+ notifyRole,
|
|
|
|
+ workInvoice.getProcessInstanceId(), new Date());
|
|
|
|
+ for (User user1:auditUsers){
|
|
|
|
+ users.add(user1);
|
|
|
|
+ workProjectNotify.setUser(user1);
|
|
|
|
+ workProjectNotify.setId("");
|
|
|
|
+ workProjectNotify.setIsNewRecord(false);
|
|
|
|
+ workProjectNotifyService
|
|
|
|
+ .save(workProjectNotify);
|
|
|
|
+ if (!"modifyApply".equals(taskDefKey)){
|
|
|
|
+ Map<String,Object> extras = new HashMap<>();
|
|
|
|
+ if ("fpgly".equals(taskDefKey)){
|
|
|
|
+ extras.put("type","7001");
|
|
|
|
+ }else {
|
|
|
|
+ extras.put("type","7002");
|
|
|
|
+ }
|
|
|
|
+ extras.put("id",workProjectNotify.getId());
|
|
|
|
+ extras.put("procDefKey","21");
|
|
|
|
+ UserUtils.pushInfoToApp(title,str,extras,user1.getId());
|
|
|
|
|
|
|
|
+ }
|
|
}
|
|
}
|
|
- }
|
|
|
|
-
|
|
|
|
- } else {
|
|
|
|
- if (!"yes".equals(workInvoice.getAct().getFlag())) {//驳回待办提醒
|
|
|
|
- title = "项目【"+ projectNameStr +"】发票申请被驳回";
|
|
|
|
- str = "项目【"+ projectNameStr +"】发票申请被驳回,请选择重新申请或作废";
|
|
|
|
|
|
+ }else {
|
|
WorkProjectNotify notify = new WorkProjectNotify();
|
|
WorkProjectNotify notify = new WorkProjectNotify();
|
|
notify.setNotifyId(workInvoice.getId());
|
|
notify.setNotifyId(workInvoice.getId());
|
|
userList = workProjectNotifyService.readByNotifyId(notify);
|
|
userList = workProjectNotifyService.readByNotifyId(notify);
|
|
|
|
+ users.addAll(userList);
|
|
|
|
+ users.add(workInvoice.getCreateBy());
|
|
workProjectNotifyService
|
|
workProjectNotifyService
|
|
.save(UtilNotify
|
|
.save(UtilNotify
|
|
.saveNewNotify(workInvoice.getId(),
|
|
.saveNewNotify(workInvoice.getId(),
|
|
@@ -1479,83 +1516,26 @@ public class WorkInvoiceAllService extends CrudService<WorkInvoiceDao, WorkInvoi
|
|
"重新申请",
|
|
"重新申请",
|
|
notifyRole,
|
|
notifyRole,
|
|
workInvoice.getProcessInstanceId(), new Date()));
|
|
workInvoice.getProcessInstanceId(), new Date()));
|
|
- users.add( workInvoice.getCreateBy());
|
|
|
|
- } else {
|
|
|
|
- if (StringUtils.isNotBlank(enname)) {//驳回重新申请待办
|
|
|
|
- title = "项目【"+ projectNameStr +"】发票重新申请,待审批";
|
|
|
|
- str = "项目【"+ projectNameStr +"】发票重新申请,待审批,发票申请编号:"+workInvoice.getNumber();;
|
|
|
|
- WorkProjectNotify notify = new WorkProjectNotify();
|
|
|
|
- notify.setNotifyId(workInvoice.getId());
|
|
|
|
- userList = workProjectNotifyService.readByNotifyId(notify);
|
|
|
|
- WorkProjectNotify workProjectNotify = UtilNotify
|
|
|
|
- .saveNewNotify(workInvoice.getId(),
|
|
|
|
- new User(),
|
|
|
|
- workInvoice.getCompanyId(),
|
|
|
|
- title,
|
|
|
|
- str,
|
|
|
|
- "21",
|
|
|
|
- "0",
|
|
|
|
- "待审批",
|
|
|
|
- notifyRole,
|
|
|
|
- workInvoice.getProcessInstanceId(), new Date());
|
|
|
|
- for (User user1:auditUsers){
|
|
|
|
- users.add(user1);
|
|
|
|
- workProjectNotify.setUser(user1);
|
|
|
|
- workProjectNotify.setId("");
|
|
|
|
- workProjectNotify.setIsNewRecord(false);
|
|
|
|
- workProjectNotifyService
|
|
|
|
- .save(workProjectNotify);
|
|
|
|
- if (!"modifyApply".equals(taskDefKey)){
|
|
|
|
- Map<String,Object> extras = new HashMap<>();
|
|
|
|
- if ("fpgly".equals(taskDefKey)){
|
|
|
|
- extras.put("type","7001");
|
|
|
|
- }else {
|
|
|
|
- extras.put("type","7002");
|
|
|
|
- }
|
|
|
|
- extras.put("id",workProjectNotify.getId());
|
|
|
|
- extras.put("procDefKey","21");
|
|
|
|
- UserUtils.pushInfoToApp(title,str,extras,user1.getId());
|
|
|
|
-
|
|
|
|
- }
|
|
|
|
- }
|
|
|
|
- }else {
|
|
|
|
- WorkProjectNotify notify = new WorkProjectNotify();
|
|
|
|
- notify.setNotifyId(workInvoice.getId());
|
|
|
|
- userList = workProjectNotifyService.readByNotifyId(notify);
|
|
|
|
- users.addAll(userList);
|
|
|
|
- users.add(workInvoice.getCreateBy());
|
|
|
|
- workProjectNotifyService
|
|
|
|
- .save(UtilNotify
|
|
|
|
- .saveNewNotify(workInvoice.getId(),
|
|
|
|
- workInvoice.getCreateBy(),
|
|
|
|
- workInvoice.getCompanyId(),
|
|
|
|
- title,
|
|
|
|
- str,
|
|
|
|
- "21",
|
|
|
|
- "0",
|
|
|
|
- "重新申请",
|
|
|
|
- notifyRole,
|
|
|
|
- workInvoice.getProcessInstanceId(), new Date()));
|
|
|
|
- }
|
|
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
+ }
|
|
//对数据进行处理
|
|
//对数据进行处理
|
|
if(null != nowWorkProjectNotify){
|
|
if(null != nowWorkProjectNotify){
|
|
workProjectNotifyService.updateWpaData(nowWorkProjectNotify);
|
|
workProjectNotifyService.updateWpaData(nowWorkProjectNotify);
|
|
}
|
|
}
|
|
- if (users!=null && users.size()!=0) {
|
|
|
|
- for (User u : users) {
|
|
|
|
- UserUtils.pushIm(u.getId(),str);
|
|
|
|
- }
|
|
|
|
|
|
+ if (users!=null && users.size()!=0) {
|
|
|
|
+ for (User u : users) {
|
|
|
|
+ UserUtils.pushIm(u.getId(),str);
|
|
}
|
|
}
|
|
- if (userList!=null && userList.size()!=0) {
|
|
|
|
- for (User u : userList) {
|
|
|
|
- UserUtils.pushMeIm(u.getId());
|
|
|
|
- }
|
|
|
|
|
|
+ }
|
|
|
|
+ if (userList!=null && userList.size()!=0) {
|
|
|
|
+ for (User u : userList) {
|
|
|
|
+ UserUtils.pushMeIm(u.getId());
|
|
}
|
|
}
|
|
- workInvoiceDao.update(workInvoice);
|
|
|
|
- return "保存审核意见成功!";
|
|
|
|
|
|
+ }
|
|
|
|
+ workInvoiceDao.update(workInvoice);
|
|
|
|
+ return "保存审核意见成功!";
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
@@ -1707,14 +1687,14 @@ public class WorkInvoiceAllService extends CrudService<WorkInvoiceDao, WorkInvoi
|
|
*/
|
|
*/
|
|
@Transactional(readOnly = false)
|
|
@Transactional(readOnly = false)
|
|
public void conditionCancelInvalidate(WorkInvoice workInvoice) {
|
|
public void conditionCancelInvalidate(WorkInvoice workInvoice) {
|
|
- String invalidateProcessInstanceId = workInvoice.getProcessInstanceId();
|
|
|
|
|
|
+ String invalidateProcessInstanceId = workInvoice.getCancellationProcessInstanceId();
|
|
try {
|
|
try {
|
|
//将流程图中尚未走到的task的流程追踪信息逻辑删除,添加一条"撤销"流程追踪信息
|
|
//将流程图中尚未走到的task的流程追踪信息逻辑删除,添加一条"撤销"流程追踪信息
|
|
WorkActivityProcess process = new WorkActivityProcess();
|
|
WorkActivityProcess process = new WorkActivityProcess();
|
|
- process.setProcessInstanceId(workInvoice.getProcessInstanceId());
|
|
|
|
|
|
+ process.setProcessInstanceId(workInvoice.getCancellationProcessInstanceId());
|
|
process.setIsApproval("0");
|
|
process.setIsApproval("0");
|
|
WorkActivityProcess workActivityProcess = new WorkActivityProcess();
|
|
WorkActivityProcess workActivityProcess = new WorkActivityProcess();
|
|
- workActivityProcess.setProcessInstanceId(workInvoice.getProcessInstanceId());
|
|
|
|
|
|
+ workActivityProcess.setProcessInstanceId(workInvoice.getCancellationProcessInstanceId());
|
|
List<WorkActivityProcess> processList = workActivityProcessService.findList(workActivityProcess);
|
|
List<WorkActivityProcess> processList = workActivityProcessService.findList(workActivityProcess);
|
|
WorkProjectNotify notify = new WorkProjectNotify();
|
|
WorkProjectNotify notify = new WorkProjectNotify();
|
|
notify.setNotifyId(workInvoice.getId());
|
|
notify.setNotifyId(workInvoice.getId());
|
|
@@ -1741,7 +1721,7 @@ public class WorkInvoiceAllService extends CrudService<WorkInvoiceDao, WorkInvoi
|
|
}
|
|
}
|
|
//结束该流程,设为"撤销"状态
|
|
//结束该流程,设为"撤销"状态
|
|
actTaskService.endProcessInstance(invalidateProcessInstanceId, "发票作废-撤销");
|
|
actTaskService.endProcessInstance(invalidateProcessInstanceId, "发票作废-撤销");
|
|
- workInvoice.setInvoiceState("11");
|
|
|
|
|
|
+ workInvoice.setCancellationState("11");
|
|
workInvoice.preUpdate();
|
|
workInvoice.preUpdate();
|
|
workInvoiceDao.update(workInvoice);
|
|
workInvoiceDao.update(workInvoice);
|
|
} catch (ActivitiObjectNotFoundException e) {
|
|
} catch (ActivitiObjectNotFoundException e) {
|