演示平台-物料管理-项目进度

This commit is contained in:
Administrator 2023-04-14 18:46:12 +08:00
parent b79e2d2d26
commit ec18d6b193
3 changed files with 142 additions and 3 deletions

View File

@ -1,5 +1,6 @@
package com.zhgd.xmgl.call; package com.zhgd.xmgl.call;
import cn.hutool.core.date.DateUnit;
import cn.hutool.core.date.DateUtil; import cn.hutool.core.date.DateUtil;
import cn.hutool.http.HttpUtil; import cn.hutool.http.HttpUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
@ -10,7 +11,9 @@ import com.google.common.base.Objects;
import com.zhgd.xmgl.modules.basicdata.entity.SystemUser; import com.zhgd.xmgl.modules.basicdata.entity.SystemUser;
import com.zhgd.xmgl.modules.basicdata.mapper.SystemUserMapper; import com.zhgd.xmgl.modules.basicdata.mapper.SystemUserMapper;
import com.zhgd.xmgl.modules.dangerous.entity.*; import com.zhgd.xmgl.modules.dangerous.entity.*;
import com.zhgd.xmgl.modules.project.entity.ProgressTask;
import com.zhgd.xmgl.modules.project.entity.Project; import com.zhgd.xmgl.modules.project.entity.Project;
import com.zhgd.xmgl.modules.project.entity.SjSendProgressTask;
import com.zhgd.xmgl.modules.project.mapper.ProjectMapper; import com.zhgd.xmgl.modules.project.mapper.ProjectMapper;
import com.zhgd.xmgl.modules.quality.entity.QualityInspectionRecord; import com.zhgd.xmgl.modules.quality.entity.QualityInspectionRecord;
import com.zhgd.xmgl.modules.quality.entity.QualityRectifyRecord; import com.zhgd.xmgl.modules.quality.entity.QualityRectifyRecord;
@ -73,9 +76,9 @@ public class SanjiangDataCall {
log.info("hiddenDangerInspectRecord:{}", hiddenDangerInspectRecord); log.info("hiddenDangerInspectRecord:{}", hiddenDangerInspectRecord);
String uri = "seeyon/safe/add.sj"; String uri = "seeyon/safe/add.sj";
String url = gateWayUrl + uri; String url = gateWayUrl + uri;
String inspectionRecordBody = buildBodyInspectionRecord(hiddenDangerInspectRecord); String body = buildBodyInspectionRecord(hiddenDangerInspectRecord);
log.info("url:{},body:{}", url, inspectionRecordBody); log.info("url:{},body:{}", url, body);
String result = HttpUtil.createPost(url).contentType("application/json").body(inspectionRecordBody).header(apiKeyHeadName, apiKey).execute().body(); String result = HttpUtil.createPost(url).contentType("application/json").body(body).header(apiKeyHeadName, apiKey).execute().body();
log.info("httpRs:{}", result); log.info("httpRs:{}", result);
} }
@ -608,6 +611,71 @@ public class SanjiangDataCall {
return null; return null;
} }
@Async
public void sendUpdateProgressTask(ProgressTask pt) {
if (judgeSjEnvironment()) {
log.info("sendUpdateProgressTask:{}", pt);
String uri = "seeyon/progress/update.sj";
String url = gateWayUrl + uri;
String body = buildBodyProgressTask(pt);
log.info("url:{},body:{}", url, body);
String result = HttpUtil.createPost(url).contentType("application/json").body(body).header(apiKeyHeadName, apiKey).execute().body();
log.info("httpRs:{}", result);
}
}
private String buildBodyProgressTask(ProgressTask pt) {
SjSendProgressTask s = new SjSendProgressTask();
s.setId(pt.getId());
s.setParentId(pt.getParentId());
Project p = getProjectNumber(pt.getProjectSn());
if (p != null) {
s.setProjectNumber(p.getProjectNumber());
s.setProjectName(p.getProjectName());
}
s.setTaskName(pt.getTaskName());
s.setStartDate(DateUtil.formatDate(pt.getStartDate()));
s.setFinishDate(DateUtil.formatDate(pt.getFinishDate()));
s.setActualStartDate(DateUtil.formatDate(pt.getActualStartDate()));
s.setActualFinishDate(DateUtil.formatDate(pt.getActualFinishDate()));
s.setDuration((int) DateUtil.between(pt.getStartDate(), pt.getFinishDate(), DateUnit.DAY));
s.setProgressRatio(pt.getProgressRatio());
s.setDutyUserName(pt.getDutyUserName());
s.setStatusName(getProgressTaskStatusName(pt.getStatus()));
s.setRemark(pt.getRemark());
return JSON.toJSONString(s);
}
private String getProgressTaskStatusName(Integer status) {
if (status == null) {
return null;
}
//未开始进行中已完成
switch (status) {
case 0:
return "未开始";
case 1:
return "进行中";
case 2:
return "已完成";
}
return null;
}
@Async
public void sendAddProgressTask(ProgressTask pt) {
if (judgeSjEnvironment()) {
log.info("sendAddProgressTask:{}", pt);
String uri = "seeyon/progress/add.sj";
String url = gateWayUrl + uri;
String body = buildBodyProgressTask(pt);
log.info("url:{},body:{}", url, body);
String result = HttpUtil.createPost(url).contentType("application/json").body(body).header(apiKeyHeadName, apiKey).execute().body();
log.info("httpRs:{}", result);
}
}
@Data @Data
public static class QualityRectifyRecordFileUrl { public static class QualityRectifyRecordFileUrl {
private String name; private String name;

View File

@ -0,0 +1,64 @@
package com.zhgd.xmgl.modules.project.entity;
import lombok.Data;
@Data
public class SjSendProgressTask {
/**
* 主键id
*/
private Long id;
/**
* 父节点id顶级为0
*/
private Long parentId;
/**
* 项目编号
*/
private String projectNumber;
/**
* 项目名称
*/
private String projectName;
/**
* 任务名称
*/
private String taskName;
/**
* 计划开始日期格式2023-01-03
*/
private String startDate;
/**
* 计划完成日期格式2023-01-03
*/
private String finishDate;
/**
* 实际开始日期格式2023-01-03
*/
private String actualStartDate;
/**
* 实际完成日期格式2023-01-03
*/
private String actualFinishDate;
/**
* 任务工期
*/
private Integer duration;
/**
* 进度比例%
*/
private Double progressRatio;
/**
* 负责人名称
*/
private String dutyUserName;
/**
* 完成状态未开始进行中已完成
*/
private String statusName;
/**
* 备注
*/
private String remark;
}

View File

@ -14,6 +14,7 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.gexin.fastjson.JSON; import com.gexin.fastjson.JSON;
import com.zhgd.jeecg.common.api.vo.Result; import com.zhgd.jeecg.common.api.vo.Result;
import com.zhgd.jeecg.common.execption.ExistException; import com.zhgd.jeecg.common.execption.ExistException;
import com.zhgd.xmgl.call.SanjiangDataCall;
import com.zhgd.xmgl.modules.basicdata.entity.SystemUser; import com.zhgd.xmgl.modules.basicdata.entity.SystemUser;
import com.zhgd.xmgl.modules.basicdata.mapper.SystemUserMapper; import com.zhgd.xmgl.modules.basicdata.mapper.SystemUserMapper;
import com.zhgd.xmgl.modules.basicdata.service.UploadFileService; import com.zhgd.xmgl.modules.basicdata.service.UploadFileService;
@ -55,6 +56,8 @@ import java.util.stream.Collectors;
@Slf4j @Slf4j
@Transactional(rollbackFor = Exception.class) @Transactional(rollbackFor = Exception.class)
public class ProgressTaskServiceImpl extends ServiceImpl<ProgressTaskMapper, ProgressTask> implements ProgressTaskService { public class ProgressTaskServiceImpl extends ServiceImpl<ProgressTaskMapper, ProgressTask> implements ProgressTaskService {
@Autowired
SanjiangDataCall sanjiangDataCall;
@Autowired @Autowired
private ProgressTaskMapper progressTaskMapper; private ProgressTaskMapper progressTaskMapper;
@ -391,6 +394,8 @@ public class ProgressTaskServiceImpl extends ServiceImpl<ProgressTaskMapper, Pro
} }
} }
} }
sanjiangDataCall.sendUpdateProgressTask(progressTask);
} }
/** /**
@ -466,6 +471,8 @@ public class ProgressTaskServiceImpl extends ServiceImpl<ProgressTaskMapper, Pro
checkSaveParam(progressTask); checkSaveParam(progressTask);
setDutyUserName(progressTask); setDutyUserName(progressTask);
progressTaskMapper.insert(progressTask); progressTaskMapper.insert(progressTask);
sanjiangDataCall.sendAddProgressTask(progressTask);
} }
private String getFloorName(ProgressTask progressTask) { private String getFloorName(ProgressTask progressTask) {