水道系统数据查询优化v3

main
ccongli 2 years ago
parent eea1f56f3c
commit 36366136f0

@ -9,12 +9,17 @@
<a-input placeholder="请输入Fid" v-model="queryParam.fid"></a-input> <a-input placeholder="请输入Fid" v-model="queryParam.fid"></a-input>
</a-form-item> </a-form-item>
</a-col> </a-col>
<a-col :xl="6" :lg="7" :md="8" :sm="24">
<a-form-item label="批次号">
<a-input placeholder="请输入批次号" v-model="queryParam.batchNumber"></a-input>
</a-form-item>
</a-col>
<a-col :xl="10" :lg="11" :md="12" :sm="24"> <a-col :xl="10" :lg="11" :md="12" :sm="24">
<a-form-item label="绑定时间"> <a-form-item label="绑定时间">
<j-date placeholder="请选择开始日期" class="query-group-cust" :showTime="true" dateFormat="YYYY-MM-DD HH:mm:ss" <j-date placeholder="请选择开始日期" class="query-group-cust" :showTime="true" dateFormat="YYYY-MM-DD"
v-model="queryParam.bindTime_begin"></j-date> v-model="queryParam.bindTime_begin"></j-date>
<span class="query-group-split-cust"></span> <span class="query-group-split-cust"></span>
<j-date placeholder="请选择结束日期" class="query-group-cust" :showTime="true" dateFormat="YYYY-MM-DD HH:mm:ss" <j-date placeholder="请选择结束日期" class="query-group-cust" :showTime="true" dateFormat="YYYY-MM-DD"
v-model="queryParam.bindTime_end"></j-date> v-model="queryParam.bindTime_end"></j-date>
</a-form-item> </a-form-item>
</a-col> </a-col>
@ -155,14 +160,17 @@
dataIndex: 'batchNumber' dataIndex: 'batchNumber'
}, },
{ {
title:'框', title:'框',
align:"center", align:"center",
dataIndex: 'number' dataIndex: 'number'
}, },
{ {
title:'型号表编号', title:'型号',
align:"center", align:"center",
dataIndex: 'typeid' dataIndex: 'typeNo',
customRender:function (text) {
return text || "-"
}
}, },
{ {
title:'绑定时间', title:'绑定时间',
@ -172,11 +180,6 @@
// return !text?"":(text.length>10?text.substr(0,10):text) // return !text?"":(text.length>10?text.substr(0,10):text)
// } // }
}, },
// {
// title:'',
// align:"center",
// dataIndex: 'description'
// },
{ {
title: '操作', title: '操作',
dataIndex: 'action', dataIndex: 'action',
@ -192,10 +195,21 @@
deleteBatch: "/ttwaterwayfid/ttWaterwayFid/deleteBatch", deleteBatch: "/ttwaterwayfid/ttWaterwayFid/deleteBatch",
exportXlsUrl: "/ttwaterwayfid/ttWaterwayFid/exportXls", exportXlsUrl: "/ttwaterwayfid/ttWaterwayFid/exportXls",
importExcelUrl: "ttwaterwayfid/ttWaterwayFid/importExcel", importExcelUrl: "ttwaterwayfid/ttWaterwayFid/importExcel",
}, },
dictOptions:{}, dictOptions:{},
superFieldList:[], superFieldList:[],
/* 分页参数 */
ipagination:{
current: 1,
pageSize: 10,
pageSizeOptions: ['10', '20', '30'],
showTotal: (total, range) => {
return " 生产总框数: " + total + `, 第 ${range[0]} - ${range[1]}`;
},
showQuickJumper: true,
showSizeChanger: true,
total: 0
},
} }
}, },
created() { created() {
@ -224,4 +238,9 @@
</script> </script>
<style scoped> <style scoped>
@import '~@assets/less/common.less'; @import '~@assets/less/common.less';
::v-deep .ant-pagination-total-text {
color: orangered;
font-size: 18px;
}
</style> </style>

@ -5,7 +5,7 @@
<a-form layout="inline" @keyup.enter.native="searchQuery"> <a-form layout="inline" @keyup.enter.native="searchQuery">
<a-row :gutter="24"> <a-row :gutter="24">
<a-col :xl="10" :lg="11" :md="12" :sm="24"> <a-col :xl="10" :lg="11" :md="12" :sm="24">
<a-form-item label="绑定时间"> <a-form-item label="报警时间">
<j-date placeholder="请选择开始日期" class="query-group-cust" :showTime="true" dateFormat="YYYY-MM-DD HH:mm:ss" <j-date placeholder="请选择开始日期" class="query-group-cust" :showTime="true" dateFormat="YYYY-MM-DD HH:mm:ss"
v-model="queryParam.time_begin"></j-date> v-model="queryParam.time_begin"></j-date>
<span class="query-group-split-cust"></span> <span class="query-group-split-cust"></span>
@ -167,7 +167,10 @@
deleteBatch: "/ttwaterwaymessage/ttWaterwayMessage/deleteBatch", deleteBatch: "/ttwaterwaymessage/ttWaterwayMessage/deleteBatch",
exportXlsUrl: "/ttwaterwaymessage/ttWaterwayMessage/exportXls", exportXlsUrl: "/ttwaterwaymessage/ttWaterwayMessage/exportXls",
importExcelUrl: "ttwaterwaymessage/ttWaterwayMessage/importExcel", importExcelUrl: "ttwaterwaymessage/ttWaterwayMessage/importExcel",
},
isorter:{
column: 'time',
order: 'desc',
}, },
dictOptions:{}, dictOptions:{},
superFieldList:[], superFieldList:[],

