|
@@ -47,6 +47,7 @@ import com.jeeplus.modules.workreimbursement.service.WorkReimbursementAllService
|
|
|
import com.jeeplus.modules.workreimbursement.service.WorkReimbursementNewService;
|
|
|
import com.jeeplus.modules.workreimbursement.service.WorkReimbursementService;
|
|
|
import com.jeeplus.modules.workreimbursement.service.WorkReimbursementTypeService;
|
|
|
+import com.jeeplus.modules.workreimbursement.utils.DateTimeUtil;
|
|
|
import com.jeeplus.modules.workreimbursement.utils.VarStr;
|
|
|
import com.jeeplus.modules.workreimbursementback.entity.WorkReimbursementBack;
|
|
|
import com.jeeplus.modules.workreimbursementback.service.WorkReimbursementBackService;
|
|
@@ -394,9 +395,19 @@ public class WorkReimbursementAllController extends BaseController {
|
|
|
workReimbursement.setReimbursementType("1");
|
|
|
}
|
|
|
|
|
|
-
|
|
|
-
|
|
|
model.addAttribute("workReimbursement", workReimbursement);
|
|
|
+
|
|
|
+ if(StringUtils.isNotBlank(workReimbursement.getId())){
|
|
|
+ // 比较当前日期是否在2025年10月1日之后
|
|
|
+ if (DateTimeUtil.isAfterOctoberFirstOnDate(workReimbursement.getCreateDate())) {
|
|
|
+ return "modules/workreimbursement/treeForm/all/"+view;
|
|
|
+ }
|
|
|
+ }else{
|
|
|
+ // 比较当前日期是否在2025年10月1日之后
|
|
|
+ if (DateTimeUtil.isAfterOctoberFirst()) {
|
|
|
+ return "modules/workreimbursement/treeForm/all/"+view;
|
|
|
+ }
|
|
|
+ }
|
|
|
return "modules/workreimbursement/all/"+view;
|
|
|
}
|
|
|
|
|
@@ -538,7 +549,6 @@ public class WorkReimbursementAllController extends BaseController {
|
|
|
public String saveAudit(WorkReimbursement workReimbursement, Model model,
|
|
|
RedirectAttributes redirectAttributes) {
|
|
|
try {
|
|
|
- // 对不同环节的业务逻辑进行操作
|
|
|
String taskDefKey = workReimbursement.getAct().getTaskDefKey();
|
|
|
List<User> users = null;
|
|
|
|
|
@@ -553,50 +563,103 @@ public class WorkReimbursementAllController extends BaseController {
|
|
|
|
|
|
Date auditDate = Date.from(localDate.atStartOfDay().atZone(ZoneId.systemDefault()).toInstant());
|
|
|
|
|
|
+
|
|
|
Date nowDate = new Date();
|
|
|
// 调用compareTo()方法进行比较
|
|
|
int result = nowDate.compareTo(auditDate);
|
|
|
//判定当前数据已经在数据库存在并且发起时间是在特定日期之后,并且部门是工程四部
|
|
|
//如果当前登录人为工程四部,且当前时间在2024-01-20之前
|
|
|
|
|
|
- if ("bmzr".equals(taskDefKey)){
|
|
|
- users = UserUtils.getByProssType(workReimbursement.getProcessInstanceId(),2);
|
|
|
- if (users==null )
|
|
|
- //users = UserUtils.getByRoleActivityEnname("fgld",2,workReimbursement.getOfficeId(),"8",workReimbursement.getCreateBy());
|
|
|
- users = UserUtils.getByRoleActivityEnname("cwzg", 3, workReimbursement.getOfficeId(), "8", workReimbursement.getCreateBy());
|
|
|
|
|
|
|
|
|
- if(StringUtils.isNotBlank(workReimbursement.getId()) && result > 0 && "10de4a17d3484ba58135364bd53b88de".equals(workReimbursement.getOfficeId())){
|
|
|
- users = UserUtils.getByRoleActivityEnname("dzfpbxshybxsd",3,workReimbursement.getOfficeId(),"8",workReimbursement.getCreateBy());
|
|
|
+ LocalDate reimbursementThreeLocalDate = LocalDate.of(2025, 5, 17);
|
|
|
|
|
|
- }
|
|
|
- }else if ("cw".equals(taskDefKey)){
|
|
|
- users = UserUtils.getByProssType(workReimbursement.getProcessInstanceId(),3);
|
|
|
- if (users==null )
|
|
|
- users = UserUtils.getByProssType(workReimbursement.getProcessInstanceId(),1);
|
|
|
- if("0".equals(workReimbursement.getReimbursementType())){
|
|
|
- if(reimburseResult>0){
|
|
|
+ Date reimbursementThreeAuditDate = Date.from(reimbursementThreeLocalDate.atStartOfDay().atZone(ZoneId.systemDefault()).toInstant());
|
|
|
+
|
|
|
+ // 调用compareTo()方法进行比较
|
|
|
+ int reimbursementThreeResult = nowDate.compareTo(reimbursementThreeAuditDate);
|
|
|
+
|
|
|
+
|
|
|
+ if(reimbursementThreeResult > 0 && (null ==workReimbursement.getOldDataType() || workReimbursement.getOldDataType() > 0) && !"10de4a17d3484ba58135364bd53b88de".equals(workReimbursement.getOfficeId())){
|
|
|
+ if ("bmzr".equals(taskDefKey)){
|
|
|
+ users = UserUtils.getByProssType(workReimbursement.getProcessInstanceId(),3);
|
|
|
+ if (users==null )
|
|
|
+ users = UserUtils.getByProssType(workReimbursement.getProcessInstanceId(),1);
|
|
|
+ if("0".equals(workReimbursement.getReimbursementType())){
|
|
|
+ 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())){
|
|
|
users = UserUtils.getByRoleActivityEnname("dzfpbxshybxsd",3,workReimbursement.getOfficeId(),"8",workReimbursement.getCreateBy());
|
|
|
- }else{
|
|
|
+ }
|
|
|
+ }else if ("cw".equals(taskDefKey)){
|
|
|
+ users = UserUtils.getByProssType(workReimbursement.getProcessInstanceId(),2);
|
|
|
+ if (users==null ){
|
|
|
+ //users = UserUtils.getByRoleActivityEnname("fgld",2,workReimbursement.getOfficeId(),"8",workReimbursement.getCreateBy());
|
|
|
+ if("d8cf33fafd2d4f04a603e89f7e28e54c".equals(workReimbursement.getOfficeId())) { //如果是苏州团队的 部门主任审核人为一部部门主任
|
|
|
+ users = UserUtils.getByRoleActivityEnname("bmzr", 2, "7f776d072d7b4c839cef4e63ce6dbfa5", "8", workReimbursement.getCreateBy());
|
|
|
+ }else{
|
|
|
+ users = UserUtils.getByRoleActivityEnname("bmzr", 2, workReimbursement.getOfficeId(), "8", workReimbursement.getCreateBy());
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ }else if ("gsld".equals(taskDefKey)){
|
|
|
+ users = UserUtils.getByProssType(workReimbursement.getProcessInstanceId(),3);
|
|
|
+ if (users==null )
|
|
|
+ users = UserUtils.getByProssType(workReimbursement.getProcessInstanceId(),1);
|
|
|
+ //users = UserUtils.getByRoleActivityEnname("zjl",3,workReimbursement.getOfficeId(),"8",workReimbursement.getCreateBy());
|
|
|
+ }else if ("fpglys".equals(taskDefKey) || "dzfpbxshybxsd".equals(taskDefKey)){
|
|
|
+ users = UserUtils.getByProssType(workReimbursement.getProcessInstanceId(),3);
|
|
|
+ if(reimburseResult>0){
|
|
|
users = UserUtils.getByRoleActivityEnname("zjbfzribvf",3,workReimbursement.getOfficeId(),"8",workReimbursement.getCreateBy());
|
|
|
}
|
|
|
- }else if ("1".equals(workReimbursement.getReimbursementType())){
|
|
|
- users = UserUtils.getByRoleActivityEnname("dzfpbxshybxsd",3,workReimbursement.getOfficeId(),"8",workReimbursement.getCreateBy());
|
|
|
- }
|
|
|
- }else if ("gsld".equals(taskDefKey)){
|
|
|
- users = UserUtils.getByProssType(workReimbursement.getProcessInstanceId(),3);
|
|
|
- if (users==null )
|
|
|
+ if (users==null )
|
|
|
+ users = UserUtils.getByProssType(workReimbursement.getProcessInstanceId(),1);
|
|
|
+ }else if ("modifyApply".equals(taskDefKey)){
|
|
|
users = UserUtils.getByProssType(workReimbursement.getProcessInstanceId(),1);
|
|
|
- //users = UserUtils.getByRoleActivityEnname("zjl",3,workReimbursement.getOfficeId(),"8",workReimbursement.getCreateBy());
|
|
|
- }else if ("fpglys".equals(taskDefKey) || "dzfpbxshybxsd".equals(taskDefKey)){
|
|
|
- users = UserUtils.getByProssType(workReimbursement.getProcessInstanceId(),3);
|
|
|
- if(reimburseResult>0){
|
|
|
- users = UserUtils.getByRoleActivityEnname("zjbfzribvf",3,workReimbursement.getOfficeId(),"8",workReimbursement.getCreateBy());
|
|
|
}
|
|
|
- if (users==null )
|
|
|
- users = UserUtils.getByProssType(workReimbursement.getProcessInstanceId(),1);
|
|
|
- }/*else if ("zjl".equals(taskDefKey)){
|
|
|
- *//*users = UserUtils.getByProssType(workReimbursement.getProcessInstanceId(),5);
|
|
|
+
|
|
|
+ }else{
|
|
|
+ if ("bmzr".equals(taskDefKey)){
|
|
|
+ users = UserUtils.getByProssType(workReimbursement.getProcessInstanceId(),2);
|
|
|
+ if (users==null )
|
|
|
+ //users = UserUtils.getByRoleActivityEnname("fgld",2,workReimbursement.getOfficeId(),"8",workReimbursement.getCreateBy());
|
|
|
+ users = UserUtils.getByRoleActivityEnname("cwzg", 3, workReimbursement.getOfficeId(), "8", workReimbursement.getCreateBy());
|
|
|
+
|
|
|
+
|
|
|
+ if(StringUtils.isNotBlank(workReimbursement.getId()) && result > 0 && "10de4a17d3484ba58135364bd53b88de".equals(workReimbursement.getOfficeId())){
|
|
|
+ users = UserUtils.getByRoleActivityEnname("dzfpbxshybxsd",3,workReimbursement.getOfficeId(),"8",workReimbursement.getCreateBy());
|
|
|
+
|
|
|
+ }
|
|
|
+ }else if ("cw".equals(taskDefKey)){
|
|
|
+ users = UserUtils.getByProssType(workReimbursement.getProcessInstanceId(),3);
|
|
|
+ if (users==null )
|
|
|
+ users = UserUtils.getByProssType(workReimbursement.getProcessInstanceId(),1);
|
|
|
+ if("0".equals(workReimbursement.getReimbursementType())){
|
|
|
+ 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())){
|
|
|
+ users = UserUtils.getByRoleActivityEnname("dzfpbxshybxsd",3,workReimbursement.getOfficeId(),"8",workReimbursement.getCreateBy());
|
|
|
+ }
|
|
|
+ }else if ("gsld".equals(taskDefKey)){
|
|
|
+ users = UserUtils.getByProssType(workReimbursement.getProcessInstanceId(),3);
|
|
|
+ if (users==null )
|
|
|
+ users = UserUtils.getByProssType(workReimbursement.getProcessInstanceId(),1);
|
|
|
+ //users = UserUtils.getByRoleActivityEnname("zjl",3,workReimbursement.getOfficeId(),"8",workReimbursement.getCreateBy());
|
|
|
+ }else if ("fpglys".equals(taskDefKey) || "dzfpbxshybxsd".equals(taskDefKey)){
|
|
|
+ users = UserUtils.getByProssType(workReimbursement.getProcessInstanceId(),3);
|
|
|
+ if(reimburseResult>0){
|
|
|
+ users = UserUtils.getByRoleActivityEnname("zjbfzribvf",3,workReimbursement.getOfficeId(),"8",workReimbursement.getCreateBy());
|
|
|
+ }
|
|
|
+ if (users==null )
|
|
|
+ users = UserUtils.getByProssType(workReimbursement.getProcessInstanceId(),1);
|
|
|
+ }/*else if ("zjl".equals(taskDefKey)){
|
|
|
+ *//*users = UserUtils.getByProssType(workReimbursement.getProcessInstanceId(),5);
|
|
|
if (users==null )
|
|
|
users = UserUtils.getByRoleActivityEnname("cwfgld",3,workReimbursement.getOfficeId(),"8",workReimbursement.getCreateBy());*//*
|
|
|
users = UserUtils.getByProssType(workReimbursement.getProcessInstanceId(),1);
|
|
@@ -607,21 +670,22 @@ public class WorkReimbursementAllController extends BaseController {
|
|
|
}else if ("cn".equals(taskDefKey)){
|
|
|
users = UserUtils.getByProssType(workReimbursement.getProcessInstanceId(),1);
|
|
|
}*/else if ("modifyApply".equals(taskDefKey)){
|
|
|
- users = UserUtils.getByProssType(workReimbursement.getProcessInstanceId(),1);
|
|
|
+ users = UserUtils.getByProssType(workReimbursement.getProcessInstanceId(),1);
|
|
|
+ }
|
|
|
}
|
|
|
+
|
|
|
String flag = workReimbursement.getAct().getFlag();
|
|
|
if ("yes".equals(flag) &&(users==null || users.size()==0)){
|
|
|
addMessage(redirectAttributes, "审批失败,审批人为空,请联系管理员!");
|
|
|
}else {
|
|
|
String str = "";
|
|
|
|
|
|
-
|
|
|
- if(StringUtils.isNotBlank(workReimbursement.getId()) && result > 0 && "10de4a17d3484ba58135364bd53b88de".equals(workReimbursement.getOfficeId())){
|
|
|
+ if("10de4a17d3484ba58135364bd53b88de".equals(workReimbursement.getOfficeId())){
|
|
|
str = workReimbursementNewService.auditSpecificSave(workReimbursement,users);
|
|
|
}else{
|
|
|
- if(result > 0 && "10de4a17d3484ba58135364bd53b88de".equals(workReimbursement.getOfficeId())){
|
|
|
- str = workReimbursementNewService.auditSpecificSave(workReimbursement,users);
|
|
|
- } else {
|
|
|
+ if(reimbursementThreeResult > 0 && workReimbursement.getOldDataType() > 0){
|
|
|
+ str = workReimbursementNewService.auditSaveReimbursementThree(workReimbursement,users);
|
|
|
+ }else{
|
|
|
if("0".equals(workReimbursement.getReimbursementType())){
|
|
|
if(reimburseResult>0){
|
|
|
str = workReimbursementNewService.auditSaveThree(workReimbursement,users);
|