From 0b19f7e4d51d00457760f481627aa33506c92218 Mon Sep 17 00:00:00 2001 From: qinyulong Date: Mon, 23 Mar 2026 10:24:19 +0800 Subject: [PATCH 1/8] =?UTF-8?q?=E5=A4=96=E5=8D=8F=E7=BB=93=E7=AE=97?= =?UTF-8?q?=E6=97=B6=EF=BC=8C=E9=BB=98=E8=AE=A4=E4=BD=BF=E7=94=A8=E8=AE=A2?= =?UTF-8?q?=E5=8D=95=E7=9A=84=E9=95=80=E5=90=8E=E5=85=A5=E5=BA=93=E6=97=A5?= =?UTF-8?q?=E6=9C=9F=E6=9F=A5=E8=AF=A2=E6=8A=A5=E4=BB=B7=E5=8D=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../request/OemSettleAccountsApproval.java | 4 +- .../pojo/request/OemSettleAccountsSave.java | 2 +- .../desk/oem/pojo/request/StatementQuery.java | 2 +- .../oem/controller/OemProcessController.java | 17 + .../controller/OemStatementController.java | 4 +- .../desk/oem/mapper/OemStatementMapper.xml | 6 +- .../oem/service/IOemStatementService.java | 2 +- .../service/impl/OemStatementServiceImpl.java | 291 ++++++++++++------ 8 files changed, 227 insertions(+), 101 deletions(-) diff --git a/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/oem/pojo/request/OemSettleAccountsApproval.java b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/oem/pojo/request/OemSettleAccountsApproval.java index 044d59f7..23ba8440 100644 --- a/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/oem/pojo/request/OemSettleAccountsApproval.java +++ b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/oem/pojo/request/OemSettleAccountsApproval.java @@ -15,9 +15,9 @@ public class OemSettleAccountsApproval { /** * 结算单IDList */ - @Schema(description = "结算单IDList", required = true) + @Schema(description = "结算单IDStrList", required = true) @NotNull(message = "结算单ID不能为空") - private List ids; + private String ids; /** * 审批意见 */ diff --git a/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/oem/pojo/request/OemSettleAccountsSave.java b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/oem/pojo/request/OemSettleAccountsSave.java index f9e36d9d..2fc813c8 100644 --- a/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/oem/pojo/request/OemSettleAccountsSave.java +++ b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/oem/pojo/request/OemSettleAccountsSave.java @@ -18,7 +18,7 @@ public class OemSettleAccountsSave { @DateTimeFormat(pattern = "yyyy-MM-dd") @Schema(description = "镀后入库时间") - @NotNull(message = "镀后入库时间不能为空") +// @NotNull(message = "镀后入库时间不能为空") private LocalDate putStoreDate; @Schema(description = "现执行价格") diff --git a/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/oem/pojo/request/StatementQuery.java b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/oem/pojo/request/StatementQuery.java index cc2f8956..1ebfe4e4 100644 --- a/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/oem/pojo/request/StatementQuery.java +++ b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/oem/pojo/request/StatementQuery.java @@ -54,7 +54,7 @@ public class StatementQuery { * 工序IDS */ @Schema(description = "工序IDs(传字符串1,2,3,4)") - private String ppsIds; + private String psCode; /** * 外协厂商IDS */ diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/oem/controller/OemProcessController.java b/blade-service/blade-desk/src/main/java/org/springblade/desk/oem/controller/OemProcessController.java index f4853bcd..c6ebad31 100644 --- a/blade-service/blade-desk/src/main/java/org/springblade/desk/oem/controller/OemProcessController.java +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/oem/controller/OemProcessController.java @@ -15,7 +15,10 @@ import org.springblade.core.mp.support.Condition; import org.springblade.core.mp.support.Query; import org.springblade.core.tool.api.R; import org.springblade.core.tool.utils.Func; +import org.springblade.desk.basic.pojo.entity.Oem; +import org.springblade.desk.basic.pojo.vo.OemVO; import org.springblade.desk.basic.util.ExcelExtUtil; +import org.springblade.desk.basic.wrapper.OemWrapper; import org.springblade.desk.device.pojo.entity.MeasurementRecordsEntity; import org.springblade.desk.oem.pojo.excel.OemAndAbilityImport; import org.springblade.desk.oem.pojo.excel.OemMeritsExcel; @@ -69,6 +72,20 @@ public class OemProcessController extends BladeController { return R.data(OemProcessWrapper.build().entityVO(detail)); } + /** + * 外协工序下拉选择 + * + * @return + */ + @GetMapping("/listForSelect") + @ApiOperationSupport(order = 2) + @Operation(summary = "list下拉选择", description = "") + public R> listForSelect() { + List list = mesOemProcessService.list(); + List listVO = OemProcessWrapper.build().listVO(list); + return R.data(listVO); + } + /** * 外协工序 自定义分页 */ 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 387124a4..bacda0c8 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 @@ -123,8 +123,8 @@ public class OemStatementController extends BladeController { @ApiOperationSupport(order = 8) @Operation(summary = "外协手动结算", description = "") @ApiLog("外协手动结算") - public R oemSettleAccounts(@Valid @RequestBody OemSettleAccountsSave oemSettleAccountsSave) { - return mesOemStatementService.oemSettleAccounts(oemSettleAccountsSave.getStatementList(), oemSettleAccountsSave.getPrice(), oemSettleAccountsSave.getPutStoreDate()); + public R oemManualSettlement(@Valid @RequestBody OemSettleAccountsSave oemSettleAccountsSave) { + return mesOemStatementService.oemManualSettlement(oemSettleAccountsSave.getStatementList(), oemSettleAccountsSave.getPrice()); } /** 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 bb03b721..47831eb6 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 @@ -194,9 +194,9 @@ #{id} - - AND g.ID IN - + AND g.oem_process_code IN + #{id} 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 45485a51..467f4815 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 @@ -48,7 +48,7 @@ public interface IOemStatementService extends BaseService { * @param putStoreDate 镀后入库时间 * @return */ - R oemSettleAccounts(List statementVOS, BigDecimal price, LocalDate putStoreDate); + R oemManualSettlement(List statementVOS, BigDecimal price); /** * 外协自动结算 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 64579f2f..5bf9343d 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 @@ -11,6 +11,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import jakarta.annotation.Resource; import org.springblade.core.mp.support.Query; import org.springblade.core.tool.api.R; +import org.springblade.core.tool.utils.Func; import org.springblade.desk.oem.mapper.PlatingTypeRulesMapper; import org.springblade.desk.oem.pojo.entity.OemStatementEntity; import org.springblade.desk.oem.pojo.entity.PlatingTypeRulesEntity; @@ -68,6 +69,44 @@ public class OemStatementServiceImpl extends BaseServiceImpl statementVOS, BigDecimal price) { + // 初始化成功和失败计数器 + AtomicInteger totalSuccess = new AtomicInteger(0); + AtomicInteger totalError = new AtomicInteger(0); + //按照镀后入库日期分组后,调用结算方法 + Map> groupedMap = statementVOS.stream() + .filter(vo -> vo.getPutStoreTime() != null && !vo.getPutStoreTime().trim().isEmpty()) + .collect(Collectors.groupingBy(StatementVO::getPutStoreTime)); + groupedMap.entrySet().forEach(stringListEntry -> { + R result = oemSettleAccounts(stringListEntry.getValue(), price, LocalDate.parse(stringListEntry.getKey())); + + if (result != null && result.isSuccess()) { + Map data = (Map) result.getData(); + if (data != null) { + Object successObj = data.get("success"); + Object errorObj = data.get("error"); + + if (successObj instanceof Integer) { + totalSuccess.addAndGet((Integer) successObj); + } else if (successObj instanceof Number) { + totalSuccess.addAndGet(((Number) successObj).intValue()); + } + + if (errorObj instanceof Integer) { + totalError.addAndGet((Integer) errorObj); + } else if (errorObj instanceof Number) { + totalError.addAndGet(((Number) errorObj).intValue()); + } + } + } + }); + + return R.data(Map.of( + "success", totalSuccess.get(), + "error", totalError.get() + )); + } + public R oemSettleAccounts(List statementVOS, BigDecimal price, LocalDate putStoreDate) { // 定义计数器 AtomicInteger countSuccess = new AtomicInteger(0); @@ -110,7 +149,7 @@ public class OemStatementServiceImpl extends BaseServiceImpl { statementVO.setRosStatus(StatementVO.ERR_SETTLEMENT); - statementVO.setMemo(String.format("外协厂商【%s】匹配无报价记录", oemName)); + statementVO.setMemo(String.format("外协厂商【%s】-未找到报价", oemName)); }); } else { //工序分组Map<工序, 报价列表> @@ -209,13 +248,83 @@ public class OemStatementServiceImpl extends BaseServiceImpl priceSheetAllList = getPriceSheets(oemName); +// List priceSheetAllList = getPriceSheets(oemName); + //假数据测试用 + List priceSheetAllList = new ArrayList<>(); + PriceSheetVO priceSheet1 = new PriceSheetVO(); + priceSheet1.setPrice("60"); + priceSheet1.setSplyname(oemName); + priceSheet1.setPrtum("件"); + priceSheet1.setWono("WO-N2510424439-R002"); + priceSheet1.setSeqid("GXJG-20250228018"); + priceSheet1.setGxinfo("玻璃封接电化学抛光"); + priceSheet1.setStartdat("2026-01-15"); + priceSheetAllList.add(priceSheet1); + PriceSheetVO priceSheet2 = new PriceSheetVO(); + priceSheet2.setPrice("26"); + priceSheet2.setSplyname(oemName); + priceSheet2.setPrtum("件"); + priceSheet2.setSeqid("GXJG-20250228012"); + priceSheet2.setGxinfo("玻璃封接电镀去氧化皮"); + priceSheet2.setPrtlotno("JI和JHT"); + priceSheet2.setStairflag("单批阶梯价(按单件面积)"); + priceSheet2.setLower("5"); + priceSheet2.setUpper("0"); + priceSheet2.setPrtno("21E6-575-10724-%螺母"); + priceSheet2.setStartdat("2026-01-15"); + priceSheetAllList.add(priceSheet2); + PriceSheetVO priceSheet3 = new PriceSheetVO(); + priceSheet3.setPrice("34"); + priceSheet3.setSplyname(oemName); + priceSheet3.setPrtum("件"); + priceSheet3.setSeqid("GXJG-20250228012"); + priceSheet3.setGxinfo("玻璃封接电镀去氧化皮"); + priceSheet3.setPrtlotno("JI和JHT"); + priceSheet3.setStairflag("单批阶梯价(按单件面积)"); + priceSheet3.setLower("10"); + priceSheet3.setUpper("5.00001"); + priceSheet3.setPrtno("21E6-575-10724-%螺母"); + priceSheet3.setStartdat("2026-01-15"); + priceSheetAllList.add(priceSheet3); + PriceSheetVO priceSheet4 = new PriceSheetVO(); + priceSheet4.setPrice("15"); + priceSheet4.setSplyname(oemName); + priceSheet4.setPrtum("件"); + priceSheet4.setSeqid("GXJG-20250228012"); + priceSheet4.setGxinfo("玻璃封接电镀去氧化皮"); + priceSheet4.setPrtlotno("JHT"); + priceSheet4.setStairflag("非阶梯价"); + priceSheet4.setPrtno("21E6-575-10724-%螺母"); + priceSheet4.setStartdat("2026-01-15"); + priceSheetAllList.add(priceSheet4); + PriceSheetVO priceSheet5 = new PriceSheetVO(); + priceSheet5.setPrice("99"); + priceSheet5.setSplyname(oemName); + priceSheet5.setPrtum("件"); + priceSheet5.setSeqid("GXJG-20250228012"); + priceSheet5.setGxinfo("玻璃封接电镀去氧化皮"); + priceSheet5.setStairflag("非阶梯价"); + priceSheet5.setPrtno("21E6-575-10724-%螺母"); + priceSheet5.setRemark("氰化亚金钾380.01-400元/克(未税)"); + priceSheet5.setStartdat("2026-01-15"); + priceSheetAllList.add(priceSheet5); + PriceSheetVO priceSheet6 = new PriceSheetVO(); + priceSheet6.setPrice("200"); + priceSheet6.setSplyname(oemName); + priceSheet6.setPrtum("件"); + priceSheet6.setSeqid("GXJG-20250228012"); + priceSheet6.setGxinfo("玻璃封接电镀去氧化皮"); + priceSheet6.setStairflag("非阶梯价"); + priceSheet6.setPrtno("21E6-575-10724-%螺母"); + priceSheet6.setRemark("氰化亚金钾400.01-500元/克(未税)"); + priceSheet6.setStartdat("2026-01-16"); + priceSheetAllList.add(priceSheet6); if (priceSheetAllList.isEmpty()) { //【结算异常】 statementVOList.forEach(statementVO -> { statementVO.setRosStatus(StatementVO.ERR_SETTLEMENT); - statementVO.setMemo(String.format("外协厂商【%s】匹配无报价记录", oemName)); + statementVO.setMemo(String.format("外协厂商【%s】-未找到报价", oemName)); }); } else { //工序分组Map<工序, 报价列表> @@ -292,76 +401,76 @@ public class OemStatementServiceImpl extends BaseServiceImpl priceSheetAllList = getPriceSheets(oemName, putStoreDate); +// List priceSheetAllList = getPriceSheets(oemName, putStoreDate); //假数据测试用 -// List priceSheetAllList = new ArrayList<>(); -// PriceSheetVO priceSheet1 = new PriceSheetVO(); -// priceSheet1.setPrice("60"); -// priceSheet1.setSplyname(oemName); -// priceSheet1.setPrtum("件"); -// priceSheet1.setWono("WO-N2510424439-R002"); -// priceSheet1.setSeqid("GXJG-20250228018"); -// priceSheet1.setGxinfo("玻璃封接电化学抛光"); -// priceSheetAllList.add(priceSheet1); -// PriceSheetVO priceSheet2 = new PriceSheetVO(); -// priceSheet2.setPrice("26"); -// priceSheet2.setSplyname(oemName); -// priceSheet2.setPrtum("件"); -// priceSheet2.setSeqid("GXJG-20250228012"); -// priceSheet2.setGxinfo("玻璃封接电镀去氧化皮"); -// priceSheet2.setPrtlotno("JI和JHT"); -// priceSheet2.setStairflag("单批阶梯价(按单件面积)"); -// priceSheet2.setLower("5"); -// priceSheet2.setUpper("0"); -// priceSheet2.setPrtno("21E6-575-10724-%螺母"); -// priceSheetAllList.add(priceSheet2); -// PriceSheetVO priceSheet3 = new PriceSheetVO(); -// priceSheet3.setPrice("34"); -// priceSheet3.setSplyname(oemName); -// priceSheet3.setPrtum("件"); -// priceSheet3.setSeqid("GXJG-20250228012"); -// priceSheet3.setGxinfo("玻璃封接电镀去氧化皮"); -// priceSheet3.setPrtlotno("JI和JHT"); -// priceSheet3.setStairflag("单批阶梯价(按单件面积)"); -// priceSheet3.setLower("10"); -// priceSheet3.setUpper("5.00001"); -// priceSheet3.setPrtno("21E6-575-10724-%螺母"); -// priceSheetAllList.add(priceSheet3); -// PriceSheetVO priceSheet4 = new PriceSheetVO(); -// priceSheet4.setPrice("15"); -// priceSheet4.setSplyname(oemName); -// priceSheet4.setPrtum("件"); -// priceSheet4.setSeqid("GXJG-20250228012"); -// priceSheet4.setGxinfo("玻璃封接电镀去氧化皮"); -// priceSheet4.setPrtlotno("JHT"); -// priceSheet4.setStairflag("非阶梯价"); -// priceSheet4.setPrtno("21E6-575-10724-%螺母"); -// priceSheetAllList.add(priceSheet4); -// PriceSheetVO priceSheet5 = new PriceSheetVO(); -// priceSheet5.setPrice("99"); -// priceSheet5.setSplyname(oemName); -// priceSheet5.setPrtum("件"); -// priceSheet5.setSeqid("GXJG-20250228012"); -// priceSheet5.setGxinfo("玻璃封接电镀去氧化皮"); -// priceSheet5.setStairflag("非阶梯价"); -// priceSheet5.setPrtno("21E6-575-10724-%螺母"); -// priceSheet5.setRemark("氰化亚金钾380.01-400元/克(未税)"); -// priceSheetAllList.add(priceSheet5); -// PriceSheetVO priceSheet6 = new PriceSheetVO(); -// priceSheet6.setPrice("200"); -// priceSheet6.setSplyname(oemName); -// priceSheet6.setPrtum("件"); -// priceSheet6.setSeqid("GXJG-20250228012"); -// priceSheet6.setGxinfo("玻璃封接电镀去氧化皮"); -// priceSheet6.setStairflag("非阶梯价"); -// priceSheet6.setPrtno("21E6-575-10724-%螺母"); -// priceSheet6.setRemark("氰化亚金钾400.01-500元/克(未税)"); -// priceSheetAllList.add(priceSheet6); + List priceSheetAllList = new ArrayList<>(); + PriceSheetVO priceSheet1 = new PriceSheetVO(); + priceSheet1.setPrice("60"); + priceSheet1.setSplyname(oemName); + priceSheet1.setPrtum("件"); + priceSheet1.setWono("WO-N2510424439-R002"); + priceSheet1.setSeqid("GXJG-20250228018"); + priceSheet1.setGxinfo("玻璃封接电化学抛光"); + priceSheetAllList.add(priceSheet1); + PriceSheetVO priceSheet2 = new PriceSheetVO(); + priceSheet2.setPrice("26"); + priceSheet2.setSplyname(oemName); + priceSheet2.setPrtum("件"); + priceSheet2.setSeqid("GXJG-20250228012"); + priceSheet2.setGxinfo("玻璃封接电镀去氧化皮"); + priceSheet2.setPrtlotno("JI和JHT"); + priceSheet2.setStairflag("单批阶梯价(按单件面积)"); + priceSheet2.setLower("5"); + priceSheet2.setUpper("0"); + priceSheet2.setPrtno("21E6-575-10724-%螺母"); + priceSheetAllList.add(priceSheet2); + PriceSheetVO priceSheet3 = new PriceSheetVO(); + priceSheet3.setPrice("34"); + priceSheet3.setSplyname(oemName); + priceSheet3.setPrtum("件"); + priceSheet3.setSeqid("GXJG-20250228012"); + priceSheet3.setGxinfo("玻璃封接电镀去氧化皮"); + priceSheet3.setPrtlotno("JI和JHT"); + priceSheet3.setStairflag("单批阶梯价(按单件面积)"); + priceSheet3.setLower("10"); + priceSheet3.setUpper("5.00001"); + priceSheet3.setPrtno("21E6-575-10724-%螺母"); + priceSheetAllList.add(priceSheet3); + PriceSheetVO priceSheet4 = new PriceSheetVO(); + priceSheet4.setPrice("15"); + priceSheet4.setSplyname(oemName); + priceSheet4.setPrtum("件"); + priceSheet4.setSeqid("GXJG-20250228012"); + priceSheet4.setGxinfo("玻璃封接电镀去氧化皮"); + priceSheet4.setPrtlotno("JHT"); + priceSheet4.setStairflag("非阶梯价"); + priceSheet4.setPrtno("21E6-575-10724-%螺母"); + priceSheetAllList.add(priceSheet4); + PriceSheetVO priceSheet5 = new PriceSheetVO(); + priceSheet5.setPrice("99"); + priceSheet5.setSplyname(oemName); + priceSheet5.setPrtum("件"); + priceSheet5.setSeqid("GXJG-20250228012"); + priceSheet5.setGxinfo("玻璃封接电镀去氧化皮"); + priceSheet5.setStairflag("非阶梯价"); + priceSheet5.setPrtno("21E6-575-10724-%螺母"); + priceSheet5.setRemark("氰化亚金钾380.01-400元/克(未税)"); + priceSheetAllList.add(priceSheet5); + PriceSheetVO priceSheet6 = new PriceSheetVO(); + priceSheet6.setPrice("200"); + priceSheet6.setSplyname(oemName); + priceSheet6.setPrtum("件"); + priceSheet6.setSeqid("GXJG-20250228012"); + priceSheet6.setGxinfo("玻璃封接电镀去氧化皮"); + priceSheet6.setStairflag("非阶梯价"); + priceSheet6.setPrtno("21E6-575-10724-%螺母"); + priceSheet6.setRemark("氰化亚金钾400.01-500元/克(未税)"); + priceSheetAllList.add(priceSheet6); if (priceSheetAllList.isEmpty()) { // 【结算异常】 statementVOList.forEach(statementVO -> { statementVO.setRosStatus(StatementVO.ERR_SETTLEMENT); - statementVO.setMemo(String.format("外协厂商【%s】匹配无报价记录", oemName)); + statementVO.setMemo(String.format("外协厂商【%s】-未找到报价", oemName)); }); } else { // 2. 工序分组Map<工序, 报价列表> @@ -435,7 +544,7 @@ public class OemStatementServiceImpl extends BaseServiceImpl ids = oemSettleAccountsApproval.getIds(); + List ids = Func.toLongList(oemSettleAccountsApproval.getIds()); if (CollectionUtils.isEmpty(ids)) { return R.fail("未选取结算单"); } @@ -568,7 +677,7 @@ public class OemStatementServiceImpl extends BaseServiceImpl 1 && flag) { statementVO.setRosStatus(StatementVO.ERR_SETTLEMENT); - statementVO.setMemo(String.format("外协厂商【%s】,工序内容【%s】,工作订单号【%s】匹配多条报价记录", statementVO.getOcName(), statementVO.getPartName(), statementVO.getWoCode())); + statementVO.setMemo(String.format("外协厂商【%s】,工序内容【%s】,工作订单号【%s】-报价不唯一", statementVO.getOcName(), statementVO.getPartName(), statementVO.getWoCode())); //结算异常:多条报价记录结算结果 return true; } @@ -621,7 +730,7 @@ public class OemStatementServiceImpl extends BaseServiceImpl 1 && flag) { //结算异常:多条报价记录结算结果 statementVO.setRosStatus(StatementVO.ERR_SETTLEMENT); - statementVO.setMemo(String.format("外协厂商【%s】,工序内容【%s】,涂箭头数量【%s】匹配多条报价记录", statementVO.getOcName(), statementVO.getPartName(), tjtNum)); + statementVO.setMemo(String.format("外协厂商【%s】,工序内容【%s】,涂箭头数量【%s】-报价不唯一", statementVO.getOcName(), statementVO.getPartName(), tjtNum)); return true; } //唯一使用此报价单**结算** @@ -758,7 +867,7 @@ public class OemStatementServiceImpl extends BaseServiceImpl 1 && flag) { //结算异常:多条报价记录结算结果 statementVO.setRosStatus(StatementVO.ERR_SETTLEMENT); - statementVO.setMemo(String.format("外协厂商【%s】,工序内容【%s】,涂色带数量【%s】匹配多条报价记录", statementVO.getOcName(), statementVO.getPartName(), tsdNum)); + statementVO.setMemo(String.format("外协厂商【%s】,工序内容【%s】,涂色带数量【%s】-报价不唯一", statementVO.getOcName(), statementVO.getPartName(), tsdNum)); return true; } //唯一使用此报价单**结算** @@ -772,7 +881,7 @@ public class OemStatementServiceImpl extends BaseServiceImpl 1 && flag) { //结算异常:多条报价记录结算结果 statementVO.setRosStatus(StatementVO.ERR_SETTLEMENT); - statementVO.setMemo(String.format("外协厂商【%s】,工序内容【%s】,涂色标数量【%s】匹配多条报价记录", statementVO.getOcName(), statementVO.getPartName(), tsbNum)); + statementVO.setMemo(String.format("外协厂商【%s】,工序内容【%s】,涂色标数量【%s】-报价不唯一", statementVO.getOcName(), statementVO.getPartName(), tsbNum)); return true; } //唯一使用此报价单**结算** @@ -792,7 +901,7 @@ public class OemStatementServiceImpl extends BaseServiceImpl 1) { //结算异常:多条报价记录结算结果 statementVO.setRosStatus(StatementVO.ERR_SETTLEMENT); - statementVO.setMemo(String.format("外协厂商【%s】,工序内容【%s】,物料号匹配多条报价记录", statementVO.getOcName(), statementVO.getPartName())); + statementVO.setMemo(String.format("外协厂商【%s】,工序内容【%s】,物料号-报价不唯一", statementVO.getOcName(), statementVO.getPartName())); return true; } else { //结算异常:无报价记录结算结果 statementVO.setRosStatus(StatementVO.ERR_SETTLEMENT); - statementVO.setMemo(String.format("外协厂商【%s】,工序内容【%s】,物料号匹配无报价记录", statementVO.getOcName(), statementVO.getPartName())); + statementVO.setMemo(String.format("外协厂商【%s】,工序内容【%s】,物料号-未找到报价", statementVO.getOcName(), statementVO.getPartName())); return true; } } @@ -951,7 +1060,7 @@ public class OemStatementServiceImpl extends BaseServiceImpl 1) { statementVO.setRosStatus(StatementVO.ERR_SETTLEMENT); - statementVO.setMemo(String.format("外协厂商【%s】,工序内容【%s】,阶梯价类型【%s】匹配多条报价记录", statementVO.getOcName(), statementVO.getPartName(), String.join(", ", StairPriceSheetMap.keySet()))); + statementVO.setMemo(String.format("外协厂商【%s】,工序内容【%s】,阶梯价类型【%s】-报价不唯一", statementVO.getOcName(), statementVO.getPartName(), String.join(", ", StairPriceSheetMap.keySet()))); return true; } else if (StairPriceSheetMap.keySet().size() < 1) { statementVO.setRosStatus(StatementVO.ERR_SETTLEMENT); - statementVO.setMemo(String.format("外协厂商【%s】,工序内容【%s】,阶梯价匹配无报价记录", statementVO.getOcName(), statementVO.getPartName())); + statementVO.setMemo(String.format("外协厂商【%s】,工序内容【%s】,阶梯价-未找到报价", statementVO.getOcName(), statementVO.getPartName())); return true; } if (StairPriceSheetMap.keySet().contains("非阶梯价")) { @@ -990,11 +1099,11 @@ public class OemStatementServiceImpl extends BaseServiceImpl priceSheetVOS = StairPriceSheetMap.get("非阶梯价"); if (null == priceSheetVOS || priceSheetVOS.isEmpty()) { statementVO.setRosStatus(StatementVO.ERR_SETTLEMENT); - statementVO.setMemo(String.format("外协厂商【%s】,工序内容【%s】,阶梯价【%s】匹配无报价记录", statementVO.getOcName(), statementVO.getPartName(), "非阶梯价")); + statementVO.setMemo(String.format("外协厂商【%s】,工序内容【%s】,阶梯价【%s】-未找到报价", statementVO.getOcName(), statementVO.getPartName(), "非阶梯价")); return true; } else if (null != priceSheetVOS && priceSheetVOS.size() > 1 && flag) { statementVO.setRosStatus(StatementVO.ERR_SETTLEMENT); - statementVO.setMemo(String.format("外协厂商【%s】,工序内容【%s】,阶梯价【%s】匹配多条报价记录", statementVO.getOcName(), statementVO.getPartName(), "非阶梯价")); + statementVO.setMemo(String.format("外协厂商【%s】,工序内容【%s】,阶梯价【%s】-报价不唯一", statementVO.getOcName(), statementVO.getPartName(), "非阶梯价")); return true; } //唯一使用此报价单**结算** @@ -1028,7 +1137,7 @@ public class OemStatementServiceImpl extends BaseServiceImpl 1 && flag) { statementVO.setRosStatus(StatementVO.ERR_SETTLEMENT); - statementVO.setMemo(String.format("外协厂商【%s】,工序内容【%s】,阶梯价【%s】匹配多条报价记录", statementVO.getOcName(), statementVO.getPartName(), "单批阶梯价(按单件面积)")); + statementVO.setMemo(String.format("外协厂商【%s】,工序内容【%s】,阶梯价【%s】-报价不唯一", statementVO.getOcName(), statementVO.getPartName(), "单批阶梯价(按单件面积)")); return true; } else if ((null != priceSheetVOList && priceSheetVOList.size() == 1) || (!flag && null != priceSheetVOList && priceSheetVOList.size() > 1)) { //唯一使用此报价单**结算** @@ -1045,7 +1154,7 @@ public class OemStatementServiceImpl extends BaseServiceImpl 1 && flag) { statementVO.setRosStatus(StatementVO.ERR_SETTLEMENT); - statementVO.setMemo(String.format("外协厂商【%s】,工序内容【%s】,阶梯价【%s】匹配多条报价记录", statementVO.getOcName(), statementVO.getPartName(), "单批阶梯价(按单批面积)")); + statementVO.setMemo(String.format("外协厂商【%s】,工序内容【%s】,阶梯价【%s】-报价不唯一", statementVO.getOcName(), statementVO.getPartName(), "单批阶梯价(按单批面积)")); return true; } else if (null != priceSheetVOList && priceSheetVOList.size() == 1 || (!flag && null != priceSheetVOList && priceSheetVOList.size() > 1)) { //唯一使用此报价单**结算** @@ -1085,14 +1194,14 @@ public class OemStatementServiceImpl extends BaseServiceImpl Date: Mon, 23 Mar 2026 11:05:46 +0800 Subject: [PATCH 2/8] =?UTF-8?q?=E7=89=A9=E6=B5=81=E9=A1=B9=E7=9B=AE?= =?UTF-8?q?=E5=90=8E=E7=AB=AF=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../desk/logistics/service/impl/IOrderBoxServiceImpl.java | 3 +++ 1 file changed, 3 insertions(+) diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/logistics/service/impl/IOrderBoxServiceImpl.java b/blade-service/blade-desk/src/main/java/org/springblade/desk/logistics/service/impl/IOrderBoxServiceImpl.java index 3115eb9e..ecc1506d 100644 --- a/blade-service/blade-desk/src/main/java/org/springblade/desk/logistics/service/impl/IOrderBoxServiceImpl.java +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/logistics/service/impl/IOrderBoxServiceImpl.java @@ -1018,6 +1018,9 @@ public class IOrderBoxServiceImpl implements IOrderBoxService { } Station station = (Station) stationR.getData(); List taskList = taskService.list(new LambdaQueryWrapper().eq(Task::getStationId, station.getId()).orderByDesc(Task::getUpdateTime)); + if (taskList==null||taskList.size()==0) { + return R.fail("未查询到该站点任务状态"); + } R boxbarcodeDetailsR = getBoxbarcodeDetails(taskList.get(0).getBoxBarcode()); if (!boxbarcodeDetailsR.isSuccess()) { return boxbarcodeDetailsR; From 2ab07c105d078489fa6ac18b1af972238a7e2b43 Mon Sep 17 00:00:00 2001 From: pangyang <475446853@qq.com> Date: Mon, 23 Mar 2026 11:15:28 +0800 Subject: [PATCH 3/8] =?UTF-8?q?=E5=AE=A1=E7=90=86=E5=8D=95erp=E6=9F=A5?= =?UTF-8?q?=E8=AF=A2=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../quality/pojo/dto/ErpQueryRequest.java | 23 ++++++++++++++++ .../erpdata/feign/IErpMesRbPkpqryClient.java | 14 +++++++++- .../feign/IErpMesRbPkpqryClientFallback.java | 13 ++++++++++ .../service/impl/ReviewSheetServiceImpl.java | 26 ++++++++++++++----- .../erpdata/feign/ErpMesRbPkpqryClient.java | 22 ++++++++++++++++ .../erpdata/mapper/ErpMesRbPkpqryMapper.java | 6 +++++ .../erpdata/mapper/ErpMesRbPkpqryMapper.xml | 19 ++++++++++++++ 7 files changed, 116 insertions(+), 7 deletions(-) create mode 100644 blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/quality/pojo/dto/ErpQueryRequest.java diff --git a/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/quality/pojo/dto/ErpQueryRequest.java b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/quality/pojo/dto/ErpQueryRequest.java new file mode 100644 index 00000000..b12b99b8 --- /dev/null +++ b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/quality/pojo/dto/ErpQueryRequest.java @@ -0,0 +1,23 @@ +package org.springblade.desk.quality.pojo.dto; + +import com.baomidou.mybatisplus.core.metadata.IPage; +import lombok.Data; +import org.springblade.desk.quality.pojo.request.ReviewSheetErpSearch; + +@Data +public class ErpQueryRequest { + /** + * 当前页 + */ + private Integer current; + + /** + * 每页大小 + */ + private Integer size; + + /** + * 搜索条件 + */ + private ReviewSheetErpSearch search; +} diff --git a/blade-service-api/blade-erpdata-api/src/main/java/org/springblade/erpdata/feign/IErpMesRbPkpqryClient.java b/blade-service-api/blade-erpdata-api/src/main/java/org/springblade/erpdata/feign/IErpMesRbPkpqryClient.java index 3c26a7a4..ddcc24fe 100644 --- a/blade-service-api/blade-erpdata-api/src/main/java/org/springblade/erpdata/feign/IErpMesRbPkpqryClient.java +++ b/blade-service-api/blade-erpdata-api/src/main/java/org/springblade/erpdata/feign/IErpMesRbPkpqryClient.java @@ -1,13 +1,21 @@ package org.springblade.erpdata.feign; import com.baomidou.mybatisplus.core.metadata.IPage; +import org.apache.ibatis.annotations.Param; import org.springblade.common.constant.LauncherConstant; import org.springblade.core.tool.api.R; +import org.springblade.desk.quality.pojo.dto.ErpQueryRequest; +import org.springblade.desk.quality.pojo.dto.PpmReportDetailDTO; +import org.springblade.desk.quality.pojo.request.ReviewSheetErpSearch; import org.springblade.erpdata.pojo.dto.MesRbPkpqryDTO; import org.springframework.cloud.openfeign.FeignClient; import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestParam; +import java.util.List; + /** * Feign接口类 * @@ -19,8 +27,9 @@ import org.springframework.web.bind.annotation.RequestParam; ) public interface IErpMesRbPkpqryClient { - String API_PREFIX = "/feign/erpdata/mesRbPkpqry/"; + String API_PREFIX = "/feign/client/mesRbPkpqry/"; String SELECT_PAGE = API_PREFIX + "selectPage"; + String LIST_ERP = API_PREFIX + "listerp"; /** * 查询配置结果 @@ -40,4 +49,7 @@ public interface IErpMesRbPkpqryClient { @RequestParam(value = "prtmdept", required = false) String prtmdept, @RequestParam(value = "subpkdateStart", required = false) String subpkdateStart, @RequestParam(value = "subpkdateEnd", required = false) String subpkdateEnd); + + @PostMapping(LIST_ERP) + List listErpNew(@RequestBody ErpQueryRequest erpQueryRequest); } diff --git a/blade-service-api/blade-erpdata-api/src/main/java/org/springblade/erpdata/feign/IErpMesRbPkpqryClientFallback.java b/blade-service-api/blade-erpdata-api/src/main/java/org/springblade/erpdata/feign/IErpMesRbPkpqryClientFallback.java index ef37d763..39774058 100644 --- a/blade-service-api/blade-erpdata-api/src/main/java/org/springblade/erpdata/feign/IErpMesRbPkpqryClientFallback.java +++ b/blade-service-api/blade-erpdata-api/src/main/java/org/springblade/erpdata/feign/IErpMesRbPkpqryClientFallback.java @@ -3,7 +3,13 @@ package org.springblade.erpdata.feign; import com.baomidou.mybatisplus.core.metadata.IPage; import org.springblade.core.tool.api.R; +import org.springblade.desk.quality.pojo.dto.ErpQueryRequest; +import org.springblade.desk.quality.pojo.dto.PpmReportDetailDTO; +import org.springblade.desk.quality.pojo.request.ReviewSheetErpSearch; import org.springblade.erpdata.pojo.dto.MesRbPkpqryDTO; +import org.springframework.web.bind.annotation.RequestBody; + +import java.util.List; /** * Feign接口类 @@ -16,4 +22,11 @@ public class IErpMesRbPkpqryClientFallback implements IErpMesRbPkpqryClient { public R> selectPage(Integer current, Integer size, String pkno, String prtmdept, String subpkdateStart, String subpkdateEnd) { return R.fail("获取数据失败"); } + + @Override + public List listErpNew(@RequestBody ErpQueryRequest erpQueryRequest) { + return List.of(); + } + + } diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/quality/service/impl/ReviewSheetServiceImpl.java b/blade-service/blade-desk/src/main/java/org/springblade/desk/quality/service/impl/ReviewSheetServiceImpl.java index 60a6e10c..1ff82f78 100644 --- a/blade-service/blade-desk/src/main/java/org/springblade/desk/quality/service/impl/ReviewSheetServiceImpl.java +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/quality/service/impl/ReviewSheetServiceImpl.java @@ -32,9 +32,7 @@ import org.springblade.desk.quality.constant.InspectionTaskConst; import org.springblade.desk.quality.constant.ReviewSheetConst; import org.springblade.desk.quality.excel.ReviewSheetExcel; import org.springblade.desk.quality.mapper.ReviewSheetMapper; -import org.springblade.desk.quality.pojo.dto.ReviewDutyDTO; -import org.springblade.desk.quality.pojo.dto.ReviewFaultDTO; -import org.springblade.desk.quality.pojo.dto.ReviewSheetDTO; +import org.springblade.desk.quality.pojo.dto.*; import org.springblade.desk.quality.pojo.entity.InspectionTask; import org.springblade.desk.quality.pojo.entity.ReviewDuty; import org.springblade.desk.quality.pojo.entity.ReviewFault; @@ -48,14 +46,17 @@ import org.springblade.desk.quality.service.IReviewDutyService; import org.springblade.desk.quality.service.IReviewFaultService; import org.springblade.desk.quality.service.IReviewSheetService; import org.springblade.desk.quality.wrapper.ReviewSheetDetailWrapper; +import org.springblade.erpdata.feign.IErpMesRbPkpqryClient; import org.springblade.system.feign.IDictClient; import org.springblade.system.feign.ISysClient; import org.springblade.system.feign.IUserClient; import org.springblade.system.pojo.entity.UserInfo; +import org.springframework.beans.factory.annotation.Value; +import org.springframework.cloud.context.config.annotation.RefreshScope; import org.springframework.http.HttpEntity; import org.springframework.http.ResponseEntity; import org.springframework.stereotype.Service; -import org.springblade.desk.quality.pojo.dto.PpmReportDetailDTO; + import java.time.LocalDateTime; import java.util.ArrayList; import java.util.List; @@ -73,9 +74,12 @@ import org.springframework.http.MediaType; @AllArgsConstructor @EqualsAndHashCode(callSuper = true) @Slf4j +//@RefreshScope public class ReviewSheetServiceImpl extends EnBaseServiceImpl implements IReviewSheetService { - +// @SuppressWarnings("SpringJavaInjectionPointsAutowiringInspection") +// @Value("${request.newErp.url}") +// private String newErpUrl; @Resource private IInspectionTaskService taskService; @Resource @@ -91,6 +95,8 @@ public class ReviewSheetServiceImpl extends EnBaseServiceImpl selectReviewSheetPage(IPage page, ReviewSheetDetailVO reviewSheet) { @@ -429,6 +435,9 @@ public class ReviewSheetServiceImpl extends EnBaseServiceImpl listErp(IPage page, ReviewSheetErpSearch search) { - List listVO = baseMapper.listErpNew(page, search); +// List listVO = baseMapper.listErpNew(page, search); + ErpQueryRequest erpQueryRequest = new ErpQueryRequest(); + erpQueryRequest.setCurrent(Integer.parseInt(page.getCurrent()+"")); + erpQueryRequest.setSize(Integer.parseInt(page.getSize()+"")); + erpQueryRequest.setSearch(search); + List listVO = erpMesRbPkpqryClient.listErpNew(erpQueryRequest); for (PpmReportDetailDTO oneVO : listVO) { oneVO.setSheetNo(oneVO.getCode()); oneVO.setP5layer1(oneVO.getP5layer1()); diff --git a/blade-service/blade-erpdata/src/main/java/org/springblade/erpdata/feign/ErpMesRbPkpqryClient.java b/blade-service/blade-erpdata/src/main/java/org/springblade/erpdata/feign/ErpMesRbPkpqryClient.java index 223b7828..3f7ed11b 100644 --- a/blade-service/blade-erpdata/src/main/java/org/springblade/erpdata/feign/ErpMesRbPkpqryClient.java +++ b/blade-service/blade-erpdata/src/main/java/org/springblade/erpdata/feign/ErpMesRbPkpqryClient.java @@ -2,17 +2,26 @@ package org.springblade.erpdata.feign; import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import io.swagger.v3.oas.annotations.Hidden; import lombok.AllArgsConstructor; import org.springblade.core.mp.support.Condition; import org.springblade.core.mp.support.Query; import org.springblade.core.tenant.annotation.NonDS; import org.springblade.core.tool.api.R; +import org.springblade.desk.quality.pojo.dto.ErpQueryRequest; +import org.springblade.desk.quality.pojo.dto.PpmReportDetailDTO; +import org.springblade.desk.quality.pojo.request.ReviewSheetErpSearch; +import org.springblade.erpdata.mapper.ErpMesRbPkpqryMapper; import org.springblade.erpdata.pojo.dto.MesRbPkpqryDTO; import org.springblade.erpdata.service.IErpMesRbPkpqryService; import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RestController; +import java.util.List; + /** * 字典服务Feign实现类 @@ -27,6 +36,8 @@ public class ErpMesRbPkpqryClient implements IErpMesRbPkpqryClient { private final IErpMesRbPkpqryService mesRbPkpqryService; + private final ErpMesRbPkpqryMapper erpMesRbPkpqryMapper; + @GetMapping(SELECT_PAGE) @Override public R> selectPage(Integer current, Integer size, String pkno, String prtmdept, String subpkdateStart, String subpkdateEnd) { @@ -35,4 +46,15 @@ public class ErpMesRbPkpqryClient implements IErpMesRbPkpqryClient { query.setSize(size); return R.data(mesRbPkpqryService.page(Condition.getPage(query), pkno, prtmdept, subpkdateStart, subpkdateEnd)); } + + @Override + public List listErpNew(ErpQueryRequest erpQueryRequest) { + + IPage page = new Page<>(erpQueryRequest.getCurrent(), erpQueryRequest.getSize()); + List result = erpMesRbPkpqryMapper.listErpNew(page, erpQueryRequest.getSearch()); + + return result; + } + + } diff --git a/blade-service/blade-erpdata/src/main/java/org/springblade/erpdata/mapper/ErpMesRbPkpqryMapper.java b/blade-service/blade-erpdata/src/main/java/org/springblade/erpdata/mapper/ErpMesRbPkpqryMapper.java index c5512a9a..abe48127 100644 --- a/blade-service/blade-erpdata/src/main/java/org/springblade/erpdata/mapper/ErpMesRbPkpqryMapper.java +++ b/blade-service/blade-erpdata/src/main/java/org/springblade/erpdata/mapper/ErpMesRbPkpqryMapper.java @@ -2,6 +2,9 @@ package org.springblade.erpdata.mapper; import com.baomidou.mybatisplus.core.mapper.Mapper; import com.baomidou.mybatisplus.core.metadata.IPage; +import org.apache.ibatis.annotations.Param; +import org.springblade.desk.quality.pojo.dto.PpmReportDetailDTO; +import org.springblade.desk.quality.pojo.request.ReviewSheetErpSearch; import org.springblade.erpdata.pojo.dto.MesRbPkpqryDTO; import java.util.List; @@ -24,4 +27,7 @@ public interface ErpMesRbPkpqryMapper extends Mapper { * @return */ List selectPage(IPage page, String pkno, String prtmdept, String subpkdateStart, String subpkdateEnd); + + List listErpNew(IPage page, + @Param("q") ReviewSheetErpSearch search); } diff --git a/blade-service/blade-erpdata/src/main/java/org/springblade/erpdata/mapper/ErpMesRbPkpqryMapper.xml b/blade-service/blade-erpdata/src/main/java/org/springblade/erpdata/mapper/ErpMesRbPkpqryMapper.xml index cb5cb242..ccffb33e 100644 --- a/blade-service/blade-erpdata/src/main/java/org/springblade/erpdata/mapper/ErpMesRbPkpqryMapper.xml +++ b/blade-service/blade-erpdata/src/main/java/org/springblade/erpdata/mapper/ErpMesRbPkpqryMapper.xml @@ -19,4 +19,23 @@ + + + + From c1a8cf6e448fd9ef5ca2b217b60fb8b6808f60c6 Mon Sep 17 00:00:00 2001 From: pangyang <475446853@qq.com> Date: Mon, 23 Mar 2026 11:42:16 +0800 Subject: [PATCH 4/8] =?UTF-8?q?=E5=A4=84=E7=90=86=E5=8D=95=E9=85=8D?= =?UTF-8?q?=E7=BD=AE=E8=B7=AF=E5=BE=84=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/impl/ReviewSheetServiceImpl.java | 17 +++++++++-------- .../src/main/resources/application-dev.yml | 2 ++ 2 files changed, 11 insertions(+), 8 deletions(-) diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/quality/service/impl/ReviewSheetServiceImpl.java b/blade-service/blade-desk/src/main/java/org/springblade/desk/quality/service/impl/ReviewSheetServiceImpl.java index 1ff82f78..7dc15914 100644 --- a/blade-service/blade-desk/src/main/java/org/springblade/desk/quality/service/impl/ReviewSheetServiceImpl.java +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/quality/service/impl/ReviewSheetServiceImpl.java @@ -51,10 +51,12 @@ import org.springblade.system.feign.IDictClient; import org.springblade.system.feign.ISysClient; import org.springblade.system.feign.IUserClient; import org.springblade.system.pojo.entity.UserInfo; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Value; import org.springframework.cloud.context.config.annotation.RefreshScope; import org.springframework.http.HttpEntity; import org.springframework.http.ResponseEntity; +import org.springframework.stereotype.Component; import org.springframework.stereotype.Service; import java.time.LocalDateTime; @@ -71,15 +73,14 @@ import org.springframework.http.MediaType; */ @Service @Data -@AllArgsConstructor +//@AllArgsConstructor @EqualsAndHashCode(callSuper = true) @Slf4j //@RefreshScope public class ReviewSheetServiceImpl extends EnBaseServiceImpl implements IReviewSheetService { -// @SuppressWarnings("SpringJavaInjectionPointsAutowiringInspection") -// @Value("${request.newErp.url}") -// private String newErpUrl; + @Value("${request.newErp.url}") + private String newErpUrl; @Resource private IInspectionTaskService taskService; @Resource @@ -433,11 +434,11 @@ public class ReviewSheetServiceImpl extends EnBaseServiceImpl responseEntity; JSONObject responseBody; try { - responseEntity = httpClientTemplate.postForEntity("http://192.168.119.68:10113" + - "/api/mms/qms/qmsrepairapply/qmsRepairApplyRest/saveQmsRepairApply/v1", entity, JSONObject.class); - -// responseEntity = httpClientTemplate.postForEntity(newErpUrl + +// responseEntity = httpClientTemplate.postForEntity("http://192.168.119.68:10113" + // "/api/mms/qms/qmsrepairapply/qmsRepairApplyRest/saveQmsRepairApply/v1", entity, JSONObject.class); + + responseEntity = httpClientTemplate.postForEntity(newErpUrl + + "/api/mms/qms/qmsrepairapply/qmsRepairApplyRest/saveQmsRepairApply/v1", entity, JSONObject.class); JSONObject result = responseEntity.getBody(); responseBody = result.getJSONObject("responseBody"); diff --git a/blade-service/blade-desk/src/main/resources/application-dev.yml b/blade-service/blade-desk/src/main/resources/application-dev.yml index f15508f6..087086ae 100644 --- a/blade-service/blade-desk/src/main/resources/application-dev.yml +++ b/blade-service/blade-desk/src/main/resources/application-dev.yml @@ -47,6 +47,8 @@ role-config: sj-checker-alias: "rb_checker" request: + newErp: + url: http://192.168.119.68:10113 #用水用电接口请求地址(iot) iot: #热表分厂组织id(部门id) From 68d3edc12ef44ed15ec495d9c3c4dd302b3bc6ed Mon Sep 17 00:00:00 2001 From: pangyang <475446853@qq.com> Date: Mon, 23 Mar 2026 11:44:49 +0800 Subject: [PATCH 5/8] =?UTF-8?q?=E5=A4=84=E7=90=86=E5=8D=95=E9=85=8D?= =?UTF-8?q?=E7=BD=AE=E8=B7=AF=E5=BE=84=E4=BF=AE=E6=94=B9001?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- blade-service/blade-desk/src/main/resources/application-dev.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/blade-service/blade-desk/src/main/resources/application-dev.yml b/blade-service/blade-desk/src/main/resources/application-dev.yml index 087086ae..67407e76 100644 --- a/blade-service/blade-desk/src/main/resources/application-dev.yml +++ b/blade-service/blade-desk/src/main/resources/application-dev.yml @@ -48,7 +48,7 @@ role-config: request: newErp: - url: http://192.168.119.68:10113 + url: "http://192.168.119.68:10113" #用水用电接口请求地址(iot) iot: #热表分厂组织id(部门id) From 83d3f6bd8ae79635dd359dadf01ab102ca1fd600 Mon Sep 17 00:00:00 2001 From: pangyang <475446853@qq.com> Date: Mon, 23 Mar 2026 14:00:35 +0800 Subject: [PATCH 6/8] =?UTF-8?q?=E5=AE=9E=E9=AA=8C=E4=BB=BB=E5=8A=A1?= =?UTF-8?q?=E4=B8=B4=E6=9C=9F=E6=8F=90=E9=86=92?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../desk/quality/service/CycleTestTaskService2.java | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/quality/service/CycleTestTaskService2.java b/blade-service/blade-desk/src/main/java/org/springblade/desk/quality/service/CycleTestTaskService2.java index d7102d61..77ed6946 100644 --- a/blade-service/blade-desk/src/main/java/org/springblade/desk/quality/service/CycleTestTaskService2.java +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/quality/service/CycleTestTaskService2.java @@ -215,10 +215,10 @@ public class CycleTestTaskService2 { // 判断结果对象 Object objAdvance = JobExtUtil.isAdvanceTargetDay(je, ct.getGenBefore()); if (objAdvance != null) { - MesNotifyMessageEntity mesNotifyMessageEntity = new MesNotifyMessageEntity(); - mesNotifyMessageEntity.setContent("您有实验任务"); - mesNotifyMessageEntity.setReceiveUserId(ct.getProcessUserId()); - mesNotifyMessageClient.save(mesNotifyMessageEntity); +// MesNotifyMessageEntity mesNotifyMessageEntity = new MesNotifyMessageEntity(); +// mesNotifyMessageEntity.setContent("您有实验任务"); +// mesNotifyMessageEntity.setReceiveUserId(ct.getProcessUserId()); +// mesNotifyMessageClient.save(mesNotifyMessageEntity); log.info("match je config = {}", objAdvance); // 试验时间 @@ -564,6 +564,11 @@ public class CycleTestTaskService2 { task.setFlagOut(BaseValue.NO); task.setFlagApproach(BaseValue.YES); // todo:消息中心 进行临期提醒 + + MesNotifyMessageEntity mesNotifyMessageEntity = new MesNotifyMessageEntity(); + mesNotifyMessageEntity.setContent("您有实验任务临期"); + mesNotifyMessageEntity.setReceiveUserId(task.getProcessUserId()); + mesNotifyMessageClient.save(mesNotifyMessageEntity); } // 设置临期天数 task.setDayToPlanedFinish(getCountDayToOut(task.getId())); From 7c26c0d86d8a4546540d654313a2b1b984c332ce Mon Sep 17 00:00:00 2001 From: pangyang <475446853@qq.com> Date: Mon, 23 Mar 2026 14:02:52 +0800 Subject: [PATCH 7/8] =?UTF-8?q?=E5=AE=9E=E9=AA=8C=E4=BB=BB=E5=8A=A1?= =?UTF-8?q?=E5=88=A4=E6=96=AD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/CycleTestTaskService2.java | 6 +++ .../desk/quality/util/JobExtUtil.java | 51 ++++++++++--------- 2 files changed, 32 insertions(+), 25 deletions(-) diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/quality/service/CycleTestTaskService2.java b/blade-service/blade-desk/src/main/java/org/springblade/desk/quality/service/CycleTestTaskService2.java index 77ed6946..4b657f22 100644 --- a/blade-service/blade-desk/src/main/java/org/springblade/desk/quality/service/CycleTestTaskService2.java +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/quality/service/CycleTestTaskService2.java @@ -600,6 +600,12 @@ public class CycleTestTaskService2 { task.setFlagOut(BaseValue.YES); task.setFlagApproach(BaseValue.NO); // todo:消息中心 进行超期提醒 + + MesNotifyMessageEntity mesNotifyMessageEntity = new MesNotifyMessageEntity(); + mesNotifyMessageEntity.setContent("您有实验任务超期"); + mesNotifyMessageEntity.setReceiveUserId(task.getProcessUserId()); + mesNotifyMessageClient.save(mesNotifyMessageEntity); + // 更新状态 service.updateById(task); } diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/quality/util/JobExtUtil.java b/blade-service/blade-desk/src/main/java/org/springblade/desk/quality/util/JobExtUtil.java index 57b75e83..92b391e8 100644 --- a/blade-service/blade-desk/src/main/java/org/springblade/desk/quality/util/JobExtUtil.java +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/quality/util/JobExtUtil.java @@ -159,31 +159,32 @@ public class JobExtUtil { } else if (type == YEAR) { String config = je.getJobTypeYearValue(); - // 获取当月最后一天 - LocalDate lastLD = LocalDate.of(today.getYear(), today.getMonth(), 1) - .with(TemporalAdjusters.lastDayOfMonth()); - log.info("当月最后一天:{}", lastLD); - // 当月最多多少天 - Integer maxDay = lastLD.getDayOfMonth(); - - - //如果超了就设置为最后一天 - List list = Arrays.asList(config.split(",")); - String str = ""; - for(String one : list){ - - String m = one.substring(0, 2); - String d = one.substring(2); - - int month = Integer.parseInt(one.substring(0, 2)); - int day = Integer.parseInt(one.substring(2)); - if(day>maxDay){ - day = maxDay; - d = day+""; - } - str = str+m+""+d+","; - } - str = str.substring(0,str.length()-1); +// // 获取当月最后一天 +// LocalDate lastLD = LocalDate.of(today.getYear(), today.getMonth(), 1) +// .with(TemporalAdjusters.lastDayOfMonth()); +// log.info("当月最后一天:{}", lastLD); +// // 当月最多多少天 +// Integer maxDay = lastLD.getDayOfMonth(); +// +// +// //如果超了就设置为最后一天 +// List list = Arrays.asList(config.split(",")); +// String str = ""; +// for(String one : list){ +// +// String m = one.substring(0, 2); +// String d = one.substring(2); +// +// int month = Integer.parseInt(one.substring(0, 2)); +// int day = Integer.parseInt(one.substring(2)); +// if(day>maxDay){ +// day = maxDay; +// d = day+""; +// } +// str = str+m+""+d+","; +// } +// str = str.substring(0,str.length()-1); + String str = config; // 解析配置为年度目标日期(MonthDay 仅存月+日,不关联年份) Set targetMonthDays = Arrays.stream(str.split(",")) .map(String::trim) From 085c9ce6ff4790838035909a7ed79280111948af Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=BB=ABUmbrella?= <2539020564@qq.com> Date: Mon, 23 Mar 2026 14:12:49 +0800 Subject: [PATCH 8/8] =?UTF-8?q?=E7=89=A9=E6=B5=81=E9=A1=B9=E7=9B=AE?= =?UTF-8?q?=E5=90=8E=E7=AB=AF=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../desk/logistics/service/impl/IOrderBoxServiceImpl.java | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/logistics/service/impl/IOrderBoxServiceImpl.java b/blade-service/blade-desk/src/main/java/org/springblade/desk/logistics/service/impl/IOrderBoxServiceImpl.java index ecc1506d..63f52255 100644 --- a/blade-service/blade-desk/src/main/java/org/springblade/desk/logistics/service/impl/IOrderBoxServiceImpl.java +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/logistics/service/impl/IOrderBoxServiceImpl.java @@ -1017,16 +1017,17 @@ public class IOrderBoxServiceImpl implements IOrderBoxService { return stationR; } Station station = (Station) stationR.getData(); + StationNameBoxBarcodeVO stationNameBoxBarcodeVO = new StationNameBoxBarcodeVO(); + stationNameBoxBarcodeVO.setStation(station); List taskList = taskService.list(new LambdaQueryWrapper().eq(Task::getStationId, station.getId()).orderByDesc(Task::getUpdateTime)); if (taskList==null||taskList.size()==0) { - return R.fail("未查询到该站点任务状态"); + return R.data(stationNameBoxBarcodeVO); } R boxbarcodeDetailsR = getBoxbarcodeDetails(taskList.get(0).getBoxBarcode()); if (!boxbarcodeDetailsR.isSuccess()) { return boxbarcodeDetailsR; } - StationNameBoxBarcodeVO stationNameBoxBarcodeVO = new StationNameBoxBarcodeVO(); - stationNameBoxBarcodeVO.setStation(station); + stationNameBoxBarcodeVO.setBoxbarcodeDetailsVO((BoxbarcodeDetailsVO) boxbarcodeDetailsR.getData()); return R.data(stationNameBoxBarcodeVO); }