diff --git a/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/order/pojo/entity/YieldOrder.java b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/order/pojo/entity/YieldOrder.java index 9b9dbaefe..aaa753981 100644 --- a/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/order/pojo/entity/YieldOrder.java +++ b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/order/pojo/entity/YieldOrder.java @@ -23,8 +23,6 @@ import java.util.Date; @TableName(value = "MES_YIELD_ORDER") @Data public class YieldOrder extends BaseEntity { - @TableField(exist = false) - private static final long serialVersionUID = 1L; /** * 待接收 diff --git a/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/quality/constant/DispatchConfigApprovalConst.java b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/quality/constant/DispatchConfigApprovalConst.java new file mode 100644 index 000000000..6813edfba --- /dev/null +++ b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/quality/constant/DispatchConfigApprovalConst.java @@ -0,0 +1,45 @@ +package org.springblade.desk.quality.constant; + +/** + * 分派配置审批常量 + * + * @author AI + * @since 2026-05-19 + */ +public interface DispatchConfigApprovalConst { + + /** + * 状态-草稿 + */ + Integer STATUS_DRAFT = 0; + + /** + * 状态-审批中 + */ + Integer STATUS_APPROVING = 1; + + /** + * 状态-审批通过 + */ + Integer STATUS_APPROVED = 2; + + /** + * 状态-审批驳回 + */ + Integer STATUS_REJECTED = 3; + + /** + * 状态-已撤销 + */ + Integer STATUS_CANCELLED = 4; + + /** + * 审批结果-通过 + */ + Integer AUDIT_RESULT_PASS = 1; + + /** + * 审批结果-驳回 + */ + Integer AUDIT_RESULT_REJECT = 2; +} diff --git a/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/quality/pojo/entity/DispatchConfigApproval.java b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/quality/pojo/entity/DispatchConfigApproval.java new file mode 100644 index 000000000..1ef243b70 --- /dev/null +++ b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/quality/pojo/entity/DispatchConfigApproval.java @@ -0,0 +1,69 @@ +package org.springblade.desk.quality.pojo.entity; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +import lombok.EqualsAndHashCode; +import org.springblade.core.mp.base.BaseEntity; + +import java.util.Date; + +/** + * 分派配置审批实体类 + * + * @author AI + * @since 2026-05-19 + */ +@Data +@EqualsAndHashCode(callSuper = true) +@TableName("QA_DISPATCH_CONFIG_APPROVAL") +@Schema(description = "分派配置审批实体") +public class DispatchConfigApproval extends BaseEntity { + + private static final long serialVersionUID = 1L; + + /** + * 主键ID + */ + @TableId(value = "ID", type = IdType.ASSIGN_ID) + @Schema(description = "主键ID") + private Long id; + + /** + * 申请单号 + */ + @Schema(description = "申请单号") + private String applicationNo; + + /** + * 申请人ID + */ + @Schema(description = "申请人ID") + private Long applicantId; + + /** + * 申请人姓名 + */ + @Schema(description = "申请人姓名") + private String applicantName; + + /** + * 申请时间 + */ + @Schema(description = "申请时间") + private Date applicationTime; + + /** + * 申请描述/备注 + */ + @Schema(description = "申请描述/备注") + private String remark; + + /** + * 状态: 0-草稿, 1-审批中, 2-审批通过, 3-审批驳回, 4-已撤销 + */ + @Schema(description = "状态: 0-草稿, 1-审批中, 2-审批通过, 3-审批驳回, 4-已撤销") + private Integer status; +} diff --git a/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/quality/pojo/request/AuditRequest.java b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/quality/pojo/request/AuditRequest.java new file mode 100644 index 000000000..dbd8aa148 --- /dev/null +++ b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/quality/pojo/request/AuditRequest.java @@ -0,0 +1,31 @@ +package org.springblade.desk.quality.pojo.request; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; + +import jakarta.validation.constraints.NotNull; +import java.io.Serializable; + +/** + * 审核请求DTO + * + * @author qyl + * @since 2026-05-13 + */ +@Data +@Schema(description = "审核请求DTO") +public class AuditRequest implements Serializable { + + private static final long serialVersionUID = 1L; + + @NotNull(message = "模板ID不能为空") + @Schema(description = "模板ID") + private Long id; + + @NotNull(message = "审核结果不能为空") + @Schema(description = "审核结果: 1-通过, 2-不通过") + private Integer result; + + @Schema(description = "审核意见(不通过时必填)") + private String remark; +} diff --git a/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/quality/pojo/request/DispatchConfigApprovalRequest.java b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/quality/pojo/request/DispatchConfigApprovalRequest.java new file mode 100644 index 000000000..4a66b12f1 --- /dev/null +++ b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/quality/pojo/request/DispatchConfigApprovalRequest.java @@ -0,0 +1,47 @@ +package org.springblade.desk.quality.pojo.request; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; + +import jakarta.validation.constraints.NotBlank; +import jakarta.validation.constraints.NotNull; +import java.io.Serializable; + +/** + * 分派配置审批请求DTO + * + * @author AI + * @since 2026-05-19 + */ +@Data +@Schema(description = "分派配置审批请求DTO") +public class DispatchConfigApprovalRequest implements Serializable { + + private static final long serialVersionUID = 1L; + + /** + * 主键ID(修改时必填) + */ + @Schema(description = "主键ID(修改时必填)") + private Long id; + + /** + * 申请描述/备注 + */ + @NotBlank(message = "申请描述不能为空") + @Schema(description = "申请描述/备注", required = true) + private String remark; + + /** + * 审批结果: 1-通过, 2-驳回 + */ + @NotNull(message = "审批结果不能为空") + @Schema(description = "审批结果: 1-通过, 2-驳回", required = true) + private Integer auditResult; + + /** + * 审批意见 + */ + @Schema(description = "审批意见") + private String auditRemark; +} diff --git a/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/quality/pojo/vo/DispatchConfigApprovalVO.java b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/quality/pojo/vo/DispatchConfigApprovalVO.java new file mode 100644 index 000000000..a4ad3bbdd --- /dev/null +++ b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/quality/pojo/vo/DispatchConfigApprovalVO.java @@ -0,0 +1,115 @@ +package org.springblade.desk.quality.pojo.vo; + +import com.fasterxml.jackson.annotation.JsonFormat; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +import lombok.EqualsAndHashCode; +import org.springblade.core.mp.base.BaseEntity; +import org.springblade.desk.quality.pojo.entity.DispatchConfigApproval; + +import java.util.Date; + +/** + * 分派配置审批VO类 + * + * @author AI + * @since 2026-05-19 + */ +@Data +@EqualsAndHashCode(callSuper = true) +@Schema(description = "分派配置审批VO") +public class DispatchConfigApprovalVO extends BaseEntity { + + private static final long serialVersionUID = 1L; + + /** + * 主键ID + */ + @Schema(description = "主键ID") + private Long id; + + /** + * 申请单号 + */ + @Schema(description = "申请单号") + private String applicationNo; + + /** + * 申请人ID + */ + @Schema(description = "申请人ID") + private Long applicantId; + + /** + * 申请人姓名 + */ + @Schema(description = "申请人姓名") + private String applicantName; + + /** + * 申请时间 + */ + @Schema(description = "申请时间") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + private Date applicationTime; + + /** + * 申请描述/备注 + */ + @Schema(description = "申请描述/备注") + private String remark; + + /** + * 状态: 0-草稿, 1-审批中, 2-审批通过, 3-审批驳回, 4-已撤销 + */ + @Schema(description = "状态: 0-草稿, 1-审批中, 2-审批通过, 3-审批驳回, 4-已撤销") + private Integer status; + + /** + * 状态名称 + */ + @Schema(description = "状态名称") + private String statusName; + + /** + * 从实体转换为VO + */ + public static DispatchConfigApprovalVO fromEntity(DispatchConfigApproval entity) { + if (entity == null) { + return null; + } + DispatchConfigApprovalVO vo = new DispatchConfigApprovalVO(); + vo.setId(entity.getId()); + vo.setApplicationNo(entity.getApplicationNo()); + vo.setApplicantId(entity.getApplicantId()); + vo.setApplicantName(entity.getApplicantName()); + vo.setApplicationTime(entity.getApplicationTime()); + vo.setRemark(entity.getRemark()); + vo.setStatus(entity.getStatus()); + vo.setStatusName(getStatusName(entity.getStatus())); + return vo; + } + + /** + * 获取状态名称 + */ + private static String getStatusName(Integer status) { + if (status == null) { + return "未知"; + } + switch (status) { + case 0: + return "草稿"; + case 1: + return "审批中"; + case 2: + return "审批通过"; + case 3: + return "审批驳回"; + case 4: + return "已撤销"; + default: + return "未知"; + } + } +} diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/order/service/impl/YieldOrderServiceImpl.java b/blade-service/blade-desk/src/main/java/org/springblade/desk/order/service/impl/YieldOrderServiceImpl.java index e9b4b1c01..0c3dd6dcd 100644 --- a/blade-service/blade-desk/src/main/java/org/springblade/desk/order/service/impl/YieldOrderServiceImpl.java +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/order/service/impl/YieldOrderServiceImpl.java @@ -1013,23 +1013,23 @@ public class YieldOrderServiceImpl extends BaseServiceImpl listWo = workOrderMapper.listByYoId(yo.getId()); boolean completed = listWo.stream().map(wo -> wo.getRunStatus() >= WorkOrder.RUN_STATUS_COMPLETED).findAny().isPresent(); if (completed) { yo.setStatus(curStatus); } - } else if (YieldOrder.CUR_STATUS_VOIDED.equals(curStatus)) { + } else if (YieldOrderEnum.STATUS_CLOSED.getCode() == curStatus) { //整单报废 List listWo = workOrderMapper.selectList(Wrappers.lambdaQuery(WorkOrder.class).eq(WorkOrder::getYoId, yo.getId())); boolean completed = listWo.stream().map(wo -> WorkOrder.RUN_STATUS_VOIDED.equals(wo.getRunStatus())).findAny().isPresent(); diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/order/service/impl/YieldPlanServiceImpl.java b/blade-service/blade-desk/src/main/java/org/springblade/desk/order/service/impl/YieldPlanServiceImpl.java index 8e984590f..25f8e90b1 100644 --- a/blade-service/blade-desk/src/main/java/org/springblade/desk/order/service/impl/YieldPlanServiceImpl.java +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/order/service/impl/YieldPlanServiceImpl.java @@ -20,6 +20,7 @@ import org.springblade.desk.order.mapper.YieldPlanMapper; import org.springblade.desk.order.pojo.dto.YieldPlanDto; import org.springblade.desk.order.pojo.entity.YieldOrder; import org.springblade.desk.order.pojo.entity.YieldPlan; +import org.springblade.desk.order.pojo.enums.YieldOrderEnum; import org.springblade.desk.order.pojo.enums.YieldPlanEnum; import org.springblade.desk.order.service.IYieldOrderService; import org.springblade.desk.order.service.IYieldPlanService; @@ -216,7 +217,7 @@ public class YieldPlanServiceImpl extends BaseServiceImpl list = yieldOrderService.list(Wrappers.lambdaQuery(YieldOrder.class).eq(YieldOrder::getFatherYoId, yieldOrder.getId())); if (CollectionUtils.isNotEmpty(list)) { // 将list转换为id集合 @@ -907,7 +907,7 @@ public class WorkOrderServiceImpl extends BaseServiceImpl workPlanItems = workPlanItemService.list(Wrappers.lambdaQuery(WorkPlanItem.class).eq(WorkPlanItem::getWpId, wpId)); + List workPlanItems = workPlanItemService.list(Wrappers.lambdaQuery(WorkPlanItem.class).eq(WorkPlanItem::getWpId, wpId).orderByAsc(WorkPlanItem::getItemCode)); if (CollectionUtils.isNotEmpty(workPlanItems)) { List itemDetails = workPlanItemDetailService.list(Wrappers.lambdaQuery(WorkPlanItemDetail.class).in(WorkPlanItemDetail::getWorkPlanItemId, workPlanItems.stream().map(WorkPlanItem::getId).toList())); List itemVos = new ArrayList<>(); diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/quality/controller/DispatchConfigApprovalController.java b/blade-service/blade-desk/src/main/java/org/springblade/desk/quality/controller/DispatchConfigApprovalController.java new file mode 100644 index 000000000..71c45c1b2 --- /dev/null +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/quality/controller/DispatchConfigApprovalController.java @@ -0,0 +1,202 @@ +package org.springblade.desk.quality.controller; + +import cn.hutool.core.util.StrUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport; +import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.Parameter; +import io.swagger.v3.oas.annotations.tags.Tag; +import jakarta.annotation.Resource; +import jakarta.servlet.http.HttpServletResponse; +import jakarta.validation.Valid; +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.extern.slf4j.Slf4j; +import org.springblade.core.boot.ctrl.BladeController; +import org.springblade.core.excel.util.ExcelUtil; +import org.springblade.core.log.annotation.ApiLog; +import org.springblade.core.mp.support.Condition; +import org.springblade.core.mp.support.Query; +import org.springblade.core.tool.api.R; +import org.springblade.core.tool.utils.DateUtil; +import org.springblade.desk.quality.constant.QAModuleConst; +import org.springblade.desk.quality.excel.DispatchConfigApprovalExcel; +import org.springblade.desk.quality.pojo.entity.DispatchConfigApproval; +import org.springblade.desk.quality.pojo.request.DispatchConfigApprovalRequest; +import org.springblade.desk.quality.pojo.vo.DispatchConfigApprovalVO; +import org.springblade.desk.quality.service.IDispatchConfigApprovalService; +import org.springblade.desk.quality.wrapper.DispatchConfigApprovalWrapper; +import org.springframework.http.ResponseEntity; +import org.springframework.web.bind.annotation.*; + +import java.util.List; +import java.util.Map; +import java.util.stream.Collectors; + +/** + * [分派配置审批] 控制器 + * + * @author AI + * @since 2026-05-19 + */ +@RestController +@RequestMapping(QAModuleConst.CONTROLLER_PREFIX + "/DispatchConfigApproval") +@Data +@AllArgsConstructor +@EqualsAndHashCode(callSuper = true) +@Slf4j +@Tag(name = "[分派配置审批]", description = "[分派配置审批]接口") +public class DispatchConfigApprovalController extends BladeController { + + @Resource + private IDispatchConfigApprovalService service; + + /** + * [分派配置审批] 详情 + */ + @GetMapping("/detail") + @ApiOperationSupport(order = 10) + @Operation(summary = "详情", description = "传入DispatchConfigApproval Obj") + public R detail(DispatchConfigApproval dispatchConfigApproval) { + QueryWrapper qw = Condition.getQueryWrapper(dispatchConfigApproval); + DispatchConfigApproval detail = service.getOne(qw); + DispatchConfigApprovalVO detailVO = DispatchConfigApprovalWrapper.build().entityVO(detail); + return R.data(detailVO); + } + + /** + * [分派配置审批] list分页 + */ + @GetMapping("/list") + @ApiOperationSupport(order = 20) + @Operation(summary = "list分页", description = "传入DispatchConfigApproval Obj") + public R> list(@Parameter(hidden = true) @RequestParam Map dispatchConfigApproval, + Query query) { + QueryWrapper qw = Condition.getQueryWrapper(dispatchConfigApproval, DispatchConfigApproval.class); + IPage pages = service.page(Condition.getPage(query), qw); + IPage pagesVO = DispatchConfigApprovalWrapper.build().pageVO(pages); + return R.data(pagesVO); + } + + /** + * [分派配置审批] page分页 + */ + @GetMapping("/page") + @ApiOperationSupport(order = 21) + @Operation(summary = "page分页", description = "传入DispatchConfigApproval Obj") + public R> page(DispatchConfigApprovalVO dispatchConfigApproval, Query query) { + IPage pagesVO = service.selectDispatchConfigApprovalPage( + Condition.getPage(query), dispatchConfigApproval + ); + return R.data(pagesVO); + } + + /** + * [分派配置审批] list下拉选择 + */ + @GetMapping("/listForSelect") + @ApiOperationSupport(order = 22) + @Operation(summary = "list下拉选择", description = "") + public R> listForSelect() { + List list = service.list(); + List listVO = DispatchConfigApprovalWrapper.build().listVO(list); + return R.data(listVO); + } + + /** + * [分派配置审批] 新增一条 + */ + @PostMapping("/save") + @ApiOperationSupport(order = 30) + @ApiLog("新增分派配置审批") + @Operation(summary = "新增一条", description = "传入DispatchConfigApproval Obj") + public R save(@Valid @RequestBody DispatchConfigApproval addOne) { + return service.saveDispatchConfigApproval(addOne); + } + + /** + * [分派配置审批] 新增批量 + */ + @PostMapping("/saveBat") + @ApiOperationSupport(order = 31) + @ApiLog("新增分派配置审批") + @Operation(summary = "新增批量", description = "传入DispatchConfigApproval List") + public R saveBat(@Valid @RequestBody List addList) { + addList.forEach(one -> { + one.setId(null); + }); + return R.status(service.saveBatch(addList)); + } + + /** + * [分派配置审批] 修改一条 + */ + @PostMapping("/update") + @ApiOperationSupport(order = 40) + @ApiLog("修改分派配置审批") + @Operation(summary = "修改一条", description = "传入DispatchConfigApproval Obj") + public R update(@Valid @RequestBody DispatchConfigApproval updateOne) { + return service.updateDispatchConfigApproval(updateOne); + } + + /** + * [分派配置审批] 删除 + */ + @PostMapping("/remove") + @ApiOperationSupport(order = 50) + @ApiLog("删除分派配置审批") + @Operation(summary = "删除", description = "传入主键集合") + public R remove(@RequestParam List ids) { + return service.removeDispatchConfigApproval(ids); + } + + /** + * [分派配置审批] 导出 + */ + @GetMapping("/export") + @ApiOperationSupport(order = 60) + @ApiLog("导出分派配置审批") + @Operation(summary = "导出", description = "传入DispatchConfigApproval Obj") + public void export(DispatchConfigApproval dispatchConfigApproval, HttpServletResponse response) { + List list = service.exportDispatchConfigApproval( + DispatchConfigApprovalWrapper.build().entityVO(dispatchConfigApproval) + ); + ExcelUtil.export(response, "分派配置审批数据" + DateUtil.time(), "分派配置审批数据表", list, DispatchConfigApprovalExcel.class); + } + + /** + * [分派配置审批] 提交审批 + */ + @PostMapping("/submitApproval") + @ApiOperationSupport(order = 70) + @ApiLog("提交分派配置审批") + @Operation(summary = "提交审批", description = "传入主键ID") + public R submitApproval(@Parameter(description = "主键ID", required = true) @RequestParam Long id) { + return service.submitApproval(id); + } + + /** + * [分派配置审批] 审批(待实现) + */ + @PostMapping("/audit") + @ApiOperationSupport(order = 80) + @ApiLog("审批分派配置") + @Operation(summary = "审批", description = "审批功能待实现") + public R audit(@Parameter(description = "主键ID", required = true) @RequestParam Long id, + @Parameter(description = "审批结果: 1-通过, 2-驳回", required = true) @RequestParam Integer result, + @Parameter(description = "审批意见") @RequestParam(required = false) String remark) { + return service.audit(id, result, remark); + } + + /** + * [分派配置审批] 查询审批历史 + */ + @GetMapping("/auditHistory/{id}") + @ApiOperationSupport(order = 90) + @Operation(summary = "查询审批历史", description = "传入主键ID") + public R getAuditHistory(@Parameter(description = "主键ID", required = true) @PathVariable Long id) { + return R.data(service.getAuditHistory(id)); + } +} diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/quality/excel/DispatchConfigApprovalExcel.java b/blade-service/blade-desk/src/main/java/org/springblade/desk/quality/excel/DispatchConfigApprovalExcel.java new file mode 100644 index 000000000..f99d06b8d --- /dev/null +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/quality/excel/DispatchConfigApprovalExcel.java @@ -0,0 +1,40 @@ +package org.springblade.desk.quality.excel; + +import com.alibaba.excel.annotation.ExcelProperty; +import com.alibaba.excel.annotation.write.style.ColumnWidth; +import lombok.Data; + +import java.io.Serializable; +import java.util.Date; + +/** + * 分派配置审批Excel类 + * + * @author AI + * @since 2026-05-19 + */ +@Data +public class DispatchConfigApprovalExcel implements Serializable { + + private static final long serialVersionUID = 1L; + + @ExcelProperty("申请单号") + @ColumnWidth(20) + private String applicationNo; + + @ExcelProperty("申请人") + @ColumnWidth(15) + private String applicantName; + + @ExcelProperty("申请时间") + @ColumnWidth(20) + private Date applicationTime; + + @ExcelProperty("申请描述") + @ColumnWidth(40) + private String remark; + + @ExcelProperty("状态") + @ColumnWidth(15) + private String statusName; +} diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/quality/mapper/DispatchConfigApprovalMapper.java b/blade-service/blade-desk/src/main/java/org/springblade/desk/quality/mapper/DispatchConfigApprovalMapper.java new file mode 100644 index 000000000..c23ae84de --- /dev/null +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/quality/mapper/DispatchConfigApprovalMapper.java @@ -0,0 +1,14 @@ +package org.springblade.desk.quality.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.springblade.desk.quality.pojo.entity.DispatchConfigApproval; + +/** + * 分派配置审批Mapper接口 + * + * @author AI + * @since 2026-05-19 + */ +public interface DispatchConfigApprovalMapper extends BaseMapper { + +} diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/quality/service/IDispatchConfigApprovalService.java b/blade-service/blade-desk/src/main/java/org/springblade/desk/quality/service/IDispatchConfigApprovalService.java new file mode 100644 index 000000000..fe810ac43 --- /dev/null +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/quality/service/IDispatchConfigApprovalService.java @@ -0,0 +1,86 @@ +package org.springblade.desk.quality.service; + +import com.baomidou.mybatisplus.core.metadata.IPage; +import org.springblade.core.tool.api.R; +import org.springblade.desk.basic.service.en.EnBaseService; +import org.springblade.desk.quality.excel.DispatchConfigApprovalExcel; +import org.springblade.desk.quality.pojo.entity.DispatchConfigApproval; +import org.springblade.desk.quality.pojo.vo.DispatchConfigApprovalVO; + +import java.util.List; + +/** + * 分派配置审批服务接口 + * + * @author AI + * @since 2026-05-19 + */ +public interface IDispatchConfigApprovalService extends EnBaseService { + + /** + * 自定义分页查询 + * + * @param page 分页参数 + * @param entity 查询条件 + * @return 分页结果 + */ + IPage selectDispatchConfigApprovalPage(IPage page, DispatchConfigApprovalVO entity); + + /** + * 导出数据 + * + * @param entity 查询条件 + * @return Excel数据列表 + */ + List exportDispatchConfigApproval(DispatchConfigApprovalVO entity); + + /** + * 新增分派配置审批 + * + * @param entity 分派配置审批实体 + * @return 操作结果 + */ + R saveDispatchConfigApproval(DispatchConfigApproval entity); + + /** + * 修改分派配置审批 + * + * @param entity 分派配置审批实体 + * @return 操作结果 + */ + R updateDispatchConfigApproval(DispatchConfigApproval entity); + + /** + * 删除分派配置审批 + * + * @param ids 主键ID列表 + * @return 操作结果 + */ + R removeDispatchConfigApproval(List ids); + + /** + * 提交审批 + * + * @param id 主键ID + * @return 操作结果 + */ + R submitApproval(Long id); + + /** + * 审批(待实现) + * + * @param id 主键ID + * @param result 审批结果: 1-通过, 2-驳回 + * @param remark 审批意见 + * @return 操作结果 + */ + R audit(Long id, Integer result, String remark); + + /** + * 查询审批历史 + * + * @param id 主键ID + * @return 审批历史信息 + */ + DispatchConfigApprovalVO getAuditHistory(Long id); +} diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/quality/service/impl/DispatchConfigApprovalServiceImpl.java b/blade-service/blade-desk/src/main/java/org/springblade/desk/quality/service/impl/DispatchConfigApprovalServiceImpl.java new file mode 100644 index 000000000..2cf538125 --- /dev/null +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/quality/service/impl/DispatchConfigApprovalServiceImpl.java @@ -0,0 +1,230 @@ +package org.springblade.desk.quality.service.impl; + +import cn.hutool.core.util.StrUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import lombok.extern.slf4j.Slf4j; +import org.springblade.core.secure.utils.AuthUtil; +import org.springblade.core.tool.api.R; +import org.springblade.desk.basic.service.en.impl.EnBaseServiceImpl; +import org.springblade.desk.quality.constant.DispatchConfigApprovalConst; +import org.springblade.desk.quality.excel.DispatchConfigApprovalExcel; +import org.springblade.desk.quality.mapper.DispatchConfigApprovalMapper; +import org.springblade.desk.quality.pojo.entity.DispatchConfigApproval; +import org.springblade.desk.quality.pojo.request.DispatchConfigApprovalRequest; +import org.springblade.desk.quality.pojo.vo.DispatchConfigApprovalVO; +import org.springblade.desk.quality.service.IDispatchConfigApprovalService; +import org.springblade.desk.quality.wrapper.DispatchConfigApprovalWrapper; +import org.springframework.beans.BeanUtils; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import java.util.ArrayList; +import java.util.Date; +import java.util.List; + +/** + * 分派配置审批服务实现类 + * + * @author AI + * @since 2026-05-19 + */ +@Slf4j +@Service +public class DispatchConfigApprovalServiceImpl extends EnBaseServiceImpl implements IDispatchConfigApprovalService { + + @Override + public IPage selectDispatchConfigApprovalPage(IPage page, DispatchConfigApprovalVO entity) { + QueryWrapper queryWrapper = new QueryWrapper<>(); + + // 查询条件 + if (entity != null) { + if (StrUtil.isNotBlank(entity.getApplicationNo())) { + queryWrapper.like("APPLICATION_NO", entity.getApplicationNo()); + } + if (StrUtil.isNotBlank(entity.getApplicantName())) { + queryWrapper.like("APPLICANT_NAME", entity.getApplicantName()); + } + if (entity.getStatus() != null) { + queryWrapper.eq("STATUS", entity.getStatus()); + } + } + + // 按创建时间降序 + queryWrapper.orderByDesc("CREATE_TIME"); + + IPage pages = baseMapper.selectPage( + page, + queryWrapper + ); + return DispatchConfigApprovalWrapper.build().pageVO(pages); + } + + @Override + public List exportDispatchConfigApproval(DispatchConfigApprovalVO entity) { + QueryWrapper queryWrapper = new QueryWrapper<>(); + + // 查询条件 + if (entity != null) { + if (StrUtil.isNotBlank(entity.getApplicationNo())) { + queryWrapper.like("APPLICATION_NO", entity.getApplicationNo()); + } + if (StrUtil.isNotBlank(entity.getApplicantName())) { + queryWrapper.like("APPLICANT_NAME", entity.getApplicantName()); + } + if (entity.getStatus() != null) { + queryWrapper.eq("STATUS", entity.getStatus()); + } + } + + queryWrapper.orderByDesc("CREATE_TIME"); + List list = list(queryWrapper); + + List excelList = new ArrayList<>(); + for (DispatchConfigApproval item : list) { + DispatchConfigApprovalExcel excel = new DispatchConfigApprovalExcel(); + BeanUtils.copyProperties(item, excel); + excel.setStatusName(getStatusName(item.getStatus())); + excelList.add(excel); + } + + return excelList; + } + + @Override + @Transactional(rollbackFor = Exception.class) + public R saveDispatchConfigApproval(DispatchConfigApproval entity) { + // 生成申请单号 + String applicationNo = generateApplicationNo(); + entity.setApplicationNo(applicationNo); + + // 设置申请人信息 + entity.setApplicantId(AuthUtil.getUserId()); + entity.setApplicantName(AuthUtil.getUserName()); + entity.setApplicationTime(new Date()); + + // 设置初始状态为草稿 + entity.setStatus(DispatchConfigApprovalConst.STATUS_DRAFT); + + return R.status(save(entity)); + } + + @Override + @Transactional(rollbackFor = Exception.class) + public R updateDispatchConfigApproval(DispatchConfigApproval entity) { + // 检查是否存在 + DispatchConfigApproval existing = getById(entity.getId()); + if (existing == null) { + return R.fail("记录不存在"); + } + + // 只有草稿状态可以修改 + if (!DispatchConfigApprovalConst.STATUS_DRAFT.equals(existing.getStatus())) { + return R.fail("只有草稿状态的记录可以修改"); + } + + return R.status(updateById(entity)); + } + + @Override + @Transactional(rollbackFor = Exception.class) + public R removeDispatchConfigApproval(List ids) { + if (ids == null || ids.isEmpty()) { + return R.fail("请选择要删除的记录"); + } + + // 检查状态,只有草稿状态可以删除 + for (Long id : ids) { + DispatchConfigApproval entity = getById(id); + if (entity != null && !DispatchConfigApprovalConst.STATUS_DRAFT.equals(entity.getStatus())) { + return R.fail("只有草稿状态的记录可以删除"); + } + } + + return R.status(removeByIds(ids)); + } + + @Override + @Transactional(rollbackFor = Exception.class) + public R submitApproval(Long id) { + DispatchConfigApproval entity = getById(id); + if (entity == null) { + return R.fail("记录不存在"); + } + + // 只有草稿状态可以提交审批 + if (!DispatchConfigApprovalConst.STATUS_DRAFT.equals(entity.getStatus())) { + return R.fail("只有草稿状态的记录可以提交审批"); + } + + // 更新状态为审批中 + entity.setStatus(DispatchConfigApprovalConst.STATUS_APPROVING); + updateById(entity); + + // TODO: 发送消息通知给审批人 + + return R.success("提交审批成功"); + } + + @Override + @Transactional(rollbackFor = Exception.class) + public R audit(Long id, Integer result, String remark) { + // TODO: 审批功能逻辑待确认,暂时返回提示信息 + return R.fail("审批功能待实现"); + } + + @Override + public DispatchConfigApprovalVO getAuditHistory(Long id) { + DispatchConfigApproval entity = getById(id); + if (entity == null) { + return null; + } + return DispatchConfigApprovalVO.fromEntity(entity); + } + + /** + * 生成申请单号 + * 格式:YYYYMMDD + 3位序号 + */ + private String generateApplicationNo() { + String dateStr = cn.hutool.core.date.DateUtil.format(new Date(), "yyyyMMdd"); + + // 查询当天最大序号 + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.likeRight("APPLICATION_NO", dateStr) + .orderByDesc("APPLICATION_NO") + .last("LIMIT 1"); + + DispatchConfigApproval last = getOne(queryWrapper); + int seq = 1; + if (last != null && StrUtil.isNotBlank(last.getApplicationNo())) { + String lastSeq = last.getApplicationNo().substring(8); + seq = Integer.parseInt(lastSeq) + 1; + } + + return dateStr + String.format("%03d", seq); + } + + /** + * 获取状态名称 + */ + private String getStatusName(Integer status) { + if (status == null) { + return "未知"; + } + switch (status) { + case 0: + return "草稿"; + case 1: + return "审批中"; + case 2: + return "审批通过"; + case 3: + return "审批驳回"; + case 4: + return "已撤销"; + default: + return "未知"; + } + } +} diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/quality/service/impl/InspectionTaskServiceImpl.java b/blade-service/blade-desk/src/main/java/org/springblade/desk/quality/service/impl/InspectionTaskServiceImpl.java index dafd38140..fe0296b1d 100644 --- a/blade-service/blade-desk/src/main/java/org/springblade/desk/quality/service/impl/InspectionTaskServiceImpl.java +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/quality/service/impl/InspectionTaskServiceImpl.java @@ -45,6 +45,7 @@ import org.springblade.desk.device.service.IFeiBaSetService; import org.springblade.desk.device.service.IRackSetService; import org.springblade.desk.order.mapper.YieldOrderMapper; import org.springblade.desk.order.pojo.entity.YieldOrder; +import org.springblade.desk.order.pojo.enums.YieldOrderEnum; import org.springblade.desk.produce.mapper.WorkOrderMapper; import org.springblade.desk.produce.mapper.WorkPlanMapper; import org.springblade.desk.produce.pojo.dto.*; @@ -1657,7 +1658,7 @@ public class InspectionTaskServiceImpl extends BaseServiceImpl planList, List moduleList) { - if (yieldType == YieldOrder.YIELD_TYPE_4 || yieldType == YieldOrder.YIELD_TYPE_5) { + if (yieldType == YieldOrderEnum.YIELD_TYPE_4.getCode() || yieldType == YieldOrderEnum.YIELD_TYPE_5.getCode()) { return this.metalParts(woId); - } else if (yieldType == YieldOrder.YIELD_TYPE_6) { // 石墨模 + } else if (yieldType == YieldOrderEnum.YIELD_TYPE_6.getCode()) { // 石墨模 // return this.graphiteMold(woId); return this.metalParts(woId); - } else if (yieldType == YieldOrder.YIELD_TYPE_3) { // 玻璃饼 + } else if (yieldType == YieldOrderEnum.YIELD_TYPE_3.getCode()) { // 玻璃饼 return this.glassCake(woId); - } else if (yieldType == YieldOrder.YIELD_TYPE_2) { // 玻璃封接部件 + } else if (yieldType == YieldOrderEnum.YIELD_TYPE_2.getCode()) { // 玻璃封接部件 return this.glassSealing(woId, planList, moduleList); } diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/quality/wrapper/DispatchConfigApprovalWrapper.java b/blade-service/blade-desk/src/main/java/org/springblade/desk/quality/wrapper/DispatchConfigApprovalWrapper.java new file mode 100644 index 000000000..2e0dd6092 --- /dev/null +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/quality/wrapper/DispatchConfigApprovalWrapper.java @@ -0,0 +1,23 @@ +package org.springblade.desk.quality.wrapper; + +import org.springblade.core.mp.support.BaseEntityWrapper; +import org.springblade.desk.quality.pojo.entity.DispatchConfigApproval; +import org.springblade.desk.quality.pojo.vo.DispatchConfigApprovalVO; + +/** + * 分派配置审批包装类 + * + * @author AI + * @since 2026-05-19 + */ +public class DispatchConfigApprovalWrapper extends BaseEntityWrapper { + + public static DispatchConfigApprovalWrapper build() { + return new DispatchConfigApprovalWrapper(); + } + + @Override + public DispatchConfigApprovalVO entityVO(DispatchConfigApproval entity) { + return DispatchConfigApprovalVO.fromEntity(entity); + } +} diff --git a/blade-service/blade-erpdata/src/main/java/org/springblade/erpdata/service/impl/ErpMesRbWoServiceImpl.java b/blade-service/blade-erpdata/src/main/java/org/springblade/erpdata/service/impl/ErpMesRbWoServiceImpl.java index 1260f007c..c611b4145 100644 --- a/blade-service/blade-erpdata/src/main/java/org/springblade/erpdata/service/impl/ErpMesRbWoServiceImpl.java +++ b/blade-service/blade-erpdata/src/main/java/org/springblade/erpdata/service/impl/ErpMesRbWoServiceImpl.java @@ -284,7 +284,7 @@ public class ErpMesRbWoServiceImpl implements IErpMesRbWoService { purtosoList.forEach(mesRbPurtoso -> { YieldOrder yieldOrder=new YieldOrder(); yieldOrder.setSiteWork(true); - yieldOrder.setBusinessType(YieldOrder.BUSINESS_TYPE_RB); + yieldOrder.setBusinessType(YieldOrderEnum.BUSINESS_TYPE_RB.getCode()); yieldOrder.setYpCode(mesRbPurtoso.getWono()); yieldOrder.setYpMemo("物资转车间协作加工"); yieldOrder.setManualIncrease(false); @@ -363,7 +363,7 @@ public class ErpMesRbWoServiceImpl implements IErpMesRbWoService { pacturnrecordList.forEach(mesRbPacturnrecord -> { YieldOrder yieldOrder=new YieldOrder(); yieldOrder.setSiteWork(true); - yieldOrder.setBusinessType(YieldOrder.BUSINESS_TYPE_RB); + yieldOrder.setBusinessType(YieldOrderEnum.BUSINESS_TYPE_RB.getCode()); yieldOrder.setYpMemo("临时工艺转工"); yieldOrder.setManualIncrease(false); yieldOrder.setYpCode(mesRbPacturnrecord.getWono()); @@ -438,7 +438,7 @@ public class ErpMesRbWoServiceImpl implements IErpMesRbWoService { rbtosoList.forEach(mesRbtoso -> { YieldOrder yieldOrder=new YieldOrder(); yieldOrder.setSiteWork(true); - yieldOrder.setBusinessType(YieldOrder.BUSINESS_TYPE_SJ); + yieldOrder.setBusinessType(YieldOrderEnum.BUSINESS_TYPE_SJ.getCode()); yieldOrder.setYpMemo("烧结转工单"); yieldOrder.setManualIncrease(false); yieldOrder.setYoCode(mesRbtoso.getSono());//生产单号 @@ -507,7 +507,7 @@ public class ErpMesRbWoServiceImpl implements IErpMesRbWoService { wxpromotionList.forEach(mesRbWxpromotion -> { YieldOrder yieldOrder=new YieldOrder(); yieldOrder.setSiteWork(true); - yieldOrder.setBusinessType(YieldOrder.BUSINESS_TYPE_RB); + yieldOrder.setBusinessType(YieldOrderEnum.BUSINESS_TYPE_RB.getCode()); yieldOrder.setYpMemo("推进计划"); yieldOrder.setManualIncrease(false); yieldOrder.setYoCode(mesRbWxpromotion.getSono());//生产单号 @@ -590,7 +590,7 @@ public class ErpMesRbWoServiceImpl implements IErpMesRbWoService { mesRbSodelrecwxList.forEach(mesRbSodelrecwx -> { YieldOrder yieldOrder=new YieldOrder(); yieldOrder.setSiteWork(false); - yieldOrder.setBusinessType(YieldOrder.BUSINESS_TYPE_RB); + yieldOrder.setBusinessType(YieldOrderEnum.BUSINESS_TYPE_RB.getCode()); yieldOrder.setYpMemo("外协转工单"); yieldOrder.setManualIncrease(false); yieldOrder.setYoCode(mesRbSodelrecwx.getSono());//生产单号 @@ -670,7 +670,7 @@ public class ErpMesRbWoServiceImpl implements IErpMesRbWoService { //将查询出的数据放到单个的变量中 YieldOrder yieldOrder=new YieldOrder(); yieldOrder.setSiteWork(true); - yieldOrder.setBusinessType(YieldOrder.BUSINESS_TYPE_RB); + yieldOrder.setBusinessType(YieldOrderEnum.BUSINESS_TYPE_RB.getCode()); yieldOrder.setYpMemo("正式工艺转工"); yieldOrder.setManualIncrease(false); yieldOrder.setYoCode(mesRbSodelreczg.getSono());//生产单号 @@ -755,7 +755,7 @@ public class ErpMesRbWoServiceImpl implements IErpMesRbWoService { mesRbPkList.forEach(mesRbPk -> { YieldOrder yieldOrder=new YieldOrder(); yieldOrder.setSiteWork(true); - yieldOrder.setBusinessType(YieldOrder.BUSINESS_TYPE_RB); + yieldOrder.setBusinessType(YieldOrderEnum.BUSINESS_TYPE_RB.getCode()); yieldOrder.setYpMemo("配套转工单"); yieldOrder.setYoCode(mesRbPk.getWono());//生产单号 yieldOrder.setYpCode(mesRbPk.getWono()); diff --git a/blade-service/blade-scheduling/src/main/java/org/springblade/scheduling/scheduling/mapper/EquipResourceMapper.java b/blade-service/blade-scheduling/src/main/java/org/springblade/scheduling/scheduling/mapper/EquipResourceMapper.java index 890a76151..549c0a66f 100644 --- a/blade-service/blade-scheduling/src/main/java/org/springblade/scheduling/scheduling/mapper/EquipResourceMapper.java +++ b/blade-service/blade-scheduling/src/main/java/org/springblade/scheduling/scheduling/mapper/EquipResourceMapper.java @@ -66,4 +66,7 @@ public interface EquipResourceMapper extends BaseMapper { List selectCommonCraftList(); + boolean deleteByDateTime(); + + } diff --git a/blade-service/blade-scheduling/src/main/java/org/springblade/scheduling/scheduling/mapper/EquipResourceMapper.xml b/blade-service/blade-scheduling/src/main/java/org/springblade/scheduling/scheduling/mapper/EquipResourceMapper.xml index 67093698b..daaa8981f 100644 --- a/blade-service/blade-scheduling/src/main/java/org/springblade/scheduling/scheduling/mapper/EquipResourceMapper.xml +++ b/blade-service/blade-scheduling/src/main/java/org/springblade/scheduling/scheduling/mapper/EquipResourceMapper.xml @@ -55,4 +55,8 @@ AND id > nvl(( SELECT max( id ) FROM MES_EQUIP_RESOURCE WHERE is_used = '1' AND CRAFT_ID = '27' ),0) order by date_time,start_time + + delete from MES_EQUIP_RESOURCE where date_time to_char(sysdate,'yyyy-MM-dd') + + diff --git a/blade-service/blade-scheduling/src/main/java/org/springblade/scheduling/scheduling/mapper/PersonResourceMapper.java b/blade-service/blade-scheduling/src/main/java/org/springblade/scheduling/scheduling/mapper/PersonResourceMapper.java index c20a8c51d..89ce428c4 100644 --- a/blade-service/blade-scheduling/src/main/java/org/springblade/scheduling/scheduling/mapper/PersonResourceMapper.java +++ b/blade-service/blade-scheduling/src/main/java/org/springblade/scheduling/scheduling/mapper/PersonResourceMapper.java @@ -63,4 +63,6 @@ public interface PersonResourceMapper extends BaseMapper { List> selectTeamByWorkCenter(@Param("workCenterId") Long workCenterId); + boolean deleteByDateTime(); + } diff --git a/blade-service/blade-scheduling/src/main/java/org/springblade/scheduling/scheduling/mapper/PersonResourceMapper.xml b/blade-service/blade-scheduling/src/main/java/org/springblade/scheduling/scheduling/mapper/PersonResourceMapper.xml index 8b863dbb6..f81b62913 100644 --- a/blade-service/blade-scheduling/src/main/java/org/springblade/scheduling/scheduling/mapper/PersonResourceMapper.xml +++ b/blade-service/blade-scheduling/src/main/java/org/springblade/scheduling/scheduling/mapper/PersonResourceMapper.xml @@ -43,4 +43,8 @@ and c.IS_DELETED = 0 and a.work_center_id = #{workCenterId} + + + delete from MES_PERSON_RESOURCE where date_time to_char(sysdate,'yyyy-MM-dd') + diff --git a/blade-service/blade-scheduling/src/main/java/org/springblade/scheduling/scheduling/service/impl/EquipResourceServiceImpl.java b/blade-service/blade-scheduling/src/main/java/org/springblade/scheduling/scheduling/service/impl/EquipResourceServiceImpl.java index 4314cab65..086f8f57d 100644 --- a/blade-service/blade-scheduling/src/main/java/org/springblade/scheduling/scheduling/service/impl/EquipResourceServiceImpl.java +++ b/blade-service/blade-scheduling/src/main/java/org/springblade/scheduling/scheduling/service/impl/EquipResourceServiceImpl.java @@ -36,7 +36,6 @@ import lombok.extern.slf4j.Slf4j; import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.time.DateFormatUtils; import org.apache.commons.lang3.time.DateUtils; -import org.springblade.core.mp.base.BaseEntity; import org.springblade.core.mp.base.BaseServiceImpl; import org.springblade.core.tool.jackson.JsonUtil; import org.springblade.scheduling.pojo.entity.EquipAbilityEntity; @@ -58,7 +57,6 @@ import java.util.ArrayList; import java.util.Date; import java.util.List; import java.util.Map; -import java.util.stream.Collectors; /** * 工艺能力表 服务实现类 @@ -107,10 +105,8 @@ public class EquipResourceServiceImpl extends BaseServiceImpl deleteList = this.list(Wrappers.lambdaQuery().le(EquipResourceEntity::getDateTime,DateFormatUtils.format(DateUtils.addDays(date,-3),"yyyy-MM-dd"))); - List idList = deleteList.stream().map(BaseEntity::getId).collect(Collectors.toList()); - baseMapper.deleteByIds(idList); + //删除今天之前的数据 + baseMapper.deleteByDateTime(); log.info("初始化设备资源结束:"+ DateFormatUtils.format(new Date(),"yyyy-MM-dd HH:mm:ss")); } diff --git a/blade-service/blade-scheduling/src/main/java/org/springblade/scheduling/scheduling/service/impl/PersonResourceServiceImpl.java b/blade-service/blade-scheduling/src/main/java/org/springblade/scheduling/scheduling/service/impl/PersonResourceServiceImpl.java index 42d34a6d4..bf89a8531 100644 --- a/blade-service/blade-scheduling/src/main/java/org/springblade/scheduling/scheduling/service/impl/PersonResourceServiceImpl.java +++ b/blade-service/blade-scheduling/src/main/java/org/springblade/scheduling/scheduling/service/impl/PersonResourceServiceImpl.java @@ -34,7 +34,6 @@ import lombok.AllArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.apache.commons.lang3.time.DateFormatUtils; import org.apache.commons.lang3.time.DateUtils; -import org.springblade.core.mp.base.BaseEntity; import org.springblade.core.mp.base.BaseServiceImpl; import org.springblade.scheduling.pojo.entity.PersonAbilityEntity; import org.springblade.scheduling.pojo.entity.PersonResourceEntity; @@ -51,7 +50,6 @@ import java.util.ArrayList; import java.util.Date; import java.util.List; import java.util.Map; -import java.util.stream.Collectors; /** * 工艺能力表 服务实现类 @@ -99,9 +97,7 @@ public class PersonResourceServiceImpl extends BaseServiceImpl deleteList = this.list(Wrappers.lambdaQuery().le(PersonResourceEntity::getDateTime,DateFormatUtils.format(DateUtils.addDays(date,-3),"yyyy-MM-dd"))); - List idList = deleteList.stream().map(BaseEntity::getId).collect(Collectors.toList()); - baseMapper.deleteByIds(idList); + baseMapper.deleteByDateTime(); log.info("初始化人力资源结束:"+ DateFormatUtils.format(new Date(),"yyyy-MM-dd HH:mm:ss")); } diff --git a/blade-service/blade-scheduling/src/main/java/org/springblade/scheduling/scheduling/service/impl/WorkOrderServiceImpl.java b/blade-service/blade-scheduling/src/main/java/org/springblade/scheduling/scheduling/service/impl/WorkOrderServiceImpl.java index 100cacd65..0ab87afec 100644 --- a/blade-service/blade-scheduling/src/main/java/org/springblade/scheduling/scheduling/service/impl/WorkOrderServiceImpl.java +++ b/blade-service/blade-scheduling/src/main/java/org/springblade/scheduling/scheduling/service/impl/WorkOrderServiceImpl.java @@ -1382,7 +1382,9 @@ public class WorkOrderServiceImpl extends BaseServiceImpl