@ -13,10 +13,10 @@
<a-col :xl="10" :lg="11" :md="12" :sm="24"> <a-col :xl="10" :lg="11" :md="12" :sm="24">
<a-form-item label="入水时间"> <a-form-item label="入水时间">
<j-date placeholder="请选择开始时间" class="query-group-cust" :showTime="true" dateFormat="YYYY-MM-DD HH:mm:ss" <j-date placeholder="请选择开始时间" class="query-group-cust" :showTime="true" dateFormat="YYYY-MM-DD HH:mm:ss"
v-model="queryParam.water_enter_begin"></j-date> v-model="queryParam.waterEnter_begin"></j-date>
<span class="query-group-split-cust"></span> <span class="query-group-split-cust"></span>
<j-date placeholder="请选择结束时间" class="query-group-cust" :showTime="true" dateFormat="YYYY-MM-DD HH:mm:ss" <j-date placeholder="请选择结束时间" class="query-group-cust" :showTime="true" dateFormat="YYYY-MM-DD HH:mm:ss"
v-model="queryParam.water_enter_end"></j-date> v-model="queryParam.waterEnter_end"></j-date>
</a-form-item> </a-form-item>
</a-col> </a-col>
<a-col :xl="6" :lg="7" :md="8" :sm="24"> <a-col :xl="6" :lg="7" :md="8" :sm="24">
@ -50,6 +50,19 @@
</a-dropdown> </a-dropdown>
</div> --> </div> -->
<!-- 关联信息区域 -->
<a-tabs defaultActiveKey="1">
<a-tab-pane tab="入水温度" key="1">
<TtxhWaterTempParamList ref="EnterTempParam"></TtxhWaterTempParamList>
</a-tab-pane>
<a-tab-pane tab="预热温度" key="2" forceRender>
<TtxhWaterTempParamList ref="YureTempParam"></TtxhWaterTempParamList>
</a-tab-pane>
<a-tab-pane tab="出水温度" key="3" forceRender>
<TtxhWaterTempParamList ref="OutTempParam"></TtxhWaterTempParamList>
</a-tab-pane>
</a-tabs>
<!-- table区域-begin --> <!-- table区域-begin -->
<div> <div>
<div class="ant-alert ant-alert-info" style="margin-bottom: 16px;"> <div class="ant-alert ant-alert-info" style="margin-bottom: 16px;">
@ -67,8 +80,8 @@
:dataSource="dataSource" :dataSource="dataSource"
:pagination="ipagination" :pagination="ipagination"
:loading="loading" :loading="loading"
:rowSelection="{selectedRowKeys: selectedRowKeys, onChange: onSelectChange,type:type}" :rowSelection="{selectedRowKeys: selectedRowKeys, onChange: onSelectChange, type: type}"
@change="handleTableChange" @change="handleTableChanged"
:customRow="clickThenCheck" :customRow="clickThenCheck"
> >
@ -83,19 +96,6 @@
</div> </div>
<!-- table区域-end --> <!-- table区域-end -->
<a-tabs defaultActiveKey="1">
<a-tab-pane tab="入水温度" key="1">
<TtxhWaterTempParamList ref="EnterTempParam"></TtxhWaterTempParamList>
</a-tab-pane>
<a-tab-pane tab="预热温度" key="2" forceRender>
<TtxhWaterTempParamList ref="YureTempParam"></TtxhWaterTempParamList>
</a-tab-pane>
<a-tab-pane tab="出水温度" key="3" forceRender>
<TtxhWaterTempParamList ref="OutTempParam"></TtxhWaterTempParamList>
</a-tab-pane>
</a-tabs>
</a-card> </a-card>
</template> </template>
@ -118,8 +118,8 @@
/* 分页参数 */ /* 分页参数 */
ipagination:{ ipagination:{
current: 1, current: 1,
pageSize: 5, pageSize: 10,
pageSizeOptions: ['5', '10', '20'], pageSizeOptions: ['10', '20', '30'],
showTotal: (total, range) => { showTotal: (total, range) => {
return range[0] + "-" + range[1] + " 共" + total + "条" return range[0] + "-" + range[1] + " 共" + total + "条"
}, },
@ -127,8 +127,21 @@
showSizeChanger: true, showSizeChanger: true,
total: 0 total: 0
}, },
queryParam :{
fid: 'E0040150F1C6D343'
},
// //
columns: [ columns: [
{
title: '#',
dataIndex: 'id',
key:'rowIndex',
width:60,
align:"center",
customRender:function (t,r,index) {
return parseInt(index)+1;
}
},
{ {
title: 'FID', title: 'FID',
align: "center", align: "center",
@ -147,83 +160,120 @@
{ {
title: '绑定时间', title: '绑定时间',
align: "center", align: "center",
dataIndex: 'bindTime' dataIndex: 'bindTime',
sorter: true
}, },
{ {
title: '产品名称', title: '产品名称',
align: "center", align: "center",
dataIndex: 'proName' dataIndex: 'proName',
customRender:function (t,r,index) {
return t || '-';
}
}, },
{ {
title: '型号', title: '型号',
align: "center", align: "center",
dataIndex: 'typeNo' dataIndex: 'typeNo',
customRender:function (t,r,index) {
return t || '-';
}
}, },
{ {
title: '入水时间', title: '入水时间',
align: "center", align: "center",
dataIndex: 'typeNo' dataIndex: 'waterEnter',
sorter: true,
customRender:function (t,r,index) {
return t || '-';
}
}, },
{ {
title: '预热时间', title: '预热时间',
align: "center", align: "center",
dataIndex: 'typeNo' dataIndex: 'waterYure',
customRender:function (t,r,index) {
return t || '-';
}
}, },
{ {
title: '出水时间', title: '出水时间',
align: "center", align: "center",
dataIndex: 'outTime' dataIndex: 'waterOut',
}], customRender:function (t,r,index) {
return t || '-';
}
},
{
title: '预热时长',
align: "center",
dataIndex: 'yureDuring',
customRender:function (t,r,index) {
return t + "s";
}
},
{
title: '出水时长',
align: "center",
dataIndex: 'outDuring',
customRender:function (t,r,index) {
return t + "s";
}
}
],
// //
type: "radio", type: "radio",
isorter:{
column: 'waterEnter',
order: 'desc',
},
url: { url: {
list: "/ttwaterwayoutenter/ttWaterwayOutenter/list", list: "/ttwaterwayoutenter/ttWaterwayOutenter/records",
}, },
} }
}, },
methods: { methods: {
clickThenCheck(record) { //
clickThenCheck(record,index) {
return { return {
on: { on: {
click: () => { dblclick: () => {
this.onSelectChange(record.id.split(","), [record]); console.log(record);
this.onSelectChange([index], [record]);
} }
} }
}; };
}, },
onSelectChange(selectedRowKeys, selectionRows) { onSelectChange(selectedRowKeys,selectionRows) {
this.selectedRowKeys = selectedRowKeys; this.selectedRowKeys = selectedRowKeys;
this.selectionRows = selectionRows; this.selectionRows = selectionRows;
this.$refs.EnterTempParam.getTempInfo(this.selectedRowKeys[0]); this.$refs.EnterTempParam.getTempInfo(this.selectionRows[0].waterEnter);
this.$refs.YureTempParam.getTempInfo(this.selectedRowKeys[0]); this.$refs.YureTempParam.getTempInfo(this.selectionRows[0].waterYure);
this.$refs.OutTempParam.getTempInfo(this.selectedRowKeys[0]); this.$refs.OutTempParam.getTempInfo(this.selectionRows[0].waterOut);
}, },
onClearSelected() { onClearSelected() {
this.selectedRowKeys = []; this.selectedRowKeys = [];
this.selectionRows = []; this.selectionRows = [];
this.$refs.EnterTempParam.queryParam.mainId = null; this.$refs.EnterTempParam.queryParam.time = null;
this.$refs.YureTempParam.queryParam.mainId = null; this.$refs.YureTempParam.queryParam.time = null;
this.$refs.OutTempParam.queryParam.mainId = null; this.$refs.OutTempParam.queryParam.time = null;
this.$refs.EnterTempParam.loadInfo(); this.$refs.EnterTempParam.loadInfo(0);
this.$refs.YureTempParam.loadInfo(); this.$refs.YureTempParam.loadInfo(0);
this.$refs.OutTempParam.loadInfo(); this.$refs.OutTempParam.loadInfo(0);
this.$refs.EnterTempParam.selectionRows = []; this.$refs.EnterTempParam.selectionRows = [];
this.$refs.YureTempParam.selectedRowKeys = []; this.$refs.YureTempParam.selectionRows = [];
this.$refs.OutTempParam.selectionRows = []; this.$refs.OutTempParam.selectionRows = [];
}, },
searchQuery:function(){ searchQuery: function() {
this.selectedRowKeys = []; this.selectedRowKeys = [];
this.selectionRows = []; this.selectionRows = [];
this.$refs.EnterTempParam.queryParam.mainId = null; this.onClearSelected();
this.$refs.YureTempParam.queryParam.mainId = null; this.loadData(); //
this.$refs.OutTempParam.queryParam.mainId = null; },
this.$refs.EnterTempParam.loadInfo(); handleTableChanged(pagination, filters, sorter) {
this.$refs.YureTempParam.loadInfo(); //
this.$refs.OutTempParam.loadInfo(); this.handleTableChange(pagination, filters, sorter);
this.$refs.EnterTempParam.selectionRows = []; this.onClearSelected();
this.$refs.YureTempParam.selectedRowKeys = [];
this.$refs.OutTempParam.selectionRows = [];
this.loadData();
} }
} }
} }

@ -11,6 +11,7 @@
:dataSource="dataSource" :dataSource="dataSource"
:pagination="ipagination" :pagination="ipagination"
:loading="loading" :loading="loading"
:locale="locale"
:rowSelection="{ selectedRowKeys: selectedRowKeys, onChange: onSelectChange }" :rowSelection="{ selectedRowKeys: selectedRowKeys, onChange: onSelectChange }"
@change="handleTableChange" @change="handleTableChange"
> >
@ -38,56 +39,71 @@ export default {
{ {
title: '温度1', title: '温度1',
align: 'center', align: 'center',
dataIndex: 'ticketCode' dataIndex: 'tempParam1'
}, },
{ {
title: '温度2', title: '温度2',
align: 'center', align: 'center',
dataIndex: 'tickectDate' dataIndex: 'tempParam2'
}, },
{ {
title: '温度3', title: '温度3',
align: 'center', align: 'center',
dataIndex: 'orderId' dataIndex: 'tempParam3'
}, },
{ {
title: '温度4', title: '温度4',
align: 'center', align: 'center',
dataIndex: 'createBy' dataIndex: 'tempParam4'
}, },
{ {
title: '温度5', title: '温度5',
align: 'center', align: 'center',
dataIndex: 'createTime', dataIndex: 'tempParam5',
// sorter: true
},
{
title: '时间点',
align: 'center',
dataIndex: 'time',
// sorter: true // sorter: true
} }
], ],
locale: {
emptyText: '请双击选择一条历史记录'
},
ipagination: false, //
url: { url: {
info: '/ttwaterwaycollect/ttWaterwayCollect/temoInfo', info: '/ttwaterwaycollect/ttWaterwayCollect/tempInfo',
} },
disableMixinCreated: true
} }
}, },
methods: { methods: {
// //
loadInfo() { loadInfo(selected) {
if (!selected) {
this.dataSource = null;
this.locale.emptyText = "请双击选择一条历史记录";
} else {
var params = this.getQueryParams() var params = this.getQueryParams()
console.log(params);
getAction(this.url.info, { getAction(this.url.info, {
orderId: params.mainId, thatTime: params.time,
// pageNo: this.ipagination.current,
// pageSize: this.ipagination.pageSize
}).then(res => { }).then(res => {
console.log(res); console.log(res);
// if (res.success) { if (res.success && res.result != null) {
// this.dataSource = res.result.records this.dataSource = [res.result];
// this.ipagination.total = res.result.total } else {
// } else { this.dataSource = null;
// this.dataSource = null this.locale.emptyText = "暂无匹配记录";
// } }
}); });
}
}, },
getTempInfo(mid) { getTempInfo(time) {
this.queryParam.mainId = mid; this.queryParam.time = time;
this.loadInfo(); this.loadInfo(1);
} }
} }
} }

