上线版本3.0(新版修改)

This commit is contained in:
zjh 2026-02-06 17:39:46 +08:00
parent 133d7ed6b6
commit f120d45198
19 changed files with 365 additions and 124 deletions

View File

@ -8,4 +8,5 @@ public class YcTaskResult {
private Long total;
private Object table;
private String requestid;
private String msg;
}

View File

@ -53,10 +53,10 @@ public class EngineParamDetailController {
@GetMapping("/selectParamListAndModel")
public Response selectParamListAndModel(
@RequestParam(value = "modelID"/*, required = false*/) String modelID,
@RequestParam(required = false) Integer parameterVersion
@RequestParam(required = false) Integer parameterVersion,
@RequestParam(required = false) String userID
) {
Map<String, Map<String, Set<String>>> list = engineParamDetailService.selectParamListAndModel(modelID, parameterVersion);
Map<String, Map<String, Set<String>>> list = engineParamDetailService.selectParamListAndModel(modelID, parameterVersion, userID);
return Response.ok().data(list);
}

View File

@ -89,5 +89,17 @@ public class TodoTaskController {
}
/**
* 跳过审批
*
* @param todoTaskRequest
* @return
*/
@PostMapping("/skipApproval")
public Response skipApproval(@RequestBody RejectTodoRequest todoTaskRequest) {
todoTaskService.skipApproval(todoTaskRequest);
return Response.ok();
}
}

View File

@ -57,6 +57,7 @@ public class YcTaskResultController {
return ycTaskResultService.returnCompleted(ycGetTodoTaskRequest);
} catch (Exception e) {
result.setCode(RESULT_ERROR);
result.setMsg(e.getMessage());
return result;
}
}
@ -74,6 +75,7 @@ public class YcTaskResultController {
return ycTaskResultService.returnInitiator(ycGetTodoTaskRequest);
} catch (Exception e) {
result.setCode(RESULT_ERROR);
result.setMsg(e.getMessage());
return result;
}
}

View File

