From 05e522f75ac4f164103a6013e9222a21acf2d22b Mon Sep 17 00:00:00 2001 From: liuqingkun Date: Sat, 20 Dec 2025 14:44:41 +0800 Subject: [PATCH] =?UTF-8?q?=E6=96=B0=E6=97=A7mes=E8=AE=A2=E5=8D=95?= =?UTF-8?q?=E6=95=B0=E6=8D=AE=E5=90=8C=E6=AD=A5=E6=96=B9=E6=B3=95=E4=BF=AE?= =?UTF-8?q?=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../pojo/entity/DsHourQuotaEntity.java | 9 +- .../dashboard/service/IDsPartService.java | 8 +- .../service/impl/DsPartServiceImpl.java | 5 ++ .../service/impl/DsTaskingServiceImpl.java | 2 +- .../controller/YieldOrderController.java | 15 ++++ .../order/service/IYieldOrderService.java | 8 ++ .../service/impl/YieldOrderServiceImpl.java | 84 +++++++++++++++++++ .../src/main/resources/application-dev.yml | 2 +- 8 files changed, 119 insertions(+), 14 deletions(-) diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/pojo/entity/DsHourQuotaEntity.java b/blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/pojo/entity/DsHourQuotaEntity.java index 3e3e01a0..3d69ab50 100644 --- a/blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/pojo/entity/DsHourQuotaEntity.java +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/pojo/entity/DsHourQuotaEntity.java @@ -25,13 +25,12 @@ */ package org.springblade.desk.dashboard.pojo.entity; -import lombok.Data; -import io.swagger.v3.oas.annotations.media.Schema; import com.baomidou.mybatisplus.annotation.TableName; -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; /** @@ -78,7 +77,7 @@ public class DsHourQuotaEntity extends BaseEntity { * 工序工时定额(分钟) */ @Schema(description = "工序工时定额(分钟)") - private Long proHours; + private Double proHours; /** * 准备工时 */ diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/service/IDsPartService.java b/blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/service/IDsPartService.java index 36cf9a13..1e5e1537 100644 --- a/blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/service/IDsPartService.java +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/service/IDsPartService.java @@ -28,12 +28,9 @@ package org.springblade.desk.dashboard.service; import com.baomidou.mybatisplus.core.conditions.Wrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import org.springblade.core.mp.base.BaseService; -<<<<<<< HEAD import org.springblade.desk.dashboard.excel.DsPartExcel; import org.springblade.desk.dashboard.pojo.entity.DsPartEntity; import org.springblade.desk.dashboard.pojo.vo.*; -======= ->>>>>>> liweidong import java.util.List; @@ -201,7 +198,6 @@ public interface IDsPartService extends BaseService { * @param partCode * @return */ -<<<<<<< HEAD List getSimpleTree(String partCode); /** @@ -220,8 +216,6 @@ public interface IDsPartService extends BaseService { * @return */ String findNameByRoamNo(String partCode, String roamNo); -======= // List getSimpleTree(String partCode); - ->>>>>>> liweidong + } diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/service/impl/DsPartServiceImpl.java b/blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/service/impl/DsPartServiceImpl.java index b67d0945..4568a932 100644 --- a/blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/service/impl/DsPartServiceImpl.java +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/service/impl/DsPartServiceImpl.java @@ -392,6 +392,11 @@ public class DsPartServiceImpl extends BaseServiceImpl getSimpleTree(String partCode) { + return null; + } + public Date addDaysToCurrentDate(int days) { LocalDateTime localDateTime = LocalDateTime.now().plusDays(days); return Date.from(localDateTime.atZone(ZoneId.systemDefault()).toInstant()); diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/service/impl/DsTaskingServiceImpl.java b/blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/service/impl/DsTaskingServiceImpl.java index e57b7e29..5350f38f 100644 --- a/blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/service/impl/DsTaskingServiceImpl.java +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/service/impl/DsTaskingServiceImpl.java @@ -671,7 +671,7 @@ public class DsTaskingServiceImpl extends BaseServiceImpl processProjectDeleteIds, List processMeasuringToolDeleteIds, List processMoldToolDeleteIds) { //保存工艺信息 if(null == craft.getId()){ - craft.setPrority("3"); + craft.setPrority(3); craft.setRank("2"); craftService.save(craft); }else { diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/order/controller/YieldOrderController.java b/blade-service/blade-desk/src/main/java/org/springblade/desk/order/controller/YieldOrderController.java index 53d38631..47e00f12 100644 --- a/blade-service/blade-desk/src/main/java/org/springblade/desk/order/controller/YieldOrderController.java +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/order/controller/YieldOrderController.java @@ -1,5 +1,7 @@ package org.springblade.desk.order.controller; +import com.alibaba.fastjson.JSONArray; +import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.core.metadata.IPage; import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.Parameter; @@ -149,4 +151,17 @@ public class YieldOrderController extends BladeController { Boolean result = yieldOrderService.checkCode(yieldOrderId, yieldOrderCode); return R.data(result); } + + /** + * 保存旧mes传过来的生产订单 + * + * @return true:重复 false:不重复 + */ + @PostMapping(value = "/receiveOrderFromOldMes") + @Operation(summary = "保存旧mes传过来的生产订单", description = "") + public R receiveOrderFromOldMes(@RequestBody JSONObject dataObject) { + JSONArray dataList = dataObject.getJSONArray("dataList"); + yieldOrderService.receiveOrderFromOldMes(dataList); + return R.success(); + } } diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/order/service/IYieldOrderService.java b/blade-service/blade-desk/src/main/java/org/springblade/desk/order/service/IYieldOrderService.java index c2610afd..0a313b62 100644 --- a/blade-service/blade-desk/src/main/java/org/springblade/desk/order/service/IYieldOrderService.java +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/order/service/IYieldOrderService.java @@ -1,5 +1,6 @@ package org.springblade.desk.order.service; +import com.alibaba.fastjson.JSONArray; import com.baomidou.mybatisplus.core.metadata.IPage; import jakarta.validation.constraints.NotEmpty; import org.springblade.common.exception.BusinessException; @@ -114,4 +115,11 @@ public interface IYieldOrderService extends BaseService { * @param cardNoList 生产订单流程卡号列表 */ void syncYieldOrderResultToOldMes(List cardNoList); + + /** + * 接收旧mes同步的生产订单数据 + * + * @param dataList + */ + void receiveOrderFromOldMes(JSONArray dataList); } diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/order/service/impl/YieldOrderServiceImpl.java b/blade-service/blade-desk/src/main/java/org/springblade/desk/order/service/impl/YieldOrderServiceImpl.java index df2a831d..c263b79c 100644 --- a/blade-service/blade-desk/src/main/java/org/springblade/desk/order/service/impl/YieldOrderServiceImpl.java +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/order/service/impl/YieldOrderServiceImpl.java @@ -426,6 +426,90 @@ public class YieldOrderServiceImpl extends BaseServiceImpl orderList = baseMapper.selectList(Wrappers.lambdaQuery(YieldOrder.class).eq(YieldOrder::getCardNo, yieldOrder.getCardNo())); + if (orderList.size() == 0) { + this.save(yieldOrder); + } else { + yieldOrder.setId(orderList.get(0).getId()); + this.updateById(yieldOrder); + } + + // 先查询原有的订单工艺信息 + List craftOldList = yieldOrderCraftService.list(Wrappers.lambdaQuery(YieldOrderCraft.class).eq(YieldOrderCraft::getYoId, yieldOrder.getId())); + // 构建生产订单工艺信息并保存 + JSONArray craftArray = jsonItem.getJSONArray("craftList"); + List craftList = new ArrayList<>(); + for (Object craftItem : craftArray) { + JSONObject craftJson = JSON.parseObject(JSON.toJSONString(craftItem)); + YieldOrderCraft craft = new YieldOrderCraft(); + craft.setYoId(yieldOrder.getId()); + craft.setCraftNo(craftJson.getString("craftNo")); + craft.setProcessNo(craftJson.getString("processNo")); + + // 若工艺ID或工艺排序为空, 则不保存 + if (ObjectUtil.isEmpty(craft.getProcessNo()) || ObjectUtil.isEmpty(craft.getPpsId())) { + continue; + } + + // 若已经保存过该工序, 则本次不保存 + if (craftOldList.stream().anyMatch(craftOld -> craftOld.getProcessNo().equals(craft.getProcessNo()) && craftOld.getPpsId().equals(craft.getPpsId()))) { + continue; + } + + craft.setStartTime(craftJson.getDate("startTime")); + craft.setEndTime(craftJson.getDate("endTime")); + craft.setHourQuota(craftJson.getDouble("hourQuota")); + if (ObjectUtil.isEmpty(craft.getHourQuota())) { + craft.setHourQuota(0D); + } + craft.setMakeMemo(craftJson.getString("makeMemo")); + craft.setPid(craftJson.getLong("pid")); + craft.setRpId(craftJson.getLong("rpId")); + craft.setPpsId(craftJson.getLong("ppsId")); + craft.setMakeTeam(craftJson.getLong("makeTeam")); + craft.setWorkCenterId(craftJson.getLong("wcId")); + craft.setOcId(craftJson.getLong("ocId")); + craft.setCaId(craftJson.getLong("caId")); + + craftList.add(craft); + } + yieldOrderCraftService.saveBatch(craftList); + } + } + /** * 验证零件子件信息 * 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 7018685f..52382448 100644 --- a/blade-service/blade-desk/src/main/resources/application-dev.yml +++ b/blade-service/blade-desk/src/main/resources/application-dev.yml @@ -11,7 +11,7 @@ spring: business: oldMes: - jobEnable: true + jobEnable: false # url: 192.168.169.172:9000 url: 127.0.0.1:32111 syncOrderList: /zhgd-rb/aiWebapi/syncApsOrderData/化学镀镍