From 54f9289737e1a65e8c005ad602ae014b034da93f Mon Sep 17 00:00:00 2001 From: wangwei <1610949092@qq.com> Date: Fri, 10 May 2024 19:02:54 +0800 Subject: [PATCH] =?UTF-8?q?5-10=20=E6=95=B0=E6=8D=AE=E5=90=8C=E6=AD=A5=20?= =?UTF-8?q?=E6=9B=B4=E6=94=B9=20=E8=AE=BE=E5=A4=87=E7=AE=A1=E7=90=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../glxp/api/common/util/ResultVOUtils.java | 39 ++ .../constant/BasicExportStatusTimeEnum.java | 14 + .../api/constant/BasicExportTypeEnum.java | 10 + .../com/glxp/api/constant/SocketMsgType.java | 2 + .../com/glxp/api/constant/SyncDelType.java | 2 + .../sync/SpsSyncDownloadController.java | 105 +++- .../api/controller/sync/SpsSyncWebSocket.java | 3 +- .../controller/sync/SyncDelController.java | 17 + .../glxp/api/dao/basic/BasicProductsDao.java | 3 + .../api/entity/basic/UdiProductEntity.java | 1 + .../api/entity/sync/SyncDataSetEntity.java | 5 + .../com/glxp/api/exception/JsonException.java | 5 + .../com/glxp/api/http/ErpBasicClient.java | 30 +- .../glxp/api/req/basic/BasicDataRequest.java | 4 +- .../res/sync/SpsSyncDeviceTaskResponse.java | 13 +- .../api/res/system/SyncDataSetResponse.java | 9 + .../service/sync/SpsSyncDownloadService.java | 354 ++++++++++++- src/main/resources/application-dev.yml | 4 +- src/main/resources/schemas/schema_v2.4.sql | 468 ++++++++++++++++++ 19 files changed, 1072 insertions(+), 16 deletions(-) create mode 100644 src/main/resources/schemas/schema_v2.4.sql diff --git a/src/main/java/com/glxp/api/common/util/ResultVOUtils.java b/src/main/java/com/glxp/api/common/util/ResultVOUtils.java index 106c5da6..16fb1682 100644 --- a/src/main/java/com/glxp/api/common/util/ResultVOUtils.java +++ b/src/main/java/com/glxp/api/common/util/ResultVOUtils.java @@ -37,6 +37,34 @@ public class ResultVOUtils { return success(data); } + /** + * 成功时返回 + * + * @param data 返回的data对象 + * @return {@link BaseResponse} + */ + public static BaseResponse success(String msg, Object data) { + BaseResponse baseResponse = new BaseResponse<>(); + baseResponse.setCode(ResultEnum.SUCCESS.getCode()); + baseResponse.setMessage(msg); + baseResponse.setData(data); + return baseResponse; + } + + /** + * 成功时返回 + * + * @return {@link BaseResponse} + */ + public static BaseResponse successMsg(String message) { + BaseResponse baseResponse = new BaseResponse<>(); + baseResponse.setCode(ResultEnum.SUCCESS.getCode()); + baseResponse.setMessage(message); + Map data = new HashMap(); + baseResponse.setData(data); + return baseResponse; + } + /** * 错误时返回 * @@ -74,6 +102,17 @@ public class ResultVOUtils { return error(resultEnum.getCode(), message); } + /** + * 错误时返回 + * + * @param message 错误的信息 + * @return {@link BaseResponse} + */ + public static BaseResponse error(String message) { + return error(ResultEnum.NOT_NETWORK.getCode(), message); + } + + /** * 根据PageHelper分页对象,直接返回分页结果 * diff --git a/src/main/java/com/glxp/api/constant/BasicExportStatusTimeEnum.java b/src/main/java/com/glxp/api/constant/BasicExportStatusTimeEnum.java index 794d0d00..4fcfe99f 100644 --- a/src/main/java/com/glxp/api/constant/BasicExportStatusTimeEnum.java +++ b/src/main/java/com/glxp/api/constant/BasicExportStatusTimeEnum.java @@ -127,6 +127,20 @@ 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 private String key; diff --git a/src/main/java/com/glxp/api/constant/BasicExportTypeEnum.java b/src/main/java/com/glxp/api/constant/BasicExportTypeEnum.java index 7f1a5195..1e82b46e 100644 --- a/src/main/java/com/glxp/api/constant/BasicExportTypeEnum.java +++ b/src/main/java/com/glxp/api/constant/BasicExportTypeEnum.java @@ -62,6 +62,16 @@ 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", "生产企业数据"), + ; @EnumValue private String key; diff --git a/src/main/java/com/glxp/api/constant/SocketMsgType.java b/src/main/java/com/glxp/api/constant/SocketMsgType.java index 09f45dde..df133910 100644 --- a/src/main/java/com/glxp/api/constant/SocketMsgType.java +++ b/src/main/java/com/glxp/api/constant/SocketMsgType.java @@ -21,4 +21,6 @@ public interface SocketMsgType { String BASIC_BUSINESS_TYPE_DELETE = "BASIC_BUSINESS_TYPE_DELETE"; //单据类型 + + } diff --git a/src/main/java/com/glxp/api/constant/SyncDelType.java b/src/main/java/com/glxp/api/constant/SyncDelType.java index 1f927afa..80a20fc4 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/sync/SpsSyncDownloadController.java b/src/main/java/com/glxp/api/controller/sync/SpsSyncDownloadController.java index eac3d669..90d0e4ed 100644 --- a/src/main/java/com/glxp/api/controller/sync/SpsSyncDownloadController.java +++ b/src/main/java/com/glxp/api/controller/sync/SpsSyncDownloadController.java @@ -17,15 +17,16 @@ import com.glxp.api.constant.*; import com.glxp.api.constant.Constant; import com.glxp.api.dao.auth.*; import com.glxp.api.dao.basic.*; +import com.glxp.api.dao.dev.*; import com.glxp.api.dao.inout.*; -import com.glxp.api.dao.inv.DeviceInspectTaskDetailMapper; -import com.glxp.api.dao.inv.DeviceInspectTaskMapper; +import com.glxp.api.dao.inv.*; import com.glxp.api.dao.purchase.*; import com.glxp.api.dao.schedule.SystemParamConfigDao; import com.glxp.api.dao.system.*; import com.glxp.api.dao.thrsys.*; import com.glxp.api.entity.auth.*; import com.glxp.api.entity.basic.*; +import com.glxp.api.entity.dev.*; import com.glxp.api.entity.inout.*; import com.glxp.api.entity.inv.DeviceInspectTaskEntity; import com.glxp.api.entity.purchase.*; @@ -42,8 +43,6 @@ import com.glxp.api.service.basic.IBasicBussinessTypeService; import com.glxp.api.service.inout.IoAddInoutService; import com.glxp.api.service.inout.IoCheckInoutService; import com.glxp.api.service.inout.IoOrderService; -import com.glxp.api.service.inv.DeviceInspectTaskDetailService; -import com.glxp.api.service.inv.DeviceInspectTaskService; import com.glxp.api.service.purchase.PurOrderDetailService; import com.glxp.api.service.purchase.PurOrderService; import com.glxp.api.service.sync.BasicDownloadService; @@ -59,6 +58,7 @@ import org.apache.ibatis.session.ExecutorType; import org.apache.ibatis.session.SqlSession; import org.apache.ibatis.session.SqlSessionFactory; import org.apache.ibatis.session.TransactionIsolationLevel; +import org.apache.poi.ss.formula.functions.T; import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Value; import org.springframework.transaction.annotation.Transactional; @@ -72,8 +72,13 @@ import javax.servlet.ServletOutputStream; import javax.servlet.http.HttpServletResponse; import javax.validation.Valid; import java.io.*; +import java.lang.reflect.InvocationTargetException; +import java.lang.reflect.Method; import java.net.URLEncoder; import java.nio.charset.StandardCharsets; +import java.time.LocalDateTime; +import java.time.ZoneId; +import java.util.ArrayList; import java.util.Date; import java.util.List; @@ -379,6 +384,18 @@ public class SpsSyncDownloadController { case DEVICE_TASK: saveUploadDevTask(JSONUtil.toBean(obj, SpsSyncDeviceTaskResponse.class)); break; + case DEVICE_INFO_DATA: + saveUploadDevTaskInfo(JSONUtil.toBean(obj, SpsSyncDeviceTaskResponse.class)); + break; + case DEVICE_CHECK_DATA: + saveUploadDevTaskInfo(JSONUtil.toBean(obj, SpsSyncDeviceTaskResponse.class)); + break; + case DEVICE_REPAIR_DATA: + saveUploadDevTaskInfo(JSONUtil.toBean(obj, SpsSyncDeviceTaskResponse.class)); + break; + case PRODUCE_BUSINESS_DATA: + saveUploadProBusinessData(JSONUtil.toBean(obj, SpsSyncProBusinessDataResponse.class)); + break; } String taskId = obj.getStr("taskId"); BasicDownloadStatusEntity downloadStatus = BasicDownloadStatusEntity.builder() @@ -635,6 +652,86 @@ public class SpsSyncDownloadController { } } + @Resource + DeviceInfoMapper deviceInfoMapper; + @Resource + DeviceCheckMapper deviceCheckMapper; + @Resource + DeviceCheckDetailMapper deviceCheckDetailMapper; + @Resource + DeviceCheckDetailItemMapper deviceCheckDetailItemMapper; + @Resource + DeviceRepairApplyMapper deviceRepairApplyMapper; + + @Resource + DeviceRepairApplyDetailMapper deviceRepairApplyDetailMapper; + + @Resource + DeviceRepairMapper deviceRepairMapper; + + + // 报修表 + private void saveUploadDevTaskInfo(SpsSyncDeviceTaskResponse bean) { + if (CollectionUtil.isNotEmpty(bean.getDeviceInfoEntities())) { + for (DeviceInfoEntity entity : bean.getDeviceInfoEntities()) { + entity.setUpdateTime(null); + } + boolean b = deviceInfoMapper.replaceBatchs(bean.getDeviceInfoEntities()); + } + + if (CollectionUtil.isNotEmpty(bean.getDeviceCheckEntities())) { + for (DeviceCheckEntity entity : bean.getDeviceCheckEntities()) { + entity.setUpdateTime(null); + } + boolean b = deviceCheckMapper.replaceBatchs(bean.getDeviceCheckEntities()); + } + if (CollectionUtil.isNotEmpty(bean.getDeviceCheckDetailEntities())) { + for (DeviceCheckDetailEntity entity : bean.getDeviceCheckDetailEntities()) { + entity.setUpdateTime(null); + } + boolean b = deviceCheckDetailMapper.replaceBatchs(bean.getDeviceCheckDetailEntities()); + } + + if (CollectionUtil.isNotEmpty(bean.getDeviceCheckDetailItemEntities())) { + for (DeviceCheckDetailItemEntity entity : bean.getDeviceCheckDetailItemEntities()) { + entity.setUpdateTime(null); + } + boolean b = deviceCheckDetailItemMapper.replaceBatchs(bean.getDeviceCheckDetailItemEntities()); + } + + if (CollectionUtil.isNotEmpty(bean.getDeviceRepairApplyEntities())) { + for (DeviceRepairApplyEntity entity : bean.getDeviceRepairApplyEntities()) { + entity.setUpdateTime(null); + } + boolean b = deviceRepairApplyMapper.replaceBatchs(bean.getDeviceRepairApplyEntities()); + } + + if (CollectionUtil.isNotEmpty(bean.getDeviceRepairApplyDetailEntities())) { + for (DeviceRepairApplyDetailEntity entity : bean.getDeviceRepairApplyDetailEntities()) { + entity.setUpdateTime(null); + } + boolean b = deviceRepairApplyDetailMapper.replaceBatchs(bean.getDeviceRepairApplyDetailEntities()); + } + + if (CollectionUtil.isNotEmpty(bean.getDeviceRepairEntities())) { + for (DeviceRepairEntity entity : bean.getDeviceRepairEntities()) { + entity.setUpdateTime(null); + } + boolean b = deviceRepairMapper.replaceBatchs(bean.getDeviceRepairEntities()); + } + } + + + @Resource + ThrManufacturerMapper thrManufacturerMapper; + private void saveUploadProBusinessData(SpsSyncProBusinessDataResponse bean) { + if (CollectionUtil.isNotEmpty(bean.getThrManufacturerEntities())) { + for (ThrManufacturerEntity entity : bean.getThrManufacturerEntities()) { + entity.setUpdateTime(null); + } + boolean b = thrManufacturerMapper.replaceBatchs(bean.getThrManufacturerEntities()); + } + } @Resource IoOrderDao orderDao; @Resource diff --git a/src/main/java/com/glxp/api/controller/sync/SpsSyncWebSocket.java b/src/main/java/com/glxp/api/controller/sync/SpsSyncWebSocket.java index 8be8e6ab..9f9c7ae1 100644 --- a/src/main/java/com/glxp/api/controller/sync/SpsSyncWebSocket.java +++ b/src/main/java/com/glxp/api/controller/sync/SpsSyncWebSocket.java @@ -11,6 +11,7 @@ import com.glxp.api.service.sync.SyncEditLogService; import com.glxp.api.service.sync.SyncEditTypeService; import com.glxp.api.util.JsonUtils; import lombok.extern.slf4j.Slf4j; +import org.jetbrains.annotations.NotNull; import org.springframework.beans.factory.annotation.Value; import org.springframework.stereotype.Component; @@ -121,7 +122,7 @@ public class SpsSyncWebSocket { } } - public BasicDataRequest insert(BasicDataRequest basicDataRequest, String userId) { + public BasicDataRequest insert(@NotNull BasicDataRequest basicDataRequest, String userId) { //日志参数类 DeleteBasicDataRequest deleteBasicDataRequest = new DeleteBasicDataRequest(); deleteBasicDataRequest.setRecordCode("DL" + new SimpleDateFormat("yyyyMMddHHmmssSSSS").format(System.currentTimeMillis())); diff --git a/src/main/java/com/glxp/api/controller/sync/SyncDelController.java b/src/main/java/com/glxp/api/controller/sync/SyncDelController.java index cbc96479..414dccad 100644 --- a/src/main/java/com/glxp/api/controller/sync/SyncDelController.java +++ b/src/main/java/com/glxp/api/controller/sync/SyncDelController.java @@ -8,9 +8,11 @@ import com.glxp.api.common.res.BaseResponse; import com.glxp.api.common.util.ResultVOUtils; import com.glxp.api.constant.SyncDelType; import com.glxp.api.controller.BaseController; +import com.glxp.api.dao.dev.DeviceInfoMapper; import com.glxp.api.entity.basic.BasicBussinessTypeEntity; import com.glxp.api.entity.basic.BasicCorpEntity; import com.glxp.api.entity.basic.UdiRelevanceEntity; +import com.glxp.api.entity.dev.DeviceInfoEntity; import com.glxp.api.entity.inv.DeviceInspectTaskDetailEntity; import com.glxp.api.entity.inv.DeviceInspectTaskEntity; import com.glxp.api.entity.sync.SyncEditLogEntity; @@ -109,6 +111,14 @@ public class SyncDelController extends BaseController { //插入操作数据类型记录表 insertType(basicDataRequest.getDeleteBasicDataRequest()); break; + case SyncDelType.DEVICE_INFO_DATA: + + baseResponse = deleteDevInfoData(basicDataRequest.getDeleteDeviceInfoEntity()); + //插入日志 + insertLog(basicDataRequest.getDeleteBasicDataRequest(), baseResponse); + //插入操作数据类型记录表 + insertType(basicDataRequest.getDeleteBasicDataRequest()); + break; default: break; } @@ -218,4 +228,11 @@ public class SyncDelController extends BaseController { return ResultVOUtils.success("删除成功"); } + @Resource + DeviceInfoMapper deviceInfoMapper; + public BaseResponse deleteDevInfoData(DeviceInfoEntity deviceInfoEntity) { + deviceInfoMapper.delete(new QueryWrapper().eq("deviceCode",deviceInfoEntity.getDeviceCode())); + return ResultVOUtils.success("删除成功"); + } + } diff --git a/src/main/java/com/glxp/api/dao/basic/BasicProductsDao.java b/src/main/java/com/glxp/api/dao/basic/BasicProductsDao.java index bd239e83..545b610b 100644 --- a/src/main/java/com/glxp/api/dao/basic/BasicProductsDao.java +++ b/src/main/java/com/glxp/api/dao/basic/BasicProductsDao.java @@ -5,7 +5,10 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.glxp.api.dao.BaseMapperPlus; import com.glxp.api.entity.basic.BasicProductSetEntity; import com.glxp.api.entity.basic.BasicProductsEntity; +import com.glxp.api.entity.thrsys.ThrProductTypeEntity; import com.glxp.api.req.basic.FilterBasicProductSetrequest; +import com.glxp.api.req.thrsys.FilterBasicProducstRequest; +import com.glxp.api.req.thrsys.FilterThrProductTypeRequest; import org.apache.ibatis.annotations.Mapper; import java.util.List; diff --git a/src/main/java/com/glxp/api/entity/basic/UdiProductEntity.java b/src/main/java/com/glxp/api/entity/basic/UdiProductEntity.java index 6cd92532..2c3f5999 100644 --- a/src/main/java/com/glxp/api/entity/basic/UdiProductEntity.java +++ b/src/main/java/com/glxp/api/entity/basic/UdiProductEntity.java @@ -41,6 +41,7 @@ public class UdiProductEntity { private String ybbm; private String sptm; private String manufactory; + private String manufactoryCode; private String measname; private Integer productType; private String scbssfbhph; diff --git a/src/main/java/com/glxp/api/entity/sync/SyncDataSetEntity.java b/src/main/java/com/glxp/api/entity/sync/SyncDataSetEntity.java index 8dd7161a..a0b72b66 100644 --- a/src/main/java/com/glxp/api/entity/sync/SyncDataSetEntity.java +++ b/src/main/java/com/glxp/api/entity/sync/SyncDataSetEntity.java @@ -69,6 +69,11 @@ public class SyncDataSetEntity { private int productCert; private int orderInvoice; //发票信息 + private int deviceInfo; //设备信息管理 + private int deviceCheck;//巡检管理 + private int deviceRepairApply;//报修管理 + private int produceBusiness;//生产企业 PRODUCE_BUSINESS_DATA + } diff --git a/src/main/java/com/glxp/api/exception/JsonException.java b/src/main/java/com/glxp/api/exception/JsonException.java index 7da45f74..4161b58d 100644 --- a/src/main/java/com/glxp/api/exception/JsonException.java +++ b/src/main/java/com/glxp/api/exception/JsonException.java @@ -25,4 +25,9 @@ public class JsonException extends RuntimeException{ super(message); this.code = code; } + public JsonException(String message) { + super(message); + this.code = ResultEnum.NOT_NETWORK.getCode(); + } + } diff --git a/src/main/java/com/glxp/api/http/ErpBasicClient.java b/src/main/java/com/glxp/api/http/ErpBasicClient.java index 69cb2705..7a8b8944 100644 --- a/src/main/java/com/glxp/api/http/ErpBasicClient.java +++ b/src/main/java/com/glxp/api/http/ErpBasicClient.java @@ -6,15 +6,13 @@ import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.TypeReference; import com.glxp.api.common.res.BaseResponse; import com.glxp.api.common.util.ResultVOUtils; +import com.glxp.api.entity.thrsys.ThrManufacturerEntity; import com.glxp.api.entity.thrsys.ThrSystemBusApiEntity; import com.glxp.api.entity.thrsys.ThrSystemEntity; import com.glxp.api.http.req.UdiwmsBusTypeRequest; import com.glxp.api.http.req.UdiwmsUnitRequest; import com.glxp.api.req.basic.YbHcflDetailFilterRequest; -import com.glxp.api.req.thrsys.FilterBasicThirdSysDetailRequest; -import com.glxp.api.req.thrsys.FilterThrProductsRequest; -import com.glxp.api.req.thrsys.ThrUnitMaintainFilterRequest; -import com.glxp.api.req.thrsys.UdiwmsWarehouseRequest; +import com.glxp.api.req.thrsys.*; import com.glxp.api.res.PageSimpleResponse; import com.glxp.api.res.chs.YbHcflEntityResponse; import com.glxp.api.res.thrsys.ThrCorpsResponse; @@ -194,4 +192,28 @@ public class ErpBasicClient { } } + /** + * 获取往来单位 + */ + public BaseResponse> getThrManu(ThrManuFilterRequest thrManuFilterRequest) { + UdiwmsUnitRequest udiwmsUnitRequest = new UdiwmsUnitRequest(); + BeanUtils.copyProperties(thrManuFilterRequest, udiwmsUnitRequest); + udiwmsUnitRequest.setUnitId(thrManuFilterRequest.getErpId()); + ThrSystemEntity thrSystemEntity = basicThirdSysService.selectByThirdId(thrManuFilterRequest.getThirdSysFk()); + try { + String url = thrSystemEntity.getThridUrl() + "/udiwms/erp/getManus"; + String response = httpOkClient.uCloudPost(url, udiwmsUnitRequest, thrSystemEntity); + if (StrUtil.isBlank(response)) { + return ResultVOUtils.error(500, "连接第三方系统接口服务出错!"); + } + BaseResponse> baseResponse = + JSONObject.parseObject(response, new TypeReference>>() { + }); + return baseResponse; + } catch (Exception e) { + log.error("获取生产企业接口异常", e); + return ResultVOUtils.error(500, "连接第三方系统接口服务出错!"); + } + } + } 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 9376bc13..6d774bff 100644 --- a/src/main/java/com/glxp/api/req/basic/BasicDataRequest.java +++ b/src/main/java/com/glxp/api/req/basic/BasicDataRequest.java @@ -1,10 +1,10 @@ package com.glxp.api.req.basic; +import com.glxp.api.entity.dev.DeviceInfoEntity; import com.glxp.api.entity.inv.DeviceInspectTaskEntity; import com.glxp.api.req.system.DeleteCompanyFileRequest; import com.glxp.api.req.system.DeleteRequest; import lombok.Data; -import org.springframework.validation.BindingResult; @Data public class BasicDataRequest { @@ -28,6 +28,8 @@ public class BasicDataRequest { private DeviceInspectTaskEntity deviceInspectTaskEntity; + private DeviceInfoEntity deleteDeviceInfoEntity; + private String key; } diff --git a/src/main/java/com/glxp/api/res/sync/SpsSyncDeviceTaskResponse.java b/src/main/java/com/glxp/api/res/sync/SpsSyncDeviceTaskResponse.java index b87fa16e..2ec8f5bc 100644 --- a/src/main/java/com/glxp/api/res/sync/SpsSyncDeviceTaskResponse.java +++ b/src/main/java/com/glxp/api/res/sync/SpsSyncDeviceTaskResponse.java @@ -1,7 +1,8 @@ package com.glxp.api.res.sync; -import com.glxp.api.entity.inv.DeviceInspectTaskDetailEntity; -import com.glxp.api.entity.inv.DeviceInspectTaskEntity; + +import com.glxp.api.entity.dev.*; +import com.glxp.api.entity.inv.*; import lombok.Data; import java.util.List; @@ -12,5 +13,11 @@ public class SpsSyncDeviceTaskResponse extends BaseSyncResponse { List deviceInspectTaskEntities; List deviceInspectTaskDetailEntities; - + List deviceInfoEntities; + List deviceCheckEntities; + List deviceCheckDetailEntities; + List deviceCheckDetailItemEntities; + List deviceRepairApplyDetailEntities;//报修单明细 + List deviceRepairApplyEntities;//报修单 + List deviceRepairEntities;//维修单 } 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 765e140d..4988aaab 100644 --- a/src/main/java/com/glxp/api/res/system/SyncDataSetResponse.java +++ b/src/main/java/com/glxp/api/res/system/SyncDataSetResponse.java @@ -64,4 +64,13 @@ public class SyncDataSetResponse { private int productCert; private int orderInvoice; //发票信息 + + + private int deviceInfo; //设备信息管理 + private int deviceCheck;//巡检管理 + private int deviceRepairApply;//报修管理 + private int produceBusiness;//生产企业 PRODUCE_BUSINESS_DATA + + + } diff --git a/src/main/java/com/glxp/api/service/sync/SpsSyncDownloadService.java b/src/main/java/com/glxp/api/service/sync/SpsSyncDownloadService.java index e8a73bb4..80bb00c7 100644 --- a/src/main/java/com/glxp/api/service/sync/SpsSyncDownloadService.java +++ b/src/main/java/com/glxp/api/service/sync/SpsSyncDownloadService.java @@ -14,6 +14,7 @@ import com.glxp.api.controller.sync.SpsSyncWebSocket; import com.glxp.api.constant.Constant; import com.glxp.api.dao.basic.BasicProductsDao; import com.glxp.api.entity.basic.*; +import com.glxp.api.entity.dev.*; import com.glxp.api.entity.inout.*; import com.glxp.api.entity.inv.DeviceInspectTaskDetailEntity; import com.glxp.api.entity.inv.DeviceInspectTaskEntity; @@ -23,6 +24,7 @@ import com.glxp.api.entity.sync.BasicExportStatusTimeEntity; import com.glxp.api.entity.sync.SocketMsgEntity; import com.glxp.api.entity.sync.SyncDataBustypeEntity; import com.glxp.api.entity.thrsys.ThrBusTypeOriginEntity; +import com.glxp.api.entity.thrsys.ThrManufacturerEntity; import com.glxp.api.req.basic.ProductInfoFilterRequest; import com.glxp.api.req.basic.UdiCompanyRequest; import com.glxp.api.req.inout.FilterOrderRequest; @@ -32,6 +34,7 @@ import com.glxp.api.res.sync.SpsSyncDeviceTaskResponse; import com.glxp.api.res.sync.SpsSyncOrderResponse; import com.glxp.api.res.system.SyncDataSetResponse; import com.glxp.api.service.basic.*; +import com.glxp.api.service.dev.*; import com.glxp.api.service.inout.*; import com.glxp.api.service.inout.impl.IoCodeService; import com.glxp.api.service.inout.impl.IoOrderInvoiceService; @@ -39,6 +42,7 @@ import com.glxp.api.service.inv.DeviceInspectTaskDetailService; import com.glxp.api.service.inv.DeviceInspectTaskService; import com.glxp.api.service.purchase.*; import com.glxp.api.service.thrsys.IThrBusTypeOriginService; +import com.glxp.api.service.thrsys.ThrManufacturerService; import com.glxp.api.util.*; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; @@ -240,11 +244,31 @@ public class SpsSyncDownloadService { // , x -> x.generateDocumentTypeDataFile(info, now, true, syncTime)); // } break; - case DEVICE_TASK: basicExportInfoCreate(exportType, syncTime, now , x -> x.generateDevTaskDataFile(info, now, false, syncTime) , x -> x.generateDevTaskDataFile(info, now, true, syncTime)); + break; + case DEVICE_INFO_DATA: + basicExportInfoCreate(exportType,syncTime,now + , x -> x.generateDeviceInfoFile(info, now, false, syncTime) + ,x -> x.generateDeviceInfoFile(info, now, true, syncTime)); + break; + case DEVICE_CHECK_DATA: + basicExportInfoCreate(exportType,syncTime,now + , x -> x.generateDeviceCheckFile(info, now, false, syncTime) + ,x -> x.generateDeviceCheckFile(info, now, true, syncTime)); + break; + case DEVICE_REPAIR_DATA: + basicExportInfoCreate(exportType,syncTime,now + , x -> x.generateDeviceRepairFile(info, now, false, syncTime) + ,x -> x.generateDeviceRepairFile(info, now, true, syncTime)); + break; + case PRODUCE_BUSINESS_DATA: + basicExportInfoCreate(exportType,syncTime,now + , x -> x.generateProBusFile(info, now, false, syncTime) + ,x -> x.generateProBusFile(info, now, true, syncTime)); + break; } } @@ -311,6 +335,7 @@ public class SpsSyncDownloadService { } } + /** * 读取基础数据,创建文件 * @@ -811,6 +836,333 @@ public class SpsSyncDownloadService { } + + + @Resource + DeviceInfoService deviceInfoService; + + /** + * 设备信息同步 + * @param info + * @param now + * @param createFile + * @param syncTime + * @return + */ + protected boolean generateDeviceInfoFile(SyncDataSetResponse info, Date now, boolean createFile, Date syncTime) { + log.error("基础设备信息 info 的很多很好的活动和"); + BasicExportTypeEnum exportType = BasicExportTypeEnum.DEVICE_INFO_DATA; + //文件数据 + Map jsonMap = new WeakHashMap<>(4); + List syncFiles = new ArrayList<>(); + Map> totalTimeMap = new WeakHashMap<>(10); + StringBuffer remark = new StringBuffer(); + Map syncTimeMap = new WeakHashMap<>(3); + syncTimeMap.put("isNew", true); + boolean ge = false; + if (syncTime != null) { + ge = true; + } + try { + //确认有开启设备信息由外向内同步 + if (needExec(info.getDeviceInfo())) { + Map map = basicExportStatusTimeInfo(now, BasicExportStatusTimeEnum.DEVICE_INFO_DATA, createFile); + totalTimeMap.put(BasicExportStatusTimeEnum.DEVICE_INFO_DATA, map); + List deviceInfoEntities = 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(deviceInfoEntities)) { + jsonMap.put(DeviceInfoEntity.class.getSimpleName(), deviceInfoEntities); + remark.append("基础设备信息:").append(deviceInfoEntities.size()).append("条\n"); + } + + } + if (jsonMap.size() > 0) { + jsonMap.put(SYNC_REMARK, remark.toString()); + if (!createFile) { + return true; + } + try { + String fileFullPath = writeFile(filePath, exportType.getRemark(), JsonUtils.toJsonString(jsonMap)); + try { + //修改任务数据 + boolean update = updateExportStatus(exportType, fileFullPath, remark.toString()); + } catch (Exception e) { + // 异常回滚 + this.exportTimeRollback(totalTimeMap, exportType, fileFullPath); + } + SocketMsgEntity socketMsgEntity = SocketMsgEntity.builder().type(SocketMsgType.DL_ALL_DATA).remark("下载设备信息").build(); + spsSyncWebSocket.sendMessage(socketMsgEntity, "1:" + socketToken); + + return true; + } catch (IOException e) { + logger.error(String.format("syncIdcSps----process------------生成[%s]文件及更改库操作异常,异常信息<%s>" + , exportType.getRemark(), e.getMessage())); + // 异常回滚 + this.exportTimeRollback(totalTimeMap, exportType, null); + } + } + return false; + } catch (Exception e) { + logger.error(e.getMessage()); + return false; + } + } + + + @Resource + DeviceCheckService deviceCheckService; + @Resource + DeviceCheckDetailService deviceCheckDetailService; + @Resource + DeviceCheckDetailItemService deviceCheckDetailItemService; + + //上传巡检设备信息 到中继服务 供给管理系统拉取 + protected boolean generateDeviceCheckFile(SyncDataSetResponse info, Date now, boolean createFile, Date syncTime) { + log.error("巡检设备信息任务"); + BasicExportTypeEnum exportType = BasicExportTypeEnum.DEVICE_CHECK_DATA; + //文件数据 + Map jsonMap = new WeakHashMap<>(4); + List syncFiles = new ArrayList<>(); + Map> totalTimeMap = new WeakHashMap<>(10); + StringBuffer remark = new StringBuffer(); + Map syncTimeMap = new WeakHashMap<>(3); + syncTimeMap.put("isNew", true); + boolean ge = false; + if (syncTime != null) { + ge = true; + } + try { + //确认有开启设备信息由外向内同步 + if (needExec(info.getDeviceCheck())) { + Map map = basicExportStatusTimeInfo(now, BasicExportStatusTimeEnum.DEV_CHECK_DATA, createFile); + totalTimeMap.put(BasicExportStatusTimeEnum.DEV_CHECK_DATA, map); + 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)) { + jsonMap.put(DeviceCheckEntity.class.getSimpleName(), deviceCheckEntities); + remark.append("巡检管理数据:").append(deviceCheckEntities.size()).append("条\n"); + } + 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)) { + remark.append("巡检管理明细信息:").append(deviceCheckDetailEntities.size()).append("条\n"); + jsonMap.put(DeviceCheckDetailEntity.class.getSimpleName(), deviceCheckDetailEntities); + } + 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)) { + remark.append("设备巡检项目信息:").append(deviceCheckDetailItemEntities.size()).append("条\n"); + jsonMap.put(DeviceCheckDetailItemEntity.class.getSimpleName(), deviceCheckDetailItemEntities); + } + + } + if (jsonMap.size() > 0) { + jsonMap.put(SYNC_REMARK, remark.toString()); + if (!createFile) { + return true; + } + try { + String fileFullPath = writeFile(filePath, exportType.getRemark(), JsonUtils.toJsonString(jsonMap)); + try { + //修改任务数据 + boolean update = updateExportStatus(exportType, fileFullPath, remark.toString()); + } catch (Exception e) { + // 异常回滚 + this.exportTimeRollback(totalTimeMap, exportType, fileFullPath); + } + SocketMsgEntity socketMsgEntity = SocketMsgEntity.builder().type(SocketMsgType.DL_ALL_DATA).remark("下载巡检设备信息").build(); + spsSyncWebSocket.sendMessage(socketMsgEntity, "1:" + socketToken); + + return true; + } catch (IOException e) { + logger.error(String.format("syncIdcSps----process------------生成[%s]文件及更改库操作异常,异常信息<%s>" + , exportType.getRemark(), e.getMessage())); + // 异常回滚 + this.exportTimeRollback(totalTimeMap, exportType, null); + } + } + return false; + } catch (Exception e) { + logger.error(e.getMessage()); + return false; + } + } + + + @Resource + DeviceRepairApplyService deviceRepairApplyService; + + @Resource + DeviceRepairApplyDetailService deviceRepairApplyDetailService; + + @Resource + DeviceRepairService deviceRepairService; + + // generateDeviceRepairFile 报修管理 + protected boolean generateDeviceRepairFile(SyncDataSetResponse info, Date now, boolean createFile, Date syncTime) { + BasicExportTypeEnum exportType = BasicExportTypeEnum.DEVICE_REPAIR_DATA; + //文件数据 + Map jsonMap = new WeakHashMap<>(4); + List syncFiles = new ArrayList<>(); + Map> totalTimeMap = new WeakHashMap<>(10); + StringBuffer remark = new StringBuffer(); + Map syncTimeMap = new WeakHashMap<>(3); + syncTimeMap.put("isNew", true); + boolean ge = false; + if (syncTime != null) { + ge = true; + } + try { + //确认有开启报修设备管理信息由外向内同步 + if (needExec(info.getDeviceRepairApply())) { + log.error("shebei baoxiudan "); + Map map = basicExportStatusTimeInfo(now, BasicExportStatusTimeEnum.DEV_REPAIR_APPLY, createFile); + totalTimeMap.put(BasicExportStatusTimeEnum.DEV_REPAIR_APPLY, map); + 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)) { + jsonMap.put(DeviceRepairApplyEntity.class.getSimpleName(), deviceRepairApplyEntities); + remark.append("设备报修单数据:").append(deviceRepairApplyEntities.size()).append("条\n"); + } + 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)) { + remark.append("设备报修单明细信息:").append(deviceRepairApplyDetailEntities.size()).append("条\n"); + jsonMap.put(DeviceRepairApplyDetailEntity.class.getSimpleName(), deviceRepairApplyDetailEntities); + } + 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)) { + remark.append("设备维修单信息:").append(deviceRepairEntities.size()).append("条\n"); + jsonMap.put(DeviceRepairEntity.class.getSimpleName(), deviceRepairEntities); + } + + } + if (jsonMap.size() > 0) { + jsonMap.put(SYNC_REMARK, remark.toString()); + if (!createFile) { + return true; + } + try { + String fileFullPath = writeFile(filePath, exportType.getRemark(), JsonUtils.toJsonString(jsonMap)); + try { + //修改任务数据 + boolean update = updateExportStatus(exportType, fileFullPath, remark.toString()); + } catch (Exception e) { + // 异常回滚 + this.exportTimeRollback(totalTimeMap, exportType, fileFullPath); + } + SocketMsgEntity socketMsgEntity = SocketMsgEntity.builder().type(SocketMsgType.DL_ALL_DATA).remark("下载报修设备信息").build(); + spsSyncWebSocket.sendMessage(socketMsgEntity, "1:" + socketToken); + + return true; + } catch (IOException e) { + logger.error(String.format("syncIdcSps----process------------生成[%s]文件及更改库操作异常,异常信息<%s>" + , exportType.getRemark(), e.getMessage())); + // 异常回滚 + this.exportTimeRollback(totalTimeMap, exportType, null); + } + } + return false; + } catch (Exception e) { + logger.error(e.getMessage()); + return false; + } + } + + + @Resource + ThrManufacturerService thrManufacturerService; + // 生产企业 generateProBusFile + protected boolean generateProBusFile(SyncDataSetResponse info, Date now, boolean createFile, Date syncTime) { + BasicExportTypeEnum exportType = BasicExportTypeEnum.PRODUCE_BUSINESS_DATA; + //文件数据 + Map jsonMap = new WeakHashMap<>(4); + List syncFiles = new ArrayList<>(); + Map> totalTimeMap = new WeakHashMap<>(10); + StringBuffer remark = new StringBuffer(); + Map syncTimeMap = new WeakHashMap<>(3); + syncTimeMap.put("isNew", true); + boolean ge = false; + if (syncTime != null) { + ge = true; + } + try { + //确认有开启报修设备管理信息由外向内同步 + if (needExec(info.getProduceBusiness())) { + Map map = basicExportStatusTimeInfo(now, BasicExportStatusTimeEnum.PRODUCE_BUSINESS_DATA, createFile); + totalTimeMap.put(BasicExportStatusTimeEnum.PRODUCE_BUSINESS_DATA, map); + 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)) { + jsonMap.put(ThrManufacturerEntity.class.getSimpleName(), thrManufacturerEntities); + remark.append("生产企业数据:").append(thrManufacturerEntities.size()).append("条\n"); + } + + } + if (jsonMap.size() > 0) { + jsonMap.put(SYNC_REMARK, remark.toString()); + if (!createFile) { + return true; + } + try { + String fileFullPath = writeFile(filePath, exportType.getRemark(), JsonUtils.toJsonString(jsonMap)); + try { + //修改任务数据 + boolean update = updateExportStatus(exportType, fileFullPath, remark.toString()); + } catch (Exception e) { + // 异常回滚 + this.exportTimeRollback(totalTimeMap, exportType, fileFullPath); + } + SocketMsgEntity socketMsgEntity = SocketMsgEntity.builder().type(SocketMsgType.DL_ALL_DATA).remark("下载生产企业信息").build(); + spsSyncWebSocket.sendMessage(socketMsgEntity, "1:" + socketToken); + + return true; + } catch (IOException e) { + logger.error(String.format("syncIdcSps----process------------生成[%s]文件及更改库操作异常,异常信息<%s>" + , exportType.getRemark(), e.getMessage())); + // 异常回滚 + this.exportTimeRollback(totalTimeMap, exportType, null); + } + } + return false; + } catch (Exception e) { + logger.error(e.getMessage()); + return false; + } + } /** * 插入 basicExportStatusTime表 * diff --git a/src/main/resources/application-dev.yml b/src/main/resources/application-dev.yml index a2bd2805..2439b01f 100644 --- a/src/main/resources/application-dev.yml +++ b/src/main/resources/application-dev.yml @@ -5,7 +5,7 @@ spring: driver-class-name: com.p6spy.engine.spy.P6SpyDriver jdbc-url: jdbc:p6spy:mysql://127.0.0.1:3306/udi_spms_ct?allowMultiQueries=true&serverTimezone=Asia/Shanghai&useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=false&allowPublicKeyRetrieval=true username: root - password: 123456 + password: root hikari: connection-timeout: 60000 maximum-pool-size: 60 @@ -59,6 +59,6 @@ UDI_SERVER_URL: https://www.udims.com/UDI_DL_Server_test SPMS_KEY: lCOdWCBKS6Kw45wdnnqUTELXyuSKnXEs API_KEY: 1101 -API_SECRET: zBITspLNvuoEd4FaamlSoqxRHmNsmQ9L +API_SECRET: zBITspLNvuoEd4FaamlSoqxRHmNxmQ5L WEB_TITLE: 平潭协和医院 WEBSOCKET_TOKEN: 07rKFDFkQvBkbxgc7aUBlONo4gWNdx8b diff --git a/src/main/resources/schemas/schema_v2.4.sql b/src/main/resources/schemas/schema_v2.4.sql new file mode 100644 index 00000000..ee88d7d4 --- /dev/null +++ b/src/main/resources/schemas/schema_v2.4.sql @@ -0,0 +1,468 @@ +# # 字段新增 (表名,字段名,字段类型,修改方式(1:新增,2:修改,3:删除) +# +# + +CREATE TABLE IF NOT EXISTS "device_info" ( + "deviceCode" varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '设备编码', + "deptCode" varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '部门编码', + "status" varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '1.正常,2变更归属中,3.维修申请中 4.维修中 6.销毁/报废', + "checkLock" bit(1) NOT NULL DEFAULT b'0' COMMENT '巡检锁定', + "udi" varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT 'UDI码', + "nameCode" varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT 'DI码', + "productId" bigint NOT NULL COMMENT '产品id', + "productName" varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '产品名称', + "ggxh" varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '规格型号', + "batchNo" varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '批次号', + "serialNo" varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '序列号', + "productionDate" varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '生产日期', + "expireDate" varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '失效日期', + "manufactory" varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '生产厂家', + "measname" varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '计量单位', + "zczbhhzbapzbh" varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '注册/备案凭证号', + "supId" varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '供应商ID', + "supName" varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '供应商名称', + "changeCount" int NOT NULL DEFAULT '0' COMMENT '变更次数', + "repairApplyCount" int NOT NULL DEFAULT '0' COMMENT '报修次数', + "repairCount" int NOT NULL DEFAULT '0' COMMENT '维修次数', + "checkCount" int NOT NULL DEFAULT '0' COMMENT '巡检次数', + "lastChangeOrderId" bigint NOT NULL COMMENT '最后变更单号', + "lastRepairApplyId" varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '最后报修申请单号', + "lastRepairApplyTime" datetime DEFAULT NULL COMMENT '最后报修时间', + "lastRepairId" varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '最后维修单号', + "lastRepairUserName" varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '最后维修负责人名称', + "lastRepairUserPhone" varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '最后维修人联系电话', + "lastRepairTime" datetime DEFAULT NULL COMMENT '最后维修时间', + "lastCheckUserId" bigint DEFAULT NULL COMMENT '最后检查/巡检负责人', + "lastCheckUserName" varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '最后检查/巡检负责人名称', + "lastCheckPhone" varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '最后检查/巡检人联系电话', + "lastCheckTime" datetime DEFAULT NULL COMMENT '最后检查/巡检时间', + "lastCheckTaskId" bigint DEFAULT NULL COMMENT '最后检查/巡检任务id', + "createTime" datetime NOT NULL COMMENT '创建时间', + "createUserId" bigint NOT NULL COMMENT '创建人id', + "createUserName" varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '创建人名称', + "assetType" varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '资产分类', + "sasacType" varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '国资分类', + "assetMnemonicCode" varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '资产助记码', + "number" int DEFAULT '1' COMMENT '数量', + "acquisitionMethod" varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '取得方式', + "purpose" varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '用途', + "depreciationYear" int(10) unsigned zerofill DEFAULT NULL COMMENT '折旧年', + "depreciationMonth" int(10) unsigned zerofill DEFAULT NULL COMMENT '折旧月', + "invCode" varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '存储仓库', + "estimatedTotalHour" int(10) unsigned zerofill DEFAULT NULL COMMENT '预计总工时', + "dayHour" int(10) unsigned zerofill DEFAULT NULL COMMENT '单日工时', + "assetValue" decimal(10,2) unsigned zerofill DEFAULT NULL COMMENT '单个资产价值', + "ownFund" decimal(10,2) unsigned zerofill DEFAULT NULL COMMENT '自有资金', + "financialAppropriation" decimal(10,2) unsigned zerofill DEFAULT NULL COMMENT '财政拨款', + "educationFund" decimal(10,2) unsigned zerofill DEFAULT NULL COMMENT '科教基金', + "otherFund" decimal(10,2) unsigned zerofill DEFAULT NULL COMMENT '其他资金', + "nonPeerFinancialAppropriation" decimal(10,2) unsigned zerofill DEFAULT NULL COMMENT '非同级财政拨款', + "ybbm" varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '医疗器械分类编码', + "catalogname1" varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '一级分类名称(学科,品名)', + "catalogname2" varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '二级分类名称(用途、品目)', + "catalogname3" varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '三级分类名称(部位、功能、品种)', + "catalogCode" varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '编码', + "catalogCode1" bigint DEFAULT NULL COMMENT '一级分类名称(学科,品名)', + "catalogCode2" bigint DEFAULT NULL COMMENT '二级分类名称(用途、品目)', + "catalogCode3" bigint DEFAULT NULL COMMENT '三级分类名称(部位、功能、品种)', + "managementCategory" varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '管理类别', + "endUser" varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '使用人', + "estimatedResidualValue" decimal(10,2) unsigned zerofill DEFAULT NULL COMMENT '预计残值', + "currencyType" varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '币种', + "purType" varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '采购类型', + "purchaseDate" date DEFAULT NULL COMMENT '购置日期', + "addDate" date DEFAULT NULL COMMENT '添加日期', + "assetName" varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '资产品名', + "isImperative" bigint DEFAULT NULL COMMENT '是否强检', + "isMaintain" bigint DEFAULT NULL COMMENT '是否保养', + "imperativeCycle" bigint DEFAULT NULL COMMENT '检定周期(月)', + "maintainCycle" bigint DEFAULT NULL COMMENT '保养周期(月)', + "startImperativeDate" date DEFAULT NULL COMMENT '开始检定日期', + "startMaintainDate" date DEFAULT NULL COMMENT '开始保养日期', + "serviceType" varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '维修组', + "maintainType" varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '保养组', + "managerUser" varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '管理人', + "approveUser" varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '审核人', + "ledgerAccount" varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '对应会计科目', + "impairmentProvision" varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '减值准备', + "estimatedWorkload" varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '预计工作量', + "completedWorkload" varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '已完成工作量', + "maintenanceType" varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '维保类型', + "maintenanceCycle" bigint DEFAULT NULL COMMENT '维保周期', + "startMaintenancDate" date DEFAULT NULL COMMENT '维保开始日期', + "endMaintenancDate" date DEFAULT NULL COMMENT '维保结束日期', + "networkType" bigint DEFAULT NULL COMMENT '内外网', + "UserRole" bigint DEFAULT NULL COMMENT '使用角色', + "isAddDomain" bigint DEFAULT NULL COMMENT '是否加域', + "isUDisc" bigint DEFAULT NULL COMMENT 'u盘是否禁用', + "ascriptionType" bigint DEFAULT NULL COMMENT '设备归类', + "assetReserveType" varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '资产备用类型', + "updateTime" datetime DEFAULT NULL COMMENT '更改日期', + PRIMARY KEY ("deviceCode") USING BTREE +) ENGINE=InnoDB + DEFAULT CHARSET=utf8mb4 + COLLATE=utf8mb4_0900_ai_ci COMMENT='设备表' + ROW_FORMAT=Dynamic; + +CREATE TABLE if not exists "device_check" +( + "taskId" bigint NOT NULL COMMENT '巡检任务id', + "planId" bigint DEFAULT NULL COMMENT '计划id', + "planName" varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '计划名称', + "chargeDeptCode" varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '负责部门编码', + "checkUserId" bigint DEFAULT NULL COMMENT '巡检人id', + "checkUserName" varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '巡检人姓名', + "checkUserPhone" varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '巡检人电话', + "deviceCount" int NOT NULL COMMENT '设备数量', + "finishCount" int NOT NULL DEFAULT '0' COMMENT '完成设备数量', + "exceptionCount" int NOT NULL DEFAULT '0' COMMENT '异常数量', + "finishTime" datetime DEFAULT NULL COMMENT '完成时间', + "name" varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '任务名称', + "remark" text CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci COMMENT '任务备注', + "sysFlag" bit(1) NOT NULL COMMENT '是否系统创建 1/true 是 0/false 否', + "finishFlag" bit(1) NOT NULL DEFAULT b'0' COMMENT '是否已完成', + "createTime" datetime NOT NULL COMMENT '创建时间', + "createUserId" bigint DEFAULT NULL COMMENT '创建人id', + "createUserName" varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '创建人姓名', + "updateTime" datetime DEFAULT NULL, + PRIMARY KEY ("taskId") USING BTREE +) ENGINE=InnoDB + DEFAULT CHARSET=utf8mb4 + COLLATE=utf8mb4_0900_ai_ci COMMENT='巡检任务表' + ROW_FORMAT=Dynamic; + + +CREATE TABLE IF NOT EXISTS "device_check_detail" +( + "taskId" bigint NOT NULL COMMENT '任务id', + "deviceCode" varbinary(255) NOT NULL COMMENT '设备编码', + "deptCode" varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '部门编码', + "deptName" varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '部门名称', + "finishFlag" bit(1) NOT NULL DEFAULT b'0' COMMENT '是否已完成 1/true 0/false', + "productId" bigint NOT NULL COMMENT '产品id', + "udi" varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT 'UDI码', + "nameCode" varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT 'DI码', + "productName" varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '产品名称', + "ggxh" varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '规格型号', + "batchNo" varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '批次号', + "serialNo" varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '序列号', + "productionDate" varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '生产日期', + "expireDate" varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '失效日期', + "manufactory" varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '生产厂家', + "measname" varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '计量单位', + "zczbhhzbapzbh" varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '注册/备案凭证号', + "supId" varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '供应商ID', + "supName" varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '供应商名称', + "itemCount" int NOT NULL DEFAULT '0' COMMENT '项目数量', + "exceptionCount" int NOT NULL DEFAULT '0' COMMENT '异常数量', + "finishCount" int NOT NULL DEFAULT '0' COMMENT '完成项目数量', + "finishTime" datetime DEFAULT NULL COMMENT '完成时间', + "repairId" bigint DEFAULT NULL COMMENT '维修单id', + "normalFlag" tinyint DEFAULT NULL COMMENT '巡检状态 :0:异常;1.正常', + "livePath" varchar(1024) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '现场照片', + "suggestion" varchar(1024) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '巡检建议', + "updateTime" datetime DEFAULT NULL COMMENT '更改时间', + PRIMARY KEY ("taskId","deviceCode") USING BTREE +) ENGINE=InnoDB + DEFAULT CHARSET=utf8mb4 + COLLATE=utf8mb4_0900_ai_ci COMMENT='巡检任务明细' + ROW_FORMAT=Dynamic; + +CREATE TABLE IF NOT EXISTS "device_check_detail_item" +( + "taskId" bigint NOT NULL COMMENT '任务id', + "deviceCode" varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '设备编码', + "itemCode" varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '项目编码', + "itemName" varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '项目名称', + "itemContent" longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '项目内容', + "normalFlag" bit(1) DEFAULT NULL COMMENT '正常标识', + "finishFlag" bit(1) NOT NULL DEFAULT b'0' COMMENT '完成标识', + "finishTime" datetime DEFAULT NULL COMMENT '完成时间', + "suggestion" longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci COMMENT '巡检建议', + "checkUserId" bigint DEFAULT NULL COMMENT '巡检人id', + "checkUserName" varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '巡检人姓名', + "checkDeptCode" varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '巡检部门', + "checkDeptName" varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '巡检部门名称', + "updateTime" datetime DEFAULT NULL, + PRIMARY KEY ("taskId","deviceCode","itemCode") USING BTREE +) ENGINE=InnoDB + DEFAULT CHARSET=utf8mb4 + COLLATE=utf8mb4_0900_ai_ci COMMENT='设备巡检项目' + ROW_FORMAT=Dynamic; + +CREATE TABLE IF NOT EXISTS "device_repair" +( + "id" bigint NOT NULL COMMENT '维修id', + "applyId" bigint DEFAULT NULL COMMENT '维修申请id', + "checkTaskId" bigint DEFAULT NULL COMMENT '巡检任务单id', + "finishFlag" bit(1) NOT NULL DEFAULT b'0' COMMENT '是否已完成 true/false', + "description" longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '问题描述', + "diagnosisInfo" longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '诊断信息', + "innerFlag" bit(1) DEFAULT NULL COMMENT '是否内部维修', + "repairUserName" varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '维修人姓名', + "repairUserPhone" varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '维修人联系方式', + "deviceCode" varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '设备码', + "deptCode" varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '部门编码', + "deptName" varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '部门名称', + "productId" bigint NOT NULL COMMENT '产品id', + "udi" varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT 'UDI码', + "nameCode" varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT 'DI码', + "productName" varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '产品名称', + "ggxh" varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '规格型号', + "batchNo" varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '批次号', + "serialNo" varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '序列号', + "productionDate" varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '生产日期', + "expireDate" varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '失效日期', + "manufactory" varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '生产厂家', + "measname" varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '计量单位', + "zczbhhzbapzbh" varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '注册/备案凭证号', + "supId" varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '供应商ID', + "supName" varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '供应商名称', + "createUserId" bigint NOT NULL COMMENT '创建人id', + "createUserName" varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '创建人姓名', + "createTime" datetime NOT NULL COMMENT '创建时间', + "createDeptCode" varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '创建部门', + "createDeptName" varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '创建部门名称', + "confirmUserId" bigint DEFAULT NULL COMMENT '确认人id', + "confirmUserName" varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '确认人姓名', + "confirmTime" datetime DEFAULT NULL COMMENT '确认时间', + "confirmRemark" longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci COMMENT '确认备注', + "confirmDeptCode" varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '确认部门', + "confirmDeptName" varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '确认部门名称', + "confirmPhone" varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '确认人联系方式', + "repairDeptCode" varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '维修部门', + "updateTime" datetime DEFAULT NULL COMMENT '更新时间', + PRIMARY KEY ("id") USING BTREE +) ENGINE=InnoDB + DEFAULT CHARSET=utf8mb4 + COLLATE=utf8mb4_0900_ai_ci COMMENT='设备维修单' + ROW_FORMAT=Dynamic; + +CREATE TABLE IF NOT EXISTS "device_repair_apply" +( + "id" bigint NOT NULL COMMENT '报修单id', + "status" varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '状态 待受理,受理中,维修中,完成', + "applyDeptCode" varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '报修部门编码', + "applyDeptName" varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '报修部门', + "applyUserId" bigint NOT NULL COMMENT '报修人id', + "applyUserName" varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '报修人姓名', + "applyUserPhone" varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '报修人联系方式', + "applyTime" datetime NOT NULL COMMENT '报修时间', + "deviceCount" int NOT NULL COMMENT '设备数量', + "finishCount" int NOT NULL DEFAULT '0' COMMENT '完成数量', + "confirmDeptCode" varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '确认部门', + "confirmDeptName" varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '确认部门名称', + "confirmUserId" bigint DEFAULT NULL COMMENT '确认人id', + "confirmUserName" varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '确认人姓名', + "confirmPhone" varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '确认人联系方式', + "confirmTime" datetime DEFAULT NULL COMMENT '确认时间', + "finishTime" datetime DEFAULT NULL COMMENT '完成时间', + "updateTime" datetime DEFAULT NULL COMMENT '更新时间', + PRIMARY KEY ("id") USING BTREE +) ENGINE=InnoDB + DEFAULT CHARSET=utf8mb4 + COLLATE=utf8mb4_0900_ai_ci COMMENT='设备报修单' + ROW_FORMAT=Dynamic; + + +CREATE TABLE IF NOT EXISTS "device_repair_apply_detail" +( + "applyId" bigint NOT NULL COMMENT '报修单id', + "deviceCode" varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '设备编码', + "deptCode" varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '部门编码', + "deptName" varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '部门名称', + "description" longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '问题描述', + "diagnosisInfo" longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci COMMENT '诊断信息', + "status" varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL DEFAULT '\0' COMMENT '状态 待诊断、待维修、维修中、完成', + "repairFlag" bit(1) DEFAULT NULL COMMENT '是否需要维修 true/false', + "repairId" bigint DEFAULT NULL COMMENT '维修单id', + "productId" bigint NOT NULL COMMENT '产品id', + "udi" varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT 'UDI码', + "nameCode" varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT 'DI码', + "productName" varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '产品名称', + "ggxh" varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '规格型号', + "batchNo" varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '批次号', + "serialNo" varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '序列号', + "productionDate" varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '生产日期', + "expireDate" varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '失效日期', + "manufactory" varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '生产厂家', + "measname" varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '计量单位', + "zczbhhzbapzbh" varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '注册/备案凭证号', + "supId" varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '供应商ID', + "supName" varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '供应商名称', + "confirmUserId" bigint DEFAULT NULL COMMENT '确认人id', + "confirmUserName" varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '确认人姓名', + "confirmTime" datetime DEFAULT NULL COMMENT '确认时间', + "confirmRemark" longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci COMMENT '确认备注', + "confirmDeptCode" varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '确认部门', + "confirmDeptName" varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '确认部门名称', + "finishTime" datetime DEFAULT NULL COMMENT '完成时间', + "updateTime" datetime DEFAULT NULL COMMENT '更新时间', + PRIMARY KEY ("applyId","deviceCode") USING BTREE +) ENGINE=InnoDB + DEFAULT CHARSET=utf8mb4 + COLLATE=utf8mb4_0900_ai_ci COMMENT='设备报修单明细' + ROW_FORMAT=Dynamic; + +CREATE TABLE IF NOT EXISTS "device_plan" +( + "planId" bigint NOT NULL COMMENT '计划id', + "name" varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '计划名称', + "chargeDeptCode" varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '负责部门', + "startDate" date NOT NULL COMMENT '开始日期', + "endDate" date NOT NULL COMMENT '结束日期', + "frequency" int NOT NULL COMMENT '频率(天)', + "execCount" int NOT NULL DEFAULT '0' COMMENT '执行次数', + "remark" text CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci COMMENT '备注', + "createUserId" bigint NOT NULL COMMENT '创建人id', + "createUserName" varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '创建人名称', + "createTime" datetime NOT NULL COMMENT '创建时间', + "status" tinyint DEFAULT NULL COMMENT '设备巡检计划状态 :1:草稿;2.已提交', + PRIMARY KEY ("planId") USING BTREE +) ENGINE=InnoDB + DEFAULT CHARSET=utf8mb4 + COLLATE=utf8mb4_0900_ai_ci COMMENT='设备巡检计划' + ROW_FORMAT=Dynamic; + +CREATE TABLE IF NOT EXISTS "device_plan_detail" +( + "planId" bigint NOT NULL COMMENT '计划id', + "deviceCode" varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '设备编号', + "productId" bigint NOT NULL COMMENT '产品id', + PRIMARY KEY ("planId","deviceCode") USING BTREE, + UNIQUE KEY "uk_planId_productId" ("planId","deviceCode") USING BTREE +) ENGINE=InnoDB + DEFAULT CHARSET=utf8mb4 + COLLATE=utf8mb4_0900_ai_ci COMMENT='巡检计划明细' + ROW_FORMAT=Dynamic; + +CREATE TABLE IF NOT EXISTS "device_plan_detail_item" +( + "planId" bigint NOT NULL COMMENT '巡检计划明细id', + "productId" bigint NOT NULL COMMENT '巡检计划产品id', + "itemCode" varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '项目编码', + "deviceCode" varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL DEFAULT '', + "name" varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '项目名称', + "content" longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '项目内容', + PRIMARY KEY ("planId","productId","itemCode") USING BTREE, + UNIQUE KEY "uk_planId_deviceCode_itemCode" ("planId","itemCode","deviceCode") USING BTREE +) ENGINE=InnoDB + DEFAULT CHARSET=utf8mb4 + COLLATE=utf8mb4_0900_ai_ci COMMENT='巡检设备的项目' + ROW_FORMAT=Dynamic; + +CREATE TABLE IF NOT EXISTS "device_check_item_dict" +( + "code" varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '项目编码', + "name" varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '项目名称', + "content" longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '项目内容', + "createUserId" bigint NOT NULL COMMENT '创建人id', + "createUserName" varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '创建人名称', + "createTime" datetime NOT NULL COMMENT '创建时间', + PRIMARY KEY ("code") USING BTREE +) ENGINE=InnoDB + DEFAULT CHARSET=utf8mb4 + COLLATE=utf8mb4_0900_ai_ci COMMENT='巡检项目字典' + ROW_FORMAT=Dynamic; + +CREATE TABLE IF NOT EXISTS "device_change_log" +( + "id" bigint NOT NULL COMMENT '日志id', + "deviceCode" varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '设备编码', + "type" varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT 'add:新增入库,change:变更归属', + "changeOrderId" bigint NOT NULL COMMENT '变更单号', + "deptCode" varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '操作部门', + "deptName" varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '操作部门', + "toDeptCode" varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '目标部门', + "toDeptName" varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '目标部门', + "confirmUser" bigint NOT NULL COMMENT '确认人id', + "confirmUserName" varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '确认人姓名', + "confirmTime" datetime NOT NULL COMMENT '确认时间', + "confirmRemark" text CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci COMMENT '确认备注', + "remark" text CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci COMMENT '备注', + "createUserName" varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '操作人姓名', + "createUser" bigint NOT NULL COMMENT '操作人id', + "createTime" datetime NOT NULL COMMENT '操作时间', + PRIMARY KEY ("id") USING BTREE +) ENGINE=InnoDB + DEFAULT CHARSET=utf8mb4 + COLLATE=utf8mb4_0900_ai_ci COMMENT='设备变更日志表' + ROW_FORMAT=Dynamic; + +CREATE TABLE "device_change_order" ( + "orderId" bigint NOT NULL COMMENT '编码', + "type" varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT 'add:新增入库,change:变更归属', + "status" varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '1.待目标部门接收 ,2.完成(目标确认接收) ,3.目标部门拒收,4.取消', + "deptCode" varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '创建部门', + "toDeptCode" varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '目标部门', + "confirmUser" bigint DEFAULT NULL COMMENT '确认人id', + "confirmUserName" varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '确认人姓名', + "confirmTime" datetime DEFAULT NULL COMMENT '确认时间', + "confirmRemark" text CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci COMMENT '确认备注', + "remark" text CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci COMMENT '备注', + "createUserName" varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '创建人', + "createUser" bigint DEFAULT NULL COMMENT '创建人id', + "createTime" datetime NOT NULL COMMENT '创建时间', + PRIMARY KEY ("orderId") USING BTREE +) ENGINE=InnoDB + DEFAULT CHARSET=utf8mb4 + COLLATE=utf8mb4_0900_ai_ci COMMENT='设备变更单' + ROW_FORMAT=Dynamic; + + +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', 'deviceRepairApply', + ' 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); + +INSERT ignore INTO `device_info` (`deviceCode`, `deptCode`, `status`, `checkLock`, `udi`, `nameCode`, `productId`, `productName`, `ggxh`, `batchNo`, `serialNo`, `productionDate`, `expireDate`, `manufactory`, `measname`, `zczbhhzbapzbh`, `supId`, `supName`, `changeCount`, `repairApplyCount`, `repairCount`, `checkCount`, `lastChangeOrderId`, `lastRepairApplyId`, `lastRepairApplyTime`, `lastRepairId`, `lastRepairUserName`, `lastRepairUserPhone`, `lastRepairTime`, `lastCheckUserId`, `lastCheckUserName`, `lastCheckPhone`, `lastCheckTime`, `lastCheckTaskId`, `createTime`, `createUserId`, `createUserName`, `assetType`, `sasacType`, `assetMnemonicCode`, `number`, `acquisitionMethod`, `purpose`, `depreciationYear`, `depreciationMonth`, `invCode`, `estimatedTotalHour`, `dayHour`, `assetValue`, `ownFund`, `financialAppropriation`, `educationFund`, `otherFund`, `nonPeerFinancialAppropriation`, `ybbm`, `catalogname1`, `catalogname2`, `catalogname3`, `catalogCode`, `catalogCode1`, `catalogCode2`, `catalogCode3`, `managementCategory`, `endUser`, `estimatedResidualValue`, `currencyType`, `purType`, `purchaseDate`, `addDate`, `assetName`, `isImperative`, `isMaintain`, `imperativeCycle`, `maintainCycle`, `startImperativeDate`, `startMaintainDate`, `serviceType`, `maintainType`, `managerUser`, `approveUser`, `ledgerAccount`, `impairmentProvision`, `estimatedWorkload`, `completedWorkload`, `maintenanceType`, `maintenanceCycle`, `startMaintenancDate`, `endMaintenancDate`, `networkType`, `UserRole`, `isAddDomain`, `isUDisc`, `ascriptionType`, `assetReserveType`, `updateTime`) VALUES ('S0790586160', '1002', 'change', b'1', NULL, '06902139333834', 700205494, '金属骨针', 'GZZH04YB φ2.0×200mm', NULL, NULL, NULL, NULL, '大博医疗科技股份有限公司', '枚', '国械注准20173461003,国械注准20173131003', NULL, NULL, 0, 0, 0, 0, 1788043097458315264, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '2024-05-08 11:09:15', 1, '超级用户', NULL, NULL, NULL, 1, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '2024-05-09 10:48:43'); +INSERT ignore INTO `device_info` (`deviceCode`, `deptCode`, `status`, `checkLock`, `udi`, `nameCode`, `productId`, `productName`, `ggxh`, `batchNo`, `serialNo`, `productionDate`, `expireDate`, `manufactory`, `measname`, `zczbhhzbapzbh`, `supId`, `supName`, `changeCount`, `repairApplyCount`, `repairCount`, `checkCount`, `lastChangeOrderId`, `lastRepairApplyId`, `lastRepairApplyTime`, `lastRepairId`, `lastRepairUserName`, `lastRepairUserPhone`, `lastRepairTime`, `lastCheckUserId`, `lastCheckUserName`, `lastCheckPhone`, `lastCheckTime`, `lastCheckTaskId`, `createTime`, `createUserId`, `createUserName`, `assetType`, `sasacType`, `assetMnemonicCode`, `number`, `acquisitionMethod`, `purpose`, `depreciationYear`, `depreciationMonth`, `invCode`, `estimatedTotalHour`, `dayHour`, `assetValue`, `ownFund`, `financialAppropriation`, `educationFund`, `otherFund`, `nonPeerFinancialAppropriation`, `ybbm`, `catalogname1`, `catalogname2`, `catalogname3`, `catalogCode`, `catalogCode1`, `catalogCode2`, `catalogCode3`, `managementCategory`, `endUser`, `estimatedResidualValue`, `currencyType`, `purType`, `purchaseDate`, `addDate`, `assetName`, `isImperative`, `isMaintain`, `imperativeCycle`, `maintainCycle`, `startImperativeDate`, `startMaintainDate`, `serviceType`, `maintainType`, `managerUser`, `approveUser`, `ledgerAccount`, `impairmentProvision`, `estimatedWorkload`, `completedWorkload`, `maintenanceType`, `maintenanceCycle`, `startMaintenancDate`, `endMaintenancDate`, `networkType`, `UserRole`, `isAddDomain`, `isUDisc`, `ascriptionType`, `assetReserveType`, `updateTime`) VALUES ('S3054245435', '1002', 'repair_apply', b'0', NULL, '06902139333834', 700205494, '金属骨针', 'GZZH04YB φ2.0×200mm', NULL, NULL, NULL, NULL, '大博医疗科技股份有限公司', '枚', '国械注准20173461003,国械注准20173131003', NULL, NULL, 0, 1, 0, 0, 1788042594527952896, '1788055560932900864', '2024-05-08 11:57:21', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '2024-05-08 11:06:23', 1, '超级用户', NULL, NULL, NULL, 1, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '2024-05-09 10:48:36'); +INSERT ignore INTO `device_repair_apply` (`id`, `status`, `applyDeptCode`, `applyDeptName`, `applyUserId`, `applyUserName`, `applyUserPhone`, `applyTime`, `deviceCount`, `finishCount`, `confirmDeptCode`, `confirmDeptName`, `confirmUserId`, `confirmUserName`, `confirmPhone`, `confirmTime`, `finishTime`, `updateTime`) VALUES (1787801533814042624, 'processing', '1002', '手术室', 1, '超级用户', '18238132561', '2024-05-07 19:07:56', 1, 0, '1002', '手术室', 1, '超级用户', '15752121213', '2024-05-07 19:11:48', NULL, '2024-05-09 11:59:52'); +INSERT ignore INTO `device_repair_apply` (`id`, `status`, `applyDeptCode`, `applyDeptName`, `applyUserId`, `applyUserName`, `applyUserPhone`, `applyTime`, `deviceCount`, `finishCount`, `confirmDeptCode`, `confirmDeptName`, `confirmUserId`, `confirmUserName`, `confirmPhone`, `confirmTime`, `finishTime`, `updateTime`) VALUES (1787801935535218688, 'processing', '1002', '手术室', 1, '超级用户', '15866936214', '2024-05-07 19:09:32', 1, 0, '1002', '手术室', 1, '超级用户', '15752121213', '2024-05-07 19:10:46', NULL, '2024-05-09 14:29:19'); +INSERT ignore INTO `device_repair_apply_detail` (`applyId`, `deviceCode`, `deptCode`, `deptName`, `description`, `diagnosisInfo`, `status`, `repairFlag`, `repairId`, `productId`, `udi`, `nameCode`, `productName`, `ggxh`, `batchNo`, `serialNo`, `productionDate`, `expireDate`, `manufactory`, `measname`, `zczbhhzbapzbh`, `supId`, `supName`, `confirmUserId`, `confirmUserName`, `confirmTime`, `confirmRemark`, `confirmDeptCode`, `confirmDeptName`, `finishTime`, `updateTime`) VALUES (1787801533814042624, 'S0185624335', '1002', '手术室', 'SUCCESS!!!!!!!!!!', NULL, 'wait_diagnosis', NULL, NULL, 700205494, NULL, '06902139333834', '金属骨针', 'GZZH04YB φ2.0×200mm', 'zxzxz111', '11111111111111111', '2024-05-01', '2024-05-30', '大博医疗科技股份有限公司', '枚', '国械注准20173461003,国械注准20173131003', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '2024-05-07 19:07:56'); +INSERT ignore INTO `device_repair_apply_detail` (`applyId`, `deviceCode`, `deptCode`, `deptName`, `description`, `diagnosisInfo`, `status`, `repairFlag`, `repairId`, `productId`, `udi`, `nameCode`, `productName`, `ggxh`, `batchNo`, `serialNo`, `productionDate`, `expireDate`, `manufactory`, `measname`, `zczbhhzbapzbh`, `supId`, `supName`, `confirmUserId`, `confirmUserName`, `confirmTime`, `confirmRemark`, `confirmDeptCode`, `confirmDeptName`, `finishTime`, `updateTime`) VALUES (1787801935535218688, 'S1216934642', '1002', '手术室', 'ZZZZZZZZZZZZZZZZZZZZZZZ', NULL, 'wait_diagnosis', NULL, NULL, 700205494, NULL, '06902139333834', '金属骨针', 'GZZH04YB φ2.0×200mm', NULL, NULL, NULL, NULL, '大博医疗科技股份有限公司', '枚', '国械注准20173461003,国械注准20173131003', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '2024-05-07 19:09:32'); + + +CREATE TABLE IF NOT EXISTS "thr_manufacturer" +( + "id" bigint NOT NULL AUTO_INCREMENT, + "unitId" varchar(60) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL, + "spell" varchar(60) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL, + "addr" varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL, + "creditNo" varchar(60) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL, + "contact" varchar(60) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL, + "mobile" varchar(60) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL, + "thirdSysFk" varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL, + "name" varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL, + "createUser" varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT '' COMMENT '创建人', + "createTime" datetime DEFAULT NULL COMMENT '创建时间', + "updateUser" varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT '' COMMENT '更新人', + "updateTime" datetime DEFAULT NULL COMMENT '更新时间', + "remark" varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT '' COMMENT '备注', + PRIMARY KEY ("id") USING BTREE, + UNIQUE KEY "unique" ("unitId","thirdSysFk") USING BTREE +) ENGINE=InnoDB + AUTO_INCREMENT=1001 + DEFAULT CHARSET=utf8mb4 + COLLATE=utf8mb4_0900_ai_ci COMMENT='第三方往来单位类型' + ROW_FORMAT=Dynamic; + + +CALL Pro_Temp_ColumnWork('sync_data_set', 'produceBusiness', + ' tinyint NULL DEFAULT NULL COMMENT ''生产企业信息''', + 1);