diff --git a/blade-ops/blade-job/src/main/java/org/springblade/job/processor/wms/AutoCheckMeasuringToolProcessor.java b/blade-ops/blade-job/src/main/java/org/springblade/job/processor/wms/AutoCheckMeasuringToolProcessor.java new file mode 100644 index 000000000..0af6ca723 --- /dev/null +++ b/blade-ops/blade-job/src/main/java/org/springblade/job/processor/wms/AutoCheckMeasuringToolProcessor.java @@ -0,0 +1,43 @@ +package org.springblade.job.processor.wms; + +import jakarta.annotation.Resource; +import lombok.Data; +import lombok.extern.slf4j.Slf4j; +import org.springblade.desk.device.feign.ErpMeaToolTaskClient; +import org.springblade.wms.feign.WmsTaskClient; +import org.springframework.stereotype.Component; +import tech.powerjob.worker.core.processor.ProcessResult; +import tech.powerjob.worker.core.processor.TaskContext; +import tech.powerjob.worker.core.processor.sdk.BasicProcessor; + +/** + * @version 1.0 + * @program: jonhon-mes-svr + * @ClassName AutoCheckMeasuringToolProcessor + * @description: + * @autor: WuSiYu + * @create 2026-05-27 10:27 + **/ + +@Component +@Data +@Slf4j +public class AutoCheckMeasuringToolProcessor implements BasicProcessor { + + @Resource + ErpMeaToolTaskClient erpMeaToolTaskClient; + + @Override + public ProcessResult process(TaskContext context) throws Exception { + log.info("开始执行量具自动检定"); + try { + // 调用远程服务执行量具检定逻辑 + erpMeaToolTaskClient.autoCheckMeasuringTool(); + log.info("===== 量具自动检定完成 ====="); + return new ProcessResult(result); + } catch (Exception e) { + log.error("===== 量具自动检定异常 =====", e); + return new ProcessResult(false, e.getMessage()); + } + } +} diff --git a/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/device/feign/ErpMeaToolTaskClient.java b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/device/feign/ErpMeaToolTaskClient.java new file mode 100644 index 000000000..c6023dea3 --- /dev/null +++ b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/device/feign/ErpMeaToolTaskClient.java @@ -0,0 +1,30 @@ +package org.springblade.desk.device.feign; + +import org.springblade.core.launch.constant.AppConstant; +import org.springframework.cloud.openfeign.FeignClient; +import org.springframework.web.bind.annotation.GetMapping; + +/** + * @version 1.0 + * @program: jonhon-mes-svr + * @ClassName ErpMeaToolTaskClient + * @description: + * @autor: WuSiYu + * @create 2026-05-28 14:38 + **/ +@FeignClient( + value = AppConstant.APPLICATION_DESK_NAME +) +public interface ErpMeaToolTaskClient { + + String API_PREFIX = "/feign/client/erp-task"; + + String AUTO_CHECK_MEASURING_TOOL = API_PREFIX + "/autoCheckMeasuringTool"; + + + /** + * 同步量具数据 + */ + @GetMapping(AUTO_CHECK_MEASURING_TOOL) + void autoCheckMeasuringTool(); +} diff --git a/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/device/pojo/entity/MeasuringUpkeepEntity.java b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/device/pojo/entity/MeasuringUpkeepEntity.java index 080913a1c..94bd8ab8f 100644 --- a/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/device/pojo/entity/MeasuringUpkeepEntity.java +++ b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/device/pojo/entity/MeasuringUpkeepEntity.java @@ -1,17 +1,13 @@ package org.springblade.desk.device.pojo.entity; -import lombok.Data; -import io.swagger.v3.oas.annotations.media.Schema; import com.baomidou.mybatisplus.annotation.TableName; - -import java.math.BigDecimal; -import java.util.Date; - +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; import lombok.EqualsAndHashCode; import org.springblade.core.mp.base.BaseEntity; -import org.springblade.core.tenant.mp.TenantEntity; import java.io.Serial; +import java.util.Date; import java.util.HashMap; import java.util.Map; @@ -54,7 +50,42 @@ public class MeasuringUpkeepEntity extends BaseEntity { * 审批状态;-1 */ @Schema(description = "审批状态;-1") - private Short approvalStatus; + private Short approvalStaus; + /** + * 物料编号 + */ + @Schema(description = "物料编号") + private String goodsCode; + /** + * 库房编号 + */ + @Schema(description = "库房编号") + private String shCode; + /** + * 库位号 + */ + @Schema(description = "库位号") + private String location; + /** + * 生产标识 + */ + @Schema(description = "生产标识") + private String quantityLevel; + /** + * 检定数量 + */ + @Schema(description = "检定数量") + private Double checkQty; + /** + * 检定确认时间 + */ + @Schema(description = "检定确认时间") + private Date checkTime; + /** + * 检定标记 + */ + @Schema(description = "检定标记") + private Integer checkFlag; /** * 库存物料 */ @@ -69,6 +100,21 @@ public class MeasuringUpkeepEntity extends BaseEntity { */ public static Integer CURSTATUS_YSQ = 1; + /** + * 检定标记 - 未检查 + */ + public static Integer CHECK_FLAG_UNCHECKED = 0; + + /** + * 检定标记 - 检验合格 + */ + public static Integer CHECK_FLAG_PASS = 1; + + /** + * 检定标记 - 检验不合格 + */ + public static Integer CHECK_FLAG_FAIL = 2; + public static Map curStatusMap = new HashMap<>(3); static { diff --git a/blade-service-api/blade-erpdata-api/src/main/java/org/springblade/erpdata/feign/IErpDataWmsClient.java b/blade-service-api/blade-erpdata-api/src/main/java/org/springblade/erpdata/feign/IErpDataWmsClient.java index 65a1abf09..1c875b747 100644 --- a/blade-service-api/blade-erpdata-api/src/main/java/org/springblade/erpdata/feign/IErpDataWmsClient.java +++ b/blade-service-api/blade-erpdata-api/src/main/java/org/springblade/erpdata/feign/IErpDataWmsClient.java @@ -3,6 +3,8 @@ package org.springblade.erpdata.feign; import org.springblade.common.constant.LauncherConstant; import org.springblade.common.exception.BusinessException; import org.springblade.core.tool.api.R; +import org.springblade.erpdata.pojo.vo.MeasuringToolMaintainVO; +import org.springblade.erpdata.pojo.vo.PurchaseTrackVO; import org.springblade.erpdata.pojo.vo.StGoodsExtStatusVO; import org.springblade.wms.pojo.entity.StRealtimeStock; import org.springframework.cloud.openfeign.FeignClient; @@ -32,12 +34,20 @@ public interface IErpDataWmsClient { String SEND_ERP_BUY_REQUEST = API_PREFIX + "/sendErpBuyRequest"; + String CREATE_OR_REPLACE = API_PREFIX + "/createOrReplace"; + String CREATE_MOLD_PLAN = API_PREFIX + "/createMoldPlan"; String DELETE_MOLD_PLAN = API_PREFIX + "/deleteMoldPlan"; + String SEND_ERP_MAINTENANCE = API_PREFIX + "/sendErpMaintenance"; + String GET_GOODS_EXT_STATUS = API_PREFIX + "/getGoodsExtStatus"; + String GET_BUY_ORDER_STATUS = API_PREFIX + "/getBuyOrderStatus"; + + String GET_MAINTEN_STATUS = API_PREFIX + "/getMaintenStatus"; + /** * 到期送检发送erp */ @@ -50,6 +60,14 @@ public interface IErpDataWmsClient { @PostMapping(SEND_ERP_BUY_REQUEST) R sendErpBuyRequest(@RequestParam("extraBill")String extraBill, @RequestParam("qty")Double qty, @RequestParam("ldapName")String ldapName) throws BusinessException; + /** + * 仓库提请修改erp + */ + @PostMapping(CREATE_OR_REPLACE) + R createOrReplace(@RequestParam("extraBill")String extraBill, @RequestParam("goodsCode")String goodsCode, @RequestParam("flag")String flag, + @RequestParam("qty")Double qty, @RequestParam("amount")Double amount) throws BusinessException; + + /** * 工装计划申报发送erp */ @@ -64,10 +82,30 @@ public interface IErpDataWmsClient { @PostMapping(DELETE_MOLD_PLAN) R deleteMoldPlan(@RequestParam("erpWoCode")String erpWoCode) throws BusinessException; + /** + * 量具保养发送erp + */ + @PostMapping(SEND_ERP_MAINTENANCE) + R sendErpMaintenance(@RequestParam("goodsCode")String goodsCode, @RequestParam("shCode")String shCode, @RequestParam("location")String location, + @RequestParam("needDate") @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") Date needDate, + @RequestParam("flag")String flag ,@RequestParam("checkQty")Double checkQty, @RequestParam("quantityLevel")String quantityLevel) throws BusinessException; + /** * 物料状态监控同步 */ @PostMapping(GET_GOODS_EXT_STATUS) R getGoodsExtStatus(@RequestParam("goodsCode")String goodsCode); + /** + * 采购跟踪 + */ + @PostMapping(GET_BUY_ORDER_STATUS) + R getBuyOrderStatus(@RequestParam("extraBill")String extraBill); + + /** + * 量具检定 + */ + @PostMapping(GET_MAINTEN_STATUS) + R getMaintenStatus(@RequestParam("goodsCode")String goodsCode, @RequestParam("shCode")String shCode, + @RequestParam("location")String location, @RequestParam("createTime") @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") Date createTime); } diff --git a/blade-service-api/blade-erpdata-api/src/main/java/org/springblade/erpdata/feign/IErpDataWmsClientFallback.java b/blade-service-api/blade-erpdata-api/src/main/java/org/springblade/erpdata/feign/IErpDataWmsClientFallback.java index daa5fafce..3c8a59b41 100644 --- a/blade-service-api/blade-erpdata-api/src/main/java/org/springblade/erpdata/feign/IErpDataWmsClientFallback.java +++ b/blade-service-api/blade-erpdata-api/src/main/java/org/springblade/erpdata/feign/IErpDataWmsClientFallback.java @@ -1,6 +1,8 @@ package org.springblade.erpdata.feign; import org.springblade.core.tool.api.R; +import org.springblade.erpdata.pojo.vo.MeasuringToolMaintainVO; +import org.springblade.erpdata.pojo.vo.PurchaseTrackVO; import org.springblade.erpdata.pojo.vo.StGoodsExtStatusVO; import org.springblade.wms.pojo.entity.StRealtimeStock; import org.springframework.format.annotation.DateTimeFormat; @@ -30,6 +32,12 @@ public class IErpDataWmsClientFallback implements IErpDataWmsClient{ return R.fail("获取数据失败"); } + @Override + public R createOrReplace(@RequestParam("extraBill")String extraBill, @RequestParam("goodsCode")String goodsCode, @RequestParam("flag")String flag, + @RequestParam("qty")Double qty, @RequestParam("amount")Double amount) { + return R.fail("获取数据失败"); + } + @Override public R createMoldPlan(@RequestParam(value = "partCode", required = false)String partCode, @RequestParam("moCode")String moCode, @RequestParam("plantype")String plantype, @RequestParam("quantity")Double quantity, @RequestParam("needDate") @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") Date needDate, @RequestParam("level")String level, @RequestParam("keeper")String keeper, @RequestParam("createMan")String createMan, @@ -42,9 +50,27 @@ public class IErpDataWmsClientFallback implements IErpDataWmsClient{ return R.fail("获取数据失败"); } + @Override + public R sendErpMaintenance(@RequestParam("goodsCode")String goodsCode, @RequestParam("shCode")String shCode, @RequestParam("location")String location, + @RequestParam("needDate") @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") Date needDate, + @RequestParam("flag")String flag ,@RequestParam("checkQty")Double checkQty, @RequestParam("quantityLevel")String quantityLevel) { + return R.fail("获取数据失败"); + } + @Override public R getGoodsExtStatus(@RequestParam("goodsCode")String goodsCode) { return R.fail("获取数据失败"); } + @Override + public R getBuyOrderStatus(@RequestParam("extraBill")String extraBill) { + return R.fail("获取数据失败"); + } + + @Override + public R getMaintenStatus(@RequestParam("goodsCode")String goodsCode, @RequestParam("shCode")String shCode, + @RequestParam("location")String location, @RequestParam("createTime") @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") Date createTime) { + return R.fail("获取数据失败"); + } + } diff --git a/blade-service-api/blade-erpdata-api/src/main/java/org/springblade/erpdata/pojo/vo/MeasuringToolMaintainVO.java b/blade-service-api/blade-erpdata-api/src/main/java/org/springblade/erpdata/pojo/vo/MeasuringToolMaintainVO.java new file mode 100644 index 000000000..9e26f45e0 --- /dev/null +++ b/blade-service-api/blade-erpdata-api/src/main/java/org/springblade/erpdata/pojo/vo/MeasuringToolMaintainVO.java @@ -0,0 +1,26 @@ +package org.springblade.erpdata.pojo.vo; + +import lombok.Data; + +import java.util.Date; + +/** + * @version 1.0 + * @program: jonhon-mes-svr + * @ClassName MeasuringToolMaintainVO + * @description: + * @autor: WuSiYu + * @create 2026-05-26 21:24 + **/ +@Data +public class MeasuringToolMaintainVO { + + /** + * 检定标记 + */ + private String chkflag; + /** + * 检定标记检定日期 + */ + private Date chkdate; +} diff --git a/blade-service-api/blade-erpdata-api/src/main/java/org/springblade/erpdata/pojo/vo/PurchaseTrackVO.java b/blade-service-api/blade-erpdata-api/src/main/java/org/springblade/erpdata/pojo/vo/PurchaseTrackVO.java new file mode 100644 index 000000000..d6419080b --- /dev/null +++ b/blade-service-api/blade-erpdata-api/src/main/java/org/springblade/erpdata/pojo/vo/PurchaseTrackVO.java @@ -0,0 +1,49 @@ +package org.springblade.erpdata.pojo.vo; + +import lombok.Data; + +/** + * @version 1.0 + * @program: jonhon-mes-svr + * @ClassName PurchaseTrackVO + * @description: + * @autor: WuSiYu + * @create 2026-05-25 16:15 + **/ +@Data +public class PurchaseTrackVO { + + /** + * 额外号 + */ + private String orderno; + /** + * 负责人账号 + */ + private String relctrler; + + /** + * 负责人名称 + */ + private String relctrlerName; + + /** + * 需求状态 + */ + private Short reqstat; + + /** + * 采购申请单号(RPNO) + */ + private String rpno; + + /** + * 采购人账号 + */ + private String purcode; + + /** + * 采购人名称 + */ + private String purcodeName; +} diff --git a/blade-service-api/blade-wms-api/src/main/java/org/springblade/wms/pojo/entity/StBuyOrder.java b/blade-service-api/blade-wms-api/src/main/java/org/springblade/wms/pojo/entity/StBuyOrder.java index 5ab6edd5b..2737412ed 100644 --- a/blade-service-api/blade-wms-api/src/main/java/org/springblade/wms/pojo/entity/StBuyOrder.java +++ b/blade-service-api/blade-wms-api/src/main/java/org/springblade/wms/pojo/entity/StBuyOrder.java @@ -165,6 +165,33 @@ public class StBuyOrder extends TenantEntity { @Schema(description = "二级审批时间") private Date approvalTime2; + /** + * 采购部计划员ID + */ + @Schema(description = "采购部计划员ID") + private Long planBuyMan; + + /** + * 采购部计划员名称 + */ + @Schema(description = "采购部计划员名称") + private String planBuyManName; + + /** + * 需求状态 + */ + @Schema(description = "需求状态") + private Short needStatus; + + /** + * erp采购单号 + */ + @Schema(description = "erp采购单号") + private String erpBuyCode; + + @TableField(exist = false) + private String buyManName; + @TableField(exist = false) private String declareManName; @@ -237,5 +264,19 @@ public class StBuyOrder extends TenantEntity { */ public static final short APPROVAL_STATUS_SECOND_UNPASS = 4; + /** + * 需求状态 0等候;1计划确认;2已生成定单;4未生成定单;5已做批料;6未批准;7需求取消;8车间取消;9车间批准;10车间未批 + */ + public static Short NEED_STATUS_WAIT = 0; // 等候 + public static Short NEED_STATUS_PLAN_CONFIRM = 1; // 计划确认 + public static Short NEED_STATUS_ORDER_GENERATED = 2; // 已生成定单 + public static Short NEED_STATUS_ORDER_NOT_GENERATED = 4; // 未生成定单 + public static Short NEED_STATUS_BATCH_MADE = 5; // 已做批料 + public static Short NEED_STATUS_NOT_APPROVED = 6; // 未批准 + public static Short NEED_STATUS_REQUIRE_CANCEL = 7; // 需求取消 + public static Short NEED_STATUS_WORKSHOP_CANCEL = 8; // 车间取消 + public static Short NEED_STATUS_WORKSHOP_APPROVE = 9; // 车间批准 + public static Short NEED_STATUS_WORKSHOP_NOT_APPROVE = 10;// 车间未批 + } diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/device/feign/ErpMeaToolTaskClientImpl.java b/blade-service/blade-desk/src/main/java/org/springblade/desk/device/feign/ErpMeaToolTaskClientImpl.java new file mode 100644 index 000000000..6c9395dca --- /dev/null +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/device/feign/ErpMeaToolTaskClientImpl.java @@ -0,0 +1,27 @@ +package org.springblade.desk.device.feign; + +import io.swagger.v3.oas.annotations.Hidden; +import jakarta.annotation.Resource; +import org.springblade.desk.device.service.IMeasuringUpkeepService; +import org.springframework.web.bind.annotation.RestController; + +/** + * @version 1.0 + * @program: jonhon-mes-svr + * @ClassName ErpMeaToolTaskClientImpl + * @description: + * @autor: WuSiYu + * @create 2026-05-28 14:33 + **/ +@RestController +@Hidden +public class ErpMeaToolTaskClientImpl implements ErpMeaToolTaskClient { + + @Resource + private IMeasuringUpkeepService measuringUpkeepService; + + @Override + public void autoCheckMeasuringTool() { + measuringUpkeepService.autoCheckMeasuringTool(); + } +} diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/device/mapper/MeasuringUpkeepMapper.java b/blade-service/blade-desk/src/main/java/org/springblade/desk/device/mapper/MeasuringUpkeepMapper.java index e1e43cd46..92d00c0f5 100644 --- a/blade-service/blade-desk/src/main/java/org/springblade/desk/device/mapper/MeasuringUpkeepMapper.java +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/device/mapper/MeasuringUpkeepMapper.java @@ -1,14 +1,15 @@ package org.springblade.desk.device.mapper; +import com.baomidou.mybatisplus.core.conditions.Wrapper; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import org.apache.ibatis.annotations.Param; import org.springblade.desk.device.pojo.entity.MeasuringUpkeepEntity; import org.springblade.desk.device.pojo.excel.MeasuringUpkeepExcel; import org.springblade.desk.device.pojo.request.MeasuringUpkeepQuery; import org.springblade.desk.device.pojo.vo.MeasuringUpkeepVO; -import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import com.baomidou.mybatisplus.core.conditions.Wrapper; -import com.baomidou.mybatisplus.core.metadata.IPage; -import org.apache.ibatis.annotations.Param; import org.springblade.desk.device.pojo.vo.ToolingLibraryVO; +import org.springblade.wms.pojo.vo.StRealtimeStockVO; import java.util.List; @@ -46,4 +47,9 @@ public interface MeasuringUpkeepMapper extends BaseMapper */ List exportMeasuringUpkeep(@Param("ew") Wrapper queryWrapper); + StRealtimeStockVO getStockById(Long id); + + void updateStock(Long id, Double checkQty); + + void updateStockById(Long miId, Double checkQty); } diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/device/mapper/MeasuringUpkeepMapper.xml b/blade-service/blade-desk/src/main/java/org/springblade/desk/device/mapper/MeasuringUpkeepMapper.xml index 720fbc8e6..b2523fad2 100644 --- a/blade-service/blade-desk/src/main/java/org/springblade/desk/device/mapper/MeasuringUpkeepMapper.xml +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/device/mapper/MeasuringUpkeepMapper.xml @@ -92,6 +92,7 @@ + @@ -176,7 +177,7 @@ and (toolingLibrary.muStatus == null or toolingLibrary.muStatus == '') and (toolingLibrary.goodsName == null or toolingLibrary.goodsName == '') and (toolingLibrary.piNo == null or toolingLibrary.piNo == '')"> - AND st.sum_num >= 270 + AND st.stay_maintain_num >= 270 @@ -210,4 +211,35 @@ FROM MES_MEASURING_UPKEEP ${ew.customSqlSegment} + + + + UPDATE st_realtime_stock + SET occupy_quantity = occupy_quantity + #{checkQty}, + is_measure_maintenance = 1, + update_time = NOW() + WHERE id = #{id} + + + + UPDATE st_realtime_stock + SET STAY_MAINTAIN_NUM = 0, + is_measure_maintenance = 0, + occupy_quantity = occupy_quantity - #{checkQty}, + update_time = NOW() + WHERE id = #{id} + diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/device/service/IMeasuringUpkeepService.java b/blade-service/blade-desk/src/main/java/org/springblade/desk/device/service/IMeasuringUpkeepService.java index f6846eb8c..4714b40d1 100644 --- a/blade-service/blade-desk/src/main/java/org/springblade/desk/device/service/IMeasuringUpkeepService.java +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/device/service/IMeasuringUpkeepService.java @@ -58,4 +58,6 @@ public interface IMeasuringUpkeepService extends BaseService ids); + + void autoCheckMeasuringTool(); } diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/device/service/impl/MeasuringUpkeepServiceImpl.java b/blade-service/blade-desk/src/main/java/org/springblade/desk/device/service/impl/MeasuringUpkeepServiceImpl.java index a329a8b21..d9a997209 100644 --- a/blade-service/blade-desk/src/main/java/org/springblade/desk/device/service/impl/MeasuringUpkeepServiceImpl.java +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/device/service/impl/MeasuringUpkeepServiceImpl.java @@ -2,9 +2,12 @@ package org.springblade.desk.device.service.impl; import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.core.conditions.Wrapper; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import jakarta.annotation.Resource; import lombok.extern.slf4j.Slf4j; +import org.springblade.common.exception.BusinessException; import org.springblade.core.mp.base.BaseServiceImpl; import org.springblade.core.secure.utils.AuthUtil; import org.springblade.core.tool.api.R; @@ -16,6 +19,9 @@ import org.springblade.desk.device.pojo.request.MeasuringUpkeepQuery; import org.springblade.desk.device.pojo.vo.MeasuringUpkeepVO; import org.springblade.desk.device.pojo.vo.ToolingLibraryVO; import org.springblade.desk.device.service.IMeasuringUpkeepService; +import org.springblade.erpdata.feign.IErpDataWmsClient; +import org.springblade.erpdata.pojo.vo.MeasuringToolMaintainVO; +import org.springblade.wms.pojo.vo.StRealtimeStockVO; import org.springframework.beans.factory.annotation.Value; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; @@ -51,6 +57,9 @@ public class MeasuringUpkeepServiceImpl extends BaseServiceImpl selectMeasuringUpkeepPage(IPage page, MeasuringUpkeepQuery measuringUpkeep) { // return page.setRecords(baseMapper.selectMeasuringUpkeepPage(page, measuringUpkeep)); @@ -135,15 +144,57 @@ public class MeasuringUpkeepServiceImpl extends BaseServiceImpl { MeasuringUpkeepEntity entity = new MeasuringUpkeepEntity(); entity.setMiId(id); - entity.setStatus(MeasuringUpkeepEntity.CURSTATUS_NEW); + StRealtimeStockVO stock = baseMapper.getStockById(id); + entity.setCheckFlag(0); entity.setMmCode(nextCode(1)); + entity.setGoodsCode(stock.getGoodsCode()); + entity.setShCode(stock.getShCode()); + entity.setLocation(stock.getLocation()); + entity.setCheckQty(stock.getQuantity()); + entity.setQuantityLevel("0"); entity.setCreateMan(AuthUtil.getUser() != null ? AuthUtil.getUser().getUserId() : 1); list.add(entity); + + try { + erpDataWmsClient.sendErpMaintenance(entity.getGoodsCode(),entity.getShCode(),entity.getLocation(), + new Date(),"0",entity.getCheckQty(), "0"); + } catch (BusinessException e) { + throw new RuntimeException("量具保养发送ERP失败:" + e.getMessage()); + } + + baseMapper.updateStock(id, entity.getCheckQty()); }); return R.status(this.saveBatch(list)); } + @Override + public void autoCheckMeasuringTool() { + try { + + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("is_deleted", 0); + queryWrapper.eq("check_flag", MeasuringUpkeepEntity.CHECK_FLAG_UNCHECKED); + queryWrapper.orderByDesc("create_time"); + List list = baseMapper.selectList(queryWrapper); + + for (MeasuringUpkeepEntity entity : list) { + MeasuringToolMaintainVO maintainVO = erpDataWmsClient.getMaintenStatus(entity.getGoodsCode(),entity.getShCode(), + entity.getLocation(),entity.getCreateTime()).getData(); + entity.setCheckFlag(Integer.valueOf(maintainVO.getChkflag())); + entity.setCheckTime(maintainVO.getChkdate()); + + if (entity.getCheckFlag() == 1) { + baseMapper.updateStockById(entity.getMiId(), entity.getCheckQty()); + } + } + + log.info("===== 量具保养检验状态定时更新完成 =====", list.size()); + } catch (Exception e) { + log.info("===== 量具保养检验状态定时更新异常 =====", e); + } + } + /** * 构建请求体 */ diff --git a/blade-service/blade-erpdata/src/main/java/org/springblade/erpdata/feign/ErpDataWmsClient.java b/blade-service/blade-erpdata/src/main/java/org/springblade/erpdata/feign/ErpDataWmsClient.java index ea60dbc7c..2cb8b02c7 100644 --- a/blade-service/blade-erpdata/src/main/java/org/springblade/erpdata/feign/ErpDataWmsClient.java +++ b/blade-service/blade-erpdata/src/main/java/org/springblade/erpdata/feign/ErpDataWmsClient.java @@ -5,6 +5,8 @@ import lombok.AllArgsConstructor; import org.springblade.common.exception.BusinessException; import org.springblade.core.tenant.annotation.NonDS; import org.springblade.core.tool.api.R; +import org.springblade.erpdata.pojo.vo.MeasuringToolMaintainVO; +import org.springblade.erpdata.pojo.vo.PurchaseTrackVO; import org.springblade.erpdata.pojo.vo.StGoodsExtStatusVO; import org.springblade.erpdata.service.IErpDataWmsService; import org.springblade.wms.pojo.entity.StRealtimeStock; @@ -37,6 +39,11 @@ public class ErpDataWmsClient implements IErpDataWmsClient{ return R.data(erpDataWmsService.sendErpBuyRequest(extraBill, qty, ldapName)); } + @Override + public R createOrReplace(String extraBill, String goodsCode, String flag, Double qty, Double amount) throws BusinessException { + return R.data(erpDataWmsService.createOrReplace(extraBill, goodsCode, flag, qty, amount)); + } + @Override public R createMoldPlan(String partCode, String moCode, String plantype, Double quantity, Date needDate, String level, String keeper, String createMan, String memo, String urgentType, String erpWoCode) throws BusinessException { @@ -49,8 +56,24 @@ public class ErpDataWmsClient implements IErpDataWmsClient{ return R.data(erpDataWmsService.deleteMoldPlan(erpWoCode)); } + @Override + public R sendErpMaintenance(String goodsCode, String shCode, String location, Date needDate, + String flag ,Double checkQty, String quantityLevel) throws BusinessException { + return R.data(erpDataWmsService.sendErpMaintenance(goodsCode, shCode, location, needDate, flag, checkQty, quantityLevel)); + } + @Override public R getGoodsExtStatus(String goodsCode) { return R.data(erpDataWmsService.getGoodsExtStatus(goodsCode)); } + + @Override + public R getBuyOrderStatus(String extraBill) { + return R.data(erpDataWmsService.getBuyOrderStatus(extraBill)); + } + + @Override + public R getMaintenStatus(String goodsCode, String shCode, String location, Date createTime) { + return R.data(erpDataWmsService.getMaintenStatus(goodsCode, shCode, location, createTime)); + } } diff --git a/blade-service/blade-erpdata/src/main/java/org/springblade/erpdata/mapper/ErpDataWmsMapper.java b/blade-service/blade-erpdata/src/main/java/org/springblade/erpdata/mapper/ErpDataWmsMapper.java index 1597fbb5c..14931cd68 100644 --- a/blade-service/blade-erpdata/src/main/java/org/springblade/erpdata/mapper/ErpDataWmsMapper.java +++ b/blade-service/blade-erpdata/src/main/java/org/springblade/erpdata/mapper/ErpDataWmsMapper.java @@ -1,8 +1,12 @@ package org.springblade.erpdata.mapper; import com.baomidou.mybatisplus.core.mapper.Mapper; +import org.springblade.erpdata.pojo.vo.MeasuringToolMaintainVO; +import org.springblade.erpdata.pojo.vo.PurchaseTrackVO; import org.springblade.erpdata.pojo.vo.StGoodsExtStatusVO; +import java.util.Date; + /** * @version 1.0 * @program: jonhon-mes-svr @@ -16,4 +20,7 @@ public interface ErpDataWmsMapper extends Mapper { StGoodsExtStatusVO getGoodsExtStatus(String goodsCode); + PurchaseTrackVO getBuyOrderStatus(String extraBill); + + MeasuringToolMaintainVO getMaintenStatus(String goodsCode, String shCode, String location, Date createTime); } diff --git a/blade-service/blade-erpdata/src/main/java/org/springblade/erpdata/mapper/ErpDataWmsMapper.xml b/blade-service/blade-erpdata/src/main/java/org/springblade/erpdata/mapper/ErpDataWmsMapper.xml index f4889411f..367940889 100644 --- a/blade-service/blade-erpdata/src/main/java/org/springblade/erpdata/mapper/ErpDataWmsMapper.xml +++ b/blade-service/blade-erpdata/src/main/java/org/springblade/erpdata/mapper/ErpDataWmsMapper.xml @@ -11,4 +11,29 @@ WHERE prtno = #{goodsCode} + + + diff --git a/blade-service/blade-erpdata/src/main/java/org/springblade/erpdata/service/IErpDataWmsService.java b/blade-service/blade-erpdata/src/main/java/org/springblade/erpdata/service/IErpDataWmsService.java index 81fc1509f..76f732480 100644 --- a/blade-service/blade-erpdata/src/main/java/org/springblade/erpdata/service/IErpDataWmsService.java +++ b/blade-service/blade-erpdata/src/main/java/org/springblade/erpdata/service/IErpDataWmsService.java @@ -1,6 +1,8 @@ package org.springblade.erpdata.service; import org.springblade.common.exception.BusinessException; +import org.springblade.erpdata.pojo.vo.MeasuringToolMaintainVO; +import org.springblade.erpdata.pojo.vo.PurchaseTrackVO; import org.springblade.erpdata.pojo.vo.StGoodsExtStatusVO; import org.springblade.wms.pojo.entity.StRealtimeStock; @@ -26,4 +28,12 @@ public interface IErpDataWmsService { String deleteMoldPlan(String erpWoCode) throws BusinessException; StGoodsExtStatusVO getGoodsExtStatus(String goodsCode); + + String createOrReplace(String extraBill, String goodsCode, String flag, Double qty, Double amount) throws BusinessException; + + PurchaseTrackVO getBuyOrderStatus(String extraBill); + + String sendErpMaintenance(String goodsCode, String shCode, String location, Date needDate, String flag, Double checkQty, String quantityLevel) throws BusinessException; + + MeasuringToolMaintainVO getMaintenStatus(String goodsCode, String shCode, String location, Date createTime); } diff --git a/blade-service/blade-erpdata/src/main/java/org/springblade/erpdata/service/impl/ErpDataWmsServiceImpl.java b/blade-service/blade-erpdata/src/main/java/org/springblade/erpdata/service/impl/ErpDataWmsServiceImpl.java index 6bba80b45..3af57fa64 100644 --- a/blade-service/blade-erpdata/src/main/java/org/springblade/erpdata/service/impl/ErpDataWmsServiceImpl.java +++ b/blade-service/blade-erpdata/src/main/java/org/springblade/erpdata/service/impl/ErpDataWmsServiceImpl.java @@ -6,6 +6,8 @@ import lombok.extern.slf4j.Slf4j; import org.apache.commons.lang3.StringUtils; import org.springblade.common.exception.BusinessException; import org.springblade.erpdata.mapper.ErpDataWmsMapper; +import org.springblade.erpdata.pojo.vo.MeasuringToolMaintainVO; +import org.springblade.erpdata.pojo.vo.PurchaseTrackVO; import org.springblade.erpdata.pojo.vo.StGoodsExtStatusVO; import org.springblade.erpdata.service.IErpDataWmsService; import org.springblade.wms.pojo.entity.StRealtimeStock; @@ -125,6 +127,47 @@ public class ErpDataWmsServiceImpl implements IErpDataWmsService { return excflag; } + @Override + public String createOrReplace(String extraBill, String goodsCode, String flag, Double qty, Double amount) throws BusinessException { + SimpleJdbcCall jdbcCall = new SimpleJdbcCall(jdbcTemplate) + // 指定存储过程名(包含 DB Link) + .withProcedureName("dba_mgr.pro_rbmesinvdeptoutchg") + // 关闭元数据访问(DBLink 必须加) + .withoutProcedureColumnMetaDataAccess() + // 显式声明参数(顺序必须和存储过程一致) + .declareParameters( + new SqlParameter("v_wono", Types.VARCHAR), // IN + new SqlParameter("v_prtno", Types.VARCHAR), // IN + new SqlParameter("v_flag", Types.VARCHAR), // IN + new SqlParameter("v_reqqty", Types.DOUBLE), // IN + new SqlParameter("v_amount", Types.DOUBLE), // IN + new SqlOutParameter("v_excnote", Types.VARCHAR),// OUT + new SqlOutParameter("v_excflag", Types.VARCHAR) // OUT + ); + + // 2. 封装输入参数 + Map inParams = new HashMap<>(); + inParams.put("v_wono", extraBill == null ? "" : extraBill); + inParams.put("v_prtno", goodsCode == null ? "" : goodsCode); + inParams.put("v_flag", flag == null ? "" : flag); + inParams.put("v_reqqty", qty == null ? 0D : qty); + inParams.put("v_amount", amount == null ? 0D : amount); + + // 3. 执行并获取结果 Map + Map resultMap = jdbcCall.execute(inParams); + + // 4. 提取输出参数 + String excflag = (String) resultMap.get("v_excflag"); + String excnote = (String) resultMap.get("v_excnote"); + + // 5. 业务判断 + if ("0".equals(excflag)) { + throw new BusinessException("申报信息修改或删除erp失败!" + excnote); + } + + return excflag; + } + @Override public String createMoldPlan(String partCode, String moCode, String plantype, Double quantity, Date needDate, String level, String keeper, String createMan, String memo, String urgentType, String erpWoCode) throws BusinessException{ @@ -215,9 +258,66 @@ public class ErpDataWmsServiceImpl implements IErpDataWmsService { return excflag; } + @Override + public String sendErpMaintenance(String goodsCode, String shCode, String location, Date needDate, + String flag ,Double checkQty, String quantityLevel) throws BusinessException { + // 1. 创建存储过程调用 + SimpleJdbcCall jdbcCall = new SimpleJdbcCall(jdbcTemplate) + // 存储过程名 + DBLink + .withProcedureName("dba_mgr.pro_rbmestoolchkmtn") + // 关闭元数据(DBLink必须加) + .withoutProcedureColumnMetaDataAccess() + // 声明参数:顺序必须和存储过程一致! + .declareParameters( + new SqlParameter("v_prtno", Types.VARCHAR), + new SqlParameter("v_warno", Types.VARCHAR), + new SqlParameter("v_warlocno", Types.VARCHAR), + new SqlParameter("v_applydate", Types.DATE), + new SqlParameter("v_typeflag", Types.VARCHAR), + new SqlParameter("v_chkqty", Types.DOUBLE), + new SqlParameter("v_prtlotno", Types.VARCHAR), + new SqlOutParameter("v_excnote", Types.VARCHAR), + new SqlOutParameter("v_excflag", Types.VARCHAR) + ); + + // 2. 封装输入参数 + Map inParams = new HashMap<>(); + inParams.put("v_prtno", goodsCode); + inParams.put("v_warno", shCode); + inParams.put("v_warlocno", location); + inParams.put("v_applydate", needDate); + inParams.put("v_typeflag", flag); + inParams.put("v_chkqty", checkQty); + inParams.put("v_prtlotno", quantityLevel); + + // 3. 执行存储过程 + Map resultMap = jdbcCall.execute(inParams); + + // 4. 获取输出参数 + String excflag = (String) resultMap.get("v_excflag"); + String excnote = (String) resultMap.get("v_excnote"); + + // 5. 业务判断 + if ("0".equals(excflag)) { + throw new BusinessException("量具保养发送失败! " + excnote); + } + + return excflag; + } + @Override public StGoodsExtStatusVO getGoodsExtStatus(String goodsCode){ return erpDataWmsMapper.getGoodsExtStatus(goodsCode); } + @Override + public PurchaseTrackVO getBuyOrderStatus(String extraBill) { + return erpDataWmsMapper.getBuyOrderStatus(extraBill); + } + + @Override + public MeasuringToolMaintainVO getMaintenStatus(String goodsCode, String shCode, String location, Date createTime) { + return erpDataWmsMapper.getMaintenStatus(goodsCode, shCode, location, createTime); + } + } diff --git a/blade-service/blade-wms/src/main/java/org/springblade/wms/controller/StBuyOrderController.java b/blade-service/blade-wms/src/main/java/org/springblade/wms/controller/StBuyOrderController.java index 3d461d90a..b427ed86d 100644 --- a/blade-service/blade-wms/src/main/java/org/springblade/wms/controller/StBuyOrderController.java +++ b/blade-service/blade-wms/src/main/java/org/springblade/wms/controller/StBuyOrderController.java @@ -56,9 +56,10 @@ public class StBuyOrderController extends BladeController { @ApiOperationSupport(order = 1) @ApiLog("采购申请单 详情") @Operation(summary = "详情", description = "传入stBuyOrder") - public R detail(StBuyOrder stBuyOrder) { - StBuyOrder detail = stBuyOrderService.getOne(Condition.getQueryWrapper(stBuyOrder)); - return R.data(StBuyOrderWrapper.build().entityVO(detail)); + public R detail(StBuyOrder stBuyOrder) { +// StBuyOrder detail = stBuyOrderService.getOne(Condition.getQueryWrapper(stBuyOrder)); + StBuyOrder detail = stBuyOrderService.getDetail(stBuyOrder.getId()); + return R.data(detail); } /** * 采购申请单 分页 diff --git a/blade-service/blade-wms/src/main/java/org/springblade/wms/controller/StMoldApplyForController.java b/blade-service/blade-wms/src/main/java/org/springblade/wms/controller/StMoldApplyForController.java index d61c358a9..769fa4725 100644 --- a/blade-service/blade-wms/src/main/java/org/springblade/wms/controller/StMoldApplyForController.java +++ b/blade-service/blade-wms/src/main/java/org/springblade/wms/controller/StMoldApplyForController.java @@ -22,7 +22,6 @@ import org.springblade.core.tool.utils.DateUtil; import org.springblade.core.tool.utils.Func; import org.springblade.wms.excel.StMoldApplyForExcel; import org.springblade.wms.pojo.dto.StMoldApplyForDTO; -import org.springblade.wms.pojo.entity.StBuyOrder; import org.springblade.wms.pojo.entity.StMoldApplyFor; import org.springblade.wms.pojo.vo.StMoldApplyForVO; import org.springblade.wms.service.IStMoldApplyForService; diff --git a/blade-service/blade-wms/src/main/java/org/springblade/wms/controller/StWmsRequestController.java b/blade-service/blade-wms/src/main/java/org/springblade/wms/controller/StWmsRequestController.java index a4ec0e099..1540d1cca 100644 --- a/blade-service/blade-wms/src/main/java/org/springblade/wms/controller/StWmsRequestController.java +++ b/blade-service/blade-wms/src/main/java/org/springblade/wms/controller/StWmsRequestController.java @@ -100,16 +100,16 @@ public class StWmsRequestController extends BladeController { return R.status(stWmsRequestService.save(stWmsRequest)); } -// /** -// * 仓库提请记录 修改 -// */ -// @PostMapping("/update") -// @ApiOperationSupport(order = 5) -// @ApiLog("仓库提请记录 修改") -// @Operation(summary = "修改", description = "传入stWmsRequest") -// public R update(@Valid @RequestBody StWmsRequest stWmsRequest) { -// return R.status(stWmsRequestService.updateByErp(stWmsRequest)); -// } + /** + * 仓库提请记录 修改 + */ + @PostMapping("/update") + @ApiOperationSupport(order = 5) + @ApiLog("仓库提请记录 修改") + @Operation(summary = "修改", description = "传入stWmsRequest") + public R update(@Valid @RequestBody StWmsRequest stWmsRequest) { + return R.status(stWmsRequestService.updateByErp(stWmsRequest)); + } /** * 仓库提请提交 @@ -158,7 +158,7 @@ public class StWmsRequestController extends BladeController { @ApiLog("仓库提请记录 删除") @Operation(summary = "逻辑删除", description = "传入ids") public R remove(@Parameter(description = "主键集合", required = true) @RequestParam String ids) { - return R.status(stWmsRequestService.deleteLogic(Func.toLongList(ids))); + return R.status(stWmsRequestService.deleteByErp(Func.toLongList(ids))); } /** diff --git a/blade-service/blade-wms/src/main/java/org/springblade/wms/service/IStBuyOrderService.java b/blade-service/blade-wms/src/main/java/org/springblade/wms/service/IStBuyOrderService.java index 7bff69252..8add626e2 100644 --- a/blade-service/blade-wms/src/main/java/org/springblade/wms/service/IStBuyOrderService.java +++ b/blade-service/blade-wms/src/main/java/org/springblade/wms/service/IStBuyOrderService.java @@ -60,6 +60,8 @@ public interface IStBuyOrderService extends BaseService { Long buyOrderApplyFor(String goodsCode, Double buyQty, Long userId, Date buyDate, Long checkUserId, Date checkDate) throws Exception; + StBuyOrder getDetail(Long id); + // JSONObject otherPlanDetail(Long id, String prtno); } diff --git a/blade-service/blade-wms/src/main/java/org/springblade/wms/service/IStWmsRequestService.java b/blade-service/blade-wms/src/main/java/org/springblade/wms/service/IStWmsRequestService.java index ef93000dd..56def773f 100644 --- a/blade-service/blade-wms/src/main/java/org/springblade/wms/service/IStWmsRequestService.java +++ b/blade-service/blade-wms/src/main/java/org/springblade/wms/service/IStWmsRequestService.java @@ -45,5 +45,9 @@ public interface IStWmsRequestService extends BaseService { void approvalRequest(Long id, Short approvalResult, BladeUser user); void batchSaveOrEdit(List stWmsRequestList, BladeUser user); + + boolean updateByErp(StWmsRequest stWmsRequest); + + boolean deleteByErp(List longList); } diff --git a/blade-service/blade-wms/src/main/java/org/springblade/wms/service/impl/StBuyOrderServiceImpl.java b/blade-service/blade-wms/src/main/java/org/springblade/wms/service/impl/StBuyOrderServiceImpl.java index cd5b573ae..ac2a4f7f8 100644 --- a/blade-service/blade-wms/src/main/java/org/springblade/wms/service/impl/StBuyOrderServiceImpl.java +++ b/blade-service/blade-wms/src/main/java/org/springblade/wms/service/impl/StBuyOrderServiceImpl.java @@ -13,6 +13,8 @@ import org.springblade.core.secure.BladeUser; import org.springblade.core.tool.api.R; import org.springblade.desk.common.feign.IMesApprovalRecordClient; import org.springblade.desk.common.pojo.entity.MesApprovalRecordEntity; +import org.springblade.erpdata.feign.IErpDataWmsClient; +import org.springblade.erpdata.pojo.vo.PurchaseTrackVO; import org.springblade.system.feign.ISysClient; import org.springblade.system.feign.IUserClient; import org.springblade.system.pojo.entity.User; @@ -54,6 +56,8 @@ public class StBuyOrderServiceImpl extends BaseServiceImpl selectStBuyOrderPage(IPage page, StBuyOrderVO stBuyOrder) { @@ -374,6 +378,27 @@ public class StBuyOrderServiceImpl extends BaseServiceImpl userList = userClient.listByNameNolike(purchaseTrackVO.getRelctrlerName()); + buyOrder.setPlanBuyMan(userList.get(0).getId()); + buyOrder.setPlanBuyManName(purchaseTrackVO.getRelctrlerName()); + List users = userClient.listByNameNolike(purchaseTrackVO.getPurcodeName()); + buyOrder.setBuyMan(users.get(0).getId()); + buyOrder.setBuyManName(purchaseTrackVO.getPurcodeName()); + + this.updateById(buyOrder); + return buyOrder; + } + // @Override // public JSONObject otherPlanDetail(Long boId, String goodsCode) { //// JSONObject o = (JSONObject) prPlateGoodsRecordWebService.listByRecordDetail(boId,goodsCode); diff --git a/blade-service/blade-wms/src/main/java/org/springblade/wms/service/impl/StWmsRequestServiceImpl.java b/blade-service/blade-wms/src/main/java/org/springblade/wms/service/impl/StWmsRequestServiceImpl.java index 5ba7f3ab1..b509dd873 100644 --- a/blade-service/blade-wms/src/main/java/org/springblade/wms/service/impl/StWmsRequestServiceImpl.java +++ b/blade-service/blade-wms/src/main/java/org/springblade/wms/service/impl/StWmsRequestServiceImpl.java @@ -1,5 +1,6 @@ package org.springblade.wms.service.impl; +import cn.hutool.core.collection.CollUtil; import cn.hutool.core.date.DateUtil; import cn.hutool.core.util.StrUtil; import com.baomidou.mybatisplus.core.conditions.Wrapper; @@ -24,7 +25,6 @@ import org.springblade.wms.pojo.entity.StGoods; import org.springblade.wms.pojo.entity.StWmsRequest; import org.springblade.wms.pojo.vo.StWmsRequestVO; import org.springblade.wms.service.IStBuyOrderService; -import org.springblade.wms.service.IStGoodsService; import org.springblade.wms.service.IStWmsRequestService; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; @@ -225,19 +225,60 @@ public class StWmsRequestServiceImpl extends BaseServiceImpl deleteIds){ + if (CollUtil.isNotEmpty(deleteIds)) { + for (Long id : deleteIds) { + StWmsRequest stWmsRequest = this.getById(id); + StBuyOrder stBuyOrder = stBuyOrderService.getById(stWmsRequest.getBoId()); + StGoods goods = stGoodsMapper.selectById(stBuyOrder.getGoodsId()); + if (stWmsRequest == null) continue; + try { + erpDataWmsClient.createOrReplace( + stBuyOrder.getExtraBill(), + goods.getGoodsCode(), + "1", + stWmsRequest.getRequestQty(), + 0.0); + } catch (BusinessException e) { + throw new RuntimeException("删除模具计划失败:" + e.getMessage()); + } + + Double afterQty = stBuyOrder.getDrawQuantity() - stWmsRequest.getRequestQty(); + stBuyOrder.setDrawQuantity(afterQty); + stBuyOrder.setSurDrawQty(stBuyOrder.getBuyQty() - afterQty); + stBuyOrderService.updateById(stBuyOrder); + + } + } + return this.deleteLogic(deleteIds); + } @Override public List exportStWmsRequest(Wrapper queryWrapper) {