update:整车型号导入校验
This commit is contained in:
+5
@@ -10,7 +10,9 @@ import com.jero.modules.activiti.process.common.service.ActFlowCommonService;
|
|||||||
import com.jero.modules.activiti.process.fb.vo.ProcessInfoVO;
|
import com.jero.modules.activiti.process.fb.vo.ProcessInfoVO;
|
||||||
import com.jero.modules.activiti.process.vehicledomestic.service.IProcessVehicleDomesticReleaseService;
|
import com.jero.modules.activiti.process.vehicledomestic.service.IProcessVehicleDomesticReleaseService;
|
||||||
import com.jero.modules.activiti.process.vehicledomestic.vo.ProcessVehicleDomesticReleaseVo;
|
import com.jero.modules.activiti.process.vehicledomestic.vo.ProcessVehicleDomesticReleaseVo;
|
||||||
|
import io.swagger.annotations.Api;
|
||||||
import io.swagger.annotations.ApiOperation;
|
import io.swagger.annotations.ApiOperation;
|
||||||
|
import lombok.extern.slf4j.Slf4j;
|
||||||
import org.apache.poi.ss.formula.functions.T;
|
import org.apache.poi.ss.formula.functions.T;
|
||||||
import org.springframework.validation.annotation.Validated;
|
import org.springframework.validation.annotation.Validated;
|
||||||
import org.springframework.web.bind.annotation.*;
|
import org.springframework.web.bind.annotation.*;
|
||||||
@@ -26,6 +28,8 @@ import javax.servlet.http.HttpServletRequest;
|
|||||||
* @author sz
|
* @author sz
|
||||||
* @since 2024-09-23
|
* @since 2024-09-23
|
||||||
*/
|
*/
|
||||||
|
@Slf4j
|
||||||
|
@Api(tags = "国内整车型号和VIN前八位管控流程 ")
|
||||||
@RestController
|
@RestController
|
||||||
@RequestMapping("/process/vehicle/domestic")
|
@RequestMapping("/process/vehicle/domestic")
|
||||||
public class ProcessVehicleDomesticReleaseController {
|
public class ProcessVehicleDomesticReleaseController {
|
||||||
@@ -100,4 +104,5 @@ public class ProcessVehicleDomesticReleaseController {
|
|||||||
return Result.OK(processVehicleDomesticReleaseService.getHandleData(taskId));
|
return Result.OK(processVehicleDomesticReleaseService.getHandleData(taskId));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
+112
-118
@@ -3,11 +3,13 @@ package com.jero.modules.activiti.process.vehicledomestic.service.impl;
|
|||||||
import com.alibaba.fastjson.JSONObject;
|
import com.alibaba.fastjson.JSONObject;
|
||||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||||
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
|
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
|
||||||
|
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||||
import com.jero.common.api.vo.Result;
|
import com.jero.common.api.vo.Result;
|
||||||
import com.jero.common.api.vo.ResultCommon;
|
import com.jero.common.api.vo.ResultCommon;
|
||||||
import com.jero.common.exception.JeroBootException;
|
import com.jero.common.exception.JeroBootException;
|
||||||
import com.jero.common.system.base.controller.JeroController;
|
import com.jero.common.system.base.controller.JeroController;
|
||||||
|
import com.jero.common.system.vo.DictModel;
|
||||||
import com.jero.common.util.ImportExcelUtil;
|
import com.jero.common.util.ImportExcelUtil;
|
||||||
import com.jero.modules.activiti.common.ActivitiCommon;
|
import com.jero.modules.activiti.common.ActivitiCommon;
|
||||||
import com.jero.modules.activiti.entity.ProcessAll;
|
import com.jero.modules.activiti.entity.ProcessAll;
|
||||||
@@ -32,14 +34,18 @@ import com.jero.modules.laws.businessSupport.entity.LawsVehicleDomesticLibrary;
|
|||||||
import com.jero.modules.laws.businessSupport.entity.LawsVehicleDomesticLibrarySublist;
|
import com.jero.modules.laws.businessSupport.entity.LawsVehicleDomesticLibrarySublist;
|
||||||
import com.jero.modules.laws.businessSupport.service.ILawsVehicleDomesticLibraryService;
|
import com.jero.modules.laws.businessSupport.service.ILawsVehicleDomesticLibraryService;
|
||||||
import com.jero.modules.laws.businessSupport.service.ILawsVehicleDomesticLibrarySublistService;
|
import com.jero.modules.laws.businessSupport.service.ILawsVehicleDomesticLibrarySublistService;
|
||||||
|
import com.jero.modules.laws.common.service.ILawsCommonService;
|
||||||
|
import com.jero.modules.laws.common.vo.ManyStandardSelectionBox;
|
||||||
|
import com.jero.modules.laws.common.vo.ManyStandardSelectionBoxVO;
|
||||||
|
import com.jero.modules.laws.standard.entity.LawsDomesticStandard;
|
||||||
import com.jero.modules.sys.utils.UserUtils;
|
import com.jero.modules.sys.utils.UserUtils;
|
||||||
|
import com.jero.modules.system.service.ISysDictService;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
import org.activiti.engine.RuntimeService;
|
import org.activiti.engine.RuntimeService;
|
||||||
import org.activiti.engine.TaskService;
|
import org.activiti.engine.TaskService;
|
||||||
import org.activiti.engine.runtime.ProcessInstance;
|
import org.activiti.engine.runtime.ProcessInstance;
|
||||||
import org.activiti.engine.task.Task;
|
import org.activiti.engine.task.Task;
|
||||||
import org.apache.commons.lang3.StringUtils;
|
import org.apache.commons.lang3.StringUtils;
|
||||||
import org.apache.poi.ss.formula.functions.T;
|
|
||||||
import org.jeecgframework.poi.excel.ExcelImportUtil;
|
import org.jeecgframework.poi.excel.ExcelImportUtil;
|
||||||
import org.jeecgframework.poi.excel.def.NormalExcelConstants;
|
import org.jeecgframework.poi.excel.def.NormalExcelConstants;
|
||||||
import org.jeecgframework.poi.excel.entity.ExportParams;
|
import org.jeecgframework.poi.excel.entity.ExportParams;
|
||||||
@@ -47,6 +53,7 @@ import org.jeecgframework.poi.excel.entity.ImportParams;
|
|||||||
import org.jeecgframework.poi.excel.entity.enmus.ExcelType;
|
import org.jeecgframework.poi.excel.entity.enmus.ExcelType;
|
||||||
import org.jeecgframework.poi.excel.view.JeecgEntityExcelView;
|
import org.jeecgframework.poi.excel.view.JeecgEntityExcelView;
|
||||||
import org.springframework.beans.BeanUtils;
|
import org.springframework.beans.BeanUtils;
|
||||||
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
import org.springframework.context.i18n.LocaleContextHolder;
|
import org.springframework.context.i18n.LocaleContextHolder;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
import org.springframework.transaction.annotation.Transactional;
|
import org.springframework.transaction.annotation.Transactional;
|
||||||
@@ -58,6 +65,7 @@ import javax.annotation.Resource;
|
|||||||
import javax.servlet.http.HttpServletRequest;
|
import javax.servlet.http.HttpServletRequest;
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
import java.util.*;
|
import java.util.*;
|
||||||
|
import java.util.function.Consumer;
|
||||||
import java.util.stream.Collectors;
|
import java.util.stream.Collectors;
|
||||||
import static com.jero.modules.activiti.common.ActivitiCommon.PASS;
|
import static com.jero.modules.activiti.common.ActivitiCommon.PASS;
|
||||||
|
|
||||||
@@ -97,6 +105,10 @@ public class ProcessVehicleDomesticReleaseServiceImpl extends ServiceImpl<Proces
|
|||||||
private ILawsVehicleDomesticLibraryService lawsVehicleDomesticLibraryService;
|
private ILawsVehicleDomesticLibraryService lawsVehicleDomesticLibraryService;
|
||||||
@Resource
|
@Resource
|
||||||
private ILawsVehicleDomesticLibrarySublistService lawsVehicleDomesticLibrarySublistService;
|
private ILawsVehicleDomesticLibrarySublistService lawsVehicleDomesticLibrarySublistService;
|
||||||
|
@Resource
|
||||||
|
private ISysDictService sysDictService;
|
||||||
|
@Autowired
|
||||||
|
private ILawsCommonService lawsCommonService;
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public ModelAndView exportTemplateByType(HttpServletRequest request) {
|
public ModelAndView exportTemplateByType(HttpServletRequest request) {
|
||||||
@@ -321,7 +333,7 @@ public class ProcessVehicleDomesticReleaseServiceImpl extends ServiceImpl<Proces
|
|||||||
LawsVehicleDomesticLibrary lawsVehicleDomesticLibrary = lawsVehicleDomesticLibraryService.getOne(lambdaQueryWrapper, false);
|
LawsVehicleDomesticLibrary lawsVehicleDomesticLibrary = lawsVehicleDomesticLibraryService.getOne(lambdaQueryWrapper, false);
|
||||||
if (!Objects.isNull(lawsVehicleDomesticLibrary)) {
|
if (!Objects.isNull(lawsVehicleDomesticLibrary)) {
|
||||||
String msg = (Objects.equals(LocaleContextHolder.getLocale(), Locale.ENGLISH) ?
|
String msg = (Objects.equals(LocaleContextHolder.getLocale(), Locale.ENGLISH) ?
|
||||||
"The vehicleModel:" + jsonObject.getString("vehicleModel") + "is already exist" : "整车型:" + jsonObject.getString("vehicleModel") +"号已存在");
|
"The vehicleModel:" + jsonObject.getString("vehicleModel") + "is already exist" : "整车型号:" + jsonObject.getString("vehicleModel") +"已存在");
|
||||||
Result<String> result = new Result<>();
|
Result<String> result = new Result<>();
|
||||||
result.setMessage(msg);
|
result.setMessage(msg);
|
||||||
result.setSuccess(false); // 前端根据success判断是否通过验证
|
result.setSuccess(false); // 前端根据success判断是否通过验证
|
||||||
@@ -496,10 +508,12 @@ public class ProcessVehicleDomesticReleaseServiceImpl extends ServiceImpl<Proces
|
|||||||
BaseExcel baseExcel = new BaseExcel();
|
BaseExcel baseExcel = new BaseExcel();
|
||||||
BeanUtils.copyProperties(fuelOilExcel, baseExcel);
|
BeanUtils.copyProperties(fuelOilExcel, baseExcel);
|
||||||
validateCommonFields(baseExcel, i, msgSub);
|
validateCommonFields(baseExcel, i, msgSub);
|
||||||
|
BeanUtils.copyProperties(baseExcel, fuelOilExcel);
|
||||||
// 校验燃油类型的特有字段
|
// 校验燃油类型的特有字段
|
||||||
OilAndHybridExcel oilAndHybridExcel = new OilAndHybridExcel();
|
OilAndHybridExcel oilAndHybridExcel = new OilAndHybridExcel();
|
||||||
BeanUtils.copyProperties(fuelOilExcel, oilAndHybridExcel);
|
BeanUtils.copyProperties(fuelOilExcel, oilAndHybridExcel);
|
||||||
validateOilAndHybridFields(oilAndHybridExcel, i , msgSub);
|
validateOilAndHybridFields(oilAndHybridExcel, i , msgSub);
|
||||||
|
BeanUtils.copyProperties(oilAndHybridExcel, fuelOilExcel);
|
||||||
if (msgSub.length() > 0) {
|
if (msgSub.length() > 0) {
|
||||||
msg.append(msgSub).append(NEWLINE_CHARACTER);
|
msg.append(msgSub).append(NEWLINE_CHARACTER);
|
||||||
}
|
}
|
||||||
@@ -517,10 +531,12 @@ public class ProcessVehicleDomesticReleaseServiceImpl extends ServiceImpl<Proces
|
|||||||
BaseExcel baseExcel = new BaseExcel();
|
BaseExcel baseExcel = new BaseExcel();
|
||||||
BeanUtils.copyProperties(pureElectricExcel, baseExcel);
|
BeanUtils.copyProperties(pureElectricExcel, baseExcel);
|
||||||
validateCommonFields(baseExcel, i, msgSub);
|
validateCommonFields(baseExcel, i, msgSub);
|
||||||
|
BeanUtils.copyProperties(baseExcel, pureElectricExcel);
|
||||||
// 校验纯电类型的特有字段
|
// 校验纯电类型的特有字段
|
||||||
ElectricAndHybridExcel electricAndHybridExcel = new ElectricAndHybridExcel();
|
ElectricAndHybridExcel electricAndHybridExcel = new ElectricAndHybridExcel();
|
||||||
BeanUtils.copyProperties(pureElectricExcel, electricAndHybridExcel);
|
BeanUtils.copyProperties(pureElectricExcel, electricAndHybridExcel);
|
||||||
validateElectricAndHybridFields(electricAndHybridExcel, i , msgSub);
|
validateElectricAndHybridFields(electricAndHybridExcel, i , msgSub);
|
||||||
|
BeanUtils.copyProperties(electricAndHybridExcel, pureElectricExcel);
|
||||||
if (msgSub.length() > 0) {
|
if (msgSub.length() > 0) {
|
||||||
msg.append(msgSub).append(NEWLINE_CHARACTER);
|
msg.append(msgSub).append(NEWLINE_CHARACTER);
|
||||||
}
|
}
|
||||||
@@ -530,6 +546,7 @@ public class ProcessVehicleDomesticReleaseServiceImpl extends ServiceImpl<Proces
|
|||||||
|
|
||||||
// 校验混合动力类型的字段
|
// 校验混合动力类型的字段
|
||||||
private StringBuilder validatorHybridPower(List<HybridPowerExcel> excelList) {
|
private StringBuilder validatorHybridPower(List<HybridPowerExcel> excelList) {
|
||||||
|
Map<String, String> mixedModelMap = getDictMap("dvm_mixed_model");
|
||||||
StringBuilder msg = new StringBuilder();
|
StringBuilder msg = new StringBuilder();
|
||||||
for (int i = 0; i < excelList.size(); i++) {
|
for (int i = 0; i < excelList.size(); i++) {
|
||||||
HybridPowerExcel hybridPowerExcel = excelList.get(i);
|
HybridPowerExcel hybridPowerExcel = excelList.get(i);
|
||||||
@@ -538,17 +555,17 @@ public class ProcessVehicleDomesticReleaseServiceImpl extends ServiceImpl<Proces
|
|||||||
BaseExcel baseExcel = new BaseExcel();
|
BaseExcel baseExcel = new BaseExcel();
|
||||||
BeanUtils.copyProperties(hybridPowerExcel, baseExcel);
|
BeanUtils.copyProperties(hybridPowerExcel, baseExcel);
|
||||||
validateCommonFields(baseExcel, i, msgSub);
|
validateCommonFields(baseExcel, i, msgSub);
|
||||||
|
BeanUtils.copyProperties(baseExcel, hybridPowerExcel);
|
||||||
// 校验混合动力类型的特有字段
|
// 校验混合动力类型的特有字段
|
||||||
OilAndHybridExcel oilAndHybridExcel = new OilAndHybridExcel();
|
OilAndHybridExcel oilAndHybridExcel = new OilAndHybridExcel();
|
||||||
BeanUtils.copyProperties(hybridPowerExcel, oilAndHybridExcel);
|
BeanUtils.copyProperties(hybridPowerExcel, oilAndHybridExcel);
|
||||||
validateOilAndHybridFields(oilAndHybridExcel, i , msgSub);
|
validateOilAndHybridFields(oilAndHybridExcel, i , msgSub);
|
||||||
|
BeanUtils.copyProperties(oilAndHybridExcel, hybridPowerExcel);
|
||||||
ElectricAndHybridExcel electricAndHybridExcel = new ElectricAndHybridExcel();
|
ElectricAndHybridExcel electricAndHybridExcel = new ElectricAndHybridExcel();
|
||||||
BeanUtils.copyProperties(hybridPowerExcel, electricAndHybridExcel);
|
BeanUtils.copyProperties(hybridPowerExcel, electricAndHybridExcel);
|
||||||
validateElectricAndHybridFields(electricAndHybridExcel, i , msgSub);
|
validateElectricAndHybridFields(electricAndHybridExcel, i , msgSub);
|
||||||
// 校验混合方式
|
BeanUtils.copyProperties(electricAndHybridExcel, hybridPowerExcel);
|
||||||
if (StringUtils.isBlank(hybridPowerExcel.getMixedModel())) {
|
validateAndSetField(i, "混合方式", hybridPowerExcel.getMixedModel(), mixedModelMap, msgSub, true, hybridPowerExcel::setMixedModel);
|
||||||
msgSub.append(getErrorMsg(i, "混合方式不能为空;"));
|
|
||||||
}
|
|
||||||
if (msgSub.length() > 0) {
|
if (msgSub.length() > 0) {
|
||||||
msg.append(msgSub).append(NEWLINE_CHARACTER);
|
msg.append(msgSub).append(NEWLINE_CHARACTER);
|
||||||
}
|
}
|
||||||
@@ -558,85 +575,61 @@ public class ProcessVehicleDomesticReleaseServiceImpl extends ServiceImpl<Proces
|
|||||||
|
|
||||||
// 通用字段校验
|
// 通用字段校验
|
||||||
private StringBuilder validateCommonFields(Object excelObject, int index, StringBuilder msgSub) {
|
private StringBuilder validateCommonFields(Object excelObject, int index, StringBuilder msgSub) {
|
||||||
|
Map<String, String> vehicleTypeCodeMap = getDictMap("vm_vehicle_type_code");
|
||||||
|
Map<String, String> powerTypeMap = getDictMap("vm_power_type");
|
||||||
|
Map<String, String> drivingTypeMap = getDictMap("vm_driving_type");
|
||||||
|
Map<String, String> bodyTypeMap = getDictMap("vm_body_type");
|
||||||
|
Map<String, String> fuelTypeListMap = getDictMap("vm_fuel_type");;
|
||||||
|
Map<String, String> frontFrontAirbagMap = getDictMap("vm_front_front_airbag");
|
||||||
|
Map<String, String> frontSeatSideAirbagsMap = getDictMap("vm_front_seat_side_airbags");
|
||||||
// 车型代码(必填,下拉单选,来源BOM)
|
// 车型代码(必填,下拉单选,来源BOM)
|
||||||
if (excelObject instanceof BaseExcel) {
|
if (excelObject instanceof BaseExcel) {
|
||||||
BaseExcel baseModel = (BaseExcel) excelObject;
|
BaseExcel baseModel = (BaseExcel) excelObject;
|
||||||
// 车型代码(必填,下拉单选,来源BOM)
|
validateAndSetField(index, "车型代码", baseModel.getVehicleTypeCode(), vehicleTypeCodeMap, msgSub, true, baseModel::setVehicleTypeCode);
|
||||||
if (StringUtils.isBlank(baseModel.getVehicleTypeCode())) {
|
validateAndSetField(index, "动力类型", baseModel.getPowerType(), powerTypeMap, msgSub, true, baseModel::setPowerType);
|
||||||
msgSub.append(getErrorMsg(index, "车型代码不能为空;"));
|
validateAndSetField(index, "驱动型式", baseModel.getDrivingType(), drivingTypeMap, msgSub, true, baseModel::setDrivingType);
|
||||||
}
|
validateAndSetField(index, "车身形式", baseModel.getBodyType(), bodyTypeMap, msgSub, true, baseModel::setBodyType);
|
||||||
// 动力类型(必填,下拉单选,来源BOM)
|
validateAndSetField(index, "燃料类型", baseModel.getFuelType(), fuelTypeListMap, msgSub, true, baseModel::setFuelType);
|
||||||
if (StringUtils.isBlank(baseModel.getPowerType())) {
|
validateAndSetField(index, "前排正面气囊", baseModel.getFrontFrontAirbag(), frontFrontAirbagMap, msgSub, true, baseModel::setFrontFrontAirbag);
|
||||||
msgSub.append(getErrorMsg(index, "动力类型不能为空;"));
|
validateAndSetField(index, "前排座椅侧气囊", baseModel.getFrontSeatSideAirbags(), frontSeatSideAirbagsMap, msgSub, false, baseModel::setFrontSeatSideAirbags);
|
||||||
}
|
validateField(index, "车辆外廓尺寸", baseModel.getCarOutSize(), msgSub, true, 50);
|
||||||
// 车辆外廓尺寸(必填,手填,长度不超过50)
|
validateField(index, "前后标牌", baseModel.getAroundSignage(), msgSub, true, 50);
|
||||||
if (StringUtils.isBlank(baseModel.getCarOutSize())) {
|
validateField(index, "整备质量(教练车)", baseModel.getVehicleQuality(), msgSub, true, 50);
|
||||||
msgSub.append(getErrorMsg(index, "车辆外廓尺寸不能为空;"));
|
|
||||||
} else if (baseModel.getCarOutSize().length() > 50) {
|
|
||||||
msgSub.append(getErrorMsg(index, "车辆外廓尺寸长度不能超过50字符;"));
|
|
||||||
}
|
|
||||||
// 前后标牌(必填,手填,长度不超过50)
|
|
||||||
if (StringUtils.isBlank(baseModel.getAroundSignage())) {
|
|
||||||
msgSub.append(getErrorMsg(index, "前后标牌不能为空;"));
|
|
||||||
} else if (baseModel.getAroundSignage().length() > 50) {
|
|
||||||
msgSub.append(getErrorMsg(index, "前后标牌长度不能超过50字符;"));
|
|
||||||
}
|
|
||||||
// 整备质量(教练车)(非必填,手填,数字格式,长度不超过50)
|
|
||||||
if (StringUtils.isNotBlank(baseModel.getVehicleQuality()) && baseModel.getVehicleQuality().length() > 50) {
|
|
||||||
msgSub.append(getErrorMsg(index, "整备质量长度不能超过50字符;"));
|
|
||||||
}
|
|
||||||
// 驱动型式(必填,下拉单选,来源BOM)
|
|
||||||
if (StringUtils.isBlank(baseModel.getDrivingType())) {
|
|
||||||
msgSub.append(getErrorMsg(index, "驱动型式不能为空;"));
|
|
||||||
}
|
|
||||||
// 车身形式(必填,下拉单选,来源BOM)
|
|
||||||
if (StringUtils.isBlank(baseModel.getBodyType())) {
|
|
||||||
msgSub.append(getErrorMsg(index, "车身形式不能为空;"));
|
|
||||||
}
|
|
||||||
// 燃料类型(必填,下拉单选,来源BOM)
|
|
||||||
if (StringUtils.isBlank(baseModel.getFuelType())) {
|
|
||||||
msgSub.append(getErrorMsg(index, "燃料类型不能为空;"));
|
|
||||||
}
|
|
||||||
// 前排正面气囊(必填,下拉单选,来源BOM)
|
|
||||||
if (StringUtils.isBlank(baseModel.getFrontFrontAirbag())) {
|
|
||||||
msgSub.append(getErrorMsg(index, "前排正面气囊不能为空;"));
|
|
||||||
}
|
|
||||||
// 前排座椅侧气囊(非必填,下拉单选,来源BOM)
|
|
||||||
if (StringUtils.isBlank(baseModel.getFrontSeatSideAirbags())) {
|
|
||||||
msgSub.append(getErrorMsg(index, "前排座椅侧气囊不能为空;"));
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
return msgSub;
|
return msgSub;
|
||||||
}
|
}
|
||||||
|
|
||||||
// 燃油和混合动力共有字段校验
|
// 燃油和混合动力共有字段校验
|
||||||
private StringBuilder validateOilAndHybridFields(Object excelObject, int index, StringBuilder msgSub) {
|
private StringBuilder validateOilAndHybridFields(Object excelObject, int index, StringBuilder msgSub) {
|
||||||
// 车型代码(必填,下拉单选,来源BOM)
|
Map<String, String> engineTypeMap = getDictMap("vm_engine_type");
|
||||||
|
Map<String, String> transmissionTypeMap = getDictMap("vm_transmission_type");
|
||||||
|
Map<String, String> transmissionModelMap = getDictMap("dvm_transmission_model");
|
||||||
|
Map<String, String> engineCapacityMap = getDictMap("vm_engine_capacity");
|
||||||
|
Map<String, String> emissionLevelMap = getDictMap("dvm_emission_level");
|
||||||
if (excelObject instanceof OilAndHybridExcel) {
|
if (excelObject instanceof OilAndHybridExcel) {
|
||||||
OilAndHybridExcel oilAndHybridExcel = (OilAndHybridExcel) excelObject;
|
OilAndHybridExcel oilAndHybridExcel = (OilAndHybridExcel) excelObject;
|
||||||
// 发动机型号(必填,下拉单选,来源BOM)
|
validateAndSetField(index, "发动机型号", oilAndHybridExcel.getEngineType(), engineTypeMap, msgSub, true, oilAndHybridExcel::setEngineType);
|
||||||
if (StringUtils.isBlank(oilAndHybridExcel.getEngineType())) {
|
validateAndSetField(index, "变速器型式", oilAndHybridExcel.getTransmissionType(), transmissionTypeMap, msgSub, true, oilAndHybridExcel::setTransmissionType);
|
||||||
msgSub.append(getErrorMsg(index, "发动机型号不能为空;"));
|
validateAndSetField(index, "变速器型号", oilAndHybridExcel.getTransmissionModel(), transmissionModelMap, msgSub, true, oilAndHybridExcel::setTransmissionModel);
|
||||||
}
|
validateAndSetField(index, "发动机排量", oilAndHybridExcel.getEngineCapacity(), engineCapacityMap, msgSub, true, oilAndHybridExcel::setEngineCapacity);
|
||||||
// 变速器型式(必填,下拉单选,来源BOM)
|
validateAndSetField(index, "排放水平", oilAndHybridExcel.getEmissionLevel(), emissionLevelMap, msgSub, true, oilAndHybridExcel::setEmissionLevel);
|
||||||
if (StringUtils.isBlank(oilAndHybridExcel.getTransmissionType())) {
|
|
||||||
msgSub.append(getErrorMsg(index, "变速器型式不能为空;"));
|
|
||||||
}
|
|
||||||
// 变速器型号(必填,下拉多选,来源BOM)
|
|
||||||
if (StringUtils.isBlank(oilAndHybridExcel.getTransmissionModel())) {
|
|
||||||
msgSub.append(getErrorMsg(index, "变速器型号不能为空;"));
|
|
||||||
}
|
|
||||||
// 发动机排量(L)(必填,下拉单选,来源BOM)
|
|
||||||
if (StringUtils.isBlank(oilAndHybridExcel.getEngineCapacity())) {
|
|
||||||
msgSub.append(getErrorMsg(index, "发动机排量不能为空;"));
|
|
||||||
}
|
|
||||||
// 排放水平(必填,下拉单选,来源BOM)
|
|
||||||
if (StringUtils.isBlank(oilAndHybridExcel.getEmissionLevel())) {
|
|
||||||
msgSub.append(getErrorMsg(index, "排放水平不能为空;"));
|
|
||||||
}
|
|
||||||
// 油耗阶段(必填,下拉单选)
|
|
||||||
if (StringUtils.isBlank(oilAndHybridExcel.getFuelConsumptionStage())) {
|
if (StringUtils.isBlank(oilAndHybridExcel.getFuelConsumptionStage())) {
|
||||||
msgSub.append(getErrorMsg(index, "油耗阶段不能为空;"));
|
msgSub.append(getErrorMsg(index, "油耗阶段不能为空,"));
|
||||||
|
} else {
|
||||||
|
// 创建查询对象
|
||||||
|
ManyStandardSelectionBoxVO selectionBoxVO = new ManyStandardSelectionBoxVO();
|
||||||
|
IPage<ManyStandardSelectionBox> manyStandardSelectionBox = lawsCommonService.getManyStandardSelectionBox(selectionBoxVO, -1, -1);
|
||||||
|
List<ManyStandardSelectionBox> records = manyStandardSelectionBox.getRecords();
|
||||||
|
// 校验油耗阶段是否存在于标准编号列表中
|
||||||
|
Optional<ManyStandardSelectionBox> matchingRecord = records.stream()
|
||||||
|
.filter(record -> Objects.equals(oilAndHybridExcel.getFuelConsumptionStage(), record.getStandardNumber()))
|
||||||
|
.findFirst();
|
||||||
|
// 如果匹配的标准存在,保存对应的id
|
||||||
|
if (matchingRecord.isPresent()) {
|
||||||
|
oilAndHybridExcel.setFuelConsumptionStage(matchingRecord.get().getId());
|
||||||
|
} else {
|
||||||
|
msgSub.append(getErrorMsg(index, "油耗阶段不存在,"));
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return msgSub;
|
return msgSub;
|
||||||
@@ -644,53 +637,22 @@ public class ProcessVehicleDomesticReleaseServiceImpl extends ServiceImpl<Proces
|
|||||||
|
|
||||||
// 纯电动和混合动力共有字段验证
|
// 纯电动和混合动力共有字段验证
|
||||||
private StringBuilder validateElectricAndHybridFields(Object excelObject, int index, StringBuilder msgSub) {
|
private StringBuilder validateElectricAndHybridFields(Object excelObject, int index, StringBuilder msgSub) {
|
||||||
// 车型代码(必填,下拉单选,来源BOM)
|
Map<String, String> driveMotorModelMap = getDictMap("vm_driveMotor_model");
|
||||||
|
Map<String, String> driveMotorTypeMap = getDictMap("dvm_drive_motor_type");
|
||||||
|
Map<String, String> powerBatteryModelMap = getDictMap("vm_power_battery_model");
|
||||||
|
Map<String, String> batteryTypeMap = getDictMap("vm_battery_type");
|
||||||
|
Map<String, String> driveMotorPlaceMap = getDictMap("dvm_drive_motor_place");
|
||||||
if (excelObject instanceof ElectricAndHybridExcel) {
|
if (excelObject instanceof ElectricAndHybridExcel) {
|
||||||
ElectricAndHybridExcel electricAndHybridExcel = (ElectricAndHybridExcel) excelObject;
|
ElectricAndHybridExcel electricAndHybridExcel = (ElectricAndHybridExcel) excelObject;
|
||||||
// 驱动电机型号(必填,下拉多选,来源BOM)
|
validateAndSetField(index, "驱动电机型号", electricAndHybridExcel.getDriveMotorModel(), driveMotorModelMap, msgSub, true, electricAndHybridExcel::setDriveMotorModel);
|
||||||
if (StringUtils.isBlank(electricAndHybridExcel.getDriveMotorModel())) {
|
validateAndSetField(index, "驱动电机类型", electricAndHybridExcel.getDriveMotorType(), driveMotorTypeMap, msgSub, true, electricAndHybridExcel::setDriveMotorType);
|
||||||
msgSub.append(getErrorMsg(index, "驱动电机型号不能为空;"));
|
validateAndSetField(index, "动力电池型号", electricAndHybridExcel.getPowerBatteryModel(), powerBatteryModelMap, msgSub, true, electricAndHybridExcel::setPowerBatteryModel);
|
||||||
}
|
validateAndSetField(index, "电池类型", electricAndHybridExcel.getBatteryType(), batteryTypeMap, msgSub, true, electricAndHybridExcel::setBatteryType);
|
||||||
// 驱动电机峰值功率(必填,手填,长度不超过50)
|
validateAndSetField(index, "驱动电机的布置位置", electricAndHybridExcel.getDriveMotorPlace(), driveMotorPlaceMap, msgSub, true, electricAndHybridExcel::setDriveMotorPlace);
|
||||||
if (StringUtils.isBlank(electricAndHybridExcel.getDriveMotorPeakPower())) {
|
validateField(index, "动力电池组标称电压", electricAndHybridExcel.getPowerBatteryVoltage(), msgSub, true, 50);
|
||||||
msgSub.append(getErrorMsg(index, "驱动电机峰值功率不能为空;"));
|
validateField(index, "动力电池组总成标称容量", electricAndHybridExcel.getPowerBatteryVolume(), msgSub, true, 50);
|
||||||
} else if (electricAndHybridExcel.getDriveMotorPeakPower().length() > 50) {
|
validateField(index, "驱动电机峰值功率", electricAndHybridExcel.getDriveMotorPeakPower(), msgSub, true, 50);
|
||||||
msgSub.append(getErrorMsg(index, "驱动电机峰值功率长度不能超过50字符;"));
|
validateField(index, "驱动电机额定功率", electricAndHybridExcel.getDriveMotorRatedPower(), msgSub, true, 50);
|
||||||
}
|
|
||||||
// 驱动电机额定功率(必填,手填,长度不超过50)
|
|
||||||
if (StringUtils.isBlank(electricAndHybridExcel.getDriveMotorRatedPower())) {
|
|
||||||
msgSub.append(getErrorMsg(index, "驱动电机额定功率不能为空;"));
|
|
||||||
} else if (electricAndHybridExcel.getDriveMotorRatedPower().length() > 50) {
|
|
||||||
msgSub.append(getErrorMsg(index, "驱动电机额定功率长度不能超过50字符;"));
|
|
||||||
}
|
|
||||||
// 驱动电机类型(必填,下拉单选,来源BOM)
|
|
||||||
if (StringUtils.isBlank(electricAndHybridExcel.getDriveMotorType())) {
|
|
||||||
msgSub.append(getErrorMsg(index, "驱动电机类型不能为空;"));
|
|
||||||
}
|
|
||||||
// 动力电池型号(必填,下拉单选,来源BOM)
|
|
||||||
if (StringUtils.isBlank(electricAndHybridExcel.getPowerBatteryModel())) {
|
|
||||||
msgSub.append(getErrorMsg(index, "动力电池型号不能为空;"));
|
|
||||||
}
|
|
||||||
// 电池类型(必填,下拉单选,来源BOM)
|
|
||||||
if (StringUtils.isBlank(electricAndHybridExcel.getBatteryType())) {
|
|
||||||
msgSub.append(getErrorMsg(index, "电池类型不能为空;"));
|
|
||||||
}
|
|
||||||
// 动力电池组标称电压(必填,手填,长度不超过50)
|
|
||||||
if (StringUtils.isBlank(electricAndHybridExcel.getPowerBatteryVoltage())) {
|
|
||||||
msgSub.append(getErrorMsg(index, "动力电池组标称电压不能为空;"));
|
|
||||||
} else if (electricAndHybridExcel.getPowerBatteryVoltage().length() > 50) {
|
|
||||||
msgSub.append(getErrorMsg(index, "动力电池组标称电压长度不能超过50字符;"));
|
|
||||||
}
|
|
||||||
// 动力电池组总成标称容量(必填,手填,长度不超过50)
|
|
||||||
if (StringUtils.isBlank(electricAndHybridExcel.getPowerBatteryVolume())) {
|
|
||||||
msgSub.append(getErrorMsg(index, "动力电池组总成标称容量不能为空;"));
|
|
||||||
} else if (electricAndHybridExcel.getPowerBatteryVolume().length() > 50) {
|
|
||||||
msgSub.append(getErrorMsg(index, "动力电池组总成标称容量长度不能超过50字符;"));
|
|
||||||
}
|
|
||||||
// 驱动电机的布置位置(必填,下拉多选,来源BOM)
|
|
||||||
if (StringUtils.isBlank(electricAndHybridExcel.getDriveMotorPlace())) {
|
|
||||||
msgSub.append(getErrorMsg(index, "驱动电机的布置位置不能为空;"));
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
return msgSub;
|
return msgSub;
|
||||||
}
|
}
|
||||||
@@ -728,6 +690,38 @@ public class ProcessVehicleDomesticReleaseServiceImpl extends ServiceImpl<Proces
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private Map<String, String> getDictMap(String dictCode) {
|
||||||
|
List<DictModel> dictList = sysDictService.getDictItems(dictCode);
|
||||||
|
return dictList.stream().collect(Collectors.toMap(DictModel::getText, DictModel::getValue));
|
||||||
|
}
|
||||||
|
|
||||||
|
private void validateField(int index, String fieldName, String fieldValue, StringBuilder msgSub, boolean isRequired, int maxLength) {
|
||||||
|
if (isRequired && StringUtils.isBlank(fieldValue)) {
|
||||||
|
msgSub.append(getErrorMsg(index, fieldName + "不能为空,"));
|
||||||
|
} else if (fieldValue.length() > maxLength) {
|
||||||
|
msgSub.append(getErrorMsg(index, fieldName + "字符长度不能超过" + maxLength + ","));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private void validateAndSetField(int index, String fieldName, String fieldValue, Map<String, String> map,
|
||||||
|
StringBuilder msgSub, boolean isRequired, Consumer<String> setter) {
|
||||||
|
// 校验是否必填
|
||||||
|
if (StringUtils.isBlank(fieldValue)) {
|
||||||
|
if (isRequired) {
|
||||||
|
msgSub.append(getErrorMsg(index, fieldName + "不能为空,"));
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
// 如果字段有值,检查是否存在于映射中
|
||||||
|
String mappedValue = map.get(fieldValue);
|
||||||
|
if (StringUtils.isBlank(mappedValue)) {
|
||||||
|
msgSub.append(getErrorMsg(index, fieldName + "不存在,"));
|
||||||
|
} else {
|
||||||
|
// 如果存在,调用setter进行设置
|
||||||
|
setter.accept(mappedValue);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
private String getErrorMsg(int rowIndex, String errorMsg) {
|
private String getErrorMsg(int rowIndex, String errorMsg) {
|
||||||
return "第" + (rowIndex + 2) + "行" + errorMsg;
|
return "第" + (rowIndex + 2) + "行" + errorMsg;
|
||||||
}
|
}
|
||||||
|
|||||||
+4
@@ -10,7 +10,9 @@ import com.jero.modules.activiti.process.common.service.ActFlowCommonService;
|
|||||||
import com.jero.modules.activiti.process.fb.vo.ProcessInfoVO;
|
import com.jero.modules.activiti.process.fb.vo.ProcessInfoVO;
|
||||||
import com.jero.modules.activiti.process.vehicleinterntional.service.IProcessVehicleInternationalReleaseService;
|
import com.jero.modules.activiti.process.vehicleinterntional.service.IProcessVehicleInternationalReleaseService;
|
||||||
import com.jero.modules.activiti.process.vehicleinterntional.vo.ProcessVehicleInternationalReleaseVo;
|
import com.jero.modules.activiti.process.vehicleinterntional.vo.ProcessVehicleInternationalReleaseVo;
|
||||||
|
import io.swagger.annotations.Api;
|
||||||
import io.swagger.annotations.ApiOperation;
|
import io.swagger.annotations.ApiOperation;
|
||||||
|
import lombok.extern.slf4j.Slf4j;
|
||||||
import org.apache.poi.ss.formula.functions.T;
|
import org.apache.poi.ss.formula.functions.T;
|
||||||
import org.springframework.validation.annotation.Validated;
|
import org.springframework.validation.annotation.Validated;
|
||||||
import org.springframework.web.bind.annotation.*;
|
import org.springframework.web.bind.annotation.*;
|
||||||
@@ -26,6 +28,8 @@ import javax.servlet.http.HttpServletRequest;
|
|||||||
* @author sz
|
* @author sz
|
||||||
* @since 2024-09-29
|
* @since 2024-09-29
|
||||||
*/
|
*/
|
||||||
|
@Slf4j
|
||||||
|
@Api(tags = "国际整车型号和VIN前八位管控流程 ")
|
||||||
@RestController
|
@RestController
|
||||||
@RequestMapping("/process/vehicle/international")
|
@RequestMapping("/process/vehicle/international")
|
||||||
public class ProcessVehicleInternationalReleaseController {
|
public class ProcessVehicleInternationalReleaseController {
|
||||||
|
|||||||
+92
-114
@@ -8,6 +8,7 @@ import com.jero.common.api.vo.Result;
|
|||||||
import com.jero.common.api.vo.ResultCommon;
|
import com.jero.common.api.vo.ResultCommon;
|
||||||
import com.jero.common.exception.JeroBootException;
|
import com.jero.common.exception.JeroBootException;
|
||||||
import com.jero.common.system.base.controller.JeroController;
|
import com.jero.common.system.base.controller.JeroController;
|
||||||
|
import com.jero.common.system.vo.DictModel;
|
||||||
import com.jero.common.util.ImportExcelUtil;
|
import com.jero.common.util.ImportExcelUtil;
|
||||||
import com.jero.modules.activiti.common.ActivitiCommon;
|
import com.jero.modules.activiti.common.ActivitiCommon;
|
||||||
import com.jero.modules.activiti.entity.ProcessAll;
|
import com.jero.modules.activiti.entity.ProcessAll;
|
||||||
@@ -33,6 +34,7 @@ import com.jero.modules.laws.businessSupport.entity.LawsVehicleInternationalLibr
|
|||||||
import com.jero.modules.laws.businessSupport.service.ILawsVehicleInternationalLibraryService;
|
import com.jero.modules.laws.businessSupport.service.ILawsVehicleInternationalLibraryService;
|
||||||
import com.jero.modules.laws.businessSupport.service.ILawsVehicleInternationalLibrarySublistService;
|
import com.jero.modules.laws.businessSupport.service.ILawsVehicleInternationalLibrarySublistService;
|
||||||
import com.jero.modules.sys.utils.UserUtils;
|
import com.jero.modules.sys.utils.UserUtils;
|
||||||
|
import com.jero.modules.system.service.ISysDictService;
|
||||||
import org.activiti.engine.RuntimeService;
|
import org.activiti.engine.RuntimeService;
|
||||||
import org.activiti.engine.TaskService;
|
import org.activiti.engine.TaskService;
|
||||||
import org.activiti.engine.runtime.ProcessInstance;
|
import org.activiti.engine.runtime.ProcessInstance;
|
||||||
@@ -55,6 +57,9 @@ import javax.annotation.Resource;
|
|||||||
import javax.servlet.http.HttpServletRequest;
|
import javax.servlet.http.HttpServletRequest;
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
import java.util.*;
|
import java.util.*;
|
||||||
|
import java.util.function.Consumer;
|
||||||
|
import java.util.stream.Collectors;
|
||||||
|
|
||||||
import static com.jero.modules.activiti.common.ActivitiCommon.PASS;
|
import static com.jero.modules.activiti.common.ActivitiCommon.PASS;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -86,6 +91,8 @@ public class ProcessVehicleInternationalReleaseServiceImpl extends ServiceImpl<P
|
|||||||
private ILawsVehicleInternationalLibraryService lawsVehicleInternationalLibraryService;
|
private ILawsVehicleInternationalLibraryService lawsVehicleInternationalLibraryService;
|
||||||
@Resource
|
@Resource
|
||||||
private ILawsVehicleInternationalLibrarySublistService lawsVehicleInternationalLibrarySublistService;
|
private ILawsVehicleInternationalLibrarySublistService lawsVehicleInternationalLibrarySublistService;
|
||||||
|
@Resource
|
||||||
|
private ISysDictService sysDictService;
|
||||||
|
|
||||||
private static final String NEWLINE_CHARACTER = "</br>";
|
private static final String NEWLINE_CHARACTER = "</br>";
|
||||||
|
|
||||||
@@ -453,123 +460,61 @@ public class ProcessVehicleInternationalReleaseServiceImpl extends ServiceImpl<P
|
|||||||
|
|
||||||
private StringBuilder validatorExcel(List<ProcessVehicleInternationalExcelVo> excelList) {
|
private StringBuilder validatorExcel(List<ProcessVehicleInternationalExcelVo> excelList) {
|
||||||
StringBuilder msg = new StringBuilder();
|
StringBuilder msg = new StringBuilder();
|
||||||
|
Map<String, String> vehicleTypeCodeMap = getDictMap("vm_vehicle_type_code");
|
||||||
|
Map<String, String> powerTypeMap = getDictMap("vm_power_type");
|
||||||
|
Map<String, String> engineTypeMap = getDictMap("vm_engine_type");
|
||||||
|
Map<String, String> driveMotorModelMap = getDictMap("vm_driveMotor_model");
|
||||||
|
Map<String, String> powerBatteryModelMap = getDictMap("vm_power_battery_model");
|
||||||
|
Map<String, String> transmissionModelMap = getDictMap("ivm_transmission_model");
|
||||||
|
Map<String, String> bodyTypeMap = getDictMap("vm_body_type");
|
||||||
|
Map<String, String> drivingTypeMap = getDictMap("vm_driving_type");
|
||||||
|
Map<String, String> drivingShaftsNumberMap = getDictMap("ivm_driving_shafts_number");
|
||||||
|
Map<String, String> steeringTypeMap = getDictMap("ivm_steering_type");
|
||||||
|
Map<String, String> seatsNumberMap = getDictMap("ivm_seats_number");
|
||||||
|
Map<String, String> engineWorkingPrincipleMap = getDictMap("ivm_engine_working_principle");
|
||||||
|
Map<String, String> fuelTypeMap = getDictMap("vm_fuel_type");
|
||||||
|
Map<String, String> engineCapacityMap = getDictMap("vm_engine_capacity");
|
||||||
|
Map<String, String> emissionLevelMap = getDictMap("dvm_emission_level");
|
||||||
|
Map<String, String> batteryTypeMap = getDictMap("vm_battery_type");
|
||||||
|
Map<String, String> transmissionTypeMap = getDictMap("vm_transmission_type");
|
||||||
|
Map<String, String> transmissionGearNumberMap = getDictMap("ivm_transmission_gear_number");
|
||||||
|
Map<String, String> ynMap = getDictMap("yn");
|
||||||
|
Map<String, String> frontFrontAirbagMap = getDictMap("vm_front_front_airbag");
|
||||||
|
Map<String, String> frontSeatSideAirbagsMap = getDictMap("vm_front_seat_side_airbags");
|
||||||
|
Map<String, String> salesAreaMap = getDictMap("ivm_sales_area");
|
||||||
|
Map<String, String> brandMap = getDictMap("ivm_brand");
|
||||||
for (int i = 0; i < excelList.size(); i++) {
|
for (int i = 0; i < excelList.size(); i++) {
|
||||||
ProcessVehicleInternationalExcelVo excelVo = excelList.get(i);
|
ProcessVehicleInternationalExcelVo excelVo = excelList.get(i);
|
||||||
StringBuilder msgSub = new StringBuilder();
|
StringBuilder msgSub = new StringBuilder();
|
||||||
// 校验车型代码
|
validateAndSetField(i, "车型代码", excelVo.getVehicleTypeCode(), vehicleTypeCodeMap, msgSub, true, excelVo::setVehicleTypeCode);
|
||||||
if (StringUtils.isBlank(excelVo.getVehicleTypeCode())) {
|
validateAndSetField(i, "动力类型", excelVo.getPowerType(), powerTypeMap, msgSub, true, excelVo::setPowerType);
|
||||||
msgSub.append(getErrorMsg(i, "车型代码不能为空;"));
|
validateAndSetField(i, "发动机型号", excelVo.getEngineType(), engineTypeMap, msgSub, false, excelVo::setEngineType);
|
||||||
}
|
validateAndSetField(i, "驱动电机型号", excelVo.getDriveMotorModel(), driveMotorModelMap, msgSub, false, excelVo::setDriveMotorModel);
|
||||||
// 校验动力类型
|
validateAndSetField(i, "动力电池型号", excelVo.getPowerBatteryModel(), powerBatteryModelMap, msgSub, false, excelVo::setPowerBatteryModel);
|
||||||
if (StringUtils.isBlank(excelVo.getPowerType())) {
|
validateAndSetField(i, "变速器型号", excelVo.getTransmissionModel(), transmissionModelMap, msgSub, true, excelVo::setTransmissionModel);
|
||||||
msgSub.append(getErrorMsg(i, "动力类型不能为空;"));
|
validateAndSetField(i, "车身形式", excelVo.getBodyType(), bodyTypeMap, msgSub, true, excelVo::setBodyType);
|
||||||
}
|
validateAndSetField(i, "驱动形式", excelVo.getDrivingType(), drivingTypeMap, msgSub, true, excelVo::setDrivingType);
|
||||||
// 校验发动机型号
|
validateAndSetField(i, "驱动轴数量", excelVo.getDrivingShaftsNumber(), drivingShaftsNumberMap, msgSub, true, excelVo::setDrivingShaftsNumber);
|
||||||
if (StringUtils.isNotBlank(excelVo.getEngineType())) {
|
validateAndSetField(i, "转向型式", excelVo.getSteeringType(), steeringTypeMap, msgSub, true, excelVo::setSteeringType);
|
||||||
}
|
validateAndSetField(i, "座位数量", excelVo.getSeatsNumber(), seatsNumberMap, msgSub, true, excelVo::setSeatsNumber);
|
||||||
// 校验驱动电机型号
|
validateAndSetField(i, "发动机工作原理", excelVo.getEngineWorkingPrinciple(), engineWorkingPrincipleMap, msgSub, true, excelVo::setEngineWorkingPrinciple);
|
||||||
if (StringUtils.isNotBlank(excelVo.getDriveMotorModel())) {
|
validateAndSetField(i, "燃料类型", excelVo.getFuelType(), fuelTypeMap, msgSub, true, excelVo::setFuelType);
|
||||||
}
|
validateAndSetField(i, "发动机排量(L)", excelVo.getEngineCapacity(), engineCapacityMap, msgSub, false, excelVo::setEngineCapacity);
|
||||||
// 校验动力电池型号
|
validateAndSetField(i, "排放水平", excelVo.getEmissionLevel(), emissionLevelMap, msgSub, false, excelVo::setEmissionLevel);
|
||||||
if (StringUtils.isNotBlank(excelVo.getPowerBatteryModel())) {
|
validateAndSetField(i, "储能装置种类", excelVo.getEnergyStorageDevices(), batteryTypeMap, msgSub, false, excelVo::setEnergyStorageDevices);
|
||||||
}
|
validateAndSetField(i, "变速器型式", excelVo.getTransmissionType(), transmissionTypeMap, msgSub, true, excelVo::setTransmissionType);
|
||||||
// 校验变速器型号
|
validateAndSetField(i, "变速器档位数", excelVo.getTransmissionGearNumber(), transmissionGearNumberMap, msgSub, true, excelVo::setTransmissionGearNumber);
|
||||||
if (StringUtils.isBlank(excelVo.getTransmissionModel())) {
|
validateAndSetField(i, "变速器是否带手动模式", excelVo.getTransmissionIsHasManual(), ynMap, msgSub, true, excelVo::setTransmissionIsHasManual);
|
||||||
msgSub.append(getErrorMsg(i, "变速器型号不能为空;"));
|
validateAndSetField(i, "前排正面气囊", excelVo.getFrontFrontAirbag(), frontFrontAirbagMap, msgSub, true, excelVo::setFrontFrontAirbag);
|
||||||
}
|
validateAndSetField(i, "前排座椅侧气囊", excelVo.getFrontSeatSideAirbags(), frontSeatSideAirbagsMap, msgSub, true, excelVo::setFrontSeatSideAirbags);
|
||||||
// 校验车身形式
|
validateAndSetField(i, "销售区域", excelVo.getSalesArea(), salesAreaMap, msgSub, true, excelVo::setSalesArea);
|
||||||
if (StringUtils.isBlank(excelVo.getBodyType())) {
|
validateAndSetField(i, "品牌", excelVo.getBrand(), brandMap, msgSub, true, excelVo::setBrand);
|
||||||
msgSub.append(getErrorMsg(i, "车身形式不能为空;"));
|
validateField(i, "能耗(L/100km or kwh/100km)", excelVo.getEnergyConsumption(), msgSub, true, 50);
|
||||||
}
|
validateField(i, "额定转速(rpm)", excelVo.getRatedSpeed(), msgSub, false, 50);
|
||||||
// 校验驱动形式
|
validateField(i, "发动机最大净功率(kw)", excelVo.getEngineMaxPower(), msgSub, false, 50);
|
||||||
if (StringUtils.isBlank(excelVo.getDrivingType())) {
|
validateField(i, "驱动电机峰值功率(kw)", excelVo.getDriveMotorPeakPower(), msgSub, false, 50);
|
||||||
msgSub.append(getErrorMsg(i, "驱动形式不能为空;"));
|
validateField(i, "技术允许最大满载质量(Kg)", excelVo.getAllowedMaxFullLoad(), msgSub, true, 50);
|
||||||
}
|
validateField(i, "车辆外廓尺寸(长x宽x高)", excelVo.getCarOutSize(), msgSub, true, 50);
|
||||||
// 校验驱动轴数量
|
|
||||||
if (StringUtils.isBlank(excelVo.getDrivingShaftsNumber())) {
|
|
||||||
msgSub.append(getErrorMsg(i, "驱动轴数量不能为空;"));
|
|
||||||
}
|
|
||||||
// 校验转向型式
|
|
||||||
if (StringUtils.isBlank(excelVo.getSteeringType())) {
|
|
||||||
msgSub.append(getErrorMsg(i, "转向型式不能为空;"));
|
|
||||||
}
|
|
||||||
// 校验座位数量
|
|
||||||
if (StringUtils.isBlank(excelVo.getSeatsNumber())) {
|
|
||||||
msgSub.append(getErrorMsg(i, "座位数量不能为空;"));
|
|
||||||
}
|
|
||||||
// 校验技术允许最大满载质量(Kg)
|
|
||||||
if (StringUtils.isBlank(excelVo.getAllowedMaxFullLoad())) {
|
|
||||||
msgSub.append(getErrorMsg(i, "技术允许最大满载质量(Kg)不能为空;"));
|
|
||||||
}else if (excelVo.getAllowedMaxFullLoad().length() > 50) {
|
|
||||||
msgSub.append(getErrorMsg(i, "技术允许最大满载质量(Kg)字符长度不能超过50;"));
|
|
||||||
}
|
|
||||||
// 校验车辆外廓尺寸(长x宽X高)
|
|
||||||
if (StringUtils.isBlank(excelVo.getCarOutSize())) {
|
|
||||||
msgSub.append(getErrorMsg(i, "校验车辆外廓尺寸(长x宽X高)不能为空;"));
|
|
||||||
}else if (excelVo.getCarOutSize().length() > 50) {
|
|
||||||
msgSub.append(getErrorMsg(i, "校验车辆外廓尺寸(长x宽X高)字符长度不能超过50;"));
|
|
||||||
}
|
|
||||||
// 校验发动机工作原理
|
|
||||||
if (StringUtils.isBlank(excelVo.getEngineWorkingPrinciple())) {
|
|
||||||
msgSub.append(getErrorMsg(i, "发动机工作原理不能为空;"));
|
|
||||||
}
|
|
||||||
// 校验燃料类型
|
|
||||||
if (StringUtils.isBlank(excelVo.getFuelType())) {
|
|
||||||
msgSub.append(getErrorMsg(i, "燃料类型不能为空;"));
|
|
||||||
}
|
|
||||||
// 校验发动机排量(L)
|
|
||||||
if (StringUtils.isNotBlank(excelVo.getEngineCapacity())) {
|
|
||||||
}
|
|
||||||
// 校验额定转速(rpm)
|
|
||||||
if (StringUtils.isNotBlank(excelVo.getRatedSpeed()) && excelVo.getRatedSpeed().length() > 50) {
|
|
||||||
msgSub.append(getErrorMsg(i, "额定转速(rpm)字符长度不能超过50;"));
|
|
||||||
}
|
|
||||||
// 校验发动机最大净功率(kW)
|
|
||||||
if (StringUtils.isNotBlank(excelVo.getEngineMaxPower()) && excelVo.getEngineMaxPower().length() > 50) {
|
|
||||||
msgSub.append(getErrorMsg(i, "发动机最大净功率(kw)字符长度不能超过50;"));
|
|
||||||
}
|
|
||||||
// 校验驱动电机峰值功率(kW)
|
|
||||||
if (StringUtils.isNotBlank(excelVo.getDriveMotorPeakPower()) && excelVo.getDriveMotorPeakPower().length() > 50) {
|
|
||||||
msgSub.append(getErrorMsg(i, "发动机最大净功率(kw)字符长度不能超过50;"));
|
|
||||||
}
|
|
||||||
// 校验排放水平
|
|
||||||
if (StringUtils.isNotBlank(excelVo.getEmissionLevel())) {
|
|
||||||
}
|
|
||||||
// 校验能耗(L/100km or kwh/100km)
|
|
||||||
if (StringUtils.isBlank(excelVo.getEnergyConsumption())) {
|
|
||||||
msgSub.append(getErrorMsg(i, "能耗(L/100km or kwh/100km)不能为空;"));
|
|
||||||
}
|
|
||||||
// 校验储能装置种类
|
|
||||||
if (StringUtils.isNotBlank(excelVo.getEnergyStorageDevices())) {
|
|
||||||
}
|
|
||||||
// 校验变速器型式
|
|
||||||
if (StringUtils.isBlank(excelVo.getTransmissionType())) {
|
|
||||||
msgSub.append(getErrorMsg(i, "变速器型式不能为空;"));
|
|
||||||
}
|
|
||||||
// 校验变速器档位数
|
|
||||||
if (StringUtils.isBlank(excelVo.getTransmissionGearNumber())) {
|
|
||||||
msgSub.append(getErrorMsg(i, "变速器档位数不能为空;"));
|
|
||||||
}
|
|
||||||
// 校验变速器是否带手动模式
|
|
||||||
if (StringUtils.isBlank(excelVo.getTransmissionIsHasManual())) {
|
|
||||||
msgSub.append(getErrorMsg(i, "变速器是否带手动模式不能为空;"));
|
|
||||||
}
|
|
||||||
// 校验前排正面气囊
|
|
||||||
if (StringUtils.isBlank(excelVo.getFrontFrontAirbag())) {
|
|
||||||
msgSub.append(getErrorMsg(i, "前排正面气囊不能为空;"));
|
|
||||||
}
|
|
||||||
// 校验前排座椅侧气囊
|
|
||||||
if (StringUtils.isBlank(excelVo.getFrontSeatSideAirbags())) {
|
|
||||||
msgSub.append(getErrorMsg(i, "前排座椅侧气囊不能为空;"));
|
|
||||||
}
|
|
||||||
//校验销售区域
|
|
||||||
if (StringUtils.isBlank(excelVo.getSalesArea())) {
|
|
||||||
msgSub.append(getErrorMsg(i, "前销售区域不能为空;"));
|
|
||||||
}
|
|
||||||
// 校验品牌
|
|
||||||
if (StringUtils.isBlank(excelVo.getBrand())) {
|
|
||||||
msgSub.append(getErrorMsg(i, "品牌不能为空;"));
|
|
||||||
}
|
|
||||||
if (msgSub.length() > 0) {
|
if (msgSub.length() > 0) {
|
||||||
msg.append(msgSub).append(NEWLINE_CHARACTER);
|
msg.append(msgSub).append(NEWLINE_CHARACTER);
|
||||||
}
|
}
|
||||||
@@ -577,6 +522,39 @@ public class ProcessVehicleInternationalReleaseServiceImpl extends ServiceImpl<P
|
|||||||
return msg;
|
return msg;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private void validateField(int index, String fieldName, String fieldValue, StringBuilder msgSub, boolean isRequired, int maxLength) {
|
||||||
|
if (isRequired && StringUtils.isBlank(fieldValue)) {
|
||||||
|
msgSub.append(getErrorMsg(index, fieldName + "不能为空,"));
|
||||||
|
} else if (fieldValue.length() > maxLength) {
|
||||||
|
msgSub.append(getErrorMsg(index, fieldName + "字符长度不能超过" + maxLength + ","));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private Map<String, String> getDictMap(String dictCode) {
|
||||||
|
List<DictModel> dictList = sysDictService.getDictItems(dictCode);
|
||||||
|
return dictList.stream().collect(Collectors.toMap(DictModel::getText, DictModel::getValue));
|
||||||
|
}
|
||||||
|
|
||||||
|
private void validateAndSetField(int index, String fieldName, String fieldValue, Map<String, String> map,
|
||||||
|
StringBuilder msgSub, boolean isRequired, Consumer<String> setter) {
|
||||||
|
// 校验是否必填
|
||||||
|
if (StringUtils.isBlank(fieldValue)) {
|
||||||
|
if (isRequired) {
|
||||||
|
msgSub.append(getErrorMsg(index, fieldName + "不能为空,"));
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
// 如果字段有值,检查是否存在于映射中
|
||||||
|
String mappedValue = map.get(fieldValue);
|
||||||
|
if (StringUtils.isBlank(mappedValue)) {
|
||||||
|
msgSub.append(getErrorMsg(index, fieldName + "不存在,"));
|
||||||
|
} else {
|
||||||
|
// 如果存在,调用setter进行设置
|
||||||
|
setter.accept(mappedValue);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
// 校验表头
|
// 校验表头
|
||||||
private void excelHeadVerify(Class<?> clazz, MultipartFile file) {
|
private void excelHeadVerify(Class<?> clazz, MultipartFile file) {
|
||||||
try {
|
try {
|
||||||
|
|||||||
+2
@@ -8,6 +8,7 @@ import com.jero.common.aspect.annotation.Translation;
|
|||||||
import com.jero.modules.activiti.process.vehicleinterntional.vo.ProcessVehicleInternationalReleaseVo;
|
import com.jero.modules.activiti.process.vehicleinterntional.vo.ProcessVehicleInternationalReleaseVo;
|
||||||
import com.jero.modules.laws.businessSupport.entity.LawsVehicleInternationalLibrary;
|
import com.jero.modules.laws.businessSupport.entity.LawsVehicleInternationalLibrary;
|
||||||
import com.jero.modules.laws.businessSupport.service.ILawsVehicleInternationalLibraryService;
|
import com.jero.modules.laws.businessSupport.service.ILawsVehicleInternationalLibraryService;
|
||||||
|
import io.swagger.annotations.Api;
|
||||||
import io.swagger.annotations.ApiOperation;
|
import io.swagger.annotations.ApiOperation;
|
||||||
import org.springframework.web.bind.annotation.*;
|
import org.springframework.web.bind.annotation.*;
|
||||||
import org.springframework.web.servlet.ModelAndView;
|
import org.springframework.web.servlet.ModelAndView;
|
||||||
@@ -22,6 +23,7 @@ import javax.servlet.http.HttpServletRequest;
|
|||||||
* @author sz
|
* @author sz
|
||||||
* @since 2024-09-29
|
* @since 2024-09-29
|
||||||
*/
|
*/
|
||||||
|
@Api(tags="国际整车型号及VIN前八位管控库")
|
||||||
@RestController
|
@RestController
|
||||||
@RequestMapping("/laws/internationalVehicle/library")
|
@RequestMapping("/laws/internationalVehicle/library")
|
||||||
public class LawsVehicleInternationalLibraryController {
|
public class LawsVehicleInternationalLibraryController {
|
||||||
|
|||||||
+2
@@ -28,6 +28,7 @@ import org.jeecgframework.poi.excel.view.JeecgEntityExcelView;
|
|||||||
import org.springframework.beans.BeanUtils;
|
import org.springframework.beans.BeanUtils;
|
||||||
import org.springframework.context.i18n.LocaleContextHolder;
|
import org.springframework.context.i18n.LocaleContextHolder;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
|
import org.springframework.transaction.annotation.Transactional;
|
||||||
import org.springframework.util.CollectionUtils;
|
import org.springframework.util.CollectionUtils;
|
||||||
import org.springframework.web.servlet.ModelAndView;
|
import org.springframework.web.servlet.ModelAndView;
|
||||||
import javax.annotation.Resource;
|
import javax.annotation.Resource;
|
||||||
@@ -44,6 +45,7 @@ import java.util.stream.Collectors;
|
|||||||
* @since 2024-09-29
|
* @since 2024-09-29
|
||||||
*/
|
*/
|
||||||
@Service
|
@Service
|
||||||
|
@Transactional(rollbackFor = JeroBootException.class)
|
||||||
public class LawsVehicleInternationalLibraryServiceImpl extends ServiceImpl<LawsVehicleInternationalLibraryMapper, LawsVehicleInternationalLibrary> implements ILawsVehicleInternationalLibraryService {
|
public class LawsVehicleInternationalLibraryServiceImpl extends ServiceImpl<LawsVehicleInternationalLibraryMapper, LawsVehicleInternationalLibrary> implements ILawsVehicleInternationalLibraryService {
|
||||||
|
|
||||||
@Resource
|
@Resource
|
||||||
|
|||||||
+10
-10
@@ -179,24 +179,24 @@ public class LawsClubJoinTeamServiceImpl extends ServiceImpl<LawsClubJoinTeamMap
|
|||||||
String fullName = extractFullName(lawsClubJoinTeamExcel.getLeadId());
|
String fullName = extractFullName(lawsClubJoinTeamExcel.getLeadId());
|
||||||
SysUser sysUser = sysUserService.getOne(new LambdaQueryWrapper<SysUser>().eq(SysUser::getUsername, leadName).eq(SysUser::getRealname,fullName),false);
|
SysUser sysUser = sysUserService.getOne(new LambdaQueryWrapper<SysUser>().eq(SysUser::getUsername, leadName).eq(SysUser::getRealname,fullName),false);
|
||||||
if (Objects.isNull(sysUser)) {
|
if (Objects.isNull(sysUser)) {
|
||||||
msgSub.append(getErrorMsg(i, "社团职务担任者不存在;"));
|
msgSub.append(getErrorMsg(i, "社团职务担任者不存在"));
|
||||||
}else {
|
}else {
|
||||||
lawsClubJoinTeamExcel.setLeadId(sysUser.getId());
|
lawsClubJoinTeamExcel.setLeadId(sysUser.getId());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
// 校验入团经费
|
// 校验入团经费
|
||||||
if (StringUtils.isNotBlank(lawsClubJoinTeamExcel.getJoinCast()) && lawsClubJoinTeamExcel.getJoinCast().length() > 50) {
|
if (StringUtils.isNotBlank(lawsClubJoinTeamExcel.getJoinCast()) && lawsClubJoinTeamExcel.getJoinCast().length() > 50) {
|
||||||
msgSub.append(getErrorMsg(i, "入团经费长度不能超过50;"));
|
msgSub.append(getErrorMsg(i, "入团经费长度不能超过50"));
|
||||||
}
|
}
|
||||||
// 校验社团简介
|
// 校验社团简介
|
||||||
if (StringUtils.isNotBlank(lawsClubJoinTeamExcel.getClubProfile()) && lawsClubJoinTeamExcel.getClubProfile().length() > 500) {
|
if (StringUtils.isNotBlank(lawsClubJoinTeamExcel.getClubProfile()) && lawsClubJoinTeamExcel.getClubProfile().length() > 500) {
|
||||||
msgSub.append(getErrorMsg(i, "社团简介长度不能超过500;"));
|
msgSub.append(getErrorMsg(i, "社团简介长度不能超过500"));
|
||||||
}
|
}
|
||||||
// 校验部门名称
|
// 校验部门名称
|
||||||
if (StringUtils.isNotBlank(lawsClubJoinTeamExcel.getDepartId())) {
|
if (StringUtils.isNotBlank(lawsClubJoinTeamExcel.getDepartId())) {
|
||||||
List<SysDepart> sysDepart = sysDepartService.list(new LambdaQueryWrapper<SysDepart>().eq(SysDepart::getDepartName, lawsClubJoinTeamExcel.getDepartId()));
|
List<SysDepart> sysDepart = sysDepartService.list(new LambdaQueryWrapper<SysDepart>().eq(SysDepart::getDepartName, lawsClubJoinTeamExcel.getDepartId()));
|
||||||
if (CollectionUtils.isEmpty(sysDepart)) {
|
if (CollectionUtils.isEmpty(sysDepart)) {
|
||||||
msgSub.append(getErrorMsg(i, "部门名称不存在;"));
|
msgSub.append(getErrorMsg(i, "部门名称不存在"));
|
||||||
}else {
|
}else {
|
||||||
lawsClubJoinTeamExcel.setDepartId(sysDepart.get(0).getId());
|
lawsClubJoinTeamExcel.setDepartId(sysDepart.get(0).getId());
|
||||||
}
|
}
|
||||||
@@ -205,7 +205,7 @@ public class LawsClubJoinTeamServiceImpl extends ServiceImpl<LawsClubJoinTeamMap
|
|||||||
if (StringUtils.isNotBlank(lawsClubJoinTeamExcel.getSpecializedModule())) {
|
if (StringUtils.isNotBlank(lawsClubJoinTeamExcel.getSpecializedModule())) {
|
||||||
String specializedModule = specializedModuleMap.get(lawsClubJoinTeamExcel.getSpecializedModule());
|
String specializedModule = specializedModuleMap.get(lawsClubJoinTeamExcel.getSpecializedModule());
|
||||||
if (StringUtils.isBlank(specializedModule)) {
|
if (StringUtils.isBlank(specializedModule)) {
|
||||||
msgSub.append(getErrorMsg(i, "专业模块不存在;"));
|
msgSub.append(getErrorMsg(i, "专业模块不存在"));
|
||||||
}else {
|
}else {
|
||||||
lawsClubJoinTeamExcel.setSpecializedModule(specializedModule);
|
lawsClubJoinTeamExcel.setSpecializedModule(specializedModule);
|
||||||
}
|
}
|
||||||
@@ -216,22 +216,22 @@ public class LawsClubJoinTeamServiceImpl extends ServiceImpl<LawsClubJoinTeamMap
|
|||||||
String fullName = extractFullName(lawsClubJoinTeamExcel.getProposerId());
|
String fullName = extractFullName(lawsClubJoinTeamExcel.getProposerId());
|
||||||
SysUser sysUser = sysUserService.getOne(new LambdaQueryWrapper<SysUser>().eq(SysUser::getUsername, proposerName).eq(SysUser::getRealname,fullName),false);
|
SysUser sysUser = sysUserService.getOne(new LambdaQueryWrapper<SysUser>().eq(SysUser::getUsername, proposerName).eq(SysUser::getRealname,fullName),false);
|
||||||
if (Objects.isNull(sysUser)) {
|
if (Objects.isNull(sysUser)) {
|
||||||
msgSub.append(getErrorMsg(i, "申请人不存在;"));
|
msgSub.append(getErrorMsg(i, "申请人不存在"));
|
||||||
}else {
|
}else {
|
||||||
lawsClubJoinTeamExcel.setProposerId(sysUser.getId());
|
lawsClubJoinTeamExcel.setProposerId(sysUser.getId());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
// 校验秘书处
|
// 校验秘书处
|
||||||
if (StringUtils.isNotBlank(lawsClubJoinTeamExcel.getSecretariat()) && lawsClubJoinTeamExcel.getSecretariat().length() > 50) {
|
if (StringUtils.isNotBlank(lawsClubJoinTeamExcel.getSecretariat()) && lawsClubJoinTeamExcel.getSecretariat().length() > 50) {
|
||||||
msgSub.append(getErrorMsg(i, "秘书处长度不能超过50;"));
|
msgSub.append(getErrorMsg(i, "秘书处长度不能超过50"));
|
||||||
}
|
}
|
||||||
// 校验联系人
|
// 校验联系人
|
||||||
if (StringUtils.isNotBlank(lawsClubJoinTeamExcel.getContacts()) && lawsClubJoinTeamExcel.getContacts().length() > 50) {
|
if (StringUtils.isNotBlank(lawsClubJoinTeamExcel.getContacts()) && lawsClubJoinTeamExcel.getContacts().length() > 50) {
|
||||||
msgSub.append(getErrorMsg(i, "联系人长度不能超过50;"));
|
msgSub.append(getErrorMsg(i, "联系人长度不能超过50"));
|
||||||
}
|
}
|
||||||
// 校验备注
|
// 校验备注
|
||||||
if (StringUtils.isNotBlank(lawsClubJoinTeamExcel.getRemark()) && lawsClubJoinTeamExcel.getRemark().length() > 500) {
|
if (StringUtils.isNotBlank(lawsClubJoinTeamExcel.getRemark()) && lawsClubJoinTeamExcel.getRemark().length() > 500) {
|
||||||
msgSub.append(getErrorMsg(i, "备注长度不能超过500;"));
|
msgSub.append(getErrorMsg(i, "备注长度不能超过500"));
|
||||||
}
|
}
|
||||||
if (msgSub.length() > 0) {
|
if (msgSub.length() > 0) {
|
||||||
msg.append(msgSub).append("</br>");
|
msg.append(msgSub).append("</br>");
|
||||||
@@ -256,7 +256,7 @@ public class LawsClubJoinTeamServiceImpl extends ServiceImpl<LawsClubJoinTeamMap
|
|||||||
|
|
||||||
// 错误消息格式化
|
// 错误消息格式化
|
||||||
private String getErrorMsg(int rowIndex, String errorMsg) {
|
private String getErrorMsg(int rowIndex, String errorMsg) {
|
||||||
return "第" + (rowIndex + 4) + "行" + errorMsg;
|
return "第" + (rowIndex + 4) + "行" + errorMsg + ",";
|
||||||
}
|
}
|
||||||
|
|
||||||
public String extractEmployeeId(String input) {
|
public String extractEmployeeId(String input) {
|
||||||
|
|||||||
+16
-16
@@ -232,30 +232,30 @@ public class LawsClubMeetingServiceImpl extends ServiceImpl<LawsClubMeetingMappe
|
|||||||
StringBuilder msgSub = new StringBuilder();
|
StringBuilder msgSub = new StringBuilder();
|
||||||
// 校验会议名称
|
// 校验会议名称
|
||||||
if (StringUtils.isNotBlank(lawsClubMeetingExcel.getMeetingName()) && lawsClubMeetingExcel.getMeetingName().length() > 50) {
|
if (StringUtils.isNotBlank(lawsClubMeetingExcel.getMeetingName()) && lawsClubMeetingExcel.getMeetingName().length() > 50) {
|
||||||
msgSub.append(getErrorMsg(i, "会议名称长度不能超过50;"));
|
msgSub.append(getErrorMsg(i, "会议名称长度不能超过50"));
|
||||||
}
|
}
|
||||||
// 校验会议日期
|
// 校验会议日期
|
||||||
if (StringUtils.isNotBlank(lawsClubMeetingExcel.getMeetingDate())) {
|
if (StringUtils.isNotBlank(lawsClubMeetingExcel.getMeetingDate())) {
|
||||||
try {
|
try {
|
||||||
LocalDate.parse(lawsClubMeetingExcel.getMeetingDate());
|
LocalDate.parse(lawsClubMeetingExcel.getMeetingDate());
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
msgSub.append(getErrorMsg(i, "会议日期格式不正确;"));
|
msgSub.append(getErrorMsg(i, "会议日期格式不正确"));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
// 校验会议费用
|
// 校验会议费用
|
||||||
if (StringUtils.isNotBlank(lawsClubMeetingExcel.getMeetingCost()) && lawsClubMeetingExcel.getMeetingCost().length() > 50) {
|
if (StringUtils.isNotBlank(lawsClubMeetingExcel.getMeetingCost()) && lawsClubMeetingExcel.getMeetingCost().length() > 50) {
|
||||||
msgSub.append(getErrorMsg(i, "会议费用长度不能超过50;"));
|
msgSub.append(getErrorMsg(i, "会议费用长度不能超过50"));
|
||||||
}
|
}
|
||||||
// 校验线下/线上地点
|
// 校验线下/线上地点
|
||||||
if (StringUtils.isNotBlank(lawsClubMeetingExcel.getMeetingPlace()) && lawsClubMeetingExcel.getMeetingPlace().length() > 50) {
|
if (StringUtils.isNotBlank(lawsClubMeetingExcel.getMeetingPlace()) && lawsClubMeetingExcel.getMeetingPlace().length() > 50) {
|
||||||
msgSub.append(getErrorMsg(i, "线下/线上地点长度不能超过50;"));
|
msgSub.append(getErrorMsg(i, "线下/线上地点长度不能超过50"));
|
||||||
}
|
}
|
||||||
// 校验计划完成日期
|
// 校验计划完成日期
|
||||||
if (StringUtils.isNotBlank(lawsClubMeetingExcel.getPlanCompletionDate())) {
|
if (StringUtils.isNotBlank(lawsClubMeetingExcel.getPlanCompletionDate())) {
|
||||||
try {
|
try {
|
||||||
LocalDate.parse(lawsClubMeetingExcel.getPlanCompletionDate());
|
LocalDate.parse(lawsClubMeetingExcel.getPlanCompletionDate());
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
msgSub.append(getErrorMsg(i, "计划完成日期格式不正确;"));
|
msgSub.append(getErrorMsg(i, "计划完成日期格式不正确"));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
// 校验通知人
|
// 校验通知人
|
||||||
@@ -264,7 +264,7 @@ public class LawsClubMeetingServiceImpl extends ServiceImpl<LawsClubMeetingMappe
|
|||||||
String notifierId = extractEmployeeId(lawsClubMeetingExcel.getNotifierId());
|
String notifierId = extractEmployeeId(lawsClubMeetingExcel.getNotifierId());
|
||||||
SysUser sysUser = sysUserService.getOne(new LambdaQueryWrapper<SysUser>().eq(SysUser::getUsername, notifierId).eq(SysUser::getRealname,fullName),false);
|
SysUser sysUser = sysUserService.getOne(new LambdaQueryWrapper<SysUser>().eq(SysUser::getUsername, notifierId).eq(SysUser::getRealname,fullName),false);
|
||||||
if (Objects.isNull(sysUser)) {
|
if (Objects.isNull(sysUser)) {
|
||||||
msgSub.append(getErrorMsg(i, "通知人不存在;"));
|
msgSub.append(getErrorMsg(i, "通知人不存在"));
|
||||||
}else {
|
}else {
|
||||||
lawsClubMeetingExcel.setNotifierId(sysUser.getId());
|
lawsClubMeetingExcel.setNotifierId(sysUser.getId());
|
||||||
}
|
}
|
||||||
@@ -273,7 +273,7 @@ public class LawsClubMeetingServiceImpl extends ServiceImpl<LawsClubMeetingMappe
|
|||||||
if (StringUtils.isNotBlank(lawsClubMeetingExcel.getNotifyDepartId())) {
|
if (StringUtils.isNotBlank(lawsClubMeetingExcel.getNotifyDepartId())) {
|
||||||
List<SysDepart> sysDepart = sysDepartService.list(new LambdaQueryWrapper<SysDepart>().eq(SysDepart::getDepartName, lawsClubMeetingExcel.getNotifyDepartId()));
|
List<SysDepart> sysDepart = sysDepartService.list(new LambdaQueryWrapper<SysDepart>().eq(SysDepart::getDepartName, lawsClubMeetingExcel.getNotifyDepartId()));
|
||||||
if (CollectionUtils.isEmpty(sysDepart)) {
|
if (CollectionUtils.isEmpty(sysDepart)) {
|
||||||
msgSub.append(getErrorMsg(i, "通知部门不存在;"));
|
msgSub.append(getErrorMsg(i, "通知部门不存在"));
|
||||||
}else {
|
}else {
|
||||||
lawsClubMeetingExcel.setNotifyDepartId((sysDepart.get(0).getId()));
|
lawsClubMeetingExcel.setNotifyDepartId((sysDepart.get(0).getId()));
|
||||||
}
|
}
|
||||||
@@ -282,7 +282,7 @@ public class LawsClubMeetingServiceImpl extends ServiceImpl<LawsClubMeetingMappe
|
|||||||
if (StringUtils.isNotBlank(lawsClubMeetingExcel.getInformSpecializedModule())) {
|
if (StringUtils.isNotBlank(lawsClubMeetingExcel.getInformSpecializedModule())) {
|
||||||
String informSpecializedModule = specializedModuleMap.get(lawsClubMeetingExcel.getInformSpecializedModule());
|
String informSpecializedModule = specializedModuleMap.get(lawsClubMeetingExcel.getInformSpecializedModule());
|
||||||
if (StringUtils.isBlank(informSpecializedModule)) {
|
if (StringUtils.isBlank(informSpecializedModule)) {
|
||||||
msgSub.append(getErrorMsg(i, "通知部门专业模块不存在;"));
|
msgSub.append(getErrorMsg(i, "通知部门专业模块不存在"));
|
||||||
}else {
|
}else {
|
||||||
lawsClubMeetingExcel.setInformSpecializedModule(informSpecializedModule);
|
lawsClubMeetingExcel.setInformSpecializedModule(informSpecializedModule);
|
||||||
}
|
}
|
||||||
@@ -291,18 +291,18 @@ public class LawsClubMeetingServiceImpl extends ServiceImpl<LawsClubMeetingMappe
|
|||||||
if (StringUtils.isNotBlank(lawsClubMeetingExcel.getIsPublicize())) {
|
if (StringUtils.isNotBlank(lawsClubMeetingExcel.getIsPublicize())) {
|
||||||
String isPublicize = ynMap.get(lawsClubMeetingExcel.getIsPublicize());
|
String isPublicize = ynMap.get(lawsClubMeetingExcel.getIsPublicize());
|
||||||
if (StringUtils.isBlank(isPublicize)) {
|
if (StringUtils.isBlank(isPublicize)) {
|
||||||
msgSub.append(getErrorMsg(i, "是否宣贯请填写是或否;"));
|
msgSub.append(getErrorMsg(i, "是否宣贯请填写是或否"));
|
||||||
}else {
|
}else {
|
||||||
lawsClubMeetingExcel.setIsPublicize(isPublicize);
|
lawsClubMeetingExcel.setIsPublicize(isPublicize);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
// 校验会议组织人
|
// 校验会议组织人
|
||||||
if (StringUtils.isNotBlank(lawsClubMeetingExcel.getMeetingOrganizer()) && lawsClubMeetingExcel.getMeetingOrganizer().length() > 50) {
|
if (StringUtils.isNotBlank(lawsClubMeetingExcel.getMeetingOrganizer()) && lawsClubMeetingExcel.getMeetingOrganizer().length() > 50) {
|
||||||
msgSub.append(getErrorMsg(i, "会议组织人长度不能超过50;"));
|
msgSub.append(getErrorMsg(i, "会议组织人长度不能超过50"));
|
||||||
}
|
}
|
||||||
// 校验会议内容
|
// 校验会议内容
|
||||||
if (StringUtils.isNotBlank(lawsClubMeetingExcel.getMeetingContent()) && lawsClubMeetingExcel.getMeetingContent().length() > 500) {
|
if (StringUtils.isNotBlank(lawsClubMeetingExcel.getMeetingContent()) && lawsClubMeetingExcel.getMeetingContent().length() > 500) {
|
||||||
msgSub.append(getErrorMsg(i, "会议内容长度不能超过500;"));
|
msgSub.append(getErrorMsg(i, "会议内容长度不能超过500"));
|
||||||
}
|
}
|
||||||
List<LawsClubMeetingMemberExcel> meetingMemberList = lawsClubMeetingExcel.getMeetingMemberList();
|
List<LawsClubMeetingMemberExcel> meetingMemberList = lawsClubMeetingExcel.getMeetingMemberList();
|
||||||
// 校验参会人员的信息
|
// 校验参会人员的信息
|
||||||
@@ -313,7 +313,7 @@ public class LawsClubMeetingServiceImpl extends ServiceImpl<LawsClubMeetingMappe
|
|||||||
String memberId = extractEmployeeId(lawsClubMeetingMemberExcel.getMemberId());
|
String memberId = extractEmployeeId(lawsClubMeetingMemberExcel.getMemberId());
|
||||||
SysUser sysUser = sysUserService.getOne(new LambdaQueryWrapper<SysUser>().eq(SysUser::getUsername, memberId).eq(SysUser::getRealname, fullName),false);
|
SysUser sysUser = sysUserService.getOne(new LambdaQueryWrapper<SysUser>().eq(SysUser::getUsername, memberId).eq(SysUser::getRealname, fullName),false);
|
||||||
if (Objects.isNull(sysUser)) {
|
if (Objects.isNull(sysUser)) {
|
||||||
msgSub.append(getErrorMsg(i, "参会人员:" + lawsClubMeetingMemberExcel.getMemberId() + "不存在;"));
|
msgSub.append(getErrorMsg(i, "参会人员:" + lawsClubMeetingMemberExcel.getMemberId() + "不存在"));
|
||||||
}else {
|
}else {
|
||||||
lawsClubMeetingMemberExcel.setMemberId(sysUser.getId());
|
lawsClubMeetingMemberExcel.setMemberId(sysUser.getId());
|
||||||
}
|
}
|
||||||
@@ -322,7 +322,7 @@ public class LawsClubMeetingServiceImpl extends ServiceImpl<LawsClubMeetingMappe
|
|||||||
if (StringUtils.isNotBlank(lawsClubMeetingMemberExcel.getDepartId())) {
|
if (StringUtils.isNotBlank(lawsClubMeetingMemberExcel.getDepartId())) {
|
||||||
List<SysDepart> sysDepart = sysDepartService.list(new LambdaQueryWrapper<SysDepart>().eq(SysDepart::getDepartName, lawsClubMeetingMemberExcel.getDepartId()));
|
List<SysDepart> sysDepart = sysDepartService.list(new LambdaQueryWrapper<SysDepart>().eq(SysDepart::getDepartName, lawsClubMeetingMemberExcel.getDepartId()));
|
||||||
if (CollectionUtils.isEmpty(sysDepart)) {
|
if (CollectionUtils.isEmpty(sysDepart)) {
|
||||||
msgSub.append(getErrorMsg(i, "参会部门:" + lawsClubMeetingMemberExcel.getDepartId() + "不存在;"));
|
msgSub.append(getErrorMsg(i, "参会部门:" + lawsClubMeetingMemberExcel.getDepartId() + "不存在"));
|
||||||
}else {
|
}else {
|
||||||
lawsClubMeetingMemberExcel.setDepartId((sysDepart.get(0).getId()));
|
lawsClubMeetingMemberExcel.setDepartId((sysDepart.get(0).getId()));
|
||||||
}
|
}
|
||||||
@@ -331,7 +331,7 @@ public class LawsClubMeetingServiceImpl extends ServiceImpl<LawsClubMeetingMappe
|
|||||||
if (StringUtils.isNotBlank(lawsClubMeetingMemberExcel.getMeetingSpecializedModule())) {
|
if (StringUtils.isNotBlank(lawsClubMeetingMemberExcel.getMeetingSpecializedModule())) {
|
||||||
String meetingSpecializedModule = specializedModuleMap.get(lawsClubMeetingMemberExcel.getMeetingSpecializedModule());
|
String meetingSpecializedModule = specializedModuleMap.get(lawsClubMeetingMemberExcel.getMeetingSpecializedModule());
|
||||||
if (StringUtils.isBlank(meetingSpecializedModule)) {
|
if (StringUtils.isBlank(meetingSpecializedModule)) {
|
||||||
msgSub.append(getErrorMsg(i, "参会部门专业模块:" + lawsClubMeetingMemberExcel.getMeetingSpecializedModule() + "不存在;"));
|
msgSub.append(getErrorMsg(i, "参会部门专业模块:" + lawsClubMeetingMemberExcel.getMeetingSpecializedModule() + "不存在"));
|
||||||
}else {
|
}else {
|
||||||
lawsClubMeetingMemberExcel.setMeetingSpecializedModule(meetingSpecializedModule);
|
lawsClubMeetingMemberExcel.setMeetingSpecializedModule(meetingSpecializedModule);
|
||||||
}
|
}
|
||||||
@@ -344,7 +344,7 @@ public class LawsClubMeetingServiceImpl extends ServiceImpl<LawsClubMeetingMappe
|
|||||||
}
|
}
|
||||||
File file = unZipFileMap.get(fileName);
|
File file = unZipFileMap.get(fileName);
|
||||||
if (Objects.isNull(file)) {
|
if (Objects.isNull(file)) {
|
||||||
msgSub.append(getErrorMsg(i, "参会报告:" + lawsClubMeetingMemberExcel.getMeetingFileId() + "在压缩包内不存在;"));
|
msgSub.append(getErrorMsg(i, "参会报告:" + lawsClubMeetingMemberExcel.getMeetingFileId() + "在压缩包内不存在"));
|
||||||
}else {
|
}else {
|
||||||
FileInputStream input = new FileInputStream(file);
|
FileInputStream input = new FileInputStream(file);
|
||||||
MultipartFile multipartFile = new MockMultipartFile(file.getName(), file.getName(), "application/octet-stream", input);
|
MultipartFile multipartFile = new MockMultipartFile(file.getName(), file.getName(), "application/octet-stream", input);
|
||||||
@@ -366,7 +366,7 @@ public class LawsClubMeetingServiceImpl extends ServiceImpl<LawsClubMeetingMappe
|
|||||||
|
|
||||||
// 错误消息格式化
|
// 错误消息格式化
|
||||||
private String getErrorMsg(int rowIndex, String errorMsg) {
|
private String getErrorMsg(int rowIndex, String errorMsg) {
|
||||||
return "第" + (rowIndex + 4) + "行" + errorMsg;
|
return "第" + (rowIndex + 4) + "行" + errorMsg + ",";
|
||||||
}
|
}
|
||||||
|
|
||||||
public String extractEmployeeId(String input) {
|
public String extractEmployeeId(String input) {
|
||||||
|
|||||||
+4
-4
@@ -140,19 +140,19 @@ public class LawsClubPaymentServiceImpl extends ServiceImpl<LawsClubPaymentMappe
|
|||||||
StringBuilder msgSub = new StringBuilder();
|
StringBuilder msgSub = new StringBuilder();
|
||||||
// 校验缴费金额
|
// 校验缴费金额
|
||||||
if (StringUtils.isNotBlank(lawsClubPaymentExcel.getPaymentAmount()) && lawsClubPaymentExcel.getPaymentAmount().length() > 50) {
|
if (StringUtils.isNotBlank(lawsClubPaymentExcel.getPaymentAmount()) && lawsClubPaymentExcel.getPaymentAmount().length() > 50) {
|
||||||
msgSub.append(getErrorMsg(i, "缴费金额长度不能超过50;"));
|
msgSub.append(getErrorMsg(i, "缴费金额长度不能超过50"));
|
||||||
}
|
}
|
||||||
// 校验缴费日期格
|
// 校验缴费日期格
|
||||||
if (StringUtils.isNotBlank(lawsClubPaymentExcel.getPaymentTime())) {
|
if (StringUtils.isNotBlank(lawsClubPaymentExcel.getPaymentTime())) {
|
||||||
try {
|
try {
|
||||||
LocalDate.parse(lawsClubPaymentExcel.getPaymentTime());
|
LocalDate.parse(lawsClubPaymentExcel.getPaymentTime());
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
msgSub.append(getErrorMsg(i, "缴费日期格式不正确;"));
|
msgSub.append(getErrorMsg(i, "缴费日期格式不正确"));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
// 校验备注
|
// 校验备注
|
||||||
if (StringUtils.isNotBlank(lawsClubPaymentExcel.getRemark()) && lawsClubPaymentExcel.getRemark().length() > 500) {
|
if (StringUtils.isNotBlank(lawsClubPaymentExcel.getRemark()) && lawsClubPaymentExcel.getRemark().length() > 500) {
|
||||||
msgSub.append(getErrorMsg(i, "备注长度不能超过500;"));
|
msgSub.append(getErrorMsg(i, "备注长度不能超过500"));
|
||||||
}
|
}
|
||||||
if (msgSub.length() > 0) {
|
if (msgSub.length() > 0) {
|
||||||
msg.append(msgSub).append("</br>");
|
msg.append(msgSub).append("</br>");
|
||||||
@@ -186,7 +186,7 @@ public class LawsClubPaymentServiceImpl extends ServiceImpl<LawsClubPaymentMappe
|
|||||||
|
|
||||||
// 错误消息格式化
|
// 错误消息格式化
|
||||||
private String getErrorMsg(int rowIndex, String errorMsg) {
|
private String getErrorMsg(int rowIndex, String errorMsg) {
|
||||||
return "第" + (rowIndex + 4) + "行" + errorMsg;
|
return "第" + (rowIndex + 4) + "行" + errorMsg + ",";
|
||||||
}
|
}
|
||||||
|
|
||||||
private void excelHeadVerify(MultipartFile file, Class<LawsClubPaymentExcel> clazz, int titleRows, int i) {
|
private void excelHeadVerify(MultipartFile file, Class<LawsClubPaymentExcel> clazz, int titleRows, int i) {
|
||||||
|
|||||||
+14
-14
@@ -171,18 +171,18 @@ public class LawsClubResearchInformationServiceImpl extends ServiceImpl<LawsClub
|
|||||||
StringBuilder msgSub = new StringBuilder();
|
StringBuilder msgSub = new StringBuilder();
|
||||||
// 校验名称
|
// 校验名称
|
||||||
if (StringUtils.isNotBlank(lawsClubResearchInformationExcel.getResearchName()) && lawsClubResearchInformationExcel.getResearchName().length() > 50) {
|
if (StringUtils.isNotBlank(lawsClubResearchInformationExcel.getResearchName()) && lawsClubResearchInformationExcel.getResearchName().length() > 50) {
|
||||||
msgSub.append(getErrorMsg(i, "名称长度不能超过50;"));
|
msgSub.append(getErrorMsg(i, "名称长度不能超过50"));
|
||||||
}
|
}
|
||||||
// 校验内容
|
// 校验内容
|
||||||
if (StringUtils.isNotBlank(lawsClubResearchInformationExcel.getResearchContent()) && lawsClubResearchInformationExcel.getResearchContent().length() > 500) {
|
if (StringUtils.isNotBlank(lawsClubResearchInformationExcel.getResearchContent()) && lawsClubResearchInformationExcel.getResearchContent().length() > 500) {
|
||||||
msgSub.append(getErrorMsg(i, "内容长度不能超过500;"));
|
msgSub.append(getErrorMsg(i, "内容长度不能超过500"));
|
||||||
}
|
}
|
||||||
// 校验接收日期
|
// 校验接收日期
|
||||||
if (StringUtils.isNotBlank(lawsClubResearchInformationExcel.getReceiveDate())) {
|
if (StringUtils.isNotBlank(lawsClubResearchInformationExcel.getReceiveDate())) {
|
||||||
try {
|
try {
|
||||||
LocalDate.parse(lawsClubResearchInformationExcel.getReceiveDate());
|
LocalDate.parse(lawsClubResearchInformationExcel.getReceiveDate());
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
msgSub.append(getErrorMsg(i, "接收日期格式不正确;"));
|
msgSub.append(getErrorMsg(i, "接收日期格式不正确"));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
// 校验截止日期
|
// 校验截止日期
|
||||||
@@ -190,7 +190,7 @@ public class LawsClubResearchInformationServiceImpl extends ServiceImpl<LawsClub
|
|||||||
try {
|
try {
|
||||||
LocalDate.parse(lawsClubResearchInformationExcel.getDeadlineDate());
|
LocalDate.parse(lawsClubResearchInformationExcel.getDeadlineDate());
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
msgSub.append(getErrorMsg(i, "截止日期格式不正确;"));
|
msgSub.append(getErrorMsg(i, "截止日期格式不正确"));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
// 校验专业接口人
|
// 校验专业接口人
|
||||||
@@ -199,7 +199,7 @@ public class LawsClubResearchInformationServiceImpl extends ServiceImpl<LawsClub
|
|||||||
String fullName = extractFullName(lawsClubResearchInformationExcel.getSpecializedInterfacePerson());
|
String fullName = extractFullName(lawsClubResearchInformationExcel.getSpecializedInterfacePerson());
|
||||||
SysUser sysUser = sysUserService.getOne(new LambdaQueryWrapper<SysUser>().eq(SysUser::getUsername, specializedInterfacePerson).eq(SysUser::getRealname,fullName),false);
|
SysUser sysUser = sysUserService.getOne(new LambdaQueryWrapper<SysUser>().eq(SysUser::getUsername, specializedInterfacePerson).eq(SysUser::getRealname,fullName),false);
|
||||||
if (Objects.isNull(sysUser)) {
|
if (Objects.isNull(sysUser)) {
|
||||||
msgSub.append(getErrorMsg(i, "专业接口人不存在;"));
|
msgSub.append(getErrorMsg(i, "专业接口人不存在"));
|
||||||
}else {
|
}else {
|
||||||
lawsClubResearchInformationExcel.setSpecializedInterfacePerson(sysUser.getId());
|
lawsClubResearchInformationExcel.setSpecializedInterfacePerson(sysUser.getId());
|
||||||
}
|
}
|
||||||
@@ -208,7 +208,7 @@ public class LawsClubResearchInformationServiceImpl extends ServiceImpl<LawsClub
|
|||||||
if (StringUtils.isNotBlank(lawsClubResearchInformationExcel.getSpecializedModule())) {
|
if (StringUtils.isNotBlank(lawsClubResearchInformationExcel.getSpecializedModule())) {
|
||||||
String specializedModule = specializedModuleMap.get(lawsClubResearchInformationExcel.getSpecializedModule());
|
String specializedModule = specializedModuleMap.get(lawsClubResearchInformationExcel.getSpecializedModule());
|
||||||
if (StringUtils.isBlank(specializedModule)) {
|
if (StringUtils.isBlank(specializedModule)) {
|
||||||
msgSub.append(getErrorMsg(i, "专业模块不存在;"));
|
msgSub.append(getErrorMsg(i, "专业模块不存在"));
|
||||||
}else {
|
}else {
|
||||||
lawsClubResearchInformationExcel.setSpecializedModule(specializedModule);
|
lawsClubResearchInformationExcel.setSpecializedModule(specializedModule);
|
||||||
}
|
}
|
||||||
@@ -219,7 +219,7 @@ public class LawsClubResearchInformationServiceImpl extends ServiceImpl<LawsClub
|
|||||||
String feedbackPerson = extractEmployeeId(lawsClubResearchInformationExcel.getFeedbackPerson());
|
String feedbackPerson = extractEmployeeId(lawsClubResearchInformationExcel.getFeedbackPerson());
|
||||||
SysUser sysUser = sysUserService.getOne(new LambdaQueryWrapper<SysUser>().eq(SysUser::getUsername, feedbackPerson).eq(SysUser::getRealname,fullName),false);
|
SysUser sysUser = sysUserService.getOne(new LambdaQueryWrapper<SysUser>().eq(SysUser::getUsername, feedbackPerson).eq(SysUser::getRealname,fullName),false);
|
||||||
if (Objects.isNull(sysUser)) {
|
if (Objects.isNull(sysUser)) {
|
||||||
msgSub.append(getErrorMsg(i, "反馈人不存在;"));
|
msgSub.append(getErrorMsg(i, "反馈人不存在"));
|
||||||
}else {
|
}else {
|
||||||
lawsClubResearchInformationExcel.setFeedbackPerson(sysUser.getId());
|
lawsClubResearchInformationExcel.setFeedbackPerson(sysUser.getId());
|
||||||
}
|
}
|
||||||
@@ -228,7 +228,7 @@ public class LawsClubResearchInformationServiceImpl extends ServiceImpl<LawsClub
|
|||||||
if (StringUtils.isNotBlank(lawsClubResearchInformationExcel.getFeedbackDepart())) {
|
if (StringUtils.isNotBlank(lawsClubResearchInformationExcel.getFeedbackDepart())) {
|
||||||
List<SysDepart> sysDepart = sysDepartService.list(new LambdaQueryWrapper<SysDepart>().eq(SysDepart::getDepartName, lawsClubResearchInformationExcel.getFeedbackDepart()));
|
List<SysDepart> sysDepart = sysDepartService.list(new LambdaQueryWrapper<SysDepart>().eq(SysDepart::getDepartName, lawsClubResearchInformationExcel.getFeedbackDepart()));
|
||||||
if (CollectionUtils.isEmpty(sysDepart)) {
|
if (CollectionUtils.isEmpty(sysDepart)) {
|
||||||
msgSub.append(getErrorMsg(i, "反馈部门不存在;"));
|
msgSub.append(getErrorMsg(i, "反馈部门不存在"));
|
||||||
}else {
|
}else {
|
||||||
lawsClubResearchInformationExcel.setFeedbackDepart(sysDepart.get(0).getId());
|
lawsClubResearchInformationExcel.setFeedbackDepart(sysDepart.get(0).getId());
|
||||||
}
|
}
|
||||||
@@ -237,28 +237,28 @@ public class LawsClubResearchInformationServiceImpl extends ServiceImpl<LawsClub
|
|||||||
if (StringUtils.isNotBlank(lawsClubResearchInformationExcel.getFeedbackSpecializedModule())) {
|
if (StringUtils.isNotBlank(lawsClubResearchInformationExcel.getFeedbackSpecializedModule())) {
|
||||||
String feedbackSpecializedModule = specializedModuleMap.get(lawsClubResearchInformationExcel.getFeedbackSpecializedModule());
|
String feedbackSpecializedModule = specializedModuleMap.get(lawsClubResearchInformationExcel.getFeedbackSpecializedModule());
|
||||||
if (StringUtils.isBlank(feedbackSpecializedModule)) {
|
if (StringUtils.isBlank(feedbackSpecializedModule)) {
|
||||||
msgSub.append(getErrorMsg(i, "反馈部门专业模块不存在;"));
|
msgSub.append(getErrorMsg(i, "反馈部门专业模块不存在"));
|
||||||
}else {
|
}else {
|
||||||
lawsClubResearchInformationExcel.setFeedbackSpecializedModule(feedbackSpecializedModule);
|
lawsClubResearchInformationExcel.setFeedbackSpecializedModule(feedbackSpecializedModule);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
// 校验反馈情况
|
// 校验反馈情况
|
||||||
if (StringUtils.isNotBlank(lawsClubResearchInformationExcel.getFeedbackSituation()) && lawsClubResearchInformationExcel.getFeedbackSituation().length() > 500) {
|
if (StringUtils.isNotBlank(lawsClubResearchInformationExcel.getFeedbackSituation()) && lawsClubResearchInformationExcel.getFeedbackSituation().length() > 500) {
|
||||||
msgSub.append(getErrorMsg(i, "反馈情况长度不能超过500;"));
|
msgSub.append(getErrorMsg(i, "反馈情况长度不能超过500"));
|
||||||
}
|
}
|
||||||
// 校验盖章流程完成情况
|
// 校验盖章流程完成情况
|
||||||
if (StringUtils.isNotBlank(lawsClubResearchInformationExcel.getSealSituation()) && lawsClubResearchInformationExcel.getSealSituation().length() > 50) {
|
if (StringUtils.isNotBlank(lawsClubResearchInformationExcel.getSealSituation()) && lawsClubResearchInformationExcel.getSealSituation().length() > 50) {
|
||||||
msgSub.append(getErrorMsg(i, "盖章流程完成情况长度不能超过50;"));
|
msgSub.append(getErrorMsg(i, "盖章流程完成情况长度不能超过50"));
|
||||||
}
|
}
|
||||||
// 校验所属设社团
|
// 校验所属设社团
|
||||||
if (StringUtils.isNotBlank(lawsClubResearchInformationExcel.getClubName()) && lawsClubResearchInformationExcel.getClubName().length() > 50) {
|
if (StringUtils.isNotBlank(lawsClubResearchInformationExcel.getClubName()) && lawsClubResearchInformationExcel.getClubName().length() > 50) {
|
||||||
msgSub.append(getErrorMsg(i, "所属设社团长度不能超过50;"));
|
msgSub.append(getErrorMsg(i, "所属设社团长度不能超过50"));
|
||||||
}
|
}
|
||||||
// 校验任务来源
|
// 校验任务来源
|
||||||
if (StringUtils.isNotBlank(lawsClubResearchInformationExcel.getTaskSource())) {
|
if (StringUtils.isNotBlank(lawsClubResearchInformationExcel.getTaskSource())) {
|
||||||
String taskSource = clubTaskSourceMap.get(lawsClubResearchInformationExcel.getTaskSource());
|
String taskSource = clubTaskSourceMap.get(lawsClubResearchInformationExcel.getTaskSource());
|
||||||
if (StringUtils.isBlank(taskSource)) {
|
if (StringUtils.isBlank(taskSource)) {
|
||||||
msgSub.append(getErrorMsg(i, "任务来源不存在;"));
|
msgSub.append(getErrorMsg(i, "任务来源不存在"));
|
||||||
}else {
|
}else {
|
||||||
lawsClubResearchInformationExcel.setTaskSource(taskSource);
|
lawsClubResearchInformationExcel.setTaskSource(taskSource);
|
||||||
}
|
}
|
||||||
@@ -272,7 +272,7 @@ public class LawsClubResearchInformationServiceImpl extends ServiceImpl<LawsClub
|
|||||||
|
|
||||||
// 错误消息格式化
|
// 错误消息格式化
|
||||||
private String getErrorMsg(int rowIndex, String errorMsg) {
|
private String getErrorMsg(int rowIndex, String errorMsg) {
|
||||||
return "第" + (rowIndex + 4) + "行" + errorMsg;
|
return "第" + (rowIndex + 4) + "行" + errorMsg + ",";
|
||||||
}
|
}
|
||||||
|
|
||||||
public String extractEmployeeId(String input) {
|
public String extractEmployeeId(String input) {
|
||||||
|
|||||||
+12
-21
@@ -854,50 +854,50 @@ public class LawsClubServiceImpl extends ServiceImpl<LawsClubMapper, LawsClub> i
|
|||||||
// 校验上级节点
|
// 校验上级节点
|
||||||
String parentId = lawsClubExcel.getParentId();
|
String parentId = lawsClubExcel.getParentId();
|
||||||
if (StringUtils.isBlank(parentId)) {
|
if (StringUtils.isBlank(parentId)) {
|
||||||
msgSub.append(getErrorMsg(i, "上级节点不能为空;"));
|
msgSub.append(getErrorMsg(i, "上级节点不能为空"));
|
||||||
} else {
|
} else {
|
||||||
LawsClub club = getOne(new LambdaQueryWrapper<LawsClub>().eq(LawsClub::getClubName, parentId));
|
LawsClub club = getOne(new LambdaQueryWrapper<LawsClub>().eq(LawsClub::getClubName, parentId));
|
||||||
if (club == null) {
|
if (club == null) {
|
||||||
msgSub.append(getErrorMsg(i, "上级节点不存在,请重新输入;"));
|
msgSub.append(getErrorMsg(i, "上级节点不存在,请重新输入"));
|
||||||
} else {
|
} else {
|
||||||
lawsClubExcel.setParentId(club.getId());
|
lawsClubExcel.setParentId(club.getId());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
// 校验节点类型
|
// 校验节点类型
|
||||||
if (StringUtils.isBlank(lawsClubExcel.getNodeType())) {
|
if (StringUtils.isBlank(lawsClubExcel.getNodeType())) {
|
||||||
msgSub.append(getErrorMsg(i, "节点类型不能为空;"));
|
msgSub.append(getErrorMsg(i, "节点类型不能为空"));
|
||||||
} else if (lawsClubExcel.getNodeType().length() > 50){
|
} else if (lawsClubExcel.getNodeType().length() > 50){
|
||||||
msgSub.append(getErrorMsg(i, "节点类型长度不能超过50;"));
|
msgSub.append(getErrorMsg(i, "节点类型长度不能超过50"));
|
||||||
}
|
}
|
||||||
// 校验社团名称
|
// 校验社团名称
|
||||||
if (StringUtils.isBlank(lawsClubExcel.getClubName())) {
|
if (StringUtils.isBlank(lawsClubExcel.getClubName())) {
|
||||||
msgSub.append(getErrorMsg(i, "社团名称不能为空;"));
|
msgSub.append(getErrorMsg(i, "社团名称不能为空"));
|
||||||
}else if (lawsClubExcel.getClubName().length() > 50) {
|
}else if (lawsClubExcel.getClubName().length() > 50) {
|
||||||
msgSub.append(getErrorMsg(i, "社团名称长度不能超过50;"));
|
msgSub.append(getErrorMsg(i, "社团名称长度不能超过50"));
|
||||||
}else {
|
}else {
|
||||||
LawsClub lawsClub = getOne(new LambdaQueryWrapper<LawsClub>().eq(LawsClub::getClubName, lawsClubExcel.getClubName()));
|
LawsClub lawsClub = getOne(new LambdaQueryWrapper<LawsClub>().eq(LawsClub::getClubName, lawsClubExcel.getClubName()));
|
||||||
if (!Objects.isNull(lawsClub)) {
|
if (!Objects.isNull(lawsClub)) {
|
||||||
msgSub.append(getErrorMsg(i, "社团名称已存在;"));
|
msgSub.append(getErrorMsg(i, "社团名称已存在"));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
// 校验社团地址
|
// 校验社团地址
|
||||||
if (StringUtils.isNotBlank(lawsClubExcel.getClubAddress()) && lawsClubExcel.getClubAddress().length() > 50) {
|
if (StringUtils.isNotBlank(lawsClubExcel.getClubAddress()) && lawsClubExcel.getClubAddress().length() > 50) {
|
||||||
msgSub.append(getErrorMsg(i, "社团地址长度不能超过50;"));
|
msgSub.append(getErrorMsg(i, "社团地址长度不能超过50"));
|
||||||
}
|
}
|
||||||
// 校验社团联系人
|
// 校验社团联系人
|
||||||
if (StringUtils.isNotBlank(lawsClubExcel.getClubContact()) && lawsClubExcel.getClubContact().length() > 50) {
|
if (StringUtils.isNotBlank(lawsClubExcel.getClubContact()) && lawsClubExcel.getClubContact().length() > 50) {
|
||||||
msgSub.append(getErrorMsg(i, "社团联系人长度不能超过50;"));
|
msgSub.append(getErrorMsg(i, "社团联系人长度不能超过50"));
|
||||||
}
|
}
|
||||||
// 校验联系电话
|
// 校验联系电话
|
||||||
String contactNumber = lawsClubExcel.getContactNumber();
|
String contactNumber = lawsClubExcel.getContactNumber();
|
||||||
if (StringUtils.isNotBlank(contactNumber) && !contactNumber.matches("^(?:(0\\d{2,3}-)?\\d{7,8}|1[3-9]\\d{9})$")) {
|
if (StringUtils.isNotBlank(contactNumber) && !contactNumber.matches("^(?:(0\\d{2,3}-)?\\d{7,8}|1[3-9]\\d{9})$")) {
|
||||||
msgSub.append(getErrorMsg(i, "联系电话格式不正确;"));
|
msgSub.append(getErrorMsg(i, "联系电话格式不正确"));
|
||||||
} else {
|
} else {
|
||||||
lawsClubExcel.setContactNumber(PasswordUtil.encrypt(contactNumber));
|
lawsClubExcel.setContactNumber(PasswordUtil.encrypt(contactNumber));
|
||||||
}
|
}
|
||||||
// 校验编号
|
// 校验编号
|
||||||
if (StringUtils.isNotBlank(lawsClubExcel.getNumber()) && lawsClubExcel.getNumber().length() > 50) {
|
if (StringUtils.isNotBlank(lawsClubExcel.getNumber()) && lawsClubExcel.getNumber().length() > 50) {
|
||||||
msgSub.append(getErrorMsg(i, "编号长度不能超过50;"));
|
msgSub.append(getErrorMsg(i, "编号长度不能超过50"));
|
||||||
}
|
}
|
||||||
if (msgSub.length() > 0) {
|
if (msgSub.length() > 0) {
|
||||||
msg.append(msgSub).append("</br>");
|
msg.append(msgSub).append("</br>");
|
||||||
@@ -1022,18 +1022,9 @@ public class LawsClubServiceImpl extends ServiceImpl<LawsClubMapper, LawsClub> i
|
|||||||
|
|
||||||
// 错误消息格式化
|
// 错误消息格式化
|
||||||
private String getErrorMsg(int rowIndex, String errorMsg) {
|
private String getErrorMsg(int rowIndex, String errorMsg) {
|
||||||
return "第" + (rowIndex + 4) + "行" + errorMsg;
|
return "第" + (rowIndex + 4) + "行" + errorMsg + ",";
|
||||||
}
|
}
|
||||||
|
|
||||||
private Map<String, String> getUserRealNameAndUsernameMap(List<String> userIds) {
|
|
||||||
// 假设这里是根据 leadIds 批量查询用户信息的逻辑
|
|
||||||
List<SysUser> users = sysUserService.list(new LambdaQueryWrapper<SysUser>().in(SysUser::getId, userIds));
|
|
||||||
// 将用户信息拼接为 "realname(username)" 形式
|
|
||||||
return users.stream().collect(Collectors.toMap(
|
|
||||||
SysUser::getId,
|
|
||||||
user -> user.getRealname() + "(" + user.getUsername() + ")"
|
|
||||||
));
|
|
||||||
}
|
|
||||||
|
|
||||||
private void excelHeadVerify(MultipartFile file, Class<LawsClubExcel> clazz, int titleRows, int i) {
|
private void excelHeadVerify(MultipartFile file, Class<LawsClubExcel> clazz, int titleRows, int i) {
|
||||||
try {
|
try {
|
||||||
|
|||||||
+3
-3
@@ -207,7 +207,7 @@ public class LawsClubWorkingGroupFileServiceImpl extends ServiceImpl<LawsClubWor
|
|||||||
if (StringUtils.isNotBlank(lawsClubWorkingGroupFileExcel.getFileType())) {
|
if (StringUtils.isNotBlank(lawsClubWorkingGroupFileExcel.getFileType())) {
|
||||||
String fileType = fileTypeMap.get(lawsClubWorkingGroupFileExcel.getFileType());
|
String fileType = fileTypeMap.get(lawsClubWorkingGroupFileExcel.getFileType());
|
||||||
if (StringUtils.isBlank(fileType)) {
|
if (StringUtils.isBlank(fileType)) {
|
||||||
msgSub.append(getErrorMsg(i, "文件类型不存在;"));
|
msgSub.append(getErrorMsg(i, "文件类型不存在"));
|
||||||
}else {
|
}else {
|
||||||
lawsClubWorkingGroupFileExcel.setFileType(fileType);
|
lawsClubWorkingGroupFileExcel.setFileType(fileType);
|
||||||
}
|
}
|
||||||
@@ -220,7 +220,7 @@ public class LawsClubWorkingGroupFileServiceImpl extends ServiceImpl<LawsClubWor
|
|||||||
}
|
}
|
||||||
File file = unZipFileMap.get(fileName);
|
File file = unZipFileMap.get(fileName);
|
||||||
if (Objects.isNull(file)) {
|
if (Objects.isNull(file)) {
|
||||||
msgSub.append(getErrorMsg(i, "参会报告:" + lawsClubWorkingGroupFileExcel.getFileId() + "在压缩包内不存在;"));
|
msgSub.append(getErrorMsg(i, "参会报告:" + lawsClubWorkingGroupFileExcel.getFileId() + "在压缩包内不存在"));
|
||||||
}else {
|
}else {
|
||||||
FileInputStream input = new FileInputStream(file);
|
FileInputStream input = new FileInputStream(file);
|
||||||
MultipartFile multipartFile = new MockMultipartFile(file.getName(), file.getName(), "application/octet-stream", input);
|
MultipartFile multipartFile = new MockMultipartFile(file.getName(), file.getName(), "application/octet-stream", input);
|
||||||
@@ -238,7 +238,7 @@ public class LawsClubWorkingGroupFileServiceImpl extends ServiceImpl<LawsClubWor
|
|||||||
|
|
||||||
// 错误消息格式化
|
// 错误消息格式化
|
||||||
private String getErrorMsg(int rowIndex, String errorMsg) {
|
private String getErrorMsg(int rowIndex, String errorMsg) {
|
||||||
return "第" + (rowIndex + 4) + "行" + errorMsg;
|
return "第" + (rowIndex + 4) + "行" + errorMsg + ",";
|
||||||
}
|
}
|
||||||
|
|
||||||
private boolean validatingPermission() {
|
private boolean validatingPermission() {
|
||||||
|
|||||||
Reference in New Issue
Block a user