实际进度时间修改

This commit is contained in:
Administrator 2023-02-24 11:32:00 +08:00
parent efad1ed4d0
commit 7baa8e63bc
8 changed files with 69 additions and 21 deletions

View File

@ -126,8 +126,8 @@ public class MaterialApproachRecordController {
@ApiOperation(value = "删除材料进场记录 信息", notes = "删除材料进场记录 信息", httpMethod = "POST") @ApiOperation(value = "删除材料进场记录 信息", notes = "删除材料进场记录 信息", httpMethod = "POST")
@ApiImplicitParam(name = "id", value = "材料进场记录 ID", paramType = "query", required = true, dataType = "Integer") @ApiImplicitParam(name = "id", value = "材料进场记录 ID", paramType = "query", required = true, dataType = "Integer")
@PostMapping(value = "/delete") @PostMapping(value = "/delete")
public Result<MaterialApproachRecord> delete(@RequestParam(name = "id", required = true) String id) { public Result<MaterialApproachRecord> delete(@RequestBody String id) {
materialApproachRecordService.removeById(id); materialApproachRecordService.removeById(JSON.parseObject(id).get("id").toString());
return Result.ok(); return Result.ok();
} }

View File

@ -6,6 +6,7 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.zhgd.jeecg.common.api.vo.Result; import com.zhgd.jeecg.common.api.vo.Result;
import com.zhgd.xmgl.modules.material.entity.MaterialDetectionReport; import com.zhgd.xmgl.modules.material.entity.MaterialDetectionReport;
import com.zhgd.xmgl.modules.material.entity.qo.DetectionDateQO;
import com.zhgd.xmgl.modules.material.entity.qo.MaterialDetectionReportQO; import com.zhgd.xmgl.modules.material.entity.qo.MaterialDetectionReportQO;
import com.zhgd.xmgl.modules.material.entity.qo.SumQualifiedRatioVO; import com.zhgd.xmgl.modules.material.entity.qo.SumQualifiedRatioVO;
import com.zhgd.xmgl.modules.material.service.MaterialDetectionReportService; import com.zhgd.xmgl.modules.material.service.MaterialDetectionReportService;
@ -65,8 +66,8 @@ public class MaterialDetectionReportController {
@ApiImplicitParam(name = "projectSn", value = "项目sn", dataType = "string", dataTypeClass = String.class, paramType = "query"), @ApiImplicitParam(name = "projectSn", value = "项目sn", dataType = "string", dataTypeClass = String.class, paramType = "query"),
@ApiImplicitParam(name = "size", value = "返回条数默认10条", dataType = "string", dataTypeClass = String.class, defaultValue = "10", paramType = "query") @ApiImplicitParam(name = "size", value = "返回条数默认10条", dataType = "string", dataTypeClass = String.class, defaultValue = "10", paramType = "query")
}) })
public Result<List<MaterialDetectionReport>> limitByDetectionDate(String projectSn, @RequestParam(name = "size", defaultValue = "10") Integer size) { public Result<List<MaterialDetectionReport>> limitByDetectionDate(DetectionDateQO qo) {
return Result.success(materialDetectionReportService.limitByDetectionDate(projectSn, size)); return Result.success(materialDetectionReportService.limitByDetectionDate(qo));
} }
/** /**

View File

@ -0,0 +1,24 @@
package com.zhgd.xmgl.modules.material.entity.qo;
import com.baomidou.mybatisplus.annotation.TableField;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
@Data
@ApiModel
public class DetectionDateQO {
/**
* 事件类型
*/
@TableField(value = "event_type")
@ApiModelProperty(value = "事件类型")
private String eventType;
@ApiModelProperty(value = "楼层")
private String floor;
private String projectSn;
private Integer size;
}

View File

