From 0950f5f4a2bf6b59b82783ecad5bfc89eb1aee21 Mon Sep 17 00:00:00 2001 From: chenshuichuan <1154693969@qq.com> Date: Tue, 10 Sep 2024 16:26:38 +0800 Subject: [PATCH] =?UTF-8?q?fix=20erp=20and=20=E4=BE=9B=E5=BA=94=E9=93=BE?= =?UTF-8?q?=E5=A4=A7=E5=B1=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/sale/ErpSaleOrderServiceImpl.java | 8 ++-- .../service/sale/ErpSaleOutServiceImpl.java | 2 + .../admin/mqtt/MqttServerDataController.java | 13 ++++++ .../mes/framework/web/ScheduledService.java | 43 +++++++++++++++++++ 4 files changed, 62 insertions(+), 4 deletions(-) create mode 100644 yudao-module-mes/yudao-module-mes-biz/src/main/java/cn/iocoder/yudao/module/mes/framework/web/ScheduledService.java diff --git a/yudao-module-erp/yudao-module-erp-biz/src/main/java/cn/iocoder/yudao/module/erp/service/sale/ErpSaleOrderServiceImpl.java b/yudao-module-erp/yudao-module-erp-biz/src/main/java/cn/iocoder/yudao/module/erp/service/sale/ErpSaleOrderServiceImpl.java index b5b8fb3429..1e1c715cc2 100644 --- a/yudao-module-erp/yudao-module-erp-biz/src/main/java/cn/iocoder/yudao/module/erp/service/sale/ErpSaleOrderServiceImpl.java +++ b/yudao-module-erp/yudao-module-erp-biz/src/main/java/cn/iocoder/yudao/module/erp/service/sale/ErpSaleOrderServiceImpl.java @@ -232,10 +232,10 @@ public class ErpSaleOrderServiceImpl implements ErpSaleOrderService { if (item.getOutCount().equals(outCount)) { return; } - if (outCount.compareTo(item.getCount()) > 0) { - throw exception(SALE_ORDER_ITEM_OUT_FAIL_PRODUCT_EXCEED, - productService.getProduct(item.getProductId()).getName(), item.getCount()); - } +// if (outCount.compareTo(item.getCount()) > 0) { +// throw exception(SALE_ORDER_ITEM_OUT_FAIL_PRODUCT_EXCEED, +// productService.getProduct(item.getProductId()).getName(), item.getCount()); +// } saleOrderItemMapper.updateById(new ErpSaleOrderItemDO().setId(item.getId()).setOutCount(outCount)); }); // 2. 更新销售订单 diff --git a/yudao-module-erp/yudao-module-erp-biz/src/main/java/cn/iocoder/yudao/module/erp/service/sale/ErpSaleOutServiceImpl.java b/yudao-module-erp/yudao-module-erp-biz/src/main/java/cn/iocoder/yudao/module/erp/service/sale/ErpSaleOutServiceImpl.java index e74adc4194..a0251fad9d 100644 --- a/yudao-module-erp/yudao-module-erp-biz/src/main/java/cn/iocoder/yudao/module/erp/service/sale/ErpSaleOutServiceImpl.java +++ b/yudao-module-erp/yudao-module-erp-biz/src/main/java/cn/iocoder/yudao/module/erp/service/sale/ErpSaleOutServiceImpl.java @@ -104,6 +104,8 @@ public class ErpSaleOutServiceImpl implements ErpSaleOutService { .setNo(no).setStatus(ErpAuditStatus.PROCESS.getStatus())) .setOrderNo(saleOrder.getNo()).setCustomerId(saleOrder.getCustomerId()); calculateTotalPrice(saleOut, saleOutItems); + if(saleOut.getReceiptPrice()==null) + saleOut.setReceiptPrice(BigDecimal.ZERO); saleOutMapper.insert(saleOut); // 2.2 插入出库项 saleOutItems.forEach(o -> o.setOutId(saleOut.getId())); diff --git a/yudao-module-mes/yudao-module-mes-biz/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/mqtt/MqttServerDataController.java b/yudao-module-mes/yudao-module-mes-biz/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/mqtt/MqttServerDataController.java index 2df1fcf7e0..f5c0ef01a7 100644 --- a/yudao-module-mes/yudao-module-mes-biz/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/mqtt/MqttServerDataController.java +++ b/yudao-module-mes/yudao-module-mes-biz/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/mqtt/MqttServerDataController.java @@ -110,4 +110,17 @@ public class MqttServerDataController { } return success(BigDecimal.ZERO.doubleValue()); } + @PostMapping("/setSimulateValue") + @Operation(summary = "设置模拟数据默认值") + public CommonResult setSimulateValue(@RequestParam("id")Long id,@RequestParam("resetValue") double resetValue) { + if(id!=null){ + FormulaRecordDO recordDO = formulaRecordMapper.selectById(id); + if(recordDO==null)return success("操作失败"); + + recordDO.setDataValue(BigDecimal.valueOf(resetValue)); + formulaRecordMapper.updateById(recordDO); + return success("操作失败"); + } + return success("操作失败"); + } } \ No newline at end of file diff --git a/yudao-module-mes/yudao-module-mes-biz/src/main/java/cn/iocoder/yudao/module/mes/framework/web/ScheduledService.java b/yudao-module-mes/yudao-module-mes-biz/src/main/java/cn/iocoder/yudao/module/mes/framework/web/ScheduledService.java new file mode 100644 index 0000000000..629da9bf71 --- /dev/null +++ b/yudao-module-mes/yudao-module-mes-biz/src/main/java/cn/iocoder/yudao/module/mes/framework/web/ScheduledService.java @@ -0,0 +1,43 @@ +package cn.iocoder.yudao.module.mes.framework.web; + +import cn.hutool.core.util.RandomUtil; +import cn.iocoder.yudao.module.iot.dal.dataobject.formula.FormulaRecordDO; +import cn.iocoder.yudao.module.iot.dal.mysql.formula.FormulaRecordMapper; +import org.springframework.scheduling.annotation.EnableScheduling; +import org.springframework.stereotype.Component; + +import javax.annotation.Resource; +import java.math.BigDecimal; + +@Component +@EnableScheduling +public class ScheduledService { + @Resource + private FormulaRecordMapper formulaRecordMapper; + /**定时读取PLC*/ + //@Scheduled(fixedDelay = 1000) + public void readPLCJob() { + System.out.println("-------定时读取PLC-------"); + } + + private void dealRecord(Long id, String type, boolean random, double plusValue, int min, int max){ + if(id!=null){ + FormulaRecordDO recordDO = formulaRecordMapper.selectById(id); + if(recordDO==null)return; + if(random){ + if(type.equals("int")){ + int i = RandomUtil.randomInt(min,max); + recordDO.setDataValue(recordDO.getDataValue().add(BigDecimal.valueOf(i))); + } + if(type.equals("double")){ + double i = RandomUtil.randomDouble(min,max); + recordDO.setDataValue(recordDO.getDataValue().add(BigDecimal.valueOf(i))); + } + } + else{ + recordDO.setDataValue(recordDO.getDataValue().add(BigDecimal.valueOf(plusValue))); + } + formulaRecordMapper.updateById(recordDO); + } + } +}