From 95303372e039f4934448cce75be03a22b2a616b4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9D=8E=E6=B6=9B?= Date: Mon, 26 Jan 2026 19:13:43 +0800 Subject: [PATCH] =?UTF-8?q?1=E3=80=81=E7=83=AD=E8=A1=A8=E7=94=9F=E4=BA=A7?= =?UTF-8?q?=E7=AE=A1=E7=90=86=E6=8E=A5=E5=8F=A3=E4=BF=AE=E6=94=B9=202?= =?UTF-8?q?=E3=80=81=E7=83=A7=E7=BB=93=E7=94=9F=E4=BA=A7=E7=AE=A1=E7=90=86?= =?UTF-8?q?=E6=8E=A5=E5=8F=A3=E5=BC=80=E5=8F=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../desk/order/pojo/entity/YieldOrder.java | 19 ++- .../desk/produce/pojo/dto/InBatchesDTO.java | 32 +++++ .../desk/produce/pojo/dto/TurnTypeDTO.java | 2 +- .../produce/pojo/dto/UpdatePriorityDTO.java | 4 +- .../desk/produce/pojo/dto/WorkOrderDTO.java | 6 +- .../produce/pojo/entity/BsProcedureTeam.java | 4 + .../produce/pojo/entity/WorkOrderRun.java | 2 - .../desk/produce/pojo/entity/WorkPlan.java | 4 +- .../desk/produce/pojo/entity/WorkPlanRun.java | 3 +- .../desk/produce/pojo/vo/BatchPrepareVO.java | 4 + .../desk/produce/pojo/vo/WorkOrderVO.java | 6 + .../desk/produce/pojo/vo/WorkPlanRunVO.java | 28 ++++ .../desk/produce/pojo/vo/WorkPlanVO.java | 20 +++ .../desk/produce/pojo/vo/YieldOrderVO.java | 48 +++++++ .../order/service/IYieldOrderService.java | 16 +++ .../service/impl/YieldOrderServiceImpl.java | 24 ++++ .../controller/RbProduceManageController.java | 13 +- .../controller/SjProduceManageController.java | 85 +++++++++++ .../produce/mapper/BsProcedureTeamMapper.xml | 6 +- .../desk/produce/mapper/WorkOrderMapper.xml | 136 ++++++------------ .../produce/mapper/WorkOrderRunMapper.xml | 36 ----- .../produce/service/IWorkOrderService.java | 6 +- .../service/impl/WorkOrderServiceImpl.java | 81 +++++++---- .../service/impl/WorkPlanServiceImpl.java | 2 +- 24 files changed, 405 insertions(+), 182 deletions(-) create mode 100644 blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/produce/pojo/dto/InBatchesDTO.java create mode 100644 blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/produce/pojo/vo/WorkPlanRunVO.java create mode 100644 blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/produce/pojo/vo/WorkPlanVO.java create mode 100644 blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/produce/pojo/vo/YieldOrderVO.java create mode 100644 blade-service/blade-desk/src/main/java/org/springblade/desk/produce/controller/SjProduceManageController.java delete mode 100644 blade-service/blade-desk/src/main/java/org/springblade/desk/produce/mapper/WorkOrderRunMapper.xml 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 5d4de997..8051fbe3 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 @@ -77,6 +77,23 @@ public class YieldOrder extends BaseEntity { */ public static Integer YIELD_TYPE_6 = 6; + /** + * 烧结石墨模未准备 + */ + public static Short SJ_MOLD_PREPARATION_1 = 1; + /** + * 烧结石墨模已准备 + */ + public static Short SJ_MOLD_PREPARATION_2 = 2; + /** + * 烧结齐套未流转 + */ + public static Short SJ_KIT_PREPARATION_1 = 1; + /** + * 烧结齐套已流转 + */ + public static Short SJ_KIT_PREPARATION_2 = 2; + /** * 作业中心 */ @@ -346,7 +363,7 @@ public class YieldOrder extends BaseEntity { * 流转人 */ @TableField(value = "KIT_PREPARATION_MAN") - private String kitPreparationMan; + private Long kitPreparationMan; /** * 流转时间 diff --git a/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/produce/pojo/dto/InBatchesDTO.java b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/produce/pojo/dto/InBatchesDTO.java new file mode 100644 index 00000000..5b0801ec --- /dev/null +++ b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/produce/pojo/dto/InBatchesDTO.java @@ -0,0 +1,32 @@ +package org.springblade.desk.produce.pojo.dto; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; + +/** + * 分批 数据传输对象实体类 + * @author litao + */ +@Data +public class InBatchesDTO { + + @Schema(description = "车间订单id") + private Long id; + + @Schema(description = "加工数量") + private Long makeQty; + + @Schema(description = "批次") + private String batchNo; + + @Schema(description = "路线卡号") + private String cardNo; + + @Schema(description = "订单编号") + private String woCode; + + @Schema(description = "备注") + private String memo; + + +} diff --git a/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/produce/pojo/dto/TurnTypeDTO.java b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/produce/pojo/dto/TurnTypeDTO.java index a86ca2e0..90dd9ec8 100644 --- a/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/produce/pojo/dto/TurnTypeDTO.java +++ b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/produce/pojo/dto/TurnTypeDTO.java @@ -13,7 +13,7 @@ import java.util.List; public class TurnTypeDTO { @Schema(description = "生产订单id") - private Long id; + private Long yoId; @Schema(description = "订单类型") private Integer yieldType; diff --git a/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/produce/pojo/dto/UpdatePriorityDTO.java b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/produce/pojo/dto/UpdatePriorityDTO.java index 887e2892..32a962df 100644 --- a/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/produce/pojo/dto/UpdatePriorityDTO.java +++ b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/produce/pojo/dto/UpdatePriorityDTO.java @@ -12,8 +12,8 @@ import java.util.Date; @Data public class UpdatePriorityDTO { - @Schema(description = "生产订单id") - private Long id; + @Schema(description = "车间订单id") + private Long woId; @Schema(description = "需求交期") private Date demandDate; diff --git a/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/produce/pojo/dto/WorkOrderDTO.java b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/produce/pojo/dto/WorkOrderDTO.java index 3e429a22..eeee9982 100644 --- a/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/produce/pojo/dto/WorkOrderDTO.java +++ b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/produce/pojo/dto/WorkOrderDTO.java @@ -11,10 +11,10 @@ import lombok.Data; public class WorkOrderDTO { @Schema(description = "订单类型:1-热表,2-烧结,3-玻璃饼,4-壳体,5-插针,6-石墨模") - private Short yieldType; + private String yieldType; - @Schema(description = "运行状态:1.正常,2.已下达,3.加工中,4.检验中,13.审理中,14.返工中,15.已完工,21已作废") - private Integer runStatus; + @Schema(description = "运行状态:1.正常,2.已下达,3.加工中,4.检验中,13.审理中,14.返工中,15.已完工,21已关闭") + private String runStatus; @Schema(description = "流程卡号") private String cardNo; diff --git a/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/produce/pojo/entity/BsProcedureTeam.java b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/produce/pojo/entity/BsProcedureTeam.java index f27ed252..b99ce837 100644 --- a/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/produce/pojo/entity/BsProcedureTeam.java +++ b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/produce/pojo/entity/BsProcedureTeam.java @@ -1,6 +1,10 @@ package org.springblade.desk.produce.pojo.entity; +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; +import com.fasterxml.jackson.databind.annotation.JsonSerialize; +import com.fasterxml.jackson.databind.ser.std.ToStringSerializer; import io.swagger.v3.oas.annotations.media.Schema; import lombok.Data; import lombok.EqualsAndHashCode; diff --git a/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/produce/pojo/entity/WorkOrderRun.java b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/produce/pojo/entity/WorkOrderRun.java index f800c248..7313fb92 100644 --- a/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/produce/pojo/entity/WorkOrderRun.java +++ b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/produce/pojo/entity/WorkOrderRun.java @@ -2,7 +2,6 @@ package org.springblade.desk.produce.pojo.entity; import com.baomidou.mybatisplus.annotation.TableName; import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Builder; import lombok.Data; import lombok.EqualsAndHashCode; import org.springblade.core.mp.base.BaseEntity; @@ -21,7 +20,6 @@ import java.util.Map; @TableName("MES_WORK_ORDER_RUN") @Schema(description = "MesWorkOrderRun对象") @EqualsAndHashCode(callSuper = true) -@Builder public class WorkOrderRun extends BaseEntity { @Serial diff --git a/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/produce/pojo/entity/WorkPlan.java b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/produce/pojo/entity/WorkPlan.java index 9b027190..e6ea8421 100644 --- a/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/produce/pojo/entity/WorkPlan.java +++ b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/produce/pojo/entity/WorkPlan.java @@ -56,9 +56,9 @@ public class WorkPlan extends BaseEntity { @Schema(description = "车间订单") private Long woId; /** - * 工艺 + * 工序 */ - @Schema(description = "工艺") + @Schema(description = "工序") private Long ppsId; /** * 工序号 diff --git a/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/produce/pojo/entity/WorkPlanRun.java b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/produce/pojo/entity/WorkPlanRun.java index 5a7a7eff..56c0899e 100644 --- a/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/produce/pojo/entity/WorkPlanRun.java +++ b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/produce/pojo/entity/WorkPlanRun.java @@ -2,7 +2,6 @@ package org.springblade.desk.produce.pojo.entity; import com.baomidou.mybatisplus.annotation.TableName; import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Builder; import lombok.Data; import lombok.EqualsAndHashCode; import org.springblade.core.mp.base.BaseEntity; @@ -16,7 +15,7 @@ import java.util.Date; * @author BladeX */ @Data -@TableName("MES_WORK_ORDER_RUN") +@TableName("MES_WORK_PLAN_RUN") @Schema(description = "WorkPlanRun对象") @EqualsAndHashCode(callSuper = true) public class WorkPlanRun extends BaseEntity { diff --git a/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/produce/pojo/vo/BatchPrepareVO.java b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/produce/pojo/vo/BatchPrepareVO.java index 89245f2d..3b5973c3 100644 --- a/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/produce/pojo/vo/BatchPrepareVO.java +++ b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/produce/pojo/vo/BatchPrepareVO.java @@ -11,6 +11,10 @@ import org.springblade.desk.order.pojo.entity.YieldOrder; */ @Data public class BatchPrepareVO { + + @Schema(description = "车间订单id") + private Long id; + @Schema(description = "生产订单") private YieldOrder yieldOrder; diff --git a/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/produce/pojo/vo/WorkOrderVO.java b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/produce/pojo/vo/WorkOrderVO.java index 503df24a..d39348de 100644 --- a/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/produce/pojo/vo/WorkOrderVO.java +++ b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/produce/pojo/vo/WorkOrderVO.java @@ -19,6 +19,12 @@ public class WorkOrderVO extends WorkOrder { @Serial private static final long serialVersionUID = 1L; + @Schema(description = "车间订单ID") + private Long woId; + + @Schema(description = "生产订单ID") + private Long yoId; + @Schema(description = "主加工单位:班组") private String mainTsName; diff --git a/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/produce/pojo/vo/WorkPlanRunVO.java b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/produce/pojo/vo/WorkPlanRunVO.java new file mode 100644 index 00000000..a3ec1ffa --- /dev/null +++ b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/produce/pojo/vo/WorkPlanRunVO.java @@ -0,0 +1,28 @@ +package org.springblade.desk.produce.pojo.vo; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +import lombok.EqualsAndHashCode; +import org.springblade.desk.basic.pojo.entity.ProcessAbility; +import org.springblade.desk.produce.pojo.entity.WorkOrderRun; +import org.springblade.desk.produce.pojo.entity.WorkPlan; +import org.springblade.desk.produce.pojo.entity.WorkPlanRun; + +/** + * 分批准备数据 视图实体类 + * + * @author litao + */ +@EqualsAndHashCode(callSuper = true) +@Data +public class WorkPlanRunVO extends WorkPlanRun { + + @Schema(description = "车间订单运行记录") + private WorkOrderRun workOrderRun; + + @Schema(description = "作业计划工序") + private WorkPlanVO workPlan; + + @Schema(description = "工艺能力") + private ProcessAbility processAbility; +} diff --git a/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/produce/pojo/vo/WorkPlanVO.java b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/produce/pojo/vo/WorkPlanVO.java new file mode 100644 index 00000000..d26aafcb --- /dev/null +++ b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/produce/pojo/vo/WorkPlanVO.java @@ -0,0 +1,20 @@ +package org.springblade.desk.produce.pojo.vo; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +import lombok.EqualsAndHashCode; +import org.springblade.desk.dashboard.pojo.entity.BsProcessSetEntity; +import org.springblade.desk.produce.pojo.entity.WorkPlanRun; + +/** + * 分批准备数据 视图实体类 + * + * @author litao + */ +@EqualsAndHashCode(callSuper = true) +@Data +public class WorkPlanVO extends WorkPlanRun { + + @Schema(description = "工序") + private BsProcessSetEntity processSet; +} diff --git a/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/produce/pojo/vo/YieldOrderVO.java b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/produce/pojo/vo/YieldOrderVO.java new file mode 100644 index 00000000..cb6b7748 --- /dev/null +++ b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/produce/pojo/vo/YieldOrderVO.java @@ -0,0 +1,48 @@ +package org.springblade.desk.produce.pojo.vo; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +import org.springblade.desk.order.pojo.entity.YieldOrder; + +import java.util.Date; + +/** + * 烧结配套齐套流转 视图实体类 + * + * @author litao + */ +@Data +public class YieldOrderVO { + + @Schema(description = "moldFlag") + private Integer moldFlag; + + @Schema(description = "kitFlag") + private Integer kitFlag; + + @Schema(description = "计划单号") + private String ypCode; + + @Schema(description = "流程卡号") + private String cardNo; + + @Schema(description = "零件号") + private String partCode; + + @Schema(description = "批次号") + private String batchNo; + + @Schema(description = "需求交期-开始") + private Date demandDateStart; + + @Schema(description = "需求交期-结束") + private Date demandDateEnd; + + @Schema(description = "计划下达时间-开始") + private Date releaseDateStart; + + @Schema(description = "计划下达时间-结束") + private Date releaseDateEnd; + + +} diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/order/service/IYieldOrderService.java b/blade-service/blade-desk/src/main/java/org/springblade/desk/order/service/IYieldOrderService.java index b10f60b6..6321f473 100644 --- a/blade-service/blade-desk/src/main/java/org/springblade/desk/order/service/IYieldOrderService.java +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/order/service/IYieldOrderService.java @@ -177,4 +177,20 @@ public interface IYieldOrderService extends BaseService { YieldOrder getYoByCardNo(String cardNo); void updateYieldStatus(Long yoId, Integer curStatusVoided, double v); + + /** + * 烧结齐套发送 + * + * @param yoId + * @return + */ + boolean sendKit(Long yoId); + + /** + * 烧结齐套完成 + * + * @param yoId + * @return + */ + boolean moldComplete(Long yoId); } 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 49ef4c64..bc703cf7 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 @@ -14,6 +14,7 @@ import org.springblade.common.exception.BusinessException; import org.springblade.common.utils.StringPrefixUtils; import org.springblade.core.log.exception.ServiceException; import org.springblade.core.mp.base.BaseServiceImpl; +import org.springblade.core.secure.utils.AuthUtil; import org.springblade.core.tool.utils.BeanUtil; import org.springblade.core.tool.utils.DateUtil; import org.springblade.core.tool.utils.ObjectUtil; @@ -41,6 +42,7 @@ import org.springframework.transaction.annotation.Transactional; import java.text.MessageFormat; import java.util.ArrayList; +import java.util.Date; import java.util.List; import java.util.Random; @@ -666,6 +668,28 @@ public class YieldOrderServiceImpl extends BaseServiceImpl> page(YieldOrderVO yieldOrder, Query query) { + Integer moldFlag = yieldOrder.getMoldFlag(); + Integer kitFlag = yieldOrder.getKitFlag(); + if (moldFlag == null || kitFlag == null) { + throw new ServiceException("缺少必要参数:moldFlag、kitFlag"); + } + LambdaQueryWrapper queryWrapper = Wrappers.lambdaQuery(); + queryWrapper.eq(YieldOrder::getStatus, YieldOrder.CUR_STATUS_NORMAL); + queryWrapper.and(wrapper -> wrapper.eq(YieldOrder::getYieldType, YieldOrder.YIELD_TYPE_2).or().like(YieldOrder::getMemo, "铆卡钉")); + if (moldFlag == 0) { + queryWrapper.and(wrapper -> wrapper.isNull(YieldOrder::getSjMoldPreparation).or().ne(YieldOrder::getSjMoldPreparation, YieldOrder.SJ_MOLD_PREPARATION_2)); + } + if (moldFlag == 1 && kitFlag == 0) { + queryWrapper.and(wrapper -> wrapper.isNull(YieldOrder::getSjKitPreparation).ne(YieldOrder::getSjKitPreparation, YieldOrder.SJ_KIT_PREPARATION_2)); + } + if (moldFlag == 1 && kitFlag == 1) { + queryWrapper.eq(YieldOrder::getSjKitPreparation, YieldOrder.SJ_KIT_PREPARATION_2); + } + queryWrapper.like(StringUtils.isNotBlank(yieldOrder.getYpCode()), YieldOrder::getYpCode, yieldOrder.getYpCode()); + queryWrapper.like(StringUtils.isNotBlank(yieldOrder.getCardNo()), YieldOrder::getCardNo, yieldOrder.getCardNo()); + queryWrapper.like(StringUtils.isNotBlank(yieldOrder.getPartCode()), YieldOrder::getPartCode, yieldOrder.getPartCode()); + queryWrapper.like(StringUtils.isNotBlank(yieldOrder.getBatchNo()), YieldOrder::getBatchNo, yieldOrder.getBatchNo()); + queryWrapper.between(yieldOrder.getDemandDateStart() != null && yieldOrder.getDemandDateEnd() != null, YieldOrder::getDemandDate, yieldOrder.getDemandDateStart(), yieldOrder.getDemandDateEnd()); + queryWrapper.between(yieldOrder.getReleaseDateStart() != null && yieldOrder.getReleaseDateEnd() != null, YieldOrder::getReleaseDate, yieldOrder.getReleaseDateStart(), yieldOrder.getReleaseDateEnd()); + IPage page = yieldOrderService.page(Condition.getPage(query), queryWrapper); + return R.data(page); + } + + @PostMapping(value = "/moldComplete") + @ApiOperationSupport(order = 2) + @Operation(summary = "模具准备完成", description = "yoId") + public R moldComplete(@RequestParam Long yoId) { + return R.data(yieldOrderService.moldComplete(yoId)); + } + + @PostMapping(value = "/sendKit") + @ApiOperationSupport(order = 3) + @Operation(summary = "烧结齐套发送", description = "yoId") + public R sendKit(@RequestParam Long yoId) { + return R.data(yieldOrderService.sendKit(yoId)); + } +} diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/produce/mapper/BsProcedureTeamMapper.xml b/blade-service/blade-desk/src/main/java/org/springblade/desk/produce/mapper/BsProcedureTeamMapper.xml index 27a1517c..3c8c2a21 100644 --- a/blade-service/blade-desk/src/main/java/org/springblade/desk/produce/mapper/BsProcedureTeamMapper.xml +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/produce/mapper/BsProcedureTeamMapper.xml @@ -4,8 +4,8 @@ diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/produce/mapper/WorkOrderMapper.xml b/blade-service/blade-desk/src/main/java/org/springblade/desk/produce/mapper/WorkOrderMapper.xml index be6e6f3c..9b130dae 100644 --- a/blade-service/blade-desk/src/main/java/org/springblade/desk/produce/mapper/WorkOrderMapper.xml +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/produce/mapper/WorkOrderMapper.xml @@ -2,73 +2,37 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + SELECT * FROM (select * from MES_WORK_ORDER where WO_CODE like concat(#{codePattern},'%') order by WO_CODE desc) WHERE ROWNUM = 1 + + + + + + - - - - - diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/produce/mapper/WorkOrderRunMapper.xml b/blade-service/blade-desk/src/main/java/org/springblade/desk/produce/mapper/WorkOrderRunMapper.xml deleted file mode 100644 index 23e02e77..00000000 --- a/blade-service/blade-desk/src/main/java/org/springblade/desk/produce/mapper/WorkOrderRunMapper.xml +++ /dev/null @@ -1,36 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/produce/service/IWorkOrderService.java b/blade-service/blade-desk/src/main/java/org/springblade/desk/produce/service/IWorkOrderService.java index fdd28089..cedefa27 100644 --- a/blade-service/blade-desk/src/main/java/org/springblade/desk/produce/service/IWorkOrderService.java +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/produce/service/IWorkOrderService.java @@ -2,6 +2,7 @@ package org.springblade.desk.produce.service; import com.baomidou.mybatisplus.core.metadata.IPage; import org.springblade.core.mp.base.BaseService; +import org.springblade.desk.produce.pojo.dto.InBatchesDTO; import org.springblade.desk.produce.pojo.dto.ListProProcessDTO; import org.springblade.desk.produce.pojo.dto.WorkOrderDTO; import org.springblade.desk.produce.pojo.entity.WorkOrder; @@ -9,6 +10,7 @@ import org.springblade.desk.produce.pojo.entity.WorkOrderRun; import org.springblade.desk.produce.pojo.entity.WorkPlanRun; import org.springblade.desk.produce.pojo.vo.BatchPrepareVO; import org.springblade.desk.produce.pojo.vo.WorkOrderVO; +import org.springblade.desk.produce.pojo.vo.WorkPlanRunVO; import java.util.List; @@ -30,7 +32,7 @@ public interface IWorkOrderService extends BaseService { BatchPrepareVO batchesPrepare(Long woId); - boolean inBatches(Long oldWoId, WorkOrder workOrder, Long userId); + boolean inBatches(Long oldWoId, InBatchesDTO inBatchesDTO, Long userId); boolean turnType(Long id, Integer yieldType, Long userId); @@ -42,5 +44,5 @@ public interface IWorkOrderService extends BaseService { *

方法名: listProProcess

*

方法描述: 转单加载组装数据

*/ - List listProProcess(ListProProcessDTO listProProcessDTO); + List listProProcess(ListProProcessDTO listProProcessDTO); } diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/produce/service/impl/WorkOrderServiceImpl.java b/blade-service/blade-desk/src/main/java/org/springblade/desk/produce/service/impl/WorkOrderServiceImpl.java index 9c0016e6..ba491d59 100644 --- a/blade-service/blade-desk/src/main/java/org/springblade/desk/produce/service/impl/WorkOrderServiceImpl.java +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/produce/service/impl/WorkOrderServiceImpl.java @@ -2,23 +2,28 @@ package org.springblade.desk.produce.service.impl; import cn.hutool.core.bean.BeanUtil; import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.core.toolkit.CollectionUtils; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.apache.commons.lang3.StringUtils; import org.springblade.core.log.exception.ServiceException; import org.springblade.core.mp.base.BaseServiceImpl; +import org.springblade.desk.basic.service.IProcessAbilityService; import org.springblade.desk.dashboard.pojo.entity.BsProcessSetEntity; import org.springblade.desk.dashboard.service.IBsProcessSetService; import org.springblade.desk.order.pojo.entity.YieldOrder; import org.springblade.desk.order.pojo.enums.YieldOrderEnum; import org.springblade.desk.order.service.IYieldOrderService; import org.springblade.desk.produce.mapper.WorkOrderMapper; +import org.springblade.desk.produce.pojo.dto.InBatchesDTO; import org.springblade.desk.produce.pojo.dto.ListProProcessDTO; import org.springblade.desk.produce.pojo.dto.WorkOrderDTO; import org.springblade.desk.produce.pojo.entity.*; import org.springblade.desk.produce.pojo.vo.BatchPrepareVO; import org.springblade.desk.produce.pojo.vo.WorkOrderVO; +import org.springblade.desk.produce.pojo.vo.WorkPlanRunVO; +import org.springblade.desk.produce.pojo.vo.WorkPlanVO; import org.springblade.desk.produce.service.*; import org.springblade.desk.quality.pojo.entity.InspectionTask; import org.springblade.desk.quality.pojo.entity.PlanTest; @@ -27,12 +32,13 @@ import org.springblade.desk.quality.service.IPlanTestService; import org.springblade.desk.quality.service.IWorkPlanItemService; import org.springframework.beans.BeanUtils; import org.springframework.stereotype.Service; -import org.springframework.util.CollectionUtils; +import org.springframework.transaction.annotation.Transactional; import java.rmi.ServerException; import java.time.Instant; import java.time.LocalDateTime; import java.util.*; +import java.util.stream.Collectors; import static com.alibaba.fastjson2.util.DateUtils.DEFAULT_ZONE_ID; @@ -69,6 +75,8 @@ public class WorkOrderServiceImpl extends BaseServiceImpl selectWorkOrderPage(IPage page, WorkOrderDTO workOrder) { return page.setRecords(baseMapper.selectWorkOrderPage(page, workOrder)); @@ -79,6 +87,7 @@ public class WorkOrderServiceImpl extends BaseServiceImpl workOrderRunList, List wprList) { if (wprList == null || wprList.isEmpty()) { return false; @@ -261,7 +279,7 @@ public class WorkOrderServiceImpl extends BaseServiceImpl listProProcess(ListProProcessDTO listProProcessDTO) { + public List listProProcess(ListProProcessDTO listProProcessDTO) { List woIds = listProProcessDTO.getWoIds(); Integer runType = listProProcessDTO.getRunType(); if (CollectionUtils.isEmpty(woIds) || runType == null) { @@ -269,11 +287,12 @@ public class WorkOrderServiceImpl extends BaseServiceImpl wpList = workPlanService.list(Wrappers.lambdaQuery(WorkPlan.class).eq(WorkPlan::getWoId, curWoId)); - List wprList = new ArrayList<>(wpList.size()); + List workOrderRuns = workOrderRunService.list(Wrappers.lambdaQuery(WorkOrderRun.class).eq(WorkOrderRun::getWoId, curWoId)); + List wprList = new ArrayList<>(wpList.size()); // 拿出第一个单子对应的可以派外协的工序 String proName = ""; for (WorkPlan wp : wpList) { - WorkPlanRun wpr = new WorkPlanRun(); + WorkPlanRunVO wpr = new WorkPlanRunVO(); //验证 if (!this.checkWp(wp, runType)) { continue; @@ -292,9 +311,15 @@ public class WorkOrderServiceImpl extends BaseServiceImpl prWorkOrderList = this.list(Wrappers.lambdaQuery(WorkOrder.class).eq(WorkOrder::getYoId, yieldOrder.getId())); - if (prWorkOrderList != null && !prWorkOrderList.isEmpty()) { - for (WorkOrder prWorkOrder : prWorkOrderList) { - if (prWorkOrder.getRunStatus() < WorkOrder.RUN_STATUS_COMPLETED) { - // 修改为关闭 - prWorkOrder.setRunStatus(WorkOrder.RUN_STATUS_VOIDED); - this.updateById(prWorkOrder); + List list = yieldOrderService.list(Wrappers.lambdaQuery(YieldOrder.class).eq(YieldOrder::getFatherYoId, yieldOrder.getId())); + if (CollectionUtils.isNotEmpty(list)) { + // 将list转换为id集合 + List yoIds = list.stream().map(YieldOrder::getId).toList(); + List prWorkOrderList = this.list(Wrappers.lambdaQuery(WorkOrder.class).in(WorkOrder::getYoId, yoIds)); + if (prWorkOrderList != null && !prWorkOrderList.isEmpty()) { + for (WorkOrder prWorkOrder : prWorkOrderList) { + if (prWorkOrder.getRunStatus() < WorkOrder.RUN_STATUS_COMPLETED) { + // 修改为关闭 + prWorkOrder.setRunStatus(WorkOrder.RUN_STATUS_VOIDED); + } } + this.updateBatchById(prWorkOrderList); } } } + this.updateById(workOrder); } } diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/produce/service/impl/WorkPlanServiceImpl.java b/blade-service/blade-desk/src/main/java/org/springblade/desk/produce/service/impl/WorkPlanServiceImpl.java index da368ec8..494d07f5 100644 --- a/blade-service/blade-desk/src/main/java/org/springblade/desk/produce/service/impl/WorkPlanServiceImpl.java +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/produce/service/impl/WorkPlanServiceImpl.java @@ -205,7 +205,7 @@ public class WorkPlanServiceImpl extends BaseServiceImpl