From 523b2a3317ba68ebc59517b57f5dc43be43a550c Mon Sep 17 00:00:00 2001 From: Administrator <1923636941@qq.com> Date: Fri, 14 Apr 2023 14:00:58 +0800 Subject: [PATCH] =?UTF-8?q?=E4=B8=89=E6=B1=9F-=E4=B8=9A=E5=8A=A1=E4=B8=AD?= =?UTF-8?q?=E5=8F=B0=E8=B4=A8=E9=87=8F=E8=AE=B0=E5=BD=95=E5=90=8C=E6=AD=A5?= =?UTF-8?q?=E4=BB=A3=E7=A0=81=E7=BC=96=E5=86=99?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/zhgd/xmgl/call/SanjiangDataCall.java | 233 +++++++++++++++++- .../modules/car/mapper/xml/CarInfoMapper.xml | 3 +- .../car/service/impl/CarInfoServiceImpl.java | 6 + .../entity/SjSendQualityInspectionRecord.java | 95 +++++++ .../entity/SjSendQualityRectifyRecord.java | 37 +++ .../QualityInspectionRecordServiceImpl.java | 2 + .../impl/QualityRectifyRecordServiceImpl.java | 39 +-- .../resources/application-nc-gsx.properties | 74 ++++++ 8 files changed, 470 insertions(+), 19 deletions(-) create mode 100644 src/main/java/com/zhgd/xmgl/modules/quality/entity/SjSendQualityInspectionRecord.java create mode 100644 src/main/java/com/zhgd/xmgl/modules/quality/entity/SjSendQualityRectifyRecord.java create mode 100644 src/main/resources/application-nc-gsx.properties diff --git a/src/main/java/com/zhgd/xmgl/call/SanjiangDataCall.java b/src/main/java/com/zhgd/xmgl/call/SanjiangDataCall.java index 114b5ecab..f1b267fce 100644 --- a/src/main/java/com/zhgd/xmgl/call/SanjiangDataCall.java +++ b/src/main/java/com/zhgd/xmgl/call/SanjiangDataCall.java @@ -1,18 +1,25 @@ package com.zhgd.xmgl.call; +import cn.hutool.core.date.DateUtil; import cn.hutool.http.HttpUtil; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.gexin.fastjson.JSON; +import com.gexin.fastjson.TypeReference; 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.Project; import com.zhgd.xmgl.modules.project.mapper.ProjectMapper; +import com.zhgd.xmgl.modules.quality.entity.QualityInspectionRecord; +import com.zhgd.xmgl.modules.quality.entity.QualityRectifyRecord; +import com.zhgd.xmgl.modules.quality.entity.SjSendQualityInspectionRecord; +import com.zhgd.xmgl.modules.quality.entity.SjSendQualityRectifyRecord; import com.zhgd.xmgl.modules.worker.entity.EnterpriseInfo; import com.zhgd.xmgl.modules.worker.mapper.EnterpriseInfoMapper; import com.zhgd.xmgl.util.ProfileJudgeUtil; +import lombok.Data; import lombok.extern.slf4j.Slf4j; import org.apache.commons.lang3.StringUtils; import org.springframework.beans.factory.annotation.Autowired; @@ -21,6 +28,9 @@ import org.springframework.scheduling.annotation.Async; import org.springframework.stereotype.Component; import java.util.ArrayList; +import java.util.List; +import java.util.stream.Collectors; +import java.util.stream.Stream; /** * 三江业务中台远程调用 @@ -362,7 +372,8 @@ public class SanjiangDataCall { } return null; } - /** + + /** * 获取安全的复查记录的状态 * * @param status @@ -382,4 +393,224 @@ public class SanjiangDataCall { return null; } + @Async + public void sendAddQualityInspectionRecord(QualityInspectionRecord qir) { + if (judgeSjEnvironment()) { + log.info("sendAddQualityInspectionRecord:{}", qir); + String uri = "seeyon/quality/add.sj"; + String url = gateWayUrl + uri; + String body = buildBodyQualityInspectionRecord(qir); + 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 buildBodyQualityInspectionRecord(QualityInspectionRecord q) { + SjSendQualityInspectionRecord r = new SjSendQualityInspectionRecord(); + r.setId(q.getId()); + r.setRegionName(q.getRegionName()); + r.setDangerItemContent(q.getDangerItemContent()); + r.setProblemClassification(q.getDangerItemContent()); + r.setDangerDesc(q.getDangerDesc()); + r.setRemark(q.getRemark()); + r.setAddedDescription(q.getAddedDescription()); + r.setLevelName(getQualityLevelName(q.getLevel())); + r.setUrgentLevelName(getUrgentLevelName(q.getUrgentLevel())); + r.setInspectTime(q.getInspectTime()); + r.setEnterpriseName(getEnterpriseName(q.getEnterpriseSn())); + r.setChangeLimitTime(q.getChangeLimitTime()); + r.setInspectManName(getUserName(q.getInspectManId())); + r.setChangeName(getUserName(q.getChangeId())); + r.setReviewName(getUserName(q.getReviewId())); + r.setVerifyManName(getUserName(q.getVerifyManId())); + r.setNotifyPersonName(getUserName(Long.valueOf(q.getNotifyPerson()))); + r.setStatusName(getQualityStatusName(q.getStatus())); + r.setImageUrl(getQualityImageUrl(q.getImageUrl())); + Project p = getProjectNumber(q.getProjectSn()); + if (p != null) { + r.setProjectNumber(p.getProjectNumber()); + r.setProjectName(p.getProjectName()); + } + return JSON.toJSONString(r); + } + + private String getUrgentLevelName(String urgentLevel) { + //紧急程度,1一般,2严重,3紧要 + if (StringUtils.isBlank(urgentLevel)) { + return null; + } + switch (urgentLevel) { + case "1": + return "一般"; + case "2": + return "严重"; + case "3": + return "紧要"; + } + return null; + } + + private String getQualityImageUrl(String imageUrl) { + if (StringUtils.isBlank(imageUrl)) { + return null; + } + String[] split = StringUtils.split(imageUrl, ","); + //64368d099dd43180920f45a6.png*http://116.169.63.183:7070/image/64368d099dd43180920f45a6.png,64368d119dd43180920f45a7.png*http://116.169.63.183:7070/image/64368d119dd43180920f45a7.png + List urlList = Stream.of(split).map(s -> { + return StringUtils.substringBefore(s, "*"); + }).collect(Collectors.toList()); + return getImageUrl(StringUtils.join(urlList, ",")); + } + + private String getQualityStatusName(Integer status) { + if (status == null) { + return null; + } + switch (status) { + //状态,1无需整改,2待整改,3待复查,4待核验,5合格,6不合格 + case 1: + return "无需整改"; + case 2: + return "待整改"; + case 3: + return "待复查"; + case 4: + return "待核验"; + case 5: + return "合格"; + case 6: + return "不合格"; + } + return null; + } + + private String getQualityLevelName(Integer level) { + if (level == null) { + return null; + } + switch (level) { + //1一级,2二级,3三级,4四级 + case 1: + return "一级"; + case 2: + return "二级"; + case 3: + return "三级"; + case 4: + return "四级"; + } + return null; + } + + /** + * 更新质量记录(只更改状态) + * + * @param qir + */ + @Async + public void sendUpdateQualityInspectionRecord(QualityInspectionRecord qir) { + if (judgeSjEnvironment()) { + log.info("sendUpdateQualityInspectionRecord:{}", qir); + String uri = "seeyon/quality/update.sj"; + String url = gateWayUrl + uri; + SjSendQualityInspectionRecord r = new SjSendQualityInspectionRecord(); + r.setStatusName(getQualityStatusName(qir.getStatus())); + r.setId(qir.getId()); + String body = JSON.toJSONString(r); + 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); + } + } + + /** + * 三江发送业务中台的质量的整改/复查/核验记录 + * + * @param qrr + */ + @Async + public void sendAddQualityRectifyRecord(QualityRectifyRecord qrr, QualityInspectionRecord qi) { + if (judgeSjEnvironment()) { + log.info("sendAddQualityRectifyRecord:{}", qrr); + Integer type = qrr.getType(); + log.info("getType:{}", type); + //类型,1整改记录,2复查记录,3核验记录 + String uri = null; + if (Objects.equal(type, 1)) { + uri = "seeyon/quality/addRectification.sj"; + } + if (Objects.equal(type, 2)) { + uri = "seeyon/quality/addReview.sj"; + } + if (Objects.equal(type, 3)) { + uri = "seeyon/quality/addVerify.sj"; + } + String url = gateWayUrl + uri; + String body = buildBodyQualityThreeRecord(qrr, qi); + 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 buildBodyQualityThreeRecord(QualityRectifyRecord q, QualityInspectionRecord qi) { + SjSendQualityRectifyRecord s = new SjSendQualityRectifyRecord(); + s.setId(q.getId()); + s.setCreateTime(DateUtil.formatDate(DateUtil.parse(q.getCreateTime()))); + s.setCreateUserName(getUserName(q.getCreateUser())); + s.setStatusName(getQualityThreeRecordStatusName(q.getType(), q.getStatus())); + s.setAdditionalRemarks(q.getAdditionalRemarks()); + s.setFileUrl(getQualityThreeRecordFileUrl(q.getFileUrl())); + s.setQualityId(qi.getId()); + return JSON.toJSONString(s); + } + + private String getQualityThreeRecordFileUrl(String fileUrl) { + if (StringUtils.isBlank(fileUrl)) { + return null; + } + ArrayList fileUrls = JSON.parseObject(fileUrl, new TypeReference>() { + }); + List names = fileUrls.stream().map(q -> sjUploadUrlPrefix + q.name).collect(Collectors.toList()); + return StringUtils.join(names, ","); + } + + private String getQualityThreeRecordStatusName(Integer type, Integer status) { + if (type == null || status == null) { + return null; + } + + //1整改记录,2复查记录,3核验记录(整改时候1未整改,2已整改。复查时候1复查不合格,2复查合格。核验时候,1核验不合格,2核验合格) + if (type == 1) { + switch (status) { + case 1: + return "未整改"; + case 2: + return "已整改"; + } + } else if (type == 2) { + switch (status) { + case 1: + return "复查不合格"; + case 2: + return "复查合格"; + } + } else if (type == 3) { + switch (status) { + case 1: + return "核验不合格"; + case 2: + return "核验合格"; + } + } + return null; + } + + @Data + public static class QualityRectifyRecordFileUrl { + private String name; + private String url; + } } diff --git a/src/main/java/com/zhgd/xmgl/modules/car/mapper/xml/CarInfoMapper.xml b/src/main/java/com/zhgd/xmgl/modules/car/mapper/xml/CarInfoMapper.xml index 6b6e56ef8..420bb6631 100644 --- a/src/main/java/com/zhgd/xmgl/modules/car/mapper/xml/CarInfoMapper.xml +++ b/src/main/java/com/zhgd/xmgl/modules/car/mapper/xml/CarInfoMapper.xml @@ -12,6 +12,7 @@ and a.is_black=#{param.isBlack} + order by a.id desc - \ No newline at end of file + diff --git a/src/main/java/com/zhgd/xmgl/modules/car/service/impl/CarInfoServiceImpl.java b/src/main/java/com/zhgd/xmgl/modules/car/service/impl/CarInfoServiceImpl.java index 980db91ae..3f3149b6e 100644 --- a/src/main/java/com/zhgd/xmgl/modules/car/service/impl/CarInfoServiceImpl.java +++ b/src/main/java/com/zhgd/xmgl/modules/car/service/impl/CarInfoServiceImpl.java @@ -1,5 +1,6 @@ package com.zhgd.xmgl.modules.car.service.impl; +import cn.hutool.core.date.DateUtil; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; @@ -64,6 +65,11 @@ public class CarInfoServiceImpl extends ServiceImpl impl if (StringUtils.isBlank(workerName)) { entityMap.put("driver_worker_name",MapUtils.getString(entityMap,"driverName")); } + String addTime = MapUtils.getString(entityMap, "addTime"); + if (StringUtils.isNotBlank(addTime)) { + String time = DateUtil.format(DateUtil.parse(addTime), "yyyy-MM-dd HH:mm:ss"); + entityMap.put("add_time", time); + } } } return page.setRecords(list); diff --git a/src/main/java/com/zhgd/xmgl/modules/quality/entity/SjSendQualityInspectionRecord.java b/src/main/java/com/zhgd/xmgl/modules/quality/entity/SjSendQualityInspectionRecord.java new file mode 100644 index 000000000..a32a5a869 --- /dev/null +++ b/src/main/java/com/zhgd/xmgl/modules/quality/entity/SjSendQualityInspectionRecord.java @@ -0,0 +1,95 @@ +package com.zhgd.xmgl.modules.quality.entity; + +import lombok.Data; + +/** + * 三江发送业务中台的质量的记录 + */ +@Data +public class SjSendQualityInspectionRecord { + /** + * 主键id + */ + private Long id; + /** + * 检查部位 + */ + private String regionName; + /** + * 问题描述 + */ + private String dangerItemContent; + /** + * 问题分类 + */ + private String problemClassification; + /** + * 补充说明 + */ + private String dangerDesc; + /** + * 整改要求 + */ + private String remark; + /** + * 事件描述 + */ + private String addedDescription; + /** + * 问题等级(一级,二级,三级,四级) + */ + private String levelName; + /** + * 紧急程度(一般,严重,紧要) + */ + private String urgentLevelName; + /** + * 检查时间(格式:2023-04-08) + */ + private String inspectTime; + /** + * 分包单位 + */ + private String enterpriseName; + /** + * 整改时限(格式:2023-04-08) + */ + private String changeLimitTime; + /** + * 检查人 + */ + private String inspectManName; + /** + * 整改人 + */ + private String changeName; + /** + * 复查人 + */ + private String reviewName; + /** + * 核验人 + */ + private String verifyManName; + /** + * 通知人 + */ + private String notifyPersonName; + /** + * 状态(无需整改,待整改,待复查,待核验,合格,不合格) + */ + private String statusName; + /** + * 上传图片 + */ + private String imageUrl; + /** + * 项目编号 + */ + private String projectNumber; + /** + * 项目名称 + */ + private String projectName; + +} diff --git a/src/main/java/com/zhgd/xmgl/modules/quality/entity/SjSendQualityRectifyRecord.java b/src/main/java/com/zhgd/xmgl/modules/quality/entity/SjSendQualityRectifyRecord.java new file mode 100644 index 000000000..36ac7c816 --- /dev/null +++ b/src/main/java/com/zhgd/xmgl/modules/quality/entity/SjSendQualityRectifyRecord.java @@ -0,0 +1,37 @@ +package com.zhgd.xmgl.modules.quality.entity; + +import lombok.Data; +/** + * 三江发送业务中台的质量的整改/复查/核验记录 + */ +@Data +public class SjSendQualityRectifyRecord { + /** + * 主键id + */ + private Long id; + /** + * 创建时间(格式:2023-04-08) + */ + private String createTime; + /** + * 用户名称(type=1就是检查人, type=2就是复查人,type=3就是核验人) + */ + private String createUserName; + /** + * 状态(type=1:未整改,已整改。type=2:复查不合格,复查合格。type=3:核验不合格,核验合格) + */ + private String statusName; + /** + * 相关说明 + */ + private String additionalRemarks; + /** + * 图片url + */ + private String fileUrl; + /** + * 质量检查记录id + */ + private Long qualityId; +} diff --git a/src/main/java/com/zhgd/xmgl/modules/quality/service/impl/QualityInspectionRecordServiceImpl.java b/src/main/java/com/zhgd/xmgl/modules/quality/service/impl/QualityInspectionRecordServiceImpl.java index 9f0f7c5bc..67ae7ba95 100644 --- a/src/main/java/com/zhgd/xmgl/modules/quality/service/impl/QualityInspectionRecordServiceImpl.java +++ b/src/main/java/com/zhgd/xmgl/modules/quality/service/impl/QualityInspectionRecordServiceImpl.java @@ -134,6 +134,8 @@ public class QualityInspectionRecordServiceImpl extends ServiceImpl selectRectifyRecordList(Map map) { @@ -43,37 +46,39 @@ public class QualityRectifyRecordServiceImpl extends ServiceImpl