diff --git a/src/main/java/com/zhgd/xmgl/call/SanjiangDataCall.java b/src/main/java/com/zhgd/xmgl/call/SanjiangDataCall.java index f1b267fce..155d1a7c7 100644 --- a/src/main/java/com/zhgd/xmgl/call/SanjiangDataCall.java +++ b/src/main/java/com/zhgd/xmgl/call/SanjiangDataCall.java @@ -1,5 +1,6 @@ package com.zhgd.xmgl.call; +import cn.hutool.core.date.DateUnit; import cn.hutool.core.date.DateUtil; import cn.hutool.http.HttpUtil; 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.mapper.SystemUserMapper; 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.SjSendProgressTask; import com.zhgd.xmgl.modules.project.mapper.ProjectMapper; import com.zhgd.xmgl.modules.quality.entity.QualityInspectionRecord; import com.zhgd.xmgl.modules.quality.entity.QualityRectifyRecord; @@ -73,9 +76,9 @@ public class SanjiangDataCall { log.info("hiddenDangerInspectRecord:{}", hiddenDangerInspectRecord); String uri = "seeyon/safe/add.sj"; String url = gateWayUrl + uri; - String inspectionRecordBody = buildBodyInspectionRecord(hiddenDangerInspectRecord); - log.info("url:{},body:{}", url, inspectionRecordBody); - String result = HttpUtil.createPost(url).contentType("application/json").body(inspectionRecordBody).header(apiKeyHeadName, apiKey).execute().body(); + String body = buildBodyInspectionRecord(hiddenDangerInspectRecord); + 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); } @@ -608,6 +611,71 @@ public class SanjiangDataCall { 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 public static class QualityRectifyRecordFileUrl { private String name; diff --git a/src/main/java/com/zhgd/xmgl/modules/project/entity/SjSendProgressTask.java b/src/main/java/com/zhgd/xmgl/modules/project/entity/SjSendProgressTask.java new file mode 100644 index 000000000..80ce85632 --- /dev/null +++ b/src/main/java/com/zhgd/xmgl/modules/project/entity/SjSendProgressTask.java @@ -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; + +} diff --git a/src/main/java/com/zhgd/xmgl/modules/project/service/impl/ProgressTaskServiceImpl.java b/src/main/java/com/zhgd/xmgl/modules/project/service/impl/ProgressTaskServiceImpl.java index 6435b8868..02f8e1ff4 100644 --- a/src/main/java/com/zhgd/xmgl/modules/project/service/impl/ProgressTaskServiceImpl.java +++ b/src/main/java/com/zhgd/xmgl/modules/project/service/impl/ProgressTaskServiceImpl.java @@ -14,6 +14,7 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.gexin.fastjson.JSON; import com.zhgd.jeecg.common.api.vo.Result; 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.mapper.SystemUserMapper; import com.zhgd.xmgl.modules.basicdata.service.UploadFileService; @@ -55,6 +56,8 @@ import java.util.stream.Collectors; @Slf4j @Transactional(rollbackFor = Exception.class) public class ProgressTaskServiceImpl extends ServiceImpl implements ProgressTaskService { + @Autowired + SanjiangDataCall sanjiangDataCall; @Autowired private ProgressTaskMapper progressTaskMapper; @@ -391,6 +394,8 @@ public class ProgressTaskServiceImpl extends ServiceImpl