问题修改v1.0
This commit is contained in:
parent
dec6fdb710
commit
58a3f0b6e2
@ -1,16 +0,0 @@
|
|||||||
package com.xdap.self_development.config;
|
|
||||||
|
|
||||||
import org.springframework.context.annotation.Configuration;
|
|
||||||
import org.springframework.web.servlet.config.annotation.CorsRegistry;
|
|
||||||
import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;
|
|
||||||
|
|
||||||
@Configuration
|
|
||||||
public class CorsConfig implements WebMvcConfigurer {
|
|
||||||
@Override
|
|
||||||
public void addCorsMappings(CorsRegistry registry) {
|
|
||||||
registry.addMapping("/**")
|
|
||||||
.allowedOrigins("*")
|
|
||||||
.allowedMethods("GET", "POST", "PUT", "DELETE")
|
|
||||||
.allowedHeaders("*");
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@ -7,9 +7,9 @@ import com.xdap.self_development.controller.form.HandleReturnNodeForm;
|
|||||||
import com.xdap.self_development.controller.form.UpdateNodeForm;
|
import com.xdap.self_development.controller.form.UpdateNodeForm;
|
||||||
import com.xdap.self_development.controller.request.ApprovalNodeRequest;
|
import com.xdap.self_development.controller.request.ApprovalNodeRequest;
|
||||||
import com.xdap.self_development.controller.request.EngineReviewListRequest;
|
import com.xdap.self_development.controller.request.EngineReviewListRequest;
|
||||||
import com.xdap.self_development.exception.CommonException;
|
|
||||||
import com.xdap.self_development.domain.pojo.EngineReviewListPojo;
|
|
||||||
import com.xdap.self_development.domain.dto.*;
|
import com.xdap.self_development.domain.dto.*;
|
||||||
|
import com.xdap.self_development.domain.pojo.EngineReviewListPojo;
|
||||||
|
import com.xdap.self_development.exception.CommonException;
|
||||||
import com.xdap.self_development.service.ActivitiProcessService;
|
import com.xdap.self_development.service.ActivitiProcessService;
|
||||||
import com.xdap.self_development.service.EngineReviewListService;
|
import com.xdap.self_development.service.EngineReviewListService;
|
||||||
import org.springframework.validation.BindingResult;
|
import org.springframework.validation.BindingResult;
|
||||||
@ -86,7 +86,7 @@ public class ActivitiProcessController {
|
|||||||
* @param title 新标题
|
* @param title 新标题
|
||||||
* @return 操作结果响应
|
* @return 操作结果响应
|
||||||
*/
|
*/
|
||||||
@PostMapping(value = "/updateFlowTitle")
|
@GetMapping(value = "/updateFlowTitle")
|
||||||
public Response updateFlowTitle(
|
public Response updateFlowTitle(
|
||||||
@NotBlank @RequestParam String flowId,
|
@NotBlank @RequestParam String flowId,
|
||||||
@NotBlank @RequestParam String title
|
@NotBlank @RequestParam String title
|
||||||
@ -115,7 +115,9 @@ public class ActivitiProcessController {
|
|||||||
* @return 操作结果响应
|
* @return 操作结果响应
|
||||||
*/
|
*/
|
||||||
@PostMapping(value = "/startActiviti")
|
@PostMapping(value = "/startActiviti")
|
||||||
public Response startActiviti(@RequestBody ApprovalNodeRequest approvalNodeRequest) {
|
public Response startActiviti(
|
||||||
|
@NotBlank(message = "审批节点请求对象不能为空") @RequestBody ApprovalNodeRequest approvalNodeRequest
|
||||||
|
) {
|
||||||
activitiProcessService.startActiviti(approvalNodeRequest);
|
activitiProcessService.startActiviti(approvalNodeRequest);
|
||||||
return Response.ok();
|
return Response.ok();
|
||||||
}
|
}
|
||||||
|
|||||||
@ -3,7 +3,6 @@ package com.xdap.self_development.controller;
|
|||||||
import com.definesys.mpaas.common.http.Response;
|
import com.definesys.mpaas.common.http.Response;
|
||||||
import com.xdap.self_development.controller.form.*;
|
import com.xdap.self_development.controller.form.*;
|
||||||
import com.xdap.self_development.exception.CommonException;
|
import com.xdap.self_development.exception.CommonException;
|
||||||
import com.xdap.self_development.domain.pojo.AnalysisCommonParametersPojo;
|
|
||||||
import com.xdap.self_development.service.CommonParameterService;
|
import com.xdap.self_development.service.CommonParameterService;
|
||||||
import org.springframework.validation.BindingResult;
|
import org.springframework.validation.BindingResult;
|
||||||
import org.springframework.web.bind.annotation.*;
|
import org.springframework.web.bind.annotation.*;
|
||||||
@ -101,7 +100,7 @@ public class CommonParameterController {
|
|||||||
public Response getAnalysisCommonParameter(
|
public Response getAnalysisCommonParameter(
|
||||||
@NotBlank @RequestParam String userId
|
@NotBlank @RequestParam String userId
|
||||||
) {
|
) {
|
||||||
List<AnalysisCommonParametersPojo> list = commonParameterService.getAnalysisCommonParameter(userId);
|
List<AnalysisCommonParameterInsertForm> list = commonParameterService.getAnalysisCommonParameter(userId);
|
||||||
return Response.ok().data(list);
|
return Response.ok().data(list);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -4,14 +4,16 @@ 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.controller.request.EngineParamDetailRequest;
|
import com.xdap.self_development.controller.request.EngineParamDetailRequest;
|
||||||
import com.xdap.self_development.domain.pojo.EngineParamDetailPojo;
|
|
||||||
import com.xdap.self_development.domain.dto.EngineParamDetailDTO;
|
import com.xdap.self_development.domain.dto.EngineParamDetailDTO;
|
||||||
|
import com.xdap.self_development.domain.pojo.EngineParamDetailPojo;
|
||||||
import com.xdap.self_development.service.EngineParamDetailService;
|
import com.xdap.self_development.service.EngineParamDetailService;
|
||||||
import org.springframework.web.bind.annotation.*;
|
import org.springframework.web.bind.annotation.*;
|
||||||
import org.springframework.web.multipart.MultipartFile;
|
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;
|
||||||
|
import javax.validation.constraints.NotEmpty;
|
||||||
import java.util.HashMap;
|
import java.util.HashMap;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
@ -137,7 +139,10 @@ public class EngineParamDetailController {
|
|||||||
* @return 操作结果响应
|
* @return 操作结果响应
|
||||||
*/
|
*/
|
||||||
@PostMapping(value = "/updateParamValue")
|
@PostMapping(value = "/updateParamValue")
|
||||||
public Response updateParamValue(@RequestBody List<EngineParamDetailPojo> engineParamDetailPojos,@RequestParam("userID") String currentUserId) {
|
public Response updateParamValue(
|
||||||
|
@NotEmpty(message = "参数详情列表不能为空") @RequestBody List<EngineParamDetailPojo> engineParamDetailPojos,
|
||||||
|
@NotBlank(message = "用户ID不能为空") @RequestParam("userID") String currentUserId
|
||||||
|
) {
|
||||||
engineParamDetailService.updateParamValue(engineParamDetailPojos, currentUserId);
|
engineParamDetailService.updateParamValue(engineParamDetailPojos, currentUserId);
|
||||||
return Response.ok().data("修改成功,保存草稿,准备进入审批");
|
return Response.ok().data("修改成功,保存草稿,准备进入审批");
|
||||||
}
|
}
|
||||||
@ -150,8 +155,10 @@ public class EngineParamDetailController {
|
|||||||
* @return 操作结果响应
|
* @return 操作结果响应
|
||||||
*/
|
*/
|
||||||
@PostMapping(value = "/updateToInsertFiledBy")
|
@PostMapping(value = "/updateToInsertFiledBy")
|
||||||
public Response updateToInsertFiledBy(@RequestBody List<EngineParamDetailPojo> engineParamDetailPojos,
|
public Response updateToInsertFiledBy(
|
||||||
@RequestParam(value = "userID") String userID) {
|
@NotEmpty(message = "参数详情列表不能为空") @RequestBody List<EngineParamDetailPojo> engineParamDetailPojos,
|
||||||
|
@NotBlank(message = "用户ID不能为空") @RequestParam(value = "userID") String userID
|
||||||
|
) {
|
||||||
engineParamDetailService.updateToInsertFiledBy(engineParamDetailPojos, userID);
|
engineParamDetailService.updateToInsertFiledBy(engineParamDetailPojos, userID);
|
||||||
return Response.ok().data("修改成功");
|
return Response.ok().data("修改成功");
|
||||||
}
|
}
|
||||||
|
|||||||
@ -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.xdap.self_development.controller.request.TodoReturnRequest;
|
import com.xdap.self_development.controller.request.RejectTodoRequest;
|
||||||
import com.xdap.self_development.controller.request.TodoTaskRequest;
|
import com.xdap.self_development.controller.request.TodoTaskRequest;
|
||||||
import com.xdap.self_development.domain.dto.EngineParamDetailDTO;
|
import com.xdap.self_development.domain.dto.EngineParamDetailDTO;
|
||||||
import com.xdap.self_development.domain.dto.PageResultDTO;
|
import com.xdap.self_development.domain.dto.PageResultDTO;
|
||||||
@ -68,8 +68,10 @@ public class TodoTaskController {
|
|||||||
* @return 操作结果响应
|
* @return 操作结果响应
|
||||||
*/
|
*/
|
||||||
@PostMapping("/createResPerson")
|
@PostMapping("/createResPerson")
|
||||||
public Response createResPerson(@RequestBody List<EngineParamDetailDTO> paramDetailPojos
|
public Response createResPerson(
|
||||||
, @RequestParam String userID){
|
@RequestBody List<EngineParamDetailDTO> paramDetailPojos,
|
||||||
|
@RequestParam String userID
|
||||||
|
) {
|
||||||
todoTaskService.createResPerson(paramDetailPojos,userID);
|
todoTaskService.createResPerson(paramDetailPojos,userID);
|
||||||
return Response.ok();
|
return Response.ok();
|
||||||
|
|
||||||
@ -77,12 +79,12 @@ public class TodoTaskController {
|
|||||||
/**
|
/**
|
||||||
* 退回单据
|
* 退回单据
|
||||||
*
|
*
|
||||||
* @param todoReturnRequest 待办退回请求
|
* @param request 待办退回请求
|
||||||
* @return 操作结果响应
|
* @return 操作结果响应
|
||||||
*/
|
*/
|
||||||
@PostMapping("/todoReturn")
|
@PostMapping("/rejectTodo")
|
||||||
public Response todoReturn( @RequestBody TodoReturnRequest todoReturnRequest){
|
public Response todoReturn(@RequestBody RejectTodoRequest request) {
|
||||||
todoTaskService.todoReturn(todoReturnRequest);
|
todoTaskService.rejectTodo(request);
|
||||||
return Response.ok();
|
return Response.ok();
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@ -3,19 +3,21 @@ package com.xdap.self_development.controller.form;
|
|||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
|
|
||||||
import javax.validation.constraints.NotBlank;
|
import javax.validation.constraints.NotBlank;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
@Data
|
@Data
|
||||||
public class AnalysisCommonParameterInsertForm {
|
public class AnalysisCommonParameterInsertForm {
|
||||||
private String modelName;
|
private List<String> modelName;
|
||||||
private String plate;
|
private List<String> plate;
|
||||||
private String platform;
|
private List<String> platform;
|
||||||
private String series;
|
private List<String> series;
|
||||||
private String projectName;
|
private List<String> projectName;
|
||||||
private String projectNumber;
|
private List<String> projectNumber;
|
||||||
private Long emission;
|
private List<String> emission;
|
||||||
private Long displacementMin;
|
private Long displacementMin;
|
||||||
private Long displacementMax;
|
private Long displacementMax;
|
||||||
private String combustionType;
|
private List<String> combustionType;
|
||||||
|
private String commonId;
|
||||||
|
|
||||||
@NotBlank(message = "创建者不能为空")
|
@NotBlank(message = "创建者不能为空")
|
||||||
private String userId;
|
private String userId;
|
||||||
|
|||||||
@ -3,19 +3,20 @@ package com.xdap.self_development.controller.form;
|
|||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
|
|
||||||
import javax.validation.constraints.NotBlank;
|
import javax.validation.constraints.NotBlank;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
@Data
|
@Data
|
||||||
public class AnalysisCommonParameterUpdateForm {
|
public class AnalysisCommonParameterUpdateForm {
|
||||||
private String modelName;
|
private List<String> modelName;
|
||||||
private String plate;
|
private List<String> plate;
|
||||||
private String platform;
|
private List<String> platform;
|
||||||
private String series;
|
private List<String> series;
|
||||||
private String projectName;
|
private List<String> projectName;
|
||||||
private String projectNumber;
|
private List<String> projectNumber;
|
||||||
private Long emission;
|
private List<String> emission;
|
||||||
private Long displacementMin;
|
private Long displacementMin;
|
||||||
private Long displacementMax;
|
private Long displacementMax;
|
||||||
private String combustionType;
|
private List<String> combustionType;
|
||||||
|
|
||||||
@NotBlank(message = "创建者不能为空")
|
@NotBlank(message = "创建者不能为空")
|
||||||
private String userId;
|
private String userId;
|
||||||
|
|||||||
@ -26,6 +26,8 @@ public class DataEntryEngineModelPageRequest {
|
|||||||
private String distributeStatus;
|
private String distributeStatus;
|
||||||
private String ycOrOth;
|
private String ycOrOth;
|
||||||
private String modelNameSimple;
|
private String modelNameSimple;
|
||||||
|
private String manufacturerName;
|
||||||
|
private String manufacturerAbbreviation;
|
||||||
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
|
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
|
||||||
private Date productionDate;
|
private Date productionDate;
|
||||||
/**
|
/**
|
||||||
|
|||||||
@ -0,0 +1,20 @@
|
|||||||
|
package com.xdap.self_development.controller.request;
|
||||||
|
|
||||||
|
import com.xdap.self_development.domain.dto.EngineParamDetailDTO;
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
import javax.validation.constraints.NotBlank;
|
||||||
|
import javax.validation.constraints.NotEmpty;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
@Data
|
||||||
|
public class DistributeRequest {
|
||||||
|
@NotBlank(message = "模型ID不能为空")
|
||||||
|
private String modelId;
|
||||||
|
|
||||||
|
@NotEmpty(message = "参数详情列表不能为空")
|
||||||
|
private List<EngineParamDetailDTO> paramDetailPojosAll;
|
||||||
|
|
||||||
|
@NotBlank(message = "用户ID不能为空")
|
||||||
|
private String userID;
|
||||||
|
}
|
||||||
@ -2,6 +2,7 @@ package com.xdap.self_development.controller.request;
|
|||||||
|
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
|
|
||||||
|
import javax.validation.constraints.NotBlank;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -24,6 +25,7 @@ public class EngineParamDetailRequest {
|
|||||||
/**
|
/**
|
||||||
* 发动机型号ID
|
* 发动机型号ID
|
||||||
*/
|
*/
|
||||||
|
@NotBlank(message = "发动机型号ID不能为空")
|
||||||
private String engineModelID;
|
private String engineModelID;
|
||||||
/**
|
/**
|
||||||
* 发动机型号+产品编号
|
* 发动机型号+产品编号
|
||||||
@ -36,6 +38,7 @@ public class EngineParamDetailRequest {
|
|||||||
/**
|
/**
|
||||||
* 子系统+零部件名称路径
|
* 子系统+零部件名称路径
|
||||||
*/
|
*/
|
||||||
|
@NotBlank(message = "子系统+零部件名称路径不能为空")
|
||||||
private List<String> subsystemParts;
|
private List<String> subsystemParts;
|
||||||
/**
|
/**
|
||||||
* 子系统多选
|
* 子系统多选
|
||||||
|
|||||||
@ -0,0 +1,10 @@
|
|||||||
|
package com.xdap.self_development.controller.request;
|
||||||
|
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
@Data
|
||||||
|
public class RejectTodoRequest {
|
||||||
|
private String todoId;
|
||||||
|
private String fillerId;
|
||||||
|
private String responsiblePersonId;
|
||||||
|
}
|
||||||
@ -11,7 +11,6 @@ import com.xdap.self_development.domain.pojo.DataEntryEngineModelPojo;
|
|||||||
import com.xdap.self_development.domain.view.FlowNode;
|
import com.xdap.self_development.domain.view.FlowNode;
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
|
|
||||||
import java.util.ArrayList;
|
|
||||||
import java.util.Date;
|
import java.util.Date;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
@ -49,7 +48,7 @@ public class ActivitiDataAndRecordDTO {
|
|||||||
/**
|
/**
|
||||||
* 流程数据传输对象列表
|
* 流程数据传输对象列表
|
||||||
*/
|
*/
|
||||||
private ArrayList<ActivitiDataDTO> activitiDataDTOS;
|
private List<ActivitiDataDTO> activitiDataDTOS;
|
||||||
/**
|
/**
|
||||||
* 流程节点列表
|
* 流程节点列表
|
||||||
*/
|
*/
|
||||||
|
|||||||
@ -13,6 +13,7 @@ public class EngineParamDetailDTO {
|
|||||||
* 责任人ID
|
* 责任人ID
|
||||||
*/
|
*/
|
||||||
private String resPersonId;
|
private String resPersonId;
|
||||||
|
private XdapUsers resPerson;
|
||||||
/**
|
/**
|
||||||
* 参数模板表id
|
* 参数模板表id
|
||||||
*/
|
*/
|
||||||
@ -77,6 +78,13 @@ public class EngineParamDetailDTO {
|
|||||||
*/
|
*/
|
||||||
private String approvalId;
|
private String approvalId;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 是否分发填写人(0:否,1:是)
|
||||||
|
*/
|
||||||
|
private Integer isDistributedFilled;
|
||||||
|
/**
|
||||||
|
* 是否分发责任人(0:否,1:是)
|
||||||
|
*/
|
||||||
|
private Integer isDistributedRes;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@ -53,7 +53,7 @@ public class AnalysisCommonParametersPojo extends MpaasBasePojo {
|
|||||||
/**
|
/**
|
||||||
* 排放
|
* 排放
|
||||||
*/
|
*/
|
||||||
private Long emission;
|
private String emission;
|
||||||
/**
|
/**
|
||||||
* 最小排量
|
* 最小排量
|
||||||
*/
|
*/
|
||||||
|
|||||||
@ -28,6 +28,16 @@ public class DataEntryEngineModelPojo extends MpaasBasePojo {
|
|||||||
@RowID(sequence = "data_entry_engine_model_s", type = RowIDType.UUID)
|
@RowID(sequence = "data_entry_engine_model_s", type = RowIDType.UUID)
|
||||||
private String id;
|
private String id;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 厂家名称
|
||||||
|
*/
|
||||||
|
private String manufacturerName;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 厂家简称
|
||||||
|
*/
|
||||||
|
private String manufacturerAbbreviation;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 产品型号(全称)
|
* 产品型号(全称)
|
||||||
*/
|
*/
|
||||||
|
|||||||
@ -65,6 +65,11 @@ public class EngineParamDetailPojo {
|
|||||||
*/
|
*/
|
||||||
private String responsiblePersonId;
|
private String responsiblePersonId;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 是否分发责任人(0:否,1:是,2:不需要分发)
|
||||||
|
*/
|
||||||
|
private Integer isDistributedRes;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 填写部门
|
* 填写部门
|
||||||
*/
|
*/
|
||||||
@ -75,6 +80,11 @@ public class EngineParamDetailPojo {
|
|||||||
*/
|
*/
|
||||||
private String filledBy;
|
private String filledBy;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 是否分发填写人(0:否,1:是,2:不需要分发)
|
||||||
|
*/
|
||||||
|
private Integer isDistributedFilled;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 创建人
|
* 创建人
|
||||||
*/
|
*/
|
||||||
|
|||||||
@ -145,7 +145,7 @@ public class ParameterPojo extends MpaasBasePojo {
|
|||||||
"必填",
|
"必填",
|
||||||
"非必填",
|
"非必填",
|
||||||
"必填,并且为下列之一:数据平台手工录入、TC分类表、公式计算",
|
"必填,并且为下列之一:数据平台手工录入、TC分类表、公式计算",
|
||||||
"非必填,如果参数来源为'公式计算'则必填;公式示例:Π*(直径(内径)/2)*(直径(内径)/2)",
|
"非必填,如果参数来源为'公式计算'则必填。填写规范:参数名可以是中文、数字、大小写字母、中文括号 `()`必须以中文开头,不能包含运算符和英文括号;参数名也可以是数字;支持圆周率,必须是小写的`π`,不支持`Π`;负号 `-` 可作为操作数前缀。公式示例:π*(直径(内径)/2)*(直径(内径)/2)",
|
||||||
"非必填,如果参数来源为'数据平台手工录入'则必填;部门必须为研发总院的子部门,如‘研发部’",
|
"非必填,如果参数来源为'数据平台手工录入'则必填;部门必须为研发总院的子部门,如‘研发部’",
|
||||||
"非必填"};
|
"非必填"};
|
||||||
}
|
}
|
||||||
|
|||||||
@ -17,7 +17,7 @@ import java.sql.Timestamp;
|
|||||||
|
|
||||||
@SQLQuery(value = {
|
@SQLQuery(value = {
|
||||||
@SQL(view = "getLatestTemplateOrder",
|
@SQL(view = "getLatestTemplateOrder",
|
||||||
sql = "SELECT ranked.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 ( SELECT DISTINCT id, template_name, version, status, created_time , published_time, order_num, create_by FROM yfsjglpt_model_template WHERE status IN ('COMPLETE', 'DRAFT', 'APPROVING') ) t ) ranked LEFT JOIN xdap_users xu ON xu.id = ranked.create_by WHERE rn = 1 ORDER BY CASE 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"),
|
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"),
|
||||||
// 查找每个模板的最新版本并且优先级按照已发布、审核中、草稿状态转变(只有这三种状态)
|
// 查找每个模板的最新版本并且优先级按照已发布、审核中、草稿状态转变(只有这三种状态)
|
||||||
// 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",
|
||||||
|
|||||||
@ -12,7 +12,6 @@ import com.xdap.self_development.domain.enums.ParamValueVersionEnum;
|
|||||||
import com.xdap.self_development.domain.pojo.DataEntryEngineModelPojo;
|
import com.xdap.self_development.domain.pojo.DataEntryEngineModelPojo;
|
||||||
import com.xdap.self_development.domain.pojo.EngineParamDetailPojo;
|
import com.xdap.self_development.domain.pojo.EngineParamDetailPojo;
|
||||||
import com.xdap.self_development.domain.pojo.ParameterPojo;
|
import com.xdap.self_development.domain.pojo.ParameterPojo;
|
||||||
import com.xdap.self_development.domain.pojo.TodoTaskPojo;
|
|
||||||
import com.xdap.self_development.exception.ExcelImportException;
|
import com.xdap.self_development.exception.ExcelImportException;
|
||||||
import com.xdap.self_development.service.EngineParamDetailService;
|
import com.xdap.self_development.service.EngineParamDetailService;
|
||||||
import com.xdap.self_development.service.ResponsiblePerService;
|
import com.xdap.self_development.service.ResponsiblePerService;
|
||||||
@ -25,6 +24,7 @@ import java.sql.Timestamp;
|
|||||||
import java.time.LocalDateTime;
|
import java.time.LocalDateTime;
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
import java.util.Objects;
|
||||||
import java.util.UUID;
|
import java.util.UUID;
|
||||||
|
|
||||||
|
|
||||||
@ -126,7 +126,7 @@ public class EngineModelListener implements ReadListener<DataEntryEngineModelExc
|
|||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
batchInsert(modelPojos);
|
sw.buildFromDatasource("xdap_app_223770822127386625").doBatchInsert(modelPojos);
|
||||||
|
|
||||||
saveDataParamDetail(modelPojos, parameters);
|
saveDataParamDetail(modelPojos, parameters);
|
||||||
}
|
}
|
||||||
@ -152,25 +152,12 @@ public class EngineModelListener implements ReadListener<DataEntryEngineModelExc
|
|||||||
engineParamDetailPojo.setLastUpdatedBy("");
|
engineParamDetailPojo.setLastUpdatedBy("");
|
||||||
engineParamDetailPojo.setLastUpdateDate(Timestamp.valueOf(LocalDateTime.now()));
|
engineParamDetailPojo.setLastUpdateDate(Timestamp.valueOf(LocalDateTime.now()));
|
||||||
engineParamDetailPojo.setCreationDate(Timestamp.valueOf(LocalDateTime.now()));
|
engineParamDetailPojo.setCreationDate(Timestamp.valueOf(LocalDateTime.now()));
|
||||||
|
engineParamDetailPojo.setIsDistributedRes(Objects.equals(parameter.getParameterSource(), "数据平台手工录入") ? 0 : 2);
|
||||||
|
engineParamDetailPojo.setIsDistributedFilled(Objects.equals(parameter.getParameterSource(), "数据平台手工录入") ? 0 : 2);
|
||||||
engineParamDetailPojos.add(engineParamDetailPojo);
|
engineParamDetailPojos.add(engineParamDetailPojo);
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
batchInsertParamDetail(engineParamDetailPojos);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
public void batchInsertTodoTask(List<TodoTaskPojo> todoTaskPojos) {
|
|
||||||
sw.buildFromDatasource("xdap_app_223770822127386625").doBatchInsert(todoTaskPojos);
|
|
||||||
}
|
|
||||||
|
|
||||||
public void batchInsertParamDetail(List<EngineParamDetailPojo> engineParamDetailPojos) {
|
|
||||||
sw.buildFromDatasource("xdap_app_223770822127386625").doBatchInsert(engineParamDetailPojos);
|
sw.buildFromDatasource("xdap_app_223770822127386625").doBatchInsert(engineParamDetailPojos);
|
||||||
}
|
}
|
||||||
|
|
||||||
public void batchInsert(List<DataEntryEngineModelPojo> modelPojos) {
|
|
||||||
sw.buildFromDatasource("xdap_app_223770822127386625").doBatchInsert(modelPojos);
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@ -14,7 +14,6 @@ import com.xdap.self_development.domain.pojo.ParamApprovalRecordPojo;
|
|||||||
|
|
||||||
import javax.validation.Valid;
|
import javax.validation.Valid;
|
||||||
import javax.validation.constraints.NotBlank;
|
import javax.validation.constraints.NotBlank;
|
||||||
import java.util.ArrayList;
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
public interface ActivitiProcessService {
|
public interface ActivitiProcessService {
|
||||||
@ -43,7 +42,7 @@ public interface ActivitiProcessService {
|
|||||||
HandleApprovalDTO request,
|
HandleApprovalDTO request,
|
||||||
ApprovalConfigPojo currentNode,
|
ApprovalConfigPojo currentNode,
|
||||||
ParamApprovalRecordPojo lastedRecord,
|
ParamApprovalRecordPojo lastedRecord,
|
||||||
ArrayList<EngineParamDetailPojo> list
|
List<EngineParamDetailPojo> list
|
||||||
);
|
);
|
||||||
void cancelProcess(
|
void cancelProcess(
|
||||||
EngineReviewListPojo flow,
|
EngineReviewListPojo flow,
|
||||||
|
|||||||
@ -1,7 +1,6 @@
|
|||||||
package com.xdap.self_development.service;
|
package com.xdap.self_development.service;
|
||||||
|
|
||||||
import com.xdap.self_development.controller.form.*;
|
import com.xdap.self_development.controller.form.*;
|
||||||
import com.xdap.self_development.domain.pojo.AnalysisCommonParametersPojo;
|
|
||||||
|
|
||||||
import javax.validation.Valid;
|
import javax.validation.Valid;
|
||||||
import javax.validation.constraints.NotBlank;
|
import javax.validation.constraints.NotBlank;
|
||||||
@ -16,7 +15,7 @@ public interface CommonParameterService {
|
|||||||
|
|
||||||
void updateModelCommonParameter(@Valid ModelCommonParameterUpdateForm form);
|
void updateModelCommonParameter(@Valid ModelCommonParameterUpdateForm form);
|
||||||
|
|
||||||
List<AnalysisCommonParametersPojo> getAnalysisCommonParameter(@NotBlank String userId);
|
List<AnalysisCommonParameterInsertForm> getAnalysisCommonParameter(@NotBlank String userId);
|
||||||
|
|
||||||
void insertAnalysisCommonParameter(@Valid AnalysisCommonParameterInsertForm form);
|
void insertAnalysisCommonParameter(@Valid AnalysisCommonParameterInsertForm form);
|
||||||
|
|
||||||
|
|||||||
@ -1,6 +1,6 @@
|
|||||||
package com.xdap.self_development.service;
|
package com.xdap.self_development.service;
|
||||||
|
|
||||||
import com.xdap.self_development.controller.request.TodoReturnRequest;
|
import com.xdap.self_development.controller.request.RejectTodoRequest;
|
||||||
import com.xdap.self_development.controller.request.TodoTaskRequest;
|
import com.xdap.self_development.controller.request.TodoTaskRequest;
|
||||||
import com.xdap.self_development.controller.request.YcGetTodoTaskRequest;
|
import com.xdap.self_development.controller.request.YcGetTodoTaskRequest;
|
||||||
import com.xdap.self_development.domain.dto.EngineParamDetailDTO;
|
import com.xdap.self_development.domain.dto.EngineParamDetailDTO;
|
||||||
@ -32,7 +32,7 @@ public interface TodoTaskService {
|
|||||||
|
|
||||||
void createResPerson(List<EngineParamDetailDTO> paramDetailPojos, String userID);
|
void createResPerson(List<EngineParamDetailDTO> paramDetailPojos, String userID);
|
||||||
|
|
||||||
void todoReturn(TodoReturnRequest todoReturnRequest);
|
void rejectTodo(RejectTodoRequest request);
|
||||||
|
|
||||||
//---------------------------------玉柴调用接口--------------------------------
|
//---------------------------------玉柴调用接口--------------------------------
|
||||||
List<YcTodoTaskResultDTO> returnTodoTask(YcGetTodoTaskRequest ycGetTodoTaskRequest);
|
List<YcTodoTaskResultDTO> returnTodoTask(YcGetTodoTaskRequest ycGetTodoTaskRequest);
|
||||||
|
|||||||
@ -9,10 +9,7 @@ import com.xdap.self_development.controller.form.HandleReturnNodeForm;
|
|||||||
import com.xdap.self_development.controller.form.UpdateNodeForm;
|
import com.xdap.self_development.controller.form.UpdateNodeForm;
|
||||||
import com.xdap.self_development.controller.request.ApprovalNodeRequest;
|
import com.xdap.self_development.controller.request.ApprovalNodeRequest;
|
||||||
import com.xdap.self_development.domain.dto.*;
|
import com.xdap.self_development.domain.dto.*;
|
||||||
import com.xdap.self_development.domain.enums.ApprovalOrderEnum;
|
import com.xdap.self_development.domain.enums.*;
|
||||||
import com.xdap.self_development.domain.enums.CurrentNodeEnum;
|
|
||||||
import com.xdap.self_development.domain.enums.ParamOperationEnum;
|
|
||||||
import com.xdap.self_development.domain.enums.ParamValueVersionEnum;
|
|
||||||
import com.xdap.self_development.domain.pojo.*;
|
import com.xdap.self_development.domain.pojo.*;
|
||||||
import com.xdap.self_development.domain.view.FlowNode;
|
import com.xdap.self_development.domain.view.FlowNode;
|
||||||
import com.xdap.self_development.exception.CommonException;
|
import com.xdap.self_development.exception.CommonException;
|
||||||
@ -27,6 +24,7 @@ import org.springframework.transaction.annotation.Transactional;
|
|||||||
|
|
||||||
import javax.annotation.Resource;
|
import javax.annotation.Resource;
|
||||||
import java.sql.Timestamp;
|
import java.sql.Timestamp;
|
||||||
|
import java.text.Collator;
|
||||||
import java.time.LocalDateTime;
|
import java.time.LocalDateTime;
|
||||||
import java.util.*;
|
import java.util.*;
|
||||||
import java.util.concurrent.TimeUnit;
|
import java.util.concurrent.TimeUnit;
|
||||||
@ -94,7 +92,7 @@ public class ActivitiProcessServiceImpl implements ActivitiProcessService {
|
|||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
throw new CommonException("找不到机型ID对应的参数或机型参数里最新版本没有UPDATE的数据");
|
throw new CommonException("找不到机型ID对应的参数或机型参数里最新版本没有UPDATE的数据");
|
||||||
}
|
}
|
||||||
ArrayList<ActivitiDataDTO> activitiDataDTOS = new ArrayList<>();
|
List<ActivitiDataDTO> activitiDataDTOS = new ArrayList<>();
|
||||||
ArrayList<DataChangeCommentPojo> das = new ArrayList<>();
|
ArrayList<DataChangeCommentPojo> das = new ArrayList<>();
|
||||||
for (EngineParamDetailPojo engineParamDetailPojo : engineParamDetailPojos) {
|
for (EngineParamDetailPojo engineParamDetailPojo : engineParamDetailPojos) {
|
||||||
String parameterId = engineParamDetailPojo.getParameterId();
|
String parameterId = engineParamDetailPojo.getParameterId();
|
||||||
@ -147,7 +145,7 @@ public class ActivitiProcessServiceImpl implements ActivitiProcessService {
|
|||||||
das.add(dataChangeCommentPojo);
|
das.add(dataChangeCommentPojo);
|
||||||
}
|
}
|
||||||
bd.getBusinessDatabase().doBatchInsert(das);
|
bd.getBusinessDatabase().doBatchInsert(das);
|
||||||
return activitiDataDTOS;
|
return sortValueChange(activitiDataDTOS);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -158,33 +156,38 @@ public class ActivitiProcessServiceImpl implements ActivitiProcessService {
|
|||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
public void startActiviti(ApprovalNodeRequest approvalNodeRequest) {
|
public void startActiviti(ApprovalNodeRequest approvalNodeRequest) {
|
||||||
//新增审批数据
|
|
||||||
if (ObjectUtils.isEmpty(approvalNodeRequest)) {
|
|
||||||
throw new CommonException("请先填写参数");
|
|
||||||
}
|
|
||||||
String processTitle = approvalNodeRequest.getProcessTitle();
|
String processTitle = approvalNodeRequest.getProcessTitle();
|
||||||
String userId = approvalNodeRequest.getUserId();
|
String userId = approvalNodeRequest.getUserId();
|
||||||
// 1. 获取第一个审批环节(按nodeOrder排序取最小)
|
// 1. 获取第一个审批环节(按nodeOrder排序取最小)
|
||||||
ApprovalNodeDTO firstNode = approvalNodeRequest.getNodeList().stream()
|
ApprovalNodeDTO firstNode = approvalNodeRequest.getNodeList().stream()
|
||||||
.min(Comparator.comparingInt(ApprovalNodeDTO::getNodeOrder))
|
.min(Comparator.comparingInt(ApprovalNodeDTO::getNodeOrder))
|
||||||
.orElseThrow(() -> new RuntimeException("审批环节配置不能为空"));
|
.orElseThrow(() -> new RuntimeException("审批环节配置不能为空"));
|
||||||
List<EngineParamDetailPojo> paramList;
|
|
||||||
String modelId = approvalNodeRequest.getModelId();
|
DataEntryEngineModelPojo model = bd.getBusinessDatabase()
|
||||||
|
.eq("id", approvalNodeRequest.getModelId())
|
||||||
|
.doQueryFirst(DataEntryEngineModelPojo.class);
|
||||||
|
if (ObjectUtils.isEmpty(model)) {
|
||||||
|
throw new CommonException("机型不存在,请检查");
|
||||||
|
}
|
||||||
|
// TODO 检查是否填写完参数并发起审批
|
||||||
|
|
||||||
|
// 检查当前参数是否全部填写完成
|
||||||
|
List<EngineParamDetailPojo> toBeFilledParams = bd.getBusinessDatabase()
|
||||||
|
.eq("engine_model_id", model.getId())
|
||||||
|
.eq("major_version", model.getVersionNumber())
|
||||||
|
.eq("filled_by", userId)
|
||||||
|
.isNull("minor_version")
|
||||||
|
.doQuery(EngineParamDetailPojo.class);
|
||||||
|
if (!ObjectUtils.isEmpty(toBeFilledParams))
|
||||||
|
throw new CommonException("您在当前机型的参数未全部填写完成,请检查");
|
||||||
|
|
||||||
// 查询机型最新版本的参数,过滤出操作为更新且由当前用户更新的参数
|
// 查询机型最新版本的参数,过滤出操作为更新且由当前用户更新的参数
|
||||||
try {
|
List<EngineParamDetailPojo> paramList = bd.getBusinessDatabase()
|
||||||
paramList = engineParamDetailService.selectByModelNewVersion(modelId)
|
.eq("engine_model_id", model.getId())
|
||||||
.stream()
|
.eq("major_version", model.getVersionNumber())
|
||||||
.filter(x -> ParamOperationEnum.UPDATE.toString()
|
.eq("filled_by", userId)
|
||||||
.equals(x.getOperation()) && userId.equals(x.getLastUpdatedBy() == null ? "" : x.getLastUpdatedBy())).collect(Collectors.toList());
|
.doQuery(EngineParamDetailPojo.class);
|
||||||
if (ObjectUtils.isEmpty(paramList)) {
|
|
||||||
throw new CommonException("");
|
|
||||||
}
|
|
||||||
} catch (Exception e) {
|
|
||||||
throw new CommonException("找不到机型ID对应的参数或机型参数里最新版本没有UPDATE的数据");
|
|
||||||
}
|
|
||||||
String engineModelId = approvalNodeRequest.getModelId();
|
|
||||||
// 查询旧的发动机型号信息
|
|
||||||
DataEntryEngineModelPojo modelPojoOld = dataEntryEngineModelService.selectBymodelId(engineModelId);
|
|
||||||
//获取提交人
|
//获取提交人
|
||||||
XdapUsers xdapUsers = xdapDeptUsersService.selectUserByID(userId);
|
XdapUsers xdapUsers = xdapDeptUsersService.selectUserByID(userId);
|
||||||
String createBy = ObjectUtils.isNotEmpty(xdapUsers) ? xdapUsers.getUsername() : null;
|
String createBy = ObjectUtils.isNotEmpty(xdapUsers) ? xdapUsers.getUsername() : null;
|
||||||
@ -202,9 +205,9 @@ public class ActivitiProcessServiceImpl implements ActivitiProcessService {
|
|||||||
// 创建发动机审核列表POJO对象
|
// 创建发动机审核列表POJO对象
|
||||||
EngineReviewListPojo engineReviewListPojo = new EngineReviewListPojo();
|
EngineReviewListPojo engineReviewListPojo = new EngineReviewListPojo();
|
||||||
engineReviewListPojo.setId(approvalId);
|
engineReviewListPojo.setId(approvalId);
|
||||||
engineReviewListPojo.setModelId(engineModelId);
|
engineReviewListPojo.setModelId(model.getId());
|
||||||
engineReviewListPojo.setModelName(modelPojoOld.getModelName());
|
engineReviewListPojo.setModelName(model.getModelName());
|
||||||
engineReviewListPojo.setYcOrOth(modelPojoOld.getYcOrOth());
|
engineReviewListPojo.setYcOrOth(model.getYcOrOth());
|
||||||
engineReviewListPojo.setProcessTopic(processTitle);
|
engineReviewListPojo.setProcessTopic(processTitle);
|
||||||
engineReviewListPojo.setStatusCode(ParamValueVersionEnum.UNDER.getCode());
|
engineReviewListPojo.setStatusCode(ParamValueVersionEnum.UNDER.getCode());
|
||||||
engineReviewListPojo.setApplicant(userId);
|
engineReviewListPojo.setApplicant(userId);
|
||||||
@ -227,14 +230,14 @@ public class ActivitiProcessServiceImpl implements ActivitiProcessService {
|
|||||||
todoTaskPojo.setProcessTitle(processTitle);
|
todoTaskPojo.setProcessTitle(processTitle);
|
||||||
todoTaskPojo.setCurrentNode(ApprovalOrderEnum.PROOFREAD.getDesc());
|
todoTaskPojo.setCurrentNode(ApprovalOrderEnum.PROOFREAD.getDesc());
|
||||||
todoTaskPojo.setCurrentProcessor(JSON.toJSONString(firstNode.getAssignees()));
|
todoTaskPojo.setCurrentProcessor(JSON.toJSONString(firstNode.getAssignees()));
|
||||||
todoTaskPojo.setModelId(engineModelId);
|
todoTaskPojo.setModelId(model.getId());
|
||||||
todoTaskPojo.setVersionNumber(modelPojoOld.getVersionNumber());
|
todoTaskPojo.setVersionNumber(model.getVersionNumber());
|
||||||
todoTaskPojo.setOwnerId(assigneeId);
|
todoTaskPojo.setOwnerId(assigneeId);
|
||||||
todoTaskPojo.setDataType(CurrentNodeEnum.DATAAPPROVAL.getDesc());
|
todoTaskPojo.setDataType(CurrentNodeEnum.DATAAPPROVAL.getDesc());
|
||||||
todoTaskPojo.setModelName(modelPojoOld.getModelName());
|
todoTaskPojo.setModelName(model.getModelName());
|
||||||
todoTaskPojo.setCreatedById(userId);
|
todoTaskPojo.setCreatedById(userId);
|
||||||
todoTaskPojo.setCreatedBy(createBy);
|
todoTaskPojo.setCreatedBy(createBy);
|
||||||
todoTaskPojo.setCreationDate(Timestamp.valueOf(LocalDateTime.now()));
|
todoTaskPojo.setCreationDate(engineReviewListPojo.getCreationDate());
|
||||||
todoTaskPojo.setIsDelete(0);
|
todoTaskPojo.setIsDelete(0);
|
||||||
list.add(todoTaskPojo);
|
list.add(todoTaskPojo);
|
||||||
}
|
}
|
||||||
@ -249,8 +252,8 @@ public class ActivitiProcessServiceImpl implements ActivitiProcessService {
|
|||||||
initiatedTaskPojo.setCreatedById(userId);
|
initiatedTaskPojo.setCreatedById(userId);
|
||||||
initiatedTaskPojo.setCreatedBy(createBy);
|
initiatedTaskPojo.setCreatedBy(createBy);
|
||||||
initiatedTaskPojo.setDataType(CurrentNodeEnum.DATAAPPROVAL.getDesc());
|
initiatedTaskPojo.setDataType(CurrentNodeEnum.DATAAPPROVAL.getDesc());
|
||||||
initiatedTaskPojo.setModelName(modelPojoOld.getModelName());
|
initiatedTaskPojo.setModelName(model.getModelName());
|
||||||
initiatedTaskPojo.setCreationDate(Timestamp.valueOf(LocalDateTime.now()));
|
initiatedTaskPojo.setCreationDate(engineReviewListPojo.getCreationDate());
|
||||||
initiatedTaskPojo.setIsDelete(0);
|
initiatedTaskPojo.setIsDelete(0);
|
||||||
initiatedTaskPojo.setEnableReturn(1);
|
initiatedTaskPojo.setEnableReturn(1);
|
||||||
bd.getBusinessDatabase().doInsert(initiatedTaskPojo);
|
bd.getBusinessDatabase().doInsert(initiatedTaskPojo);
|
||||||
@ -302,6 +305,34 @@ public class ActivitiProcessServiceImpl implements ActivitiProcessService {
|
|||||||
1
|
1
|
||||||
)
|
)
|
||||||
);
|
);
|
||||||
|
|
||||||
|
// 参数发起审批后,删除填写人的待办
|
||||||
|
TodoTaskPojo todoTaskPojo = bd.getBusinessDatabase()
|
||||||
|
.eq("owner_id", userId)
|
||||||
|
.eq("model_id", model.getId())
|
||||||
|
.eq("data_type", "数据维护")
|
||||||
|
.doQueryFirst(TodoTaskPojo.class);
|
||||||
|
// 修改待办和发起的任务状态
|
||||||
|
bd.getBusinessDatabase()
|
||||||
|
.update("is_delete", 1)
|
||||||
|
.update("current_node", "已维护")
|
||||||
|
.update("last_update_date", new Date())
|
||||||
|
.eq("document_no", todoTaskPojo.getDocumentNo())
|
||||||
|
.doUpdate(TodoTaskPojo.class);
|
||||||
|
bd.getBusinessDatabase()
|
||||||
|
.update("current_node", "已维护")
|
||||||
|
.update("last_update_date", new Date())
|
||||||
|
.eq("document_no", todoTaskPojo.getDocumentNo())
|
||||||
|
.doUpdate(InitiatedTaskPojo.class);
|
||||||
|
//新增这个人的已办
|
||||||
|
CompletedTaskPojo completedTaskPojo = new CompletedTaskPojo();
|
||||||
|
BeanUtils.copyProperties(todoTaskPojo, completedTaskPojo);
|
||||||
|
completedTaskPojo.setId(UUID.randomUUID().toString().replaceAll("-", ""));
|
||||||
|
completedTaskPojo.setDocumentNo(todoTaskPojo.getDocumentNo());
|
||||||
|
completedTaskPojo.setCreationDate(engineReviewListPojo.getCreationDate());
|
||||||
|
completedTaskPojo.setIsDelete(0);
|
||||||
|
completedTaskPojo.setCurrentNode("已维护");
|
||||||
|
bd.getBusinessDatabase().doInsert(completedTaskPojo);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -316,7 +347,6 @@ public class ActivitiProcessServiceImpl implements ActivitiProcessService {
|
|||||||
public String handleApproval(HandleApprovalDTO handleApprovalDTO) {
|
public String handleApproval(HandleApprovalDTO handleApprovalDTO) {
|
||||||
String approvalId = handleApprovalDTO.getApprovalId();
|
String approvalId = handleApprovalDTO.getApprovalId();
|
||||||
String approver = handleApprovalDTO.getUserId();
|
String approver = handleApprovalDTO.getUserId();
|
||||||
ArrayList<EngineParamDetailPojo> list = new ArrayList<>();
|
|
||||||
|
|
||||||
// 验证流程状态和用户权限
|
// 验证流程状态和用户权限
|
||||||
EngineReviewListPojo reviewListPojo = bd.getBusinessDatabase()
|
EngineReviewListPojo reviewListPojo = bd.getBusinessDatabase()
|
||||||
@ -326,6 +356,15 @@ public class ActivitiProcessServiceImpl implements ActivitiProcessService {
|
|||||||
if (!assigneeList.contains(approver)) {
|
if (!assigneeList.contains(approver)) {
|
||||||
throw new CommonException("当前用户无权限处理此审批环节");
|
throw new CommonException("当前用户无权限处理此审批环节");
|
||||||
}
|
}
|
||||||
|
DataEntryEngineModelPojo model = bd.getBusinessDatabase()
|
||||||
|
.eq("id", reviewListPojo.getModelId())
|
||||||
|
.doQueryFirst(DataEntryEngineModelPojo.class);
|
||||||
|
// 获取当前流程填写人的填写参数
|
||||||
|
List<EngineParamDetailPojo> list = bd.getBusinessDatabase()
|
||||||
|
.eq("engine_model_id", model.getId())
|
||||||
|
.eq("major_version", model.getVersionNumber())
|
||||||
|
.eq("filled_by", reviewListPojo.getCreatedBy())
|
||||||
|
.doQuery(EngineParamDetailPojo.class);
|
||||||
|
|
||||||
ParamApprovalRecordPojo lastedRecord = bd.getBusinessDatabase()
|
ParamApprovalRecordPojo lastedRecord = bd.getBusinessDatabase()
|
||||||
.eq("approval_id", approvalId)
|
.eq("approval_id", approvalId)
|
||||||
@ -362,11 +401,6 @@ public class ActivitiProcessServiceImpl implements ActivitiProcessService {
|
|||||||
else {
|
else {
|
||||||
myself.processApproval(reviewListPojo, handleApprovalDTO, approvalConfigPojo, lastedRecord, list);
|
myself.processApproval(reviewListPojo, handleApprovalDTO, approvalConfigPojo, lastedRecord, list);
|
||||||
}
|
}
|
||||||
|
|
||||||
// 如果有待插入的参数明细数据,则执行批量插入
|
|
||||||
if (ObjectUtils.isNotEmpty(list)) {
|
|
||||||
bd.getBusinessDatabase().doBatchInsert(list);
|
|
||||||
}
|
|
||||||
return "已审批";
|
return "已审批";
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -376,7 +410,7 @@ public class ActivitiProcessServiceImpl implements ActivitiProcessService {
|
|||||||
HandleApprovalDTO request,
|
HandleApprovalDTO request,
|
||||||
ApprovalConfigPojo currentNode,
|
ApprovalConfigPojo currentNode,
|
||||||
ParamApprovalRecordPojo lastedRecord,
|
ParamApprovalRecordPojo lastedRecord,
|
||||||
ArrayList<EngineParamDetailPojo> list
|
List<EngineParamDetailPojo> list
|
||||||
) {
|
) {
|
||||||
// 新增当前审批结果
|
// 新增当前审批结果
|
||||||
bd.getBusinessDatabase().doInsert(new ParamApprovalRecordPojo(
|
bd.getBusinessDatabase().doInsert(new ParamApprovalRecordPojo(
|
||||||
@ -420,7 +454,7 @@ public class ActivitiProcessServiceImpl implements ActivitiProcessService {
|
|||||||
completedTaskPojo.setDataType("数据审批");
|
completedTaskPojo.setDataType("数据审批");
|
||||||
completedTaskPojo.setOwnerId(request.getUserId());
|
completedTaskPojo.setOwnerId(request.getUserId());
|
||||||
completedTaskPojo.setProcessTitle(flow.getProcessTopic());
|
completedTaskPojo.setProcessTitle(flow.getProcessTopic());
|
||||||
completedTaskPojo.setCreationDate(Timestamp.valueOf(LocalDateTime.now()));
|
completedTaskPojo.setCreationDate(flow.getCreationDate());
|
||||||
completedTaskPojo.setIsDelete(0);
|
completedTaskPojo.setIsDelete(0);
|
||||||
completedTaskPojo.setModelId(flow.getModelId());
|
completedTaskPojo.setModelId(flow.getModelId());
|
||||||
bd.getBusinessDatabase().doInsert(completedTaskPojo);
|
bd.getBusinessDatabase().doInsert(completedTaskPojo);
|
||||||
@ -504,7 +538,7 @@ public class ActivitiProcessServiceImpl implements ActivitiProcessService {
|
|||||||
todoTask.setCurrentNode("编制");
|
todoTask.setCurrentNode("编制");
|
||||||
todoTask.setDataType("数据拒绝");
|
todoTask.setDataType("数据拒绝");
|
||||||
todoTask.setDocumentNo(flow.getId());
|
todoTask.setDocumentNo(flow.getId());
|
||||||
todoTask.setCreationDate(Timestamp.valueOf(LocalDateTime.now()));
|
todoTask.setCreationDate(flow.getCreationDate());
|
||||||
todoTask.setIsDelete(0);
|
todoTask.setIsDelete(0);
|
||||||
todoTask.setModelId(flow.getModelId());
|
todoTask.setModelId(flow.getModelId());
|
||||||
todoTask.setModelName(flow.getModelName());
|
todoTask.setModelName(flow.getModelName());
|
||||||
@ -566,27 +600,43 @@ public class ActivitiProcessServiceImpl implements ActivitiProcessService {
|
|||||||
userId,
|
userId,
|
||||||
0
|
0
|
||||||
);
|
);
|
||||||
}
|
} else {
|
||||||
else {
|
|
||||||
// 待办环节修改
|
// 待办环节修改
|
||||||
myself.updateTasks(flow, ParamValueVersionEnum.PASSED.getDesc(), 0, null);
|
myself.updateTasks(flow, ParamValueVersionEnum.PASSED.getDesc(), 0, null);
|
||||||
// 所有环节完成
|
|
||||||
DataEntryEngineModelPojo modelPojos = bd.getBusinessDatabase()
|
// TODO 审批通过的版本变化
|
||||||
|
DataEntryEngineModelPojo model = bd.getBusinessDatabase()
|
||||||
.eq("id", flow.getModelId())
|
.eq("id", flow.getModelId())
|
||||||
.doQueryFirst(DataEntryEngineModelPojo.class);
|
.doQueryFirst(DataEntryEngineModelPojo.class);
|
||||||
Integer versionNumber = modelPojos.getVersionNumber();
|
|
||||||
|
// 检查当前参数是否为一版本,是则更新参数,否则新建版本。
|
||||||
// 这个机型下所有参数都全部写入一版且版本加一 没有参与审批的参数时原来的值,参与审批的参数值要取小版本值作为大版本
|
// 这个机型下所有参数都全部写入一版且版本加一 没有参与审批的参数时原来的值,参与审批的参数值要取小版本值作为大版本
|
||||||
|
// 现版本全部参数
|
||||||
List<EngineParamDetailPojo> oldDetails = bd.getBusinessDatabase()
|
List<EngineParamDetailPojo> oldDetails = bd.getBusinessDatabase()
|
||||||
.eq("engine_model_id", flow.getModelId())
|
.eq("engine_model_id", flow.getModelId())
|
||||||
.eq("major_version", versionNumber)
|
.eq("major_version", model.getVersionNumber())
|
||||||
.doQuery(EngineParamDetailPojo.class);
|
.doQuery(EngineParamDetailPojo.class);
|
||||||
List<EngineParamDetailPojo> passDetail = bd.getBusinessDatabase()
|
// 本次审核通过审核的参数id
|
||||||
.eq("approval_id", flow.getId())
|
List<String> ids = list.stream()
|
||||||
.eq("operation", ParamOperationEnum.UPDATE)
|
|
||||||
.doQuery(EngineParamDetailPojo.class);
|
|
||||||
List<String> ids = passDetail.stream()
|
|
||||||
.map(EngineParamDetailPojo::getId)
|
.map(EngineParamDetailPojo::getId)
|
||||||
.collect(Collectors.toList());
|
.collect(Collectors.toList());
|
||||||
|
// 现版本未填写的参数
|
||||||
|
List<EngineParamDetailPojo> emptyParameters = bd.getBusinessDatabase()
|
||||||
|
.eq("engine_model_id", flow.getModelId())
|
||||||
|
.eq("major_version", model.getVersionNumber())
|
||||||
|
.isNull("parameter_value")
|
||||||
|
.doQuery(EngineParamDetailPojo.class);
|
||||||
|
|
||||||
|
if (emptyParameters.size() == oldDetails.size()) {
|
||||||
|
for (EngineParamDetailPojo item : list) {
|
||||||
|
bd.getBusinessDatabase()
|
||||||
|
.eq("id", item.getId())
|
||||||
|
.update("parameter_value", item.getMinorVersion())
|
||||||
|
.update("minor_version", null)
|
||||||
|
.doUpdate(EngineParamDetailPojo.class);
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
List<EngineParamDetailPojo> toInsert = new ArrayList<>();
|
||||||
for (EngineParamDetailPojo oldDetail : oldDetails) {
|
for (EngineParamDetailPojo oldDetail : oldDetails) {
|
||||||
EngineParamDetailPojo engineParamDetailPojo = new EngineParamDetailPojo();
|
EngineParamDetailPojo engineParamDetailPojo = new EngineParamDetailPojo();
|
||||||
BeanUtils.copyProperties(oldDetail, engineParamDetailPojo
|
BeanUtils.copyProperties(oldDetail, engineParamDetailPojo
|
||||||
@ -600,21 +650,26 @@ public class ActivitiProcessServiceImpl implements ActivitiProcessService {
|
|||||||
if (ids.contains(oldDetail.getId())) {
|
if (ids.contains(oldDetail.getId())) {
|
||||||
engineParamDetailPojo.setParameterValue(oldDetail.getMinorVersion());
|
engineParamDetailPojo.setParameterValue(oldDetail.getMinorVersion());
|
||||||
}
|
}
|
||||||
engineParamDetailPojo.setMajorVersion(versionNumber + 1);
|
engineParamDetailPojo.setMajorVersion(model.getVersionNumber() + 1);
|
||||||
// 添加到待插入列表
|
// 添加到待插入列表
|
||||||
list.add(engineParamDetailPojo);
|
toInsert.add(engineParamDetailPojo);
|
||||||
}
|
}
|
||||||
|
// 新增新版本参数
|
||||||
|
bd.getBusinessDatabase().doBatchInsert(toInsert);
|
||||||
|
|
||||||
|
// 这个机型版本加一,
|
||||||
|
bd.getBusinessDatabase()
|
||||||
|
.update("version_number", (model.getVersionNumber() + 1))
|
||||||
|
.eq("id", flow.getModelId())
|
||||||
|
.doUpdate(DataEntryEngineModelPojo.class);
|
||||||
|
}
|
||||||
|
|
||||||
// 这一批数据改成审核通过,
|
// 这一批数据改成审核通过,
|
||||||
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())
|
.eq("approval_id", flow.getId())
|
||||||
.doUpdate(EngineParamDetailPojo.class);
|
.doUpdate(EngineParamDetailPojo.class);
|
||||||
// 这个机型版本加一,
|
|
||||||
bd.getBusinessDatabase()
|
|
||||||
.update("version_number", (versionNumber + 1))
|
|
||||||
.eq("id", flow.getModelId())
|
|
||||||
.doUpdate(DataEntryEngineModelPojo.class);
|
|
||||||
// 审批流改为已通过
|
// 审批流改为已通过
|
||||||
bd.getBusinessDatabase()
|
bd.getBusinessDatabase()
|
||||||
.update("status_code", ParamValueVersionEnum.PASSED.getCode())
|
.update("status_code", ParamValueVersionEnum.PASSED.getCode())
|
||||||
@ -624,6 +679,41 @@ public class ActivitiProcessServiceImpl implements ActivitiProcessService {
|
|||||||
.update("pre_node", -1)
|
.update("pre_node", -1)
|
||||||
.eq("id", flow.getId())
|
.eq("id", flow.getId())
|
||||||
.doUpdate(EngineReviewListPojo.class);
|
.doUpdate(EngineReviewListPojo.class);
|
||||||
|
|
||||||
|
// 判断当前是否完成全部审批任务
|
||||||
|
DataEntryEngineModelPojo hasDistributed = bd.getBusinessDatabase()
|
||||||
|
.eq("id", model.getId())
|
||||||
|
.eq("distribute_status", 1)
|
||||||
|
.doQueryFirst(DataEntryEngineModelPojo.class);
|
||||||
|
List<EngineParamDetailPojo> allDetails = bd.getBusinessDatabase()
|
||||||
|
.eq("engine_model_id", flow.getModelId())
|
||||||
|
.eq("major_version", model.getVersionNumber())
|
||||||
|
.ne("is_distributed_res", 2)
|
||||||
|
.doQuery(EngineParamDetailPojo.class);
|
||||||
|
List<EngineParamDetailPojo> finishDetails = bd.getBusinessDatabase()
|
||||||
|
.eq("engine_model_id", flow.getModelId())
|
||||||
|
.eq("major_version", model.getVersionNumber() + 1)
|
||||||
|
.eq("status_code", ParamValueVersionEnum.PASSED.getCode())
|
||||||
|
.doQuery(EngineParamDetailPojo.class);
|
||||||
|
// 机型已完成分发并且全部分发参数已完成填写并审核通过
|
||||||
|
if (hasDistributed != null && allDetails.size() == finishDetails.size()) {
|
||||||
|
// 修改机型状态为待分发
|
||||||
|
bd.getBusinessDatabase()
|
||||||
|
.eq("id", model.getId())
|
||||||
|
.update("distribute_status", DistributeStatusEnum.UNDISTRIBUTED.getCode())
|
||||||
|
.doUpdate(DataEntryEngineModelPojo.class);
|
||||||
|
// 修改参数状态为草稿并清除所有责任人和填写人
|
||||||
|
List<String> collected = allDetails.stream().map(EngineParamDetailPojo::getId).collect(Collectors.toList());
|
||||||
|
bd.getBusinessDatabase()
|
||||||
|
.update("is_distributed_res", 0)
|
||||||
|
.update("is_distributed_filled", 0)
|
||||||
|
.update("responsible_person_id", null)
|
||||||
|
.update("filled_by", null)
|
||||||
|
.update("minor_version", null)
|
||||||
|
.update("version_status", ParamValueVersionEnum.DRAFT.getCode())
|
||||||
|
.in("id", collected)
|
||||||
|
.doUpdate(EngineParamDetailPojo.class);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -658,7 +748,7 @@ public class ActivitiProcessServiceImpl implements ActivitiProcessService {
|
|||||||
todoTaskPojo.setModelName(modelPojo.getModelName());
|
todoTaskPojo.setModelName(modelPojo.getModelName());
|
||||||
todoTaskPojo.setCreatedById(createBy);
|
todoTaskPojo.setCreatedById(createBy);
|
||||||
todoTaskPojo.setCreatedBy(xdapDeptUsersService.selectUserByID(createBy).getUsername());
|
todoTaskPojo.setCreatedBy(xdapDeptUsersService.selectUserByID(createBy).getUsername());
|
||||||
todoTaskPojo.setCreationDate(Timestamp.valueOf(LocalDateTime.now()));
|
todoTaskPojo.setCreationDate(flow.getCreationDate());
|
||||||
todoTaskPojo.setIsDelete(0);
|
todoTaskPojo.setIsDelete(0);
|
||||||
bd.getBusinessDatabase().doInsert(todoTaskPojo);
|
bd.getBusinessDatabase().doInsert(todoTaskPojo);
|
||||||
}
|
}
|
||||||
@ -1182,7 +1272,7 @@ public class ActivitiProcessServiceImpl implements ActivitiProcessService {
|
|||||||
.doQueryFirst(DataEntryEngineModelPojo.class);
|
.doQueryFirst(DataEntryEngineModelPojo.class);
|
||||||
activitiDataAndRecordDTO.setModel(model);
|
activitiDataAndRecordDTO.setModel(model);
|
||||||
//查找审批数据
|
//查找审批数据
|
||||||
ArrayList<ActivitiDataDTO> activitiDataDTOS = new ArrayList<>();
|
List<ActivitiDataDTO> activitiDataDTOS = new ArrayList<>();
|
||||||
|
|
||||||
//通过审批ID找到审批中的参数 通过参数ID匹配参数变动说明
|
//通过审批ID找到审批中的参数 通过参数ID匹配参数变动说明
|
||||||
List<EngineParamDetailPojo> detailPojos = bd.getBusinessDatabase()
|
List<EngineParamDetailPojo> detailPojos = bd.getBusinessDatabase()
|
||||||
@ -1206,7 +1296,7 @@ public class ActivitiProcessServiceImpl implements ActivitiProcessService {
|
|||||||
activitiDataDTO.setChangeComment(dataChangeCommentPojo.getChangeComment());
|
activitiDataDTO.setChangeComment(dataChangeCommentPojo.getChangeComment());
|
||||||
activitiDataDTOS.add(activitiDataDTO);
|
activitiDataDTOS.add(activitiDataDTO);
|
||||||
}
|
}
|
||||||
activitiDataAndRecordDTO.setActivitiDataDTOS(activitiDataDTOS);
|
activitiDataAndRecordDTO.setActivitiDataDTOS(sortValueChange(activitiDataDTOS));
|
||||||
List<FlowNode> flowNodes = new ArrayList<>();
|
List<FlowNode> flowNodes = new ArrayList<>();
|
||||||
EngineReviewListPojo flow = bd.getBusinessDatabase()
|
EngineReviewListPojo flow = bd.getBusinessDatabase()
|
||||||
.eq("id", approvalId)
|
.eq("id", approvalId)
|
||||||
@ -1392,4 +1482,13 @@ public class ActivitiProcessServiceImpl implements ActivitiProcessService {
|
|||||||
}
|
}
|
||||||
return joiner.toString();
|
return joiner.toString();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private List<ActivitiDataDTO> sortValueChange(List<ActivitiDataDTO> changeList) {
|
||||||
|
return changeList.stream()
|
||||||
|
.sorted(Comparator
|
||||||
|
.comparing(ActivitiDataDTO::getSubsystemName, Collator.getInstance(Locale.CHINA))
|
||||||
|
.thenComparing(ActivitiDataDTO::getParameterName, Collator.getInstance(Locale.CHINA))
|
||||||
|
)
|
||||||
|
.collect(Collectors.toList());
|
||||||
|
}
|
||||||
}
|
}
|
||||||
@ -275,7 +275,7 @@ public class BenchmarkingReportServiceImpl implements BenchmarkingReportService
|
|||||||
todoTask.setCurrentNode(firstNode.getNodeName());
|
todoTask.setCurrentNode(firstNode.getNodeName());
|
||||||
todoTask.setDataType("对标报告审核");
|
todoTask.setDataType("对标报告审核");
|
||||||
todoTask.setDocumentNo(approvalFlow.getId());
|
todoTask.setDocumentNo(approvalFlow.getId());
|
||||||
todoTask.setCreationDate(Timestamp.valueOf(LocalDateTime.now()));
|
todoTask.setCreationDate(approvalFlow.getCreatedTime());
|
||||||
todoTask.setIsDelete(0);
|
todoTask.setIsDelete(0);
|
||||||
todoTask.setModelId(report.getId());
|
todoTask.setModelId(report.getId());
|
||||||
todoTask.setModelName(report.getProjectName() + "对标报告");
|
todoTask.setModelName(report.getProjectName() + "对标报告");
|
||||||
@ -297,7 +297,7 @@ public class BenchmarkingReportServiceImpl implements BenchmarkingReportService
|
|||||||
initiatedTask.setCurrentProcessor(firstNode.getAssignees());
|
initiatedTask.setCurrentProcessor(firstNode.getAssignees());
|
||||||
initiatedTask.setDataType("对标报告审核");
|
initiatedTask.setDataType("对标报告审核");
|
||||||
initiatedTask.setProcessTitle(approvalFlow.getProcessTitle());
|
initiatedTask.setProcessTitle(approvalFlow.getProcessTitle());
|
||||||
initiatedTask.setCreationDate(Timestamp.valueOf(LocalDateTime.now()));
|
initiatedTask.setCreationDate(approvalFlow.getCreatedTime());
|
||||||
initiatedTask.setIsDelete(0);
|
initiatedTask.setIsDelete(0);
|
||||||
initiatedTask.setModelId(approvalFlow.getTemplateId());
|
initiatedTask.setModelId(approvalFlow.getTemplateId());
|
||||||
initiatedTask.setEnableReturn(1);
|
initiatedTask.setEnableReturn(1);
|
||||||
@ -499,7 +499,7 @@ public class BenchmarkingReportServiceImpl implements BenchmarkingReportService
|
|||||||
todoTask.setCurrentNode(firstNode.getNodeName());
|
todoTask.setCurrentNode(firstNode.getNodeName());
|
||||||
todoTask.setDataType("对标报告审核");
|
todoTask.setDataType("对标报告审核");
|
||||||
todoTask.setDocumentNo(newForm.getFlowId());
|
todoTask.setDocumentNo(newForm.getFlowId());
|
||||||
todoTask.setCreationDate(Timestamp.valueOf(LocalDateTime.now()));
|
todoTask.setCreationDate(flow.getCreatedTime());
|
||||||
todoTask.setIsDelete(0);
|
todoTask.setIsDelete(0);
|
||||||
todoTask.setModelId(report.getId());
|
todoTask.setModelId(report.getId());
|
||||||
todoTask.setModelName(report.getProjectName() + "对标报告");
|
todoTask.setModelName(report.getProjectName() + "对标报告");
|
||||||
@ -521,7 +521,7 @@ public class BenchmarkingReportServiceImpl implements BenchmarkingReportService
|
|||||||
initiatedTask.setCurrentProcessor(firstNode.getAssignees());
|
initiatedTask.setCurrentProcessor(firstNode.getAssignees());
|
||||||
initiatedTask.setDataType("对标报告审核");
|
initiatedTask.setDataType("对标报告审核");
|
||||||
initiatedTask.setProcessTitle(flow.getProcessTitle());
|
initiatedTask.setProcessTitle(flow.getProcessTitle());
|
||||||
initiatedTask.setCreationDate(Timestamp.valueOf(LocalDateTime.now()));
|
initiatedTask.setCreationDate(flow.getCreatedTime());
|
||||||
initiatedTask.setIsDelete(0);
|
initiatedTask.setIsDelete(0);
|
||||||
initiatedTask.setModelId(flow.getTemplateId());
|
initiatedTask.setModelId(flow.getTemplateId());
|
||||||
initiatedTask.setEnableReturn(1);
|
initiatedTask.setEnableReturn(1);
|
||||||
@ -1004,7 +1004,7 @@ public class BenchmarkingReportServiceImpl implements BenchmarkingReportService
|
|||||||
completedTaskPojo.setDataType("对标报告审核");
|
completedTaskPojo.setDataType("对标报告审核");
|
||||||
completedTaskPojo.setOwnerId(request.getUserId());
|
completedTaskPojo.setOwnerId(request.getUserId());
|
||||||
completedTaskPojo.setProcessTitle(flow.getProcessTitle());
|
completedTaskPojo.setProcessTitle(flow.getProcessTitle());
|
||||||
completedTaskPojo.setCreationDate(Timestamp.valueOf(LocalDateTime.now()));
|
completedTaskPojo.setCreationDate(flow.getCreatedTime());
|
||||||
completedTaskPojo.setIsDelete(0);
|
completedTaskPojo.setIsDelete(0);
|
||||||
completedTaskPojo.setModelId(flow.getTemplateId());
|
completedTaskPojo.setModelId(flow.getTemplateId());
|
||||||
bd.getBusinessDatabase().doInsert(completedTaskPojo);
|
bd.getBusinessDatabase().doInsert(completedTaskPojo);
|
||||||
@ -1090,7 +1090,7 @@ public class BenchmarkingReportServiceImpl implements BenchmarkingReportService
|
|||||||
todoTask.setCurrentNode(node.getNodeName());
|
todoTask.setCurrentNode(node.getNodeName());
|
||||||
todoTask.setDataType("对标报告审核");
|
todoTask.setDataType("对标报告审核");
|
||||||
todoTask.setDocumentNo(flow.getId());
|
todoTask.setDocumentNo(flow.getId());
|
||||||
todoTask.setCreationDate(Timestamp.valueOf(LocalDateTime.now()));
|
todoTask.setCreationDate(flow.getCreatedTime());
|
||||||
todoTask.setIsDelete(0);
|
todoTask.setIsDelete(0);
|
||||||
todoTask.setModelId(report.getId());
|
todoTask.setModelId(report.getId());
|
||||||
todoTask.setModelName(report.getProjectName() + "对标报告");
|
todoTask.setModelName(report.getProjectName() + "对标报告");
|
||||||
@ -1159,11 +1159,11 @@ public class BenchmarkingReportServiceImpl implements BenchmarkingReportService
|
|||||||
todoTask.setCurrentNode("编制");
|
todoTask.setCurrentNode("编制");
|
||||||
todoTask.setDataType("对标报告拒绝");
|
todoTask.setDataType("对标报告拒绝");
|
||||||
todoTask.setDocumentNo(flow.getId());
|
todoTask.setDocumentNo(flow.getId());
|
||||||
todoTask.setCreationDate(Timestamp.valueOf(LocalDateTime.now()));
|
todoTask.setCreationDate(flow.getCreatedTime());
|
||||||
todoTask.setIsDelete(0);
|
todoTask.setIsDelete(0);
|
||||||
todoTask.setModelId(report.getId());
|
todoTask.setModelId(report.getId());
|
||||||
todoTask.setModelName(report.getTitle());
|
todoTask.setModelName(report.getTitle());
|
||||||
todoTask.setProcessTitle("拒绝提醒-"+flow.getProcessTitle());
|
todoTask.setProcessTitle(flow.getProcessTitle());
|
||||||
todoTask.setStatusCode(flow.getFlowStatus());
|
todoTask.setStatusCode(flow.getFlowStatus());
|
||||||
todoTask.setVersionNumber(0);
|
todoTask.setVersionNumber(0);
|
||||||
todoTask.setOwnerId(flow.getCreateBy());
|
todoTask.setOwnerId(flow.getCreateBy());
|
||||||
|
|||||||
@ -1,5 +1,6 @@
|
|||||||
package com.xdap.self_development.service.impl;
|
package com.xdap.self_development.service.impl;
|
||||||
|
|
||||||
|
import com.alibaba.fastjson2.JSON;
|
||||||
import com.xdap.self_development.common.BusinessDatabase;
|
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.pojo.*;
|
import com.xdap.self_development.domain.pojo.*;
|
||||||
@ -141,12 +142,31 @@ public class CommonParameterServiceImpl implements CommonParameterService {
|
|||||||
* @return 分析常用参数POJO列表
|
* @return 分析常用参数POJO列表
|
||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
public List<AnalysisCommonParametersPojo> getAnalysisCommonParameter(String userId) {
|
public List<AnalysisCommonParameterInsertForm> getAnalysisCommonParameter(String userId) {
|
||||||
return bd.getBusinessDatabase()
|
List<AnalysisCommonParametersPojo> list = bd.getBusinessDatabase()
|
||||||
.viewQueryMode(true)
|
.viewQueryMode(true)
|
||||||
.view("queryCommon")
|
.view("queryCommon")
|
||||||
.setVar("user_id", userId)
|
.setVar("user_id", userId)
|
||||||
.doQuery(AnalysisCommonParametersPojo.class);
|
.doQuery(AnalysisCommonParametersPojo.class);
|
||||||
|
|
||||||
|
List<AnalysisCommonParameterInsertForm> res = new ArrayList<>();
|
||||||
|
for (AnalysisCommonParametersPojo commonParameter : list) {
|
||||||
|
AnalysisCommonParameterInsertForm analysisCommonParameter = new AnalysisCommonParameterInsertForm();
|
||||||
|
analysisCommonParameter.setModelName(JSON.parseArray(commonParameter.getModelName()).toJavaList(String.class));
|
||||||
|
analysisCommonParameter.setPlate(JSON.parseArray(commonParameter.getPlate()).toJavaList(String.class));
|
||||||
|
analysisCommonParameter.setPlatform(JSON.parseArray(commonParameter.getPlatform()).toJavaList(String.class));
|
||||||
|
analysisCommonParameter.setSeries(JSON.parseArray(commonParameter.getSeries()).toJavaList(String.class));
|
||||||
|
analysisCommonParameter.setProjectName(JSON.parseArray(commonParameter.getProjectName()).toJavaList(String.class));
|
||||||
|
analysisCommonParameter.setProjectNumber(JSON.parseArray(commonParameter.getProjectNumber()).toJavaList(String.class));
|
||||||
|
analysisCommonParameter.setEmission(JSON.parseArray(commonParameter.getEmission()).toJavaList(String.class));
|
||||||
|
analysisCommonParameter.setDisplacementMax(commonParameter.getDisplacementMax());
|
||||||
|
analysisCommonParameter.setDisplacementMin(commonParameter.getDisplacementMin());
|
||||||
|
analysisCommonParameter.setCombustionType(JSON.parseArray(commonParameter.getCombustionType()).toJavaList(String.class));
|
||||||
|
analysisCommonParameter.setCommonName(commonParameter.getCommonName());
|
||||||
|
analysisCommonParameter.setCommonId(commonParameter.getCommonId());
|
||||||
|
res.add(analysisCommonParameter);
|
||||||
|
}
|
||||||
|
return res;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -174,7 +194,17 @@ public class CommonParameterServiceImpl implements CommonParameterService {
|
|||||||
|
|
||||||
// 关联常用参数
|
// 关联常用参数
|
||||||
AnalysisCommonParametersPojo analysisCommonParameter = new AnalysisCommonParametersPojo();
|
AnalysisCommonParametersPojo analysisCommonParameter = new AnalysisCommonParametersPojo();
|
||||||
BeanUtils.copyProperties(form, analysisCommonParameter);
|
analysisCommonParameter.setModelName(JSON.toJSONString(form.getModelName()));
|
||||||
|
analysisCommonParameter.setPlate(JSON.toJSONString(form.getPlate()));
|
||||||
|
analysisCommonParameter.setPlatform(JSON.toJSONString(form.getPlatform()));
|
||||||
|
analysisCommonParameter.setSeries(JSON.toJSONString(form.getSeries()));
|
||||||
|
analysisCommonParameter.setProjectName(JSON.toJSONString(form.getProjectName()));
|
||||||
|
analysisCommonParameter.setProjectNumber(JSON.toJSONString(form.getProjectNumber()));
|
||||||
|
analysisCommonParameter.setEmission(JSON.toJSONString(form.getEmission()));
|
||||||
|
analysisCommonParameter.setDisplacementMax(form.getDisplacementMax());
|
||||||
|
analysisCommonParameter.setDisplacementMin(form.getDisplacementMin());
|
||||||
|
analysisCommonParameter.setCombustionType(JSON.toJSONString(form.getCombustionType()));
|
||||||
|
|
||||||
analysisCommonParameter.setCommonId(commonParameter.getId());
|
analysisCommonParameter.setCommonId(commonParameter.getId());
|
||||||
bd.getBusinessDatabase().doInsert(analysisCommonParameter);
|
bd.getBusinessDatabase().doInsert(analysisCommonParameter);
|
||||||
}
|
}
|
||||||
@ -190,14 +220,24 @@ public class CommonParameterServiceImpl implements CommonParameterService {
|
|||||||
@Transactional
|
@Transactional
|
||||||
public void updateAnalysisCommonParameter(AnalysisCommonParameterUpdateForm form) {
|
public void updateAnalysisCommonParameter(AnalysisCommonParameterUpdateForm form) {
|
||||||
CommonParameterPojo commonParameter = bd.getBusinessDatabase()
|
CommonParameterPojo commonParameter = bd.getBusinessDatabase()
|
||||||
.eq("id", form.getCommonId()).doQueryFirst(CommonParameterPojo.class);
|
.eq("id", form.getCommonId())
|
||||||
|
.doQueryFirst(CommonParameterPojo.class);
|
||||||
if (commonParameter == null) {
|
if (commonParameter == null) {
|
||||||
throw new CommonException("无该常用");
|
throw new CommonException("无该常用");
|
||||||
}
|
}
|
||||||
AnalysisCommonParametersPojo commonParameters = bd.getBusinessDatabase()
|
AnalysisCommonParametersPojo commonParameters = bd.getBusinessDatabase()
|
||||||
.eq("common_id", form.getCommonId())
|
.eq("common_id", form.getCommonId())
|
||||||
.doQueryFirst(AnalysisCommonParametersPojo.class);
|
.doQueryFirst(AnalysisCommonParametersPojo.class);
|
||||||
BeanUtils.copyProperties(form, commonParameters);
|
commonParameters.setModelName(JSON.toJSONString(form.getModelName()));
|
||||||
|
commonParameters.setPlate(JSON.toJSONString(form.getPlate()));
|
||||||
|
commonParameters.setPlatform(JSON.toJSONString(form.getPlatform()));
|
||||||
|
commonParameters.setSeries(JSON.toJSONString(form.getSeries()));
|
||||||
|
commonParameters.setProjectName(JSON.toJSONString(form.getProjectName()));
|
||||||
|
commonParameters.setProjectNumber(JSON.toJSONString(form.getProjectNumber()));
|
||||||
|
commonParameters.setEmission(JSON.toJSONString(form.getEmission()));
|
||||||
|
commonParameters.setDisplacementMax(form.getDisplacementMax());
|
||||||
|
commonParameters.setDisplacementMin(form.getDisplacementMin());
|
||||||
|
commonParameters.setCombustionType(JSON.toJSONString(form.getCombustionType()));
|
||||||
bd.getBusinessDatabase().rowid("id", commonParameter.getRowId()).doUpdate(commonParameter);
|
bd.getBusinessDatabase().rowid("id", commonParameter.getRowId()).doUpdate(commonParameter);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -33,14 +33,13 @@ import javax.annotation.Resource;
|
|||||||
import javax.servlet.http.HttpServletResponse;
|
import javax.servlet.http.HttpServletResponse;
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
import java.net.URLEncoder;
|
import java.net.URLEncoder;
|
||||||
import java.sql.Timestamp;
|
import java.text.Collator;
|
||||||
import java.time.LocalDateTime;
|
import java.time.LocalDateTime;
|
||||||
import java.time.format.DateTimeFormatter;
|
import java.time.format.DateTimeFormatter;
|
||||||
import java.util.*;
|
import java.util.*;
|
||||||
import java.util.function.BinaryOperator;
|
import java.util.function.BinaryOperator;
|
||||||
import java.util.function.Function;
|
import java.util.function.Function;
|
||||||
import java.util.stream.Collectors;
|
import java.util.stream.Collectors;
|
||||||
import java.util.stream.Stream;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 发动机参数详情服务实现类
|
* 发动机参数详情服务实现类
|
||||||
@ -67,6 +66,8 @@ public class EngineParamDetailServiceImpl implements EngineParamDetailService {
|
|||||||
|
|
||||||
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
|
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
|
||||||
|
|
||||||
|
private static final Collator CHINESE_COLLATOR = Collator.getInstance(Locale.CHINA);
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 返回参数列表
|
* 返回参数列表
|
||||||
@ -324,120 +325,112 @@ public class EngineParamDetailServiceImpl implements EngineParamDetailService {
|
|||||||
* 根据多个参数查询值
|
* 根据多个参数查询值
|
||||||
* 根据参数详情请求查询多个参数的值
|
* 根据参数详情请求查询多个参数的值
|
||||||
*
|
*
|
||||||
* @param engineParamDetailRequest 发动机参数详情请求
|
* @param request 发动机参数详情请求
|
||||||
* @return 参数详情DTO映射
|
* @return 参数详情DTO映射
|
||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
public Map<String, List<EngineParamDetailDTO>> selectValueByMoreParam(EngineParamDetailRequest engineParamDetailRequest) {
|
public Map<String, List<EngineParamDetailDTO>> selectValueByMoreParam(EngineParamDetailRequest request) {
|
||||||
|
List<EngineParamDetailDTO> engineParamDetailDTOS = new ArrayList<>();
|
||||||
|
List<EngineParamDetailPojo> paramDetails = new ArrayList<>();
|
||||||
|
|
||||||
String engineModelID = engineParamDetailRequest.getEngineModelID();
|
// 获取当前机型
|
||||||
|
DataEntryEngineModelPojo model = bd.getBusinessDatabase()
|
||||||
List<String> subsystemTypes = engineParamDetailRequest.getSubsystemParts();
|
.eq("id", request.getEngineModelID())
|
||||||
if (ObjectUtils.isEmpty(engineModelID) || ObjectUtils.isEmpty(subsystemTypes)) {
|
.doQueryFirst(DataEntryEngineModelPojo.class);
|
||||||
throw new CommonException("传入参数为空,请检查");
|
if (ObjectUtils.isEmpty(model)) {
|
||||||
|
throw new CommonException("机型不存在,请检查");
|
||||||
}
|
}
|
||||||
List<EngineParamDetailPojo> detailPojos = new ArrayList<>();
|
|
||||||
ArrayList<EngineParamDetailDTO> engineParamDetailDTOS = new ArrayList<>();
|
|
||||||
|
|
||||||
String filledById = engineParamDetailRequest.getFilledById();
|
// 根据条件过滤查询
|
||||||
String resId = engineParamDetailRequest.getResponsiblePersonId();
|
for (String subsystemType : request.getSubsystemParts()) {
|
||||||
|
|
||||||
//若查看草稿版本需要把版本加上
|
|
||||||
String versionStatus = engineParamDetailRequest.getVersionStatus();
|
|
||||||
Integer code = null;
|
|
||||||
if (ObjectUtils.isNotEmpty(versionStatus)) {
|
|
||||||
code = ParamValueVersionEnum.getByDesc(versionStatus).getCode();
|
|
||||||
}
|
|
||||||
for (String subsystemType : subsystemTypes) {
|
|
||||||
if (subsystemType.split("-").length != 2) {
|
if (subsystemType.split("-").length != 2) {
|
||||||
throw new CommonException("查询条件异常,需子系统-零部件名称,若零部件为空则传入“/”");
|
throw new CommonException("查询条件异常,需子系统-零部件名称,若零部件为空则传入“/”");
|
||||||
}
|
}
|
||||||
|
//TODO 机型返回参数详情
|
||||||
String subsystem = subsystemType.split("-")[0];
|
String subsystem = subsystemType.split("-")[0];
|
||||||
String type = subsystemType.split("-")[1];
|
String type = subsystemType.split("-")[1];
|
||||||
//若传入填写人则查询填写人需要填写的参数
|
//若传入填写人则查询填写人需要填写的参数
|
||||||
if (ObjectUtils.isNotEmpty(filledById)) {
|
if (ObjectUtils.isNotEmpty(request.getFilledById())) {
|
||||||
detailPojos.addAll(bd.getBusinessDatabase()
|
paramDetails.addAll(bd.getBusinessDatabase()
|
||||||
.eq("filled_by", filledById)
|
.eq("filled_by", request.getFilledById())
|
||||||
.eq("engine_model_id", engineModelID)
|
.eq("engine_model_id", model.getId())
|
||||||
.eq("version_status", code)
|
|
||||||
.eq("subsystem_name", subsystem)
|
.eq("subsystem_name", subsystem)
|
||||||
.eq("parts_name", type)
|
.eq("parts_name", type)
|
||||||
|
.eq("major_version", model.getVersionNumber())
|
||||||
.eq("parameter_source", "数据平台手工录入")
|
.eq("parameter_source", "数据平台手工录入")
|
||||||
.doQuery(EngineParamDetailPojo.class));
|
.doQuery(EngineParamDetailPojo.class));
|
||||||
} else if (ObjectUtils.isNotEmpty(resId)) {
|
} else if (ObjectUtils.isNotEmpty(request.getResponsiblePersonId())) {
|
||||||
//若传入责任人则查询责任人需要分发的参数
|
//若传入责任人则查询责任人需要分发的参数
|
||||||
detailPojos.addAll(bd.getBusinessDatabase()
|
paramDetails.addAll(bd.getBusinessDatabase()
|
||||||
.eq("engine_model_id", engineModelID)
|
.eq("engine_model_id", model.getId())
|
||||||
.eq("responsible_person_id", resId)
|
.eq("responsible_person_id", request.getResponsiblePersonId())
|
||||||
.eq("version_status", code)
|
|
||||||
.eq("subsystem_name", subsystem)
|
.eq("subsystem_name", subsystem)
|
||||||
.eq("parts_name", type)
|
.eq("parts_name", type)
|
||||||
|
.eq("major_version", model.getVersionNumber())
|
||||||
.eq("parameter_source", "数据平台手工录入")
|
.eq("parameter_source", "数据平台手工录入")
|
||||||
.doQuery(EngineParamDetailPojo.class));
|
.doQuery(EngineParamDetailPojo.class));
|
||||||
} else {
|
} else {
|
||||||
detailPojos.addAll(bd.getBusinessDatabase()
|
paramDetails.addAll(bd.getBusinessDatabase()
|
||||||
.eq("engine_model_id", engineModelID)
|
.eq("engine_model_id", model.getId())
|
||||||
.eq("version_status", code)
|
|
||||||
.eq("subsystem_name", subsystem)
|
.eq("subsystem_name", subsystem)
|
||||||
.eq("parts_name", type)
|
.eq("parts_name", type)
|
||||||
|
.eq("major_version", model.getVersionNumber())
|
||||||
.eq("parameter_source", "数据平台手工录入")
|
.eq("parameter_source", "数据平台手工录入")
|
||||||
.doQuery(EngineParamDetailPojo.class));
|
.doQuery(EngineParamDetailPojo.class));
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
|
||||||
if (ObjectUtils.isEmpty(detailPojos)) {
|
|
||||||
throw new CommonException("没有可查看参数,可能是因为您没有权限");
|
|
||||||
}
|
|
||||||
if (ObjectUtils.isNotEmpty(engineParamDetailRequest.getMajorVersion()) && engineParamDetailRequest.getMajorVersion() != 0) {
|
|
||||||
detailPojos = detailPojos.stream()
|
|
||||||
.filter(x -> engineParamDetailRequest.getMajorVersion()
|
|
||||||
.equals(x.getMajorVersion())).collect(Collectors.toList());
|
|
||||||
} else {
|
|
||||||
EngineParamDetailPojo engineParamDetailPojo = detailPojos.stream().max(Comparator.comparingInt(EngineParamDetailPojo::getMajorVersion)).get();
|
|
||||||
detailPojos = detailPojos.stream()
|
|
||||||
.filter(x -> engineParamDetailPojo.getMajorVersion()
|
|
||||||
.equals(x.getMajorVersion())).collect(Collectors.toList());
|
|
||||||
}
|
}
|
||||||
|
|
||||||
//pojo转换dto填写人Id转换为名称
|
// 构建返回
|
||||||
log.info("找到数据{}条", detailPojos.size());
|
for (EngineParamDetailPojo detail : paramDetails) {
|
||||||
for (EngineParamDetailPojo detailPojo : detailPojos) {
|
|
||||||
String filledBy = null;
|
|
||||||
XdapUsers filler = null;
|
|
||||||
if (ObjectUtils.isNotEmpty(detailPojo.getFilledBy())) {
|
|
||||||
filler = xdapDeptUsersService.selectUserByID(detailPojo.getFilledBy());
|
|
||||||
filledBy = ObjectUtils.isEmpty(filler) ? "" : filler.getUsername();
|
|
||||||
|
|
||||||
}
|
|
||||||
EngineParamDetailDTO engineParamDetailDTO = new EngineParamDetailDTO();
|
EngineParamDetailDTO engineParamDetailDTO = new EngineParamDetailDTO();
|
||||||
BeanUtils.copyProperties(detailPojo, engineParamDetailDTO);
|
BeanUtils.copyProperties(detail, engineParamDetailDTO);
|
||||||
String unit = "";
|
|
||||||
if (ObjectUtils.isNotEmpty(detailPojo.getParameterId())) {
|
engineParamDetailDTO.setFilledBy(null);
|
||||||
List<ParameterPojo> parameters = bd.getBusinessDatabase()
|
engineParamDetailDTO.setFiller(null);
|
||||||
.eq("id", detailPojo.getParameterId())
|
engineParamDetailDTO.setResPerson(null);
|
||||||
.doQuery(ParameterPojo.class);
|
engineParamDetailDTO.setResPersonId(null);
|
||||||
unit = parameters.get(0).getUnit();
|
engineParamDetailDTO.setIsDistributedFilled(0);
|
||||||
}
|
engineParamDetailDTO.setIsDistributedRes(0);
|
||||||
engineParamDetailDTO.setId(detailPojo.getId());
|
|
||||||
engineParamDetailDTO.setResPersonId(detailPojo.getResponsiblePersonId());
|
if (ObjectUtils.isNotEmpty(detail.getFilledBy())) {
|
||||||
engineParamDetailDTO.setUnit(unit);
|
XdapUsers filler = xdapDeptUsersService.selectUserByID(detail.getFilledBy());
|
||||||
engineParamDetailDTO.setFilledBy(filledBy);
|
|
||||||
engineParamDetailDTO.setFiller(filler);
|
engineParamDetailDTO.setFiller(filler);
|
||||||
engineParamDetailDTO.setApprovalId(detailPojo.getApprovalId());
|
engineParamDetailDTO.setFilledBy(ObjectUtils.isEmpty(filler) ? "" : filler.getUsername());
|
||||||
|
engineParamDetailDTO.setIsDistributedFilled(1);
|
||||||
|
}
|
||||||
|
if (ObjectUtils.isNotEmpty(detail.getResponsiblePersonId())) {
|
||||||
|
XdapUsers responsiblePerson = xdapDeptUsersService.selectUserByID(detail.getResponsiblePersonId());
|
||||||
|
engineParamDetailDTO.setResPerson(responsiblePerson);
|
||||||
|
engineParamDetailDTO.setResPersonId(ObjectUtils.isEmpty(responsiblePerson) ? "" : responsiblePerson.getUsername());
|
||||||
|
engineParamDetailDTO.setIsDistributedRes(1);
|
||||||
|
}
|
||||||
|
|
||||||
|
engineParamDetailDTO.setUnit(null);
|
||||||
|
if (ObjectUtils.isNotEmpty(detail.getParameterId())) {
|
||||||
|
ParameterPojo parameter = bd.getBusinessDatabase()
|
||||||
|
.eq("id", detail.getParameterId())
|
||||||
|
.doQueryFirst(ParameterPojo.class);
|
||||||
|
engineParamDetailDTO.setUnit(parameter.getUnit());
|
||||||
|
}
|
||||||
|
|
||||||
|
engineParamDetailDTO.setId(detail.getId());
|
||||||
|
engineParamDetailDTO.setApprovalId(detail.getApprovalId());
|
||||||
engineParamDetailDTOS.add(engineParamDetailDTO);
|
engineParamDetailDTOS.add(engineParamDetailDTO);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// 排序返回
|
||||||
|
List<EngineParamDetailDTO> detailDTOList = engineParamDetailDTOS.stream()
|
||||||
|
.sorted(Comparator
|
||||||
|
.comparing(EngineParamDetailDTO::getSubsystemName, Collator.getInstance(Locale.CHINA))
|
||||||
|
.thenComparing(EngineParamDetailDTO::getParameterName, Collator.getInstance(Locale.CHINA))
|
||||||
|
)
|
||||||
|
.collect(Collectors.toList());
|
||||||
|
|
||||||
return engineParamDetailDTOS.stream()
|
return detailDTOList.stream()
|
||||||
.collect(Collectors.groupingBy(
|
.collect(Collectors.groupingBy(
|
||||||
EngineParamDetailDTO::getSubsystemName,
|
EngineParamDetailDTO::getSubsystemName,
|
||||||
TreeMap::new,
|
LinkedHashMap::new,
|
||||||
Collectors.collectingAndThen(
|
Collectors.toList()
|
||||||
Collectors.toList(),
|
|
||||||
list -> list.stream()
|
|
||||||
.sorted(Comparator.comparing(EngineParamDetailDTO::getParameterName))
|
|
||||||
.collect(Collectors.toList())
|
|
||||||
)
|
|
||||||
));
|
));
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -451,79 +444,51 @@ public class EngineParamDetailServiceImpl implements EngineParamDetailService {
|
|||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
public void updateParamValue(List<EngineParamDetailPojo> engineParamDetailPojos, String currentUserId) {
|
public void updateParamValue(List<EngineParamDetailPojo> engineParamDetailPojos, String currentUserId) {
|
||||||
|
// 获取欲更新参数列表
|
||||||
|
List<String> detailIds = engineParamDetailPojos.stream()
|
||||||
|
.map(EngineParamDetailPojo::getId)
|
||||||
|
.collect(Collectors.toList());
|
||||||
|
List<EngineParamDetailPojo> details = bd.getBusinessDatabase()
|
||||||
|
.in("id", detailIds)
|
||||||
|
.doQuery(EngineParamDetailPojo.class);
|
||||||
|
|
||||||
|
// 转换参数详情为map
|
||||||
|
Map<String, EngineParamDetailPojo> detailMap = details.stream()
|
||||||
|
.collect(Collectors.toMap(EngineParamDetailPojo::getId, pojo -> pojo));
|
||||||
|
|
||||||
|
// 遍历更新参数值
|
||||||
|
for (EngineParamDetailPojo requestDetail : engineParamDetailPojos) {
|
||||||
|
EngineParamDetailPojo detail = detailMap.get(requestDetail.getId());
|
||||||
|
|
||||||
if (ObjectUtils.isEmpty(engineParamDetailPojos)) {
|
|
||||||
throw new CommonException("集合为空,请检查");
|
|
||||||
}
|
|
||||||
for (EngineParamDetailPojo engineParamDetailPojo : engineParamDetailPojos) {
|
|
||||||
EngineParamDetailPojo engineParamDetailPojo1 = selectById(engineParamDetailPojo.getId());
|
|
||||||
//查找参数是否已经在审批中
|
//查找参数是否已经在审批中
|
||||||
if (ObjectUtils.isNotEmpty(engineParamDetailPojo1) && Objects.equals(ParamValueVersionEnum.UNDER.getCode(), engineParamDetailPojo1.getVersionStatus())) {
|
if (ObjectUtils.isNotEmpty(detail)
|
||||||
throw new CommonException("您修改参数中有正在审批中的,请查看审批流审批后再修改,零部件+参数名称:" + engineParamDetailPojo.getPartsName() + "-" + engineParamDetailPojo.getParameterName());
|
&& Objects.equals(ParamValueVersionEnum.UNDER.getCode(), detail.getVersionStatus())
|
||||||
|
) {
|
||||||
|
throw new CommonException("您修改参数中有正在审批中的,请查看审批流审批后再修改,零部件+参数名称:" +
|
||||||
|
requestDetail.getPartsName() + "-" + requestDetail.getParameterName());
|
||||||
}
|
}
|
||||||
|
|
||||||
//通过操作状态对应不同操作新增和更新都新增数据为小版本且为草稿状态
|
//通过操作状态对应不同操作新增和更新都新增数据为小版本且为草稿状态
|
||||||
if (engineParamDetailPojo.getOperation().equals(String.valueOf(ParamOperationEnum.UPDATE))) {
|
if (requestDetail.getOperation().equals(String.valueOf(ParamOperationEnum.UPDATE))) {
|
||||||
String id = engineParamDetailPojo.getId();
|
|
||||||
EngineParamDetailPojo engineParamDetailPojoById = selectById(id);
|
|
||||||
bd.getBusinessDatabase()
|
bd.getBusinessDatabase()
|
||||||
.update("minor_version", engineParamDetailPojo.getParameterValue())
|
.update("minor_version", requestDetail.getParameterValue())
|
||||||
.update("version_status", ParamValueVersionEnum.DRAFT.getCode())
|
.update("version_status", ParamValueVersionEnum.DRAFT.getCode())
|
||||||
.update("operation", String.valueOf(ParamOperationEnum.UPDATE))
|
.update("operation", String.valueOf(ParamOperationEnum.UPDATE))
|
||||||
.update("last_updated_by", currentUserId)
|
.update("last_updated_by", currentUserId)
|
||||||
.update("last_update_date", new Date())
|
.update("last_update_date", new Date())
|
||||||
.rowid("id", engineParamDetailPojoById.getId())
|
.eq("id", detail.getId())
|
||||||
.doUpdate(EngineParamDetailPojo.class);
|
.doUpdate(EngineParamDetailPojo.class);
|
||||||
} else if (engineParamDetailPojo.getOperation().equals(String.valueOf(ParamOperationEnum.DELETE))) {
|
} else if (requestDetail.getOperation().equals(String.valueOf(ParamOperationEnum.DELETE))) {
|
||||||
String id = engineParamDetailPojo.getId();
|
|
||||||
bd.getBusinessDatabase()
|
bd.getBusinessDatabase()
|
||||||
.update("is_delete", "1")
|
.update("is_delete", "1")
|
||||||
.update("version_status", ParamValueVersionEnum.DRAFT.getCode())
|
.update("version_status", ParamValueVersionEnum.DRAFT.getCode())
|
||||||
.update("operation", String.valueOf(ParamOperationEnum.DELETE))
|
.update("operation", String.valueOf(ParamOperationEnum.DELETE))
|
||||||
.update("last_updated_by", currentUserId)
|
.update("last_updated_by", currentUserId)
|
||||||
.update("last_update_date", new Date())
|
.update("last_update_date", new Date())
|
||||||
.rowid("id", id)
|
.eq("id", requestDetail.getId())
|
||||||
.doUpdate(EngineParamDetailPojo.class);
|
.doUpdate(EngineParamDetailPojo.class);
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
EngineParamDetailPojo engineParamDetailPojo = engineParamDetailPojos.get(0);
|
|
||||||
List<EngineParamDetailPojo> pojoList = selectByModelNewVersion(engineParamDetailPojo.getEngineModelId());
|
|
||||||
Stream<EngineParamDetailPojo> paramDetailPojoStream = pojoList.stream().filter(x -> {
|
|
||||||
if (ObjectUtils.isEmpty(x.getFilledBy())) {
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
return x.getFilledBy().equals(currentUserId) && ObjectUtils.isEmpty(x.getMinorVersion());
|
|
||||||
});
|
|
||||||
//填写后检查是否完全填写完成用来消除待办
|
|
||||||
if (ObjectUtils.isNotEmpty(paramDetailPojoStream)) {
|
|
||||||
TodoTaskPojo todoTaskPojo = bd.getBusinessDatabase()
|
|
||||||
.eq("owner_id", currentUserId)
|
|
||||||
.eq("model_id", engineParamDetailPojo.getEngineModelId())
|
|
||||||
.eq("data_type", "数据维护")
|
|
||||||
.doQueryFirst(TodoTaskPojo.class);
|
|
||||||
//修改待办和发起的任务状态
|
|
||||||
bd.getBusinessDatabase()
|
|
||||||
.update("is_delete", 1)
|
|
||||||
.update("current_node", "已维护")
|
|
||||||
.update("last_update_date", new Date())
|
|
||||||
.eq("document_no", todoTaskPojo.getDocumentNo())
|
|
||||||
.doUpdate(TodoTaskPojo.class);
|
|
||||||
bd.getBusinessDatabase()
|
|
||||||
.update("current_node", "已维护")
|
|
||||||
.update("last_update_date", new Date())
|
|
||||||
.eq("document_no", todoTaskPojo.getDocumentNo())
|
|
||||||
.doUpdate(InitiatedTaskPojo.class);
|
|
||||||
//新增这个人的已办
|
|
||||||
CompletedTaskPojo completedTaskPojo = new CompletedTaskPojo();
|
|
||||||
BeanUtils.copyProperties(todoTaskPojo, completedTaskPojo);
|
|
||||||
completedTaskPojo.setId(UUID.randomUUID().toString().replaceAll("-", ""));
|
|
||||||
completedTaskPojo.setDocumentNo(todoTaskPojo.getDocumentNo());
|
|
||||||
completedTaskPojo.setCreationDate(Timestamp.valueOf(LocalDateTime.now()));
|
|
||||||
completedTaskPojo.setIsDelete(0);
|
|
||||||
completedTaskPojo.setCurrentNode("已维护");
|
|
||||||
bd.getBusinessDatabase().doInsert(completedTaskPojo);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -537,45 +502,38 @@ public class EngineParamDetailServiceImpl implements EngineParamDetailService {
|
|||||||
//分解任务
|
//分解任务
|
||||||
@Override
|
@Override
|
||||||
public void updateToInsertFiledBy(List<EngineParamDetailPojo> engineParamDetailPojos, String userID) {
|
public void updateToInsertFiledBy(List<EngineParamDetailPojo> engineParamDetailPojos, String userID) {
|
||||||
if (ObjectUtils.isEmpty(engineParamDetailPojos)) {
|
|
||||||
log.info("分解时没有传入数据");
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
String engineModelId = engineParamDetailPojos.get(0).getEngineModelId();
|
String engineModelId = engineParamDetailPojos.get(0).getEngineModelId();
|
||||||
|
//TODO 分发填写人
|
||||||
|
|
||||||
|
// 检查是否有当前任务待办
|
||||||
TodoTaskPojo todoTaskPojo = bd.getBusinessDatabase()
|
TodoTaskPojo todoTaskPojo = bd.getBusinessDatabase()
|
||||||
.eq("owner_id", userID)
|
.eq("owner_id", userID)
|
||||||
.eq("model_id", engineModelId)
|
.eq("model_id", engineModelId)
|
||||||
.eq("data_type", "任务分解")
|
.eq("data_type", "任务分解")
|
||||||
.eq("is_delete", 0)
|
.eq("is_delete", 0)
|
||||||
.doQueryFirst(TodoTaskPojo.class);
|
.doQueryFirst(TodoTaskPojo.class);
|
||||||
|
|
||||||
if (todoTaskPojo == null) {
|
if (todoTaskPojo == null) {
|
||||||
throw new CommonException("没有分解任务,请刷新重试");
|
throw new CommonException("没有分解任务,请刷新重试");
|
||||||
}
|
}
|
||||||
|
|
||||||
DataEntryEngineModelPojo modelPojo = dataEntryEngineModelService.selectBymodelId(engineModelId);
|
DataEntryEngineModelPojo modelPojo = dataEntryEngineModelService.selectBymodelId(engineModelId);
|
||||||
|
|
||||||
XdapUsers xdapUsers = xdapDeptUsersService.selectUserByID(userID);
|
XdapUsers xdapUsers = xdapDeptUsersService.selectUserByID(userID);
|
||||||
|
|
||||||
|
|
||||||
ArrayList<TodoTaskPojo> todoTaskPojos = new ArrayList<>();
|
ArrayList<TodoTaskPojo> todoTaskPojos = new ArrayList<>();
|
||||||
ArrayList<InitiatedTaskPojo> taskPojos = new ArrayList<>();
|
ArrayList<InitiatedTaskPojo> taskPojos = new ArrayList<>();
|
||||||
|
|
||||||
//分解任务更新填写人
|
//分解任务更新填写人
|
||||||
for (EngineParamDetailPojo engineParamDetailPojo : engineParamDetailPojos) {
|
for (EngineParamDetailPojo engineParamDetailPojo : engineParamDetailPojos) {
|
||||||
bd.getBusinessDatabase()
|
bd.getBusinessDatabase()
|
||||||
|
.update("is_distributed_filled", 1)
|
||||||
.update("filled_by", engineParamDetailPojo.getFilledBy())
|
.update("filled_by", engineParamDetailPojo.getFilledBy())
|
||||||
.rowid("id", engineParamDetailPojo.getId())
|
.eq("id", engineParamDetailPojo.getId())
|
||||||
.doUpdate(engineParamDetailPojo);
|
.doUpdate(EngineParamDetailPojo.class);
|
||||||
}
|
}
|
||||||
// 清除待办
|
|
||||||
bd.getBusinessDatabase()
|
|
||||||
.eq("model_id", modelPojo.getId())
|
|
||||||
.eq("data_type", CurrentNodeEnum.REPAIR.getDesc())
|
|
||||||
.update("is_delete", 1)
|
|
||||||
.doUpdate(TodoTaskPojo.class);
|
|
||||||
|
|
||||||
//为每个填写人分配任务
|
//为每个填写人分配任务
|
||||||
Set<String> filledBys = engineParamDetailPojos.stream().map(EngineParamDetailPojo::getFilledBy).collect(Collectors.toSet());
|
Set<String> filledBys = engineParamDetailPojos.stream()
|
||||||
|
.map(EngineParamDetailPojo::getFilledBy)
|
||||||
|
.collect(Collectors.toSet());
|
||||||
for (String filledBy : filledBys) {
|
for (String filledBy : filledBys) {
|
||||||
TodoTaskPojo todoTask = new TodoTaskPojo();
|
TodoTaskPojo todoTask = new TodoTaskPojo();
|
||||||
todoTask.setCreatedById(userID);
|
todoTask.setCreatedById(userID);
|
||||||
@ -585,7 +543,7 @@ public class EngineParamDetailServiceImpl implements EngineParamDetailService {
|
|||||||
todoTask.setStatusCode(null);
|
todoTask.setStatusCode(null);
|
||||||
todoTask.setModelName(modelPojo.getModelName());
|
todoTask.setModelName(modelPojo.getModelName());
|
||||||
todoTask.setModelId(modelPojo.getId());
|
todoTask.setModelId(modelPojo.getId());
|
||||||
todoTask.setCreationDate(Timestamp.valueOf(LocalDateTime.now()));
|
todoTask.setCreationDate(todoTaskPojo.getCreationDate());
|
||||||
todoTask.setDataType(CurrentNodeEnum.REPAIR.getDesc());
|
todoTask.setDataType(CurrentNodeEnum.REPAIR.getDesc());
|
||||||
todoTask.setVersionNumber(modelPojo.getVersionNumber());
|
todoTask.setVersionNumber(modelPojo.getVersionNumber());
|
||||||
todoTask.setOwnerId(filledBy);
|
todoTask.setOwnerId(filledBy);
|
||||||
@ -601,16 +559,18 @@ public class EngineParamDetailServiceImpl implements EngineParamDetailService {
|
|||||||
bd.getBusinessDatabase().doBatchInsert(todoTaskPojos);
|
bd.getBusinessDatabase().doBatchInsert(todoTaskPojos);
|
||||||
bd.getBusinessDatabase().doBatchInsert(taskPojos);
|
bd.getBusinessDatabase().doBatchInsert(taskPojos);
|
||||||
|
|
||||||
//每次分发填写人时进行检测
|
// 每次分发填写人时进行检测
|
||||||
//这个责任人相关的填写人是否都已经填写完成如果没有则待办不动 如果填写完了待办完成
|
// 这个责任人相关的填写人是否都已经填写完成,如果没有则待办不动,如果填写完了,则待办完成
|
||||||
List<EngineParamDetailPojo> detailPojos = selectByResId(userID);
|
List<EngineParamDetailPojo> toBeDistributedParams = bd.getBusinessDatabase()
|
||||||
List<EngineParamDetailPojo> paramDetailPojos = detailPojos.stream()
|
.eq("engine_model_id", engineModelId)
|
||||||
.filter(x -> x.getEngineModelId().equals(engineModelId)
|
.eq("major_version", modelPojo.getVersionNumber())
|
||||||
&& ObjectUtils.isEmpty(x.getFilledBy())
|
.eq("responsible_person_id", userID)
|
||||||
&& Objects.equals(x.getParameterSource(), "数据平台手工录入"))
|
.eq("is_distributed_filled", 0)
|
||||||
.collect(Collectors.toList());
|
.doQuery(EngineParamDetailPojo.class);
|
||||||
if (ObjectUtils.isEmpty(paramDetailPojos)) {
|
|
||||||
//软删除这个代办人的任务
|
if (ObjectUtils.isEmpty(toBeDistributedParams)) {
|
||||||
|
// 填写人是否都已经填写完成
|
||||||
|
// 清除责任人待办
|
||||||
bd.getBusinessDatabase()
|
bd.getBusinessDatabase()
|
||||||
.eq("model_id", modelPojo.getId())
|
.eq("model_id", modelPojo.getId())
|
||||||
.eq("data_type", CurrentNodeEnum.JOBSPLIT.getDesc())
|
.eq("data_type", CurrentNodeEnum.JOBSPLIT.getDesc())
|
||||||
@ -619,22 +579,18 @@ public class EngineParamDetailServiceImpl implements EngineParamDetailService {
|
|||||||
.doUpdate(TodoTaskPojo.class);
|
.doUpdate(TodoTaskPojo.class);
|
||||||
//更新待办和发起的任务状态
|
//更新待办和发起的任务状态
|
||||||
bd.getBusinessDatabase()
|
bd.getBusinessDatabase()
|
||||||
.update("is_delete", 1)
|
|
||||||
.update("current_node", "已分解")
|
.update("current_node", "已分解")
|
||||||
.update("last_update_date", new Date())
|
.update("last_update_date", new Date())
|
||||||
.eq("document_no", todoTaskPojo.getId())
|
.eq("model_id", modelPojo.getId())
|
||||||
.doUpdate(TodoTaskPojo.class);
|
.eq("data_type", CurrentNodeEnum.JOBSPLIT.getDesc())
|
||||||
bd.getBusinessDatabase()
|
.eq("created_by_id", userID)
|
||||||
.update("current_node", "已分解")
|
|
||||||
.update("last_update_date", new Date())
|
|
||||||
.eq("document_no", todoTaskPojo.getId())
|
|
||||||
.doUpdate(InitiatedTaskPojo.class);
|
.doUpdate(InitiatedTaskPojo.class);
|
||||||
//新增这个人的已办
|
//新增这个人的已办
|
||||||
CompletedTaskPojo completedTaskPojo = new CompletedTaskPojo();
|
CompletedTaskPojo completedTaskPojo = new CompletedTaskPojo();
|
||||||
BeanUtils.copyProperties(todoTaskPojo, completedTaskPojo);
|
BeanUtils.copyProperties(todoTaskPojo, completedTaskPojo);
|
||||||
completedTaskPojo.setId(UUID.randomUUID().toString().replaceAll("-", ""));
|
completedTaskPojo.setId(UUID.randomUUID().toString().replaceAll("-", ""));
|
||||||
completedTaskPojo.setDocumentNo(todoTaskPojo.getDocumentNo());
|
completedTaskPojo.setDocumentNo(todoTaskPojo.getDocumentNo());
|
||||||
completedTaskPojo.setCreationDate(Timestamp.valueOf(LocalDateTime.now()));
|
completedTaskPojo.setCreationDate(todoTaskPojo.getCreationDate());
|
||||||
completedTaskPojo.setIsDelete(0);
|
completedTaskPojo.setIsDelete(0);
|
||||||
completedTaskPojo.setCurrentNode("已分解");
|
completedTaskPojo.setCurrentNode("已分解");
|
||||||
bd.getBusinessDatabase().doInsert(completedTaskPojo);
|
bd.getBusinessDatabase().doInsert(completedTaskPojo);
|
||||||
@ -649,49 +605,29 @@ public class EngineParamDetailServiceImpl implements EngineParamDetailService {
|
|||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
public List<ParameterPojo> selectAllByNewVersion() {
|
public List<ParameterPojo> selectAllByNewVersion() {
|
||||||
//读取已通过审核的版本 DRAFT(草稿)、APPROVING(审批中)、COMPLETE(已完成)、RETURNED(已撤回)、REJECTED(已拒绝)
|
//读取已通过审核的版本COMPLETE(已完成)
|
||||||
List<TemplatePojo> templates =
|
List<TemplatePojo> templates = bd.getBusinessDatabase()
|
||||||
bd.getBusinessDatabase()
|
|
||||||
.eq("status", "COMPLETE")
|
.eq("status", "COMPLETE")
|
||||||
.doQuery(TemplatePojo.class);
|
.doQuery(TemplatePojo.class);
|
||||||
if (ObjectUtils.isEmpty(templates)) {
|
if (ObjectUtils.isEmpty(templates)) {
|
||||||
throw new CommonException("未找到未找到已发布的参数模板");
|
throw new CommonException("未找到未找到已发布的参数模板");
|
||||||
}
|
}
|
||||||
//查找每个模板最新版本
|
|
||||||
Map<String, TemplatePojo> latestTemplateMap = templates.stream()
|
|
||||||
// 按模板ID分组
|
|
||||||
.collect(Collectors.groupingBy(
|
|
||||||
TemplatePojo::getTemplateName,
|
|
||||||
// 每组内按版本号降序,取第一个(最新版本)
|
|
||||||
Collectors.collectingAndThen(
|
|
||||||
Collectors.maxBy(Comparator.comparingInt(TemplatePojo::getVersion)),
|
|
||||||
Optional::get
|
|
||||||
)
|
|
||||||
));
|
|
||||||
ArrayList<TemplatePojo> templatesMax = new ArrayList<>(latestTemplateMap.values());
|
|
||||||
List<String> strings = templatesMax.stream().map(TemplatePojo::getId).collect(Collectors.toList());
|
|
||||||
//查找最新模板关联的参数
|
|
||||||
List<TemplateAndParameterPojo> templateAndParameters =
|
|
||||||
bd.getBusinessDatabase()
|
|
||||||
.in("template_id", strings)
|
|
||||||
.doQuery(TemplateAndParameterPojo.class);
|
|
||||||
List<String> pIds = templateAndParameters.stream().map(TemplateAndParameterPojo::getParameterId).collect(Collectors.toList());
|
|
||||||
|
|
||||||
List<ParameterPojo> parameterList = bd.getBusinessDatabase()
|
//查找最新模板关联的参数
|
||||||
|
List<String> templateIds = templates.stream()
|
||||||
|
.map(TemplatePojo::getId)
|
||||||
|
.collect(Collectors.toList());
|
||||||
|
List<TemplateAndParameterPojo> templateAndParameters = bd.getBusinessDatabase()
|
||||||
|
.in("template_id", templateIds)
|
||||||
|
.doQuery(TemplateAndParameterPojo.class);
|
||||||
|
List<String> pIds = templateAndParameters.stream()
|
||||||
|
.map(TemplateAndParameterPojo::getParameterId)
|
||||||
|
.collect(Collectors.toList());
|
||||||
|
|
||||||
|
// 返回参数列表
|
||||||
|
return bd.getBusinessDatabase()
|
||||||
.in("id", pIds)
|
.in("id", pIds)
|
||||||
.doQuery(ParameterPojo.class);
|
.doQuery(ParameterPojo.class);
|
||||||
//不需要TC数据来源的参数
|
|
||||||
parameterList = parameterList.stream().filter(x -> {
|
|
||||||
if (ObjectUtils.isEmpty(x.getParameterSource())) {
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
return true;
|
|
||||||
}).collect(Collectors.toList());
|
|
||||||
if (ObjectUtils.isEmpty(parameterList)) {
|
|
||||||
return new ArrayList<>();
|
|
||||||
} else {
|
|
||||||
return parameterList;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@ -57,7 +57,7 @@ public class EngineReviewListServiceImpl implements EngineReviewListService {
|
|||||||
.eq("status_description", engineReviewListRequest.getStatusDescription())
|
.eq("status_description", engineReviewListRequest.getStatusDescription())
|
||||||
.eq("applicant", engineReviewListRequest.getApplicant())
|
.eq("applicant", engineReviewListRequest.getApplicant())
|
||||||
.eq("yc_or_oth", engineReviewListRequest.getYcOrOth())
|
.eq("yc_or_oth", engineReviewListRequest.getYcOrOth())
|
||||||
.orderBy("creation_date", "asc")
|
.orderBy("creation_date", "desc")
|
||||||
.doPageQuery(page, size, EngineReviewListPojo.class);
|
.doPageQuery(page, size, EngineReviewListPojo.class);
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@ -154,7 +154,7 @@ public class TemplateApprovalServiceImpl implements TemplateApprovalService {
|
|||||||
todoTask.setCurrentNode(firstNode.getNodeName());
|
todoTask.setCurrentNode(firstNode.getNodeName());
|
||||||
todoTask.setDataType("模板审核");
|
todoTask.setDataType("模板审核");
|
||||||
todoTask.setDocumentNo(flow.getId());
|
todoTask.setDocumentNo(flow.getId());
|
||||||
todoTask.setCreationDate(Timestamp.valueOf(LocalDateTime.now()));
|
todoTask.setCreationDate(flow.getCreatedTime());
|
||||||
todoTask.setIsDelete(0);
|
todoTask.setIsDelete(0);
|
||||||
todoTask.setModelId(template.getId());
|
todoTask.setModelId(template.getId());
|
||||||
todoTask.setModelName(template.getTemplateName());
|
todoTask.setModelName(template.getTemplateName());
|
||||||
@ -176,7 +176,7 @@ public class TemplateApprovalServiceImpl implements TemplateApprovalService {
|
|||||||
initiatedTask.setCurrentProcessor(JSON.toJSONString(firstNode.getAssignees()));
|
initiatedTask.setCurrentProcessor(JSON.toJSONString(firstNode.getAssignees()));
|
||||||
initiatedTask.setDataType("模板审核");
|
initiatedTask.setDataType("模板审核");
|
||||||
initiatedTask.setProcessTitle(request.getProcessTitle());
|
initiatedTask.setProcessTitle(request.getProcessTitle());
|
||||||
initiatedTask.setCreationDate(Timestamp.valueOf(LocalDateTime.now()));
|
initiatedTask.setCreationDate(flow.getCreatedTime());
|
||||||
initiatedTask.setIsDelete(0);
|
initiatedTask.setIsDelete(0);
|
||||||
initiatedTask.setModelId(flow.getTemplateId());
|
initiatedTask.setModelId(flow.getTemplateId());
|
||||||
initiatedTask.setEnableReturn(1);
|
initiatedTask.setEnableReturn(1);
|
||||||
@ -260,7 +260,7 @@ public class TemplateApprovalServiceImpl implements TemplateApprovalService {
|
|||||||
todoTask.setCurrentNode(firstNode.getNodeName());
|
todoTask.setCurrentNode(firstNode.getNodeName());
|
||||||
todoTask.setDataType("模板审核");
|
todoTask.setDataType("模板审核");
|
||||||
todoTask.setDocumentNo(flow.getId());
|
todoTask.setDocumentNo(flow.getId());
|
||||||
todoTask.setCreationDate(Timestamp.valueOf(LocalDateTime.now()));
|
todoTask.setCreationDate(flow.getCreatedTime());
|
||||||
todoTask.setIsDelete(0);
|
todoTask.setIsDelete(0);
|
||||||
todoTask.setModelId(template.getId());
|
todoTask.setModelId(template.getId());
|
||||||
todoTask.setModelName(template.getTemplateName());
|
todoTask.setModelName(template.getTemplateName());
|
||||||
@ -541,7 +541,7 @@ public class TemplateApprovalServiceImpl implements TemplateApprovalService {
|
|||||||
completedTaskPojo.setDataType("模板审核");
|
completedTaskPojo.setDataType("模板审核");
|
||||||
completedTaskPojo.setOwnerId(request.getUserId());
|
completedTaskPojo.setOwnerId(request.getUserId());
|
||||||
completedTaskPojo.setProcessTitle(flow.getProcessTitle());
|
completedTaskPojo.setProcessTitle(flow.getProcessTitle());
|
||||||
completedTaskPojo.setCreationDate(Timestamp.valueOf(LocalDateTime.now()));
|
completedTaskPojo.setCreationDate(flow.getCreatedTime());
|
||||||
completedTaskPojo.setIsDelete(0);
|
completedTaskPojo.setIsDelete(0);
|
||||||
completedTaskPojo.setModelId(flow.getTemplateId());
|
completedTaskPojo.setModelId(flow.getTemplateId());
|
||||||
bd.getBusinessDatabase().doInsert(completedTaskPojo);
|
bd.getBusinessDatabase().doInsert(completedTaskPojo);
|
||||||
@ -597,11 +597,11 @@ public class TemplateApprovalServiceImpl implements TemplateApprovalService {
|
|||||||
todoTask.setCurrentNode("编制");
|
todoTask.setCurrentNode("编制");
|
||||||
todoTask.setDataType("模板拒绝");
|
todoTask.setDataType("模板拒绝");
|
||||||
todoTask.setDocumentNo(flow.getId());
|
todoTask.setDocumentNo(flow.getId());
|
||||||
todoTask.setCreationDate(Timestamp.valueOf(LocalDateTime.now()));
|
todoTask.setCreationDate(flow.getCreatedTime());
|
||||||
todoTask.setIsDelete(0);
|
todoTask.setIsDelete(0);
|
||||||
todoTask.setModelId(template.getId());
|
todoTask.setModelId(template.getId());
|
||||||
todoTask.setModelName(template.getTemplateName());
|
todoTask.setModelName(template.getTemplateName());
|
||||||
todoTask.setProcessTitle("拒绝提醒-"+flow.getProcessTitle());
|
todoTask.setProcessTitle(flow.getProcessTitle());
|
||||||
todoTask.setStatusCode(flow.getFlowStatus());
|
todoTask.setStatusCode(flow.getFlowStatus());
|
||||||
todoTask.setVersionNumber(template.getVersion());
|
todoTask.setVersionNumber(template.getVersion());
|
||||||
todoTask.setOwnerId(flow.getCreateBy());
|
todoTask.setOwnerId(flow.getCreateBy());
|
||||||
@ -704,7 +704,7 @@ public class TemplateApprovalServiceImpl implements TemplateApprovalService {
|
|||||||
todoTask.setCurrentNode(node.getNodeName());
|
todoTask.setCurrentNode(node.getNodeName());
|
||||||
todoTask.setDataType("模板审核");
|
todoTask.setDataType("模板审核");
|
||||||
todoTask.setDocumentNo(flow.getId());
|
todoTask.setDocumentNo(flow.getId());
|
||||||
todoTask.setCreationDate(Timestamp.valueOf(LocalDateTime.now()));
|
todoTask.setCreationDate(flow.getCreatedTime());
|
||||||
todoTask.setIsDelete(0);
|
todoTask.setIsDelete(0);
|
||||||
todoTask.setModelId(template.getId());
|
todoTask.setModelId(template.getId());
|
||||||
todoTask.setModelName(template.getTemplateName());
|
todoTask.setModelName(template.getTemplateName());
|
||||||
|
|||||||
@ -5,6 +5,7 @@ import com.alibaba.excel.ExcelWriter;
|
|||||||
import com.alibaba.excel.write.metadata.WriteSheet;
|
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.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.*;
|
||||||
@ -179,15 +180,14 @@ 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()
|
String targetDepartmentIds = bd.getBusinessDatabase()
|
||||||
// .eq("name", "研发总院")
|
.eq("name", "研发总院")
|
||||||
// .doQueryFirst(XdapDepartments.class).getId();
|
.doQueryFirst(XdapDepartments.class).getId();
|
||||||
//
|
|
||||||
// List<String> subDepartments = bd.getBusinessDatabase()
|
List<String> subDepartments = bd.getBusinessDatabase()
|
||||||
// .in("parent_id", targetDepartmentIds)
|
.in("parent_id", targetDepartmentIds)
|
||||||
// .doQuery(XdapDepartments.class).stream().map(XdapDepartments::getName)
|
.doQuery(XdapDepartments.class).stream().map(XdapDepartments::getName)
|
||||||
// .collect(Collectors.toList());
|
.collect(Collectors.toList());
|
||||||
List<String> subDepartments = new ArrayList<>();
|
|
||||||
|
|
||||||
try (InputStream inputStream = file.getInputStream()){
|
try (InputStream inputStream = file.getInputStream()){
|
||||||
EasyExcel.read(
|
EasyExcel.read(
|
||||||
|
|||||||
@ -4,7 +4,7 @@ import com.alibaba.fastjson2.JSON;
|
|||||||
import com.definesys.mpaas.query.db.PageQueryResult;
|
import com.definesys.mpaas.query.db.PageQueryResult;
|
||||||
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.controller.request.TodoReturnRequest;
|
import com.xdap.self_development.controller.request.RejectTodoRequest;
|
||||||
import com.xdap.self_development.controller.request.TodoTaskRequest;
|
import com.xdap.self_development.controller.request.TodoTaskRequest;
|
||||||
import com.xdap.self_development.controller.request.YcGetTodoTaskRequest;
|
import com.xdap.self_development.controller.request.YcGetTodoTaskRequest;
|
||||||
import com.xdap.self_development.domain.dto.EngineParamDetailDTO;
|
import com.xdap.self_development.domain.dto.EngineParamDetailDTO;
|
||||||
@ -15,14 +15,13 @@ import com.xdap.self_development.domain.enums.CurrentNodeEnum;
|
|||||||
import com.xdap.self_development.domain.enums.DistributeStatusEnum;
|
import com.xdap.self_development.domain.enums.DistributeStatusEnum;
|
||||||
import com.xdap.self_development.domain.pojo.*;
|
import com.xdap.self_development.domain.pojo.*;
|
||||||
import com.xdap.self_development.exception.CommonException;
|
import com.xdap.self_development.exception.CommonException;
|
||||||
|
import com.xdap.self_development.service.ActivitiProcessService;
|
||||||
import com.xdap.self_development.service.DataEntryEngineModelService;
|
import com.xdap.self_development.service.DataEntryEngineModelService;
|
||||||
import com.xdap.self_development.service.EngineParamDetailService;
|
|
||||||
import com.xdap.self_development.service.TodoTaskService;
|
import com.xdap.self_development.service.TodoTaskService;
|
||||||
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.beans.BeanUtils;
|
import org.springframework.beans.BeanUtils;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
import org.springframework.transaction.annotation.Transactional;
|
|
||||||
|
|
||||||
import javax.annotation.Resource;
|
import javax.annotation.Resource;
|
||||||
import java.sql.Timestamp;
|
import java.sql.Timestamp;
|
||||||
@ -44,7 +43,7 @@ import java.util.stream.Collectors;
|
|||||||
public class TodoTaskServiceImpl implements TodoTaskService {
|
public class TodoTaskServiceImpl implements TodoTaskService {
|
||||||
|
|
||||||
@Resource
|
@Resource
|
||||||
private EngineParamDetailService engineParamDetailService;
|
private ActivitiProcessService activitiProcessService;
|
||||||
@Resource
|
@Resource
|
||||||
private XdapDeptUsersService xdapDeptUsersService;
|
private XdapDeptUsersService xdapDeptUsersService;
|
||||||
@Resource
|
@Resource
|
||||||
@ -229,71 +228,71 @@ public class TodoTaskServiceImpl implements TodoTaskService {
|
|||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
public void createResPerson(List<EngineParamDetailDTO> paramDetailPojosAll, String userID) {
|
public void createResPerson(List<EngineParamDetailDTO> paramDetailPojosAll, String userID) {
|
||||||
|
|
||||||
if (ObjectUtils.isEmpty(paramDetailPojosAll)) {
|
|
||||||
throw new CommonException("未传入要变更的数据数据");
|
|
||||||
}
|
|
||||||
String modelId = paramDetailPojosAll.get(0).getEngineModelId();
|
String modelId = paramDetailPojosAll.get(0).getEngineModelId();
|
||||||
|
//TODO 分发责任人
|
||||||
//为参数更新责任人
|
//为参数更新责任人
|
||||||
for (EngineParamDetailDTO engineParamDetailDTO : paramDetailPojosAll) {
|
for (EngineParamDetailDTO engineParamDetailDTO : paramDetailPojosAll) {
|
||||||
bd.getBusinessDatabase()
|
bd.getBusinessDatabase()
|
||||||
|
.update("is_distributed_res", 1)
|
||||||
.update("responsible_person_id", engineParamDetailDTO.getResPersonId())
|
.update("responsible_person_id", engineParamDetailDTO.getResPersonId())
|
||||||
.rowid("id", engineParamDetailDTO.getId())
|
.eq("id", engineParamDetailDTO.getId())
|
||||||
.doUpdate(EngineParamDetailPojo.class);
|
.doUpdate(EngineParamDetailPojo.class);
|
||||||
}
|
}
|
||||||
//生成分解任务给责任人 参数根据机型+责任人分组 生成数据
|
|
||||||
List<EngineParamDetailDTO> dtoList = new ArrayList<>(paramDetailPojosAll.stream()
|
|
||||||
// 以responsiblePersonId组合作为key,元素本身作为value
|
|
||||||
.collect(Collectors.toMap(EngineParamDetailDTO::getResPersonId,
|
|
||||||
pojo -> pojo,
|
|
||||||
(existing, replacement) -> existing
|
|
||||||
))
|
|
||||||
// 提取去重后的value集合
|
|
||||||
.values());
|
|
||||||
ArrayList<TodoTaskPojo> todoTaskPojos = new ArrayList<>();
|
ArrayList<TodoTaskPojo> todoTaskPojos = new ArrayList<>();
|
||||||
ArrayList<InitiatedTaskPojo> taskPojos = new ArrayList<>();
|
ArrayList<InitiatedTaskPojo> taskPojos = new ArrayList<>();
|
||||||
|
XdapUsers createdUser = xdapDeptUsersService.selectUserByID(userID);
|
||||||
|
DataEntryEngineModelPojo model = bd.getBusinessDatabase()
|
||||||
|
.eq("id", modelId)
|
||||||
|
.doQueryFirst(DataEntryEngineModelPojo.class);
|
||||||
|
|
||||||
// 清除待办
|
// 获取所有责任人ID组装待办
|
||||||
bd.getBusinessDatabase()
|
Set<String> resIds = paramDetailPojosAll.stream()
|
||||||
|
.map(EngineParamDetailDTO::getResPersonId)
|
||||||
|
.collect(Collectors.toSet());
|
||||||
|
for (String resId : resIds) {
|
||||||
|
// 检查是否有当前责任人的待办,有就不增加代办
|
||||||
|
List<TodoTaskPojo> resTodos = bd.getBusinessDatabase()
|
||||||
.eq("model_id", modelId)
|
.eq("model_id", modelId)
|
||||||
.eq("data_type", CurrentNodeEnum.JOBSPLIT.getDesc())
|
.eq("data_type", CurrentNodeEnum.JOBSPLIT.getDesc())
|
||||||
.update("is_delete", 1)
|
.eq("is_delete", 0)
|
||||||
.doUpdate(TodoTaskPojo.class);
|
.eq("owner_id", resId)
|
||||||
|
.doQuery(TodoTaskPojo.class);
|
||||||
XdapUsers xdapUsersPojo = xdapDeptUsersService.selectUserByID(userID);
|
if (!resTodos.isEmpty()) continue;
|
||||||
DataEntryEngineModelPojo modelPojo = dataEntryEngineModelService.selectBymodelId(modelId);
|
// 没有就新增待办
|
||||||
for (EngineParamDetailDTO engineParamDetailDTO : dtoList) {
|
|
||||||
//组装待办
|
|
||||||
TodoTaskPojo todoTaskPojo = new TodoTaskPojo();
|
TodoTaskPojo todoTaskPojo = new TodoTaskPojo();
|
||||||
todoTaskPojo.setCreatedById(userID);
|
todoTaskPojo.setCreatedById(userID);
|
||||||
todoTaskPojo.setDocumentNo(UUID.randomUUID().toString());
|
todoTaskPojo.setDocumentNo(UUID.randomUUID().toString());
|
||||||
todoTaskPojo.setProcessTitle(modelPojo.getModelName()+"-"+"分发参数填写人任务");
|
todoTaskPojo.setProcessTitle(model.getModelName() + "-" + "分发参数填写人任务");
|
||||||
todoTaskPojo.setCurrentNode("待分解");
|
todoTaskPojo.setCurrentNode("待分解");
|
||||||
todoTaskPojo.setCurrentProcessor(JSON.toJSONString(Collections.singletonList(engineParamDetailDTO.getResPersonId())));
|
todoTaskPojo.setCurrentProcessor(JSON.toJSONString(Collections.singletonList(resId)));
|
||||||
todoTaskPojo.setStatusCode(null/*String.valueOf(ParamValueVersionEnum.DRAFT.getCode())*/);
|
todoTaskPojo.setStatusCode(null/*String.valueOf(ParamValueVersionEnum.DRAFT.getCode())*/);
|
||||||
todoTaskPojo.setModelName(ObjectUtils.isNotEmpty(modelPojo) ? modelPojo.getModelName() : "");
|
todoTaskPojo.setModelName(ObjectUtils.isNotEmpty(model) ? model.getModelName() : "");
|
||||||
todoTaskPojo.setModelId(modelId);
|
todoTaskPojo.setModelId(modelId);
|
||||||
todoTaskPojo.setCreationDate(Timestamp.valueOf(LocalDateTime.now()));
|
todoTaskPojo.setCreationDate(Timestamp.valueOf(LocalDateTime.now()));
|
||||||
todoTaskPojo.setDataType(CurrentNodeEnum.JOBSPLIT.getDesc());
|
todoTaskPojo.setDataType(CurrentNodeEnum.JOBSPLIT.getDesc());
|
||||||
todoTaskPojo.setVersionNumber(ObjectUtils.isNotEmpty(modelPojo) ? modelPojo.getVersionNumber() : 0);
|
todoTaskPojo.setVersionNumber(ObjectUtils.isNotEmpty(model) ? model.getVersionNumber() : 0);
|
||||||
todoTaskPojo.setIsDelete(0);
|
todoTaskPojo.setIsDelete(0);
|
||||||
todoTaskPojo.setOwnerId(engineParamDetailDTO.getResPersonId());
|
todoTaskPojo.setOwnerId(resId);
|
||||||
todoTaskPojo.setCreatedBy(ObjectUtils.isNotEmpty(xdapUsersPojo) ? xdapUsersPojo.getUsername() : "");
|
todoTaskPojo.setCreatedBy(ObjectUtils.isNotEmpty(createdUser) ? createdUser.getUsername() : "");
|
||||||
todoTaskPojos.add(todoTaskPojo);
|
todoTaskPojos.add(todoTaskPojo);
|
||||||
InitiatedTaskPojo initiatedTaskPojo = new InitiatedTaskPojo();
|
InitiatedTaskPojo initiatedTaskPojo = new InitiatedTaskPojo();
|
||||||
BeanUtils.copyProperties(todoTaskPojo, initiatedTaskPojo);
|
BeanUtils.copyProperties(todoTaskPojo, initiatedTaskPojo);
|
||||||
initiatedTaskPojo.setLastUpdatedBy(engineParamDetailDTO.getResPersonId());
|
initiatedTaskPojo.setLastUpdatedBy(resId);
|
||||||
taskPojos.add(initiatedTaskPojo);
|
taskPojos.add(initiatedTaskPojo);
|
||||||
}
|
}
|
||||||
bd.getBusinessDatabase().doBatchInsert(todoTaskPojos);
|
bd.getBusinessDatabase().doBatchInsert(todoTaskPojos);
|
||||||
bd.getBusinessDatabase().doBatchInsert(taskPojos);
|
bd.getBusinessDatabase().doBatchInsert(taskPojos);
|
||||||
List<EngineParamDetailPojo> detailPojos = engineParamDetailService.selectByModelNewVersion(modelId);
|
|
||||||
List<EngineParamDetailPojo> paramDetailPojos = detailPojos.stream()
|
// 检查分发状态
|
||||||
.filter(x -> ObjectUtils.isEmpty(x.getResponsiblePersonId())
|
List<EngineParamDetailPojo> toBeDistributedParams = bd.getBusinessDatabase()
|
||||||
&& Objects.equals(x.getParameterSource(), "数据平台手工录入"))
|
.eq("engine_model_id", modelId)
|
||||||
.collect(Collectors.toList());
|
.eq("major_version", model.getVersionNumber())
|
||||||
// 机型的分发状态改为已分发
|
.eq("is_distributed_res", 0)
|
||||||
if (ObjectUtils.isEmpty(paramDetailPojos)) {
|
.doQuery(EngineParamDetailPojo.class);
|
||||||
|
|
||||||
|
// 机型的分发状态改为已分发
|
||||||
|
if (ObjectUtils.isEmpty(toBeDistributedParams)) {
|
||||||
DistributeStatusEnum byDesc = DistributeStatusEnum.getByDesc("已分发");
|
DistributeStatusEnum byDesc = DistributeStatusEnum.getByDesc("已分发");
|
||||||
Integer status = byDesc != null ? byDesc.getCode() : null;
|
Integer status = byDesc != null ? byDesc.getCode() : null;
|
||||||
bd.getBusinessDatabase()
|
bd.getBusinessDatabase()
|
||||||
@ -310,67 +309,87 @@ public class TodoTaskServiceImpl implements TodoTaskService {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* 待办任务退回
|
|
||||||
*
|
|
||||||
* @param todoReturnRequest 待办退回请求对象
|
|
||||||
*/
|
|
||||||
@Override
|
@Override
|
||||||
@Transactional
|
public void rejectTodo(RejectTodoRequest request) {
|
||||||
public void todoReturn(TodoReturnRequest todoReturnRequest) {
|
// TODO拒绝分发
|
||||||
String todoTaskId = todoReturnRequest.getTodoTaskId();
|
TodoTaskPojo todoTaskPojo = bd.getBusinessDatabase()
|
||||||
if (ObjectUtils.isEmpty(todoTaskId)) {
|
.eq("id", request.getTodoId())
|
||||||
throw new CommonException("未传入单据");
|
.doQueryFirst(TodoTaskPojo.class);
|
||||||
|
if (ObjectUtils.isEmpty(todoTaskPojo)) {
|
||||||
|
throw new CommonException("待办任务不存在");
|
||||||
}
|
}
|
||||||
|
DataEntryEngineModelPojo model = bd.getBusinessDatabase()
|
||||||
List<TodoTaskPojo> todoTaskPojos = bd.getBusinessDatabase()
|
.eq("id", todoTaskPojo.getModelId())
|
||||||
.eq("id", todoTaskId)
|
.doQueryFirst(DataEntryEngineModelPojo.class);
|
||||||
.doQuery(TodoTaskPojo.class);
|
if (ObjectUtils.isEmpty(model)) {
|
||||||
if (ObjectUtils.isEmpty(todoTaskPojos)) {
|
throw new CommonException("机型不存在,请检查");
|
||||||
throw new CommonException("传入的单据查不到");
|
|
||||||
}
|
}
|
||||||
TodoTaskPojo todoTaskPojo1 = todoTaskPojos.get(0);
|
// 填写人拒绝
|
||||||
String modelID = todoReturnRequest.getModelID();
|
if ((ObjectUtils.isNotEmpty(request.getFillerId()))
|
||||||
//如果是填写人退回 把填写人的待办删除 则为该条责任人添加待办 并且待办创建人改为退回人
|
&& (request.getResponsiblePersonId() == null || ObjectUtils.isEmpty(request.getResponsiblePersonId()))) {
|
||||||
if ("填写人退回".equals(todoReturnRequest.getSteps())) {
|
// 填写人拒绝待办
|
||||||
bd.getBusinessDatabase()
|
|
||||||
.update("is_delete", 1)
|
|
||||||
.update("last_update_date", new Date())
|
|
||||||
.eq("id", todoTaskId).doUpdate(TodoTaskPojo.class);
|
|
||||||
|
|
||||||
XdapUsers xdapUsersPojo = xdapDeptUsersService.selectUserByID(todoReturnRequest.getUserID());
|
|
||||||
|
|
||||||
//组装待办
|
|
||||||
TodoTaskPojo todoTaskPojo = new TodoTaskPojo();
|
|
||||||
todoTaskPojo.setCreatedById(todoReturnRequest.getUserID());
|
|
||||||
todoTaskPojo.setDocumentNo(UUID.randomUUID().toString());
|
|
||||||
todoTaskPojo.setProcessTitle("分发责任人(填写人退回)");
|
|
||||||
todoTaskPojo.setCurrentNode("待分解");
|
|
||||||
todoTaskPojo.setStatusCode(null/*String.valueOf(ParamValueVersionEnum.DRAFT.getCode())*/);
|
|
||||||
todoTaskPojo.setModelName(todoTaskPojo1.getModelName());
|
|
||||||
todoTaskPojo.setModelId(todoTaskPojo1.getModelId());
|
|
||||||
todoTaskPojo.setCreationDate(Timestamp.valueOf(LocalDateTime.now()));
|
|
||||||
todoTaskPojo.setDataType(CurrentNodeEnum.JOBSPLIT.getDesc());
|
|
||||||
todoTaskPojo.setVersionNumber(todoTaskPojo1.getVersionNumber());
|
|
||||||
todoTaskPojo.setIsDelete(0);
|
|
||||||
todoTaskPojo.setCurrentProcessor(JSON.toJSONString(Collections.singletonList(todoTaskPojo1.getCreatedById())));
|
|
||||||
todoTaskPojo.setOwnerId(todoTaskPojo1.getCreatedById());
|
|
||||||
todoTaskPojo.setCreatedBy(ObjectUtils.isNotEmpty(xdapUsersPojo) ? xdapUsersPojo.getUsername() : "");
|
|
||||||
bd.getBusinessDatabase().doInsert(todoTaskPojo);
|
|
||||||
//把相关参数中的填写人退回
|
|
||||||
List<EngineParamDetailPojo> pojoList = engineParamDetailService.selectByModelNewVersion(modelID);
|
|
||||||
List<EngineParamDetailPojo> pojos = pojoList.stream().filter(x -> x.getFilledBy().equals(todoReturnRequest.getUserID()))
|
|
||||||
.collect(Collectors.toList());
|
|
||||||
|
|
||||||
for (EngineParamDetailPojo pojo : pojos) {
|
|
||||||
bd.getBusinessDatabase()
|
bd.getBusinessDatabase()
|
||||||
|
.eq("engine_model_id", model.getId())
|
||||||
|
.eq("major_version", model.getVersionNumber())
|
||||||
|
.eq("filled_by", request.getFillerId())
|
||||||
|
.update("is_distributed_filled", 0)
|
||||||
.update("filled_by", null)
|
.update("filled_by", null)
|
||||||
.eq("id",pojo.getId())
|
.doUpdate(EngineParamDetailPojo.class);
|
||||||
.doUpdate(pojo);
|
// 检查责任人是否有责任人待办
|
||||||
|
TodoTaskPojo resTodo = bd.getBusinessDatabase()
|
||||||
|
.eq("model_id", todoTaskPojo.getModelId())
|
||||||
|
.eq("data_type", CurrentNodeEnum.JOBSPLIT.getDesc())
|
||||||
|
.eq("owner_id", todoTaskPojo.getCreatedById())
|
||||||
|
.doQueryFirst(TodoTaskPojo.class);
|
||||||
|
if (resTodo != null && resTodo.getIsDelete() == 1) {
|
||||||
|
bd.getBusinessDatabase()
|
||||||
|
.eq("id", resTodo.getId())
|
||||||
|
.update("is_delete", 0)
|
||||||
|
.doUpdate(TodoTaskPojo.class);
|
||||||
|
bd.getBusinessDatabase()
|
||||||
|
.eq("model_id", model.getId())
|
||||||
|
.eq("owner_id", todoTaskPojo.getOwnerId())
|
||||||
|
.eq("document_no", todoTaskPojo.getDocumentNo())
|
||||||
|
.eq("data_type", CurrentNodeEnum.JOBSPLIT.getDesc())
|
||||||
|
.update("current_node", "待分解")
|
||||||
|
.update("last_update_date", new Date())
|
||||||
|
.doUpdate(InitiatedTaskPojo.class);
|
||||||
|
bd.getBusinessDatabase()
|
||||||
|
.eq("model_id", model.getId())
|
||||||
|
.eq("owner_id", todoTaskPojo.getOwnerId())
|
||||||
|
.eq("document_no", todoTaskPojo.getDocumentNo())
|
||||||
|
.eq("data_type", CurrentNodeEnum.JOBSPLIT.getDesc())
|
||||||
|
.update("is_delete", 1)
|
||||||
|
.doUpdate(CompletedTaskPojo.class);
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
// 责任人拒绝
|
||||||
|
else if ((request.getFillerId() == null || ObjectUtils.isEmpty(request.getFillerId()))
|
||||||
|
&& ObjectUtils.isNotEmpty(request.getResponsiblePersonId())) {
|
||||||
|
bd.getBusinessDatabase()
|
||||||
|
.eq("engine_model_id", model.getId())
|
||||||
|
.eq("major_version", model.getVersionNumber())
|
||||||
|
.eq("responsible_person_id", request.getResponsiblePersonId())
|
||||||
|
.update("is_distributed_res", 0)
|
||||||
|
.update("responsible_person_id", null)
|
||||||
|
.update("is_distributed_filled", 0)
|
||||||
|
.update("filled_by", null)
|
||||||
|
.doUpdate(EngineParamDetailPojo.class);
|
||||||
|
|
||||||
|
DistributeStatusEnum byDesc = DistributeStatusEnum.getByDesc("部分分发");
|
||||||
|
Integer status = byDesc != null ? byDesc.getCode() : null;
|
||||||
|
bd.getBusinessDatabase()
|
||||||
|
.eq("id", model.getId())
|
||||||
|
.update("distribute_status", status)
|
||||||
|
.doUpdate(DataEntryEngineModelPojo.class);
|
||||||
|
} else {
|
||||||
|
throw new CommonException("参数错误");
|
||||||
|
}
|
||||||
|
// 删除待办
|
||||||
|
bd.getBusinessDatabase()
|
||||||
|
.eq("id", todoTaskPojo.getId())
|
||||||
|
.update("is_delete", 1)
|
||||||
|
.doUpdate(TodoTaskPojo.class);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user