diff --git a/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/order/feign/IMoldApplyClient.java b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/order/feign/IMoldApplyClient.java new file mode 100644 index 00000000..58baa9c5 --- /dev/null +++ b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/order/feign/IMoldApplyClient.java @@ -0,0 +1,32 @@ +package org.springblade.desk.order.feign; + +import org.springblade.core.launch.constant.AppConstant; +import org.springblade.desk.order.pojo.entity.MoldApply; +import org.springframework.cloud.openfeign.FeignClient; +import org.springframework.web.bind.annotation.GetMapping; + +/** + * 模具计划接口声明 + * + * @author lqk + */ +@FeignClient( + value = AppConstant.APPLICATION_DESK_NAME +) +public interface IMoldApplyClient { + + String API_PREFIX = "/feign/moldApply/"; + + String SAVE_BY_DEMAND = API_PREFIX + "/saveByDemand"; + + + /** + * 生成模具计划 + * + * @param moldApply + * @return + */ + @GetMapping(SAVE_BY_DEMAND) + Boolean saveByDemand(MoldApply moldApply); + +} diff --git a/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/order/feign/IOrderClient.java b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/order/feign/IOrderClient.java new file mode 100644 index 00000000..f4bf3dc3 --- /dev/null +++ b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/order/feign/IOrderClient.java @@ -0,0 +1,32 @@ +package org.springblade.desk.order.feign; + +import org.springblade.core.launch.constant.AppConstant; +import org.springblade.desk.order.pojo.entity.YieldPlan; +import org.springframework.cloud.openfeign.FeignClient; +import org.springframework.web.bind.annotation.GetMapping; + +/** + * 模具计划接口声明 + * + * @author lqk + */ +@FeignClient( + value = AppConstant.APPLICATION_DESK_NAME +) +public interface IOrderClient { + + String API_PREFIX = "/feign/order/"; + + String SAVE_GLASS_CAKE = API_PREFIX + "/saveGlassCake"; + + + /** + * 生成玻璃饼烧结计划并下达 + * + * @param yieldPlan + * @return + */ + @GetMapping(SAVE_GLASS_CAKE) + Boolean saveGlassCake(YieldPlan yieldPlan); + +} 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 f8837d27..2fdecb93 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 @@ -2,6 +2,8 @@ package org.springblade.desk.order.pojo.entity; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableName; +import com.fasterxml.jackson.databind.annotation.JsonSerialize; +import com.fasterxml.jackson.databind.ser.std.NullSerializer; import io.swagger.v3.oas.annotations.media.Schema; import lombok.Data; import org.springblade.core.mp.base.BaseEntity; @@ -21,6 +23,11 @@ public class PlateGoodsApply extends BaseEntity { @TableField(exist = false) private static final long serialVersionUID = 1L; + /** + * 申报单号 + */ + @TableField(value = "APPLY_CODE") + private String applyCode; /** * 作业中心 @@ -74,6 +81,7 @@ public class PlateGoodsApply extends BaseEntity { /** * 本次申报添加量 = 班组预添加量 */ + @JsonSerialize(nullsUsing = NullSerializer.class) @Schema(description = "本次申报添加量") @TableField(value = "GOODS_ADD_TOTAL") private BigDecimal goodsAddTotal; @@ -81,6 +89,7 @@ public class PlateGoodsApply extends BaseEntity { /** * 本次申报物料需求单总物料需求剩余量 = 可使用定额 */ + @JsonSerialize(nullsUsing = NullSerializer.class) @Schema(description = "本次申报总物料需求剩余量") @TableField(value = "GOODS_DEMAND_TOTAL") private BigDecimal goodsDemandTotal; @@ -88,6 +97,7 @@ public class PlateGoodsApply extends BaseEntity { /** * 本次申报物料需求单已申报定额总量(已添加总量) = 累计结余 */ + @JsonSerialize(nullsUsing = NullSerializer.class) @Schema(description = "已申报定额总量") @TableField(value = "DECLARED_QUOTA_TOTAL") private BigDecimal declaredQuotaTotal; 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 6d77c6fe..72f7544b 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 @@ -129,10 +129,4 @@ public class PlateGoodsRecord extends BaseEntity { */ @TableField(value = "SURPLUS") private BigDecimal surplus; - - /** - * 本次关联订单数量 - */ - @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/YieldOrderCraft.java b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/order/pojo/entity/YieldOrderCraft.java index ab5035ea..1ffa6a3d 100644 --- a/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/order/pojo/entity/YieldOrderCraft.java +++ b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/order/pojo/entity/YieldOrderCraft.java @@ -32,15 +32,33 @@ public class YieldOrderCraft extends BaseEntity { private String craftNo; /** - * 工序排序序号 + * 工序Id(DS_PROCESS) + */ + @TableField(value = "PID") + private Long pid; + + /** + * 工序排序序号 - 工序冗余字段 */ @TableField(value = "PROCESS_NO") private String processNo; + /** + * 工序编码 - 工序冗余字段 + */ + @TableField(value = "PROCESS_CODE") + private String processCode; + + /** + * 工序名称 - 工序冗余字段 + */ + @TableField(value = "PROCESS_NAME") + private String processName; + /** * 工序设置ID, bs_procedure_set */ - @TableField(value = "PPS_ID") + @TableField(value = "BS_PROCESS_SET") private Long ppsId; /** @@ -55,11 +73,6 @@ public class YieldOrderCraft extends BaseEntity { @TableField(value = "HOUR_QUOTA") private Double hourQuota; - /** - * 工序Id - */ - @TableField(value = "PID") - private Long pid; /** * 计划开始 @@ -92,7 +105,7 @@ public class YieldOrderCraft extends BaseEntity { private Long ocId; /** - * 工艺能力 craft_ability + * 工艺能力 BS_CRAFT_ABILITY */ @TableField(value = "CA_ID") private Long caId; diff --git a/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/order/pojo/entity/YieldPlan.java b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/order/pojo/entity/YieldPlan.java index f7ddf5e8..536dddba 100644 --- a/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/order/pojo/entity/YieldPlan.java +++ b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/order/pojo/entity/YieldPlan.java @@ -7,7 +7,6 @@ import lombok.Data; import org.springblade.core.mp.base.BaseEntity; import org.springframework.format.annotation.DateTimeFormat; -import java.math.BigDecimal; import java.util.Date; /** @@ -110,13 +109,13 @@ public class YieldPlan extends BaseEntity { * 已交件数量 */ @TableField(value = "DELIVERY_QTY") - private Long deliveryQty; + private Double deliveryQty; /** * 已分批数量 */ @TableField(value = "ALREADY_BRANCH_QTY") - private Long alreadyBranchQty; + private Double alreadyBranchQty; /** * 一级工艺线路 diff --git a/blade-service-api/blade-erpdata-api/src/main/java/org/springblade/erpdata/feign/IErpYieldOrderClient.java b/blade-service-api/blade-erpdata-api/src/main/java/org/springblade/erpdata/feign/IErpYieldOrderClient.java new file mode 100644 index 00000000..631676a1 --- /dev/null +++ b/blade-service-api/blade-erpdata-api/src/main/java/org/springblade/erpdata/feign/IErpYieldOrderClient.java @@ -0,0 +1,52 @@ +package org.springblade.erpdata.feign; + + +import org.springblade.common.constant.LauncherConstant; +import org.springframework.cloud.openfeign.FeignClient; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestParam; + +import java.util.Date; + +/** + * 外协相关erp操作Feign接口类 + * + * @author qyl + * @since 2026-02-27 + */ +@FeignClient( + value = LauncherConstant.APPLICATION_ERP_DATA_NAME, + fallback = IErpDataOemClientFallback.class +) +public interface IErpYieldOrderClient { + + String API_PREFIX = "/feign/erp/yieldOrder"; + String SAVE_GLASS_CAKE = API_PREFIX + "/saveGlassCake"; + + /** + * 生成玻璃饼订单 + * + * @param yoCode + * @param cardNo + * @param batchNo + * @param prodIdent + * @param demandDate + * @param planUser + * @param ypCode + * @param poQty + * @param partCode + * @param quota + */ + @GetMapping(SAVE_GLASS_CAKE) + void saveGlassCake(@RequestParam("yoCode") String yoCode, + @RequestParam("cardNo") String cardNo, + @RequestParam("batchNo") String batchNo, + @RequestParam("prodIdent") String prodIdent, + @RequestParam("demandDate") Date demandDate, + @RequestParam("planUser") String planUser, + @RequestParam("ypCode") String ypCode, + @RequestParam("poQty") Long poQty, + @RequestParam("partCode") String partCode, + @RequestParam("quota") Double quota); + +} diff --git a/blade-service-api/blade-erpdata-api/src/main/java/org/springblade/erpdata/feign/IErpYieldOrderClientFallback.java b/blade-service-api/blade-erpdata-api/src/main/java/org/springblade/erpdata/feign/IErpYieldOrderClientFallback.java new file mode 100644 index 00000000..c20fcbb5 --- /dev/null +++ b/blade-service-api/blade-erpdata-api/src/main/java/org/springblade/erpdata/feign/IErpYieldOrderClientFallback.java @@ -0,0 +1,18 @@ +package org.springblade.erpdata.feign; + + +import java.util.Date; + +/** + * Feign接口类 + * + * @author liuqingkun + */ +public class IErpYieldOrderClientFallback implements IErpYieldOrderClient { + + + @Override + public void saveGlassCake(String yoCode, String cardNo, String batchNo, String prodIdent, Date demandDate, String planUser, String ypCode, Long poQty, String partCode, Double quota) { + + } +} diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/order/feign/MoldApplyClient.java b/blade-service/blade-desk/src/main/java/org/springblade/desk/order/feign/MoldApplyClient.java new file mode 100644 index 00000000..b8bb90db --- /dev/null +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/order/feign/MoldApplyClient.java @@ -0,0 +1,53 @@ +/** + * 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.order.feign; + +import io.swagger.v3.oas.annotations.Hidden; +import lombok.RequiredArgsConstructor; +import org.springblade.core.tenant.annotation.NonDS; +import org.springblade.desk.order.pojo.entity.MoldApply; +import org.springblade.desk.order.service.IMoldApplyService; +import org.springframework.web.bind.annotation.RestController; + +/** + * Feign 排产相关定时任务接口 + * + * @author Chill + */ +@NonDS +@Hidden() +@RestController +@RequiredArgsConstructor +public class MoldApplyClient implements IMoldApplyClient { + + private final IMoldApplyService moldApplyService; + + + @Override + public Boolean saveByDemand(MoldApply moldApply) { + return moldApplyService.saveByDemand(moldApply); + } +} diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/order/feign/OrderClient.java b/blade-service/blade-desk/src/main/java/org/springblade/desk/order/feign/OrderClient.java new file mode 100644 index 00000000..1e8284ec --- /dev/null +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/order/feign/OrderClient.java @@ -0,0 +1,53 @@ +/** + * 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.order.feign; + +import io.swagger.v3.oas.annotations.Hidden; +import lombok.RequiredArgsConstructor; +import org.springblade.core.tenant.annotation.NonDS; +import org.springblade.desk.order.pojo.entity.YieldPlan; +import org.springblade.desk.order.service.IYieldPlanService; +import org.springframework.web.bind.annotation.RestController; + +/** + * Feign 排产相关定时任务接口 + * + * @author Chill + */ +@NonDS +@Hidden() +@RestController +@RequiredArgsConstructor +public class OrderClient implements IOrderClient { + + private final IYieldPlanService yieldPlanService; + + @Override + public Boolean saveGlassCake(YieldPlan yieldPlan) { + yieldPlanService.saveGlassCake(yieldPlan); + return null; + } +} diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/order/mapper/PlateGoodsApplyMapper.java b/blade-service/blade-desk/src/main/java/org/springblade/desk/order/mapper/PlateGoodsApplyMapper.java index d93db2b7..c7bd7ecf 100644 --- a/blade-service/blade-desk/src/main/java/org/springblade/desk/order/mapper/PlateGoodsApplyMapper.java +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/order/mapper/PlateGoodsApplyMapper.java @@ -22,4 +22,12 @@ public interface PlateGoodsApplyMapper extends BaseMapper { * @return */ List selectPage(IPage page, PlateGoodsApply entity); + + /** + * 查询当前库中的最大编码 + * + * @param codePattern + * @return + */ + String getMaxByCodePattern(String codePattern); } 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 780c7960..7b140b6a 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 @@ -5,7 +5,7 @@ ID, TENANT_ID, CREATE_USER, CREATE_TIME, CREATE_DEPT, UPDATE_USER, UPDATE_TIME, STATUS, IS_DELETED, - APPROVAL_MAN, APPROVAL_TIME, APPROVAL_STATUS, APPROVAL_MEMO, WC_ID, GOODS_CODE, GOODS_DEMAND, GOODS_NAME, + APPLY_CODE,APPROVAL_MAN, APPROVAL_TIME, APPROVAL_STATUS, APPROVAL_MEMO, WC_ID, GOODS_CODE, GOODS_DEMAND, GOODS_NAME, GOODS_ADD_TOTAL, GOODS_DEMAND_TOTAL, DECLARED_QUOTA_TOTAL @@ -23,4 +23,15 @@ AND status = #{entity.status} + + diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/order/mapper/PlateGoodsRecordMapper.xml b/blade-service/blade-desk/src/main/java/org/springblade/desk/order/mapper/PlateGoodsRecordMapper.xml index 8ae13313..df6619f2 100644 --- a/blade-service/blade-desk/src/main/java/org/springblade/desk/order/mapper/PlateGoodsRecordMapper.xml +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/order/mapper/PlateGoodsRecordMapper.xml @@ -9,7 +9,7 @@ WC_ID, GOODS_CODE, GOODS_DEMAND, SILVER_POTASSIUM, COEFFICIENT, APPROVAL_MAN, APPROVAL_TIME, APPROVAL_STATUS, APPROVAL_MEMO, DECLARED_QUOTA, DECLARED_SILVER, DECLARED_STATUS, GOODS_BO_ID, COEFFICIENT_BO_ID, PGR_CODE, SURPLUS, SILVER_POTASSIUM_RESIDUE, DEMAND_CODE, INVOLVING_RECORD_CODE, - NOT_ADD_VAL, DETAIL_ORDER_NUM + NOT_ADD_VAL SELECT ID, TENANT_ID, CREATE_USER, CREATE_DEPT, CREATE_TIME, UPDATE_USER, UPDATE_TIME, STATUS, IS_DELETED, - YO_ID, CRAFT_NO, PROCESS_NO, PPS_ID, MAKE_MEMO, HOUR_QUOTA, PID, START_TIME, END_TIME, MAKE_TEAM, OC_ID, - CA_ID, RP_ID, WORK_CENTER_ID + YO_ID, CRAFT_NO, PROCESS_NO, PPS_ID, MAKE_MEMO, HOUR_QUOTA, PID, START_TIME, END_TIME, MAKE_TEAM, + OC_ID, CA_ID, RP_ID, WORK_CENTER_ID, IS_OUTSOURCE, PROCESS_CODE, PROCESS_NAME FROM MES_YIELD_ORDER_CRAFT WHERE IS_DELETED = 0 diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/order/service/IMoldApplyService.java b/blade-service/blade-desk/src/main/java/org/springblade/desk/order/service/IMoldApplyService.java index 0629c0d4..d2febd8d 100644 --- a/blade-service/blade-desk/src/main/java/org/springblade/desk/order/service/IMoldApplyService.java +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/order/service/IMoldApplyService.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.MoldApply; +import java.util.Date; import java.util.List; /** @@ -46,4 +47,28 @@ public interface IMoldApplyService extends BaseService { * @return */ boolean saveBatchByPage(List applyList); + + /** + * 下达模具计划 + * + * @param partCode + * @param moCode + * @param planType + * @param quantity + * @param needDate + * @param level + * @param keeper + * @param createMan + * @param memo + * @return + */ + String createMoldPlan(String partCode, + String moCode, + String planType, + Integer quantity, + Date needDate, + String level, + String keeper, + String createMan, + String memo); } 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 b1b73668..bb0d1c29 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 @@ -6,7 +6,9 @@ import jakarta.validation.constraints.NotEmpty; import org.springblade.common.exception.BusinessException; import org.springblade.core.mp.base.BaseService; import org.springblade.core.tool.api.R; +import org.springblade.desk.dashboard.pojo.entity.DsPartEntity; import org.springblade.desk.order.pojo.entity.YieldOrder; +import org.springblade.desk.order.pojo.entity.YieldPlan; import java.util.List; @@ -55,6 +57,15 @@ public interface IYieldOrderService extends BaseService { */ IPage pageMaterialApply(IPage page, Long wcId, Integer materialType, Integer overHalfMon); + /** + * 查询是否存在玻璃饼生产订单 + * + * @param partCode + * @param memo + * @return + */ + List findByPartCodeAndMemo(String partCode, String memo); + /** * 数据校验 * @@ -213,9 +224,29 @@ public interface IYieldOrderService extends BaseService { * @param cardNo 旧单号 * @return java.lang.String */ - String getNewCardNo(String cardNo); + String getNewCardNo(String cardNo); Long getWcId(Long orderId); R getCardNo(String cardNo); + + + /** + * 下达玻璃饼生产订单 + * + * @param yieldPlan + * @param dsPart + */ + void saveGlassCake(YieldPlan yieldPlan, DsPartEntity dsPart); + + /** + * 下达玻璃饼生产订单 - 调用ERP存储过程 + * + * @param yoCode + * @param cardNo + * @param batchNo + * @param po + * @param dsPartSub + */ + void saveGlassCake(String yoCode, String cardNo, String batchNo, YieldPlan po, DsPartEntity dsPartSub); } diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/order/service/IYieldPlanService.java b/blade-service/blade-desk/src/main/java/org/springblade/desk/order/service/IYieldPlanService.java index f35808bc..6c50e32e 100644 --- a/blade-service/blade-desk/src/main/java/org/springblade/desk/order/service/IYieldPlanService.java +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/order/service/IYieldPlanService.java @@ -48,6 +48,22 @@ public interface IYieldPlanService extends BaseService { */ List getFirstProcess(String partCode); + /** + * 保存生产计划 + * + * @param yieldPlan + * @return + */ + Boolean saveYieldPlan(YieldPlan yieldPlan); + + /** + * 根据生产计划生成玻璃饼订单 + * + * @param yieldPlan + * @return + */ + Boolean saveGlassCake(YieldPlan yieldPlan); + /** * 根据生产计划ID生成玻璃饼订单 * diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/order/service/impl/MoldApplyServiceImpl.java b/blade-service/blade-desk/src/main/java/org/springblade/desk/order/service/impl/MoldApplyServiceImpl.java index 66de4376..bfb8b891 100644 --- a/blade-service/blade-desk/src/main/java/org/springblade/desk/order/service/impl/MoldApplyServiceImpl.java +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/order/service/impl/MoldApplyServiceImpl.java @@ -11,6 +11,7 @@ import org.springblade.desk.order.pojo.enums.MoldApplyEnum; import org.springblade.desk.order.service.IMoldApplyService; import org.springframework.stereotype.Service; +import java.util.Date; import java.util.List; /** @@ -51,4 +52,38 @@ public class MoldApplyServiceImpl extends BaseServiceImpl findByPartCodeAndMemo(String partCode, String memo) { + LambdaQueryWrapper queryWrapper = Wrappers.lambdaQuery(YieldOrder.class) + .eq(YieldOrder::getIsDeleted, CommonConstant.DELETE_FALSE) + .eq(YieldOrder::getPartCode, partCode) + .eq(YieldOrder::getMemo, memo); + List yieldOrderList = baseMapper.selectList(queryWrapper); + return yieldOrderList; + } + @Override public String dataVerify(List ids) { // 先根据ID查询订单列表 @@ -726,6 +740,20 @@ public class YieldOrderServiceImpl extends BaseServiceImpl wrapper = Wrappers.lambdaQuery(YieldOrder.class).eq(YieldOrder::getCardNo, codePattern); + LambdaQueryWrapper wrapper = Wrappers.lambdaQuery(YieldOrder.class) + .eq(YieldOrder::getCardNo, codePattern); YieldOrder yieldOrder = baseMapper.selectOne(wrapper); if (yieldOrder != null && yieldOrder.getId() != null) { @@ -879,23 +908,54 @@ public class YieldOrderServiceImpl extends BaseServiceImpl wrapper = Wrappers.lambdaQuery(YieldOrder.class) + .likeRight(YieldOrder::getBatchNo, codePattern) + .orderBy(true, false, YieldOrder::getYoCode); + YieldOrder yieldOrder = baseMapper.selectOne(wrapper); + + if (yieldOrder != null) { + num = Integer.parseInt(yieldOrder.getBatchNo().substring(codePattern.length(), codePattern.length() + len)); + } + num++; + return num; + } private String nextBatchNo() { // 自增总长度 int len = 3; - // 自增值 - int num = 0; // 编码模式 String codePattern = "R" + DateUtil.today(); + int num = this.getMaxCodeByPattern(codePattern, len); - LambdaQueryWrapper wrapper = Wrappers.lambdaQuery(YieldOrder.class).likeRight(YieldOrder::getBatchNo, codePattern).orderBy(true, false, YieldOrder::getYoCode); - YieldOrder yieldOrder = baseMapper.selectOne(wrapper); + // 下个编码 + return codePattern + StringPrefixUtils.prefix(String.valueOf(num), "0", len); + } - if (yieldOrder != null) { - num = Integer.parseInt(yieldOrder.getBatchNo().substring(codePattern.length(), codePattern.length() + len)); + /** + * @param codeType 0:订单号、1:流程卡号;2、批次号 + * @return String + * @Description: 用于给玻璃饼产生对应的订单号、 流程卡号、批次号 + * @Author dxl + * @CreateTime 2023/10/12 16:03 + */ + private String nextBlbCode(int codeType) { + // 自增总长度 + int len = 5; + if (codeType == 2) { + len = 3; } - num++; + + // 编码模式 + String codePattern = "RB" + DateUtil.today(); + int num = this.getMaxCodeByPattern(codePattern, len); + // 下个编码 + if (codeType == 0) { + codePattern = "WO-B" + DateUtil.today(); + } return codePattern + StringPrefixUtils.prefix(String.valueOf(num), "0", len); } diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/order/service/impl/YieldPlanServiceImpl.java b/blade-service/blade-desk/src/main/java/org/springblade/desk/order/service/impl/YieldPlanServiceImpl.java index 5238b84f..03ae5cef 100644 --- a/blade-service/blade-desk/src/main/java/org/springblade/desk/order/service/impl/YieldPlanServiceImpl.java +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/order/service/impl/YieldPlanServiceImpl.java @@ -11,7 +11,9 @@ import org.springblade.core.log.exception.ServiceException; import org.springblade.core.mp.base.BaseServiceImpl; import org.springblade.core.tool.api.R; import org.springblade.core.tool.api.ResultCode; +import org.springblade.core.tool.utils.DateUtil; import org.springblade.core.tool.utils.ObjectUtil; +import org.springblade.desk.dashboard.constant.DsPartConst; import org.springblade.desk.dashboard.pojo.entity.DsPartEntity; import org.springblade.desk.dashboard.service.IDsPartService; import org.springblade.desk.order.mapper.YieldPlanMapper; @@ -100,25 +102,43 @@ public class YieldPlanServiceImpl extends BaseServiceImpl glassCakePartList = dsPartService.selectDsPartByPatCode(yieldPlan.getPartCode(), DsPartConst.SIN_TER_TYPE_BLB); + if (glassCakePartList != null && glassCakePartList.size() > 0) { + for (DsPartEntity dsPart : glassCakePartList) { + //不包含玻璃字样的代表维护错误,跳过 + if (StringUtils.isBlank(dsPart.getPartCode()) || StringUtils.isBlank(dsPart.getPartName()) || !dsPart.getPartName().contains("玻璃")) { + continue; + } + List glassCakeOrderList = yieldOrderService.findByPartCodeAndMemo(dsPart.getPartCode(), yieldPlan.getYpCode()); + if (glassCakeOrderList == null || glassCakeOrderList.size() == 0) { + yieldOrderService.saveGlassCake(yieldPlan, dsPart); + } + } + } + return true; + } + @Override public Boolean saveGlassCake(String yieldPlanId) { // 根据ID查询生产计划信息 YieldPlan yieldPlan = baseMapper.selectById(yieldPlanId); - //TODO 调用生产订单服务类中方法,生成玻璃饼订单并保存 -// List blbSubList = dsPartSubService.listByPartCode(yieldPlan.getPartCode(), DsPartSub.SIN_TER_TYPE_BLB); -// if (blbSubList != null && blbSubList.size() > 0) { -// List blbList = null; -// for (DsPartSub dps : blbSubList) { -// //不包含玻璃字样的代表维护错误,跳过 -// if (StringUtils.isBlank(dps.getSubCode()) || StringUtils.isBlank(dps.getSubName()) || !dps.getSubName().contains("玻璃")) { -// continue; -// } -// blbList = pjYieldOrderService.findByPartCodeAndMemo(dps.getSubCode(), yieldPlan.getYpCode()); -// if (blbList == null || blbList.size() == 0) { -// pjYieldOrderService.saveBlbOrder(po, dps); -// } -// } -// } + + this.saveGlassCake(yieldPlan); return true; } diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/produce/mapper/WorkPlanMapper.java b/blade-service/blade-desk/src/main/java/org/springblade/desk/produce/mapper/WorkPlanMapper.java index 9bad4fab..4835b9c3 100644 --- a/blade-service/blade-desk/src/main/java/org/springblade/desk/produce/mapper/WorkPlanMapper.java +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/produce/mapper/WorkPlanMapper.java @@ -43,5 +43,6 @@ public interface WorkPlanMapper extends BaseMapper { List listSlotInfoGr (Long wpId, Boolean aTrue); List listSlotInfo (Long wpId,Boolean aTrue); + List listMacToolUse(Long wpId,Boolean aTrue); } diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/quality/service/impl/InspectionTaskServiceImpl.java b/blade-service/blade-desk/src/main/java/org/springblade/desk/quality/service/impl/InspectionTaskServiceImpl.java index 6d94ea2f..7d2db8ff 100644 --- a/blade-service/blade-desk/src/main/java/org/springblade/desk/quality/service/impl/InspectionTaskServiceImpl.java +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/quality/service/impl/InspectionTaskServiceImpl.java @@ -35,6 +35,7 @@ import org.springblade.desk.dashboard.service.IDsPartService; import org.springblade.desk.order.mapper.YieldOrderMapper; import org.springblade.desk.order.pojo.entity.YieldOrder; import org.springblade.desk.order.service.IYieldOrderService; +import org.springblade.desk.produce.mapper.WorkOrderMapper; import org.springblade.desk.produce.mapper.WorkPlanMapper; import org.springblade.desk.produce.pojo.entity.MacToolUse; import org.springblade.desk.produce.pojo.entity.MesQcProduceRunEntity; @@ -104,8 +105,11 @@ public class InspectionTaskServiceImpl extends BaseServiceImpl qwpart = new QueryWrapper<>(); qwpart.eq("PART_CODE", pjYieldOrder.getPartCode()); @@ -446,7 +451,7 @@ public class InspectionTaskServiceImpl extends BaseServiceImpl wpList, JSONObject jsonObj, List modelFlag) { @@ -498,7 +503,19 @@ public class InspectionTaskServiceImpl extends BaseServiceImpl mtuList = workPlanMapper.listMacToolUse(workPlan.getWpId(), Boolean.FALSE); +// if (mtuList.size() > 0) { +// // 设备编号 +// String gj = StringUtils.join(mtuList.stream().filter(i -> i.getBsRackSet() != null).map(i -> i.getBsRackSet().getRsCode()).collect(Collectors.toList()), "'、'"); +// String fb = StringUtils.join(mtuList.stream().filter(i -> i.getBsFeiBaSet() != null).map(i -> i.getBsFeiBaSet().getFsCode()).collect(Collectors.toList()), "、"); +// String eq = StringUtils.join(mtuList.stream().filter(i -> i.getEquipmentCard() != null).map(i -> i.getEquipmentCard().getDeviceCode()).collect(Collectors.toList()), "、"); +// workPlan.setGjCode(gj); +// workPlan.setFbCode(fb); +// //zxh 20250107 电子档案工序设备编号不再拼接烘箱,eq中已存在烘箱 +//// workPlan.setDeviceCode(box != null && box.getDeviceId() != null ? eq + "、" + box.getDeviceId() : eq); +// workPlan.setDeviceCode(eq); +// } } diff --git a/blade-service/blade-erpdata/src/main/java/org/springblade/erpdata/feign/ErpYieldOrderClientImpl.java b/blade-service/blade-erpdata/src/main/java/org/springblade/erpdata/feign/ErpYieldOrderClientImpl.java new file mode 100644 index 00000000..7a08f72d --- /dev/null +++ b/blade-service/blade-erpdata/src/main/java/org/springblade/erpdata/feign/ErpYieldOrderClientImpl.java @@ -0,0 +1,31 @@ +package org.springblade.erpdata.feign; + + +import io.swagger.v3.oas.annotations.Hidden; +import lombok.AllArgsConstructor; +import org.springblade.core.tenant.annotation.NonDS; +import org.springblade.erpdata.service.IErpYieldOrderService; +import org.springframework.web.bind.annotation.RestController; + +import java.util.Date; + + +/** + * 外协相关erp操作Feign实现类 + * + * @author qyl + * @serial 2026年2月27日 + */ +@NonDS +@Hidden +@RestController +@AllArgsConstructor +public class ErpYieldOrderClientImpl implements IErpYieldOrderClient { + + private final IErpYieldOrderService erpYieldOrderService; + + @Override + public void saveGlassCake(String yoCode, String cardNo, String batchNo, String prodIdent, Date demandDate, String planUser, String ypCode, Long poQty, String partCode, Double quota) { + erpYieldOrderService.saveGlassCake(yoCode, cardNo, batchNo, prodIdent, demandDate, planUser, ypCode, poQty, partCode, quota); + } +} diff --git a/blade-service/blade-erpdata/src/main/java/org/springblade/erpdata/mapper/ErpYieldOrderMapper.java b/blade-service/blade-erpdata/src/main/java/org/springblade/erpdata/mapper/ErpYieldOrderMapper.java new file mode 100644 index 00000000..f95b3b93 --- /dev/null +++ b/blade-service/blade-erpdata/src/main/java/org/springblade/erpdata/mapper/ErpYieldOrderMapper.java @@ -0,0 +1,21 @@ +package org.springblade.erpdata.mapper; + +import com.baomidou.mybatisplus.core.mapper.Mapper; + +import java.util.Map; + +/** + * Mapper 接口 + * + * @author qyl + */ +public interface ErpYieldOrderMapper extends Mapper { + + /** + * 生成玻璃饼订单 + * + * @param params + */ + void saveGlassCake(Map params); + +} diff --git a/blade-service/blade-erpdata/src/main/java/org/springblade/erpdata/mapper/ErpYieldOrderMapper.xml b/blade-service/blade-erpdata/src/main/java/org/springblade/erpdata/mapper/ErpYieldOrderMapper.xml new file mode 100644 index 00000000..b7dd5a24 --- /dev/null +++ b/blade-service/blade-erpdata/src/main/java/org/springblade/erpdata/mapper/ErpYieldOrderMapper.xml @@ -0,0 +1,30 @@ + + + + + + diff --git a/blade-service/blade-erpdata/src/main/java/org/springblade/erpdata/service/IErpYieldOrderService.java b/blade-service/blade-erpdata/src/main/java/org/springblade/erpdata/service/IErpYieldOrderService.java new file mode 100644 index 00000000..9f64dc76 --- /dev/null +++ b/blade-service/blade-erpdata/src/main/java/org/springblade/erpdata/service/IErpYieldOrderService.java @@ -0,0 +1,29 @@ +package org.springblade.erpdata.service; + +import java.util.Date; + +/** + * 外协相关erp操作service + * + * @author qyl + * @serial 2026年2月27日 + */ +public interface IErpYieldOrderService { + + /** + * 生成玻璃饼订单 + * + * @param yoCode + * @param cardNo + * @param batchNo + * @param prodIdent + * @param demandDate + * @param planUser + * @param ypCode + * @param poQty + * @param partCode + * @param quota + */ + void saveGlassCake(String yoCode, String cardNo, String batchNo, String prodIdent, Date demandDate, + String planUser, String ypCode, Long poQty, String partCode, Double quota); +} diff --git a/blade-service/blade-erpdata/src/main/java/org/springblade/erpdata/service/impl/ErpYieldOrderServiceImpl.java b/blade-service/blade-erpdata/src/main/java/org/springblade/erpdata/service/impl/ErpYieldOrderServiceImpl.java new file mode 100644 index 00000000..720c1572 --- /dev/null +++ b/blade-service/blade-erpdata/src/main/java/org/springblade/erpdata/service/impl/ErpYieldOrderServiceImpl.java @@ -0,0 +1,58 @@ +package org.springblade.erpdata.service.impl; + +import lombok.RequiredArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.springblade.erpdata.mapper.ErpYieldOrderMapper; +import org.springblade.erpdata.service.IErpYieldOrderService; +import org.springframework.stereotype.Service; + +import java.util.Date; +import java.util.HashMap; +import java.util.Map; + + +/** + * 外协相关erp操作service实现类 + * + * @author qtl + * @serial 2026年2月27日 + */ +@Slf4j +@RequiredArgsConstructor +@Service +public class ErpYieldOrderServiceImpl implements IErpYieldOrderService { + + private final ErpYieldOrderMapper yieldOrderMapper; + + + @Override + public void saveGlassCake(String yoCode, String cardNo, String batchNo, String prodIdent, Date demandDate, + String planUser, String ypCode, Long poQty, String partCode, Double quota) { + Map paramMap = new HashMap<>(); + // 1. 赋值静态入参 + paramMap.put("v_work_roam", ""); + paramMap.put("v_next_roam", ""); + paramMap.put("v_po_code", ""); + paramMap.put("v_use_dept", "热表分厂"); + paramMap.put("v_release_date", new Date()); + paramMap.put("v_yield_type", (short) 3); + paramMap.put("v_warctlr", ""); + paramMap.put("v_entrust_dept", "热表分厂"); + paramMap.put("v_recseqno", ""); + paramMap.put("v_manual_increase", Short.valueOf("1")); + paramMap.put("v_lev_flag", "0"); + paramMap.put("v_use_deptcode", ""); + + // 2. 赋值动态入参 + paramMap.put("v_yo_code", yoCode); + paramMap.put("v_part_code", partCode); + paramMap.put("v_prod_ident", prodIdent); + paramMap.put("v_demand_date", demandDate); + paramMap.put("v_plan_user", planUser); + paramMap.put("v_memo", ypCode); + paramMap.put("v_card_no", cardNo); + paramMap.put("v_batch_no", batchNo); + paramMap.put("v_yo_qty", quota * poQty); + yieldOrderMapper.saveGlassCake(paramMap); + } +} diff --git a/doc/sql/mes/increase-20690312.sql b/doc/sql/mes/increase-20690312.sql new file mode 100644 index 00000000..29aaaca2 --- /dev/null +++ b/doc/sql/mes/increase-20690312.sql @@ -0,0 +1,122 @@ +ALTER TABLE mes_yield_order_craft + ADD process_code NVARCHAR2(255) NULL; +COMMENT ON COLUMN mes_yield_order_craft.process_code IS '工序编码- 工序冗余字段'; +ALTER TABLE mes_yield_order_craft + ADD process_name NVARCHAR2(255) NULL; +COMMENT ON COLUMN mes_yield_order_craft.process_name IS '工序名称- 工序冗余字段'; +COMMENT ON COLUMN mes_yield_order_craft.process_no IS '工序排序序号- 工序冗余字段'; + +DROP TABLE "MES_PLATE_GOODS_APPLY_DETAIL"; +CREATE TABLE "MES_PLATE_GOODS_APPLY_DETAIL" +( + "ID" NUMBER(20, 0) NOT NULL, + "TENANT_ID" NVARCHAR2(12), + "CREATE_USER" NUMBER(20, 0), + "CREATE_TIME" DATE, + "CREATE_DEPT" NUMBER(20, 0), + "UPDATE_USER" NUMBER(20, 0), + "UPDATE_TIME" DATE, + "STATUS" NUMBER(11, 0) NOT NULL, + "IS_DELETED" NUMBER(11, 0), + "PGA_ID" NUMBER(20, 0), + "PGR_ID" NUMBER(20, 0) +) LOGGING NOCOMPRESS PCTFREE 10 INITRANS 1 STORAGE +( + BUFFER_POOL DEFAULT +) PARALLEL 1 NOCACHE DISABLE ROW MOVEMENT +; +COMMENT ON COLUMN "MES_PLATE_GOODS_APPLY_DETAIL"."ID" IS '主键'; +COMMENT ON COLUMN "MES_PLATE_GOODS_APPLY_DETAIL"."CREATE_USER" IS '创建人'; +COMMENT ON COLUMN "MES_PLATE_GOODS_APPLY_DETAIL"."CREATE_TIME" IS '创建时间'; +COMMENT ON COLUMN "MES_PLATE_GOODS_APPLY_DETAIL"."CREATE_DEPT" IS '创建部门'; +COMMENT ON COLUMN "MES_PLATE_GOODS_APPLY_DETAIL"."UPDATE_USER" IS '更新人'; +COMMENT ON COLUMN "MES_PLATE_GOODS_APPLY_DETAIL"."UPDATE_TIME" IS '更新时间'; +COMMENT ON COLUMN "MES_PLATE_GOODS_APPLY_DETAIL"."STATUS" IS '状态'; +COMMENT ON COLUMN "MES_PLATE_GOODS_APPLY_DETAIL"."IS_DELETED" IS '删除标记'; +COMMENT ON COLUMN "MES_PLATE_GOODS_APPLY_DETAIL"."PGA_ID" IS '添加量申报ID'; +COMMENT ON COLUMN "MES_PLATE_GOODS_APPLY_DETAIL"."PGR_ID" IS '镀层物料需求ID'; +COMMENT ON TABLE "MES_PLATE_GOODS_APPLY_DETAIL" IS '烧结模具计划-申报'; + +-- ---------------------------- +-- Checks structure for table MES_PLATE_GOODS_APPLY_DETAIL +-- ---------------------------- +ALTER TABLE "MES_PLATE_GOODS_APPLY_DETAIL" + ADD CONSTRAINT "SYS_C0021890" CHECK ("ID" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE; +ALTER TABLE "MES_PLATE_GOODS_APPLY_DETAIL" + ADD CONSTRAINT "SYS_C0021891" CHECK ("STATUS" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE; + +DROP TABLE "MES_PLATE_GOODS_APPLY"; +CREATE TABLE "MES_PLATE_GOODS_APPLY" +( + "ID" NUMBER(20, 0) NOT NULL, + "TENANT_ID" NVARCHAR2(12), + "CREATE_USER" NUMBER(20, 0), + "CREATE_TIME" DATE, + "CREATE_DEPT" NUMBER(20, 0), + "UPDATE_USER" NUMBER(20, 0), + "UPDATE_TIME" DATE, + "STATUS" NUMBER(11, 0) NOT NULL, + "IS_DELETED" NUMBER(11, 0) DEFAULT 0, + "APPROVAL_MAN" NUMBER(20, 0), + "APPROVAL_TIME" DATE, + "APPROVAL_STATUS" NUMBER(20, 0), + "APPROVAL_MEMO" NVARCHAR2(255), + "WC_ID" NUMBER(20, 0) NOT NULL, + "GOODS_CODE" NVARCHAR2(255) NOT NULL, + "GOODS_DEMAND" NUMBER(20, 10) DEFAULT 0 NOT NULL, + "GOODS_NAME" VARCHAR2(100 BYTE), + "GOODS_ADD_TOTAL" NUMBER(20, 10), + "GOODS_DEMAND_TOTAL" NUMBER(20, 10), + "DECLARED_QUOTA_TOTAL" NUMBER(20, 10), + "APPLY_CODE" VARCHAR2(100 BYTE) +) LOGGING NOCOMPRESS PCTFREE 10 INITRANS 1 STORAGE +( + INITIAL 65536 + NEXT 1048576 + MINEXTENTS 1 + MAXEXTENTS 2147483645 + BUFFER_POOL DEFAULT +) PARALLEL 1 NOCACHE DISABLE ROW MOVEMENT +; +COMMENT ON COLUMN "MES_PLATE_GOODS_APPLY"."ID" IS '主键'; +COMMENT ON COLUMN "MES_PLATE_GOODS_APPLY"."TENANT_ID" IS '租户ID'; +COMMENT ON COLUMN "MES_PLATE_GOODS_APPLY"."CREATE_USER" IS '创建人'; +COMMENT ON COLUMN "MES_PLATE_GOODS_APPLY"."CREATE_TIME" IS '创建时间'; +COMMENT ON COLUMN "MES_PLATE_GOODS_APPLY"."CREATE_DEPT" IS '创建部门'; +COMMENT ON COLUMN "MES_PLATE_GOODS_APPLY"."UPDATE_USER" IS '修改人'; +COMMENT ON COLUMN "MES_PLATE_GOODS_APPLY"."UPDATE_TIME" IS '修改时间'; +COMMENT ON COLUMN "MES_PLATE_GOODS_APPLY"."STATUS" IS '状态'; +COMMENT ON COLUMN "MES_PLATE_GOODS_APPLY"."IS_DELETED" IS '是否已删除'; +COMMENT ON COLUMN "MES_PLATE_GOODS_APPLY"."APPROVAL_MAN" IS '审批人'; +COMMENT ON COLUMN "MES_PLATE_GOODS_APPLY"."APPROVAL_TIME" IS '审批时间'; +COMMENT ON COLUMN "MES_PLATE_GOODS_APPLY"."APPROVAL_STATUS" IS '审批状态'; +COMMENT ON COLUMN "MES_PLATE_GOODS_APPLY"."APPROVAL_MEMO" IS '审批结果'; +COMMENT ON COLUMN "MES_PLATE_GOODS_APPLY"."WC_ID" IS '作业中心'; +COMMENT ON COLUMN "MES_PLATE_GOODS_APPLY"."GOODS_CODE" IS '镀层物料'; +COMMENT ON COLUMN "MES_PLATE_GOODS_APPLY"."GOODS_DEMAND" IS '物料需求定额'; +COMMENT ON COLUMN "MES_PLATE_GOODS_APPLY"."GOODS_NAME" IS '镀层物料名称'; +COMMENT ON COLUMN "MES_PLATE_GOODS_APPLY"."GOODS_ADD_TOTAL" IS '本次申报添加量'; +COMMENT ON COLUMN "MES_PLATE_GOODS_APPLY"."GOODS_DEMAND_TOTAL" IS '本次申报物料需求单总物料需求剩余量'; +COMMENT ON COLUMN "MES_PLATE_GOODS_APPLY"."DECLARED_QUOTA_TOTAL" IS '本次申报物料需求单已申报定额总量'; +COMMENT ON COLUMN "MES_PLATE_GOODS_APPLY"."APPLY_CODE" IS '申报单号'; +COMMENT ON TABLE "MES_PLATE_GOODS_APPLY" IS '镀层物料申报添加量'; + +-- ---------------------------- +-- Primary Key structure for table MES_PLATE_GOODS_APPLY +-- ---------------------------- +ALTER TABLE "MES_PLATE_GOODS_APPLY" + ADD CONSTRAINT "SYS_C0021902" PRIMARY KEY ("ID"); + +-- ---------------------------- +-- Checks structure for table MES_PLATE_GOODS_APPLY +-- ---------------------------- +ALTER TABLE "MES_PLATE_GOODS_APPLY" + ADD CONSTRAINT "SYS_C0021892" CHECK ("ID" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE; +ALTER TABLE "MES_PLATE_GOODS_APPLY" + ADD CONSTRAINT "SYS_C0021893" CHECK ("STATUS" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE; +ALTER TABLE "MES_PLATE_GOODS_APPLY" + ADD CONSTRAINT "SYS_C0021894" CHECK ("WC_ID" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE; +ALTER TABLE "MES_PLATE_GOODS_APPLY" + ADD CONSTRAINT "SYS_C0021895" CHECK ("GOODS_CODE" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE; +ALTER TABLE "MES_PLATE_GOODS_APPLY" + ADD CONSTRAINT "SYS_C0021896" CHECK ("GOODS_DEMAND" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE; diff --git a/doc/sql/mes/increase-260120.sql b/doc/sql/mes/increase-260120.sql index a681acb9..59456872 100644 --- a/doc/sql/mes/increase-260120.sql +++ b/doc/sql/mes/increase-260120.sql @@ -56,13 +56,6 @@ ALTER TABLE mes_plate_goods_record ALTER TABLE mes_plate_goods_record_detail MODIFY pgrd_id NUMBER(20, 0); -ALTER TABLE mes_plate_goods_record - ADD involving_record_code VARCHAR2(255) NULL; -COMMENT ON COLUMN mes_plate_goods_record.involving_record_code IS '本次添加涉及单号'; -ALTER TABLE mes_plate_goods_record - ADD detail_order_num NUMBER(8, 0) NULL; -COMMENT ON COLUMN mes_plate_goods_record.detail_order_num IS '本次关联订单数量'; - ALTER TABLE mes_assay_content_detail ADD add_val NUMBER(20, 10) NULL; COMMENT ON COLUMN mes_assay_content_detail.add_val IS '添加量值'; @@ -350,9 +343,6 @@ COMMENT ON COLUMN mes_plate_goods_apply.coefficient_bo_id IS '银钾采购id'; COMMENT ON COLUMN mes_plate_goods_apply.surplus IS '剩余量'; COMMENT ON COLUMN mes_plate_goods_apply.silver_potassium_residue IS '上报银钾剩余量'; COMMENT ON COLUMN mes_plate_goods_apply.demand_code IS '需求单号'; -COMMENT ON COLUMN mes_plate_goods_apply.involving_record_code IS '本次添加涉及单号'; -COMMENT ON COLUMN mes_plate_goods_apply.not_add_val IS '本次剩余单号余量'; -COMMENT ON COLUMN mes_plate_goods_apply.detail_order_num IS '本次关联订单数量'; ALTER TABLE MES_PLATE_GOODS_APPLY ADD GOODS_NAME VARCHAR2(100) NULL; COMMENT ON COLUMN MES_PLATE_GOODS_APPLY.GOODS_NAME IS '镀层物料名称';