From f9b273fcb609f43e2fc9aa39b5da13133ffb2694 Mon Sep 17 00:00:00 2001 From: wangwei <1610949092@qq.com> Date: Fri, 10 May 2024 19:26:26 +0800 Subject: [PATCH] =?UTF-8?q?5-10=20=E6=95=B0=E6=8D=AE=E5=90=8C=E6=AD=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../constant/BasicExportStatusTimeEnum.java | 12 + .../api/constant/BasicExportTypeEnum.java | 5 +- .../com/glxp/api/constant/SyncDelType.java | 2 + .../dev/DeviceChangeOrderController.java | 2 + .../controller/dev/DeviceInfoController.java | 2 + .../controller/thrsys/ThrManusController.java | 18 + .../api/dao/dev/DeviceChangeLogMapper.java | 3 +- .../dao/dev/DeviceCheckDetailItemMapper.java | 3 +- .../api/dao/dev/DeviceCheckDetailMapper.java | 3 +- .../glxp/api/dao/dev/DeviceCheckMapper.java | 3 +- .../glxp/api/dao/dev/DeviceInfoMapper.java | 3 +- .../glxp/api/dao/dev/DevicePlanMapper.java | 3 +- .../dev/DeviceRepairApplyDetailMapper.java | 3 +- .../api/dao/dev/DeviceRepairApplyMapper.java | 3 +- .../glxp/api/dao/dev/DeviceRepairMapper.java | 3 +- .../api/dao/thrsys/ThrManufacturerMapper.java | 3 +- .../entity/dev/DeviceCheckDetailEntity.java | 7 + .../dev/DeviceCheckDetailItemEntity.java | 8 +- .../api/entity/dev/DeviceCheckEntity.java | 10 +- .../glxp/api/entity/dev/DeviceInfoEntity.java | 6 + .../dev/DeviceRepairApplyDetailEntity.java | 9 +- .../entity/dev/DeviceRepairApplyEntity.java | 8 +- .../api/entity/dev/DeviceRepairEntity.java | 6 + .../api/entity/system/SyncDataSetEntity.java | 9 + .../glxp/api/http/sync/SpGetHttpClient.java | 7 + .../glxp/api/req/basic/BasicDataRequest.java | 6 + .../req/dev/DeviceRepairApplyAddParam.java | 1 + .../thrsys/FilterBasicProducstRequest.java | 31 ++ .../res/sync/SpsSyncDeviceDataResponse.java | 23 + .../sync/SpsSyncProBusinessDataResponse.java | 17 + .../api/res/system/SyncDataSetResponse.java | 9 + .../api/service/dev/DeviceInfoService.java | 1 + .../impl/DeviceChangeOrderServiceImpl.java | 1 + .../DeviceCheckDetailItemServiceImpl.java | 2 + .../impl/DeviceCheckDetailServiceImpl.java | 3 + .../dev/impl/DeviceCheckServiceImpl.java | 5 + .../dev/impl/DeviceInfoServiceImpl.java | 11 +- .../DeviceRepairApplyDetailServiceImpl.java | 1 + .../impl/DeviceRepairApplyServiceImpl.java | 7 + .../dev/impl/DeviceRepairServiceImpl.java | 1 + .../glxp/api/service/sync/HeartService.java | 433 +++++++++++++++++- .../thrsys/ThrManufacturerService.java | 16 +- .../java/com/glxp/api/task/SyncHeartTask.java | 2 +- .../mybatis/mapper/dev/DeviceInfoMapper.xml | 2 + .../mapper/thrsys/ThrManufacturerMapper.xml | 16 + src/main/resources/schemas/schema_v2.4.sql | 68 +++ 46 files changed, 764 insertions(+), 33 deletions(-) create mode 100644 src/main/java/com/glxp/api/req/thrsys/FilterBasicProducstRequest.java create mode 100644 src/main/java/com/glxp/api/res/sync/SpsSyncDeviceDataResponse.java create mode 100644 src/main/java/com/glxp/api/res/sync/SpsSyncProBusinessDataResponse.java diff --git a/src/main/java/com/glxp/api/constant/BasicExportStatusTimeEnum.java b/src/main/java/com/glxp/api/constant/BasicExportStatusTimeEnum.java index 8e9089e53..cb32c515a 100644 --- a/src/main/java/com/glxp/api/constant/BasicExportStatusTimeEnum.java +++ b/src/main/java/com/glxp/api/constant/BasicExportStatusTimeEnum.java @@ -118,6 +118,18 @@ public enum BasicExportStatusTimeEnum { */ DEVICE_TASK("device_task", "设备任务"), + DEVICE_INFO_DATA("device_info", "设备信息数据"), + + DEV_CHECK_DATA("device_check","巡检管理数据"), + + DEV_CHECK_DETAIL("device_check_detail","巡检设备具体数据"), + + DEV_CHECK_DETAIL_ITEM("device_check_detail_item","巡检设备项目"), + //getDeviceRepairApply + DEV_REPAIR_APPLY("device_repair_apply","报修单数据"), + DEV_REPAIR_APPLY_DETAIL("device_repair_apply_detail","报修单明细数据"), + DEV_REPAIR("device_repair","设备维修单数据"), + PRODUCE_BUSINESS_DATA("thr_manufacturer", "生产企业数据"), ; @EnumValue diff --git a/src/main/java/com/glxp/api/constant/BasicExportTypeEnum.java b/src/main/java/com/glxp/api/constant/BasicExportTypeEnum.java index b1b509760..9ce9e014d 100644 --- a/src/main/java/com/glxp/api/constant/BasicExportTypeEnum.java +++ b/src/main/java/com/glxp/api/constant/BasicExportTypeEnum.java @@ -58,7 +58,10 @@ public enum BasicExportTypeEnum { * 设备任务同步 */ DEVICE_TASK("device_task", "设备任务"), - + DEVICE_INFO_DATA("device_info", "设备信息数据"), + DEVICE_CHECK_DATA("device_check", "巡检管理数据"), + DEVICE_REPAIR_DATA("device_repair_apply", "报修管理数据"), + PRODUCE_BUSINESS_DATA("thr_manufacturer", "生产企业数据"), // // NEW_ALL_ORDER("all_order", "出入库扫码单据"), diff --git a/src/main/java/com/glxp/api/constant/SyncDelType.java b/src/main/java/com/glxp/api/constant/SyncDelType.java index 1f927afa3..80a20fc41 100644 --- a/src/main/java/com/glxp/api/constant/SyncDelType.java +++ b/src/main/java/com/glxp/api/constant/SyncDelType.java @@ -18,4 +18,6 @@ public interface SyncDelType { */ String DEV_TASK = "DEV_TASK"; + String DEVICE_INFO_DATA = "DEVICE_INFO_DATA"; + } diff --git a/src/main/java/com/glxp/api/controller/dev/DeviceChangeOrderController.java b/src/main/java/com/glxp/api/controller/dev/DeviceChangeOrderController.java index 15d33219a..5acd4dc26 100644 --- a/src/main/java/com/glxp/api/controller/dev/DeviceChangeOrderController.java +++ b/src/main/java/com/glxp/api/controller/dev/DeviceChangeOrderController.java @@ -1,6 +1,7 @@ package com.glxp.api.controller.dev; import cn.hutool.core.bean.BeanUtil; +import cn.hutool.core.date.DateTime; import com.github.pagehelper.PageHelper; import com.github.pagehelper.PageInfo; import com.glxp.api.annotation.AuthRuleAnnotation; @@ -93,6 +94,7 @@ public class DeviceChangeOrderController extends BaseController { @AuthRuleAnnotation("") @PostMapping("/udi/device/changeOrder/save") public BaseResponse save(@RequestBody @Valid DeviceChangeOrderParam param) { + param.setCreateTime(new DateTime().toLocalDateTime()); AuthAdmin user = super.getUser(); deviceChangeOrderService.saveOrder(user, param); return ResultVOUtils.successMsg("添加成功"); diff --git a/src/main/java/com/glxp/api/controller/dev/DeviceInfoController.java b/src/main/java/com/glxp/api/controller/dev/DeviceInfoController.java index 5c206de22..dd94b8fca 100644 --- a/src/main/java/com/glxp/api/controller/dev/DeviceInfoController.java +++ b/src/main/java/com/glxp/api/controller/dev/DeviceInfoController.java @@ -51,6 +51,7 @@ import java.awt.image.BufferedImage; import java.io.ByteArrayOutputStream; import java.io.IOException; import java.text.SimpleDateFormat; +import java.time.LocalDateTime; import java.util.*; import java.util.List; @@ -399,6 +400,7 @@ public class DeviceInfoController extends BaseController { @AuthRuleAnnotation("") @PostMapping("/udi/device/info/update") public BaseResponse updateOrderItem(@RequestBody DeviceInfoEntity entity) { + entity.setUpdateTime(LocalDateTime.now()); deviceInfoService.updateOrderItem(entity); return ResultVOUtils.successMsg("保存成功!"); } diff --git a/src/main/java/com/glxp/api/controller/thrsys/ThrManusController.java b/src/main/java/com/glxp/api/controller/thrsys/ThrManusController.java index 8293c56c0..9eb99e055 100644 --- a/src/main/java/com/glxp/api/controller/thrsys/ThrManusController.java +++ b/src/main/java/com/glxp/api/controller/thrsys/ThrManusController.java @@ -11,6 +11,7 @@ import com.glxp.api.entity.thrsys.ThrManufacturerEntity; import com.glxp.api.entity.thrsys.ThrSystemDetailEntity; import com.glxp.api.http.ErpBasicClient; import com.glxp.api.req.system.DeleteRequest; +import com.glxp.api.req.thrsys.FilterBasicProducstRequest; import com.glxp.api.req.thrsys.FilterThrCorpRequest; import com.glxp.api.req.thrsys.ThrManuFilterRequest; import com.glxp.api.req.thrsys.ThrUnitMaintainFilterRequest; @@ -127,6 +128,23 @@ public class ThrManusController { return ResultVOUtils.error(500, "第三方系统往来单位服务接口未启用"); } } + @AuthRuleAnnotation("") + @GetMapping("/udiwms/thrsys/getBasicProducts") + public BaseResponse getProductTypes(FilterBasicProducstRequest basicProducstRequest, + BindingResult bindingResult) { + + if (bindingResult.hasErrors()) { + return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, bindingResult.getFieldError().getDefaultMessage()); + } + List thrManufacturerEntities + = thrManufacturerService.getProductTypes(basicProducstRequest); + PageInfo pageInfo; + pageInfo = new PageInfo(thrManufacturerEntities); + PageSimpleResponse pageSimpleResponse = new PageSimpleResponse<>(); + pageSimpleResponse.setTotal(pageInfo.getTotal()); + pageSimpleResponse.setList(thrManufacturerEntities); + return ResultVOUtils.success(pageSimpleResponse); + } } diff --git a/src/main/java/com/glxp/api/dao/dev/DeviceChangeLogMapper.java b/src/main/java/com/glxp/api/dao/dev/DeviceChangeLogMapper.java index 7e738e67b..64aee7ff8 100644 --- a/src/main/java/com/glxp/api/dao/dev/DeviceChangeLogMapper.java +++ b/src/main/java/com/glxp/api/dao/dev/DeviceChangeLogMapper.java @@ -1,12 +1,13 @@ package com.glxp.api.dao.dev; +import com.glxp.api.dao.BaseMapperPlus; import com.glxp.api.entity.dev.DeviceChangeLogEntity; import com.baomidou.mybatisplus.core.mapper.BaseMapper; /** * 针对表【device_change_log(设备变更日志表)】的数据库操作Mapper */ -public interface DeviceChangeLogMapper extends BaseMapper { +public interface DeviceChangeLogMapper extends BaseMapperPlus { } diff --git a/src/main/java/com/glxp/api/dao/dev/DeviceCheckDetailItemMapper.java b/src/main/java/com/glxp/api/dao/dev/DeviceCheckDetailItemMapper.java index b12067ff1..542d71d20 100644 --- a/src/main/java/com/glxp/api/dao/dev/DeviceCheckDetailItemMapper.java +++ b/src/main/java/com/glxp/api/dao/dev/DeviceCheckDetailItemMapper.java @@ -1,12 +1,13 @@ package com.glxp.api.dao.dev; +import com.glxp.api.dao.BaseMapperPlus; import com.glxp.api.entity.dev.DeviceCheckDetailItemEntity; import com.baomidou.mybatisplus.core.mapper.BaseMapper; /** * 针对表【device_check_detail_item(设备巡检项目)】的数据库操作Mapper */ -public interface DeviceCheckDetailItemMapper extends BaseMapper { +public interface DeviceCheckDetailItemMapper extends BaseMapperPlus { } diff --git a/src/main/java/com/glxp/api/dao/dev/DeviceCheckDetailMapper.java b/src/main/java/com/glxp/api/dao/dev/DeviceCheckDetailMapper.java index 4ded28145..587c5c6db 100644 --- a/src/main/java/com/glxp/api/dao/dev/DeviceCheckDetailMapper.java +++ b/src/main/java/com/glxp/api/dao/dev/DeviceCheckDetailMapper.java @@ -1,12 +1,13 @@ package com.glxp.api.dao.dev; +import com.glxp.api.dao.BaseMapperPlus; import com.glxp.api.entity.dev.DeviceCheckDetailEntity; import com.baomidou.mybatisplus.core.mapper.BaseMapper; /** * 针对表【device_check_detail(巡检任务明细)】的数据库操作Mapper */ -public interface DeviceCheckDetailMapper extends BaseMapper { +public interface DeviceCheckDetailMapper extends BaseMapperPlus { } diff --git a/src/main/java/com/glxp/api/dao/dev/DeviceCheckMapper.java b/src/main/java/com/glxp/api/dao/dev/DeviceCheckMapper.java index aae9a6b79..2bfcb2b60 100644 --- a/src/main/java/com/glxp/api/dao/dev/DeviceCheckMapper.java +++ b/src/main/java/com/glxp/api/dao/dev/DeviceCheckMapper.java @@ -1,5 +1,6 @@ package com.glxp.api.dao.dev; +import com.glxp.api.dao.BaseMapperPlus; import com.glxp.api.entity.dev.DeviceCheckEntity; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.glxp.api.req.dev.DeviceCheckQuery; @@ -12,7 +13,7 @@ import java.util.List; /** * 针对表【device_check(巡检任务表)】的数据库操作Mapper */ -public interface DeviceCheckMapper extends BaseMapper { +public interface DeviceCheckMapper extends BaseMapperPlus { List pageVo(DeviceCheckQuery query); diff --git a/src/main/java/com/glxp/api/dao/dev/DeviceInfoMapper.java b/src/main/java/com/glxp/api/dao/dev/DeviceInfoMapper.java index db306c9dc..a7d8183d9 100644 --- a/src/main/java/com/glxp/api/dao/dev/DeviceInfoMapper.java +++ b/src/main/java/com/glxp/api/dao/dev/DeviceInfoMapper.java @@ -1,5 +1,6 @@ package com.glxp.api.dao.dev; +import com.glxp.api.dao.BaseMapperPlus; import com.glxp.api.entity.dev.DeviceInfoEntity; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.glxp.api.enums.dev.DeviceStatusEnum; @@ -15,7 +16,7 @@ import java.util.Set; /** * 针对表【device_info(设备表)】的数据库操作Mapper */ -public interface DeviceInfoMapper extends BaseMapper { +public interface DeviceInfoMapper extends BaseMapperPlus { List pageVo(@Param("param") DeviceInfoQuery query, @Param("deptCode") String locDeptCode); diff --git a/src/main/java/com/glxp/api/dao/dev/DevicePlanMapper.java b/src/main/java/com/glxp/api/dao/dev/DevicePlanMapper.java index f564c1d3c..ff59e6326 100644 --- a/src/main/java/com/glxp/api/dao/dev/DevicePlanMapper.java +++ b/src/main/java/com/glxp/api/dao/dev/DevicePlanMapper.java @@ -1,5 +1,6 @@ package com.glxp.api.dao.dev; +import com.glxp.api.dao.BaseMapperPlus; import com.glxp.api.entity.dev.DevicePlanEntity; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.glxp.api.req.dev.DevicePlanQuery; @@ -10,7 +11,7 @@ import java.util.List; /** * 针对表【device_plan(设备巡检计划)】的数据库操作Mapper */ -public interface DevicePlanMapper extends BaseMapper { +public interface DevicePlanMapper extends BaseMapperPlus { List pageVo(DevicePlanQuery query); } diff --git a/src/main/java/com/glxp/api/dao/dev/DeviceRepairApplyDetailMapper.java b/src/main/java/com/glxp/api/dao/dev/DeviceRepairApplyDetailMapper.java index ee83b6b31..18c089345 100644 --- a/src/main/java/com/glxp/api/dao/dev/DeviceRepairApplyDetailMapper.java +++ b/src/main/java/com/glxp/api/dao/dev/DeviceRepairApplyDetailMapper.java @@ -1,5 +1,6 @@ package com.glxp.api.dao.dev; +import com.glxp.api.dao.BaseMapperPlus; import com.glxp.api.entity.dev.DeviceRepairApplyDetailEntity; import com.baomidou.mybatisplus.core.mapper.BaseMapper; @@ -9,7 +10,7 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; * @createDate 2023-12-07 17:15:49 * @Entity com.glxp.api.entity.dev.DeviceRepairApplyDetailEntity */ -public interface DeviceRepairApplyDetailMapper extends BaseMapper { +public interface DeviceRepairApplyDetailMapper extends BaseMapperPlus { } diff --git a/src/main/java/com/glxp/api/dao/dev/DeviceRepairApplyMapper.java b/src/main/java/com/glxp/api/dao/dev/DeviceRepairApplyMapper.java index 70b1e417c..d86b7a28a 100644 --- a/src/main/java/com/glxp/api/dao/dev/DeviceRepairApplyMapper.java +++ b/src/main/java/com/glxp/api/dao/dev/DeviceRepairApplyMapper.java @@ -1,5 +1,6 @@ package com.glxp.api.dao.dev; +import com.glxp.api.dao.BaseMapperPlus; import com.glxp.api.entity.dev.DeviceRepairApplyEntity; import com.baomidou.mybatisplus.core.mapper.BaseMapper; @@ -9,7 +10,7 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; * @createDate 2023-12-07 17:15:49 * @Entity com.glxp.api.entity.dev.DeviceRepairApplyEntity */ -public interface DeviceRepairApplyMapper extends BaseMapper { +public interface DeviceRepairApplyMapper extends BaseMapperPlus { } diff --git a/src/main/java/com/glxp/api/dao/dev/DeviceRepairMapper.java b/src/main/java/com/glxp/api/dao/dev/DeviceRepairMapper.java index 356644735..1b49be573 100644 --- a/src/main/java/com/glxp/api/dao/dev/DeviceRepairMapper.java +++ b/src/main/java/com/glxp/api/dao/dev/DeviceRepairMapper.java @@ -1,5 +1,6 @@ package com.glxp.api.dao.dev; +import com.glxp.api.dao.BaseMapperPlus; import com.glxp.api.entity.dev.DeviceRepairEntity; import com.baomidou.mybatisplus.core.mapper.BaseMapper; @@ -9,7 +10,7 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; * @createDate 2023-12-07 17:15:49 * @Entity com.glxp.api.entity.dev.DeviceRepairEntity */ -public interface DeviceRepairMapper extends BaseMapper { +public interface DeviceRepairMapper extends BaseMapperPlus { } diff --git a/src/main/java/com/glxp/api/dao/thrsys/ThrManufacturerMapper.java b/src/main/java/com/glxp/api/dao/thrsys/ThrManufacturerMapper.java index f2c4a832a..8f0bf345f 100644 --- a/src/main/java/com/glxp/api/dao/thrsys/ThrManufacturerMapper.java +++ b/src/main/java/com/glxp/api/dao/thrsys/ThrManufacturerMapper.java @@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.glxp.api.dao.BaseMapperPlus; import com.glxp.api.entity.thrsys.ThrCorpEntity; import com.glxp.api.entity.thrsys.ThrManufacturerEntity; +import com.glxp.api.req.thrsys.FilterBasicProducstRequest; import com.glxp.api.req.thrsys.FilterThrCorpRequest; import com.glxp.api.res.thrsys.ThrCorpsResponse; import org.apache.ibatis.annotations.Mapper; @@ -17,5 +18,5 @@ public interface ThrManufacturerMapper extends BaseMapperPlus filterThrManu(FilterThrCorpRequest filterThrCorpRequest); ThrManufacturerEntity selectByUnitIdAndThirdId(@Param("unitId") String unitId, @Param("thirdId") String thirdId); - + List getProductTypes(FilterBasicProducstRequest basicProducstRequest); } diff --git a/src/main/java/com/glxp/api/entity/dev/DeviceCheckDetailEntity.java b/src/main/java/com/glxp/api/entity/dev/DeviceCheckDetailEntity.java index 66ff6cb13..d8f1abdd6 100644 --- a/src/main/java/com/glxp/api/entity/dev/DeviceCheckDetailEntity.java +++ b/src/main/java/com/glxp/api/entity/dev/DeviceCheckDetailEntity.java @@ -186,4 +186,11 @@ public class DeviceCheckDetailEntity { @TableField(value = "normalFlag") private Boolean normalFlag; + + /** + * 更改时间 + */ + @TableField(value = "updateTime") + private LocalDateTime updateTime; + } diff --git a/src/main/java/com/glxp/api/entity/dev/DeviceCheckDetailItemEntity.java b/src/main/java/com/glxp/api/entity/dev/DeviceCheckDetailItemEntity.java index f3c25c2bf..322d094e0 100644 --- a/src/main/java/com/glxp/api/entity/dev/DeviceCheckDetailItemEntity.java +++ b/src/main/java/com/glxp/api/entity/dev/DeviceCheckDetailItemEntity.java @@ -105,4 +105,10 @@ public class DeviceCheckDetailItemEntity { */ @TableField(value = "checkDeptName") private String checkDeptName; -} \ No newline at end of file + + /** + * 更改时间 + */ + @TableField(value = "updateTime") + private LocalDateTime updateTime; +} diff --git a/src/main/java/com/glxp/api/entity/dev/DeviceCheckEntity.java b/src/main/java/com/glxp/api/entity/dev/DeviceCheckEntity.java index 56147a9e6..e2894c0c1 100644 --- a/src/main/java/com/glxp/api/entity/dev/DeviceCheckEntity.java +++ b/src/main/java/com/glxp/api/entity/dev/DeviceCheckEntity.java @@ -117,7 +117,7 @@ public class DeviceCheckEntity { private LocalDateTime finishTime; /** - * 创建时间 + * 创建时间 updateTime */ @TableField(value = "createTime") private LocalDateTime createTime; @@ -134,4 +134,10 @@ public class DeviceCheckEntity { @TableField(value = "createUserName") private String createUserName; -} \ No newline at end of file + /** + * 更新时间 + */ + @TableField(value = "updateTime") + private LocalDateTime updateTime; + +} diff --git a/src/main/java/com/glxp/api/entity/dev/DeviceInfoEntity.java b/src/main/java/com/glxp/api/entity/dev/DeviceInfoEntity.java index 4a11b132d..b60f2c135 100644 --- a/src/main/java/com/glxp/api/entity/dev/DeviceInfoEntity.java +++ b/src/main/java/com/glxp/api/entity/dev/DeviceInfoEntity.java @@ -582,4 +582,10 @@ public class DeviceInfoEntity implements Serializable { */ @TableField(value = "assetReserveType") private String assetReserveType; + + /** + * 更改日期 + */ + @TableField(value = "updateTime") + private LocalDateTime updateTime; } diff --git a/src/main/java/com/glxp/api/entity/dev/DeviceRepairApplyDetailEntity.java b/src/main/java/com/glxp/api/entity/dev/DeviceRepairApplyDetailEntity.java index 71dd9762d..f82b26c1a 100644 --- a/src/main/java/com/glxp/api/entity/dev/DeviceRepairApplyDetailEntity.java +++ b/src/main/java/com/glxp/api/entity/dev/DeviceRepairApplyDetailEntity.java @@ -201,4 +201,11 @@ public class DeviceRepairApplyDetailEntity { */ @TableField(value = "finishTime") private LocalDateTime finishTime; -} \ No newline at end of file + + + /** + * 完成时间 + */ + @TableField(value = "updateTime") + private LocalDateTime updateTime; +} diff --git a/src/main/java/com/glxp/api/entity/dev/DeviceRepairApplyEntity.java b/src/main/java/com/glxp/api/entity/dev/DeviceRepairApplyEntity.java index 3499aeca5..32242278d 100644 --- a/src/main/java/com/glxp/api/entity/dev/DeviceRepairApplyEntity.java +++ b/src/main/java/com/glxp/api/entity/dev/DeviceRepairApplyEntity.java @@ -123,4 +123,10 @@ public class DeviceRepairApplyEntity { */ @TableField(value = "finishTime") private LocalDateTime finishTime; -} \ No newline at end of file + + /** + * 更新时间 + */ + @TableField(value = "updateTime") + private LocalDateTime updateTime; +} diff --git a/src/main/java/com/glxp/api/entity/dev/DeviceRepairEntity.java b/src/main/java/com/glxp/api/entity/dev/DeviceRepairEntity.java index 462497de7..c5d8e54ff 100644 --- a/src/main/java/com/glxp/api/entity/dev/DeviceRepairEntity.java +++ b/src/main/java/com/glxp/api/entity/dev/DeviceRepairEntity.java @@ -258,4 +258,10 @@ public class DeviceRepairEntity { */ @TableField(value = "repairDescription") private String repairDescription; + + /** + * 更改时间 + */ + @TableField(value = "updateTime") + private LocalDateTime updateTime; } diff --git a/src/main/java/com/glxp/api/entity/system/SyncDataSetEntity.java b/src/main/java/com/glxp/api/entity/system/SyncDataSetEntity.java index 788288bd1..ff14abe90 100644 --- a/src/main/java/com/glxp/api/entity/system/SyncDataSetEntity.java +++ b/src/main/java/com/glxp/api/entity/system/SyncDataSetEntity.java @@ -73,4 +73,13 @@ public class SyncDataSetEntity { */ private int deviceTask; + private int deviceInfo; //设备信息管理 + private int deviceCheck;//巡检管理 + private int deviceCheckDetail;//巡检设备具体信息 + private int deviceCheckDetailItem;//巡检设备项目表 + private int deviceRepairApply;//报修管理 + private int deviceRepairDetail;//报修明细 + private int deviceRepair;//维修单 + private int produceBusiness;//生产企业 PRODUCE_BUSINESS_DATA + } diff --git a/src/main/java/com/glxp/api/http/sync/SpGetHttpClient.java b/src/main/java/com/glxp/api/http/sync/SpGetHttpClient.java index c8cd19e3b..5d7076bd7 100644 --- a/src/main/java/com/glxp/api/http/sync/SpGetHttpClient.java +++ b/src/main/java/com/glxp/api/http/sync/SpGetHttpClient.java @@ -190,6 +190,13 @@ public class SpGetHttpClient { basicDataRequest.setDeleteBasicDataRequest(deleteBasicDataRequest); json = JSONUtil.toJsonStr(basicDataRequest); break; + case SyncDelType.DEVICE_INFO_DATA: + deleteBasicDataRequest.setDataType(basicDataRequest.getKey()); + deleteBasicDataRequest.setParam(JSONUtil.toJsonStr(basicDataRequest.getDeleteDeviceInfoEntity()) + basicDataRequest.getKey()); + deleteBasicDataRequest.setName("设备基础数据删除"); + basicDataRequest.setDeleteBasicDataRequest(deleteBasicDataRequest); + json = JSONUtil.toJsonStr(basicDataRequest); + break; default: break; diff --git a/src/main/java/com/glxp/api/req/basic/BasicDataRequest.java b/src/main/java/com/glxp/api/req/basic/BasicDataRequest.java index f3290405e..3e71b01f7 100644 --- a/src/main/java/com/glxp/api/req/basic/BasicDataRequest.java +++ b/src/main/java/com/glxp/api/req/basic/BasicDataRequest.java @@ -1,5 +1,6 @@ package com.glxp.api.req.basic; +import com.glxp.api.entity.dev.DeviceInfoEntity; import com.glxp.api.entity.dev.DeviceInspectTaskEntity; import com.glxp.api.req.system.DeleteCompanyFileRequest; import com.glxp.api.req.system.DeleteRequest; @@ -24,6 +25,11 @@ public class BasicDataRequest { */ private DeviceInspectTaskEntity deviceInspectTaskEntity; + /** + * 删除设备基础数据参数 + */ + private DeviceInfoEntity deleteDeviceInfoEntity; + private String key; } diff --git a/src/main/java/com/glxp/api/req/dev/DeviceRepairApplyAddParam.java b/src/main/java/com/glxp/api/req/dev/DeviceRepairApplyAddParam.java index 2ed2f7f10..7da4abd2e 100644 --- a/src/main/java/com/glxp/api/req/dev/DeviceRepairApplyAddParam.java +++ b/src/main/java/com/glxp/api/req/dev/DeviceRepairApplyAddParam.java @@ -83,6 +83,7 @@ public class DeviceRepairApplyAddParam { .applyTime(LocalDateTime.now()) .deviceCount(details.size()) .finishCount(0) + .updateTime(LocalDateTime.now()) .build(); } diff --git a/src/main/java/com/glxp/api/req/thrsys/FilterBasicProducstRequest.java b/src/main/java/com/glxp/api/req/thrsys/FilterBasicProducstRequest.java new file mode 100644 index 000000000..31df1f74d --- /dev/null +++ b/src/main/java/com/glxp/api/req/thrsys/FilterBasicProducstRequest.java @@ -0,0 +1,31 @@ +package com.glxp.api.req.thrsys; + +import com.glxp.api.util.page.ListPageRequest; +import lombok.Data; + +/** + * @author : zhangsan + * @date : 2024/5/10 16:09 + * @modyified By : + */ + +@Data +public class FilterBasicProducstRequest extends ListPageRequest { + + /** + * 产品编码 + */ + private String code; + + /** + * 产品名称 + */ + private String name; + + /** + * 第三系统标识 + */ + private String thirdSys; + + private String key; +} diff --git a/src/main/java/com/glxp/api/res/sync/SpsSyncDeviceDataResponse.java b/src/main/java/com/glxp/api/res/sync/SpsSyncDeviceDataResponse.java new file mode 100644 index 000000000..38a5a283a --- /dev/null +++ b/src/main/java/com/glxp/api/res/sync/SpsSyncDeviceDataResponse.java @@ -0,0 +1,23 @@ +package com.glxp.api.res.sync; + +import com.glxp.api.entity.dev.*; +import lombok.Data; + +import java.util.List; + +/** + * @author : zhangsan + * @date : 2024/5/4 21:36 + * @modyified By : + */ + +@Data +public class SpsSyncDeviceDataResponse extends BaseSyncResponse{ + List deviceInfoEntities; + List deviceCheckEntities; + List deviceCheckDetailEntities; + List deviceCheckDetailItemEntities; + List deviceRepairApplyDetailEntities;//报修单明细 + List deviceRepairApplyEntities;//报修单 + List deviceRepairEntities;//维修单 +} diff --git a/src/main/java/com/glxp/api/res/sync/SpsSyncProBusinessDataResponse.java b/src/main/java/com/glxp/api/res/sync/SpsSyncProBusinessDataResponse.java new file mode 100644 index 000000000..9b4b1943c --- /dev/null +++ b/src/main/java/com/glxp/api/res/sync/SpsSyncProBusinessDataResponse.java @@ -0,0 +1,17 @@ +package com.glxp.api.res.sync; + +import com.glxp.api.entity.thrsys.ThrManufacturerEntity; +import lombok.Data; + +import java.util.List; + +/** + * @author : zhangsan + * @date : 2024/5/10 14:15 + * @modyified By : + */ + +@Data +public class SpsSyncProBusinessDataResponse extends BaseSyncResponse{ + List thrManufacturerEntities; +} diff --git a/src/main/java/com/glxp/api/res/system/SyncDataSetResponse.java b/src/main/java/com/glxp/api/res/system/SyncDataSetResponse.java index 4de531c35..2b4064889 100644 --- a/src/main/java/com/glxp/api/res/system/SyncDataSetResponse.java +++ b/src/main/java/com/glxp/api/res/system/SyncDataSetResponse.java @@ -59,4 +59,13 @@ public class SyncDataSetResponse { private int manufacturerCert; private int productCert; private int orderInvoice; //发票信息 + + private int deviceInfo; //设备信息管理 + private int deviceCheck;//巡检管理 + private int deviceCheckDetail;//巡检设备具体信息 + private int deviceCheckDetailItem;//巡检设备项目表 + private int deviceRepairApply;//报修管理 + private int deviceRepairDetail;//报修明细 + private int deviceRepair;//维修单 + } diff --git a/src/main/java/com/glxp/api/service/dev/DeviceInfoService.java b/src/main/java/com/glxp/api/service/dev/DeviceInfoService.java index 2b91f2f87..f6e440107 100644 --- a/src/main/java/com/glxp/api/service/dev/DeviceInfoService.java +++ b/src/main/java/com/glxp/api/service/dev/DeviceInfoService.java @@ -103,4 +103,5 @@ public interface DeviceInfoService extends IService { String genDeviceCode(); boolean updateOrderItem(DeviceInfoEntity entity); + } diff --git a/src/main/java/com/glxp/api/service/dev/impl/DeviceChangeOrderServiceImpl.java b/src/main/java/com/glxp/api/service/dev/impl/DeviceChangeOrderServiceImpl.java index 4dc5e86ad..0a156a121 100644 --- a/src/main/java/com/glxp/api/service/dev/impl/DeviceChangeOrderServiceImpl.java +++ b/src/main/java/com/glxp/api/service/dev/impl/DeviceChangeOrderServiceImpl.java @@ -120,6 +120,7 @@ public class DeviceChangeOrderServiceImpl extends ServiceImpl uw = new UpdateWrapper<>(); uw.eq("deviceCode",entity.getDeviceCode()); return super.update(entity,uw); diff --git a/src/main/java/com/glxp/api/service/dev/impl/DeviceRepairApplyDetailServiceImpl.java b/src/main/java/com/glxp/api/service/dev/impl/DeviceRepairApplyDetailServiceImpl.java index 204783339..effd84678 100644 --- a/src/main/java/com/glxp/api/service/dev/impl/DeviceRepairApplyDetailServiceImpl.java +++ b/src/main/java/com/glxp/api/service/dev/impl/DeviceRepairApplyDetailServiceImpl.java @@ -127,6 +127,7 @@ public class DeviceRepairApplyDetailServiceImpl extends ServiceImpl { deviceInfoService.repairApply(d.getDeviceCode(), d.getDeptCode(), d.getApplyId()); }); + repairApply.setUpdateTime(LocalDateTime.now()); super.save(repairApply); + for (DeviceRepairApplyDetailEntity entity : detailEntityList) { + LocalDateTime now = LocalDateTime.now(); + entity.setUpdateTime(now); + } repairApplyDetailService.saveBatch(detailEntityList); } @@ -116,6 +121,7 @@ public class DeviceRepairApplyServiceImpl extends ServiceImpl x.getDeviceInfoData(info, taskId, now, syncTime)); + } + break; + case DEVICE_CHECK_DATA: + if (needExec(info.getDeviceCheck(),info.getDeviceCheckDetail(),info.getDeviceCheckDetailItem())) { + uploadData(exportType, taskId, x -> x.getDeviceCheckData(info, taskId, now, syncTime)); + } + break; + case DEVICE_REPAIR_DATA: + if (needExec(info.getDeviceRepairApply(),info.getDeviceRepairDetail(),info.getDeviceRepair())) { + uploadData(exportType, taskId, x -> x.getDeviceRepair(info, taskId, now, syncTime)); + } + break; + case PRODUCE_BUSINESS_DATA: + if (needExec(info.getProduceBusiness())) { + uploadData(exportType, taskId, x -> x.getProBusinessData(info, taskId, now, syncTime)); + } break; case DEVICE_TASK: // if (needExec(info.getDeviceTask())) { @@ -1678,16 +1696,20 @@ public class HeartService { Date startTime = new Date(); String data = spGetHttp.pullData(exportType); + log.warn("打印出来{}",data); cn.hutool.json.JSONObject obj = JSONUtil.parseObj(data); Integer code = obj.getInt("code"); if (!code.equals(20000)) { log.error("从UDI自助平台拉取数据错误,报文-----{}", data); + log.error("打印出来{}",exportType); return; } //数据内容 String dataStr = obj.getStr("data"); + log.error("shujv neirong xiwangshi duide bushi cuode {}",dataStr); if (StrUtil.isNotBlank(dataStr)) { RelaySyncDto bean = JSONUtil.toBean(dataStr, RelaySyncDto.class); + log.error("??????????????????{}",bean); switch (exportType) { case BASIC_DATA: this.insertBasicData(bean.getFileContent()); @@ -1698,10 +1720,22 @@ public class HeartService { case DOCUMENT_TYPE_DATA: this.insertDocumentTypeData(bean.getFileContent()); break; - case DEVICE_TASK: this.insertDevTaskData(bean.getFileContent()); break; + case DEVICE_INFO_DATA: + this.insertDeviceInfoData(bean.getFileContent()); + break; + case DEVICE_CHECK_DATA: + this.insertDeviceCheckData(bean.getFileContent()); + break; + //insertDeviceRepairData + case DEVICE_REPAIR_DATA: + this.insertDeviceRepairData(bean.getFileContent()); + break; + case PRODUCE_BUSINESS_DATA: + this.insertProBusinessData(bean.getFileContent()); + break; } String taskId = bean.getTaskId(); if (StrUtil.isNotBlank(taskId)) { @@ -1892,6 +1926,147 @@ public class HeartService { } } + @Resource + DeviceInfoMapper deviceInfoMapper; + /** + * 批量插入设备基础数据 + * insertDeviceInfoData + */ + @Transactional(propagation = Propagation.NESTED) + public void insertDeviceInfoData(String content) { + log.error("这个是什么{}",content); + cn.hutool.json.JSONObject jsonObject = JSONUtil.parseObj(content); + List deviceInfoEntities = JSONUtil.toList(jsonObject.getJSONArray(DeviceInfoEntity.class.getSimpleName()), DeviceInfoEntity.class); + log.error("shebei jichu 数据 到底是什么{}",deviceInfoEntities); + if (CollectionUtil.isNotEmpty(deviceInfoEntities)) { + for (DeviceInfoEntity deviceInfoEntity : deviceInfoEntities) { + deviceInfoEntity.setUpdateTime(null); + } + log.error("hahahhahhahahah woyao fengle{}",deviceInfoEntities); + boolean b = deviceInfoMapper.replaceBatchs(deviceInfoEntities); + if (b == false){ + log.error("差距自己找,头像右上角"); + } + } + List syncFiles = JSONUtil.toList(jsonObject.getJSONArray("syncFiles"), String.class); + if (CollUtil.isNotEmpty(syncFiles)) { + fileService.download(syncFiles); + } + } + + /** + * 批量插入或者更改 巡检管理数据 + * insertDeviceCheckData + */ + + @Resource + DeviceCheckMapper deviceCheckMapper; + + @Resource + DeviceCheckDetailMapper deviceCheckDetailMapper; + + @Resource + DeviceCheckDetailItemMapper deviceCheckDetailItemMapper; + + @Transactional(propagation = Propagation.NESTED) + public void insertDeviceCheckData(String content){ + cn.hutool.json.JSONObject jsonObject = JSONUtil.parseObj(content); + List deviceCheckEntities = JSONUtil.toList(jsonObject.getJSONArray(DeviceCheckEntity.class.getSimpleName()), DeviceCheckEntity.class); + List deviceCheckDetailEntities = JSONUtil.toList(jsonObject.getJSONArray(DeviceCheckDetailEntity.class.getSimpleName()), DeviceCheckDetailEntity.class); + List deviceCheckDetailItemEntities = JSONUtil.toList(jsonObject.getJSONArray(DeviceCheckDetailItemEntity.class.getSimpleName()), DeviceCheckDetailItemEntity.class); + if (CollectionUtil.isNotEmpty(deviceCheckEntities)) { + for (DeviceCheckEntity deviceCheckEntity : deviceCheckEntities) { + deviceCheckEntity.setUpdateTime(null); + } + deviceCheckMapper.replaceBatchs(deviceCheckEntities); + } + if (CollectionUtil.isNotEmpty(deviceCheckDetailEntities)) { + for (DeviceCheckDetailEntity deviceCheckDetailEntity : deviceCheckDetailEntities) { + deviceCheckDetailEntity.setUpdateTime(null); + } + deviceCheckDetailMapper.replaceBatchs(deviceCheckDetailEntities); + } + if (CollectionUtil.isNotEmpty(deviceCheckDetailItemEntities)) { + for (DeviceCheckDetailItemEntity deviceCheckDetailItemEntity : deviceCheckDetailItemEntities) { + deviceCheckDetailItemEntity.setUpdateTime(null); + } + deviceCheckDetailItemMapper.replaceBatchs(deviceCheckDetailItemEntities); + } + + List syncFiles = JSONUtil.toList(jsonObject.getJSONArray("syncFiles"), String.class); + if (CollUtil.isNotEmpty(syncFiles)) { + fileService.download(syncFiles); + } + } + + @Resource + DeviceRepairApplyMapper deviceRepairApplyMapper; + + @Resource + DeviceRepairApplyDetailMapper deviceRepairApplyDetailMapper; + + @Resource + DeviceRepairMapper deviceRepairMapper; + + /** + * 批量 插入 || 更新 报修管理 + * @param content + */ + @Transactional(propagation = Propagation.NESTED) + public void insertDeviceRepairData(String content){ + cn.hutool.json.JSONObject jsonObject = JSONUtil.parseObj(content); + List deviceRepairApplyEntities = JSONUtil.toList(jsonObject.getJSONArray(DeviceRepairApplyEntity.class.getSimpleName()), DeviceRepairApplyEntity.class); + List deviceRepairApplyDetailEntities = JSONUtil.toList(jsonObject.getJSONArray(DeviceRepairApplyDetailEntity.class.getSimpleName()), DeviceRepairApplyDetailEntity.class); + List deviceRepairEntities = JSONUtil.toList(jsonObject.getJSONArray(DeviceRepairEntity.class.getSimpleName()), DeviceRepairEntity.class); + if (CollectionUtil.isNotEmpty(deviceRepairApplyEntities)) { + for (DeviceRepairApplyEntity deviceRepairApplyEntity : deviceRepairApplyEntities) { + deviceRepairApplyEntity.setUpdateTime(null); + } + deviceRepairApplyMapper.replaceBatchs(deviceRepairApplyEntities); + } + if (CollectionUtil.isNotEmpty(deviceRepairApplyDetailEntities)) { + for (DeviceRepairApplyDetailEntity deviceRepairApplyDetailEntity : deviceRepairApplyDetailEntities) { + deviceRepairApplyDetailEntity.setUpdateTime(null); + } + deviceRepairApplyDetailMapper.replaceBatchs(deviceRepairApplyDetailEntities); + } + if (CollectionUtil.isNotEmpty(deviceRepairEntities)) { + for (DeviceRepairEntity deviceRepairEntity : deviceRepairEntities) { + deviceRepairEntity.setUpdateTime(null); + } + deviceRepairMapper.replaceBatchs(deviceRepairEntities); + } + + List syncFiles = JSONUtil.toList(jsonObject.getJSONArray("syncFiles"), String.class); + if (CollUtil.isNotEmpty(syncFiles)) { + fileService.download(syncFiles); + } + } + + + /** + * 批量 || 插入 企业信息 + * insertProBusinessData + */ + @Resource + ThrManufacturerMapper thrManufacturerMapper; + @Transactional(propagation = Propagation.NESTED) + public void insertProBusinessData(String content){ + cn.hutool.json.JSONObject jsonObject = JSONUtil.parseObj(content); + List thrManufacturerEntities = JSONUtil.toList(jsonObject.getJSONArray(ThrManufacturerEntity.class.getSimpleName()), ThrManufacturerEntity.class); + log.error("heiheihieheihi 生产企业信息",thrManufacturerEntities); + if (CollectionUtil.isNotEmpty(thrManufacturerEntities)) { + for (ThrManufacturerEntity deviceRepairApplyEntity : thrManufacturerEntities) { + deviceRepairApplyEntity.setUpdateTime(null); + } + thrManufacturerMapper.replaceBatchs(thrManufacturerEntities); + } + List syncFiles = JSONUtil.toList(jsonObject.getJSONArray("syncFiles"), String.class); + if (CollUtil.isNotEmpty(syncFiles)) { + fileService.download(syncFiles); + } + } + /** * 从UDI自助平台拉取基础数据 */ @@ -2317,4 +2492,244 @@ public class HeartService { basicExportService.updateExportStatus(basicExportStatusEntity1); return ResultVOUtils.success(); } + + + @Resource + DeviceInfoService deviceInfoService; + + @Resource + DeviceChangeOrderService deviceChangeOrderService; + + public SpsSyncDeviceDataResponse getDeviceInfoData(SyncDataSetEntity info, String taskId, Date now, Date syncTime){ + SpsSyncDeviceDataResponse dataResponse = null; + Map syncTimeMap = new WeakHashMap<>(3); + syncTimeMap.put("isNew", true); + boolean ge = false; + if (syncTime != null) { + ge = true; + } + StringBuffer remark = new StringBuffer(); + /** + * 确认设备信息数据开启 + */ + if (needExec(info.getDeviceInfo())) { + Map map = basicExportStatusTimeInfo(now, BasicExportStatusTimeEnum.DEVICE_INFO_DATA); + log.error("map libian de shujv {}",map); + List deptEntityList = deviceInfoService.list(Wrappers.lambdaQuery(DeviceInfoEntity.class) + .le(!ge && (boolean) map.get("isNew"), DeviceInfoEntity::getUpdateTime, now) + .between(ge, DeviceInfoEntity::getUpdateTime, syncTime, now) + .between(!ge && !(boolean) map.get("isNew"), DeviceInfoEntity::getUpdateTime + , map.get("oldDate"), now) + ); + if (CollectionUtil.isNotEmpty(deptEntityList)) { + dataResponse = new SpsSyncDeviceDataResponse(); + dataResponse.setDeviceInfoEntities(deptEntityList); + remark.append("设备基础信息:").append(deptEntityList.size()).append("条\n"); + } + } + + if (dataResponse != null) { + dataResponse.setTaskId(taskId); + dataResponse.setType(BasicExportTypeEnum.DEVICE_INFO_DATA.getRemark()); + dataResponse.setSyncRemark(remark.toString()); + } + log.error("这是第三方数据库的东西 嘿嘿嘿嘿{}",dataResponse); + return dataResponse; + } + + + + @Resource + DeviceCheckService deviceCheckService; + @Resource + DeviceCheckDetailService deviceCheckDetailService; + @Resource + DeviceCheckDetailItemService deviceCheckDetailItemService; + public SpsSyncDeviceDataResponse getDeviceCheckData(SyncDataSetEntity info, String taskId, Date now, Date syncTime){ + SpsSyncDeviceDataResponse dataResponse = null; + Map syncTimeMap = new WeakHashMap<>(3); + syncTimeMap.put("isNew", true); + boolean ge = false; + if (syncTime != null) { + ge = true; + } + StringBuffer remark = new StringBuffer(); + /** + * 确认巡检任务管理开启 + */ + if (needExec(info.getDeviceCheck())) { + Map map = basicExportStatusTimeInfo(now, BasicExportStatusTimeEnum.DEV_CHECK_DATA); + List deviceCheckEntities = deviceCheckService.list(Wrappers.lambdaQuery(DeviceCheckEntity.class) + .le(!ge && (boolean) map.get("isNew"), DeviceCheckEntity::getUpdateTime, now) + .between(ge, DeviceCheckEntity::getUpdateTime, syncTime, now) + .between(!ge && !(boolean) map.get("isNew"), DeviceCheckEntity::getUpdateTime + , map.get("oldDate"), now) + ); + if (CollectionUtil.isNotEmpty(deviceCheckEntities)) { + dataResponse = new SpsSyncDeviceDataResponse(); + dataResponse.setDeviceCheckEntities(deviceCheckEntities); + remark.append("巡检任务信息:").append(deviceCheckEntities.size()).append("条\n"); + } + } + //巡检任务具体数据 deviceCheckDetail + if (needExec(info.getDeviceCheckDetail())) { + Map map = basicExportStatusTimeInfo(now, BasicExportStatusTimeEnum.DEV_CHECK_DETAIL); + List deviceCheckDetailEntities = deviceCheckDetailService.list(Wrappers.lambdaQuery(DeviceCheckDetailEntity.class) + .le(!ge && (boolean) map.get("isNew"), DeviceCheckDetailEntity::getUpdateTime, now) + .between(ge, DeviceCheckDetailEntity::getUpdateTime, syncTime, now) + .between(!ge && !(boolean) map.get("isNew"), DeviceCheckDetailEntity::getUpdateTime + , map.get("oldDate"), now) + ); + if (CollectionUtil.isNotEmpty(deviceCheckDetailEntities)) { + if (dataResponse == null) { + dataResponse = new SpsSyncDeviceDataResponse(); + } + dataResponse.setDeviceCheckDetailEntities(deviceCheckDetailEntities); + remark.append("巡检设备具体信息:").append(deviceCheckDetailEntities.size()).append("条\n"); + } + } + + //巡检设备项目表 + if (needExec(info.getDeviceCheckDetailItem())) { + Map map = basicExportStatusTimeInfo(now, BasicExportStatusTimeEnum.DEV_CHECK_DETAIL_ITEM); + List deviceCheckDetailItemEntities = deviceCheckDetailItemService.list(Wrappers.lambdaQuery(DeviceCheckDetailItemEntity.class) + .le(!ge && (boolean) map.get("isNew"), DeviceCheckDetailItemEntity::getUpdateTime, now) + .between(ge, DeviceCheckDetailItemEntity::getUpdateTime, syncTime, now) + .between(!ge && !(boolean) map.get("isNew"), DeviceCheckDetailItemEntity::getUpdateTime + , map.get("oldDate"), now) + ); + if (CollectionUtil.isNotEmpty(deviceCheckDetailItemEntities)) { + if (dataResponse == null) { + dataResponse = new SpsSyncDeviceDataResponse(); + } + dataResponse.setDeviceCheckDetailItemEntities(deviceCheckDetailItemEntities); + remark.append("巡检设备项目表:").append(deviceCheckDetailItemEntities.size()).append("条\n"); + } + } + + if (dataResponse != null) { + dataResponse.setTaskId(taskId); + dataResponse.setType(BasicExportTypeEnum.DEVICE_CHECK_DATA.getRemark()); + dataResponse.setSyncRemark(remark.toString()); + } + log.error("巡检任务管理的数据,zzhzzhzzh{}",dataResponse); + return dataResponse; + } + + @Resource + DeviceRepairApplyService deviceRepairApplyService; + + @Resource + DeviceRepairApplyDetailService deviceRepairApplyDetailService; + + @Resource + DeviceRepairService deviceRepairService; + // 报修表 + public SpsSyncDeviceDataResponse getDeviceRepair(SyncDataSetEntity info, String taskId, Date now, Date syncTime){ + SpsSyncDeviceDataResponse dataResponse = null; + Map syncTimeMap = new WeakHashMap<>(3); + syncTimeMap.put("isNew", true); + boolean ge = false; + if (syncTime != null) { + ge = true; + } + StringBuffer remark = new StringBuffer(); + //确认同步报修单开启 + if (needExec(info.getDeviceRepairApply())) { + Map map = basicExportStatusTimeInfo(now, BasicExportStatusTimeEnum.DEV_REPAIR_APPLY); + List deviceRepairApplyEntities = deviceRepairApplyService.list(Wrappers.lambdaQuery(DeviceRepairApplyEntity.class) + .le(!ge && (boolean) map.get("isNew"), DeviceRepairApplyEntity::getUpdateTime, now) + .between(ge, DeviceRepairApplyEntity::getUpdateTime, syncTime, now) + .between(!ge && !(boolean) map.get("isNew"), DeviceRepairApplyEntity::getUpdateTime + , map.get("oldDate"), now) + ); + if (CollectionUtil.isNotEmpty(deviceRepairApplyEntities)) { + dataResponse = new SpsSyncDeviceDataResponse(); + dataResponse.setDeviceRepairApplyEntities(deviceRepairApplyEntities); + remark.append("报修单数据:").append(deviceRepairApplyEntities.size()).append("条\n"); + } + } + //确认开启报修单明细同步 + if (needExec(info.getDeviceRepairDetail())) { + Map map = basicExportStatusTimeInfo(now, BasicExportStatusTimeEnum.DEV_REPAIR_APPLY_DETAIL); + List deviceRepairApplyDetailEntities = deviceRepairApplyDetailService.list(Wrappers.lambdaQuery(DeviceRepairApplyDetailEntity.class) + .le(!ge && (boolean) map.get("isNew"), DeviceRepairApplyDetailEntity::getUpdateTime, now) + .between(ge, DeviceRepairApplyDetailEntity::getUpdateTime, syncTime, now) + .between(!ge && !(boolean) map.get("isNew"), DeviceRepairApplyDetailEntity::getUpdateTime + , map.get("oldDate"), now) + ); + if (CollectionUtil.isNotEmpty(deviceRepairApplyDetailEntities)) { + if (dataResponse == null) { + dataResponse = new SpsSyncDeviceDataResponse(); + } + dataResponse.setDeviceRepairApplyDetailEntities(deviceRepairApplyDetailEntities); + remark.append("报修单明细数据:").append(deviceRepairApplyDetailEntities.size()).append("条\n"); + } + } + + //确认开启维修单同步 + if (needExec(info.getDeviceRepair())) { + Map map = basicExportStatusTimeInfo(now, BasicExportStatusTimeEnum.DEV_REPAIR); + List deviceRepairEntities = deviceRepairService.list(Wrappers.lambdaQuery(DeviceRepairEntity.class) + .le(!ge && (boolean) map.get("isNew"), DeviceRepairEntity::getUpdateTime, now) + .between(ge, DeviceRepairEntity::getUpdateTime, syncTime, now) + .between(!ge && !(boolean) map.get("isNew"), DeviceRepairEntity::getUpdateTime + , map.get("oldDate"), now) + ); + if (CollectionUtil.isNotEmpty(deviceRepairEntities)) { + if (dataResponse == null) { + dataResponse = new SpsSyncDeviceDataResponse(); + } + dataResponse.setDeviceRepairEntities(deviceRepairEntities); + remark.append("维修单数据:").append(deviceRepairEntities.size()).append("条\n"); + } + } + if (dataResponse != null) { + dataResponse.setTaskId(taskId); + dataResponse.setType(BasicExportTypeEnum.DEVICE_REPAIR_DATA.getRemark()); + dataResponse.setSyncRemark(remark.toString()); + } + log.error("自主平台服务数据{}",dataResponse); + return dataResponse; + + } + + + @Resource + ThrManufacturerService thrManufacturerService; + //生产企业 + public SpsSyncProBusinessDataResponse getProBusinessData(SyncDataSetEntity info, String taskId, Date now, Date syncTime){ + SpsSyncProBusinessDataResponse dataResponse = null; + Map syncTimeMap = new WeakHashMap<>(3); + syncTimeMap.put("isNew", true); + boolean ge = false; + if (syncTime != null) { + ge = true; + } + StringBuffer remark = new StringBuffer(); + //确认同步报修单开启 + if (needExec(info.getProduceBusiness())) { + Map map = basicExportStatusTimeInfo(now, BasicExportStatusTimeEnum.PRODUCE_BUSINESS_DATA); + List thrManufacturerEntities = thrManufacturerService.list(Wrappers.lambdaQuery(ThrManufacturerEntity.class) + .le(!ge && (boolean) map.get("isNew"), ThrManufacturerEntity::getUpdateTime, now) + .between(ge, ThrManufacturerEntity::getUpdateTime, syncTime, now) + .between(!ge && !(boolean) map.get("isNew"), ThrManufacturerEntity::getUpdateTime + , map.get("oldDate"), now) + ); + if (CollectionUtil.isNotEmpty(thrManufacturerEntities)) { + dataResponse = new SpsSyncProBusinessDataResponse(); + dataResponse.setThrManufacturerEntities(thrManufacturerEntities); + remark.append("企业信息数据:").append(thrManufacturerEntities.size()).append("条\n"); + } + } + + if (dataResponse != null) { + dataResponse.setTaskId(taskId); + dataResponse.setType(BasicExportTypeEnum.PRODUCE_BUSINESS_DATA.getRemark()); + dataResponse.setSyncRemark(remark.toString()); + } + log.error("自主平台服务数据{}",dataResponse); + return dataResponse; + + } } diff --git a/src/main/java/com/glxp/api/service/thrsys/ThrManufacturerService.java b/src/main/java/com/glxp/api/service/thrsys/ThrManufacturerService.java index 648b2dc95..603c32ce0 100644 --- a/src/main/java/com/glxp/api/service/thrsys/ThrManufacturerService.java +++ b/src/main/java/com/glxp/api/service/thrsys/ThrManufacturerService.java @@ -10,10 +10,7 @@ import com.glxp.api.constant.Constant; import com.glxp.api.dao.thrsys.ThrCorpDao; import com.glxp.api.entity.thrsys.*; import com.glxp.api.http.ErpBasicClient; -import com.glxp.api.req.thrsys.FilterThrCorpImportLogRequest; -import com.glxp.api.req.thrsys.FilterThrCorpRequest; -import com.glxp.api.req.thrsys.ThrManuFilterRequest; -import com.glxp.api.req.thrsys.ThrUnitMaintainFilterRequest; +import com.glxp.api.req.thrsys.*; import com.glxp.api.res.PageSimpleResponse; import com.glxp.api.res.thrsys.ThrCorpsResponse; import com.glxp.api.util.CustomUtil; @@ -149,5 +146,16 @@ public class ThrManufacturerService extends ServiceImpl getProductTypes(FilterBasicProducstRequest basicProducstRequest) { + if (basicProducstRequest == null) { + return Collections.emptyList(); + } + if (basicProducstRequest.getPage() != null) { + int offset = (basicProducstRequest.getPage() - 1) * basicProducstRequest.getLimit(); + PageHelper.offsetPage(offset, basicProducstRequest.getLimit()); + } + List data = thrManufacturerMapper.getProductTypes(basicProducstRequest); + return data; + } } diff --git a/src/main/java/com/glxp/api/task/SyncHeartTask.java b/src/main/java/com/glxp/api/task/SyncHeartTask.java index 78cb299df..736423d74 100644 --- a/src/main/java/com/glxp/api/task/SyncHeartTask.java +++ b/src/main/java/com/glxp/api/task/SyncHeartTask.java @@ -61,7 +61,7 @@ public class SyncHeartTask implements SchedulingConfigurer { return; } //定时下载上游最近更新数据轮询时间 - long timeInterval = syncDataSetEntity.getSyncDownloadTime() * 6 * 1000; + long timeInterval = syncDataSetEntity.getSyncDownloadTime() * 6 * 100; long curTime = System.currentTimeMillis(); Long lastTime = (Long) redisUtil.get("SPS_SYNC_DOWNLOAD_DATA"); if (lastTime == null) { diff --git a/src/main/resources/mybatis/mapper/dev/DeviceInfoMapper.xml b/src/main/resources/mybatis/mapper/dev/DeviceInfoMapper.xml index a488af12c..513223ecd 100644 --- a/src/main/resources/mybatis/mapper/dev/DeviceInfoMapper.xml +++ b/src/main/resources/mybatis/mapper/dev/DeviceInfoMapper.xml @@ -94,6 +94,8 @@ order by info.deviceCode + + + + + diff --git a/src/main/resources/schemas/schema_v2.4.sql b/src/main/resources/schemas/schema_v2.4.sql index e60967548..f5aa165de 100644 --- a/src/main/resources/schemas/schema_v2.4.sql +++ b/src/main/resources/schemas/schema_v2.4.sql @@ -2492,6 +2492,74 @@ SET `menu_name` = '本科室设备', `parent_id` = 1703, `order_num` = 4, `path` `create_by` = '超级用户', `create_time` = '2023-11-22 16:16:48', `update_by` = NULL, `update_time` = NULL, `remark` = NULL WHERE `menu_id` = 2021; +CALL Pro_Temp_ColumnWork('device_info', 'updateTime', + ' datetime NULL DEFAULT NULL COMMENT ''更新时间''', + 1); + +CALL Pro_Temp_ColumnWork('device_check', 'updateTime', + ' datetime NULL DEFAULT NULL COMMENT ''更新时间''', + 1); + + +CALL Pro_Temp_ColumnWork('device_check_detail', 'updateTime', + ' datetime NULL DEFAULT NULL COMMENT ''更新时间''', + 1); + + +CALL Pro_Temp_ColumnWork('device_check_detail_item', 'updateTime', + ' datetime NULL DEFAULT NULL COMMENT ''更新时间''', + 1); + +CALL Pro_Temp_ColumnWork('device_repair', 'updateTime', + ' datetime NULL DEFAULT NULL COMMENT ''更新时间''', + 1); + +CALL Pro_Temp_ColumnWork('device_repair_apply', 'updateTime', + ' datetime NULL DEFAULT NULL COMMENT ''更新时间''', + 1); + +CALL Pro_Temp_ColumnWork('device_repair_apply_detail', 'updateTime', + ' datetime NULL DEFAULT NULL COMMENT ''更新时间''', + 1); + + +CALL Pro_Temp_ColumnWork('sync_data_set', 'deviceInfo', + ' tinyint NULL DEFAULT NULL COMMENT ''设备管理数据-设备信息管理''', + 1); + +CALL Pro_Temp_ColumnWork('sync_data_set', 'deviceCheck', + ' tinyint NULL DEFAULT NULL COMMENT ''设备管理数据-巡检管理''', + 1); + + +CALL Pro_Temp_ColumnWork('sync_data_set', 'deviceCheckDetail', + ' tinyint NULL DEFAULT NULL COMMENT ''巡检设备具体数据''', + 1); + +CALL Pro_Temp_ColumnWork('sync_data_set', 'deviceCheckDetailItem', + ' tinyint NULL DEFAULT NULL COMMENT ''巡检设备项目''', + 1); + +CALL Pro_Temp_ColumnWork('sync_data_set', 'deviceRepairApply', + ' tinyint NULL DEFAULT NULL COMMENT ''报修单数据''', + 1); + +CALL Pro_Temp_ColumnWork('sync_data_set', 'deviceRepairDetail', + ' tinyint NULL DEFAULT NULL COMMENT ''报修单明细''', + 1); + +CALL Pro_Temp_ColumnWork('sync_data_set', 'deviceRepair', + ' tinyint NULL DEFAULT NULL COMMENT ''维修单''', + 1); + + + + + CALL Pro_Temp_ColumnWork('device_repair', 'repairDescription', ' varchar(1024) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT''维修内容''', 1); + +CALL Pro_Temp_ColumnWork('sync_data_set', 'produceBusiness', + ' tinyint NULL DEFAULT NULL COMMENT ''生产企业信息''', + 1);