From 96c18990b490f0dc38565ddbc218f22fb5de117b Mon Sep 17 00:00:00 2001 From: fengyuan_yang <1976974459@qq.com> Date: Thu, 16 Apr 2026 13:22:42 +0800 Subject: [PATCH] =?UTF-8?q?2026-04-16=20=E3=80=90=E5=B7=A5=E5=8D=95?= =?UTF-8?q?=E6=95=B0=E6=8D=AE=E6=B1=87=E6=80=BB=E3=80=91=E3=80=90=E5=B7=A5?= =?UTF-8?q?=E5=8D=95=E6=95=B0=E6=8D=AE=E5=9B=9E=E4=BC=A0=E3=80=91=E4=BC=98?= =?UTF-8?q?=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../entity/dto/U8WorkHourRequestDto.java | 40 +++++++++---------- .../Impl/WorkOrderAllocServiceImpl.java | 26 +++++++----- 2 files changed, 34 insertions(+), 32 deletions(-) diff --git a/src/main/java/com/gaotao/modules/shopOrder/entity/dto/U8WorkHourRequestDto.java b/src/main/java/com/gaotao/modules/shopOrder/entity/dto/U8WorkHourRequestDto.java index 5e9fbbe..f27bb4e 100644 --- a/src/main/java/com/gaotao/modules/shopOrder/entity/dto/U8WorkHourRequestDto.java +++ b/src/main/java/com/gaotao/modules/shopOrder/entity/dto/U8WorkHourRequestDto.java @@ -1,11 +1,8 @@ package com.gaotao.modules.shopOrder.entity.dto; -import com.fasterxml.jackson.annotation.JsonFormat; -import com.fasterxml.jackson.annotation.JsonProperty; +import com.alibaba.fastjson.annotation.JSONField; import lombok.Data; -import java.math.BigDecimal; -import java.util.Date; import java.util.List; /** @@ -19,26 +16,25 @@ public class U8WorkHourRequestDto { /** * 生产订单号 */ - @JsonProperty("Mocode") + @JSONField(name = "Mocode") private String mocode; /** * 订单行号 */ - @JsonProperty("IrowNo") + @JSONField(name = "IrowNo") private String irowNo; /** * 汇总日期 */ - @JsonProperty("DDate") - @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8") - private Date dDate; + @JSONField(name = "DDate") + private String dDate; /** * 明细列表 */ - @JsonProperty("DetailList") + @JSONField(name = "DetailList") private List detailList; /** @@ -50,56 +46,56 @@ public class U8WorkHourRequestDto { /** * MES行号 */ - @JsonProperty("MESIrowNo") + @JSONField(name = "MESIrowNo") private String mesIrowNo; /** * 工序号 */ - @JsonProperty("SortSeq") + @JSONField(name = "SortSeq") private String sortSeq; /** * 设备编码 */ - @JsonProperty("EQId") + @JSONField(name = "EQId") private String eqId; /** * 班次编码 */ - @JsonProperty("DutyClassCode") + @JSONField(name = "DutyClassCode") private String dutyClassCode; /** * 员工编码 */ - @JsonProperty("EmployCode") + @JSONField(name = "EmployCode") private String employCode; /** * 合格数量 */ - @JsonProperty("QualifiedQty") - private Double qualifiedQty; + @JSONField(name = "QualifiedQty") + private String qualifiedQty; /** * 不合格数量 */ - @JsonProperty("RefusedQty") + @JSONField(name = "RefusedQty") private String refusedQty; /** * 报废数量 */ - @JsonProperty("ScrapQty") - private Double scrapQty; + @JSONField(name = "ScrapQty") + private String scrapQty; /** * 工时(调机时长+制造时长) */ - @JsonProperty("WorkHr") - private BigDecimal workHr; + @JSONField(name = "WorkHr") + private String workHr; } } diff --git a/src/main/java/com/gaotao/modules/shopOrder/service/Impl/WorkOrderAllocServiceImpl.java b/src/main/java/com/gaotao/modules/shopOrder/service/Impl/WorkOrderAllocServiceImpl.java index 396b543..9cac9b5 100644 --- a/src/main/java/com/gaotao/modules/shopOrder/service/Impl/WorkOrderAllocServiceImpl.java +++ b/src/main/java/com/gaotao/modules/shopOrder/service/Impl/WorkOrderAllocServiceImpl.java @@ -19,6 +19,7 @@ import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import java.math.BigDecimal; +import java.text.SimpleDateFormat; import java.util.*; import java.util.stream.Collectors; @@ -177,7 +178,7 @@ public class WorkOrderAllocServiceImpl implements WorkOrderAllocService { Map> groupedData = unSyncedList.stream() .collect(Collectors.groupingBy(item -> item.getErpOrderNo() + "_" + item.getErpOrderLineNo() + "_" + - (item.getAllocDate() != null ? item.getAllocDate().getTime() : ""))); + (item.getAllocDate() != null ? item.getAllocDate() : ""))); // 3. 逐组调用U8接口 for (Map.Entry> entry : groupedData.entrySet()) { @@ -189,21 +190,26 @@ public class WorkOrderAllocServiceImpl implements WorkOrderAllocService { try { // 构建U8请求参数 U8WorkHourRequestDto requestDto = new U8WorkHourRequestDto(); - requestDto.setMocode(firstItem.getErpOrderNo()); - requestDto.setIrowNo(firstItem.getErpOrderLineNo()); - requestDto.setDDate(firstItem.getAllocDate()); + requestDto.setMocode(firstItem.getErpOrderNo() != null ? firstItem.getErpOrderNo() : ""); + requestDto.setIrowNo(firstItem.getErpOrderLineNo() != null ? firstItem.getErpOrderLineNo() : ""); + if (firstItem.getAllocDate() != null) { + SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); + requestDto.setDDate(sdf.format(firstItem.getAllocDate())); + } else { + requestDto.setDDate(""); + } List detailList = new ArrayList<>(); for (UspWorkOrderAllocData item : groupItems) { U8WorkHourRequestDto.DetailItem detailItem = new U8WorkHourRequestDto.DetailItem(); - detailItem.setMesIrowNo(item.getRowNo()); - detailItem.setSortSeq(item.getItemNo()); + detailItem.setMesIrowNo(item.getRowNo() != null ? item.getRowNo() : ""); + detailItem.setSortSeq(item.getItemNo() != null ? item.getItemNo() : ""); detailItem.setEqId(""); detailItem.setDutyClassCode(""); - detailItem.setEmployCode(item.getOperator()); - detailItem.setQualifiedQty(item.getAllocApproveQty()); + detailItem.setEmployCode(item.getOperator() != null ? item.getOperator() : ""); + detailItem.setQualifiedQty(item.getAllocApproveQty() != null ? String.valueOf(item.getAllocApproveQty()) : ""); detailItem.setRefusedQty(""); - detailItem.setScrapQty(item.getAllocScrapQty()); + detailItem.setScrapQty(item.getAllocScrapQty() != null ? String.valueOf(item.getAllocScrapQty()) : ""); // 计算工时:调机时长 + 制造时长 BigDecimal workHr = BigDecimal.ZERO; @@ -213,7 +219,7 @@ public class WorkOrderAllocServiceImpl implements WorkOrderAllocService { if (item.getAllocManfTime() != null) { workHr = workHr.add(item.getAllocManfTime()); } - detailItem.setWorkHr(workHr); + detailItem.setWorkHr(workHr.compareTo(BigDecimal.ZERO) == 0 ? "0" : workHr.toString()); detailList.add(detailItem); }