@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService; import com.baomidou.mybatisplus.extension.service.IService;
import com.zhgd.xmgl.modules.material.entity.MaterialDetectionReport; import com.zhgd.xmgl.modules.material.entity.MaterialDetectionReport;
import com.zhgd.xmgl.modules.material.entity.qo.DetectionDateQO;
import com.zhgd.xmgl.modules.material.entity.qo.MaterialDetectionReportQO; import com.zhgd.xmgl.modules.material.entity.qo.MaterialDetectionReportQO;
import com.zhgd.xmgl.modules.material.entity.qo.SumQualifiedRatioVO; import com.zhgd.xmgl.modules.material.entity.qo.SumQualifiedRatioVO;
@ -27,6 +28,6 @@ public interface MaterialDetectionReportService extends IService<MaterialDetecti
*/ */
SumQualifiedRatioVO getQualifiedRatio(String projectSn); SumQualifiedRatioVO getQualifiedRatio(String projectSn);
List<MaterialDetectionReport> limitByDetectionDate(String projectSn, Integer size); List<MaterialDetectionReport> limitByDetectionDate(DetectionDateQO qo);
} }

View File

@ -8,10 +8,12 @@ import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.zhgd.xmgl.modules.material.entity.MaterialDetectionReport; import com.zhgd.xmgl.modules.material.entity.MaterialDetectionReport;
import com.zhgd.xmgl.modules.material.entity.qo.DetectionDateQO;
import com.zhgd.xmgl.modules.material.entity.qo.MaterialDetectionReportQO; import com.zhgd.xmgl.modules.material.entity.qo.MaterialDetectionReportQO;
import com.zhgd.xmgl.modules.material.entity.qo.SumQualifiedRatioVO; import com.zhgd.xmgl.modules.material.entity.qo.SumQualifiedRatioVO;
import com.zhgd.xmgl.modules.material.mapper.MaterialDetectionReportMapper; import com.zhgd.xmgl.modules.material.mapper.MaterialDetectionReportMapper;
import com.zhgd.xmgl.modules.material.service.MaterialDetectionReportService; import com.zhgd.xmgl.modules.material.service.MaterialDetectionReportService;
import org.apache.commons.lang3.StringUtils;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import javax.annotation.Resource; import javax.annotation.Resource;
@ -68,10 +70,16 @@ public class MaterialDetectionReportServiceImpl extends ServiceImpl<MaterialDete
} }
@Override @Override
public List<MaterialDetectionReport> limitByDetectionDate(String projectSn, Integer size) { public List<MaterialDetectionReport> limitByDetectionDate(DetectionDateQO qo) {
if (qo.getSize() == null) {
qo.setSize(10);
}
// 查询材料检验报告条件 根据需求调整 // 查询材料检验报告条件 根据需求调整
LambdaQueryWrapper<MaterialDetectionReport> wrapper = Wrappers.<MaterialDetectionReport>lambdaQuery().eq(MaterialDetectionReport::getProjectSn, projectSn); LambdaQueryWrapper<MaterialDetectionReport> wrapper = Wrappers.<MaterialDetectionReport>lambdaQuery()
.eq(MaterialDetectionReport::getProjectSn, qo.getProjectSn())
.eq(StringUtils.isNoneBlank(qo.getFloor()), MaterialDetectionReport::getFloor, qo.getFloor())
.eq(StringUtils.isNoneBlank(qo.getEventType()), MaterialDetectionReport::getEventType, qo.getEventType());
wrapper.orderByDesc(MaterialDetectionReport::getDetectionDate); wrapper.orderByDesc(MaterialDetectionReport::getDetectionDate);
return materialDetectionReportMapper.selectPage(new Page<>(1, size), wrapper).getRecords(); return materialDetectionReportMapper.selectPage(new Page<>(1, qo.getSize()), wrapper).getRecords();
} }
} }

View File