@ -1,6 +1,8 @@
package org.jeecg.modules.demo.ttwaterwaycollect.controller; package org.jeecg.modules.demo.ttwaterwaycollect.controller;
import java.time.LocalDateTime;
import java.util.Arrays; import java.util.Arrays;
import java.util.Date;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
import java.util.stream.Collectors; import java.util.stream.Collectors;
@ -9,6 +11,9 @@ import java.io.UnsupportedEncodingException;
import java.net.URLDecoder; import java.net.URLDecoder;
import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpServletResponse;
import org.apache.commons.lang3.StringUtils;
import org.apache.commons.lang3.time.DateFormatUtils;
import org.jeecg.common.api.vo.Result; import org.jeecg.common.api.vo.Result;
import org.jeecg.common.system.query.QueryGenerator; import org.jeecg.common.system.query.QueryGenerator;
import org.jeecg.common.util.oConvertUtils; import org.jeecg.common.util.oConvertUtils;
@ -103,6 +108,26 @@ public class TtWaterwayCollectController extends JeecgController<TtWaterwayColle
return Result.OK("编辑成功!"); return Result.OK("编辑成功!");
} }
/**
*
*/
@AutoLog(value = "tt_waterway_collect-温度记录")
@ApiOperation(value="tt_waterway_collect-温度记录", notes="tt_waterway_collect-温度记录")
//@RequiresPermissions("ttwaterwaycollect:tt_waterway_collect:edit")
@RequestMapping(value = "/tempInfo", method = {RequestMethod.GET, RequestMethod.POST})
public Result<TtWaterwayCollect> tempInfo(@RequestParam(value = "thatTime", defaultValue = "") String thatTime) {
TtWaterwayCollect tempInfo;
if (StringUtils.isBlank(thatTime) || thatTime.equals("0001-01-01 00:00:00")) {
tempInfo = null;
} else {
tempInfo = ttWaterwayCollectService.findTempInfo(thatTime);
}
return Result.OK(tempInfo);
}
/** /**
* id * id
* *

@ -25,7 +25,7 @@ import lombok.experimental.Accessors;
* @Version: V1.0 * @Version: V1.0
*/ */
@Data @Data
@TableName("tt_waterway_collect") @TableName("collect")
@Accessors(chain = true) @Accessors(chain = true)
@EqualsAndHashCode(callSuper = false) @EqualsAndHashCode(callSuper = false)
@ApiModel(value="tt_waterway_collect对象", description="tt_waterway_collect") @ApiModel(value="tt_waterway_collect对象", description="tt_waterway_collect")
@ -62,20 +62,5 @@ public class TtWaterwayCollect implements Serializable {
@DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss") @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
@ApiModelProperty(value = "时间点") @ApiModelProperty(value = "时间点")
private java.util.Date time; private java.util.Date time;
/**记录的创建时间*/
@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
@DateTimeFormat(pattern="yyyy-MM-dd")
@ApiModelProperty(value = "记录的创建时间")
private java.util.Date createTime;
/**记录的创建人默认admin*/
@ApiModelProperty(value = "记录的创建人默认admin")
private java.lang.String createBy;
/**记录的修改时间*/
@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
@DateTimeFormat(pattern="yyyy-MM-dd")
@ApiModelProperty(value = "记录的修改时间")
private java.util.Date updateTime;
/**记录的修改人,修改人员的登录账号*/
@ApiModelProperty(value = "记录的修改人,修改人员的登录账号")
private java.lang.String updateBy;
} }

@ -2,6 +2,8 @@ package org.jeecg.modules.demo.ttwaterwaycollect.mapper;
import java.util.List; import java.util.List;
import com.baomidou.dynamic.datasource.annotation.DS;
import io.swagger.models.auth.In;
import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Param;
import org.jeecg.modules.demo.ttwaterwaycollect.entity.TtWaterwayCollect; import org.jeecg.modules.demo.ttwaterwaycollect.entity.TtWaterwayCollect;
import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper;
@ -12,6 +14,8 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
* @Date: 2023-04-13 * @Date: 2023-04-13
* @Version: V1.0 * @Version: V1.0
*/ */
@DS("xianghe")
public interface TtWaterwayCollectMapper extends BaseMapper<TtWaterwayCollect> { public interface TtWaterwayCollectMapper extends BaseMapper<TtWaterwayCollect> {
TtWaterwayCollect findTempInfo(@Param("thatTime") String thatTime, Integer limitTime);
} }

@ -1,5 +1,17 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="org.jeecg.modules.demo.ttwaterwaycollect.mapper.TtWaterwayCollectMapper"> <mapper namespace="org.jeecg.modules.demo.ttwaterwaycollect.mapper.TtWaterwayCollectMapper">
<select id="findTempInfo" resultType="org.jeecg.modules.demo.ttwaterwaycollect.entity.TtWaterwayCollect">
SELECT
*,
ABS(
TIMESTAMPDIFF( SECOND, #{thatTime}, time )) AS period
FROM
collect
HAVING
period &lt; #{limitTime}
ORDER BY
period ASC
LIMIT 1;
</select>
</mapper> </mapper>

@ -11,4 +11,5 @@ import com.baomidou.mybatisplus.extension.service.IService;
*/ */
public interface ITtWaterwayCollectService extends IService<TtWaterwayCollect> { public interface ITtWaterwayCollectService extends IService<TtWaterwayCollect> {
TtWaterwayCollect findTempInfo(String thatTime);
} }

@ -1,8 +1,11 @@
package org.jeecg.modules.demo.ttwaterwaycollect.service.impl; package org.jeecg.modules.demo.ttwaterwaycollect.service.impl;
import com.baomidou.dynamic.datasource.annotation.DS;
import org.checkerframework.checker.units.qual.A;
import org.jeecg.modules.demo.ttwaterwaycollect.entity.TtWaterwayCollect; import org.jeecg.modules.demo.ttwaterwaycollect.entity.TtWaterwayCollect;
import org.jeecg.modules.demo.ttwaterwaycollect.mapper.TtWaterwayCollectMapper; import org.jeecg.modules.demo.ttwaterwaycollect.mapper.TtWaterwayCollectMapper;
import org.jeecg.modules.demo.ttwaterwaycollect.service.ITtWaterwayCollectService; import org.jeecg.modules.demo.ttwaterwaycollect.service.ITtWaterwayCollectService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
@ -16,4 +19,12 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
@Service @Service
public class TtWaterwayCollectServiceImpl extends ServiceImpl<TtWaterwayCollectMapper, TtWaterwayCollect> implements ITtWaterwayCollectService { public class TtWaterwayCollectServiceImpl extends ServiceImpl<TtWaterwayCollectMapper, TtWaterwayCollect> implements ITtWaterwayCollectService {
@Autowired
TtWaterwayCollectMapper waterwayCollectMapper;
@Override
public TtWaterwayCollect findTempInfo(String thatTime) {
Integer limitTime = 300; // 可设置(5分钟阈值)
return waterwayCollectMapper.findTempInfo(thatTime,limitTime);
}
} }

@ -65,11 +65,11 @@ public class TtWaterwayFidController extends JeecgController<TtWaterwayFid, ITtW
@GetMapping(value = "/list") @GetMapping(value = "/list")
public Result<IPage<TtWaterwayFid>> queryPageList(TtWaterwayFid ttWaterwayFid, public Result<IPage<TtWaterwayFid>> queryPageList(TtWaterwayFid ttWaterwayFid,
@RequestParam(name="pageNo", defaultValue="1") Integer pageNo, @RequestParam(name="pageNo", defaultValue="1") Integer pageNo,
@RequestParam(name="pageSize", defaultValue="10") Integer pageSize, @RequestParam(name="pageSize", defaultValue="10") Integer pageSize, HttpServletRequest req) {
HttpServletRequest req) {
QueryWrapper<TtWaterwayFid> queryWrapper = QueryGenerator.initQueryWrapper(ttWaterwayFid, req.getParameterMap()); QueryWrapper<TtWaterwayFid> queryWrapper = QueryGenerator.initQueryWrapper(ttWaterwayFid, req.getParameterMap());
Page<TtWaterwayFid> page = new Page<TtWaterwayFid>(pageNo, pageSize); Page<TtWaterwayFid> page = new Page<TtWaterwayFid>(pageNo, pageSize);
IPage<TtWaterwayFid> pageList = ttWaterwayFidService.page(page, queryWrapper); // IPage<TtWaterwayFid> pageList = ttWaterwayFidService.page(page, queryWrapper);
IPage<TtWaterwayFid> pageList = ttWaterwayFidService.queryList(page, queryWrapper);
return Result.OK(pageList); return Result.OK(pageList);
} }

@ -4,10 +4,8 @@ import java.io.Serializable;
import java.io.UnsupportedEncodingException; import java.io.UnsupportedEncodingException;
import java.util.Date; import java.util.Date;
import java.math.BigDecimal; import java.math.BigDecimal;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.*;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.annotation.TableLogic;
import lombok.Data; import lombok.Data;
import com.fasterxml.jackson.annotation.JsonFormat; import com.fasterxml.jackson.annotation.JsonFormat;
import org.springframework.format.annotation.DateTimeFormat; import org.springframework.format.annotation.DateTimeFormat;
@ -25,7 +23,7 @@ import lombok.experimental.Accessors;
* @Version: V1.0 * @Version: V1.0
*/ */
@Data @Data
@TableName("tt_waterway_fid") @TableName("fid")
@Accessors(chain = true) @Accessors(chain = true)
@EqualsAndHashCode(callSuper = false) @EqualsAndHashCode(callSuper = false)
@ApiModel(value="tt_waterway_fid对象", description="tt_waterway_fid") @ApiModel(value="tt_waterway_fid对象", description="tt_waterway_fid")
@ -36,46 +34,44 @@ public class TtWaterwayFid implements Serializable {
@TableId(type = IdType.AUTO) @TableId(type = IdType.AUTO)
@ApiModelProperty(value = "id编号") @ApiModelProperty(value = "id编号")
private java.lang.Integer id; private java.lang.Integer id;
/**FID编号*/ /**FID编号*/
@Excel(name = "FID编号", width = 15) @Excel(name = "FID编号", width = 15)
@ApiModelProperty(value = "FID编号") @ApiModelProperty(value = "FID编号")
private java.lang.String fid; private java.lang.String fid;
/**批次号*/ /**批次号*/
@Excel(name = "批次号", width = 15) @Excel(name = "批次号", width = 15)
@ApiModelProperty(value = "批次号") @ApiModelProperty(value = "批次号")
private java.lang.String batchNumber; private java.lang.String batchNumber;
/**框数*/ /**框数*/
@Excel(name = "框数", width = 15) @Excel(name = "框数", width = 15)
@ApiModelProperty(value = "框数") @ApiModelProperty(value = "框数")
private java.lang.Integer number; private java.lang.Integer number;
/**型号表编号*/ /**型号表编号*/
@Excel(name = "型号表编号", width = 15) @Excel(name = "型号表编号", width = 15)
@ApiModelProperty(value = "型号表编号") @ApiModelProperty(value = "型号表编号")
private java.lang.Integer typeid; private java.lang.Integer typeid;
/**绑定时间*/ /**绑定时间*/
@Excel(name = "绑定时间", width = 15, format = "yyyy-MM-dd HH:mm:ss") @Excel(name = "绑定时间", width = 15, format = "yyyy-MM-dd HH:mm:ss")
@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss") @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
@DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss") @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
@ApiModelProperty(value = "绑定时间") @ApiModelProperty(value = "绑定时间")
private java.util.Date bindTime; private java.util.Date bindTime;
/**描述*/ /**描述*/
@Excel(name = "描述", width = 15) @Excel(name = "描述", width = 15)
@ApiModelProperty(value = "描述") @ApiModelProperty(value = "描述")
private java.lang.String description; private java.lang.String description;
/**记录的创建时间*/
@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
@DateTimeFormat(pattern="yyyy-MM-dd") /**型号*/
@ApiModelProperty(value = "记录的创建时间") @Excel(name = "型号", width = 15)
private java.util.Date createTime; @ApiModelProperty(value = "型号")
/**记录的创建人默认admin*/ @TableField(exist = false)
@ApiModelProperty(value = "记录的创建人默认admin") private java.lang.String typeNo;
private java.lang.String createBy;
/**记录的修改时间*/
@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
@DateTimeFormat(pattern="yyyy-MM-dd")
@ApiModelProperty(value = "记录的修改时间")
private java.util.Date updateTime;
/**记录的修改人,修改人员的登录账号*/
@ApiModelProperty(value = "记录的修改人,修改人员的登录账号")
private java.lang.String updateBy;
} }

@ -1,7 +1,13 @@
package org.jeecg.modules.demo.ttwaterwayfid.mapper; package org.jeecg.modules.demo.ttwaterwayfid.mapper;
import java.util.Date;
import java.util.List; import java.util.List;
import com.baomidou.dynamic.datasource.annotation.DS;
import com.baomidou.mybatisplus.core.conditions.Wrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.Constants;
import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Param;
import org.jeecg.modules.demo.ttwaterwayfid.entity.TtWaterwayFid; import org.jeecg.modules.demo.ttwaterwayfid.entity.TtWaterwayFid;
import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper;
@ -12,6 +18,13 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
* @Date: 2023-04-13 * @Date: 2023-04-13
* @Version: V1.0 * @Version: V1.0
*/ */
@DS("xianghe")
public interface TtWaterwayFidMapper extends BaseMapper<TtWaterwayFid> { public interface TtWaterwayFidMapper extends BaseMapper<TtWaterwayFid> {
TtWaterwayFid queryLimitEnterRow(@Param("enterTime") Date enterTime, @Param("fid") String fid);
IPage<TtWaterwayFid> queryList(@Param("page") IPage<TtWaterwayFid> page,
@Param(Constants.WRAPPER) Wrapper<TtWaterwayFid> wrapper);
} }

@ -1,5 +1,33 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="org.jeecg.modules.demo.ttwaterwayfid.mapper.TtWaterwayFidMapper"> <mapper namespace="org.jeecg.modules.demo.ttwaterwayfid.mapper.TtWaterwayFidMapper">
<!-- 根据fid和入水时间查找最接近的记录 -->
<select id="queryLimitEnterRow" resultType="org.jeecg.modules.demo.ttwaterwayfid.entity.TtWaterwayFid">
SELECT
*
FROM
fid f
INNER JOIN (
SELECT id, ABS( TIMESTAMPDIFF( SECOND, #{enterTime,jdbcType=TIMESTAMP}, bind_time )) period
FROM fid
WHERE fid = #{fid}
ORDER BY period ASC
LIMIT 1 ) s
ON f.id = s.id
</select>
<!-- 分页关联型号查询 -->
<select id="queryList" resultType="org.jeecg.modules.demo.ttwaterwayfid.entity.TtWaterwayFid">
SELECT *
FROM (
SELECT
f.*,
t.NAME AS typeNo
FROM
fid f
LEFT JOIN type t ON f.typeid = t.id
) AS result
${ew.customSqlSegment}
</select>
</mapper> </mapper>

@ -1,14 +1,26 @@
package org.jeecg.modules.demo.ttwaterwayfid.service; package org.jeecg.modules.demo.ttwaterwayfid.service;
import com.baomidou.dynamic.datasource.annotation.DS;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import org.jeecg.modules.demo.ttwaterwayfid.entity.TtWaterwayFid; import org.jeecg.modules.demo.ttwaterwayfid.entity.TtWaterwayFid;
import com.baomidou.mybatisplus.extension.service.IService; import com.baomidou.mybatisplus.extension.service.IService;
import java.util.Date;
/** /**
* @Description: tt_waterway_fid * @Description: tt_waterway_fid
* @Author: jeecg-boot * @Author: jeecg-boot
* @Date: 2023-04-13 * @Date: 2023-04-13
* @Version: V1.0 * @Version: V1.0
*/ */
@DS("xianghe")
public interface ITtWaterwayFidService extends IService<TtWaterwayFid> { public interface ITtWaterwayFidService extends IService<TtWaterwayFid> {
// 根据fid和入水时间查找最接近的记录
TtWaterwayFid getLimitRowByEnter(Date enterTime, String fid);
// 分页关联查询
IPage<TtWaterwayFid> queryList(IPage<TtWaterwayFid> page, QueryWrapper<TtWaterwayFid> queryWrapper);
} }

@ -1,12 +1,17 @@
package org.jeecg.modules.demo.ttwaterwayfid.service.impl; package org.jeecg.modules.demo.ttwaterwayfid.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import org.jeecg.modules.demo.ttwaterwayfid.entity.TtWaterwayFid; import org.jeecg.modules.demo.ttwaterwayfid.entity.TtWaterwayFid;
import org.jeecg.modules.demo.ttwaterwayfid.mapper.TtWaterwayFidMapper; import org.jeecg.modules.demo.ttwaterwayfid.mapper.TtWaterwayFidMapper;
import org.jeecg.modules.demo.ttwaterwayfid.service.ITtWaterwayFidService; import org.jeecg.modules.demo.ttwaterwayfid.service.ITtWaterwayFidService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import java.util.Date;
/** /**
* @Description: tt_waterway_fid * @Description: tt_waterway_fid
* @Author: jeecg-boot * @Author: jeecg-boot
@ -16,4 +21,15 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
@Service @Service
public class TtWaterwayFidServiceImpl extends ServiceImpl<TtWaterwayFidMapper, TtWaterwayFid> implements ITtWaterwayFidService { public class TtWaterwayFidServiceImpl extends ServiceImpl<TtWaterwayFidMapper, TtWaterwayFid> implements ITtWaterwayFidService {
@Autowired
TtWaterwayFidMapper ttWaterwayFidMapper;
@Override
public TtWaterwayFid getLimitRowByEnter(Date enterTime, String fid) {
return ttWaterwayFidMapper.queryLimitEnterRow(enterTime, fid);
}
public IPage<TtWaterwayFid> queryList(IPage<TtWaterwayFid> page, QueryWrapper<TtWaterwayFid> queryWrapper){
return ttWaterwayFidMapper.queryList(page, queryWrapper);
}
} }

@ -25,7 +25,7 @@ import lombok.experimental.Accessors;
* @Version: V1.0 * @Version: V1.0
*/ */
@Data @Data
@TableName("tt_waterway_message") @TableName("message")
@Accessors(chain = true) @Accessors(chain = true)
@EqualsAndHashCode(callSuper = false) @EqualsAndHashCode(callSuper = false)
@ApiModel(value="tt_waterway_message对象", description="tt_waterway_message") @ApiModel(value="tt_waterway_message对象", description="tt_waterway_message")
@ -46,20 +46,5 @@ public class TtWaterwayMessage implements Serializable {
@DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss") @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
@ApiModelProperty(value = "报警时间") @ApiModelProperty(value = "报警时间")
private java.util.Date time; private java.util.Date time;
/**记录的创建时间*/
@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
@DateTimeFormat(pattern="yyyy-MM-dd")
@ApiModelProperty(value = "记录的创建时间")
private java.util.Date createTime;
/**记录的创建人默认admin*/
@ApiModelProperty(value = "记录的创建人默认admin")
private java.lang.String createBy;
/**记录的修改时间*/
@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
@DateTimeFormat(pattern="yyyy-MM-dd")
@ApiModelProperty(value = "记录的修改时间")
private java.util.Date updateTime;
/**记录的修改人,修改人员的登录账号*/
@ApiModelProperty(value = "记录的修改人,修改人员的登录账号")
private java.lang.String updateBy;
} }

@ -2,6 +2,7 @@ package org.jeecg.modules.demo.ttwaterwaymessage.mapper;
import java.util.List; import java.util.List;
import com.baomidou.dynamic.datasource.annotation.DS;
import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Param;
import org.jeecg.modules.demo.ttwaterwaymessage.entity.TtWaterwayMessage; import org.jeecg.modules.demo.ttwaterwaymessage.entity.TtWaterwayMessage;
import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper;
@ -12,6 +13,7 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
* @Date: 2023-04-13 * @Date: 2023-04-13
* @Version: V1.0 * @Version: V1.0
*/ */
@DS("xianghe")
public interface TtWaterwayMessageMapper extends BaseMapper<TtWaterwayMessage> { public interface TtWaterwayMessageMapper extends BaseMapper<TtWaterwayMessage> {
} }

@ -1,17 +1,19 @@
package org.jeecg.modules.demo.ttwaterwayoutenter.controller; package org.jeecg.modules.demo.ttwaterwayoutenter.controller;
import java.util.Arrays; import java.util.*;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors; import java.util.stream.Collectors;
import java.io.IOException; import java.io.IOException;
import java.io.UnsupportedEncodingException; import java.io.UnsupportedEncodingException;
import java.net.URLDecoder; import java.net.URLDecoder;
import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpServletResponse;
import org.apache.commons.lang3.time.DateFormatUtils;
import org.jeecg.common.api.vo.Result; import org.jeecg.common.api.vo.Result;
import org.jeecg.common.system.query.QueryGenerator; import org.jeecg.common.system.query.QueryGenerator;
import org.jeecg.common.util.oConvertUtils; import org.jeecg.common.util.oConvertUtils;
import org.jeecg.modules.demo.ttwaterwayfid.entity.TtWaterwayFid;
import org.jeecg.modules.demo.ttwaterwayfid.service.ITtWaterwayFidService;
import org.jeecg.modules.demo.ttwaterwayoutenter.entity.TtWaterwayOutenter; import org.jeecg.modules.demo.ttwaterwayoutenter.entity.TtWaterwayOutenter;
import org.jeecg.modules.demo.ttwaterwayoutenter.entity.TtWaterwayRecords; import org.jeecg.modules.demo.ttwaterwayoutenter.entity.TtWaterwayRecords;
import org.jeecg.modules.demo.ttwaterwayoutenter.service.ITtWaterwayOutenterService; import org.jeecg.modules.demo.ttwaterwayoutenter.service.ITtWaterwayOutenterService;
@ -52,9 +54,12 @@ public class TtWaterwayOutenterController extends JeecgController<TtWaterwayOute
@Autowired @Autowired
private ITtWaterwayOutenterService ttWaterwayOutenterService; private ITtWaterwayOutenterService ttWaterwayOutenterService;
@Autowired
private ITtWaterwayFidService waterwayFidService;
/** /**
* *
* *
* @param ttWaterwayOutenter * @param ttWaterwayOutenter
* @param pageNo * @param pageNo
@ -64,37 +69,63 @@ public class TtWaterwayOutenterController extends JeecgController<TtWaterwayOute
*/ */
//@AutoLog(value = "tt_waterway_outenter-分页列表查询") //@AutoLog(value = "tt_waterway_outenter-分页列表查询")
@ApiOperation(value="出水入水记录-分页列表查询", notes="出水入水记录-分页列表查询") @ApiOperation(value="出水入水记录-分页列表查询", notes="出水入水记录-分页列表查询")
@GetMapping(value = "/records")
public Result<IPage<TtWaterwayRecords>> queryPageRecords(TtWaterwayOutenter ttWaterwayOutenter,
@RequestParam(name="pageNo", defaultValue="1") Integer pageNo,
@RequestParam(name="pageSize", defaultValue="10") Integer pageSize, HttpServletRequest req) {
// 查询主表出水记录
QueryWrapper<TtWaterwayOutenter> queryWrapper = QueryGenerator.initQueryWrapper(ttWaterwayOutenter, req.getParameterMap());
Page<TtWaterwayOutenter> page = new Page<TtWaterwayOutenter>(pageNo, pageSize);
IPage<TtWaterwayOutenter> pageList = ttWaterwayOutenterService.page(page, queryWrapper);
List<TtWaterwayOutenter> outenterList = pageList.getRecords();
// 查找关联关系记录
IPage<TtWaterwayRecords> recordsPageList = new Page<>();
if (!outenterList.isEmpty()) {
Map<Integer,Integer> idMap = new HashMap<>(); // id映射关系
for(TtWaterwayOutenter outenter : outenterList) {
if (outenter.getWaterEnter() != null) {
TtWaterwayFid fidRow = waterwayFidService.getLimitRowByEnter(outenter.getWaterEnter(), outenter.getFid());
if (fidRow != null) {
idMap.put(outenter.getId(),fidRow.getId());
}
}
}
log.info("entity = {} | params = {} | out-fid id map = {}", ttWaterwayOutenter,
JSON.toJSONString(req.getParameterMap()), idMap);
if (!idMap.isEmpty()) {
// List<Integer> oIdList = new ArrayList<>(idMap.keySet());
// List<Integer> fIdList = new ArrayList<>(idMap.values());
recordsPageList = ttWaterwayOutenterService.queryWaterRecordList(new Page<>(1, pageSize), idMap);
}
recordsPageList.setPages(pageList.getPages());
recordsPageList.setTotal(pageList.getTotal());
recordsPageList.setCurrent(pageList.getCurrent());
}
// 补缺失数据 todo
return Result.OK(recordsPageList);
}
/**
*
*
* @param ttWaterwayOutenter
* @param pageNo
* @param pageSize
* @param req
* @return
*/
//@AutoLog(value = "tt_waterway_outenter-分页列表查询")
@ApiOperation(value="tt_waterway_outenter-分页列表查询", notes="tt_waterway_outenter-分页列表查询")
@GetMapping(value = "/list") @GetMapping(value = "/list")
public Result<IPage<TtWaterwayRecords>> queryPageList(TtWaterwayOutenter ttWaterwayOutenter, public Result<IPage<TtWaterwayOutenter>> queryPageList(TtWaterwayOutenter ttWaterwayOutenter,
@RequestParam(name="pageNo", defaultValue="1") Integer pageNo, @RequestParam(name="pageNo", defaultValue="1") Integer pageNo,
@RequestParam(name="pageSize", defaultValue="10") Integer pageSize, HttpServletRequest req) { @RequestParam(name="pageSize", defaultValue="10") Integer pageSize, HttpServletRequest req) {
QueryWrapper<TtWaterwayOutenter> queryWrapper = QueryGenerator.initQueryWrapper(ttWaterwayOutenter, req.getParameterMap()); QueryWrapper<TtWaterwayOutenter> queryWrapper = QueryGenerator.initQueryWrapper(ttWaterwayOutenter, req.getParameterMap());
Page<TtWaterwayRecords> page = new Page<>(pageNo, pageSize); Page<TtWaterwayOutenter> page = new Page<TtWaterwayOutenter>(pageNo, pageSize);
IPage<TtWaterwayRecords> pageList = ttWaterwayOutenterService.queryWaterRecordList(page, queryWrapper); IPage<TtWaterwayOutenter> pageList = ttWaterwayOutenterService.page(page, queryWrapper);
return Result.OK(pageList); return Result.OK(pageList);
} }
// /**
// * 分页列表查询
// *
// * @param ttWaterwayOutenter
// * @param pageNo
// * @param pageSize
// * @param req
// * @return
// */
// //@AutoLog(value = "tt_waterway_outenter-分页列表查询")
// @ApiOperation(value="tt_waterway_outenter-分页列表查询", notes="tt_waterway_outenter-分页列表查询")
// @GetMapping(value = "/list")
// public Result<IPage<TtWaterwayOutenter>> queryPageList(TtWaterwayOutenter ttWaterwayOutenter,
// @RequestParam(name="pageNo", defaultValue="1") Integer pageNo,
// @RequestParam(name="pageSize", defaultValue="10") Integer pageSize, HttpServletRequest req) {
// QueryWrapper<TtWaterwayOutenter> queryWrapper = QueryGenerator.initQueryWrapper(ttWaterwayOutenter, req.getParameterMap());
// Page<TtWaterwayOutenter> page = new Page<TtWaterwayOutenter>(pageNo, pageSize);
// IPage<TtWaterwayOutenter> pageList = ttWaterwayOutenterService.page(page, queryWrapper);
// return Result.OK(pageList);
// }
/** /**
* *

@ -25,7 +25,8 @@ import lombok.experimental.Accessors;
* @Version: V1.0 * @Version: V1.0
*/ */
@Data @Data
@TableName("tt_waterway_outenter") //@TableName("tt_waterway_outenter")
@TableName("outenter")
@Accessors(chain = true) @Accessors(chain = true)
@EqualsAndHashCode(callSuper = false) @EqualsAndHashCode(callSuper = false)
@ApiModel(value="tt_waterway_outenter对象", description="tt_waterway_outenter") @ApiModel(value="tt_waterway_outenter对象", description="tt_waterway_outenter")
@ -36,42 +37,47 @@ public class TtWaterwayOutenter implements Serializable {
@TableId(type = IdType.AUTO) @TableId(type = IdType.AUTO)
@ApiModelProperty(value = "主键编号") @ApiModelProperty(value = "主键编号")
private java.lang.Integer id; private java.lang.Integer id;
/**FID*/ /**FID*/
@Excel(name = "FID", width = 15) @Excel(name = "FID", width = 15)
@ApiModelProperty(value = "FID") @ApiModelProperty(value = "FID")
private java.lang.String fid; private java.lang.String fid;
/**入水时间*/ /**入水时间*/
@Excel(name = "入水时间", width = 15, format = "yyyy-MM-dd HH:mm:ss") @Excel(name = "入水时间", width = 15, format = "yyyy-MM-dd HH:mm:ss")
@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss") @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
@DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss") @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
@ApiModelProperty(value = "入水时间") @ApiModelProperty(value = "入水时间")
private java.util.Date waterEnter; private java.util.Date waterEnter;
/**预热时间*/ /**预热时间*/
@Excel(name = "预热时间", width = 15, format = "yyyy-MM-dd HH:mm:ss") @Excel(name = "预热时间", width = 15, format = "yyyy-MM-dd HH:mm:ss")
@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss") @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
@DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss") @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
@ApiModelProperty(value = "预热时间") @ApiModelProperty(value = "预热时间")
private java.util.Date waterYure; private java.util.Date waterYure;
/**出水时间*/ /**出水时间*/
@Excel(name = "出水时间", width = 15, format = "yyyy-MM-dd HH:mm:ss") @Excel(name = "出水时间", width = 15, format = "yyyy-MM-dd HH:mm:ss")
@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss") @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
@DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss") @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
@ApiModelProperty(value = "出水时间") @ApiModelProperty(value = "出水时间")
private java.util.Date waterOut; private java.util.Date waterOut;
/**记录的创建时间*/
@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd") // /**记录的创建时间*/
@DateTimeFormat(pattern="yyyy-MM-dd") // @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
@ApiModelProperty(value = "记录的创建时间") // @DateTimeFormat(pattern="yyyy-MM-dd")
private java.util.Date createTime; // @ApiModelProperty(value = "记录的创建时间")
/**记录的创建人默认admin*/ // private java.util.Date createTime;
@ApiModelProperty(value = "记录的创建人默认admin") // /**记录的创建人默认admin*/
private java.lang.String createBy; // @ApiModelProperty(value = "记录的创建人默认admin")
/**记录的修改时间*/ // private java.lang.String createBy;
@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd") // /**记录的修改时间*/
@DateTimeFormat(pattern="yyyy-MM-dd") // @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
@ApiModelProperty(value = "记录的修改时间") // @DateTimeFormat(pattern="yyyy-MM-dd")
private java.util.Date updateTime; // @ApiModelProperty(value = "记录的修改时间")
/**记录的修改人,修改人员的登录账号*/ // private java.util.Date updateTime;
@ApiModelProperty(value = "记录的修改人,修改人员的登录账号") // /**记录的修改人,修改人员的登录账号*/
private java.lang.String updateBy; // @ApiModelProperty(value = "记录的修改人,修改人员的登录账号")
// private java.lang.String updateBy;
} }

@ -53,47 +53,45 @@ public class TtWaterwayRecords implements Serializable {
/**型号表编号*/ /**型号表编号*/
@Excel(name = "产品名称", width = 15) @Excel(name = "产品名称", width = 15)
@ApiModelProperty(value = "产品名称") @ApiModelProperty(value = "产品名称")
private java.lang.Integer proName; private java.lang.String proName;
/**型号表编号*/ /**型号表编号*/
@Excel(name = "型号", width = 15) @Excel(name = "型号", width = 15)
@ApiModelProperty(value = "型号") @ApiModelProperty(value = "型号")
private java.lang.Integer typeNo; private java.lang.String typeNo;
/**入水时间*/ /**入水时间*/
@Excel(name = "入水时间", width = 15, format = "yyyy-MM-dd HH:mm:ss") @Excel(name = "入水时间", width = 15, format = "yyyy-MM-dd HH:mm:ss")
@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss") @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
@DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss") @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
@ApiModelProperty(value = "入水时间") @ApiModelProperty(value = "入水时间")
private Date enterTime; private Date waterEnter;
/**预热时间*/ /**预热时间*/
@Excel(name = "预热时间", width = 15, format = "yyyy-MM-dd HH:mm:ss") @Excel(name = "预热时间", width = 15, format = "yyyy-MM-dd HH:mm:ss")
@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss") @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
@DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss") @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
@ApiModelProperty(value = "预热时间") @ApiModelProperty(value = "预热时间")
private Date yureTime; private Date waterYure;
/**出水时间*/ /**出水时间*/
@Excel(name = "出水时间", width = 15, format = "yyyy-MM-dd HH:mm:ss") @Excel(name = "出水时间", width = 15, format = "yyyy-MM-dd HH:mm:ss")
@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss") @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
@DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss") @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
@ApiModelProperty(value = "出水时间") @ApiModelProperty(value = "出水时间")
private Date outTime; private Date waterOut;
/** 预热时长 */ /** 预热时长 */
@Excel(name = "预热时长", width = 15, format = "yyyy-MM-dd HH:mm:ss") @Excel(name = "预热时长(s)", width = 15)
@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
@DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
@ApiModelProperty(value = "预热时长") @ApiModelProperty(value = "预热时长")
private Date yureDuring; private Integer yureDuring;
/** 出水时长 */ /** 出水时长 */
@Excel(name = "预热时长", width = 15, format = "yyyy-MM-dd HH:mm:ss") @Excel(name = "预热时长(s)", width = 15)
@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss") @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
@DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss") @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
@ApiModelProperty(value = "预热时长") @ApiModelProperty(value = "预热时长")
private Date outDuring; private Integer outDuring;
} }

