diff --git a/lzbi-admin/src/main/resources/application-dev.yml b/lzbi-admin/src/main/resources/application-dev.yml index 771505e..8cb79c8 100644 --- a/lzbi-admin/src/main/resources/application-dev.yml +++ b/lzbi-admin/src/main/resources/application-dev.yml @@ -76,7 +76,7 @@ spring: datasource: # 主库数据源 master: - url: jdbc:mysql://10.10.10.56:13306/lzdc_bi_db?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8 + url: jdbc:mysql://10.10.10.56:13306/lzdc_bi_db?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8&rewriteBatchedStatements=true username: luenmei password: 123456 # # 计费数据库 diff --git a/lzbi-admin/src/main/resources/mybatis/mybatis-config.xml b/lzbi-admin/src/main/resources/mybatis/mybatis-config.xml index ac47c03..02efca0 100644 --- a/lzbi-admin/src/main/resources/mybatis/mybatis-config.xml +++ b/lzbi-admin/src/main/resources/mybatis/mybatis-config.xml @@ -3,18 +3,22 @@ PUBLIC "-//mybatis.org//DTD Config 3.0//EN" "http://mybatis.org/dtd/mybatis-3-config.dtd"> + + + - + + diff --git a/lzbi-module/src/main/java/com/lzbi/asset/controller/DcBusiWorkReadConfigController.java b/lzbi-module/src/main/java/com/lzbi/asset/controller/DcBusiWorkReadConfigController.java index 61c19f0..a3213d6 100644 --- a/lzbi-module/src/main/java/com/lzbi/asset/controller/DcBusiWorkReadConfigController.java +++ b/lzbi-module/src/main/java/com/lzbi/asset/controller/DcBusiWorkReadConfigController.java @@ -1,9 +1,6 @@ package com.lzbi.asset.controller; -import cn.hutool.core.date.DateUtil; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; -import com.lzbi.code.domain.DcBaseCoderuleDefineDao; -import com.lzbi.code.domain.DcBusiCoderuleConfigDao; import com.lzbi.code.service.CodeNoGenerater; import com.lzbi.code.service.DcBaseCoderuleDefineService; import com.lzbi.common.annotation.Log; @@ -12,13 +9,10 @@ import com.lzbi.common.core.domain.AjaxResult; import com.lzbi.common.core.page.TableDataInfo; import com.lzbi.common.enums.BusinessType; import com.lzbi.common.utils.DateUtils; -import com.lzbi.common.utils.StringUtils; import com.lzbi.common.utils.poi.ExcelUtil; -import com.lzbi.draft.domain.DcBusiParamBillMasterDao; -import com.lzbi.draft.domain.DcBusiParamBillSubDao; import com.lzbi.draft.service.DcBusiParamBillMasterService; -import com.lzbi.task.domain.ReadQueryParams; -import com.lzbi.task.domain.WorkReadVo; +import com.lzbi.task.TaskParamDfratProcess; +import com.lzbi.task.TaskWorkParamRead; import com.lzbi.task.service.WorkParamReadService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; @@ -27,10 +21,8 @@ import javax.servlet.http.HttpServletResponse; import javax.validation.Valid; import org.springframework.web.bind.annotation.*; -import java.awt.geom.Arc2D; import java.util.*; import java.util.stream.Collectors; -import java.util.stream.Stream; import com.lzbi.asset.domain.DcBusiWorkReadConfig; import com.lzbi.asset.service.DcBusiWorkReadConfigService; @@ -144,63 +136,16 @@ public class DcBusiWorkReadConfigController extends BaseController{ ExcelUtil util = new ExcelUtil<>(DcBusiWorkReadConfig.class); util.exportExcel(response, list, "导出的互联参数读取数据对照表数据"); } - @Autowired - WorkParamReadService workParamReadService; - @Autowired - CodeNoGenerater codeNoGenerater; - @Autowired - DcBusiParamBillMasterService dcBusiParamBillMasterService; - @Autowired - DcBaseCoderuleDefineService dcBaseCoderuleDefineService; @GetMapping("/getWork") public AjaxResult getWorkParamValue(){ - String inComeDate="2023-11-29"; - DcBusiCoderuleConfigDao ruleIdByBusicode = dcBaseCoderuleDefineService.getRuleIdByBusicode("param_bill_adjust"); - DcBaseCoderuleDefineDao ruleDao = dcBaseCoderuleDefineService.selectDcBaseCoderuleDefineDaoById(ruleIdByBusicode.getRuleId()); - DcBusiParamBillMasterDao billm=new DcBusiParamBillMasterDao(); - String billNo=codeNoGenerater.getCode(ruleDao); - if(StringUtils.isNull(billNo)){ - billNo= "AD_"+String.valueOf(System.currentTimeMillis()); - } - billm.setBillNo(billNo); - billm.setCreatedBy("robot"); - billm.setCreatedTime(DateUtil.date()); - billm.setBillIncomeDate(inComeDate); - billm.setBillType("auto"); - billm.setCheckType("1"); - billm.setCheckStatus("0"); - List billSub=new ArrayList<>(); - ReadQueryParams readQueryParams=new ReadQueryParams(); - readQueryParams.setBeginTime(inComeDate+" 00:00:00"); - readQueryParams.setEndTime(inComeDate+" 23:59:59"); - DcBusiWorkReadConfig dwrc=new DcBusiWorkReadConfig(); - dwrc.setAssetCode("SP00001"); - dwrc.setGoalSource("work"); - List dcBusiWorkReadConfigs = dcBusiWorkReadConfigService.selectByVo(dwrc); - List pcl=dcBusiWorkReadConfigs.parallelStream().map(DcBusiWorkReadConfig::getGoalParamCode).collect(Collectors.toList()); - List dcl=dcBusiWorkReadConfigs.parallelStream().map(DcBusiWorkReadConfig::getGoalParamExt1).collect(Collectors.toList()); - readQueryParams.setParamCodes(pcl); - readQueryParams.setDeviceCodes(dcl); - List workReadVos = workParamReadService.readWorkValue(readQueryParams); - final String billNo_c=billNo; - workReadVos.parallelStream().forEach(item->{ - Optional find = dcBusiWorkReadConfigs.parallelStream().filter(info -> info.getGoalParamCode().equals(item.getParamCode()) && info.getGoalParamExt1().equals(item.getDeviceCode())).findFirst(); - if(find.isPresent()){ - DcBusiParamBillSubDao subDao=new DcBusiParamBillSubDao(); - subDao.setCreatedBy("robot"); - subDao.setAssetCode(find.get().getAssetCode()); - subDao.setBillNo(billNo_c); - Double va=item.getValueByType(find.get().getGoalParamType()); - subDao.setParamValue(va); - subDao.setParamCode(find.get().getAssetParamCode()); - subDao.setFieldType(find.get().getAssetFieldCode()); - subDao.setCounDate(item.getDateCount()); - billSub.add(subDao); - } - }); - billm.setDcBusiParamBillSubDaoList(billSub); - //dcBusiParamBillMasterService.insertDcBusiParamBillMasterDao(billm); - //dcBusiParamBillMasterService.saveBatch() - return success(dcBusiParamBillMasterService.insertDcBusiParamBillMasterDao(billm)); + TaskWorkParamRead taskWorkParamRead=new TaskWorkParamRead(); + taskWorkParamRead.runTask(false); + return success(); + } + @GetMapping("/getDraft") + public AjaxResult getDraftValue(){ + TaskParamDfratProcess taskParamDfratProcess=new TaskParamDfratProcess(); + taskParamDfratProcess.doBills(null); + return success(); } } \ No newline at end of file diff --git a/lzbi-module/src/main/java/com/lzbi/draft/domain/DcBusiParamBillMasterDao.java b/lzbi-module/src/main/java/com/lzbi/draft/domain/DcBusiParamBillMasterDao.java index 4fd5772..2730bff 100644 --- a/lzbi-module/src/main/java/com/lzbi/draft/domain/DcBusiParamBillMasterDao.java +++ b/lzbi-module/src/main/java/com/lzbi/draft/domain/DcBusiParamBillMasterDao.java @@ -67,7 +67,7 @@ public class DcBusiParamBillMasterDao extends BaseModuleEntity private String checkStatus; /** 参数数据采集(录入)明细信息 */ - private List dcBusiParamBillSubDaoList; + private List dcBusiParamBillSubDaoList; diff --git a/lzbi-module/src/main/java/com/lzbi/draft/domain/DcBusiParamBillSub.java b/lzbi-module/src/main/java/com/lzbi/draft/domain/DcBusiParamBillSub.java new file mode 100644 index 0000000..0dcc1e0 --- /dev/null +++ b/lzbi-module/src/main/java/com/lzbi/draft/domain/DcBusiParamBillSub.java @@ -0,0 +1,75 @@ +package com.lzbi.draft.domain; + +import com.baomidou.mybatisplus.annotation.IdType; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import com.baomidou.mybatisplus.annotation.TableName; +import com.baomidou.mybatisplus.annotation.TableId; +import java.io.Serializable; +import java.util.Date; +import java.util.Optional; + +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.NoArgsConstructor; +import lombok.experimental.Accessors; +import com.lzbi.module.base.BaseModuleEntity; + +/** + * 参数数据采集(录入)明细表; + * @author : zhousq + * @date : 2023-12-1 + */ +@Data +@NoArgsConstructor +@AllArgsConstructor +@Accessors(chain = true) +@ApiModel(value = "参数数据采集(录入)明细表",description = "") +@TableName("dc_busi_param_bill_sub") +public class DcBusiParamBillSub extends BaseModuleEntity{ + /** 主键 */ + @ApiModelProperty(name = "主键",notes = "") + @TableId + private Integer id ; + /** 单据编码 */ + @ApiModelProperty(name = "单据编码",notes = "") + private String billNo ; + /** 统计单元编码 */ + @ApiModelProperty(name = "统计单元编码",notes = "") + private String assetCode ; + /** 统计单元名称 */ + @ApiModelProperty(name = "统计单元名称",notes = "") + private String assetName ; + /** 所属专业 */ + @ApiModelProperty(name = "所属专业",notes = "") + private String fieldType ; + /** 指标名称 */ + @ApiModelProperty(name = "指标名称",notes = "") + private String paramName ; + /** 指标编码 */ + @ApiModelProperty(name = "指标编码",notes = "") + private String paramCode ; + /** 指标单位 */ + @ApiModelProperty(name = "指标单位",notes = "") + private String paramUint ; + /** 参数值 */ + @ApiModelProperty(name = "参数值",notes = "") + private Double paramValue ; + /** 统计日期 */ + @ApiModelProperty(name = "统计日期",notes = "yyyy-MM-dd") + private String countDate ; + @ApiModelProperty(name = "统计小时",notes = "24小时") + private Integer countHour ; + public String getAssetCode(){ + return Optional.ofNullable(this.assetCode).orElse(""); + } + public String getParamCode(){ + return Optional.ofNullable(this.paramCode).orElse(""); + } + public String getCountDate(){ + return Optional.ofNullable(this.countDate).orElse(""); + } + public String getFieldType(){ + return Optional.ofNullable(this.fieldType).orElse(""); + } +} \ No newline at end of file diff --git a/lzbi-module/src/main/java/com/lzbi/draft/domain/DcBusiParamBillSubDao.java b/lzbi-module/src/main/java/com/lzbi/draft/domain/DcBusiParamBillSubDao.java deleted file mode 100644 index b74e5c4..0000000 --- a/lzbi-module/src/main/java/com/lzbi/draft/domain/DcBusiParamBillSubDao.java +++ /dev/null @@ -1,48 +0,0 @@ -package com.lzbi.draft.domain; - -import java.math.BigDecimal; -import java.util.Date; -import com.fasterxml.jackson.annotation.JsonFormat; -import lombok.Data; -import org.apache.commons.lang3.builder.ToStringBuilder; -import org.apache.commons.lang3.builder.ToStringStyle; -import com.lzbi.common.annotation.Excel; -import com.lzbi.module.base.BaseModuleEntity; - -/** - * 参数数据采集(录入)明细对象 dc_busi_param_bill_sub - * - * @author win - * @date 2023-11-28 - */ -@Data -public class DcBusiParamBillSubDao extends BaseModuleEntity -{ - private static final long serialVersionUID = 1L; - /** 主键 */ - private Long id; - private String counDate; - /** 单据编码 */ - @Excel(name = "单据编码") - private String billNo; - - /** 统计单元编码 */ - @Excel(name = "统计单元编码") - private String assetCode; - /** 所属专业 */ - @Excel(name = "所属专业") - private String fieldType; - - /** 指标编码 */ - @Excel(name = "指标编码") - private String paramCode; - - /** 指标单位 */ - @Excel(name = "指标单位") - private String paramUint; - - /** 参数值 */ - @Excel(name = "参数值") - private Double paramValue; - -} diff --git a/lzbi-module/src/main/java/com/lzbi/draft/domain/DcBusiParamDraftDay.java b/lzbi-module/src/main/java/com/lzbi/draft/domain/DcBusiParamDraftDay.java new file mode 100644 index 0000000..4e0757e --- /dev/null +++ b/lzbi-module/src/main/java/com/lzbi/draft/domain/DcBusiParamDraftDay.java @@ -0,0 +1,157 @@ +package com.lzbi.draft.domain; + +import com.baomidou.mybatisplus.annotation.IdType; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import com.baomidou.mybatisplus.annotation.TableName; +import com.baomidou.mybatisplus.annotation.TableId; +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.NoArgsConstructor; +import lombok.experimental.Accessors; +import com.lzbi.module.base.BaseModuleEntity; + +/** + * 参数数据底稿表(日); + * @author : zhousq + * @date : 2023-12-1 + */ +@Data +@NoArgsConstructor +@AllArgsConstructor +@Accessors(chain = true) +@ApiModel(value = "参数数据底稿表(日)",description = "") +@TableName("dc_busi_param_draft_day") +public class DcBusiParamDraftDay extends BaseModuleEntity{ + /** 主键 */ + @ApiModelProperty(name = "主键",notes = "") + @TableId(type = IdType.AUTO) + private Integer id ; + /** 公司编码 */ + @ApiModelProperty(name = "公司编码",notes = "") + private String companyCode ; + /** 生产组织机构名称 */ + @ApiModelProperty(name = "生产组织机构名称",notes = "") + private String organizeName ; + /** 生产组织机构编号 */ + @ApiModelProperty(name = "生产组织机构编号",notes = "") + private String organizeCode ; + /** 公司名称 */ + @ApiModelProperty(name = "公司名称",notes = "") + private String companyName ; + /** 统计单元 */ + @ApiModelProperty(name = "统计单元",notes = "") + private String assetCode ; + @ApiModelProperty(name = "统计单元",notes = "") + private String assetName ; + + /** 参数编码 */ + @ApiModelProperty(name = "参数编码",notes = "") + private String paramCode ; + /** 参数名称 */ + @ApiModelProperty(name = "参数名称",notes = "") + private String paramName ; + /** 生产专业 */ + @ApiModelProperty(name = "生产专业",notes = "") + private String paramField ; + /** 指标单位 */ + @ApiModelProperty(name = "指标单位",notes = "") + private String targetUint ; + /** 统计日期[yyyy-mm-dd] */ + @ApiModelProperty(name = "统计日期[yyyy-mm-dd]",notes = "") + private String countDate ; + /** 均值 */ + @ApiModelProperty(name = "均值",notes = "") + private Double valAvg ; + /** 当日最大值 */ + @ApiModelProperty(name = "当日最大值",notes = "") + private Double valMax ; + /** 和值 */ + @ApiModelProperty(name = "和值",notes = "") + private String valSum ; + /** 当日最小值 */ + @ApiModelProperty(name = "当日最小值",notes = "") + private Double valMin ; + /** 积算值 */ + @ApiModelProperty(name = "积算值",notes = "") + private Double valIntegrating ; + /** 上限 */ + @ApiModelProperty(name = "上限",notes = "") + private Double valLimitUp ; + /** 下限 */ + @ApiModelProperty(name = "下限",notes = "") + private Double valLimitDown ; + /** 1时;[00:00:00,00:59:59] */ + @ApiModelProperty(name = "1时",notes = "[00:00:00,00:59:59]") + private Double val01 ; + /** 2时;[01:00:00,01:59:59] */ + @ApiModelProperty(name = "2时",notes = "[01:00:00,01:59:59]") + private Double val02 ; + /** 3时;[02:00:00,02:59:59] */ + @ApiModelProperty(name = "3时",notes = "[02:00:00,02:59:59]") + private Double val03 ; + /** 4时 */ + @ApiModelProperty(name = "4时",notes = "") + private Double val04 ; + /** 5时 */ + @ApiModelProperty(name = "5时",notes = "") + private Double val05 ; + /** 6时 */ + @ApiModelProperty(name = "6时",notes = "") + private Double val06 ; + /** 7时 */ + @ApiModelProperty(name = "7时",notes = "") + private Double val07 ; + /** 8时 */ + @ApiModelProperty(name = "8时",notes = "") + private Double val08 ; + /** 9时 */ + @ApiModelProperty(name = "9时",notes = "") + private Double val09 ; + /** 10时 */ + @ApiModelProperty(name = "10时",notes = "") + private Double val10 ; + /** 11时 */ + @ApiModelProperty(name = "11时",notes = "") + private Double val11 ; + /** 12时 */ + @ApiModelProperty(name = "12时",notes = "") + private Double val12 ; + /** 13时 */ + @ApiModelProperty(name = "13时",notes = "") + private Double val13 ; + /** 14时 */ + @ApiModelProperty(name = "14时",notes = "") + private Double val14 ; + /** 15时 */ + @ApiModelProperty(name = "15时",notes = "") + private Double val15 ; + /** 16时 */ + @ApiModelProperty(name = "16时",notes = "") + private Double val16 ; + /** 17时 */ + @ApiModelProperty(name = "17时",notes = "") + private Double val17 ; + /** 18时 */ + @ApiModelProperty(name = "18时",notes = "") + private Double val18 ; + /** 18时 */ + @ApiModelProperty(name = "18时",notes = "") + private Double val19 ; + /** 20时 */ + @ApiModelProperty(name = "20时",notes = "") + private Double val20 ; + /** 21时 */ + @ApiModelProperty(name = "21时",notes = "") + private Double val21 ; + /** 22时 */ + @ApiModelProperty(name = "22时",notes = "") + private Double val22 ; + /** 23时 */ + @ApiModelProperty(name = "23时",notes = "") + private Double val23 ; + /** 24时 */ + @ApiModelProperty(name = "24时",notes = "") + private Double val24 ; + +} \ No newline at end of file diff --git a/lzbi-module/src/main/java/com/lzbi/draft/domain/ParamDraftQueryVo.java b/lzbi-module/src/main/java/com/lzbi/draft/domain/ParamDraftQueryVo.java new file mode 100644 index 0000000..9d9a672 --- /dev/null +++ b/lzbi-module/src/main/java/com/lzbi/draft/domain/ParamDraftQueryVo.java @@ -0,0 +1,23 @@ +package com.lzbi.draft.domain; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * @auth create by Administrator + * @date 2023/12/1 + * ParamDraftQueryVo + * 参数底稿表基础查询参数 + * + */ +@Data +public class ParamDraftQueryVo { + @ApiModelProperty("统计单元编码") + private String assetCode; + @ApiModelProperty("生产专业编码") + private String specialCode; + @ApiModelProperty("统计单元参数编码") + private String assetParamCode; + @ApiModelProperty("查询日期 yyyu-MM-dd") + private String countDate; +} diff --git a/lzbi-module/src/main/java/com/lzbi/draft/mapper/DcBusiParamBillMasterMapper.java b/lzbi-module/src/main/java/com/lzbi/draft/mapper/DcBusiParamBillMasterMapper.java index c897d07..f3ce54e 100644 --- a/lzbi-module/src/main/java/com/lzbi/draft/mapper/DcBusiParamBillMasterMapper.java +++ b/lzbi-module/src/main/java/com/lzbi/draft/mapper/DcBusiParamBillMasterMapper.java @@ -3,7 +3,7 @@ package com.lzbi.draft.mapper; import java.util.List; import com.lzbi.draft.domain.DcBusiParamBillMasterDao; -import com.lzbi.draft.domain.DcBusiParamBillSubDao; +import com.lzbi.draft.domain.DcBusiParamBillSub; import com.baomidou.mybatisplus.core.mapper.BaseMapper; /** @@ -77,7 +77,7 @@ public interface DcBusiParamBillMasterMapper extends BaseMapper dcBusiParamBillSubDaoList); + public int batchDcBusiParamBillSubDao(List dcBusiParamBillSubDaoList); /** diff --git a/lzbi-module/src/main/java/com/lzbi/draft/mapper/DcBusiParamBillSubMapper.java b/lzbi-module/src/main/java/com/lzbi/draft/mapper/DcBusiParamBillSubMapper.java new file mode 100644 index 0000000..22e7ad0 --- /dev/null +++ b/lzbi-module/src/main/java/com/lzbi/draft/mapper/DcBusiParamBillSubMapper.java @@ -0,0 +1,17 @@ +package com.lzbi.draft.mapper; + +import com.baomidou.mybatisplus.annotation.InterceptorIgnore; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.lzbi.draft.domain.DcBusiParamBillSub; +import java.util.List; + +/** + * 参数数据采集(录入)明细表;(dc_busi_param_bill_sub)表数据库访问层 + * @author : zhousq + * @date : 2023-12-1 + */ +@InterceptorIgnore(tenantLine = "true") +public interface DcBusiParamBillSubMapper extends BaseMapper{ + List selectByVo( DcBusiParamBillSub beanVo); + int insertByVo( DcBusiParamBillSub beanVo); +} \ No newline at end of file diff --git a/lzbi-module/src/main/java/com/lzbi/draft/mapper/DcBusiParamDraftDayMapper.java b/lzbi-module/src/main/java/com/lzbi/draft/mapper/DcBusiParamDraftDayMapper.java new file mode 100644 index 0000000..c3b139d --- /dev/null +++ b/lzbi-module/src/main/java/com/lzbi/draft/mapper/DcBusiParamDraftDayMapper.java @@ -0,0 +1,21 @@ +package com.lzbi.draft.mapper; + +import com.baomidou.mybatisplus.annotation.InterceptorIgnore; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.lzbi.draft.domain.DcBusiParamDraftDay; +import com.lzbi.draft.domain.ParamDraftQueryVo; + +import java.util.List; + +/** + * 参数数据底稿表(日);(dc_busi_param_draft_day)表数据库访问层 + * @author : zhousq + * @date : 2023-12-1 + */ +@InterceptorIgnore(tenantLine = "true") +public interface DcBusiParamDraftDayMapper extends BaseMapper{ + List selectByVo( DcBusiParamDraftDay beanVo); + int insertByVo( DcBusiParamDraftDay beanVo); + DcBusiParamDraftDay selectOneByParam( ParamDraftQueryVo beanVo); + +} \ No newline at end of file diff --git a/lzbi-module/src/main/java/com/lzbi/draft/service/DcBusiParamBillMasterService.java b/lzbi-module/src/main/java/com/lzbi/draft/service/DcBusiParamBillMasterService.java index 5b63a91..ff93004 100644 --- a/lzbi-module/src/main/java/com/lzbi/draft/service/DcBusiParamBillMasterService.java +++ b/lzbi-module/src/main/java/com/lzbi/draft/service/DcBusiParamBillMasterService.java @@ -3,7 +3,7 @@ package com.lzbi.draft.service; import java.util.List; import com.lzbi.draft.domain.DcBusiParamBillMasterDao; -import com.lzbi.draft.domain.DcBusiParamBillSubDao; +import com.lzbi.draft.domain.DcBusiParamBillSub; import com.lzbi.common.utils.StringUtils; import org.springframework.stereotype.Service; import java.util.ArrayList; @@ -112,12 +112,12 @@ public class DcBusiParamBillMasterService extends ServiceImpl dcBusiParamBillSubDaoList = dcBusiParamBillMasterDao.getDcBusiParamBillSubDaoList(); + List dcBusiParamBillSubDaoList = dcBusiParamBillMasterDao.getDcBusiParamBillSubDaoList(); String billNo = dcBusiParamBillMasterDao.getBillNo(); if (StringUtils.isNotNull(dcBusiParamBillSubDaoList)) { - List list = new ArrayList(); - for (DcBusiParamBillSubDao dcBusiParamBillSubDao : dcBusiParamBillSubDaoList) + List list = new ArrayList(); + for (DcBusiParamBillSub dcBusiParamBillSubDao : dcBusiParamBillSubDaoList) { dcBusiParamBillSubDao.setBillNo(billNo); list.add(dcBusiParamBillSubDao); diff --git a/lzbi-module/src/main/java/com/lzbi/draft/service/DcBusiParamBillSubService.java b/lzbi-module/src/main/java/com/lzbi/draft/service/DcBusiParamBillSubService.java new file mode 100644 index 0000000..d6474ac --- /dev/null +++ b/lzbi-module/src/main/java/com/lzbi/draft/service/DcBusiParamBillSubService.java @@ -0,0 +1,25 @@ +package com.lzbi.draft.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.lzbi.draft.mapper.DcBusiParamBillSubMapper; +import org.springframework.stereotype.Service; +import com.lzbi.draft.domain.DcBusiParamBillSub; +import java.util.List; + +/** + * 参数数据采集(录入)明细表;(dc_busi_param_bill_sub)表服务接口 + * @author : zhousq + * @date : 2023-12-1 + */ +@Service +public class DcBusiParamBillSubService extends ServiceImpl implements IService { + + public List selectByVo( DcBusiParamBillSub dcBusiParamBillSub){ + return baseMapper.selectByVo(dcBusiParamBillSub); + } + public int insertByVo( DcBusiParamBillSub dcBusiParamBillSub){ + return baseMapper.insertByVo(dcBusiParamBillSub); + } + +} \ No newline at end of file diff --git a/lzbi-module/src/main/java/com/lzbi/draft/service/DcBusiParamDraftDayService.java b/lzbi-module/src/main/java/com/lzbi/draft/service/DcBusiParamDraftDayService.java new file mode 100644 index 0000000..57d2aab --- /dev/null +++ b/lzbi-module/src/main/java/com/lzbi/draft/service/DcBusiParamDraftDayService.java @@ -0,0 +1,29 @@ +package com.lzbi.draft.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.lzbi.draft.domain.ParamDraftQueryVo; +import com.lzbi.draft.mapper.DcBusiParamDraftDayMapper; +import org.springframework.stereotype.Service; +import com.lzbi.draft.domain.DcBusiParamDraftDay; +import java.util.List; + +/** + * 参数数据底稿表(日);(dc_busi_param_draft_day)表服务接口 + * @author : zhousq + * @date : 2023-12-1 + */ +@Service +public class DcBusiParamDraftDayService extends ServiceImpl implements IService { + + public List selectByVo( DcBusiParamDraftDay dcBusiParamDraftDay){ + return baseMapper.selectByVo(dcBusiParamDraftDay); + } + public int insertByVo( DcBusiParamDraftDay dcBusiParamDraftDay){ + return baseMapper.insertByVo(dcBusiParamDraftDay); + } + public DcBusiParamDraftDay selectOneByParam(ParamDraftQueryVo queryVo){ + return baseMapper.selectOneByParam(queryVo); + } + +} \ No newline at end of file diff --git a/lzbi-module/src/main/java/com/lzbi/task/TaskParamDfratProcess.java b/lzbi-module/src/main/java/com/lzbi/task/TaskParamDfratProcess.java new file mode 100644 index 0000000..4baa78d --- /dev/null +++ b/lzbi-module/src/main/java/com/lzbi/task/TaskParamDfratProcess.java @@ -0,0 +1,159 @@ +package com.lzbi.task; + +import cn.hutool.core.date.DateUtil; +import com.lzbi.common.utils.StringUtils; +import com.lzbi.common.utils.spring.SpringUtils; +import com.lzbi.draft.domain.DcBusiParamBillMasterDao; +import com.lzbi.draft.domain.DcBusiParamBillSub; +import com.lzbi.draft.domain.DcBusiParamDraftDay; +import com.lzbi.draft.domain.ParamDraftQueryVo; +import com.lzbi.draft.service.DcBusiParamBillMasterService; +import com.lzbi.draft.service.DcBusiParamBillSubService; +import com.lzbi.draft.service.DcBusiParamDraftDayService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Component; + +import java.util.Comparator; +import java.util.List; +import java.util.Map; +import java.util.Optional; +import java.util.stream.Collectors; + +/** + * @auth create by Administrator + * @date 2023/12/1 + * TaskParamDfratProcess + * 处理参数底稿表数据 + */ +@Component +public class TaskParamDfratProcess { + + DcBusiParamBillMasterService dcBusiParamBillMasterService=SpringUtils.getBean(DcBusiParamBillMasterService.class); + + DcBusiParamBillSubService dcBusiParamBillSubService= SpringUtils.getBean(DcBusiParamBillSubService.class); + + DcBusiParamDraftDayService dBusiParamDraftDayService=SpringUtils.getBean(DcBusiParamDraftDayService.class); + public void doBill(DcBusiParamBillMasterDao billMasterDao){ + DcBusiParamBillSub billSub=new DcBusiParamBillSub(); + billSub.setBillNo(billMasterDao.getBillNo()); + List dcBusiParamBillSubs = dcBusiParamBillSubService.selectByVo(billSub); + Map> collect = dcBusiParamBillSubs.stream().collect(Collectors.groupingBy(gp -> gp.getAssetCode() + ":" + gp.getParamCode() + ":" + gp.getFieldType() + ":" + gp.getCountDate())); + collect.forEach((key,value)->{ + String[] s=key.split(":"); + ParamDraftQueryVo queryVo=new ParamDraftQueryVo(); + queryVo.setAssetCode(s[0]); + queryVo.setAssetParamCode(s[1]); + queryVo.setSpecialCode(s[2]); + queryVo.setCountDate(s[3]); + DcBusiParamDraftDay dcBusiParamDraftDay = Optional.ofNullable(dBusiParamDraftDayService.selectOneByParam(queryVo)).orElse(new DcBusiParamDraftDay()); + List subs = value.stream().sorted(Comparator.comparing(DcBusiParamBillSub::getCountHour)).collect(Collectors.toList()); + subs.forEach(val->{ + if(StringUtils.isNull(dcBusiParamDraftDay.getId())){ + dcBusiParamDraftDay.setCreatedTime(DateUtil.date()); + dcBusiParamDraftDay.setCreatedBy("task"); + dcBusiParamDraftDay.setParamField(val.getFieldType()); + dcBusiParamDraftDay.setParamCode(val.getParamCode()); + dcBusiParamDraftDay.setCountDate(val.getCountDate()); + dcBusiParamDraftDay.setAssetCode(val.getAssetCode()); + //------------设置 统计单元的其他信息 +// dcBusiParamDraftDay.setOrganizeCode(); +// dcBusiParamDraftDay.setOrganizeName(); +// dcBusiParamDraftDay.setParamName(); +// dcBusiParamDraftDay.setTargetUint(); +// dcBusiParamDraftDay.setAssetName(); +// dcBusiParamDraftDay.setCompanyCode(); +// dcBusiParamDraftDay.setCompanyName(); + } + dcBusiParamDraftDay.setUpdatedBy("task"); + dcBusiParamDraftDay.setUpdatedTime(DateUtil.date()); + switch (val.getCountHour()){ + case 0: + dcBusiParamDraftDay.setVal01(val.getParamValue()); + break; + case 1: + dcBusiParamDraftDay.setVal02(val.getParamValue()); + break; + case 2: + dcBusiParamDraftDay.setVal03(val.getParamValue()); + break; + case 3: + dcBusiParamDraftDay.setVal04(val.getParamValue()); + break; + case 4: + dcBusiParamDraftDay.setVal05(val.getParamValue()); + break; + case 5: + dcBusiParamDraftDay.setVal06(val.getParamValue()); + break; + case 6: + dcBusiParamDraftDay.setVal07(val.getParamValue()); + break; + case 7: + dcBusiParamDraftDay.setVal08(val.getParamValue()); + break; + case 8: + dcBusiParamDraftDay.setVal09(val.getParamValue()); + break; + case 9: + dcBusiParamDraftDay.setVal10(val.getParamValue()); + break; + case 10: + dcBusiParamDraftDay.setVal11(val.getParamValue()); + break; + case 11: + dcBusiParamDraftDay.setVal12(val.getParamValue()); + break; + case 12: + dcBusiParamDraftDay.setVal13(val.getParamValue()); + break; + case 13: + dcBusiParamDraftDay.setVal14(val.getParamValue()); + break; + case 14: + dcBusiParamDraftDay.setVal15(val.getParamValue()); + break; + case 15: + dcBusiParamDraftDay.setVal16(val.getParamValue()); + break; + case 16: + dcBusiParamDraftDay.setVal17(val.getParamValue()); + break; + case 17: + dcBusiParamDraftDay.setVal18(val.getParamValue()); + break; + case 18: + dcBusiParamDraftDay.setVal19(val.getParamValue()); + break; + case 19: + dcBusiParamDraftDay.setVal20(val.getParamValue()); + break; + case 20: + dcBusiParamDraftDay.setVal21(val.getParamValue()); + break; + case 21: + dcBusiParamDraftDay.setVal22(val.getParamValue()); + break; + case 22: + dcBusiParamDraftDay.setVal23(val.getParamValue()); + break; + case 23: + dcBusiParamDraftDay.setVal24(val.getParamValue()); + break; + + } + + }); + dBusiParamDraftDayService.saveOrUpdate(dcBusiParamDraftDay); + }); + + } + public void doBills(String billNo){ + DcBusiParamBillMasterDao dcBusiParamBillMasterDao=new DcBusiParamBillMasterDao(); + dcBusiParamBillMasterDao.setCheckStatus("1"); + dcBusiParamBillMasterDao.setBillNo(billNo); + List dcBusiParamBillMasterDaos = dcBusiParamBillMasterService.selectDcBusiParamBillMasterDaoList(dcBusiParamBillMasterDao); + dcBusiParamBillMasterDaos.forEach(item->{ + doBill(item); + }); + } +} diff --git a/lzbi-module/src/main/java/com/lzbi/task/TaskWorkParamRead.java b/lzbi-module/src/main/java/com/lzbi/task/TaskWorkParamRead.java new file mode 100644 index 0000000..b1204a6 --- /dev/null +++ b/lzbi-module/src/main/java/com/lzbi/task/TaskWorkParamRead.java @@ -0,0 +1,130 @@ +package com.lzbi.task; + +import cn.hutool.core.date.DatePattern; +import cn.hutool.core.date.DateUtil; +import com.lzbi.asset.domain.DcBusiWorkReadConfig; +import com.lzbi.asset.service.DcBusiWorkReadConfigService; +import com.lzbi.code.domain.DcBaseCoderuleDefineDao; +import com.lzbi.code.domain.DcBusiCoderuleConfigDao; +import com.lzbi.code.service.CodeNoGenerater; +import com.lzbi.code.service.DcBaseCoderuleDefineService; +import com.lzbi.common.utils.StringUtils; + +import com.lzbi.common.utils.spring.SpringUtils; +import com.lzbi.draft.domain.DcBusiParamBillMasterDao; +import com.lzbi.draft.domain.DcBusiParamBillSub; +import com.lzbi.draft.service.DcBusiParamBillMasterService; +import com.lzbi.task.domain.DcBusiWorkReadLog; +import com.lzbi.task.domain.ReadQueryParams; +import com.lzbi.task.service.DcBusiWorkReadLogService; +import com.lzbi.task.service.WorkParamReadService; +import org.springframework.stereotype.Component; + +import java.util.ArrayList; +import java.util.List; +import java.util.Optional; +import java.util.stream.Collectors; + +/** + * @auth create by Administrator + * @date 2023/12/1 + * TaskWorkParamRead + * quartz的定时任务 每天0点读取前一天的数据 + * 处理过程: + * 1、从dc_busi_work_read_config 中读取 统计单元参数配置与生产参数的对照配置 + * 2、根据时间和,找到的IOT参数、设备编码进行 分区查询 (从生产IOT数据库中查询) + * 3、把查询的结果存入dc_busi_work_read_log 日志,存入前如果存在则删除日志 + * 4、生成任务参数任务单据 + */ +@Component +public class TaskWorkParamRead { + DcBaseCoderuleDefineService dcBaseCoderuleDefineService = SpringUtils.getBean(DcBaseCoderuleDefineService.class); + CodeNoGenerater codeNoGenerater = SpringUtils.getBean(CodeNoGenerater.class); + DcBusiWorkReadConfigService dcBusiWorkReadConfigService= SpringUtils.getBean(DcBusiWorkReadConfigService.class); + WorkParamReadService workParamReadService=SpringUtils.getBean(WorkParamReadService.class); + DcBusiWorkReadLogService dcBusiWorkReadLogService=SpringUtils.getBean(DcBusiWorkReadLogService.class); + DcBusiParamBillMasterService dcBusiParamBillMasterService=SpringUtils.getBean(DcBusiParamBillMasterService.class); + boolean ifLog=false; + public void runTask(Boolean ifLog){ + this.ifLog=ifLog; + String inDate=DateUtil.format(DateUtil.offsetDay(DateUtil.date(),-1), DatePattern.NORM_DATE_PATTERN); + createParamBill(inDate); + } + public void runTask(){ + String inDate=DateUtil.format(DateUtil.offsetDay(DateUtil.date(),-1), DatePattern.NORM_DATE_PATTERN); + createParamBill(inDate); + } + /**从生产数据库获取配置的参数的值 + * 按小时及性能分区统计"work" + * */ + public List getWorkReadVo(String inComeDate,List pcl,List dcl){ + ReadQueryParams readQueryParams=new ReadQueryParams(); + readQueryParams.setBeginTime(inComeDate+" 00:00:00"); + readQueryParams.setEndTime(inComeDate+" 23:59:59"); + readQueryParams.setParamCodes(pcl); + readQueryParams.setDeviceCodes(dcl); + List dcBusiWorkReadLogs = workParamReadService.readWorkValue(readQueryParams); + if(ifLog){ + readQueryParams.setBeginTime(inComeDate); + saveRealLog(dcBusiWorkReadLogs,readQueryParams); + } + return dcBusiWorkReadLogs; + } + /*存入日志*/ + public boolean saveRealLog(List listlog,ReadQueryParams readQueryParams){ + dcBusiWorkReadLogService.deleteByParams(readQueryParams); + return dcBusiWorkReadLogService.saveBatch(listlog); + //return true; + } + + /** + * 创建参数采集但 + * inComeDate 采集的目标时间 格式为yyyy-MM-dd + * */ + private final String BUSICODE="param_bill_adjust"; + private final String SOURCE="work"; + public int createParamBill(String inComeDate){ + //String inComeDate="2023-11-29"; + DcBusiCoderuleConfigDao ruleIdByBusicode = dcBaseCoderuleDefineService.getRuleIdByBusicode(BUSICODE); + DcBaseCoderuleDefineDao ruleDao = dcBaseCoderuleDefineService.selectDcBaseCoderuleDefineDaoById(ruleIdByBusicode.getRuleId()); + DcBusiParamBillMasterDao billm=new DcBusiParamBillMasterDao(); + String billNo=codeNoGenerater.getCode(ruleDao); + if(StringUtils.isNull(billNo)){ + billNo= "AD_"+String.valueOf(System.currentTimeMillis()); + } + billm.setBillNo(billNo); + billm.setCreatedBy("robot"); + billm.setCreatedTime(DateUtil.date()); + billm.setBillIncomeDate(inComeDate); + billm.setBillType("auto"); + billm.setCheckType("1"); + billm.setCheckStatus("1"); + List billSub=new ArrayList<>(); + DcBusiWorkReadConfig dwrc=new DcBusiWorkReadConfig(); + //dwrc.setAssetCode(assetCode); + dwrc.setGoalSource(SOURCE); + List dcBusiWorkReadConfigs = dcBusiWorkReadConfigService.selectByVo(dwrc); + List pcl=dcBusiWorkReadConfigs.parallelStream().map(DcBusiWorkReadConfig::getGoalParamCode).collect(Collectors.toList()); + List dcl=dcBusiWorkReadConfigs.parallelStream().map(DcBusiWorkReadConfig::getGoalParamExt1).collect(Collectors.toList()); + List listRow=getWorkReadVo(inComeDate,pcl,dcl); + final String billNo_c=billNo; + listRow.parallelStream().forEach(item->{ + Optional find = dcBusiWorkReadConfigs.parallelStream().filter(info -> info.getGoalParamCode().equals(item.getParamCode()) && info.getGoalParamExt1().equals(item.getDeviceCode())).findFirst(); + if(find.isPresent()){ + DcBusiParamBillSub subDao=new DcBusiParamBillSub(); + subDao.setCreatedBy("robot"); + subDao.setAssetCode(find.get().getAssetCode()); + subDao.setBillNo(billNo_c); + Double va=item.getValueByType(find.get().getGoalParamType()); + subDao.setParamValue(va); + subDao.setParamCode(find.get().getAssetParamCode()); + subDao.setFieldType(find.get().getAssetFieldCode()); + subDao.setCountDate(item.getDateCount()); + subDao.setCountHour(item.getHourCount()); + billSub.add(subDao); + } + }); + billm.setDcBusiParamBillSubDaoList(billSub); + return dcBusiParamBillMasterService.insertDcBusiParamBillMasterDao(billm); + } +} diff --git a/lzbi-module/src/main/java/com/lzbi/task/domain/DcBusiWorkReadLog.java b/lzbi-module/src/main/java/com/lzbi/task/domain/DcBusiWorkReadLog.java new file mode 100644 index 0000000..c19a9ec --- /dev/null +++ b/lzbi-module/src/main/java/com/lzbi/task/domain/DcBusiWorkReadLog.java @@ -0,0 +1,136 @@ +package com.lzbi.task.domain; + +import cn.hutool.core.date.DatePattern; +import cn.hutool.core.date.DateUtil; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import com.baomidou.mybatisplus.annotation.TableName; +import com.baomidou.mybatisplus.annotation.TableId; +import java.io.Serializable; +import java.util.Date; +import java.util.Optional; + +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.NoArgsConstructor; +import lombok.experimental.Accessors; + +/** + * 生产IOT系统读取的日志表; + * @author : zhousq + * @date : 2023-12-1 + */ +@Data +@NoArgsConstructor +@AllArgsConstructor +@Accessors(chain = true) +@ApiModel(value = "生产IOT系统读取的日志表",description = "") +@TableName("dc_busi_work_read_log") +public class DcBusiWorkReadLog { + + /** 参数编码 */ + @ApiModelProperty(name = "参数编码",notes = "") + private String paramCode ; + /** 设备编码 */ + @ApiModelProperty(name = "设备编码",notes = "") + private String deviceCode ; + /** 统计时间 */ + @ApiModelProperty(name = "统计时间",notes = "") + private Date thour ; + /** 生成时间 */ + @ApiModelProperty(name = "生成时间",notes = "") + private Date createTime ; + /** 和值 */ + @ApiModelProperty(name = "和值",notes = "") + private Double total ; + /** 总条数 */ + @ApiModelProperty(name = "总条数",notes = "") + private Double countsAll ; + /** 除零总数 */ + @ApiModelProperty(name = "除零总数",notes = "") + private Double countsZero ; + /** 最大值 */ + @ApiModelProperty(name = "最大值",notes = "") + private Double maxVal ; + /** 最小值 */ + @ApiModelProperty(name = "最小值",notes = "") + private Double minVal ; + /** 开始值 */ + @ApiModelProperty(name = "开始值",notes = "") + private Double firstVal ; + /** 结束值 */ + @ApiModelProperty(name = "结束值",notes = "") + private Double lastVal ; + /** 均值 */ + @ApiModelProperty(name = "均值",notes = "") + private Double avgAll ; + /** 除零均值 */ + @ApiModelProperty(name = "除零均值",notes = "") + private Double avgNoZero ; + /** 统计日 */ + @ApiModelProperty(name = "统计日",notes = "") + private String dateCount ; + /** 小时 */ + @ApiModelProperty(name = "小时",notes = "") + private Integer hourCount ; + public void setTotal(Double total) { + this.total = Optional.ofNullable(total).orElse(0.00); + } + public void setCountsAll(Double countsall) { + this.countsAll = Optional.ofNullable(countsall).orElse(1.00); + } + public void setCountsZero(Double countsz) { + this.countsZero = Optional.ofNullable(countsz).orElse(1.00); + } + public void setMaxVal(Double maxVal) { + this.maxVal =Optional.ofNullable(maxVal).orElse(0.00); + } + public void setMinVal(Double minVal) { + this.minVal =Optional.ofNullable(minVal).orElse(0.00); + } + public void setFirstVal(Double firstVal) { + this.firstVal = Optional.ofNullable(firstVal).orElse(0.00); + } + public void setLastVal(Double lastVal) { + this.lastVal = Optional.ofNullable(lastVal).orElse(0.00); + } + public Double getAvgAll(){ + return this.total/(this.countsAll>0.0?this.countsAll:1); + } + public Double getAvgNoZero(){ + return this.total/(this.countsZero>0.0?this.countsZero:1); + } + + public String getDateCount() { + return DateUtil.format(this.thour, DatePattern.NORM_DATE_PATTERN); + } + + public Integer getHourCount() { + return DateUtil.hour(this.thour, true); + } + + public Double getValueByType(String type){ + if(type.equals(EumValueReadType.AVG.toString())){ + return getAvgAll(); + } + if(type.equals(EumValueReadType.SUM.toString())){ + return getTotal(); + } + if(type.equals(EumValueReadType.AVGNOZERO.toString())){ + return getAvgNoZero(); + } + if(type.equals(EumValueReadType.PVBEGIN.toString())){ + return getFirstVal(); + } + if(type.equals(EumValueReadType.PVEND.toString())){ + return getLastVal(); + } + if(type.equals(EumValueReadType.MAXV.toString())){ + return getMaxVal(); + } + if(type.equals(EumValueReadType.MINV.toString())){ + return getMinVal(); + } + return 0.00; + } +} \ No newline at end of file diff --git a/lzbi-module/src/main/java/com/lzbi/task/domain/WorkReadVo.java b/lzbi-module/src/main/java/com/lzbi/task/domain/WorkReadVo.java deleted file mode 100644 index e6547db..0000000 --- a/lzbi-module/src/main/java/com/lzbi/task/domain/WorkReadVo.java +++ /dev/null @@ -1,168 +0,0 @@ -package com.lzbi.task.domain; - -import cn.hutool.core.date.DatePattern; -import cn.hutool.core.date.DateUtil; -import io.swagger.annotations.ApiModelProperty; -import lombok.Data; -import lombok.NonNull; - -import java.util.Date; -import java.util.Optional; - -/** - * @auth create by Administrator - * @date 2023/11/30 - * WorkReadVo - * 从生产数据库读取的参数统计值 - */ -@Data -public class WorkReadVo { - /***/ - @ApiModelProperty("参数编码") - private String paramCode; - @ApiModelProperty("设备编码") - private String deviceCode; - @ApiModelProperty("统计时间") - private Date thour; - @ApiModelProperty("和值") - private Double total; - @ApiModelProperty("总数") - private Double countsall; - @ApiModelProperty("除零总数") - private Double countsz; - @ApiModelProperty("最大值") - private Double maxVal; - @ApiModelProperty("最小值") - private Double minVal; - @ApiModelProperty("首值") - private Double firstVal; - @ApiModelProperty("末值") - private Double lastVal; - @ApiModelProperty("均值") - private Double avgAll; - @ApiModelProperty("不计算0值的均值") - private Double avgNoZero; - @ApiModelProperty("日期-天") - private String dateCount; - @ApiModelProperty("时间-小时") - private Integer hourCount; - public String getParamCode() { - return paramCode; - } - - public void setParamCode(String paramCode) { - this.paramCode = paramCode; - } - - public String getDeviceCode() { - return deviceCode; - } - - public void setDeviceCode(String deviceCode) { - this.deviceCode = deviceCode; - } - - public Date getThour() { - return thour; - } - - public void setThour(Date thour) { - this.thour = thour; - } - - public Double getTotal() { - return total; - } - - public void setTotal(Double total) { - this.total = Optional.ofNullable(total).orElse(0.00); - } - - public Double getCountsall() { - return countsall; - } - - public void setCountsall(Double countsall) { - this.countsall = Optional.ofNullable(countsall).orElse(1.00); - } - - public Double getCountsz() { - return countsz; - } - - public void setCountsz(Double countsz) { - this.countsz = Optional.ofNullable(countsz).orElse(1.00); - } - - public Double getMaxVal() { - return maxVal; - } - - public void setMaxVal(Double maxVal) { - this.maxVal =Optional.ofNullable(maxVal).orElse(0.00); - } - - public Double getMinVal() { - return minVal; - } - - public void setMinVal(Double minVal) { - this.minVal =Optional.ofNullable(minVal).orElse(0.00); - } - - public Double getFirstVal() { - return firstVal; - } - - public void setFirstVal(Double firstVal) { - this.firstVal = Optional.ofNullable(firstVal).orElse(0.00); - } - - public Double getLastVal() { - return lastVal; - } - - public void setLastVal(Double lastVal) { - this.lastVal = Optional.ofNullable(lastVal).orElse(0.00); - } - - public Double getAvgAll(){ - return this.total/(this.countsall>0.0?this.countsall:1); - } - public Double getAvgNoZero(){ - return this.total/(this.countsz>0.0?this.countsz:1); - } - - public String getDateCount() { - return DateUtil.format(this.thour, DatePattern.NORM_DATE_PATTERN); - } - - public Integer getHourCount() { - return DateUtil.hour(this.thour, true); - } - - public Double getValueByType(String type){ - if(type.equals(EumValueReadType.AVG.toString())){ - return getAvgAll(); - } - if(type.equals(EumValueReadType.SUM.toString())){ - return getTotal(); - } - if(type.equals(EumValueReadType.AVGNOZERO.toString())){ - return getAvgNoZero(); - } - if(type.equals(EumValueReadType.PVBEGIN.toString())){ - return getFirstVal(); - } - if(type.equals(EumValueReadType.PVEND.toString())){ - return getLastVal(); - } - if(type.equals(EumValueReadType.MAXV.toString())){ - return getMaxVal(); - } - if(type.equals(EumValueReadType.MINV.toString())){ - return getMinVal(); - } - return 0.00; - } -} diff --git a/lzbi-module/src/main/java/com/lzbi/task/mapper/DcBusiWorkReadLogMapper.java b/lzbi-module/src/main/java/com/lzbi/task/mapper/DcBusiWorkReadLogMapper.java new file mode 100644 index 0000000..4be7a6f --- /dev/null +++ b/lzbi-module/src/main/java/com/lzbi/task/mapper/DcBusiWorkReadLogMapper.java @@ -0,0 +1,21 @@ +package com.lzbi.task.mapper; + +import cn.hutool.core.date.DateTime; +import com.baomidou.mybatisplus.annotation.InterceptorIgnore; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.lzbi.task.domain.DcBusiWorkReadLog; +import com.lzbi.task.domain.ReadQueryParams; + +import java.util.List; + +/** + * 生产IOT系统读取的日志表;(dc_busi_work_read_log)表数据库访问层 + * @author : zhousq + * @date : 2023-12-1 + */ +@InterceptorIgnore(tenantLine = "true") +public interface DcBusiWorkReadLogMapper extends BaseMapper{ + List selectByVo( DcBusiWorkReadLog beanVo); + int insertByVo( DcBusiWorkReadLog beanVo); + int deleteByParams(ReadQueryParams queryParams ); +} \ No newline at end of file diff --git a/lzbi-module/src/main/java/com/lzbi/task/mapper/WorkParamReadMapper.java b/lzbi-module/src/main/java/com/lzbi/task/mapper/WorkParamReadMapper.java index ab15bf8..b0bfa29 100644 --- a/lzbi-module/src/main/java/com/lzbi/task/mapper/WorkParamReadMapper.java +++ b/lzbi-module/src/main/java/com/lzbi/task/mapper/WorkParamReadMapper.java @@ -1,12 +1,9 @@ package com.lzbi.task.mapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import com.lzbi.code.domain.DcBaseCoderuleDefineDao; -import com.lzbi.code.domain.DcBaseCoderuleSerialDao; -import com.lzbi.code.domain.DcBusiCoderuleConfigDao; +import com.lzbi.task.domain.DcBusiWorkReadLog; import com.lzbi.task.domain.ReadQueryParams; import com.lzbi.task.domain.WorkParamInfo; -import com.lzbi.task.domain.WorkReadVo; import java.util.List; @@ -19,5 +16,5 @@ import java.util.List; public interface WorkParamReadMapper extends BaseMapper { - public List readWorkValue(ReadQueryParams readQueryParams); + public List readWorkValue(ReadQueryParams readQueryParams); } diff --git a/lzbi-module/src/main/java/com/lzbi/task/service/DcBusiWorkReadLogService.java b/lzbi-module/src/main/java/com/lzbi/task/service/DcBusiWorkReadLogService.java new file mode 100644 index 0000000..7fc5d69 --- /dev/null +++ b/lzbi-module/src/main/java/com/lzbi/task/service/DcBusiWorkReadLogService.java @@ -0,0 +1,29 @@ +package com.lzbi.task.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.lzbi.task.domain.ReadQueryParams; +import com.lzbi.task.mapper.DcBusiWorkReadLogMapper; +import org.springframework.stereotype.Service; +import com.lzbi.task.domain.DcBusiWorkReadLog; +import java.util.List; + + +/** + * 生产IOT系统读取的日志表;(dc_busi_work_read_log)表服务接口 + * @author : zhousq + * @date : 2023-12-1 + */ +@Service +public class DcBusiWorkReadLogService extends ServiceImpl implements IService { + + public List selectByVo( DcBusiWorkReadLog dcBusiWorkReadLog){ + return baseMapper.selectByVo(dcBusiWorkReadLog); + } + public int insertByVo( DcBusiWorkReadLog dcBusiWorkReadLog){ + return baseMapper.insertByVo(dcBusiWorkReadLog); + } + public int deleteByParams(ReadQueryParams queryParams){ + return baseMapper.deleteByParams(queryParams); + } +} \ No newline at end of file diff --git a/lzbi-module/src/main/java/com/lzbi/task/service/WorkParamReadService.java b/lzbi-module/src/main/java/com/lzbi/task/service/WorkParamReadService.java index 31f4665..3a5636d 100644 --- a/lzbi-module/src/main/java/com/lzbi/task/service/WorkParamReadService.java +++ b/lzbi-module/src/main/java/com/lzbi/task/service/WorkParamReadService.java @@ -1,25 +1,15 @@ package com.lzbi.task.service; -import cn.hutool.core.date.DateUtil; import com.baomidou.dynamic.datasource.annotation.DS; import com.baomidou.mybatisplus.extension.service.IService; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -import com.lzbi.asset.service.DcBusiWorkReadConfigService; -import com.lzbi.code.domain.DcBaseCoderuleDefineDao; -import com.lzbi.code.domain.DcBaseCoderuleSerialDao; -import com.lzbi.code.domain.DcBusiCoderuleConfigDao; -import com.lzbi.code.domain.codeBodyType; -import com.lzbi.common.utils.DateUtils; -import com.lzbi.common.utils.StringUtils; +import com.lzbi.task.domain.DcBusiWorkReadLog; import com.lzbi.task.domain.ReadQueryParams; import com.lzbi.task.domain.WorkParamInfo; -import com.lzbi.task.domain.WorkReadVo; import com.lzbi.task.mapper.WorkParamReadMapper; -import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import java.util.List; -import java.util.Optional; /** * 编码规则定义Service业务层处理 @@ -34,7 +24,7 @@ public class WorkParamReadService extends ServiceImpl readWorkValue(ReadQueryParams readQueryParams){ + public List readWorkValue(ReadQueryParams readQueryParams){ return baseMapper.readWorkValue(readQueryParams); } } diff --git a/lzbi-module/src/main/resources/mapper/asset/DcBusiParamBillMasterMapper.xml b/lzbi-module/src/main/resources/mapper/asset/DcBusiParamBillMasterMapper.xml index 8871b03..d1f3e85 100644 --- a/lzbi-module/src/main/resources/mapper/asset/DcBusiParamBillMasterMapper.xml +++ b/lzbi-module/src/main/resources/mapper/asset/DcBusiParamBillMasterMapper.xml @@ -25,7 +25,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" - + @@ -37,7 +37,8 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" - + + @@ -60,7 +61,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" + + + and id = #{id} + and bill_no = #{billNo} + and asset_code = #{assetCode} + and asset_name = #{assetName} + and field_type = #{fieldType} + and param_name = #{paramName} + and param_code = #{paramCode} + and param_uint = #{paramUint} + and param_value = #{paramValue} + and count_date = #{countDate} + and count_hour = #{countHour} + and tenant_id = #{tenantId} + and revision = #{revision} + and created_by = #{createdBy} + and created_time = #{createdTime} + and updated_by = #{updatedBy} + and updated_time = #{updatedTime} + and delete_by = #{deleteBy} + and delete_time = #{deleteTime} + + + + + insert into dc_busi_param_bill_sub + + + bill_no, + asset_code, + asset_name, + field_type, + param_name, + param_code, + param_uint, + param_value, + count_date, + count_hour, + tenant_id, + revision, + created_by, + created_time, + updated_by, + updated_time, + delete_by, + delete_time, + + + + #{billNo}, + #{assetCode}, + #{assetName}, + #{fieldType}, + #{paramName}, + #{paramCode}, + #{paramUint}, + #{paramValue}, + #{countDate}, + #{countHour}, + #{tenantId}, + #{revision}, + #{createdBy}, + #{createdTime}, + #{updatedBy}, + #{updatedTime}, + #{deleteBy}, + #{deleteTime}, + + + + \ No newline at end of file diff --git a/lzbi-module/src/main/resources/mapper/asset/DcBusiParamDraftDayMapper.xml b/lzbi-module/src/main/resources/mapper/asset/DcBusiParamDraftDayMapper.xml new file mode 100644 index 0000000..ddd1ccf --- /dev/null +++ b/lzbi-module/src/main/resources/mapper/asset/DcBusiParamDraftDayMapper.xml @@ -0,0 +1,340 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + select + tenant_id, + revision, + created_by, + created_time, + updated_by, + updated_time, + delete_by, + delete_time, + id, + company_code, + organize_name, + organize_code, + company_name, + asset_code, + asset_name, + param_code, + param_name, + param_field, + target_uint, + count_date, + val_avg, + val_max, + val_sum, + val_min, + val_integrating, + val_limit_up, + val_limit_down, + val01, + val02, + val03, + val04, + val05, + val06, + val07, + val08, + val09, + val10, + val11, + val12, + val13, + val14, + val15, + val16, + val17, + val18, + val19, + val20, + val21, + val22, + val23, + val24 + from dc_busi_param_draft_day + + + + insert into dc_busi_param_draft_day + + tenant_id, + revision, + created_by, + created_time, + updated_by, + updated_time, + delete_by, + delete_time, + company_code, + organize_name, + organize_code, + company_name, + asset_code, + asset_name, + param_code, + param_name, + param_field, + target_uint, + count_date, + val_avg, + val_max, + val_sum, + val_min, + val_integrating, + val_limit_up, + val_limit_down, + val01, + val02, + val03, + val04, + val05, + val06, + val07, + val08, + val09, + val10, + val11, + val12, + val13, + val14, + val15, + val16, + val17, + val18, + val19, + val20, + val21, + val22, + val23, + val24, + + + #{tenantId}, + #{revision}, + #{createdBy}, + #{createdTime}, + #{updatedBy}, + #{updatedTime}, + #{deleteBy}, + #{deleteTime}, + #{companyCode}, + #{organizeName}, + #{organizeCode}, + #{companyName}, + #{assetCode}, + #{assetName}, + #{paramCode}, + #{paramName}, + #{paramField}, + #{targetUint}, + #{countDate}, + #{valAvg}, + #{valMax}, + #{valSum}, + #{valMin}, + #{valIntegrating}, + #{valLimitUp}, + #{valLimitDown}, + #{val01}, + #{val02}, + #{val03}, + #{val04}, + #{val05}, + #{val06}, + #{val07}, + #{val08}, + #{val09}, + #{val10}, + #{val11}, + #{val12}, + #{val13}, + #{val14}, + #{val15}, + #{val16}, + #{val17}, + #{val18}, + #{val19}, + #{val20}, + #{val21}, + #{val22}, + #{val23}, + #{val24}, + + + + \ No newline at end of file diff --git a/lzbi-module/src/main/resources/mapper/asset/DcBusiWorkReadLogMapper.xml b/lzbi-module/src/main/resources/mapper/asset/DcBusiWorkReadLogMapper.xml new file mode 100644 index 0000000..99f59d1 --- /dev/null +++ b/lzbi-module/src/main/resources/mapper/asset/DcBusiWorkReadLogMapper.xml @@ -0,0 +1,132 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + select + param_code, + device_code, + thour, + create_time, + total, + counts_all, + counts_zero, + max_val, + min_val, + first_val, + last_val, + avg_all, + avg_no_zero, + date_count, + hour_count + from dc_busi_work_read_log + + + + insert into dc_busi_work_read_log + + + param_code, + device_code, + thour, + create_time, + total, + counts_all, + counts_zero, + max_val, + min_val, + first_val, + last_val, + avg_all, + avg_no_zero, + date_count, + hour_count, + + + + #{paramCode}, + #{deviceCode}, + #{thour}, + #{createTime}, + #{total}, + #{countsAll}, + #{countsZero}, + #{maxVal}, + #{minVal}, + #{firstVal}, + #{lastVal}, + #{avgAll}, + #{avgNoZero}, + #{dateCount}, + #{hourCount}, + + + + + delete from dc_busi_work_read_log where date_count=#{beginTime} + and device_code in + + #{item} + + and param_code in + + #{item} + + + \ No newline at end of file diff --git a/lzbi-module/src/main/resources/mapper/asset/WorkParamReadMapper.xml b/lzbi-module/src/main/resources/mapper/asset/WorkParamReadMapper.xml index 308a6cb..099a7cc 100644 --- a/lzbi-module/src/main/resources/mapper/asset/WorkParamReadMapper.xml +++ b/lzbi-module/src/main/resources/mapper/asset/WorkParamReadMapper.xml @@ -3,13 +3,13 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> - + - - + +