feat(): 支持重点作业属性类型多选和开工申请驳回功能
parent
864d139081
commit
91b0f36ffb
|
|
@ -28,6 +28,8 @@ public interface KeyProjectCoConvertor {
|
||||||
*/
|
*/
|
||||||
List<KeyProjectCO> converDOsToCOs(List<KeyProjectDO> keyProjectDOs);
|
List<KeyProjectCO> converDOsToCOs(List<KeyProjectDO> keyProjectDOs);
|
||||||
|
|
||||||
|
@Mapping(source = "projectType", target = "projectType", qualifiedByName = "stringToList")
|
||||||
|
@Mapping(source = "projectTypeName", target = "projectTypeName", qualifiedByName = "stringToList")
|
||||||
KeyProjectCO converDOToCO(KeyProjectDO keyProjectDO);
|
KeyProjectCO converDOToCO(KeyProjectDO keyProjectDO);
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -54,8 +56,11 @@ public interface KeyProjectCoConvertor {
|
||||||
|
|
||||||
@Named("stringToList")
|
@Named("stringToList")
|
||||||
default List<String> stringToList(String str) {
|
default List<String> stringToList(String str) {
|
||||||
|
if (str == null || str.isEmpty()) {
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
return Arrays.asList(str.split(","));
|
||||||
|
}
|
||||||
|
|
||||||
List<XgfCorpCO> converXgfCorpDOsToCOs(List<XgfCorpDO> xgfCorpDOList);
|
List<XgfCorpCO> converXgfCorpDOsToCOs(List<XgfCorpDO> xgfCorpDOList);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,6 @@
|
||||||
package com.zcloud.key.project.command.project;
|
package com.zcloud.key.project.command.project;
|
||||||
|
|
||||||
|
import cn.hutool.core.collection.CollUtil;
|
||||||
import com.alibaba.cola.exception.BizException;
|
import com.alibaba.cola.exception.BizException;
|
||||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||||
import com.zcloud.gbscommon.utils.Tools;
|
import com.zcloud.gbscommon.utils.Tools;
|
||||||
|
|
@ -58,6 +59,12 @@ public class KeyProjectAddExe {
|
||||||
|
|
||||||
KeyProjectE keyProjectE = new KeyProjectE();
|
KeyProjectE keyProjectE = new KeyProjectE();
|
||||||
BeanUtils.copyProperties(cmd, keyProjectE);
|
BeanUtils.copyProperties(cmd, keyProjectE);
|
||||||
|
if (CollUtil.isNotEmpty(cmd.getProjectType())) {
|
||||||
|
keyProjectE.setProjectType(String.join(",", cmd.getProjectType()));
|
||||||
|
}
|
||||||
|
if (CollUtil.isNotEmpty(cmd.getProjectTypeName())) {
|
||||||
|
keyProjectE.setProjectTypeName(String.join(",", cmd.getProjectTypeName()));
|
||||||
|
}
|
||||||
boolean res = false;
|
boolean res = false;
|
||||||
try {
|
try {
|
||||||
res = keyProjectGateway.add(keyProjectE);
|
res = keyProjectGateway.add(keyProjectE);
|
||||||
|
|
|
||||||
|
|
@ -70,12 +70,18 @@ public class KeyProjectUpdateExe {
|
||||||
}
|
}
|
||||||
KeyProjectE keyProjectE = new KeyProjectE();
|
KeyProjectE keyProjectE = new KeyProjectE();
|
||||||
BeanUtils.copyProperties(keyProjectUpdateCmd, keyProjectE);
|
BeanUtils.copyProperties(keyProjectUpdateCmd, keyProjectE);
|
||||||
|
if (CollUtil.isNotEmpty(keyProjectUpdateCmd.getProjectType())) {
|
||||||
|
keyProjectE.setProjectType(String.join(",", keyProjectUpdateCmd.getProjectType()));
|
||||||
|
}
|
||||||
|
if (CollUtil.isNotEmpty(keyProjectUpdateCmd.getProjectTypeName())) {
|
||||||
|
keyProjectE.setProjectTypeName(String.join(",", keyProjectUpdateCmd.getProjectTypeName()));
|
||||||
|
}
|
||||||
boolean res = keyProjectGateway.update(keyProjectE);
|
boolean res = keyProjectGateway.update(keyProjectE);
|
||||||
if (!res) {
|
if (!res) {
|
||||||
throw new BizException("修改失败");
|
throw new BizException("修改失败");
|
||||||
}
|
}
|
||||||
keyProjectCameraRepository.deleteByKeyProjectId(keyProjectE.getKeyProjectId());
|
|
||||||
if(keyProjectUpdateCmd.getKeyProjectCameraAddCmdList()!=null){
|
if(keyProjectUpdateCmd.getKeyProjectCameraAddCmdList()!=null){
|
||||||
|
keyProjectCameraRepository.deleteByKeyProjectId(keyProjectE.getKeyProjectId());
|
||||||
List<KeyProjectCameraAddCmd> keyProjectCameraAddCmdList = keyProjectUpdateCmd.getKeyProjectCameraAddCmdList();
|
List<KeyProjectCameraAddCmd> keyProjectCameraAddCmdList = keyProjectUpdateCmd.getKeyProjectCameraAddCmdList();
|
||||||
List<KeyProjectCameraDO> keyProjectCameraDOList =keyProjectCameraCoConvertor.converCmdsToDOs(keyProjectCameraAddCmdList);
|
List<KeyProjectCameraDO> keyProjectCameraDOList =keyProjectCameraCoConvertor.converCmdsToDOs(keyProjectCameraAddCmdList);
|
||||||
keyProjectCameraDOList.forEach(keyProjectCameraAddCmd -> {
|
keyProjectCameraDOList.forEach(keyProjectCameraAddCmd -> {
|
||||||
|
|
@ -137,6 +143,14 @@ public class KeyProjectUpdateExe {
|
||||||
keyProjectE.setCompletedConfirmDateTime(LocalDateTime.now());
|
keyProjectE.setCompletedConfirmDateTime(LocalDateTime.now());
|
||||||
messageNoticeExe.sendMessageCompleteEvent(byId.getId());
|
messageNoticeExe.sendMessageCompleteEvent(byId.getId());
|
||||||
}
|
}
|
||||||
|
if(KeyProjectApplyStatusEnum.START_APPLY_REJECT.getCode().equals(keyProjectUpdateStatusCmd.getApplyStatus())){
|
||||||
|
keyProjectE.setRejectReason(keyProjectUpdateStatusCmd.getRejectReason());
|
||||||
|
messageNoticeExe.sendMessageCompleteEvent(byId.getId());
|
||||||
|
Map<String, Object> sendParams = new HashMap<>();
|
||||||
|
sendParams.put("keyProject", byId.getProjectName());
|
||||||
|
messageNoticeExe.messageNotice(byId.getXgfMasterUserId(), messageTemplateConfig.getRelatedPartyUnitLeaderApplyStartWorkReject(), sendParams);
|
||||||
|
messageNoticeExe.sendMessageAddEvent(byId.getXgfMasterUserId(), "您有一条【重点作业】待处理","开工申请驳回", byId.getId(), byId.getId());
|
||||||
|
}
|
||||||
boolean res = keyProjectGateway.update(keyProjectE);
|
boolean res = keyProjectGateway.update(keyProjectE);
|
||||||
if (!res) {
|
if (!res) {
|
||||||
throw new BizException("修改失败");
|
throw new BizException("修改失败");
|
||||||
|
|
|
||||||
|
|
@ -51,10 +51,10 @@ public class KeyProjectCO extends ClientObject {
|
||||||
private String projectName;
|
private String projectName;
|
||||||
//涉及重点作业属性类型
|
//涉及重点作业属性类型
|
||||||
@ApiModelProperty(value = "涉及重点作业属性类型")
|
@ApiModelProperty(value = "涉及重点作业属性类型")
|
||||||
private String projectType;
|
private List<String> projectType;
|
||||||
//涉及重点作业属性类型名称
|
//涉及重点作业属性类型名称
|
||||||
@ApiModelProperty(value = "涉及重点作业属性类型名称")
|
@ApiModelProperty(value = "涉及重点作业属性类型名称")
|
||||||
private String projectTypeName;
|
private List<String> projectTypeName;
|
||||||
//计划工期开始时间
|
//计划工期开始时间
|
||||||
@ApiModelProperty(value = "计划工期开始时间")
|
@ApiModelProperty(value = "计划工期开始时间")
|
||||||
@JsonFormat(pattern = "yyyy-MM-dd")
|
@JsonFormat(pattern = "yyyy-MM-dd")
|
||||||
|
|
@ -107,8 +107,11 @@ public class KeyProjectCO extends ClientObject {
|
||||||
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
|
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
|
||||||
private LocalDateTime completedConfirmDateTime;
|
private LocalDateTime completedConfirmDateTime;
|
||||||
|
|
||||||
//状态,0:暂存。1:未开工,2:开工申请中,3:已超期,4:进行中,5:完工申请中,6:已完工
|
//驳回原因
|
||||||
@ApiModelProperty(value = "状态,0:暂存。1:未开工,2:开工申请中,3:已超期,4:进行中,5:完工申请中,6:已完工")
|
@ApiModelProperty(value = "驳回原因")
|
||||||
|
private String rejectReason;
|
||||||
|
//状态,0:暂存。1:未开工,2:开工申请中,3:已超期,4:进行中,5:完工申请中,6:已完工,7:开工申请驳回
|
||||||
|
@ApiModelProperty(value = "状态,0:暂存。1:未开工,2:开工申请中,3:已超期,4:进行中,5:完工申请中,6:已完工,7:开工申请驳回")
|
||||||
private Integer applyStatus;
|
private Integer applyStatus;
|
||||||
//经度
|
//经度
|
||||||
@ApiModelProperty(value = "经度")
|
@ApiModelProperty(value = "经度")
|
||||||
|
|
|
||||||
|
|
@ -52,13 +52,11 @@ public class KeyProjectAddCmd implements Serializable {
|
||||||
@NotEmpty(message = "重点作业名称不能为空")
|
@NotEmpty(message = "重点作业名称不能为空")
|
||||||
private String projectName;
|
private String projectName;
|
||||||
|
|
||||||
@ApiModelProperty(value = "涉及重点作业属性类型", name = "projectType", required = true)
|
@ApiModelProperty(value = "涉及重点作业属性类型(多选)", name = "projectType")
|
||||||
@NotEmpty(message = "涉及重点作业属性类型不能为空")
|
private List<String> projectType;
|
||||||
private String projectType;
|
|
||||||
|
|
||||||
@ApiModelProperty(value = "涉及重点作业属性类型名称", name = "projectTypeName", required = true)
|
@ApiModelProperty(value = "涉及重点作业属性类型名称(多选)", name = "projectTypeName")
|
||||||
@NotEmpty(message = "涉及重点作业属性类型名称不能为空")
|
private List<String> projectTypeName;
|
||||||
private String projectTypeName;
|
|
||||||
|
|
||||||
@ApiModelProperty(value = "计划工期开始时间", name = "planWorkStartDate", required = true)
|
@ApiModelProperty(value = "计划工期开始时间", name = "planWorkStartDate", required = true)
|
||||||
@NotNull(message = "计划工期开始时间不能为空")
|
@NotNull(message = "计划工期开始时间不能为空")
|
||||||
|
|
|
||||||
|
|
@ -53,13 +53,11 @@ public class KeyProjectUpdateCmd implements Serializable {
|
||||||
@NotEmpty(message = "重点作业名称不能为空")
|
@NotEmpty(message = "重点作业名称不能为空")
|
||||||
private String projectName;
|
private String projectName;
|
||||||
|
|
||||||
@ApiModelProperty(value = "涉及重点作业属性类型", name = "projectType", required = true)
|
@ApiModelProperty(value = "涉及重点作业属性类型(多选)", name = "projectType")
|
||||||
@NotEmpty(message = "涉及重点作业属性类型不能为空")
|
private List<String> projectType;
|
||||||
private String projectType;
|
|
||||||
|
|
||||||
@ApiModelProperty(value = "涉及重点作业属性类型名称", name = "projectTypeName", required = true)
|
@ApiModelProperty(value = "涉及重点作业属性类型名称(多选)", name = "projectTypeName")
|
||||||
@NotEmpty(message = "涉及重点作业属性类型名称不能为空")
|
private List<String> projectTypeName;
|
||||||
private String projectTypeName;
|
|
||||||
|
|
||||||
@ApiModelProperty(value = "计划工期开始时间", name = "planWorkStartDate", required = true)
|
@ApiModelProperty(value = "计划工期开始时间", name = "planWorkStartDate", required = true)
|
||||||
@NotNull(message = "计划工期开始时间不能为空")
|
@NotNull(message = "计划工期开始时间不能为空")
|
||||||
|
|
|
||||||
|
|
@ -29,10 +29,13 @@ public class KeyProjectUpdateStatusCmd implements Serializable {
|
||||||
@ApiModelProperty(value = "纬度", name = "latitude")
|
@ApiModelProperty(value = "纬度", name = "latitude")
|
||||||
private String latitude;
|
private String latitude;
|
||||||
|
|
||||||
@ApiModelProperty(value = "状态,0:暂存。1:未开工,2:开工申请中,3:已超期,4:进行中,5:完工申请中,6:已完工", name = "applyStatus", required = true)
|
@ApiModelProperty(value = "状态,0:暂存。1:未开工,2:开工申请中,3:已超期,4:进行中,5:完工申请中,6:已完工,7:开工申请驳回", name = "applyStatus", required = true)
|
||||||
@NotNull(message = "状态不能为空")
|
@NotNull(message = "状态不能为空")
|
||||||
private Integer applyStatus;
|
private Integer applyStatus;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "驳回原因")
|
||||||
|
private String rejectReason;
|
||||||
|
|
||||||
@ApiModelProperty(value = "重点作业摄像头信息", name = "keyProjectCameraAddCmdList")
|
@ApiModelProperty(value = "重点作业摄像头信息", name = "keyProjectCameraAddCmdList")
|
||||||
private List<KeyProjectCameraAddCmd> keyProjectCameraAddCmdList;
|
private List<KeyProjectCameraAddCmd> keyProjectCameraAddCmdList;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -27,6 +27,8 @@ public class MessageTemplateConfig {
|
||||||
private String xqUnitLeaderConfirmFinishWork;
|
private String xqUnitLeaderConfirmFinishWork;
|
||||||
// 重点作业-相关方单位负责人-开工申请通过
|
// 重点作业-相关方单位负责人-开工申请通过
|
||||||
private String relatedPartyUnitLeaderApplyStartWorkPass;
|
private String relatedPartyUnitLeaderApplyStartWorkPass;
|
||||||
|
// 重点作业-相关方单位负责人-开工申请驳回
|
||||||
|
private String relatedPartyUnitLeaderApplyStartWorkReject;
|
||||||
// 重点作业-相关方单位负责人-完工申请通过
|
// 重点作业-相关方单位负责人-完工申请通过
|
||||||
private String relatedPartyUnitLeaderApplyFinishWorkPass;
|
private String relatedPartyUnitLeaderApplyFinishWorkPass;
|
||||||
// 重点作业-检查发起人-发起检查不通过
|
// 重点作业-检查发起人-发起检查不通过
|
||||||
|
|
|
||||||
|
|
@ -13,7 +13,8 @@ public enum KeyProjectApplyStatusEnum {
|
||||||
OVERDUE(3, "已超期"),
|
OVERDUE(3, "已超期"),
|
||||||
IN_PROGRESS(4, "进行中"),
|
IN_PROGRESS(4, "进行中"),
|
||||||
FINISH_APPLY(5, "完工申请中"),
|
FINISH_APPLY(5, "完工申请中"),
|
||||||
FINISHED(6, "已完工");
|
FINISHED(6, "已完工"),
|
||||||
|
START_APPLY_REJECT(7, "开工申请驳回");
|
||||||
|
|
||||||
|
|
||||||
;
|
;
|
||||||
|
|
|
||||||
|
|
@ -64,8 +64,10 @@ public class KeyProjectE extends BaseE {
|
||||||
private LocalDateTime completedDateTime;
|
private LocalDateTime completedDateTime;
|
||||||
//确认时间
|
//确认时间
|
||||||
private LocalDateTime completedConfirmDateTime;
|
private LocalDateTime completedConfirmDateTime;
|
||||||
//状态,0:暂存。1:未开工,2:开工申请中,3:已超期,4:进行中,5:完工申请中,6:已完工
|
//状态,0:暂存。1:未开工,2:开工申请中,3:已超期,4:进行中,5:完工申请中,6:已完工,7:开工申请驳回
|
||||||
private Integer applyStatus;
|
private Integer applyStatus;
|
||||||
|
//驳回原因
|
||||||
|
private String rejectReason;
|
||||||
//经度
|
//经度
|
||||||
private String longitude;
|
private String longitude;
|
||||||
//纬度
|
//纬度
|
||||||
|
|
|
||||||
|
|
@ -104,8 +104,11 @@ public class KeyProjectDO extends BaseDO {
|
||||||
//确认时间
|
//确认时间
|
||||||
@ApiModelProperty(value = "完工确认时间")
|
@ApiModelProperty(value = "完工确认时间")
|
||||||
private LocalDateTime completedConfirmDateTime;
|
private LocalDateTime completedConfirmDateTime;
|
||||||
//状态,0:暂存。1:未开工,2:开工申请中,3:已超期,4:进行中,5:完工申请中,6:已完工
|
//驳回原因
|
||||||
@ApiModelProperty(value = "状态,0:暂存。1:未开工,2:开工申请中,3:已超期,4:进行中,5:完工申请中,6:已完工")
|
@ApiModelProperty(value = "驳回原因")
|
||||||
|
private String rejectReason;
|
||||||
|
//状态,0:暂存。1:未开工,2:开工申请中,3:已超期,4:进行中,5:完工申请中,6:已完工,7:开工申请驳回
|
||||||
|
@ApiModelProperty(value = "状态,0:暂存。1:未开工,2:开工申请中,3:已超期,4:进行中,5:完工申请中,6:已完工,7:开工申请驳回")
|
||||||
private Integer applyStatus;
|
private Integer applyStatus;
|
||||||
//经度
|
//经度
|
||||||
@ApiModelProperty(value = "经度")
|
@ApiModelProperty(value = "经度")
|
||||||
|
|
|
||||||
|
|
@ -84,7 +84,7 @@
|
||||||
|
|
||||||
<!-- projectType 判空 -->
|
<!-- projectType 判空 -->
|
||||||
<if test="params.projectType != null and params.projectType != ''">
|
<if test="params.projectType != null and params.projectType != ''">
|
||||||
AND kp.project_type = #{params.projectType}
|
AND FIND_IN_SET(#{params.projectType}, kp.project_type)
|
||||||
</if>
|
</if>
|
||||||
</where>
|
</where>
|
||||||
GROUP BY kp.key_project_id
|
GROUP BY kp.key_project_id
|
||||||
|
|
@ -176,7 +176,7 @@
|
||||||
|
|
||||||
<!-- projectType 判空 -->
|
<!-- projectType 判空 -->
|
||||||
<if test="params.projectType != null and params.projectType != ''">
|
<if test="params.projectType != null and params.projectType != ''">
|
||||||
AND kp.project_type = #{params.projectType}
|
AND FIND_IN_SET(#{params.projectType}, kp.project_type)
|
||||||
</if>
|
</if>
|
||||||
</where>
|
</where>
|
||||||
GROUP BY kp.id
|
GROUP BY kp.id
|
||||||
|
|
@ -453,7 +453,7 @@
|
||||||
|
|
||||||
<!-- projectType 判空 -->
|
<!-- projectType 判空 -->
|
||||||
<if test="projectType != null and projectType != ''">
|
<if test="projectType != null and projectType != ''">
|
||||||
AND kp.project_type = #{projectType}
|
AND FIND_IN_SET(#{projectType}, kp.project_type)
|
||||||
</if>
|
</if>
|
||||||
</where>
|
</where>
|
||||||
GROUP BY kp.key_project_id
|
GROUP BY kp.key_project_id
|
||||||
|
|
@ -530,7 +530,7 @@
|
||||||
|
|
||||||
<!-- projectType 判空 -->
|
<!-- projectType 判空 -->
|
||||||
<if test="projectType != null and projectType != ''">
|
<if test="projectType != null and projectType != ''">
|
||||||
AND kp.project_type = #{projectType}
|
AND FIND_IN_SET(#{projectType}, kp.project_type)
|
||||||
</if>
|
</if>
|
||||||
</where>
|
</where>
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue