金林湾-按问题状态统计问题趋势-补充数据
This commit is contained in:
parent
8c0a68714b
commit
7b3b6c677b
@ -6,7 +6,7 @@
|
|||||||
resultType="com.zhgd.xmgl.modules.dangerous.entity.HiddenDangerInspectionStatistics">
|
resultType="com.zhgd.xmgl.modules.dangerous.entity.HiddenDangerInspectionStatistics">
|
||||||
SELECT
|
SELECT
|
||||||
hd.id,
|
hd.id,
|
||||||
date_add( date_sub(hd.create_time,interval dayofweek(hd.create_time)-2 day), INTERVAL 7 DAY ) create_time,
|
date_sub(hd.create_time,interval dayofweek(hd.create_time)-2 day) create_time,
|
||||||
sum(hd.increase_num) increase_num,
|
sum(hd.increase_num) increase_num,
|
||||||
sum(hd.solve_num) solve_num,
|
sum(hd.solve_num) solve_num,
|
||||||
sum(hd.un_resolve_num) un_resolve_num,
|
sum(hd.un_resolve_num) un_resolve_num,
|
||||||
|
|||||||
@ -28,6 +28,7 @@ import com.zhgd.xmgl.modules.project.mapper.ProjectMapper;
|
|||||||
import com.zhgd.xmgl.modules.quality.service.impl.QualityInspectionRecordServiceImpl;
|
import com.zhgd.xmgl.modules.quality.service.impl.QualityInspectionRecordServiceImpl;
|
||||||
import com.zhgd.xmgl.modules.worker.mapper.EnterpriseInfoMapper;
|
import com.zhgd.xmgl.modules.worker.mapper.EnterpriseInfoMapper;
|
||||||
import com.zhgd.xmgl.util.JxlExcelUtils;
|
import com.zhgd.xmgl.util.JxlExcelUtils;
|
||||||
|
import org.apache.commons.collections.CollectionUtils;
|
||||||
import org.apache.commons.collections.MapUtils;
|
import org.apache.commons.collections.MapUtils;
|
||||||
import org.apache.commons.lang3.StringUtils;
|
import org.apache.commons.lang3.StringUtils;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
@ -438,17 +439,57 @@ public class HiddenDangerInspectRecordServiceImpl extends ServiceImpl<HiddenDang
|
|||||||
@Override
|
@Override
|
||||||
public List<HiddenDangerInspectionStatistics> selectHiddenDangerStateTrendByWeek(Map<String, Object> map) {
|
public List<HiddenDangerInspectionStatistics> selectHiddenDangerStateTrendByWeek(Map<String, Object> map) {
|
||||||
Integer offsetWeek = MapUtils.getInteger(map, "offsetWeek");
|
Integer offsetWeek = MapUtils.getInteger(map, "offsetWeek");
|
||||||
|
String projectSn = MapUtils.getString(map, "projectSn");
|
||||||
|
|
||||||
|
int defaultOffsetWeek = 5;
|
||||||
if (offsetWeek == null || offsetWeek <= 0) {
|
if (offsetWeek == null || offsetWeek <= 0) {
|
||||||
offsetWeek = 5;
|
offsetWeek = defaultOffsetWeek;
|
||||||
}
|
}
|
||||||
map.put("offsetWeek", offsetWeek + 1);
|
map.put("offsetWeek", offsetWeek + 1);
|
||||||
List<HiddenDangerInspectionStatistics> statisticsList = hiddenDangerInspectionStatisticsMapper.selectHiddenDangerStateTrendByWeek(map);
|
List<HiddenDangerInspectionStatistics> statisticsList = hiddenDangerInspectionStatisticsMapper.selectHiddenDangerStateTrendByWeek(map);
|
||||||
//删除最新的没有完全统计的一周的数据,一条数据
|
Date thisMonday = getThisMonday();
|
||||||
statisticsList.remove(0);
|
if (CollectionUtils.isNotEmpty(statisticsList)) {
|
||||||
Collections.sort(statisticsList,(o1, o2) -> o1.getCreateTime().compareTo(o2.getCreateTime()));
|
HiddenDangerInspectionStatistics statistics = statisticsList.get(0);
|
||||||
|
if (statistics != null) {
|
||||||
|
//删除最新的没有完全统计的一周的数据,一条数据
|
||||||
|
statisticsList.remove(0);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
//数据不够时补充前面的为0
|
||||||
|
if (statisticsList.size() < defaultOffsetWeek) {
|
||||||
|
Date d = null;
|
||||||
|
int size = statisticsList.size();
|
||||||
|
if (CollectionUtils.isNotEmpty(statisticsList)) {
|
||||||
|
d = statisticsList.get(size - 1).getCreateTime();
|
||||||
|
} else {
|
||||||
|
d = thisMonday;
|
||||||
|
}
|
||||||
|
d = DateUtil.offsetDay(d, -7);
|
||||||
|
for (int i = 0; i < defaultOffsetWeek - size; i++) {
|
||||||
|
HiddenDangerInspectionStatistics e = new HiddenDangerInspectionStatistics();
|
||||||
|
e.setCreateTime(d);
|
||||||
|
e.setIncreaseNum(0);
|
||||||
|
e.setSolveNum(0);
|
||||||
|
e.setUnResolveNum(0);
|
||||||
|
e.setProjectSn(projectSn);
|
||||||
|
d = DateUtil.offsetDay(d, -7);
|
||||||
|
statisticsList.add(e);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
Collections.sort(statisticsList, (o1, o2) -> o1.getCreateTime().compareTo(o2.getCreateTime()));
|
||||||
|
statisticsList.stream().forEach(o -> o.setCreateTime(DateUtil.offsetDay(o.getCreateTime(), 7)));
|
||||||
return statisticsList;
|
return statisticsList;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public Date getThisMonday() {
|
||||||
|
Calendar cal = Calendar.getInstance();
|
||||||
|
// 设置周一为第一天
|
||||||
|
cal.setFirstDayOfWeek(Calendar.MONDAY);
|
||||||
|
// 时间设置到周一,此时时间为周一的日期
|
||||||
|
cal.set(Calendar.DAY_OF_WEEK, Calendar.MONDAY);
|
||||||
|
return cal.getTime();
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 设置全部占比
|
* 设置全部占比
|
||||||
*
|
*
|
||||||
|
|||||||
@ -9,11 +9,12 @@ import com.zhgd.redis.lock.RedisRepository;
|
|||||||
import com.zhgd.xmgl.async.AsyncProject;
|
import com.zhgd.xmgl.async.AsyncProject;
|
||||||
import com.zhgd.xmgl.entity.vo.ZwProjectDataVo;
|
import com.zhgd.xmgl.entity.vo.ZwProjectDataVo;
|
||||||
import com.zhgd.xmgl.modules.project.entity.Project;
|
import com.zhgd.xmgl.modules.project.entity.Project;
|
||||||
|
import com.zhgd.xmgl.modules.project.entity.dto.SjProjectDto;
|
||||||
import com.zhgd.xmgl.modules.project.entity.vo.GroupByProjectProgressVo;
|
import com.zhgd.xmgl.modules.project.entity.vo.GroupByProjectProgressVo;
|
||||||
import com.zhgd.xmgl.modules.project.entity.vo.GroupByProjectTypeVo;
|
import com.zhgd.xmgl.modules.project.entity.vo.GroupByProjectTypeVo;
|
||||||
import com.zhgd.xmgl.modules.project.entity.vo.ProjectDurationVO;
|
import com.zhgd.xmgl.modules.project.entity.vo.ProjectDurationVO;
|
||||||
import com.zhgd.xmgl.modules.project.enums.SanjiangProgressProjectEnum;
|
import com.zhgd.xmgl.modules.project.enums.SanjiangProgressProjectEnum;
|
||||||
import com.zhgd.xmgl.modules.project.service.IProjectService;
|
import com.zhgd.xmgl.modules.project.service.impl.ProjectServiceImpl;
|
||||||
import com.zhgd.xmgl.util.MessageUtil;
|
import com.zhgd.xmgl.util.MessageUtil;
|
||||||
import io.swagger.annotations.Api;
|
import io.swagger.annotations.Api;
|
||||||
import io.swagger.annotations.ApiImplicitParam;
|
import io.swagger.annotations.ApiImplicitParam;
|
||||||
@ -21,6 +22,8 @@ import io.swagger.annotations.ApiImplicitParams;
|
|||||||
import io.swagger.annotations.ApiOperation;
|
import io.swagger.annotations.ApiOperation;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
import org.apache.commons.collections.MapUtils;
|
import org.apache.commons.collections.MapUtils;
|
||||||
|
import org.simpleframework.xml.core.Validate;
|
||||||
|
import org.springframework.beans.BeanUtils;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
import org.springframework.web.bind.annotation.*;
|
import org.springframework.web.bind.annotation.*;
|
||||||
|
|
||||||
@ -43,7 +46,7 @@ import java.util.Map;
|
|||||||
@Api(tags = "项目")
|
@Api(tags = "项目")
|
||||||
public class ProjectController {
|
public class ProjectController {
|
||||||
@Autowired
|
@Autowired
|
||||||
private IProjectService projectService;
|
private ProjectServiceImpl projectService;
|
||||||
@Autowired
|
@Autowired
|
||||||
private AsyncProject asyncProject;
|
private AsyncProject asyncProject;
|
||||||
@Resource
|
@Resource
|
||||||
@ -108,6 +111,24 @@ public class ProjectController {
|
|||||||
return Result.ok();
|
return Result.ok();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 三江业务中台添加项目
|
||||||
|
*
|
||||||
|
* @param dto
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
//@OperLog(operModul = "项目管理", operType = "添加项目", operDesc = "添加项目")
|
||||||
|
@ApiOperation(value = " 三江业务中台添加项目", notes = "三江业务中台添加项目", httpMethod = "POST")
|
||||||
|
@PostMapping(value = "/sj/business/add")
|
||||||
|
public Result addSjProject(@RequestBody @Validate SjProjectDto dto) {
|
||||||
|
Project project = new Project();
|
||||||
|
BeanUtils.copyProperties(dto, project);
|
||||||
|
project.setCompanySn("B386480F85E84592B8E102224D090794");
|
||||||
|
projectService.setProjectCode(project);
|
||||||
|
projectService.saveProject(project);
|
||||||
|
return Result.ok();
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 添加
|
* 添加
|
||||||
*
|
*
|
||||||
|
|||||||
@ -248,4 +248,7 @@ public class Project implements Serializable {
|
|||||||
@ApiModelProperty(value = "云联万物-工程所在街(乡)镇机构编码")
|
@ApiModelProperty(value = "云联万物-工程所在街(乡)镇机构编码")
|
||||||
private String streetTownshipTownCode;
|
private String streetTownshipTownCode;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "'三江重点工程类型多选'")
|
||||||
|
private String keyProjectType;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@ -0,0 +1,59 @@
|
|||||||
|
package com.zhgd.xmgl.modules.project.entity.dto;
|
||||||
|
|
||||||
|
import io.swagger.annotations.ApiModel;
|
||||||
|
import io.swagger.annotations.ApiModelProperty;
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
import javax.validation.constraints.NotBlank;
|
||||||
|
|
||||||
|
@Data
|
||||||
|
@ApiModel(value = "SjProjectDto实体类", description = "SjProjectDto")
|
||||||
|
public class SjProjectDto {
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "项目名称")
|
||||||
|
@NotBlank
|
||||||
|
private java.lang.String projectName;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "项目地址")
|
||||||
|
private java.lang.String projectAddress;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "纬度")
|
||||||
|
private java.lang.String latitude;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "经度")
|
||||||
|
private java.lang.String longitude;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "项目编号")
|
||||||
|
private java.lang.String projectNumber;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "工程类别,1房建,2市政,5公路")
|
||||||
|
private java.lang.Integer projectType;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "工程用途,1住宅建筑,2宿舍建筑,3教育建筑,4办公建筑,5科研建筑,6文化建筑,7商业建筑,8体育建筑,9医疗建筑,10交通建筑,11司法建筑,12纪念建筑,13园林建筑,14综合建筑,15工业厂房,16电子厂房,17其他")
|
||||||
|
private java.lang.Integer engineeringPurpose;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "结构类型,1装配整体式框级结构,2装配整体式剪力墙结构,3装配整体式框级-现浇剪力墙结构,4装配整体式框级-现浇核心筒结构,5装配整体式部分框支剪力墙结构,6混合结构,7框架结构,8剪力墙结构,9框架-剪力墙结构,10简体结构,11钢结构,12型钢混凝土结构,13砖混结构,14砖木结构")
|
||||||
|
private java.lang.Integer structureType;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "项目面积")
|
||||||
|
private java.lang.String projectAcreage;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "工程状态,0未开工,1在建,2停工,3验收,4完工")
|
||||||
|
private java.lang.Integer bulidStatus;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "开工日期")
|
||||||
|
private java.lang.String startWorkDate;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "项目经理")
|
||||||
|
private java.lang.String projectManage;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "项目联系电话")
|
||||||
|
private java.lang.String projectTel;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "是否是重点工程 0否,2省重,3市重,4区重")
|
||||||
|
private java.lang.Integer majorProjectType;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "项目进度")
|
||||||
|
private Integer projectProgress;
|
||||||
|
|
||||||
|
}
|
||||||
@ -173,12 +173,6 @@ public class ProjectServiceImpl extends ServiceImpl<ProjectMapper, Project> impl
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void saveProject(Project project) {
|
public void saveProject(Project project) {
|
||||||
if (profileJudgeUtil.isSjjt()) {
|
|
||||||
if (StringUtils.isBlank(project.getCompanySn())) {
|
|
||||||
project.setCompanySn("B386480F85E84592B8E102224D090794");
|
|
||||||
}
|
|
||||||
setProjectCode(project);
|
|
||||||
}
|
|
||||||
QueryWrapper<Company> queryWrapper = new QueryWrapper<>();
|
QueryWrapper<Company> queryWrapper = new QueryWrapper<>();
|
||||||
queryWrapper.lambda().eq(Company::getCompanySn, project.getCompanySn());
|
queryWrapper.lambda().eq(Company::getCompanySn, project.getCompanySn());
|
||||||
Company company = companyService.getOne(queryWrapper);
|
Company company = companyService.getOne(queryWrapper);
|
||||||
@ -221,7 +215,7 @@ public class ProjectServiceImpl extends ServiceImpl<ProjectMapper, Project> impl
|
|||||||
*
|
*
|
||||||
* @param project
|
* @param project
|
||||||
*/
|
*/
|
||||||
private void setProjectCode(Project project) {
|
public void setProjectCode(Project project) {
|
||||||
String address = project.getProjectAddress();
|
String address = project.getProjectAddress();
|
||||||
WSSsdrAddress wsSsdrAddress = AddressUtil.resolveAddress(address);
|
WSSsdrAddress wsSsdrAddress = AddressUtil.resolveAddress(address);
|
||||||
String province = wsSsdrAddress.getProvince();
|
String province = wsSsdrAddress.getProvince();
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user