|
@@ -189,10 +189,49 @@ public class WorkReimbursementNewController extends BaseController {
|
|
workReimbursement.setCompanyId(UserUtils.getSelectCompany().getId());
|
|
workReimbursement.setCompanyId(UserUtils.getSelectCompany().getId());
|
|
workReimbursement.setCreateOffice(UserUtils.getSelectOffice().getId());
|
|
workReimbursement.setCreateOffice(UserUtils.getSelectOffice().getId());
|
|
String str = "报销类型未选择";
|
|
String str = "报销类型未选择";
|
|
- if("0".equals(workReimbursement.getReimbursementType())){
|
|
|
|
- str = workReimbursementNewService.save(workReimbursement, variables,processInstanceId);
|
|
|
|
- }else if("1".equals(workReimbursement.getReimbursementType())){
|
|
|
|
- str = workReimbursementNewService.electronicInvoiceReimbursementSave(workReimbursement, variables,processInstanceId);
|
|
|
|
|
|
+
|
|
|
|
+ LocalDate reimburseLocalDate = LocalDate.of(2024, 2, 21);
|
|
|
|
+
|
|
|
|
+ Date reimburseAuditDate = Date.from(reimburseLocalDate.atStartOfDay().atZone(ZoneId.systemDefault()).toInstant());
|
|
|
|
+
|
|
|
|
+ Date nowDate = new Date();
|
|
|
|
+
|
|
|
|
+ // 调用compareTo()方法进行比较
|
|
|
|
+ int reimburseResult = -1;
|
|
|
|
+ if(StringUtils.isNotBlank(workReimbursement.getId())){
|
|
|
|
+ reimburseResult = workReimbursement.getCreateDate().compareTo(reimburseAuditDate);
|
|
|
|
+ }else{
|
|
|
|
+ reimburseResult = nowDate.compareTo(reimburseAuditDate);
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ LocalDate localDate = LocalDate.of(2024, 1, 20);
|
|
|
|
+
|
|
|
|
+ Date auditDate = Date.from(localDate.atStartOfDay().atZone(ZoneId.systemDefault()).toInstant());
|
|
|
|
+ // 调用compareTo()方法进行比较
|
|
|
|
+ int result = nowDate.compareTo(auditDate);
|
|
|
|
+ //判定当前数据已经在数据库存在并且发起时间是在特定日期之后,并且部门是工程四部
|
|
|
|
+ User loginUser = UserUtils.getUser();
|
|
|
|
+ //如果当前登录人为工程四部,且当前时间在2024-01-20之前
|
|
|
|
+ if(StringUtils.isNotBlank(workReimbursement.getId()) && result > 0 && null != loginUser.getOffice() && "10de4a17d3484ba58135364bd53b88de".equals(loginUser.getOffice().getId())){
|
|
|
|
+ str = workReimbursementNewService.specificInvoiceReimbursementSave(workReimbursement, variables,processInstanceId);
|
|
|
|
+ }else{
|
|
|
|
+ if(result > 0 && null != loginUser.getOffice() && "10de4a17d3484ba58135364bd53b88de".equals(loginUser.getOffice().getId())){
|
|
|
|
+ str = workReimbursementNewService.specificInvoiceReimbursementSave(workReimbursement, variables,processInstanceId);
|
|
|
|
+ } else {
|
|
|
|
+ if("0".equals(workReimbursement.getReimbursementType())){
|
|
|
|
+ if(reimburseResult>0){
|
|
|
|
+ str = workReimbursementNewService.saveReimburseThree(workReimbursement, variables,processInstanceId);
|
|
|
|
+ }else{
|
|
|
|
+ str = workReimbursementNewService.save(workReimbursement, variables,processInstanceId);
|
|
|
|
+ }
|
|
|
|
+ }else if("1".equals(workReimbursement.getReimbursementType())){
|
|
|
|
+ if(reimburseResult>0){
|
|
|
|
+ str = workReimbursementNewService.electronicInvoiceReimbursementThreeSave(workReimbursement, variables,processInstanceId);
|
|
|
|
+ }else{
|
|
|
|
+ str = workReimbursementNewService.electronicInvoiceReimbursementSave(workReimbursement, variables,processInstanceId);
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ }
|
|
}
|
|
}
|
|
if (StringUtils.isNotBlank(str)){
|
|
if (StringUtils.isNotBlank(str)){
|
|
addMessage(redirectAttributes, "报销申请提交失败:"+str);
|
|
addMessage(redirectAttributes, "报销申请提交失败:"+str);
|
|
@@ -221,6 +260,12 @@ public class WorkReimbursementNewController extends BaseController {
|
|
String taskDefKey = workReimbursement.getAct().getTaskDefKey();
|
|
String taskDefKey = workReimbursement.getAct().getTaskDefKey();
|
|
List<User> users = null;
|
|
List<User> users = null;
|
|
|
|
|
|
|
|
+ LocalDate reimburseLocalDate = LocalDate.of(2024, 2, 21);
|
|
|
|
+
|
|
|
|
+ Date reimburseAuditDate = Date.from(reimburseLocalDate.atStartOfDay().atZone(ZoneId.systemDefault()).toInstant());
|
|
|
|
+
|
|
|
|
+ // 调用compareTo()方法进行比较
|
|
|
|
+ int reimburseResult = workReimbursement.getCreateDate().compareTo(reimburseAuditDate);
|
|
|
|
|
|
LocalDate localDate = LocalDate.of(2024, 1, 20);
|
|
LocalDate localDate = LocalDate.of(2024, 1, 20);
|
|
|
|
|
|
@@ -248,7 +293,11 @@ public class WorkReimbursementNewController extends BaseController {
|
|
if (users==null )
|
|
if (users==null )
|
|
users = UserUtils.getByProssType(workReimbursement.getProcessInstanceId(),1);
|
|
users = UserUtils.getByProssType(workReimbursement.getProcessInstanceId(),1);
|
|
if("0".equals(workReimbursement.getReimbursementType())){
|
|
if("0".equals(workReimbursement.getReimbursementType())){
|
|
- users = UserUtils.getByRoleActivityEnname("zjbfzribvf",3,workReimbursement.getOfficeId(),"8",workReimbursement.getCreateBy());
|
|
|
|
|
|
+ if(reimburseResult>0){
|
|
|
|
+ users = UserUtils.getByRoleActivityEnname("dzfpbxshybxsd",3,workReimbursement.getOfficeId(),"8",workReimbursement.getCreateBy());
|
|
|
|
+ }else{
|
|
|
|
+ users = UserUtils.getByRoleActivityEnname("zjbfzribvf",3,workReimbursement.getOfficeId(),"8",workReimbursement.getCreateBy());
|
|
|
|
+ }
|
|
}else if ("1".equals(workReimbursement.getReimbursementType())){
|
|
}else if ("1".equals(workReimbursement.getReimbursementType())){
|
|
users = UserUtils.getByRoleActivityEnname("dzfpbxshybxsd",3,workReimbursement.getOfficeId(),"8",workReimbursement.getCreateBy());
|
|
users = UserUtils.getByRoleActivityEnname("dzfpbxshybxsd",3,workReimbursement.getOfficeId(),"8",workReimbursement.getCreateBy());
|
|
}
|
|
}
|
|
@@ -259,6 +308,9 @@ public class WorkReimbursementNewController extends BaseController {
|
|
//users = UserUtils.getByRoleActivityEnname("zjl",3,workReimbursement.getOfficeId(),"8",workReimbursement.getCreateBy());
|
|
//users = UserUtils.getByRoleActivityEnname("zjl",3,workReimbursement.getOfficeId(),"8",workReimbursement.getCreateBy());
|
|
}else if ("fpglys".equals(taskDefKey) || "dzfpbxshybxsd".equals(taskDefKey)){
|
|
}else if ("fpglys".equals(taskDefKey) || "dzfpbxshybxsd".equals(taskDefKey)){
|
|
users = UserUtils.getByProssType(workReimbursement.getProcessInstanceId(),3);
|
|
users = UserUtils.getByProssType(workReimbursement.getProcessInstanceId(),3);
|
|
|
|
+ if(reimburseResult>0){
|
|
|
|
+ users = UserUtils.getByRoleActivityEnname("zjbfzribvf",3,workReimbursement.getOfficeId(),"8",workReimbursement.getCreateBy());
|
|
|
|
+ }
|
|
if (users==null )
|
|
if (users==null )
|
|
users = UserUtils.getByProssType(workReimbursement.getProcessInstanceId(),1);
|
|
users = UserUtils.getByProssType(workReimbursement.getProcessInstanceId(),1);
|
|
}/*else if ("zjl".equals(taskDefKey)){
|
|
}/*else if ("zjl".equals(taskDefKey)){
|
|
@@ -289,9 +341,17 @@ public class WorkReimbursementNewController extends BaseController {
|
|
str = workReimbursementNewService.auditSpecificSave(workReimbursement,users);
|
|
str = workReimbursementNewService.auditSpecificSave(workReimbursement,users);
|
|
} else {
|
|
} else {
|
|
if("0".equals(workReimbursement.getReimbursementType())){
|
|
if("0".equals(workReimbursement.getReimbursementType())){
|
|
- str = workReimbursementNewService.auditSave(workReimbursement,users);
|
|
|
|
|
|
+ if(reimburseResult>0){
|
|
|
|
+ str = workReimbursementNewService.auditSaveThree(workReimbursement,users);
|
|
|
|
+ }else{
|
|
|
|
+ str = workReimbursementNewService.auditSave(workReimbursement,users);
|
|
|
|
+ }
|
|
}else if ("1".equals(workReimbursement.getReimbursementType())){
|
|
}else if ("1".equals(workReimbursement.getReimbursementType())){
|
|
- str = workReimbursementNewService.electronicInvoiceReimbursementAuditSave(workReimbursement,users);
|
|
|
|
|
|
+ if(reimburseResult>0){
|
|
|
|
+ str = workReimbursementNewService.electronicInvoiceReimbursementThreeAuditSave(workReimbursement,users);
|
|
|
|
+ }else{
|
|
|
|
+ str = workReimbursementNewService.electronicInvoiceReimbursementAuditSave(workReimbursement,users);
|
|
|
|
+ }
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|