diff --git a/securitycontrol-commons/securitycontrol-commons-entity/src/main/java/com/securitycontrol/entity/system/base/vo/GxPlanVo.java b/securitycontrol-commons/securitycontrol-commons-entity/src/main/java/com/securitycontrol/entity/system/base/vo/GxPlanVo.java index 26dfaf2..0df2c61 100644 --- a/securitycontrol-commons/securitycontrol-commons-entity/src/main/java/com/securitycontrol/entity/system/base/vo/GxPlanVo.java +++ b/securitycontrol-commons/securitycontrol-commons-entity/src/main/java/com/securitycontrol/entity/system/base/vo/GxPlanVo.java @@ -16,16 +16,13 @@ public class GxPlanVo { @ApiModelProperty(value = "计划ID") private String planId; - @ApiModelProperty(value = "工序计划名称") - private String planName; - @ApiModelProperty(value = "标段工程编码") private String bidCode; - @ApiModelProperty(value = "工序id") + @ApiModelProperty(value = "工序id/杆塔ID") private String gxId; - @ApiModelProperty(value = "工序名称") + @ApiModelProperty(value = "工序名称/杆塔名称") private String gxName; @ApiModelProperty(value = "工序作业权重") diff --git a/securitycontrol-model/securitycontrol-system/src/main/java/com/securitycontrol/system/base/service/impl/ProServiceImpl.java b/securitycontrol-model/securitycontrol-system/src/main/java/com/securitycontrol/system/base/service/impl/ProServiceImpl.java index 6fafeb2..b6bdb17 100644 --- a/securitycontrol-model/securitycontrol-system/src/main/java/com/securitycontrol/system/base/service/impl/ProServiceImpl.java +++ b/securitycontrol-model/securitycontrol-system/src/main/java/com/securitycontrol/system/base/service/impl/ProServiceImpl.java @@ -81,7 +81,7 @@ public class ProServiceImpl implements IProService { } String proId = UUID.randomUUID().toString().replace("-", ""); int result = mapper.proIsExist(vo); - if(result > 0){ + if (result > 0) { return AjaxResult.error("标段编码已存在"); } if (StringUtils.isBlank(vo.getProId())) { @@ -235,8 +235,10 @@ public class ProServiceImpl implements IProService { List lstError = new ArrayList<>(); List list = new ArrayList<>(); if (lstObj != null && lstObj.size() > 0) { - list = new ArrayList<>(); - lstError = new ArrayList<>(); + lstError = getLstError(lstObj); + if (CollectionUtils.isNotEmpty(lstError)) { + return AjaxResult.error("excel数据有误,请仔细检查", lstError); + } for (JSONObject obj : lstObj) { ProImportVo vo = new ProImportVo(); ProVo proVo = new ProVo(); @@ -279,6 +281,123 @@ public class ProServiceImpl implements IProService { return AjaxResult.success(); } + + public List getLstError(List lstObj) { + List lstError = new ArrayList<>(); + for (JSONObject obj : lstObj) { + JSONObject errorObj0 = validateData(obj, "proName", "工程名称", 50,0); + if (errorObj0 != null) { + lstError.add(errorObj0); + continue; + } + JSONObject errorObj = validateData(obj, "org", "建管单位", 0,0); + if (errorObj != null) { + lstError.add(errorObj); + continue; + } + JSONObject errorObj2 = validateData(obj, "bidCode", "标段编码", 50,1); + if (errorObj2 != null) { + lstError.add(errorObj2); + continue; + } + + JSONObject errorObj3 = validateData(obj, "signCode", "单项编码", 50,0); + if (errorObj3 != null) { + lstError.add(errorObj3); + continue; + } + JSONObject errorObj4 = validateData(obj, "proCode", "工程编码", 50,0); + if (errorObj4 != null) { + lstError.add(errorObj4); + continue; + } + JSONObject errorObj5 = validateData(obj, "proCost", "工程成本", 50,0); + if (errorObj5 != null) { + lstError.add(errorObj5); + continue; + } + JSONObject errorObj6 = validateData(obj, "sgUnit", "施工单位", 30,0); + if (errorObj6 != null) { + lstError.add(errorObj6); + continue; + } + JSONObject errorObj7 = validateData(obj, "jlUnit", "监理单位", 30,0); + if (errorObj7 != null) { + lstError.add(errorObj7); + continue; + } + JSONObject errorObj8 = validateData(obj, "proType", "工程类型", 10,0); + if (errorObj8 != null) { + lstError.add(errorObj8); + continue; + } + JSONObject errorObj9 = validateData(obj, "proScale", "工程规模", 300,0); + if (errorObj9 != null) { + lstError.add(errorObj9); + continue; + } + JSONObject errorObj10 = validateData(obj, "manager", "项目经理", 10,0); + if (errorObj10 != null) { + lstError.add(errorObj10); + continue; + } + JSONObject errorObj11 = validateData(obj, "proBrief", "工程简介", 0,0); + if (errorObj11 != null) { + lstError.add(errorObj11); + continue; + } + JSONObject errorObj12 = validateData(obj, "status", "工程状态", 10,0); + if (errorObj12 != null) { + lstError.add(errorObj12); + continue; + } + JSONObject errorObj13 = validateData(obj, "status", "计划开始时间", 0,0); + if (errorObj13 != null) { + lstError.add(errorObj13); + continue; + } + JSONObject errorObj14 = validateData(obj, "planEndTime", "计划结束时间", 0,0); + if (errorObj14 != null) { + lstError.add(errorObj14); + continue; + } + } + return lstError; + } + + public JSONObject validateData(JSONObject obj, String dataValue, String dataName, int length,int type) { + if (StringUtils.isBlank(obj.getString(dataValue))) { + JSONObject error = new JSONObject(); + error.put("errorRow", obj.getString("rowNo")); + error.put("errorLine", dataName); + error.put("errorData", ""); + error.put("errorMsg", dataName + "不能为空"); + return error; + } + if (StringUtils.isNotEmpty(obj.getString(dataValue)) && obj.getString(dataValue).length() > length && length > 0 ) { + JSONObject error = new JSONObject(); + error.put("errorRow", obj.getString("rowNo")); + error.put("errorLine", dataName); + error.put("errorData", obj.getString(dataValue)); + error.put("errorMsg", dataName + "字符长度不能超过" + length); + return error; + } + if(StringUtils.isNotEmpty(obj.getString(dataValue)) && type > 0){ + ProVo proVo = new ProVo(); + proVo.setBidCode(obj.getString(dataValue)); + int result = mapper.proIsExist(proVo); + if(result > 0){ + JSONObject error = new JSONObject(); + error.put("errorRow", obj.getString("rowNo")); + error.put("errorLine", dataName); + error.put("errorData", obj.getString(dataValue)); + error.put("errorMsg", dataName + "已存在"); + return error; + } + } + return null; + } + public ProImportVo setProData(ProImportVo vo, JSONObject obj) { String proId = UUID.randomUUID().toString().replace("-", ""); vo.setProId(proId); @@ -338,7 +457,7 @@ public class ProServiceImpl implements IProService { return fileVo; } - public static String getBuildCode(String buildName){ + public static String getBuildCode(String buildName) { if (!StringUtils.isEmpty(buildName)) { for (String build : Constant.BUILD_ARR) { if (build.contains(buildName)) { @@ -403,7 +522,7 @@ public class ProServiceImpl implements IProService { public AjaxResult delGxPlanById(GxPlanDto dto) { try { int result = mapper.hasGxProgress(dto); - if(result > 0){ + if (result > 0) { return AjaxResult.error("当前工序计划存在填报进度"); } mapper.delGxPlanById(dto); diff --git a/securitycontrol-model/securitycontrol-system/src/main/resources/mapper/base/ProMapper.xml b/securitycontrol-model/securitycontrol-system/src/main/resources/mapper/base/ProMapper.xml index 0abcfff..536a093 100644 --- a/securitycontrol-model/securitycontrol-system/src/main/resources/mapper/base/ProMapper.xml +++ b/securitycontrol-model/securitycontrol-system/src/main/resources/mapper/base/ProMapper.xml @@ -245,7 +245,6 @@ @@ -273,7 +273,8 @@ tgp.start_time AS startTime, tgp.end_time AS endTime, tgp.dela_reason AS delaReason, - tgp.bid_code AS bidCode + tgp.bid_code AS bidCode, + tgp.gx_id AS gxId FROM tb_gx_plan tgp WHERE tgp.bid_code = #{bidCode} AND tgp.plan_id =#{planId} diff --git a/securitycontrol-model/securitycontrol-system/src/main/resources/mapper/base/ProScheduleMapper.xml b/securitycontrol-model/securitycontrol-system/src/main/resources/mapper/base/ProScheduleMapper.xml index 86381cd..e9d5638 100644 --- a/securitycontrol-model/securitycontrol-system/src/main/resources/mapper/base/ProScheduleMapper.xml +++ b/securitycontrol-model/securitycontrol-system/src/main/resources/mapper/base/ProScheduleMapper.xml @@ -75,7 +75,6 @@