@ -1,5 +1,7 @@
package com.zhgd.xmgl.modules.project.entity.vo; package com.zhgd.xmgl.modules.project.entity.vo;
import com.baomidou.mybatisplus.annotation.FieldStrategy;
import com.baomidou.mybatisplus.annotation.TableField;
import com.fasterxml.jackson.annotation.JsonFormat; import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty; import io.swagger.annotations.ApiModelProperty;
@ -48,6 +50,14 @@ public class ActualProgressVO {
@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd") @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd")
@DateTimeFormat(pattern = "yyyy-MM-dd") @DateTimeFormat(pattern = "yyyy-MM-dd")
private Date actualStartDate; private Date actualStartDate;
/**
* 实际完成时间
*/
@TableField(value = "actual_finish_date", updateStrategy = FieldStrategy.IGNORED)
@ApiModelProperty(value = "实际完成时间")
@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd")
@DateTimeFormat(pattern = "yyyy-MM-dd")
private Date actualFinishDate;
/** /**
* 状态1提前 ,2正常3延迟 * 状态1提前 ,2正常3延迟
@ -55,11 +65,12 @@ public class ActualProgressVO {
@ApiModelProperty(value = "状态1提前 ,2正常3延迟") @ApiModelProperty(value = "状态1提前 ,2正常3延迟")
private Integer status; private Integer status;
public ActualProgressVO(String taskName, Date startDate, Date finishDate, Date actualStartDate, Integer status) { public ActualProgressVO(String taskName, Date startDate, Date finishDate, Date actualStartDate, Integer status,Date actualFinishDate) {
this.taskName = taskName; this.taskName = taskName;
this.startDate = startDate; this.startDate = startDate;
this.finishDate = finishDate; this.finishDate = finishDate;
this.actualStartDate = actualStartDate; this.actualStartDate = actualStartDate;
this.actualFinishDate = actualFinishDate;
this.status = status; this.status = status;
} }
} }

View File

@ -403,22 +403,25 @@ public class ProgressTaskServiceImpl extends ServiceImpl<ProgressTaskMapper, Pro
} }
return progressTaskList.stream().map(progressTask -> { return progressTaskList.stream().map(progressTask -> {
Date startDate = progressTask.getStartDate(); Date startDate = progressTask.getStartDate();
Date finishDate = progressTask.getFinishDate();
Date actualStartDate = progressTask.getActualStartDate(); Date actualStartDate = progressTask.getActualStartDate();
Date actualFinishDate = progressTask.getActualFinishDate();
long datePeriod = finishDate.getTime() - startDate.getTime();
int status; int status;
if (actualStartDate == null || (startDate.getTime() < actualStartDate.getTime()) //状态 1提前 2正常 3延迟
|| (progressTask.getActualFinishDate() != null && progressTask.getActualFinishDate().getTime() > progressTask.getFinishDate().getTime()) if (actualStartDate != null && actualFinishDate != null && actualFinishDate.getTime() - actualStartDate.getTime() < datePeriod) {
|| (progressTask.getActualFinishDate() == null && progressTask.getFinishDate().before(new Date()))) { //1提前
// 实际开始时间晚于预计开始时间
status = 3;
} else if (startDate.getTime() > actualStartDate.getTime()) {
// 实际开始时间比预计开始时间早
status = 1; status = 1;
} else { } else if ((actualStartDate == null && actualFinishDate == null) ||
// 实际开始时间等于预计开始时间 (actualStartDate != null && actualFinishDate != null && actualFinishDate.getTime() - actualStartDate.getTime() == datePeriod) ||
(actualStartDate != null && actualFinishDate == null && System.currentTimeMillis() - actualStartDate.getTime() <= datePeriod)) {
//2正常
status = 2; status = 2;
} else {
//3延迟
status = 3;
} }
return new ActualProgressVO(progressTask.getTaskName(), startDate, progressTask.getFinishDate(), actualStartDate, status); return new ActualProgressVO(progressTask.getTaskName(), startDate, progressTask.getFinishDate(), actualStartDate, status, actualFinishDate);
}).collect(Collectors.toList()); }).collect(Collectors.toList());
} }

View File

@ -74,7 +74,7 @@ public class WindowDisplayController {
@GetMapping(value = "/list") @GetMapping(value = "/list")
@ApiOperation(value = "所有亮点展示") @ApiOperation(value = "所有亮点展示")
public Result<List<WindowDisplay>> list(WindowDisplay windowDisplay) { public Result<List<WindowDisplay>> list(WindowDisplay windowDisplay) {
return Result.success(windowDisplayService.list(new LambdaQueryWrapper<>(windowDisplay).orderByDesc(WindowDisplay::getUpdateDate))); return Result.success(windowDisplayService.list(new LambdaQueryWrapper<>(windowDisplay).orderByDesc(WindowDisplay::getUpdateDate).last("limit 4")));
} }
/** /**