From b206d0fb7ed2156fffc15511c3e3da43c0930c16 Mon Sep 17 00:00:00 2001 From: guoshengxiong <1923636941@qq.com> Date: Wed, 26 Mar 2025 15:45:32 +0800 Subject: [PATCH] =?UTF-8?q?=E5=8C=85=E5=A4=B4bug=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/zhgd/xmgl/call/HikvisionCall.java | 4 +- src/main/java/com/zhgd/xmgl/constant/Cts.java | 6 ++ .../baotou/entity/WorkerAdmissionDetail.java | 3 + .../WorkerAdmissionDetailServiceImpl.java | 1 + .../impl/WorkerAdmissionServiceImpl.java | 1 + ...rousEngineeringTypeDescribeController.java | 71 ++++++++++++++++--- .../modules/worker/entity/WorkerInfo.java | 2 + .../impl/XzHikvisionSyncServiceImpl.java | 7 -- .../com/zhgd/xmgl/task/HikvisionTask.java | 2 + .../java/com/zhgd/xmgl/util/FlowUtil.java | 25 +++++-- 10 files changed, 97 insertions(+), 25 deletions(-) diff --git a/src/main/java/com/zhgd/xmgl/call/HikvisionCall.java b/src/main/java/com/zhgd/xmgl/call/HikvisionCall.java index 3318622e7..03b2b0ad7 100644 --- a/src/main/java/com/zhgd/xmgl/call/HikvisionCall.java +++ b/src/main/java/com/zhgd/xmgl/call/HikvisionCall.java @@ -2426,7 +2426,7 @@ public class HikvisionCall { HikvisionOrganization hikvisionOrganization = new HikvisionOrganization(); hikvisionOrganization.setClientId(null); hikvisionOrganization.setOrgIndexCode(String.valueOf(teamInfo.getId())); - hikvisionOrganization.setOrgName(teamInfo.getTeamName()); + hikvisionOrganization.setOrgName(teamInfo.getTeamName() + Cts.ISC_SYNC_TEAM_SUFFIX); hikvisionOrganization.setParentIndexCode(StringsUtils.getUniqueEnterpriseId(teamInfo.getEnterpriseId(), project.getProjectSn())); return hikvisionOrganization; } @@ -2528,7 +2528,7 @@ public class HikvisionCall { HikvisionOrganization hikvisionOrganization = new HikvisionOrganization(); hikvisionOrganization.setClientId(null); hikvisionOrganization.setOrgIndexCode(String.valueOf(departmentInfo.getId())); - hikvisionOrganization.setOrgName(departmentInfo.getDepartmentName()); + hikvisionOrganization.setOrgName(departmentInfo.getDepartmentName() + Cts.ISC_SYNC_DEPARTMENT_SUFFIX); hikvisionOrganization.setParentIndexCode(StringsUtils.getUniqueEnterpriseId(departmentInfo.getEnterpriseId(), project.getProjectSn())); return hikvisionOrganization; } diff --git a/src/main/java/com/zhgd/xmgl/constant/Cts.java b/src/main/java/com/zhgd/xmgl/constant/Cts.java index 6ae4a62e4..92607b792 100644 --- a/src/main/java/com/zhgd/xmgl/constant/Cts.java +++ b/src/main/java/com/zhgd/xmgl/constant/Cts.java @@ -115,4 +115,10 @@ public interface Cts { String LIMIT_1 = "limit 1"; public static final String MINIO_1 = "minio-1"; + /** + * 同步isc的班组要加上这个后缀,区分同个单位下同名的部门和班组 + */ + public static final String ISC_SYNC_TEAM_SUFFIX = "(工种)"; + public static final String ISC_SYNC_DEPARTMENT_SUFFIX = "(岗位)"; + } diff --git a/src/main/java/com/zhgd/xmgl/modules/baotou/entity/WorkerAdmissionDetail.java b/src/main/java/com/zhgd/xmgl/modules/baotou/entity/WorkerAdmissionDetail.java index 208d5def9..62665f561 100644 --- a/src/main/java/com/zhgd/xmgl/modules/baotou/entity/WorkerAdmissionDetail.java +++ b/src/main/java/com/zhgd/xmgl/modules/baotou/entity/WorkerAdmissionDetail.java @@ -221,6 +221,9 @@ public class WorkerAdmissionDetail implements Serializable { @Excel(name = "支部名称Id", width = 15) @ApiModelProperty(value = "支部名称Id") private java.lang.Long branchId; + @ApiModelProperty(value = "二级、三级培训证明") + private java.lang.String twoTrainProof; + @TableField(exist = false) private String random; diff --git a/src/main/java/com/zhgd/xmgl/modules/baotou/service/impl/WorkerAdmissionDetailServiceImpl.java b/src/main/java/com/zhgd/xmgl/modules/baotou/service/impl/WorkerAdmissionDetailServiceImpl.java index d0d80cfd7..9fbf84341 100644 --- a/src/main/java/com/zhgd/xmgl/modules/baotou/service/impl/WorkerAdmissionDetailServiceImpl.java +++ b/src/main/java/com/zhgd/xmgl/modules/baotou/service/impl/WorkerAdmissionDetailServiceImpl.java @@ -550,6 +550,7 @@ public class WorkerAdmissionDetailServiceImpl extends ServiceImpl> selectTypeList(@RequestBody Map map) { + public Result> selectTypeList(@RequestBody Map map) { return Result.success(dangerousEngineeringTypeDescribeService.selectTypeDescribeListByTypeId(map)); } /** - * 添加 + * 添加 + * * @param dangerousEngineeringTypeDescribe * @return */ @@ -65,9 +78,9 @@ public class DangerousEngineeringTypeDescribeController { return result; } - /** - * 编辑 + * 编辑 + * * @param * @return */ @@ -77,12 +90,12 @@ public class DangerousEngineeringTypeDescribeController { public Result edit(@RequestBody DangerousEngineeringTypeDescribe dangerousEngineeringTypeDescribe) { Result result = new Result(); DangerousEngineeringTypeDescribe dangerousEngineeringTypeDescribeEntity = dangerousEngineeringTypeDescribeService.getById(dangerousEngineeringTypeDescribe.getId()); - if(dangerousEngineeringTypeDescribeEntity==null) { + if (dangerousEngineeringTypeDescribeEntity == null) { result.error500(MessageUtil.get("notFindErr")); - }else { + } else { boolean ok = dangerousEngineeringTypeDescribeService.updateById(dangerousEngineeringTypeDescribe); - if(ok) { + if (ok) { result.successMsg(MessageUtil.get("editSucess")); } } @@ -93,8 +106,48 @@ public class DangerousEngineeringTypeDescribeController { @ApiOperation(value = "删除危大工程类别描述信息", notes = "删除危大工程类别描述信息", httpMethod = "POST") @ApiImplicitParam(name = "id", value = "危大工程类别描述ID", paramType = "body", required = true, dataType = "Integer") @PostMapping(value = "/delete") - public Result delete(@RequestBody Map map) { - dangerousEngineeringTypeDescribeService.deleteTypeDescribe(MapUtils.getString(map,"id")); + public Result delete(@RequestBody Map map) { + dangerousEngineeringTypeDescribeService.deleteTypeDescribe(MapUtils.getString(map, "id")); return Result.ok(); } + + /** + * 录入危大工程类别和描述数据 + * + * @return + */ + @Transactional(rollbackFor = Exception.class) + @PostMapping(value = "/importData") + public Result importData(@ApiIgnore MultipartFile file) { + List> list = null; + try { + list = ExcelUtils.jxlExlToList(file.getInputStream(), 0); + if (list == null || list.size() == 0) { + throw new OpenAlertException(MessageUtil.get("excelNotDataErr")); + } + String sn = "2e07f0e2569c43fb835ae2082d1d314f"; + String one = null; + Long top1 = null; + for (Map map : list) { + if (StrUtil.isNotBlank(one = map.get("left"))) { + DangerousEngineeringType type = new DangerousEngineeringType(); + type.setTypeName(one); + type.setSn(sn); + dangerousEngineeringTypeService.save(type); + top1 = type.getId(); + } else if (StrUtil.isNotBlank(one = map.get("right"))) { + DangerousEngineeringTypeDescribe desc = new DangerousEngineeringTypeDescribe(); + desc.setTypeId(top1); + desc.setDescribeName(one); + desc.setDangerType(1); + dangerousEngineeringTypeDescribeService.save(desc); + } + } + } catch (Exception e) { + e.printStackTrace(); + throw new OpenAlertException(); + } + return Result.ok(); + } + } diff --git a/src/main/java/com/zhgd/xmgl/modules/worker/entity/WorkerInfo.java b/src/main/java/com/zhgd/xmgl/modules/worker/entity/WorkerInfo.java index 5722cdc42..e61ffa851 100644 --- a/src/main/java/com/zhgd/xmgl/modules/worker/entity/WorkerInfo.java +++ b/src/main/java/com/zhgd/xmgl/modules/worker/entity/WorkerInfo.java @@ -375,6 +375,8 @@ public class WorkerInfo implements Serializable { @Excel(name = "支部名称Id", width = 15) @ApiModelProperty(value = "支部名称Id") private java.lang.Long branchId; + @ApiModelProperty(value = "二级、三级培训证明") + private java.lang.String twoTrainProof; @TableField(exist = false) @ApiModelProperty(value = "人脸分数") private java.lang.Integer faceScore; diff --git a/src/main/java/com/zhgd/xmgl/modules/xz/service/impl/XzHikvisionSyncServiceImpl.java b/src/main/java/com/zhgd/xmgl/modules/xz/service/impl/XzHikvisionSyncServiceImpl.java index dbbe9693d..5099638ec 100644 --- a/src/main/java/com/zhgd/xmgl/modules/xz/service/impl/XzHikvisionSyncServiceImpl.java +++ b/src/main/java/com/zhgd/xmgl/modules/xz/service/impl/XzHikvisionSyncServiceImpl.java @@ -70,13 +70,6 @@ public class XzHikvisionSyncServiceImpl extends ServiceImpl queryPageList(HashMap paramMap) { QueryWrapper queryWrapper = getQueryWrapper(paramMap); diff --git a/src/main/java/com/zhgd/xmgl/task/HikvisionTask.java b/src/main/java/com/zhgd/xmgl/task/HikvisionTask.java index 80bc37018..e56b9f230 100644 --- a/src/main/java/com/zhgd/xmgl/task/HikvisionTask.java +++ b/src/main/java/com/zhgd/xmgl/task/HikvisionTask.java @@ -331,9 +331,11 @@ public class HikvisionTask { JSONObject rtJo = HikvisionUtil.getSubOrgListByParentOrg(project, param); List teamList = teamInfoService.getProjectTeamList(new MapBuilder() .put(Cts.PROJECT_SN, project.getProjectSn()).put(Cts.ENTERPRISE_ID, enterpriseId).build()); + teamList.forEach(o -> o.setTeamName(o.getTeamName() + Cts.ISC_SYNC_TEAM_SUFFIX)); log.info("数据校验我们平台的班组列表:{}", JSON.toJSONString(teamList)); List departmentInfoList = departmentInfoMapper.getDepartmentInfoList(new MapBuilder() .put(Cts.PROJECT_SN, project.getProjectSn()).put(Cts.ENTERPRISE_ID, enterpriseId).build()); + departmentInfoList.forEach(o -> o.setDepartmentName(o.getDepartmentName() + Cts.ISC_SYNC_DEPARTMENT_SUFFIX)); log.info("数据校验我们平台的部门列表:{}", JSON.toJSONString(departmentInfoList)); JSONObject dataJo = HikvisionUtil.getJsonObjectData(rtJo); JSONArray listJa = dataJo.getJSONArray("list"); diff --git a/src/main/java/com/zhgd/xmgl/util/FlowUtil.java b/src/main/java/com/zhgd/xmgl/util/FlowUtil.java index d0f6f7655..9a070ff47 100644 --- a/src/main/java/com/zhgd/xmgl/util/FlowUtil.java +++ b/src/main/java/com/zhgd/xmgl/util/FlowUtil.java @@ -30,7 +30,7 @@ public class FlowUtil { } else if (o instanceof String) { return ((Map) (JSON.parseArray(o.toString())).get(0)).get("url").toString(); } else { - return ((Map) ((List) o).get(0)).get("url").toString(); + return ((Map) getFirstFromListNotNull(o)).get("url").toString(); } }).orElse(null); } @@ -62,7 +62,7 @@ public class FlowUtil { * @return */ public static String getFileUrlWithHost(Map map, String key) { - return Optional.ofNullable(map.get(key)).map(o -> "".equals(o) ? null : PathUtil.getDomain() + ((Map) ((List) o).get(0)).get("url").toString()).orElse(null); + return Optional.ofNullable(map.get(key)).map(o -> "".equals(o) ? null : PathUtil.getDomain() + ((Map) getFirstFromListNotNull(o)).get("url").toString()).orElse(null); } /** @@ -73,7 +73,7 @@ public class FlowUtil { * @return */ public static String getFileOriginFileName(Map map, String key) { - return Optional.ofNullable(map.get(key)).map(o -> "".equals(o) ? null : ((Map) ((List) o).get(0)).get("name").toString()).orElse(null); + return Optional.ofNullable(map.get(key)).map(o -> "".equals(o) ? null : ((Map) getFirstFromListNotNull(o)).get("name").toString()).orElse(null); } /** @@ -95,7 +95,7 @@ public class FlowUtil { } return Long.valueOf(s1); } - Object value = ((List) o).get(0); + Object value = getFirstFromListNotNull(o); if (value instanceof Map) { return MapUtils.getLong(((Map) value), "id"); } else { @@ -127,7 +127,7 @@ public class FlowUtil { } public static Date getStartDate(Map map, String key) { - return Optional.ofNullable(map.get(key)).map(o -> "".equals(o) ? null : DateUtil.parse(Convert.toStr(((List) o).get(0)))).orElse(null); + return Optional.ofNullable(map.get(key)).map(o -> "".equals(o) ? null : DateUtil.parse(Convert.toStr(getFirstFromListNotNull(o)))).orElse(null); } public static Date getEndDate(Map map, String key) { @@ -157,11 +157,22 @@ public class FlowUtil { } public static Integer getPullDownInteger(Map map, String key) { - return Optional.ofNullable(map.get(key)).map(o -> "".equals(o) ? null : Convert.toInt(((List) o).get(0))).orElse(null); + return Optional.ofNullable(map.get(key)).map(o -> "".equals(o) ? null : Convert.toInt(getFirstFromListNotNull(o))).orElse(null); + } + + /** + * 获取列表的第一个(为null就返回null) + * + * @param o + * @return + */ + public static Object getFirstFromListNotNull(Object o) { + List o1 = (List) o; + return CollUtil.isNotEmpty(o1) ? o1.get(0) : null; } public static String getPullDownString(Map map, String key) { - return Optional.ofNullable(map.get(key)).map(o -> "".equals(o) ? null : Convert.toStr(((List) o).get(0))).orElse(null); + return Optional.ofNullable(map.get(key)).map(o -> "".equals(o) ? null : Convert.toStr(getFirstFromListNotNull(o))).orElse(null); } public static String getLongitude(Map map, String key) {