@ -22,7 +22,7 @@ import java.util.Date;
@EqualsAndHashCode(callSuper = true)
@SQLQuery(value = {
@SQL(view = "selectVersionByConditionPage",
sql = "WITH ranked_models AS ( SELECT deem.*, epd.major_version AS parameterVersion, ROW_NUMBER() OVER (PARTITION BY deem.id, epd.major_version ORDER BY deem.id) AS rn FROM data_entry_engine_model deem JOIN engine_param_detail epd ON deem.id = epd.engine_model_id ) SELECT * FROM ranked_models WHERE rn = 1 ORDER BY model_name, parameterVersion")
sql = "WITH ranked_models AS ( SELECT deem.*, epd.major_version AS parameterVersion, ROW_NUMBER() OVER (PARTITION BY deem.id, epd.major_version ORDER BY deem.id) AS rn FROM data_entry_engine_model deem JOIN engine_param_detail epd ON deem.id = epd.engine_model_id ) SELECT * FROM ranked_models WHERE rn = 1 AND is_delete = 0 ORDER BY model_name, parameterVersion")
})
@Data
public class DataEntryEngineModelDto extends MpaasBasePojo {

View File

@ -22,7 +22,9 @@ public enum DistributeStatusEnum {
/**
* 部分分发
*/
PART(3, "部分分发");
PART(3, "部分分发"),
COMPLETE(4, "已完成");
/**
* 编码

View File

@ -35,7 +35,6 @@ public interface ApaasMyTokenFeign {
consumes = MediaType.MULTIPART_FORM_DATA_VALUE)
FileUploadDTO uploadFile(
@RequestHeader(value = "Authorization") String accessToken,
@RequestHeader("Content-Type") String type,
@RequestPart("file") MultipartFile file,
@RequestPart("uploadId") String uploadId,

View File

@ -54,5 +54,5 @@ public interface EngineParamDetailService {
List<XdapUsers> selectPersonoByType(String subSystem, String dept, Integer type);
Map<String, Map<String, Set<String>>> selectParamListAndModel(String modelID, Integer parameterVersion);
Map<String, Map<String, Set<String>>> selectParamListAndModel(String modelID, Integer parameterVersion, String userId);
}

View File

@ -31,4 +31,5 @@ public interface TodoTaskService {
void rejectTodo(RejectTodoRequest request);
void skipApproval(RejectTodoRequest todoTaskRequest);
}

View File

@ -169,8 +169,16 @@ public class ActivitiProcessServiceImpl implements ActivitiProcessService {
if (ObjectUtils.isEmpty(model)) {
throw new CommonException("机型不存在,请检查");
}
// TODO:机型发起审批
// 检查当前参数是否全部填写完成
TodoTaskPojo filledTodo = bd.getBusinessDatabase()
.eq("model_id", model.getId())
.eq("data_type", CurrentNodeEnum.REPAIR.getDesc())
.eq("is_delete", 0)
.eq("owner_id", userId)
.eq("process_title", model.getModelName() + "-" + "填写参数任务")
.doQueryFirst(TodoTaskPojo.class);
if (filledTodo != null) {
List<EngineParamDetailPojo> toBeFilledParams = bd.getBusinessDatabase()
.eq("engine_model_id", model.getId())
.eq("major_version", model.getVersionNumber())
@ -178,14 +186,15 @@ public class ActivitiProcessServiceImpl implements ActivitiProcessService {
.isNull("minor_version")
.doQuery(EngineParamDetailPojo.class);
if (!ObjectUtils.isEmpty(toBeFilledParams)) {
throw new CommonException("您在当前机型的参数未全部填写完成,请检查");
throw new CommonException("填写人在当前机型的参数未全部填写完成,请检查");
}
}
// 查询机型最新版本的参数过滤出操作为更新且由当前用户更新的参数
List<EngineParamDetailPojo> paramList = bd.getBusinessDatabase()
.eq("engine_model_id", model.getId())
.eq("major_version", model.getVersionNumber())
.eq("filled_by", userId)
.eq("last_updated_by", userId)
.doQuery(EngineParamDetailPojo.class);
if (paramList.isEmpty()) {
@ -315,7 +324,9 @@ public class ActivitiProcessServiceImpl implements ActivitiProcessService {
.eq("owner_id", userId)
.eq("model_id", model.getId())
.eq("data_type", "数据维护")
.eq("is_delete", 0)
.doQueryFirst(TodoTaskPojo.class);
if (todoTaskPojo != null) {
// 修改待办和发起的任务状态
bd.getBusinessDatabase()
.update("is_delete", 1)
@ -343,6 +354,7 @@ public class ActivitiProcessServiceImpl implements ActivitiProcessService {
initiatedTask.setCurrentNode("已维护");
bd.getBusinessDatabase().doInsert(initiatedTask);
}
}
/**
* 处理审批操作
@ -368,11 +380,11 @@ public class ActivitiProcessServiceImpl implements ActivitiProcessService {
DataEntryEngineModelPojo model = bd.getBusinessDatabase()
.eq("id", reviewListPojo.getModelId())
.doQueryFirst(DataEntryEngineModelPojo.class);
// 获取当前流程填写的填写参数
// 获取当前流程填写填写参数
List<EngineParamDetailPojo> list = bd.getBusinessDatabase()
.eq("engine_model_id", model.getId())
.eq("major_version", model.getVersionNumber())
.eq("filled_by", reviewListPojo.getCreatedBy())
.eq("last_updated_by", reviewListPojo.getCreatedBy())
.doQuery(EngineParamDetailPojo.class);
ParamApprovalRecordPojo lastedRecord = bd.getBusinessDatabase()
@ -530,7 +542,7 @@ public class ActivitiProcessServiceImpl implements ActivitiProcessService {
.update("operation", "")// 清空操作状态
// .update("minor_version", "")// 小版本清空
.update("last_update_date", new Date())
.eq("approval_id", flow.getId())
.eq("last_updated_by", userId)
.eq("engine_model_id", flow.getModelId())
.eq("major_version", model.getVersionNumber())
.doUpdate(EngineParamDetailPojo.class);
@ -622,7 +634,7 @@ public class ActivitiProcessServiceImpl implements ActivitiProcessService {
DataEntryEngineModelPojo model = bd.getBusinessDatabase()
.eq("id", flow.getModelId())
.doQueryFirst(DataEntryEngineModelPojo.class);
// TODO:机型审批通过
// 检查当前参数是否为一版本是则更新参数否则新建版本
// 这个机型下所有参数都全部写入一版且版本加一 没有参与审批的参数时原来的值,参与审批的参数值要取小版本值作为大版本
// 现版本需要填写的全部参数
@ -695,6 +707,7 @@ public class ActivitiProcessServiceImpl implements ActivitiProcessService {
bd.getBusinessDatabase()
.update("version_status", ParamValueVersionEnum.PASSED.getCode())
.update("last_update_date", new Date())
.update("last_updated_by", null)
.in("id", toBePassedIds)
.doUpdate(EngineParamDetailPojo.class);
// 审批流改为已通过
@ -715,11 +728,12 @@ public class ActivitiProcessServiceImpl implements ActivitiProcessService {
.eq("version_status", ParamValueVersionEnum.PASSED.getCode())
.doQuery(EngineParamDetailPojo.class);
// 机型已完成分发并且全部分发参数已完成填写并审核通过
if (model.getDistributeStatus() == 1 && oldDetails.size() == finishDetails.size()) {
// 修改机型状态为待分发
if (Objects.equals(model.getDistributeStatus(), DistributeStatusEnum.DISTRIBUTED.getCode())
&& oldDetails.size() == finishDetails.size()) {
// 修改机型状态为已完成
bd.getBusinessDatabase()
.eq("id", model.getId())
.update("distribute_status", DistributeStatusEnum.UNDISTRIBUTED.getCode())
.update("distribute_status", DistributeStatusEnum.COMPLETE.getCode())
.doUpdate(DataEntryEngineModelPojo.class);
// 修改新参数状态为草稿并清除所有责任人和填写人
List<String> collected = finishDetails.stream()

View File

@ -83,6 +83,7 @@ public class AnalysisCommonParametersServiceImpl implements AnalysisCommonParame
.conjuctionOr()
.lteq("engine_capacity", request.getEngineCapacityMax())
.gteq("engine_capacity", request.getEngineCapacityMin())
.eq("is_delete", 0)
.doQuery(DataEntryEngineModelPojo.class));
}

View File

@ -185,6 +185,7 @@ public class BenchmarkingReportServiceImpl implements BenchmarkingReportService
*/
@Override
public String uploadFile(MultipartFile file, String userId) {
try {
String currentTenantId = runtimeAppContextService.getCurrentTenantId();
AppTokenDTO token = apaasMyTokenFeign.getAppToken(
"client_credentials",
@ -204,7 +205,6 @@ public class BenchmarkingReportServiceImpl implements BenchmarkingReportService
String uploadId = new ObjectId().toHexString();
FileUploadDTO fileUploadDTO = apaasMyTokenFeign.uploadFile(
"Bearer " + userToken.getAccess_token(),
"application/x-www-form-urlencoded",
file,
uploadId,
currentTenantId,
@ -217,7 +217,10 @@ public class BenchmarkingReportServiceImpl implements BenchmarkingReportService
map.put("xdaptenantid", currentTenantId);
cn.hutool.json.JSON json = JSONUtil.parse(map);
String tokenXdap = Base64.encode(json.toString());
return fileUploadDTO.getData().getUrl() +"&download=download&token=" + tokenXdap;
return fileUploadDTO.getData().getUrl() + "&download=download&token=" + tokenXdap;
} catch (Exception e) {
throw new CommonException(e.getMessage());
}
}
/**

View File

@ -232,6 +232,7 @@ public class DataEntryEngineModelServiceImpl implements DataEntryEngineModelServ
BeanUtils.copyProperties(request, modelPojo, "status");
List<DataEntryEngineModelPojo> modelPojos = bd.getBusinessDatabase()
.eq("product_number", request.getProductNumber())
.eq("is_delete", 0)
.doQuery(DataEntryEngineModelPojo.class);
if (ObjectUtils.isNotEmpty(modelPojos)) {
throw new ExcelImportException(
@ -438,6 +439,10 @@ public class DataEntryEngineModelServiceImpl implements DataEntryEngineModelServ
// 检查机型
DataEntryEngineModelPojo model = bd.getBusinessDatabase()
.eq("id", modelId)
.in("distribute_status",
DistributeStatusEnum.UNDISTRIBUTED.getCode(),
DistributeStatusEnum.COMPLETE.getCode()
)
.doQueryFirst(DataEntryEngineModelPojo.class);
if (model == null) {
throw new CommonException("机型不存在或已分发");
@ -485,9 +490,17 @@ public class DataEntryEngineModelServiceImpl implements DataEntryEngineModelServ
.collect(Collectors.toList());
Map<String, EngineParamDetailPojo> modelParamMap = modelParams.stream()
.collect(Collectors.
toMap(EngineParamDetailPojo::getParameterId, pojo -> pojo)
toMap(
EngineParamDetailPojo::getParameterId,
pojo -> pojo,
(existing, replacement) -> existing)
);
// 验证是否需要更新
if (modelParams.size() == parameters.size() && isSameParams(modelParams, parameters)) {
throw new CommonException("当前版本机型参数已同步最新模板参数");
}
// 过滤新批次模板的参数更新到机型参数中
// 统计需要插入的参数
List<EngineParamDetailPojo> toInsertParams = new ArrayList<>();
@ -523,7 +536,8 @@ public class DataEntryEngineModelServiceImpl implements DataEntryEngineModelServ
bd.getBusinessDatabase()
.eq("id", model.getId())
.update("version_number", model.getVersionNumber())
.update("distribute_status", DistributeStatusEnum.UNDISTRIBUTED.getCode())
.update("parameter_num", parameters.size())
.update("distribute_status", DistributeStatusEnum.COMPLETE.getCode())
.doUpdate(DataEntryEngineModelPojo.class);
// 更新新版本机型的参数
@ -546,6 +560,27 @@ public class DataEntryEngineModelServiceImpl implements DataEntryEngineModelServ
return model.getVersionNumber();
}
private boolean isSameParams(List<EngineParamDetailPojo> modelParams, List<ParameterPojo> parameters) {
Map<String, EngineParamDetailPojo> modelParamMap = modelParams.stream()
.collect(Collectors.
toMap(
EngineParamDetailPojo::getParameterId,
pojo -> pojo,
(existing, replacement) -> existing
)
);
return parameters.stream().allMatch(parameter -> {
EngineParamDetailPojo detailPojo = modelParamMap.get(parameter.getId());
return detailPojo != null &&
Objects.equals(detailPojo.getParameterName(), parameter.getParameterName()) &&
Objects.equals(detailPojo.getParameterSource(), parameter.getParameterSource()) &&
Objects.equals(detailPojo.getParameterType(), parameter.getParameterType()) &&
Objects.equals(detailPojo.getSubsystemName(), parameter.getSubsystemName()) &&
Objects.equals(detailPojo.getDepartment(), parameter.getDepartment()) &&
Objects.equals(detailPojo.getPartsName(), parameter.getPartsName());
});
}
/**
* 设置响应
* 设置HTTP响应的头部信息用于文件下载

View File

@ -18,6 +18,7 @@ import com.xdap.self_development.domain.enums.CurrentNodeEnum;
import com.xdap.self_development.domain.enums.ParamOperationEnum;
import com.xdap.self_development.domain.enums.ParamValueVersionEnum;
import com.xdap.self_development.domain.pojo.*;
import com.xdap.self_development.domain.view.MenuParamView;
import com.xdap.self_development.exception.CommonException;
import com.xdap.self_development.exception.ExcelImportException;
import com.xdap.self_development.listener.EngineParamDetailListener;
@ -66,6 +67,8 @@ public class EngineParamDetailServiceImpl implements EngineParamDetailService {
private XdapDeptUsersService xdapDeptUsersService;
@Resource
private ResponsiblePerService responsiblePerService;
@Resource
private ModelRoleService modelRoleService;
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
@ -176,21 +179,17 @@ public class EngineParamDetailServiceImpl implements EngineParamDetailService {
));
}
public Map<String, Set<String>> selectParamListByDetails(String modelID, Integer parameterVersion) {
public Map<String, Set<String>> selectParamListByDetails(String modelID, Integer parameterVersion, String userId) {
if (parameterVersion == null) {
DataEntryEngineModelPojo engineModel = bd.getBusinessDatabase()
.eq("engine_model_id", modelID)
.eq("id", modelID)
.doQueryFirst(DataEntryEngineModelPojo.class);
if (engineModel == null) {
throw new CommonException("未找到该型号的参数");
}
parameterVersion = engineModel.getVersionNumber();
}
List<EngineParamDetailPojo> pojoList = bd.getBusinessDatabase()
.eq("engine_model_id", modelID)
.eq("major_version", parameterVersion)
.eq("parameter_source", "数据平台手工录入")
.doQuery(EngineParamDetailPojo.class);
List<EngineParamDetailPojo> pojoList = selectByIsUserId(modelID, parameterVersion, userId);
AtomicInteger seq = new AtomicInteger(1);
LinkedHashMap<String, Integer> subsystemOrderMap = pojoList.stream()
@ -279,6 +278,80 @@ public class EngineParamDetailServiceImpl implements EngineParamDetailService {
));
}
private List<EngineParamDetailPojo> selectByIsUserId(String modelID, Integer parameterVersion, String userId) {
// 没有人则返回全部
List<EngineParamDetailPojo> pojoList = bd.getBusinessDatabase()
.eq("engine_model_id", modelID)
.eq("major_version", parameterVersion)
.eq("parameter_source", "数据平台手工录入")
.doQuery(EngineParamDetailPojo.class);
if (userId == null || userId.isEmpty()) {
return pojoList;
}
// TODO:根据权限过滤
List<MenuParamView> menuParamViews = modelRoleService.selectPersByUser(userId);
// 管理员返回全部
if (menuParamViews.size() == 1 && menuParamViews.get(0).getIsAdmin() == 1) {
return pojoList;
}
// 过滤返回
DataEntryEngineModelPojo model = bd.getBusinessDatabase()
.eq("id", modelID)
.doQueryFirst(DataEntryEngineModelPojo.class);
// 权限路径集合
Set<String> result = menuParamViews.stream()
.map(MenuParamView::getPermissionPath)
.collect(Collectors.toSet());
return pojoList.stream()
.filter(pojo -> matchesAnyPermission(pojo, result, model.getYcOrOth()))
.collect(Collectors.toList());
}
private boolean matchesAnyPermission(EngineParamDetailPojo pojo, Set<String> permissions, String ycOrOth) {
String cat = ycOrOth + "发动机数据";
String sys = pojo.getSubsystemName();
String comp = pojo.getPartsName(); // 可能为 null "/"
if (comp == null) comp = "/";
for (String perm : permissions) {
String[] parts = perm.split("/", -1); // -1 保留尾部空字符串
if (parts.length == 1) {
// "玉柴发动机数据"
if (perm.equals(cat)) {
return true;
}
} else if (parts.length == 2) {
// "玉柴发动机数据/点火子系统"
if (parts[0].equals(cat) && parts[1].equals(sys)) {
return true;
}
} else if (parts.length == 3) {
String permComp = parts[2];
// "玉柴发动机数据/点火子系统/气环"
if (parts[0].equals(cat) && parts[1].equals(sys) && permComp.equals(comp)) {
return true;
}
} else if (parts.length == 4) {
String permComp = parts[3];
if (parts[0].equals(cat)
&& parts[1].equals(sys)
&& "".equals(permComp)
) {
// 权限路径是 "玉柴发动机数据/点火子系统//"
if (comp.equals("/")) {
return true;
}
}
}
// 忽略长度 != 1,2,3 的非法路径可选加日志
}
return false;
}
/**
* 查询参数列表和模型
* 根据模型ID获取参数列表和模型信息
@ -287,14 +360,14 @@ public class EngineParamDetailServiceImpl implements EngineParamDetailService {
* @return 参数列表和模型映射
*/
@Override
public Map<String, Map<String, Set<String>>> selectParamListAndModel(String modelID, Integer parameterVersion) {
public Map<String, Map<String, Set<String>>> selectParamListAndModel(String modelID, Integer parameterVersion, String userId) {
HashMap<String, Map<String, Set<String>>> map = new HashMap<>();
DataEntryEngineModelPojo dataEntryEngineModelPojo = dataEntryEngineModelService.selectBymodelId(modelID);
if (ObjectUtils.isEmpty(dataEntryEngineModelPojo)) {
throw new CommonException("未找到该机型");
}
String s = dataEntryEngineModelPojo.getProductNumber();
Map<String, Set<String>> stringListMap = selectParamListByDetails(modelID, parameterVersion);
Map<String, Set<String>> stringListMap = selectParamListByDetails(modelID, parameterVersion, userId);
map.put(s, stringListMap);
return map;
}
@ -461,14 +534,28 @@ public class EngineParamDetailServiceImpl implements EngineParamDetailService {
String type = subsystemType.split("-")[1];
//若传入填写人则查询填写人需要填写的参数
if (ObjectUtils.isNotEmpty(request.getFilledById())) {
paramDetails.addAll(bd.getBusinessDatabase()
List<EngineParamDetailPojo> pojoList = bd.getBusinessDatabase()
.eq("last_updated_by", request.getFilledById())
.eq("engine_model_id", model.getId())
.eq("subsystem_name", subsystem)
.eq("parts_name", type)
.eq("major_version", model.getVersionNumber())
.eq("parameter_source", "数据平台手工录入")
.doQuery(EngineParamDetailPojo.class);
if (pojoList.isEmpty()) {
paramDetails.addAll(
bd.getBusinessDatabase()
.eq("filled_by", request.getFilledById())
.eq("engine_model_id", model.getId())
.eq("subsystem_name", subsystem)
.eq("parts_name", type)
.eq("major_version", model.getVersionNumber())
.eq("parameter_source", "数据平台手工录入")
.doQuery(EngineParamDetailPojo.class));
.doQuery(EngineParamDetailPojo.class)
);
} else {
paramDetails.addAll(pojoList);
}
} else if (ObjectUtils.isNotEmpty(request.getResponsiblePersonId())) {
//若传入责任人则查询责任人需要分发的参数
paramDetails.addAll(bd.getBusinessDatabase()

View File

@ -383,7 +383,6 @@ public class TemplateServiceImpl implements TemplateService {
List<ParameterPojo> lastTemplateParameters = new ArrayList<>();
if (lastTemplate != null) {
// TODO基于最新版本创建新版本
targetTemplate = new TemplatePojo(
templateName, lastTemplate.getVersion() + 1, "DRAFT",
Timestamp.valueOf(LocalDateTime.now()), null, createBy, System.currentTimeMillis() / 1000, 0

View File

@ -10,6 +10,7 @@ import com.xdap.self_development.domain.dto.EngineParamDetailDTO;
import com.xdap.self_development.domain.dto.PageResultDTO;
import com.xdap.self_development.domain.enums.CurrentNodeEnum;
import com.xdap.self_development.domain.enums.DistributeStatusEnum;
import com.xdap.self_development.domain.enums.ParamValueVersionEnum;
import com.xdap.self_development.domain.pojo.*;
import com.xdap.self_development.exception.CommonException;
import com.xdap.self_development.service.TodoTaskService;
@ -450,4 +451,84 @@ public class TodoTaskServiceImpl implements TodoTaskService {
.update("is_delete", 1)
.doUpdate(TodoTaskPojo.class);
}
@Override
public void skipApproval(RejectTodoRequest request) {
// TODO:跳过审批
TodoTaskPojo todoTaskPojo = bd.getBusinessDatabase()
.eq("id", request.getTodoId())
.doQueryFirst(TodoTaskPojo.class);
if (ObjectUtils.isEmpty(todoTaskPojo)) {
throw new CommonException("待办任务不存在");
}
DataEntryEngineModelPojo model = bd.getBusinessDatabase()
.eq("id", todoTaskPojo.getModelId())
.doQueryFirst(DataEntryEngineModelPojo.class);
if (ObjectUtils.isEmpty(model)) {
throw new CommonException("机型不存在,请检查");
}
List<EngineParamDetailPojo> list = new ArrayList<>();
if ((ObjectUtils.isNotEmpty(request.getFillerId()))
&& (request.getResponsiblePersonId() == null || ObjectUtils.isEmpty(request.getResponsiblePersonId()))) {
bd.getBusinessDatabase()
.eq("engine_model_id", model.getId())
.eq("major_version", model.getVersionNumber())
.eq("filled_by", request.getFillerId())
.update("version_status", ParamValueVersionEnum.PASSED.getCode())
.doUpdate(EngineParamDetailPojo.class);
// 更新发起
bd.getBusinessDatabase()
.eq("model_id", model.getId())
.eq("data_type", CurrentNodeEnum.JOBSPLIT.getDesc())
.eq("created_by_id", todoTaskPojo.getCreatedById())
.eq("process_title", model.getModelName() + "-" + "分发参数填写人任务")
.update("current_node", "已完成")
.update("current_processor", null)
.doUpdate(InitiatedTaskPojo.class);
// 更新完成
bd.getBusinessDatabase()
.eq("model_id", model.getId())
.eq("data_type", CurrentNodeEnum.JOBSPLIT.getDesc())
.eq("owner_id", todoTaskPojo.getCreatedById())
.eq("process_title", model.getModelName() + "-" + "分发参数填写人任务")
.update("current_node", "已完成")
.update("current_processor", null)
.doUpdate(CompletedTaskPojo.class);
} else if ((request.getFillerId() == null || ObjectUtils.isEmpty(request.getFillerId()))
&& ObjectUtils.isNotEmpty(request.getResponsiblePersonId())) {
bd.getBusinessDatabase()
.eq("engine_model_id", model.getId())
.eq("major_version", model.getVersionNumber())
.eq("responsible_person_id", request.getResponsiblePersonId())
.update("version_status", ParamValueVersionEnum.PASSED.getCode())
.doUpdate(EngineParamDetailPojo.class);
// 更新发起
bd.getBusinessDatabase()
.eq("model_id", model.getId())
.eq("data_type", CurrentNodeEnum.JOBSPLIT.getDesc())
.eq("created_by_id", todoTaskPojo.getCreatedById())
.eq("process_title", model.getModelName() + "-" + "分发参数责任人任务")
.update("current_node", "已完成")
.update("current_processor", null)
.doUpdate(InitiatedTaskPojo.class);
// 更新完成
bd.getBusinessDatabase()
.eq("model_id", model.getId())
.eq("data_type", CurrentNodeEnum.JOBSPLIT.getDesc())
.eq("owner_id", todoTaskPojo.getCreatedById())
.eq("process_title", model.getModelName() + "-" + "分发参数责任人任务")
.update("current_node", "已完成")
.update("current_processor", null)
.doUpdate(CompletedTaskPojo.class);
} else {
throw new CommonException("参数错误");
}
// 更新待办
bd.getBusinessDatabase()
.eq("id", request.getTodoId())
.update("is_delete", 1)
.doUpdate(TodoTaskPojo.class);
}
}

View File

@ -211,9 +211,9 @@ public class XdapDeptUsersServiceImpl implements XdapDeptUsersService {
List<XdapDeptUsers> depts = bd.getSystemDatabase()
.eq("user_id", user.getId())
.doQuery(XdapDeptUsers.class);
XdapDeptUsers commonDept = bd.getSystemDatabase()
XdapDepartments commonDept = bd.getSystemDatabase()
.eq("name", "研发总院")
.doQueryFirst(XdapDeptUsers.class);
.doQueryFirst(XdapDepartments.class);
if (depts.isEmpty() || commonDept == null) {
return userInfoView;
}

View File

@ -1,5 +1,6 @@
package com.xdap.self_development.service.impl;
import com.definesys.mpaas.query.MpaasQuery;
import com.definesys.mpaas.query.db.PageQueryResult;
import com.xdap.api.moudle.menus.pojo.XdapMenus;
import com.xdap.api.moudle.user.pojo.XdapUsers;
@ -35,7 +36,7 @@ import java.util.stream.Collectors;
@Service
public class YcTaskResultServiceImpl implements YcTaskResultService {
private static final Pattern POSITIVE_INTEGER_PATTERN = Pattern.compile("^[1-9]\\d*$");
private static final DateTimeFormatter FORMATTER = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm").withZone(ZoneId.systemDefault());
private static final DateTimeFormatter FORMATTER = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss").withZone(ZoneId.systemDefault());
;
@Resource
@ -127,15 +128,12 @@ public class YcTaskResultServiceImpl implements YcTaskResultService {
@Override
public YcTaskResult returnCompleted(YcGetTodoTaskRequest ycGetTodoTaskRequest) {
YcTaskResult ycTaskResult = new YcTaskResult();
if (ObjectUtils.isEmpty(ycGetTodoTaskRequest.getCreateDateStart())) {
throw new CommonException("开始时间为必填项");
}
List<CompletedTaskPojo> completedTaskPojos = new ArrayList<>();
if (ObjectUtils.isEmpty(ycGetTodoTaskRequest.getUsername())) {
List<CompletedTaskPojo> list = bd.getBusinessDatabase()
.eq("is_delete", 0)
.gteq("creation_date", ycGetTodoTaskRequest.getCreateDateStart())
.lteq("creation_date", ycGetTodoTaskRequest.getCreateDateEnd() == null ? new Date() : ycGetTodoTaskRequest.getCreateDateEnd())
MpaasQuery query = bd.getBusinessDatabase()
.eq("is_delete", 0);
queryData(ycGetTodoTaskRequest, query);
List<CompletedTaskPojo> list = query
.doQuery(CompletedTaskPojo.class);
completedTaskPojos.addAll(list);
} else {
@ -145,12 +143,11 @@ public class YcTaskResultServiceImpl implements YcTaskResultService {
if (user == null) {
throw new CommonException("用户不存在");
}
Date createDateEnd = safeParseDateParam(ycGetTodoTaskRequest.getCreateDateEnd(), new Date());
List<CompletedTaskPojo> result = bd.getBusinessDatabase()
MpaasQuery query = bd.getBusinessDatabase()
.eq("owner_id", user.getId())
.eq("is_delete", 0)
.gteq("creation_date", ycGetTodoTaskRequest.getCreateDateStart())
.lteq("creation_date", createDateEnd)
.eq("is_delete", 0);
queryData(ycGetTodoTaskRequest, query);
List<CompletedTaskPojo> result = query
.doQuery(CompletedTaskPojo.class);
completedTaskPojos.addAll(result);
}
@ -202,16 +199,13 @@ public class YcTaskResultServiceImpl implements YcTaskResultService {
@Override
public YcTaskResult returnInitiator(YcGetTodoTaskRequest ycGetTodoTaskRequest) {
YcTaskResult ycTaskResult = new YcTaskResult();
if (ObjectUtils.isEmpty(ycGetTodoTaskRequest.getCreateDateStart())) {
throw new CommonException("开始时间为必填项");
}
List<InitiatedTaskPojo> initiatedTaskPojos = new ArrayList<>();
long total = 0;
long total;
if (ObjectUtils.isEmpty(ycGetTodoTaskRequest.getUsername())) {
List<InitiatedTaskPojo> list = bd.getBusinessDatabase()
.eq("is_delete", 0)
.gteq("creation_date", ycGetTodoTaskRequest.getCreateDateStart())
.lteq("creation_date", ycGetTodoTaskRequest.getCreateDateEnd() == null ? new Date() : ycGetTodoTaskRequest.getCreateDateEnd())
MpaasQuery query = bd.getBusinessDatabase()
.eq("is_delete", 0);
queryData(ycGetTodoTaskRequest, query);
List<InitiatedTaskPojo> list = query
.doQuery(InitiatedTaskPojo.class);
initiatedTaskPojos.addAll(list);
total = list.size();
@ -224,12 +218,11 @@ public class YcTaskResultServiceImpl implements YcTaskResultService {
}
Integer page = safeParsePageParam(ycGetTodoTaskRequest.getPage(), 1);
Integer pageSize = safeParsePageParam(ycGetTodoTaskRequest.getPageSize(), 10);
Date createDateEnd = safeParseDateParam(ycGetTodoTaskRequest.getCreateDateEnd(), new Date());
PageQueryResult<InitiatedTaskPojo> result = bd.getBusinessDatabase()
MpaasQuery query = bd.getBusinessDatabase()
.eq("created_by_id", user.getId())
.eq("is_delete", 0)
.gteq("creation_date", ycGetTodoTaskRequest.getCreateDateStart())
.lteq("creation_date", createDateEnd)
.eq("is_delete", 0);
queryData(ycGetTodoTaskRequest, query);
PageQueryResult<InitiatedTaskPojo> result = query
.doPageQuery(page, pageSize, InitiatedTaskPojo.class);
total = result.getCount();
initiatedTaskPojos.addAll(result.getResult());
@ -263,4 +256,15 @@ public class YcTaskResultServiceImpl implements YcTaskResultService {
return defaultValue;
}
}
private void queryData(YcGetTodoTaskRequest ycGetTodoTaskRequest, MpaasQuery query) {
if (ycGetTodoTaskRequest.getCreateDateStart() != null && !ycGetTodoTaskRequest.getCreateDateStart().isEmpty()) {
Date createDateStart = safeParseDateParam(ycGetTodoTaskRequest.getCreateDateStart(), new Date());
query.gteq("creation_date", createDateStart);
}
if (ycGetTodoTaskRequest.getCreateDateEnd() != null && !ycGetTodoTaskRequest.getCreateDateEnd().isEmpty()) {
Date createDateEnd = safeParseDateParam(ycGetTodoTaskRequest.getCreateDateEnd(), new Date());
query.lteq("creation_date", createDateEnd);
}
}
}

View File

@ -1,6 +1,6 @@
# ====================== APAAS ???? ======================
apaas.app.url=https://apaas-meim.app.yuchai.com/app/a5e8e08/ycgf-yf-rddata
apaas.token.url=http://apaas-meim.app.yuchai.com/apaas/backend/a5e8e08/ycgf-yf-rddata
apaas.token.url=http://asdasd
apaas.token.clientId=2b5b3de8-e7fd-406a-a59a-d5568457b1f4
apaas.token.clientSecred=94bddc6a-27a4-4204-885b-b075812ec535
apaas.single.tenantId=223770822127386625