diff --git a/blade-common/src/main/java/org/springblade/common/cache/CacheNames.java b/blade-common/src/main/java/org/springblade/common/cache/CacheNames.java index 97909a3e..ffbafde1 100644 --- a/blade-common/src/main/java/org/springblade/common/cache/CacheNames.java +++ b/blade-common/src/main/java/org/springblade/common/cache/CacheNames.java @@ -32,6 +32,31 @@ package org.springblade.common.cache; */ public interface CacheNames { + //region 系统缓存 + /** + * 验证码key + */ + String CAPTCHA_KEY = "blade:auth::blade:captcha:"; + + /** + * 账号失败key + */ + String ACCOUNT_FAIL_KEY = "blade:lock::account:fail:"; + + /** + * IP失败key + */ + String IP_FAIL_KEY = "blade:lock::ip:fail:"; + //endregion + + //region 业务缓存 + /** + * 基础信息缓存 + */ + String BASIC = "mes:basic:"; + + //endregion + /** * 返回拼接后的key * @@ -55,19 +80,4 @@ public interface CacheNames { return tenantId.concat(":").concat(cacheKey).concat(cacheKeyValue); } - /** - * 验证码key - */ - String CAPTCHA_KEY = "blade:auth::blade:captcha:"; - - /** - * 账号失败key - */ - String ACCOUNT_FAIL_KEY = "blade:lock::account:fail:"; - - /** - * IP失败key - */ - String IP_FAIL_KEY = "blade:lock::ip:fail:"; - } 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 2e147e81..83e6bdc6 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 @@ -14,7 +14,7 @@ public interface LauncherConstant { */ // 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/pom.xml b/blade-ops/pom.xml index 95cd78f2..98c9ba02 100644 --- a/blade-ops/pom.xml +++ b/blade-ops/pom.xml @@ -14,7 +14,7 @@ pom - blade-admin + blade-develop blade-job blade-log diff --git a/blade-service-api/blade-desk-api/pom.xml b/blade-service-api/blade-desk-api/pom.xml index a47cc24d..2182a907 100644 --- a/blade-service-api/blade-desk-api/pom.xml +++ b/blade-service-api/blade-desk-api/pom.xml @@ -24,6 +24,10 @@ org.springblade blade-starter-excel + + org.springblade + blade-common + org.springblade blade-resource-api diff --git a/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/basic/cache/WorkCenterCache.java b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/basic/cache/WorkCenterCache.java new file mode 100644 index 00000000..288c08da --- /dev/null +++ b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/basic/cache/WorkCenterCache.java @@ -0,0 +1,39 @@ +package org.springblade.desk.basic.cache; + +import org.springblade.common.cache.CacheNames; +import org.springblade.core.cache.utils.CacheUtil; +import org.springblade.core.tool.api.R; +import org.springblade.core.tool.utils.SpringUtil; +import org.springblade.desk.basic.feign.IWorkCenterClient; +import org.springblade.desk.basic.pojo.entity.WorkCenter; + +/** + * 系统缓存 + * + * @author Chill + */ +public class WorkCenterCache { + private static final String WORK_CENTER_CACHE_ID = "workCenter:id:"; + + private static IWorkCenterClient workCenterClient; + + private static IWorkCenterClient getWorkCenterClient() { + if (workCenterClient == null) { + workCenterClient = SpringUtil.getBean(IWorkCenterClient.class); + } + return workCenterClient; + } + + /** + * 获取用户 + * + * @param workCenterId 作业中心id + * @return + */ + public static WorkCenter getById(Long workCenterId) { + return CacheUtil.get(CacheNames.BASIC, WORK_CENTER_CACHE_ID, workCenterId, () -> { + R result = getWorkCenterClient().getById(workCenterId); + return result.getData(); + }); + } +} diff --git a/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/basic/feign/IWorkCenterClient.java b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/basic/feign/IWorkCenterClient.java new file mode 100644 index 00000000..2bc3aadc --- /dev/null +++ b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/basic/feign/IWorkCenterClient.java @@ -0,0 +1,57 @@ +/** + * 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.basic.feign; + + +import org.springblade.core.launch.constant.AppConstant; +import org.springblade.core.tool.api.R; +import org.springblade.desk.basic.pojo.entity.WorkCenter; +import org.springframework.cloud.openfeign.FeignClient; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestParam; + +/** + * 作业中心 Feign接口类 + * + * @author lqk + */ +@FeignClient( + value = AppConstant.APPLICATION_DESK_NAME +) +public interface IWorkCenterClient { + + String API_PREFIX = "/feign/workCenter"; + String GET_BY_ID = API_PREFIX + "/getById"; + + /** + * 根据id获取作业中心 + * + * @param workCenterId 作业中心id + * @return + */ + @GetMapping(GET_BY_ID) + R getById(@RequestParam("id") Long workCenterId); +} diff --git a/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/order/pojo/entity/AssayContent.java b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/order/pojo/entity/AssayContent.java index f40fd302..2a2927fc 100644 --- a/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/order/pojo/entity/AssayContent.java +++ b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/order/pojo/entity/AssayContent.java @@ -60,4 +60,16 @@ public class AssayContent extends BaseEntity { */ @TableField(value = "SILVER_PLATE") private BigDecimal silverPlate; + + /** + * 是否被使用,默认0,已使用过此次化验申报添加量后,记录申报记录id,同时更新为1 + */ + @TableField(value = "IS_USED") + private Integer isUsed; + + /** + * 申报记录id + */ + @TableField(value = "APPLY_ID") + private Long applyId; } diff --git a/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/order/pojo/entity/MoldPlan.java b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/order/pojo/entity/MoldPlan.java index 9dd5d143..eafb15dc 100644 --- a/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/order/pojo/entity/MoldPlan.java +++ b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/order/pojo/entity/MoldPlan.java @@ -56,17 +56,27 @@ public class MoldPlan extends BaseEntity { private String erpWoCode; /** - * 状态;1、新建,2、已下发,3、已完成 + * 状态; 11001、新建,11002:已下发,11003、已完成 */ @TableField(value = "MAF_STATUS") - private Long mafStatus; + private Integer mafStatus; /** - * 计划类型名称 + * 类型; 12001、热表,烧结,12002、仓库 */ - @TableField(value = "PLAN_TYPE") - private String planType; + @TableField(value = "MAF_TYPE") + private Integer mafType; + /** + * 计划类型; 13001:Z:制造(工装不为空且工装名称为压饼模),13002:D:夹具(工装不为空且工装名称为石墨模) + */ + @TableField(value = "PLAN_TYPE_CODE") + private String planTypeCode; + /** + * 计划类型名称;14001:Z:制造(工装不为空且工装名称为压饼模),14002:D:夹具(工装不为空且工装名称为石墨模) + */ + @TableField(value = "PLAN_TYPE_NAME") + private String planTypeName; /** * 需求日期 */ @@ -91,12 +101,6 @@ public class MoldPlan extends BaseEntity { @TableField(value = "QUA_LEVEL") private String quaLevel; - /** - * - */ - @TableField(value = "PLAN_TYPE_NAME") - private String planTypeName; - /** * 零件编码 */ @@ -115,15 +119,14 @@ public class MoldPlan extends BaseEntity { @TableField(value = "MEMO") private String memo; - /** - * 类型;1、热表,烧结,2、仓库 - */ - @TableField(value = "MAF_TYPE") - private Long mafType; - /** * 紧急状态 */ @TableField(value = "URGENT_TYPE") private String urgentType; + /** + * 计划来源;15001:自动生成,15002:人工添加 + */ + @TableField(value = "SOURCE") + private Integer source; } diff --git a/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/order/pojo/entity/MoldPlanOrder.java b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/order/pojo/entity/MoldPlanOrder.java index 52aca3b4..97592862 100644 --- a/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/order/pojo/entity/MoldPlanOrder.java +++ b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/order/pojo/entity/MoldPlanOrder.java @@ -14,12 +14,18 @@ import org.springblade.core.mp.base.BaseEntity; @TableName(value = "MES_MOLD_PLAN_ORDER") @Data public class MoldPlanOrder extends BaseEntity { - @TableField(exist = false) - private static final long serialVersionUID = 1L; + @TableField(exist = false) + private static final long serialVersionUID = 1L; /** * 烧结模具计划ID */ @TableField(value = "MP_ID") private Long mpId; + + /** + * 生产订单id + */ + @TableField(value = "ORDER_ID") + private Long orderId; } diff --git a/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/order/pojo/entity/MoldPlanTool.java b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/order/pojo/entity/MoldPlanTool.java index 0ba5c614..b45ca20f 100644 --- a/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/order/pojo/entity/MoldPlanTool.java +++ b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/order/pojo/entity/MoldPlanTool.java @@ -11,6 +11,7 @@ import org.springblade.core.mp.base.BaseEntity; * @author lqk * @TableName MES_MOLD_PLAN_TOOL */ +@Deprecated @TableName(value = "MES_MOLD_PLAN_TOOL") @Data public class MoldPlanTool extends BaseEntity { diff --git a/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/order/pojo/entity/PlateGoodsRecord.java b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/order/pojo/entity/PlateGoodsRecord.java index 17003924..ce1311fc 100644 --- a/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/order/pojo/entity/PlateGoodsRecord.java +++ b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/order/pojo/entity/PlateGoodsRecord.java @@ -70,6 +70,7 @@ public class PlateGoodsRecord extends BaseEntity { /** * 审批状态 + * 11001:正常, 11002:审批中, 11003:不通过, 11004:通过 */ @TableField(value = "APPROVAL_STATUS") private Integer approvalStatus; diff --git a/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/order/pojo/entity/PlateGoodsRecordDetail.java b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/order/pojo/entity/PlateGoodsRecordDetail.java index 36290f70..8d03ce81 100644 --- a/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/order/pojo/entity/PlateGoodsRecordDetail.java +++ b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/order/pojo/entity/PlateGoodsRecordDetail.java @@ -27,6 +27,6 @@ public class PlateGoodsRecordDetail extends BaseEntity { * 生产订单ID */ @TableField(value = "YO_ID") - private String yoId; + private Long yoId; } diff --git a/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/order/pojo/enums/AssayContentEnum.java b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/order/pojo/enums/AssayContentEnum.java new file mode 100644 index 00000000..68afe38a --- /dev/null +++ b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/order/pojo/enums/AssayContentEnum.java @@ -0,0 +1,58 @@ +package org.springblade.desk.order.pojo.enums; + +import lombok.AllArgsConstructor; +import lombok.Getter; +import org.springblade.core.tool.utils.ObjectUtil; +import org.springblade.core.tool.utils.StringPool; + +import java.util.Arrays; + +/** + * 镀层物料需求枚举 + * + * @author lqk + * @date 2025-12-19 9:25 + */ +@Getter +@AllArgsConstructor +public enum AssayContentEnum { + EMPTY(StringPool.EMPTY, -1), + + /** + * 状态, 10000:未使用, 10001:已使用, 10002:已过期 + */ + STATUS_UNUSED("未使用", 10000), + STATUS_USED("已使用", 10001), + STATUS_OUTDATE("已过期", 10002), + ; + final String name; + final int code; + + /** + * 匹配枚举值 + * + * @param name 名称 + * @return BladeUserEnum + */ + public static AssayContentEnum of(String name) { + return Arrays.stream(AssayContentEnum.values()) + .filter(userEnum -> userEnum.getName().equalsIgnoreCase(name != null ? name : "web")) + .findFirst() + // 在没有找到匹配项时返回默认值 + .orElse(AssayContentEnum.EMPTY); + } + + /** + * 根据值获取名称 + * + * @param category + * @return + */ + public static String getName(int category) { + AssayContentEnum item = Arrays.stream(AssayContentEnum.values()) + .filter(enumItem -> enumItem.getCode() == category) + .findFirst() + .orElse(null); + return ObjectUtil.isEmpty(item) ? StringPool.EMPTY : item.getName(); + } +} diff --git a/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/order/pojo/enums/MoldPlanEnum.java b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/order/pojo/enums/MoldPlanEnum.java index 8a822a74..efbd9a00 100644 --- a/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/order/pojo/enums/MoldPlanEnum.java +++ b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/order/pojo/enums/MoldPlanEnum.java @@ -25,9 +25,36 @@ public enum MoldPlanEnum { STATUS_OUT_STORE("已出库", 10001), STATUS_DONE("完成", 10002), STATUS_CLOSE("关闭", 10003), + + /** + * 状态枚举; 11001、新建,11002:已下发,11003、已完成 + */ + MAF_STATUS_CREATE("新建", 11001), + MAF_STATUS_SEND("已下发", 11002), + MAF_STATUS_DONE("已完成", 11003), + + /** + * 类型;12001、热表,烧结,12002、仓库 + */ + MAF_TYPE_RB("热表,烧结", 12001), + MAF_TYPE_STORE("仓库", 12002), + + /** + * 计划类型; 13001:Z:制造(工装不为空且工装名称为压饼模),13002:D:夹具(工装不为空且工装名称为石墨模) + */ + PLAN_TYPE_CODE_Z("Z", 13001), + PLAN_TYPE_CODE_D("D", 13002), + PLAN_TYPE_NAME_Z("制造", 14001), + PLAN_TYPE_NAME_D("夹具", 15002), + + /** + * 计划来源;15001:自动生成,15002:人工添加 + */ + SOURCE_AUTO("自动生成", 15001), + SOURCE_USER("人工添加", 15002), ; final String name; - final int category; + final int code; /** * 匹配枚举值 @@ -51,7 +78,7 @@ public enum MoldPlanEnum { */ public static String getName(int category) { MoldPlanEnum item = Arrays.stream(MoldPlanEnum.values()) - .filter(enumItem -> enumItem.getCategory() == category) + .filter(enumItem -> enumItem.getCode() == category) .findFirst() .orElse(null); return ObjectUtil.isEmpty(item) ? StringPool.EMPTY : item.getName(); diff --git a/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/order/pojo/enums/PlateGoodsEnum.java b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/order/pojo/enums/PlateGoodsEnum.java index 748541a4..303a0ddb 100644 --- a/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/order/pojo/enums/PlateGoodsEnum.java +++ b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/order/pojo/enums/PlateGoodsEnum.java @@ -19,7 +19,7 @@ public enum PlateGoodsEnum { EMPTY(StringPool.EMPTY, -1), /** - * 状态枚举 + * 状态, 10000:待审核, 10001:审核通过, 10002:使用中, 10003:已超期, 10004:已完成, 10005:审核未通过, 10006:已关闭 */ STATUS_WAITING("待审核", 10000), STATUS_PASS("审核通过", 10001), @@ -30,7 +30,7 @@ public enum PlateGoodsEnum { STATUS_CLOSE("已关闭", 10006), ; final String name; - final int category; + final int code; /** * 匹配枚举值 @@ -54,7 +54,7 @@ public enum PlateGoodsEnum { */ public static String getName(int category) { PlateGoodsEnum item = Arrays.stream(PlateGoodsEnum.values()) - .filter(enumItem -> enumItem.getCategory() == category) + .filter(enumItem -> enumItem.getCode() == category) .findFirst() .orElse(null); return ObjectUtil.isEmpty(item) ? StringPool.EMPTY : item.getName(); diff --git a/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/order/pojo/request/MoldPlanSave.java b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/order/pojo/request/MoldPlanSave.java index 8a119bef..8bcba9bc 100644 --- a/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/order/pojo/request/MoldPlanSave.java +++ b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/order/pojo/request/MoldPlanSave.java @@ -12,6 +12,7 @@ import java.util.List; * * @author lqk */ +@Deprecated @Data public class MoldPlanSave { /** diff --git a/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/order/pojo/vo/AssayContentVo.java b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/order/pojo/vo/AssayContentVo.java index d6b0eac7..7acd36ad 100644 --- a/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/order/pojo/vo/AssayContentVo.java +++ b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/order/pojo/vo/AssayContentVo.java @@ -4,8 +4,10 @@ import com.fasterxml.jackson.databind.annotation.JsonSerialize; import com.fasterxml.jackson.databind.ser.std.ToStringSerializer; import lombok.Data; import org.springblade.desk.order.pojo.entity.AssayContent; +import org.springblade.desk.order.pojo.entity.AssayContentDetail; import java.io.Serial; +import java.util.List; /** * 化验含量-视图类 @@ -23,8 +25,23 @@ public class AssayContentVo extends AssayContent { @JsonSerialize(using = ToStringSerializer.class) private Long id; + /** + * 作业中心名称 + */ + String wcName; + + /** + * 化验人名称 + */ + String assayManName; + /** * 状态名称 */ String statusName; + + /** + * 明细列表 + */ + List detailList; } diff --git a/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/order/pojo/vo/MoldPlanVo.java b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/order/pojo/vo/MoldPlanVo.java index 48d0bd3e..b77249dc 100644 --- a/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/order/pojo/vo/MoldPlanVo.java +++ b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/order/pojo/vo/MoldPlanVo.java @@ -27,4 +27,14 @@ public class MoldPlanVo extends MoldPlan { * 状态名称 */ String statusName; + + /** + * 状态名称 + */ + String mafStatusName; + + /** + * 类型名称 + */ + String mafTypeName; } diff --git a/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/order/pojo/vo/PlateGoodsRecordVo.java b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/order/pojo/vo/PlateGoodsRecordVo.java index 11556175..174ec14e 100644 --- a/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/order/pojo/vo/PlateGoodsRecordVo.java +++ b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/order/pojo/vo/PlateGoodsRecordVo.java @@ -6,6 +6,7 @@ import lombok.Data; import org.springblade.desk.order.pojo.entity.PlateGoodsRecord; import java.io.Serial; +import java.util.List; /** * 镀层物料额外需求上报-视图类 @@ -23,8 +24,20 @@ public class PlateGoodsRecordVo extends PlateGoodsRecord { @JsonSerialize(using = ToStringSerializer.class) private Long id; + /** + * 作业中心名称 + */ + String wcName; + /** * 状态名称 */ String statusName; + + /** + * 创建人名称 + */ + String createUserName; + + List yieldOrderList; } diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/basic/feign/WorkCenterClient.java b/blade-service/blade-desk/src/main/java/org/springblade/desk/basic/feign/WorkCenterClient.java new file mode 100644 index 00000000..f286d780 --- /dev/null +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/basic/feign/WorkCenterClient.java @@ -0,0 +1,30 @@ +package org.springblade.desk.basic.feign; + + +import io.swagger.v3.oas.annotations.Hidden; +import lombok.RequiredArgsConstructor; +import org.springblade.core.tenant.annotation.NonDS; +import org.springblade.core.tool.api.R; +import org.springblade.desk.basic.pojo.entity.WorkCenter; +import org.springblade.desk.basic.service.IWorkCenterService; +import org.springframework.web.bind.annotation.RestController; + +/** + * 作业中心 Feign接口类 + * + * @author lqk + */ +@NonDS +@Hidden() +@RestController +@RequiredArgsConstructor +public class WorkCenterClient implements IWorkCenterClient { + + private final IWorkCenterService workCenterService; + + @Override + public R getById(Long workCenterId) { + WorkCenter workCenter = workCenterService.getById(workCenterId); + return R.data(workCenter); + } +} diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/order/controller/AssayContentController.java b/blade-service/blade-desk/src/main/java/org/springblade/desk/order/controller/AssayContentController.java index e4508dd8..8f8f8494 100644 --- a/blade-service/blade-desk/src/main/java/org/springblade/desk/order/controller/AssayContentController.java +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/order/controller/AssayContentController.java @@ -45,7 +45,7 @@ public class AssayContentController extends BladeController { @GetMapping("/page") @Parameters({ @Parameter(name = "wcId", description = "作业中心", in = ParameterIn.QUERY, schema = @Schema(type = "string")), - @Parameter(name = "status", description = "状态", in = ParameterIn.QUERY, schema = @Schema(type = "int")) + @Parameter(name = "status", description = "状态, 10000:未使用, 10001:已使用, 10002:已过期", in = ParameterIn.QUERY, schema = @Schema(type = "int")) }) @Operation(summary = "分页", description = "") public R> page(@Parameter(hidden = true) AssayContent entity, Query query) { @@ -54,56 +54,65 @@ public class AssayContentController extends BladeController { } /** - * 详情 - */ - @GetMapping("/detail") - @Operation(summary = "详情", description = "") - public R detail(String id) { - AssayContent detail = assayContentService.getById(id); - return R.data(detail); - } + * 详情 + */ + @GetMapping("/detail") + @Operation(summary = "详情", description = "") + public R detail(String id) { + AssayContent content = assayContentService.getById(id); + List detailList = assayContentDetailService.getByContentId(content.getId()); - /** - * 新增 - */ - @PostMapping("/save") - @Operation(summary = "新增", description = "") - public R save(@Valid @RequestBody AssayContentSave saveData) { - AssayContent entity = saveData.getAssayContent(); - List detailList = saveData.getDetailList(); - assayContentService.save(entity, detailList); - return R.status(true); - } + AssayContentVo vo = AssayContentWrapper.build().entityVO(content); + vo.setDetailList(detailList); + return R.data(vo); + } - /** - * 修改 - */ - @PostMapping("/update") - @Operation(summary = "修改", description = "") - public R update(@Valid @RequestBody AssayContentSave saveData) { - AssayContent entity = saveData.getAssayContent(); - List detailList = saveData.getDetailList(); - assayContentService.update(entity, detailList); - return R.status(true); - } + /** + * 新增 + */ + @PostMapping("/save") + @Operation(summary = "新增", description = "") + public R save(@Valid @RequestBody AssayContentSave saveData) { + AssayContent entity = saveData.getAssayContent(); + List detailList = saveData.getDetailList(); + assayContentService.save(entity, detailList); + return R.status(true); + } - /** - * 删除 - */ - @PostMapping("/remove") - @Operation(summary = "逻辑删除", description = "传入ids") - public R remove(@Parameter(description = "主键集合", required = true) @RequestParam String ids) { - Boolean result = assayContentService.deleteLogic(Func.toLongList(ids)); - return R.status(result); - } + /** + * 修改 + */ + @PostMapping("/update") + @Operation(summary = "修改", description = "") + public R update(@Valid @RequestBody AssayContentSave saveData) { + AssayContent entity = saveData.getAssayContent(); + List detailList = saveData.getDetailList(); + assayContentService.update(entity, detailList); + return R.status(true); + } - /** - * 列表 - 未使用的化验含量 - */ - @GetMapping("/listNoUsed") - @Operation(summary = "未使用的化验含量列表", description = "") - public R listNoUsed(@Parameter(hidden = true) AssayContentDetail authClient, Query query) { - return R.data(null); - } + /** + * 删除 + */ + @PostMapping("/remove") + @Operation(summary = "逻辑删除", description = "传入ids") + public R remove(@Parameter(description = "主键集合", required = true) @RequestParam String ids) { + // 删除化验记录 + Boolean result = assayContentService.deleteLogic(Func.toLongList(ids)); + + // 删除化验记录明细 + assayContentDetailService.deleteLogicByContentId(Func.toLongList(ids)); + return R.status(result); + } + + /** + * 列表 - 未使用的化验含量明细列表 + */ + @GetMapping("/detailListNoUsed") + @Operation(summary = "未使用的化验含量明细列表", description = "") + public R> detailListNoUsed(@Parameter(hidden = true) Long workCenterId) { + List detailList = assayContentService.detailListNoUsed(workCenterId); + return R.data(detailList); + } } diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/order/controller/MoldPlanController.java b/blade-service/blade-desk/src/main/java/org/springblade/desk/order/controller/MoldPlanController.java index 67c77f55..9e8f23fd 100644 --- a/blade-service/blade-desk/src/main/java/org/springblade/desk/order/controller/MoldPlanController.java +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/order/controller/MoldPlanController.java @@ -22,7 +22,6 @@ import org.springblade.desk.order.pojo.request.MoldPlanSave; import org.springblade.desk.order.pojo.vo.MoldPlanVo; import org.springblade.desk.order.service.IMoldPlanOrderService; import org.springblade.desk.order.service.IMoldPlanService; -import org.springblade.desk.order.service.IMoldPlanToolService; import org.springblade.desk.order.wrapper.MoldPlanWrapper; import org.springframework.web.bind.annotation.*; @@ -40,64 +39,84 @@ import java.util.List; public class MoldPlanController extends BladeController { private final IMoldPlanService moldPlanService; - private final IMoldPlanToolService moldPlanToolService; private final IMoldPlanOrderService moldPlanOrderService; /** - * 分页 - */ - @GetMapping("/page") + * 分页 + */ + @GetMapping("/page") @Parameters({ @Parameter(name = "moCode", description = "工装号", in = ParameterIn.QUERY, schema = @Schema(type = "string")), @Parameter(name = "partCode", description = "零件号", in = ParameterIn.QUERY, schema = @Schema(type = "string")) }) - @Operation(summary = "分页", description = "") - public R> page(@Parameter(hidden = true) MoldPlan entity, Query query) { + @Operation(summary = "分页-所有需求", description = "") + public R> page(@Parameter(hidden = true) MoldPlan entity, Query query) { IPage page = moldPlanService.selectPage(Condition.getPage(query), entity); return R.data(MoldPlanWrapper.build().pageVO(page)); - } + } - /** - * 详情 - */ - @GetMapping("/detail") - @Operation(summary = "详情", description = "") - public R detail(String id) { - MoldPlan detail = moldPlanService.getById(id); - return R.data(detail); - } + /** + * 分页 + */ + @GetMapping("/pageApply") + @Parameters({ + @Parameter(name = "moCode", description = "工装号", in = ParameterIn.QUERY, schema = @Schema(type = "string")), + @Parameter(name = "partCode", description = "零件号", in = ParameterIn.QUERY, schema = @Schema(type = "string")) + }) + @Operation(summary = "分页-申报记录", description = "") + public R> pageApply(@Parameter(hidden = true) MoldPlan entity, Query query) { + IPage page = moldPlanService.selectPageApply(Condition.getPage(query), entity); + return R.data(MoldPlanWrapper.build().pageVO(page)); + } - /** - * 新增 - */ - @PostMapping("/save") - @Operation(summary = "新增", description = "") - public R save(@Valid @RequestBody MoldPlanSave saveData) { - MoldPlan entity = saveData.getMoldPlan(); - List orderList = saveData.getOrderList(); - List toolList = saveData.getToolList(); - moldPlanService.save(entity, orderList, toolList); - return R.status(true); - } + /** + * 分页-近一月的模具计划 + */ + @GetMapping("/pageNearlyMonth") + @Operation(summary = "分页-近一月的模具计划", description = "") + public R> pageNearlyMonth(@Parameter(hidden = true) MoldPlan entity, Query query) { + IPage page = moldPlanService.pageNearlyMonth(Condition.getPage(query), entity); + return R.data(MoldPlanWrapper.build().pageVO(page)); + } - /** - * 修改 - */ - @PostMapping("/update") - @Operation(summary = "修改", description = "") - public R update(@Valid @RequestBody MoldPlanSave saveData) { - MoldPlan entity = saveData.getMoldPlan(); - List orderList = saveData.getOrderList(); - List toolList = saveData.getToolList(); - moldPlanService.update(entity, orderList, toolList); - return R.status(true); - } + /** + * 详情 + */ + @GetMapping("/detail") + @Operation(summary = "详情", description = "") + public R detail(String id) { + MoldPlan detail = moldPlanService.getById(id); + return R.data(detail); + } - /** - * 删除 - */ - @PostMapping("/remove") - @Operation(summary = "逻辑删除", description = "传入ids") + /** + * 新增 + */ + @PostMapping("/save") + @Operation(summary = "新增", description = "") + public R save(@Valid @RequestBody List planList) { + moldPlanService.save(planList); + return R.status(true); + } + + /** + * 修改 + */ + @PostMapping("/update") + @Operation(summary = "修改", description = "") + public R update(@Valid @RequestBody MoldPlanSave saveData) { + MoldPlan entity = saveData.getMoldPlan(); + List orderList = saveData.getOrderList(); + List toolList = saveData.getToolList(); + moldPlanService.update(entity, orderList, toolList); + return R.status(true); + } + + /** + * 删除 + */ + @PostMapping("/remove") + @Operation(summary = "逻辑删除", description = "传入ids") public R remove(@Parameter(description = "主键集合", required = true) @RequestParam String ids) { Boolean result = moldPlanService.deleteLogic(Func.toLongList(ids)); return R.status(result); @@ -110,17 +129,7 @@ public class MoldPlanController extends BladeController { @PostMapping("/closeBatch") @Operation(summary = "批量关闭", description = "传入ids") public R closeBatch(@Parameter(description = "主键集合", required = true) @RequestParam String ids) { - Boolean result = moldPlanService.changeStatus(Func.toLongList(ids), MoldPlanEnum.STATUS_CLOSE.getCategory()); + Boolean result = moldPlanService.changeStatus(Func.toLongList(ids), MoldPlanEnum.STATUS_CLOSE.getCode()); return R.status(result); - } - - /** - * 分页-近一月的模具计划 - */ - @GetMapping("/pageNearlyMonth") - @Operation(summary = "分页", description = "") - public R> pageNearlyMonth(@Parameter(hidden = true) MoldPlan authClient, Query query) { - // 根据零件号,分页查询近一月的模具申报 - return R.data(null); - } + } } diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/order/controller/PlateGoodsRecordController.java b/blade-service/blade-desk/src/main/java/org/springblade/desk/order/controller/PlateGoodsRecordController.java index de81cd4e..7ffe8b00 100644 --- a/blade-service/blade-desk/src/main/java/org/springblade/desk/order/controller/PlateGoodsRecordController.java +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/order/controller/PlateGoodsRecordController.java @@ -17,12 +17,14 @@ import org.springblade.core.tool.utils.Func; import org.springblade.desk.order.pojo.entity.AssayContentDetail; import org.springblade.desk.order.pojo.entity.PlateGoodsRecord; import org.springblade.desk.order.pojo.entity.PlateGoodsRecordDetail; +import org.springblade.desk.order.pojo.entity.YieldOrder; import org.springblade.desk.order.pojo.enums.PlateGoodsEnum; import org.springblade.desk.order.pojo.request.PlateGoodsRecordSave; import org.springblade.desk.order.pojo.vo.PlateGoodsRecordVo; import org.springblade.desk.order.service.IPlateGoodsRecordDetailService; import org.springblade.desk.order.service.IPlateGoodsRecordService; import org.springblade.desk.order.wrapper.PlateGoodsRecordWrapper; +import org.springblade.desk.order.wrapper.YieldOrderWrapper; import org.springframework.web.bind.annotation.*; import java.util.List; @@ -45,11 +47,9 @@ public class PlateGoodsRecordController extends BladeController { * 分页 */ @GetMapping("/page") - @Parameters({ - @Parameter(name = "demandCode", description = "需求单号", in = ParameterIn.QUERY, schema = @Schema(type = "string")), + @Parameters({@Parameter(name = "demandCode", description = "需求单号", in = ParameterIn.QUERY, schema = @Schema(type = "string")), @Parameter(name = "wcId", description = "作业中心", in = ParameterIn.QUERY, schema = @Schema(type = "string")), - @Parameter(name = "status", description = "状态", in = ParameterIn.QUERY, schema = @Schema(type = "int")) - }) + @Parameter(name = "status", description = "状态,10000:待审核, 10001:审核通过, 10002:使用中, 10003:已超期, 10004:已完成, 10005:审核未通过, 10006:已关闭", in = ParameterIn.QUERY, schema = @Schema(type = "int"))}) @Operation(summary = "分页", description = "") public R> page(@Parameter(hidden = true) PlateGoodsRecord entity, Query query) { IPage page = goodsRecordService.selectPage(Condition.getPage(query), entity); @@ -61,9 +61,16 @@ public class PlateGoodsRecordController extends BladeController { */ @GetMapping("/detail") @Operation(summary = "详情", description = "") - public R detail(String id) { + public R detail(String id) { PlateGoodsRecord detail = goodsRecordService.getById(id); - return R.data(detail); + + PlateGoodsRecordVo vo = PlateGoodsRecordWrapper.build().entityVO(detail); + + // 查询关联订单列表 + List yieldOrderList = goodsRecordService.listDetailYieldOrder(detail.getId()); + vo.setYieldOrderList(YieldOrderWrapper.build().listVO(yieldOrderList)); + + return R.data(vo); } /** @@ -96,6 +103,7 @@ public class PlateGoodsRecordController extends BladeController { @PostMapping("/remove") @Operation(summary = "逻辑删除", description = "传入ids") public R remove(@Parameter(description = "主键集合", required = true) @RequestParam String ids) { + // TODO 验证是否进行添加, 若已添加, 不允许删除 Boolean result = goodsRecordService.deleteLogic(Func.toLongList(ids)); return R.status(result); } @@ -118,7 +126,7 @@ public class PlateGoodsRecordController extends BladeController { @PostMapping("/closeBatch") @Operation(summary = "批量关闭", description = "传入ids") public R closeBatch(@Parameter(description = "主键集合", required = true) @RequestParam String ids) { - Boolean result = goodsRecordService.changeStatus(Func.toLongList(ids), PlateGoodsEnum.STATUS_CLOSE.getCategory()); + Boolean result = goodsRecordService.changeStatus(Func.toLongList(ids), PlateGoodsEnum.STATUS_CLOSE.getCode()); return R.status(result); } diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/order/controller/YieldOrderController.java b/blade-service/blade-desk/src/main/java/org/springblade/desk/order/controller/YieldOrderController.java index 15097124..55c79d6c 100644 --- a/blade-service/blade-desk/src/main/java/org/springblade/desk/order/controller/YieldOrderController.java +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/order/controller/YieldOrderController.java @@ -99,12 +99,31 @@ public class YieldOrderController extends BladeController { page.setRecords(new ArrayList<>()); if (ObjectUtil.isNotEmpty(entity.getValidationResult())) { - page = yieldOrderService.selectPageSintering(Condition.getPage(query), entity); + page = yieldOrderService.selectPage(Condition.getPage(query), entity); } return R.data(YieldOrderWrapper.build().pageVO(page)); } + /** + * 分页查询列表 - 物料申请 + */ + @GetMapping("/pageMaterialApply") + @Parameters({ + @Parameter(name = "wcId", description = "作业中心", in = ParameterIn.QUERY, schema = @Schema(type = "string")), + @Parameter(name = "materialType", description = "物料类型,1:金钾,2:银钾", in = ParameterIn.QUERY, schema = @Schema(type = "string")), + @Parameter(name = "overHalfMon", description = "使用半月以上的数据,0:否,1:是", in = ParameterIn.QUERY, schema = @Schema(type = "string")) + }) + @Operation(summary = "分页-物料申请", description = "") + public R> pageMaterialApply(Long wcId, Integer materialType, Integer overHalfMon, Query query) { + IPage page = Condition.getPage(query); + page.setRecords(new ArrayList<>()); + + page = yieldOrderService.pageMaterialApply(Condition.getPage(query), wcId, materialType, overHalfMon); + + return R.data(YieldOrderWrapper.build().pageVO(page)); + } + /** * 详情 */ diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/order/controller/YieldPlanController.java b/blade-service/blade-desk/src/main/java/org/springblade/desk/order/controller/YieldPlanController.java index 4edf05ce..2d378bcb 100644 --- a/blade-service/blade-desk/src/main/java/org/springblade/desk/order/controller/YieldPlanController.java +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/order/controller/YieldPlanController.java @@ -58,7 +58,7 @@ public class YieldPlanController extends BladeController { @Parameter(name = "partCode", description = "零件号", in = ParameterIn.QUERY, schema = @Schema(type = "string")), @Parameter(name = "status", description = "状态", in = ParameterIn.QUERY, schema = @Schema(type = "int")) }) - @Operation(summary = "分页", description = "") + @Operation(summary = "分页查询列表-电镀", description = "") public R> pageElectroplate(@Parameter(hidden = true) YieldPlan entity, Query query) { IPage page = yieldPlanService.selectPageElectroplate(Condition.getPage(query), entity); return R.data(YieldPlanWrapper.build().pageVO(page)); @@ -73,7 +73,7 @@ public class YieldPlanController extends BladeController { @Parameter(name = "partCode", description = "零件号", in = ParameterIn.QUERY, schema = @Schema(type = "string")), @Parameter(name = "status", description = "状态", in = ParameterIn.QUERY, schema = @Schema(type = "int")) }) - @Operation(summary = "分页", description = "") + @Operation(summary = "分页查询列表-烧结", description = "") public R> pageSintering(@Parameter(hidden = true) YieldPlan entity, Query query) { IPage page = yieldPlanService.selectPageSintering(Condition.getPage(query), entity); return R.data(YieldPlanWrapper.build().pageVO(page)); diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/order/mapper/AssayContentDetailMapper.java b/blade-service/blade-desk/src/main/java/org/springblade/desk/order/mapper/AssayContentDetailMapper.java index 55e40435..928a5839 100644 --- a/blade-service/blade-desk/src/main/java/org/springblade/desk/order/mapper/AssayContentDetailMapper.java +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/order/mapper/AssayContentDetailMapper.java @@ -22,4 +22,12 @@ public interface AssayContentDetailMapper extends BaseMapper * @return */ List selectPage(IPage page, AssayContentDetail entity); + + /** + * 根据化验记录逻辑删除明细 + * + * @param contentIds + * @return + */ + boolean deleteLogicByContentId(List contentIds); } diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/order/mapper/AssayContentDetailMapper.xml b/blade-service/blade-desk/src/main/java/org/springblade/desk/order/mapper/AssayContentDetailMapper.xml index 41180f0b..ba8b5b4e 100644 --- a/blade-service/blade-desk/src/main/java/org/springblade/desk/order/mapper/AssayContentDetailMapper.xml +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/order/mapper/AssayContentDetailMapper.xml @@ -4,6 +4,17 @@ "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> + + + UPDATE MES_ASSAY_CONTENT_DETAIL + SET IS_DELETED = TRUE + WHERE AC_ID IN + + #{contentId} + + diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/order/mapper/AssayContentMapper.xml b/blade-service/blade-desk/src/main/java/org/springblade/desk/order/mapper/AssayContentMapper.xml index 505d66d6..2ea0082a 100644 --- a/blade-service/blade-desk/src/main/java/org/springblade/desk/order/mapper/AssayContentMapper.xml +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/order/mapper/AssayContentMapper.xml @@ -5,8 +5,9 @@ SELECT ID, TENANT_ID, CREATE_USER, CREATE_DEPT, CREATE_TIME, UPDATE_USER, UPDATE_TIME, STATUS, IS_DELETED, - MO_CODE, MO_NAME, QUANTITY, ERP_ID, YP_ID, ERP_WO_CODE, MAF_STATUS, PLAN_TYPE, NEED_DATE, KEEPER, RELEASER, QUA_LEVEL, + MO_CODE, MO_NAME, QUANTITY, ERP_ID, YP_ID, ERP_WO_CODE, MAF_STATUS, PLAN_TYPE_CODE, NEED_DATE, KEEPER, RELEASER, QUA_LEVEL, PLAN_TYPE_NAME, PART_CODE, PART_NAME, MEMO, MAF_TYPE, URGENT_TYPE FROM MES_MOLD_PLAN + WHERE IS_DELETED = 0 + + AND SOURCE = #{entity.source} + + + AND MO_CODE LIKE CONCAT('%', CONCAT(#{entity.moCode}, '%')) + + + AND PART_CODE LIKE CONCAT('%', CONCAT(#{entity.partCode}, '%')) + + + + diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/order/mapper/YieldOrderMapper.xml b/blade-service/blade-desk/src/main/java/org/springblade/desk/order/mapper/YieldOrderMapper.xml index d2a031b5..ced2a749 100644 --- a/blade-service/blade-desk/src/main/java/org/springblade/desk/order/mapper/YieldOrderMapper.xml +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/order/mapper/YieldOrderMapper.xml @@ -20,6 +20,9 @@ #{yieldType.code} + + + AND WORK_CENTER_ID = #{entity.workCenterId} AND YP_CODE LIKE CONCAT('%', CONCAT(#{entity.ypCode}, '%')) diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/order/service/IAssayContentDetailService.java b/blade-service/blade-desk/src/main/java/org/springblade/desk/order/service/IAssayContentDetailService.java index 2f358e71..65f7d7cb 100644 --- a/blade-service/blade-desk/src/main/java/org/springblade/desk/order/service/IAssayContentDetailService.java +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/order/service/IAssayContentDetailService.java @@ -1,9 +1,12 @@ package org.springblade.desk.order.service; import com.baomidou.mybatisplus.core.metadata.IPage; +import jakarta.validation.constraints.NotEmpty; import org.springblade.core.mp.base.BaseService; import org.springblade.desk.order.pojo.entity.AssayContentDetail; +import java.util.List; + /** * 服务实现类 * @@ -18,4 +21,22 @@ public interface IAssayContentDetailService extends BaseService selectPage(IPage page, AssayContentDetail entity); + + /** + * 根据化验记录查询明细列表 + * + * @param contentId + * @return + */ + List getByContentId(Long contentId); + + /** + * 根据化验记录逻辑删除明细 + * + * @param contentIds + * @return + */ + boolean deleteLogicByContentId(@NotEmpty List contentIds); + + } diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/order/service/IAssayContentService.java b/blade-service/blade-desk/src/main/java/org/springblade/desk/order/service/IAssayContentService.java index 4b698296..cccd2dff 100644 --- a/blade-service/blade-desk/src/main/java/org/springblade/desk/order/service/IAssayContentService.java +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/order/service/IAssayContentService.java @@ -39,4 +39,12 @@ public interface IAssayContentService extends BaseService { * @return */ boolean update(AssayContent entity, List detailList); + + /** + * 查询作业中心下,未使用的化验含量明细列表 + * + * @param workCenterId + * @return + */ + List detailListNoUsed(Long workCenterId); } diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/order/service/IMoldPlanService.java b/blade-service/blade-desk/src/main/java/org/springblade/desk/order/service/IMoldPlanService.java index 9d34d028..6e8fb0c7 100644 --- a/blade-service/blade-desk/src/main/java/org/springblade/desk/order/service/IMoldPlanService.java +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/order/service/IMoldPlanService.java @@ -23,6 +23,32 @@ public interface IMoldPlanService extends BaseService { */ IPage selectPage(IPage page, MoldPlan entity); + /** + * 自定义分页 - 人工申报的 + * + * @param page + * @param entity + * @return + */ + IPage selectPageApply(IPage page, MoldPlan entity); + + /** + * 自定义分页 - 近一月的模具计划 + * + * @param page + * @param entity + * @return + */ + IPage pageNearlyMonth(IPage page, MoldPlan entity); + + /** + * 保存 + * + * @param planList + * @return + */ + boolean save(List planList); + /** * 保存 * diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/order/service/IPlateGoodsRecordDetailService.java b/blade-service/blade-desk/src/main/java/org/springblade/desk/order/service/IPlateGoodsRecordDetailService.java index 1cb40853..ed3ee52a 100644 --- a/blade-service/blade-desk/src/main/java/org/springblade/desk/order/service/IPlateGoodsRecordDetailService.java +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/order/service/IPlateGoodsRecordDetailService.java @@ -4,6 +4,8 @@ import com.baomidou.mybatisplus.core.metadata.IPage; import org.springblade.core.mp.base.BaseService; import org.springblade.desk.order.pojo.entity.PlateGoodsRecordDetail; +import java.util.List; + /** * 服务实现类 * @@ -18,4 +20,20 @@ public interface IPlateGoodsRecordDetailService extends BaseService selectPage(IPage page, PlateGoodsRecordDetail entity); + + /** + * 根据镀层需求上报删除明细列表 + * + * @param recordId + * @return + */ + boolean deleteLogicByRecordId(Long recordId); + + /** + * 根据镀层需求上报查询明细列表 + * + * @param recordId + * @return + */ + List listByRecordId(Long recordId); } diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/order/service/IPlateGoodsRecordService.java b/blade-service/blade-desk/src/main/java/org/springblade/desk/order/service/IPlateGoodsRecordService.java index bc3b2781..e7f8e365 100644 --- a/blade-service/blade-desk/src/main/java/org/springblade/desk/order/service/IPlateGoodsRecordService.java +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/order/service/IPlateGoodsRecordService.java @@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.core.metadata.IPage; import org.springblade.core.mp.base.BaseService; import org.springblade.desk.order.pojo.entity.PlateGoodsRecord; import org.springblade.desk.order.pojo.entity.PlateGoodsRecordDetail; +import org.springblade.desk.order.pojo.entity.YieldOrder; import java.util.List; @@ -40,13 +41,21 @@ public interface IPlateGoodsRecordService extends BaseService */ boolean update(PlateGoodsRecord entity, List detailList); - /** - * 批量审核 - * - * @param ids - * @param approvalStatus - * @param approvalMemo - * @return - */ - boolean confirmBatch(List ids, Integer approvalStatus, String approvalMemo); + /** + * 批量审核 + * + * @param ids + * @param approvalStatus + * @param approvalMemo + * @return + */ + boolean confirmBatch(List ids, Integer approvalStatus, String approvalMemo); + + /** + * 获取详情关联的生产订单列表 + * + * @param id + * @return + */ + List listDetailYieldOrder(Long id); } 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 958a6e6c..d6c73150 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 @@ -43,6 +43,17 @@ public interface IYieldOrderService extends BaseService { */ IPage selectPageSintering(IPage page, YieldOrder entity); + /** + * 自定义分页 - 物料申请 + * + * @param page + * @param wcId + * @param materialType + * @param overHalfMon + * @return + */ + IPage pageMaterialApply(IPage page, Long wcId, Integer materialType, Integer overHalfMon); + /** * 批量确认 * diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/order/service/impl/AssayContentDetailServiceImpl.java b/blade-service/blade-desk/src/main/java/org/springblade/desk/order/service/impl/AssayContentDetailServiceImpl.java index 038bff74..f12f4336 100644 --- a/blade-service/blade-desk/src/main/java/org/springblade/desk/order/service/impl/AssayContentDetailServiceImpl.java +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/order/service/impl/AssayContentDetailServiceImpl.java @@ -1,6 +1,9 @@ package org.springblade.desk.order.service.impl; +import com.baomidou.mybatisplus.core.conditions.Wrapper; import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; +import org.springblade.common.constant.CommonConstant; import org.springblade.core.mp.base.BaseServiceImpl; import org.springblade.desk.order.pojo.entity.AssayContentDetail; import org.springblade.desk.order.mapper.AssayContentDetailMapper; @@ -22,4 +25,22 @@ public class AssayContentDetailServiceImpl extends BaseServiceImpl dataList = baseMapper.selectPage(page, entity); return page.setRecords(dataList); } + + @Override + public List getByContentId(Long contentId) { + Wrapper wrapper = Wrappers.lambdaQuery(AssayContentDetail.class) + .eq(AssayContentDetail::getIsDeleted, CommonConstant.DELETE_FALSE) + .eq(AssayContentDetail::getAcId, contentId); + List detailList = baseMapper.selectList(wrapper); + return detailList; + } + + @Override + public boolean deleteLogicByContentId(List contentIds) { + return baseMapper.deleteLogicByContentId(contentIds); + } + + + + } diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/order/service/impl/AssayContentServiceImpl.java b/blade-service/blade-desk/src/main/java/org/springblade/desk/order/service/impl/AssayContentServiceImpl.java index 0300cad7..3a0b513c 100644 --- a/blade-service/blade-desk/src/main/java/org/springblade/desk/order/service/impl/AssayContentServiceImpl.java +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/order/service/impl/AssayContentServiceImpl.java @@ -1,11 +1,15 @@ package org.springblade.desk.order.service.impl; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; import lombok.RequiredArgsConstructor; +import org.springblade.common.constant.CommonConstant; import org.springblade.core.mp.base.BaseServiceImpl; +import org.springblade.desk.order.mapper.AssayContentMapper; import org.springblade.desk.order.pojo.entity.AssayContent; import org.springblade.desk.order.pojo.entity.AssayContentDetail; -import org.springblade.desk.order.mapper.AssayContentMapper; +import org.springblade.desk.order.pojo.enums.AssayContentEnum; import org.springblade.desk.order.service.IAssayContentDetailService; import org.springblade.desk.order.service.IAssayContentService; import org.springframework.stereotype.Service; @@ -31,6 +35,7 @@ public class AssayContentServiceImpl extends BaseServiceImpl detailList) { + entity.setStatus(AssayContentEnum.STATUS_UNUSED.getCode()); if (this.save(entity)) { for (AssayContentDetail detail : detailList) { detail.setAcId(entity.getId()); @@ -44,11 +49,31 @@ public class AssayContentServiceImpl extends BaseServiceImpl detailList) { if (this.updateById(entity)) { - detailService.saveBatch(detailList); + detailService.updateBatchById(detailList); return true; } return false; } + @Override + public List detailListNoUsed(Long workCenterId) { + // 1. 查询作业中心下,最新的未被使用的化验明细 + LambdaQueryWrapper wrapper = Wrappers.lambdaQuery(AssayContent.class) + .eq(AssayContent::getIsDeleted, CommonConstant.DELETE_FALSE) + .eq(AssayContent::getWcId, workCenterId) + .orderByDesc(AssayContent::getCreateTime); + List contentList = baseMapper.selectList(wrapper); + + // 若未查询到化验记录,直接返回空 + if (contentList.size() == 0) { + return null; + } + + // 查询该化验记录的明细数据,并返回 + AssayContent assayContent = contentList.get(0); + List detailList = detailService.getByContentId(assayContent.getId()); + + return detailList; + } } diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/order/service/impl/MoldPlanServiceImpl.java b/blade-service/blade-desk/src/main/java/org/springblade/desk/order/service/impl/MoldPlanServiceImpl.java index 37a91f43..59a2e26b 100644 --- a/blade-service/blade-desk/src/main/java/org/springblade/desk/order/service/impl/MoldPlanServiceImpl.java +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/order/service/impl/MoldPlanServiceImpl.java @@ -3,10 +3,13 @@ package org.springblade.desk.order.service.impl; import com.baomidou.mybatisplus.core.metadata.IPage; import lombok.RequiredArgsConstructor; import org.springblade.core.mp.base.BaseServiceImpl; +import org.springblade.desk.dashboard.pojo.entity.DsPartEntity; +import org.springblade.desk.dashboard.service.IDsPartService; import org.springblade.desk.order.pojo.entity.MoldPlan; import org.springblade.desk.order.pojo.entity.MoldPlanOrder; import org.springblade.desk.order.pojo.entity.MoldPlanTool; import org.springblade.desk.order.mapper.MoldPlanMapper; +import org.springblade.desk.order.pojo.enums.MoldPlanEnum; import org.springblade.desk.order.service.IMoldPlanOrderService; import org.springblade.desk.order.service.IMoldPlanService; import org.springblade.desk.order.service.IMoldPlanToolService; @@ -28,12 +31,44 @@ public class MoldPlanServiceImpl extends BaseServiceImpl selectPage(IPage page, MoldPlan entity) { List dataList = baseMapper.selectPage(page, entity); return page.setRecords(dataList); } + @Override + public IPage selectPageApply(IPage page, MoldPlan entity) { + entity.setSource(MoldPlanEnum.SOURCE_USER.getCode()); + List dataList = baseMapper.selectPage(page, entity); + return page.setRecords(dataList); + } + + @Override + public IPage pageNearlyMonth(IPage page, MoldPlan entity) { + return null; + } + + @Override + public boolean save(List planList) { + for (MoldPlan moldPlan : planList) { + moldPlan.setStatus(MoldPlanEnum.MAF_STATUS_CREATE.getCode()); + moldPlan.setSource(MoldPlanEnum.SOURCE_USER.getCode()); + // 工装 + DsPartEntity dsPart = dsPartService.selectDsPartByPatCode(moldPlan.getPartCode()); + if (dsPart != null && "压饼模".equals(dsPart.getPartName())) { + moldPlan.setPlanTypeCode(MoldPlanEnum.PLAN_TYPE_CODE_Z.getName()); + moldPlan.setPlanTypeName(MoldPlanEnum.PLAN_TYPE_CODE_D.getName()); + } else if (dsPart != null && "石墨模".equals(dsPart.getPartName())) { + moldPlan.setPlanTypeCode(MoldPlanEnum.PLAN_TYPE_CODE_Z.getName()); + moldPlan.setPlanTypeName(MoldPlanEnum.PLAN_TYPE_NAME_D.getName()); + } + } + return this.saveBatch(planList); + } + @Transactional(rollbackFor = Exception.class) @Override public boolean save(MoldPlan entity, List orderList, List toolList) { diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/order/service/impl/PlateGoodsRecordDetailServiceImpl.java b/blade-service/blade-desk/src/main/java/org/springblade/desk/order/service/impl/PlateGoodsRecordDetailServiceImpl.java index 8b614057..3a469073 100644 --- a/blade-service/blade-desk/src/main/java/org/springblade/desk/order/service/impl/PlateGoodsRecordDetailServiceImpl.java +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/order/service/impl/PlateGoodsRecordDetailServiceImpl.java @@ -1,6 +1,9 @@ package org.springblade.desk.order.service.impl; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; +import org.springblade.common.constant.CommonConstant; import org.springblade.core.mp.base.BaseServiceImpl; import org.springblade.desk.order.pojo.entity.PlateGoodsRecordDetail; import org.springblade.desk.order.mapper.PlateGoodsRecordDetailMapper; @@ -22,4 +25,27 @@ public class PlateGoodsRecordDetailServiceImpl extends BaseServiceImpl dataList = baseMapper.selectPage(page, entity); return page.setRecords(dataList); } + + @Override + public boolean deleteLogicByRecordId(Long recordId) { + LambdaQueryWrapper wrapper = Wrappers.lambdaQuery(PlateGoodsRecordDetail.class) + .eq(PlateGoodsRecordDetail::getIsDeleted, CommonConstant.DELETE_FALSE) + .eq(PlateGoodsRecordDetail::getPgrdId, recordId); + List dataList = baseMapper.selectList(wrapper); + + dataList.forEach(data -> { + data.setIsDeleted(CommonConstant.DELETE_TRUE); + }); + + return this.saveBatch(dataList); + } + + @Override + public List listByRecordId(Long recordId) { + LambdaQueryWrapper wrapper = Wrappers.lambdaQuery(PlateGoodsRecordDetail.class) + .eq(PlateGoodsRecordDetail::getIsDeleted, CommonConstant.DELETE_FALSE) + .eq(PlateGoodsRecordDetail::getPgrdId, recordId); + List dataList = baseMapper.selectList(wrapper); + return dataList; + } } diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/order/service/impl/PlateGoodsRecordServiceImpl.java b/blade-service/blade-desk/src/main/java/org/springblade/desk/order/service/impl/PlateGoodsRecordServiceImpl.java index 38ff4a37..c44d1288 100644 --- a/blade-service/blade-desk/src/main/java/org/springblade/desk/order/service/impl/PlateGoodsRecordServiceImpl.java +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/order/service/impl/PlateGoodsRecordServiceImpl.java @@ -6,15 +6,21 @@ import org.springblade.core.mp.base.BaseServiceImpl; import org.springblade.core.secure.BladeUser; import org.springblade.core.secure.utils.AuthUtil; import org.springblade.core.tool.utils.DateUtil; +import org.springblade.core.tool.utils.Func; +import org.springblade.desk.dashboard.utils.DateUtils; +import org.springblade.desk.order.mapper.PlateGoodsRecordMapper; import org.springblade.desk.order.pojo.entity.PlateGoodsRecord; import org.springblade.desk.order.pojo.entity.PlateGoodsRecordDetail; -import org.springblade.desk.order.mapper.PlateGoodsRecordMapper; +import org.springblade.desk.order.pojo.entity.YieldOrder; +import org.springblade.desk.order.pojo.enums.PlateGoodsEnum; import org.springblade.desk.order.service.IPlateGoodsRecordDetailService; import org.springblade.desk.order.service.IPlateGoodsRecordService; +import org.springblade.desk.order.service.IYieldOrderService; import org.springframework.stereotype.Service; import java.util.ArrayList; import java.util.List; +import java.util.stream.Collectors; /** * 服务实现类 @@ -26,6 +32,7 @@ import java.util.List; public class PlateGoodsRecordServiceImpl extends BaseServiceImpl implements IPlateGoodsRecordService { private final IPlateGoodsRecordDetailService detailService; + private final IYieldOrderService yieldOrderService; @Override public IPage selectPage(IPage page, PlateGoodsRecord entity) { @@ -35,26 +42,28 @@ public class PlateGoodsRecordServiceImpl extends BaseServiceImpl detailList) { + // todo 需求单号需要优化 + entity.setDemandCode(DateUtils.dateTimeNow()); + entity.setStatus(PlateGoodsEnum.STATUS_WAITING.getCode()); if (this.save(entity)) { for (PlateGoodsRecordDetail detail : detailList) { detail.setPgrdId(entity.getId()); } - detailService.saveBatch(detailList); - return true; + return detailService.saveBatch(detailList); } - return false; + return Boolean.FALSE; } @Override public boolean update(PlateGoodsRecord entity, List detailList) { if (this.save(entity)) { - //TODO 先根据需求ID将原明细删除 + // 先根据需求ID将原明细删除 + detailService.deleteLogicByRecordId(entity.getId()); // 保存新的明细 - detailService.saveBatch(detailList); - return true; + return detailService.saveBatch(detailList); } - return false; + return Boolean.FALSE; } @Override @@ -74,4 +83,20 @@ public class PlateGoodsRecordServiceImpl extends BaseServiceImpl listDetailYieldOrder(Long id) { + // 先查询关联的明细列表 + List detailList = detailService.listByRecordId(id); + + if (Func.isEmpty(detailList)) { + return null; + } + + List yieldOrderIds = detailList.stream().map(PlateGoodsRecordDetail::getYoId).collect(Collectors.toList()); + // 再根据明细中的生产订单id查询订单 + List yieldOrderList = yieldOrderService.listByIds(yieldOrderIds); + return yieldOrderList; + } + } 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 d9ed1bf2..94754cda 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 @@ -90,6 +90,16 @@ public class YieldOrderServiceImpl extends BaseServiceImpl pageMaterialApply(IPage page, Long wcId, Integer materialType, Integer overHalfMon) { + YieldOrder entity = new YieldOrder(); + entity.setWorkCenterId(wcId); + //TODO 1. 金钾银钾如何区分 + // 2. 允许使用半月以上的数据是以生产订单的什么时间算 + List dataList = baseMapper.selectPage(page, entity, null); + return page.setRecords(dataList); + } + @Override public boolean confirmBatch(List ids) { List yieldOrderList = new ArrayList<>(); @@ -504,6 +514,11 @@ public class YieldOrderServiceImpl extends BaseServiceImpl { public MoldPlanVo entityVO(MoldPlan entity) { MoldPlanVo vo = Objects.requireNonNull(BeanUtil.copyProperties(entity, MoldPlanVo.class)); vo.setStatusName(MoldPlanEnum.getName(entity.getStatus())); + vo.setMafStatusName(MoldPlanEnum.getName(entity.getMafStatus())); + vo.setMafTypeName(MoldPlanEnum.getName(entity.getMafType())); return vo; } } diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/order/wrapper/PlateGoodsRecordWrapper.java b/blade-service/blade-desk/src/main/java/org/springblade/desk/order/wrapper/PlateGoodsRecordWrapper.java index 7258c1e6..21dd575c 100644 --- a/blade-service/blade-desk/src/main/java/org/springblade/desk/order/wrapper/PlateGoodsRecordWrapper.java +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/order/wrapper/PlateGoodsRecordWrapper.java @@ -2,8 +2,14 @@ package org.springblade.desk.order.wrapper; import org.springblade.core.mp.support.BaseEntityWrapper; import org.springblade.core.tool.utils.BeanUtil; +import org.springblade.core.tool.utils.Func; +import org.springblade.desk.basic.cache.WorkCenterCache; +import org.springblade.desk.basic.pojo.entity.WorkCenter; import org.springblade.desk.order.pojo.entity.PlateGoodsRecord; +import org.springblade.desk.order.pojo.enums.PlateGoodsEnum; import org.springblade.desk.order.pojo.vo.PlateGoodsRecordVo; +import org.springblade.system.cache.UserCache; +import org.springblade.system.pojo.entity.User; import java.util.Objects; @@ -21,7 +27,18 @@ public class PlateGoodsRecordWrapper extends BaseEntityWrapper + + + logback + + + + + + + + + + + + + WARN + ACCEPT + DENY + + + + %-4relative [%thread] %-5level %logger{30} - %msg%n + + + + + + ${log.path} + + ${log.path}.%d{yyyy-MM-dd}.zip + + + %date %level [%thread] %logger{36} [%file : %line] %msg%n + + + + + + + + + + + + + + + + + + + diff --git a/doc/sql/mes/increase-260108.sql b/doc/sql/mes/increase-260108.sql index 6de3a33b..34df2173 100644 --- a/doc/sql/mes/increase-260108.sql +++ b/doc/sql/mes/increase-260108.sql @@ -371,4 +371,18 @@ ADD (WORKSTATION_ID NUMBER(11)); COMMENT ON COLUMN MES_EQUIPMENT.EQUIPMENT_LOCATION IS '设备位置'; COMMENT -ON COLUMN MES_EQUIPMENT.WORKSTATION_ID IS '作业中心ID'; \ No newline at end of file +ON COLUMN MES_EQUIPMENT.WORKSTATION_ID IS '作业中心ID'; + +-- 修改字段及注释 +ALTER TABLE mes_mold_plan DROP COLUMN plan_type; +ALTER TABLE mes_mold_plan ADD plan_type_code NUMBER(38, 0) NULL; +COMMENT ON COLUMN mes_mold_plan.plan_type_code IS '计划类型; 13001:Z:制造(工装不为空且工装名称为压饼模),13002:D:夹具(工装不为空且工装名称为石墨模)'; + +-- 修改字段及注释 +ALTER TABLE mes_mold_plan DROP COLUMN plan_type_name; +ALTER TABLE mes_mold_plan ADD plan_type_name NVARCHAR2(255) NULL; +COMMENT ON COLUMN mes_mold_plan.plan_type_name IS '计划类型名称;14001:Z:制造(工装不为空且工装名称为压饼模),14002:D:夹具(工装不为空且工装名称为石墨模)'; + +-- 添加字段及注释 +ALTER TABLE MES_MOLD_PLAN ADD "SOURCE" NUMBER(38,0) NULL; +COMMENT ON COLUMN MES_MOLD_PLAN."SOURCE" IS '计划来源;15001:自动生成,15002:人工添加';