bug修改

This commit is contained in:
guo 2023-08-01 15:33:17 +08:00
parent 3f3bf3e5a4
commit d41a8358d8
27 changed files with 190 additions and 156 deletions

View File

@ -41,28 +41,30 @@ public class BigDevicesMaintenanceRecordController {
*/
@ApiOperation(value = " 分页列表查询大型设备-维保记录表信息", notes = "分页列表查询大型设备-维保记录表信息", httpMethod="POST")
@ApiImplicitParams({
@ApiImplicitParam(name = "devSn", value = "设备编号", dataType = "String", paramType = "query", required = false),
@ApiImplicitParam(name = "devType", value = "设备类型1塔吊2升降机3龙门吊", paramType = "query", required = true, dataType = "String"),
@ApiImplicitParam(name = "projectSn", value = "项目SN", paramType = "query", required = true, dataType = "String"),
@ApiImplicitParam(name = "pageNo", value = "第几页", paramType = "query", required = true, dataType = "Integer"),
@ApiImplicitParam(name = "pageSize", value = "每页显示条数", paramType = "query", required = true, dataType = "Integer"),
@ApiImplicitParam(name = "maintenanceStartTime", value = "维保开始时间", paramType = "query", required = false, dataType = "String"),
@ApiImplicitParam(name = "maintenanceEndTime", value = "维保结束时间", paramType = "query", required = false, dataType = "String"),
@ApiImplicitParam(name = "devSn", value = "设备编号", dataType = "String", paramType = "body", required = false),
@ApiImplicitParam(name = "devType", value = "设备类型1塔吊2升降机3龙门吊", paramType = "body", required = true, dataType = "String"),
@ApiImplicitParam(name = "projectSn", value = "项目SN", paramType = "body", required = true, dataType = "String"),
@ApiImplicitParam(name = "pageNo", value = "第几页", paramType = "body", required = true, dataType = "Integer"),
@ApiImplicitParam(name = "pageSize", value = "每页显示条数", paramType = "body", required = true, dataType = "Integer"),
@ApiImplicitParam(name = "maintenanceStartTime", value = "维保开始时间", paramType = "body", required = false, dataType = "String"),
@ApiImplicitParam(name = "maintenanceEndTime", value = "维保结束时间", paramType = "body", required = false, dataType = "String"),
})
@PostMapping(value = "/list")
public Result<IPage<EntityMap>> queryPageList(@RequestBody Map<String,Object> map) {
Result<IPage<EntityMap>> result = new Result<IPage<EntityMap>>();
IPage<EntityMap> pageList = bigDevicesMaintenanceRecordService.queryBigDevicesMaintenanceRecordPageList(map);
public Result<IPage<BigDevicesMaintenanceRecord>> queryPageList(@RequestBody Map<String, Object> map) {
Result<IPage<BigDevicesMaintenanceRecord>> result = new Result<>();
IPage<BigDevicesMaintenanceRecord> pageList = bigDevicesMaintenanceRecordService.queryBigDevicesMaintenanceRecordPageList(map);
result.setSuccess(true);
result.setResult(pageList);
return result;
}
/**
* 添加
* @param bigDevicesMaintenanceRecord
* @return
*/
@OperLog(operModul = "设备维保管理",operType = "添加大型设备-维保记录",operDesc = "添加大型设备-维保记录表信息")
/**
* 添加
*
* @param bigDevicesMaintenanceRecord
* @return
*/
@OperLog(operModul = "设备维保管理", operType = "添加大型设备-维保记录", operDesc = "添加大型设备-维保记录表信息")
@ApiOperation(value = " 添加大型设备-维保记录表信息", notes = "添加大型设备-维保记录表信息" , httpMethod="POST")
@PostMapping(value = "/add")
public Result<BigDevicesMaintenanceRecord> add(@RequestBody BigDevicesMaintenanceRecord bigDevicesMaintenanceRecord) {

View File

@ -347,8 +347,8 @@ public class TowerAlarmController {
@ApiImplicitParams({
@ApiImplicitParam(name = "projectSn", value = "项目SN", paramType = "query", required = true, dataType = "String"),
@ApiImplicitParam(name = "devSn", value = "设备sn", paramType = "query", required = false, dataType = "String"),
@ApiImplicitParam(name = "queryStartTime", value = "查询开始时间格式2023-05-22 18:00:00", paramType = "query", required = true, dataType = "String"),
@ApiImplicitParam(name = "queryEndTime", value = "查询结束时间格式2023-05-22 18:00:00", paramType = "query", required = true, dataType = "String"),
@ApiImplicitParam(name = "queryStartTime", value = "查询开始时间格式2023-05-22", paramType = "query", required = true, dataType = "String"),
@ApiImplicitParam(name = "queryEndTime", value = "查询结束时间格式2023-05-22", paramType = "query", required = true, dataType = "String"),
})
@PostMapping(value = "/queryAlarmsDistinguishedNumberByAlarmType")
public Result<AlarmsDistinguishedNumberByAlarmType> queryAlarmsDistinguishedNumberByAlarmType(@RequestBody Map<String, Object> map) {

View File

@ -94,7 +94,7 @@ public class BigDeviceDriverRecord implements Serializable {
@ApiModelProperty(value = "工作年限")
@TableField(exist = false)
private java.lang.Integer workYear;
@ApiModelProperty(value = "本次连续工作时长(分钟")
@ApiModelProperty(value = "本次连续工作时长(")
@TableField(exist = false)
private java.lang.Integer continuousWorkingTime;
}

View File

@ -1,6 +1,7 @@
package com.zhgd.xmgl.modules.bigdevice.entity;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
@ -98,4 +99,6 @@ public class BigDevicesMaintenanceRecord implements Serializable {
@Excel(name = "描述,备注", width = 15)
@ApiModelProperty(value = "描述,备注")
private java.lang.String remark;
@TableField(exist = false)
private java.lang.String devName;
}

View File

@ -2,9 +2,7 @@ package com.zhgd.xmgl.modules.bigdevice.entity.vo;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
/**
* @author 邱平毅
@ -30,8 +28,10 @@ public class DriverVO {
private java.lang.Integer sex;
@ApiModelProperty(value = "年龄")
private java.lang.Integer age;
@ApiModelProperty(value = "本次连续工作时长(分钟")
@ApiModelProperty(value = "本次连续工作时长(")
private java.lang.Integer continuousWorkingTime;
@ApiModelProperty(value = "本次连续工作时长(时分秒)")
private String continuousWorkingTimeName;
@ApiModelProperty(value = "身份证号")
private java.lang.String idCard;
}

View File

@ -5,8 +5,10 @@ import lombok.Data;
@Data
public class TodayOperatingStatusStatisticsVo {
@ApiModelProperty(value = "工作时长(分钟")
@ApiModelProperty(value = "工作时长(")
private Integer workTime;
@ApiModelProperty(value = "工作时长(时分秒)")
private String workTimeName;
@ApiModelProperty(value = "装载次数")
private Integer loadingNum;
@ApiModelProperty(value = "装载工效(kg/min)")

View File

@ -19,9 +19,9 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
@Mapper
public interface BigDevicesMaintenanceRecordMapper extends BaseMapper<BigDevicesMaintenanceRecord> {
List<EntityMap> queryTowerMaintenanceRecordPageList(Page<EntityMap> page, @Param("param")Map<String, Object> map);
List<BigDevicesMaintenanceRecord> queryTowerMaintenanceRecordPageList(Page<BigDevicesMaintenanceRecord> page, @Param("param") Map<String, Object> map);
List<EntityMap> queryLifterMaintenanceRecordPageList(Page<EntityMap> page, @Param("param")Map<String, Object> map);
List<BigDevicesMaintenanceRecord> queryLifterMaintenanceRecordPageList(Page<BigDevicesMaintenanceRecord> page, @Param("param") Map<String, Object> map);
List<EntityMap> queryGantryCraneMaintenanceRecordPageList(Page<EntityMap> page, @Param("param")Map<String, Object> map);
List<BigDevicesMaintenanceRecord> queryGantryCraneMaintenanceRecordPageList(Page<BigDevicesMaintenanceRecord> page, @Param("param") Map<String, Object> map);
}

View File

@ -3,7 +3,7 @@
<mapper namespace="com.zhgd.xmgl.modules.bigdevice.mapper.BigDevicesMaintenanceRecordMapper">
<select id="queryTowerMaintenanceRecordPageList"
resultType="com.zhgd.jeecg.common.mybatis.EntityMap">
resultType="com.zhgd.xmgl.modules.bigdevice.entity.BigDevicesMaintenanceRecord">
SELECT a.*,b.dev_name
from big_devices_maintenance_record a LEFT JOIN tower b ON a.dev_sn=b.dev_sn
WHERE a.dev_type=1 and a.project_sn=#{param.projectSn}
@ -18,7 +18,7 @@
</if>
</select>
<select id="queryLifterMaintenanceRecordPageList"
resultType="com.zhgd.jeecg.common.mybatis.EntityMap">
resultType="com.zhgd.xmgl.modules.bigdevice.entity.BigDevicesMaintenanceRecord">
SELECT a.*,b.dev_name
from big_devices_maintenance_record a LEFT JOIN lifter b ON a.dev_sn=b.dev_sn
WHERE a.dev_type=2 and a.project_sn=#{param.projectSn}
@ -33,13 +33,12 @@
</if>
</select>
<select id="queryGantryCraneMaintenanceRecordPageList"
resultType="com.zhgd.jeecg.common.mybatis.EntityMap">
resultType="com.zhgd.xmgl.modules.bigdevice.entity.BigDevicesMaintenanceRecord">
SELECT a.*,b.dev_name
from big_devices_maintenance_record a LEFT JOIN gantry_crane b ON a.dev_sn=b.dev_sn
WHERE a.dev_type=3 and a.project_sn=#{param.projectSn}
<if test="param.devSn!=null and param.devSn!=''">
<if test="param.devSn != null and param.devSn != ''">
and a.dev_sn=#{param.devSn}
</if>
</select>
</mapper>

View File

@ -32,9 +32,9 @@
<select id="queryTodayWorkCycleStatusStatistics"
resultType="com.zhgd.xmgl.modules.bigdevice.entity.vo.TodayOperatingStatusStatisticsVo">
SELECT t.*, ROUND(avg(t.loadingWeight / t.workTime), 4) loadingErgonomic
SELECT t.*, ifnull(ROUND(avg(t.loadingWeight / (t.workTime / 60)), 4),0) loadingErgonomic
from (
SELECT ifnull(round(sum(ifnull(lw.work_time / 60, 0)), 2), 0) as workTime,
SELECT ifnull(sum(ifnull(lw.work_time, 0)), 0) as workTime,
count(1) as loadingNum,
ifnull(sum(ifnull(lw.loading, 0)), 0) as loadingWeight
FROM lifter_work_cycle lw

View File

@ -806,6 +806,6 @@
<select id="queryAlarmsByTime"
resultType="com.zhgd.xmgl.modules.bigdevice.entity.TowerAlarm">
select ta.* from tower_alarm ta where ta.add_time >= #{queryStartTime} and ta.add_time <![CDATA[<=]]>
#{queryEndTime} and ta.alarm_type=1
concat(#{queryEndTime},' 23:59:59') and ta.alarm_type=1
</select>
</mapper>

View File

@ -15,5 +15,5 @@ import java.util.Map;
*/
public interface IBigDevicesMaintenanceRecordService extends IService<BigDevicesMaintenanceRecord> {
IPage<EntityMap> queryBigDevicesMaintenanceRecordPageList(Map<String, Object> map);
IPage<BigDevicesMaintenanceRecord> queryBigDevicesMaintenanceRecordPageList(Map<String, Object> map);
}

View File

@ -28,18 +28,18 @@ public class BigDevicesMaintenanceRecordServiceImpl extends ServiceImpl<BigDevic
private BigDevicesMaintenanceRecordMapper bigDevicesMaintenanceRecordMapper;
@Override
public IPage<EntityMap> queryBigDevicesMaintenanceRecordPageList(Map<String, Object> map) {
public IPage<BigDevicesMaintenanceRecord> queryBigDevicesMaintenanceRecordPageList(Map<String, Object> map) {
int pageNo = Integer.parseInt(map.getOrDefault("pageNo", 1).toString());
int pageSize = Integer.parseInt(map.getOrDefault("pageSize", 10).toString());
Page<EntityMap> page = new Page<>(pageNo, pageSize);
List<EntityMap> list=null;
Page<BigDevicesMaintenanceRecord> page = new Page<>(pageNo, pageSize);
List<BigDevicesMaintenanceRecord> list = null;
int devType = Integer.parseInt(map.getOrDefault("devType", 1).toString());
if(devType==1) {
list=bigDevicesMaintenanceRecordMapper.queryTowerMaintenanceRecordPageList(page, map);
}else if(devType==2) {
list=bigDevicesMaintenanceRecordMapper.queryLifterMaintenanceRecordPageList(page, map);
}else {
list=bigDevicesMaintenanceRecordMapper.queryGantryCraneMaintenanceRecordPageList(page, map);
if (devType == 1) {
list = bigDevicesMaintenanceRecordMapper.queryTowerMaintenanceRecordPageList(page, map);
} else if (devType == 2) {
list = bigDevicesMaintenanceRecordMapper.queryLifterMaintenanceRecordPageList(page, map);
} else {
list = bigDevicesMaintenanceRecordMapper.queryGantryCraneMaintenanceRecordPageList(page, map);
}
return page.setRecords(list);
}

View File

@ -19,6 +19,7 @@ import com.zhgd.xmgl.util.DateUtil;
import com.zhgd.xmgl.util.MessageUtil;
import com.zhgd.xmgl.util.ReflectionUtil;
import org.apache.commons.collections.MapUtils;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
@ -203,10 +204,9 @@ public class LifterAlarmServiceImpl extends ServiceImpl<LifterAlarmMapper, Lifte
@Override
public AlarmsDistinguishedNumberByAlarmType queryAlarmsDistinguishedNumberByAlarmType(Map<String, Object> map) {
String queryEndTime = map.getOrDefault("queryEndTime", DateUtil.format(new Date(), "yyyy-MM-dd")).toString();
String queryStartTime = map.getOrDefault("queryStartTime", DateUtil.offsetDay(new Date(), -7)).toString();
map.putIfAbsent("queryEndTime", queryEndTime);
map.putIfAbsent("queryStartTime", queryStartTime);
if (StringUtils.isBlank(MapUtils.getString(map, "queryEndTime")) || StringUtils.isBlank(MapUtils.getString(map, "queryStartTime"))) {
throw new OpenAlertException("queryEndTime和queryStartTime不能为空");
}
List<LifterAlarm> lifterAlarms = lifterAlarmMapper.queryAlarmsByTime(map);
Map<String, AlarmsDistinguishedNumberByAlarmType.TypeNum> countTowerAlarmByTypeMap = countLifterAlarmByType(lifterAlarms);
List<AlarmsDistinguishedNumberByAlarmType.TypeNum> typeNums = new ArrayList<>();

View File

@ -23,6 +23,7 @@ import com.zhgd.xmgl.modules.bigdevice.mapper.*;
import com.zhgd.xmgl.modules.bigdevice.service.ILifterService;
import com.zhgd.xmgl.util.MessageUtil;
import com.zhgd.xmgl.util.ReflectionUtil;
import com.zhgd.xmgl.util.TimeUtil;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.collections.MapUtils;
import org.springframework.beans.factory.annotation.Autowired;
@ -345,6 +346,7 @@ public class LifterServiceImpl extends ServiceImpl<LifterMapper, Lifter> impleme
driverVO.setWorkerName(driver.getDriverName());
driverVO.setPhoneNumber(driver.getDriverPhone());
driverVO.setSpecialCertificateNumber(driver.getCertificateNumber());
driverVO.setContinuousWorkingTimeName(TimeUtil.toHourMinSecond(driver.getContinuousWorkingTime()));
driverVO.setImageUrl(driver.getImageUrl());
return driverVO;
}).collect(Collectors.toList());
@ -399,6 +401,7 @@ public class LifterServiceImpl extends ServiceImpl<LifterMapper, Lifter> impleme
@Override
public TodayOperatingStatusStatisticsVo queryTodayOperatingStatusStatistics(Map<String, Object> map) {
TodayOperatingStatusStatisticsVo workCycleStatusStatistics = lifterWorkCycleMapper.queryTodayWorkCycleStatusStatistics(map);
workCycleStatusStatistics.setWorkTimeName(TimeUtil.toHourMinSecond(workCycleStatusStatistics.getWorkTime()));
map.put("queryStartTime", DateUtil.today());
Integer todayRunNum = lifterViolationMapper.selectLifterViolationCount(map);
workCycleStatusStatistics.setViolationNum(todayRunNum);

View File

@ -560,10 +560,9 @@ public class TowerAlarmServiceImpl extends ServiceImpl<TowerAlarmMapper, TowerAl
@Override
public AlarmsDistinguishedNumberByAlarmType queryAlarmsDistinguishedNumberByAlarmType(Map<String, Object> map) {
String queryEndTime = map.getOrDefault("queryEndTime", DateUtil.format(new Date(), "yyyy-MM-dd HH:mm:ss")).toString();
String queryStartTime = map.getOrDefault("queryStartTime", DateUtil.offsetDay(new Date(), -7)).toString();
map.putIfAbsent("queryEndTime", queryEndTime);
map.putIfAbsent("queryStartTime", queryStartTime);
if (StringUtils.isBlank(MapUtils.getString(map, "queryEndTime")) || StringUtils.isBlank(MapUtils.getString(map, "queryStartTime"))) {
throw new OpenAlertException("queryEndTime和queryStartTime不能为空");
}
List<TowerAlarm> towerAlarms = towerAlarmMapper.queryAlarmsByTime(map);
Map<String, AlarmsDistinguishedNumberByAlarmType.TypeNum> countTowerAlarmByTypeMap = countTowerAlarmByType(towerAlarms);
List<AlarmsDistinguishedNumberByAlarmType.TypeNum> typeNums = new ArrayList<>();

View File

@ -49,50 +49,6 @@ public class TowerNutServiceImpl extends ServiceImpl<TowerNutMapper, TowerNut> i
public void saveNutData(TowerNut towerNut, Map<Integer, NutObj> data, int nutNum, int offLineNum, int alarmNum) {
TowerNut oldTowerNut = towerNutMapper.selectTowerNutByHostId(towerNut.getNutHostId());
if (oldTowerNut != null) {
JSONObject jsonObject = JSONObject.parseObject(oldTowerNut.getAfterAnalysisData());
if (offLineNum > 0) {
jsonObject.put("offLineNum", offLineNum);
}
if (alarmNum > 0) {
jsonObject.put("alarmNum", alarmNum);
}
if (nutNum > 0) {
jsonObject.put("nutNum", nutNum);
}
JSONArray jsonArray = jsonObject.getJSONArray("list");
Integer totalAlarmNum = 0;
Integer totaloffLineNum = 0;
for (int i = 0; i < jsonArray.size(); i++) {
JSONObject object = jsonArray.getJSONObject(i);
NutObj nutObj = data.get(object.getInteger("nutNo"));
if (nutObj != null) {
if (nutObj.getAlarm() > 0) {
object.put("alarm", nutObj.getAlarm());
object.put("offLine", nutObj.getAlarm());
}
if (nutObj.getOffLine() > 0) {
object.put("offLine", nutObj.getOffLine());
object.put("offLineTime", nutObj.getOffLineTime());
}
if (nutObj.getOnLine() > 0 && nutObj.getAlarm() == 0 && nutObj.getOffLine() == 0) {
object.put("alarm", 0);
object.put("alarmTime", "");
object.put("offLine", 0);
object.put("offLineTime", "");
object.put("onLine", nutObj.getOnLine());
} else {
if (nutObj.getOnLine() > 0) {
object.put("onLine", nutObj.getOnLine());
}
}
totalAlarmNum = totalAlarmNum + object.getInteger("alarm");
totaloffLineNum = totaloffLineNum + object.getInteger("offLine");
}
}
jsonObject.put("alarmNum", totalAlarmNum);
jsonObject.put("offLineNum", totaloffLineNum);
jsonObject.put("list", jsonArray);
towerNut.setAfterAnalysisData(jsonObject.toString());
towerNut.setId(oldTowerNut.getId());
towerNutMapper.updateById(towerNut);
} else {
@ -166,6 +122,10 @@ public class TowerNutServiceImpl extends ServiceImpl<TowerNutMapper, TowerNut> i
nutObj.setNutNo(nutNo);
int temp = paramValue - 100;
int remainder = temp % 3;
if (remainder == 1 && value.getValue() == 0) {
//排除不存在的螺母
continue;
}
if (value.getVt() == 1) {
if (remainder == 0) {
nutObj.setAlarm(value.getValue());

View File

@ -25,6 +25,7 @@ import com.zhgd.xmgl.modules.bigdevice.service.ITowerVisualizeService;
import com.zhgd.xmgl.modules.project.mapper.ProjectDevStatisticsMapper;
import com.zhgd.xmgl.util.MessageUtil;
import com.zhgd.xmgl.util.ReflectionUtil;
import com.zhgd.xmgl.util.TimeUtil;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.collections.MapUtils;
import org.springframework.beans.factory.annotation.Autowired;
@ -483,6 +484,7 @@ public class TowerServiceImpl extends ServiceImpl<TowerMapper, Tower> implements
driverVO.setSex(driver.getSex());
driverVO.setAge(driver.getAge());
driverVO.setContinuousWorkingTime(driver.getContinuousWorkingTime());
driverVO.setContinuousWorkingTimeName(TimeUtil.toHourMinSecond(driver.getContinuousWorkingTime()));
driverVO.setIdCard(driver.getDriverIdCard());
return driverVO;
}).collect(Collectors.toList());

View File

@ -1,11 +1,5 @@
package com.zhgd.xmgl.modules.frontier.entity;
import java.util.Date;
import java.io.Serializable;
import lombok.*;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
@ -13,8 +7,14 @@ import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import org.springframework.format.annotation.DateTimeFormat;
import java.io.Serializable;
import java.util.Date;
/**
* 临边防护-设备(FrontierProtectionDev)表实体类
*
@ -87,5 +87,18 @@ public class FrontierProtectionDev implements Serializable {
@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private Date updateDate;
@ApiModelProperty(value = "责任班组id")
private Long dutyTeamInfoId;
@ApiModelProperty(value = "图片")
private String image;
@ApiModelProperty(value = "使用状态1正常2异常")
private Integer status;
@TableField(exist = false)
@ApiModelProperty(value = "班组名称")
private String teamName;
}

View File

@ -119,6 +119,10 @@ public class FrontierProtectionDevCurrentData implements Serializable {
@ApiModelProperty(value = "防翻越 1-正常2-报警3-失效")
private Integer antiCross;
@TableField(exist = false)
@ApiModelProperty(value = "设备名称")
private String devName;
public FrontierProtectionDevCurrentData(String devSn, Date receiveTime, Float battery, Integer proximity, Integer antiCross) {
this.id = IdUtil.getSnowflake().nextId();
this.devSn = devSn;

View File

@ -1,5 +1,9 @@
package com.zhgd.xmgl.modules.frontier.mapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.Constants;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import org.apache.ibatis.annotations.Mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.zhgd.xmgl.modules.frontier.entity.FrontierProtectionDevCurrentData;
@ -25,5 +29,6 @@ public interface FrontierProtectionDevCurrentDataMapper extends BaseMapper<Front
*/
int insertOrUpdateBatch(@Param("entities") List<FrontierProtectionDevCurrentData> entities);
IPage<FrontierProtectionDevCurrentData> selectPageDetail(Page<FrontierProtectionDevCurrentData> page, @Param(Constants.WRAPPER) QueryWrapper<FrontierProtectionDevCurrentData> wrapper);
}

View File

@ -1,9 +1,12 @@
package com.zhgd.xmgl.modules.frontier.mapper;
import org.apache.ibatis.annotations.Mapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.Constants;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.zhgd.xmgl.modules.frontier.entity.FrontierProtectionDev;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import java.util.List;
@ -25,5 +28,6 @@ public interface FrontierProtectionDevMapper extends BaseMapper<FrontierProtecti
*/
int insertOrUpdateBatch(@Param("entities") List<FrontierProtectionDev> entities);
IPage<FrontierProtectionDev> selectPageDetail(Page<FrontierProtectionDev> page, @Param(Constants.WRAPPER) QueryWrapper<FrontierProtectionDev> wrapper);
}

View File

@ -26,15 +26,21 @@
#{entity.portStatus1}, #{entity.portStatus2}, #{entity.magStatus1}, #{entity.magStatus2},
#{entity.antiCross})
</foreach>
on duplicate key update dev_sn = values(dev_sn),
battery = values(battery),
proximity = values(proximity),
receive_time = values(receive_time),
port_status1 = values(port_status1),
port_status2 = values(port_status2),
mag_status1 = values(mag_status1),
mag_status2 = values(mag_status2),
anti_cross = values(anti_cross)
on duplicate key update dev_sn = values(dev_sn),
battery = values(battery),
proximity = values(proximity),
receive_time = values(receive_time),
port_status1 = values(port_status1),
port_status2 = values(port_status2),
mag_status1 = values(mag_status1),
mag_status2 = values(mag_status2),
anti_cross = values(anti_cross)
</insert>
<select id="selectPageDetail" resultType="com.zhgd.xmgl.modules.frontier.entity.FrontierProtectionDevCurrentData">
select fpdcd.*,fpd.dev_name from frontier_protection_dev_current_data fpdcd inner join frontier_protection_dev
fpd on fpd.dev_sn=fpdcd.dev_sn
${ew.customSqlSegment}
</select>
</mapper>

View File

@ -28,5 +28,10 @@
create_date = values(create_date),
update_date = values(update_date)
</insert>
<select id="selectPageDetail" resultType="com.zhgd.xmgl.modules.frontier.entity.FrontierProtectionDev">
select fpd.*,i.team_name from frontier_protection_dev fpd left join team_info i on i.id=fpd.team_info_id
${ew.customSqlSegment}
</select>
</mapper>

View File

@ -6,15 +6,15 @@ import cn.hutool.core.date.DateUtil;
import cn.hutool.core.text.CharSequenceUtil;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.zhgd.xmgl.modules.frontier.entity.FrontierProtectionDevCurrentData;
import com.zhgd.xmgl.modules.frontier.entity.qo.FrontierProtectionDevCurrentDataQO;
import com.zhgd.xmgl.modules.frontier.mapper.FrontierProtectionDevCurrentDataMapper;
import com.zhgd.xmgl.modules.frontier.service.FrontierProtectionDevCurrentDataService;
import com.zhgd.xmgl.util.ReflectionUtil;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
@ -37,38 +37,40 @@ public class FrontierProtectionDevCurrentDataServiceImpl extends ServiceImpl<Fro
@Override
public IPage<FrontierProtectionDevCurrentData> selectPageInfo(Page<FrontierProtectionDevCurrentData> page, FrontierProtectionDevCurrentDataQO frontierProtectionDevCurrentDataQo) {
String alias = "fpdcd.";
// 查询临边防护-设备实时数据条件 根据需求调整
LambdaQueryWrapper<FrontierProtectionDevCurrentData> wrapper = Wrappers.<FrontierProtectionDevCurrentData>lambdaQuery()
QueryWrapper<FrontierProtectionDevCurrentData> wrapper = new QueryWrapper<FrontierProtectionDevCurrentData>()
// 通过devId临边防护设备id 精准查询
.eq(CharSequenceUtil.isNotBlank(frontierProtectionDevCurrentDataQo.getDevSn()), FrontierProtectionDevCurrentData::getDevSn, frontierProtectionDevCurrentDataQo.getDevSn())
.eq(CharSequenceUtil.isNotBlank(frontierProtectionDevCurrentDataQo.getDevSn()), alias + ReflectionUtil.getFieldNameToUlc(FrontierProtectionDevCurrentData::getDevSn), frontierProtectionDevCurrentDataQo.getDevSn())
// 通过battery剩余电量百分比(0-100) 精准查询
.eq(frontierProtectionDevCurrentDataQo.getBattery() != null, FrontierProtectionDevCurrentData::getBattery, frontierProtectionDevCurrentDataQo.getBattery())
.eq(frontierProtectionDevCurrentDataQo.getBattery() != null, alias + ReflectionUtil.getFieldNameToUlc(FrontierProtectionDevCurrentData::getBattery), frontierProtectionDevCurrentDataQo.getBattery())
// 通过proximity人员靠近 1-正常2-入侵3-正常入侵 精准查询
.eq(frontierProtectionDevCurrentDataQo.getProximity() != null, FrontierProtectionDevCurrentData::getProximity, frontierProtectionDevCurrentDataQo.getProximity())
.eq(frontierProtectionDevCurrentDataQo.getProximity() != null, alias + ReflectionUtil.getFieldNameToUlc(FrontierProtectionDevCurrentData::getProximity), frontierProtectionDevCurrentDataQo.getProximity())
// 采集时间 之后
.ge(CharSequenceUtil.isNotBlank(frontierProtectionDevCurrentDataQo.getStartReceiveTime()), FrontierProtectionDevCurrentData::getReceiveTime, frontierProtectionDevCurrentDataQo.getStartReceiveTime())
.ge(CharSequenceUtil.isNotBlank(frontierProtectionDevCurrentDataQo.getStartReceiveTime()), alias + ReflectionUtil.getFieldNameToUlc(FrontierProtectionDevCurrentData::getReceiveTime), frontierProtectionDevCurrentDataQo.getStartReceiveTime())
// 采集时间 之前
.le(CharSequenceUtil.isNotBlank(frontierProtectionDevCurrentDataQo.getEndReceiveTime()), FrontierProtectionDevCurrentData::getReceiveTime, frontierProtectionDevCurrentDataQo.getEndReceiveTime())
.le(CharSequenceUtil.isNotBlank(frontierProtectionDevCurrentDataQo.getEndReceiveTime()), alias + ReflectionUtil.getFieldNameToUlc(FrontierProtectionDevCurrentData::getReceiveTime), frontierProtectionDevCurrentDataQo.getEndReceiveTime() != null ? DateUtil.endOfDay(DateUtil.parseDate(frontierProtectionDevCurrentDataQo.getEndReceiveTime())) : null)
// 创建时间 yyyy-MM-dd HH:mm:ss 之后
.ge(CharSequenceUtil.isNotBlank(frontierProtectionDevCurrentDataQo.getStartCreateDate()), FrontierProtectionDevCurrentData::getCreateDate, frontierProtectionDevCurrentDataQo.getStartCreateDate())
.ge(CharSequenceUtil.isNotBlank(frontierProtectionDevCurrentDataQo.getStartCreateDate()), alias + ReflectionUtil.getFieldNameToUlc(FrontierProtectionDevCurrentData::getCreateDate), frontierProtectionDevCurrentDataQo.getStartCreateDate())
// 创建时间 yyyy-MM-dd HH:mm:ss 之前
.le(CharSequenceUtil.isNotBlank(frontierProtectionDevCurrentDataQo.getEndCreateDate()), FrontierProtectionDevCurrentData::getCreateDate, frontierProtectionDevCurrentDataQo.getEndCreateDate())
.le(CharSequenceUtil.isNotBlank(frontierProtectionDevCurrentDataQo.getEndCreateDate()), alias + ReflectionUtil.getFieldNameToUlc(FrontierProtectionDevCurrentData::getCreateDate), frontierProtectionDevCurrentDataQo.getEndCreateDate())
// 更新时间 yyyy-MM-dd HH:mm:ss 之后
.ge(CharSequenceUtil.isNotBlank(frontierProtectionDevCurrentDataQo.getStartUpdateDate()), FrontierProtectionDevCurrentData::getUpdateDate, frontierProtectionDevCurrentDataQo.getStartUpdateDate())
.ge(CharSequenceUtil.isNotBlank(frontierProtectionDevCurrentDataQo.getStartUpdateDate()), alias + ReflectionUtil.getFieldNameToUlc(FrontierProtectionDevCurrentData::getUpdateDate), frontierProtectionDevCurrentDataQo.getStartUpdateDate())
// 更新时间 yyyy-MM-dd HH:mm:ss 之前
.le(CharSequenceUtil.isNotBlank(frontierProtectionDevCurrentDataQo.getEndUpdateDate()), FrontierProtectionDevCurrentData::getUpdateDate, frontierProtectionDevCurrentDataQo.getEndUpdateDate())
.le(CharSequenceUtil.isNotBlank(frontierProtectionDevCurrentDataQo.getEndUpdateDate()), alias + ReflectionUtil.getFieldNameToUlc(FrontierProtectionDevCurrentData::getUpdateDate), frontierProtectionDevCurrentDataQo.getEndUpdateDate())
// 通过portStatus1线锁1 状态 1-正常2-断开3-正常断开 精准查询
.eq(frontierProtectionDevCurrentDataQo.getPortStatus1() != null, FrontierProtectionDevCurrentData::getPortStatus1, frontierProtectionDevCurrentDataQo.getPortStatus1())
.eq(frontierProtectionDevCurrentDataQo.getPortStatus1() != null, alias + ReflectionUtil.getFieldNameToUlc(FrontierProtectionDevCurrentData::getPortStatus1), frontierProtectionDevCurrentDataQo.getPortStatus1())
// 通过portStatus2线锁2 状态 1-正常2-断开3-正常断开 精准查询
.eq(frontierProtectionDevCurrentDataQo.getPortStatus2() != null, FrontierProtectionDevCurrentData::getPortStatus2, frontierProtectionDevCurrentDataQo.getPortStatus2())
.eq(frontierProtectionDevCurrentDataQo.getPortStatus2() != null, alias + ReflectionUtil.getFieldNameToUlc(FrontierProtectionDevCurrentData::getPortStatus2), frontierProtectionDevCurrentDataQo.getPortStatus2())
// 通过magStatus1磁锁1 状态 1-正常2-报警3-失效 精准查询
.eq(frontierProtectionDevCurrentDataQo.getMagStatus1() != null, FrontierProtectionDevCurrentData::getMagStatus1, frontierProtectionDevCurrentDataQo.getMagStatus1())
.eq(frontierProtectionDevCurrentDataQo.getMagStatus1() != null, alias + ReflectionUtil.getFieldNameToUlc(FrontierProtectionDevCurrentData::getMagStatus1), frontierProtectionDevCurrentDataQo.getMagStatus1())
// 通过magStatus2磁锁2 状态 1-正常2-报警3-失效 精准查询
.eq(frontierProtectionDevCurrentDataQo.getMagStatus2() != null, FrontierProtectionDevCurrentData::getMagStatus2, frontierProtectionDevCurrentDataQo.getMagStatus2())
.eq(frontierProtectionDevCurrentDataQo.getMagStatus2() != null, alias + ReflectionUtil.getFieldNameToUlc(FrontierProtectionDevCurrentData::getMagStatus2), frontierProtectionDevCurrentDataQo.getMagStatus2())
// 通过antiCross防翻越 1-正常2-报警3-失效 精准查询
.eq(frontierProtectionDevCurrentDataQo.getAntiCross() != null, FrontierProtectionDevCurrentData::getAntiCross, frontierProtectionDevCurrentDataQo.getAntiCross());
.eq(frontierProtectionDevCurrentDataQo.getAntiCross() != null, alias + ReflectionUtil.getFieldNameToUlc(FrontierProtectionDevCurrentData::getAntiCross), frontierProtectionDevCurrentDataQo.getAntiCross())
.orderByDesc(ReflectionUtil.getFieldNameToUlc(FrontierProtectionDevCurrentData::getReceiveTime));
return frontierProtectionDevCurrentDataMapper.selectPage(page, wrapper.orderByDesc(FrontierProtectionDevCurrentData::getReceiveTime));
return frontierProtectionDevCurrentDataMapper.selectPageDetail(page, wrapper);
}
@Override

View File

@ -1,15 +1,15 @@
package com.zhgd.xmgl.modules.frontier.service.impl;
import cn.hutool.core.text.CharSequenceUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.zhgd.xmgl.modules.frontier.entity.FrontierProtectionDev;
import com.zhgd.xmgl.modules.frontier.entity.qo.FrontierProtectionDevQO;
import com.zhgd.xmgl.modules.frontier.mapper.FrontierProtectionDevMapper;
import com.zhgd.xmgl.modules.frontier.service.FrontierProtectionDevService;
import com.zhgd.xmgl.util.ReflectionUtil;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
@ -27,24 +27,26 @@ public class FrontierProtectionDevServiceImpl extends ServiceImpl<FrontierProtec
@Override
public IPage<FrontierProtectionDev> selectPageInfo(Page<FrontierProtectionDev> page, FrontierProtectionDevQO frontierProtectionDevQo) {
String alias = "fpd.";
// 查询临边防护-设备条件 根据需求调整
LambdaQueryWrapper<FrontierProtectionDev> wrapper = Wrappers.<FrontierProtectionDev>lambdaQuery()
.like(CharSequenceUtil.isNotBlank(frontierProtectionDevQo.getDevSn()), FrontierProtectionDev::getDevSn, frontierProtectionDevQo.getDevSn())
.like(CharSequenceUtil.isNotBlank(frontierProtectionDevQo.getDevName()), FrontierProtectionDev::getDevName, frontierProtectionDevQo.getDevName())
.like(CharSequenceUtil.isNotBlank(frontierProtectionDevQo.getLocation()), FrontierProtectionDev::getLocation, frontierProtectionDevQo.getLocation())
QueryWrapper<FrontierProtectionDev> wrapper = new QueryWrapper<FrontierProtectionDev>()
.like(CharSequenceUtil.isNotBlank(frontierProtectionDevQo.getDevSn()), alias + ReflectionUtil.getFieldNameToUlc(FrontierProtectionDev::getDevSn), frontierProtectionDevQo.getDevSn())
.like(CharSequenceUtil.isNotBlank(frontierProtectionDevQo.getDevName()), alias + ReflectionUtil.getFieldNameToUlc(FrontierProtectionDev::getDevName), frontierProtectionDevQo.getDevName())
.like(CharSequenceUtil.isNotBlank(frontierProtectionDevQo.getLocation()), alias + ReflectionUtil.getFieldNameToUlc(FrontierProtectionDev::getLocation), frontierProtectionDevQo.getLocation())
// 通过devType设备类型 1.xxx 2.xxx 精准查询
.eq(frontierProtectionDevQo.getDevType() != null, FrontierProtectionDev::getDevType, frontierProtectionDevQo.getDevType())
.like(CharSequenceUtil.isNotBlank(frontierProtectionDevQo.getProjectSn()), FrontierProtectionDev::getProjectSn, frontierProtectionDevQo.getProjectSn())
.eq(frontierProtectionDevQo.getDevType() != null, alias + ReflectionUtil.getFieldNameToUlc(FrontierProtectionDev::getDevType), frontierProtectionDevQo.getDevType())
.like(CharSequenceUtil.isNotBlank(frontierProtectionDevQo.getProjectSn()), alias + ReflectionUtil.getFieldNameToUlc(FrontierProtectionDev::getProjectSn), frontierProtectionDevQo.getProjectSn())
// 创建时间 yyyy-MM-dd HH:mm:ss 之后
.ge(CharSequenceUtil.isNotBlank(frontierProtectionDevQo.getStartCreateDate()), FrontierProtectionDev::getCreateDate, frontierProtectionDevQo.getStartCreateDate())
.ge(CharSequenceUtil.isNotBlank(frontierProtectionDevQo.getStartCreateDate()), alias + ReflectionUtil.getFieldNameToUlc(FrontierProtectionDev::getCreateDate), frontierProtectionDevQo.getStartCreateDate())
// 创建时间 yyyy-MM-dd HH:mm:ss 之前
.le(CharSequenceUtil.isNotBlank(frontierProtectionDevQo.getEndCreateDate()), FrontierProtectionDev::getCreateDate, frontierProtectionDevQo.getEndCreateDate())
.le(CharSequenceUtil.isNotBlank(frontierProtectionDevQo.getEndCreateDate()), alias + ReflectionUtil.getFieldNameToUlc(FrontierProtectionDev::getCreateDate), frontierProtectionDevQo.getEndCreateDate())
// 更新时间 yyyy-MM-dd HH:mm:ss 之后
.ge(CharSequenceUtil.isNotBlank(frontierProtectionDevQo.getStartUpdateDate()), FrontierProtectionDev::getUpdateDate, frontierProtectionDevQo.getStartUpdateDate())
.ge(CharSequenceUtil.isNotBlank(frontierProtectionDevQo.getStartUpdateDate()), alias + ReflectionUtil.getFieldNameToUlc(FrontierProtectionDev::getUpdateDate), frontierProtectionDevQo.getStartUpdateDate())
// 更新时间 yyyy-MM-dd HH:mm:ss 之前
.le(CharSequenceUtil.isNotBlank(frontierProtectionDevQo.getEndUpdateDate()), FrontierProtectionDev::getUpdateDate, frontierProtectionDevQo.getEndUpdateDate());
.le(CharSequenceUtil.isNotBlank(frontierProtectionDevQo.getEndUpdateDate()), alias + ReflectionUtil.getFieldNameToUlc(FrontierProtectionDev::getUpdateDate), frontierProtectionDevQo.getEndUpdateDate())
.orderByDesc(ReflectionUtil.getFieldNameToUlc(FrontierProtectionDev::getCreateDate));
return frontierProtectionDevMapper.selectPage(page, wrapper);
return frontierProtectionDevMapper.selectPageDetail(page, wrapper);
}
}

View File

@ -240,7 +240,7 @@
ELSE 0 END)),
0) certificate_person_total,
SUM(wc.num) certificate_total,
round(SUM(wc.num)/COUNT(1)*100,2) certificate_rate,
round(SUM(wc.num) / COUNT(1) * 100, 2) certificate_rate,
IFNULL(AVG(IFNULL(TIMESTAMPDIFF(YEAR, w1.birthday, CURDATE()), 0)), 0) avgage,
IFNULL(sum((CASE WHEN IFNULL(TIMESTAMPDIFF(YEAR, w1.birthday, CURDATE()), 0) &lt; 18 then 1 ELSE 0 END)),
0) age18,
@ -271,8 +271,11 @@
Left JOIN company f ON b.parent_id = f.company_id
Left JOIN team_info g ON w1.team_id = g.id
Left JOIN worker_blacklist ba ON w1.id = ba.worker_id
LEFT JOIN (SELECT wi.id,count(*) num FROM worker_certificate wc,worker_info wi WHERE wc.worker_id=wi.id GROUP BY
wi.id) wc ON wc.id=w1.id
LEFT JOIN (SELECT wi.id, count(*) num
FROM worker_certificate wc,
worker_info wi
WHERE wc.worker_id = wi.id
GROUP BY wi.id) wc ON wc.id = w1.id
where w1.inService_type = 1
<if test="projectName != null and projectName != ''">
and a.project_name like CONCAT(CONCAT('%', #{projectName}), '%')
@ -413,10 +416,10 @@
<select id="selectSceneTotal" resultType="java.lang.Long" parameterType="java.lang.String">
SELECT COUNT(1) totalPerson
from worker_info w1
INNER JOIN worker_attendance_presence p ON w1.person_sn = p.person_sn
Left JOIN team_info g ON (w1.project_sn = g.project_sn and w1.team_id = g.id)
INNER JOIN worker_attendance_presence p ON w1.person_sn = p.person_sn
Left JOIN team_info g ON (w1.project_sn = g.project_sn and w1.team_id = g.id)
WHERE w1.project_sn = #{projectSn}
and w1.inService_type = 1
and w1.inService_type = 1
</select>
<select id="selectWorkerTeamTotal" resultType="java.util.Map" parameterType="java.util.Map">
@ -610,7 +613,8 @@
</select>
<select id="selectProjectWorkerTypeTotalList"
resultType="com.zhgd.xmgl.modules.worker.entity.vo.ProjectWorkerTypeTotalVo">
SELECT w.type_name, w.project_sn,
SELECT w.type_name,
w.project_sn,
IFNULL(tp.person_num, 0) total_person_num, <!--出勤人数-->
IFNULL(ap.person_num, 0) present_person_num, <!--在场人数-->
w.id
@ -1030,7 +1034,8 @@
en.enterprise_name,
p.project_name,
(case
when a.birthday != '' then year (from_days(datediff(NOW(), a.birthday))) else '-'
when a.birthday != '' then year(from_days(datediff(NOW(), a.birthday)))
else '-'
end
) age,
d.dictionary_name job_type_name,
@ -1058,7 +1063,8 @@
p.project_name,
t.type_name,
(case
when a.birthday != '' then year (from_days(datediff(NOW(), a.birthday))) else '-'
when a.birthday != '' then year(from_days(datediff(NOW(), a.birthday)))
else '-'
end
) age,
d.dictionary_name job_type_name,
@ -1073,9 +1079,7 @@
LEFT JOIN project p ON a.project_sn = p.project_sn
WHERE a.id_card =
#{idCard}
order
by
a
order by a
.
enter_date
desc

View File

@ -0,0 +1,19 @@
package com.zhgd.xmgl.util;
import io.swagger.models.auth.In;
public class TimeUtil {
public static String toHourMinSecond(Integer second) {
if (second == null) {
return null;
}
int h = second / 3600;
int min = (second % 3600) / 60;
int s = (second % 3600) % 60;
return h + "h" + min + "min" + s + "s";
}
public static void main(String[] args) {
System.out.println(toHourMinSecond(3601));
}
}