Commit e4627ea1 authored by 赵啸非's avatar 赵啸非

修改同步用户

parent 32efcfdd
......@@ -9,8 +9,8 @@
<el-row>
<Field :span="20" label="房间名称" prop="roomName" v-model="form.roomName" placeholder="请输入房间名称"/>
<Field :span="20" label="房间编码" prop="roomCode" v-model="form.roomCode" placeholder="请输入房间编码"/>
<Field :span="20" label="房间类型" prop="roomType" v-model="form.roomType" type="select" :enumData="dict.roomType" placeholder="请选择房间类型"/>
<Field :span="20" label="关联设备" prop="deviceId" v-model="form.deviceId" type="select" :enumData="dict.deviceId" placeholder="请选择绑定的电子门牌的设备ID"/>
<Field :span="20" label="房间类型" prop="roomType" v-model="form.roomType" type="select" :enumData="dict.roomType" placeholder="请选择房间类型"/>
<Field :span="20" label="关联设备" prop="deviceId" v-model="deviceIds" type="select" :multiple="true" :enumData="dict.deviceIds" placeholder="请选择绑定的电子门牌的设备ID"/>
<Field :span="20" label="备注" prop="remark" v-model="form.remark" type="textarea" placeholder="请输入备注"/>
</el-row>
......@@ -34,6 +34,8 @@
},
data() {
return {
roomDeviceList: [],
deviceIds:[],
// 遮罩层
loading: true,
// 弹出层标题
......@@ -47,6 +49,7 @@
],
toDate:[
],
toArrays:[],
// 表单校验
rules: {
roomName: [
......@@ -97,13 +100,29 @@
cancel() {
this.open = false;
},
// 渲染前置处理
beforeRender(data) {
this.deviceIds=[]
if(data.entity.roomDeviceList&&data.entity.roomDeviceList.length>0){
this.deviceIds=data.entity.roomDeviceList.map(i=>i.deviceId+"")
}
return data
},
/**获取数据后弹框 */
afterRender(data) {
this.open = true;
},
beforeSubmit(data) {
data.deviceName=this.dict.deviceId[data.deviceId]
// data.deviceName=this.dict.deviceId[data.deviceId]
console.log(this.deviceIds)
let roomDeviceList=this.deviceIds.map(i=>{
let obj={}
obj.deviceId=i
return obj
})
data.roomDeviceList=roomDeviceList;
return data
},
......
......@@ -21,6 +21,24 @@
created() {
},
methods: {
renderTable(tableData) {
return (
<el-table stripe data={tableData} class="total-table">
{this.columnSet.map((item) => this.renderTableColumn(item))}
</el-table>
);
},
renderTableColumn(options) {
return (
<el-table-column
prop={options.prop}
label={options.label}
width={options.width}
formatter={options.formatter}
>
</el-table-column>
);
},
/** 重写新增方法 */
toAdd(row) {
this.$refs.drawerform.add(row);
......@@ -37,6 +55,11 @@
},
data() {
return {
/** 子表列元素 */
columnSet:[
{label: "设备编码", prop: "deviceCode", width: 150},
{label: "设备名称", prop: "deviceName", width: 150}
],
config: {
search: [
{
......@@ -56,7 +79,21 @@
{label: "房间类型", prop: "roomType",formatter: this.formatter},
{label: "绑定设备", prop: "deviceName"},
{label: "绑定设备",
width: 120,
prop: "subColumns",
formatter: (row) => {
let widthsize = this.columnSet.reduce((pre, cur) => {
return pre + Number(cur.width);
}, 50);
return (
<el-popover placement="right" width={widthsize} trigger="click">
{this.renderTable(row.roomDeviceList)}
<el-button type="text" slot="reference">详细</el-button>
</el-popover>
);
},
},
{label: "员工人数", prop: "countPerson", formatter: this.formatter},
......
......@@ -17,7 +17,7 @@ module.exports = {
hot: true,//自动保存
proxy: {
'/office': {
target: 'http://192.168.0.98:11085',
target: 'http://127.0.0.1:21085',
changeOrigin: true,
secure: false,
cookieDomainRewrite: 'localhost',
......
package com.mortals.xhx.module.device.service;
import com.mortals.framework.model.Context;
import com.mortals.framework.service.ICRUDCacheService;
import com.mortals.framework.service.ICRUDService;
import com.mortals.xhx.module.device.model.DeviceEntity;
import com.mortals.xhx.module.device.dao.DeviceDao;
......@@ -11,7 +12,7 @@ import com.mortals.xhx.module.device.dao.DeviceDao;
* @author zxfei
* @date 2023-05-22
*/
public interface DeviceService extends ICRUDService<DeviceEntity,Long>{
public interface DeviceService extends ICRUDCacheService<DeviceEntity,Long> {
DeviceDao getDao();
......
......@@ -2,6 +2,7 @@ package com.mortals.xhx.module.device.service.impl;
import com.alibaba.fastjson.JSON;
import com.mortals.framework.common.Rest;
import com.mortals.framework.service.impl.AbstractCRUDCacheServiceImpl;
import com.mortals.xhx.common.code.DeviceMethodEnum;
import com.mortals.xhx.common.code.DeviceStatusEnum;
import com.mortals.xhx.common.code.EnabledEnum;
......@@ -36,7 +37,7 @@ import java.util.List;
*/
@Service("deviceService")
@Slf4j
public class DeviceServiceImpl extends AbstractCRUDServiceImpl<DeviceDao, DeviceEntity, Long> implements DeviceService {
public class DeviceServiceImpl extends AbstractCRUDCacheServiceImpl<DeviceDao, DeviceEntity, Long> implements DeviceService {
@Autowired
private IDeviceFeign deviceFeign;
......
......@@ -9,8 +9,11 @@ import com.mortals.framework.web.BaseCRUDJsonBodyMappingController;
import com.mortals.xhx.base.system.param.service.ParamService;
import com.mortals.xhx.module.metting.model.MettingRecordEntity;
import com.mortals.xhx.module.metting.service.MettingRecordService;
import com.mortals.xhx.module.room.model.RoomDeviceEntity;
import com.mortals.xhx.module.room.model.RoomDeviceQuery;
import com.mortals.xhx.module.room.model.RoomEntity;
import com.mortals.xhx.module.room.model.RoomQuery;
import com.mortals.xhx.module.room.service.RoomDeviceService;
import com.mortals.xhx.module.room.service.RoomService;
import org.apache.commons.lang3.ObjectUtils;
import org.springframework.beans.factory.annotation.Autowired;
......@@ -36,6 +39,8 @@ public class MettingRecordController extends BaseCRUDJsonBodyMappingController<M
private ParamService paramService;
@Autowired
private RoomService roomService;
@Autowired
private RoomDeviceService roomDeviceService;
public MettingRecordController() {
......@@ -63,7 +68,8 @@ public class MettingRecordController extends BaseCRUDJsonBodyMappingController<M
if (!ObjectUtils.isEmpty(query.getDeviceCode())) {
//根据设备编码 查询房间room
RoomEntity roomEntity = roomService.selectOne(new RoomQuery().deviceCode(query.getDeviceCode()));
RoomDeviceEntity roomEntity = roomDeviceService.selectOne(new RoomDeviceQuery().deviceCode(query.getDeviceCode()));
//RoomEntity roomEntity = roomService.selectOne(new RoomQuery().deviceCode(query.getDeviceCode()));
if (!ObjectUtils.isEmpty(roomEntity)) {
query.setRoomId(roomEntity.getId());
} else {
......
package com.mortals.xhx.module.room.dao;
import com.mortals.framework.dao.ICRUDDao;
import com.mortals.xhx.module.room.model.RoomDeviceEntity;
import java.util.List;
/**
* 房间设备信息Dao
* 房间设备信息 DAO接口
*
* @author zxfei
* @date 2023-05-29
*/
public interface RoomDeviceDao extends ICRUDDao<RoomDeviceEntity,Long>{
}
package com.mortals.xhx.module.room.dao.ibatis;
import org.springframework.stereotype.Repository;
import com.mortals.xhx.module.room.dao.RoomDeviceDao;
import com.mortals.xhx.module.room.model.RoomDeviceEntity;
import java.util.Date;
import com.mortals.framework.dao.ibatis.BaseCRUDDaoMybatis;
import java.util.List;
/**
* 房间设备信息DaoImpl DAO接口
*
* @author zxfei
* @date 2023-05-29
*/
@Repository("roomDeviceDao")
public class RoomDeviceDaoImpl extends BaseCRUDDaoMybatis<RoomDeviceEntity,Long> implements RoomDeviceDao {
}
package com.mortals.xhx.module.room.model;
import java.util.List;
import java.util.ArrayList;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.mortals.framework.annotation.Excel;
import com.mortals.framework.model.BaseEntityLong;
import com.mortals.xhx.module.room.model.vo.RoomDeviceVo;
import lombok.Data;
/**
* 房间设备信息实体对象
*
* @author zxfei
* @date 2023-05-29
*/
@Data
public class RoomDeviceEntity extends RoomDeviceVo {
private static final long serialVersionUID = 1L;
/**
* 房间id
*/
private Long roomId;
/**
* 房间名称
*/
private String roomName;
/**
* 设备id
*/
private Long deviceId;
/**
* 设备编码
*/
private String deviceCode;
/**
* 设备名称
*/
private String deviceName;
/**
* 备注
*/
private String remark;
@Override
public int hashCode() {
return this.getId().hashCode();
}
@Override
public boolean equals(Object obj) {
if (obj == null) return false;
if (obj instanceof RoomDeviceEntity) {
RoomDeviceEntity tmp = (RoomDeviceEntity) obj;
if (this.getId() == tmp.getId()) {
return true;
}
}
return false;
}
public void initAttrValue(){
this.roomId = -1L;
this.roomName = "";
this.deviceId = -1L;
this.deviceCode = "";
this.deviceName = "";
this.remark = "";
}
}
\ No newline at end of file
package com.mortals.xhx.module.room.model;
import java.util.List;
import com.mortals.xhx.module.room.model.RoomDeviceEntity;
/**
* 房间设备信息查询对象
*
* @author zxfei
* @date 2023-05-29
*/
public class RoomDeviceQuery extends RoomDeviceEntity {
/** 开始 主键ID,主键,自增长 */
private Long idStart;
/** 结束 主键ID,主键,自增长 */
private Long idEnd;
/** 增加 主键ID,主键,自增长 */
private Long idIncrement;
/** 主键ID,主键,自增长列表 */
private List <Long> idList;
/** 主键ID,主键,自增长排除列表 */
private List <Long> idNotList;
/** 开始 房间id */
private Long roomIdStart;
/** 结束 房间id */
private Long roomIdEnd;
/** 增加 房间id */
private Long roomIdIncrement;
/** 房间id列表 */
private List <Long> roomIdList;
/** 房间id排除列表 */
private List <Long> roomIdNotList;
/** 房间名称 */
private List<String> roomNameList;
/** 房间名称排除列表 */
private List <String> roomNameNotList;
/** 开始 设备id */
private Long deviceIdStart;
/** 结束 设备id */
private Long deviceIdEnd;
/** 增加 设备id */
private Long deviceIdIncrement;
/** 设备id列表 */
private List <Long> deviceIdList;
/** 设备id排除列表 */
private List <Long> deviceIdNotList;
/** 设备编码 */
private List<String> deviceCodeList;
/** 设备编码排除列表 */
private List <String> deviceCodeNotList;
/** 设备名称 */
private List<String> deviceNameList;
/** 设备名称排除列表 */
private List <String> deviceNameNotList;
/** 备注 */
private List<String> remarkList;
/** 备注排除列表 */
private List <String> remarkNotList;
/** 开始 创建用户 */
private Long createUserIdStart;
/** 结束 创建用户 */
private Long createUserIdEnd;
/** 增加 创建用户 */
private Long createUserIdIncrement;
/** 创建用户列表 */
private List <Long> createUserIdList;
/** 创建用户排除列表 */
private List <Long> createUserIdNotList;
/** 开始 创建时间 */
private String createTimeStart;
/** 结束 创建时间 */
private String createTimeEnd;
/** 开始 更新用户 */
private Long updateUserIdStart;
/** 结束 更新用户 */
private Long updateUserIdEnd;
/** 增加 更新用户 */
private Long updateUserIdIncrement;
/** 更新用户列表 */
private List <Long> updateUserIdList;
/** 更新用户排除列表 */
private List <Long> updateUserIdNotList;
/** 开始 更新时间 */
private String updateTimeStart;
/** 结束 更新时间 */
private String updateTimeEnd;
/** OR条件集合,列表项之间是OR,项内容之间是AND,如:(list[0].1 and list[0].2) or (list[1].3 and list[1].4) */
private List<RoomDeviceQuery> orConditionList;
/** AND条件集合,列表项之间是AND,项内容之间是OR,如:(list[0].1 or list[0].2) and (list[1].3 or list[1].4) */
private List<RoomDeviceQuery> andConditionList;
public RoomDeviceQuery(){}
/**
* 获取 开始 主键ID,主键,自增长
* @return idStart
*/
public Long getIdStart(){
return this.idStart;
}
/**
* 设置 开始 主键ID,主键,自增长
* @param idStart
*/
public void setIdStart(Long idStart){
this.idStart = idStart;
}
/**
* 获取 结束 主键ID,主键,自增长
* @return $idEnd
*/
public Long getIdEnd(){
return this.idEnd;
}
/**
* 设置 结束 主键ID,主键,自增长
* @param idEnd
*/
public void setIdEnd(Long idEnd){
this.idEnd = idEnd;
}
/**
* 获取 增加 主键ID,主键,自增长
* @return idIncrement
*/
public Long getIdIncrement(){
return this.idIncrement;
}
/**
* 设置 增加 主键ID,主键,自增长
* @param idIncrement
*/
public void setIdIncrement(Long idIncrement){
this.idIncrement = idIncrement;
}
/**
* 获取 主键ID,主键,自增长
* @return idList
*/
public List<Long> getIdList(){
return this.idList;
}
/**
* 设置 主键ID,主键,自增长
* @param idList
*/
public void setIdList(List<Long> idList){
this.idList = idList;
}
/**
* 获取 主键ID,主键,自增长
* @return idNotList
*/
public List<Long> getIdNotList(){
return this.idNotList;
}
/**
* 设置 主键ID,主键,自增长
* @param idNotList
*/
public void setIdNotList(List<Long> idNotList){
this.idNotList = idNotList;
}
/**
* 获取 开始 房间id
* @return roomIdStart
*/
public Long getRoomIdStart(){
return this.roomIdStart;
}
/**
* 设置 开始 房间id
* @param roomIdStart
*/
public void setRoomIdStart(Long roomIdStart){
this.roomIdStart = roomIdStart;
}
/**
* 获取 结束 房间id
* @return $roomIdEnd
*/
public Long getRoomIdEnd(){
return this.roomIdEnd;
}
/**
* 设置 结束 房间id
* @param roomIdEnd
*/
public void setRoomIdEnd(Long roomIdEnd){
this.roomIdEnd = roomIdEnd;
}
/**
* 获取 增加 房间id
* @return roomIdIncrement
*/
public Long getRoomIdIncrement(){
return this.roomIdIncrement;
}
/**
* 设置 增加 房间id
* @param roomIdIncrement
*/
public void setRoomIdIncrement(Long roomIdIncrement){
this.roomIdIncrement = roomIdIncrement;
}
/**
* 获取 房间id
* @return roomIdList
*/
public List<Long> getRoomIdList(){
return this.roomIdList;
}
/**
* 设置 房间id
* @param roomIdList
*/
public void setRoomIdList(List<Long> roomIdList){
this.roomIdList = roomIdList;
}
/**
* 获取 房间id
* @return roomIdNotList
*/
public List<Long> getRoomIdNotList(){
return this.roomIdNotList;
}
/**
* 设置 房间id
* @param roomIdNotList
*/
public void setRoomIdNotList(List<Long> roomIdNotList){
this.roomIdNotList = roomIdNotList;
}
/**
* 获取 房间名称
* @return roomNameList
*/
public List<String> getRoomNameList(){
return this.roomNameList;
}
/**
* 设置 房间名称
* @param roomNameList
*/
public void setRoomNameList(List<String> roomNameList){
this.roomNameList = roomNameList;
}
/**
* 获取 房间名称
* @return roomNameNotList
*/
public List<String> getRoomNameNotList(){
return this.roomNameNotList;
}
/**
* 设置 房间名称
* @param roomNameNotList
*/
public void setRoomNameNotList(List<String> roomNameNotList){
this.roomNameNotList = roomNameNotList;
}
/**
* 获取 开始 设备id
* @return deviceIdStart
*/
public Long getDeviceIdStart(){
return this.deviceIdStart;
}
/**
* 设置 开始 设备id
* @param deviceIdStart
*/
public void setDeviceIdStart(Long deviceIdStart){
this.deviceIdStart = deviceIdStart;
}
/**
* 获取 结束 设备id
* @return $deviceIdEnd
*/
public Long getDeviceIdEnd(){
return this.deviceIdEnd;
}
/**
* 设置 结束 设备id
* @param deviceIdEnd
*/
public void setDeviceIdEnd(Long deviceIdEnd){
this.deviceIdEnd = deviceIdEnd;
}
/**
* 获取 增加 设备id
* @return deviceIdIncrement
*/
public Long getDeviceIdIncrement(){
return this.deviceIdIncrement;
}
/**
* 设置 增加 设备id
* @param deviceIdIncrement
*/
public void setDeviceIdIncrement(Long deviceIdIncrement){
this.deviceIdIncrement = deviceIdIncrement;
}
/**
* 获取 设备id
* @return deviceIdList
*/
public List<Long> getDeviceIdList(){
return this.deviceIdList;
}
/**
* 设置 设备id
* @param deviceIdList
*/
public void setDeviceIdList(List<Long> deviceIdList){
this.deviceIdList = deviceIdList;
}
/**
* 获取 设备id
* @return deviceIdNotList
*/
public List<Long> getDeviceIdNotList(){
return this.deviceIdNotList;
}
/**
* 设置 设备id
* @param deviceIdNotList
*/
public void setDeviceIdNotList(List<Long> deviceIdNotList){
this.deviceIdNotList = deviceIdNotList;
}
/**
* 获取 设备编码
* @return deviceCodeList
*/
public List<String> getDeviceCodeList(){
return this.deviceCodeList;
}
/**
* 设置 设备编码
* @param deviceCodeList
*/
public void setDeviceCodeList(List<String> deviceCodeList){
this.deviceCodeList = deviceCodeList;
}
/**
* 获取 设备编码
* @return deviceCodeNotList
*/
public List<String> getDeviceCodeNotList(){
return this.deviceCodeNotList;
}
/**
* 设置 设备编码
* @param deviceCodeNotList
*/
public void setDeviceCodeNotList(List<String> deviceCodeNotList){
this.deviceCodeNotList = deviceCodeNotList;
}
/**
* 获取 设备名称
* @return deviceNameList
*/
public List<String> getDeviceNameList(){
return this.deviceNameList;
}
/**
* 设置 设备名称
* @param deviceNameList
*/
public void setDeviceNameList(List<String> deviceNameList){
this.deviceNameList = deviceNameList;
}
/**
* 获取 设备名称
* @return deviceNameNotList
*/
public List<String> getDeviceNameNotList(){
return this.deviceNameNotList;
}
/**
* 设置 设备名称
* @param deviceNameNotList
*/
public void setDeviceNameNotList(List<String> deviceNameNotList){
this.deviceNameNotList = deviceNameNotList;
}
/**
* 获取 备注
* @return remarkList
*/
public List<String> getRemarkList(){
return this.remarkList;
}
/**
* 设置 备注
* @param remarkList
*/
public void setRemarkList(List<String> remarkList){
this.remarkList = remarkList;
}
/**
* 获取 备注
* @return remarkNotList
*/
public List<String> getRemarkNotList(){
return this.remarkNotList;
}
/**
* 设置 备注
* @param remarkNotList
*/
public void setRemarkNotList(List<String> remarkNotList){
this.remarkNotList = remarkNotList;
}
/**
* 获取 开始 创建用户
* @return createUserIdStart
*/
public Long getCreateUserIdStart(){
return this.createUserIdStart;
}
/**
* 设置 开始 创建用户
* @param createUserIdStart
*/
public void setCreateUserIdStart(Long createUserIdStart){
this.createUserIdStart = createUserIdStart;
}
/**
* 获取 结束 创建用户
* @return $createUserIdEnd
*/
public Long getCreateUserIdEnd(){
return this.createUserIdEnd;
}
/**
* 设置 结束 创建用户
* @param createUserIdEnd
*/
public void setCreateUserIdEnd(Long createUserIdEnd){
this.createUserIdEnd = createUserIdEnd;
}
/**
* 获取 增加 创建用户
* @return createUserIdIncrement
*/
public Long getCreateUserIdIncrement(){
return this.createUserIdIncrement;
}
/**
* 设置 增加 创建用户
* @param createUserIdIncrement
*/
public void setCreateUserIdIncrement(Long createUserIdIncrement){
this.createUserIdIncrement = createUserIdIncrement;
}
/**
* 获取 创建用户
* @return createUserIdList
*/
public List<Long> getCreateUserIdList(){
return this.createUserIdList;
}
/**
* 设置 创建用户
* @param createUserIdList
*/
public void setCreateUserIdList(List<Long> createUserIdList){
this.createUserIdList = createUserIdList;
}
/**
* 获取 创建用户
* @return createUserIdNotList
*/
public List<Long> getCreateUserIdNotList(){
return this.createUserIdNotList;
}
/**
* 设置 创建用户
* @param createUserIdNotList
*/
public void setCreateUserIdNotList(List<Long> createUserIdNotList){
this.createUserIdNotList = createUserIdNotList;
}
/**
* 获取 开始 创建时间
* @return createTimeStart
*/
public String getCreateTimeStart(){
return this.createTimeStart;
}
/**
* 设置 开始 创建时间
* @param createTimeStart
*/
public void setCreateTimeStart(String createTimeStart){
this.createTimeStart = createTimeStart;
}
/**
* 获取 结束 创建时间
* @return createTimeEnd
*/
public String getCreateTimeEnd(){
return this.createTimeEnd;
}
/**
* 设置 结束 创建时间
* @param createTimeEnd
*/
public void setCreateTimeEnd(String createTimeEnd){
this.createTimeEnd = createTimeEnd;
}
/**
* 获取 开始 更新用户
* @return updateUserIdStart
*/
public Long getUpdateUserIdStart(){
return this.updateUserIdStart;
}
/**
* 设置 开始 更新用户
* @param updateUserIdStart
*/
public void setUpdateUserIdStart(Long updateUserIdStart){
this.updateUserIdStart = updateUserIdStart;
}
/**
* 获取 结束 更新用户
* @return $updateUserIdEnd
*/
public Long getUpdateUserIdEnd(){
return this.updateUserIdEnd;
}
/**
* 设置 结束 更新用户
* @param updateUserIdEnd
*/
public void setUpdateUserIdEnd(Long updateUserIdEnd){
this.updateUserIdEnd = updateUserIdEnd;
}
/**
* 获取 增加 更新用户
* @return updateUserIdIncrement
*/
public Long getUpdateUserIdIncrement(){
return this.updateUserIdIncrement;
}
/**
* 设置 增加 更新用户
* @param updateUserIdIncrement
*/
public void setUpdateUserIdIncrement(Long updateUserIdIncrement){
this.updateUserIdIncrement = updateUserIdIncrement;
}
/**
* 获取 更新用户
* @return updateUserIdList
*/
public List<Long> getUpdateUserIdList(){
return this.updateUserIdList;
}
/**
* 设置 更新用户
* @param updateUserIdList
*/
public void setUpdateUserIdList(List<Long> updateUserIdList){
this.updateUserIdList = updateUserIdList;
}
/**
* 获取 更新用户
* @return updateUserIdNotList
*/
public List<Long> getUpdateUserIdNotList(){
return this.updateUserIdNotList;
}
/**
* 设置 更新用户
* @param updateUserIdNotList
*/
public void setUpdateUserIdNotList(List<Long> updateUserIdNotList){
this.updateUserIdNotList = updateUserIdNotList;
}
/**
* 获取 开始 更新时间
* @return updateTimeStart
*/
public String getUpdateTimeStart(){
return this.updateTimeStart;
}
/**
* 设置 开始 更新时间
* @param updateTimeStart
*/
public void setUpdateTimeStart(String updateTimeStart){
this.updateTimeStart = updateTimeStart;
}
/**
* 获取 结束 更新时间
* @return updateTimeEnd
*/
public String getUpdateTimeEnd(){
return this.updateTimeEnd;
}
/**
* 设置 结束 更新时间
* @param updateTimeEnd
*/
public void setUpdateTimeEnd(String updateTimeEnd){
this.updateTimeEnd = updateTimeEnd;
}
/**
* 设置 主键ID,主键,自增长
* @param id
*/
public RoomDeviceQuery id(Long id){
setId(id);
return this;
}
/**
* 设置 开始 主键ID,主键,自增长
* @param idStart
*/
public RoomDeviceQuery idStart(Long idStart){
this.idStart = idStart;
return this;
}
/**
* 设置 结束 主键ID,主键,自增长
* @param idEnd
*/
public RoomDeviceQuery idEnd(Long idEnd){
this.idEnd = idEnd;
return this;
}
/**
* 设置 增加 主键ID,主键,自增长
* @param idIncrement
*/
public RoomDeviceQuery idIncrement(Long idIncrement){
this.idIncrement = idIncrement;
return this;
}
/**
* 设置 主键ID,主键,自增长
* @param idList
*/
public RoomDeviceQuery idList(List<Long> idList){
this.idList = idList;
return this;
}
/**
* 设置 主键ID,主键,自增长
* @param idNotList
*/
public RoomDeviceQuery idNotList(List<Long> idNotList){
this.idNotList = idNotList;
return this;
}
/**
* 设置 房间id
* @param roomId
*/
public RoomDeviceQuery roomId(Long roomId){
setRoomId(roomId);
return this;
}
/**
* 设置 开始 房间id
* @param roomIdStart
*/
public RoomDeviceQuery roomIdStart(Long roomIdStart){
this.roomIdStart = roomIdStart;
return this;
}
/**
* 设置 结束 房间id
* @param roomIdEnd
*/
public RoomDeviceQuery roomIdEnd(Long roomIdEnd){
this.roomIdEnd = roomIdEnd;
return this;
}
/**
* 设置 增加 房间id
* @param roomIdIncrement
*/
public RoomDeviceQuery roomIdIncrement(Long roomIdIncrement){
this.roomIdIncrement = roomIdIncrement;
return this;
}
/**
* 设置 房间id
* @param roomIdList
*/
public RoomDeviceQuery roomIdList(List<Long> roomIdList){
this.roomIdList = roomIdList;
return this;
}
/**
* 设置 房间id
* @param roomIdNotList
*/
public RoomDeviceQuery roomIdNotList(List<Long> roomIdNotList){
this.roomIdNotList = roomIdNotList;
return this;
}
/**
* 设置 房间名称
* @param roomName
*/
public RoomDeviceQuery roomName(String roomName){
setRoomName(roomName);
return this;
}
/**
* 设置 房间名称
* @param roomNameList
*/
public RoomDeviceQuery roomNameList(List<String> roomNameList){
this.roomNameList = roomNameList;
return this;
}
/**
* 设置 设备id
* @param deviceId
*/
public RoomDeviceQuery deviceId(Long deviceId){
setDeviceId(deviceId);
return this;
}
/**
* 设置 开始 设备id
* @param deviceIdStart
*/
public RoomDeviceQuery deviceIdStart(Long deviceIdStart){
this.deviceIdStart = deviceIdStart;
return this;
}
/**
* 设置 结束 设备id
* @param deviceIdEnd
*/
public RoomDeviceQuery deviceIdEnd(Long deviceIdEnd){
this.deviceIdEnd = deviceIdEnd;
return this;
}
/**
* 设置 增加 设备id
* @param deviceIdIncrement
*/
public RoomDeviceQuery deviceIdIncrement(Long deviceIdIncrement){
this.deviceIdIncrement = deviceIdIncrement;
return this;
}
/**
* 设置 设备id
* @param deviceIdList
*/
public RoomDeviceQuery deviceIdList(List<Long> deviceIdList){
this.deviceIdList = deviceIdList;
return this;
}
/**
* 设置 设备id
* @param deviceIdNotList
*/
public RoomDeviceQuery deviceIdNotList(List<Long> deviceIdNotList){
this.deviceIdNotList = deviceIdNotList;
return this;
}
/**
* 设置 设备编码
* @param deviceCode
*/
public RoomDeviceQuery deviceCode(String deviceCode){
setDeviceCode(deviceCode);
return this;
}
/**
* 设置 设备编码
* @param deviceCodeList
*/
public RoomDeviceQuery deviceCodeList(List<String> deviceCodeList){
this.deviceCodeList = deviceCodeList;
return this;
}
/**
* 设置 设备名称
* @param deviceName
*/
public RoomDeviceQuery deviceName(String deviceName){
setDeviceName(deviceName);
return this;
}
/**
* 设置 设备名称
* @param deviceNameList
*/
public RoomDeviceQuery deviceNameList(List<String> deviceNameList){
this.deviceNameList = deviceNameList;
return this;
}
/**
* 设置 备注
* @param remark
*/
public RoomDeviceQuery remark(String remark){
setRemark(remark);
return this;
}
/**
* 设置 备注
* @param remarkList
*/
public RoomDeviceQuery remarkList(List<String> remarkList){
this.remarkList = remarkList;
return this;
}
/**
* 设置 创建用户
* @param createUserId
*/
public RoomDeviceQuery createUserId(Long createUserId){
setCreateUserId(createUserId);
return this;
}
/**
* 设置 开始 创建用户
* @param createUserIdStart
*/
public RoomDeviceQuery createUserIdStart(Long createUserIdStart){
this.createUserIdStart = createUserIdStart;
return this;
}
/**
* 设置 结束 创建用户
* @param createUserIdEnd
*/
public RoomDeviceQuery createUserIdEnd(Long createUserIdEnd){
this.createUserIdEnd = createUserIdEnd;
return this;
}
/**
* 设置 增加 创建用户
* @param createUserIdIncrement
*/
public RoomDeviceQuery createUserIdIncrement(Long createUserIdIncrement){
this.createUserIdIncrement = createUserIdIncrement;
return this;
}
/**
* 设置 创建用户
* @param createUserIdList
*/
public RoomDeviceQuery createUserIdList(List<Long> createUserIdList){
this.createUserIdList = createUserIdList;
return this;
}
/**
* 设置 创建用户
* @param createUserIdNotList
*/
public RoomDeviceQuery createUserIdNotList(List<Long> createUserIdNotList){
this.createUserIdNotList = createUserIdNotList;
return this;
}
/**
* 设置 更新用户
* @param updateUserId
*/
public RoomDeviceQuery updateUserId(Long updateUserId){
setUpdateUserId(updateUserId);
return this;
}
/**
* 设置 开始 更新用户
* @param updateUserIdStart
*/
public RoomDeviceQuery updateUserIdStart(Long updateUserIdStart){
this.updateUserIdStart = updateUserIdStart;
return this;
}
/**
* 设置 结束 更新用户
* @param updateUserIdEnd
*/
public RoomDeviceQuery updateUserIdEnd(Long updateUserIdEnd){
this.updateUserIdEnd = updateUserIdEnd;
return this;
}
/**
* 设置 增加 更新用户
* @param updateUserIdIncrement
*/
public RoomDeviceQuery updateUserIdIncrement(Long updateUserIdIncrement){
this.updateUserIdIncrement = updateUserIdIncrement;
return this;
}
/**
* 设置 更新用户
* @param updateUserIdList
*/
public RoomDeviceQuery updateUserIdList(List<Long> updateUserIdList){
this.updateUserIdList = updateUserIdList;
return this;
}
/**
* 设置 更新用户
* @param updateUserIdNotList
*/
public RoomDeviceQuery updateUserIdNotList(List<Long> updateUserIdNotList){
this.updateUserIdNotList = updateUserIdNotList;
return this;
}
/**
* 获取 OR条件集合,列表项之间是OR,项内容之间是AND,如:(list[0].1 and list[0].2) or (list[1].3 and list[1].4)
* @return orConditionList
*/
public List<RoomDeviceQuery> getOrConditionList(){
return this.orConditionList;
}
/**
* 设置 OR条件集合,列表项之间是OR,项内容之间是AND,如:(list[0].1 and list[0].2) or (list[1].3 and list[1].4)
* @param orConditionList
*/
public void setOrConditionList(List<RoomDeviceQuery> orConditionList){
this.orConditionList = orConditionList;
}
/**
* 获取 AND条件集合,列表项之间是AND,项内容之间是OR,如:(list[0].1 or list[0].2) and (list[1].3 or list[1].4)
* @return andConditionList
*/
public List<RoomDeviceQuery> getAndConditionList(){
return this.andConditionList;
}
/**
* 设置 AND条件集合,列表项之间是AND,项内容之间是OR,如:(list[0].1 or list[0].2) and (list[1].3 or list[1].4)
* @param andConditionList
*/
public void setAndConditionList(List<RoomDeviceQuery> andConditionList){
this.andConditionList = andConditionList;
}
}
\ No newline at end of file
package com.mortals.xhx.module.room.model;
import java.util.List;
import java.util.List;
import java.util.ArrayList;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.mortals.framework.annotation.Excel;
import com.mortals.framework.model.BaseEntityLong;
import com.mortals.xhx.module.room.model.vo.RoomVo;
import com.mortals.xhx.module.room.model.RoomDeviceEntity;
import lombok.Data;
/**
* 房间管理实体对象
*
* @author zxfei
* @date 2023-05-25
* @date 2023-05-29
*/
@Data
public class RoomEntity extends RoomVo {
......@@ -51,12 +50,21 @@ public class RoomEntity extends RoomVo {
* 绑定的设备编码
*/
private String deviceCode;
/**
* 房间设备信息信息
*/
private List<RoomDeviceEntity> roomDeviceList=new ArrayList<>();;
public List<RoomDeviceEntity> getRoomDeviceList(){
return roomDeviceList;
}
public void setRoomDeviceList(List<RoomDeviceEntity> roomDeviceList){
this.roomDeviceList = roomDeviceList;
}
@Override
public int hashCode() {
return this.getId().hashCode();
}
@Override
public boolean equals(Object obj) {
if (obj == null) return false;
......@@ -69,7 +77,7 @@ public class RoomEntity extends RoomVo {
return false;
}
public void initAttrValue() {
public void initAttrValue(){
this.roomName = "";
......@@ -77,10 +85,9 @@ public class RoomEntity extends RoomVo {
this.roomType = 0;
this.deviceId = null;
this.deviceId = -1L;
this.deviceName = "";
this.deviceCode = "";
this.countPerson = 0L;
......
package com.mortals.xhx.module.room.model;
import java.util.List;
import java.util.List;
import com.mortals.xhx.module.room.model.RoomEntity;
/**
* 房间管理查询对象
*
* @author zxfei
* @date 2023-05-25
* @date 2023-05-29
*/
public class RoomQuery extends RoomEntity {
/** 开始 主键ID,主键,自增长 */
......
package com.mortals.xhx.module.room.model.vo;
import com.mortals.framework.model.BaseEntityLong;
import com.mortals.xhx.module.room.model.RoomDeviceEntity;
import java.util.ArrayList;
import java.util.List;
import lombok.Data;
import com.mortals.framework.annotation.Excel;
import java.math.BigDecimal;
import java.util.Date;
/**
* 房间设备信息视图对象
*
* @author zxfei
* @date 2023-05-29
*/
@Data
public class RoomDeviceVo extends BaseEntityLong {
/**
* 房间名称
*/
@Excel(name = "房间名称")
private String roomName;
/**
* 设备编码
*/
@Excel(name = "设备编码")
private String deviceCode;
/**
* 设备名称
*/
@Excel(name = "设备名称")
private String deviceName;
}
\ No newline at end of file
......@@ -22,5 +22,9 @@ public class RoomVo extends BaseEntityLong {
@Excel(name = "房间名称")
private String roomName;
private List<Long> deviceIdList;
private List<String> deviceCodeList;
}
\ No newline at end of file
package com.mortals.xhx.module.room.service;
import com.mortals.framework.service.ICRUDService;
import com.mortals.xhx.module.room.model.RoomDeviceEntity;
import com.mortals.xhx.module.room.dao.RoomDeviceDao;
/**
* RoomDeviceService
*
* 房间设备信息 service接口
*
* @author zxfei
* @date 2023-05-29
*/
public interface RoomDeviceService extends ICRUDService<RoomDeviceEntity,Long>{
RoomDeviceDao getDao();
}
\ No newline at end of file
package com.mortals.xhx.module.room.service.impl;
import org.springframework.stereotype.Service;
import com.mortals.framework.service.impl.AbstractCRUDServiceImpl;
import com.mortals.framework.exception.AppException;
import com.mortals.framework.model.Context;
import com.mortals.xhx.module.room.dao.RoomDeviceDao;
import com.mortals.xhx.module.room.model.RoomDeviceEntity;
import com.mortals.xhx.module.room.service.RoomDeviceService;
import lombok.extern.slf4j.Slf4j;
/**
* RoomDeviceService
* 房间设备信息 service实现
*
* @author zxfei
* @date 2023-05-29
*/
@Service("roomDeviceService")
@Slf4j
public class RoomDeviceServiceImpl extends AbstractCRUDServiceImpl<RoomDeviceDao, RoomDeviceEntity, Long> implements RoomDeviceService {
}
\ No newline at end of file
package com.mortals.xhx.module.room.service.impl;
import com.mortals.xhx.module.device.model.DeviceEntity;
import com.mortals.xhx.module.device.model.DeviceQuery;
import com.mortals.xhx.module.device.service.DeviceService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.mortals.framework.service.impl.AbstractCRUDServiceImpl;
import com.mortals.framework.exception.AppException;
......@@ -9,33 +10,89 @@ import com.mortals.framework.model.Context;
import com.mortals.xhx.module.room.dao.RoomDao;
import com.mortals.xhx.module.room.model.RoomEntity;
import com.mortals.xhx.module.room.service.RoomService;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import com.mortals.xhx.module.room.model.RoomDeviceEntity;
import com.mortals.xhx.module.room.model.RoomDeviceQuery;
import com.mortals.xhx.module.room.service.RoomDeviceService;
import org.springframework.util.ObjectUtils;
import java.util.Date;
import java.util.Arrays;
import java.util.List;
import java.util.stream.Collectors;
import lombok.extern.slf4j.Slf4j;
/**
* RoomService
* 房间管理 service实现
*
* @author zxfei
* @date 2023-05-22
*/
* RoomService
* 房间管理 service实现
*
* @author zxfei
* @date 2023-05-29
*/
@Service("roomService")
@Slf4j
public class RoomServiceImpl extends AbstractCRUDServiceImpl<RoomDao, RoomEntity, Long> implements RoomService {
@Autowired
private RoomDeviceService roomDeviceService;
@Autowired
private DeviceService deviceService;
@Override
protected void saveAfter(RoomEntity entity, Context context) throws AppException {
if (!ObjectUtils.isEmpty(entity.getRoomDeviceList())) {
entity.getRoomDeviceList().stream().peek(item -> {
item.setRoomId(entity.getId());
item.setRoomName(entity.getRoomName());
DeviceEntity deviceCache = deviceService.getCache(item.getDeviceId().toString());
item.setDeviceId(item.getDeviceId());
item.setDeviceCode(deviceCache == null ? "" : deviceCache.getDeviceCode());
item.setDeviceName(deviceCache == null ? "" : deviceCache.getDeviceName());
item.setCreateUserId(this.getContextUserId(context));
item.setCreateTime(new Date());
}).count();
roomDeviceService.save(entity.getRoomDeviceList());
}
super.saveAfter(entity, context);
}
@Override
protected void validData(RoomEntity entity, Context context) throws AppException {
super.validData(entity, context);
if(!ObjectUtils.isEmpty(entity.getDeviceId())){
DeviceEntity deviceEntity = deviceService.get(entity.getDeviceId(), context);
if(!ObjectUtils.isEmpty(deviceEntity)){
entity.setDeviceCode(deviceEntity.getDeviceCode());
entity.setDeviceName(deviceEntity.getDeviceName());
}
protected void updateAfter(RoomEntity entity, Context context) throws AppException {
if (!ObjectUtils.isEmpty(entity.getRoomDeviceList())) {
List<Long> deviceIdList = entity.getRoomDeviceList().stream().map(i -> i.getDeviceId()).collect(Collectors.toList());
RoomDeviceQuery roomDeviceQuery = new RoomDeviceQuery();
roomDeviceQuery.setDeviceIdList(deviceIdList);
Long[] roomDeviceIds = roomDeviceService.find(roomDeviceQuery).stream().map(RoomDeviceEntity::getId).toArray(Long[]::new);
roomDeviceService.remove(roomDeviceIds, context);
roomDeviceIds = roomDeviceService.find(new RoomDeviceQuery().roomId(entity.getId())).stream().map(RoomDeviceEntity::getId).toArray(Long[]::new);
roomDeviceService.remove(roomDeviceIds, context);
entity.getRoomDeviceList().stream().peek(item -> {
item.setRoomId(entity.getId());
item.setRoomName(entity.getRoomName());
DeviceEntity deviceCache = deviceService.getCache(item.getDeviceId().toString());
item.setDeviceId(item.getDeviceId());
item.setDeviceCode(deviceCache == null ? "" : deviceCache.getDeviceCode());
item.setDeviceName(deviceCache == null ? "" : deviceCache.getDeviceName());
item.setCreateUserId(this.getContextUserId(context));
item.setCreateTime(new Date());
item.setUpdateUserId(this.getContextUserId(context));
item.setUpdateTime(new Date());
}).count();
roomDeviceService.save(entity.getRoomDeviceList());
}
super.updateAfter(entity, context);
}
@Override
protected void removeAfter(Long[] ids, Context context, int result) throws AppException {
List<RoomDeviceEntity> roomDevicelist = roomDeviceService.find(new RoomDeviceQuery().roomIdList(Arrays.asList(ids)));
roomDeviceService.removeList(roomDevicelist, context);
super.removeAfter(ids, context, result);
}
}
\ No newline at end of file
......@@ -6,7 +6,9 @@ import com.mortals.xhx.common.code.DeviceTypeEnum;
import com.mortals.xhx.module.device.model.DeviceEntity;
import com.mortals.xhx.module.device.model.DeviceQuery;
import com.mortals.xhx.module.device.service.DeviceService;
import com.mortals.xhx.module.room.model.RoomDeviceQuery;
import com.mortals.xhx.module.room.model.RoomQuery;
import com.mortals.xhx.module.room.service.RoomDeviceService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.util.ObjectUtils;
import org.springframework.web.bind.annotation.RequestMapping;
......@@ -42,6 +44,8 @@ public class RoomController extends BaseCRUDJsonBodyMappingController<RoomServic
private ParamService paramService;
@Autowired
private DeviceService deviceService;
@Autowired
private RoomDeviceService roomDeviceService;
public RoomController(){
......@@ -52,18 +56,20 @@ public class RoomController extends BaseCRUDJsonBodyMappingController<RoomServic
protected void init(Map<String, Object> model, Context context) {
this.addDict(model, "roomType", paramService.getParamBySecondOrganize("Room","roomType"));
this.addDict(model, "device", deviceService.find(new DeviceQuery()));
Set<Long> deviceLedSet = this.service.find(new RoomQuery()).stream().filter(f -> f.getDeviceId() != null).map(item -> item.getDeviceId()).collect(Collectors.toSet());
Set<Long> deviceLedSet =roomDeviceService.find(new RoomDeviceQuery()).stream().filter(f -> f.getDeviceId() != null).map(item -> item.getDeviceId()).collect(Collectors.toSet());
// Set<Long> deviceLedSet = this.service.find(new RoomQuery()).stream().filter(f -> f.getDeviceId() != null).map(item -> item.getDeviceId()).collect(Collectors.toSet());
Map<String, String> ledMap = deviceService.find(new DeviceQuery()).stream().filter(f -> !deviceLedSet.contains(f.getId()))
.collect(Collectors.toMap(x -> x.getId().toString(), y -> y.getDeviceName(), (o, n) -> n));
RoomEntity roomEntity = (RoomEntity) model.get(KEY_RESULT_ENTITY);
if (!ObjectUtils.isEmpty(roomEntity)) {
if (roomEntity.getDeviceId() != null) {
//关联led大屏设备 排除已经存在的设备
ledMap.put(roomEntity.getDeviceId().toString(), roomEntity.getDeviceName());
}
if (!ObjectUtils.isEmpty(roomEntity)&&!roomEntity.newEntity()) {
ledMap = deviceService.find(new DeviceQuery()).stream()
.collect(Collectors.toMap(x -> x.getId().toString(), y -> y.getDeviceName(), (o, n) -> n));
}
this.addDict(model, "deviceId", ledMap);
this.addDict(model, "deviceIds", ledMap);
super.init(model, context);
}
......
package com.mortals.xhx.module.room.web;
import com.mortals.framework.web.BaseCRUDJsonBodyMappingController;
import com.mortals.xhx.base.system.param.service.ParamService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.bind.annotation.*;
import com.mortals.framework.model.Context;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import com.mortals.framework.web.BaseCRUDJsonBodyMappingController;
import com.mortals.xhx.module.room.model.RoomDeviceEntity;
import com.mortals.xhx.module.room.service.RoomDeviceService;
import org.apache.commons.lang3.ArrayUtils;
import com.mortals.framework.util.StringUtils;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
import com.alibaba.fastjson.JSONObject;
import java.util.Arrays;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;
import static com.mortals.framework.ap.SysConstains.*;
/**
*
* 房间设备信息
*
* @author zxfei
* @date 2023-05-29
*/
@RestController
@RequestMapping("room/device")
public class RoomDeviceController extends BaseCRUDJsonBodyMappingController<RoomDeviceService,RoomDeviceEntity,Long> {
@Autowired
private ParamService paramService;
public RoomDeviceController(){
super.setModuleDesc( "房间设备信息");
}
@Override
protected void init(Map<String, Object> model, Context context) {
super.init(model, context);
}
}
\ No newline at end of file
......@@ -10,8 +10,11 @@ import com.mortals.xhx.feign.device.IDeviceMessageFeign;
import com.mortals.xhx.module.basic.model.BasicStatusQuery;
import com.mortals.xhx.module.basic.service.BasicStatusService;
import com.mortals.xhx.module.device.model.DeviceEntity;
import com.mortals.xhx.module.room.model.RoomDeviceEntity;
import com.mortals.xhx.module.room.model.RoomDeviceQuery;
import com.mortals.xhx.module.room.model.RoomEntity;
import com.mortals.xhx.module.room.model.RoomQuery;
import com.mortals.xhx.module.room.service.RoomDeviceService;
import com.mortals.xhx.module.room.service.RoomService;
import com.mortals.xhx.module.workman.model.WorkmanQuery;
import lombok.extern.slf4j.Slf4j;
......@@ -57,6 +60,8 @@ public class WorkmanController extends BaseCRUDJsonBodyMappingController<Workman
private RoomService roomService;
@Autowired
private BasicStatusService statusService;
@Autowired
private RoomDeviceService roomDeviceService;
public WorkmanController() {
......@@ -78,7 +83,7 @@ public class WorkmanController extends BaseCRUDJsonBodyMappingController<Workman
if (!ObjectUtils.isEmpty(query.getDeviceCode())) {
//根据设备编码 查询房间room
RoomEntity roomEntity = roomService.selectOne(new RoomQuery().deviceCode(query.getDeviceCode()));
RoomDeviceEntity roomEntity = roomDeviceService.selectOne(new RoomDeviceQuery().deviceCode(query.getDeviceCode()));
if (!ObjectUtils.isEmpty(roomEntity)) {
query.setRoomId(roomEntity.getId());
}else{
......
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"mybatis-3-mapper.dtd">
<mapper namespace="com.mortals.xhx.module.room.dao.ibatis.RoomDeviceDaoImpl">
<!-- 字段和属性映射 -->
<resultMap type="RoomDeviceEntity" id="RoomDeviceEntity-Map">
<id property="id" column="id" />
<result property="roomId" column="roomId" />
<result property="roomName" column="roomName" />
<result property="deviceId" column="deviceId" />
<result property="deviceCode" column="deviceCode" />
<result property="deviceName" column="deviceName" />
<result property="remark" column="remark" />
<result property="createUserId" column="createUserId" />
<result property="createTime" column="createTime" />
<result property="updateUserId" column="updateUserId" />
<result property="updateTime" column="updateTime" />
</resultMap>
<!-- 表所有列 -->
<sql id="_columns">
<trim suffixOverrides="," suffix="">
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('id') or colPickMode == 1 and data.containsKey('id')))">
a.id,
</if>
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('roomId') or colPickMode == 1 and data.containsKey('roomId')))">
a.roomId,
</if>
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('roomName') or colPickMode == 1 and data.containsKey('roomName')))">
a.roomName,
</if>
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('deviceId') or colPickMode == 1 and data.containsKey('deviceId')))">
a.deviceId,
</if>
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('deviceCode') or colPickMode == 1 and data.containsKey('deviceCode')))">
a.deviceCode,
</if>
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('deviceName') or colPickMode == 1 and data.containsKey('deviceName')))">
a.deviceName,
</if>
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('remark') or colPickMode == 1 and data.containsKey('remark')))">
a.remark,
</if>
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('createUserId') or colPickMode == 1 and data.containsKey('createUserId')))">
a.createUserId,
</if>
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('createTime') or colPickMode == 1 and data.containsKey('createTime')))">
a.createTime,
</if>
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('updateUserId') or colPickMode == 1 and data.containsKey('updateUserId')))">
a.updateUserId,
</if>
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('updateTime') or colPickMode == 1 and data.containsKey('updateTime')))">
a.updateTime,
</if>
</trim>
</sql>
<!-- 新增 区分主键自增加还是业务插入 -->
<insert id="insert" parameterType="RoomDeviceEntity" useGeneratedKeys="true" keyProperty="id">
insert into mortals_xhx_room_device
(roomId,roomName,deviceId,deviceCode,deviceName,remark,createUserId,createTime,updateUserId,updateTime)
VALUES
(#{roomId},#{roomName},#{deviceId},#{deviceCode},#{deviceName},#{remark},#{createUserId},#{createTime},#{updateUserId},#{updateTime})
</insert>
<!-- 批量新增 -->
<insert id="insertBatch" parameterType="paramDto">
insert into mortals_xhx_room_device
(roomId,roomName,deviceId,deviceCode,deviceName,remark,createUserId,createTime,updateUserId,updateTime)
VALUES
<foreach collection="data.dataList" item="item" index="index" separator="," >
(#{item.roomId},#{item.roomName},#{item.deviceId},#{item.deviceCode},#{item.deviceName},#{item.remark},#{item.createUserId},#{item.createTime},#{item.updateUserId},#{item.updateTime})
</foreach>
</insert>
<!-- 根据ParamDto更新 -->
<update id="update" parameterType="paramDto">
update mortals_xhx_room_device as a
set
<trim suffixOverrides="," suffix="">
<if test="(colPickMode==0 and data.containsKey('roomId')) or (colPickMode==1 and !data.containsKey('roomId'))">
a.roomId=#{data.roomId},
</if>
<if test="(colPickMode==0 and data.containsKey('roomIdIncrement')) or (colPickMode==1 and !data.containsKey('roomIdIncrement'))">
a.roomId=ifnull(a.roomId,0) + #{data.roomIdIncrement},
</if>
<if test="(colPickMode==0 and data.containsKey('roomName')) or (colPickMode==1 and !data.containsKey('roomName'))">
a.roomName=#{data.roomName},
</if>
<if test="(colPickMode==0 and data.containsKey('deviceId')) or (colPickMode==1 and !data.containsKey('deviceId'))">
a.deviceId=#{data.deviceId},
</if>
<if test="(colPickMode==0 and data.containsKey('deviceIdIncrement')) or (colPickMode==1 and !data.containsKey('deviceIdIncrement'))">
a.deviceId=ifnull(a.deviceId,0) + #{data.deviceIdIncrement},
</if>
<if test="(colPickMode==0 and data.containsKey('deviceCode')) or (colPickMode==1 and !data.containsKey('deviceCode'))">
a.deviceCode=#{data.deviceCode},
</if>
<if test="(colPickMode==0 and data.containsKey('deviceName')) or (colPickMode==1 and !data.containsKey('deviceName'))">
a.deviceName=#{data.deviceName},
</if>
<if test="(colPickMode==0 and data.containsKey('remark')) or (colPickMode==1 and !data.containsKey('remark'))">
a.remark=#{data.remark},
</if>
<if test="(colPickMode==0 and data.containsKey('createUserId')) or (colPickMode==1 and !data.containsKey('createUserId'))">
a.createUserId=#{data.createUserId},
</if>
<if test="(colPickMode==0 and data.containsKey('createUserIdIncrement')) or (colPickMode==1 and !data.containsKey('createUserIdIncrement'))">
a.createUserId=ifnull(a.createUserId,0) + #{data.createUserIdIncrement},
</if>
<if test="(colPickMode==0 and data.containsKey('createTime')) or (colPickMode==1 and !data.containsKey('createTime'))">
a.createTime=#{data.createTime},
</if>
<if test="(colPickMode==0 and data.containsKey('updateUserId')) or (colPickMode==1 and !data.containsKey('updateUserId'))">
a.updateUserId=#{data.updateUserId},
</if>
<if test="(colPickMode==0 and data.containsKey('updateUserIdIncrement')) or (colPickMode==1 and !data.containsKey('updateUserIdIncrement'))">
a.updateUserId=ifnull(a.updateUserId,0) + #{data.updateUserIdIncrement},
</if>
<if test="(colPickMode==0 and data.containsKey('updateTime')) or (colPickMode==1 and !data.containsKey('updateTime'))">
a.updateTime=#{data.updateTime},
</if>
</trim>
<trim suffixOverrides="where" suffix="">
where
<trim prefixOverrides="and" prefix="">
<include refid="_condition_"/>
</trim>
</trim>
</update>
<!-- 批量更新 -->
<update id="updateBatch" parameterType="paramDto">
update mortals_xhx_room_device as a
<trim prefix="set" suffixOverrides=",">
<trim prefix="roomId=(case" suffix="ELSE roomId end),">
<foreach collection="data.dataList" item="item" index="index" separator="" >
<choose>
<when test="(colPickMode==0 and item.containsKey('roomId')) or (colPickMode==1 and !item.containsKey('roomId'))">
when a.id=#{item.id} then #{item.roomId}
</when>
<when test="(colPickMode==0 and item.containsKey('roomIdIncrement')) or (colPickMode==1 and !item.containsKey('roomIdIncrement'))">
when a.id=#{item.id} then ifnull(a.roomId,0) + #{item.roomIdIncrement}
</when>
</choose>
</foreach>
</trim>
<trim prefix="roomName=(case" suffix="ELSE roomName end),">
<foreach collection="data.dataList" item="item" index="index" separator="" >
<if test="(colPickMode==0 and item.containsKey('roomName')) or (colPickMode==1 and !item.containsKey('roomName'))">
when a.id=#{item.id} then #{item.roomName}
</if>
</foreach>
</trim>
<trim prefix="deviceId=(case" suffix="ELSE deviceId end),">
<foreach collection="data.dataList" item="item" index="index" separator="" >
<choose>
<when test="(colPickMode==0 and item.containsKey('deviceId')) or (colPickMode==1 and !item.containsKey('deviceId'))">
when a.id=#{item.id} then #{item.deviceId}
</when>
<when test="(colPickMode==0 and item.containsKey('deviceIdIncrement')) or (colPickMode==1 and !item.containsKey('deviceIdIncrement'))">
when a.id=#{item.id} then ifnull(a.deviceId,0) + #{item.deviceIdIncrement}
</when>
</choose>
</foreach>
</trim>
<trim prefix="deviceCode=(case" suffix="ELSE deviceCode end),">
<foreach collection="data.dataList" item="item" index="index" separator="" >
<if test="(colPickMode==0 and item.containsKey('deviceCode')) or (colPickMode==1 and !item.containsKey('deviceCode'))">
when a.id=#{item.id} then #{item.deviceCode}
</if>
</foreach>
</trim>
<trim prefix="deviceName=(case" suffix="ELSE deviceName end),">
<foreach collection="data.dataList" item="item" index="index" separator="" >
<if test="(colPickMode==0 and item.containsKey('deviceName')) or (colPickMode==1 and !item.containsKey('deviceName'))">
when a.id=#{item.id} then #{item.deviceName}
</if>
</foreach>
</trim>
<trim prefix="remark=(case" suffix="ELSE remark end),">
<foreach collection="data.dataList" item="item" index="index" separator="" >
<if test="(colPickMode==0 and item.containsKey('remark')) or (colPickMode==1 and !item.containsKey('remark'))">
when a.id=#{item.id} then #{item.remark}
</if>
</foreach>
</trim>
<trim prefix="createUserId=(case" suffix="ELSE createUserId end),">
<foreach collection="data.dataList" item="item" index="index" separator="" >
<choose>
<when test="(colPickMode==0 and item.containsKey('createUserId')) or (colPickMode==1 and !item.containsKey('createUserId'))">
when a.id=#{item.id} then #{item.createUserId}
</when>
<when test="(colPickMode==0 and item.containsKey('createUserIdIncrement')) or (colPickMode==1 and !item.containsKey('createUserIdIncrement'))">
when a.id=#{item.id} then ifnull(a.createUserId,0) + #{item.createUserIdIncrement}
</when>
</choose>
</foreach>
</trim>
<trim prefix="createTime=(case" suffix="ELSE createTime end),">
<foreach collection="data.dataList" item="item" index="index" separator="" >
<if test="(colPickMode==0 and item.containsKey('createTime')) or (colPickMode==1 and !item.containsKey('createTime'))">
when a.id=#{item.id} then #{item.createTime}
</if>
</foreach>
</trim>
<trim prefix="updateUserId=(case" suffix="ELSE updateUserId end),">
<foreach collection="data.dataList" item="item" index="index" separator="" >
<choose>
<when test="(colPickMode==0 and item.containsKey('updateUserId')) or (colPickMode==1 and !item.containsKey('updateUserId'))">
when a.id=#{item.id} then #{item.updateUserId}
</when>
<when test="(colPickMode==0 and item.containsKey('updateUserIdIncrement')) or (colPickMode==1 and !item.containsKey('updateUserIdIncrement'))">
when a.id=#{item.id} then ifnull(a.updateUserId,0) + #{item.updateUserIdIncrement}
</when>
</choose>
</foreach>
</trim>
<trim prefix="updateTime=(case" suffix="ELSE updateTime end),">
<foreach collection="data.dataList" item="item" index="index" separator="" >
<if test="(colPickMode==0 and item.containsKey('updateTime')) or (colPickMode==1 and !item.containsKey('updateTime'))">
when a.id=#{item.id} then #{item.updateTime}
</if>
</foreach>
</trim>
</trim>
where id in
<foreach collection="data.dataList" item="item" index="index" open="(" separator="," close=")">
#{item.id}
</foreach>
</update>
<!-- 根据主健查询 -->
<select id="getByKey" parameterType="paramDto" resultMap="RoomDeviceEntity-Map">
select <include refid="_columns"/>
from mortals_xhx_room_device as a
where a.id=#{condition.id}
</select>
<!-- 根据主健删除 -->
<delete id="deleteByKey" parameterType="paramDto">
delete a.* from mortals_xhx_room_device as a where a.id=#{condition.id}
</delete>
<!-- 根据主健删除一批,针对单一主健有效 -->
<delete id="deleteByKeys">
delete from mortals_xhx_room_device where id in
<foreach collection="array" item="item" index="index" open="(" separator="," close=")">
#{item}
</foreach>
</delete>
<!-- 根据主健列表删除一批,针对单一主健有效 -->
<delete id="deleteByKeyList">
delete from mortals_xhx_room_device where id in
<foreach collection="list" item="item" index="index" open="(" separator="," close=")">
#{item}
</foreach>
</delete>
<!-- 根据对象列表删除一批,针对单一主健有效 -->
<delete id="deleteByEntityList">
delete from mortals_xhx_room_device where id in
<foreach collection="list" item="item" index="index" open="(" separator="," close=")">
#{item.id}
</foreach>
</delete>
<!-- 根据paramDto删除一批 -->
<delete id="deleteByMap" parameterType="paramDto">
delete a.* from mortals_xhx_room_device as a
<trim suffixOverrides="where" suffix="">
where
<trim prefixOverrides="and" prefix="">
<include refid="_condition_"/>
</trim>
</trim>
</delete>
<!-- 获取列表 -->
<select id="getList" parameterType="paramDto" resultMap="RoomDeviceEntity-Map">
select <include refid="_columns"/>
from mortals_xhx_room_device as a
<trim suffixOverrides="where" suffix="">
where
<trim prefixOverrides="and" prefix="">
<include refid="_condition_"/>
</trim>
</trim>
<include refid="_orderCols_"/>
</select>
<!-- 获取 -->
<select id="getListCount" parameterType="paramDto" resultType="int">
select count(1)
from mortals_xhx_room_device as a
<trim suffixOverrides="where" suffix="">
where
<trim prefixOverrides="and" prefix="">
<include refid="_condition_"/>
</trim>
</trim>
</select>
<!-- 条件映射 -->
<sql id="_condition_">
<if test="condition != null and !condition.isEmpty()">
<!-- 条件映射-普通条件 -->
<include refid="_condition_param_">
<property name="_conditionParam_" value="condition"/>
<property name="_conditionType_" value="and"/>
</include>
<!-- 条件映射-集合之间使用AND,集合中元素使用OR-(list[0].1 or list[0].2) and (list[1].3 or list[1].4) -->
<if test="condition.containsKey('andConditionList') and !condition.andConditionList.isEmpty()">
and
<foreach collection="condition.andConditionList" open="(" close=")" index="index" item="andCondition" separator=" and ">
<trim prefixOverrides="or" prefix="(" suffix=")">
<include refid="_condition_param_">
<property name="_conditionParam_" value="andCondition"/>
<property name="_conditionType_" value="or"/>
</include>
</trim>
</foreach>
</if>
<!-- 条件映射-集合之间使用OR,集合中元素使用AND-(list[0].1 and list[0].2) or (list[1].3 and list[1].4) -->
<if test="condition.containsKey('orConditionList') and !condition.orConditionList.isEmpty()">
and
<foreach collection="condition.orConditionList" open="(" close=")" index="index" item="orCondition" separator=" or ">
<trim prefixOverrides="and" prefix="(" suffix=")">
<include refid="_condition_param_">
<property name="_conditionParam_" value="orCondition"/>
<property name="_conditionType_" value="and"/>
</include>
</trim>
</foreach>
</if>
</if>
</sql>
<!-- 条件映射-代参数 -->
<sql id="_condition_param_">
<bind name="conditionParamRef" value="${_conditionParam_}"/>
<if test="conditionParamRef.containsKey('id')">
<if test="conditionParamRef.id != null">
${_conditionType_} a.id=#{${_conditionParam_}.id}
</if>
</if>
<if test="conditionParamRef.containsKey('id')">
<if test="conditionParamRef.id != null ">
${_conditionType_} a.id = #{${_conditionParam_}.id}
</if>
<if test="conditionParamRef.id == null">
${_conditionType_} a.id is null
</if>
</if>
<if test="conditionParamRef.containsKey('idList') and conditionParamRef.idList.size() > 0">
${_conditionType_} a.id in
<foreach collection="conditionParamRef.idList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="conditionParamRef.containsKey('idNotList') and conditionParamRef.idNotList.size() > 0">
${_conditionType_} a.id not in
<foreach collection="conditionParamRef.idNotList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="conditionParamRef.containsKey('idStart') and conditionParamRef.idStart != null">
${_conditionType_} a.id <![CDATA[ >= ]]> #{${_conditionParam_}.idStart}
</if>
<if test="conditionParamRef.containsKey('idEnd') and conditionParamRef.idEnd != null">
${_conditionType_} a.id <![CDATA[ <= ]]> #{${_conditionParam_}.idEnd}
</if>
<if test="conditionParamRef.containsKey('roomId')">
<if test="conditionParamRef.roomId != null ">
${_conditionType_} a.roomId = #{${_conditionParam_}.roomId}
</if>
<if test="conditionParamRef.roomId == null">
${_conditionType_} a.roomId is null
</if>
</if>
<if test="conditionParamRef.containsKey('roomIdList') and conditionParamRef.roomIdList.size() > 0">
${_conditionType_} a.roomId in
<foreach collection="conditionParamRef.roomIdList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="conditionParamRef.containsKey('roomIdNotList') and conditionParamRef.roomIdNotList.size() > 0">
${_conditionType_} a.roomId not in
<foreach collection="conditionParamRef.roomIdNotList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="conditionParamRef.containsKey('roomIdStart') and conditionParamRef.roomIdStart != null">
${_conditionType_} a.roomId <![CDATA[ >= ]]> #{${_conditionParam_}.roomIdStart}
</if>
<if test="conditionParamRef.containsKey('roomIdEnd') and conditionParamRef.roomIdEnd != null">
${_conditionType_} a.roomId <![CDATA[ <= ]]> #{${_conditionParam_}.roomIdEnd}
</if>
<if test="conditionParamRef.containsKey('roomName')">
<if test="conditionParamRef.roomName != null and conditionParamRef.roomName != ''">
${_conditionType_} a.roomName like #{${_conditionParam_}.roomName}
</if>
<if test="conditionParamRef.roomName == null">
${_conditionType_} a.roomName is null
</if>
</if>
<if test="conditionParamRef.containsKey('roomNameList') and conditionParamRef.roomNameList.size() > 0">
${_conditionType_} a.roomName in
<foreach collection="conditionParamRef.roomNameList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="conditionParamRef.containsKey('roomNameNotList') and conditionParamRef.roomNameNotList.size() > 0">
${_conditionType_} a.roomName not in
<foreach collection="conditionParamRef.roomNameNotList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="conditionParamRef.containsKey('deviceId')">
<if test="conditionParamRef.deviceId != null ">
${_conditionType_} a.deviceId = #{${_conditionParam_}.deviceId}
</if>
<if test="conditionParamRef.deviceId == null">
${_conditionType_} a.deviceId is null
</if>
</if>
<if test="conditionParamRef.containsKey('deviceIdList') and conditionParamRef.deviceIdList.size() > 0">
${_conditionType_} a.deviceId in
<foreach collection="conditionParamRef.deviceIdList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="conditionParamRef.containsKey('deviceIdNotList') and conditionParamRef.deviceIdNotList.size() > 0">
${_conditionType_} a.deviceId not in
<foreach collection="conditionParamRef.deviceIdNotList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="conditionParamRef.containsKey('deviceIdStart') and conditionParamRef.deviceIdStart != null">
${_conditionType_} a.deviceId <![CDATA[ >= ]]> #{${_conditionParam_}.deviceIdStart}
</if>
<if test="conditionParamRef.containsKey('deviceIdEnd') and conditionParamRef.deviceIdEnd != null">
${_conditionType_} a.deviceId <![CDATA[ <= ]]> #{${_conditionParam_}.deviceIdEnd}
</if>
<if test="conditionParamRef.containsKey('deviceCode')">
<if test="conditionParamRef.deviceCode != null and conditionParamRef.deviceCode != ''">
${_conditionType_} a.deviceCode like #{${_conditionParam_}.deviceCode}
</if>
<if test="conditionParamRef.deviceCode == null">
${_conditionType_} a.deviceCode is null
</if>
</if>
<if test="conditionParamRef.containsKey('deviceCodeList') and conditionParamRef.deviceCodeList.size() > 0">
${_conditionType_} a.deviceCode in
<foreach collection="conditionParamRef.deviceCodeList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="conditionParamRef.containsKey('deviceCodeNotList') and conditionParamRef.deviceCodeNotList.size() > 0">
${_conditionType_} a.deviceCode not in
<foreach collection="conditionParamRef.deviceCodeNotList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="conditionParamRef.containsKey('deviceName')">
<if test="conditionParamRef.deviceName != null and conditionParamRef.deviceName != ''">
${_conditionType_} a.deviceName like #{${_conditionParam_}.deviceName}
</if>
<if test="conditionParamRef.deviceName == null">
${_conditionType_} a.deviceName is null
</if>
</if>
<if test="conditionParamRef.containsKey('deviceNameList') and conditionParamRef.deviceNameList.size() > 0">
${_conditionType_} a.deviceName in
<foreach collection="conditionParamRef.deviceNameList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="conditionParamRef.containsKey('deviceNameNotList') and conditionParamRef.deviceNameNotList.size() > 0">
${_conditionType_} a.deviceName not in
<foreach collection="conditionParamRef.deviceNameNotList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="conditionParamRef.containsKey('remark')">
<if test="conditionParamRef.remark != null and conditionParamRef.remark != ''">
${_conditionType_} a.remark like #{${_conditionParam_}.remark}
</if>
<if test="conditionParamRef.remark == null">
${_conditionType_} a.remark is null
</if>
</if>
<if test="conditionParamRef.containsKey('remarkList') and conditionParamRef.remarkList.size() > 0">
${_conditionType_} a.remark in
<foreach collection="conditionParamRef.remarkList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="conditionParamRef.containsKey('remarkNotList') and conditionParamRef.remarkNotList.size() > 0">
${_conditionType_} a.remark not in
<foreach collection="conditionParamRef.remarkNotList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="conditionParamRef.containsKey('createUserId')">
<if test="conditionParamRef.createUserId != null ">
${_conditionType_} a.createUserId = #{${_conditionParam_}.createUserId}
</if>
<if test="conditionParamRef.createUserId == null">
${_conditionType_} a.createUserId is null
</if>
</if>
<if test="conditionParamRef.containsKey('createUserIdList') and conditionParamRef.createUserIdList.size() > 0">
${_conditionType_} a.createUserId in
<foreach collection="conditionParamRef.createUserIdList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="conditionParamRef.containsKey('createUserIdNotList') and conditionParamRef.createUserIdNotList.size() > 0">
${_conditionType_} a.createUserId not in
<foreach collection="conditionParamRef.createUserIdNotList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="conditionParamRef.containsKey('createUserIdStart') and conditionParamRef.createUserIdStart != null">
${_conditionType_} a.createUserId <![CDATA[ >= ]]> #{${_conditionParam_}.createUserIdStart}
</if>
<if test="conditionParamRef.containsKey('createUserIdEnd') and conditionParamRef.createUserIdEnd != null">
${_conditionType_} a.createUserId <![CDATA[ <= ]]> #{${_conditionParam_}.createUserIdEnd}
</if>
<if test="conditionParamRef.containsKey('createTime')">
<if test="conditionParamRef.createTime != null ">
${_conditionType_} a.createTime = #{${_conditionParam_}.createTime}
</if>
<if test="conditionParamRef.createTime == null">
${_conditionType_} a.createTime is null
</if>
</if>
<if test="conditionParamRef.containsKey('createTimeStart') and conditionParamRef.createTimeStart != null and conditionParamRef.createTimeStart!=''">
${_conditionType_} a.createTime <![CDATA[ >= ]]> STR_TO_DATE(left(concat(#{${_conditionParam_}.createTimeStart},' 00:00:00'),19),'%Y-%m-%d %k:%i:%s')
</if>
<if test="conditionParamRef.containsKey('createTimeEnd') and conditionParamRef.createTimeEnd != null and conditionParamRef.createTimeEnd!=''">
${_conditionType_} a.createTime <![CDATA[ <= ]]> STR_TO_DATE(left(concat(#{${_conditionParam_}.createTimeEnd},' 23:59:59'),19),'%Y-%m-%d %k:%i:%s')
</if>
<if test="conditionParamRef.containsKey('updateUserId')">
<if test="conditionParamRef.updateUserId != null ">
${_conditionType_} a.updateUserId = #{${_conditionParam_}.updateUserId}
</if>
<if test="conditionParamRef.updateUserId == null">
${_conditionType_} a.updateUserId is null
</if>
</if>
<if test="conditionParamRef.containsKey('updateUserIdList') and conditionParamRef.updateUserIdList.size() > 0">
${_conditionType_} a.updateUserId in
<foreach collection="conditionParamRef.updateUserIdList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="conditionParamRef.containsKey('updateUserIdNotList') and conditionParamRef.updateUserIdNotList.size() > 0">
${_conditionType_} a.updateUserId not in
<foreach collection="conditionParamRef.updateUserIdNotList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="conditionParamRef.containsKey('updateUserIdStart') and conditionParamRef.updateUserIdStart != null">
${_conditionType_} a.updateUserId <![CDATA[ >= ]]> #{${_conditionParam_}.updateUserIdStart}
</if>
<if test="conditionParamRef.containsKey('updateUserIdEnd') and conditionParamRef.updateUserIdEnd != null">
${_conditionType_} a.updateUserId <![CDATA[ <= ]]> #{${_conditionParam_}.updateUserIdEnd}
</if>
<if test="conditionParamRef.containsKey('updateTime')">
<if test="conditionParamRef.updateTime != null ">
${_conditionType_} a.updateTime = #{${_conditionParam_}.updateTime}
</if>
<if test="conditionParamRef.updateTime == null">
${_conditionType_} a.updateTime is null
</if>
</if>
<if test="conditionParamRef.containsKey('updateTimeStart') and conditionParamRef.updateTimeStart != null and conditionParamRef.updateTimeStart!=''">
${_conditionType_} a.updateTime <![CDATA[ >= ]]> STR_TO_DATE(left(concat(#{${_conditionParam_}.updateTimeStart},' 00:00:00'),19),'%Y-%m-%d %k:%i:%s')
</if>
<if test="conditionParamRef.containsKey('updateTimeEnd') and conditionParamRef.updateTimeEnd != null and conditionParamRef.updateTimeEnd!=''">
${_conditionType_} a.updateTime <![CDATA[ <= ]]> STR_TO_DATE(left(concat(#{${_conditionParam_}.updateTimeEnd},' 23:59:59'),19),'%Y-%m-%d %k:%i:%s')
</if>
</sql>
<sql id="_orderCols_">
<if test="orderColList != null and !orderColList.isEmpty()">
order by
<trim suffixOverrides="," suffix="">
<foreach collection="orderColList" open="" close="" index="index" item="item" separator=",">
${item.colName} ${item.sortKind}
</foreach>
</trim>
</if>
<if test="(orderColList == null or orderColList.isEmpty()) and orderCol != null and !orderCol.isEmpty()">
order by
<trim suffixOverrides="," suffix="">
<if test="orderCol.containsKey('id')">
a.id
<if test='orderCol.id != null and "DESC".equalsIgnoreCase(orderCol.id)'>DESC</if>
,
</if>
<if test="orderCol.containsKey('roomId')">
a.roomId
<if test='orderCol.roomId != null and "DESC".equalsIgnoreCase(orderCol.roomId)'>DESC</if>
,
</if>
<if test="orderCol.containsKey('roomName')">
a.roomName
<if test='orderCol.roomName != null and "DESC".equalsIgnoreCase(orderCol.roomName)'>DESC</if>
,
</if>
<if test="orderCol.containsKey('deviceId')">
a.deviceId
<if test='orderCol.deviceId != null and "DESC".equalsIgnoreCase(orderCol.deviceId)'>DESC</if>
,
</if>
<if test="orderCol.containsKey('deviceCode')">
a.deviceCode
<if test='orderCol.deviceCode != null and "DESC".equalsIgnoreCase(orderCol.deviceCode)'>DESC</if>
,
</if>
<if test="orderCol.containsKey('deviceName')">
a.deviceName
<if test='orderCol.deviceName != null and "DESC".equalsIgnoreCase(orderCol.deviceName)'>DESC</if>
,
</if>
<if test="orderCol.containsKey('remark')">
a.remark
<if test='orderCol.remark != null and "DESC".equalsIgnoreCase(orderCol.remark)'>DESC</if>
,
</if>
<if test="orderCol.containsKey('createUserId')">
a.createUserId
<if test='orderCol.createUserId != null and "DESC".equalsIgnoreCase(orderCol.createUserId)'>DESC</if>
,
</if>
<if test="orderCol.containsKey('createTime')">
a.createTime
<if test='orderCol.createTime != null and "DESC".equalsIgnoreCase(orderCol.createTime)'>DESC</if>
,
</if>
<if test="orderCol.containsKey('updateUserId')">
a.updateUserId
<if test='orderCol.updateUserId != null and "DESC".equalsIgnoreCase(orderCol.updateUserId)'>DESC</if>
,
</if>
<if test="orderCol.containsKey('updateTime')">
a.updateTime
<if test='orderCol.updateTime != null and "DESC".equalsIgnoreCase(orderCol.updateTime)'>DESC</if>
,
</if>
</trim>
</if>
</sql>
<sql id="_group_by_">
<if test="groupList != null and !groupList.isEmpty()">
GROUP BY
<trim suffixOverrides="," suffix="">
<foreach collection="groupList" open="" close="" index="index" item="item" separator=",">
${item}
</foreach>
</trim>
</if>
</sql>
</mapper>
\ No newline at end of file
......@@ -18,7 +18,20 @@
<result property="updateUserId" column="updateUserId" />
<result property="updateTime" column="updateTime" />
<result property="deviceCode" column="deviceCode" />
<collection property="roomDeviceList" column="id" ofType="RoomDeviceEntity" javaType="ArrayList" select="getRoomDeviceByRoomId"></collection>
</resultMap>
<resultMap type="RoomDeviceEntity" id="RoomDeviceEntity-Map">
<result property="id" column="id" />
<result property="roomId" column="roomId" />
<result property="roomName" column="roomName" />
<result property="deviceId" column="deviceId" />
<result property="deviceCode" column="deviceCode" />
<result property="deviceName" column="deviceName" />
<result property="remark" column="remark" />
<result property="createUserId" column="createUserId" />
<result property="createTime" column="createTime" />
<result property="updateUserId" column="updateUserId" />
<result property="updateTime" column="updateTime" />
</resultMap>
......@@ -66,6 +79,12 @@
</if>
</trim>
</sql>
<!-- 子表所有列 -->
<sql id="_columns_sub">
<trim suffixOverrides="," suffix="">
b.id,b.roomId,b.roomName,b.deviceId,b.deviceCode,b.deviceName,b.remark,b.createUserId,b.createTime,b.updateUserId,b.updateTime,
</trim>
</sql>
<!-- 新增 区分主键自增加还是业务插入 -->
<insert id="insert" parameterType="RoomEntity" useGeneratedKeys="true" keyProperty="id">
insert into mortals_xhx_room
......@@ -322,6 +341,14 @@
</trim>
<include refid="_orderCols_"/>
</select>
<!-- 获取子列表 -->
<select id="getRoomDeviceByRoomId" parameterType="java.lang.Long" resultMap="RoomDeviceEntity-Map">
select <include refid="_columns_sub"/>
from mortals_xhx_room_device as b
<trim suffixOverrides="where" suffix="">
where b.roomId = #{id}
</trim>
</select>
......
......@@ -14,5 +14,11 @@
"portal": {
"baseUrl": "http://192.168.0.98:11072/zwfw",
"baseLogin": "http://192.168.0.98:11078/base"
},
"yibin": {
"baseUrl": "http://10.12.185.213:11085/office"
},
"yibin-web": {
"baseUrl": "http://112.19.80.237:11085/office"
}
}
\ No newline at end of file
###登录
POST {{baseUrl}}/login/login
Content-Type: application/json
{
"loginName":"admin",
"password":"admin",
"securityCode":"8888"
}
> {%
client.global.set("SmsSet_id", JSON.parse(response.body).data.id);
client.global.set("authToken", JSON.parse(response.body).data.token);
%}
###房间设备信息列表
POST {{baseUrl}}/room/device/list
Authorization: {{authToken}}
Content-Type: application/json
{
"page":1,
"size":10
}
###房间设备信息更新与保存
POST {{baseUrl}}/room/device/save
Authorization: {{authToken}}
Content-Type: application/json
{
"roomId":853,
"roomName":"tqkgqw",
"deviceId":180,
"deviceCode":"t14kl7",
"deviceName":"i709re",
"remark":"rems5z",
}
> {%
client.global.set("RoomDevice_id", JSON.parse(response.body).data.id);
%}
###房间设备信息查看
GET {{baseUrl}}/room/device/info?id={{RoomDevice_id}}
Authorization: {{authToken}}
Accept: application/json
###房间设备信息编辑
GET {{baseUrl}}/room/device/edit?id={{RoomDevice_id}}
Authorization: {{authToken}}
Accept: application/json
###房间设备信息删除
GET {{baseUrl}}/room/device/delete?id={{RoomDevice_id}}
Authorization: {{authToken}}
Accept: application/json
......@@ -19,8 +19,7 @@ Content-Type: application/json
{
"page":1,
"size":10,
"deviceCode": "18-93-7f-b7-f9-4a"
"size":10
}
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment