diff --git a/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/produce/pojo/dto/ShiftTransferDTO.java b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/produce/pojo/dto/ShiftTransferDTO.java index 5c499667..a8f3e3e3 100644 --- a/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/produce/pojo/dto/ShiftTransferDTO.java +++ b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/produce/pojo/dto/ShiftTransferDTO.java @@ -2,6 +2,9 @@ package org.springblade.desk.produce.pojo.dto; import lombok.Data; +/** + * @author litao + */ @Data public class ShiftTransferDTO { private Long woId; diff --git a/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/produce/pojo/dto/UploadPlanDto.java b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/produce/pojo/dto/UploadPlanDto.java new file mode 100644 index 00000000..0d76eebe --- /dev/null +++ b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/produce/pojo/dto/UploadPlanDto.java @@ -0,0 +1,24 @@ +package org.springblade.desk.produce.pojo.dto; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +import org.springblade.desk.order.pojo.entity.YieldOrder; +import org.springblade.desk.produce.pojo.entity.WorkOrder; +import org.springblade.desk.produce.pojo.entity.WorkPlan; +import org.springblade.desk.produce.pojo.enums.WorkOrderEnum; + +import java.io.Serializable; +import java.util.Date; +import java.util.List; + +/** + *

Description: 报工调整-保存

+ * + * @author litao + */ +@Data +public class UploadPlanDto { + + private List workPlanList; + +} diff --git a/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/produce/pojo/entity/WorkOrderAdjust.java b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/produce/pojo/entity/WorkOrderAdjust.java new file mode 100644 index 00000000..e123174e --- /dev/null +++ b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/produce/pojo/entity/WorkOrderAdjust.java @@ -0,0 +1,58 @@ +package org.springblade.desk.produce.pojo.entity; + +import com.baomidou.mybatisplus.annotation.TableField; +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; + +/** + * 车间作业计划修改日志 实体类 + * + * @author BladeX + */ +@Data +@TableName("MES_WORK_ORDER_ADJUST") +@Schema(description = "WorkPlanLog对象") +@EqualsAndHashCode(callSuper = true) +public class WorkOrderAdjust extends BaseEntity { + + @Schema(description = "车间订单") + private Long woId; + + @Schema(description = "订单编号") + private String woCode; + + @Schema(description = "路线卡号") + private String cardNo; + + @Schema(description = "零件号") + private String partCode; + + @Schema(description = "批次") + private String batchNo; + + @Schema(description = "工序") + private String ppsName; + + @Schema(description = "数量") + private Double workQty; + + @Schema(description = "原班组") + private String oriMakeTeam; + + @Schema(description = "现班组") + private String makeTeam; + + @Schema(description = "原接收人") + private String oriReceiveMan; + + @Schema(description = "现接收人") + private String receiveMan; + + @TableField(exist = false) + @Schema(description = "调整人") + private String adjustName; + +} 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 1e1b98bf..ed0c0ea6 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 @@ -341,4 +341,9 @@ public class WorkPlan extends BaseEntity { @TableField(exist = false) private TaskDataDto taskData; + @TableField(exist = false) + @Schema(description = "车间计划修改记录") + private WorkPlanLog workPlanLog; + + } diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/produce/controller/DisTaskingController.java b/blade-service/blade-desk/src/main/java/org/springblade/desk/produce/controller/DisTaskingController.java index 6073c35d..7a066ab1 100644 --- a/blade-service/blade-desk/src/main/java/org/springblade/desk/produce/controller/DisTaskingController.java +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/produce/controller/DisTaskingController.java @@ -18,6 +18,7 @@ import org.springblade.core.tool.api.R; import org.springblade.desk.produce.pojo.dto.ShiftTransferDTO; import org.springblade.desk.produce.pojo.dto.TaskCompleteDTO; import org.springblade.desk.produce.pojo.dto.TaskCompleteOrderDTO; +import org.springblade.desk.produce.pojo.dto.UploadPlanDto; import org.springblade.desk.produce.pojo.entity.DisTasking; import org.springblade.desk.produce.pojo.entity.MakeRec; import org.springblade.desk.produce.pojo.entity.WorkPlan; @@ -140,8 +141,8 @@ public class DisTaskingController extends BladeController { @PostMapping("/uploadPlan") @ApiOperationSupport(order = 8) @Operation(summary = "报工调整-保存", description = "传入workPlanList") - public R uploadPlan(@Valid @RequestBody List workPlanList) { - pdaSaveService.uploadPlan(workPlanList); + public R uploadPlan(@RequestBody UploadPlanDto uploadPlanDto) { + pdaSaveService.uploadPlan(uploadPlanDto.getWorkPlanList()); return R.success(); } 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 4209384d..1f677bac 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 @@ -236,4 +236,6 @@ public interface IWorkOrderService extends BaseService { WorkOrder getWorkOrderUniqueRec(String prtno, String splcode, String sono); List findCubByYoId(Long yoId); + + void saveAdjust(Long woId, Long oldTsId, Long newTsId, Long userId); } diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/produce/service/impl/PdaSaveServiceImpl.java b/blade-service/blade-desk/src/main/java/org/springblade/desk/produce/service/impl/PdaSaveServiceImpl.java index 950c093c..1310ccdc 100644 --- a/blade-service/blade-desk/src/main/java/org/springblade/desk/produce/service/impl/PdaSaveServiceImpl.java +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/produce/service/impl/PdaSaveServiceImpl.java @@ -658,15 +658,15 @@ public class PdaSaveServiceImpl extends BaseServiceImpl list) { - if (list.size() == 0) { + if (list.isEmpty()) { return; } WorkPlan prWorkPlan; List ptLst; Long woId = null; for (WorkPlan item : list) { - if (item.getMakeTeam() == null || item.getId() == null) { continue; } @@ -674,54 +674,60 @@ public class PdaSaveServiceImpl extends BaseServiceImpl 0) { + if (ptLst != null && !ptLst.isEmpty()) { prWorkPlan.setSubsidiaryTeam(ptLst.get(0).getPpsId()); } } - if (prWorkPlan.getOem().equals("1")) { + if ("1".equals(prWorkPlan.getOem())) { prWorkPlan.setOem("0"); prWorkPlan.setOem(null); } prWorkPlan.setMakeTeam(item.getMakeTeam()); - // 2025-07-23 线上迁移修改注释掉代码 - if (item.getPapers() != null && (item.getMakeTeam() != null || item.getReceiveMan() != null)) { - WorkPlanLog log = new WorkPlanLog(); - log.setUpdateUser(AuthUtil.getUser().getUserId()); - log.setUpdateTime(new Date()); - log.setWoId(woId); - workPlanLogService.save(log); + if (item.getSubsidiaryTeam() != null) { + prWorkPlan.setSubsidiaryTeam(item.getSubsidiaryTeam()); + } + this.updateById(prWorkPlan); + if (item.getWorkPlanLog() != null && (item.getMakeTeam() != null || item.getReceiveMan() != null)) { + workPlanLogService.save(item.getWorkPlanLog()); } } + //获取主班组 + if (woId != null) { + workOrderService.updateHostWorkUnit(workOrderService.getById(woId)); + } } @Override public void shiftTransfer(ShiftTransferDTO shiftTransferDTO) { - List wpList = baseMapper.selectList(new QueryWrapper().eq("wo_id", shiftTransferDTO.getWoId())); + List wpList = this.list(Wrappers.lambdaQuery(WorkPlan.class).eq(WorkPlan::getWoId, shiftTransferDTO.getWoId())); + if (CollectionUtils.isEmpty(wpList)) { + return; + } BsTeamSetEntity makeTeam = new BsTeamSetEntity(); makeTeam.setId(shiftTransferDTO.getNewTsId()); - BsProcessSetEntity processSet = bsProcessSetService.getOne(Wrappers.lambdaQuery(BsProcessSetEntity.class).eq(BsProcessSetEntity::getId, shiftTransferDTO.getNewTsId())); + List ppsIds = wpList.stream().map(WorkPlan::getPpsId).toList(); + List processSetEntities = bsProcessSetService.listByIds(ppsIds); + // 转换为map + Map processSet = processSetEntities.stream().collect(Collectors.toMap(BsProcessSetEntity::getId, item -> item)); wpList.forEach(wp -> { - if (processSet.getIsSpecial() == null) { + if (processSet.get(wp.getPpsId()) == null) { return; } if (WorkPlan.STATUS_NO_START.equals(wp.getStatus())) { wp.setMakeTeam(makeTeam.getId()); } }); - // prWorkOrderAdjustService.saveAdjust(woId, oldTsId, newTsId, userInfo); + workOrderService.saveAdjust(shiftTransferDTO.getWoId(), shiftTransferDTO.getOldTsId(), shiftTransferDTO.getNewTsId(), AuthUtil.getUserId()); //更新订单主加工单位 - // prWorkOrderService.updateHostWorkUnit(woId); + workOrderService.updateHostWorkUnit(workOrderService.getById(shiftTransferDTO.getWoId())); } @Override 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 4e212eb6..0c326131 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 @@ -734,6 +734,31 @@ public class WorkOrderServiceImpl extends BaseServiceImpl 0) { +// woa.setCurStatus(PrWorkOrderAdjust.CUR_STATUS_UNFINISHED); +// } else { +// woa.setCurStatus(PrWorkOrderAdjust.CUR_STATUS_COMPLETE); +// } +// +// prWorkOrderAdjustDao.save(woa); + } + private String getVersionByPartCode(String partCode) { return erpDataProduceClient.getVersionByPartCode(partCode).getData(); }