Merge branch 'plp'

plp
86158 2 days ago
commit e0f96747ca

@ -17,4 +17,8 @@ public class MoldTicketManagementBatchUpdateReqVO {
@Schema(description = "作业状态", example = "2") @Schema(description = "作业状态", example = "2")
@NotNull(message = "作业状态不能为空") @NotNull(message = "作业状态不能为空")
private Integer jobStatus ; // 默认值为2 private Integer jobStatus ; // 默认值为2
@Schema(description = "取消原因")
@NotNull(message = "取消原因不能为空")
private String cancelReason;
} }

@ -60,4 +60,7 @@ public class MoldTicketManagementPageReqVO extends PageParam {
*/ */
private String taskEndTime; private String taskEndTime;
@Schema(description = "取消原因")
private String cancelReason;
} }

@ -87,5 +87,8 @@ public class MoldTicketManagementRespVO extends BaseDO {
@ExcelProperty("作业人名称") @ExcelProperty("作业人名称")
private String operatorName; private String operatorName;
@Schema(description = "取消原因")
private String cancelReason;
} }

@ -39,4 +39,7 @@ public class MoldTicketManagementSaveReqVO {
@Schema(description = "作业结果") @Schema(description = "作业结果")
private Integer jobResult; private Integer jobResult;
@Schema(description = "取消原因")
private String cancelReason;
} }

@ -85,6 +85,11 @@ public class MoldTicketManagementDO extends BaseDO {
@JsonDeserialize(using = LocalDateTimeDeserializer.class) @JsonDeserialize(using = LocalDateTimeDeserializer.class)
private LocalDateTime taskEndTime; private LocalDateTime taskEndTime;
/**
*
*/
private String cancelReason;
} }

@ -33,6 +33,7 @@ public interface MoldTicketManagementMapper extends BaseMapperX<MoldTicketManage
.likeIfPresent(MoldTicketManagementDO::getConfigName, reqVO.getConfigName()) .likeIfPresent(MoldTicketManagementDO::getConfigName, reqVO.getConfigName())
.eqIfPresent(MoldTicketManagementDO::getJobStatus, reqVO.getJobStatus()) .eqIfPresent(MoldTicketManagementDO::getJobStatus, reqVO.getJobStatus())
.eqIfPresent(MoldTicketManagementDO::getJobResult, reqVO.getJobResult()) .eqIfPresent(MoldTicketManagementDO::getJobResult, reqVO.getJobResult())
.likeIfPresent(MoldTicketManagementDO::getCancelReason, reqVO.getCancelReason())
.orderByDesc(MoldTicketManagementDO::getCreateTime); .orderByDesc(MoldTicketManagementDO::getCreateTime);
@ -58,6 +59,7 @@ public interface MoldTicketManagementMapper extends BaseMapperX<MoldTicketManage
* @return * @return
*/ */
int batchUpdateJobStatus(@Param("idList") List<Long> idList, int batchUpdateJobStatus(@Param("idList") List<Long> idList,
@Param("jobStatus") Integer jobStatus); @Param("jobStatus") Integer jobStatus,
@Param("cancelReason") String cancelReason);
} }

@ -13,6 +13,7 @@
<update id="batchUpdateJobStatus"> <update id="batchUpdateJobStatus">
UPDATE mes_mold_ticket_management UPDATE mes_mold_ticket_management
SET job_status = #{jobStatus}, SET job_status = #{jobStatus},
cancel_reason = #{cancelReason},
update_time = NOW() update_time = NOW()
WHERE id IN WHERE id IN
<foreach collection="idList" item="id" open="(" separator="," close=")"> <foreach collection="idList" item="id" open="(" separator="," close=")">

@ -17,4 +17,8 @@ public class TicketManagementBatchUpdateReqVO {
@Schema(description = "作业状态", example = "2") @Schema(description = "作业状态", example = "2")
@NotNull(message = "作业状态不能为空") @NotNull(message = "作业状态不能为空")
private Integer jobStatus ; private Integer jobStatus ;
@Schema(description = "取消原因")
@NotNull(message = "取消原因不能为空")
private String cancelReason;
} }

@ -10,6 +10,8 @@ import java.util.*;
import io.swagger.v3.oas.annotations.media.Schema; import io.swagger.v3.oas.annotations.media.Schema;
import cn.iocoder.yudao.framework.common.pojo.PageParam; import cn.iocoder.yudao.framework.common.pojo.PageParam;
import org.springframework.format.annotation.DateTimeFormat; import org.springframework.format.annotation.DateTimeFormat;
import javax.validation.constraints.NotNull;
import java.time.LocalDateTime; import java.time.LocalDateTime;
import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND;
@ -57,4 +59,7 @@ public class TicketManagementPageReqVO extends PageParam {
@Schema(description = "作业结束时间") @Schema(description = "作业结束时间")
private String taskEndTime; private String taskEndTime;
@Schema(description = "取消原因")
private String cancelReason;
} }

