上线版本
This commit is contained in:
parent
46ceb430b4
commit
d4d5dc2e23
@ -17,16 +17,18 @@ public class BusinessDatabase {
|
||||
@Value("${apaas.single.tenantId}")
|
||||
private String tenantId;
|
||||
|
||||
@Value("${mpaas.datasource[0].name}")
|
||||
private String tcDatabaseName;
|
||||
|
||||
@Bean
|
||||
public MpaasQuery getBusinessDatabase() {
|
||||
return queryFactory.buildFromDatasource("qygs");
|
||||
}
|
||||
|
||||
@Bean
|
||||
public MpaasQuery getSystemDatabase() {
|
||||
return queryFactory.buildFromDatasource(DatasourceConstant.XDAP_MYSQL_PREFIX + tenantId);
|
||||
}
|
||||
|
||||
@Bean
|
||||
public MpaasQuery getTCDatabase() {
|
||||
return queryFactory.buildFromDatasource(tcDatabaseName == null ? DatasourceConstant.XDAP_MYSQL_PREFIX + tenantId : tcDatabaseName);
|
||||
return queryFactory.buildFromDatasource("yc_lrs_test_relsult");
|
||||
}
|
||||
}
|
||||
|
||||
@ -11,6 +11,7 @@ import org.springframework.web.multipart.MultipartFile;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import javax.servlet.http.HttpServletResponse;
|
||||
import javax.validation.constraints.NotBlank;
|
||||
|
||||
/**
|
||||
* 发动机型号数据控制器
|
||||
@ -27,6 +28,19 @@ public class DataEntryEngineModelController {
|
||||
@Resource
|
||||
private DataEntryEngineModelService entryEngineModelService;
|
||||
|
||||
/**
|
||||
* 同步新模板参数
|
||||
*
|
||||
* @param modelId 机型ID
|
||||
*/
|
||||
@GetMapping("synchronizeParams")
|
||||
public Response synchronizeParams(
|
||||
@NotBlank(message = "机型不能为空") String modelId
|
||||
) {
|
||||
entryEngineModelService.synchronizeParams(modelId);
|
||||
return Response.ok().setMessage("同步成功");
|
||||
}
|
||||
|
||||
/**
|
||||
* Excel导入
|
||||
*
|
||||
|
||||
@ -4,7 +4,7 @@ import com.definesys.mpaas.common.http.Response;
|
||||
import com.definesys.mpaas.query.db.PageQueryResult;
|
||||
import com.xdap.api.moudle.department.pojo.entity.XdapDepartments;
|
||||
import com.xdap.api.moudle.user.pojo.XdapUsers;
|
||||
import com.xdap.runtime.service.RuntimeDatasourceService;
|
||||
import com.xdap.self_development.common.BusinessDatabase;
|
||||
import com.xdap.self_development.common.MyResponse;
|
||||
import com.xdap.self_development.controller.form.*;
|
||||
import com.xdap.self_development.domain.pojo.ResponsiblePersonPojo;
|
||||
@ -34,7 +34,7 @@ import java.util.Set;
|
||||
@RequestMapping("/custom/responsible")
|
||||
public class ResponsiblePersonController {
|
||||
@Resource
|
||||
private RuntimeDatasourceService runtimeDatasourceService;
|
||||
private BusinessDatabase bd;
|
||||
@Resource
|
||||
private ResponsiblePersonService responsiblePersonService;
|
||||
|
||||
@ -158,14 +158,12 @@ public class ResponsiblePersonController {
|
||||
) {
|
||||
List<XdapDepartments> xdapDepartments;
|
||||
if (departmentId == null || departmentId.isEmpty()) {
|
||||
xdapDepartments = runtimeDatasourceService.
|
||||
buildTenantNoSchemaMpaasQuery()
|
||||
xdapDepartments = bd.getSystemDatabase()
|
||||
.eq("level", 1)
|
||||
.eq("status", "ENABLE")
|
||||
.doQuery(XdapDepartments.class);
|
||||
} else {
|
||||
xdapDepartments = runtimeDatasourceService.
|
||||
buildTenantNoSchemaMpaasQuery()
|
||||
xdapDepartments = bd.getSystemDatabase()
|
||||
.eq("parent_id", departmentId)
|
||||
.eq("status", "ENABLE")
|
||||
.doQuery(XdapDepartments.class);
|
||||
@ -184,8 +182,7 @@ public class ResponsiblePersonController {
|
||||
public Response getUserByDepartmentId(
|
||||
@Valid DepartmentUserForm form
|
||||
) {
|
||||
List<DepartmentUserView> responsiblePeoples = runtimeDatasourceService
|
||||
.buildTenantNoSchemaMpaasQuery()
|
||||
List<DepartmentUserView> responsiblePeoples = bd.getSystemDatabase()
|
||||
.viewQueryMode(true)
|
||||
.view("getUserByDepartment")
|
||||
.setVar("departmentId", form.getDepartmentId())
|
||||
|
||||
@ -2,7 +2,7 @@ package com.xdap.self_development.controller;
|
||||
|
||||
import com.definesys.mpaas.common.http.Response;
|
||||
import com.definesys.mpaas.query.db.PageQueryResult;
|
||||
import com.xdap.runtime.service.RuntimeDatasourceService;
|
||||
import com.xdap.self_development.common.BusinessDatabase;
|
||||
import com.xdap.self_development.controller.form.*;
|
||||
import com.xdap.self_development.domain.dto.ApprovalNodesDTO;
|
||||
import com.xdap.self_development.domain.view.ApprovalFlowNodeView;
|
||||
@ -31,7 +31,7 @@ public class TemplateApprovalController {
|
||||
@Resource
|
||||
private TemplateApprovalService templateApprovalService;
|
||||
@Resource
|
||||
private RuntimeDatasourceService runtimeDatasourceService;
|
||||
private BusinessDatabase bd;
|
||||
|
||||
/**
|
||||
* 修改后继续流程
|
||||
@ -132,7 +132,7 @@ public class TemplateApprovalController {
|
||||
public Response getUsersByCondition(
|
||||
@RequestParam String name
|
||||
) {
|
||||
List<DepartmentUserView> users = runtimeDatasourceService.buildTenantNoSchemaMpaasQuery()
|
||||
List<DepartmentUserView> users = bd.getSystemDatabase()
|
||||
.viewQueryMode(true)
|
||||
.view("getUserAndDept")
|
||||
.like("username", name)
|
||||
|
||||
@ -3,14 +3,13 @@ package com.xdap.self_development.controller;
|
||||
|
||||
import com.definesys.mpaas.common.http.Response;
|
||||
import com.xdap.api.moudle.user.pojo.XdapUsers;
|
||||
import com.xdap.self_development.domain.view.UserInfoView;
|
||||
import com.xdap.self_development.service.XdapDeptUsersService;
|
||||
import org.apache.commons.lang3.ObjectUtils;
|
||||
import org.springframework.web.bind.annotation.PostMapping;
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
import org.springframework.web.bind.annotation.RequestParam;
|
||||
import org.springframework.web.bind.annotation.RestController;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import javax.validation.constraints.NotBlank;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
@ -26,6 +25,14 @@ public class XdapDeptUsersController {
|
||||
@Resource
|
||||
private XdapDeptUsersService xdapDeptUsersService;
|
||||
|
||||
@GetMapping("/getUserInfo")
|
||||
public Response getDeptAndUserById(
|
||||
@NotBlank(message = "用户不能为空") String userId
|
||||
) {
|
||||
UserInfoView userInfo = xdapDeptUsersService.getUserInfo(userId);
|
||||
return Response.ok(userInfo);
|
||||
}
|
||||
|
||||
/**
|
||||
* 查询部门下的人(用于选择参数填写人)
|
||||
*
|
||||
|
||||
@ -27,6 +27,11 @@ public class EngineParamDetailRequest {
|
||||
*/
|
||||
@NotBlank(message = "发动机型号ID不能为空")
|
||||
private String engineModelID;
|
||||
|
||||
/**
|
||||
* 版本
|
||||
*/
|
||||
private Integer versionNumber;
|
||||
/**
|
||||
* 发动机型号+产品编号
|
||||
*/
|
||||
|
||||
@ -18,7 +18,7 @@ import java.sql.Timestamp;
|
||||
*/
|
||||
@SQLQuery(value = {
|
||||
@SQL(view = "getReportById",
|
||||
sql = "SELECT ymbr.series, ymbr.id, ymbr.title, ymbr.manufacturer_name, ymbr.model_name, ymbr.module , ymbr.manufacturer_abbreviation, ymbr.model_abbreviation, ymbr.product_number, ymbr.plate, ymbr.platform , ymbr.market_segment, ymbr.project_name, ymbr.project_number, ymbr.upload_time, ymbr.file_path , ymbr.status, ymbr.file_name, xu.username AS create_by FROM yfsjglpt_model_benchmarking_report ymbr LEFT JOIN xdap_users xu ON xu.id = ymbr.create_by where ymbr.id = #reportId")
|
||||
sql = "SELECT ymbr.series, ymbr.id, ymbr.title, ymbr.manufacturer_name, ymbr.model_name, ymbr.module , ymbr.manufacturer_abbreviation, ymbr.model_abbreviation, ymbr.product_number, ymbr.plate, ymbr.platform , ymbr.market_segment, ymbr.project_name, ymbr.project_number, ymbr.upload_time, ymbr.file_path , ymbr.status, ymbr.file_name FROM yfsjglpt_model_benchmarking_report ymbr where ymbr.id = #reportId")
|
||||
})
|
||||
@EqualsAndHashCode(callSuper = true)
|
||||
@Data
|
||||
|
||||
@ -146,7 +146,7 @@ public class ParameterPojo extends MpaasBasePojo {
|
||||
"非必填",
|
||||
"必填,并且为下列之一:数据平台手工录入、TC分类表、公式计算",
|
||||
"非必填,如果参数来源为'公式计算'则必填。填写规范:参数名可以是中文、数字、大小写字母、中文括号 `()`必须以中文开头,不能包含运算符和英文括号;参数名也可以是数字;支持圆周率,必须是小写的`π`,不支持`Π`;负号 `-` 可作为操作数前缀。公式示例:π*(直径(内径)/2)*(直径(内径)/2)",
|
||||
"非必填,如果参数来源为'数据平台手工录入'则必填;部门必须为研发总院的子部门,如‘研发部’",
|
||||
"非必填,如果参数来源为'数据平台手工录入'则必填;部门必须为研发总院的部门,如‘研发部’",
|
||||
"非必填"};
|
||||
}
|
||||
}
|
||||
|
||||
@ -14,7 +14,7 @@ import java.sql.Timestamp;
|
||||
@Table("yfsjglpt_model_responsible_person")
|
||||
@SQLQuery(value = {
|
||||
@SQL(view = "getResponsibleAndName",
|
||||
sql = "SELECT ymrp.*, xu.username, xu.user_number as userAccount FROM yfsjglpt_model_responsible_person ymrp JOIN xdap_users xu ON ymrp.user_id = xu.id where ymrp.person_level = #level order by creation_date desc")
|
||||
sql = "SELECT ymrp.* FROM yfsjglpt_model_responsible_person ymrp where ymrp.person_level = #level order by creation_date desc")
|
||||
})
|
||||
public class ResponsiblePersonPojo extends MpaasBasePojo {
|
||||
@RowID(sequence = "responsible_person_s", type = RowIDType.UUID)
|
||||
|
||||
@ -17,12 +17,11 @@ import java.sql.Timestamp;
|
||||
|
||||
@SQLQuery(value = {
|
||||
@SQL(view = "getLatestTemplateOrder",
|
||||
sql = "WITH ranked_templates AS ( SELECT t.*, ROW_NUMBER() OVER (PARTITION BY template_name ORDER BY CASE status WHEN 'COMPLETE' THEN 1 WHEN 'APPROVING' THEN 2 ELSE 3 END, version DESC) AS rn FROM yfsjglpt_model_template t WHERE status IN ('COMPLETE', 'DRAFT', 'APPROVING') ) SELECT rt.order_num, rt.id, rt.template_name, rt.version, rt.status , rt.created_time, rt.published_time, xu.username AS \"createBy\" FROM ranked_templates rt LEFT JOIN xdap_users xu ON xu.id = rt.create_by WHERE rt.rn = 1 ORDER BY CASE rt.status WHEN 'COMPLETE' THEN 1 WHEN 'APPROVING' THEN 2 WHEN 'DRAFT' THEN 3 WHEN 'RETURNED' THEN 4 WHEN 'REJECTED' THEN 5 ELSE 6 END ASC, rt.order_num DESC"),
|
||||
sql = "WITH ranked_templates AS ( SELECT t.*, ROW_NUMBER() OVER (PARTITION BY template_name ORDER BY CASE status WHEN 'COMPLETE' THEN 1 WHEN 'APPROVING' THEN 2 ELSE 3 END, version DESC) AS rn FROM yfsjglpt_model_template t WHERE status IN ('COMPLETE', 'DRAFT', 'APPROVING') ) SELECT rt.order_num, rt.id, rt.template_name, rt.version, rt.status , rt.created_time, rt.published_time, rt.create_by AS \"createBy\" FROM ranked_templates rt WHERE rt.rn = 1 ORDER BY CASE rt.status WHEN 'COMPLETE' THEN 1 WHEN 'APPROVING' THEN 2 WHEN 'DRAFT' THEN 3 WHEN 'RETURNED' THEN 4 WHEN 'REJECTED' THEN 5 ELSE 6 END ASC, rt.created_time DESC"),
|
||||
// 查找每个模板的最新版本并且优先级按照已发布、审核中、草稿状态转变(只有这三种状态)
|
||||
// CASE ranked.status WHEN 'COMPLETE' THEN 1 WHEN 'APPROVING' THEN 2 WHEN 'DRAFT' THEN 3 WHEN 'RETURNED' THEN 4 WHEN 'REJECTED' THEN 5 ELSE 6 END ASC,
|
||||
@SQL(view = "getLatestTemplate",
|
||||
sql = "SELECT ROW_NUMBER() OVER (ORDER BY ranked.order_num DESC) AS display_order_num, ranked.id, ranked.template_name, ranked.version, ranked.return_num , ranked.status, ranked.created_time, ranked.published_time, ROW_NUMBER() OVER (ORDER BY ranked.order_num DESC) AS order_num , xu.username AS \"createBy\" FROM ( SELECT t.*, ROW_NUMBER() OVER (PARTITION BY template_name ORDER BY CASE WHEN status = 'COMPLETE' THEN 1 WHEN status = 'APPROVING' THEN 2 ELSE 3 END, version DESC) AS rn FROM yfsjglpt_model_template t WHERE status IN ('COMPLETE', 'DRAFT', 'APPROVING') ) ranked LEFT JOIN xdap_users xu ON xu.id = ranked.create_by WHERE rn = 1 ORDER BY ranked.order_num DESC"
|
||||
// sql = "SELECT ROW_NUMBER() OVER (ORDER BY CASE ranked.status WHEN 'COMPLETE' THEN 1 WHEN 'APPROVING' THEN 2 WHEN 'DRAFT' THEN 3 WHEN 'RETURNED' THEN 4 WHEN 'REJECTED' THEN 5 ELSE 6 END ASC, ranked.order_num DESC) AS order_num, ranked.id, ranked.template_name, ranked.version , ranked.status, ranked.created_time, ranked.published_time, xu.username AS \"createBy\" FROM ( SELECT t.*, ROW_NUMBER() OVER (PARTITION BY template_name ORDER BY CASE WHEN status = 'COMPLETE' THEN 1 WHEN status = 'APPROVING' THEN 2 ELSE 3 END, version DESC) AS rn FROM yfsjglpt_model_template t WHERE status IN ('COMPLETE', 'DRAFT', 'APPROVING') ) ranked LEFT JOIN xdap_users xu ON xu.id = ranked.create_by WHERE rn = 1 ORDER BY ranked.order_num DESC"
|
||||
sql = "SELECT ROW_NUMBER() OVER (ORDER BY ranked.created_time DESC) AS display_order_num, ranked.id, ranked.template_name, ranked.version, ranked.return_num , ranked.status, ranked.created_time, ranked.published_time, ROW_NUMBER() OVER (ORDER BY ranked.order_num DESC) AS order_num , ranked.create_by AS \"createBy\" FROM ( SELECT t.*, ROW_NUMBER() OVER (PARTITION BY template_name ORDER BY CASE WHEN status = 'COMPLETE' THEN 1 WHEN status = 'APPROVING' THEN 2 ELSE 3 END, version DESC) AS rn FROM yfsjglpt_model_template t WHERE status IN ('COMPLETE', 'DRAFT', 'APPROVING') ) ranked WHERE rn = 1 ORDER BY ranked.created_time DESC"
|
||||
),
|
||||
// 获取所有模板的最新版本号(包括所有状态)
|
||||
@SQL(view = "getNewTemplate",
|
||||
|
||||
@ -13,7 +13,7 @@ import java.util.List;
|
||||
@SQLQuery(value = {
|
||||
// 查询每个报告最新审批流程
|
||||
@SQL(view = "getAllReportApprovalList",
|
||||
sql = "WITH RankedFlows AS (SELECT af.id AS flowId, r.id AS reportId, af.process_title AS title, af.flow_status AS status, af.create_by AS createBy, xu.username AS username, af.created_time AS createdTime, ac.assignees AS current_users, ROW_NUMBER() OVER (PARTITION BY af.template_id ORDER BY af.created_time DESC) AS rn FROM yfsjglpt_model_approval_flow af LEFT JOIN approval_config ac ON af.id = ac.approval_id AND af.current_node = ac.node_order LEFT JOIN yfsjglpt_model_benchmarking_report r ON af.template_id = r.id LEFT JOIN xdap_users xu ON xu.id = af.create_by WHERE af.flow_type = 2 and af.flow_status <> 'DRAFT') SELECT flowId, reportId, title, status, createBy, username, createdTime, current_users FROM RankedFlows WHERE rn = 1 AND title LIKE CONCAT('%', #title, '%') AND status LIKE CONCAT('%', #status, '%') AND createdTime LIKE CONCAT('%', #createdTime, '%') AND username LIKE CONCAT('%', #username, '%') ORDER BY createdTime DESC")
|
||||
sql = "WITH RankedFlows AS ( SELECT af.id AS flowId, r.id AS reportId, af.process_title AS title, af.flow_status AS status, af.create_by AS createBy , af.created_time AS createdTime, ac.assignees AS current_users, row_number() OVER (PARTITION BY af.template_id ORDER BY af.created_time DESC) AS rn FROM yfsjglpt_model_approval_flow af LEFT JOIN approval_config ac ON af.id = ac.approval_id AND af.current_node = ac.node_order LEFT JOIN yfsjglpt_model_benchmarking_report r ON af.template_id = r.id WHERE af.flow_type = 2 AND af.flow_status <> 'DRAFT' ) SELECT flowId, reportId, title, status, createBy , createdTime, current_users FROM RankedFlows WHERE rn = 1 AND title LIKE CONCAT('%', #title, '%') AND status LIKE CONCAT('%', #status, '%') AND createdTime LIKE CONCAT('%', #createdTime, '%') AND createBy in (#ids) ORDER BY createdTime DESC")
|
||||
})
|
||||
@Data
|
||||
public class TodoAndReportListView {
|
||||
|
||||
@ -12,11 +12,9 @@ import java.util.List;
|
||||
@SQLQuery(value = {
|
||||
// CASE af.flow_status WHEN 'COMPLETE' THEN 1 WHEN 'APPROVING' THEN 2 WHEN 'DRAFT' THEN 3 WHEN 'REJECTED' THEN 4 ELSE 5 END ASC
|
||||
@SQL(view = "getAllApproval",
|
||||
sql = "WITH RankedFlows AS ( SELECT af.id AS flowId, t.id AS templateId, t.template_name AS templateName, t.version AS version, af.flow_status AS status , af.create_by AS createBy, xu.username AS username, af.created_time AS createdTime, ac.assignees AS current_users , ROW_NUMBER() OVER (PARTITION BY af.template_id ORDER BY af.created_time DESC) AS rn FROM yfsjglpt_model_approval_flow af LEFT JOIN approval_config ac ON af.id = ac.approval_id AND af.current_node = ac.node_order LEFT JOIN yfsjglpt_model_template t ON af.template_id = t.id LEFT JOIN xdap_users xu ON xu.id = af.create_by WHERE af.flow_type = 1 ) SELECT flowId, templateId, templateName, version, status , createBy, username, createdTime, current_users FROM RankedFlows WHERE rn = 1 AND templateName LIKE CONCAT('%', #templateName, '%')AND status LIKE CONCAT('%', #status, '%')AND createdTime LIKE CONCAT('%', #createdTime, '%')AND username LIKE CONCAT('%', #username, '%') ORDER BY createdTime DESC"),
|
||||
sql = "WITH RankedFlows AS ( SELECT af.id AS flowId, t.id AS templateId, t.template_name AS templateName, t.version AS version, af.flow_status AS status , af.create_by AS createBy, af.created_time AS createdTime, ac.assignees AS current_users , ROW_NUMBER() OVER (PARTITION BY af.template_id ORDER BY af.created_time DESC) AS rn FROM yfsjglpt_model_approval_flow af LEFT JOIN approval_config ac ON af.id = ac.approval_id AND af.current_node = ac.node_order LEFT JOIN yfsjglpt_model_template t ON af.template_id = t.id WHERE af.flow_type = 1 ) SELECT flowId, templateId, templateName, version, status , createBy, createdTime, current_users FROM RankedFlows WHERE rn = 1 AND templateName LIKE CONCAT('%', #templateName, '%')AND status LIKE CONCAT('%', #status, '%')AND createdTime LIKE CONCAT('%', #createdTime, '%') AND createBy in (#ids) ORDER BY createdTime DESC"),
|
||||
@SQL(view = "getApprovalByUserIdAndIds",
|
||||
sql = "SELECT af.id AS \"flowId\", t.id AS \"templateId\", t.template_name AS \"templateName\", t.version AS \"version\", af.flow_status AS \"status\" , af.create_by AS \"createBy\", af.created_time AS \"createdTime\" , CASE WHEN current_node = 'PROOFREAD' THEN proofread_users WHEN current_node = 'REVIEW' THEN review_users WHEN current_node = 'COUNTERSIGN' THEN countersign_users WHEN current_node = 'APPROVE' THEN approve_users END AS current_users FROM yfsjglpt_model_approval_flow af JOIN yfsjglpt_model_template t ON af.template_id = t.id WHERE t.template_name like CONCAT('%',#templateName, '%') and af.flow_status like CONCAT('%',#status, '%') and af.flow_type = 1 and af.id NOT IN (#ids) AND af.create_by = #createBy"),
|
||||
@SQL(view = "getTodoAndTemplate",
|
||||
sql = "SELECT af.id AS \"flowId\", t.id AS \"templateId\", t.template_name AS \"templateName\", t.version AS \"version\", af.flow_status AS \"status\" , af.create_by AS \"createBy\" , xu.username AS \"username\", af.created_time AS \"createdTime\" , CASE WHEN current_node = 'PROOFREAD' THEN proofread_users WHEN current_node = 'REVIEW' THEN review_users WHEN current_node = 'COUNTERSIGN' THEN countersign_users WHEN current_node = 'APPROVE' THEN approve_users END AS current_users FROM yfsjglpt_model_approval_flow af JOIN yfsjglpt_model_template t ON af.template_id = t.id LEFT JOIN xdap_users xu ON xu.id = af.create_by WHERE t.template_name LIKE CONCAT('%', #templateName, '%') AND af.flow_status LIKE CONCAT('%', #status, '%') AND af.created_time LIKE CONCAT('%', #createdTime, '%') AND xu.username LIKE CONCAT('%', #username, '%') AND af.flow_type = 1 AND (af.id IN (#ids) OR af.create_by = #createBy) ORDER BY CASE af.flow_status WHEN 'COMPLETE' THEN 1 WHEN 'APPROVING' THEN 2 WHEN 'DRAFT' THEN 3 WHEN 'REJECTED' THEN 4 ELSE 5 END ASC")
|
||||
})
|
||||
@Data
|
||||
public class TodoAndTemplateView {
|
||||
|
||||
@ -0,0 +1,11 @@
|
||||
package com.xdap.self_development.domain.view;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
@Data
|
||||
public class UserInfoView {
|
||||
private String username;
|
||||
private List<String> departments;
|
||||
}
|
||||
@ -1,4 +1,4 @@
|
||||
package com.xdap.self_development.schedule;
|
||||
package com.xdap.self_development.job;
|
||||
|
||||
import com.xdap.self_development.common.BusinessDatabase;
|
||||
import com.xdap.self_development.domain.pojo.ClassificationAttributePojo;
|
||||
@ -7,6 +7,7 @@ import com.xdap.self_development.domain.pojo.DataEntryEngineModelPojo;
|
||||
import org.springframework.web.multipart.MultipartFile;
|
||||
|
||||
import javax.servlet.http.HttpServletResponse;
|
||||
import javax.validation.constraints.NotBlank;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
@ -43,4 +44,6 @@ public interface DataEntryEngineModelService {
|
||||
PageResultDTO<DataEntryEngineModelDto> selectVersionByConditionPage();
|
||||
|
||||
void delete(String modelId);
|
||||
|
||||
void synchronizeParams(@NotBlank(message = "机型不能为空") String modelId);
|
||||
}
|
||||
|
||||
@ -3,7 +3,9 @@ package com.xdap.self_development.service;
|
||||
|
||||
import com.xdap.api.moudle.department.pojo.entity.XdapDepartments;
|
||||
import com.xdap.api.moudle.user.pojo.XdapUsers;
|
||||
import com.xdap.self_development.domain.view.UserInfoView;
|
||||
|
||||
import javax.validation.constraints.NotBlank;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
@ -30,4 +32,6 @@ public interface XdapDeptUsersService {
|
||||
XdapUsers selectUserByID(String userId);
|
||||
//通过人工号查找人员
|
||||
XdapUsers selectUserByCode(String userCode);
|
||||
|
||||
UserInfoView getUserInfo(@NotBlank(message = "用户不能为空") String userId);
|
||||
}
|
||||
|
||||
@ -509,6 +509,10 @@ public class ActivitiProcessServiceImpl implements ActivitiProcessService {
|
||||
ParamValueVersionEnum status,
|
||||
String userId
|
||||
) {
|
||||
//
|
||||
DataEntryEngineModelPojo model = bd.getBusinessDatabase()
|
||||
.eq("id", flow.getModelId())
|
||||
.doQueryFirst(DataEntryEngineModelPojo.class);
|
||||
// 删除所有待办
|
||||
bd.getBusinessDatabase()
|
||||
.eq("document_no", flow.getId())
|
||||
@ -523,6 +527,8 @@ public class ActivitiProcessServiceImpl implements ActivitiProcessService {
|
||||
// .update("minor_version", "")// 小版本清空
|
||||
.update("last_update_date", new Date())
|
||||
.eq("approval_id", flow.getId())
|
||||
.eq("engine_model_id", flow.getModelId())
|
||||
.eq("major_version", model.getVersionNumber())
|
||||
.doUpdate(EngineParamDetailPojo.class);
|
||||
// 审批流改为已拒绝或已撤回
|
||||
bd.getBusinessDatabase()
|
||||
@ -632,7 +638,7 @@ public class ActivitiProcessServiceImpl implements ActivitiProcessService {
|
||||
.ne("is_distributed_res", 2)
|
||||
.isNull("parameter_value")
|
||||
.doQuery(EngineParamDetailPojo.class);
|
||||
|
||||
List<EngineParamDetailPojo> toBePassed = new ArrayList<>();
|
||||
if (emptyParameters.size() == oldDetails.size()) {
|
||||
for (EngineParamDetailPojo item : list) {
|
||||
bd.getBusinessDatabase()
|
||||
@ -640,23 +646,24 @@ public class ActivitiProcessServiceImpl implements ActivitiProcessService {
|
||||
.update("parameter_value", item.getMinorVersion())
|
||||
.update("minor_version", null)
|
||||
.doUpdate(EngineParamDetailPojo.class);
|
||||
toBePassed.add(item);
|
||||
}
|
||||
} else {
|
||||
// 更新机型版本
|
||||
model.setVersionNumber(model.getVersionNumber() + 1);
|
||||
List<EngineParamDetailPojo> toInsert = new ArrayList<>();
|
||||
for (EngineParamDetailPojo oldDetail : oldDetails) {
|
||||
List<EngineParamDetailPojo> allOldParams = bd.getBusinessDatabase()
|
||||
.eq("engine_model_id", flow.getModelId())
|
||||
.eq("major_version", model.getVersionNumber())
|
||||
.doQuery(EngineParamDetailPojo.class);
|
||||
model.setVersionNumber(model.getVersionNumber() + 1);
|
||||
for (EngineParamDetailPojo oldDetail : allOldParams) {
|
||||
EngineParamDetailPojo engineParamDetailPojo = new EngineParamDetailPojo();
|
||||
BeanUtils.copyProperties(oldDetail, engineParamDetailPojo
|
||||
, "id"
|
||||
, "majorVersion"
|
||||
, "minorVersion"
|
||||
, "versionStatus"
|
||||
, "approvalId"
|
||||
, "isDelete"
|
||||
, "operation");
|
||||
, "id");
|
||||
if (ids.contains(oldDetail.getId())) {
|
||||
engineParamDetailPojo.setParameterValue(oldDetail.getMinorVersion());
|
||||
engineParamDetailPojo.setMinorVersion(null);
|
||||
toBePassed.add(engineParamDetailPojo);
|
||||
}
|
||||
engineParamDetailPojo.setMajorVersion(model.getVersionNumber());
|
||||
// 添加到待插入列表
|
||||
@ -673,10 +680,18 @@ public class ActivitiProcessServiceImpl implements ActivitiProcessService {
|
||||
}
|
||||
|
||||
// 这一批数据改成审核通过,
|
||||
List<String> toBePassedIds = new ArrayList<>();
|
||||
if (!toBePassed.isEmpty()) {
|
||||
toBePassedIds.addAll(
|
||||
toBePassed.stream()
|
||||
.map(EngineParamDetailPojo::getId)
|
||||
.collect(Collectors.toList())
|
||||
);
|
||||
}
|
||||
bd.getBusinessDatabase()
|
||||
.update("version_status", ParamValueVersionEnum.PASSED.getCode())
|
||||
.update("last_update_date", new Date())
|
||||
.eq("approval_id", flow.getId())
|
||||
.in("id", toBePassedIds)
|
||||
.doUpdate(EngineParamDetailPojo.class);
|
||||
// 审批流改为已通过
|
||||
bd.getBusinessDatabase()
|
||||
@ -703,7 +718,9 @@ public class ActivitiProcessServiceImpl implements ActivitiProcessService {
|
||||
.update("distribute_status", DistributeStatusEnum.UNDISTRIBUTED.getCode())
|
||||
.doUpdate(DataEntryEngineModelPojo.class);
|
||||
// 修改新参数状态为草稿并清除所有责任人和填写人
|
||||
List<String> collected = finishDetails.stream().map(EngineParamDetailPojo::getId).collect(Collectors.toList());
|
||||
List<String> collected = finishDetails.stream()
|
||||
.map(EngineParamDetailPojo::getId)
|
||||
.collect(Collectors.toList());
|
||||
bd.getBusinessDatabase()
|
||||
.update("is_distributed_res", 0)
|
||||
.update("is_distributed_filled", 0)
|
||||
@ -1054,7 +1071,7 @@ public class ActivitiProcessServiceImpl implements ActivitiProcessService {
|
||||
dto.setNodeName(node.getNodeName());
|
||||
dto.setNodeOrder(node.getNodeOrder());
|
||||
dto.setAssignees(
|
||||
bd.getBusinessDatabase()
|
||||
bd.getSystemDatabase()
|
||||
.in("id", userIds)
|
||||
.doQuery(XdapUsers.class)
|
||||
);
|
||||
@ -1558,7 +1575,7 @@ public class ActivitiProcessServiceImpl implements ActivitiProcessService {
|
||||
private String getUserNames(List<String> userIds) {
|
||||
StringJoiner joiner = new StringJoiner(" ");
|
||||
for (String userId : userIds) {
|
||||
XdapUsers user = bd.getBusinessDatabase()
|
||||
XdapUsers user = bd.getSystemDatabase()
|
||||
.eq("id", userId)
|
||||
.doQueryFirst(XdapUsers.class);
|
||||
if (user != null) {
|
||||
|
||||
@ -191,12 +191,16 @@ public class BenchmarkingReportServiceImpl implements BenchmarkingReportService
|
||||
clientId,
|
||||
clientSecret
|
||||
);
|
||||
|
||||
if (token == null || token.getAccess_token() == null) {
|
||||
throw new CommonException("文件上传失败");
|
||||
}
|
||||
UserTokenDT0 userToken = apaasMyTokenFeign.getUserToken(
|
||||
token.getAccess_token(),
|
||||
userId
|
||||
);
|
||||
|
||||
if (userToken == null || userToken.getAccess_token() == null) {
|
||||
throw new CommonException("文件上传失败");
|
||||
}
|
||||
String uploadId = new ObjectId().toHexString();
|
||||
FileUploadDTO fileUploadDTO = apaasMyTokenFeign.uploadFile(
|
||||
"Bearer " + userToken.getAccess_token(),
|
||||
@ -206,6 +210,9 @@ public class BenchmarkingReportServiceImpl implements BenchmarkingReportService
|
||||
currentTenantId,
|
||||
userId
|
||||
);
|
||||
if (fileUploadDTO == null || fileUploadDTO.getData() == null) {
|
||||
throw new CommonException("文件上传失败");
|
||||
}
|
||||
Map<String, String> map = new HashMap<>();
|
||||
map.put("xdaptenantid", currentTenantId);
|
||||
cn.hutool.json.JSON json = JSONUtil.parse(map);
|
||||
@ -810,13 +817,18 @@ public class BenchmarkingReportServiceImpl implements BenchmarkingReportService
|
||||
*/
|
||||
@Override
|
||||
public PageQueryResult<TodoAndReportListView> getApprovalList(ApprovalListForm form) {
|
||||
List<String> ids = bd.getSystemDatabase()
|
||||
.like("username", form.getUsername())
|
||||
.eq("exit_status", "ENABLE")
|
||||
.doQuery(XdapUsers.class).stream()
|
||||
.map(XdapUsers::getId).collect(Collectors.toList());
|
||||
PageQueryResult<TodoAndReportListView> result = bd.getBusinessDatabase()
|
||||
.viewQueryMode(true)
|
||||
.view("getAllReportApprovalList")
|
||||
.setVar("title", form.getTemplateName())
|
||||
.setVar("status", form.getStatus())
|
||||
.setVar("createdTime", form.getCreateDate() == null ? "" : form.getCreateDate())
|
||||
.setVar("username", form.getUsername())
|
||||
.setVar("ids", ids)
|
||||
.doPageQuery(form.getPageNumber(), form.getPageSize(), TodoAndReportListView.class);
|
||||
setApprovalCurrentUser(result);
|
||||
return result;
|
||||
@ -831,12 +843,20 @@ public class BenchmarkingReportServiceImpl implements BenchmarkingReportService
|
||||
*/
|
||||
private void setApprovalCurrentUser(PageQueryResult<TodoAndReportListView> result) {
|
||||
result.getResult().forEach(item -> {
|
||||
ApprovalXdapUsersPojo approvalXdapUser = bd.getSystemDatabase()
|
||||
.eq("id", item.getCreateBy())
|
||||
.doQueryFirst(ApprovalXdapUsersPojo.class);
|
||||
if (approvalXdapUser == null || approvalXdapUser.getUsername() == null) {
|
||||
item.setUsername("未知用户-" + item.getCreateBy());
|
||||
} else {
|
||||
item.setUsername(approvalXdapUser.getUsername());
|
||||
}
|
||||
if (item.getCurrentUsers() == null || item.getCurrentUsers().isEmpty()) {
|
||||
item.setCurrentApprovers(null);
|
||||
item.setCurrentUsers(null);
|
||||
} else {
|
||||
List<String> userIds = JSON.parseArray(item.getCurrentUsers()).toJavaList(String.class);
|
||||
List<ApprovalXdapUsersPojo> approvalXdapUsers = bd.getBusinessDatabase()
|
||||
List<ApprovalXdapUsersPojo> approvalXdapUsers = bd.getSystemDatabase()
|
||||
.in("id", userIds)
|
||||
.doQuery(ApprovalXdapUsersPojo.class);
|
||||
item.setCurrentApprovers(approvalXdapUsers);
|
||||
@ -883,7 +903,7 @@ public class BenchmarkingReportServiceImpl implements BenchmarkingReportService
|
||||
*/
|
||||
private void setCurrentApprovers(PageQueryResult<TodoAndReportView> result) {
|
||||
result.getResult().forEach(item -> {
|
||||
ApprovalXdapUsersPojo approvalXdapUser = bd.getBusinessDatabase()
|
||||
ApprovalXdapUsersPojo approvalXdapUser = bd.getSystemDatabase()
|
||||
.eq("id", item.getCreateBy())
|
||||
.doQueryFirst(ApprovalXdapUsersPojo.class);
|
||||
item.setCreateBy(approvalXdapUser == null ? item.getCreateBy() : approvalXdapUser.getUsername());
|
||||
@ -1216,7 +1236,7 @@ public class BenchmarkingReportServiceImpl implements BenchmarkingReportService
|
||||
dto.setNodeName(node.getNodeName());
|
||||
dto.setNodeOrder(node.getNodeOrder());
|
||||
dto.setAssignees(
|
||||
bd.getBusinessDatabase()
|
||||
bd.getSystemDatabase()
|
||||
.in("id", userIds)
|
||||
.doQuery(XdapUsers.class)
|
||||
);
|
||||
@ -1230,11 +1250,20 @@ public class BenchmarkingReportServiceImpl implements BenchmarkingReportService
|
||||
|
||||
@Override
|
||||
public BenchmarkingReportPojo getReportDetail(String reportId) {
|
||||
return bd.getBusinessDatabase()
|
||||
BenchmarkingReportPojo benchmarkingReportPojo = bd.getBusinessDatabase()
|
||||
.viewQueryMode(true)
|
||||
.view("getReportById")
|
||||
.setVar("reportId", reportId)
|
||||
.doQueryFirst(BenchmarkingReportPojo.class);
|
||||
XdapUsers user = bd.getSystemDatabase()
|
||||
.eq("id", benchmarkingReportPojo.getCreateBy())
|
||||
.doQueryFirst(XdapUsers.class);
|
||||
if (user == null || user.getUsername() == null) {
|
||||
benchmarkingReportPojo.setCreateBy("未知用户-" + benchmarkingReportPojo.getCreateBy());
|
||||
} else {
|
||||
benchmarkingReportPojo.setCreateBy(user.getUsername());
|
||||
}
|
||||
return benchmarkingReportPojo;
|
||||
}
|
||||
|
||||
@Override
|
||||
@ -1387,7 +1416,7 @@ public class BenchmarkingReportServiceImpl implements BenchmarkingReportService
|
||||
private String getUserNames(List<String> userIds) {
|
||||
StringJoiner joiner = new StringJoiner(" ");
|
||||
for (String userId : userIds) {
|
||||
XdapUsers user = bd.getBusinessDatabase()
|
||||
XdapUsers user = bd.getSystemDatabase()
|
||||
.eq("id", userId)
|
||||
.doQueryFirst(XdapUsers.class);
|
||||
if (user != null) {
|
||||
|
||||
@ -190,7 +190,7 @@ public class DataEntryEngineModelServiceImpl implements DataEntryEngineModelServ
|
||||
if (ObjectUtils.isEmpty(userId)) {
|
||||
throw new ExcelImportException("执行上传操作的用户查不到,无法上传");
|
||||
}
|
||||
List<XdapUsers> users = bd.getBusinessDatabase()
|
||||
List<XdapUsers> users = bd.getSystemDatabase()
|
||||
.eq("id", userId)
|
||||
.doQuery(XdapUsers.class);
|
||||
if (ObjectUtils.isEmpty(users)) {
|
||||
@ -239,7 +239,7 @@ public class DataEntryEngineModelServiceImpl implements DataEntryEngineModelServ
|
||||
);
|
||||
}
|
||||
|
||||
List<XdapUsers> users = bd.getBusinessDatabase()
|
||||
List<XdapUsers> users = bd.getSystemDatabase()
|
||||
.eq("id", userId)
|
||||
.doQuery(XdapUsers.class);
|
||||
if (ObjectUtils.isEmpty(users)) {
|
||||
@ -394,16 +394,9 @@ public class DataEntryEngineModelServiceImpl implements DataEntryEngineModelServ
|
||||
*/
|
||||
@Override
|
||||
public void delete(String modelId) {
|
||||
EngineReviewListPojo flow = bd.getBusinessDatabase()
|
||||
.eq("model_id", modelId)
|
||||
.doQueryFirst(EngineReviewListPojo.class);
|
||||
if (!ObjectUtils.isEmpty(flow)) {
|
||||
throw new CommonException("参数值在审批值,机型无法删除");
|
||||
}
|
||||
|
||||
|
||||
DataEntryEngineModelPojo model = bd.getBusinessDatabase()
|
||||
.eq("model_id", modelId)
|
||||
.eq("id", modelId)
|
||||
.doQueryFirst(DataEntryEngineModelPojo.class);
|
||||
if (ObjectUtils.isEmpty(model)) {
|
||||
throw new CommonException("机型不存在");
|
||||
@ -419,6 +412,13 @@ public class DataEntryEngineModelServiceImpl implements DataEntryEngineModelServ
|
||||
.doUpdate(DataEntryEngineModelPojo.class);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void synchronizeParams(String modelId) {
|
||||
bd.getBusinessDatabase()
|
||||
.eq("status", "COMPLETE")
|
||||
.doQuery(TemplatePojo.class);
|
||||
}
|
||||
|
||||
/**
|
||||
* 设置响应
|
||||
* 设置HTTP响应的头部信息用于文件下载
|
||||
|
||||
@ -373,11 +373,15 @@ public class EngineParamDetailServiceImpl implements EngineParamDetailService {
|
||||
.eq("parameter_source", "数据平台手工录入")
|
||||
.doQuery(EngineParamDetailPojo.class));
|
||||
} else {
|
||||
Integer version = model.getVersionNumber();
|
||||
if (request.getVersionNumber() != null) {
|
||||
version = request.getVersionNumber();
|
||||
}
|
||||
paramDetails.addAll(bd.getBusinessDatabase()
|
||||
.eq("engine_model_id", model.getId())
|
||||
.eq("subsystem_name", subsystem)
|
||||
.eq("parts_name", type)
|
||||
.eq("major_version", model.getVersionNumber())
|
||||
.eq("major_version", version)
|
||||
.eq("parameter_source", "数据平台手工录入")
|
||||
.doQuery(EngineParamDetailPojo.class));
|
||||
}
|
||||
|
||||
@ -159,6 +159,8 @@ public class ParameterServiceImpl implements ParameterService {
|
||||
* @param userId 用户ID
|
||||
* @return 模板POJO
|
||||
*/
|
||||
@Override
|
||||
@Transactional
|
||||
public TemplatePojo createOrReuseNewTemplate(TemplateBenchmark benchmark, String userId) {
|
||||
TemplatePojo baseTemplate = benchmark.getBaseTemplate();
|
||||
// 草稿状态复用原模板,已发布创建新版本
|
||||
@ -187,6 +189,7 @@ public class ParameterServiceImpl implements ParameterService {
|
||||
* @param templateRowId 模板行ID
|
||||
* @return 模板基准信息
|
||||
*/
|
||||
@Override
|
||||
public TemplateBenchmark getTemplateBenchmark(String templateRowId) {
|
||||
// 基准模板(用户选择的要比较的版本)
|
||||
TemplatePojo baseTemplate = bd.getBusinessDatabase()
|
||||
@ -548,6 +551,8 @@ public class ParameterServiceImpl implements ParameterService {
|
||||
* @param result 参数处理结果
|
||||
* @return void
|
||||
*/
|
||||
@Override
|
||||
@Transactional
|
||||
public void saveAllData(TemplatePojo originalTemplate, TemplatePojo newTemplate, ParameterProcessingResult result) {
|
||||
List<String> parameterIds = bd.getBusinessDatabase()
|
||||
.eq("template_id", newTemplate.getId())
|
||||
|
||||
@ -58,6 +58,21 @@ public class ResponsiblePersonServiceImpl implements ResponsiblePersonService {
|
||||
.eq("personLevel", 1)
|
||||
.doQuery(ResponsiblePersonPojo.class);
|
||||
|
||||
XdapDepartments currentDept = bd.getSystemDatabase()
|
||||
.eq("name", "研发总院")
|
||||
.doQueryFirst(XdapDepartments.class);
|
||||
if (currentDept == null) {
|
||||
throw new CommonException("没有找到研发总院");
|
||||
}
|
||||
XdapDepartments xdapDepartment = bd.getSystemDatabase()
|
||||
.eq("id", form.getDepartmentId())
|
||||
.eq("parent_id", currentDept.getId())
|
||||
.doQueryFirst(XdapDepartments.class);
|
||||
if (xdapDepartment == null) {
|
||||
throw new CommonException("在研发总院,找不到该部门");
|
||||
}
|
||||
|
||||
|
||||
if (!responsiblePeople.isEmpty()) {
|
||||
throw new CommonException("一个部门和子系统只能有一个责任人");
|
||||
}
|
||||
@ -151,12 +166,23 @@ public class ResponsiblePersonServiceImpl implements ResponsiblePersonService {
|
||||
* @return 部门责任人分页查询结果
|
||||
*/
|
||||
public PageQueryResult<ResponsiblePersonPojo> getDeptResponsible(DeptResponsiblePageForm form) {
|
||||
|
||||
return bd.getBusinessDatabase()
|
||||
PageQueryResult<ResponsiblePersonPojo> result = bd.getBusinessDatabase()
|
||||
.viewQueryMode(true)
|
||||
.view("getResponsibleAndName")
|
||||
.setVar("level", 1)
|
||||
.doPageQuery(form.getPageNumber(), form.getPageSize(), ResponsiblePersonPojo.class);
|
||||
result.getResult().forEach(responsiblePersonPojo -> {
|
||||
XdapUsers user = bd.getSystemDatabase()
|
||||
.eq("id", responsiblePersonPojo.getUserId())
|
||||
.doQueryFirst(XdapUsers.class);
|
||||
if (user == null || user.getUsername() == null) {
|
||||
responsiblePersonPojo.setUsername("未知用户-" + responsiblePersonPojo.getUserId());
|
||||
} else {
|
||||
responsiblePersonPojo.setUsername(user.getUsername());
|
||||
responsiblePersonPojo.setUserAccount(user.getUserNumber());
|
||||
}
|
||||
});
|
||||
return result;
|
||||
}
|
||||
|
||||
@Override
|
||||
@ -255,6 +281,18 @@ public class ResponsiblePersonServiceImpl implements ResponsiblePersonService {
|
||||
.setVar("level", 1)
|
||||
.doQuery(ResponsiblePersonPojo.class);
|
||||
|
||||
list.forEach(responsiblePersonPojo -> {
|
||||
XdapUsers user = bd.getSystemDatabase()
|
||||
.eq("id", responsiblePersonPojo.getUserId())
|
||||
.doQueryFirst(XdapUsers.class);
|
||||
if (user == null || user.getUsername() == null) {
|
||||
responsiblePersonPojo.setUsername("未知用户-" + responsiblePersonPojo.getUserId());
|
||||
} else {
|
||||
responsiblePersonPojo.setUsername(user.getUsername());
|
||||
responsiblePersonPojo.setUserAccount(user.getUserNumber());
|
||||
}
|
||||
});
|
||||
|
||||
EasyExcel.write(response.getOutputStream(), ResponsiblePersonPojo.class)
|
||||
.registerWriteHandler(new DescriptionWriteUtils(ResponsiblePersonPojo.getFieldDescriptions()))
|
||||
.includeColumnFieldNames(getIncludeColumnFieldNames())
|
||||
@ -344,10 +382,11 @@ public class ResponsiblePersonServiceImpl implements ResponsiblePersonService {
|
||||
*/
|
||||
public XdapUserView getUserByDeptAndName(String department, String userAccount, String username) {
|
||||
XdapUserView xdapUserView = new XdapUserView();
|
||||
XdapDepartments xdapDepartments = bd.getBusinessDatabase()
|
||||
XdapDepartments xdapDepartments = bd.getSystemDatabase()
|
||||
.eq("name", "研发总院")
|
||||
.doQueryFirst(XdapDepartments.class);
|
||||
XdapDepartments currentDept = bd.getBusinessDatabase()
|
||||
if (xdapDepartments == null) return xdapUserView;
|
||||
XdapDepartments currentDept = bd.getSystemDatabase()
|
||||
.eq("name", department)
|
||||
.eq("parent_id", xdapDepartments.getId())
|
||||
.doQueryFirst(XdapDepartments.class);
|
||||
@ -355,7 +394,7 @@ public class ResponsiblePersonServiceImpl implements ResponsiblePersonService {
|
||||
if (currentDept != null)
|
||||
xdapUserView.setDepartmentId(currentDept.getId());
|
||||
if (userAccount != null) {
|
||||
XdapUsers currentUser = bd.getBusinessDatabase()
|
||||
XdapUsers currentUser = bd.getSystemDatabase()
|
||||
.eq("user_number", userAccount)
|
||||
.eq("username", username)
|
||||
.eq("exit_status", "ENABLE")
|
||||
@ -363,7 +402,7 @@ public class ResponsiblePersonServiceImpl implements ResponsiblePersonService {
|
||||
if (currentUser != null)
|
||||
xdapUserView.setUserId(currentUser.getId());
|
||||
} else {
|
||||
List<XdapUsers> xdapUsers = bd.getBusinessDatabase()
|
||||
List<XdapUsers> xdapUsers = bd.getSystemDatabase()
|
||||
.eq("username", username)
|
||||
.eq("exit_status", "ENABLE")
|
||||
.doQuery(XdapUsers.class);
|
||||
@ -381,11 +420,11 @@ public class ResponsiblePersonServiceImpl implements ResponsiblePersonService {
|
||||
*/
|
||||
@Override
|
||||
public List<XdapDepartments> getResponsibleDepartment() {
|
||||
XdapDepartments currentDept = bd.getBusinessDatabase()
|
||||
XdapDepartments currentDept = bd.getSystemDatabase()
|
||||
.eq("name", "研发总院")
|
||||
.doQueryFirst(XdapDepartments.class);
|
||||
if (currentDept == null) return Collections.emptyList();
|
||||
return bd.getBusinessDatabase()
|
||||
return bd.getSystemDatabase()
|
||||
.eq("parent_id", currentDept.getId())
|
||||
.doQuery(XdapDepartments.class);
|
||||
}
|
||||
|
||||
@ -420,6 +420,9 @@ public class TcDataQueryServiceImpl implements TcDataQueryService {
|
||||
public Map<String, List<EngineParamDetailPojo>> tcDataSelectByVersion(AnalysisVerRequest analysisRequest) {
|
||||
List<ParameterPojo> parameters = engineParamDetailService.selectAllAndTcByNewVersion();
|
||||
DataEntryEngineModelPojo dataEntryEngineModelPojo = engineModelService.selectBymodelId(analysisRequest.getEngineModelID());
|
||||
if (dataEntryEngineModelPojo == null) {
|
||||
throw new CommonException("查询失败:机型不存在");
|
||||
}
|
||||
|
||||
//解析所有子系统-零部件对
|
||||
List<Map.Entry<String, String>> subsystemPartsPairs = analysisRequest.getSubsystemParts().stream()
|
||||
|
||||
@ -221,6 +221,10 @@ public class TemplateApprovalServiceImpl implements TemplateApprovalService {
|
||||
throw new CommonException("流程不存在");
|
||||
}
|
||||
|
||||
if (flow.getFlowStatus().equals("APPROVING")) {
|
||||
throw new CommonException("流程正在审批中");
|
||||
}
|
||||
|
||||
// 清除原流程节点的所有待办
|
||||
bd.getBusinessDatabase()
|
||||
.eq("document_no", flow.getId())
|
||||
@ -397,13 +401,18 @@ public class TemplateApprovalServiceImpl implements TemplateApprovalService {
|
||||
* @return 待办和模板视图分页结果
|
||||
*/
|
||||
public PageQueryResult<TodoAndTemplateView> getApprovalList(ApprovalListForm form) {
|
||||
List<String> ids = bd.getSystemDatabase()
|
||||
.like("username", form.getUsername())
|
||||
.eq("exit_status", "ENABLE")
|
||||
.doQuery(XdapUsers.class).stream()
|
||||
.map(XdapUsers::getId).collect(Collectors.toList());
|
||||
PageQueryResult<TodoAndTemplateView> result = bd.getBusinessDatabase()
|
||||
.viewQueryMode(true)
|
||||
.view("getAllApproval")
|
||||
.setVar("templateName", form.getTemplateName())
|
||||
.setVar("status", form.getStatus())
|
||||
.setVar("createdTime", form.getCreateDate() == null ? "" : form.getCreateDate())
|
||||
.setVar("username", form.getUsername())
|
||||
.setVar("ids", ids)
|
||||
.doPageQuery(form.getPageNumber(), form.getPageSize(), TodoAndTemplateView.class);
|
||||
setCurrentApprovers(result);
|
||||
return result;
|
||||
@ -411,12 +420,16 @@ public class TemplateApprovalServiceImpl implements TemplateApprovalService {
|
||||
|
||||
private void setCurrentApprovers(PageQueryResult<TodoAndTemplateView> result) {
|
||||
result.getResult().forEach(item -> {
|
||||
XdapUsers user = bd.getSystemDatabase()
|
||||
.eq("id", item.getCreateBy())
|
||||
.doQueryFirst(XdapUsers.class);
|
||||
item.setUsername(user == null ? "未找到用户-" + item.getCreateBy() : user.getUsername());
|
||||
if (item.getCurrentUsers() == null || item.getCurrentUsers().isEmpty()) {
|
||||
item.setCurrentApprovers(null);
|
||||
item.setCurrentUsers(null);
|
||||
} else {
|
||||
List<String> userIds = JSON.parseArray(item.getCurrentUsers()).toJavaList(String.class);
|
||||
List<ApprovalXdapUsersPojo> approvalXdapUsers = bd.getBusinessDatabase()
|
||||
List<ApprovalXdapUsersPojo> approvalXdapUsers = bd.getSystemDatabase()
|
||||
.in("id", userIds)
|
||||
.doQuery(ApprovalXdapUsersPojo.class);
|
||||
item.setCurrentApprovers(approvalXdapUsers);
|
||||
@ -783,7 +796,7 @@ public class TemplateApprovalServiceImpl implements TemplateApprovalService {
|
||||
dto.setNodeName(node.getNodeName());
|
||||
dto.setNodeOrder(node.getNodeOrder());
|
||||
dto.setAssignees(
|
||||
bd.getBusinessDatabase()
|
||||
bd.getSystemDatabase()
|
||||
.in("id", userIds)
|
||||
.doQuery(XdapUsers.class)
|
||||
);
|
||||
@ -1044,6 +1057,9 @@ public class TemplateApprovalServiceImpl implements TemplateApprovalService {
|
||||
TemplatePojo template = bd.getBusinessDatabase()
|
||||
.eq("id", form.getTemplateId())
|
||||
.doQueryFirst(TemplatePojo.class);
|
||||
if (template == null) {
|
||||
throw new CommonException("模板不存在");
|
||||
}
|
||||
if (form.getFlowId() == null) {
|
||||
return bd.getBusinessDatabase()
|
||||
.viewQueryMode(true)
|
||||
@ -1263,7 +1279,7 @@ public class TemplateApprovalServiceImpl implements TemplateApprovalService {
|
||||
private String getUserNames(List<String> userIds) {
|
||||
StringJoiner joiner = new StringJoiner(" ");
|
||||
for (String userId : userIds) {
|
||||
XdapUsers user = bd.getBusinessDatabase()
|
||||
XdapUsers user = bd.getSystemDatabase()
|
||||
.eq("id", userId)
|
||||
.doQueryFirst(XdapUsers.class);
|
||||
if (user != null) {
|
||||
@ -1282,6 +1298,9 @@ public class TemplateApprovalServiceImpl implements TemplateApprovalService {
|
||||
ApprovalFlowPojo flow = bd.getBusinessDatabase()
|
||||
.eq("id", request.getFlowId())
|
||||
.doQueryFirst(ApprovalFlowPojo.class);
|
||||
if (flow == null) {
|
||||
throw new CommonException("流程不存在");
|
||||
}
|
||||
if (!Objects.equals(flow.getCreateBy(), request.getUserId())) {
|
||||
throw new CommonException("不是申请人无法撤回");
|
||||
}
|
||||
|
||||
@ -6,6 +6,7 @@ import com.alibaba.excel.write.metadata.WriteSheet;
|
||||
import com.alibaba.excel.write.style.column.LongestMatchColumnWidthStyleStrategy;
|
||||
import com.definesys.mpaas.query.db.PageQueryResult;
|
||||
import com.xdap.api.moudle.department.pojo.entity.XdapDepartments;
|
||||
import com.xdap.api.moudle.user.pojo.XdapUsers;
|
||||
import com.xdap.self_development.common.BusinessDatabase;
|
||||
import com.xdap.self_development.common.MyResponse;
|
||||
import com.xdap.self_development.controller.form.*;
|
||||
@ -55,11 +56,23 @@ public class TemplateServiceImpl implements TemplateService {
|
||||
*/
|
||||
@Override
|
||||
public PageQueryResult<TemplatePojo> getTemplateByCondition(TemplatePageForm form) {
|
||||
return bd.getBusinessDatabase()
|
||||
PageQueryResult<TemplatePojo> result = bd.getBusinessDatabase()
|
||||
.viewQueryMode(true)
|
||||
.view("getLatestTemplate")
|
||||
.like("template_name", form.getTemplateName())
|
||||
.doPageQuery(form.getPageNumber(), form.getPageSize(), TemplatePojo.class);
|
||||
result.getResult().forEach(templatePojo -> {
|
||||
XdapUsers user = bd.getSystemDatabase()
|
||||
.eq("id", templatePojo.getCreateBy())
|
||||
.doQueryFirst(XdapUsers.class);
|
||||
if (user == null || user.getUsername() == null) {
|
||||
templatePojo.setCreateBy("未知用户-" + templatePojo.getCreateBy());
|
||||
} else {
|
||||
templatePojo.setCreateBy(user.getUsername());
|
||||
}
|
||||
});
|
||||
return result;
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
@ -83,7 +96,7 @@ public class TemplateServiceImpl implements TemplateService {
|
||||
// 创建新模板
|
||||
TemplatePojo newTemplate = new TemplatePojo(
|
||||
form.getTemplateName(), 1, "DRAFT", Timestamp.valueOf(LocalDateTime.now()),
|
||||
null, form.getUserId(), System.currentTimeMillis(), 0
|
||||
null, form.getUserId(), System.currentTimeMillis() / 1000, 0
|
||||
);
|
||||
|
||||
bd.getBusinessDatabase().doInsert(newTemplate);
|
||||
@ -97,59 +110,14 @@ public class TemplateServiceImpl implements TemplateService {
|
||||
@Override
|
||||
@Transactional
|
||||
public void updateTemplate(UpdateTemplateForm form) {
|
||||
TemplatePojo template = bd.getBusinessDatabase()
|
||||
.viewQueryMode(true)
|
||||
.view("getLatestTemplateOrder")
|
||||
.eq("template_name", form.getTemplateName())
|
||||
TemplatePojo templateName = bd.getBusinessDatabase()
|
||||
.rowid("id", form.getTemplateRowId())
|
||||
.doQueryFirst(TemplatePojo.class);
|
||||
|
||||
if (template != null) {
|
||||
if (Objects.equals(form.getTemplateName(), template.getTemplateName()) && form.getOrderNum() != null) {
|
||||
List<Long> sorted = bd.getBusinessDatabase()
|
||||
.groupBy("order_num")
|
||||
.orderBy("order_num", "desc")
|
||||
.doQuery(TemplatePojo.class)
|
||||
.stream().map(TemplatePojo::getOrderNum)
|
||||
.collect(Collectors.toList());
|
||||
|
||||
Long num = sorted.get(form.getOrderNum() - 1);
|
||||
if (num == null) {
|
||||
num = sorted.get(sorted.size() - 1);
|
||||
if (templateName == null) {
|
||||
throw new CommonException("没有找到模板");
|
||||
}
|
||||
|
||||
List<String> originalTemplateId = bd.getBusinessDatabase()
|
||||
.eq("order_num", template.getOrderNum())
|
||||
.doQuery(TemplatePojo.class).stream().map(TemplatePojo::getId)
|
||||
.collect(Collectors.toList());
|
||||
List<String> updateTemplateId = bd.getBusinessDatabase()
|
||||
.eq("order_num", num)
|
||||
.doQuery(TemplatePojo.class).stream().map(TemplatePojo::getId)
|
||||
.collect(Collectors.toList());
|
||||
|
||||
if (updateTemplateId.isEmpty()) {
|
||||
bd.getBusinessDatabase()
|
||||
.in("id", originalTemplateId)
|
||||
.update("order_num", System.currentTimeMillis())
|
||||
.doUpdate(TemplatePojo.class);
|
||||
} else {
|
||||
bd.getBusinessDatabase()
|
||||
.in("id", updateTemplateId)
|
||||
.update("order_num", template.getOrderNum())
|
||||
.doUpdate(TemplatePojo.class);
|
||||
bd.getBusinessDatabase()
|
||||
.in("id", originalTemplateId)
|
||||
.update("order_num", num)
|
||||
.doUpdate(TemplatePojo.class);
|
||||
}
|
||||
return;
|
||||
}
|
||||
throw new CommonException("不可修改为已有模板");
|
||||
}
|
||||
String templateName = bd.getBusinessDatabase()
|
||||
.rowid("id", form.getTemplateRowId())
|
||||
.doQueryFirst(TemplatePojo.class)
|
||||
.getTemplateName();
|
||||
|
||||
bd.getBusinessDatabase()
|
||||
.eq("template_name", templateName)
|
||||
.update("template_name", form.getTemplateName())
|
||||
@ -181,15 +149,20 @@ public class TemplateServiceImpl implements TemplateService {
|
||||
MyResponse problems =
|
||||
new MyResponse(false, new ArrayList<>(), new StringBuilder("已完成导入:无"));
|
||||
|
||||
String targetDepartmentIds = bd.getBusinessDatabase()
|
||||
XdapDepartments targetDepartment = bd.getSystemDatabase()
|
||||
.eq("name", "研发总院")
|
||||
.doQueryFirst(XdapDepartments.class).getId();
|
||||
.doQueryFirst(XdapDepartments.class);
|
||||
|
||||
List<String> subDepartments = bd.getBusinessDatabase()
|
||||
.in("parent_id", targetDepartmentIds)
|
||||
if (targetDepartment == null) {
|
||||
throw new CommonException("找不到部门‘研发总院’");
|
||||
}
|
||||
|
||||
List<String> subDepartments = bd.getSystemDatabase()
|
||||
.in("parent_id", targetDepartment.getId())
|
||||
.doQuery(XdapDepartments.class).stream().map(XdapDepartments::getName)
|
||||
.collect(Collectors.toList());
|
||||
|
||||
|
||||
try (InputStream inputStream = file.getInputStream()){
|
||||
EasyExcel.read(
|
||||
inputStream,
|
||||
@ -410,10 +383,10 @@ 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(), 0
|
||||
Timestamp.valueOf(LocalDateTime.now()), null, createBy, System.currentTimeMillis() / 1000, 0
|
||||
);
|
||||
lastTemplateParameters = bd.getBusinessDatabase()
|
||||
.viewQueryMode(true)
|
||||
@ -424,7 +397,7 @@ public class TemplateServiceImpl implements TemplateService {
|
||||
// 如果没有同名模板,创建第一个版本
|
||||
targetTemplate = new TemplatePojo(
|
||||
templateName, 1, "DRAFT", Timestamp.valueOf(LocalDateTime.now()),
|
||||
null, createBy, System.currentTimeMillis(), 0
|
||||
null, createBy, System.currentTimeMillis() / 1000, 0
|
||||
);
|
||||
}
|
||||
|
||||
|
||||
@ -386,6 +386,7 @@ public class TodoTaskServiceImpl implements TodoTaskService {
|
||||
.eq("created_by_id", todoTaskPojo.getCreatedById())
|
||||
.eq("process_title", model.getModelName() + "-" + "分发参数填写人任务")
|
||||
.update("current_node", "待分解")
|
||||
.update("current_processor", null)
|
||||
.doUpdate(InitiatedTaskPojo.class);
|
||||
// 更新完成
|
||||
bd.getBusinessDatabase()
|
||||
@ -394,6 +395,7 @@ public class TodoTaskServiceImpl implements TodoTaskService {
|
||||
.eq("owner_id", todoTaskPojo.getCreatedById())
|
||||
.eq("process_title", model.getModelName() + "-" + "分发参数填写人任务")
|
||||
.update("current_node", "待分解")
|
||||
.update("current_processor", null)
|
||||
.doUpdate(CompletedTaskPojo.class);
|
||||
}
|
||||
}
|
||||
@ -428,6 +430,7 @@ public class TodoTaskServiceImpl implements TodoTaskService {
|
||||
.eq("created_by_id", todoTaskPojo.getCreatedById())
|
||||
.eq("process_title", model.getModelName() + "-" + "分发参数责任人任务")
|
||||
.update("current_node", "待分解")
|
||||
.update("current_processor", null)
|
||||
.doUpdate(InitiatedTaskPojo.class);
|
||||
|
||||
// 更新完成
|
||||
@ -437,6 +440,7 @@ public class TodoTaskServiceImpl implements TodoTaskService {
|
||||
.eq("owner_id", todoTaskPojo.getCreatedById())
|
||||
.eq("process_title", model.getModelName() + "-" + "分发参数责任人任务")
|
||||
.update("current_node", "待分解")
|
||||
.update("current_processor", null)
|
||||
.doUpdate(CompletedTaskPojo.class);
|
||||
} else {
|
||||
throw new CommonException("参数错误");
|
||||
|
||||
@ -5,6 +5,8 @@ import com.xdap.api.moudle.department.pojo.entity.XdapDepartments;
|
||||
import com.xdap.api.moudle.department.pojo.entity.XdapDeptUsers;
|
||||
import com.xdap.api.moudle.user.pojo.XdapUsers;
|
||||
import com.xdap.self_development.common.BusinessDatabase;
|
||||
import com.xdap.self_development.domain.view.UserInfoView;
|
||||
import com.xdap.self_development.exception.CommonException;
|
||||
import com.xdap.self_development.service.XdapDeptUsersService;
|
||||
import groovy.util.logging.Slf4j;
|
||||
import org.apache.commons.lang3.ObjectUtils;
|
||||
@ -43,7 +45,7 @@ public class XdapDeptUsersServiceImpl implements XdapDeptUsersService {
|
||||
if (ObjectUtils.isEmpty(deptId)) {
|
||||
return null;
|
||||
}
|
||||
List<XdapDepartments> departmentsPojos = bd.getBusinessDatabase()
|
||||
List<XdapDepartments> departmentsPojos = bd.getSystemDatabase()
|
||||
.eq("id", deptId)
|
||||
.doQuery(XdapDepartments.class);
|
||||
if (ObjectUtils.isNotEmpty(departmentsPojos)) {
|
||||
@ -63,7 +65,7 @@ public class XdapDeptUsersServiceImpl implements XdapDeptUsersService {
|
||||
if (ObjectUtils.isEmpty(deptName)) {
|
||||
return null;
|
||||
}
|
||||
List<XdapDepartments> departmentsPojos = bd.getBusinessDatabase()
|
||||
List<XdapDepartments> departmentsPojos = bd.getSystemDatabase()
|
||||
.eq("name", deptName)
|
||||
.doQuery(XdapDepartments.class);
|
||||
if (ObjectUtils.isNotEmpty(departmentsPojos)) {
|
||||
@ -83,12 +85,12 @@ public class XdapDeptUsersServiceImpl implements XdapDeptUsersService {
|
||||
XdapDepartments xdapDepartmentsPojo = selectDeptByName(deptName);
|
||||
List<XdapUsers> xdapUsersPojos = new ArrayList<>();
|
||||
if (ObjectUtils.isNotEmpty(xdapDepartmentsPojo)) {
|
||||
List<XdapDeptUsers> xdapDeptUsersPojos = bd.getBusinessDatabase()
|
||||
List<XdapDeptUsers> xdapDeptUsersPojos = bd.getSystemDatabase()
|
||||
.eq("department_id", xdapDepartmentsPojo.getId())
|
||||
.doQuery(XdapDeptUsers.class);
|
||||
if (ObjectUtils.isNotEmpty(xdapDeptUsersPojos)) {
|
||||
for (XdapDeptUsers xdapDeptUsersPojo : xdapDeptUsersPojos) {
|
||||
List<XdapUsers> usersPojos = bd.getBusinessDatabase()
|
||||
List<XdapUsers> usersPojos = bd.getSystemDatabase()
|
||||
.eq("id", xdapDeptUsersPojo.getUserId())
|
||||
.doQuery(XdapUsers.class);
|
||||
if (ObjectUtils.isNotEmpty(usersPojos)) {
|
||||
@ -114,7 +116,7 @@ public class XdapDeptUsersServiceImpl implements XdapDeptUsersService {
|
||||
if (ObjectUtils.isEmpty(personName)) {
|
||||
return Collections.emptyList();
|
||||
}
|
||||
return bd.getBusinessDatabase()
|
||||
return bd.getSystemDatabase()
|
||||
.eq("username", personName)
|
||||
.doQuery(XdapUsers.class);
|
||||
}
|
||||
@ -131,9 +133,9 @@ public class XdapDeptUsersServiceImpl implements XdapDeptUsersService {
|
||||
|
||||
if (ObjectUtils.isNotEmpty(xdapUsersPojos) && ObjectUtils.isNotEmpty(dpName)) {
|
||||
//提取用户ID集合
|
||||
List<String> idList = xdapUsersPojos.stream().map(x -> x.getId()).collect(Collectors.toList());
|
||||
List<String> idList = xdapUsersPojos.stream().map(XdapUsers::getId).collect(Collectors.toList());
|
||||
//根据用户ID查找对应关系表
|
||||
List<XdapDeptUsers> departmentsPojos = bd.getBusinessDatabase()
|
||||
List<XdapDeptUsers> departmentsPojos = bd.getSystemDatabase()
|
||||
.in("user_id", idList)
|
||||
.doQuery(XdapDeptUsers.class);
|
||||
//关系表筛选部门
|
||||
@ -141,7 +143,7 @@ public class XdapDeptUsersServiceImpl implements XdapDeptUsersService {
|
||||
//筛选完成后查到对应的人员
|
||||
if (ObjectUtils.isNotEmpty(collect)) {
|
||||
String userId = collect.get(0).getUserId();
|
||||
List<XdapUsers> usersPojo = bd.getBusinessDatabase()
|
||||
List<XdapUsers> usersPojo = bd.getSystemDatabase()
|
||||
.eq("id", userId)
|
||||
.doQuery(XdapUsers.class);
|
||||
if (ObjectUtils.isNotEmpty(usersPojo)) {
|
||||
@ -166,7 +168,7 @@ public class XdapDeptUsersServiceImpl implements XdapDeptUsersService {
|
||||
if (ObjectUtils.isEmpty(userId)) {
|
||||
return null;
|
||||
}
|
||||
List<XdapUsers> userPojos = bd.getBusinessDatabase()
|
||||
List<XdapUsers> userPojos = bd.getSystemDatabase()
|
||||
.eq("id", userId)
|
||||
.doQuery(XdapUsers.class);
|
||||
if (ObjectUtils.isNotEmpty(userPojos)) {
|
||||
@ -187,7 +189,7 @@ public class XdapDeptUsersServiceImpl implements XdapDeptUsersService {
|
||||
if (ObjectUtils.isEmpty(userCode)) {
|
||||
return null;
|
||||
}
|
||||
List<XdapUsers> userPojos = bd.getBusinessDatabase()
|
||||
List<XdapUsers> userPojos = bd.getSystemDatabase()
|
||||
.eq("user_number", userCode)
|
||||
.doQuery(XdapUsers.class);
|
||||
if (ObjectUtils.isNotEmpty(userPojos)) {
|
||||
@ -195,4 +197,36 @@ public class XdapDeptUsersServiceImpl implements XdapDeptUsersService {
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public UserInfoView getUserInfo(String userId) {
|
||||
UserInfoView userInfoView = new UserInfoView();
|
||||
XdapUsers user = bd.getSystemDatabase()
|
||||
.eq("id", userId)
|
||||
.doQueryFirst(XdapUsers.class);
|
||||
if (user == null) {
|
||||
throw new CommonException("找不到当前用户");
|
||||
}
|
||||
userInfoView.setUsername(user.getUsername());
|
||||
List<XdapDeptUsers> depts = bd.getSystemDatabase()
|
||||
.eq("user_id", user.getId())
|
||||
.doQuery(XdapDeptUsers.class);
|
||||
XdapDeptUsers commonDept = bd.getSystemDatabase()
|
||||
.eq("name", "研发总院")
|
||||
.doQueryFirst(XdapDeptUsers.class);
|
||||
if (depts.isEmpty() || commonDept == null) {
|
||||
return userInfoView;
|
||||
}
|
||||
List<XdapDepartments> xdapDepartments = bd.getSystemDatabase()
|
||||
.in("id", depts)
|
||||
.eq("parent_id", commonDept.getId())
|
||||
.doQuery(XdapDepartments.class);
|
||||
if (xdapDepartments.isEmpty()) {
|
||||
userInfoView.setDepartments(new ArrayList<>());
|
||||
return userInfoView;
|
||||
}
|
||||
List<String> deptNames = xdapDepartments.stream().map(XdapDepartments::getName).collect(Collectors.toList());
|
||||
userInfoView.setDepartments(deptNames);
|
||||
return userInfoView;
|
||||
}
|
||||
}
|
||||
|
||||
@ -20,6 +20,7 @@ import org.springframework.stereotype.Service;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import java.time.Instant;
|
||||
import java.time.ZoneId;
|
||||
import java.time.format.DateTimeFormatter;
|
||||
import java.time.temporal.TemporalAccessor;
|
||||
import java.util.ArrayList;
|
||||
@ -34,7 +35,8 @@ 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 DATE_FORMATTER = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
|
||||
private static final DateTimeFormatter FORMATTER = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm").withZone(ZoneId.systemDefault());
|
||||
;
|
||||
|
||||
@Resource
|
||||
private BusinessDatabase bd;
|
||||
@ -47,31 +49,38 @@ public class YcTaskResultServiceImpl implements YcTaskResultService {
|
||||
@Value("${apaas.single.appId}")
|
||||
private String appId;
|
||||
|
||||
public static String time2Str(Date creationDate) {
|
||||
if (creationDate == null) {
|
||||
return "";
|
||||
}
|
||||
return FORMATTER.format(creationDate.toInstant());
|
||||
}
|
||||
|
||||
private String getTodoUrl() {
|
||||
XdapMenus xdapMenus = bd.getBusinessDatabase()
|
||||
XdapMenus xdapMenus = bd.getSystemDatabase()
|
||||
.eq("app_id", appId)
|
||||
.eq("menu_name", "我的待办")
|
||||
.doQueryFirst(XdapMenus.class);
|
||||
String menuId = xdapMenus == null ? "" : xdapMenus.getId();
|
||||
return frontUrl + "/" + tenantId + "/app/custom-page/apaas-custom-toDoList?appId=" + appId + "&title=我的待办&url=apaas-custom-toDoList¤tMenu=" + menuId;
|
||||
return frontUrl + "/" + tenantId + "/app/custom-page/apaas-custom-toDoList?appId=" + appId + "&menuType=CUSTOM&title=我的待办&url=apaas-custom-toDoList¤tMenu=" + menuId;
|
||||
}
|
||||
|
||||
private String getCompletedUrl() {
|
||||
XdapMenus xdapMenus = bd.getBusinessDatabase()
|
||||
XdapMenus xdapMenus = bd.getSystemDatabase()
|
||||
.eq("app_id", appId)
|
||||
.eq("menu_name", "我发起的")
|
||||
.doQueryFirst(XdapMenus.class);
|
||||
String menuId = xdapMenus == null ? "" : xdapMenus.getId();
|
||||
return frontUrl + "/" + tenantId + "/app/custom-page/apaas-custom-myDone?appId=" + appId + "&title=我发起的&url=apaas-custom-mySend¤tMenu=" + menuId;
|
||||
return frontUrl + "/" + tenantId + "/app/custom-page/apaas-custom-myDone?appId=" + appId + "&menuType=CUSTOM&title=我发起的&url=apaas-custom-mySend¤tMenu=" + menuId;
|
||||
}
|
||||
|
||||
private String getInitiatorUrl() {
|
||||
XdapMenus xdapMenus = bd.getBusinessDatabase()
|
||||
XdapMenus xdapMenus = bd.getSystemDatabase()
|
||||
.eq("app_id", appId)
|
||||
.eq("menu_name", "我的经办")
|
||||
.doQueryFirst(XdapMenus.class);
|
||||
String menuId = xdapMenus == null ? "" : xdapMenus.getId();
|
||||
return frontUrl + "/" + tenantId + "/app/custom-page/apaas-custom-mySend?appId=" + appId + "&title=我的经办&url=apaas-custom-myDone¤tMenu=" + menuId;
|
||||
return frontUrl + "/" + tenantId + "/app/custom-page/apaas-custom-mySend?appId=" + appId + "&menuType=CUSTOM&title=我的经办&url=apaas-custom-myDone¤tMenu=" + menuId;
|
||||
}
|
||||
|
||||
/**
|
||||
@ -95,12 +104,13 @@ public class YcTaskResultServiceImpl implements YcTaskResultService {
|
||||
List<TodoTaskPojo> todoTaskPojos = bd.getBusinessDatabase()
|
||||
.eq("owner_id", id)
|
||||
.eq("is_delete", 0)
|
||||
.orderBy("creation_date", "desc")
|
||||
.doQuery(TodoTaskPojo.class);
|
||||
for (TodoTaskPojo todoTaskPojo : todoTaskPojos) {
|
||||
YcTodoTaskResultDTO dto = new YcTodoTaskResultDTO();
|
||||
dto.setTitle(todoTaskPojo.getProcessTitle());
|
||||
dto.setSystemName("研发数据管理平台");
|
||||
dto.setUpdateDate(DATE_FORMATTER.format(todoTaskPojo.getCreationDate().toInstant()));
|
||||
dto.setUpdateDate(time2Str(todoTaskPojo.getCreationDate()));
|
||||
dto.setActivityLabel(todoTaskPojo.getCurrentNode());
|
||||
dto.setUrl(getTodoUrl());
|
||||
dtos.add(dto);
|
||||
@ -128,7 +138,7 @@ public class YcTaskResultServiceImpl implements YcTaskResultService {
|
||||
.doQuery(CompletedTaskPojo.class);
|
||||
completedTaskPojos.addAll(list);
|
||||
} else {
|
||||
XdapUsers user = bd.getBusinessDatabase()
|
||||
XdapUsers user = bd.getSystemDatabase()
|
||||
.eq("user_number", ycGetTodoTaskRequest.getUsername())
|
||||
.doQueryFirst(XdapUsers.class);
|
||||
if (user == null) {
|
||||
@ -150,17 +160,17 @@ public class YcTaskResultServiceImpl implements YcTaskResultService {
|
||||
BinaryOperator
|
||||
.maxBy(Comparator.comparing(CompletedTaskPojo::getCreationDate))))
|
||||
.values());
|
||||
Integer page = safeParsePageParam(ycGetTodoTaskRequest.getPage(), 1);
|
||||
Integer pageSize = safeParsePageParam(ycGetTodoTaskRequest.getPageSize(), 10);
|
||||
int fromIndex = (page - 1) * pageSize;
|
||||
int toIndex = Math.min(fromIndex + pageSize, collect.size());
|
||||
Integer page = safeParsePageParam(ycGetTodoTaskRequest.getPage(), null);
|
||||
Integer pageSize = safeParsePageParam(ycGetTodoTaskRequest.getPageSize(), null);
|
||||
int fromIndex = page == null ? 0 : (page - 1) * pageSize;
|
||||
int toIndex = page == null ? collect.size() : Math.min(fromIndex + pageSize, collect.size());
|
||||
List<CompletedTaskPojo> paginatedList = collect.subList(fromIndex, toIndex);
|
||||
|
||||
List<YcTodoTaskCommonResultDTO> list = new ArrayList<>();
|
||||
paginatedList.forEach(completedTaskPojo -> {
|
||||
YcTodoTaskCommonResultDTO dto = new YcTodoTaskCommonResultDTO();
|
||||
dto.setTitle(completedTaskPojo.getProcessTitle());
|
||||
dto.setCreateDate(DATE_FORMATTER.format(completedTaskPojo.getCreationDate().toInstant()));
|
||||
dto.setCreateDate(time2Str(completedTaskPojo.getCreationDate()));
|
||||
dto.setActivityName(completedTaskPojo.getCurrentNode());
|
||||
dto.setUrl(getCompletedUrl());
|
||||
list.add(dto);
|
||||
@ -171,6 +181,22 @@ public class YcTaskResultServiceImpl implements YcTaskResultService {
|
||||
return ycTaskResult;
|
||||
}
|
||||
|
||||
private Integer safeParsePageParam(String paramStr, Integer defaultValue) {
|
||||
if (paramStr == null || paramStr.trim().isEmpty()) {
|
||||
return defaultValue;
|
||||
}
|
||||
String cleanParam = paramStr.trim();
|
||||
|
||||
if (!POSITIVE_INTEGER_PATTERN.matcher(cleanParam).matches()) {
|
||||
return defaultValue;
|
||||
}
|
||||
try {
|
||||
return Integer.parseInt(cleanParam);
|
||||
} catch (NumberFormatException e) {
|
||||
return defaultValue;
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public YcTaskResult returnInitiator(YcGetTodoTaskRequest ycGetTodoTaskRequest) {
|
||||
YcTaskResult ycTaskResult = new YcTaskResult();
|
||||
@ -185,8 +211,9 @@ public class YcTaskResultServiceImpl implements YcTaskResultService {
|
||||
.lteq("creation_date", ycGetTodoTaskRequest.getCreateDateEnd() == null ? new Date() : ycGetTodoTaskRequest.getCreateDateEnd())
|
||||
.doQuery(InitiatedTaskPojo.class);
|
||||
initiatedTaskPojos.addAll(list);
|
||||
total = list.size();
|
||||
} else {
|
||||
XdapUsers user = bd.getBusinessDatabase()
|
||||
XdapUsers user = bd.getSystemDatabase()
|
||||
.eq("user_number", ycGetTodoTaskRequest.getUsername())
|
||||
.doQueryFirst(XdapUsers.class);
|
||||
if (user == null) {
|
||||
@ -208,7 +235,7 @@ public class YcTaskResultServiceImpl implements YcTaskResultService {
|
||||
initiatedTaskPojos.forEach(initiatedTaskPojo -> {
|
||||
YcTodoTaskCommonResultDTO dto = new YcTodoTaskCommonResultDTO();
|
||||
dto.setTitle(initiatedTaskPojo.getProcessTitle());
|
||||
dto.setCreateDate(DATE_FORMATTER.format(initiatedTaskPojo.getCreationDate().toInstant()));
|
||||
dto.setCreateDate(time2Str(initiatedTaskPojo.getCreationDate()));
|
||||
dto.setActivityName(initiatedTaskPojo.getCurrentNode());
|
||||
dto.setUrl(getInitiatorUrl());
|
||||
list.add(dto);
|
||||
@ -219,29 +246,13 @@ public class YcTaskResultServiceImpl implements YcTaskResultService {
|
||||
return ycTaskResult;
|
||||
}
|
||||
|
||||
private Integer safeParsePageParam(String paramStr, Integer defaultValue) {
|
||||
if (paramStr == null || paramStr.trim().isEmpty()) {
|
||||
return defaultValue;
|
||||
}
|
||||
String cleanParam = paramStr.trim();
|
||||
|
||||
if (!POSITIVE_INTEGER_PATTERN.matcher(cleanParam).matches()) {
|
||||
return defaultValue;
|
||||
}
|
||||
try {
|
||||
return Integer.parseInt(cleanParam);
|
||||
} catch (NumberFormatException e) {
|
||||
return defaultValue;
|
||||
}
|
||||
}
|
||||
|
||||
private Date safeParseDateParam(String dateStr, Date defaultValue) {
|
||||
if (dateStr == null || dateStr.trim().isEmpty()) {
|
||||
return defaultValue;
|
||||
}
|
||||
try {
|
||||
String trimmedDateStr = dateStr.trim();
|
||||
TemporalAccessor temporal = DATE_FORMATTER.parse(trimmedDateStr);
|
||||
TemporalAccessor temporal = FORMATTER.parse(trimmedDateStr);
|
||||
Instant instant = Instant.from(temporal);
|
||||
return Date.from(instant);
|
||||
} catch (Exception e) {
|
||||
|
||||
@ -66,6 +66,22 @@ mpaas.datasource[0].username=root
|
||||
mpaas.datasource[0].password=qwer12
|
||||
mpaas.datasource[0].minPoolSize=50
|
||||
mpaas.datasource[0].maxPoolSize=1000
|
||||
mpaas.datasource[1].name=yc_lrs_test_relsult
|
||||
mpaas.datasource[1].type=mysql
|
||||
mpaas.datasource[1].url=jdbc:mysql://127.0.0.1:3306/test?serverTimezone=GMT%2B8&characterEncoding=utf-8
|
||||
mpaas.datasource[1].driver-class-name=com.mysql.cj.jdbc.Driver
|
||||
mpaas.datasource[1].username=root
|
||||
mpaas.datasource[1].password=qwer12
|
||||
mpaas.datasource[1].minPoolSize=50
|
||||
mpaas.datasource[1].maxPoolSize=1000
|
||||
mpaas.datasource[2].name=qygs
|
||||
mpaas.datasource[2].type=mysql
|
||||
mpaas.datasource[2].url=jdbc:mysql://127.0.0.1:3306/test?serverTimezone=GMT%2B8&characterEncoding=utf-8
|
||||
mpaas.datasource[2].driver-class-name=com.mysql.cj.jdbc.Driver
|
||||
mpaas.datasource[2].username=root
|
||||
mpaas.datasource[2].password=qwer12
|
||||
mpaas.datasource[2].minPoolSize=50
|
||||
mpaas.datasource[2].maxPoolSize=1000
|
||||
|
||||
mpaas.security=false
|
||||
mpaas.query.dbadatper=mysql
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user