分发的代办状态修改

This commit is contained in:
ys.git 2025-12-25 14:38:48 +08:00
parent aceec60115
commit 373e29724b
5 changed files with 91 additions and 27 deletions

View File

@ -18,6 +18,8 @@ import org.apache.commons.lang3.ObjectUtils;
import org.springframework.beans.BeanUtils;
import org.springframework.transaction.annotation.Transactional;
import java.sql.Timestamp;
import java.time.LocalDateTime;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
@ -135,8 +137,8 @@ public class EngineModelListener implements ReadListener<DataEntryEngineModelExc
modelPojo.setIsDelete(0);
modelPojo.setCreatedBy(usersPojo.getId());
modelPojo.setLastUpdatedBy("");
modelPojo.setLastUpdateDate(new Date());
modelPojo.setCreationDate(new Date());
modelPojo.setLastUpdateDate(Timestamp.valueOf(LocalDateTime.now()));
modelPojo.setCreationDate(Timestamp.valueOf(LocalDateTime.now()));
modelPojo.setId(UUID.randomUUID().toString());
modelPojos.add(modelPojo);
// sw.buildFromDatasource("test_demo").doInsert(modelPojo);
@ -170,8 +172,8 @@ public class EngineModelListener implements ReadListener<DataEntryEngineModelExc
engineParamDetailPojo.setVersionStatus(ParamValueVersionEnum.DRAFT.getCode());
engineParamDetailPojo.setCreatedBy(usersPojo.getId());
engineParamDetailPojo.setLastUpdatedBy("");
engineParamDetailPojo.setLastUpdateDate(new Date());
engineParamDetailPojo.setCreationDate(new Date());
engineParamDetailPojo.setLastUpdateDate(Timestamp.valueOf(LocalDateTime.now()));
engineParamDetailPojo.setCreationDate(Timestamp.valueOf(LocalDateTime.now()));
engineParamDetailPojos.add(engineParamDetailPojo);
//为每个参数生成默认责任人
List<ResponsiblePerson> personPojos = responsiblePerService.selectByDepName(parameter.getDepartment());

View File