@ -110,6 +110,9 @@ public class TicketManagementRespVO extends BaseDO {
// @ExcelProperty("创建人名字") // @ExcelProperty("创建人名字")
private String creatorName; private String creatorName;
@Schema(description = "取消原因")
private String cancelReason;
} }

@ -39,4 +39,7 @@ public class TicketManagementSaveReqVO {
@Schema(description = "作业结果") @Schema(description = "作业结果")
private Integer jobResult; private Integer jobResult;
@Schema(description = "取消原因")
private String cancelReason;
} }

@ -1,6 +1,7 @@
package cn.iocoder.yudao.module.mes.controller.admin.zjtask; package cn.iocoder.yudao.module.mes.controller.admin.zjtask;
import cn.iocoder.yudao.module.common.controller.admin.moldrepair.vo.MoldRepairRespVO; import cn.iocoder.yudao.module.common.controller.admin.moldrepair.vo.MoldRepairRespVO;
import cn.iocoder.yudao.module.mes.controller.admin.ticketmanagement.vo.TicketManagementBatchUpdateReqVO;
import cn.iocoder.yudao.module.system.api.user.dto.AdminUserRespDTO; import cn.iocoder.yudao.module.system.api.user.dto.AdminUserRespDTO;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource; import javax.annotation.Resource;
@ -111,4 +112,14 @@ public class ZjTaskController {
ExcelUtils.write(response, "质量管理-检验任务.xls", "数据", ZjTaskRespVO.class, zjTaskRespVOList); ExcelUtils.write(response, "质量管理-检验任务.xls", "数据", ZjTaskRespVO.class, zjTaskRespVOList);
} }
@PutMapping("/batchUpdateStatus")
@Operation(summary = "批量取消工单")
@PreAuthorize("@ss.hasPermission('mes:zj-task:update')")
public CommonResult<Boolean> batchUpdateZjTaskStatus(@Valid @RequestBody ZjTaskBatchUpdateReqVO reqVO) {
zjTaskService.batchUpdateJobStatus(reqVO);
return success(true);
}
} }

@ -0,0 +1,24 @@
package cn.iocoder.yudao.module.mes.controller.admin.zjtask.vo;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
// 1. 新增请求VO
@Data
public class ZjTaskBatchUpdateReqVO {
@Schema(description = "检验任务ID列表用逗号分隔", example = "1,2,3")
@NotBlank(message = "检验任务ID不能为空")
private String ids;
@Schema(description = "作业状态", example = "2")
@NotNull(message = "作业状态不能为空")
private Integer Status ;
@Schema(description = "取消原因")
@NotNull(message = "取消原因不能为空")
private String cancelReason;
}

@ -68,4 +68,7 @@ public class ZjTaskPageReqVO extends PageParam {
@Schema(description = "ids集合导出用") @Schema(description = "ids集合导出用")
private String ids; private String ids;
@Schema(description = "取消原因")
private String cancelReason;
} }

@ -95,4 +95,8 @@ public class ZjTaskRespVO {
@ColumnWidth(20) @ColumnWidth(20)
private LocalDateTime executeTime; private LocalDateTime executeTime;
@Schema(description = "取消原因")
@ExcelProperty("取消原因")
private String cancelReason;
} }

@ -65,4 +65,7 @@ public class ZjTaskSaveReqVO {
@Schema(description = "执行时间") @Schema(description = "执行时间")
private LocalDateTime executeTime; private LocalDateTime executeTime;
@Schema(description = "取消原因")
private String cancelReason;
} }

@ -85,6 +85,10 @@ public class TicketManagementDO extends BaseDO {
@JsonSerialize(using = LocalDateTimeSerializer.class) @JsonSerialize(using = LocalDateTimeSerializer.class)
@JsonDeserialize(using = LocalDateTimeDeserializer.class) @JsonDeserialize(using = LocalDateTimeDeserializer.class)
private LocalDateTime taskEndTime; private LocalDateTime taskEndTime;
/**
*
*/
private String cancelReason;

@ -92,5 +92,9 @@ public class ZjTaskDO extends BaseDO {
* *
*/ */
private LocalDateTime executeTime; private LocalDateTime executeTime;
/**
*
*/
private String cancelReason;
} }

