From 1ed336099750d3173ace538a0b61c1265f40873f Mon Sep 17 00:00:00 2001 From: anthonywj Date: Sat, 3 Feb 2024 09:20:31 +0800 Subject: [PATCH] =?UTF-8?q?=E6=96=B0=E5=A2=9E=E7=AC=AC=E4=B8=89=E6=96=B9?= =?UTF-8?q?=E7=94=9F=E4=BA=A7=E4=BC=81=E4=B8=9A?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/glxp/api/constant/Constant.java | 1 + .../basic/BasicManufacturerController.java | 7 + .../controller/thrsys/ThrManusController.java | 132 +++++++++++++++ .../api/dao/thrsys/ThrManufacturerMapper.java | 21 +++ .../entity/thrsys/ThrManufacturerEntity.java | 79 +++++++++ .../com/glxp/api/http/ErpBasicClient.java | 30 +++- .../api/req/thrsys/ThrManuFilterRequest.java | 46 ++++++ .../thrsys/ThrManufacturerService.java | 153 ++++++++++++++++++ .../com/glxp/api/task/SyncThirdSysTask.java | 3 + .../mapper/thrsys/ThrManufacturerMapper.xml | 47 ++++++ src/main/resources/schemas/schema_v2.4.sql | 24 +++ 11 files changed, 542 insertions(+), 1 deletion(-) create mode 100644 src/main/java/com/glxp/api/controller/thrsys/ThrManusController.java create mode 100644 src/main/java/com/glxp/api/dao/thrsys/ThrManufacturerMapper.java create mode 100644 src/main/java/com/glxp/api/entity/thrsys/ThrManufacturerEntity.java create mode 100644 src/main/java/com/glxp/api/req/thrsys/ThrManuFilterRequest.java create mode 100644 src/main/java/com/glxp/api/service/thrsys/ThrManufacturerService.java create mode 100644 src/main/resources/mybatis/mapper/thrsys/ThrManufacturerMapper.xml diff --git a/src/main/java/com/glxp/api/constant/Constant.java b/src/main/java/com/glxp/api/constant/Constant.java index 8650c26f1..dd65c6e44 100644 --- a/src/main/java/com/glxp/api/constant/Constant.java +++ b/src/main/java/com/glxp/api/constant/Constant.java @@ -83,6 +83,7 @@ public class Constant { public static final String dlThrInvProducts = "THR_DOWNLOAD_INV_PRODUCTS"; public static final String dlThrOrders = "THR_DOWNLOAD_ORDERS"; public static final String dlThrCorps = "THR_DOWNLOAD_CORPS"; + public static final String dlThrManus = "THR_DOWNLOAD_MANUS"; public static final String SPS_SYNC_DOWNLOAD_INFO = "SPS_SYNC_DOWNLOAD_INFO"; diff --git a/src/main/java/com/glxp/api/controller/basic/BasicManufacturerController.java b/src/main/java/com/glxp/api/controller/basic/BasicManufacturerController.java index 5499f3b24..008470cd7 100644 --- a/src/main/java/com/glxp/api/controller/basic/BasicManufacturerController.java +++ b/src/main/java/com/glxp/api/controller/basic/BasicManufacturerController.java @@ -1,13 +1,20 @@ package com.glxp.api.controller.basic; import com.glxp.api.controller.BaseController; +import com.glxp.api.service.basic.BasicManufacturerService; import lombok.extern.slf4j.Slf4j; import org.springframework.web.bind.annotation.RestController; +import javax.annotation.Resource; + /** * 生产企业字典 */ @Slf4j @RestController public class BasicManufacturerController extends BaseController { + + + @Resource + BasicManufacturerService manufacturerService; } diff --git a/src/main/java/com/glxp/api/controller/thrsys/ThrManusController.java b/src/main/java/com/glxp/api/controller/thrsys/ThrManusController.java new file mode 100644 index 000000000..8293c56c0 --- /dev/null +++ b/src/main/java/com/glxp/api/controller/thrsys/ThrManusController.java @@ -0,0 +1,132 @@ +package com.glxp.api.controller.thrsys; + +import cn.hutool.core.thread.ThreadUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.github.pagehelper.PageInfo; +import com.glxp.api.annotation.AuthRuleAnnotation; +import com.glxp.api.common.enums.ResultEnum; +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.ThrSystemDetailEntity; +import com.glxp.api.http.ErpBasicClient; +import com.glxp.api.req.system.DeleteRequest; +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.res.PageSimpleResponse; +import com.glxp.api.res.thrsys.ThrCorpsResponse; +import com.glxp.api.res.thrsys.ThrUnitMaintainResponse; +import com.glxp.api.service.thrsys.ThrManufacturerService; +import com.glxp.api.service.thrsys.ThrSystemDetailService; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.BeanUtils; +import org.springframework.validation.BindingResult; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RestController; + +import javax.annotation.Resource; +import java.util.List; +import java.util.stream.Collectors; + +@Slf4j +@RestController +public class ThrManusController { + + + @Resource + ThrManufacturerService thrManufacturerService; + @Resource + private ThrSystemDetailService thrSystemDetailService; + @Resource + private ErpBasicClient erpBasicClient; + + + @GetMapping("/udiwms/thrsys/getManus") + public BaseResponse getManus(FilterThrCorpRequest filterThrCorpRequest, + BindingResult bindingResult) { + + if (bindingResult.hasErrors()) { + return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, bindingResult.getFieldError().getDefaultMessage()); + } + List thrManufacturerEntities + = thrManufacturerService.filterThrManu(filterThrCorpRequest); + PageInfo pageInfo; + pageInfo = new PageInfo<>(thrManufacturerEntities); + PageSimpleResponse pageSimpleResponse = new PageSimpleResponse<>(); + pageSimpleResponse.setTotal(pageInfo.getTotal()); + pageSimpleResponse.setList(thrManufacturerEntities); + return ResultVOUtils.success(pageSimpleResponse); + } + + + @AuthRuleAnnotation("") + @PostMapping("/udiwms/thrsys/delManus") + public BaseResponse delCorps(@RequestBody DeleteRequest deleteRequest, BindingResult bindingResult) { + + if (bindingResult.hasErrors()) { + return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, bindingResult.getFieldError().getDefaultMessage()); + } + String id = deleteRequest.getId(); + thrManufacturerService.removeById(id); + return ResultVOUtils.success("删除成功"); + } + + + //选中或者下载全部 + @AuthRuleAnnotation("") + @PostMapping("/udiwms/thrsys/manu/corpsDlAll") + public BaseResponse corpsDlAll(@RequestBody ThrManuFilterRequest thrManuFilterRequest) { + if (null == thrManuFilterRequest) { + return ResultVOUtils.error(500, "参数不能为空"); + } + ThreadUtil.execAsync(() -> { + try { + thrManufacturerService.downloadByRequest(thrManuFilterRequest); + } catch (Exception e) { + log.error("下载异常", e); + e.printStackTrace(); + } + + }); + return ResultVOUtils.success("后台正在下载,请稍后刷新查看!"); + } + + + //查询ERP往来单位 + @AuthRuleAnnotation("") + @GetMapping("/udiwms/manu/filterErp") + public BaseResponse filterErp(ThrManuFilterRequest thrManuFilterRequest, + BindingResult bindingResult) { + + if (bindingResult.hasErrors()) { + return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, bindingResult.getFieldError().getDefaultMessage()); + } + ThrSystemDetailEntity thrSystemDetailEntity = thrSystemDetailService.selectByKey("manuUrl", thrManuFilterRequest.getThirdSys()); + if (thrSystemDetailEntity == null || thrSystemDetailEntity.getValue() == null) + return ResultVOUtils.error(500, "生产企业接口地址未定义"); + if (thrSystemDetailEntity.getEnabled()) { + BaseResponse> udiDlDeviceResponse = erpBasicClient.getThrManu(thrManuFilterRequest); + if (udiDlDeviceResponse.getCode() == 20000) { + for (ThrManufacturerEntity item : udiDlDeviceResponse.getData().getList()) { + ThrManufacturerEntity thrManufacturerEntity = thrManufacturerService.getOne(new QueryWrapper().eq("unitId", item.getUnitId()).eq("thirdSysFk", thrManuFilterRequest.getThirdSys()).last("limit 1")); + if (thrManufacturerEntity != null) { + item.setChecked(true); + } else { + item.setChecked(false); + } + } + return udiDlDeviceResponse; + } else { + return udiDlDeviceResponse; + } + + } else { + return ResultVOUtils.error(500, "第三方系统往来单位服务接口未启用"); + } + } + + +} diff --git a/src/main/java/com/glxp/api/dao/thrsys/ThrManufacturerMapper.java b/src/main/java/com/glxp/api/dao/thrsys/ThrManufacturerMapper.java new file mode 100644 index 000000000..f2c4a832a --- /dev/null +++ b/src/main/java/com/glxp/api/dao/thrsys/ThrManufacturerMapper.java @@ -0,0 +1,21 @@ +package com.glxp.api.dao.thrsys; + +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.FilterThrCorpRequest; +import com.glxp.api.res.thrsys.ThrCorpsResponse; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; + +import java.util.List; + +@Mapper +public interface ThrManufacturerMapper extends BaseMapperPlus { + + List filterThrManu(FilterThrCorpRequest filterThrCorpRequest); + + ThrManufacturerEntity selectByUnitIdAndThirdId(@Param("unitId") String unitId, @Param("thirdId") String thirdId); + +} diff --git a/src/main/java/com/glxp/api/entity/thrsys/ThrManufacturerEntity.java b/src/main/java/com/glxp/api/entity/thrsys/ThrManufacturerEntity.java new file mode 100644 index 000000000..f3fe936fb --- /dev/null +++ b/src/main/java/com/glxp/api/entity/thrsys/ThrManufacturerEntity.java @@ -0,0 +1,79 @@ +package com.glxp.api.entity.thrsys; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; + +import java.io.Serializable; +import java.util.Date; + +import lombok.Data; + +/** + * 第三方往来单位类型 + */ +@Data +@TableName(value = "thr_manufacturer") +public class ThrManufacturerEntity implements Serializable { + @TableId(value = "id", type = IdType.INPUT) + private Long id; + + @TableField("unitId") + private String unitId; + + @TableField("spell") + private String spell; + + @TableField("addr") + private String addr; + + @TableField("creditNo") + private String creditNo; + + @TableField("contact") + private String contact; + + @TableField("mobile") + private String mobile; + + @TableField("thirdSysFk") + private String thirdSysFk; + + @TableField("name") + private String name; + + /** + * 创建人 + */ + @TableField("createUser") + private String createUser; + + /** + * 创建时间 + */ + @TableField("createTime") + private Date createTime; + + /** + * 更新人 + */ + @TableField("updateUser") + private String updateUser; + + /** + * 更新时间 + */ + @TableField("updateTime") + private Date updateTime; + + /** + * 备注 + */ + @TableField("remark") + private String remark; + @TableField(exist = false) + private Boolean checked; +} diff --git a/src/main/java/com/glxp/api/http/ErpBasicClient.java b/src/main/java/com/glxp/api/http/ErpBasicClient.java index e8b803113..b944b846c 100644 --- a/src/main/java/com/glxp/api/http/ErpBasicClient.java +++ b/src/main/java/com/glxp/api/http/ErpBasicClient.java @@ -10,6 +10,7 @@ import com.glxp.api.common.util.ResultVOUtils; import com.glxp.api.entity.basic.BasicSkProjectDetailEntity; import com.glxp.api.entity.basic.BasicSkProjectEntity; import com.glxp.api.entity.basic.BasicSkSickerEntity; +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; @@ -50,7 +51,9 @@ public class ErpBasicClient { @Resource private ThrSystemService basicThirdSysService; - //获取往来单位 + /** + * 获取往来单位 + */ public BaseResponse> getErpCrop(ThrUnitMaintainFilterRequest thrUnitMaintainFilterRequest) { UdiwmsUnitRequest udiwmsUnitRequest = new UdiwmsUnitRequest(); BeanUtils.copyProperties(thrUnitMaintainFilterRequest, udiwmsUnitRequest); @@ -72,6 +75,31 @@ 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, "连接第三方系统接口服务出错!"); + } + } + //获取产品信息 public BaseResponse> getErpProducts(FilterThrProductsRequest filterThrProductsRequest) { diff --git a/src/main/java/com/glxp/api/req/thrsys/ThrManuFilterRequest.java b/src/main/java/com/glxp/api/req/thrsys/ThrManuFilterRequest.java new file mode 100644 index 000000000..48e197bab --- /dev/null +++ b/src/main/java/com/glxp/api/req/thrsys/ThrManuFilterRequest.java @@ -0,0 +1,46 @@ +package com.glxp.api.req.thrsys; + +import cn.hutool.core.util.StrUtil; +import com.glxp.api.res.thrsys.ThrCorpsResponse; +import com.glxp.api.util.page.ListPageRequest; +import lombok.Data; + +import java.util.List; + +@Data +public class ThrManuFilterRequest extends ListPageRequest { + + private Integer id; + private String key; + private String unitId; + private String name; + private String thirdSys; + private String thirdSysFk; + + private String thirdId; + private String thirdId1; + private String thirdId2; + private String thirdId3; + private String thirdId4; + private String erpId; + private Integer corpType; + private Integer outType; + private Boolean isDownThrSys; + private String lastUpdateTime; + List thrCorpEntities; + + + public String getThirdSys() { + if (StrUtil.isEmpty(thirdSys)) + return thirdSysFk; + return thirdSys; + } + + public String getThirdSysFk() { + + if (StrUtil.isEmpty(thirdSysFk)) + return thirdSys; + return thirdSysFk; + } + +} diff --git a/src/main/java/com/glxp/api/service/thrsys/ThrManufacturerService.java b/src/main/java/com/glxp/api/service/thrsys/ThrManufacturerService.java new file mode 100644 index 000000000..648b2dc95 --- /dev/null +++ b/src/main/java/com/glxp/api/service/thrsys/ThrManufacturerService.java @@ -0,0 +1,153 @@ +package com.glxp.api.service.thrsys; + +import cn.hutool.core.util.IdUtil; +import com.github.pagehelper.PageHelper; +import com.glxp.api.common.res.BaseResponse; +import com.glxp.api.common.util.ResultVOUtils; +import com.glxp.api.config.WebSocketServer; +import com.glxp.api.constant.BasicProcessStatus; +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.res.PageSimpleResponse; +import com.glxp.api.res.thrsys.ThrCorpsResponse; +import com.glxp.api.util.CustomUtil; +import com.glxp.api.util.RedisUtil; +import org.springframework.beans.BeanUtils; +import org.springframework.scheduling.annotation.Async; +import org.springframework.stereotype.Service; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.glxp.api.dao.thrsys.ThrManufacturerMapper; + +import javax.annotation.Resource; +import java.util.Collections; +import java.util.Date; +import java.util.List; +import java.util.stream.Collectors; + +@Service +public class ThrManufacturerService extends ServiceImpl { + + @Resource + private ThrManufacturerMapper thrManufacturerMapper; + @Resource + private ErpBasicClient erpBasicClient; + + + public List filterThrManu(FilterThrCorpRequest filterThrCorpRequest) { + if (filterThrCorpRequest == null) { + return Collections.emptyList(); + } + if (filterThrCorpRequest.getPage() != null) { + int offset = (filterThrCorpRequest.getPage() - 1) * filterThrCorpRequest.getLimit(); + PageHelper.offsetPage(offset, filterThrCorpRequest.getLimit()); + } + List data = thrManufacturerMapper.filterThrManu(filterThrCorpRequest); + return data; + } + + public BaseResponse downloadThrManu(ThrSystemDetailEntity thrSystemDetailEntity) { + int page = 1; + int limit = 100; + + while (true) { + ThrManuFilterRequest request = new ThrManuFilterRequest(); + request.setPage(page); + request.setLimit(limit); + request.setThirdSysFk(thrSystemDetailEntity.getThirdSysFk()); + BaseResponse> baseResponse = erpBasicClient.getThrManu(request); + + if (baseResponse.getCode() == 20000) { + List list = baseResponse.getData().getList(); + list.forEach(thrCorpsResponse -> { + ThrManufacturerEntity thrCorpEntity = thrManufacturerMapper.selectByUnitIdAndThirdId(thrCorpsResponse.getUnitId(), thrSystemDetailEntity.getThirdSysFk()); + if (null == thrCorpEntity) { + thrCorpEntity = new ThrManufacturerEntity(); + BeanUtils.copyProperties(thrCorpsResponse, thrCorpEntity); + thrCorpEntity.setCreateTime(new Date()); + thrCorpEntity.setUpdateTime(new Date()); + thrCorpEntity.setId(IdUtil.getSnowflakeNextId()); + thrCorpEntity.setThirdSysFk(thrSystemDetailEntity.getThirdSysFk()); + thrManufacturerMapper.insert(thrCorpEntity); + } else { + boolean isChange = verifyDataChange(thrCorpEntity, thrCorpsResponse); + if (isChange) { + thrCorpEntity.setUpdateTime(new Date()); + thrManufacturerMapper.updateById(thrCorpEntity); + } + } + }); + if (list.size() >= limit) { + page++; + } else { + break; + } + } else { + return baseResponse; + } + } + + return ResultVOUtils.success("下载完成"); + } + + public BaseResponse downloadByRequest(ThrManuFilterRequest request) { + int page = 1; + int limit = 100; + while (true) { + request.setPage(page); + request.setLimit(limit); + request.setThirdSysFk(request.getThirdSys()); + BaseResponse> baseResponse = erpBasicClient.getThrManu(request); + if (baseResponse.getCode() == 20000) { + List list = baseResponse.getData().getList(); + list.forEach(thrCorpsResponse -> { + ThrManufacturerEntity thrCorpEntity = thrManufacturerMapper.selectByUnitIdAndThirdId(thrCorpsResponse.getUnitId(), request.getThirdSys()); + if (null == thrCorpEntity) { + thrCorpEntity = new ThrManufacturerEntity(); + BeanUtils.copyProperties(thrCorpsResponse, thrCorpEntity); + thrCorpEntity.setCreateTime(new Date()); + thrCorpEntity.setUpdateTime(new Date()); + thrCorpEntity.setThirdSysFk(request.getThirdSys()); + thrCorpEntity.setId(IdUtil.getSnowflakeNextId()); + thrManufacturerMapper.insert(thrCorpEntity); + } else { + boolean isChange = verifyDataChange(thrCorpEntity, thrCorpsResponse); + if (isChange) { + thrCorpEntity.setUpdateTime(new Date()); + thrManufacturerMapper.updateById(thrCorpEntity); + } + } + }); + if (list.size() >= limit) { + page++; + } else { + break; + } + } else { + return baseResponse; + } + } + + return ResultVOUtils.success("下载完成"); + } + + private boolean verifyDataChange(ThrManufacturerEntity thrCorpEntity, ThrManufacturerEntity thrCorpsResponse) { + ThrManufacturerEntity oldData = new ThrManufacturerEntity(); + BeanUtils.copyProperties(thrCorpEntity, oldData); + thrCorpEntity.setSpell(thrCorpsResponse.getSpell()); + thrCorpEntity.setAddr(thrCorpsResponse.getAddr()); + thrCorpEntity.setContact(thrCorpsResponse.getCreditNo()); + thrCorpEntity.setContact(thrCorpsResponse.getContact()); + thrCorpEntity.setMobile(thrCorpsResponse.getMobile()); + thrCorpEntity.setName(thrCorpsResponse.getName()); + thrCorpEntity.setRemark(thrCorpsResponse.getRemark()); + return !thrCorpEntity.equals(oldData); + } + + +} diff --git a/src/main/java/com/glxp/api/task/SyncThirdSysTask.java b/src/main/java/com/glxp/api/task/SyncThirdSysTask.java index 5699d453c..6d138e7f0 100644 --- a/src/main/java/com/glxp/api/task/SyncThirdSysTask.java +++ b/src/main/java/com/glxp/api/task/SyncThirdSysTask.java @@ -54,6 +54,8 @@ public class SyncThirdSysTask implements SchedulingConfigurer { @Resource private ThrCorpService thrCorpService; @Resource + private ThrManufacturerService thrManufacturerService; + @Resource private ThrProductsService thrProductsService; @Resource private IThrBusTypeOriginService thrBusTypeOriginService; @@ -225,6 +227,7 @@ public class SyncThirdSysTask implements SchedulingConfigurer { log.info("开始下载第三方往来单位信息"); try { thrCorpService.downloadThrCorp(thrSystemDetailEntity); + thrManufacturerService.downloadThrManu(thrSystemDetailEntity); } catch (Exception e) { log.error("下载第三方往来单位异常", ExceptionUtils.getStackTrace(e)); } finally { diff --git a/src/main/resources/mybatis/mapper/thrsys/ThrManufacturerMapper.xml b/src/main/resources/mybatis/mapper/thrsys/ThrManufacturerMapper.xml new file mode 100644 index 000000000..971aa3e37 --- /dev/null +++ b/src/main/resources/mybatis/mapper/thrsys/ThrManufacturerMapper.xml @@ -0,0 +1,47 @@ + + + + + + + + diff --git a/src/main/resources/schemas/schema_v2.4.sql b/src/main/resources/schemas/schema_v2.4.sql index 5e1ce336b..45cd49bdf 100644 --- a/src/main/resources/schemas/schema_v2.4.sql +++ b/src/main/resources/schemas/schema_v2.4.sql @@ -475,5 +475,29 @@ set inputSick = true WHERE inputSick is null; +CREATE TABLE IF NOT EXISTS `thr_manufacturer` +( + `id` bigint NOT NULL, + `unitId` varchar(60) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL, + `spell` varchar(60) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL, + `addr` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL, + `creditNo` varchar(60) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL, + `contact` varchar(60) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL, + `mobile` varchar(60) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL, + `thirdSysFk` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL, + `name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL, + `createUser` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT '' COMMENT '创建人', + `createTime` datetime(0) NULL DEFAULT NULL COMMENT '创建时间', + `updateUser` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT '' COMMENT '更新人', + `updateTime` datetime(0) NULL DEFAULT NULL COMMENT '更新时间', + `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT '' COMMENT '备注', + PRIMARY KEY (`id`) USING BTREE, + UNIQUE INDEX `unique` (`unitId`, `thirdSysFk`) USING BTREE +) ENGINE = InnoDB + CHARACTER SET = utf8mb4 + COLLATE = utf8mb4_0900_ai_ci COMMENT = '第三方仓库' + ROW_FORMAT = DYNAMIC; + +SET FOREIGN_KEY_CHECKS = 1;