diff --git a/blade-common/src/main/java/org/springblade/common/constant/LauncherConstant.java b/blade-common/src/main/java/org/springblade/common/constant/LauncherConstant.java index e3dc1cce..7fd0f38d 100644 --- a/blade-common/src/main/java/org/springblade/common/constant/LauncherConstant.java +++ b/blade-common/src/main/java/org/springblade/common/constant/LauncherConstant.java @@ -12,9 +12,9 @@ public interface LauncherConstant { /** * nacos 命名空间 */ -// String NACOS_NAMESPACE = "feaf627f-a847-463b-8b73-24a0538f526e"; + String NACOS_NAMESPACE = "feaf627f-a847-463b-8b73-24a0538f526e"; // 生产环境 - String NACOS_NAMESPACE = "db3f4da1-ae19-4104-8c17-6d9b8f069401"; +// String NACOS_NAMESPACE = "db3f4da1-ae19-4104-8c17-6d9b8f069401"; // 测试环境 // String NACOS_NAMESPACE = "6cdd0310-0d61-4f54-891a-7fb06224d9b8"; diff --git a/blade-ops/blade-job/src/main/java/org/springblade/job/processor/dashboard/AccumulateTankSolutionRefinement.java b/blade-ops/blade-job/src/main/java/org/springblade/job/processor/dashboard/AccumulateTankSolutionRefinement.java new file mode 100644 index 00000000..5dfa07cf --- /dev/null +++ b/blade-ops/blade-job/src/main/java/org/springblade/job/processor/dashboard/AccumulateTankSolutionRefinement.java @@ -0,0 +1,29 @@ +package org.springblade.job.processor.dashboard; + +import jakarta.annotation.Resource; +import lombok.Data; +import lombok.extern.slf4j.Slf4j; +import org.springblade.desk.dashboard.feign.IBatchPreservePlanClient; +import org.springframework.stereotype.Component; +import tech.powerjob.worker.core.processor.ProcessResult; +import tech.powerjob.worker.core.processor.TaskContext; +import tech.powerjob.worker.core.processor.sdk.BasicProcessor; + +/** + * 工艺模块-槽液精细化-累计类 + * @author liweidong + */ +@Component +@Data +@Slf4j +public class AccumulateTankSolutionRefinement implements BasicProcessor { + + @Resource + private IBatchPreservePlanClient client; + + @Override + public ProcessResult process(TaskContext context) throws Exception { + client.createAccumulateClassTask(); + return new ProcessResult(true); + } +} diff --git a/blade-ops/blade-job/src/main/java/org/springblade/job/processor/dashboard/DsTaskBillProcessor.java b/blade-ops/blade-job/src/main/java/org/springblade/job/processor/dashboard/DsTaskBillProcessor.java new file mode 100644 index 00000000..d30d49f0 --- /dev/null +++ b/blade-ops/blade-job/src/main/java/org/springblade/job/processor/dashboard/DsTaskBillProcessor.java @@ -0,0 +1,30 @@ +package org.springblade.job.processor.dashboard; + +import jakarta.annotation.Resource; +import lombok.Data; +import lombok.extern.slf4j.Slf4j; +import org.springblade.desk.dashboard.feign.IBatchPreservePlanClient; +import org.springblade.desk.dashboard.feign.IDsTaskBillClient; +import org.springframework.stereotype.Component; +import tech.powerjob.worker.core.processor.ProcessResult; +import tech.powerjob.worker.core.processor.TaskContext; +import tech.powerjob.worker.core.processor.sdk.BasicProcessor; + +/** + * 工艺模块-过程项任务 + * @author liweidong + */ +@Component +@Data +@Slf4j +public class DsTaskBillProcessor implements BasicProcessor { + + @Resource + private IDsTaskBillClient client; + + @Override + public ProcessResult process(TaskContext context) throws Exception { + client.createCraSpecTask(); + return new ProcessResult(true); + } +} diff --git a/blade-ops/blade-job/src/main/java/org/springblade/job/processor/dashboard/PerformPeriodicTankSolutionRefinement.java b/blade-ops/blade-job/src/main/java/org/springblade/job/processor/dashboard/PerformPeriodicTankSolutionRefinement.java new file mode 100644 index 00000000..f746c9ec --- /dev/null +++ b/blade-ops/blade-job/src/main/java/org/springblade/job/processor/dashboard/PerformPeriodicTankSolutionRefinement.java @@ -0,0 +1,29 @@ +package org.springblade.job.processor.dashboard; + +import jakarta.annotation.Resource; +import lombok.Data; +import lombok.extern.slf4j.Slf4j; +import org.springblade.desk.dashboard.feign.IBatchPreservePlanClient; +import org.springframework.stereotype.Component; +import tech.powerjob.worker.core.processor.ProcessResult; +import tech.powerjob.worker.core.processor.TaskContext; +import tech.powerjob.worker.core.processor.sdk.BasicProcessor; + +/** + * 工艺模块-槽液精细化-定期类 + * @author liweidong + */ +@Component +@Data +@Slf4j +public class PerformPeriodicTankSolutionRefinement implements BasicProcessor { + + @Resource + private IBatchPreservePlanClient client; + + @Override + public ProcessResult process(TaskContext context) throws Exception { + client.createPeriodicalClassTask(); + return new ProcessResult(true); + } +} diff --git a/blade-ops/blade-job/src/main/java/org/springblade/job/processor/dashboard/PlanTankSolutionRefinement.java b/blade-ops/blade-job/src/main/java/org/springblade/job/processor/dashboard/PlanTankSolutionRefinement.java new file mode 100644 index 00000000..38fa6a64 --- /dev/null +++ b/blade-ops/blade-job/src/main/java/org/springblade/job/processor/dashboard/PlanTankSolutionRefinement.java @@ -0,0 +1,30 @@ +package org.springblade.job.processor.dashboard; + +import jakarta.annotation.Resource; +import lombok.Data; +import lombok.extern.slf4j.Slf4j; +import org.springblade.desk.dashboard.feign.IBatchPreservePlanClient; +import org.springblade.desk.quality.feign.ICycleTestTaskClient; +import org.springframework.stereotype.Component; +import tech.powerjob.worker.core.processor.ProcessResult; +import tech.powerjob.worker.core.processor.TaskContext; +import tech.powerjob.worker.core.processor.sdk.BasicProcessor; + +/** + * 工艺模块-槽液精细化-计划类 + * @author liweidong + */ +@Component +@Data +@Slf4j +public class PlanTankSolutionRefinement implements BasicProcessor { + + @Resource + private IBatchPreservePlanClient client; + + @Override + public ProcessResult process(TaskContext context) throws Exception { + client.createPlanClassTask(); + return new ProcessResult(true); + } +} diff --git a/blade-ops/blade-job/src/main/java/org/springblade/job/processor/dashboard/ReworkTaskProcessor.java b/blade-ops/blade-job/src/main/java/org/springblade/job/processor/dashboard/ReworkTaskProcessor.java new file mode 100644 index 00000000..197799e5 --- /dev/null +++ b/blade-ops/blade-job/src/main/java/org/springblade/job/processor/dashboard/ReworkTaskProcessor.java @@ -0,0 +1,30 @@ +package org.springblade.job.processor.dashboard; + +import jakarta.annotation.Resource; +import lombok.Data; +import lombok.extern.slf4j.Slf4j; +import org.springblade.desk.dashboard.feign.IDsTaskBillClient; +import org.springblade.desk.dashboard.feign.IPartClient; +import org.springframework.stereotype.Component; +import tech.powerjob.worker.core.processor.ProcessResult; +import tech.powerjob.worker.core.processor.TaskContext; +import tech.powerjob.worker.core.processor.sdk.BasicProcessor; + +/** + * 工艺模块-返工任务 + * @author liweidong + */ +@Component +@Data +@Slf4j +public class ReworkTaskProcessor implements BasicProcessor { + + @Resource + private IPartClient client; + + @Override + public ProcessResult process(TaskContext context) throws Exception { + client.reworkTask(); + return new ProcessResult(true); + } +} diff --git a/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/dashboard/feign/IBatchPreservePlanClient.java b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/dashboard/feign/IBatchPreservePlanClient.java new file mode 100644 index 00000000..9bdcd2e2 --- /dev/null +++ b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/dashboard/feign/IBatchPreservePlanClient.java @@ -0,0 +1,44 @@ +package org.springblade.desk.dashboard.feign; + +import org.springblade.core.launch.constant.AppConstant; +import org.springblade.desk.dashboard.pojo.entity.DsPartEntity; +import org.springblade.desk.dashboard.pojo.entity.DsPartRelationEntity; +import org.springframework.cloud.openfeign.FeignClient; +import org.springframework.web.bind.annotation.GetMapping; + +import java.util.List; + +/** + * @author liweidong + */ +@FeignClient( + value = AppConstant.APPLICATION_DESK_NAME +) +public interface IBatchPreservePlanClient { + + String API_PREFIX = "/feign/client/batchPreservePlan"; + + String CREATE_PLAN_CLASS_TASK = API_PREFIX + "/createPlanClassTask"; + + String CREATE_PERIODICAL_CLASS_TASK = API_PREFIX + "/createPeriodicalClassTask"; + + String CREATE_ACCUMULATE_CLASS_TASK = API_PREFIX + "/createAccumulateClassTask"; + + /** + * 槽液精细化-计划类-任务发起 + */ + @GetMapping(CREATE_PLAN_CLASS_TASK) + void createPlanClassTask(); + + /** + * 槽液精细化-定期类-任务发起 + */ + @GetMapping(CREATE_PERIODICAL_CLASS_TASK) + void createPeriodicalClassTask(); + + /** + * 槽液精细化-累计类-任务发起 + */ + @GetMapping(CREATE_ACCUMULATE_CLASS_TASK) + void createAccumulateClassTask(); +} diff --git a/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/dashboard/feign/IDsTaskBillClient.java b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/dashboard/feign/IDsTaskBillClient.java new file mode 100644 index 00000000..f8035a7e --- /dev/null +++ b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/dashboard/feign/IDsTaskBillClient.java @@ -0,0 +1,28 @@ +package org.springblade.desk.dashboard.feign; + +import org.springblade.core.launch.constant.AppConstant; +import org.springblade.desk.dashboard.pojo.entity.DsPartEntity; +import org.springblade.desk.dashboard.pojo.entity.DsPartRelationEntity; +import org.springframework.cloud.openfeign.FeignClient; +import org.springframework.web.bind.annotation.GetMapping; + +import java.util.List; + +/** + * @author liweidong + */ +@FeignClient( + value = AppConstant.APPLICATION_DESK_NAME +) +public interface IDsTaskBillClient { + + String API_PREFIX = "/feign/client/taskBill"; + + String CREATE_CRA_SPEC_TASK = API_PREFIX + "/createCraSpecTask"; + + /** + * 过程项任务 + */ + @GetMapping(CREATE_CRA_SPEC_TASK) + void createCraSpecTask(); +} diff --git a/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/dashboard/feign/IPartClient.java b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/dashboard/feign/IPartClient.java index 8fddee39..388d3d8e 100644 --- a/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/dashboard/feign/IPartClient.java +++ b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/dashboard/feign/IPartClient.java @@ -24,6 +24,8 @@ public interface IPartClient { String BATCH_PARTS = API_PREFIX + "/batchParts"; + String REWORK_TASK = API_PREFIX + "/reworkTask"; + /** * 获取零件信息 * @param partCode 零件号 @@ -48,4 +50,10 @@ public interface IPartClient { */ @GetMapping(BATCH_PARTS) public List batchParts(List ids); + + /** + * 返工任务同步 + */ + @GetMapping(REWORK_TASK) + void reworkTask(); } diff --git a/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/dashboard/pojo/entity/DsModelProjectEntity.java b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/dashboard/pojo/entity/DsModelProjectEntity.java new file mode 100644 index 00000000..8b6b616b --- /dev/null +++ b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/dashboard/pojo/entity/DsModelProjectEntity.java @@ -0,0 +1,98 @@ +/** + * BladeX Commercial License Agreement + * Copyright (c) 2018-2099, https://bladex.cn. All rights reserved. + *

+ * Use of this software is governed by the Commercial License Agreement + * obtained after purchasing a license from BladeX. + *

+ * 1. This software is for development use only under a valid license + * from BladeX. + *

+ * 2. Redistribution of this software's source code to any third party + * without a commercial license is strictly prohibited. + *

+ * 3. Licensees may copyright their own code but cannot use segments + * from this software for such purposes. Copyright of this software + * remains with BladeX. + *

+ * Using this software signifies agreement to this License, and the software + * must not be used for illegal purposes. + *

+ * THIS SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY. The author is + * not liable for any claims arising from secondary or illegal development. + *

+ * Author: Chill Zhuang (bladejava@qq.com) + */ +package org.springblade.desk.dashboard.pojo.entity; + +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.io.Serial; + +/** + * 工艺模版明细 项目信息 实体类 + * + * @author BladeX + * @since 2025-11-12 + */ +@Data +@TableName("DS_MODEL_PROJECT") +@Schema(description = "DsModelProject对象") +@EqualsAndHashCode(callSuper = true) +public class DsModelProjectEntity extends BaseEntity { + + @Serial + private static final long serialVersionUID = 1L; + + /** + * 工艺模版明细ID + */ + @Schema(description = "工艺模版明细ID") + private Long modelDetailId; + /** + * 项目编号 + */ + @Schema(description = "项目编号") + private String projectCode; + /** + * 项目名称 + */ + @Schema(description = "项目名称") + private String projectName; + /** + * 标准 + */ + @Schema(description = "标准") + private String projectStandard; + /** + * 标准名称 + */ + @Schema(description = "标准名称") + private String projectStandardName; + /** + * 工时定额 + */ + @Schema(description = "工时定额") + private Long proHours; + /** + * 准备工时 + */ + @Schema(description = "准备工时") + private Long prepareHours; + /** + * 备注 + */ + @Schema(description = "备注") + private String remarks; + + /** + * 实验编号 + */ + @Schema(description = "实验编号") + private String trialNo; + +} diff --git a/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/dashboard/pojo/entity/DsPartEntity.java b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/dashboard/pojo/entity/DsPartEntity.java index a2d61b29..4d11ccc6 100644 --- a/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/dashboard/pojo/entity/DsPartEntity.java +++ b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/dashboard/pojo/entity/DsPartEntity.java @@ -311,4 +311,11 @@ public class DsPartEntity extends BaseEntity { @Schema(description = "零件状态") private String pfStatus = "1"; + + /** + * 是否电镀 + */ + @Schema(description = "是否电镀") + private String isElectroplating; + } diff --git a/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/dashboard/pojo/entity/DsProDetailEntity.java b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/dashboard/pojo/entity/DsProDetailEntity.java index 43fec64c..c4802c05 100644 --- a/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/dashboard/pojo/entity/DsProDetailEntity.java +++ b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/dashboard/pojo/entity/DsProDetailEntity.java @@ -25,6 +25,7 @@ */ package org.springblade.desk.dashboard.pojo.entity; +import com.alibaba.fastjson.annotation.JSONField; import lombok.Data; import io.swagger.v3.oas.annotations.media.Schema; import com.baomidou.mybatisplus.annotation.TableName; @@ -59,6 +60,7 @@ public class DsProDetailEntity extends BaseEntity { */ @Schema(description = "工序号") private String processNo; + /** * 工序代码 */ @@ -100,4 +102,17 @@ public class DsProDetailEntity extends BaseEntity { @Schema(description = "备注") private String remarks; + /** + * 工序ID + */ + @Schema(description = "工序ID") + private Long ppsId; + + /** + * 工艺能力id + */ + @Schema(description = "工艺能力id") + private Long caId; + + } diff --git a/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/dashboard/pojo/entity/DsProcessEntity.java b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/dashboard/pojo/entity/DsProcessEntity.java index 917437bb..4fe03cc8 100644 --- a/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/dashboard/pojo/entity/DsProcessEntity.java +++ b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/dashboard/pojo/entity/DsProcessEntity.java @@ -25,12 +25,15 @@ */ package org.springblade.desk.dashboard.pojo.entity; +import com.alibaba.fastjson.annotation.JSONField; import com.baomidou.mybatisplus.annotation.TableName; +import com.fasterxml.jackson.annotation.JsonInclude; +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; import org.springblade.core.mp.base.BaseEntity; - import java.io.Serial; /** @@ -112,15 +115,21 @@ public class DsProcessEntity extends BaseEntity { private String trialNo; - /** - * 工序ID - */ @Schema(description = "工序ID") private Long ppsId; - /** - * 工艺能力id - */ @Schema(description = "工艺能力id") private Long caId; + + + @JSONField(name = "ppsId") + public String getPpsIdStr() { + return this.ppsId == null ? null : this.ppsId.toString(); + } + + @JSONField(name = "caId") + public String getCaIdStr() { + return this.caId == null ? null : this.caId.toString(); + } + } diff --git a/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/dashboard/pojo/entity/PrReworkProcessEntity.java b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/dashboard/pojo/entity/PrReworkProcessEntity.java index 349e4190..e0915b4b 100644 --- a/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/dashboard/pojo/entity/PrReworkProcessEntity.java +++ b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/dashboard/pojo/entity/PrReworkProcessEntity.java @@ -25,6 +25,7 @@ */ package org.springblade.desk.dashboard.pojo.entity; +import com.alibaba.fastjson.annotation.JSONField; import lombok.Data; import io.swagger.v3.oas.annotations.media.Schema; import com.baomidou.mybatisplus.annotation.TableName; @@ -167,5 +168,19 @@ public class PrReworkProcessEntity extends BaseEntity { @Schema(description = "加工班组名称") private String makeTeamName; + @JSONField(name = "ppsId") + public String getPpsIdStr() { + return this.ppsId == null ? null : this.ppsId.toString(); + } + + @JSONField(name = "caId") + public String getCaIdStr() { + return this.caId == null ? null : this.caId.toString(); + } + + @JSONField(name = "makeTeam") + public String getMakeTeamStr() { + return this.makeTeam == null ? null : this.makeTeam.toString(); + } } diff --git a/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/dashboard/pojo/vo/BsCompilationCompletedVO.java b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/dashboard/pojo/vo/BsCompilationCompletedVO.java index 847aff26..cc886999 100644 --- a/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/dashboard/pojo/vo/BsCompilationCompletedVO.java +++ b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/dashboard/pojo/vo/BsCompilationCompletedVO.java @@ -30,9 +30,14 @@ public class BsCompilationCompletedVO { /** * 工序集合 */ - private List processList; + private List processList; /** * 工序删除ID集合 */ - private List deleteIds; + private List processDeleteIds; + + /** + * 项目删除ID集合 + */ + private List projectDeleteIds; } diff --git a/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/dashboard/pojo/vo/DsModelAndDetailVO.java b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/dashboard/pojo/vo/DsModelAndDetailVO.java index 4aa1e2c1..359af8a1 100644 --- a/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/dashboard/pojo/vo/DsModelAndDetailVO.java +++ b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/dashboard/pojo/vo/DsModelAndDetailVO.java @@ -49,6 +49,6 @@ public class DsModelAndDetailVO { /** * 工艺模版明细集合 */ - List dsProDetailEntityList; + List proDetailVOList; } diff --git a/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/dashboard/pojo/vo/DsPartSynthesisVO.java b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/dashboard/pojo/vo/DsPartSynthesisVO.java index ff239b9f..e5e47ccb 100644 --- a/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/dashboard/pojo/vo/DsPartSynthesisVO.java +++ b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/dashboard/pojo/vo/DsPartSynthesisVO.java @@ -54,4 +54,9 @@ public class DsPartSynthesisVO{ */ private String partVersion; + /** + * 子件信息 + */ + private List dsPartVOList; + } diff --git a/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/dashboard/pojo/vo/DsPartVO.java b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/dashboard/pojo/vo/DsPartVO.java index b1eede5e..7e9ee910 100644 --- a/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/dashboard/pojo/vo/DsPartVO.java +++ b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/dashboard/pojo/vo/DsPartVO.java @@ -84,6 +84,12 @@ public class DsPartVO extends DsPartEntity { @Schema(description = "子件信息") private List children; + /** + * 修改人 + */ + @Schema(description = "修改人") + private String updateUserStr; + public String getPartVersion() { return this.partVersion; } @@ -94,4 +100,5 @@ public class DsPartVO extends DsPartEntity { + } diff --git a/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/dashboard/pojo/vo/DsPartVersionVO.java b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/dashboard/pojo/vo/DsPartVersionVO.java index 8a90760c..64cbc1b9 100644 --- a/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/dashboard/pojo/vo/DsPartVersionVO.java +++ b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/dashboard/pojo/vo/DsPartVersionVO.java @@ -49,4 +49,10 @@ public class DsPartVersionVO extends DsPartEntity { @Schema(description = "零件版本号") private String partVersion; + /** + * 修改人 + */ + @Schema(description = "修改人") + private String updateUserStr; + } diff --git a/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/dashboard/pojo/vo/DsProDetailVO.java b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/dashboard/pojo/vo/DsProDetailVO.java index 31e880f1..8a4d43d4 100644 --- a/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/dashboard/pojo/vo/DsProDetailVO.java +++ b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/dashboard/pojo/vo/DsProDetailVO.java @@ -25,10 +25,21 @@ */ package org.springblade.desk.dashboard.pojo.vo; +import com.alibaba.fastjson.annotation.JSONField; +import com.alibaba.fastjson.serializer.JSONSerializer; +import com.alibaba.fastjson.serializer.ObjectSerializer; +import com.alibaba.fastjson.serializer.SerializeWriter; +import io.swagger.v3.oas.annotations.media.Schema; +import org.springblade.desk.dashboard.pojo.entity.DsModelProjectEntity; import org.springblade.desk.dashboard.pojo.entity.DsProDetailEntity; import lombok.Data; import lombok.EqualsAndHashCode; +import org.springblade.desk.dashboard.pojo.entity.DsProcessProjectEntity; + +import java.io.IOException; import java.io.Serial; +import java.lang.reflect.Type; +import java.util.List; /** * 工艺模版明细表 视图实体类 @@ -42,4 +53,12 @@ public class DsProDetailVO extends DsProDetailEntity { @Serial private static final long serialVersionUID = 1L; + private List modelProjectList; + + private String ppsIdStr; + + private String caIdStr; + + + } diff --git a/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/dashboard/pojo/vo/DsProModelDetailListVO.java b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/dashboard/pojo/vo/DsProModelDetailListVO.java index 28e9568b..b2f67105 100644 --- a/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/dashboard/pojo/vo/DsProModelDetailListVO.java +++ b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/dashboard/pojo/vo/DsProModelDetailListVO.java @@ -42,6 +42,10 @@ public class DsProModelDetailListVO { private DsProModelEntity promodel; - private List tableData; + private List tableData; + + private List detailIdList; + + private List modelProjectIdList; } diff --git a/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/dashboard/pojo/vo/DsProModelVO.java b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/dashboard/pojo/vo/DsProModelVO.java index acc37135..dfb5cf41 100644 --- a/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/dashboard/pojo/vo/DsProModelVO.java +++ b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/dashboard/pojo/vo/DsProModelVO.java @@ -49,4 +49,7 @@ public class DsProModelVO extends DsProModelEntity { @Schema(description = "镀种分类") private String platingTypeStr; + @Schema(description = "修改人") + private String updateUserStr; + } diff --git a/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/dashboard/pojo/vo/DsProcessVO.java b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/dashboard/pojo/vo/DsProcessVO.java index c1503134..cbbf2fe8 100644 --- a/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/dashboard/pojo/vo/DsProcessVO.java +++ b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/dashboard/pojo/vo/DsProcessVO.java @@ -42,4 +42,6 @@ import java.util.List; public class DsProcessVO extends DsProcessEntity { @Serial private static final long serialVersionUID = 1L; + + private List processProjectList; } diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/controller/DsCraftController.java b/blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/controller/DsCraftController.java index 60dbd487..3f54c485 100644 --- a/blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/controller/DsCraftController.java +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/controller/DsCraftController.java @@ -163,4 +163,14 @@ public class DsCraftController extends BladeController { return ResultInfo.ok(dsCraftService.getToolsByPartId(partId)); } + /** + * 一键删除全套工艺 + */ + @PostMapping("/craftBatchRemoval") + @Operation(summary = "逻辑删除", description = "传入ids") + public R craftBatchRemoval(@Parameter(description = "主键", required = true) @RequestParam String id) { + + return R.status(dsCraftService.craftBatchRemoval(id)); + } + } diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/controller/DsModelProjectController.java b/blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/controller/DsModelProjectController.java new file mode 100644 index 00000000..69cb5ab5 --- /dev/null +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/controller/DsModelProjectController.java @@ -0,0 +1,69 @@ +/** + * BladeX Commercial License Agreement + * Copyright (c) 2018-2099, https://bladex.cn. All rights reserved. + *

+ * Use of this software is governed by the Commercial License Agreement + * obtained after purchasing a license from BladeX. + *

+ * 1. This software is for development use only under a valid license + * from BladeX. + *

+ * 2. Redistribution of this software's source code to any third party + * without a commercial license is strictly prohibited. + *

+ * 3. Licensees may copyright their own code but cannot use segments + * from this software for such purposes. Copyright of this software + * remains with BladeX. + *

+ * Using this software signifies agreement to this License, and the software + * must not be used for illegal purposes. + *

+ * THIS SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY. The author is + * not liable for any claims arising from secondary or illegal development. + *

+ * Author: Chill Zhuang (bladejava@qq.com) + */ +package org.springblade.desk.dashboard.controller; + +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.servlet.http.HttpServletResponse; +import jakarta.validation.Valid; +import lombok.AllArgsConstructor; +import org.springblade.core.boot.ctrl.BladeController; +import org.springblade.core.excel.util.ExcelUtil; +import org.springblade.core.mp.support.Condition; +import org.springblade.core.mp.support.Query; +import org.springblade.core.secure.BladeUser; +import org.springblade.core.secure.annotation.IsAdmin; +import org.springblade.core.tool.api.R; +import org.springblade.core.tool.utils.DateUtil; +import org.springblade.core.tool.utils.Func; +import org.springblade.desk.dashboard.excel.DsProcessProjectExcel; +import org.springblade.desk.dashboard.pojo.entity.DsProcessProjectEntity; +import org.springblade.desk.dashboard.pojo.vo.DsProcessProjectVO; +import org.springblade.desk.dashboard.service.IDsProcessProjectService; +import org.springblade.desk.dashboard.wrapper.DsProcessProjectWrapper; +import org.springframework.web.bind.annotation.*; + +import java.util.List; +import java.util.Map; + +/** + * 工序项目信息表 控制器 + * + * @author BladeX + * @since 2025-11-12 + */ +@RestController +@AllArgsConstructor +@RequestMapping("/DsModelProject") +@Tag(name = "工艺模版项目表", description = "工艺模版项目表接口") +public class DsModelProjectController extends BladeController { + + +} diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/controller/DsProModelController.java b/blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/controller/DsProModelController.java index ed80b2a9..21011e4d 100644 --- a/blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/controller/DsProModelController.java +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/controller/DsProModelController.java @@ -105,32 +105,13 @@ public class DsProModelController extends BladeController { /** * 工艺模版 新增 */ - @PostMapping("/save") + @PostMapping("/submit") @ApiOperationSupport(order = 4) @Operation(summary = "新增", description = "传入dsProModel") - public R save(@RequestBody DsProModelDetailListVO modelDetailListVO) { - return R.data(dsProModelService.saveDsProModel(modelDetailListVO)); - } - - /** - * 工艺模版 修改 - */ - @PostMapping("/update") - @ApiOperationSupport(order = 5) - @Operation(summary = "修改", description = "传入dsProModel") - public R update(@RequestBody JSONObject data) { - return R.status(dsProModelService.update(data)); + public R submit(@RequestBody DsProModelDetailListVO modelDetailListVO) { + return R.data(dsProModelService.submit(modelDetailListVO)); } - /** - * 工艺模版 新增或修改 - */ - @PostMapping("/submit") - @ApiOperationSupport(order = 6) - @Operation(summary = "新增或修改", description = "传入dsProModel") - public R submit(@Valid @RequestBody DsProModelEntity dsProModel) { - return R.status(dsProModelService.saveOrUpdate(dsProModel)); - } /** * 工艺模版 删除 diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/controller/DsSpecialProController.java b/blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/controller/DsSpecialProController.java index fd27c71c..2d6c6284 100644 --- a/blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/controller/DsSpecialProController.java +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/controller/DsSpecialProController.java @@ -113,8 +113,8 @@ public class DsSpecialProController extends BladeController { @PostMapping("/save") @ApiOperationSupport(order = 4) @Operation(summary = "新增", description = "传入dsSpecialPro") - public R save(@Valid @RequestBody DsSpecialProEntity dsSpecialPro) { - return R.status(dsSpecialProService.save(dsSpecialPro)); + public R save(@Valid @RequestBody List dsSpecialProList) { + return R.status(dsSpecialProService.saveBatch(dsSpecialProList)); } /** diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/controller/DsTaskingController.java b/blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/controller/DsTaskingController.java index 6846addf..76f9c235 100644 --- a/blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/controller/DsTaskingController.java +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/controller/DsTaskingController.java @@ -277,9 +277,10 @@ public class DsTaskingController extends BladeController { ) { DsCraftEntity craft = compilationCompleted.getCraft(); - List processList = compilationCompleted.getProcessList(); - List deleteIds = compilationCompleted.getDeleteIds(); - return R.status(dsTaskingService.authorizedAccomplish(craft,processList,deleteIds)); + List processList = compilationCompleted.getProcessList(); + List processDeleteIds = compilationCompleted.getProcessDeleteIds(); + List projectDeleteIds = compilationCompleted.getProjectDeleteIds(); + return R.status(dsTaskingService.authorizedAccomplish(craft,processList,processDeleteIds,projectDeleteIds)); } diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/feign/BatchPreservePlanClient.java b/blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/feign/BatchPreservePlanClient.java new file mode 100644 index 00000000..b8e8259d --- /dev/null +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/feign/BatchPreservePlanClient.java @@ -0,0 +1,40 @@ +package org.springblade.desk.dashboard.feign; + +import io.swagger.v3.oas.annotations.Hidden; +import jakarta.annotation.Resource; +import org.springblade.desk.dashboard.pojo.entity.DsPartEntity; +import org.springblade.desk.dashboard.pojo.entity.DsPartRelationEntity; +import org.springblade.desk.dashboard.service.IDsBatchPreservePlanService; +import org.springblade.desk.dashboard.service.IDsPartRelationService; +import org.springblade.desk.dashboard.service.IDsPartService; +import org.springframework.web.bind.annotation.RestController; + +import java.util.List; + +/** + * @author liweidong + */ +@RestController +@Hidden() +public class BatchPreservePlanClient implements IBatchPreservePlanClient { + + @Resource + private IDsBatchPreservePlanService batchPreservePlanService; + + + @Override + public void createPlanClassTask() { + batchPreservePlanService.createPlanClassTask(); + } + + @Override + public void createPeriodicalClassTask() { + batchPreservePlanService.createPeriodicalClassTask(); + } + + @Override + public void createAccumulateClassTask() { + batchPreservePlanService.createAccumulateClassTask(); + } +} + diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/feign/DsTaskBillClient.java b/blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/feign/DsTaskBillClient.java new file mode 100644 index 00000000..91641d28 --- /dev/null +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/feign/DsTaskBillClient.java @@ -0,0 +1,25 @@ +package org.springblade.desk.dashboard.feign; + +import io.swagger.v3.oas.annotations.Hidden; +import jakarta.annotation.Resource; +import org.springblade.desk.dashboard.service.IDsBatchPreservePlanService; +import org.springblade.desk.dashboard.service.IDsTaskBillService; +import org.springframework.web.bind.annotation.RestController; + +/** + * @author liweidong + */ +@RestController +@Hidden() +public class DsTaskBillClient implements IDsTaskBillClient { + + @Resource + private IDsTaskBillService taskBillService; + + + @Override + public void createCraSpecTask() { + taskBillService.createCraSpecTask(); + } +} + diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/feign/PartClient.java b/blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/feign/PartClient.java index 813a6f94..a0690453 100644 --- a/blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/feign/PartClient.java +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/feign/PartClient.java @@ -6,6 +6,7 @@ import org.springblade.desk.dashboard.pojo.entity.DsPartEntity; import org.springblade.desk.dashboard.pojo.entity.DsPartRelationEntity; import org.springblade.desk.dashboard.service.IDsPartRelationService; import org.springblade.desk.dashboard.service.IDsPartService; +import org.springblade.desk.dashboard.service.IDsTaskingService; import org.springblade.desk.quality.feign.ILquidTankTaskClient; import org.springblade.desk.quality.service.ILiquidTankTaskService; import org.springframework.web.bind.annotation.RestController; @@ -22,6 +23,9 @@ public class PartClient implements IPartClient { @Resource private IDsPartRelationService partRelationService; + @Resource + private IDsTaskingService taskingService; + @Override public DsPartEntity getPart(String partCode,String version) { return partService.selectDsPartByPatCodeAndVersion(partCode,version); @@ -36,5 +40,10 @@ public class PartClient implements IPartClient { public List batchParts(List ids) { return partService.selectDsPartByIds(ids); } + + @Override + public void reworkTask() { + taskingService.reworkTask(); + } } diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/mapper/DsModelProjectMapper.java b/blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/mapper/DsModelProjectMapper.java new file mode 100644 index 00000000..d08119c3 --- /dev/null +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/mapper/DsModelProjectMapper.java @@ -0,0 +1,50 @@ +/** + * BladeX Commercial License Agreement + * Copyright (c) 2018-2099, https://bladex.cn. All rights reserved. + *

+ * Use of this software is governed by the Commercial License Agreement + * obtained after purchasing a license from BladeX. + *

+ * 1. This software is for development use only under a valid license + * from BladeX. + *

+ * 2. Redistribution of this software's source code to any third party + * without a commercial license is strictly prohibited. + *

+ * 3. Licensees may copyright their own code but cannot use segments + * from this software for such purposes. Copyright of this software + * remains with BladeX. + *

+ * Using this software signifies agreement to this License, and the software + * must not be used for illegal purposes. + *

+ * THIS SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY. The author is + * not liable for any claims arising from secondary or illegal development. + *

+ * Author: Chill Zhuang (bladejava@qq.com) + */ +package org.springblade.desk.dashboard.mapper; + +import com.baomidou.mybatisplus.core.conditions.Wrapper; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import org.apache.ibatis.annotations.Param; +import org.springblade.desk.dashboard.excel.DsProcessProjectExcel; +import org.springblade.desk.dashboard.pojo.entity.DsModelProjectEntity; +import org.springblade.desk.dashboard.pojo.entity.DsProcessProjectEntity; +import org.springblade.desk.dashboard.pojo.vo.DsProcessProjectVO; + +import java.util.List; + +/** + * + * @author BladeX + * @since 2025-11-12 + */ +public interface DsModelProjectMapper extends BaseMapper { + + + List selectByDetailId(@Param("detailId") Long detailId); + + List selectByDetailIds(@Param("detailIds") List detailIds); +} diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/mapper/ModelProjectMapper.xml b/blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/mapper/ModelProjectMapper.xml new file mode 100644 index 00000000..771702df --- /dev/null +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/mapper/ModelProjectMapper.xml @@ -0,0 +1,37 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/mapper/PartMapper.xml b/blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/mapper/PartMapper.xml index 0f0d223b..647f1b24 100644 --- a/blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/mapper/PartMapper.xml +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/mapper/PartMapper.xml @@ -126,6 +126,7 @@ + diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/mapper/ProDetailMapper.xml b/blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/mapper/ProDetailMapper.xml index c9f86a4d..641ec7f1 100644 --- a/blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/mapper/ProDetailMapper.xml +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/mapper/ProDetailMapper.xml @@ -22,6 +22,8 @@ + + UPDATE DS_PRO_DETAIL diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/mapper/ProcessMapper.xml b/blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/mapper/ProcessMapper.xml index c955ac4f..1bbf67e6 100644 --- a/blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/mapper/ProcessMapper.xml +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/mapper/ProcessMapper.xml @@ -23,6 +23,8 @@ + + diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/service/IDsCraftService.java b/blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/service/IDsCraftService.java index 5cacf287..074e64d5 100644 --- a/blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/service/IDsCraftService.java +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/service/IDsCraftService.java @@ -169,4 +169,11 @@ public interface IDsCraftService extends BaseService { * @return */ DsCraftEntity getCraft(String partCode, String roamNo, String prodIdent, Integer priority, Integer rank, String partVersions); + + /** + * 一键删除 + * @param id + * @return + */ + boolean craftBatchRemoval(String id); } diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/service/IDsModelProjectService.java b/blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/service/IDsModelProjectService.java new file mode 100644 index 00000000..dc6e1f4d --- /dev/null +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/service/IDsModelProjectService.java @@ -0,0 +1,61 @@ +/** + * BladeX Commercial License Agreement + * Copyright (c) 2018-2099, https://bladex.cn. All rights reserved. + *

+ * Use of this software is governed by the Commercial License Agreement + * obtained after purchasing a license from BladeX. + *

+ * 1. This software is for development use only under a valid license + * from BladeX. + *

+ * 2. Redistribution of this software's source code to any third party + * without a commercial license is strictly prohibited. + *

+ * 3. Licensees may copyright their own code but cannot use segments + * from this software for such purposes. Copyright of this software + * remains with BladeX. + *

+ * Using this software signifies agreement to this License, and the software + * must not be used for illegal purposes. + *

+ * THIS SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY. The author is + * not liable for any claims arising from secondary or illegal development. + *

+ * Author: Chill Zhuang (bladejava@qq.com) + */ +package org.springblade.desk.dashboard.service; + +import com.baomidou.mybatisplus.core.conditions.Wrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import org.springblade.core.mp.base.BaseService; +import org.springblade.desk.dashboard.excel.DsProcessProjectExcel; +import org.springblade.desk.dashboard.pojo.entity.DsModelProjectEntity; +import org.springblade.desk.dashboard.pojo.entity.DsProcessEntity; +import org.springblade.desk.dashboard.pojo.entity.DsProcessProjectEntity; +import org.springblade.desk.dashboard.pojo.vo.DsProcessProjectVO; +import org.springblade.desk.dashboard.pojo.vo.PrReworkProcessVO; + +import java.util.List; + +/** + * 工序项目信息表 服务类 + * + * @author BladeX + * @since 2025-11-12 + */ +public interface IDsModelProjectService extends BaseService { + + /** + * 根据模版明细ID查询 + * @param detailId + * @return + */ + List selectByDetailId(Long detailId); + + /** + * 批量查询 + * @param detailIds + * @return + */ + List selectByDetailIds(List detailIds); +} diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/service/IDsProModelService.java b/blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/service/IDsProModelService.java index f98198fe..6c751301 100644 --- a/blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/service/IDsProModelService.java +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/service/IDsProModelService.java @@ -66,7 +66,7 @@ public interface IDsProModelService extends BaseService { * @param detailListVO * @return */ - boolean saveDsProModel(DsProModelDetailListVO detailListVO); + boolean submit(DsProModelDetailListVO detailListVO); /** * 工艺模版详情 diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/service/IDsProcessService.java b/blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/service/IDsProcessService.java index 3e15941f..7b82a4a2 100644 --- a/blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/service/IDsProcessService.java +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/service/IDsProcessService.java @@ -85,8 +85,9 @@ public interface IDsProcessService extends BaseService { * 新增修改工序信息 * @param craft * @param processList - * @param deleteIds + * @param processDeleteIds + * @param projectDeleteIds * @return */ - boolean addOrEdit(DsCraftEntity craft, List processList, List deleteIds); + boolean addOrEdit(DsCraftEntity craft, List processList, List processDeleteIds, List projectDeleteIds); } diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/service/IDsTaskingService.java b/blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/service/IDsTaskingService.java index 62da417f..1471874e 100644 --- a/blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/service/IDsTaskingService.java +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/service/IDsTaskingService.java @@ -28,13 +28,10 @@ package org.springblade.desk.dashboard.service; import com.baomidou.mybatisplus.core.conditions.Wrapper; import org.springblade.desk.dashboard.pojo.dto.DsTaskingDTO; import org.springblade.desk.dashboard.pojo.entity.*; -import org.springblade.desk.dashboard.pojo.vo.DsPartAuthorizedVO; -import org.springblade.desk.dashboard.pojo.vo.DsPartSynthesisVO; -import org.springblade.desk.dashboard.pojo.vo.DsTaskingVO; +import org.springblade.desk.dashboard.pojo.vo.*; import org.springblade.desk.dashboard.excel.DsTaskingExcel; import com.baomidou.mybatisplus.core.metadata.IPage; import org.springblade.core.mp.base.BaseService; -import org.springblade.desk.dashboard.pojo.vo.PrReworkProcessVO; import java.util.List; @@ -156,10 +153,11 @@ public interface IDsTaskingService extends BaseService { * 工艺编制 完成 * @param craft 工艺 * @param processList 工序 - * @param deleteIds 删除ID - * @return + * @param processDeleteIds + * @param projectDeleteIds 删除ID + * @return */ - boolean authorizedAccomplish( DsCraftEntity craft, List processList, List deleteIds); + boolean authorizedAccomplish(DsCraftEntity craft, List processList, List processDeleteIds, List projectDeleteIds); /** * 任务处理 编制 项目保存 diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/service/impl/DsCraftServiceImpl.java b/blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/service/impl/DsCraftServiceImpl.java index d2e6098e..272bba16 100644 --- a/blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/service/impl/DsCraftServiceImpl.java +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/service/impl/DsCraftServiceImpl.java @@ -31,6 +31,7 @@ import com.baomidou.mybatisplus.core.toolkit.CollectionUtils; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import lombok.RequiredArgsConstructor; import org.apache.commons.lang3.ObjectUtils; +import org.apache.commons.lang3.StringUtils; import org.springblade.core.log.exception.ServiceException; import org.springblade.core.mp.base.BaseServiceImpl; import org.springblade.core.secure.utils.AuthUtil; @@ -43,6 +44,7 @@ import org.springblade.desk.dashboard.pojo.vo.DsProcessSynthesisVO; import org.springblade.desk.dashboard.service.*; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; import java.util.*; import java.util.stream.Collectors; @@ -70,6 +72,9 @@ public class DsCraftServiceImpl extends BaseServiceImpl selectDsCraftPage(IPage page, DsCraftVO dsCraft) { @@ -248,4 +253,91 @@ public class DsCraftServiceImpl extends BaseServiceImpl processEntities = processService.selectDsProcessByCraftId(craftId); + if (processEntities.isEmpty()) { + return true; + } + + List processIdList = processEntities.stream() + .map(DsProcessEntity::getId) + .filter(Objects::nonNull) + .collect(Collectors.toList()); + + //查询 + List allResults = batchQueryAssociations(processIdList); + + @SuppressWarnings("unchecked") + List processProjectEntities = (List) allResults.get(0); + @SuppressWarnings("unchecked") + List processMeasuringToolEntities = (List) allResults.get(1); + @SuppressWarnings("unchecked") + List processMoldToolEntities = (List) allResults.get(2); + + //按正确顺序删除 + // 项目 + if (!processProjectEntities.isEmpty()) { + List processProjectIdList = processProjectEntities.stream() + .map(DsProcessProjectEntity::getId) + .collect(Collectors.toList()); + processProjectService.deleteLogic(processProjectIdList); + } + + // 量具 + if (!processMeasuringToolEntities.isEmpty()) { + List processMeasuringToolIdList = processMeasuringToolEntities.stream() + .map(DsProcessMeasuringToolEntity::getId) + .collect(Collectors.toList()); + processMeasuringToolService.deleteLogic(processMeasuringToolIdList); + } + + // 工装模具 + if (!processMoldToolEntities.isEmpty()) { + List processMoldToolIdList = processMoldToolEntities.stream() + .map(DsProcessMoldToolEntity::getId) + .collect(Collectors.toList()); + processMoldToolService.deleteLogic(processMoldToolIdList); + } + + // 最后删除工序 + processService.deleteLogic(processIdList); + + return true; + } + + /** + * 批量查询关联数据 + */ + private List batchQueryAssociations(List processIds) { + List results = new ArrayList<>(); + + results.add(processProjectService.selectDsProcessProjectByProcessIds(processIds)); + results.add(processMeasuringToolService.selectDsProcessMeasuringToolByProcessIds(processIds)); + results.add(processMoldToolService.selectDsProcessMoldToolByProcessIds(processIds)); + + return results; + } } diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/service/impl/DsModelProjectServiceImpl.java b/blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/service/impl/DsModelProjectServiceImpl.java new file mode 100644 index 00000000..ba0e1b29 --- /dev/null +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/service/impl/DsModelProjectServiceImpl.java @@ -0,0 +1,68 @@ +/** + * BladeX Commercial License Agreement + * Copyright (c) 2018-2099, https://bladex.cn. All rights reserved. + *

+ * Use of this software is governed by the Commercial License Agreement + * obtained after purchasing a license from BladeX. + *

+ * 1. This software is for development use only under a valid license + * from BladeX. + *

+ * 2. Redistribution of this software's source code to any third party + * without a commercial license is strictly prohibited. + *

+ * 3. Licensees may copyright their own code but cannot use segments + * from this software for such purposes. Copyright of this software + * remains with BladeX. + *

+ * Using this software signifies agreement to this License, and the software + * must not be used for illegal purposes. + *

+ * THIS SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY. The author is + * not liable for any claims arising from secondary or illegal development. + *

+ * Author: Chill Zhuang (bladejava@qq.com) + */ +package org.springblade.desk.dashboard.service.impl; + +import com.baomidou.mybatisplus.core.conditions.Wrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import org.springblade.core.mp.base.BaseServiceImpl; +import org.springblade.desk.dashboard.excel.DsProcessProjectExcel; +import org.springblade.desk.dashboard.mapper.DsModelProjectMapper; +import org.springblade.desk.dashboard.mapper.DsProcessProjectMapper; +import org.springblade.desk.dashboard.pojo.entity.DsModelProjectEntity; +import org.springblade.desk.dashboard.pojo.entity.DsProcessEntity; +import org.springblade.desk.dashboard.pojo.entity.DsProcessProjectEntity; +import org.springblade.desk.dashboard.pojo.vo.DsProcessProjectVO; +import org.springblade.desk.dashboard.pojo.vo.PrReworkProcessVO; +import org.springblade.desk.dashboard.service.IDsModelProjectService; +import org.springblade.desk.dashboard.service.IDsProcessProjectService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import org.springframework.util.CollectionUtils; + +import java.util.List; + +/** + * 工序项目信息表 服务实现类 + * + * @author BladeX + * @since 2025-11-12 + */ +@Service +public class DsModelProjectServiceImpl extends BaseServiceImpl implements IDsModelProjectService { + + @Autowired + DsModelProjectMapper modelProjectMapper; + + @Override + public List selectByDetailId(Long detailId) { + return modelProjectMapper.selectByDetailId(detailId); + } + + @Override + public List selectByDetailIds(List detailIds) { + return modelProjectMapper.selectByDetailIds(detailIds); + } +} diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/service/impl/DsPartServiceImpl.java b/blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/service/impl/DsPartServiceImpl.java index be60400b..2fa64a6b 100644 --- a/blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/service/impl/DsPartServiceImpl.java +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/service/impl/DsPartServiceImpl.java @@ -20,6 +20,7 @@ import org.springblade.erpdata.feign.IErpDataPartClient; import org.springblade.erpdata.feign.IErpDataSearchClient; import org.springblade.erpdata.pojo.dto.AllocationDTO; import org.springblade.system.feign.IUserClient; +import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.context.annotation.Lazy; import org.springframework.stereotype.Service; @@ -114,6 +115,7 @@ public class DsPartServiceImpl extends BaseServiceImpl dsPartVOS = baseMapper.selectDsPartPage(page, dsPart); if(!CollectionUtils.isEmpty(dsPartVOS)){ for (DsPartVO dsPartVO : dsPartVOS) { + dsPartVO.setUpdateUserStr(userClient.userInfo(Func.toLong(dsPartVO.getUpdateUser())).getData().getUser().getName()); String isSintering = dsPartVO.getIsSintering(); if(TaskingConstant.IS_SINTERING.equals(isSintering)){ //查询子件信息 @@ -122,6 +124,9 @@ public class DsPartServiceImpl extends BaseServiceImpl idList = partRelationEntityList.stream().map(DsPartRelationEntity::getChildPartId).collect(Collectors.toList()); if(!CollectionUtils.isEmpty(idList)){ List dsPartEntityList = dsPartMapper.selectDsPartVersionByIds(idList); + for (DsPartVersionVO dsPartVersionVO : dsPartEntityList) { + dsPartVersionVO.setUpdateUserStr(userClient.userInfo(Func.toLong(dsPartVersionVO.getUpdateUser())).getData().getUser().getName()); + } dsPartVO.setChildren(dsPartEntityList); } } @@ -390,7 +395,24 @@ public class DsPartServiceImpl extends BaseServiceImpl dsPartEntityList = dsPartMapper.selectDsPartByIds(idList); - dsPartSynthesisVO.setDsPartEntities(dsPartEntityList); + + List dsPartVOList = dsPartEntityList.stream() + .map(entity -> { + DsPartVO vo = new DsPartVO(); + BeanUtils.copyProperties(entity, vo); + + if (vo.getUpdateUser() != null) { + String userName = userClient.userInfo(Func.toLong(vo.getUpdateUser())) + .getData() + .getUser() + .getName(); + vo.setUpdateUserStr(userName); + } + return vo; + }) + .collect(Collectors.toList()); + + dsPartSynthesisVO.setDsPartVOList(dsPartVOList); } dsPartSynthesisVO.setDsPartEntity(partEntity); diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/service/impl/DsProModelServiceImpl.java b/blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/service/impl/DsProModelServiceImpl.java index 65f9a0d6..94bfada9 100644 --- a/blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/service/impl/DsProModelServiceImpl.java +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/service/impl/DsProModelServiceImpl.java @@ -27,27 +27,28 @@ package org.springblade.desk.dashboard.service.impl; import com.alibaba.fastjson.JSONObject; +import com.baomidou.mybatisplus.core.toolkit.CollectionUtils; import org.springblade.core.log.exception.ServiceException; import org.springblade.core.tool.utils.Func; -import org.springblade.desk.dashboard.pojo.entity.BsPlatingTypeEntity; -import org.springblade.desk.dashboard.pojo.entity.DsProDetailEntity; -import org.springblade.desk.dashboard.pojo.entity.DsProModelEntity; +import org.springblade.desk.dashboard.pojo.entity.*; import org.springblade.desk.dashboard.pojo.vo.DsModelAndDetailVO; +import org.springblade.desk.dashboard.pojo.vo.DsProDetailVO; import org.springblade.desk.dashboard.pojo.vo.DsProModelDetailListVO; import org.springblade.desk.dashboard.pojo.vo.DsProModelVO; import org.springblade.desk.dashboard.excel.DsProModelExcel; import org.springblade.desk.dashboard.mapper.DsProModelMapper; -import org.springblade.desk.dashboard.service.IBsPlatingTypeService; -import org.springblade.desk.dashboard.service.IDsProDetailService; -import org.springblade.desk.dashboard.service.IDsProModelService; +import org.springblade.desk.dashboard.service.*; +import org.springblade.system.feign.IUserClient; import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import com.baomidou.mybatisplus.core.conditions.Wrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import org.springblade.core.mp.base.BaseServiceImpl; +import org.springframework.transaction.annotation.Transactional; -import java.util.List; +import java.util.*; +import java.util.stream.Collectors; /** * 工艺模版 服务实现类 @@ -67,6 +68,15 @@ public class DsProModelServiceImpl extends BaseServiceImpl selectDsProModelPage(IPage page, DsProModelVO dsProModel) { List DsProModelVO = baseMapper.selectDsProModelPage(page, dsProModel); @@ -74,6 +84,9 @@ public class DsProModelServiceImpl extends BaseServiceImpl dsProDetailEntityList = proDetailService.selectDsProDetailByModelId(dsProModelVO.getId()); dsProModelVO.setProcessNum((long)dsProDetailEntityList.size()); @@ -92,8 +105,10 @@ public class DsProModelServiceImpl extends BaseServiceImpl prodetailList = detailListVO.getTableData(); - for (DsProDetailEntity tableDatum : prodetailList) { - if(null == tableDatum.getId()){ - tableDatum.setModelId(modelId); - boolean saveBatch = proDetailService.save(tableDatum); + List prodetailList = detailListVO.getTableData(); + + if(!CollectionUtils.isEmpty(detailListVO.getModelProjectIdList())){ + modelProjectService.deleteLogic(detailListVO.getModelProjectIdList()); + } + + if(!CollectionUtils.isEmpty(detailListVO.getDetailIdList())){ + proDetailService.deleteLogic(detailListVO.getDetailIdList()); + } + + + List allProjectsToSave = new ArrayList<>(); + List allProjectsToUpdate = new ArrayList<>(); + + for (DsProDetailVO dsProDetailVO : prodetailList) { + if(null == dsProDetailVO.getId()){ + // 新增明细 + dsProDetailVO.setModelId(modelId); + boolean saveBatch = proDetailService.save(dsProDetailVO); if(!saveBatch){ throw new ServiceException("工艺模版明细新增失败"); } + + // 处理项目 + List modelProjectList = dsProDetailVO.getModelProjectList(); + if (CollectionUtils.isNotEmpty(modelProjectList)) { + Long detailId = dsProDetailVO.getId(); + modelProjectList.forEach(project -> project.setModelDetailId(detailId)); + allProjectsToSave.addAll(modelProjectList); + } }else { - boolean update = proDetailService.updateById(tableDatum); + // 更新明细 + boolean update = proDetailService.updateById(dsProDetailVO); if(!update){ throw new ServiceException("工艺模版明细修改失败"); } + + // 处理项目 + List modelProjectList = dsProDetailVO.getModelProjectList(); + if (CollectionUtils.isNotEmpty(modelProjectList)) { + Long detailId = dsProDetailVO.getId(); + + for (DsModelProjectEntity dsModelProjectEntity : modelProjectList) { + dsModelProjectEntity.setModelDetailId(detailId); + + if(null == dsModelProjectEntity.getId()){ + allProjectsToSave.add(dsModelProjectEntity); + }else { + allProjectsToUpdate.add(dsModelProjectEntity); + } + } + } + } + } + + if (!allProjectsToSave.isEmpty()) { + boolean saveBatch1 = modelProjectService.saveBatch(allProjectsToSave); + if(!saveBatch1){ + throw new ServiceException("工艺模版项目新增失败"); } + } + if (!allProjectsToUpdate.isEmpty()) { + boolean updateBatch = modelProjectService.updateBatchById(allProjectsToUpdate); + if(!updateBatch){ + throw new ServiceException("工艺模版项目更新失败"); + } } return true; } + @Override public DsModelAndDetailVO detail(Long id) { + // 工艺模版 DsProModelEntity dsProModelEntity = proModelMapper.selectById(id); + if (dsProModelEntity == null) { + throw new ServiceException("工艺模版不存在"); + } + + // 工艺模版明细 List dsProDetailEntityList = proDetailService.selectDsProDetailByModelId(id); + //转换 + List proDetailVOS = dsProDetailEntityList.stream() + .map(entity -> { + DsProDetailVO vo = new DsProDetailVO(); + BeanUtils.copyProperties(entity, vo); + vo.setPpsIdStr(entity.getPpsId() != null ? entity.getPpsId().toString() : null); + vo.setCaIdStr(entity.getCaId() != null ? entity.getCaId().toString() : null); + return vo; + }) + .collect(Collectors.toList()); + + + if (!proDetailVOS.isEmpty()) { + + List detailIds = proDetailVOS.stream() + .map(DsProDetailVO::getId) + .collect(Collectors.toList()); + + // 批量查询 + List allProjects = modelProjectService.selectByDetailIds(detailIds); + + //按detailId分组 + Map> projectMap = allProjects.stream() + .collect(Collectors.groupingBy(DsModelProjectEntity::getModelDetailId)); + + // 设置到VO + proDetailVOS.forEach(vo -> { + List projects = projectMap.get(vo.getId()); + vo.setModelProjectList(projects != null ? projects : Collections.emptyList()); + }); + } + DsModelAndDetailVO dsModelAndDetailVO = new DsModelAndDetailVO(); dsModelAndDetailVO.setDsProModelEntity(dsProModelEntity); - dsModelAndDetailVO.setDsProDetailEntityList(dsProDetailEntityList); + dsModelAndDetailVO.setProDetailVOList(proDetailVOS); return dsModelAndDetailVO; } @@ -163,34 +269,34 @@ public class DsProModelServiceImpl extends BaseServiceImpl tableData = dsProModelDetailListVO.getTableData(); - for (DsProDetailEntity tableDatum : tableData) { - tableDatum.setModelId(modelId); - } - //删除原模版数据 - boolean delete = proDetailService.deleteDetailByModelId(modelId); - if(!delete){ - throw new ServiceException("工艺模版明细修改失败"); - } - boolean saveBatch = proDetailService.saveBatch(tableData); - if(!saveBatch){ - throw new ServiceException("工艺模版明细修改失败"); - } +// if(null == data){ +// throw new ServiceException("数据不能为空"); +// } +// DsProModelDetailListVO dsProModelDetailListVO = JSONObject.toJavaObject(data, DsProModelDetailListVO.class); +// DsProModelEntity entity = new DsProModelEntity(); +// BeanUtils.copyProperties(dsProModelDetailListVO, entity); +// entity.setProcessNum((long) dsProModelDetailListVO.getTableData().size()); +// //修改模版 +// boolean update = updateById(entity); +// if(!update){ +// throw new ServiceException("工艺模版修改失败"); +// } +// +// Long modelId = entity.getId(); +// +// List tableData = dsProModelDetailListVO.getTableData(); +// for (DsProDetailEntity tableDatum : tableData) { +// tableDatum.setModelId(modelId); +// } +// //删除原模版数据 +// boolean delete = proDetailService.deleteDetailByModelId(modelId); +// if(!delete){ +// throw new ServiceException("工艺模版明细修改失败"); +// } +// boolean saveBatch = proDetailService.saveBatch(tableData); +// if(!saveBatch){ +// throw new ServiceException("工艺模版明细修改失败"); +// } return true; } diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/service/impl/DsProcessServiceImpl.java b/blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/service/impl/DsProcessServiceImpl.java index 13bf1efe..7c717f55 100644 --- a/blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/service/impl/DsProcessServiceImpl.java +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/service/impl/DsProcessServiceImpl.java @@ -25,8 +25,8 @@ */ package org.springblade.desk.dashboard.service.impl; -import com.baomidou.mybatisplus.core.injector.methods.DeleteByIds; import org.springblade.desk.dashboard.pojo.entity.*; +import org.springblade.desk.dashboard.pojo.vo.DsProcessProjectVO; import org.springblade.desk.dashboard.pojo.vo.DsProcessSynthesisVO; import org.springblade.desk.dashboard.pojo.vo.DsProcessVO; import org.springblade.desk.dashboard.excel.DsProcessExcel; @@ -116,9 +116,9 @@ public class DsProcessServiceImpl extends BaseServiceImpl processList, List deleteIds) { + public boolean addOrEdit(DsCraftEntity craft, List processList, List processDeleteIds, List projectDeleteIds) { if(!CollectionUtils.isEmpty(processList)){ - for (DsProcessEntity process : processList) { + for (DsProcessVO process : processList) { if (null != process.getId() ) { DsCraftEntity craftEntity = craftService.getById(process.getCraftId()); DsPartEntity partEntity = partService.getById(craftEntity.getPartId()); @@ -137,10 +137,25 @@ public class DsProcessServiceImpl extends BaseServiceImpl processProjectList = process.getProcessProjectList(); + if(!CollectionUtils.isEmpty(processProjectList)){ + for (DsProcessProjectVO dsProcessProjectVO : processProjectList) { + if(null == dsProcessProjectVO.getId()){ + dsProcessProjectVO.setProcessId(process.getId()); + boolean save = processProjectService.save(dsProcessProjectVO); + }else { + boolean update = processProjectService.updateById(dsProcessProjectVO); + } + } + } } } - if(!CollectionUtils.isEmpty(deleteIds)){ - deleteLogic(deleteIds); + if(!CollectionUtils.isEmpty(processDeleteIds)){ + deleteLogic(processDeleteIds); + } + if(!CollectionUtils.isEmpty(projectDeleteIds)){ + processProjectService.deleteLogic(projectDeleteIds); } return true; } diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/service/impl/DsTaskingServiceImpl.java b/blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/service/impl/DsTaskingServiceImpl.java index c430f7cd..5a642911 100644 --- a/blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/service/impl/DsTaskingServiceImpl.java +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/service/impl/DsTaskingServiceImpl.java @@ -43,7 +43,6 @@ import org.springblade.desk.order.pojo.entity.YieldOrder; import org.springblade.desk.order.service.IYieldOrderService; import org.springblade.desk.produce.service.IWorkOrderService; import org.springblade.desk.produce.service.IWorkPlanService; -import org.springblade.erpdata.feign.IErpDataPartClient; import org.springblade.erpdata.feign.IErpDataReworkTaskClient; import org.springblade.scheduling.pojo.entity.WorkOrderEntity; import org.springblade.scheduling.pojo.entity.WorkPlanEntity; @@ -584,7 +583,24 @@ public class DsTaskingServiceImpl extends BaseServiceImpl dsPartEntityList = partService.selectDsPartByIds(idList); - dsPartSynthesisVO.setDsPartEntities(dsPartEntityList); + + List dsPartVOList = dsPartEntityList.stream() + .map(entity -> { + DsPartVO vo = new DsPartVO(); + BeanUtils.copyProperties(entity, vo); + + if (vo.getUpdateUser() != null) { + String userName = userClient.userInfo(Func.toLong(vo.getUpdateUser())) + .getData() + .getUser() + .getName(); + vo.setUpdateUserStr(userName); + } + return vo; + }) + .collect(Collectors.toList()); + + dsPartSynthesisVO.setDsPartVOList(dsPartVOList); } } dsPartSynthesisVO.setDsPartEntity(partEntity); @@ -754,12 +770,12 @@ public class DsTaskingServiceImpl extends BaseServiceImpl processList, List deleteIds) { + public boolean authorizedAccomplish(DsCraftEntity craft, List processList, List processDeleteIds, List projectIds) { //工艺 craftService.addOrEdit(craft); //工序 - processService.addOrEdit(craft,processList,deleteIds); + processService.addOrEdit(craft,processList,processDeleteIds,projectIds); return true; } @@ -1072,15 +1088,15 @@ public class DsTaskingServiceImpl extends BaseServiceImpl