@ -33,6 +33,7 @@ public interface TicketManagementMapper extends BaseMapperX<TicketManagementDO>
.likeIfPresent(TicketManagementDO::getConfigName, reqVO.getConfigName()) .likeIfPresent(TicketManagementDO::getConfigName, reqVO.getConfigName())
.eqIfPresent(TicketManagementDO::getJobStatus, reqVO.getJobStatus()) .eqIfPresent(TicketManagementDO::getJobStatus, reqVO.getJobStatus())
.eqIfPresent(TicketManagementDO::getJobResult, reqVO.getJobResult()) .eqIfPresent(TicketManagementDO::getJobResult, reqVO.getJobResult())
.likeIfPresent(TicketManagementDO::getCancelReason, reqVO.getCancelReason())
.orderByDesc(TicketManagementDO::getId); .orderByDesc(TicketManagementDO::getId);
@ -58,6 +59,7 @@ public interface TicketManagementMapper extends BaseMapperX<TicketManagementDO>
* @return * @return
*/ */
int batchUpdateJobStatus(@Param("idList") List<Long> idList, int batchUpdateJobStatus(@Param("idList") List<Long> idList,
@Param("jobStatus") Integer jobStatus); @Param("jobStatus") Integer jobStatus,
@Param("cancelReason") String cancelReason);
} }

@ -11,6 +11,7 @@ import cn.iocoder.yudao.module.mes.dal.dataobject.zjtask.ZjTaskDO;
import com.alibaba.excel.util.StringUtils; import com.alibaba.excel.util.StringUtils;
import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Mapper;
import cn.iocoder.yudao.module.mes.controller.admin.zjtask.vo.*; import cn.iocoder.yudao.module.mes.controller.admin.zjtask.vo.*;
import org.apache.ibatis.annotations.Param;
/** /**
* - Mapper * - Mapper
@ -51,4 +52,15 @@ public interface ZjTaskMapper extends BaseMapperX<ZjTaskDO> {
return selectPage(reqVO,zjTaskDOLambdaQueryWrapperX ); return selectPage(reqVO,zjTaskDOLambdaQueryWrapperX );
} }
/**
*
*
* @param idList ID
* @param jobStatus
* @return
*/
int batchUpdateJobStatus(@Param("idList") List<Long> idList,
@Param("status") Integer status,
@Param("cancelReason") String cancelReason);
} }

@ -101,7 +101,7 @@ public class MoldTicketManagementServiceImpl implements MoldTicketManagementServ
} }
// 2. 批量更新 // 2. 批量更新
moldTicketManagementMapper.batchUpdateJobStatus(idList, reqVO.getJobStatus()); moldTicketManagementMapper.batchUpdateJobStatus(idList, reqVO.getJobStatus(),reqVO.getCancelReason());
} }

@ -103,7 +103,7 @@ public class TicketManagementServiceImpl implements TicketManagementService {
} }
// 2. 批量更新 // 2. 批量更新
ticketManagementMapper.batchUpdateJobStatus(idList, reqVO.getJobStatus()); ticketManagementMapper.batchUpdateJobStatus(idList, reqVO.getJobStatus(),reqVO.getCancelReason());
} }
@Override @Override

@ -2,6 +2,8 @@ package cn.iocoder.yudao.module.mes.service.zjtask;
import java.util.*; import java.util.*;
import javax.validation.*; import javax.validation.*;
import cn.iocoder.yudao.module.mes.controller.admin.ticketmanagement.vo.TicketManagementBatchUpdateReqVO;
import cn.iocoder.yudao.module.mes.controller.admin.zjtask.vo.*; import cn.iocoder.yudao.module.mes.controller.admin.zjtask.vo.*;
import cn.iocoder.yudao.module.mes.dal.dataobject.zjtask.ZjTaskDO; import cn.iocoder.yudao.module.mes.dal.dataobject.zjtask.ZjTaskDO;
import cn.iocoder.yudao.framework.common.pojo.PageResult; import cn.iocoder.yudao.framework.common.pojo.PageResult;
@ -59,4 +61,6 @@ public interface ZjTaskService {
*/ */
void updateZjTaskResultOnly(Long id, String result); void updateZjTaskResultOnly(Long id, String result);
void batchUpdateJobStatus(@Valid ZjTaskBatchUpdateReqVO reqVO);
} }

