From 4b08114efabdffd72443920e4faa5af968844bed Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=BC=A0=E4=B9=BE=E7=BF=94?= Date: Tue, 12 May 2026 11:23:26 +0800 Subject: [PATCH] =?UTF-8?q?=E5=A4=96=E5=8D=8F=E8=AE=A2=E5=8D=95=E7=BB=93?= =?UTF-8?q?=E7=AE=97-=E7=BB=93=E7=AE=97=E5=BC=82=E5=B8=B8Tab-=E6=9B=B4?= =?UTF-8?q?=E6=96=B0=E6=95=B0=E6=8D=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/OemStatementController.java | 11 ++++ .../desk/oem/mapper/OemStatementMapper.java | 7 +++ .../desk/oem/mapper/OemStatementMapper.xml | 34 ++++++++++++ .../oem/service/IOemStatementService.java | 9 +++ .../service/impl/OemStatementServiceImpl.java | 55 +++++++++++++++++++ 5 files changed, 116 insertions(+) diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/oem/controller/OemStatementController.java b/blade-service/blade-desk/src/main/java/org/springblade/desk/oem/controller/OemStatementController.java index 3b71715e1..7ee0f8a58 100644 --- a/blade-service/blade-desk/src/main/java/org/springblade/desk/oem/controller/OemStatementController.java +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/oem/controller/OemStatementController.java @@ -250,4 +250,15 @@ public class OemStatementController extends BladeController { return mesOemStatementService.matchStandardProcessCode(); } + /** + * 更新订单数据错误的数据 + */ + @PostMapping("/updateOrderDataError") + @ApiOperationSupport(order = 16) + @Operation(summary = "更新订单数据错误", description = "根据生产订单和车间订单更新结算异常数据") + @ApiLog("外协结算 更新订单数据错误") + public R updateOrderDataError() { + return mesOemStatementService.updateOrderDataError(); + } + } diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/oem/mapper/OemStatementMapper.java b/blade-service/blade-desk/src/main/java/org/springblade/desk/oem/mapper/OemStatementMapper.java index c41073dcb..342cfb2c4 100644 --- a/blade-service/blade-desk/src/main/java/org/springblade/desk/oem/mapper/OemStatementMapper.java +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/oem/mapper/OemStatementMapper.java @@ -59,4 +59,11 @@ public interface OemStatementMapper extends BaseMapper { * @return List */ List selectErrorStatements(); + + /** + * 查询订单数据错误的结算异常数据 + * + * @return List + */ + List selectOrderDataErrorStatements(); } diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/oem/mapper/OemStatementMapper.xml b/blade-service/blade-desk/src/main/java/org/springblade/desk/oem/mapper/OemStatementMapper.xml index a5fe16a6b..1cb459a91 100644 --- a/blade-service/blade-desk/src/main/java/org/springblade/desk/oem/mapper/OemStatementMapper.xml +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/oem/mapper/OemStatementMapper.xml @@ -290,4 +290,38 @@ WHERE h.IS_DELETED = 0 AND h.ROS_STATUS = 3 + + + diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/oem/service/IOemStatementService.java b/blade-service/blade-desk/src/main/java/org/springblade/desk/oem/service/IOemStatementService.java index e1d5fd155..d6582dc89 100644 --- a/blade-service/blade-desk/src/main/java/org/springblade/desk/oem/service/IOemStatementService.java +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/oem/service/IOemStatementService.java @@ -106,4 +106,13 @@ public interface IOemStatementService extends BaseService { R matchStandardProcessCode(); + /** + * 更新订单数据错误的数据 + * 根据生产订单更新【镀种、镀层厚度1、单件面积、总面积、涂色标个数、涂色带个数、涂箭头个数】 + * 根据车间订单更新【厂家】 + * + * @return + */ + R updateOrderDataError(); + } diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/oem/service/impl/OemStatementServiceImpl.java b/blade-service/blade-desk/src/main/java/org/springblade/desk/oem/service/impl/OemStatementServiceImpl.java index f3f4ad6e5..db0bd9a9e 100644 --- a/blade-service/blade-desk/src/main/java/org/springblade/desk/oem/service/impl/OemStatementServiceImpl.java +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/oem/service/impl/OemStatementServiceImpl.java @@ -13,6 +13,7 @@ import com.baomidou.mybatisplus.core.toolkit.StringUtils; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import jakarta.annotation.Resource; +import lombok.extern.slf4j.Slf4j; import org.springblade.core.mp.base.BaseServiceImpl; import org.springblade.core.mp.support.Query; import org.springblade.core.tool.api.R; @@ -57,6 +58,7 @@ import java.util.stream.Collectors; * @author qyl * @since 2026-02-12 */ +@Slf4j @Service public class OemStatementServiceImpl extends BaseServiceImpl implements IOemStatementService { @@ -2081,4 +2083,57 @@ public class OemStatementServiceImpl extends BaseServiceImpl errorStatements = baseMapper.selectOrderDataErrorStatements(); + if (CollectionUtils.isEmpty(errorStatements)) { + return R.success("没有需要更新的订单数据错误记录"); + } + // 更新数据 + List updateList = new ArrayList<>(); + + for (StatementVO vo : errorStatements) { + OemStatementEntity entity = new OemStatementEntity(); + entity.setId(vo.getId()); + + // 根据生产订单(MES_YIELD_ORDER)更新字段 + // 镀种 + entity.setPlate(vo.getPlate()); + // 镀层厚度1 + entity.setRosThickness(new BigDecimal(vo.getPlateThickness() != null ? vo.getPlateThickness() : "0")); + // 单件面积 + entity.setYpArea(vo.getYpArea() != null ? vo.getYpArea() : BigDecimal.ZERO); + + // 计算总面积 = 单件面积 * 结算数量 + BigDecimal ypArea = vo.getYpArea() != null ? vo.getYpArea() : BigDecimal.ZERO; + BigDecimal makeQty = vo.getMakeQty() != null ? vo.getMakeQty() : BigDecimal.ZERO; + BigDecimal totalArea = ypArea.multiply(makeQty); + // 总面积 + entity.setTotalArea(totalArea); + // 涂色标个数 + entity.setTsbNum(vo.getTsbNum()); + // 涂色带个数 + entity.setTsdNum(vo.getTsdNum()); + // 涂箭个数 + entity.setTjtNum(vo.getTjtNum()); + // 结算数量 + entity.setMakeQty(makeQty); + + // 根据车间订单(MES_WORK_ORDER通过MES_WORK_PLAN关联)更新厂家 + // 外协厂家ID + entity.setOcId(vo.getOcId()); + + entity.setUpdateTime(new Date()); + updateList.add(entity); + } + + // 更新 + if (!CollectionUtils.isEmpty(updateList)) { + this.updateBatchById(updateList); + } + + return R.success(); + } + }