Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
A
amos-boot-biz
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
项目统一框架
amos-boot-biz
Commits
82df05e8
Commit
82df05e8
authored
May 21, 2023
by
tianyiming
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
气瓶基本信息和气瓶充装信息同步至es并添加查询逻辑
parent
d4b3d7c4
Show whitespace changes
Inline
Side-by-side
Showing
18 changed files
with
1042 additions
and
117 deletions
+1042
-117
ESCylinderFillingRecordDto.java
...oot/module/tzs/api/entity/ESCylinderFillingRecordDto.java
+121
-0
ESCylinderInfoDto.java
...in/amos/boot/module/tzs/api/entity/ESCylinderInfoDto.java
+93
-0
CylinderInfoDto.java
...oin/amos/boot/module/tzs/flc/api/dto/CylinderInfoDto.java
+3
-2
TzCylinderInfoDto.java
...n/amos/boot/module/tzs/flc/api/dto/TzCylinderInfoDto.java
+0
-4
CylinderFillingRecord.java
...boot/module/tzs/flc/api/entity/CylinderFillingRecord.java
+6
-6
CylinderInfo.java
...oin/amos/boot/module/tzs/flc/api/entity/CylinderInfo.java
+6
-6
CylinderFillingRecordMapper.java
...odule/tzs/flc/api/mapper/CylinderFillingRecordMapper.java
+6
-0
CylinderInfoMapper.java
...os/boot/module/tzs/flc/api/mapper/CylinderInfoMapper.java
+3
-2
ICylinderFillingRecordService.java
...le/tzs/flc/api/service/ICylinderFillingRecordService.java
+8
-0
ICylinderInfoService.java
...boot/module/tzs/flc/api/service/ICylinderInfoService.java
+10
-0
CylinderFillingRecordMapper.xml
...src/main/resources/mapper/CylinderFillingRecordMapper.xml
+56
-0
CylinderInfoMapper.xml
...-tzs-api/src/main/resources/mapper/CylinderInfoMapper.xml
+46
-0
ESCylinderFillingRecordRepository.java
...module/tzs/biz/dao/ESCylinderFillingRecordRepository.java
+11
-0
ESCylinderInfoRepository.java
...mos/boot/module/tzs/biz/dao/ESCylinderInfoRepository.java
+11
-0
CylinderInfoController.java
...module/tzs/flc/biz/controller/CylinderInfoController.java
+175
-49
CylinderFillingRecordServiceImpl.java
...lc/biz/service/impl/CylinderFillingRecordServiceImpl.java
+247
-0
CylinderInfoServiceImpl.java
...ule/tzs/flc/biz/service/impl/CylinderInfoServiceImpl.java
+234
-48
application-dev3.properties
...le-tzs-biz/src/main/resources/application-dev3.properties
+6
-0
No files found.
amos-boot-system-tzs/amos-boot-module-tzs-api/src/main/java/com/yeejoin/amos/boot/module/tzs/api/entity/ESCylinderFillingRecordDto.java
0 → 100644
View file @
82df05e8
package
com
.
yeejoin
.
amos
.
boot
.
module
.
tzs
.
api
.
entity
;
import
lombok.Data
;
import
lombok.experimental.Accessors
;
import
org.springframework.data.annotation.Id
;
import
org.springframework.data.elasticsearch.annotations.Document
;
import
org.springframework.data.elasticsearch.annotations.Field
;
import
org.springframework.data.elasticsearch.annotations.FieldType
;
@Data
@Accessors
(
chain
=
true
)
@Document
(
indexName
=
"cylinder_filling"
,
type
=
"tzs_cylinder_filling"
,
shards
=
1
,
replicas
=
0
)
public
class
ESCylinderFillingRecordDto
{
@Id
private
Long
sequenceNbr
;
//充装单位
@Field
(
type
=
FieldType
.
Text
)
private
String
fillingUnitName
;
//出厂编号
@Field
(
type
=
FieldType
.
Text
)
private
String
factoryNum
;
//气瓶品种code
@Field
(
type
=
FieldType
.
Integer
)
private
Integer
cylinderVariety
;
//气瓶品种名称
@Field
(
type
=
FieldType
.
Text
)
private
String
cylinderVarietyName
;
//二维码编号
@Field
(
type
=
FieldType
.
Text
)
private
String
qrCode
;
//电子标签编号
@Field
(
type
=
FieldType
.
Text
)
private
String
electronicLabelCode
;
//气瓶唯一标识
@Field
(
type
=
FieldType
.
Text
)
private
String
sequenceCode
;
//单位内部编号
@Field
(
type
=
FieldType
.
Text
)
private
String
unitInnerCode
;
//产权单位名称
@Field
(
type
=
FieldType
.
Text
)
private
String
unitName
;
//气瓶状态code
@Field
(
type
=
FieldType
.
Integer
)
private
Integer
cylinderStatus
;
//气瓶状态名称
@Field
(
type
=
FieldType
.
Text
)
private
String
cylinderStatusStr
;
//充装开始时间
@Field
(
type
=
FieldType
.
Text
)
private
String
fillingStartTime
;
//充装结束时间
@Field
(
type
=
FieldType
.
Text
)
private
String
fillingEndTime
;
//充装人员姓名
@Field
(
type
=
FieldType
.
Text
)
private
String
fillingUser
;
//充装量(Kg)
@Field
(
type
=
FieldType
.
Double
)
private
Double
fillingQuantity
;
//室温
@Field
(
type
=
FieldType
.
Double
)
private
Double
temperature
;
//异常情况
@Field
(
type
=
FieldType
.
Integer
)
private
Integer
abnormal
;
//充装前检查人员姓名
@Field
(
type
=
FieldType
.
Text
)
private
String
inspectorUserBefore
;
//充装前检查时间
@Field
(
type
=
FieldType
.
Text
)
private
String
inspectionDateBefore
;
//充装前检查结果
@Field
(
type
=
FieldType
.
Text
)
private
String
checkResultsBefore
;
//重装后检查人员姓名
@Field
(
type
=
FieldType
.
Text
)
private
String
inspectorAfter
;
//重装后检查时间
@Field
(
type
=
FieldType
.
Text
)
private
String
inspectionDateAfter
;
//重装后检查结果
@Field
(
type
=
FieldType
.
Text
)
private
String
checkResultsAfter
;
//appid
@Field
(
type
=
FieldType
.
Text
)
private
String
appId
;
//统一社会信用代码
@Field
(
type
=
FieldType
.
Text
)
private
String
creditCode
;
}
amos-boot-system-tzs/amos-boot-module-tzs-api/src/main/java/com/yeejoin/amos/boot/module/tzs/api/entity/ESCylinderInfoDto.java
0 → 100644
View file @
82df05e8
package
com
.
yeejoin
.
amos
.
boot
.
module
.
tzs
.
api
.
entity
;
import
lombok.Data
;
import
lombok.experimental.Accessors
;
import
org.springframework.data.annotation.Id
;
import
org.springframework.data.elasticsearch.annotations.Document
;
import
org.springframework.data.elasticsearch.annotations.Field
;
import
org.springframework.data.elasticsearch.annotations.FieldType
;
@Data
@Accessors
(
chain
=
true
)
@Document
(
indexName
=
"cylinder_info"
,
type
=
"tzs_cylinder_info"
,
shards
=
1
,
replicas
=
0
)
public
class
ESCylinderInfoDto
{
@Id
private
Long
sequenceNbr
;
//产权单位名称
@Field
(
type
=
FieldType
.
Text
)
private
String
unitName
;
//出厂编号
@Field
(
type
=
FieldType
.
Text
)
private
String
factoryNum
;
//气瓶品种code
@Field
(
type
=
FieldType
.
Integer
)
private
Integer
cylinderVariety
;
//气瓶品种名称
@Field
(
type
=
FieldType
.
Text
)
private
String
cylinderVarietyName
;
//二维码标签
@Field
(
type
=
FieldType
.
Text
)
private
String
qrCode
;
//电子标签编号
@Field
(
type
=
FieldType
.
Text
)
private
String
electronicLabelCode
;
//气瓶状态code
@Field
(
type
=
FieldType
.
Integer
)
private
Integer
cylinderStatus
;
//气瓶状态名称
@Field
(
type
=
FieldType
.
Text
)
private
String
cylinderStatusStr
;
//充装介质
@Field
(
type
=
FieldType
.
Text
)
private
String
fillingMediaName
;
//公称压力
@Field
(
type
=
FieldType
.
Double
)
private
Double
nominalWorkPressure
;
//容积
@Field
(
type
=
FieldType
.
Double
)
private
Double
volume
;
//制造日期
@Field
(
type
=
FieldType
.
Text
)
private
String
manufacturingDate
;
//制造单位
@Field
(
type
=
FieldType
.
Text
)
private
String
manufacturingUnit
;
//检验日期
@Field
(
type
=
FieldType
.
Text
)
private
String
inspectionDate
;
//气瓶唯一标识
@Field
(
type
=
FieldType
.
Text
)
private
String
sequenceCode
;
//单位内部编号
@Field
(
type
=
FieldType
.
Text
)
private
String
unitInnerCode
;
//appid
@Field
(
type
=
FieldType
.
Text
)
private
String
appId
;
//统一社会信用代码
@Field
(
type
=
FieldType
.
Text
)
private
String
creditCode
;
@Field
(
type
=
FieldType
.
Text
)
private
String
regionCode
;
}
amos-boot-system-tzs/amos-boot-module-tzs-api/src/main/java/com/yeejoin/amos/boot/module/tzs/flc/api/dto/CylinderInfoDto.java
View file @
82df05e8
package
com
.
yeejoin
.
amos
.
boot
.
module
.
tzs
.
flc
.
api
.
dto
;
package
com
.
yeejoin
.
amos
.
boot
.
module
.
tzs
.
flc
.
api
.
dto
;
import
com.yeejoin.amos.boot.biz.common.dto.BaseDto
;
import
com.yeejoin.amos.boot.biz.common.dto.BaseDto
;
import
com.yeejoin.amos.boot.module.common.api.dto.AttachmentDto
;
import
io.swagger.annotations.ApiModel
;
import
io.swagger.annotations.ApiModel
;
import
io.swagger.annotations.ApiModelProperty
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Data
;
import
lombok.Data
;
...
@@ -9,7 +8,6 @@ import lombok.EqualsAndHashCode;
...
@@ -9,7 +8,6 @@ import lombok.EqualsAndHashCode;
import
java.util.Date
;
import
java.util.Date
;
import
java.util.List
;
import
java.util.List
;
import
java.util.Map
;
/**
/**
* 气瓶基本信息
* 气瓶基本信息
...
@@ -156,4 +154,7 @@ public class CylinderInfoDto extends BaseDto {
...
@@ -156,4 +154,7 @@ public class CylinderInfoDto extends BaseDto {
private
String
cylinderStatusStr
;
private
String
cylinderStatusStr
;
private
String
SupervisionCode
;
private
String
SupervisionCode
;
private
String
inspectionDateEnd
;
private
String
inspectionDateStart
;
}
}
amos-boot-system-tzs/amos-boot-module-tzs-api/src/main/java/com/yeejoin/amos/boot/module/tzs/flc/api/dto/TzCylinderInfoDto.java
View file @
82df05e8
package
com
.
yeejoin
.
amos
.
boot
.
module
.
tzs
.
flc
.
api
.
dto
;
package
com
.
yeejoin
.
amos
.
boot
.
module
.
tzs
.
flc
.
api
.
dto
;
import
java.util.Date
;
import
com.yeejoin.amos.boot.biz.common.dto.BaseDto
;
import
io.swagger.annotations.ApiModel
;
import
io.swagger.annotations.ApiModelProperty
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Data
;
import
lombok.Data
;
/**
/**
...
...
amos-boot-system-tzs/amos-boot-module-tzs-api/src/main/java/com/yeejoin/amos/boot/module/tzs/flc/api/entity/CylinderFillingRecord.java
View file @
82df05e8
package
com
.
yeejoin
.
amos
.
boot
.
module
.
tzs
.
flc
.
api
.
entity
;
package
com
.
yeejoin
.
amos
.
boot
.
module
.
tzs
.
flc
.
api
.
entity
;
import
java.util.Date
;
import
com.baomidou.mybatisplus.annotation.TableField
;
import
com.baomidou.mybatisplus.annotation.TableField
;
import
com.baomidou.mybatisplus.annotation.TableName
;
import
io.swagger.annotations.ApiModel
;
import
io.swagger.annotations.ApiModel
;
import
io.swagger.annotations.ApiModelProperty
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Data
;
import
lombok.Data
;
import
lombok.EqualsAndHashCode
;
import
lombok.EqualsAndHashCode
;
import
lombok.experimental.Accessors
;
import
lombok.experimental.Accessors
;
import
com.baomidou.mybatisplus.annotation.IdType
;
import
com.baomidou.mybatisplus.annotation.TableId
;
import
com.fasterxml.jackson.databind.annotation.JsonSerialize
;
import
com.baomidou.mybatisplus.annotation.TableName
;
import
com.fasterxml.jackson.databind.ser.std.ToStringSerializer
;
import
org.typroject.tyboot.core.rdbms.orm.entity.BaseEntity
;
import
org.typroject.tyboot.core.rdbms.orm.entity.BaseEntity
;
import
java.util.Date
;
/**
/**
* 液化气体气瓶充装信息-充装记录
* 液化气体气瓶充装信息-充装记录
*
*
...
@@ -82,4 +79,7 @@ public class CylinderFillingRecord extends BaseEntity {
...
@@ -82,4 +79,7 @@ public class CylinderFillingRecord extends BaseEntity {
@ApiModelProperty
(
value
=
"充装信息审核ID"
)
@ApiModelProperty
(
value
=
"充装信息审核ID"
)
private
String
fillingExamineId
;
private
String
fillingExamineId
;
@ApiModelProperty
(
value
=
"是否保存到es(1标识已经保存过)"
)
private
String
isNotEs
;
}
}
amos-boot-system-tzs/amos-boot-module-tzs-api/src/main/java/com/yeejoin/amos/boot/module/tzs/flc/api/entity/CylinderInfo.java
View file @
82df05e8
package
com
.
yeejoin
.
amos
.
boot
.
module
.
tzs
.
flc
.
api
.
entity
;
package
com
.
yeejoin
.
amos
.
boot
.
module
.
tzs
.
flc
.
api
.
entity
;
import
java.util.Dat
e
;
import
com.baomidou.mybatisplus.annotation.TableNam
e
;
import
io.swagger.annotations.ApiModel
;
import
io.swagger.annotations.ApiModel
;
import
io.swagger.annotations.ApiModelProperty
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Data
;
import
lombok.Data
;
import
lombok.EqualsAndHashCode
;
import
lombok.EqualsAndHashCode
;
import
lombok.experimental.Accessors
;
import
lombok.experimental.Accessors
;
import
com.baomidou.mybatisplus.annotation.IdType
;
import
com.baomidou.mybatisplus.annotation.TableId
;
import
com.fasterxml.jackson.databind.annotation.JsonSerialize
;
import
com.baomidou.mybatisplus.annotation.TableName
;
import
com.fasterxml.jackson.databind.ser.std.ToStringSerializer
;
import
org.typroject.tyboot.core.rdbms.orm.entity.BaseEntity
;
import
org.typroject.tyboot.core.rdbms.orm.entity.BaseEntity
;
import
java.util.Date
;
/**
/**
* 气瓶基本信息
* 气瓶基本信息
*
*
...
@@ -123,4 +120,7 @@ public class CylinderInfo extends BaseEntity {
...
@@ -123,4 +120,7 @@ public class CylinderInfo extends BaseEntity {
@ApiModelProperty
(
value
=
"监管码"
)
@ApiModelProperty
(
value
=
"监管码"
)
private
String
SupervisionCode
;
private
String
SupervisionCode
;
@ApiModelProperty
(
value
=
"是否保存到es(1标识已经保存过)"
)
private
String
isNotEs
;
}
}
amos-boot-system-tzs/amos-boot-module-tzs-api/src/main/java/com/yeejoin/amos/boot/module/tzs/flc/api/mapper/CylinderFillingRecordMapper.java
View file @
82df05e8
...
@@ -2,6 +2,7 @@ package com.yeejoin.amos.boot.module.tzs.flc.api.mapper;
...
@@ -2,6 +2,7 @@ package com.yeejoin.amos.boot.module.tzs.flc.api.mapper;
import
com.baomidou.mybatisplus.core.metadata.IPage
;
import
com.baomidou.mybatisplus.core.metadata.IPage
;
import
com.baomidou.mybatisplus.extension.plugins.pagination.Page
;
import
com.baomidou.mybatisplus.extension.plugins.pagination.Page
;
import
com.yeejoin.amos.boot.module.tzs.api.entity.ESCylinderFillingRecordDto
;
import
com.yeejoin.amos.boot.module.tzs.flc.api.dto.CylinderFillingRecordDto
;
import
com.yeejoin.amos.boot.module.tzs.flc.api.dto.CylinderFillingRecordDto
;
import
com.baomidou.mybatisplus.core.mapper.BaseMapper
;
import
com.baomidou.mybatisplus.core.mapper.BaseMapper
;
import
com.yeejoin.amos.boot.module.tzs.flc.api.entity.CylinderFillingRecord
;
import
com.yeejoin.amos.boot.module.tzs.flc.api.entity.CylinderFillingRecord
;
...
@@ -45,9 +46,14 @@ public interface CylinderFillingRecordMapper extends BaseMapper<CylinderFillingR
...
@@ -45,9 +46,14 @@ public interface CylinderFillingRecordMapper extends BaseMapper<CylinderFillingR
@Param
(
"appId"
)
String
appId
@Param
(
"appId"
)
String
appId
);
);
Page
<
ESCylinderFillingRecordDto
>
getCyinderFillingRecord
(
Page
<
ESCylinderFillingRecordDto
>
cylinderFillingRecordDto
);
Double
getFillingSumByMonth
(
@Param
(
"appId"
)
String
appId
,
@Param
(
"time"
)
Date
time
);
Double
getFillingSumByMonth
(
@Param
(
"appId"
)
String
appId
,
@Param
(
"time"
)
Date
time
);
Integer
getFillingCountByMonth
(
@Param
(
"appId"
)
String
appId
,
@Param
(
"time"
)
Date
time
);
Integer
getFillingCountByMonth
(
@Param
(
"appId"
)
String
appId
,
@Param
(
"time"
)
Date
time
);
Double
getFillingSumByDate
(
@Param
(
"appId"
)
String
appId
,
@Param
(
"time"
)
Date
time
);
Double
getFillingSumByDate
(
@Param
(
"appId"
)
String
appId
,
@Param
(
"time"
)
Date
time
);
ESCylinderFillingRecordDto
getCyinderFillingRecordInfo
(
String
sequenceCode
);
}
}
amos-boot-system-tzs/amos-boot-module-tzs-api/src/main/java/com/yeejoin/amos/boot/module/tzs/flc/api/mapper/CylinderInfoMapper.java
View file @
82df05e8
package
com
.
yeejoin
.
amos
.
boot
.
module
.
tzs
.
flc
.
api
.
mapper
;
package
com
.
yeejoin
.
amos
.
boot
.
module
.
tzs
.
flc
.
api
.
mapper
;
import
com.baomidou.mybatisplus.core.m
etadata.IPage
;
import
com.baomidou.mybatisplus.core.m
apper.BaseMapper
;
import
com.baomidou.mybatisplus.extension.plugins.pagination.Page
;
import
com.baomidou.mybatisplus.extension.plugins.pagination.Page
;
import
com.yeejoin.amos.boot.module.tzs.flc.api.dto.CylinderInfoDto
;
import
com.yeejoin.amos.boot.module.tzs.flc.api.dto.CylinderInfoDto
;
import
com.baomidou.mybatisplus.core.mapper.BaseMapper
;
import
com.yeejoin.amos.boot.module.tzs.flc.api.entity.CylinderInfo
;
import
com.yeejoin.amos.boot.module.tzs.flc.api.entity.CylinderInfo
;
import
org.apache.ibatis.annotations.Param
;
import
org.apache.ibatis.annotations.Param
;
...
@@ -82,5 +81,7 @@ public interface CylinderInfoMapper extends BaseMapper<CylinderInfo> {
...
@@ -82,5 +81,7 @@ public interface CylinderInfoMapper extends BaseMapper<CylinderInfo> {
Page
<
CylinderInfoDto
>
cyinderInfoList
(
Page
<
CylinderInfoDto
>
page
,
CylinderInfoDto
cylinderInfoDto
,
String
sort
,
List
<
String
>
appids
);
Page
<
CylinderInfoDto
>
cyinderInfoList
(
Page
<
CylinderInfoDto
>
page
,
CylinderInfoDto
cylinderInfoDto
,
String
sort
,
List
<
String
>
appids
);
Page
<
CylinderInfoDto
>
getCyinderInfoList
(
Page
<
CylinderInfoDto
>
page
);
Page
<
CylinderInfoDto
>
cyinderOutInfoList
(
Page
<
CylinderInfoDto
>
page
,
CylinderInfoDto
cylinderInfoDto
,
String
sort
,
List
<
String
>
appids
);
Page
<
CylinderInfoDto
>
cyinderOutInfoList
(
Page
<
CylinderInfoDto
>
page
,
CylinderInfoDto
cylinderInfoDto
,
String
sort
,
List
<
String
>
appids
);
}
}
amos-boot-system-tzs/amos-boot-module-tzs-api/src/main/java/com/yeejoin/amos/boot/module/tzs/flc/api/service/ICylinderFillingRecordService.java
View file @
82df05e8
package
com
.
yeejoin
.
amos
.
boot
.
module
.
tzs
.
flc
.
api
.
service
;
package
com
.
yeejoin
.
amos
.
boot
.
module
.
tzs
.
flc
.
api
.
service
;
import
com.baomidou.mybatisplus.extension.plugins.pagination.Page
;
import
com.yeejoin.amos.boot.module.tzs.api.entity.ESCylinderFillingRecordDto
;
/**
/**
* 液化气体气瓶充装信息-充装记录接口类
* 液化气体气瓶充装信息-充装记录接口类
*
*
...
@@ -9,4 +12,9 @@ package com.yeejoin.amos.boot.module.tzs.flc.api.service;
...
@@ -9,4 +12,9 @@ package com.yeejoin.amos.boot.module.tzs.flc.api.service;
*/
*/
public
interface
ICylinderFillingRecordService
{
public
interface
ICylinderFillingRecordService
{
ESCylinderFillingRecordDto
saveCylinderFillingRecordToES
(
ESCylinderFillingRecordDto
ci
);
Page
<
ESCylinderFillingRecordDto
>
getCyinderFillingRecord
(
Page
<
ESCylinderFillingRecordDto
>
cylinderFillingRecordDto
);
Page
<
ESCylinderFillingRecordDto
>
queryByKeys
(
ESCylinderFillingRecordDto
esCylinderFillingRecordDto
,
int
pageNum
,
int
pageSize
);
}
}
amos-boot-system-tzs/amos-boot-module-tzs-api/src/main/java/com/yeejoin/amos/boot/module/tzs/flc/api/service/ICylinderInfoService.java
View file @
82df05e8
package
com
.
yeejoin
.
amos
.
boot
.
module
.
tzs
.
flc
.
api
.
service
;
package
com
.
yeejoin
.
amos
.
boot
.
module
.
tzs
.
flc
.
api
.
service
;
import
com.baomidou.mybatisplus.extension.plugins.pagination.Page
;
import
com.yeejoin.amos.boot.module.tzs.api.entity.ESCylinderInfoDto
;
import
com.yeejoin.amos.boot.module.tzs.flc.api.dto.CylinderInfoDto
;
import
java.util.Map
;
import
java.util.Map
;
/**
/**
...
@@ -39,4 +43,10 @@ public interface ICylinderInfoService {
...
@@ -39,4 +43,10 @@ public interface ICylinderInfoService {
void
synUnitFillingCheckData
();
void
synUnitFillingCheckData
();
void
synFillingUnloadUnitData
();
void
synFillingUnloadUnitData
();
Page
<
CylinderInfoDto
>
getCyinderInfoList
(
Page
<
CylinderInfoDto
>
page
);
ESCylinderInfoDto
saveCylinderInfoToES
(
CylinderInfoDto
ci
);
Page
<
ESCylinderInfoDto
>
queryByKeys
(
CylinderInfoDto
cylinderInfoDto
,
int
pageNum
,
int
pageSize
);
}
}
amos-boot-system-tzs/amos-boot-module-tzs-api/src/main/resources/mapper/CylinderFillingRecordMapper.xml
View file @
82df05e8
...
@@ -146,4 +146,60 @@
...
@@ -146,4 +146,60 @@
select count(1) from tz_cylinder_filling_record r where date_format(r.filling_endTime,'%Y-%m') = date_format(#{time},'%Y-%m') and app_id = #{appId}
select count(1) from tz_cylinder_filling_record r where date_format(r.filling_endTime,'%Y-%m') = date_format(#{time},'%Y-%m') and app_id = #{appId}
</select>
</select>
<select
id=
"getCyinderFillingRecord"
resultType=
"com.yeejoin.amos.boot.module.tzs.api.entity.ESCylinderFillingRecordDto"
>
SELECT
r.sequence_nbr AS sequenceNbr,
r.filling_startTime AS fillingStarttime,
r.filling_endTime AS fillingEndtime,
r.filling_user AS fillingUser,
r.filling_quantity AS fillingQuantity,
r.temperature AS temperature,
CASE
r.abnormal
WHEN 0 THEN
'有异常'
WHEN 1 THEN
'正常' ELSE''
END AS abnormalStr,
b.inspector_user AS inspectorUserBefore,
b.inspection_date AS inspectionDateBefore,
b.check_results AS checkResultsBefore,
b.sequence_code AS sequenceCode,
b.filling_unit_name AS fillingUnitName,
af.inspector AS inspectorAfter,
af.inspection_date AS inspectionDateAfter,
af.check_results AS checkResultsAfter
FROM
tz_cylinder_filling_record r
LEFT JOIN tz_cylinder_filling b ON b.filling_before_id = r.filling_before_id
AND date_format ( b.inspection_date, '%Y-%m-%d' ) = date_format ( r.filling_startTime, '%Y-%m-%d' )
LEFT JOIN tz_cylinder_filling_check af ON af.filling_check_id = r.filling_check_id
AND date_format ( af.inspection_date, '%Y-%m-%d' ) = date_format ( r.filling_startTime, '%Y-%m-%d' )
LEFT JOIN tz_cylinder_info i ON b.sequence_code = i.sequence_code
WHERE
r.is_not_es IS NULL
</select>
<select
id=
"getCyinderFillingRecordInfo"
resultType=
"com.yeejoin.amos.boot.module.tzs.api.entity.ESCylinderFillingRecordDto"
>
SELECT
ci.unit_name AS unit_name,
ci.factory_num AS factoryNum,
ci.cylinder_variety AS cylinder_variety,
d2.NAME AS cylinder_variety_name,
ci.unit_inner_code AS unit_inner_code,
ci.sequence_code AS sequence_code,
ct.qrCode,
ct.electronic_label_code,
ci.app_id,
ci.credit_code
FROM
tz_cylinder_info AS ci
LEFT JOIN cb_data_dictionary AS d1 ON d1.TYPE = 'CZJZMC' AND d1.code = ci.filling_media
LEFT JOIN cb_data_dictionary AS d2 ON d2.sequence_nbr = ci.cylinder_variety
LEFT JOIN tz_cylinder_tags AS ct ON ct.sequence_code = ci.sequence_code
LEFT JOIN tz_cylinder_unit AS tn ON ci.app_id = tn.app_id
where
ci.sequence_code = #{sequenceCode}
</select>
</mapper>
</mapper>
amos-boot-system-tzs/amos-boot-module-tzs-api/src/main/resources/mapper/CylinderInfoMapper.xml
View file @
82df05e8
...
@@ -243,4 +243,50 @@
...
@@ -243,4 +243,50 @@
</foreach>
</foreach>
</if>
</if>
</select>
</select>
<select
id=
"getCyinderInfoList"
resultType=
"com.yeejoin.amos.boot.module.tzs.flc.api.dto.CylinderInfoDto"
>
SELECT
ci.sequence_nbr AS sequence_nbr,
ci.unit_name AS unit_name,
ci.factory_num AS factory_num,
ci.cylinder_status AS cylinder_status,
ci.cylinder_variety AS cylinder_variety,
ci.volume AS volume,
ci.manufacturing_date AS manufacturing_date,
ci.manufacturing_unit AS manufacturing_unit,
ci.unit_inner_code AS unit_inner_code,
ci.sequence_code AS sequence_code,
ci.early_warning_level AS early_warning_level,
ci.early_warning_level_cal_date AS early_warning_level_cal_date,
ci.end_custom_code AS end_custom_code,
ci.rec_date AS rec_date,
ci.rec_user_id AS rec_user_id,
ci.sync_date AS sync_date,
ci.sync_state AS sync_state,
ci.app_id AS app_id,
ci.integrity AS integrity,
ci.longitude AS longitude,
ci.latitude AS latitude,
ci.credit_code AS credit_code,
ci.filling_media AS filling_media,
ci.product_name AS product_name,
ci.product_qualified AS product_qualified,
ci.proof_quality AS proof_quality,
ci.supervision_inspec AS supervision_inspec,
ci.type_experiments AS type_experiments,
ci.valve_manufactur_unit AS valve_manufactur_unit,
ci.nominal_work_pressure AS nominal_work_pressure,
d1.name AS filling_media_name,
d2.name AS cylinder_variety_name,
d3.name AS cylinder_status_str,
ct.qrCode,
ct.electronic_label_code
FROM
tz_cylinder_info AS ci
LEFT JOIN cb_data_dictionary AS d1 ON d1.type = 'CZJZMC' AND d1.code = ci.filling_media
LEFT JOIN cb_data_dictionary AS d2 ON d2.sequence_nbr = ci.cylinder_variety
LEFT JOIN cb_data_dictionary AS d3 ON d3.sequence_nbr = ci.cylinder_status
LEFT JOIN tz_cylinder_tags AS ct ON ct.sequence_code = ci.sequence_code
where ci.is_not_es IS NULL
</select>
</mapper>
</mapper>
amos-boot-system-tzs/amos-boot-module-tzs-biz/src/main/java/com/yeejoin/amos/boot/module/tzs/biz/dao/ESCylinderFillingRecordRepository.java
0 → 100644
View file @
82df05e8
package
com
.
yeejoin
.
amos
.
boot
.
module
.
tzs
.
biz
.
dao
;
import
com.yeejoin.amos.boot.module.tzs.api.entity.ESCylinderFillingRecordDto
;
import
org.springframework.data.repository.PagingAndSortingRepository
;
import
org.springframework.stereotype.Repository
;
@Repository
public
interface
ESCylinderFillingRecordRepository
extends
PagingAndSortingRepository
<
ESCylinderFillingRecordDto
,
Long
>
{
}
amos-boot-system-tzs/amos-boot-module-tzs-biz/src/main/java/com/yeejoin/amos/boot/module/tzs/biz/dao/ESCylinderInfoRepository.java
0 → 100644
View file @
82df05e8
package
com
.
yeejoin
.
amos
.
boot
.
module
.
tzs
.
biz
.
dao
;
import
com.yeejoin.amos.boot.module.tzs.api.entity.ESCylinderInfoDto
;
import
org.springframework.data.repository.PagingAndSortingRepository
;
import
org.springframework.stereotype.Repository
;
@Repository
public
interface
ESCylinderInfoRepository
extends
PagingAndSortingRepository
<
ESCylinderInfoDto
,
Long
>
{
}
amos-boot-system-tzs/amos-boot-module-tzs-biz/src/main/java/com/yeejoin/amos/boot/module/tzs/flc/biz/controller/CylinderInfoController.java
View file @
82df05e8
package
com
.
yeejoin
.
amos
.
boot
.
module
.
tzs
.
flc
.
biz
.
controller
;
package
com
.
yeejoin
.
amos
.
boot
.
module
.
tzs
.
flc
.
biz
.
controller
;
import
java.text.SimpleDateFormat
;
import
com.alibaba.fastjson.JSON
;
import
java.util.ArrayList
;
import
java.util.Collection
;
import
java.util.HashMap
;
import
java.util.List
;
import
java.util.Map
;
import
javax.servlet.http.HttpServletRequest
;
import
com.yeejoin.amos.boot.biz.common.bo.ReginParams
;
import
com.yeejoin.amos.boot.module.tzs.api.dto.TzBaseEnterpriseInfoDto
;
import
com.yeejoin.amos.boot.module.tzs.api.entity.BaseUnitLicence
;
import
com.yeejoin.amos.boot.module.tzs.api.entity.TzBaseEnterpriseInfo
;
import
com.yeejoin.amos.boot.module.tzs.biz.action.WarningMsgAction
;
import
com.yeejoin.amos.boot.module.tzs.biz.service.impl.BaseUnitLicenceServiceImpl
;
import
com.yeejoin.amos.boot.module.tzs.biz.service.impl.TzBaseEnterpriseInfoServiceImpl
;
import
com.yeejoin.amos.component.feign.model.FeignClientResult
;
import
com.yeejoin.amos.feign.privilege.Privilege
;
import
com.yeejoin.amos.feign.privilege.model.AgencyUserModel
;
import
com.yeejoin.amos.feign.privilege.model.CompanyModel
;
import
org.apache.commons.lang3.StringUtils
;
import
org.springframework.beans.BeanUtils
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.web.bind.annotation.DeleteMapping
;
import
org.springframework.web.bind.annotation.GetMapping
;
import
org.springframework.web.bind.annotation.PathVariable
;
import
org.springframework.web.bind.annotation.PostMapping
;
import
org.springframework.web.bind.annotation.PutMapping
;
import
org.springframework.web.bind.annotation.RequestBody
;
import
org.springframework.web.bind.annotation.RequestMapping
;
import
org.springframework.web.bind.annotation.RequestMethod
;
import
org.springframework.web.bind.annotation.RequestParam
;
import
org.springframework.web.bind.annotation.RestController
;
import
org.typroject.tyboot.core.foundation.enumeration.UserType
;
import
org.typroject.tyboot.core.foundation.utils.ValidationUtil
;
import
org.typroject.tyboot.core.restful.doc.TycloudOperation
;
import
org.typroject.tyboot.core.restful.utils.ResponseHelper
;
import
org.typroject.tyboot.core.restful.utils.ResponseModel
;
import
com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper
;
import
com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper
;
import
com.baomidou.mybatisplus.core.conditions.query.QueryWrapper
;
import
com.baomidou.mybatisplus.core.conditions.query.QueryWrapper
;
import
com.baomidou.mybatisplus.core.metadata.IPage
;
import
com.baomidou.mybatisplus.core.metadata.IPage
;
import
com.baomidou.mybatisplus.extension.plugins.pagination.Page
;
import
com.baomidou.mybatisplus.extension.plugins.pagination.Page
;
import
com.yeejoin.amos.boot.biz.common.bo.ReginParams
;
import
com.yeejoin.amos.boot.biz.common.controller.BaseController
;
import
com.yeejoin.amos.boot.biz.common.controller.BaseController
;
import
com.yeejoin.amos.boot.biz.common.entity.DataDictionary
;
import
com.yeejoin.amos.boot.biz.common.service.impl.DataDictionaryServiceImpl
;
import
com.yeejoin.amos.boot.biz.common.service.impl.DataDictionaryServiceImpl
;
import
com.yeejoin.amos.boot.biz.common.utils.RedisKey
;
import
com.yeejoin.amos.boot.biz.common.utils.RedisKey
;
import
com.yeejoin.amos.boot.biz.common.utils.RedisUtils
;
import
com.yeejoin.amos.boot.module.common.api.dto.AttachmentDto
;
import
com.yeejoin.amos.boot.module.common.api.dto.AttachmentDto
;
import
com.yeejoin.amos.boot.module.common.biz.service.impl.SourceFileServiceImpl
;
import
com.yeejoin.amos.boot.module.common.biz.service.impl.SourceFileServiceImpl
;
import
com.yeejoin.amos.boot.module.tzs.api.dto.TzBaseEnterpriseInfoDto
;
import
com.yeejoin.amos.boot.module.tzs.api.entity.BaseUnitLicence
;
import
com.yeejoin.amos.boot.module.tzs.api.entity.ESCylinderFillingRecordDto
;
import
com.yeejoin.amos.boot.module.tzs.api.entity.ESCylinderInfoDto
;
import
com.yeejoin.amos.boot.module.tzs.api.entity.MsgLog
;
import
com.yeejoin.amos.boot.module.tzs.api.entity.MsgLog
;
import
com.yeejoin.amos.boot.module.tzs.biz.service.impl.BaseUnitLicenceServiceImpl
;
import
com.yeejoin.amos.boot.module.tzs.biz.service.impl.ESCylinderServiceImpl
;
import
com.yeejoin.amos.boot.module.tzs.biz.service.impl.ESCylinderServiceImpl
;
import
com.yeejoin.amos.boot.module.tzs.biz.
utils.BeanDtoVoUtils
;
import
com.yeejoin.amos.boot.module.tzs.biz.
service.impl.TzBaseEnterpriseInfoServiceImpl
;
import
com.yeejoin.amos.boot.module.tzs.flc.api.dto.CylinderFillingRecordDto
;
import
com.yeejoin.amos.boot.module.tzs.flc.api.dto.CylinderFillingRecordDto
;
import
com.yeejoin.amos.boot.module.tzs.flc.api.dto.CylinderInfoDto
;
import
com.yeejoin.amos.boot.module.tzs.flc.api.dto.CylinderInfoDto
;
import
com.yeejoin.amos.boot.module.tzs.flc.api.dto.CylinderUnitDto
;
import
com.yeejoin.amos.boot.module.tzs.flc.api.dto.CylinderUnitDto
;
import
com.yeejoin.amos.boot.module.tzs.flc.api.entity.CylinderInfo
;
import
com.yeejoin.amos.boot.module.tzs.flc.api.entity.CylinderInfo
;
import
com.yeejoin.amos.boot.module.tzs.flc.api.entity.CylinderTags
;
import
com.yeejoin.amos.boot.module.tzs.flc.api.entity.CylinderUnit
;
import
com.yeejoin.amos.boot.module.tzs.flc.api.entity.CylinderUnit
;
import
com.yeejoin.amos.boot.module.tzs.flc.biz.service.impl.CylinderFillingRecordServiceImpl
;
import
com.yeejoin.amos.boot.module.tzs.flc.biz.service.impl.*
;
import
com.yeejoin.amos.boot.module.tzs.flc.biz.service.impl.CylinderInfoServiceImpl
;
import
com.yeejoin.amos.component.feign.model.FeignClientResult
;
import
com.yeejoin.amos.boot.module.tzs.flc.biz.service.impl.CylinderInspectionServiceImpl
;
import
com.yeejoin.amos.feign.privilege.Privilege
;
import
com.yeejoin.amos.boot.module.tzs.flc.biz.service.impl.CylinderTagsServiceImpl
;
import
com.yeejoin.amos.feign.privilege.model.AgencyUserModel
;
import
com.yeejoin.amos.boot.module.tzs.flc.biz.service.impl.CylinderUnitServiceImpl
;
import
com.yeejoin.amos.feign.privilege.model.CompanyModel
;
import
com.yeejoin.amos.boot.module.tzs.flc.biz.service.impl.ScheduleService
;
import
com.yeejoin.amos.feign.systemctl.Systemctl
;
import
com.yeejoin.amos.feign.systemctl.Systemctl
;
import
com.yeejoin.amos.feign.systemctl.model.RegionModel
;
import
com.yeejoin.amos.feign.systemctl.model.RegionModel
;
import
io.swagger.annotations.Api
;
import
io.swagger.annotations.Api
;
import
io.swagger.annotations.ApiOperation
;
import
io.swagger.annotations.ApiOperation
;
import
org.apache.commons.lang3.StringUtils
;
import
org.springframework.beans.BeanUtils
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.util.ObjectUtils
;
import
org.springframework.web.bind.annotation.*
;
import
org.typroject.tyboot.core.foundation.context.RequestContext
;
import
org.typroject.tyboot.core.foundation.enumeration.UserType
;
import
org.typroject.tyboot.core.foundation.utils.ValidationUtil
;
import
org.typroject.tyboot.core.restful.doc.TycloudOperation
;
import
org.typroject.tyboot.core.restful.utils.ResponseHelper
;
import
org.typroject.tyboot.core.restful.utils.ResponseModel
;
import
javax.servlet.http.HttpServletRequest
;
import
java.text.SimpleDateFormat
;
import
java.util.*
;
/**
/**
* 气瓶基本信息
* 气瓶基本信息
...
@@ -115,6 +95,9 @@ public class CylinderInfoController extends BaseController {
...
@@ -115,6 +95,9 @@ public class CylinderInfoController extends BaseController {
@Autowired
@Autowired
TzBaseEnterpriseInfoServiceImpl
baseEnterpriseInfoService
;
TzBaseEnterpriseInfoServiceImpl
baseEnterpriseInfoService
;
@Autowired
private
RedisUtils
redisUtils
;
/**
/**
* 新增气瓶基本信息
* 新增气瓶基本信息
*
*
...
@@ -575,6 +558,149 @@ public class CylinderInfoController extends BaseController {
...
@@ -575,6 +558,149 @@ public class CylinderInfoController extends BaseController {
// return ResponseHelper.buildResponse(result);
// return ResponseHelper.buildResponse(result);
}
}
/**
* 气瓶基本信息存入es
*
* @return
*/
@TycloudOperation
(
ApiLevel
=
UserType
.
AGENCY
)
@GetMapping
(
value
=
"/saveCyinderInfo"
)
@ApiOperation
(
httpMethod
=
"GET"
,
value
=
"气瓶基本信息存入es"
,
notes
=
"气瓶基本信息存入es"
)
public
void
saveCyinderInfo
()
{
Page
<
CylinderInfoDto
>
cylinderInfoPage
=
new
Page
<>();
Integer
count
=
cylinderInfoServiceImpl
.
count
();
Integer
times
=
0
;
if
(
count
!=
0
)
{
times
=
count
/
1000
;
int
last
=
count
%
1000
;
if
(
last
>
0
)
{
times
++;
}
}
for
(
int
i
=
0
;
i
<=
times
;
i
++)
{
cylinderInfoPage
.
setCurrent
(
i
);
cylinderInfoPage
.
setSize
(
1000
);
cylinderInfoPage
=
cylinderInfoServiceImpl
.
getCyinderInfoList
(
cylinderInfoPage
);
for
(
CylinderInfoDto
ci
:
cylinderInfoPage
.
getRecords
())
{
cylinderInfoServiceImpl
.
saveCylinderInfoToES
(
ci
);
}
}
}
@TycloudOperation
(
ApiLevel
=
UserType
.
AGENCY
)
@GetMapping
(
value
=
"/getCyinderInfo"
)
@ApiOperation
(
httpMethod
=
"GET"
,
value
=
"气瓶基本信息存入es入口"
,
notes
=
"气瓶基本信息存入es入口"
)
public
Page
<
CylinderInfoDto
>
getCyinderInfo
()
{
Page
<
CylinderInfoDto
>
cylinderInfoPage
=
new
Page
<>();
cylinderInfoPage
.
setCurrent
(
1
);
cylinderInfoPage
.
setSize
(
1000
);
cylinderInfoPage
=
cylinderInfoServiceImpl
.
getCyinderInfoList
(
cylinderInfoPage
);
for
(
CylinderInfoDto
ci
:
cylinderInfoPage
.
getRecords
())
{
cylinderInfoServiceImpl
.
saveCylinderInfoToES
(
ci
);
}
return
cylinderInfoServiceImpl
.
getCyinderInfoList
(
cylinderInfoPage
);
}
/**
* 气瓶基本信息
*
* @param pageNum 当前页
* @param pageSize 每页大小
* @return
*/
@TycloudOperation
(
ApiLevel
=
UserType
.
AGENCY
)
@GetMapping
(
value
=
"/getEsCyinderInfoList"
)
@ApiOperation
(
httpMethod
=
"GET"
,
value
=
"获取登陆人所在气瓶基本信息"
,
notes
=
"获取登陆人所在气瓶基本信息"
)
public
ResponseModel
<
IPage
<
ESCylinderInfoDto
>>
getEsCyinderInfoList
(
@RequestParam
(
value
=
"pageNum"
)
int
pageNum
,
@RequestParam
(
value
=
"pageSize"
)
int
pageSize
,
CylinderInfoDto
cylinderInfoDto
)
{
ReginParams
reginParams
=
JSON
.
parseObject
(
redisUtils
.
get
(
RedisKey
.
buildReginKey
(
RequestContext
.
getExeUserId
(),
RequestContext
.
getToken
())).
toString
(),
ReginParams
.
class
);
if
(
ObjectUtils
.
isEmpty
(
reginParams
))
{
return
null
;
}
String
companyCode
=
reginParams
.
getUserModel
().
getCompanys
().
get
(
0
).
getCompanyCode
();
if
(
companyCode
.
length
()
>
6
)
{
cylinderInfoDto
.
setCreditCode
(
companyCode
);
}
if
(
ValidationUtil
.
isEmpty
(
cylinderInfoDto
.
getRegionCode
())
&&
ValidationUtil
.
isEmpty
(
cylinderInfoDto
.
getCreditCode
())
&&
cylinderInfoDto
.
getIsWarn
()
==
0
)
{
return
null
;
}
Page
<
ESCylinderInfoDto
>
pageResult
=
cylinderInfoServiceImpl
.
queryByKeys
(
cylinderInfoDto
,
pageNum
,
pageSize
);
return
ResponseHelper
.
buildResponse
(
pageResult
);
}
@TycloudOperation
(
ApiLevel
=
UserType
.
AGENCY
)
@GetMapping
(
value
=
"/saveCyinderFillingRecord"
)
@ApiOperation
(
httpMethod
=
"GET"
,
value
=
"气瓶充装信息存入es"
,
notes
=
"气瓶充装信息存入es"
)
public
void
saveCyinderFillingRecord
()
{
Page
<
ESCylinderFillingRecordDto
>
recordDtoPage
=
new
Page
<>();
Integer
count
=
cylinderFillingRecordServiceImpl
.
count
();
Integer
times
=
0
;
if
(
count
!=
0
)
{
times
=
count
/
1000
;
int
last
=
count
%
1000
;
if
(
last
>
0
)
{
times
++;
}
}
for
(
int
i
=
0
;
i
<=
times
;
i
++)
{
recordDtoPage
.
setCurrent
(
i
);
recordDtoPage
.
setSize
(
1000
);
// CylinderFillingRecordDto cylinderFillingRecordDto = new CylinderFillingRecordDto();
// if (StringUtils.isEmpty(cylinderFillingRecordDto.getSequenceCode())) {
// cylinderFillingRecordDto.setAppId("9B150BB7D0C21A7A62BD6837E14A44BF");
// }
Page
<
ESCylinderFillingRecordDto
>
cyinderFillingRecord
=
cylinderFillingRecordServiceImpl
.
getCyinderFillingRecord
(
recordDtoPage
);
for
(
ESCylinderFillingRecordDto
ci
:
cyinderFillingRecord
.
getRecords
())
{
cylinderFillingRecordServiceImpl
.
saveCylinderFillingRecordToES
(
ci
);
}
}
}
@TycloudOperation
(
ApiLevel
=
UserType
.
AGENCY
)
@GetMapping
(
value
=
"/getCyinderFillingRecord"
)
@ApiOperation
(
httpMethod
=
"GET"
,
value
=
"气瓶充装信息存入es入口"
,
notes
=
"气瓶充装信息存入es入口"
)
public
Page
<
ESCylinderFillingRecordDto
>
getCyinderFillingRecord
()
{
Page
<
ESCylinderFillingRecordDto
>
cylinderInfoPage
=
new
Page
<>();
cylinderInfoPage
.
setCurrent
(
1
);
cylinderInfoPage
.
setSize
(
10
);
Page
<
ESCylinderFillingRecordDto
>
cyinderFillingRecord
=
cylinderFillingRecordServiceImpl
.
getCyinderFillingRecord
(
cylinderInfoPage
);
for
(
ESCylinderFillingRecordDto
ci
:
cyinderFillingRecord
.
getRecords
())
{
cylinderFillingRecordServiceImpl
.
saveCylinderFillingRecordToES
(
ci
);
}
return
cyinderFillingRecord
;
}
/**
* 气瓶基本信息
*
* @param pageNum 当前页
* @param pageSize 每页大小
* @return
*/
@TycloudOperation
(
ApiLevel
=
UserType
.
AGENCY
)
@GetMapping
(
value
=
"/getEsCyinderRecordList"
)
@ApiOperation
(
httpMethod
=
"GET"
,
value
=
"获取登陆人所在气瓶充装信息"
,
notes
=
"获取登陆人所在气瓶充装信息"
)
public
ResponseModel
<
IPage
<
ESCylinderFillingRecordDto
>>
getEsCyinderRecordList
(
@RequestParam
(
value
=
"pageNum"
)
int
pageNum
,
@RequestParam
(
value
=
"pageSize"
)
int
pageSize
,
ESCylinderFillingRecordDto
esCylinderFillingRecordDto
)
{
ReginParams
reginParams
=
JSON
.
parseObject
(
redisUtils
.
get
(
RedisKey
.
buildReginKey
(
RequestContext
.
getExeUserId
(),
RequestContext
.
getToken
())).
toString
(),
ReginParams
.
class
);
if
(
ObjectUtils
.
isEmpty
(
reginParams
))
{
return
null
;
}
String
companyCode
=
reginParams
.
getUserModel
().
getCompanys
().
get
(
0
).
getCompanyCode
();
if
(
companyCode
.
length
()
>
6
)
{
esCylinderFillingRecordDto
.
setCreditCode
(
companyCode
);
}
Page
<
ESCylinderFillingRecordDto
>
pageResult
=
cylinderFillingRecordServiceImpl
.
queryByKeys
(
esCylinderFillingRecordDto
,
pageNum
,
pageSize
);
return
ResponseHelper
.
buildResponse
(
pageResult
);
}
private
QueryWrapper
<
CylinderInfo
>
setQueryWrapper
(
QueryWrapper
<
CylinderInfo
>
queryWrapper
,
private
QueryWrapper
<
CylinderInfo
>
setQueryWrapper
(
QueryWrapper
<
CylinderInfo
>
queryWrapper
,
CylinderInfoDto
cylinderInfo
,
String
sort
)
{
CylinderInfoDto
cylinderInfo
,
String
sort
)
{
if
(
cylinderInfo
.
getAppIds
()
!=
null
&&
cylinderInfo
.
getAppIds
().
size
()
>
0
)
{
if
(
cylinderInfo
.
getAppIds
()
!=
null
&&
cylinderInfo
.
getAppIds
().
size
()
>
0
)
{
...
...
amos-boot-system-tzs/amos-boot-module-tzs-biz/src/main/java/com/yeejoin/amos/boot/module/tzs/flc/biz/service/impl/CylinderFillingRecordServiceImpl.java
View file @
82df05e8
package
com
.
yeejoin
.
amos
.
boot
.
module
.
tzs
.
flc
.
biz
.
service
.
impl
;
package
com
.
yeejoin
.
amos
.
boot
.
module
.
tzs
.
flc
.
biz
.
service
.
impl
;
import
com.alibaba.fastjson.JSONArray
;
import
com.alibaba.fastjson.JSONArray
;
import
com.alibaba.fastjson.JSONObject
;
import
com.baomidou.mybatisplus.core.conditions.query.QueryWrapper
;
import
com.baomidou.mybatisplus.extension.plugins.pagination.Page
;
import
com.baomidou.mybatisplus.extension.plugins.pagination.Page
;
import
com.yeejoin.amos.boot.module.tzs.api.entity.ESCylinderFillingRecordDto
;
import
com.yeejoin.amos.boot.module.tzs.biz.dao.ESCylinderFillingRecordRepository
;
import
com.yeejoin.amos.boot.module.tzs.flc.api.dto.CylinderFillingRecordDto
;
import
com.yeejoin.amos.boot.module.tzs.flc.api.dto.CylinderFillingRecordDto
;
import
com.yeejoin.amos.boot.module.tzs.flc.api.entity.CylinderFillingRecord
;
import
com.yeejoin.amos.boot.module.tzs.flc.api.entity.CylinderFillingRecord
;
import
com.yeejoin.amos.boot.module.tzs.flc.api.mapper.CylinderFillingRecordMapper
;
import
com.yeejoin.amos.boot.module.tzs.flc.api.mapper.CylinderFillingRecordMapper
;
import
com.yeejoin.amos.boot.module.tzs.flc.api.service.ICylinderFillingRecordService
;
import
com.yeejoin.amos.boot.module.tzs.flc.api.service.ICylinderFillingRecordService
;
import
org.apache.http.HttpHost
;
import
org.elasticsearch.action.search.SearchRequest
;
import
org.elasticsearch.action.search.SearchResponse
;
import
org.elasticsearch.client.RequestOptions
;
import
org.elasticsearch.client.RestClient
;
import
org.elasticsearch.client.RestHighLevelClient
;
import
org.elasticsearch.index.query.BoolQueryBuilder
;
import
org.elasticsearch.index.query.QueryBuilders
;
import
org.elasticsearch.search.builder.SearchSourceBuilder
;
import
org.springframework.beans.BeanUtils
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.scheduling.annotation.Scheduled
;
import
org.springframework.stereotype.Service
;
import
org.springframework.stereotype.Service
;
import
org.springframework.util.ObjectUtils
;
import
org.typroject.tyboot.core.rdbms.service.BaseService
;
import
org.typroject.tyboot.core.rdbms.service.BaseService
;
import
java.io.IOException
;
import
java.util.Date
;
import
java.util.Date
;
import
java.util.LinkedList
;
import
java.util.List
;
import
java.util.List
;
import
java.util.stream.Collectors
;
/**
/**
* 液化气体气瓶充装信息-充装记录服务实现类
* 液化气体气瓶充装信息-充装记录服务实现类
...
@@ -20,6 +40,13 @@ import java.util.List;
...
@@ -20,6 +40,13 @@ import java.util.List;
*/
*/
@Service
@Service
public
class
CylinderFillingRecordServiceImpl
extends
BaseService
<
CylinderFillingRecordDto
,
CylinderFillingRecord
,
CylinderFillingRecordMapper
>
implements
ICylinderFillingRecordService
{
public
class
CylinderFillingRecordServiceImpl
extends
BaseService
<
CylinderFillingRecordDto
,
CylinderFillingRecord
,
CylinderFillingRecordMapper
>
implements
ICylinderFillingRecordService
{
@Autowired
ESCylinderFillingRecordRepository
esCylinderFillingRecordRepository
;
@Autowired
CylinderFillingRecordMapper
cylinderFillingRecordMapper
;
/**
/**
* 分页查询
* 分页查询
*/
*/
...
@@ -77,4 +104,223 @@ public class CylinderFillingRecordServiceImpl extends BaseService<CylinderFillin
...
@@ -77,4 +104,223 @@ public class CylinderFillingRecordServiceImpl extends BaseService<CylinderFillin
public
Double
getFillingSumByDate
(
String
appId
,
Date
time
)
{
public
Double
getFillingSumByDate
(
String
appId
,
Date
time
)
{
return
baseMapper
.
getFillingSumByDate
(
appId
,
time
);
return
baseMapper
.
getFillingSumByDate
(
appId
,
time
);
}
}
@Scheduled
(
cron
=
"${tzs.cylinder.fill.cron}"
)
public
void
setTimeSaveCylinderInfoToES
(){
Page
<
ESCylinderFillingRecordDto
>
cylinderFillingRecordPage
=
new
Page
<>();
Page
<
ESCylinderFillingRecordDto
>
cyinderInfoList
=
cylinderFillingRecordMapper
.
getCyinderFillingRecord
(
cylinderFillingRecordPage
);
Long
count
=
cyinderInfoList
.
getCurrent
();
Long
times
=
0L
;
if
(
count
!=
0
)
{
times
=
count
/
1000
;
Long
last
=
count
%
1000
;
if
(
last
>
0
)
{
times
++;
}
}
for
(
int
i
=
0
;
i
<=
times
;
i
++)
{
cylinderFillingRecordPage
.
setCurrent
(
i
);
cylinderFillingRecordPage
.
setSize
(
1000
);
cylinderFillingRecordPage
=
cylinderFillingRecordMapper
.
getCyinderFillingRecord
(
cylinderFillingRecordPage
);
if
(!
ObjectUtils
.
isEmpty
(
cylinderFillingRecordPage
)){
cylinderFillingRecordPage
.
getRecords
().
stream
().
map
(
item
->{
if
(!
ObjectUtils
.
isEmpty
(
item
.
getSequenceCode
())){
ESCylinderFillingRecordDto
cyinderFillingRecordInfo
=
cylinderFillingRecordMapper
.
getCyinderFillingRecordInfo
(
item
.
getSequenceCode
());
item
.
setUnitName
(
cyinderFillingRecordInfo
.
getUnitName
());
item
.
setFactoryNum
(
cyinderFillingRecordInfo
.
getFactoryNum
());
item
.
setCylinderVariety
(
cyinderFillingRecordInfo
.
getCylinderVariety
());
item
.
setCylinderVarietyName
(
cyinderFillingRecordInfo
.
getCylinderVarietyName
());
item
.
setUnitInnerCode
(
cyinderFillingRecordInfo
.
getUnitInnerCode
());
item
.
setSequenceCode
(
cyinderFillingRecordInfo
.
getSequenceCode
());
item
.
setQrCode
(
cyinderFillingRecordInfo
.
getQrCode
());
item
.
setElectronicLabelCode
(
cyinderFillingRecordInfo
.
getElectronicLabelCode
());
item
.
setAppId
(
cyinderFillingRecordInfo
.
getAppId
());
item
.
setCreditCode
(
cyinderFillingRecordInfo
.
getCreditCode
());
}
return
item
;
}).
collect
(
Collectors
.
toList
());
}
for
(
ESCylinderFillingRecordDto
ci
:
cylinderFillingRecordPage
.
getRecords
())
{
saveCylinderFillingRecordToES
(
ci
);
}
}
}
@Override
public
Page
<
ESCylinderFillingRecordDto
>
getCyinderFillingRecord
(
Page
<
ESCylinderFillingRecordDto
>
cylinderFillingRecordDto
)
{
Page
<
ESCylinderFillingRecordDto
>
cyinderFillingRecord
=
cylinderFillingRecordMapper
.
getCyinderFillingRecord
(
cylinderFillingRecordDto
);
if
(!
ObjectUtils
.
isEmpty
(
cyinderFillingRecord
)){
cyinderFillingRecord
.
getRecords
().
stream
().
map
(
item
->{
if
(!
ObjectUtils
.
isEmpty
(
item
.
getSequenceCode
())){
ESCylinderFillingRecordDto
cyinderFillingRecordInfo
=
cylinderFillingRecordMapper
.
getCyinderFillingRecordInfo
(
item
.
getSequenceCode
());
item
.
setUnitName
(
cyinderFillingRecordInfo
.
getUnitName
());
item
.
setFactoryNum
(
cyinderFillingRecordInfo
.
getFactoryNum
());
item
.
setCylinderVariety
(
cyinderFillingRecordInfo
.
getCylinderVariety
());
item
.
setCylinderVarietyName
(
cyinderFillingRecordInfo
.
getCylinderVarietyName
());
item
.
setUnitInnerCode
(
cyinderFillingRecordInfo
.
getUnitInnerCode
());
item
.
setSequenceCode
(
cyinderFillingRecordInfo
.
getSequenceCode
());
item
.
setQrCode
(
cyinderFillingRecordInfo
.
getQrCode
());
item
.
setElectronicLabelCode
(
cyinderFillingRecordInfo
.
getElectronicLabelCode
());
item
.
setAppId
(
cyinderFillingRecordInfo
.
getAppId
());
item
.
setCreditCode
(
cyinderFillingRecordInfo
.
getCreditCode
());
}
return
item
;
}).
collect
(
Collectors
.
toList
());
}
return
cylinderFillingRecordMapper
.
getCyinderFillingRecord
(
cylinderFillingRecordDto
);
}
@Override
public
Page
<
ESCylinderFillingRecordDto
>
queryByKeys
(
ESCylinderFillingRecordDto
esCylinderFillingRecordDto
,
int
pageNum
,
int
pageSize
)
{
Page
<
ESCylinderFillingRecordDto
>
result
=
new
Page
<
ESCylinderFillingRecordDto
>(
pageNum
,
pageSize
);
RestHighLevelClient
esClient
=
new
RestHighLevelClient
(
RestClient
.
builder
(
new
HttpHost
(
"36.46.151.113"
,
9200
,
"http"
))
);
SearchRequest
request
=
new
SearchRequest
();
request
.
indices
(
"cylinder_info"
);
//通用匹配规则,条件构建
boolean
flag
=
true
;
SearchSourceBuilder
builder
=
new
SearchSourceBuilder
();
BoolQueryBuilder
boolMust
=
QueryBuilders
.
boolQuery
();
//匹配当前登录人
// if (!ObjectUtils.isEmpty(esCylinderFillingRecordDto.getCreditCode())) {
// flag = false;
// BoolQueryBuilder meBuilder = QueryBuilders.boolQuery();
// meBuilder.must(QueryBuilders.matchQuery("creditCode", esCylinderFillingRecordDto.getCreditCode()));
// boolMust.must(meBuilder);
// }
//匹配充装单位
if
(!
ObjectUtils
.
isEmpty
(
esCylinderFillingRecordDto
.
getFillingUnitName
()))
{
flag
=
false
;
BoolQueryBuilder
query
=
QueryBuilders
.
boolQuery
();
query
.
must
(
QueryBuilders
.
matchQuery
(
"fillingUnitName"
,
"*"
+
esCylinderFillingRecordDto
.
getFillingUnitName
()
+
"*"
));
boolMust
.
must
(
query
);
}
//匹配产权单位
if
(!
ObjectUtils
.
isEmpty
(
esCylinderFillingRecordDto
.
getUnitName
()))
{
flag
=
false
;
BoolQueryBuilder
query
=
QueryBuilders
.
boolQuery
();
query
.
must
(
QueryBuilders
.
matchQuery
(
"unitName"
,
"*"
+
esCylinderFillingRecordDto
.
getUnitName
()
+
"*"
));
boolMust
.
must
(
query
);
}
//匹配出厂编号
if
(!
ObjectUtils
.
isEmpty
(
esCylinderFillingRecordDto
.
getFactoryNum
()))
{
flag
=
false
;
BoolQueryBuilder
query
=
QueryBuilders
.
boolQuery
();
query
.
must
(
QueryBuilders
.
matchQuery
(
"factoryNum"
,
"*"
+
esCylinderFillingRecordDto
.
getFactoryNum
()
+
"*"
));
boolMust
.
must
(
query
);
}
//匹配气瓶品种
if
(!
ObjectUtils
.
isEmpty
(
esCylinderFillingRecordDto
.
getCylinderVariety
()))
{
flag
=
false
;
BoolQueryBuilder
query
=
QueryBuilders
.
boolQuery
();
query
.
must
(
QueryBuilders
.
matchQuery
(
"cylinderVariety"
,
esCylinderFillingRecordDto
.
getCylinderVariety
()));
boolMust
.
must
(
query
);
}
//匹配二维码编码
if
(!
ObjectUtils
.
isEmpty
(
esCylinderFillingRecordDto
.
getQrCode
()))
{
flag
=
false
;
BoolQueryBuilder
query
=
QueryBuilders
.
boolQuery
();
query
.
must
(
QueryBuilders
.
matchQuery
(
"qrCode"
,
"*"
+
esCylinderFillingRecordDto
.
getQrCode
()
+
"*"
));
boolMust
.
must
(
query
);
}
//匹配电子标签
if
(!
ObjectUtils
.
isEmpty
(
esCylinderFillingRecordDto
.
getElectronicLabelCode
()))
{
flag
=
false
;
BoolQueryBuilder
query
=
QueryBuilders
.
boolQuery
();
query
.
must
(
QueryBuilders
.
matchQuery
(
"electronicLabelCode"
,
"*"
+
esCylinderFillingRecordDto
.
getElectronicLabelCode
()
+
"*"
));
boolMust
.
must
(
query
);
}
//匹配气瓶唯一标识
if
(!
ObjectUtils
.
isEmpty
(
esCylinderFillingRecordDto
.
getSequenceCode
()))
{
flag
=
false
;
BoolQueryBuilder
sequenceCodeBuilder
=
QueryBuilders
.
boolQuery
();
sequenceCodeBuilder
.
must
(
QueryBuilders
.
matchQuery
(
"sequenceCode"
,
esCylinderFillingRecordDto
.
getSequenceCode
()));
boolMust
.
must
(
sequenceCodeBuilder
);
}
//匹配单位内部编号
if
(!
ObjectUtils
.
isEmpty
(
esCylinderFillingRecordDto
.
getUnitInnerCode
()))
{
flag
=
false
;
BoolQueryBuilder
query
=
QueryBuilders
.
boolQuery
();
query
.
must
(
QueryBuilders
.
matchQuery
(
"unitInnerCode"
,
"*"
+
esCylinderFillingRecordDto
.
getUnitInnerCode
()
+
"*"
));
boolMust
.
must
(
query
);
}
//充装开始时间
if
(!
ObjectUtils
.
isEmpty
(
esCylinderFillingRecordDto
.
getFillingStartTime
()))
{
flag
=
false
;
BoolQueryBuilder
query
=
QueryBuilders
.
boolQuery
();
query
.
must
(
QueryBuilders
.
matchQuery
(
"fillingStartTime"
,
esCylinderFillingRecordDto
.
getFillingStartTime
()));
boolMust
.
must
(
query
);
}
//充装结束时间
if
(!
ObjectUtils
.
isEmpty
(
esCylinderFillingRecordDto
.
getFillingEndTime
()))
{
flag
=
false
;
BoolQueryBuilder
query
=
QueryBuilders
.
boolQuery
();
query
.
must
(
QueryBuilders
.
matchQuery
(
"fillingEndTime"
,
esCylinderFillingRecordDto
.
getFillingEndTime
()));
boolMust
.
must
(
query
);
}
if
(
flag
)
{
// 搜索全部
boolMust
.
must
(
QueryBuilders
.
matchAllQuery
());
}
builder
.
query
(
boolMust
);
builder
.
from
((
pageNum
-
1
)
*
pageSize
);
builder
.
size
(
pageSize
);
request
.
source
(
builder
);
List
<
ESCylinderFillingRecordDto
>
list
=
new
LinkedList
<>();
long
totle
=
0
;
try
{
SearchResponse
response
=
esClient
.
search
(
request
,
RequestOptions
.
DEFAULT
);
for
(
org
.
elasticsearch
.
search
.
SearchHit
hit
:
response
.
getHits
())
{
System
.
out
.
println
(
hit
);
JSONObject
jsonObject
=
(
JSONObject
)
JSONObject
.
toJSON
(
hit
);
ESCylinderFillingRecordDto
esCylinderFillingRecordDto1
=
JSONObject
.
toJavaObject
(
jsonObject
.
getJSONObject
(
"sourceAsMap"
),
ESCylinderFillingRecordDto
.
class
);
list
.
add
(
esCylinderFillingRecordDto1
);
}
totle
=
response
.
getInternalResponse
().
hits
().
getTotalHits
().
value
;
result
.
setRecords
(
list
);
result
.
setTotal
(
totle
);
}
catch
(
IOException
e
)
{
throw
new
RuntimeException
(
e
);
}
return
result
;
}
@Override
public
ESCylinderFillingRecordDto
saveCylinderFillingRecordToES
(
ESCylinderFillingRecordDto
ci
)
{
ESCylinderFillingRecordDto
esCylinderFillingRecordDto
=
new
ESCylinderFillingRecordDto
();
BeanUtils
.
copyProperties
(
ci
,
esCylinderFillingRecordDto
);
ESCylinderFillingRecordDto
recordDto
=
esCylinderFillingRecordRepository
.
save
(
esCylinderFillingRecordDto
);
if
(!
ObjectUtils
.
isEmpty
(
recordDto
))
{
//同步到es后修改
CylinderFillingRecord
cylinderFillingRecord
=
new
CylinderFillingRecord
();
cylinderFillingRecord
.
setIsNotEs
(
"1"
);
baseMapper
.
update
(
cylinderFillingRecord
,
new
QueryWrapper
<
CylinderFillingRecord
>().
eq
(
"sequence_nbr"
,
ci
.
getSequenceNbr
()));
}
return
recordDto
;
}
}
}
\ No newline at end of file
amos-boot-system-tzs/amos-boot-module-tzs-biz/src/main/java/com/yeejoin/amos/boot/module/tzs/flc/biz/service/impl/CylinderInfoServiceImpl.java
View file @
82df05e8
package
com
.
yeejoin
.
amos
.
boot
.
module
.
tzs
.
flc
.
biz
.
service
.
impl
;
package
com
.
yeejoin
.
amos
.
boot
.
module
.
tzs
.
flc
.
biz
.
service
.
impl
;
import
java.math.BigDecimal
;
import
java.text.ParseException
;
import
java.text.SimpleDateFormat
;
import
java.util.ArrayList
;
import
java.util.Calendar
;
import
java.util.Collection
;
import
java.util.Comparator
;
import
java.util.Date
;
import
java.util.LinkedList
;
import
java.util.List
;
import
java.util.Map
;
import
java.util.function.Consumer
;
import
java.util.function.IntConsumer
;
import
org.apache.commons.lang3.StringUtils
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.beans.factory.annotation.Value
;
import
org.springframework.scheduling.annotation.Scheduled
;
import
org.springframework.stereotype.Service
;
import
org.springframework.transaction.annotation.Transactional
;
import
org.typroject.tyboot.core.foundation.utils.ValidationUtil
;
import
org.typroject.tyboot.core.rdbms.service.BaseService
;
import
com.alibaba.fastjson.JSON
;
import
com.alibaba.fastjson.JSON
;
import
com.alibaba.fastjson.JSONObject
;
import
com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper
;
import
com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper
;
import
com.baomidou.mybatisplus.core.conditions.query.QueryWrapper
;
import
com.baomidou.mybatisplus.core.metadata.IPage
;
import
com.baomidou.mybatisplus.core.metadata.IPage
;
import
com.baomidou.mybatisplus.extension.plugins.pagination.Page
;
import
com.baomidou.mybatisplus.extension.plugins.pagination.Page
;
import
com.yeejoin.amos.boot.biz.common.utils.DateUtils
;
import
com.yeejoin.amos.boot.biz.common.utils.DateUtils
;
import
com.yeejoin.amos.boot.module.tzs.api.dto.WarningMsgDto
;
import
com.yeejoin.amos.boot.module.tzs.api.dto.WarningMsgDto
;
import
com.yeejoin.amos.boot.module.tzs.api.entity.ESCylinderInfoDto
;
import
com.yeejoin.amos.boot.module.tzs.api.entity.MsgLog
;
import
com.yeejoin.amos.boot.module.tzs.api.entity.MsgLog
;
import
com.yeejoin.amos.boot.module.tzs.api.enums.EarlyWarningLevelEnum
;
import
com.yeejoin.amos.boot.module.tzs.api.enums.EarlyWarningLevelEnum
;
import
com.yeejoin.amos.boot.module.tzs.api.mapper.ScheduleMapper
;
import
com.yeejoin.amos.boot.module.tzs.api.mapper.ScheduleMapper
;
import
com.yeejoin.amos.boot.module.tzs.biz.dao.ESCylinderInfoRepository
;
import
com.yeejoin.amos.boot.module.tzs.biz.service.impl.MsgLogServiceImpl
;
import
com.yeejoin.amos.boot.module.tzs.biz.service.impl.MsgLogServiceImpl
;
import
com.yeejoin.amos.boot.module.tzs.biz.service.impl.StartPlatformTokenService
;
import
com.yeejoin.amos.boot.module.tzs.biz.service.impl.StartPlatformTokenService
;
import
com.yeejoin.amos.boot.module.tzs.biz.service.impl.TzsAuthServiceImpl
;
import
com.yeejoin.amos.boot.module.tzs.biz.service.impl.TzsAuthServiceImpl
;
import
com.yeejoin.amos.boot.module.tzs.flc.api.dto.CylinderAreaDataDto
;
import
com.yeejoin.amos.boot.module.tzs.flc.api.dto.*
;
import
com.yeejoin.amos.boot.module.tzs.flc.api.dto.CylinderFillingCheckDataUnitDto
;
import
com.yeejoin.amos.boot.module.tzs.flc.api.entity.*
;
import
com.yeejoin.amos.boot.module.tzs.flc.api.dto.CylinderFillingDataUnitDto
;
import
com.yeejoin.amos.boot.module.tzs.flc.api.dto.CylinderFillingUnloadDataDto
;
import
com.yeejoin.amos.boot.module.tzs.flc.api.dto.CylinderFillingUnloadDataUnitDto
;
import
com.yeejoin.amos.boot.module.tzs.flc.api.dto.CylinderInfoDataDto
;
import
com.yeejoin.amos.boot.module.tzs.flc.api.dto.CylinderInfoDataUnitDto
;
import
com.yeejoin.amos.boot.module.tzs.flc.api.dto.CylinderInfoDto
;
import
com.yeejoin.amos.boot.module.tzs.flc.api.dto.CylinderIntegrityDataDto
;
import
com.yeejoin.amos.boot.module.tzs.flc.api.dto.CylinderIntegrityDataUnitDto
;
import
com.yeejoin.amos.boot.module.tzs.flc.api.dto.CylinderTagsDataUnitDto
;
import
com.yeejoin.amos.boot.module.tzs.flc.api.dto.CylinderUnitDataDto
;
import
com.yeejoin.amos.boot.module.tzs.flc.api.entity.CylinderAreaData
;
import
com.yeejoin.amos.boot.module.tzs.flc.api.entity.CylinderFillingDataUnit
;
import
com.yeejoin.amos.boot.module.tzs.flc.api.entity.CylinderFillingUnloadData
;
import
com.yeejoin.amos.boot.module.tzs.flc.api.entity.CylinderFillingUnloadDataUnit
;
import
com.yeejoin.amos.boot.module.tzs.flc.api.entity.CylinderInfo
;
import
com.yeejoin.amos.boot.module.tzs.flc.api.entity.CylinderInfoDataUnit
;
import
com.yeejoin.amos.boot.module.tzs.flc.api.entity.CylinderIntegrityData
;
import
com.yeejoin.amos.boot.module.tzs.flc.api.entity.CylinderIntegrityDataUnit
;
import
com.yeejoin.amos.boot.module.tzs.flc.api.entity.CylinderTags
;
import
com.yeejoin.amos.boot.module.tzs.flc.api.entity.CylinderTagsDataUnit
;
import
com.yeejoin.amos.boot.module.tzs.flc.api.entity.CylinderUnit
;
import
com.yeejoin.amos.boot.module.tzs.flc.api.entity.CylinderUnitData
;
import
com.yeejoin.amos.boot.module.tzs.flc.api.mapper.CylinderInfoMapper
;
import
com.yeejoin.amos.boot.module.tzs.flc.api.mapper.CylinderInfoMapper
;
import
com.yeejoin.amos.boot.module.tzs.flc.api.service.ICylinderInfoService
;
import
com.yeejoin.amos.boot.module.tzs.flc.api.service.ICylinderInfoService
;
import
com.yeejoin.amos.component.rule.RuleTrigger
;
import
com.yeejoin.amos.component.rule.RuleTrigger
;
import
com.yeejoin.amos.feign.systemctl.Systemctl
;
import
com.yeejoin.amos.feign.systemctl.Systemctl
;
import
com.yeejoin.amos.feign.systemctl.model.RegionModel
;
import
com.yeejoin.amos.feign.systemctl.model.RegionModel
;
import
lombok.extern.slf4j.Slf4j
;
import
lombok.extern.slf4j.Slf4j
;
import
org.apache.commons.lang3.StringUtils
;
import
org.apache.http.HttpHost
;
import
org.elasticsearch.action.search.SearchRequest
;
import
org.elasticsearch.action.search.SearchResponse
;
import
org.elasticsearch.client.RequestOptions
;
import
org.elasticsearch.client.RestClient
;
import
org.elasticsearch.client.RestHighLevelClient
;
import
org.elasticsearch.index.query.BoolQueryBuilder
;
import
org.elasticsearch.index.query.QueryBuilders
;
import
org.elasticsearch.search.builder.SearchSourceBuilder
;
import
org.springframework.beans.BeanUtils
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.beans.factory.annotation.Value
;
import
org.springframework.scheduling.annotation.Scheduled
;
import
org.springframework.stereotype.Service
;
import
org.springframework.transaction.annotation.Transactional
;
import
org.springframework.util.ObjectUtils
;
import
org.typroject.tyboot.core.foundation.utils.ValidationUtil
;
import
org.typroject.tyboot.core.rdbms.service.BaseService
;
import
java.io.IOException
;
import
java.math.BigDecimal
;
import
java.text.ParseException
;
import
java.text.SimpleDateFormat
;
import
java.util.*
;
import
java.util.function.Consumer
;
import
java.util.function.IntConsumer
;
/**
/**
* 气瓶基本信息服务实现类
* 气瓶基本信息服务实现类
...
@@ -150,6 +135,10 @@ public class CylinderInfoServiceImpl extends BaseService<CylinderInfoDto, Cylind
...
@@ -150,6 +135,10 @@ public class CylinderInfoServiceImpl extends BaseService<CylinderInfoDto, Cylind
@Autowired
@Autowired
CylinderInfoMapper
cylinderInfoMapper
;
CylinderInfoMapper
cylinderInfoMapper
;
@Autowired
ESCylinderInfoRepository
esCylinderInfoRepository
;
/**
/**
* 分页查询
* 分页查询
*/
*/
...
@@ -678,6 +667,198 @@ public class CylinderInfoServiceImpl extends BaseService<CylinderInfoDto, Cylind
...
@@ -678,6 +667,198 @@ public class CylinderInfoServiceImpl extends BaseService<CylinderInfoDto, Cylind
});
});
}
}
@Scheduled
(
cron
=
"${tzs.cylinder.info.cron}"
)
public
void
setTimeSaveCylinderInfoToES
(){
Page
<
CylinderInfoDto
>
cylinderInfoPage
=
new
Page
<>();
Page
<
CylinderInfoDto
>
cyinderInfoList
=
cylinderInfoMapper
.
getCyinderInfoList
(
cylinderInfoPage
);
Long
count
=
cyinderInfoList
.
getCurrent
();
Long
times
=
0L
;
if
(
count
!=
0
)
{
times
=
count
/
1000
;
Long
last
=
count
%
1000
;
if
(
last
>
0
)
{
times
++;
}
}
for
(
int
i
=
0
;
i
<=
times
;
i
++)
{
cylinderInfoPage
.
setCurrent
(
i
);
cylinderInfoPage
.
setSize
(
1000
);
cylinderInfoPage
=
cylinderInfoMapper
.
getCyinderInfoList
(
cylinderInfoPage
);
for
(
CylinderInfoDto
ci
:
cylinderInfoPage
.
getRecords
())
{
saveCylinderInfoToES
(
ci
);
}
}
}
@Override
public
ESCylinderInfoDto
saveCylinderInfoToES
(
CylinderInfoDto
ci
)
{
ESCylinderInfoDto
esCylinderInfoDto
=
new
ESCylinderInfoDto
();
BeanUtils
.
copyProperties
(
ci
,
esCylinderInfoDto
);
ESCylinderInfoDto
saveResult
=
esCylinderInfoRepository
.
save
(
esCylinderInfoDto
);
if
(!
ObjectUtils
.
isEmpty
(
saveResult
)){
//同步到es后修改
CylinderInfo
cylinderInfo
=
new
CylinderInfo
();
cylinderInfo
.
setIsNotEs
(
"1"
);
cylinderInfoMapper
.
update
(
cylinderInfo
,
new
QueryWrapper
<
CylinderInfo
>().
eq
(
"sequence_nbr"
,
ci
.
getSequenceNbr
()));
}
return
saveResult
;
}
@Override
public
Page
<
ESCylinderInfoDto
>
queryByKeys
(
CylinderInfoDto
cylinderInfoDto
,
int
pageNum
,
int
pageSize
)
{
Page
<
ESCylinderInfoDto
>
result
=
new
Page
<
ESCylinderInfoDto
>(
pageNum
,
pageSize
);
RestHighLevelClient
esClient
=
new
RestHighLevelClient
(
RestClient
.
builder
(
new
HttpHost
(
"36.46.151.113"
,
9200
,
"http"
))
);
SearchRequest
request
=
new
SearchRequest
();
request
.
indices
(
"cylinder_info"
);
//通用匹配规则,条件构建
boolean
flag
=
true
;
SearchSourceBuilder
builder
=
new
SearchSourceBuilder
();
BoolQueryBuilder
boolMust
=
QueryBuilders
.
boolQuery
();
//匹配当前登录人
if
(!
ObjectUtils
.
isEmpty
(
cylinderInfoDto
.
getCreditCode
()))
{
flag
=
false
;
BoolQueryBuilder
meBuilder
=
QueryBuilders
.
boolQuery
();
meBuilder
.
must
(
QueryBuilders
.
matchQuery
(
"creditCode"
,
cylinderInfoDto
.
getCreditCode
()));
boolMust
.
must
(
meBuilder
);
}
//匹配RegionCode
if
(!
ObjectUtils
.
isEmpty
(
cylinderInfoDto
.
getRegionCode
()))
{
flag
=
false
;
BoolQueryBuilder
appIdBuilder
=
QueryBuilders
.
boolQuery
();
appIdBuilder
.
must
(
QueryBuilders
.
matchQuery
(
"regionCode"
,
"*"
+
cylinderInfoDto
.
getRegionCode
()
+
"*"
));
boolMust
.
should
(
appIdBuilder
);
}
//匹配appid
if
(!
ObjectUtils
.
isEmpty
(
cylinderInfoDto
.
getAppId
()))
{
flag
=
false
;
BoolQueryBuilder
appIdBuilder
=
QueryBuilders
.
boolQuery
();
appIdBuilder
.
must
(
QueryBuilders
.
matchQuery
(
"appId"
,
"*"
+
cylinderInfoDto
.
getAppId
()
+
"*"
));
boolMust
.
should
(
appIdBuilder
);
}
//匹配产权单位
if
(!
ObjectUtils
.
isEmpty
(
cylinderInfoDto
.
getUnitName
()))
{
flag
=
false
;
BoolQueryBuilder
query
=
QueryBuilders
.
boolQuery
();
query
.
must
(
QueryBuilders
.
matchQuery
(
"unitName"
,
"*"
+
cylinderInfoDto
.
getUnitName
()
+
"*"
));
boolMust
.
must
(
query
);
}
//匹配出厂编号
if
(!
ObjectUtils
.
isEmpty
(
cylinderInfoDto
.
getFactoryNum
()))
{
flag
=
false
;
BoolQueryBuilder
query
=
QueryBuilders
.
boolQuery
();
query
.
must
(
QueryBuilders
.
matchQuery
(
"factoryNum"
,
"*"
+
cylinderInfoDto
.
getFactoryNum
()
+
"*"
));
boolMust
.
must
(
query
);
}
//匹配气瓶品种
if
(!
ObjectUtils
.
isEmpty
(
cylinderInfoDto
.
getCylinderVariety
()))
{
flag
=
false
;
BoolQueryBuilder
query
=
QueryBuilders
.
boolQuery
();
query
.
must
(
QueryBuilders
.
matchQuery
(
"cylinderVariety"
,
cylinderInfoDto
.
getCylinderVariety
()));
boolMust
.
must
(
query
);
}
//匹配二维码编码
if
(!
ObjectUtils
.
isEmpty
(
cylinderInfoDto
.
getQrCode
()))
{
flag
=
false
;
BoolQueryBuilder
query
=
QueryBuilders
.
boolQuery
();
query
.
must
(
QueryBuilders
.
matchQuery
(
"qrCode"
,
"*"
+
cylinderInfoDto
.
getQrCode
()
+
"*"
));
boolMust
.
must
(
query
);
}
//匹配电子标签
if
(!
ObjectUtils
.
isEmpty
(
cylinderInfoDto
.
getElectronicLabelCode
()))
{
flag
=
false
;
BoolQueryBuilder
query
=
QueryBuilders
.
boolQuery
();
query
.
must
(
QueryBuilders
.
matchQuery
(
"electronicLabelCode"
,
"*"
+
cylinderInfoDto
.
getElectronicLabelCode
()
+
"*"
));
boolMust
.
must
(
query
);
}
//匹配气瓶唯一标识
if
(!
ObjectUtils
.
isEmpty
(
cylinderInfoDto
.
getSequenceCode
()))
{
flag
=
false
;
BoolQueryBuilder
sequenceCodeBuilder
=
QueryBuilders
.
boolQuery
();
sequenceCodeBuilder
.
must
(
QueryBuilders
.
matchQuery
(
"sequenceCode"
,
cylinderInfoDto
.
getSequenceCode
()));
boolMust
.
must
(
sequenceCodeBuilder
);
}
//匹配单位内部编号
if
(!
ObjectUtils
.
isEmpty
(
cylinderInfoDto
.
getUnitInnerCode
()))
{
flag
=
false
;
BoolQueryBuilder
query
=
QueryBuilders
.
boolQuery
();
query
.
must
(
QueryBuilders
.
matchQuery
(
"unitInnerCode"
,
"*"
+
cylinderInfoDto
.
getUnitInnerCode
()
+
"*"
));
boolMust
.
must
(
query
);
}
//气瓶状态
if
(!
ObjectUtils
.
isEmpty
(
cylinderInfoDto
.
getCylinderStatus
()))
{
flag
=
false
;
BoolQueryBuilder
query
=
QueryBuilders
.
boolQuery
();
query
.
must
(
QueryBuilders
.
matchQuery
(
"cylinderStatus"
,
cylinderInfoDto
.
getCylinderStatus
()));
boolMust
.
must
(
query
);
}
//制造单位
if
(!
ObjectUtils
.
isEmpty
(
cylinderInfoDto
.
getManufacturingUnit
()))
{
flag
=
false
;
BoolQueryBuilder
query
=
QueryBuilders
.
boolQuery
();
query
.
must
(
QueryBuilders
.
matchQuery
(
"manufacturingUnit"
,
"*"
+
cylinderInfoDto
.
getManufacturingUnit
()
+
"*"
));
boolMust
.
must
(
query
);
}
//检验日期
if
(!
ObjectUtils
.
isEmpty
(
cylinderInfoDto
.
getInspectionDateStart
())
&&
!
ObjectUtils
.
isEmpty
(
cylinderInfoDto
.
getInspectionDateEnd
()))
{
flag
=
false
;
BoolQueryBuilder
query
=
QueryBuilders
.
boolQuery
();
query
.
must
(
QueryBuilders
.
rangeQuery
(
"inspectionDate"
).
from
(
cylinderInfoDto
.
getInspectionDateStart
()).
to
(
cylinderInfoDto
.
getInspectionDateEnd
()));
boolMust
.
must
(
query
);
}
if
(
flag
)
{
// 搜索全部
boolMust
.
must
(
QueryBuilders
.
matchAllQuery
());
}
builder
.
query
(
boolMust
);
builder
.
from
((
pageNum
-
1
)
*
pageSize
);
builder
.
size
(
pageSize
);
request
.
source
(
builder
);
List
<
ESCylinderInfoDto
>
list
=
new
LinkedList
<>();
long
totle
=
0
;
try
{
SearchResponse
response
=
esClient
.
search
(
request
,
RequestOptions
.
DEFAULT
);
for
(
org
.
elasticsearch
.
search
.
SearchHit
hit
:
response
.
getHits
())
{
System
.
out
.
println
(
hit
);
JSONObject
jsonObject
=
(
JSONObject
)
JSONObject
.
toJSON
(
hit
);
ESCylinderInfoDto
esCylinderInfoDto
=
JSONObject
.
toJavaObject
(
jsonObject
.
getJSONObject
(
"sourceAsMap"
),
ESCylinderInfoDto
.
class
);
list
.
add
(
esCylinderInfoDto
);
}
totle
=
response
.
getInternalResponse
().
hits
().
getTotalHits
().
value
;
result
.
setRecords
(
list
);
result
.
setTotal
(
totle
);
}
catch
(
IOException
e
)
{
throw
new
RuntimeException
(
e
);
}
return
result
;
}
/**
/**
* 根据月份统计
* 根据月份统计
*/
*/
...
@@ -847,6 +1028,11 @@ public class CylinderInfoServiceImpl extends BaseService<CylinderInfoDto, Cylind
...
@@ -847,6 +1028,11 @@ public class CylinderInfoServiceImpl extends BaseService<CylinderInfoDto, Cylind
return
cylinderInfoMapper
.
cyinderInfoList
(
page
,
cylinderInfoDto
,
sort
,
appids
);
return
cylinderInfoMapper
.
cyinderInfoList
(
page
,
cylinderInfoDto
,
sort
,
appids
);
}
}
public
Page
<
CylinderInfoDto
>
getCyinderInfoList
(
Page
<
CylinderInfoDto
>
page
)
{
return
cylinderInfoMapper
.
getCyinderInfoList
(
page
);
}
public
Page
<
CylinderInfoDto
>
cyinderOutInfoList
(
Page
<
CylinderInfoDto
>
page
,
CylinderInfoDto
cylinderInfoDto
,
String
sort
,
List
<
String
>
appids
){
public
Page
<
CylinderInfoDto
>
cyinderOutInfoList
(
Page
<
CylinderInfoDto
>
page
,
CylinderInfoDto
cylinderInfoDto
,
String
sort
,
List
<
String
>
appids
){
return
cylinderInfoMapper
.
cyinderOutInfoList
(
page
,
cylinderInfoDto
,
sort
,
appids
);
return
cylinderInfoMapper
.
cyinderOutInfoList
(
page
,
cylinderInfoDto
,
sort
,
appids
);
}
}
...
...
amos-boot-system-tzs/amos-boot-module-tzs-biz/src/main/resources/application-dev3.properties
View file @
82df05e8
...
@@ -143,5 +143,10 @@ rule.definition.load=false
...
@@ -143,5 +143,10 @@ rule.definition.load=false
rule.definition.default-agency
=
tzs
rule.definition.default-agency
=
tzs
rule.definition.local-ip
=
172.16.10.210
rule.definition.local-ip
=
172.16.10.210
#\u6C14\u74F6\u5145\u88C5\u4FE1\u606F\u5B9A\u65F6\u540C\u6B65\u81F3es
tzs.cylinder.fill.cron
=
0 0 12 * * ?
#\u6C14\u74F6\u57FA\u672C\u4FE1\u606F\u5B9A\u65F6\u540C\u6B65\u81F3es
tzs.cylinder.info.cron
=
0 0 1 * * ?
# ??????????
# ??????????
minio.url.path
=
http://172.16.10.210:9000/
minio.url.path
=
http://172.16.10.210:9000/
\ No newline at end of file
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment