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();
}