This commit is contained in:
cwchen 2024-03-16 21:18:14 +08:00
parent 35a6335b75
commit b76523e154
5 changed files with 140 additions and 24 deletions

View File

@ -16,16 +16,13 @@ public class GxPlanVo {
@ApiModelProperty(value = "计划ID") @ApiModelProperty(value = "计划ID")
private String planId; private String planId;
@ApiModelProperty(value = "工序计划名称")
private String planName;
@ApiModelProperty(value = "标段工程编码") @ApiModelProperty(value = "标段工程编码")
private String bidCode; private String bidCode;
@ApiModelProperty(value = "工序id") @ApiModelProperty(value = "工序id/杆塔ID")
private String gxId; private String gxId;
@ApiModelProperty(value = "工序名称") @ApiModelProperty(value = "工序名称/杆塔名称")
private String gxName; private String gxName;
@ApiModelProperty(value = "工序作业权重") @ApiModelProperty(value = "工序作业权重")

View File

@ -81,7 +81,7 @@ public class ProServiceImpl implements IProService {
} }
String proId = UUID.randomUUID().toString().replace("-", ""); String proId = UUID.randomUUID().toString().replace("-", "");
int result = mapper.proIsExist(vo); int result = mapper.proIsExist(vo);
if(result > 0){ if (result > 0) {
return AjaxResult.error("标段编码已存在"); return AjaxResult.error("标段编码已存在");
} }
if (StringUtils.isBlank(vo.getProId())) { if (StringUtils.isBlank(vo.getProId())) {
@ -235,8 +235,10 @@ public class ProServiceImpl implements IProService {
List<JSONObject> lstError = new ArrayList<>(); List<JSONObject> lstError = new ArrayList<>();
List<ProImportVo> list = new ArrayList<>(); List<ProImportVo> list = new ArrayList<>();
if (lstObj != null && lstObj.size() > 0) { if (lstObj != null && lstObj.size() > 0) {
list = new ArrayList<>(); lstError = getLstError(lstObj);
lstError = new ArrayList<>(); if (CollectionUtils.isNotEmpty(lstError)) {
return AjaxResult.error("excel数据有误请仔细检查", lstError);
}
for (JSONObject obj : lstObj) { for (JSONObject obj : lstObj) {
ProImportVo vo = new ProImportVo(); ProImportVo vo = new ProImportVo();
ProVo proVo = new ProVo(); ProVo proVo = new ProVo();
@ -279,6 +281,123 @@ public class ProServiceImpl implements IProService {
return AjaxResult.success(); return AjaxResult.success();
} }
public List<JSONObject> getLstError(List<JSONObject> lstObj) {
List<JSONObject> 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) { public ProImportVo setProData(ProImportVo vo, JSONObject obj) {
String proId = UUID.randomUUID().toString().replace("-", ""); String proId = UUID.randomUUID().toString().replace("-", "");
vo.setProId(proId); vo.setProId(proId);
@ -338,7 +457,7 @@ public class ProServiceImpl implements IProService {
return fileVo; return fileVo;
} }
public static String getBuildCode(String buildName){ public static String getBuildCode(String buildName) {
if (!StringUtils.isEmpty(buildName)) { if (!StringUtils.isEmpty(buildName)) {
for (String build : Constant.BUILD_ARR) { for (String build : Constant.BUILD_ARR) {
if (build.contains(buildName)) { if (build.contains(buildName)) {
@ -403,7 +522,7 @@ public class ProServiceImpl implements IProService {
public AjaxResult delGxPlanById(GxPlanDto dto) { public AjaxResult delGxPlanById(GxPlanDto dto) {
try { try {
int result = mapper.hasGxProgress(dto); int result = mapper.hasGxProgress(dto);
if(result > 0){ if (result > 0) {
return AjaxResult.error("当前工序计划存在填报进度"); return AjaxResult.error("当前工序计划存在填报进度");
} }
mapper.delGxPlanById(dto); mapper.delGxPlanById(dto);

View File

@ -245,7 +245,6 @@
<!--获取工序列表--> <!--获取工序列表-->
<select id="getGxPlanLists" resultType="com.securitycontrol.entity.system.base.vo.GxPlanVo"> <select id="getGxPlanLists" resultType="com.securitycontrol.entity.system.base.vo.GxPlanVo">
SELECT tgp.plan_id AS planId, SELECT tgp.plan_id AS planId,
tgp.plan_name AS planName,
tgp.gx_weight AS gxWeight, tgp.gx_weight AS gxWeight,
tgp.plan_start_time AS planStartTime, tgp.plan_start_time AS planStartTime,
tgp.plan_end_time AS planEndTime, tgp.plan_end_time AS planEndTime,
@ -253,14 +252,15 @@
tgp.end_time AS endTime, tgp.end_time AS endTime,
tgp.dela_reason AS delaReason, tgp.dela_reason AS delaReason,
tgp.bid_code AS bidCode, tgp.bid_code AS bidCode,
sd.dict_name AS gxName sd.dict_name AS gxName,
IFNULL(sd.dict_name,tpg.gt_name) AS gxName
FROM tb_gx_plan tgp FROM tb_gx_plan tgp
LEFT JOIN sys_dict sd ON sd.dict_code = tgp.gx_id LEFT JOIN sys_dict sd ON sd.dict_code = tgp.gx_id
LEFT JOIN t_pro_gt tpg ON tgp.gx_id = tpg.gt_id
WHERE tgp.bid_code = #{bidCode} WHERE tgp.bid_code = #{bidCode}
<if test="keyWord!=null and keyWord!=''"> <if test="keyWord!=null and keyWord!=''">
AND ( AND (
INSTR(tgp.gx_weight,#{keyWord}) > 0 OR INSTR(tgp.gx_weight,#{keyWord}) > 0
INSTR(tgp.plan_name,#{keyWord}) > 0
) )
</if> </if>
</select> </select>
@ -273,7 +273,8 @@
tgp.start_time AS startTime, tgp.start_time AS startTime,
tgp.end_time AS endTime, tgp.end_time AS endTime,
tgp.dela_reason AS delaReason, 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 FROM tb_gx_plan tgp
WHERE tgp.bid_code = #{bidCode} AND tgp.plan_id =#{planId} WHERE tgp.bid_code = #{bidCode} AND tgp.plan_id =#{planId}
</select> </select>

View File

@ -75,7 +75,6 @@
<!--获取工序计划列表--> <!--获取工序计划列表-->
<select id="getGxPlanLists" resultType="com.securitycontrol.entity.system.base.vo.GxPlanVo"> <select id="getGxPlanLists" resultType="com.securitycontrol.entity.system.base.vo.GxPlanVo">
SELECT tgp.plan_id AS planId, SELECT tgp.plan_id AS planId,
tgp.plan_name AS planName,
tgp.gx_weight AS gxWeight, tgp.gx_weight AS gxWeight,
tgp.plan_start_time AS planStartTime, tgp.plan_start_time AS planStartTime,
tgp.plan_end_time AS planEndTime, tgp.plan_end_time AS planEndTime,
@ -85,26 +84,26 @@
tgp.bid_code AS bidCode, tgp.bid_code AS bidCode,
sd.dict_name AS gxName, sd.dict_name AS gxName,
tgp.bid_code AS bidCode, tgp.bid_code AS bidCode,
tgp.gx_id AS gxId tgp.gx_id AS gxId,
IFNULL(sd.dict_name,tpg.gt_name) AS gxName
FROM tb_gx_plan tgp FROM tb_gx_plan tgp
LEFT JOIN sys_dict sd ON sd.dict_code = tgp.gx_id LEFT JOIN sys_dict sd ON sd.dict_code = tgp.gx_id
LEFT JOIN t_pro_gt tpg ON tgp.gx_id = tpg.gt_id
WHERE tgp.bid_code = #{bidCode} WHERE tgp.bid_code = #{bidCode}
<if test="keyWord!=null and keyWord!=''"> <if test="keyWord!=null and keyWord!=''">
AND ( AND (
INSTR(tgp.gx_weight,#{keyWord}) > 0 OR INSTR(tgp.gx_weight,#{keyWord}) > 0
INSTR(tgp.plan_name,#{keyWord}) > 0
) )
</if> </if>
</select> </select>
<!--工序计划延期提醒--> <!--工序计划延期提醒-->
<select id="getGxPlansIsDela" resultType="java.lang.String"> <select id="getGxPlansIsDela" resultType="java.lang.String">
SELECT plan_name FROM tb_gx_plan WHERE bid_code = #{bidCode} AND end_time IS NULL AND plan_end_time = CURRENT_DATE SELECT plan_id FROM tb_gx_plan WHERE bid_code = #{bidCode} AND end_time IS NULL AND plan_end_time = CURRENT_DATE
</select> </select>
<!--获取工序计划进度列表--> <!--获取工序计划进度列表-->
<select id="getGxPlanProgressLists" <select id="getGxPlanProgressLists"
resultType="com.securitycontrol.entity.system.base.vo.GxPlanProgressVo"> resultType="com.securitycontrol.entity.system.base.vo.GxPlanProgressVo">
SELECT tgp.plan_name AS planName, SELECT tpp.gx_progress AS gxProgress,
tpp.gx_progress AS gxProgress,
tpp.create_time AS createTime tpp.create_time AS createTime
FROM tb_project_progress tpp FROM tb_project_progress tpp
LEFT JOIN tb_gx_plan tgp ON tpp.plan_id = tgp.plan_id LEFT JOIN tb_gx_plan tgp ON tpp.plan_id = tgp.plan_id

View File

@ -54,7 +54,7 @@
</select> </select>
<!--杆塔下拉选--> <!--杆塔下拉选-->
<select id="getTowerLists" resultType="com.securitycontrol.entity.system.vo.SelectVo"> <select id="getTowerLists" resultType="com.securitycontrol.entity.system.vo.SelectVo">
<if test="type == 1"> <if test="proType == 1">
SELECT sd2.dict_code AS id, SELECT sd2.dict_code AS id,
sd2.dict_name AS name sd2.dict_name AS name
FROM sys_dict sd FROM sys_dict sd
@ -62,7 +62,7 @@
WHERE sd.dict_code = #{param} AND sd.del_flag = 0 WHERE sd.dict_code = #{param} AND sd.del_flag = 0
ORDER BY sd2.dict_sort ORDER BY sd2.dict_sort
</if> </if>
<if test="type == 2"> <if test="proType == 2">
SELECT gt_id AS id, SELECT gt_id AS id,
gt_name AS name gt_name AS name
FROM t_pro_gt WHERE bid_code = #{param} FROM t_pro_gt WHERE bid_code = #{param}