@ -1,7 +1,9 @@
package org.jeecg.modules.demo.ttwaterwayoutenter.mapper; package org.jeecg.modules.demo.ttwaterwayoutenter.mapper;
import java.util.List; import java.util.List;
import java.util.Map;
import com.baomidou.dynamic.datasource.annotation.DS;
import com.baomidou.mybatisplus.core.conditions.Wrapper; import com.baomidou.mybatisplus.core.conditions.Wrapper;
import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.Constants; import com.baomidou.mybatisplus.core.toolkit.Constants;
@ -19,9 +21,14 @@ import org.jeecg.modules.demo.ttwaterwayoutenter.entity.TtWaterwayRecords;
* @Date: 2023-04-13 * @Date: 2023-04-13
* @Version: V1.0 * @Version: V1.0
*/ */
@Mapper //@Mapper
@DS("xianghe")
public interface TtWaterwayOutenterMapper extends BaseMapper<TtWaterwayOutenter> { public interface TtWaterwayOutenterMapper extends BaseMapper<TtWaterwayOutenter> {
IPage<TtWaterwayRecords> queryWaterRecordList(@Param("page") Page<TtWaterwayRecords> page, IPage<TtWaterwayRecords> queryWaterRecordList(@Param("page") Page<TtWaterwayRecords> page,
@Param(Constants.WRAPPER) Wrapper<TtWaterwayOutenter> wrapper); @Param(Constants.WRAPPER) Wrapper<TtWaterwayOutenter> wrapper);
// 通过fid表与outenter表主键查询
IPage<TtWaterwayRecords> queryWaterRecordList(@Param("page") Page<TtWaterwayRecords> page,
@Param("idMap") Map<Integer,Integer> idMap);
} }

