实际进度时间修改
This commit is contained in:
parent
efad1ed4d0
commit
7baa8e63bc
@ -126,8 +126,8 @@ public class MaterialApproachRecordController {
|
||||
@ApiOperation(value = "删除材料进场记录 信息", notes = "删除材料进场记录 信息", httpMethod = "POST")
|
||||
@ApiImplicitParam(name = "id", value = "材料进场记录 ID", paramType = "query", required = true, dataType = "Integer")
|
||||
@PostMapping(value = "/delete")
|
||||
public Result<MaterialApproachRecord> delete(@RequestParam(name = "id", required = true) String id) {
|
||||
materialApproachRecordService.removeById(id);
|
||||
public Result<MaterialApproachRecord> delete(@RequestBody String id) {
|
||||
materialApproachRecordService.removeById(JSON.parseObject(id).get("id").toString());
|
||||
return Result.ok();
|
||||
}
|
||||
|
||||
|
||||
@ -6,6 +6,7 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.zhgd.jeecg.common.api.vo.Result;
|
||||
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.SumQualifiedRatioVO;
|
||||
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 = "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) {
|
||||
return Result.success(materialDetectionReportService.limitByDetectionDate(projectSn, size));
|
||||
public Result<List<MaterialDetectionReport>> limitByDetectionDate(DetectionDateQO qo) {
|
||||
return Result.success(materialDetectionReportService.limitByDetectionDate(qo));
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@ -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;
|
||||
}
|
||||
@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.baomidou.mybatisplus.extension.service.IService;
|
||||
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.SumQualifiedRatioVO;
|
||||
|
||||
@ -27,6 +28,6 @@ public interface MaterialDetectionReportService extends IService<MaterialDetecti
|
||||
*/
|
||||
SumQualifiedRatioVO getQualifiedRatio(String projectSn);
|
||||
|
||||
List<MaterialDetectionReport> limitByDetectionDate(String projectSn, Integer size);
|
||||
List<MaterialDetectionReport> limitByDetectionDate(DetectionDateQO qo);
|
||||
}
|
||||
|
||||
|
||||
@ -8,10 +8,12 @@ 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.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.SumQualifiedRatioVO;
|
||||
import com.zhgd.xmgl.modules.material.mapper.MaterialDetectionReportMapper;
|
||||
import com.zhgd.xmgl.modules.material.service.MaterialDetectionReportService;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
@ -68,10 +70,16 @@ public class MaterialDetectionReportServiceImpl extends ServiceImpl<MaterialDete
|
||||
}
|
||||
|
||||
@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);
|
||||
return materialDetectionReportMapper.selectPage(new Page<>(1, size), wrapper).getRecords();
|
||||
return materialDetectionReportMapper.selectPage(new Page<>(1, qo.getSize()), wrapper).getRecords();
|
||||
}
|
||||
}
|
||||
@ -1,5 +1,7 @@
|
||||
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 io.swagger.annotations.ApiModel;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
@ -48,6 +50,14 @@ public class ActualProgressVO {
|
||||
@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd")
|
||||
@DateTimeFormat(pattern = "yyyy-MM-dd")
|
||||
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延迟
|
||||
@ -55,11 +65,12 @@ public class ActualProgressVO {
|
||||
@ApiModelProperty(value = "状态,1提前 ,2正常,3延迟")
|
||||
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.startDate = startDate;
|
||||
this.finishDate = finishDate;
|
||||
this.actualStartDate = actualStartDate;
|
||||
this.actualFinishDate = actualFinishDate;
|
||||
this.status = status;
|
||||
}
|
||||
}
|
||||
|
||||
@ -403,22 +403,25 @@ public class ProgressTaskServiceImpl extends ServiceImpl<ProgressTaskMapper, Pro
|
||||
}
|
||||
return progressTaskList.stream().map(progressTask -> {
|
||||
Date startDate = progressTask.getStartDate();
|
||||
Date finishDate = progressTask.getFinishDate();
|
||||
Date actualStartDate = progressTask.getActualStartDate();
|
||||
|
||||
Date actualFinishDate = progressTask.getActualFinishDate();
|
||||
long datePeriod = finishDate.getTime() - startDate.getTime();
|
||||
int status;
|
||||
if (actualStartDate == null || (startDate.getTime() < actualStartDate.getTime())
|
||||
|| (progressTask.getActualFinishDate() != null && progressTask.getActualFinishDate().getTime() > progressTask.getFinishDate().getTime())
|
||||
|| (progressTask.getActualFinishDate() == null && progressTask.getFinishDate().before(new Date()))) {
|
||||
// 实际开始时间晚于预计开始时间
|
||||
status = 3;
|
||||
} else if (startDate.getTime() > actualStartDate.getTime()) {
|
||||
// 实际开始时间比预计开始时间早
|
||||
//状态 1:提前 2正常 3延迟
|
||||
if (actualStartDate != null && actualFinishDate != null && actualFinishDate.getTime() - actualStartDate.getTime() < datePeriod) {
|
||||
//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;
|
||||
} 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());
|
||||
}
|
||||
|
||||
|
||||
@ -74,7 +74,7 @@ public class WindowDisplayController {
|
||||
@GetMapping(value = "/list")
|
||||
@ApiOperation(value = "所有亮点展示")
|
||||
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")));
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user