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