@ -1,7 +1,53 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="org.jeecg.modules.demo.ttwaterwayoutenter.mapper.TtWaterwayOutenterMapper"> <mapper namespace="org.jeecg.modules.demo.ttwaterwayoutenter.mapper.TtWaterwayOutenterMapper">
<!-- <select id="queryWaterRecordList" resultType="org.jeecg.modules.demo.ttwaterwayoutenter.entity.TtWaterwayRecords">--> <!-- 水道追溯记录 ${ew.customSqlSegment} queryWrapper -->
<!-- --> <select id="queryWaterRecordList" resultType="org.jeecg.modules.demo.ttwaterwayoutenter.entity.TtWaterwayRecords">
<!-- </select>--> -- SELECT
-- *
-- FROM
-- (
SELECT
a.id,
b.id,
a.fid AS fid,
a.water_enter water_enter,
a.water_yure water_yure,
a.water_out water_out,
b.batch_number batchNumber,
b.number,
b.bind_time bindTime,
p.pname proName,
p.name typeNo
FROM
-- tt_waterway_outenter a
outenter a
JOIN fid b ON a.fid = b.fid
LEFT JOIN (
SELECT
c.id,
c.name,
d.name pname
FROM
type c
JOIN type d ON c.parentid = d.id
WHERE
c.parentid > 0
) AS p ON p.id = b.typeid
<!-- WHERE b.id IN-->
<!-- <foreach collection="fkeys" item="id" open="(" separator="," close=")">-->
<!-- #{id}-->
<!-- </foreach>-->
<!-- AND a.id IN-->
<!-- <foreach collection="okeys" item="id" open="(" separator="," close=")">-->
<!-- #{id}-->
<!-- </foreach>-->
WHERE (a.id, b.id) IN
<foreach collection="idMap.entrySet()" index="key" item="value" open="(" separator="," close=")">
(#{key},#{value})
</foreach>
ORDER BY
a.water_enter DESC
-- ) AS result
</select>
</mapper> </mapper>

@ -8,6 +8,9 @@ import org.jeecg.modules.demo.ttwaterwayoutenter.entity.TtWaterwayOutenter;
import com.baomidou.mybatisplus.extension.service.IService; import com.baomidou.mybatisplus.extension.service.IService;
import org.jeecg.modules.demo.ttwaterwayoutenter.entity.TtWaterwayRecords; import org.jeecg.modules.demo.ttwaterwayoutenter.entity.TtWaterwayRecords;
import java.util.List;
import java.util.Map;
/** /**
* @Description: tt_waterway_outenter * @Description: tt_waterway_outenter
* @Author: jeecg-boot * @Author: jeecg-boot
@ -17,5 +20,8 @@ import org.jeecg.modules.demo.ttwaterwayoutenter.entity.TtWaterwayRecords;
public interface ITtWaterwayOutenterService extends IService<TtWaterwayOutenter> { public interface ITtWaterwayOutenterService extends IService<TtWaterwayOutenter> {
// 关联查询入水出水记录 // 关联查询入水出水记录
IPage<TtWaterwayRecords> queryWaterRecordList(Page<TtWaterwayRecords> page, QueryWrapper<TtWaterwayOutenter> wrapper); IPage<TtWaterwayRecords> queryWaterRecordListByWrapper(Page<TtWaterwayRecords> page, QueryWrapper<TtWaterwayOutenter> wrapper);
// 主键关联查询入水出水记录
IPage<TtWaterwayRecords> queryWaterRecordList(Page<TtWaterwayRecords> page, Map<Integer,Integer> idMap);
} }

@ -1,10 +1,9 @@
package org.jeecg.modules.demo.ttwaterwayoutenter.service.impl; package org.jeecg.modules.demo.ttwaterwayoutenter.service.impl;
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 org.jeecg.common.constant.CommonConstant; import org.apache.commons.lang3.time.DateFormatUtils;
import org.jeecg.modules.demo.ttwaterwayoutenter.entity.TtWaterwayOutenter; import org.jeecg.modules.demo.ttwaterwayoutenter.entity.TtWaterwayOutenter;
import org.jeecg.modules.demo.ttwaterwayoutenter.entity.TtWaterwayRecords; import org.jeecg.modules.demo.ttwaterwayoutenter.entity.TtWaterwayRecords;
import org.jeecg.modules.demo.ttwaterwayoutenter.mapper.TtWaterwayOutenterMapper; import org.jeecg.modules.demo.ttwaterwayoutenter.mapper.TtWaterwayOutenterMapper;
@ -14,6 +13,15 @@ import org.springframework.stereotype.Service;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import java.text.SimpleDateFormat;
import java.time.Duration;
import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;
import java.util.Date;
import java.util.List;
import java.util.Map;
import java.util.Optional;
/** /**
* @Description: tt_waterway_outenter * @Description: tt_waterway_outenter
* @Author: jeecg-boot * @Author: jeecg-boot
@ -27,10 +35,74 @@ public class TtWaterwayOutenterServiceImpl extends ServiceImpl<TtWaterwayOutente
TtWaterwayOutenterMapper ttWaterwayOutenterMapper; TtWaterwayOutenterMapper ttWaterwayOutenterMapper;
@Override @Override
public IPage<TtWaterwayRecords> queryWaterRecordList(Page<TtWaterwayRecords> page, QueryWrapper<TtWaterwayOutenter> wrapper) { public IPage<TtWaterwayRecords> queryWaterRecordListByWrapper(Page<TtWaterwayRecords> page, QueryWrapper<TtWaterwayOutenter> wrapper) {
if (wrapper == null) { if (wrapper == null) {
wrapper = new QueryWrapper<>(); wrapper = new QueryWrapper<>();
} }
return ttWaterwayOutenterMapper.queryWaterRecordList(page, wrapper); IPage<TtWaterwayRecords> pageRecords = ttWaterwayOutenterMapper.queryWaterRecordList(page, wrapper);
List<TtWaterwayRecords> records = pageRecords.getRecords();
if (!records.isEmpty()) {
for (TtWaterwayRecords waterwayRecords : records) {
composeDuringData(waterwayRecords);
}
}
return pageRecords;
}
public IPage<TtWaterwayRecords> queryWaterRecordList(Page<TtWaterwayRecords> page, Map<Integer,Integer> idMap) {
IPage<TtWaterwayRecords> pageRecords = ttWaterwayOutenterMapper.queryWaterRecordList(page, idMap);
List<TtWaterwayRecords> records = pageRecords.getRecords();
if (!records.isEmpty()) {
for (TtWaterwayRecords waterwayRecords : records) {
composeDuringData(waterwayRecords);
}
}
return pageRecords;
}
public static void main(String[] args) {
// SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String format = DateFormatUtils.format(new Date(), "yyyy-MM-dd HH:mm:ss");
System.out.println(format);
}
// 计算预热与吸水时间
private void composeDuringData(TtWaterwayRecords waterwayRecords) {
// String defVal = "0001-01-01 00:00:00";
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
Date yureTime = waterwayRecords.getWaterYure();
Date enterTime = waterwayRecords.getWaterEnter();
Date outTime = waterwayRecords.getWaterOut();
if (yureTime == null) {
waterwayRecords.setYureDuring(-1);
waterwayRecords.setOutDuring(-1);
return;
}
String waterYure = sdf.format(yureTime);
if (enterTime == null) {
waterwayRecords.setYureDuring(-1);
} else {
String waterEnter = sdf.format(enterTime);
long during1 = getDateSubSeconds(waterYure, waterEnter);
waterwayRecords.setYureDuring((int) during1);
}
if (outTime == null) {
waterwayRecords.setOutDuring(-1);
} else {
String waterOut = sdf.format(outTime);
long during2 = getDateSubSeconds(waterOut, waterYure);
waterwayRecords.setOutDuring((int) during2);
}
}
public static long getDateSubSeconds(String from, String to) {
//计算秒数
LocalDateTime fromTime = LocalDateTime.parse(from, DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"));
LocalDateTime toTime = LocalDateTime.parse(to, DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"));
return Duration.between(toTime, fromTime).toMillis() / 1000;
} }
} }

@ -20,7 +20,7 @@ import io.swagger.annotations.ApiModelProperty;
* @Version: V1.0 * @Version: V1.0
*/ */
@Data @Data
@TableName("tt_waterway_type") @TableName("type")
@ApiModel(value="tt_waterway_type对象", description="型号管理") @ApiModel(value="tt_waterway_type对象", description="型号管理")
public class TtWaterwayType implements Serializable { public class TtWaterwayType implements Serializable {
private static final long serialVersionUID = 1L; private static final long serialVersionUID = 1L;
@ -50,22 +50,7 @@ public class TtWaterwayType implements Serializable {
@Excel(name = "优先级,越大,同级显示的时候越靠前", width = 15) @Excel(name = "优先级,越大,同级显示的时候越靠前", width = 15)
@ApiModelProperty(value = "优先级,越大,同级显示的时候越靠前") @ApiModelProperty(value = "优先级,越大,同级显示的时候越靠前")
private java.lang.Integer priority; private java.lang.Integer priority;
/**记录的创建时间*/
@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
@DateTimeFormat(pattern="yyyy-MM-dd")
@ApiModelProperty(value = "记录的创建时间")
private java.util.Date createTime;
/**记录的创建人默认admin*/
@ApiModelProperty(value = "记录的创建人默认admin")
private java.lang.String createBy;
/**记录的修改时间*/
@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
@DateTimeFormat(pattern="yyyy-MM-dd")
@ApiModelProperty(value = "记录的修改时间")
private java.util.Date updateTime;
/**记录的修改人,修改人员的登录账号*/
@ApiModelProperty(value = "记录的修改人,修改人员的登录账号")
private java.lang.String updateBy;
/**是否有子节点*/ /**是否有子节点*/
@Excel(name = "是否有子节点", width = 15) @Excel(name = "是否有子节点", width = 15)
@ApiModelProperty(value = "是否有子节点") @ApiModelProperty(value = "是否有子节点")

@ -1,5 +1,6 @@
package org.jeecg.modules.demo.ttwaterwaytype.mapper; package org.jeecg.modules.demo.ttwaterwaytype.mapper;
import com.baomidou.dynamic.datasource.annotation.DS;
import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Param;
import org.jeecg.common.system.vo.SelectTreeModel; import org.jeecg.common.system.vo.SelectTreeModel;
@ -14,6 +15,7 @@ import java.util.Map;
* @Date: 2023-04-13 * @Date: 2023-04-13
* @Version: V1.0 * @Version: V1.0
*/ */
@DS("xianghe")
public interface TtWaterwayTypeMapper extends BaseMapper<TtWaterwayType> { public interface TtWaterwayTypeMapper extends BaseMapper<TtWaterwayType> {
/** /**

@ -3,7 +3,7 @@
<mapper namespace="org.jeecg.modules.demo.ttwaterwaytype.mapper.TtWaterwayTypeMapper"> <mapper namespace="org.jeecg.modules.demo.ttwaterwaytype.mapper.TtWaterwayTypeMapper">
<update id="updateTreeNodeStatus" parameterType="java.lang.String"> <update id="updateTreeNodeStatus" parameterType="java.lang.String">
update tt_waterway_type set has_child = #{status} where id = #{id} update type set has_child = #{status} where id = #{id}
</update> </update>
<!-- 【vue3专用】 --> <!-- 【vue3专用】 -->
@ -13,7 +13,7 @@
name as "title", name as "title",
(case when has_child = '1' then 0 else 1 end) as isLeaf, (case when has_child = '1' then 0 else 1 end) as isLeaf,
parentid as parentId parentid as parentId
from tt_waterway_type from type
where parentid = #{pid} where parentid = #{pid}
<if test="query != null"> <if test="query != null">
<foreach collection="query.entrySet()" item="value" index="key"> <foreach collection="query.entrySet()" item="value" index="key">

@ -17,6 +17,7 @@ import org.jeecg.modules.demo.ttpouringequip.entity.TtPouringEquip;
import org.jeecg.modules.demo.ttpouringequip.service.ITtPouringEquipService; import org.jeecg.modules.demo.ttpouringequip.service.ITtPouringEquipService;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Configuration; import org.springframework.context.annotation.Configuration;
import org.springframework.context.annotation.Profile;
import org.springframework.scheduling.annotation.EnableScheduling; import org.springframework.scheduling.annotation.EnableScheduling;
import org.springframework.scheduling.annotation.SchedulingConfigurer; import org.springframework.scheduling.annotation.SchedulingConfigurer;
import org.springframework.scheduling.config.ScheduledTaskRegistrar; import org.springframework.scheduling.config.ScheduledTaskRegistrar;
@ -32,6 +33,7 @@ import java.util.stream.Collectors;
@Configuration //1.主要用于标记配置类兼备Component的效果。 @Configuration //1.主要用于标记配置类兼备Component的效果。
@EnableScheduling // 2.开启定时任务 @EnableScheduling // 2.开启定时任务
@Slf4j @Slf4j
@Profile({"prod"})
public class TtDataCollectTask implements SchedulingConfigurer { public class TtDataCollectTask implements SchedulingConfigurer {
private static Map<DEVICE_TYPE, RS485Handler> jzjHandlerMap = new HashMap<>(); private static Map<DEVICE_TYPE, RS485Handler> jzjHandlerMap = new HashMap<>();

Loading…
Cancel
Save