From dd003ba913ea2205e8707b6b75727e41616ac39c Mon Sep 17 00:00:00 2001 From: liuqingkun Date: Mon, 2 Feb 2026 11:39:07 +0800 Subject: [PATCH] =?UTF-8?q?=E8=AE=A2=E5=8D=95=E6=A8=A1=E5=9D=97?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../common/constant/CommonConstant.java | 9 + .../dashboard/pojo/enums/DsCraftEnum.java | 76 ++++++++ .../desk/order/pojo/entity/MoldDemand.java | 2 - .../order/pojo/entity/PlateGoodsApply.java | 118 +++++++++--- .../pojo/entity/PlateGoodsApplyDetail.java | 29 +-- .../order/pojo/entity/PlateGoodsRecord.java | 10 +- .../pojo/entity/PlateGoodsRecordDetail.java | 1 - .../desk/order/pojo/enums/YieldOrderEnum.java | 2 +- .../desk/order/pojo/vo/PlateGoodsApplyVo.java | 3 + .../dashboard/constant/DsCraftConstant.java | 15 ++ .../dashboard/service/IDsCraftService.java | 32 +++- .../service/impl/DsCraftServiceImpl.java | 13 +- .../controller/PlateGoodsApplyController.java | 22 ++- .../order/mapper/PlateGoodsApplyMapper.xml | 9 +- .../order/mapper/PlateGoodsRecordMapper.java | 11 ++ .../order/mapper/PlateGoodsRecordMapper.xml | 24 ++- .../IPlateGoodsApplyDetailService.java | 10 + .../service/IPlateGoodsApplyService.java | 9 + .../service/IPlateGoodsRecordService.java | 9 + .../PlateGoodsApplyDetailServiceImpl.java | 14 +- .../impl/PlateGoodsApplyServiceImpl.java | 59 ++++-- .../impl/PlateGoodsRecordServiceImpl.java | 9 + .../service/impl/YieldOrderServiceImpl.java | 180 +++++++++++------- .../desk/order/wrapper/MoldApplyWrapper.java | 13 +- doc/sql/mes/increase-260120.sql | 124 +++++++++++- 25 files changed, 645 insertions(+), 158 deletions(-) create mode 100644 blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/dashboard/pojo/enums/DsCraftEnum.java diff --git a/blade-common/src/main/java/org/springblade/common/constant/CommonConstant.java b/blade-common/src/main/java/org/springblade/common/constant/CommonConstant.java index 4f0ec393..86ba33c0 100644 --- a/blade-common/src/main/java/org/springblade/common/constant/CommonConstant.java +++ b/blade-common/src/main/java/org/springblade/common/constant/CommonConstant.java @@ -90,4 +90,13 @@ public interface CommonConstant { * 删除状态, 已删除 */ Integer DELETE_TRUE = 1; + + /** + * 字符串类型的boolean值, false + */ + String BOOLEAN_FALSE = "0"; + /** + * 字符串类型的boolean值, true + */ + String BOOLEAN_TRUE = "1"; } diff --git a/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/dashboard/pojo/enums/DsCraftEnum.java b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/dashboard/pojo/enums/DsCraftEnum.java new file mode 100644 index 00000000..f6b8153f --- /dev/null +++ b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/dashboard/pojo/enums/DsCraftEnum.java @@ -0,0 +1,76 @@ +package org.springblade.desk.dashboard.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 DsCraftEnum { + EMPTY(StringPool.EMPTY, -1), + + /** + * 状态枚举 + */ + STATUS_CREATE("新建", 10000), + STATUS_SEND("已下发", 10001), + STATUS_WAITING("待出库", 10002), + STATUS_OUT_STORE("已出库", 10003), + STATUS_DONE("完成", 10004), + STATUS_CLOSE("关闭", 10005), + + /** + * 工艺级别; 11001、新建,11002:已下发,11003、已完成 + */ + RANK_ONE("新建", 11001), + RANK_TWO("已下发", 11002), + RANK_THREE("已完成", 11003), + + /** + * 优先级 + */ + PRIORITY_THIS_USE("热表,烧结", 12001), + PRIORITY_FORMAL("仓库", 12002), + PRIORITY_TEMPORARY("仓库", 12002), + + ; + final String name; + final int code; + + /** + * 匹配枚举值 + * + * @param name 名称 + * @return BladeUserEnum + */ + public static DsCraftEnum of(String name) { + return Arrays.stream(DsCraftEnum.values()) + .filter(userEnum -> userEnum.getName().equalsIgnoreCase(name != null ? name : "web")) + .findFirst() + // 在没有找到匹配项时返回默认值 + .orElse(DsCraftEnum.EMPTY); + } + + /** + * 根据值获取名称 + * + * @param category + * @return + */ + public static String getName(int category) { + DsCraftEnum item = Arrays.stream(DsCraftEnum.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/entity/MoldDemand.java b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/order/pojo/entity/MoldDemand.java index 947f27b8..82e678d3 100644 --- a/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/order/pojo/entity/MoldDemand.java +++ b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/order/pojo/entity/MoldDemand.java @@ -165,8 +165,6 @@ public class MoldDemand extends BaseEntity { @TableField(value = "QUA_LEVEL") private String quaLevel; - - /** * 备注 */ diff --git a/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/order/pojo/entity/PlateGoodsApply.java b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/order/pojo/entity/PlateGoodsApply.java index 7aabb474..4aa9b834 100644 --- a/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/order/pojo/entity/PlateGoodsApply.java +++ b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/order/pojo/entity/PlateGoodsApply.java @@ -20,24 +20,6 @@ public class PlateGoodsApply extends BaseEntity { @TableField(exist = false) private static final long serialVersionUID = 1L; - /** - * 需求单号 - */ - @TableField(value = "DEMAND_CODE") - private String demandCode; - - /** - * 镀层物料号 - */ - @TableField(value = "GOODS_CODE") - private String goodsCode; - - /** - * 申报镀层 - */ - @TableField(value = "GOODS_DEMAND") - private BigDecimal goodsDemand; - /** * 审批人 */ @@ -81,27 +63,111 @@ public class PlateGoodsApply extends BaseEntity { private Long acId; /** - * + * 镀层物料额外需求上报ID */ @TableField(value = "PGR_ID") private Long pgrId; /** - * 作业中心ID + * 涉及订单要添加的数量 + */ + @TableField(value = "CODE_NUM") + private String codeNum; + + /** + * 需求单号 + */ + @TableField(value = "DEMAND_CODE") + private String demandCode; + + /** + * 作业中心 */ @TableField(value = "WC_ID") private Long wcId; /** - * 涉及单号 + * 镀层物料 */ - @TableField(value = "INVOLVE_CODE") - private String involveCode; + @TableField(value = "GOODS_CODE") + private String goodsCode; /** - * 涉及订单要添加的数量 + * 镀层物料 */ - @TableField(value = "CODE_NUM") - private String codeNum; + @TableField(value = "GOODS_NAME") + private String goodsName; + + /** + * 物料需求 + */ + @TableField(value = "GOODS_DEMAND") + private BigDecimal goodsDemand; + + /** + * 上报银钾 + */ + @TableField(value = "SILVER_POTASSIUM") + private BigDecimal silverPotassium; + + /** + * 银钾系数 + */ + @TableField(value = "COEFFICIENT") + private BigDecimal coefficient; + + /** + * 已申报定额 + */ + @TableField(value = "DECLARED_QUOTA") + private BigDecimal declaredQuota; + + /** + * 已申报银钾 + */ + @TableField(value = "DECLARED_SILVER") + private BigDecimal declaredSilver; + + /** + * 申报状态 + */ + @TableField(value = "DECLARED_STATUS") + private Long declaredStatus; + + /** + * 物料采购id + */ + @TableField(value = "GOODS_BO_ID") + private Long goodsBoId; + + /** + * 银钾采购id + */ + @TableField(value = "COEFFICIENT_BO_ID") + private Long coefficientBoId; + + /** + * 剩余量 + */ + @TableField(value = "SURPLUS") + private BigDecimal surplus; + + /** + * 上报银钾剩余量 + */ + @TableField(value = "SILVER_POTASSIUM_RESIDUE") + private BigDecimal silverPotassiumResidue; + + /** + * 本次添加涉及单号 + */ + @TableField(value = "INVOLVING_RECORD_CODE") + private String involvingRecordCode; + + /** + * 本次关联订单数量 + */ + @TableField(value = "DETAIL_ORDER_NUM") + private Integer detailOrderNum; } diff --git a/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/order/pojo/entity/PlateGoodsApplyDetail.java b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/order/pojo/entity/PlateGoodsApplyDetail.java index 34c7d9c6..af5ddec1 100644 --- a/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/order/pojo/entity/PlateGoodsApplyDetail.java +++ b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/order/pojo/entity/PlateGoodsApplyDetail.java @@ -5,8 +5,6 @@ import com.baomidou.mybatisplus.annotation.TableName; import lombok.Data; import org.springblade.core.mp.base.BaseEntity; -import java.math.BigDecimal; - /** * 镀层物料添加量申报明细 * @@ -19,34 +17,17 @@ public class PlateGoodsApplyDetail extends BaseEntity { @TableField(exist = false) private static final long serialVersionUID = 1L; - /** - * - */ - @TableField(value = "GOODS_CODE") - private String goodsCode; - - /** - * - */ - @TableField(value = "GOODS_DEMAND") - private BigDecimal goodsDemand; - - /** - * - */ - @TableField(value = "APPROVAL_STATUS") - private Long approvalStatus; /** * 添加量申报ID */ - @TableField(value = "PGAD_ID") - private Long pgadId; + @TableField(value = "PGA_ID") + private Long pgaId; /** - * 涉及单号 + * 生产订单ID */ - @TableField(value = "INVOLVE_CODE") - private String involveCode; + @TableField(value = "YO_ID") + private Long yoId; } 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 85f08b33..878e640a 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 @@ -35,8 +35,14 @@ public class PlateGoodsRecord extends BaseEntity { /** * 镀层物料 */ - @TableField(value = "PLATE_GOODS_CODE") - private String plateGoodsCode; + @TableField(value = "GOODS_CODE") + private String goodsCode; + + /** + * 镀层物料 + */ + @TableField(value = "GOODS_NAME") + private String goodsName; /** * 物料需求 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 8d03ce81..dbcd94bf 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 @@ -28,5 +28,4 @@ public class PlateGoodsRecordDetail extends BaseEntity { */ @TableField(value = "YO_ID") private Long yoId; - } diff --git a/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/order/pojo/enums/YieldOrderEnum.java b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/order/pojo/enums/YieldOrderEnum.java index f962c21a..9700237f 100644 --- a/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/order/pojo/enums/YieldOrderEnum.java +++ b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/order/pojo/enums/YieldOrderEnum.java @@ -55,7 +55,7 @@ public enum YieldOrderEnum { BUSINESS_TYPE_SJ("烧结", 13003), /** - * 生产订单 ERP优先级 + * 生产订单 ERP优先级, 14001: 正常, 14002:项目要求日期急件, 14003:合同急件, 14004:会议绩效急件, 14005:调度标注急件 */ PRIORITY_ERP_NORMAL("正常", 14001), PRIORITY_ERP_PRO_IMP("项目要求日期急件", 14002), diff --git a/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/order/pojo/vo/PlateGoodsApplyVo.java b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/order/pojo/vo/PlateGoodsApplyVo.java index 432ad76b..3540ec75 100644 --- a/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/order/pojo/vo/PlateGoodsApplyVo.java +++ b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/order/pojo/vo/PlateGoodsApplyVo.java @@ -6,6 +6,7 @@ import lombok.Data; import org.springblade.desk.order.pojo.entity.PlateGoodsApply; import java.io.Serial; +import java.util.List; /** * 镀层物料申报添加量-视图类 @@ -37,4 +38,6 @@ public class PlateGoodsApplyVo extends PlateGoodsApply { * 创建人名称 */ String createUserName; + + List yieldOrderList; } diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/constant/DsCraftConstant.java b/blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/constant/DsCraftConstant.java index e8f4a323..2cbbe508 100644 --- a/blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/constant/DsCraftConstant.java +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/constant/DsCraftConstant.java @@ -21,4 +21,19 @@ public interface DsCraftConstant { */ Integer PRIORITY_TEMPORARY = 3; // endregion + + // region 优先级 + /** + * 第一级 + */ + public static Short RANK_ONE = 1; + /** + * 第二级 + */ + public static Short RANK_TWO = 2; + /** + * 第三级 + */ + public static Short RANK_THREE = 3; + // endregion } 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 443eb745..5cacf287 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 @@ -31,7 +31,6 @@ import org.springblade.core.mp.base.BaseService; import org.springblade.desk.dashboard.excel.DsCraftExcel; import org.springblade.desk.dashboard.pojo.entity.DsCraftEntity; import org.springblade.desk.dashboard.pojo.entity.DsPartVersionEntity; -import org.springblade.desk.dashboard.pojo.vo.DsCraftExpireVO; import org.springblade.desk.dashboard.pojo.vo.DsCraftVO; import org.springblade.desk.dashboard.pojo.vo.DsPartToolVO; import org.springblade.desk.dashboard.pojo.vo.DsProcessSynthesisVO; @@ -64,7 +63,6 @@ public interface IDsCraftService extends BaseService { List exportDsCraft(Wrapper queryWrapper); - /** * 零件工序 试验项目 尺寸量具 工装表 * @param id 零件工艺信息ID @@ -77,7 +75,7 @@ public interface IDsCraftService extends BaseService { * @param craftIds * @return */ - List selectDsCraftByIds(List craftIds); + List selectDsCraftByIds(List craftIds); /** * 获取版本号 @@ -114,7 +112,7 @@ public interface IDsCraftService extends BaseService { * @param craft * @return */ - boolean addOrEdit(DsCraftEntity craft); + boolean addOrEdit(DsCraftEntity craft); /** * 根据零件号 获取最新工艺版本号 @@ -141,8 +139,34 @@ public interface IDsCraftService extends BaseService { /** * 根据零件ID查询需要的工装列表 + * * @param partId * @return */ List getToolsByPartId(Long partId); + + /** + * 根据条件查询工艺 + * + * @param partCode 零件号 + * @param roamNo B号 + * @param prodIdent 生产标识 + * @param rank 工艺级别 + * @param partVersions 版本, 不传则默认取最新版本 + * @return + */ + DsCraftEntity getCraft(String partCode, String roamNo, String prodIdent, Integer rank, String partVersions); + + /** + * 根据条件查询工艺 + * + * @param partCode 零件好 + * @param roamNo b号 + * @param prodIdent 生产标识 + * @param priority 重要度 + * @param rank 工艺级别 + * @param partVersions 版本, 不传则默认取最新版本 + * @return + */ + DsCraftEntity getCraft(String partCode, String roamNo, String prodIdent, Integer priority, Integer rank, String partVersions); } 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 65e1dd80..d2e6098e 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 @@ -37,7 +37,6 @@ import org.springblade.core.secure.utils.AuthUtil; import org.springblade.desk.dashboard.excel.DsCraftExcel; import org.springblade.desk.dashboard.mapper.DsCraftMapper; import org.springblade.desk.dashboard.pojo.entity.*; -import org.springblade.desk.dashboard.pojo.vo.DsCraftExpireVO; import org.springblade.desk.dashboard.pojo.vo.DsCraftVO; import org.springblade.desk.dashboard.pojo.vo.DsPartToolVO; import org.springblade.desk.dashboard.pojo.vo.DsProcessSynthesisVO; @@ -237,4 +236,16 @@ public class DsCraftServiceImpl extends BaseServiceImpl> page(@Parameter(hidden = true) PlateGoodsApply entity, Query query) { @@ -57,9 +60,18 @@ public class PlateGoodsApplyController extends BladeController { */ @GetMapping("/detail") @Operation(summary = "详情", description = "") - public R detail(String id) { + public R detail(String id) { PlateGoodsApply detail = plateGoodsApplyService.getById(id); - return R.data(detail); + + PlateGoodsApplyVo vo = PlateGoodsApplyWrapper.build().entityVO(detail); + + // 查询关联订单列表 + List yieldOrderList = plateGoodsRecordService.listDetailYieldOrder(detail.getId()); + if(Func.isNotEmpty(yieldOrderList)) { + vo.setYieldOrderList(YieldOrderWrapper.build().listVO(yieldOrderList)); + } + + return R.data(vo); } /** diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/order/mapper/PlateGoodsApplyMapper.xml b/blade-service/blade-desk/src/main/java/org/springblade/desk/order/mapper/PlateGoodsApplyMapper.xml index ead47fca..8505abc8 100644 --- a/blade-service/blade-desk/src/main/java/org/springblade/desk/order/mapper/PlateGoodsApplyMapper.xml +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/order/mapper/PlateGoodsApplyMapper.xml @@ -3,10 +3,13 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> + + ID, TENANT_ID, CREATE_USER, CREATE_DEPT, CREATE_TIME, UPDATE_USER, UPDATE_TIME, STATUS, IS_DELETED, + APPROVAL_STATUS, BO_ID, BR_ID, AC_ID, PGR_ID, CODE_NUM, APPROVAL_MAN, APPROVAL_TIME, APPROVAL_MEMO, DEMAND_CODE + + + +