Compare commits

...

13 Commits

Author SHA1 Message Date
caixiang
60a46c3248 更新 UTC 时间 转成 GMT+8 东八区时间 2024-01-22 14:57:26 +08:00
caixiang
ed054a2bf2 瑞昌SPC - 定版 2024-01-19 10:14:16 +08:00
caixiang
6ebe466df1 Merge branch 'master' of http://git.picaiba.com/CaiXiang/SPC 2023-06-25 16:40:52 +08:00
caixiang
bc685ccf45 commit for pull 2023-06-25 16:40:38 +08:00
e4b8d773af Merge pull request 'yanyang' (#20) from yanyang into master
Reviewed-on: #20
2023-06-25 16:36:43 +08:00
32647c035c CommonField 2023-06-25 16:34:35 +08:00
9546ceec03 Merge branch 'master' of http://git.picaiba.com/CaiXiang/SPC into yanyang 2023-06-25 15:29:24 +08:00
3a583ac09f 通用作业 检验时间 2023-06-25 15:28:23 +08:00
caixiang
fced72a94f mark 2023-06-21 14:12:07 +08:00
caixiang
e149150b1d mark 2023-05-30 16:07:24 +08:00
caixiang
3d5e5e5845 mark 2023-05-30 15:52:00 +08:00
caixiang
5a9f5ee38b mark 2023-05-09 14:24:13 +08:00
caixiang
7c21dfe8e1 初定 第一版 2023-01-13 11:01:42 +08:00
51 changed files with 356 additions and 214 deletions

View File

@@ -1,23 +1,4 @@
**项目说明**
- 这是根据renren框架重新修改出来的框架
- 采用SpringBoot、MyBatis、spring security框架
- 提供了代码生成器只需编写30%左右代码,其余的代码交给系统自动生成,可快速完成开发任务
- 代码生成器是用的Velocity模版引擎如果需要可以在ym-generator模块中进行vm模板的修改和一些包名等基础修改
<br>
**新增业务模块需要注意**
- 新增业务模块时业务模块需要依赖ym-admin并且ym-gateway模块maven需要依赖新建模块
- 自动生成的controller接口都带鉴权注解如果开发阶段可以先注释掉后面开发完成之后再把鉴权添加到数据库
<br>
**技术选型:**
- 核心框架Spring Boot 2.7
- 安全框架Spring Security
- 持久层框架MyBatis 3.5
- 定时器Quartz 2.3
- 数据库连接池HikariCP
- 日志管理log4j2
- 页面交互Vue2.x
spc 主项目
<br>

View File

@@ -73,6 +73,7 @@ public class SecurityConfig extends WebSecurityConfigurerAdapter {
"/webjars/**",
"/websocket/**",
"/influx/**",
"/spcData/**",
// "/basic/**",
// "/qualityPlanning/**",

View File

@@ -52,10 +52,10 @@ public class LoginServiceImpl implements LoginService {
@Override
public Result login(HttpServletRequest request, LoginParam loginParam) {
//验证码是否正确
boolean flag = captchaService.validate(loginParam.getUuid(), loginParam.getCaptcha());
if(!flag){
return new Result<>().error(ErrorCode.CAPTCHA_ERROR, "验证码错误");
}
// boolean flag = captchaService.validate(loginParam.getUuid(), loginParam.getCaptcha());
// if(!flag){
// return new Result<>().error(ErrorCode.CAPTCHA_ERROR, "验证码错误");
// }
UsernamePasswordAuthenticationToken authenticationToken = new UsernamePasswordAuthenticationToken(loginParam.getUsername(),loginParam.getPassword());
Authentication authenticate = authenticationManager.authenticate(authenticationToken);
//登录日志

View File

@@ -3,6 +3,7 @@ package com.cnbm.basic.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.ObjectUtils;
import com.cnbm.admin.utils.BaseSupportUtils;
import com.cnbm.basic.dto.MachineDTO;
import com.cnbm.basic.dto.ProductTypeDTO;
import com.cnbm.basic.entity.ProductType;
@@ -67,6 +68,7 @@ public class FactoryServiceImpl extends CrudServiceImpl<FactoryMapper, Factory,
@Transactional(rollbackFor = Exception.class)
public void save(FactoryDTO dto) {
Factory entity = ConvertUtils.sourceToTarget(dto, Factory.class);
BaseSupportUtils.setCommonField(entity);
insert(entity);
}
@@ -74,6 +76,7 @@ public class FactoryServiceImpl extends CrudServiceImpl<FactoryMapper, Factory,
@Transactional(rollbackFor = Exception.class)
public void update(FactoryDTO dto) {
Factory entity = ConvertUtils.sourceToTarget(dto, Factory.class);
BaseSupportUtils.setUpdateCommonField(entity);
updateById(entity);
}

View File

@@ -3,6 +3,7 @@ package com.cnbm.basic.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.ObjectUtils;
import com.cnbm.admin.utils.BaseSupportUtils;
import com.cnbm.basic.dto.ProductFeaturesDTO;
import com.cnbm.common.page.PageData;
import com.cnbm.common.service.impl.CrudServiceImpl;
@@ -64,6 +65,7 @@ public class FeaturesStageProcedureRelationServiceImpl extends CrudServiceImpl<F
@Transactional(rollbackFor = Exception.class)
public void save(FeaturesStageProcedureRelationDTO dto) {
FeaturesStageProcedureRelation entity = ConvertUtils.sourceToTarget(dto, FeaturesStageProcedureRelation.class);
BaseSupportUtils.setCommonField(entity);
insert(entity);
}
@@ -71,6 +73,7 @@ public class FeaturesStageProcedureRelationServiceImpl extends CrudServiceImpl<F
@Transactional(rollbackFor = Exception.class)
public void update(FeaturesStageProcedureRelationDTO dto) {
FeaturesStageProcedureRelation entity = ConvertUtils.sourceToTarget(dto, FeaturesStageProcedureRelation.class);
BaseSupportUtils.setUpdateCommonField(entity);
updateById(entity);
}
@@ -86,6 +89,7 @@ public class FeaturesStageProcedureRelationServiceImpl extends CrudServiceImpl<F
public void batchInsert(FeaturesStageProcedureRelationDTO[] lists) {
for(FeaturesStageProcedureRelationDTO dto:lists){
ValidatorUtils.validateEntity(dto, AddGroup.class, DefaultGroup.class);
BaseSupportUtils.setCommonField(dto);
save(dto);
}
}

View File

@@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.ObjectUtils;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.cnbm.admin.utils.BaseSupportUtils;
import com.cnbm.basic.entity.Platform;
import com.cnbm.common.page.PageData;
import com.cnbm.common.service.impl.CrudServiceImpl;
@@ -95,6 +96,7 @@ public class MachineServiceImpl extends CrudServiceImpl<MachineMapper, Machine,
@Transactional(rollbackFor = Exception.class)
public void save(MachineDTO dto) {
Machine entity = ConvertUtils.sourceToTarget(dto, Machine.class);
BaseSupportUtils.setCommonField(entity);
insert(entity);
}
@@ -102,6 +104,7 @@ public class MachineServiceImpl extends CrudServiceImpl<MachineMapper, Machine,
@Transactional(rollbackFor = Exception.class)
public void update(MachineDTO dto) {
Machine entity = ConvertUtils.sourceToTarget(dto, Machine.class);
BaseSupportUtils.setUpdateCommonField(entity);
updateById(entity);
}

View File

@@ -3,6 +3,7 @@ package com.cnbm.basic.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.ObjectUtils;
import com.cnbm.admin.utils.BaseSupportUtils;
import com.cnbm.common.page.PageData;
import com.cnbm.common.service.impl.CrudServiceImpl;
import com.cnbm.basic.dto.MeasureToolDTO;
@@ -61,6 +62,7 @@ public class MeasureToolServiceImpl extends CrudServiceImpl<MeasureToolMapper, M
@Transactional(rollbackFor = Exception.class)
public void save(MeasureToolDTO dto) {
MeasureTool entity = ConvertUtils.sourceToTarget(dto, MeasureTool.class);
BaseSupportUtils.setCommonField(entity);
insert(entity);
}
@@ -68,6 +70,7 @@ public class MeasureToolServiceImpl extends CrudServiceImpl<MeasureToolMapper, M
@Transactional(rollbackFor = Exception.class)
public void update(MeasureToolDTO dto) {
MeasureTool entity = ConvertUtils.sourceToTarget(dto, MeasureTool.class);
BaseSupportUtils.setUpdateCommonField(entity);
updateById(entity);
}

View File

@@ -3,6 +3,7 @@ package com.cnbm.basic.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.ObjectUtils;
import com.cnbm.admin.utils.BaseSupportUtils;
import com.cnbm.basic.dto.FactoryDTO;
import com.cnbm.common.page.PageData;
import com.cnbm.common.service.impl.CrudServiceImpl;
@@ -64,6 +65,7 @@ private PlatformMapper mapper;
@Transactional(rollbackFor = Exception.class)
public void save(PlatformDTO dto) {
Platform entity = ConvertUtils.sourceToTarget(dto, Platform.class);
BaseSupportUtils.setCommonField(entity);
insert(entity);
}
@@ -71,6 +73,7 @@ private PlatformMapper mapper;
@Transactional(rollbackFor = Exception.class)
public void update(PlatformDTO dto) {
Platform entity = ConvertUtils.sourceToTarget(dto, Platform.class);
BaseSupportUtils.setUpdateCommonField(entity);
updateById(entity);
}

View File

@@ -2,6 +2,7 @@ package com.cnbm.basic.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.cnbm.admin.utils.BaseSupportUtils;
import com.cnbm.basic.dto.ProductWorkingprocedureRelationDTO;
import com.cnbm.common.page.PageData;
import com.cnbm.common.service.impl.CrudServiceImpl;
@@ -58,6 +59,7 @@ public class ProductFactoryRelationServiceImpl extends CrudServiceImpl<ProductFa
@Transactional(rollbackFor = Exception.class)
public void save(ProductFactoryRelationDTO dto) {
ProductFactoryRelation entity = ConvertUtils.sourceToTarget(dto, ProductFactoryRelation.class);
BaseSupportUtils.setCommonField(entity);
insert(entity);
}
@@ -65,6 +67,7 @@ public class ProductFactoryRelationServiceImpl extends CrudServiceImpl<ProductFa
@Transactional(rollbackFor = Exception.class)
public void update(ProductFactoryRelationDTO dto) {
ProductFactoryRelation entity = ConvertUtils.sourceToTarget(dto, ProductFactoryRelation.class);
BaseSupportUtils.setUpdateCommonField(entity);
updateById(entity);
}
@@ -80,6 +83,7 @@ public class ProductFactoryRelationServiceImpl extends CrudServiceImpl<ProductFa
public void batchInsertFactory(ProductFactoryRelationDTO[] lists) {
for(ProductFactoryRelationDTO dto:lists){
ValidatorUtils.validateEntity(dto, AddGroup.class, DefaultGroup.class);
BaseSupportUtils.setCommonField(dto);
save(dto);
}
}

View File

@@ -2,6 +2,7 @@ package com.cnbm.basic.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.cnbm.admin.utils.BaseSupportUtils;
import com.cnbm.common.page.PageData;
import com.cnbm.common.service.impl.CrudServiceImpl;
import com.cnbm.basic.dto.ProductFeaturesHisDTO;
@@ -55,6 +56,7 @@ public class ProductFeaturesHisServiceImpl extends CrudServiceImpl<ProductFeatur
@Transactional(rollbackFor = Exception.class)
public void save(ProductFeaturesHisDTO dto) {
ProductFeaturesHis entity = ConvertUtils.sourceToTarget(dto, ProductFeaturesHis.class);
BaseSupportUtils.setCommonField(entity);
insert(entity);
}
@@ -62,6 +64,7 @@ public class ProductFeaturesHisServiceImpl extends CrudServiceImpl<ProductFeatur
@Transactional(rollbackFor = Exception.class)
public void update(ProductFeaturesHisDTO dto) {
ProductFeaturesHis entity = ConvertUtils.sourceToTarget(dto, ProductFeaturesHis.class);
BaseSupportUtils.setUpdateCommonField(entity);
updateById(entity);
}

View File

@@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.ObjectUtils;
import com.cnbm.admin.params.IdParam;
import com.cnbm.admin.utils.BaseSupportUtils;
import com.cnbm.basic.dto.*;
import com.cnbm.basic.entity.ProductFeaturesHis;
import com.cnbm.basic.entity.ProductWorkingprocedureRelation;
@@ -66,6 +67,7 @@ public class ProductFeaturesServiceImpl extends CrudServiceImpl<ProductFeaturesM
public void save(ProductFeaturesDTO dto) {
ProductFeatures entity = ConvertUtils.sourceToTarget(dto, ProductFeatures.class);
BaseSupportUtils.setCommonField(entity);
insert(entity);
}
@@ -93,6 +95,7 @@ public class ProductFeaturesServiceImpl extends CrudServiceImpl<ProductFeaturesM
productFeaturesHisServiceImpl.save(history);
//更新
ProductFeatures entity = ConvertUtils.sourceToTarget(dto, ProductFeatures.class);
BaseSupportUtils.setUpdateCommonField(entity);
updateById(entity);
}
@@ -146,6 +149,7 @@ public class ProductFeaturesServiceImpl extends CrudServiceImpl<ProductFeaturesM
for(ProductFeaturesDTO dto:lists){
//效验数据
ValidatorUtils.validateEntity(dto, UpdateGroup.class, DefaultGroup.class);
BaseSupportUtils.setUpdateCommonField(dto);
update(dto);
}
}

View File

@@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.ObjectUtils;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.cnbm.admin.utils.BaseSupportUtils;
import com.cnbm.basic.entity.ProductType;
import com.cnbm.basic.mapper.ProductFactoryRelationMapper;
import com.cnbm.common.page.PageData;
@@ -96,6 +97,7 @@ public class ProductServiceImpl extends CrudServiceImpl<ProductMapper, Product,
@Transactional(rollbackFor = Exception.class)
public IdVo add(ProductDTO dto) {
Product entity = ConvertUtils.sourceToTarget(dto, Product.class);
BaseSupportUtils.setCommonField(entity);
insert(entity);
//返回新增产品id
return IdVo.builder().id(entity.getId()).build();
@@ -105,6 +107,7 @@ public class ProductServiceImpl extends CrudServiceImpl<ProductMapper, Product,
@Transactional(rollbackFor = Exception.class)
public void update(ProductDTO dto) {
Product entity = ConvertUtils.sourceToTarget(dto, Product.class);
BaseSupportUtils.setUpdateCommonField(entity);
updateById(entity);
}

View File

@@ -6,6 +6,7 @@ import com.baomidou.mybatisplus.core.toolkit.ObjectUtils;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.cnbm.admin.dto.SysDictDataDTO;
import com.cnbm.admin.entity.SysDictDataEntity;
import com.cnbm.admin.utils.BaseSupportUtils;
import com.cnbm.basic.dto.FactoryDTO;
import com.cnbm.common.constant.Constant;
import com.cnbm.common.page.PageData;
@@ -68,6 +69,7 @@ public class ProductTypeServiceImpl extends CrudServiceImpl<ProductTypeMapper, P
@Transactional(rollbackFor = Exception.class)
public void save(ProductTypeDTO dto) {
ProductType entity = ConvertUtils.sourceToTarget(dto, ProductType.class);
BaseSupportUtils.setCommonField(entity);
insert(entity);
}
@@ -75,6 +77,7 @@ public class ProductTypeServiceImpl extends CrudServiceImpl<ProductTypeMapper, P
@Transactional(rollbackFor = Exception.class)
public void update(ProductTypeDTO dto) {
ProductType entity = ConvertUtils.sourceToTarget(dto, ProductType.class);
BaseSupportUtils.setUpdateCommonField(entity);
updateById(entity);
}

View File

@@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.ObjectUtils;
import com.cnbm.admin.utils.BaseSupportUtils;
import com.cnbm.basic.dto.ProductFeaturesDTO;
import com.cnbm.basic.dto.SequenceDTO;
import com.cnbm.basic.dto.WorkingProcedureDTO;
@@ -85,6 +86,7 @@ public class ProductWorkingprocedureRelationServiceImpl extends CrudServiceImpl<
Integer lastSequence = lastDto.getSequence();
entity.setSequence(lastSequence + 1);
}
BaseSupportUtils.setCommonField(entity);
insert(entity);
}
else{
@@ -96,6 +98,7 @@ public class ProductWorkingprocedureRelationServiceImpl extends CrudServiceImpl<
@Transactional(rollbackFor = Exception.class)
public void update(ProductWorkingprocedureRelationDTO dto) {
ProductWorkingprocedureRelation entity = ConvertUtils.sourceToTarget(dto, ProductWorkingprocedureRelation.class);
BaseSupportUtils.setUpdateCommonField(entity);
updateById(entity);
}
@@ -143,6 +146,7 @@ public class ProductWorkingprocedureRelationServiceImpl extends CrudServiceImpl<
public void batchInsertWorkingprocedure(ProductWorkingprocedureRelationDTO[] lists) {
for(ProductWorkingprocedureRelationDTO dto:lists){
ValidatorUtils.validateEntity(dto, AddGroup.class, DefaultGroup.class);
BaseSupportUtils.setCommonField(dto);
save(dto);
}
}

View File

@@ -2,6 +2,7 @@ package com.cnbm.basic.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.cnbm.admin.utils.BaseSupportUtils;
import com.cnbm.common.page.PageData;
import com.cnbm.common.service.impl.CrudServiceImpl;
import com.cnbm.basic.dto.ShiftDTO;
@@ -60,6 +61,7 @@ public class ShiftServiceImpl extends CrudServiceImpl<ShiftMapper, Shift, ShiftD
@Transactional(rollbackFor = Exception.class)
public void save(ShiftDTO dto) {
Shift entity = ConvertUtils.sourceToTarget(dto, Shift.class);
BaseSupportUtils.setCommonField(entity);
insert(entity);
}
@@ -67,6 +69,7 @@ public class ShiftServiceImpl extends CrudServiceImpl<ShiftMapper, Shift, ShiftD
@Transactional(rollbackFor = Exception.class)
public void update(ShiftDTO dto) {
Shift entity = ConvertUtils.sourceToTarget(dto, Shift.class);
BaseSupportUtils.setUpdateCommonField(entity);
updateById(entity);
}

View File

@@ -2,6 +2,7 @@ package com.cnbm.basic.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.cnbm.admin.utils.BaseSupportUtils;
import com.cnbm.common.page.PageData;
import com.cnbm.common.service.impl.CrudServiceImpl;
import com.cnbm.basic.dto.TeamDTO;
@@ -60,6 +61,7 @@ public class TeamServiceImpl extends CrudServiceImpl<TeamMapper, Team, TeamDTO>
@Transactional(rollbackFor = Exception.class)
public void save(TeamDTO dto) {
Team entity = ConvertUtils.sourceToTarget(dto, Team.class);
BaseSupportUtils.setCommonField(entity);
insert(entity);
}
@@ -67,6 +69,7 @@ public class TeamServiceImpl extends CrudServiceImpl<TeamMapper, Team, TeamDTO>
@Transactional(rollbackFor = Exception.class)
public void update(TeamDTO dto) {
Team entity = ConvertUtils.sourceToTarget(dto, Team.class);
BaseSupportUtils.setUpdateCommonField(entity);
updateById(entity);
}

View File

@@ -3,6 +3,7 @@ package com.cnbm.basic.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.ObjectUtils;
import com.cnbm.admin.utils.BaseSupportUtils;
import com.cnbm.basic.dto.FactoryDTO;
import com.cnbm.common.page.PageData;
import com.cnbm.common.service.impl.CrudServiceImpl;
@@ -64,6 +65,7 @@ public class UnitServiceImpl extends CrudServiceImpl<UnitMapper, Unit, UnitDTO>
@Transactional(rollbackFor = Exception.class)
public void save(UnitDTO dto) {
Unit entity = ConvertUtils.sourceToTarget(dto, Unit.class);
BaseSupportUtils.setCommonField(entity);
insert(entity);
}
@@ -71,6 +73,7 @@ public class UnitServiceImpl extends CrudServiceImpl<UnitMapper, Unit, UnitDTO>
@Transactional(rollbackFor = Exception.class)
public void update(UnitDTO dto) {
Unit entity = ConvertUtils.sourceToTarget(dto, Unit.class);
BaseSupportUtils.setUpdateCommonField(entity);
updateById(entity);
}

View File

@@ -3,6 +3,7 @@ package com.cnbm.basic.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.ObjectUtils;
import com.cnbm.admin.utils.BaseSupportUtils;
import com.cnbm.basic.dto.UnitDTO;
import com.cnbm.basic.dto.WorkingProcedureTypeDTO;
import com.cnbm.basic.entity.Machine;
@@ -107,6 +108,7 @@ public class WorkingProcedureServiceImpl extends CrudServiceImpl<WorkingProcedur
@Transactional(rollbackFor = Exception.class)
public void save(WorkingProcedureDTO dto) {
WorkingProcedure entity = ConvertUtils.sourceToTarget(dto, WorkingProcedure.class);
BaseSupportUtils.setCommonField(entity);
insert(entity);
}
@@ -114,6 +116,7 @@ public class WorkingProcedureServiceImpl extends CrudServiceImpl<WorkingProcedur
@Transactional(rollbackFor = Exception.class)
public void update(WorkingProcedureDTO dto) {
WorkingProcedure entity = ConvertUtils.sourceToTarget(dto, WorkingProcedure.class);
BaseSupportUtils.setUpdateCommonField(entity);
updateById(entity);
}

View File

@@ -3,6 +3,7 @@ package com.cnbm.basic.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.ObjectUtils;
import com.cnbm.admin.utils.BaseSupportUtils;
import com.cnbm.common.page.PageData;
import com.cnbm.common.service.impl.CrudServiceImpl;
import com.cnbm.basic.dto.WorkingProcedureTypeDTO;
@@ -59,6 +60,7 @@ public class WorkingProcedureTypeServiceImpl extends CrudServiceImpl<WorkingProc
@Transactional(rollbackFor = Exception.class)
public void save(WorkingProcedureTypeDTO dto) {
WorkingProcedureType entity = ConvertUtils.sourceToTarget(dto, WorkingProcedureType.class);
BaseSupportUtils.setCommonField(entity);
insert(entity);
}
@@ -66,6 +68,7 @@ public class WorkingProcedureTypeServiceImpl extends CrudServiceImpl<WorkingProc
@Transactional(rollbackFor = Exception.class)
public void update(WorkingProcedureTypeDTO dto) {
WorkingProcedureType entity = ConvertUtils.sourceToTarget(dto, WorkingProcedureType.class);
BaseSupportUtils.setUpdateCommonField(entity);
updateById(entity);
}

View File

@@ -1,6 +1,11 @@
package com.cnbm.common.spc.util;
import java.text.SimpleDateFormat;
import java.time.Instant;
import java.time.LocalDateTime;
import java.time.ZoneId;
import java.time.ZoneOffset;
import java.time.format.DateTimeFormatter;
import java.util.ArrayList;
import java.util.Calendar;
import java.util.Date;
@@ -13,14 +18,18 @@ import java.util.List;
*/
public class DataUtils {
public static void main(String[] args) {
ArrayList<Integer> arrs = new ArrayList<>();
for(int i=0;i<100;i++){
arrs.add(i);
}
List<List<Integer>> lists = fixedGroup(arrs, 10);
System.out.println();
// ArrayList<Integer> arrs = new ArrayList<>();
//
// for(int i=0;i<100;i++){
// arrs.add(i);
// }
// List<List<Integer>> lists = fixedGroup(arrs, 10);
// System.out.println();
LocalDateTime now = LocalDateTime.now();
Instant instant1 = now.atZone(ZoneId.systemDefault()).toInstant();
Instant instant2 = now.toInstant(ZoneOffset.UTC);
Instant instant3 = StringToInstant("2024-01-22 12:00:00");
System.out.println(instant1+" - "+instant2+" - "+instant3);
}
@@ -46,7 +55,20 @@ public class DataUtils {
return result;
}
public static final Instant StringToInstant(String string) {
DateTimeFormatter dateTimeFormatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
LocalDateTime parse = LocalDateTime.parse(string, dateTimeFormatter);
//return parse.toInstant(ZoneOffset.UTC);
return parse.atZone(ZoneId.systemDefault()).toInstant();
}
public static final Instant StringToInstantPlus8(String string) {
DateTimeFormatter dateTimeFormatter = DateTimeFormatter.ofPattern("yyyy-MM-dd'T'HH:mm:ss.SSS'Z'");
//LocalDateTime parse = LocalDateTime.parse(string, dateTimeFormatter).plusHours(8);
LocalDateTime parse = LocalDateTime.parse(string, dateTimeFormatter).minusHours(8);
return parse.toInstant(ZoneOffset.UTC);
}
public static String splitToNeed(String s,Integer type){
String[] s1 = s.split(" ");
String[] split = s1[0].split("-");

View File

@@ -86,4 +86,61 @@
</dependency>
</dependencies>
<build>
<finalName>${project.artifactId}</finalName>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<version>2.5.12</version>
<configuration>
<!--指定运行main函数的包-->
<mainClass>com.cnbm.YmApplication</mainClass>
<!--开启分层编译支持-->
<layers>
<enabled>true</enabled>
<configuration>${project.basedir}/src/main/resources/layers.xml</configuration>
</layers>
<excludes>
<exclude>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
</exclude>
</excludes>
</configuration>
<executions>
<execution>
<goals>
<goal>repackage</goal>
</goals>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<configuration>
<skipTests>true</skipTests>
</configuration>
</plugin>
<plugin>
<groupId>com.spotify</groupId>
<artifactId>docker-maven-plugin</artifactId>
<version>${docker.plugin.version}</version>
<configuration>
<imageName>ym-pass/${project.artifactId}</imageName>
<dockerDirectory>${project.basedir}/</dockerDirectory>
<resources>
<resource>
<targetPath>/</targetPath>
<directory>${project.build.directory}</directory>
<include>${project.build.finalName}.jar</include>
</resource>
</resources>
</configuration>
</plugin>
</plugins>
</build>
</project>

View File

@@ -21,14 +21,11 @@ import springfox.documentation.spi.service.contexts.SecurityContext;
import springfox.documentation.spring.web.plugins.Docket;
import springfox.documentation.spring.web.plugins.WebFluxRequestHandlerProvider;
import springfox.documentation.spring.web.plugins.WebMvcRequestHandlerProvider;
import java.lang.reflect.Field;
import java.util.Arrays;
import java.util.List;
import java.util.stream.Collectors;
import static com.google.common.collect.Lists.newArrayList;
/**
* @Author weihongyang
* @Date 2022/6/21 10:56 AM
@@ -128,6 +125,7 @@ public class SwaggerConfig {
.securitySchemes(Arrays.asList(new ApiKey("token", "token", "header")));
}
@Bean
public Docket processInspectionApi() {
return new Docket(DocumentationType.SWAGGER_2)

View File

@@ -2,9 +2,15 @@ spring:
datasource:
#MySQL
driver-class-name: com.mysql.cj.jdbc.Driver
url: jdbc:mysql://mysql.picaiba.com:30307/spc?useUnicode=true&characterEncoding=UTF-8&serverTimezone=Asia/Shanghai&nullCatalogMeansCurrent=true
username: root
password: 1qaz@WSX3edc$RFV
# url: jdbc:mysql://mysql.picaiba.com:30307/spc?useUnicode=true&characterEncoding=UTF-8&serverTimezone=Asia/Shanghai&nullCatalogMeansCurrent=true
# username: root
# password: 1qaz@WSX3edc$RFV
url: jdbc:mysql://172.16.21.131:3306/spc?useUnicode=true&characterEncoding=UTF-8&serverTimezone=Asia/Shanghai&nullCatalogMeansCurrent=true
username: spcw
password: fxltsblXSSXYBY
# url: jdbc:mysql://172.16.21.131:3306/spc?useUnicode=true&characterEncoding=UTF-8&serverTimezone=Asia/Shanghai&nullCatalogMeansCurrent=true
# username: spcw
# password: fxltsblXSSXYBY
# #Oracle
# driver-class-name: oracle.jdbc.OracleDriver
# url: jdbc:oracle:thin:@192.168.10.10:1521:xe
@@ -77,4 +83,4 @@ spring:
# writeTimeout: 5s # Write timeout for OkHttpClient. (Default: 10s)
# connectTimeout: 5s # Connection timeout for OkHttpClient. (Default: 10s)
# management.health.influx.enabled=true # Whether to enable InfluxDB 2.x health check.
# management.health.influx.enabled=true # Whether to enable InfluxDB 2.x health check.

View File

@@ -2,9 +2,12 @@ spring:
datasource:
#MySQL
driver-class-name: com.mysql.cj.jdbc.Driver
url: jdbc:mysql://mysql.picaiba.com:30307/ym_pass?useUnicode=true&characterEncoding=UTF-8&serverTimezone=Asia/Shanghai&nullCatalogMeansCurrent=true
username: root
password: 1qaz@WSX3edc$RFV
# url: jdbc:mysql://mysql.picaiba.com:30307/ym_pass?useUnicode=true&characterEncoding=UTF-8&serverTimezone=Asia/Shanghai&nullCatalogMeansCurrent=true
# username: root
# password: 1qaz@WSX3edc$RFV
url: jdbc:mysql://172.16.21.131:3306/spc?useUnicode=true&characterEncoding=UTF-8&serverTimezone=Asia/Shanghai&nullCatalogMeansCurrent=true
username: spcw
password: fxltsblXSSXYBY
# #Oracle
# driver-class-name: oracle.jdbc.OracleDriver
# url: jdbc:oracle:thin:@192.168.10.10:1521:xe

View File

@@ -5,9 +5,9 @@ server:
threads:
max: 1000
min-spare: 30
port: 8080
port: 8999
servlet:
context-path: /ym-spc
context-path: /spcserver
session:
cookie:
http-only: true
@@ -33,7 +33,10 @@ spring:
enabled: true
redis:
database: 2
host: redis.picaiba.com
# host: 127.0.0.1
# port: 6379
# password: ''
host: 172.16.21.99
port: 6380
password: '@WSXcde3' # 密码(默认为空)
timeout: 6000ms # 连接超时时长(毫秒)

View File

@@ -0,0 +1,27 @@
<layers xmlns="http://www.springframework.org/schema/boot/layers"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/boot/layers
https://www.springframework.org/schema/boot/layers/layers.xsd">
<application>
<into layer="spring-boot-loader">
<include>org/springframework/boot/loader/**</include>
</into>
<into layer="application" />
</application>
<dependencies>
<into layer="snapshot-dependencies">
<include>*:*:*SNAPSHOT</include>
</into>
<into layer="company-dependencies">
<include>com.cnbm:*</include>
</into>
<into layer="dependencies"/>
</dependencies>
<layerOrder>
<layer>dependencies</layer>
<layer>spring-boot-loader</layer>
<layer>snapshot-dependencies</layer>
<layer>company-dependencies</layer>
<layer>application</layer>
</layerOrder>
</layers>

View File

@@ -19,7 +19,7 @@ public class CodeGenerator {
@Test
public void test(){
mybatisPlusGenerator(new String[]{"inspection_sheet"});
mybatisPlusGenerator(new String[]{"unit"});
}
public static void mybatisPlusGenerator(String[] include){

View File

@@ -51,7 +51,6 @@ public class InspectionSheetController {
@PreAuthorize("@ex.hasAuthority('code:inspectionSheet:page')")
public Result<PageData<InspectionSheetDTO>> page(@ApiIgnore @RequestParam Map<String, Object> params){
PageData<InspectionSheetDTO> page = inspectionSheetService.page(params);
return new Result<PageData<InspectionSheetDTO>>().ok(page);
}
@@ -60,7 +59,6 @@ public class InspectionSheetController {
@PreAuthorize("@ex.hasAuthority('code:inspectionSheet:info')")
public Result<InspectionSheetDTO> get(@PathVariable("id") Long id){
InspectionSheetDTO data = inspectionSheetService.get(id);
return new Result<InspectionSheetDTO>().ok(data);
}
@@ -71,7 +69,6 @@ public class InspectionSheetController {
public Result<Long> save(@RequestBody InspectionSheetDTO dto){
//效验数据
ValidatorUtils.validateEntity(dto, AddGroup.class, DefaultGroup.class);
try {
inspectionSheetService.save(dto);
}catch (Exception e){
@@ -86,9 +83,7 @@ public class InspectionSheetController {
public Result<Long> update(@RequestBody InspectionSheetDTO dto){
//效验数据
ValidatorUtils.validateEntity(dto, UpdateGroup.class, DefaultGroup.class);
inspectionSheetService.update(dto);
return new Result<Long>().ok(dto.getId());
}
@@ -99,9 +94,7 @@ public class InspectionSheetController {
public Result delete(@RequestBody Long[] ids){
//效验数据
AssertUtils.isArrayEmpty(ids, "id");
inspectionSheetService.delete(ids);
return new Result();
}
@@ -111,8 +104,6 @@ public class InspectionSheetController {
@PreAuthorize("@ex.hasAuthority('code:inspectionSheet:export')")
public void export(@ApiIgnore @RequestParam Map<String, Object> params, HttpServletResponse response) throws Exception {
List<InspectionSheetDTO> list = inspectionSheetService.list(params);
ExcelUtils.exportExcelToTarget(response, null, list, InspectionSheetExcel.class);
}
}

View File

@@ -31,7 +31,7 @@ import java.util.Map;
* 单位 表 前端控制器
*
* @author why
* @since 2022-06-30
* @since 2023-01-12
*/
@RestController
@RequestMapping("/code/unit")
@@ -68,26 +68,26 @@ public class UnitController {
@ApiOperation("保存")
@LogOperation("保存")
@PreAuthorize("@ex.hasAuthority('code:unit:save')")
public Result save(@RequestBody UnitDTO dto){
public Result<Long> save(@RequestBody UnitDTO dto){
//效验数据
ValidatorUtils.validateEntity(dto, AddGroup.class, DefaultGroup.class);
unitService.save(dto);
return new Result();
return new Result<Long>().ok(dto.getId());
}
@PutMapping
@ApiOperation("修改")
@LogOperation("修改")
@PreAuthorize("@ex.hasAuthority('code:unit:update')")
public Result update(@RequestBody UnitDTO dto){
public Result<Long> update(@RequestBody UnitDTO dto){
//效验数据
ValidatorUtils.validateEntity(dto, UpdateGroup.class, DefaultGroup.class);
unitService.update(dto);
return new Result();
return new Result<Long>().ok(dto.getId());
}
@DeleteMapping

View File

@@ -14,7 +14,7 @@ import java.math.BigDecimal;
* 单位 表
*
* @author why
* @since 2022-06-30
* @since 2023-01-12
*/
@Data
@ApiModel(value = "单位 表DTO对象")
@@ -23,8 +23,8 @@ public class UnitDTO implements Serializable {
@ApiModelProperty(value = "ID")
private BigDecimal id;
@ApiModelProperty(value = "")
private Long id;
@ApiModelProperty(value = "单位 名")
private String name;
@@ -33,19 +33,19 @@ public class UnitDTO implements Serializable {
private String code;
@ApiModelProperty(value = "单位类型1 可计数2 不可计数")
private BigDecimal type;
private Integer type;
@ApiModelProperty(value = "1 可用0 不可用")
private BigDecimal status;
private Integer status;
@ApiModelProperty(value = "备注")
private String remark;
@ApiModelProperty(value = "删除标志,是否有效:1 可用 0不可用")
private BigDecimal valid;
private Integer valid;
@ApiModelProperty(value = "创建人")
private BigDecimal creatorId;
@ApiModelProperty(value = "")
private Long creatorId;
@ApiModelProperty(value = "创建人姓名")
private String creatorName;
@@ -53,8 +53,8 @@ public class UnitDTO implements Serializable {
@ApiModelProperty(value = "创建时间")
private LocalDateTime createTime;
@ApiModelProperty(value = "更新人")
private BigDecimal updaterId;
@ApiModelProperty(value = "")
private Long updaterId;
@ApiModelProperty(value = "更新人姓名")
private String updaterName;
@@ -63,6 +63,6 @@ public class UnitDTO implements Serializable {
private LocalDateTime updateTime;
@ApiModelProperty(value = "版本号")
private BigDecimal version;
private Integer version;
}

View File

@@ -1,7 +1,7 @@
package com.cnbm.generator.code.entity;
import com.baomidou.mybatisplus.annotation.TableLogic;
import java.io.Serializable;
import java.math.BigDecimal;
import java.time.LocalDateTime;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
@@ -13,7 +13,7 @@ import lombok.Data;
* </p>
*
* @author why
* @since 2022-06-30
* @since 2023-01-12
*/
@Data
@ApiModel(value = "Unit对象", description = "单位 表")
@@ -21,8 +21,7 @@ public class Unit implements Serializable {
private static final long serialVersionUID = 1L;
@ApiModelProperty("ID")
private BigDecimal id;
private Long id;
@ApiModelProperty("单位 名")
private String name;
@@ -31,19 +30,19 @@ public class Unit implements Serializable {
private String code;
@ApiModelProperty("单位类型1 可计数2 不可计数")
private BigDecimal type;
private Integer type;
@ApiModelProperty("1 可用0 不可用")
private BigDecimal status;
private Integer status;
@ApiModelProperty("备注")
private String remark;
@ApiModelProperty("删除标志,是否有效:1 可用 0不可用")
private BigDecimal valid;
@TableLogic
private Integer valid;
@ApiModelProperty("创建人")
private BigDecimal creatorId;
private Long creatorId;
@ApiModelProperty("创建人姓名")
private String creatorName;
@@ -51,8 +50,7 @@ public class Unit implements Serializable {
@ApiModelProperty("创建时间")
private LocalDateTime createTime;
@ApiModelProperty("更新人")
private BigDecimal updaterId;
private Long updaterId;
@ApiModelProperty("更新人姓名")
private String updaterName;
@@ -61,7 +59,7 @@ public class Unit implements Serializable {
private LocalDateTime updateTime;
@ApiModelProperty("版本号")
private BigDecimal version;
private Integer version;
}

View File

@@ -12,37 +12,37 @@ import java.util.Date;
* 单位 表
*
* @author why
* @since 2022-06-30
* @since 2023-01-12
*/
@Data
public class UnitExcel {
@Excel(name = "ID")
private BigDecimal id;
@Excel(name = "")
private Long id;
@Excel(name = "单位 名")
private String name;
@Excel(name = "单位 编码")
private String code;
@Excel(name = "单位类型1 可计数2 不可计数")
private BigDecimal type;
private Integer type;
@Excel(name = "1 可用0 不可用")
private BigDecimal status;
private Integer status;
@Excel(name = "备注")
private String remark;
@Excel(name = "删除标志,是否有效:1 可用 0不可用")
private BigDecimal valid;
@Excel(name = "创建人")
private BigDecimal creatorId;
private Integer valid;
@Excel(name = "")
private Long creatorId;
@Excel(name = "创建人姓名")
private String creatorName;
@Excel(name = "创建时间")
private LocalDateTime createTime;
@Excel(name = "更新人")
private BigDecimal updaterId;
@Excel(name = "")
private Long updaterId;
@Excel(name = "更新人姓名")
private String updaterName;
@Excel(name = "更新时间")
private LocalDateTime updateTime;
@Excel(name = "版本号")
private BigDecimal version;
private Integer version;
}

View File

@@ -8,7 +8,7 @@ import org.apache.ibatis.annotations.Mapper;
* 单位 表
*
* @author why
* @since 2022-06-30
* @since 2023-01-12
*/
@Mapper
public interface UnitMapper extends BaseDao<Unit> {

View File

@@ -1,5 +1,21 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.cnbm.generator.code.mapper.UnitMapper">
<resultMap type="com.cnbm.generator.code.entity.Unit" id="UnitMap">
<id column="id" property="id" />
<id column="name" property="name" />
<id column="code" property="code" />
<id column="type" property="type" />
<id column="status" property="status" />
<id column="remark" property="remark" />
<id column="valid" property="valid" />
<id column="creator_id" property="creatorId" />
<id column="creator_name" property="creatorName" />
<id column="create_time" property="createTime" />
<id column="updater_id" property="updaterId" />
<id column="updater_name" property="updaterName" />
<id column="update_time" property="updateTime" />
<id column="version" property="version" />
</resultMap>
</mapper>

View File

@@ -8,7 +8,7 @@ import com.cnbm.generator.code.entity.Unit;
* 单位 表
*
* @author why
* @since 2022-06-30
* @since 2023-01-12
*/
public interface IUnitService extends CrudService<Unit, UnitDTO> {

View File

@@ -15,7 +15,7 @@ import java.util.Map;
* 单位 表
*
* @author why
* @since 2022-06-30
* @since 2023-01-12
*/
@Service
public class UnitServiceImpl extends CrudServiceImpl<UnitMapper, Unit, UnitDTO> implements IUnitService {

View File

@@ -1,5 +1,6 @@
package com.cnbm.influx.config;
import com.cnbm.common.spc.util.DataUtils;
import com.cnbm.influx.constant.Constant;
import com.cnbm.influx.param.*;
import com.cnbm.influx.template.Event;
@@ -19,8 +20,10 @@ public enum InfluxClient {
/**
* influxdb 读写客户端如果write比较繁忙后续可以考虑维护 client一个线程池。
* */
Client("http://192.168.0.170:8086","lkBsC27QZr1W50BSPlGxpTqNNpwuUk5uz1dZZRPSPbCG5VmNDDUo8P3UkZIhGWwfJwkuz6ZGZ7Et4_KBaG3gHw==","qgs","qgs-bucket"),
//Client("http://192.168.0.171:8086","lkq32gtomiKd4nu-kwZVUBEbn1HLdigjRPfuA6p8c29KFfqRs8JcR3IDLDsKzVFA-TDHbG1W6EP3EcJKKqpDPg==","qgs","qgs-bucket"),
//瑞昌-cdte spc-all-token
Client("http://172.16.21.111:8086","XLTjiVj368gLL0j-hTcAS6HE17M7tY5fj3ipt1gXTjgVqdGRE5pEhpGMABzchYFZpmaQsGTUckR5Rs8Erz8nKQ==","qgs","qgs-bucket"),
;
private String url;
private String token;
@@ -74,7 +77,7 @@ public enum InfluxClient {
}
/**
* desc: 异步批量 写入数据/更新数据
* desc: 异步批量 写入数据 / 更新数据
* notes: 如果是更新数据要保证time字段不能改变
* auth: caixaing
* */
@@ -99,7 +102,6 @@ public enum InfluxClient {
.time(event.getTime().toEpochMilli(), WritePrecision.MS);
}
writeApi.writePoint(point);
}
/**
@@ -117,10 +119,12 @@ public enum InfluxClient {
.addTag("argName", event.getArgName())
.addField("argValue", event.getArgValue())
.time(event.getTime().toEpochMilli(), WritePrecision.MS);
//.time(DataUtils.StringToInstantPlus8(event.getTime().toString()).toEpochMilli(), WritePrecision.MS);
}else {
point = Point.measurement(measurement)
.addTag("transationId", event.getTransationId()==null ? "" : event.getTransationId())
.addTag("inspectionSheetId", event.getInspectionSheetId())
.addTag("inspectionSheetId", event.getInspectionSheetId()==null ? "" : event.getInspectionSheetId())
// .addTag("batchNum", event.getBatchNum())
.addTag("sampleNumber", event.getSampleNumber())
@@ -129,9 +133,8 @@ public enum InfluxClient {
.addTag("argName", event.getArgName())
.addField("argValue", event.getArgValue())
.time(event.getTime().toEpochMilli(), WritePrecision.MS);
//.time(DataUtils.StringToInstantPlus8(event.getTime().toString()).toEpochMilli(), WritePrecision.MS);
}
list.add(point);
}
writeApi.writePoints(list);
@@ -181,6 +184,7 @@ public enum InfluxClient {
return queryApi.query(flux);
}
// public List<FluxTable> queryByGroup(QueryDataParam param){
// String measurement = param.getMeasurement();
// List<String> dropedTagNames = param.getDropedTagNames();

View File

@@ -29,6 +29,27 @@ public class S7DemoController {
private static final Logger logger = LoggerFactory.getLogger(S7DemoController.class);
//for 常规计量型
@PostMapping("/insertDemoDataForMetering")
public void insertDemoDataForMetering() throws InterruptedException {
List<Event> list = new ArrayList<>();
Random r = new Random();
for(int i=0;i<999;i++){
Thread.sleep(10);
Event event = new Event();
event.setTime(DataUtils.getAfterDate(i).toInstant());
event.setTransationId("forbatch"+i);
event.setArgName("LTWeight");
Double d = r.nextDouble() * 2.5 + 66;
event.setArgValue(d.toString());
event.setInspectionSheetId(i+"");
list.add(event);
}
InfluxClient.Client.batchInsert(list,"Weight");
}
//for 常规计数型
@PostMapping("/insertDemoDataForCount")
public void insertDemoDataForCount() throws InterruptedException {
@@ -63,10 +84,9 @@ public class S7DemoController {
}
@PostMapping("/insertDemoOne")
public void insertDemoOne() throws InterruptedException {
public void insertDemoOne(){
List<Event> list = new ArrayList<>();
Event event = new Event();
event.setTime(new Date(1670554110451L).toInstant());
event.setArgName("failDayDay");
@@ -81,22 +101,9 @@ public class S7DemoController {
event2.setSampleNumber("10001");
list.add(event2);
InfluxClient.Client.batchInsert(list,"Weight");
// Thread.sleep(10000);
//
// List<Event> list2 = new ArrayList<>();
// Event event2 = new Event();
// event2.setTime(time);
//
// event2.setArgName("failDayDay");
// event2.setArgValue("20087");
// event2.setSampleNumber("10001");
// list2.add(event2);
//
// InfluxClient.Client.batchInsert(list2,"Weight");
}
@PostMapping("/readDemoOne")
public void readDemoOne() throws InterruptedException {
public void readDemoOne() {
List<String> dropNames = new ArrayList<>();
dropNames.add("transationId");
// dropNames.add("inspectionSheetId");
@@ -114,7 +121,7 @@ public class S7DemoController {
}
@PostMapping("/getFlux")
public Result<Instant> getFlux() throws InterruptedException {
public Result<Instant> getFlux() {
List<String> dropNames = new ArrayList<>();
dropNames.add("transationId");
dropNames.add("inspectionSheetId");
@@ -133,7 +140,7 @@ public class S7DemoController {
}
@PostMapping("/saveFlux1")
public Result<Instant> saveFlux1() throws InterruptedException {
public Result<Instant> saveFlux1() {
List<Event> list = new ArrayList<>();
Event event2 = new Event();
@@ -146,8 +153,9 @@ public class S7DemoController {
InfluxClient.Client.batchInsert(list,"Weight");
return new Result<Instant>().ok(instant);
}
@PostMapping("/saveFlux2")
public void saveFlux2(@RequestBody TIMETest timeTest) throws InterruptedException {
public void saveFlux2(@RequestBody TIMETest timeTest) {
List<Event> list = new ArrayList<>();
Event event2 = new Event();
@@ -161,26 +169,7 @@ public class S7DemoController {
}
//for 常规计量型
@PostMapping("/insertDemoDataForMetering")
public void insertDemoDataForMetering() throws InterruptedException {
List<Event> list = new ArrayList<>();
Random r = new Random();
for(int i=0;i<99;i++){
Thread.sleep(10);
Event event = new Event();
event.setTime(Instant.now());
event.setTransationId("forbatch"+i);
event.setArgName("LTWeight");
Double d = r.nextDouble() * 2.5 + 66;
event.setArgValue(d.toString());
event.setInspectionSheetId(i+"");
list.add(event);
}
InfluxClient.Client.batchInsert(list,"Weight");
}
//
// @PostMapping("/insertBatchJYD")
// public void insertBatchJYD() throws InterruptedException {
@@ -209,7 +198,7 @@ public class S7DemoController {
// public void insertAndQuery() throws InterruptedException {
// Event event = new Event();
//
//// long l = System.currentTimeMillis();
// long l = System.currentTimeMillis();
//// System.out.println("l:"+l);
//// event.setTime(new Date(1669874900889l).toInstant());
////

View File

@@ -1,13 +1,9 @@
package com.cnbm.influx.controller;
import com.cnbm.common.spc.util.DataUtils;
import com.cnbm.common.utils.Result;
import com.cnbm.influx.config.InfluxClient;
import com.cnbm.influx.constant.Constant;
import com.cnbm.influx.param.QueryDataParam;
import com.cnbm.influx.param.Range;
import com.cnbm.influx.param.Tag;
import com.cnbm.influx.template.Event;
import com.influxdb.query.FluxTable;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -15,8 +11,6 @@ import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import java.time.Instant;
import java.util.*;
@RestController
@@ -26,7 +20,6 @@ public class SPCController {
@PostMapping("/getData")
public Result getData(@RequestBody QueryDataParam param){
List<FluxTable> query = InfluxClient.Client.query(param);
return new Result<List<FluxTable>>().ok(query);
}

View File

@@ -16,7 +16,7 @@ public class BaseParam implements Serializable {
//page 信息可选
private PageInfo pageInfo;
@NotEmpty(message = "measurement 不能为空")
@NotEmpty(message = "measurement 不能为空, 设备名一个设备一个measurement一个表")
private String measurement;
@NotNull(message = "查询时间段不能为空")

View File

@@ -7,4 +7,4 @@ package com.cnbm.processInspection.constant;
*/
public class Constant {
public String measureMent = "WeightHeiHei";
}
}

View File

@@ -13,8 +13,6 @@ import com.cnbm.common.validator.ValidatorUtils;
import com.cnbm.common.validator.group.AddGroup;
import com.cnbm.common.validator.group.DefaultGroup;
import com.cnbm.common.validator.group.UpdateGroup;
import com.cnbm.processInspection.dto.InspectionSampleDTO;
import com.cnbm.processInspection.dto.InspectionSampleDTO2;
import com.cnbm.processInspection.dto.InspectionSampleDTO3;
@@ -22,7 +20,6 @@ import com.cnbm.processInspection.dto.InspectionSheetDTO;
import com.cnbm.processInspection.entity.InspectionSheet;
import com.cnbm.processInspection.excel.InspectionSheetExcel;
import com.cnbm.processInspection.service.IInspectionSheetService;
import com.influxdb.query.FluxTable;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiImplicitParams;
@@ -71,7 +68,6 @@ public class InspectionSheetController {
@PreAuthorize("@ex.hasAuthority('processInspection:inspectionSheet:page')")
public Result<PageData<InspectionSheetDTO>> page(@ApiIgnore @RequestParam Map<String, Object> params){
PageData<InspectionSheetDTO> page = inspectionSheetService.page(params);
return new Result<PageData<InspectionSheetDTO>>().ok(page);
}
@@ -80,7 +76,6 @@ public class InspectionSheetController {
@PreAuthorize("@ex.hasAuthority('processInspection:inspectionSheet:info')")
public Result<InspectionSheetDTO> get(@PathVariable("id") Long id){
InspectionSheetDTO data = inspectionSheetService.get(id);
return new Result<InspectionSheetDTO>().ok(data);
}
@@ -91,7 +86,6 @@ public class InspectionSheetController {
public Result<Long> save(@RequestBody InspectionSheetDTO dto){
//效验数据
ValidatorUtils.validateEntity(dto, AddGroup.class, DefaultGroup.class);
// try {
// inspectionSheetService.saveSheet(dto);
// }catch (Exception e){
@@ -195,7 +189,6 @@ public class InspectionSheetController {
@PostMapping("saveFluxParamList2")
@ApiOperation("将样本检测参数写入influxdb2")
public Result saveFluxParamList2(@RequestBody InspectionSampleDTO2[] lists) throws InterruptedException{
inspectionSheetService.saveFluxParamList2(lists);
Thread.sleep(1000);
//样本数据更新后 计算检验单缺陷数不良数
@@ -206,7 +199,6 @@ public class InspectionSheetController {
@PostMapping("saveFluxParamList3")
@ApiOperation("将样本检测参数写入influxdb3")
public Result saveFluxParamList3(@RequestBody InspectionSampleDTO3[] lists) throws InterruptedException{
inspectionSheetService.saveFluxParamList3(lists);
Thread.sleep(1000);
//样本数据更新后 计算检验单缺陷数不良数

View File

@@ -142,44 +142,6 @@ public class ProcessInspectionController {
return R.ok("成功",xmrGraphData);
}
// @PostMapping("/getBatchs")
// public R<List<String>> getBatchs() throws InterruptedException {
// List<Event> list = new ArrayList<>();
// Random r = new Random();
// Instant instant = DataUtils.getBeforeDate(400).toInstant();
// List<String> res = new ArrayList<>();
//
// QueryDataParam queryDataParam = new QueryDataParam();
// queryDataParam.setBucket("qgs-bucket");
// queryDataParam.setMeasurement("Weight");
// List<String> dropNames = new ArrayList<>();
// dropNames.add("transationId");
// dropNames.add("_value");
// dropNames.add("_start");
// dropNames.add("_stop");
// dropNames.add("_time");
// dropNames.add("_field");
// dropNames.add("_measurement");
// dropNames.add("inspectionSheetId");
// dropNames.add("argName");
// queryDataParam.setDropedTagNames(dropNames);
//
// queryDataParam.setTags(Arrays.asList(new Tag("argName","LTWeight")));
//
// queryDataParam.setRange(new Range(DataUtils.getBeforeDate(100).toInstant(),Instant.now()));
//// queryDataParam.setPageInfo(new PageInfo(1,10));
// List<FluxTable> query = InfluxClient.Client.queryByGroup(queryDataParam);
//
//
// for (FluxTable fluxTable : query) {
// List<FluxRecord> records = fluxTable.getRecords();
// if(records.size()!=0){
// res.add((String) records.get(0).getValueByKey("batchNum"));
// continue;
// }
// }
// return R.ok(res);
// }
@PostMapping("/NPGraphTest")
@@ -220,7 +182,8 @@ public class ProcessInspectionController {
QueryDataGroupByTimeParam queryDataParam = new QueryDataGroupByTimeParam();
// queryDataParam.setMeasurement(Constant.measurement);
queryDataParam.setMeasurement(graphArg.getProcedureName());
queryDataParam.setRange(new Range( graphArg.getBegin().toInstant() , graphArg.getEnd().toInstant() ));
//queryDataParam.setRange(new Range( graphArg.getBegin().toInstant() , graphArg.getEnd().toInstant() ));
queryDataParam.setRange(new Range( DataUtils.StringToInstant(graphArg.getBegin()) , DataUtils.StringToInstant(graphArg.getEnd()) ));
queryDataParam.setTimeType(graphArg.getGroupType());
npGraph.initialDate(queryDataParam);
@@ -348,7 +311,9 @@ public class ProcessInspectionController {
QueryDataParam queryDataParam = new QueryDataParam();
// queryDataParam.setMeasurement(Constant.measurement);
queryDataParam.setMeasurement(graphArg.getProcedureName());
queryDataParam.setRange(new Range(graphArg.getBegin().toInstant(), graphArg.getEnd().toInstant()));
//queryDataParam.setRange(new Range(graphArg.getBegin().toInstant(), graphArg.getEnd().toInstant()));
queryDataParam.setRange(new Range( DataUtils.StringToInstant(graphArg.getBegin()) , DataUtils.StringToInstant(graphArg.getEnd()) ));
meanStandardDeviationGraph.initialDate(queryDataParam);
XbarSGraphData xbarSGraphData = new XbarSGraphData(
@@ -385,7 +350,8 @@ public class ProcessInspectionController {
// queryDataParam.setMeasurement(Constant.measurement);
queryDataParam.setMeasurement(graphArg.getProcedureName());
queryDataParam.setRange(new Range(graphArg.getBegin().toInstant(), graphArg.getEnd().toInstant()));
//queryDataParam.setRange(new Range(graphArg.getBegin().toInstant(), graphArg.getEnd().toInstant()));
queryDataParam.setRange(new Range( DataUtils.StringToInstant(graphArg.getBegin()) , DataUtils.StringToInstant(graphArg.getEnd()) ));
meanRGraph.initialDate(queryDataParam);
@@ -421,7 +387,8 @@ public class ProcessInspectionController {
QueryDataParam queryDataParam = new QueryDataParam();
// queryDataParam.setMeasurement(Constant.measurement);
queryDataParam.setMeasurement(graphArg.getProcedureName());
queryDataParam.setRange(new Range(graphArg.getBegin().toInstant(), graphArg.getEnd().toInstant()));
//queryDataParam.setRange(new Range(graphArg.getBegin().toInstant(), graphArg.getEnd().toInstant()));
queryDataParam.setRange(new Range( DataUtils.StringToInstant(graphArg.getBegin()) , DataUtils.StringToInstant(graphArg.getEnd()) ));
xmrGraph.initialDate(queryDataParam);
XMRGraphData xmrGraphData = new XMRGraphData(
@@ -451,7 +418,8 @@ public class ProcessInspectionController {
QueryDataGroupByTimeParam queryDataParam = new QueryDataGroupByTimeParam();
// queryDataParam.setMeasurement(Constant.measurement);
queryDataParam.setMeasurement(graphArg.getProcedureName());
queryDataParam.setRange(new Range( graphArg.getBegin().toInstant() , graphArg.getEnd().toInstant() ));
//queryDataParam.setRange(new Range( graphArg.getBegin().toInstant() , graphArg.getEnd().toInstant() ));
queryDataParam.setRange(new Range( DataUtils.StringToInstant(graphArg.getBegin()) , DataUtils.StringToInstant(graphArg.getEnd()) ));
queryDataParam.setTimeType(graphArg.getGroupType());
pGraph.initialDate(queryDataParam);
@@ -473,7 +441,8 @@ public class ProcessInspectionController {
QueryDataGroupByTimeParam queryDataParam = new QueryDataGroupByTimeParam();
// queryDataParam.setMeasurement(Constant.measurement);
queryDataParam.setMeasurement(graphArg.getProcedureName());
queryDataParam.setRange(new Range( graphArg.getBegin().toInstant() , graphArg.getEnd().toInstant() ));
//queryDataParam.setRange(new Range( graphArg.getBegin().toInstant() , graphArg.getEnd().toInstant() ));
queryDataParam.setRange(new Range( DataUtils.StringToInstant(graphArg.getBegin()) , DataUtils.StringToInstant(graphArg.getEnd()) ));
queryDataParam.setTimeType(graphArg.getGroupType());
cGraph.initialDate(queryDataParam);
@@ -496,7 +465,8 @@ public class ProcessInspectionController {
QueryDataGroupByTimeParam queryDataParam = new QueryDataGroupByTimeParam();
// queryDataParam.setMeasurement(Constant.measurement);
queryDataParam.setMeasurement(graphArg.getProcedureName());
queryDataParam.setRange(new Range( graphArg.getBegin().toInstant() , graphArg.getEnd().toInstant() ));
//queryDataParam.setRange(new Range( graphArg.getBegin().toInstant() , graphArg.getEnd().toInstant() ));
queryDataParam.setRange(new Range( DataUtils.StringToInstant(graphArg.getBegin()) , DataUtils.StringToInstant(graphArg.getEnd()) ));
queryDataParam.setTimeType(graphArg.getGroupType());
uGraph.initialDate(queryDataParam);

View File

@@ -23,15 +23,25 @@ public class GraphArg {
@NotNull(message = "检验特性Id 不能为空")
private Long productFeaturesId;
// @ApiModelProperty(value = "查询时间段,开始")
// @JsonFormat(locale="zh", timezone="GMT+8", pattern="yyyy-MM-dd")
// @NotNull(message = "时间段,开始 不能为空")
// private Date begin;
//
// @ApiModelProperty(value = "查询时间段,结束")
// @JsonFormat(locale="zh", timezone="GMT+8", pattern="yyyy-MM-dd")
// @NotNull(message = "时间段,结束 不能为空")
// private Date end;
@ApiModelProperty(value = "查询时间段,开始")
@JsonFormat(locale="zh", timezone="GMT+8", pattern="yyyy-MM-dd")
@JsonFormat(locale="zh", timezone="GMT+8", pattern="yyyy-MM-dd HH:mm:ss")
@NotNull(message = "时间段,开始 不能为空")
private Date begin;
private String begin;
@ApiModelProperty(value = "查询时间段,结束")
@JsonFormat(locale="zh", timezone="GMT+8", pattern="yyyy-MM-dd")
@JsonFormat(locale="zh", timezone="GMT+8", pattern="yyyy-MM-dd HH:mm:ss")
@NotNull(message = "时间段,结束 不能为空")
private Date end;
private String end;
@ApiModelProperty(value = "判读方案列表,只用于 计量型")
private List<InterpretationListArg> interpretationScheme;

View File

@@ -110,6 +110,9 @@ public class CGraph {
queryDataParam.setTags(Arrays.asList(new Tag("argName",argName)));
List<FluxTable> query = InfluxClient.Client.queryGroupByTime(queryDataParam);
if(query.size() == 0){
return;
}
//1. 先从fluxdb 里面提取原始数据
//计算p bar
this.cbar = computeCbar(query);

View File

@@ -86,6 +86,8 @@ public class NPGraph {
return totalFailNum/totalN;
}
/**
* name : 初始化数据函数
* desc : 从influxdb 里面读取数据,然后 加工处理成 我需要的
@@ -102,6 +104,9 @@ public class NPGraph {
queryDataParam.setTags(Arrays.asList(new Tag("argName",argName)));
List<FluxTable> query = InfluxClient.Client.queryGroupByTime(queryDataParam);
if(query.size() == 0){
return;
}
//1. 先从fluxdb 里面提取原始数据
List<Double> originData = new ArrayList<>();
//计算p bar

View File

@@ -115,6 +115,9 @@ public class PGraph {
queryDataParam.setTags(Arrays.asList(new Tag("argName",argName)));
List<FluxTable> query = InfluxClient.Client.queryGroupByTime(queryDataParam);
if(query.size() == 0){
return;
}
//1. 先从fluxdb 里面提取原始数据
//计算p bar
this.pbar = computePbar(query);

View File

@@ -114,6 +114,9 @@ public class UGraph {
queryDataParam.setTags(Arrays.asList(new Tag("argName",argName)));
List<FluxTable> query = InfluxClient.Client.queryGroupByTime(queryDataParam);
if(query.size() == 0){
return;
}
//1. 先从fluxdb 里面提取原始数据
//计算p bar
this.ubar = computeUbar(query);

View File

@@ -103,8 +103,12 @@ public class MeanStandardDeviationGraph {
queryDataParam.setTags(Arrays.asList(new Tag("argName",argName)));
List<FluxTable> query = InfluxClient.Client.query(queryDataParam);
if(query.size() == 0){
return;
}
//1. 先从fluxdb 里面提取原始数据
List<Double> originData = new ArrayList<>();
for (FluxTable fluxTable : query) {
List<FluxRecord> records = fluxTable.getRecords();
for (FluxRecord fluxRecord : records) {

View File

@@ -100,6 +100,9 @@ public class XMRGraph {
List<FluxTable> query = InfluxClient.Client.query(queryDataParam);
if(query.size() == 0){
return;
}
//1. 先从fluxdb 里面提取原始数据
List<Double> originData = new ArrayList<>();
for (FluxTable fluxTable : query) {

View File

@@ -5,6 +5,7 @@ import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.ObjectUtils;
import com.cnbm.admin.utils.BaseSupportUtils;
import com.cnbm.basic.dto.ProductFeaturesDTO;
import com.cnbm.basic.dto.WorkingProcedureDTO;
import com.cnbm.basic.entity.*;
@@ -39,10 +40,8 @@ import org.springframework.transaction.annotation.Transactional;
import org.springframework.web.bind.annotation.RequestBody;
import javax.annotation.Resource;
import java.time.Instant;
import java.time.LocalDateTime;
import java.time.ZoneId;
import java.time.ZoneOffset;
import java.time.*;
import java.time.format.DateTimeFormatter;
import java.util.*;
import java.util.stream.Collectors;
@@ -79,6 +78,12 @@ public class InspectionSheetServiceImpl extends CrudServiceImpl<InspectionSheetM
String batchNumber = (String) params.get("batchNumber");
QueryWrapper<InspectionSheet> wrapper = new QueryWrapper<>();
DateTimeFormatter df = DateTimeFormatter.ofPattern("yyyy-MM-dd");
if( ObjectUtils.isNotNull(params.get("startTime")) && ObjectUtils.isNotNull(params.get("endTime"))){
LocalDateTime startTime = LocalDate.parse(params.get("startTime").toString(),df).atStartOfDay();
LocalDateTime endTime = LocalDate.parse(params.get("endTime").toString(),df).atStartOfDay();
wrapper.between(startTime!=null && endTime!=null,"create_time", startTime, endTime);
}
wrapper.like(ObjectUtils.isNotNull(id), "id", id);
wrapper.like(StringUtils.isNotBlank(inspectionSite), "inspection_stage", inspectionSite);
wrapper.like(StringUtils.isNotBlank(orderNumber), "order_number", orderNumber);
@@ -187,6 +192,7 @@ public class InspectionSheetServiceImpl extends CrudServiceImpl<InspectionSheetM
//InspectionSheet entity = ConvertUtils.sourceToTarget(dto, InspectionSheet.class);
InspectionSheet entity = new InspectionSheet();
BeanUtils.copyProperties(dto, entity);
BaseSupportUtils.setCommonField(entity);
return entity;
}
@@ -194,6 +200,7 @@ public class InspectionSheetServiceImpl extends CrudServiceImpl<InspectionSheetM
@Transactional(rollbackFor = Exception.class)
public void update(InspectionSheetDTO dto) {
InspectionSheet entity = ConvertUtils.sourceToTarget(dto, InspectionSheet.class);
BaseSupportUtils.setUpdateCommonField(entity);
updateById(entity);
}
@@ -389,6 +396,7 @@ public class InspectionSheetServiceImpl extends CrudServiceImpl<InspectionSheetM
updateDto.setId(inspectionSheetId);
updateDto.setNumberOfDefects(numberOfDefects);
updateDto.setDefectiveQuantity(defectiveQuantity);
BaseSupportUtils.setUpdateCommonField(updateDto);
update(updateDto);
}
}