@ -20,6 +20,8 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.sql.Timestamp;
import java.time.LocalDateTime;
import java.util.*;
import java.util.stream.Collectors;
@ -104,7 +106,7 @@ public class ActivitiProcessServiceImpl implements ActivitiProcessService {
dataChangeCommentPojo.setUnit(parameter.getUnit());
dataChangeCommentPojo.setParameterValue(engineParamDetailPojo.getMinorVersion());
dataChangeCommentPojo.setCreatedBy(userID);
dataChangeCommentPojo.setCreationDate(new Date());
dataChangeCommentPojo.setCreationDate(Timestamp.valueOf(LocalDateTime.now()));
activitiDataDTOS.add(activitiDataDTO);
das.add(dataChangeCommentPojo);
@ -170,7 +172,7 @@ public class ActivitiProcessServiceImpl implements ActivitiProcessService {
engineReviewListPojo.setNodeName(firstNode.getNodeName());
engineReviewListPojo.setApproverPersons(String.join(",", firstNode.getAssignees()));
engineReviewListPojo.setReviewComment(approvalNodeRequest.getComment());
engineReviewListPojo.setCreationDate(new Date());
engineReviewListPojo.setCreationDate(Timestamp.valueOf(LocalDateTime.now()));
engineReviewListPojo.setCreatedBy(userId);
sw.buildFromDatasource("xdap_app_223770822127386625").doInsert(engineReviewListPojo);
@ -189,7 +191,7 @@ public class ActivitiProcessServiceImpl implements ActivitiProcessService {
todoTaskPojo.setModelName(modelPojoOld.getModelName());
todoTaskPojo.setCreatedById(userId);
todoTaskPojo.setCreatedBy(createBy);
todoTaskPojo.setCreationDate(new Date());
todoTaskPojo.setCreationDate(Timestamp.valueOf(LocalDateTime.now()));
todoTaskPojo.setIsDelete(0);
sw.buildFromDatasource("xdap_app_223770822127386625").doInsert(todoTaskPojo);
@ -222,7 +224,7 @@ public class ActivitiProcessServiceImpl implements ActivitiProcessService {
config.setAssignees(String.join(",", nodeDTO.getAssignees()));
config.setNodeOrder(nodeOrder);
config.setCreatedBy(userId);
config.setCreationDate(new Date());
config.setCreationDate(Timestamp.valueOf(LocalDateTime.now()));
sw.buildFromDatasource("xdap_app_223770822127386625").doInsert(config);
b = false;
}
@ -233,8 +235,8 @@ public class ActivitiProcessServiceImpl implements ActivitiProcessService {
record.setOperator("提交");
record.setNodeName("提交");
record.setNodeOrder(0);
record.setOperateTime(new Date());
record.setCreationDate(new Date());
record.setOperateTime(Timestamp.valueOf(LocalDateTime.now()));
record.setCreationDate(Timestamp.valueOf(LocalDateTime.now()));
record.setApprovalComment("提交流程");
sw.buildFromDatasource("xdap_app_223770822127386625").doInsert(record);
@ -290,8 +292,8 @@ public class ActivitiProcessServiceImpl implements ActivitiProcessService {
record.setOperator(operator);
record.setNodeName(reviewListPojo.getNodeName());
record.setNodeOrder(nodeOrder);
record.setOperateTime(new Date());
record.setCreationDate(new Date());
record.setOperateTime(Timestamp.valueOf(LocalDateTime.now()));
record.setCreationDate(Timestamp.valueOf(LocalDateTime.now()));
record.setApprovalComment(comment);
sw.buildFromDatasource("xdap_app_223770822127386625").doInsert(record);
@ -401,7 +403,7 @@ public class ActivitiProcessServiceImpl implements ActivitiProcessService {
todoTaskPojo.setModelName(modelPojo.getModelName());
todoTaskPojo.setCreatedById(approvalConfigPojo.getCreatedBy());
todoTaskPojo.setCreatedBy(createBy);
todoTaskPojo.setCreationDate(new Date());
todoTaskPojo.setCreationDate(Timestamp.valueOf(LocalDateTime.now()));
todoTaskPojo.setIsDelete(0);
sw.buildFromDatasource("xdap_app_223770822127386625").doInsert(todoTaskPojo);
}
@ -500,7 +502,7 @@ public class ActivitiProcessServiceImpl implements ActivitiProcessService {
todoTaskPojo.setModelName(modelPojo.getModelName());
todoTaskPojo.setCreatedById(approvalConfigPojo.getCreatedBy());
todoTaskPojo.setCreatedBy(createBy);
todoTaskPojo.setCreationDate(new Date());
todoTaskPojo.setCreationDate(Timestamp.valueOf(LocalDateTime.now()));
todoTaskPojo.setIsDelete(0);
sw.buildFromDatasource("xdap_app_223770822127386625").doInsert(todoTaskPojo);
}
@ -532,7 +534,7 @@ public class ActivitiProcessServiceImpl implements ActivitiProcessService {
engineReviewListPojo.setStatusDescription(ParamValueVersionEnum.UNDER.getDesc());
engineReviewListPojo.setNodeName(request.getNodeName());
engineReviewListPojo.setApproverPersons(String.join(",", request.getApproverPersons()));
engineReviewListPojo.setCreationDate(new Date());
engineReviewListPojo.setCreationDate(Timestamp.valueOf(LocalDateTime.now()));
engineReviewListPojo.setCreatedBy(request.getApplicant());
sw.buildFromDatasource("xdap_app_223770822127386625").doInsert(engineReviewListPojo);

View File

@ -34,6 +34,7 @@ import javax.annotation.Resource;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.net.URLEncoder;
import java.sql.Timestamp;
import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;
import java.util.*;
@ -281,8 +282,8 @@ public class DataEntryEngineModelServiceImpl implements DataEntryEngineModelServ
modelPojo.setIsDelete(0);
modelPojo.setCreatedBy(userId);
modelPojo.setLastUpdatedBy("");
modelPojo.setLastUpdateDate(new Date());
modelPojo.setCreationDate(new Date());
modelPojo.setLastUpdateDate(Timestamp.valueOf(LocalDateTime.now()));
modelPojo.setCreationDate(Timestamp.valueOf(LocalDateTime.now()));
modelPojo.setId(UUID.randomUUID().toString());
sw.buildFromDatasource("xdap_app_223770822127386625").doInsert(modelPojo);
@ -337,8 +338,8 @@ public class DataEntryEngineModelServiceImpl implements DataEntryEngineModelServ
engineParamDetailPojo.setVersionStatus(ParamValueVersionEnum.DRAFT.getCode());
engineParamDetailPojo.setCreatedBy(ObjectUtils.isNotEmpty(xdapUsersPojo) ? xdapUsersPojo.getId() : null);
engineParamDetailPojo.setLastUpdatedBy("");
engineParamDetailPojo.setLastUpdateDate(new Date());
engineParamDetailPojo.setCreationDate(new Date());
engineParamDetailPojo.setLastUpdateDate(Timestamp.valueOf(LocalDateTime.now()));
engineParamDetailPojo.setCreationDate(Timestamp.valueOf(LocalDateTime.now()));
//为每个参数生成默认责任人
List<ResponsiblePerson> personPojos = responsiblePerService.selectByDepName(parameter.getDepartment());
if (ObjectUtils.isNotEmpty(personPojos)) {

View File

@ -9,6 +9,7 @@ import com.definesys.mpaas.query.MpaasQueryFactory;
import com.xdap.api.moudle.user.pojo.XdapUsers;
import com.xdap.runtime.service.RuntimeAppContextService;
import com.xdap.self_development.common.UserPermissionGetter;
import com.xdap.self_development.config.BusinessDatabase;
import com.xdap.self_development.controller.request.EngineParamDetailExcel;
import com.xdap.self_development.controller.request.EngineParamDetailRequest;
import com.xdap.self_development.enums.CurrentNodeEnum;
@ -31,6 +32,7 @@ import javax.annotation.Resource;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.net.URLEncoder;
import java.sql.Timestamp;
import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;
import java.util.*;
@ -442,12 +444,32 @@ public class EngineParamDetailServiceImpl implements EngineParamDetailService {
});
//填写后检查是否完全填写完成用来消除待办
if (ObjectUtils.isNotEmpty(paramDetailPojoStream)) {
TodoTaskPojo todoTaskPojo = sw.buildFromDatasource("xdap_app_223770822127386625")
.eq("owner_id", currentUserId)
.eq("model_id", engineParamDetailPojo.getId())
.eq("data_type", "数据维护")
.doQueryFirst(TodoTaskPojo.class);
//修改待办和发起的任务状态
sw.buildFromDatasource("xdap_app_223770822127386625")
.update("is_delete", 1)
.update("current_node", "已维护")
.update("last_update_date", new Date())
.eq("owner_id", currentUserId)
.eq("data_type", "数据维护")
.eq("document_no", todoTaskPojo.getDocumentNo())
.doUpdate(TodoTaskPojo.class);
sw.buildFromDatasource("xdap_app_223770822127386625")
.update("current_node", "已维护")
.update("last_update_date", new Date())
.eq("document_no", todoTaskPojo.getDocumentNo())
.doUpdate(InitiatedTaskPojo.class);
//新增这个人的已办
CompletedTaskPojo completedTaskPojo = new CompletedTaskPojo();
BeanUtils.copyProperties(todoTaskPojo, completedTaskPojo);
completedTaskPojo.setId(UUID.randomUUID().toString().replaceAll("-",""));
completedTaskPojo.setDocumentNo(todoTaskPojo.getDocumentNo());
completedTaskPojo.setCreationDate(Timestamp.valueOf(LocalDateTime.now()));
completedTaskPojo.setIsDelete(0);
completedTaskPojo.setCurrentNode("已维护");
sw.buildFromDatasource("xdap_app_223770822127386625").doInsert(completedTaskPojo);
}
//应该不会有新增参数 要不然还要给参数绑定部门责任人填写人
// EngineParamDetailPojo ei = new EngineParamDetailPojo();
@ -514,7 +536,7 @@ public class EngineParamDetailServiceImpl implements EngineParamDetailService {
ArrayList<TodoTaskPojo> todoTaskPojos = new ArrayList<>();
ArrayList<InitiatedTaskPojo> taskPojos = new ArrayList<>();
//分解任务更新填写人
for (EngineParamDetailPojo engineParamDetailPojo : engineParamDetailPojos) {
sw.buildFromDatasource("xdap_app_223770822127386625")
@ -533,7 +555,7 @@ public class EngineParamDetailServiceImpl implements EngineParamDetailService {
todoTaskPojo.setStatusCode(null);
todoTaskPojo.setModelName(modelPojo.getModelName());
todoTaskPojo.setModelId(modelPojo.getId());
todoTaskPojo.setCreationDate(new Date());
todoTaskPojo.setCreationDate(Timestamp.valueOf(LocalDateTime.now()));
todoTaskPojo.setDataType(CurrentNodeEnum.REPAIR.getDesc());
todoTaskPojo.setVersionNumber(modelPojo.getVersionNumber());
todoTaskPojo.setOwnerId(filledBy);
@ -541,8 +563,12 @@ public class EngineParamDetailServiceImpl implements EngineParamDetailService {
todoTaskPojo.setIsDelete(0);
todoTaskPojo.setCreatedBy(ObjectUtils.isNotEmpty(XdapUsers) ? XdapUsers.getUsername() : "");
todoTaskPojos.add(todoTaskPojo);
InitiatedTaskPojo initiatedTaskPojo = new InitiatedTaskPojo();
BeanUtils.copyProperties(todoTaskPojo, initiatedTaskPojo);
taskPojos.add(initiatedTaskPojo);
}
batchInsertTodoTask(todoTaskPojos);
batchInsertInitiatedTask(taskPojos);
//每次分发填写人时进行检测
//这个责任人相关的填写人是否都已经填写完成如果没有则待办不动 如果填写完了待办完成
List<EngineParamDetailPojo> detailPojos = selectByResId(userID);
@ -550,13 +576,31 @@ public class EngineParamDetailServiceImpl implements EngineParamDetailService {
.filter(x -> x.getEngineModelId().equals(engineModelId) && ObjectUtils.isEmpty(x.getFilledBy())).collect(Collectors.toList());
if (ObjectUtils.isEmpty(paramDetailPojos) || paramDetailPojos.isEmpty()) {
//软删除这个代办人的任务
sw.buildFromDatasource("xdap_app_223770822127386625")
TodoTaskPojo todoTaskPojo = sw.buildFromDatasource("xdap_app_223770822127386625")
.eq("owner_id", userID)
.eq("model_id", engineModelId)
.eq("data_type", "任务分解")
.eq("data_type", "任务分解").doQueryFirst(TodoTaskPojo.class);
//更新待办和发起的任务状态
sw.buildFromDatasource("xdap_app_223770822127386625")
.update("is_delete", 1)
.update("current_node", "已分解")
.update("last_update_date", new Date())
.eq("document_no", todoTaskPojo.getId())
.doUpdate(TodoTaskPojo.class);
sw.buildFromDatasource("xdap_app_223770822127386625")
.update("current_node", "已分解")
.update("last_update_date", new Date())
.eq("document_no", todoTaskPojo.getId())
.doUpdate(InitiatedTaskPojo.class);
//新增这个人的已办
CompletedTaskPojo completedTaskPojo = new CompletedTaskPojo();
BeanUtils.copyProperties(todoTaskPojo, completedTaskPojo);
completedTaskPojo.setId(UUID.randomUUID().toString().replaceAll("-",""));
completedTaskPojo.setDocumentNo(todoTaskPojo.getDocumentNo());
completedTaskPojo.setCreationDate(Timestamp.valueOf(LocalDateTime.now()));
completedTaskPojo.setIsDelete(0);
completedTaskPojo.setCurrentNode("已分解");
sw.buildFromDatasource("xdap_app_223770822127386625").doInsert(completedTaskPojo);
// //机型的分发状态改为已分发
// DistributeStatusEnum byDesc = DistributeStatusEnum.getByDesc("已分发");
// Integer status = byDesc != null ? byDesc.getCode() : null;
@ -571,6 +615,10 @@ public class EngineParamDetailServiceImpl implements EngineParamDetailService {
public void batchInsertTodoTask(List<TodoTaskPojo> todoTaskPojos) {
sw.buildFromDatasource("xdap_app_223770822127386625").doBatchInsert(todoTaskPojos);
}
@Transactional(rollbackFor = Exception.class) // 发生任何异常都回滚
public void batchInsertInitiatedTask(List<InitiatedTaskPojo> taskPojos) {
sw.buildFromDatasource("xdap_app_223770822127386625").doBatchInsert(taskPojos);
}
@Override
public List<Parameter> selectAllByNewVersion() {

View File

@ -23,9 +23,11 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.sql.Timestamp;
import java.text.DateFormat;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.time.LocalDateTime;
import java.util.*;
import java.util.stream.Collectors;
@ -217,6 +219,7 @@ public class TodoTaskServiceImpl implements TodoTaskService {
.stream()
.collect(Collectors.toList());
ArrayList<TodoTaskPojo> todoTaskPojos = new ArrayList<>();
ArrayList<InitiatedTaskPojo> taskPojos = new ArrayList<>();
XdapUsers xdapUsersPojo = xdapDeptUsersService.selectUserByID(userID);
DataEntryEngineModelPojo modelPojo = dataEntryEngineModelService.selectBymodelId(modelId);
@ -231,15 +234,19 @@ public class TodoTaskServiceImpl implements TodoTaskService {
todoTaskPojo.setStatusCode(null/*String.valueOf(ParamValueVersionEnum.DRAFT.getCode())*/);
todoTaskPojo.setModelName(ObjectUtils.isNotEmpty(modelPojo) ? modelPojo.getModelName() : "");
todoTaskPojo.setModelId(modelId);
todoTaskPojo.setCreationDate(new Date());
todoTaskPojo.setCreationDate(Timestamp.valueOf(LocalDateTime.now()));
todoTaskPojo.setDataType(CurrentNodeEnum.JOBSPLIT.getDesc());
todoTaskPojo.setVersionNumber(ObjectUtils.isNotEmpty(modelPojo) ? modelPojo.getVersionNumber() : 0);
todoTaskPojo.setIsDelete(0);
todoTaskPojo.setOwnerId(engineParamDetailDTO.getResPersonId());
todoTaskPojo.setCreatedBy(ObjectUtils.isNotEmpty(xdapUsersPojo) ? xdapUsersPojo.getUsername() : "");
todoTaskPojos.add(todoTaskPojo);
InitiatedTaskPojo initiatedTaskPojo = new InitiatedTaskPojo();
BeanUtils.copyProperties(todoTaskPojo, initiatedTaskPojo);
taskPojos.add(initiatedTaskPojo);
}
batchInsertTodoTask(todoTaskPojos);
batchInsertInitiatedTask(taskPojos);
List<EngineParamDetailPojo> detailPojos = engineParamDetailService.selectByModelNewVersion(modelId);
List<EngineParamDetailPojo> paramDetailPojos = detailPojos.stream()
.filter(x -> ObjectUtils.isEmpty(x.getResponsiblePersonId())).collect(Collectors.toList());
@ -292,7 +299,7 @@ public class TodoTaskServiceImpl implements TodoTaskService {
todoTaskPojo.setStatusCode(null/*String.valueOf(ParamValueVersionEnum.DRAFT.getCode())*/);
todoTaskPojo.setModelName(todoTaskPojo1.getModelName());
todoTaskPojo.setModelId(todoTaskPojo1.getModelId());
todoTaskPojo.setCreationDate(new Date());
todoTaskPojo.setCreationDate(Timestamp.valueOf(LocalDateTime.now()));
todoTaskPojo.setDataType(todoTaskPojo1.getDataType());
todoTaskPojo.setVersionNumber(todoTaskPojo1.getVersionNumber());
todoTaskPojo.setIsDelete(0);
@ -446,5 +453,9 @@ public class TodoTaskServiceImpl implements TodoTaskService {
public void batchInsertTodoTask(List<TodoTaskPojo> todoTaskPojos) {
sw.buildFromDatasource("xdap_app_223770822127386625").doBatchInsert(todoTaskPojos);
}
@Transactional(rollbackFor = Exception.class) // 发生任何异常都回滚
public void batchInsertInitiatedTask(List<InitiatedTaskPojo> taskPojos) {
sw.buildFromDatasource("xdap_app_223770822127386625").doBatchInsert(taskPojos);
}
}