From fd7b77cf0251e0fcef63c47c8076a91b29caa666 Mon Sep 17 00:00:00 2001 From: jiyufei <67400194@qq.com> Date: Tue, 13 Aug 2024 16:53:13 +0800 Subject: [PATCH] =?UTF-8?q?feat():=E5=90=8E=E7=AB=AF=E4=BB=A3=E7=A0=81?= =?UTF-8?q?=E6=8F=90=E4=BA=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/resources/application-dev.yml | 34 +++++---- .../jnpf/mapper/YysDeviceMaterialMapper.java | 7 ++ .../jnpf/service/YysDeviceDataService.java | 1 + .../service/YysDeviceMaterialService.java | 17 +++++ .../java/jnpf/service/YysDeviceService.java | 19 +++-- .../impl/YysDeviceDataServiceImpl.java | 15 ++++ .../impl/YysDeviceMaterialServiceImpl.java | 48 +++++++++++++ .../service/impl/YysDeviceServiceImpl.java | 72 +++++++++---------- .../jnpf/controller/YysDeviceController.java | 11 ++- .../controller/YysDeviceDataController.java | 6 ++ .../jnpf/entity/YysDeviceMaterialEntity.java | 46 ++++++++++++ .../jnpf/model/yysdevice/YysDeviceForm.java | 6 ++ 12 files changed, 220 insertions(+), 62 deletions(-) create mode 100644 jnpf-java-boot/jnpf-example/jnpf-example-biz/src/main/java/jnpf/mapper/YysDeviceMaterialMapper.java create mode 100644 jnpf-java-boot/jnpf-example/jnpf-example-biz/src/main/java/jnpf/service/YysDeviceMaterialService.java create mode 100644 jnpf-java-boot/jnpf-example/jnpf-example-biz/src/main/java/jnpf/service/impl/YysDeviceMaterialServiceImpl.java create mode 100644 jnpf-java-boot/jnpf-example/jnpf-example-entity/src/main/java/jnpf/entity/YysDeviceMaterialEntity.java diff --git a/jnpf-java-boot/jnpf-admin/src/main/resources/application-dev.yml b/jnpf-java-boot/jnpf-admin/src/main/resources/application-dev.yml index 3239988..d6bb85e 100644 --- a/jnpf-java-boot/jnpf-admin/src/main/resources/application-dev.yml +++ b/jnpf-java-boot/jnpf-admin/src/main/resources/application-dev.yml @@ -14,20 +14,18 @@ spring: cache: false #spring内置thymeleaf缓存 # ===================== 数据源配置 ===================== - # exclude: com.alibaba.druid.spring.boot.autoconfigure.DruidDataSourceAutoConfigure #排除自动配置,手动配置druid - # datasource: - # db-type: MySQL #数据库类型(可选值 MySQL、SQLServer、Oracle、DM8、KingbaseES、PostgreSQL,请严格按可选值填写) - # host: 222.71.165.188 - # port: 3309 - # username: root - # password: linus,.123 - # db-name: jnpf_yys_dev - # db-schema: #金仓达梦选填 - # prepare-url: #自定义url + exclude: com.alibaba.druid.spring.boot.autoconfigure.DruidDataSourceAutoConfigure #排除自动配置,手动配置druid + datasource: + db-type: MySQL #数据库类型(可选值 MySQL、SQLServer、Oracle、DM8、KingbaseES、PostgreSQL,请严格按可选值填写) + host: 222.71.165.188 + port: 3309 + username: root + password: linus,.123 + db-name: jnpf_yys_dev + db-schema: #金仓达梦选填 + prepare-url: #自定义url # ===================== 动态多数据源 ===================== - datasource: - db-type: MySQL dynamic: primary: master #设置默认的数据源或者数据源组,默认值即为master strict: true #严格匹配数据源,默认false. true未匹配到指定数据源时抛异常,false使用默认数据源 @@ -63,14 +61,14 @@ spring: statementParameterSetLogEnabled: false datasource: master: - url: jdbc:mysql://222.71.165.188:3309/jnpf_yys_dev?useUnicode=true&characterEncoding=utf-8&serverTimezone=Asia/Shanghai - username: root - password: linus,.123 + url: jdbc:mysql://${spring.datasource.host}:${spring.datasource.port}/${spring.datasource.dbname}?useUnicode=true&characterEncoding=utf-8&useSSL=false&allowMultiQueries=true&serverTimezone=UTC + username: ${spring.datasource.username} + password: ${spring.datasource.password} driver-class-name: com.mysql.cj.jdbc.Driver slave_1: - url: jdbc:mysql://222.71.165.188:3309/yys-sc?useUnicode=true&characterEncoding=utf-8&serverTimezone=Asia/Shanghai - username: root - password: linus,.123 + url: jdbc:mysql://${spring.datasource.host}:${spring.datasource.port}/yys-sc?useUnicode=true&characterEncoding=utf-8&serverTimezone=Asia/Shanghai + username: ${spring.datasource.username} + password: ${spring.datasource.password} driver-class-name: com.mysql.cj.jdbc.Driver # ===================== Redis配置 ===================== diff --git a/jnpf-java-boot/jnpf-example/jnpf-example-biz/src/main/java/jnpf/mapper/YysDeviceMaterialMapper.java b/jnpf-java-boot/jnpf-example/jnpf-example-biz/src/main/java/jnpf/mapper/YysDeviceMaterialMapper.java new file mode 100644 index 0000000..615120e --- /dev/null +++ b/jnpf-java-boot/jnpf-example/jnpf-example-biz/src/main/java/jnpf/mapper/YysDeviceMaterialMapper.java @@ -0,0 +1,7 @@ +package jnpf.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import jnpf.entity.YysDeviceMaterialEntity; + +public interface YysDeviceMaterialMapper extends BaseMapper { +} diff --git a/jnpf-java-boot/jnpf-example/jnpf-example-biz/src/main/java/jnpf/service/YysDeviceDataService.java b/jnpf-java-boot/jnpf-example/jnpf-example-biz/src/main/java/jnpf/service/YysDeviceDataService.java index e96e890..e6736e2 100644 --- a/jnpf-java-boot/jnpf-example/jnpf-example-biz/src/main/java/jnpf/service/YysDeviceDataService.java +++ b/jnpf-java-boot/jnpf-example/jnpf-example-biz/src/main/java/jnpf/service/YysDeviceDataService.java @@ -34,4 +34,5 @@ public interface YysDeviceDataService extends IService { List syncData(List syncIds); + List zxcv(); } diff --git a/jnpf-java-boot/jnpf-example/jnpf-example-biz/src/main/java/jnpf/service/YysDeviceMaterialService.java b/jnpf-java-boot/jnpf-example/jnpf-example-biz/src/main/java/jnpf/service/YysDeviceMaterialService.java new file mode 100644 index 0000000..65e855a --- /dev/null +++ b/jnpf-java-boot/jnpf-example/jnpf-example-biz/src/main/java/jnpf/service/YysDeviceMaterialService.java @@ -0,0 +1,17 @@ +package jnpf.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import jnpf.entity.YysDeviceMaterialEntity; + +import java.util.List; + +public interface YysDeviceMaterialService extends IService { + /** + * 设备绑定物料 + * + * @param deviceCode + * @param data + * @return + */ + String saveData(String deviceCode, List data); +} diff --git a/jnpf-java-boot/jnpf-example/jnpf-example-biz/src/main/java/jnpf/service/YysDeviceService.java b/jnpf-java-boot/jnpf-example/jnpf-example-biz/src/main/java/jnpf/service/YysDeviceService.java index 71cf51f..ddb65f5 100644 --- a/jnpf-java-boot/jnpf-example/jnpf-example-biz/src/main/java/jnpf/service/YysDeviceService.java +++ b/jnpf-java-boot/jnpf-example/jnpf-example-biz/src/main/java/jnpf/service/YysDeviceService.java @@ -1,12 +1,11 @@ package jnpf.service; -import jnpf.model.yysdevice.*; -import jnpf.entity.*; - -import java.util.*; - import com.baomidou.mybatisplus.extension.service.IService; -import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import jnpf.entity.YysDeviceEntity; +import jnpf.model.yysdevice.YysDeviceForm; +import jnpf.model.yysdevice.YysDevicePagination; + +import java.util.List; /** * yysDevice @@ -41,4 +40,12 @@ public interface YysDeviceService extends IService { * @return name */ String queryNameByCode(String code); + + /** + * 设备绑定物料信息 + * + * @param yysDeviceForm + * @return + */ + String bandMaterial(YysDeviceForm yysDeviceForm); } diff --git a/jnpf-java-boot/jnpf-example/jnpf-example-biz/src/main/java/jnpf/service/impl/YysDeviceDataServiceImpl.java b/jnpf-java-boot/jnpf-example/jnpf-example-biz/src/main/java/jnpf/service/impl/YysDeviceDataServiceImpl.java index 3b7188c..ae9ce99 100644 --- a/jnpf-java-boot/jnpf-example/jnpf-example-biz/src/main/java/jnpf/service/impl/YysDeviceDataServiceImpl.java +++ b/jnpf-java-boot/jnpf-example/jnpf-example-biz/src/main/java/jnpf/service/impl/YysDeviceDataServiceImpl.java @@ -331,4 +331,19 @@ public class YysDeviceDataServiceImpl extends ServiceImpl !syncIds.contains(obj.getId())).collect(Collectors.toList()); } + + @Override + @DS("slave_1") + public List zxcv() { + List result = Lists.newArrayList(); + String[] lines = new String[]{"1", "2", "3", "4"}; + for (String line : lines) { + String childTable = "eqmt_collect_data_sc_" + line; + String sql = "select b.*," + line + " as line from " + childTable + " a left join eqmt_collect_pub_data b on a.eqmt_id = b.eqmt_id"; + RowMapper rowMapper = new BeanPropertyRowMapper<>(EqmtCollectPubDataEntity.class); + result.addAll(this.jdbcTemplate.query(sql, rowMapper)); + } + //过滤出已经生成的 + return result; + } } diff --git a/jnpf-java-boot/jnpf-example/jnpf-example-biz/src/main/java/jnpf/service/impl/YysDeviceMaterialServiceImpl.java b/jnpf-java-boot/jnpf-example/jnpf-example-biz/src/main/java/jnpf/service/impl/YysDeviceMaterialServiceImpl.java new file mode 100644 index 0000000..b2c3c86 --- /dev/null +++ b/jnpf-java-boot/jnpf-example/jnpf-example-biz/src/main/java/jnpf/service/impl/YysDeviceMaterialServiceImpl.java @@ -0,0 +1,48 @@ +package jnpf.service.impl; + +import cn.hutool.core.bean.BeanUtil; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import jnpf.entity.YysDeviceMaterialEntity; +import jnpf.mapper.YysDeviceMaterialMapper; +import jnpf.service.YysDeviceMaterialService; +import jnpf.util.DateUtil; +import jnpf.util.GeneraterSwapUtil; +import jnpf.util.RandomUtil; +import jnpf.util.UserProvider; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.List; +import java.util.stream.Collectors; + +@Service +public class YysDeviceMaterialServiceImpl extends ServiceImpl implements YysDeviceMaterialService { + @Autowired + private GeneraterSwapUtil generaterSwapUtil; + + @Autowired + private UserProvider userProvider; + + @Override + public String saveData(String deviceCode, List data) { + //先删除 + LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); + wrapper.eq(YysDeviceMaterialEntity::getDeviceCode, deviceCode); + this.remove(wrapper); + + List root = data.stream().map(entity -> { + String mainId = RandomUtil.uuId(); + entity.setId(mainId); + entity.setDeviceCode(deviceCode); + entity.setCreatorTime(DateUtil.getNowDate()); + entity.setCreatorUserId(userProvider.get().getUserId()); + return entity; + }).collect(Collectors.toList()); + boolean result = this.saveBatch(root); + if (result) { + return "绑定成功"; + } + return "绑定失败"; + } +} diff --git a/jnpf-java-boot/jnpf-example/jnpf-example-biz/src/main/java/jnpf/service/impl/YysDeviceServiceImpl.java b/jnpf-java-boot/jnpf-example/jnpf-example-biz/src/main/java/jnpf/service/impl/YysDeviceServiceImpl.java index 6560583..f382e1a 100644 --- a/jnpf-java-boot/jnpf-example/jnpf-example-biz/src/main/java/jnpf/service/impl/YysDeviceServiceImpl.java +++ b/jnpf-java-boot/jnpf-example/jnpf-example-biz/src/main/java/jnpf/service/impl/YysDeviceServiceImpl.java @@ -1,50 +1,37 @@ package jnpf.service.impl; -import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; -import jnpf.entity.*; -import jnpf.mapper.YysDeviceMapper; -import jnpf.service.*; -import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -import jnpf.model.yysdevice.*; - -import java.math.BigDecimal; - import cn.hutool.core.util.ObjectUtil; -import jnpf.permission.model.authorize.AuthorizeConditionModel; -import jnpf.util.GeneraterSwapUtil; -import jnpf.database.model.superQuery.SuperQueryJsonModel; -import jnpf.database.model.superQuery.ConditionJsonModel; -import jnpf.database.model.superQuery.SuperQueryConditionModel; - -import java.lang.reflect.Field; - import com.baomidou.mybatisplus.annotation.TableField; - -import java.util.regex.Pattern; - -import jnpf.model.QueryModel; - -import java.util.stream.Collectors; - -import jnpf.base.model.ColumnDataModel; -import org.springframework.stereotype.Service; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; -import jnpf.database.model.superQuery.SuperJsonModel; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.transaction.annotation.Transactional; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; -import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; - -import java.text.SimpleDateFormat; - -import jnpf.util.*; - -import java.util.*; - +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import jnpf.base.UserInfo; +import jnpf.base.model.ColumnDataModel; +import jnpf.database.model.superQuery.SuperJsonModel; +import jnpf.entity.YysDeviceEntity; +import jnpf.mapper.YysDeviceMapper; +import jnpf.model.QueryModel; +import jnpf.model.yysdevice.YysDeviceConstant; +import jnpf.model.yysdevice.YysDeviceForm; +import jnpf.model.yysdevice.YysDevicePagination; import jnpf.permission.entity.UserEntity; +import jnpf.service.YysDeviceMaterialService; +import jnpf.service.YysDeviceService; +import jnpf.service.YysDeviceUpkeepService; +import jnpf.util.*; +import org.apache.commons.lang3.StringUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; import javax.annotation.Resource; +import java.lang.reflect.Field; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.List; +import java.util.stream.Collectors; /** * yysDevice @@ -64,6 +51,9 @@ public class YysDeviceServiceImpl extends ServiceImpl getList(YysDevicePagination yysDevicePagination) { return getTypeList(yysDevicePagination, yysDevicePagination.getDataType()); @@ -351,4 +341,12 @@ public class YysDeviceServiceImpl extends ServiceImpl data; }