@ -5,8 +5,10 @@ import cn.iocoder.yudao.framework.common.util.collection.MapUtils;
import cn.iocoder.yudao.framework.security.core.LoginUser; import cn.iocoder.yudao.framework.security.core.LoginUser;
import cn.iocoder.yudao.framework.security.core.util.SecurityFrameworkUtils; import cn.iocoder.yudao.framework.security.core.util.SecurityFrameworkUtils;
import cn.iocoder.yudao.module.mes.controller.admin.feedingrecord.vo.FeedingRecordRespVO; import cn.iocoder.yudao.module.mes.controller.admin.feedingrecord.vo.FeedingRecordRespVO;
import cn.iocoder.yudao.module.mes.controller.admin.ticketmanagement.vo.TicketManagementBatchUpdateReqVO;
import cn.iocoder.yudao.module.mes.dal.dataobject.organization.OrganizationDO; import cn.iocoder.yudao.module.mes.dal.dataobject.organization.OrganizationDO;
import cn.iocoder.yudao.module.mes.dal.dataobject.plan.PlanDO; import cn.iocoder.yudao.module.mes.dal.dataobject.plan.PlanDO;
import cn.iocoder.yudao.module.mes.dal.dataobject.ticketmanagement.TicketManagementDO;
import cn.iocoder.yudao.module.mes.dal.dataobject.zjitem.ZjItemDO; import cn.iocoder.yudao.module.mes.dal.dataobject.zjitem.ZjItemDO;
import cn.iocoder.yudao.module.mes.dal.dataobject.zjschema.ZjSchemaDO; import cn.iocoder.yudao.module.mes.dal.dataobject.zjschema.ZjSchemaDO;
import cn.iocoder.yudao.module.mes.dal.dataobject.zjtaskresults.ZjTaskResultsDO; import cn.iocoder.yudao.module.mes.dal.dataobject.zjtaskresults.ZjTaskResultsDO;
@ -23,6 +25,8 @@ import org.springframework.transaction.annotation.Transactional;
import java.time.LocalDateTime; import java.time.LocalDateTime;
import java.util.*; import java.util.*;
import java.util.stream.Collectors;
import cn.iocoder.yudao.module.mes.controller.admin.zjtask.vo.*; import cn.iocoder.yudao.module.mes.controller.admin.zjtask.vo.*;
import cn.iocoder.yudao.module.mes.dal.dataobject.zjtask.ZjTaskDO; import cn.iocoder.yudao.module.mes.dal.dataobject.zjtask.ZjTaskDO;
import cn.iocoder.yudao.framework.common.pojo.PageResult; import cn.iocoder.yudao.framework.common.pojo.PageResult;
@ -175,4 +179,33 @@ public class ZjTaskServiceImpl implements ZjTaskService {
zjTaskMapper.updateById(updateDO); zjTaskMapper.updateById(updateDO);
} }
@Override
@Transactional(rollbackFor = Exception.class)
public void batchUpdateJobStatus(ZjTaskBatchUpdateReqVO reqVO) {
// 1. 解析ID列表
List<Long> idList = parseIds(reqVO.getIds());
if (idList.isEmpty()) {
throw exception(ZJ_TASK_NOT_EXISTS);
}
// 2. 批量更新
zjTaskMapper.batchUpdateJobStatus(idList, reqVO.getStatus(),reqVO.getCancelReason());
}
/**
* ID
*/
private List<Long> parseIds(String ids) {
if (com.alibaba.excel.util.StringUtils.isBlank(ids)) {
return Collections.emptyList();
}
return Arrays.stream(ids.split(","))
.map(String::trim)
.filter(com.alibaba.excel.util.StringUtils::isNotBlank)
.map(Long::valueOf)
.distinct()
.collect(Collectors.toList());
}
} }

@ -13,6 +13,7 @@
<update id="batchUpdateJobStatus"> <update id="batchUpdateJobStatus">
UPDATE mes_ticket_management UPDATE mes_ticket_management
SET job_status = #{jobStatus}, SET job_status = #{jobStatus},
cancel_reason = #{cancelReason},
update_time = NOW() update_time = NOW()
WHERE id IN WHERE id IN
<foreach collection="idList" item="id" open="(" separator="," close=")"> <foreach collection="idList" item="id" open="(" separator="," close=")">

@ -8,5 +8,15 @@
代码生成器暂时只生成 Mapper XML 文件本身,更多推荐 MybatisX 快速开发插件来生成查询。 代码生成器暂时只生成 Mapper XML 文件本身,更多推荐 MybatisX 快速开发插件来生成查询。
文档可见https://www.iocoder.cn/MyBatis/x-plugins/ 文档可见https://www.iocoder.cn/MyBatis/x-plugins/
--> -->
<!-- 批量更新作业状态 -->
<update id="batchUpdateJobStatus">
UPDATE mes_zj_task
SET status = #{status},
cancel_reason = #{cancelReason},
update_time = NOW()
WHERE id IN
<foreach collection="idList" item="id" open="(" separator="," close=")">
#{id}
</foreach>
</update>
</mapper> </mapper>
Loading…
Cancel
Save