diff --git a/acs/nladmin-system/nlsso-server/src/main/java/org/nl/acs/auto/run/OneNDCSocketConnectionAutoRun.java b/acs/nladmin-system/nlsso-server/src/main/java/org/nl/acs/auto/run/OneNDCSocketConnectionAutoRun.java index 54b814c..1a03ffe 100644 --- a/acs/nladmin-system/nlsso-server/src/main/java/org/nl/acs/auto/run/OneNDCSocketConnectionAutoRun.java +++ b/acs/nladmin-system/nlsso-server/src/main/java/org/nl/acs/auto/run/OneNDCSocketConnectionAutoRun.java @@ -235,7 +235,7 @@ public class OneNDCSocketConnectionAutoRun extends AbstractAutoRunnable { } else { //上报异常信息 //(不需要WCS反馈) - if (phase == 0x70 || phase == 0x71 || phase == 0x72 || phase == 0x73 || phase == 0x74) { + if (phase == 0x67 ||phase == 0x70 || phase == 0x71 || phase == 0x72 || phase == 0x73 || phase == 0x74) { device = deviceAppService.findDeviceByCode("AGV0" +agvaddr); } else { device = deviceAppService.findDeviceByCode("AGV0" + Integer.toString(arr[20])); @@ -246,7 +246,6 @@ public class OneNDCSocketConnectionAutoRun extends AbstractAutoRunnable { agvNdcOneDeviceDriver.processSocket(arr); } } - } if (!ObjectUtil.isEmpty(data)) { write(data); diff --git a/acs/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device_driver/basedriver/agv/ndcone/AgvNdcOneDeviceDriver.java b/acs/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device_driver/basedriver/agv/ndcone/AgvNdcOneDeviceDriver.java index a527bce..bbd2fcf 100644 --- a/acs/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device_driver/basedriver/agv/ndcone/AgvNdcOneDeviceDriver.java +++ b/acs/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device_driver/basedriver/agv/ndcone/AgvNdcOneDeviceDriver.java @@ -115,18 +115,18 @@ public class AgvNdcOneDeviceDriver extends AbstractDeviceDriver implements Devic String old_device_code = null; String emptyNum = null; String device_code = null; - // if (phase == 0x67) { - // //故障信息 - // if (arr[18] * 256 + arr[19] == 0) { - // - // } - // FeedBackTaskStatusRequest request = new FeedBackTaskStatusRequest(); - // request.setDevice_code(this.device_code); - // request.setType("3"); - // request.setState("故障"); - // acsToWmsService.notify(request); - // data = NDCAgvService.sendAgvOneModeInst(phase, index, 0, 0, 0, 0, 0); - // } + if (phase == 0x67) { + //故障信息 + if (arr[18] * 256 + arr[19] == 0) { + + } + FeedBackTaskStatusRequest request = new FeedBackTaskStatusRequest(); + request.setDevice_code(this.device_code); + request.setType("3"); + request.setState("AGV故障"); + acsToWmsService.notify(request); + // data = NDCAgvService.sendAgvOneModeInst(phase, index, 0, 0, 0, 0, 0); + } TaskDto task = new TaskDto(); if(ObjectUtil.isNotEmpty(inst)){ task = taskService.findById(inst.getTask_id()); @@ -210,7 +210,7 @@ public class AgvNdcOneDeviceDriver extends AbstractDeviceDriver implements Devic device = deviceAppService.findDeviceByCode(device_code); if (device.getDeviceDriver() instanceof StandardOrdinarySiteDeviceDriver) { log.info("起点设备名称是{}",device_code); -// acsToWmsService.ghsmlqhfinish(task); + // acsToWmsService.ghsmlqhfinish(task); } if (ObjectUtil.isEmpty(device_code)) { log.info(agvaddr + "对应设备号为空!"); diff --git a/acs/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device_driver/tianneng/baoshijian/BaoshijianSiteDeviceDriver.java b/acs/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device_driver/tianneng/baoshijian/BaoshijianSiteDeviceDriver.java index 89cb9df..cece14a 100644 --- a/acs/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device_driver/tianneng/baoshijian/BaoshijianSiteDeviceDriver.java +++ b/acs/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device_driver/tianneng/baoshijian/BaoshijianSiteDeviceDriver.java @@ -198,7 +198,7 @@ public class BaoshijianSiteDeviceDriver extends AbstractOpcDeviceDriver implemen jsonObject.put("device_code", device_code); jsonObject.put("requestDate", new Date()); jsonObject.put("requestNo", IdUtil.simpleUUID()); - jsonObject.put("request_method_code", "TBXMLTask"); + jsonObject.put("request_method_code", "TB XMLTask"); String result=acsToWmsService.applyTaskToWms(jsonObject); JSONObject res_jo = JSONObject.parseObject(result); if (res_jo.getString("status").equals("200")){ diff --git a/acs/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device_driver/tianneng/baoshijian/ItemProtocol.java b/acs/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device_driver/tianneng/baoshijian/ItemProtocol.java index 889cfb1..fc7a999 100644 --- a/acs/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device_driver/tianneng/baoshijian/ItemProtocol.java +++ b/acs/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device_driver/tianneng/baoshijian/ItemProtocol.java @@ -132,12 +132,14 @@ public class ItemProtocol { //保湿间 public static List getReadableItemDtos() { ArrayList list = new ArrayList(); + //0和1 1自动正常 0异常,其他状态 错误代码,动作模式没有,需要增加 list.add(new ItemDto(item_x0, "系统状态", "400001")); list.add(new ItemDto(item_x1, "收片完成", "400002")); list.add(new ItemDto(item_x2, "需上空架", "400003")); list.add(new ItemDto(item_x3, "门开到位", "400004")); list.add(new ItemDto(item_x4, "门关到位", "400005")); list.add(new ItemDto(item_x10, "备用字", "400011")); + //list.add(new ItemDto(item_x10, "备用字", "400012")); list.add(new ItemDto(item_x35, "架数", "400036")); list.add(new ItemDto(item_x36, "备用字", "400037")); list.add(new ItemDto(item_x37, "机号", "400038")); diff --git a/acs/nladmin-system/nlsso-server/src/main/resources/config/application-dev.yml b/acs/nladmin-system/nlsso-server/src/main/resources/config/application-dev.yml index c9eddbc..b617a03 100644 --- a/acs/nladmin-system/nlsso-server/src/main/resources/config/application-dev.yml +++ b/acs/nladmin-system/nlsso-server/src/main/resources/config/application-dev.yml @@ -7,10 +7,10 @@ spring: db-type: com.alibaba.druid.pool.DruidDataSource driverClassName: net.sf.log4jdbc.sql.jdbcapi.DriverSpy # url: jdbc:log4jdbc:mysql://${DB_HOST:192.168.81.252}:${DB_PORT:3306}/${DB_NAME:stand_acs}?serverTimezone=Asia/Shanghai&characterEncoding=utf8&useSSL=false&useOldAliasMetadataBehavior=true - url: jdbc:log4jdbc:mysql://${DB_HOST:127.0.0.1}:${DB_PORT:3306}/${DB_NAME:acs}?serverTimezone=Asia/Shanghai&characterEncoding=utf8&useSSL=false&useOldAliasMetadataBehavior=true + url: jdbc:log4jdbc:mysql://${DB_HOST:127.0.0.1}:${DB_PORT:3306}/${DB_NAME:xftn_acs}?serverTimezone=Asia/Shanghai&characterEncoding=utf8&useSSL=false&useOldAliasMetadataBehavior=true username: ${DB_USER:root} # password: ${DB_PWD:Root.123456} - password: ${DB_PWD:123456} + password: ${DB_PWD:123456789} # 初始连接数 initial-size: 5 # 最小连接数 diff --git a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/common/enums/AcsDefineEnum.java b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/common/enums/AcsDefineEnum.java index 8e015e0..8eacec4 100644 --- a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/common/enums/AcsDefineEnum.java +++ b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/common/enums/AcsDefineEnum.java @@ -18,8 +18,8 @@ public enum AcsDefineEnum { //agv状态 1-关机2-运行中3-交通管制4-任务等待5-充电中6-故障中7-低电量 AGV_STATUS(MapOf.of("关机", "1", "运行中", "2", "交通管制", "3", "任务等待", "4", "充电中", "5", "故障中", "6", "低电量", "7")), - //RGV状态 1-空闲 2-任务未派发 3-执行任务中 4-任务完成 - RGV_STATUS(MapOf.of("1","IDLE","2","SENT","3","WORK","4","COMPLETE")), + //RGV状态 1-空闲 2-任务执行中 3-充电 4-故障 5-未知 6-不可利用 + RGV_STATUS(MapOf.of("1","IDLE","2","EXECUTING","3","CHARGING","4","ERROR","5","UNKNOWN","6","UNAVAILABLE")), //载具类型 VEHICLE_TYPE(MapOf.of("普涂", "1", "连涂", "2")), diff --git a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/cockpit/controller/CockpitController.java b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/cockpit/controller/CockpitController.java index 07045f3..9bc6ebd 100644 --- a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/cockpit/controller/CockpitController.java +++ b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/cockpit/controller/CockpitController.java @@ -38,8 +38,8 @@ public class CockpitController { } @PostMapping("/allDeviceStatus") - @Log("秒刷接口") - @ApiOperation("秒刷接口") + @Log("秒级接口") + @ApiOperation("秒级接口") public ResponseEntity allDeviceStatus() { return new ResponseEntity<>(cockpitService.allDeviceStatus(), HttpStatus.OK); } diff --git a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/cockpit/service/CockpitService.java b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/cockpit/service/CockpitService.java index 9d402b4..80d2beb 100644 --- a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/cockpit/service/CockpitService.java +++ b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/cockpit/service/CockpitService.java @@ -3,6 +3,9 @@ package org.nl.wms.cockpit.service; import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; +import java.util.HashMap; +import java.util.concurrent.ConcurrentHashMap; + /** * @Author: lyd * @Description: @@ -17,7 +20,7 @@ public interface CockpitService { JSONArray acceptDeviceFaultInfo(); - JSONObject getHomeInfo(); + HashMap getHomeInfo(); JSONObject getHandlingInfo(); diff --git a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/cockpit/service/dao/CommonData.java b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/cockpit/service/dao/CommonData.java deleted file mode 100644 index 9bfa100..0000000 --- a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/cockpit/service/dao/CommonData.java +++ /dev/null @@ -1,34 +0,0 @@ -package org.nl.wms.cockpit.service.dao; - -import lombok.Data; -import lombok.experimental.FieldNameConstants; -import org.nl.common.base.ErrorData; -import org.nl.wms.cockpit.service.dao.home.DayData; - -import java.util.ArrayList; -import java.util.List; - -/** - * 公共类 - * - * @author gbx - * @since 2024-01-04 - */ -@Data -@FieldNameConstants -public class CommonData { - - private WeekWorkorderStatistics week_workorder_statistics; - - - @Data - public static class WeekWorkorderStatistics extends ErrorData { - private List day1 =new ArrayList<>(); - private List day2=new ArrayList<>(); - private List day3=new ArrayList<>(); - private List day4=new ArrayList<>(); - private List day5=new ArrayList<>(); - private List day6=new ArrayList<>(); - private List day7=new ArrayList<>(); - } -} diff --git a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/cockpit/service/dao/ghs/DeviceFaultStatistics.java b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/cockpit/service/dao/ghs/DeviceFaultStatistics.java deleted file mode 100644 index 661c3dd..0000000 --- a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/cockpit/service/dao/ghs/DeviceFaultStatistics.java +++ /dev/null @@ -1,21 +0,0 @@ -package org.nl.wms.cockpit.service.dao.ghs; - -import lombok.Data; - -/** - * 设备故障率 - * - * @author gbx - * @since 2024-01-12 - */ -@Data -public class DeviceFaultStatistics { - private final long totalFaults; - private final double faultRate; - - public DeviceFaultStatistics(long totalFaults, double faultRate) { - this.totalFaults = totalFaults; - this.faultRate = faultRate; - } - -} diff --git a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/cockpit/service/dao/ghs/GhsInfo.java b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/cockpit/service/dao/ghs/GhsInfo.java deleted file mode 100644 index dc0feb4..0000000 --- a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/cockpit/service/dao/ghs/GhsInfo.java +++ /dev/null @@ -1,59 +0,0 @@ -package org.nl.wms.cockpit.service.dao.ghs; - -import lombok.Data; -import org.nl.wms.cockpit.service.dao.CommonData; - -import java.io.Serializable; - -/** - * 固化室大屏页面 - * - * @author gbx - * @since 2024-01-04 - */ -@Data -public class GhsInfo implements Serializable { - private CuringSummary curing_summary; - private CommonData.WeekWorkorderStatistics week_workorder_statistics; - private TaskInfo task_info; - private DeviceStatus device_status; - private FaultAlarm fault_alarm; - private MonthlyFaultStatistics monthly_fault_statistics; - - @Data - public static class CuringSummary { - private String item_name; - private String item_qty; - } - - - - @Data - public static class TaskInfo { - private String task_type; - private String device_name; - private String point_code1; - private String point_code2; - } - - @Data - public static class DeviceStatus { - private String item_name; - private String item_qty; - } - - @Data - public static class FaultAlarm { - private String device_name; - private String fault_cause; - private String alarm_time; - } - - @Data - public static class MonthlyFaultStatistics { - private String device_name; - private String alarm_qty; - } - - -} diff --git a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/cockpit/service/dao/home/HomeInfo.java b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/cockpit/service/dao/home/HomeInfo.java deleted file mode 100644 index 5a42d7e..0000000 --- a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/cockpit/service/dao/home/HomeInfo.java +++ /dev/null @@ -1,90 +0,0 @@ -package org.nl.wms.cockpit.service.dao.home; - -import lombok.Data; -import lombok.experimental.FieldNameConstants; -import org.nl.common.base.ErrorData; - -import java.util.ArrayList; -import java.util.List; - -/** - * 首页总览大屏页面 - * - * @author gbx - * @since 2024-01-04 - */ -@Data -@FieldNameConstants -public class HomeInfo { - private TargetAchievement target_achievement; - private ZCStorageInfo zc_storage_info; - private TodayWork today_work; - private WorkorderStatistics workorder_statistics; - private DeviceStatus device_status; - private FaultAlarm fault_alarm; - private MonthlyFaultStatistics monthly_fault_statistics; - - - - @Data - public static class ZCStorageInfo extends ErrorData { - private List material_info; - private String empty_stock; - private String freePoint; - private String pointCount; - } - - @Data - public static class TodayWork extends ErrorData { - private String workorder_code; - private String material_name; - private String plan_qty; - private String real_qty; - private String point_name; - private String workorder_status; - } - - @Data - public static class WorkorderStatistics { - private Day1 day1; - - @Data - public static class Day1 { - private String tb_real_qty; - private String gh_real_qty; - } - } - - @Data - public static class DeviceStatus { - private StatusInfo status_info; - private StorageInfo storage_info; - - @Data - public static class StatusInfo { - private String item_name; - private String item_qty; - } - - @Data - public static class StorageInfo { - private String item_name; - private String tem_qty; - } - } - - @Data - public static class FaultAlarm { - private String device_name; - private String fault_cause; - private String alarm_time; - } - - @Data - public static class MonthlyFaultStatistics { - private String device_name; - private String alarm_qty; - } - - -} diff --git a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/cockpit/service/dao/tbx/TbxInfo.java b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/cockpit/service/dao/tbx/TbxInfo.java deleted file mode 100644 index 000c27a..0000000 --- a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/cockpit/service/dao/tbx/TbxInfo.java +++ /dev/null @@ -1,79 +0,0 @@ -package org.nl.wms.cockpit.service.dao.tbx; - -import lombok.Data; -import lombok.experimental.FieldNameConstants; - -/** - * 涂板线大屏页面 - * - * @author gbx - * @since 2024-01-04 - */ -@Data -@FieldNameConstants -public class TbxInfo { - private TargetAchievement target_achievement; - private WeekWorkorderStatistics week_workorder_statistics; - private DeviceStatus device_status; - private FaultAlarm fault_alarm; - private MonthlyFaultStatistics monthly_fault_statistics; - - @Data - public static class TargetAchievement { - private LTProduction lt_production; - private PTProduction pt_production; - - @Data - public static class LTProduction { - private String plan_production; - private String actual_production; - private String percentage; - } - - @Data - public static class PTProduction { - private String plan_production; - private String actual_production; - private String percentage; - } - } - - @Data - public static class WeekWorkorderStatistics { - private Day1 day1; - - @Data - public static class Day1 { - private String item_name; - private String item_qty; - } - } - - - - @Data - public static class DeviceStatus { - private DeviceName device_name; - - @Data - public static class DeviceName { - private String item_name; - private String item_qty; - } - } - - @Data - public static class FaultAlarm { - private String device_name; - private String fault_cause; - private String alarm_time; - } - - @Data - public static class MonthlyFaultStatistics { - private String device_name; - private String alarm_qty; - } - - -} diff --git a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/cockpit/service/dao/zcq/Inventory.java b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/cockpit/service/dao/zcq/Inventory.java deleted file mode 100644 index f112b9f..0000000 --- a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/cockpit/service/dao/zcq/Inventory.java +++ /dev/null @@ -1,16 +0,0 @@ -package org.nl.wms.cockpit.service.dao.zcq; - -import lombok.Data; - -/** - * 暂存区库存结构 - * - * @author gbx - * @since 2024-01-10 - */ -@Data -public class Inventory { - private String point_name; - private String material_name; - private String quantity; -} diff --git a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/cockpit/service/dao/zcq/ZcqInfo.java b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/cockpit/service/dao/zcq/ZcqInfo.java deleted file mode 100644 index 064b915..0000000 --- a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/cockpit/service/dao/zcq/ZcqInfo.java +++ /dev/null @@ -1,56 +0,0 @@ -package org.nl.wms.cockpit.service.dao.zcq; - -import lombok.Data; - -/** - * 暂存区大屏页面 - * - * @author gbx - * @since 2024-01-04 - */ -public class ZcqInfo { - private TemporaryStorage temporary_storage; - private Inventory inventory; - private TaskInfo task_info; - private DeviceStatus device_status; - private FaultAlarm fault_alarm; - private MonthlyFaultStatistics monthly_fault_statistics; - - @Data - public static class TemporaryStorage { - private String total; - private String free; - private String percentage; - } - - @Data - public static class Inventory { - private String material_name; - private String quantity; - } - - - @Data - public static class DeviceStatus { - private DeviceName device_name; - } - - @Data - public static class DeviceName { - private String item_name; - private String item_qty; - } - - @Data - public static class FaultAlarm { - private String device_name; - private String fault_cause; - private String alarm_time; - } - - @Data - public static class MonthlyFaultStatistics { - private String device_name; - private String alarm_qty; - } -} diff --git a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/cockpit/service/impl/CockpitServiceImpl.java b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/cockpit/service/impl/CockpitServiceImpl.java index 533b54b..2a1cb6a 100644 --- a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/cockpit/service/impl/CockpitServiceImpl.java +++ b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/cockpit/service/impl/CockpitServiceImpl.java @@ -3,43 +3,30 @@ package org.nl.wms.cockpit.service.impl; import cn.hutool.core.util.ObjectUtil; import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; -import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; import lombok.extern.slf4j.Slf4j; import org.apache.commons.lang3.StringUtils; import org.nl.common.enums.AcsDefineEnum; import org.nl.common.exception.BadRequestException; -import org.nl.common.utils.ColaBeanUtils; import org.nl.common.utils.RedisUtils; import org.nl.wms.cockpit.service.CockpitService; -import org.nl.wms.cockpit.service.dao.CommonData; -import org.nl.wms.cockpit.service.dao.home.DayData; -import org.nl.wms.cockpit.service.dao.home.HomeInfo; -import org.nl.wms.cockpit.service.dao.home.TargetAchievement; import org.nl.wms.cockpit.service.dao.zcq.TaskInfo; import org.nl.wms.cockpit.service.mapper.CockpitMapper; import org.nl.wms.pdm.solidifyplan.service.impl.PdmBdSolidifyPlanServiceImpl; -import org.nl.wms.pdm.workorder.service.IPdmBdWorkorderService; -import org.nl.wms.pdm.workorder.service.dao.PdmBdWorkorder; -import org.nl.wms.sch.group.service.ISchBaseVehiclematerialgroupService; import org.nl.wms.sch.point.service.ISchBasePointService; import org.nl.wms.sch.point.service.dao.SchBasePoint; -import org.nl.wms.sch.task.service.ISchBaseTaskService; import org.nl.wms.sch.task_manage.enums.RegionCodeConstant; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Qualifier; -import org.springframework.scheduling.annotation.Async; import org.springframework.scheduling.annotation.EnableScheduling; import org.springframework.stereotype.Service; import java.math.BigDecimal; -import java.math.RoundingMode; import java.time.LocalDate; import java.time.LocalDateTime; import java.time.LocalTime; import java.time.format.DateTimeFormatter; import java.util.*; import java.util.concurrent.CompletableFuture; -import java.util.concurrent.ConcurrentHashMap; import java.util.concurrent.ThreadPoolExecutor; import java.util.function.Function; import java.util.stream.Collectors; @@ -58,17 +45,9 @@ public class CockpitServiceImpl implements CockpitService { @Autowired private ISchBasePointService pointService; - @Autowired - private IPdmBdWorkorderService workorderService; - - @Autowired - private ISchBaseTaskService taskService; - @Autowired private CockpitMapper cockpitMapper; - @Autowired - private ISchBaseVehiclematerialgroupService vehiclematerialgroupService; @Autowired @Qualifier("threadPoolExecutor") @@ -86,77 +65,163 @@ public class CockpitServiceImpl implements CockpitService { * 总览 */ @Override - public JSONObject getHomeInfo() { - JSONObject getHomeInfo = new JSONObject(); - //生产任务目标达成 - JSONObject target_achievement = cockpitMapper.getProductTarget(); - List> productionSummaryList = new ArrayList<>(); - for (String itemName : Arrays.asList("1", "2", "3")) { - Map item = new HashMap<>(); - item.put("item_name", itemName); - item.put("item_qty", "0"); - productionSummaryList.add(item); - } - JSONObject production_summary = cockpitMapper.getProductionsummary(); - if (ObjectUtil.isNotEmpty(production_summary)) { - productionSummaryList.forEach(item -> { - String key = item.get("item_name").toString().toLowerCase(); - if (ObjectUtil.isNotEmpty(production_summary.get(key))) { - item.put("item_qty", production_summary.get(key).toString()); - } - }); - } - //暂存库库存结构 - JSONObject zc_storage_info = new JSONObject(); - List> material_info = cockpitMapper.getZcMaterialmsg(); - zc_storage_info.put("material_info", material_info); - //库位使用占比 - String percent = cockpitMapper.percent(); - zc_storage_info.put("percent", percent); - //今日生产任务 - List> today_work = cockpitMapper.getTdWorkmsg(); - if (ObjectUtil.isEmpty(today_work)) { - Map item1 = new HashMap<>(); - item1.put("workorder_code", "240918001"); - item1.put("material_name", "TS_12Z中负"); - item1.put("plan_qty", "100"); - item1.put("real_qty", "0"); - item1.put("point_name", "普涂线01"); - item1.put("workorder_status", "生产中"); - today_work.add(item1); - } - List> tb_real_qty = cockpitMapper.getTxQty("7", "TBX"); - List> gh_real_qty = cockpitMapper.getGhsQty("7"); - List> tb_real_qty_default = new ArrayList<>(); - List> gh_real_qty_default = new ArrayList<>(); - getWeekWorkStatistics(tb_real_qty, tb_real_qty_default, "TBX", 7); - getWeekWorkStatistics(gh_real_qty, gh_real_qty_default, "GHS", 7); + public HashMap getHomeInfo() { + HashMap getHomeInfo = new HashMap<>(); //设备运行状态 JSONObject device_status = new JSONObject(); + //库存结构 + JSONObject zc_storage_info = new JSONObject(); //状态信息 - List> status_info = cockpitMapper.statusInfo(); + CompletableFuture>> task1 = CompletableFuture.supplyAsync(() -> cockpitMapper.statusInfo(), pool); + task1.thenAccept((result) -> { + device_status.put("status_info", result); + }).exceptionally((e) -> { + log.error("状态信息: {}", e.getMessage(), e); + return null; + }); //固化架信息 - List> storage_info = cockpitMapper.storageInfo(); - device_status.put("status_info", status_info); - device_status.put("storage_info", storage_info); + CompletableFuture>> task2 = CompletableFuture.supplyAsync(() -> cockpitMapper.storageInfo(), pool); + task2.thenAccept((result) -> { + device_status.put("storage_info", result); + }).exceptionally((e) -> { + log.error("固化架信息: {}", e.getMessage(), e); + return null; + }); + //暂存库库存结构 + CompletableFuture>> task3 = CompletableFuture.supplyAsync(() -> cockpitMapper.getZcMaterialmsg(), pool); + task3.thenAccept((result) -> { + zc_storage_info.put("material_info", result); + }).exceptionally((e) -> { + log.error("暂存库库存结构: {}", e.getMessage(), e); + zc_storage_info.put("material_info", ""); + return null; + }); + //库位使用占比 + CompletableFuture task4 = CompletableFuture.supplyAsync(() -> cockpitMapper.percent(), pool); + task4.thenAccept((result) -> { + zc_storage_info.put("percent", result); + }).exceptionally((e) -> { + log.error("库位使用占比: {}", e.getMessage(), e); + zc_storage_info.put("percent", ""); + return null; + }); + //生产任务目标达成 + CompletableFuture task5 = CompletableFuture.supplyAsync(() -> cockpitMapper.getProductTarget(), pool); + task5.thenAccept((result) -> { + getHomeInfo.put("target_achievement", result); + }).exceptionally((e) -> { + log.error("获取生产任务目标达成: {}", e.getMessage(), e); + getHomeInfo.put("target_achievement", null); + return null; + }); + //生产汇总 + CompletableFuture task6 = CompletableFuture.supplyAsync(() -> cockpitMapper.getProductionsummary(), pool); + task6.thenAccept((result) -> { + List> productionSummaryList = new ArrayList<>(); + for (String itemName : Arrays.asList("1", "2", "3")) { + Map item = new HashMap<>(); + item.put("item_name", itemName); + item.put("item_qty", "0"); + productionSummaryList.add(item); + } + if (ObjectUtil.isNotEmpty(result)) { + productionSummaryList.forEach(item -> { + String key = item.get("item_name").toString().toLowerCase(); + if (ObjectUtil.isNotEmpty(result.get(key))) { + item.put("item_qty", result.get(key).toString()); + } + }); + } + getHomeInfo.put("production_summary", productionSummaryList); + }).exceptionally((e) -> { + log.error("生产汇总: {}", e.getMessage(), e); + getHomeInfo.put("production_summary", null); + return null; + }); + + //今日生产任务 + CompletableFuture>> task7 = CompletableFuture.supplyAsync(() -> cockpitMapper.getTdWorkmsg(), pool); + task7.thenAccept((result) -> { + List> today_work = new ArrayList<>(); + if (ObjectUtil.isEmpty(result)) { + //测试数据,上线后删除 + Map item1 = new HashMap<>(); + item1.put("workorder_code", "240918001"); + item1.put("material_name", "TS_12Z中负"); + item1.put("plan_qty", "100"); + item1.put("real_qty", "0"); + item1.put("point_name", "普涂线01"); + item1.put("workorder_status", "生产中"); + today_work.add(item1); + } + getHomeInfo.put("today_work", today_work); + }).exceptionally((e) -> { + log.error("今日生产任务: {}", e.getMessage(), e); + getHomeInfo.put("today_work", null); + return null; + }); + //固化一周生产 + CompletableFuture>> task8 = CompletableFuture.supplyAsync(() -> cockpitMapper.getGhsQty("7"), pool); + task8.thenAccept((result) -> { + List> gh_real_qty_default = new ArrayList<>(); + getWeekWorkStatistics(result, gh_real_qty_default, "GHS", 7); + getHomeInfo.put("ghs_produce", gh_real_qty_default); + }).exceptionally((e) -> { + log.error("固化一周生产: {}", e.getMessage(), e); + getHomeInfo.put("ghs_produce", null); + return null; + }); + //涂板一周生产 + CompletableFuture>> task9 = CompletableFuture.supplyAsync(() -> cockpitMapper.getTxQty("7", "TBX"), pool); + task9.thenAccept((result) -> { + List> tb_real_qty_default = new ArrayList<>(); + getWeekWorkStatistics(result, tb_real_qty_default, "TBX", 7); + getHomeInfo.put("tbx_produce", tb_real_qty_default); + }).exceptionally((e) -> { + log.error("涂板一周生产: {}", e.getMessage(), e); + getHomeInfo.put("tbx_produce", null); + return null; + }); + //实时故障告警 - List> fault_alarm = cockpitMapper.faultAlarm(); - faultAlarmDefault(fault_alarm, "TS_GHS02"); + CompletableFuture>> task10 = CompletableFuture.supplyAsync(() -> cockpitMapper.faultAlarm(), pool); + task10.thenAccept((result) -> { + //测试数据,上线后删除 + faultAlarmDefault(result, "TS_GHS02"); + getHomeInfo.put("fault_alarm", result); + }).exceptionally((e) -> { + log.error("实时故障告警: {}", e.getMessage(), e); + getHomeInfo.put("fault_alarm", null); + return null; + }); //近30日故障统计 - JSONArray monthly_fault_statistics = cockpitMapper.monthlyFaultStatistics(); - monthlyFaultStatisticsDefault(monthly_fault_statistics, "TS_GHS02"); + CompletableFuture task11 = CompletableFuture.supplyAsync(() -> cockpitMapper.monthlyFaultStatistics(), pool); + task11.thenAccept((result) -> { + //测试数据,上线后删除 + monthlyFaultStatisticsDefault(result, "TS_GHS02"); + getHomeInfo.put("monthly_fault_statistics", result); + }).exceptionally((e) -> { + log.error("近30日故障统计: {}", e.getMessage(), e); + getHomeInfo.put("monthly_fault_statistics", null); + return null; + }); //设备报警前十 - List> gh_statistics = cockpitMapper.ghStatistics(); - getHomeInfo.put("target_achievement", target_achievement); - getHomeInfo.put("zc_storage_info", zc_storage_info); - getHomeInfo.put("today_work", today_work); - getHomeInfo.put("tbx_produce", tb_real_qty_default); - getHomeInfo.put("ghs_produce", gh_real_qty_default); + CompletableFuture>> task12 = CompletableFuture.supplyAsync(() -> cockpitMapper.ghStatistics(), pool); + task12.thenAccept((result) -> { + getHomeInfo.put("gh_statistics", result); + }).exceptionally((e) -> { + log.error("设备报警前十: {}", e.getMessage(), e); + getHomeInfo.put("gh_statistics", null); + return null; + }); + CompletableFuture allQuery = CompletableFuture.allOf(task1, task2, task3, task4, task5, task6, task7, task8, task9, task10, task11, task12); + CompletableFuture> future = allQuery.thenApply((result) -> getHomeInfo).exceptionally((e) -> { + log.error(e.getMessage(), e); + return null; + }); + future.join(); getHomeInfo.put("device_status", device_status); - getHomeInfo.put("fault_alarm", fault_alarm); - getHomeInfo.put("monthly_fault_statistics", monthly_fault_statistics); - getHomeInfo.put("gh_statistics", gh_statistics); - getHomeInfo.put("production_summary", productionSummaryList); + getHomeInfo.put("zc_storage_info", zc_storage_info); return getHomeInfo; } @@ -231,9 +296,11 @@ public class CockpitServiceImpl implements CockpitService { } //实时故障告警 List> fault_alarm = cockpitMapper.FaultTime("TBX"); + //测试数据,上线后删除 faultAlarmDefault(fault_alarm, "TS_LTX02"); //近30日故障统计 JSONArray monthly_fault_statistics = cockpitMapper.FaultTotal("TBX"); + //测试数据,上线后删除 monthlyFaultStatisticsDefault(monthly_fault_statistics, "TS_LTX02"); List> monthly_produce_statistics = cockpitMapper.getTbxMonthlyStatistics(); List> tbxMonthlyStatistics = new ArrayList<>(); @@ -328,6 +395,7 @@ public class CockpitServiceImpl implements CockpitService { } }); } else { + //测试数据,上线后删除 Map item1 = new HashMap<>(); item1.put("material_name", "TS_1.9A正"); item1.put("material_spec", "正涂片极板/1.9A/大片"); @@ -343,9 +411,11 @@ public class CockpitServiceImpl implements CockpitService { } //实时故障告警 List> fault_alarm = cockpitMapper.FaultTime("GH"); + //测试数据,上线后删除 faultAlarmDefault(fault_alarm, "TS_GHS02"); //近30日故障统计 JSONArray monthly_fault_statistics = cockpitMapper.FaultTotal("GH"); + //测试数据,上线后删除 monthlyFaultStatisticsDefault(monthly_fault_statistics, "TS_GHS02"); getGhsInfo.put("curing_summary", curing_summary); getGhsInfo.put("monthly_gh_qty", monthly_gh_qty_default); @@ -437,6 +507,7 @@ public class CockpitServiceImpl implements CockpitService { faultAlarmDefault(fault_alarm, "AGV08"); //近30日故障统计 JSONArray monthly_fault_statistics = cockpitMapper.monthlyFaultStatistics(); + //测试数据,上线后删除 if (ObjectUtil.isEmpty(monthly_fault_statistics)) { JSONObject item = new JSONObject(); item.put("region_name", "TS_GHS"); @@ -769,109 +840,70 @@ public class CockpitServiceImpl implements CockpitService { @Override public JSONArray allDeviceStatus() { JSONArray array = new JSONArray(); - // Random random = new Random(); - // int lowerBound = 10000; - // int upperBound = 18000; - JSONArray baoshijian = (JSONArray) redisUtils.get("baoshijian1"); - JSONArray guhuashi = (JSONArray) redisUtils.get("guhuashi1"); - JSONArray AGV = (JSONArray) redisUtils.get("AGV1"); - JSONArray RGV = (JSONArray) redisUtils.get("RGV1"); - JSONArray site = (JSONArray) redisUtils.get("site1"); - array.add(baoshijian); - array.add(guhuashi); - array.add(AGV); - array.add(RGV); - array.add(site); + //读取设备缓存信息 + CompletableFuture>> task1 = CompletableFuture.supplyAsync(() -> { + JSONArray baoshijian = (JSONArray) redisUtils.get("baoshijian1"); + JSONArray guhuashi = (JSONArray) redisUtils.get("guhuashi1"); + JSONArray AGV = (JSONArray) redisUtils.get("AGV1"); + JSONArray RGV = (JSONArray) redisUtils.get("RGV1"); + JSONArray site = (JSONArray) redisUtils.get("site1"); + array.add(baoshijian); + array.add(guhuashi); + array.add(AGV); + array.add(RGV); + array.add(site); + return null; + }, pool); + task1.exceptionally((e) -> { + log.error("读取设备缓存信息: {}", e.getMessage(), e); + return null; + }); // 固化室详情 - JSONArray ghsInteriorList = cockpitMapper.getGHSInteriorList(); - JSONObject ghsDetail = new JSONObject(); - ghsDetail.put("ghs_detail", ghsInteriorList); - array.add(ghsDetail); + CompletableFuture task2 = CompletableFuture.supplyAsync(() -> cockpitMapper.getGHSInteriorList(), pool); + task2.thenAccept((result) -> { + JSONObject ghsDetail = new JSONObject(); + ghsDetail.put("ghs_detail", result); + array.add(ghsDetail); + }).exceptionally((e) -> { + log.error("固化室详情{}", e.getMessage(), e); + JSONObject ghsDetail = new JSONObject(); + ghsDetail.put("ghs_detail", null); + array.add(ghsDetail); + return null; + }); // 输送线详情 - JSONArray ssxInteriorList = cockpitMapper.getSSXInteriorList(); - JSONObject ssxDetail = new JSONObject(); - ssxDetail.put("ssx_detail", ssxInteriorList); - array.add(ssxDetail); - // 库位 - JSONArray zcList = cockpitMapper.getZCList(); - JSONObject storage = new JSONObject(); - storage.put("storage", zcList); - array.add(storage); - return array; - } - - public ConcurrentHashMap equipmentInfo1(String deviceCode) { - ConcurrentHashMap map = new ConcurrentHashMap<>(); - CompletableFuture listCompletableFuture = CompletableFuture.supplyAsync(() -> { - JSONArray array = new JSONArray(); - JSONObject jsonObject = new JSONObject(); - jsonObject.put("one", "1"); - jsonObject.put("two", "2"); - array.add(jsonObject); - return array; - }, pool); - listCompletableFuture.thenAccept(result -> { - map.put("DayShiftList", result); + CompletableFuture task3 = CompletableFuture.supplyAsync(() -> cockpitMapper.getSSXInteriorList(), pool); + task3.thenAccept((result) -> { + JSONObject ssxDetail = new JSONObject(); + ssxDetail.put("ssx_detail", result); + array.add(ssxDetail); }).exceptionally((e) -> { - map.put("DayShiftList", null); + log.error("输送线详情{}", e.getMessage(), e); + JSONObject ssxDetail = new JSONObject(); + ssxDetail.put("ssx_detail", ssxDetail); + array.add(ssxDetail); return null; }); - - CompletableFuture listShiftProductionFuture = CompletableFuture.supplyAsync(() -> { - JSONArray array = new JSONArray(); - JSONObject jsonObject = new JSONObject(); - jsonObject.put("one", "3"); - jsonObject.put("two", "4"); - array.add(jsonObject); - jsonObject.put("one", "6"); - jsonObject.put("two", "7"); - array.add(jsonObject); - return array; - }, pool); - listCompletableFuture.thenAccept(result -> { - map.put("DayShiftList", result); + // 库位详情 + CompletableFuture task4 = CompletableFuture.supplyAsync(() -> cockpitMapper.getZCList(), pool); + task4.thenAccept((result) -> { + JSONObject storage = new JSONObject(); + storage.put("storage", result); + array.add(storage); }).exceptionally((e) -> { - map.put("DayShiftList", null); + log.error("库位详情{}", e.getMessage(), e); + JSONObject storage = new JSONObject(); + storage.put("storage", null); + array.add(storage); return null; }); - CompletableFuture listProductionTaskFuture = CompletableFuture.supplyAsync(() -> { - JSONArray array = new JSONArray(); - JSONObject jsonObject = new JSONObject(); - jsonObject.put("one", "1"); - jsonObject.put("two", "2"); - array.add(jsonObject); - return array; - }, pool); - listCompletableFuture.thenAccept(result -> { - map.put("DayShiftList", result); - }).exceptionally((e) -> { - map.put("DayShiftList", null); - return null; - }); - // 提交 - CompletableFuture allQuery = CompletableFuture.allOf(listCompletableFuture, listShiftProductionFuture, listProductionTaskFuture); - CompletableFuture> future = allQuery.thenApply((result) -> map).exceptionally((e) -> { + CompletableFuture allQuery = CompletableFuture.allOf(task1, task2, task3, task4); + CompletableFuture future = allQuery.thenApply((result) -> array).exceptionally((e) -> { + log.error(e.getMessage(), e); return null; }); future.join(); - return map; - } - - /** - * 暂存区库存结构-空库存 - */ - public HomeInfo.ZCStorageInfo getTemporaryStorage() { - HomeInfo.ZCStorageInfo zCStorageInfo = new HomeInfo.ZCStorageInfo(); - zCStorageInfo.setMaterial_info(cockpitMapper.getTemporaryStorage()); - List pointList = pointService.list(new LambdaUpdateWrapper().eq(SchBasePoint::getRegion_code, "ZC").eq(SchBasePoint::getIs_used, 1)); - long freePoint = pointList.stream().filter(r -> "1".equals(r.getPoint_status())).count(); - int pointCount = pointList.size(); - //空库存百分比 - double percentageFree = Math.round(((double) freePoint / (double) pointCount) * 100); - zCStorageInfo.setFreePoint(String.valueOf(freePoint)); - zCStorageInfo.setPointCount(String.valueOf(pointCount)); - zCStorageInfo.setEmpty_stock(String.valueOf(percentageFree)); - return zCStorageInfo; + return array; } @@ -894,150 +926,7 @@ public class CockpitServiceImpl implements CockpitService { } - /** - * 生产任务 - */ - public List getWorkOrders(String type) { - // 获取今天的日期时间范围 - LocalDateTime startOfDay = LocalDateTime.now().withHour(0).withMinute(0).withSecond(0).withNano(0); - LocalDateTime endOfDay = startOfDay.plusDays(1).minusNanos(1); - // 查询今天的工单信息 - List todayWorkOrders = workorderService.list(new LambdaUpdateWrapper() - .eq(PdmBdWorkorder::getIs_delete, 0) - .between(PdmBdWorkorder::getCreate_time, startOfDay, endOfDay) - .and(StringUtils.isNotBlank(type), i -> i.eq(PdmBdWorkorder::getRegion_code, type))); - return ColaBeanUtils.copyListProperties(todayWorkOrders, HomeInfo.TodayWork::new); - } - /** - * 生产目标达成 - */ - public TargetAchievement getWorkOrderList(String regionCode, String type, Integer days) { - TargetAchievement targetAchievement; - targetAchievement = cockpitMapper.getCompletionPercent(regionCode, type, days); - if (targetAchievement != null) { - // 计算完成百分比 - BigDecimal completionPercentage = targetAchievement.getActual_production().divide(targetAchievement.getExpected_production(), 4, RoundingMode.HALF_UP).multiply(new BigDecimal("100")); - int roundedPercentage = completionPercentage.intValue(); - targetAchievement.setPercentage(roundedPercentage); - } else { - targetAchievement = new TargetAchievement(); - } - return targetAchievement; - } - - - /** - * 7天生产统计 - * type:1涂板线,2固化室 - */ - public CommonData.WeekWorkorderStatistics getWeekWorkStatistics(String type) { - // 过滤近5天的数据 - CommonData.WeekWorkorderStatistics weekWorkorderStatistics = new CommonData.WeekWorkorderStatistics(); - List weekWorkorder; - List tbxWorkOrder = new ArrayList<>(); - List ghworkOrders = new ArrayList<>(); - //涂板线和固化室7天统计 - if (RegionCodeConstant.COATED_PLATE_LINE_AREA.equals(type)) { - tbxWorkOrder = cockpitMapper.getWorkOrders(type, 7); - } else if (RegionCodeConstant.CURING_ZONE.equals(type)) { - ghworkOrders = cockpitMapper.getGhActualProduction(7); - } else { - tbxWorkOrder = cockpitMapper.getWorkOrders(RegionCodeConstant.COATED_PLATE_LINE_AREA, 7); - ghworkOrders = cockpitMapper.getGhActualProduction(7); - } - if (tbxWorkOrder.size() > 0 || ghworkOrders.size() > 0) { - weekWorkorder = isWithinLastDayss(tbxWorkOrder, ghworkOrders, 1, type); - weekWorkorderStatistics.setDay1(weekWorkorder); - weekWorkorder = isWithinLastDayss(tbxWorkOrder, ghworkOrders, 2, type); - weekWorkorderStatistics.setDay2(weekWorkorder); - weekWorkorder = isWithinLastDayss(tbxWorkOrder, ghworkOrders, 3, type); - weekWorkorderStatistics.setDay3(weekWorkorder); - weekWorkorder = isWithinLastDayss(tbxWorkOrder, ghworkOrders, 4, type); - weekWorkorderStatistics.setDay4(weekWorkorder); - weekWorkorder = isWithinLastDayss(tbxWorkOrder, ghworkOrders, 5, type); - weekWorkorderStatistics.setDay5(weekWorkorder); - weekWorkorder = isWithinLastDayss(tbxWorkOrder, ghworkOrders, 6, type); - weekWorkorderStatistics.setDay6(weekWorkorder); - weekWorkorder = isWithinLastDayss(tbxWorkOrder, ghworkOrders, 7, type); - weekWorkorderStatistics.setDay7(weekWorkorder); - } - return weekWorkorderStatistics; - } - - - /** - * 7天生产统计-获取每天对应的数值 - * vehicle_type: - */ - private List isWithinLastDayss(List tbxWorkOrder, List ghworkOrders, int days, String type) { - List dayDataList = new ArrayList<>(); - DayData dayData = new DayData(); - tbxWorkOrder = tbxWorkOrder.stream().filter(workOrder -> isThisDays(workOrder, days)).collect(Collectors.toList()); - ghworkOrders = ghworkOrders.stream().filter(workOrder -> isThisDays(workOrder, days)).collect(Collectors.toList()); - if (type.equals(RegionCodeConstant.COATED_PLATE_LINE_AREA)) { - List lt; - List pt; - dayData.setItem_name("连涂计划数"); - lt = tbxWorkOrder.stream().filter(workOrder -> "1".equals(workOrder.getVehicle_type())).collect(Collectors.toList()); - dayData.setItem_qty(calculateTotalPlanQty(lt)); - dayDataList.add(dayData); - dayData = new DayData(); - dayData.setItem_name("连涂完成数"); - dayData.setItem_qty(calculateTotalRealQty(lt)); - dayDataList.add(dayData); - pt = tbxWorkOrder.stream().filter(workOrder -> "2".equals(workOrder.getVehicle_type())).collect(Collectors.toList()); - dayData = new DayData(); - dayData.setItem_name("普涂计划数"); - dayData.setItem_qty(calculateTotalRealQty(pt)); - dayDataList.add(dayData); - dayData = new DayData(); - dayData.setItem_name("普涂完成数"); - dayData.setItem_qty(calculateTotalRealQty(pt)); - dayDataList.add(dayData); - } else if (type.equals(RegionCodeConstant.CURING_ZONE)) { - dayData.setItem_name("固化生产"); - dayData.setItem_qty(calculateTotalRealQty(ghworkOrders)); - dayDataList.add(dayData); - } else { - dayData.setItem_name("连涂生产"); - dayData.setItem_qty(calculateTotalRealQty(tbxWorkOrder)); - dayDataList.add(dayData); - dayData = new DayData(); - dayData.setItem_name("固化生产"); - dayData.setItem_qty(calculateTotalRealQty(ghworkOrders)); - dayDataList.add(dayData); - } - return dayDataList; - } - - - /** - * 7天生产统计-计算计划生产总和 - */ - private String calculateTotalPlanQty(List workOrders) { - BigDecimal result = workOrders.stream().map(TargetAchievement::getExpected_production).reduce(BigDecimal.ZERO, BigDecimal::add); - return result.toString(); - } - - - /** - * 7天生产统计-计算实际生产总和 - */ - private String calculateTotalRealQty(List workOrders) { - BigDecimal result = workOrders.stream().map(TargetAchievement::getActual_production).reduce(BigDecimal.ZERO, BigDecimal::add); - return result.toString(); - } - - /** - * 7天生产统计-过滤某日的工单 - */ - private boolean isThisDays(TargetAchievement workOrder, int days) { - LocalDate createDate = LocalDate.parse(workOrder.getCreate_time(), DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss")); - LocalDate today = LocalDate.now(); - LocalDate daysAgo = today.minusDays(days); - return !createDate.isBefore(daysAgo) && createDate.isBefore(today.plusDays(1)); - } /** @@ -1066,15 +955,4 @@ public class CockpitServiceImpl implements CockpitService { } } - /** - * 定时统计近七天数据 - */ - @Async("taskExecutor") - //@Scheduled(cron = "0/10 * * * * *") - public void executeWeekWorkStatistics() { - - - } - - } diff --git a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/cockpit/service/mapper/CockpitMapper.java b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/cockpit/service/mapper/CockpitMapper.java index d7557c2..1f8f8ba 100644 --- a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/cockpit/service/mapper/CockpitMapper.java +++ b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/cockpit/service/mapper/CockpitMapper.java @@ -1,15 +1,12 @@ package org.nl.wms.cockpit.service.mapper; - import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; import org.apache.ibatis.annotations.Insert; import org.apache.ibatis.annotations.Param; -import org.apache.ibatis.annotations.Select; import org.nl.wms.cockpit.service.dao.DasDeviceFault; import org.nl.wms.cockpit.service.dao.home.DayData; import org.nl.wms.cockpit.service.dao.home.TargetAchievement; import org.nl.wms.cockpit.service.dao.zcq.TaskInfo; - import java.util.List; import java.util.Map; diff --git a/lms/nladmin-system/nlsso-server/src/main/resources/config/application-dev.yml b/lms/nladmin-system/nlsso-server/src/main/resources/config/application-dev.yml index 9948a0a..41f7cc3 100644 --- a/lms/nladmin-system/nlsso-server/src/main/resources/config/application-dev.yml +++ b/lms/nladmin-system/nlsso-server/src/main/resources/config/application-dev.yml @@ -6,10 +6,10 @@ spring: druid: db-type: com.alibaba.druid.pool.DruidDataSource driverClassName: net.sf.log4jdbc.sql.jdbcapi.DriverSpy - url: jdbc:log4jdbc:mysql://${DB_HOST:127.0.0.1}:${DB_PORT:3306}/${DB_NAME:lms}?serverTimezone=Asia/Shanghai&characterEncoding=utf8&useSSL=false&useOldAliasMetadataBehavior=true + url: jdbc:log4jdbc:mysql://${DB_HOST:127.0.0.1}:${DB_PORT:3306}/${DB_NAME:xftn_lms}?serverTimezone=Asia/Shanghai&characterEncoding=utf8&useSSL=false&useOldAliasMetadataBehavior=true # url: jdbc:log4jdbc:mysql://${DB_HOST:47.111.78.178}:${DB_PORT:3306}/${DB_NAME:stand_lms}?serverTimezone=Asia/Shanghai&characterEncoding=utf8&useSSL=false&useOldAliasMetadataBehavior=true username: ${DB_USER:root} - password: ${DB_PWD:123456} + password: ${DB_PWD:123456789} # password: ${DB_PWD:P@ssw0rd} # 初始连接数 initial-size: 5