update:国内整车型号和库新增导出接口;调整替换接口;
This commit is contained in:
+8
@@ -1,5 +1,6 @@
|
|||||||
package com.jero.modules.activiti.process.vehicledomestic.controller;
|
package com.jero.modules.activiti.process.vehicledomestic.controller;
|
||||||
|
|
||||||
|
import com.alibaba.fastjson.JSONObject;
|
||||||
import com.jero.common.api.vo.Result;
|
import com.jero.common.api.vo.Result;
|
||||||
import com.jero.common.aspect.annotation.AutoLog;
|
import com.jero.common.aspect.annotation.AutoLog;
|
||||||
import com.jero.common.aspect.annotation.Translation;
|
import com.jero.common.aspect.annotation.Translation;
|
||||||
@@ -80,6 +81,13 @@ public class ProcessVehicleDomesticReleaseController {
|
|||||||
return Result.OK();
|
return Result.OK();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@AutoLog(value = "国内整车型号和VIN前八位管控流程-校验整车型号")
|
||||||
|
@ApiOperation(value = "国内整车型号和VIN前八位管控流程-校验整车型号", notes = "国内整车型号和VIN前八位管控流程-校验整车型号")
|
||||||
|
@PostMapping("/checkVehicleModel")
|
||||||
|
public Result<String> checkVehicleModel(@RequestBody JSONObject jsonObject) {
|
||||||
|
return processVehicleDomesticReleaseService.checkVehicleModel(jsonObject);
|
||||||
|
}
|
||||||
|
|
||||||
@AutoLog(value = "国内整车型号和VIN前八位管控流程-办理")
|
@AutoLog(value = "国内整车型号和VIN前八位管控流程-办理")
|
||||||
@ApiOperation(value="国内整车型号和VIN前八位管控流程-办理", notes="国内整车型号和VIN前八位管控流程-办理")
|
@ApiOperation(value="国内整车型号和VIN前八位管控流程-办理", notes="国内整车型号和VIN前八位管控流程-办理")
|
||||||
@GetMapping("/handle/{taskId}")
|
@GetMapping("/handle/{taskId}")
|
||||||
|
|||||||
+3
@@ -1,5 +1,6 @@
|
|||||||
package com.jero.modules.activiti.process.vehicledomestic.service;
|
package com.jero.modules.activiti.process.vehicledomestic.service;
|
||||||
|
|
||||||
|
import com.alibaba.fastjson.JSONObject;
|
||||||
import com.baomidou.mybatisplus.extension.service.IService;
|
import com.baomidou.mybatisplus.extension.service.IService;
|
||||||
import com.jero.common.api.vo.Result;
|
import com.jero.common.api.vo.Result;
|
||||||
import com.jero.modules.activiti.process.fb.vo.ProcessInfoVO;
|
import com.jero.modules.activiti.process.fb.vo.ProcessInfoVO;
|
||||||
@@ -29,4 +30,6 @@ public interface IProcessVehicleDomesticReleaseService extends IService<ProcessV
|
|||||||
void submit(ProcessInfoVO<ProcessVehicleDomesticReleaseVo> processInfoVO);
|
void submit(ProcessInfoVO<ProcessVehicleDomesticReleaseVo> processInfoVO);
|
||||||
|
|
||||||
ProcessInfoVO<ProcessVehicleDomesticReleaseVo> getHandleData(String taskId);
|
ProcessInfoVO<ProcessVehicleDomesticReleaseVo> getHandleData(String taskId);
|
||||||
|
|
||||||
|
Result<String> checkVehicleModel(JSONObject jsonObject);
|
||||||
}
|
}
|
||||||
|
|||||||
+25
-1
@@ -1,5 +1,6 @@
|
|||||||
package com.jero.modules.activiti.process.vehicledomestic.service.impl;
|
package com.jero.modules.activiti.process.vehicledomestic.service.impl;
|
||||||
|
|
||||||
|
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.extension.service.impl.ServiceImpl;
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||||
@@ -38,6 +39,7 @@ 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;
|
||||||
@@ -45,6 +47,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.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;
|
||||||
import org.springframework.util.CollectionUtils;
|
import org.springframework.util.CollectionUtils;
|
||||||
@@ -307,6 +310,27 @@ public class ProcessVehicleDomesticReleaseServiceImpl extends ServiceImpl<Proces
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public Result<String> checkVehicleModel(JSONObject jsonObject) {
|
||||||
|
if (Objects.isNull(jsonObject) || StringUtils.isBlank(jsonObject.getString("vehicleModel"))) {
|
||||||
|
throw new JeroBootException(ResultCommon.EMPTY_COMMON, "vehicleModel");
|
||||||
|
}
|
||||||
|
LambdaQueryWrapper<LawsVehicleDomesticLibrary> lambdaQueryWrapper = new LambdaQueryWrapper<>();
|
||||||
|
lambdaQueryWrapper.eq(LawsVehicleDomesticLibrary::getIsFinish, Constant.IS_FINISH);
|
||||||
|
lambdaQueryWrapper.eq(LawsVehicleDomesticLibrary::getVehicleModel, jsonObject.getString("vehicleModel"));
|
||||||
|
LawsVehicleDomesticLibrary lawsVehicleDomesticLibrary = lawsVehicleDomesticLibraryService.getOne(lambdaQueryWrapper, false);
|
||||||
|
if (!Objects.isNull(lawsVehicleDomesticLibrary)) {
|
||||||
|
String msg = (Objects.equals(LocaleContextHolder.getLocale(), Locale.ENGLISH) ?
|
||||||
|
"The vehicleModel is already exist" : "该整车型号已存在");
|
||||||
|
Result<String> result = new Result<>();
|
||||||
|
result.setMessage(msg);
|
||||||
|
result.setSuccess(false); // 前端根据success判断是否通过验证
|
||||||
|
return result;
|
||||||
|
}else {
|
||||||
|
return Result.OK();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public ProcessInfoVO<ProcessVehicleDomesticReleaseVo> getHandleData(String taskId) {
|
public ProcessInfoVO<ProcessVehicleDomesticReleaseVo> getHandleData(String taskId) {
|
||||||
if (!actFlowCommonService.taskExists(taskId)) {
|
if (!actFlowCommonService.taskExists(taskId)) {
|
||||||
@@ -704,6 +728,6 @@ public class ProcessVehicleDomesticReleaseServiceImpl extends ServiceImpl<Proces
|
|||||||
}
|
}
|
||||||
|
|
||||||
private String getErrorMsg(int rowIndex, String errorMsg) {
|
private String getErrorMsg(int rowIndex, String errorMsg) {
|
||||||
return "第" + (rowIndex + 4) + "行" + errorMsg;
|
return "第" + (rowIndex + 2) + "行" + errorMsg;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
+49
-10
@@ -4,6 +4,7 @@ import com.fasterxml.jackson.annotation.JsonFormat;
|
|||||||
import com.jero.common.aspect.annotation.Dict;
|
import com.jero.common.aspect.annotation.Dict;
|
||||||
import io.swagger.annotations.ApiModelProperty;
|
import io.swagger.annotations.ApiModelProperty;
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
|
import org.jeecgframework.poi.excel.annotation.Excel;
|
||||||
import org.springframework.format.annotation.DateTimeFormat;
|
import org.springframework.format.annotation.DateTimeFormat;
|
||||||
import java.util.Date;
|
import java.util.Date;
|
||||||
|
|
||||||
@@ -21,122 +22,160 @@ public class ProcessVehicleDomesticReleaseVo {
|
|||||||
private String copyUser;
|
private String copyUser;
|
||||||
|
|
||||||
@ApiModelProperty(value = "能源类型")
|
@ApiModelProperty(value = "能源类型")
|
||||||
|
@Excel(name = "能源类型", width = 20, dicCode = "dvm_energy_type")
|
||||||
@Dict(dicCode = "dvm_energy_type")
|
@Dict(dicCode = "dvm_energy_type")
|
||||||
private String energyType;
|
private String energyType;
|
||||||
|
|
||||||
@ApiModelProperty(value = "整车型号")
|
@ApiModelProperty(value = "整车型号")
|
||||||
|
@Excel(name = "整车型号", width = 20)
|
||||||
private String vehicleModel;
|
private String vehicleModel;
|
||||||
|
|
||||||
@ApiModelProperty(value = "vin前八位")
|
@ApiModelProperty(value = "vin前八位")
|
||||||
|
@Excel(name = "vin前八位", width = 20)
|
||||||
private String vinTopEight;
|
private String vinTopEight;
|
||||||
|
|
||||||
@ApiModelProperty(value = "整车型号编制依据")
|
@ApiModelProperty(value = "整车型号编制依据")
|
||||||
|
@Excel(name = "整车型号编制依据", width = 20)
|
||||||
private String vehicleBasis;
|
private String vehicleBasis;
|
||||||
|
|
||||||
@ApiModelProperty(value = "vin编制依据")
|
@ApiModelProperty(value = "vin编制依据")
|
||||||
|
@Excel(name = "vin编制依据", width = 20)
|
||||||
private String vinBasis;
|
private String vinBasis;
|
||||||
|
|
||||||
@ApiModelProperty(value = "代替整车型号")
|
@ApiModelProperty(value = "代替整车型号")
|
||||||
|
@Excel(name = "代替整车型号", width = 20)
|
||||||
private String insteadVehicleModel;
|
private String insteadVehicleModel;
|
||||||
|
|
||||||
@ApiModelProperty(value = "申请人")
|
@ApiModelProperty(value = "申请人")
|
||||||
@Dict(dictTable = "sys_user", dicCode = "id", dicText = "realname")
|
@Dict(dictTable = "sys_user", dicCode = "id", dicText = "realname")
|
||||||
|
@Excel(name = "申请人", width = 20, dictTable = "sys_user", dicCode = "id", dicText = "CONCAT(realname, '(', username, ')')")
|
||||||
private String applicant;
|
private String applicant;
|
||||||
|
|
||||||
@ApiModelProperty(value = "法规工程师")
|
|
||||||
@Dict(dictTable = "sys_user", dicCode = "id", dicText = "realname")
|
|
||||||
private String regulatoryEngineer;
|
|
||||||
|
|
||||||
@ApiModelProperty(value = "状态")
|
|
||||||
@Dict(dicCode = "dvm_status")
|
|
||||||
private String state;
|
|
||||||
|
|
||||||
@ApiModelProperty(value = "完成日期")
|
@ApiModelProperty(value = "完成日期")
|
||||||
@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
|
@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
|
||||||
@DateTimeFormat(pattern="yyyy-MM-dd")
|
@DateTimeFormat(pattern="yyyy-MM-dd")
|
||||||
|
@Excel(name = "完成日期", width = 20, format = "yyyy-MM-dd")
|
||||||
private Date finishDate;
|
private Date finishDate;
|
||||||
|
|
||||||
@ApiModelProperty(value = "备注")
|
@ApiModelProperty(value = "法规工程师")
|
||||||
private String remark;
|
@Dict(dictTable = "sys_user", dicCode = "id", dicText = "realname")
|
||||||
|
@Excel(name = "法规工程师", width = 20, dictTable = "sys_user", dicCode = "id", dicText = "CONCAT(realname, '(', username, ')')")
|
||||||
|
private String regulatoryEngineer;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "状态")
|
||||||
|
@Dict(dicCode = "dvm_status")
|
||||||
|
@Excel(name = "状态", width = 20, dicCode = "dvm_status")
|
||||||
|
private String state;
|
||||||
|
|
||||||
@ApiModelProperty(value = "车型代码")
|
@ApiModelProperty(value = "车型代码")
|
||||||
|
@Excel(name = "车型代码", width = 20)
|
||||||
private String vehicleTypeCode;
|
private String vehicleTypeCode;
|
||||||
|
|
||||||
@ApiModelProperty(value = "动力类型")
|
@ApiModelProperty(value = "动力类型")
|
||||||
|
@Excel(name = "动力类型", width = 20)
|
||||||
private String powerType;
|
private String powerType;
|
||||||
|
|
||||||
@ApiModelProperty(value = "车辆外廓尺寸(长*宽*高)")
|
@ApiModelProperty(value = "车辆外廓尺寸(长*宽*高)")
|
||||||
|
@Excel(name = "车辆外廓尺寸(长*宽*高)", width = 20)
|
||||||
private String carOutSize;
|
private String carOutSize;
|
||||||
|
|
||||||
@ApiModelProperty(value = "前后标牌")
|
@ApiModelProperty(value = "前后标牌")
|
||||||
|
@Excel(name = "前后标牌", width = 20)
|
||||||
private String aroundSignage;
|
private String aroundSignage;
|
||||||
|
|
||||||
@ApiModelProperty(value = "整备质量(教练车)")
|
@ApiModelProperty(value = "整备质量(教练车)")
|
||||||
|
@Excel(name = "整备质量(教练车)", width = 20)
|
||||||
private String vehicleQuality;
|
private String vehicleQuality;
|
||||||
|
|
||||||
@ApiModelProperty(value = "驱动型式")
|
@ApiModelProperty(value = "驱动型式")
|
||||||
|
@Excel(name = "驱动型式", width = 20)
|
||||||
private String drivingType;
|
private String drivingType;
|
||||||
|
|
||||||
@ApiModelProperty(value = "车身形式")
|
@ApiModelProperty(value = "车身形式")
|
||||||
|
@Excel(name = "车身形式", width = 20)
|
||||||
private String bodyType;
|
private String bodyType;
|
||||||
|
|
||||||
@ApiModelProperty(value = "燃料类型")
|
@ApiModelProperty(value = "燃料类型")
|
||||||
|
@Excel(name = "燃料类型", width = 20)
|
||||||
private String fuelType;
|
private String fuelType;
|
||||||
|
|
||||||
@ApiModelProperty(value = "发动机型号")
|
@ApiModelProperty(value = "发动机型号")
|
||||||
|
@Excel(name = "发动机型号", width = 20)
|
||||||
private String engineType;
|
private String engineType;
|
||||||
|
|
||||||
@ApiModelProperty(value = "变速器型式")
|
@ApiModelProperty(value = "变速器型式")
|
||||||
|
@Excel(name = "变速器型式", width = 20)
|
||||||
private String transmissionType;
|
private String transmissionType;
|
||||||
|
|
||||||
@ApiModelProperty(value = "变速器型号")
|
@ApiModelProperty(value = "变速器型号")
|
||||||
|
@Excel(name = "变速器型号", width = 20)
|
||||||
private String transmissionModel;
|
private String transmissionModel;
|
||||||
|
|
||||||
@ApiModelProperty(value = "发动机排量(L)")
|
@ApiModelProperty(value = "发动机排量(L)")
|
||||||
|
@Excel(name = "发动机排量(L)", width = 20)
|
||||||
private String engineCapacity;
|
private String engineCapacity;
|
||||||
|
|
||||||
@ApiModelProperty(value = "驱动电机型号")
|
@ApiModelProperty(value = "驱动电机型号")
|
||||||
|
@Excel(name = "驱动电机型号", width = 20)
|
||||||
private String driveMotorModel;
|
private String driveMotorModel;
|
||||||
|
|
||||||
@ApiModelProperty(value = "驱动电机峰值功率(kw)")
|
@ApiModelProperty(value = "驱动电机峰值功率(kw)")
|
||||||
|
@Excel(name = "驱动电机峰值功率(kw)", width = 20)
|
||||||
private String driveMotorPeakPower;
|
private String driveMotorPeakPower;
|
||||||
|
|
||||||
@ApiModelProperty(value = "驱动电机额定功率(kw)")
|
@ApiModelProperty(value = "驱动电机额定功率(kw)")
|
||||||
|
@Excel(name = "驱动电机额定功率(kw)", width = 20)
|
||||||
private String driveMotorRatedPower;
|
private String driveMotorRatedPower;
|
||||||
|
|
||||||
@ApiModelProperty(value = "驱动电机类型")
|
@ApiModelProperty(value = "驱动电机类型")
|
||||||
|
@Excel(name = "驱动电机类型", width = 20)
|
||||||
private String driveMotorType;
|
private String driveMotorType;
|
||||||
|
|
||||||
@ApiModelProperty(value = "动力电池型号")
|
@ApiModelProperty(value = "动力电池型号")
|
||||||
|
@Excel(name = "动力电池型号", width = 20)
|
||||||
private String powerBatteryModel;
|
private String powerBatteryModel;
|
||||||
|
|
||||||
@ApiModelProperty(value = "电池类型")
|
@ApiModelProperty(value = "电池类型")
|
||||||
|
@Excel(name = "电池类型", width = 20)
|
||||||
private String batteryType;
|
private String batteryType;
|
||||||
|
|
||||||
@ApiModelProperty(value = "混合方式")
|
@ApiModelProperty(value = "混合方式")
|
||||||
@Dict(dicCode = "dvm_mixed_model")
|
@Dict(dicCode = "dvm_mixed_model")
|
||||||
|
@Excel(name = "混合方式", width = 20, dicCode = "dvm_mixed_model")
|
||||||
private String mixedModel;
|
private String mixedModel;
|
||||||
|
|
||||||
@ApiModelProperty(value = "动力电池组标称电压")
|
@ApiModelProperty(value = "动力电池组标称电压")
|
||||||
|
@Excel(name = "动力电池组标称电压", width = 20)
|
||||||
private String powerBatteryVoltage;
|
private String powerBatteryVoltage;
|
||||||
|
|
||||||
@ApiModelProperty(value = "动力电池组总成标称容量")
|
@ApiModelProperty(value = "动力电池组总成标称容量")
|
||||||
|
@Excel(name = "动力电池组总成标称容量", width = 20)
|
||||||
private String powerBatteryVolume;
|
private String powerBatteryVolume;
|
||||||
|
|
||||||
@ApiModelProperty(value = "驱动电机的布置位置")
|
@ApiModelProperty(value = "驱动电机的布置位置")
|
||||||
@Dict(dicCode = "dvm_drive_motor_place")
|
@Dict(dicCode = "dvm_drive_motor_place")
|
||||||
|
@Excel(name = "动力电池组总成标称容量", width = 20, dicCode = "dvm_drive_motor_place")
|
||||||
private String driveMotorPlace;
|
private String driveMotorPlace;
|
||||||
|
|
||||||
@ApiModelProperty(value = "排放水平")
|
@ApiModelProperty(value = "排放水平")
|
||||||
|
@Excel(name = "排放水平", width = 20)
|
||||||
private String emissionLevel;
|
private String emissionLevel;
|
||||||
|
|
||||||
@ApiModelProperty(value = "油耗阶段")
|
@ApiModelProperty(value = "油耗阶段")
|
||||||
|
@Excel(name = "油耗阶段", width = 20)
|
||||||
private String fuelConsumptionStage;
|
private String fuelConsumptionStage;
|
||||||
|
|
||||||
@ApiModelProperty(value = "前排正面气囊")
|
@ApiModelProperty(value = "前排正面气囊")
|
||||||
|
@Excel(name = "前排正面气囊", width = 20)
|
||||||
private String frontFrontAirbag;
|
private String frontFrontAirbag;
|
||||||
|
|
||||||
@ApiModelProperty(value = "前排座椅侧气囊")
|
@ApiModelProperty(value = "前排座椅侧气囊")
|
||||||
|
@Excel(name = "前排座椅侧气囊", width = 20)
|
||||||
private String frontSeatSideAirbags;
|
private String frontSeatSideAirbags;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "备注")
|
||||||
|
@Excel(name = "备注", width = 20)
|
||||||
|
private String remark;
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
+12
@@ -12,6 +12,7 @@ import io.swagger.annotations.Api;
|
|||||||
import io.swagger.annotations.ApiOperation;
|
import io.swagger.annotations.ApiOperation;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
import org.springframework.web.bind.annotation.*;
|
import org.springframework.web.bind.annotation.*;
|
||||||
|
import org.springframework.web.servlet.ModelAndView;
|
||||||
import javax.annotation.Resource;
|
import javax.annotation.Resource;
|
||||||
import javax.servlet.http.HttpServletRequest;
|
import javax.servlet.http.HttpServletRequest;
|
||||||
|
|
||||||
@@ -97,4 +98,15 @@ public class LawsVehicleDomesticLibraryController {
|
|||||||
public Result<?> replace(@RequestBody ProcessVehicleDomesticReleaseVo processVehicleDomesticReleaseVo) {
|
public Result<?> replace(@RequestBody ProcessVehicleDomesticReleaseVo processVehicleDomesticReleaseVo) {
|
||||||
return lawsVehicleDomesticControlLibraryService.replace(processVehicleDomesticReleaseVo);
|
return lawsVehicleDomesticControlLibraryService.replace(processVehicleDomesticReleaseVo);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 导出
|
||||||
|
*/
|
||||||
|
@AutoLog(value = "国内整车型号及VIN前八位管控库-导出")
|
||||||
|
@ApiOperation(value="国内整车型号及VIN前八位管控库-导出", notes="国内整车型号及VIN前八位管控库-导出")
|
||||||
|
@GetMapping(value = "/exportXls")
|
||||||
|
// @RequiresPermissions("companyStandardStatistics:delete")
|
||||||
|
public ModelAndView exportXls(HttpServletRequest request) {
|
||||||
|
return lawsVehicleDomesticControlLibraryService.exportXls(request);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
+2
@@ -6,6 +6,7 @@ import com.baomidou.mybatisplus.extension.service.IService;
|
|||||||
import com.jero.common.api.vo.Result;
|
import com.jero.common.api.vo.Result;
|
||||||
import com.jero.modules.activiti.process.vehicledomestic.vo.ProcessVehicleDomesticReleaseVo;
|
import com.jero.modules.activiti.process.vehicledomestic.vo.ProcessVehicleDomesticReleaseVo;
|
||||||
import com.jero.modules.laws.businessSupport.entity.LawsVehicleDomesticLibrary;
|
import com.jero.modules.laws.businessSupport.entity.LawsVehicleDomesticLibrary;
|
||||||
|
import org.springframework.web.servlet.ModelAndView;
|
||||||
import javax.servlet.http.HttpServletRequest;
|
import javax.servlet.http.HttpServletRequest;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -28,4 +29,5 @@ public interface ILawsVehicleDomesticLibraryService extends IService<LawsVehicle
|
|||||||
|
|
||||||
Result<?> replace(ProcessVehicleDomesticReleaseVo processVehicleDomesticReleaseVo);
|
Result<?> replace(ProcessVehicleDomesticReleaseVo processVehicleDomesticReleaseVo);
|
||||||
|
|
||||||
|
ModelAndView exportXls(HttpServletRequest request);
|
||||||
}
|
}
|
||||||
|
|||||||
+89
-31
@@ -9,6 +9,8 @@ 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.util.oConvertUtils;
|
||||||
import com.jero.modules.activiti.process.vehicledomestic.vo.ProcessVehicleDomesticReleaseVo;
|
import com.jero.modules.activiti.process.vehicledomestic.vo.ProcessVehicleDomesticReleaseVo;
|
||||||
import com.jero.modules.laws.businessSupport.common.Constant;
|
import com.jero.modules.laws.businessSupport.common.Constant;
|
||||||
import com.jero.modules.laws.businessSupport.entity.LawsVehicleDomesticLibrary;
|
import com.jero.modules.laws.businessSupport.entity.LawsVehicleDomesticLibrary;
|
||||||
@@ -16,16 +18,22 @@ import com.jero.modules.laws.businessSupport.entity.LawsVehicleDomesticLibrarySu
|
|||||||
import com.jero.modules.laws.businessSupport.mapper.LawsVehicleDomesticLibraryMapper;
|
import com.jero.modules.laws.businessSupport.mapper.LawsVehicleDomesticLibraryMapper;
|
||||||
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.club.config.CustomExcelExportStyler;
|
||||||
|
import lombok.extern.slf4j.Slf4j;
|
||||||
import org.apache.commons.lang3.StringUtils;
|
import org.apache.commons.lang3.StringUtils;
|
||||||
|
import org.jeecgframework.poi.excel.def.NormalExcelConstants;
|
||||||
|
import org.jeecgframework.poi.excel.entity.ExportParams;
|
||||||
|
import org.jeecgframework.poi.excel.entity.enmus.ExcelType;
|
||||||
|
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 javax.annotation.Resource;
|
import javax.annotation.Resource;
|
||||||
import javax.servlet.http.HttpServletRequest;
|
import javax.servlet.http.HttpServletRequest;
|
||||||
import java.util.List;
|
import java.util.*;
|
||||||
import java.util.Locale;
|
|
||||||
import java.util.Objects;
|
|
||||||
import java.util.stream.Collectors;
|
import java.util.stream.Collectors;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -37,6 +45,8 @@ import java.util.stream.Collectors;
|
|||||||
* @since 2024-09-23
|
* @since 2024-09-23
|
||||||
*/
|
*/
|
||||||
@Service
|
@Service
|
||||||
|
@Transactional(rollbackFor = JeroBootException.class)
|
||||||
|
@Slf4j
|
||||||
public class LawsVehicleDomesticLibraryServiceImpl extends ServiceImpl<LawsVehicleDomesticLibraryMapper, LawsVehicleDomesticLibrary> implements ILawsVehicleDomesticLibraryService {
|
public class LawsVehicleDomesticLibraryServiceImpl extends ServiceImpl<LawsVehicleDomesticLibraryMapper, LawsVehicleDomesticLibrary> implements ILawsVehicleDomesticLibraryService {
|
||||||
|
|
||||||
@Resource
|
@Resource
|
||||||
@@ -44,33 +54,7 @@ public class LawsVehicleDomesticLibraryServiceImpl extends ServiceImpl<LawsVehic
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public IPage<LawsVehicleDomesticLibrary> queryPageList(LawsVehicleDomesticLibrary lawsVehicleDomesticLibrary, Integer pageNo, Integer pageSize, HttpServletRequest req) {
|
public IPage<LawsVehicleDomesticLibrary> queryPageList(LawsVehicleDomesticLibrary lawsVehicleDomesticLibrary, Integer pageNo, Integer pageSize, HttpServletRequest req) {
|
||||||
LambdaQueryWrapper<LawsVehicleDomesticLibrary> lambdaQueryWrapper = new LambdaQueryWrapper<>();
|
LambdaQueryWrapper<LawsVehicleDomesticLibrary> lambdaQueryWrapper = generationWrapper(req);
|
||||||
String energyType = lawsVehicleDomesticLibrary.getEnergyType(); // 能源类型
|
|
||||||
String vehicleModel = lawsVehicleDomesticLibrary.getVehicleModel(); // 整车型号
|
|
||||||
String vinTopEight = lawsVehicleDomesticLibrary.getVinTopEight(); // VIN前八位
|
|
||||||
String vehicleTypeCode = lawsVehicleDomesticLibrary.getVehicleTypeCode(); // 车型代码
|
|
||||||
if (StringUtils.isNotBlank(energyType)) {
|
|
||||||
lambdaQueryWrapper.eq(LawsVehicleDomesticLibrary::getEnergyType, energyType);
|
|
||||||
}
|
|
||||||
if (StringUtils.isNotBlank(vehicleModel)) {
|
|
||||||
lambdaQueryWrapper.like(LawsVehicleDomesticLibrary::getVehicleModel, vehicleModel);
|
|
||||||
}
|
|
||||||
if (StringUtils.isNotBlank(vinTopEight)) {
|
|
||||||
lambdaQueryWrapper.like(LawsVehicleDomesticLibrary::getVinTopEight, vinTopEight);
|
|
||||||
}
|
|
||||||
if (StringUtils.isNotBlank(vehicleTypeCode)) {
|
|
||||||
LambdaQueryWrapper<LawsVehicleDomesticLibrarySublist> queryWrapper = new LambdaQueryWrapper<>();
|
|
||||||
queryWrapper.select(LawsVehicleDomesticLibrarySublist::getVehicleId);
|
|
||||||
queryWrapper.like(LawsVehicleDomesticLibrarySublist::getVehicleTypeCode, vehicleTypeCode);
|
|
||||||
List<LawsVehicleDomesticLibrarySublist> list = lawsVehicleDomesticLibrarySublistService.list(queryWrapper);
|
|
||||||
List<String> ids = list.stream().map(LawsVehicleDomesticLibrarySublist::getVehicleId).collect(Collectors.toList());
|
|
||||||
if (!CollectionUtils.isEmpty(ids)) {
|
|
||||||
lambdaQueryWrapper.in(LawsVehicleDomesticLibrary::getId, ids);
|
|
||||||
}else {
|
|
||||||
lambdaQueryWrapper.in(LawsVehicleDomesticLibrary::getId, "");
|
|
||||||
}
|
|
||||||
}
|
|
||||||
lambdaQueryWrapper.eq(LawsVehicleDomesticLibrary::getIsFinish, Constant.IS_FINISH); // 只展示走完流程的数据
|
|
||||||
Page<LawsVehicleDomesticLibrary> page = new Page<>(pageNo, pageSize);
|
Page<LawsVehicleDomesticLibrary> page = new Page<>(pageNo, pageSize);
|
||||||
Page<LawsVehicleDomesticLibrary> result = page(page, lambdaQueryWrapper);
|
Page<LawsVehicleDomesticLibrary> result = page(page, lambdaQueryWrapper);
|
||||||
return result;
|
return result;
|
||||||
@@ -128,28 +112,102 @@ public class LawsVehicleDomesticLibraryServiceImpl extends ServiceImpl<LawsVehic
|
|||||||
public Result<?> replace(ProcessVehicleDomesticReleaseVo processVehicleDomesticReleaseVo) {
|
public Result<?> replace(ProcessVehicleDomesticReleaseVo processVehicleDomesticReleaseVo) {
|
||||||
// 原数据
|
// 原数据
|
||||||
String oldId = processVehicleDomesticReleaseVo.getId();
|
String oldId = processVehicleDomesticReleaseVo.getId();
|
||||||
|
// 原数据的整车型号
|
||||||
LawsVehicleDomesticLibrary oldMainData = getById(oldId);
|
LawsVehicleDomesticLibrary oldMainData = getById(oldId);
|
||||||
if (Objects.isNull(oldMainData)) {
|
if (Objects.isNull(oldMainData)) {
|
||||||
throw new JeroBootException(ResultCommon.PARAMETERS_CANNOT_BE_NULL);
|
throw new JeroBootException(ResultCommon.PARAMETERS_CANNOT_BE_NULL);
|
||||||
}
|
}
|
||||||
|
String oldVehicleModel = oldMainData.getVehicleModel();
|
||||||
// 新数据
|
// 新数据
|
||||||
LawsVehicleDomesticLibrary newMainData = new LawsVehicleDomesticLibrary();
|
LawsVehicleDomesticLibrary newMainData = new LawsVehicleDomesticLibrary();
|
||||||
BeanUtils.copyProperties(processVehicleDomesticReleaseVo, newMainData);
|
BeanUtils.copyProperties(processVehicleDomesticReleaseVo, newMainData);
|
||||||
newMainData.setState(Constant.TAKE_EFFECT);
|
newMainData.setState(Constant.TAKE_EFFECT);
|
||||||
newMainData.setIsFinish(Constant.IS_FINISH);
|
newMainData.setIsFinish(Constant.IS_FINISH);
|
||||||
|
newMainData.setInsteadVehicleModel(oldVehicleModel);
|
||||||
newMainData.setId(null);
|
newMainData.setId(null);
|
||||||
LawsVehicleDomesticLibrarySublist lawsVehicleDomesticLibrarySublist = new LawsVehicleDomesticLibrarySublist();
|
LawsVehicleDomesticLibrarySublist lawsVehicleDomesticLibrarySublist = new LawsVehicleDomesticLibrarySublist();
|
||||||
BeanUtils.copyProperties(processVehicleDomesticReleaseVo, lawsVehicleDomesticLibrarySublist);
|
BeanUtils.copyProperties(processVehicleDomesticReleaseVo, lawsVehicleDomesticLibrarySublist);
|
||||||
// 保存新数据
|
// 保存新数据
|
||||||
save(newMainData);
|
save(newMainData);
|
||||||
String vehicleId = newMainData.getId();
|
String vehicleId = newMainData.getId();
|
||||||
|
lawsVehicleDomesticLibrarySublist.setId(null);
|
||||||
lawsVehicleDomesticLibrarySublist.setVehicleId(vehicleId);
|
lawsVehicleDomesticLibrarySublist.setVehicleId(vehicleId);
|
||||||
lawsVehicleDomesticLibrarySublistService.save(lawsVehicleDomesticLibrarySublist);
|
lawsVehicleDomesticLibrarySublistService.save(lawsVehicleDomesticLibrarySublist);
|
||||||
// 修改旧数据的状态为作废
|
// 修改旧数据的状态为作废
|
||||||
LambdaUpdateWrapper<LawsVehicleDomesticLibrary> lambdaUpdateWrapper = new LambdaUpdateWrapper<>();
|
LambdaUpdateWrapper<LawsVehicleDomesticLibrary> lambdaUpdateWrapper = new LambdaUpdateWrapper<>();
|
||||||
lambdaUpdateWrapper.eq(LawsVehicleDomesticLibrary::getId, oldId);
|
lambdaUpdateWrapper.eq(LawsVehicleDomesticLibrary::getId, oldId);
|
||||||
lambdaUpdateWrapper.set(LawsVehicleDomesticLibrary::getState, Constant.ABOLISH);
|
lambdaUpdateWrapper.set(LawsVehicleDomesticLibrary::getState, Constant.ABOLISH);
|
||||||
updateById(newMainData);
|
update(lambdaUpdateWrapper);
|
||||||
return Result.OK();
|
return Result.OK();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public ModelAndView exportXls(HttpServletRequest request) {
|
||||||
|
LambdaQueryWrapper<LawsVehicleDomesticLibrary> lambdaQueryWrapper = generationWrapper(request);
|
||||||
|
String selections = request.getParameter("selections");
|
||||||
|
ModelAndView mv = new ModelAndView(new JeecgEntityExcelView());
|
||||||
|
if(!oConvertUtils.isEmpty(selections)){
|
||||||
|
lambdaQueryWrapper.in(LawsVehicleDomesticLibrary::getId, Arrays.asList(selections.split(",")));
|
||||||
|
}
|
||||||
|
List<LawsVehicleDomesticLibrary> list = list(lambdaQueryWrapper);
|
||||||
|
List<String> collectIds = list.stream().map(LawsVehicleDomesticLibrary::getId).collect(Collectors.toList());
|
||||||
|
List<ProcessVehicleDomesticReleaseVo> excelList = new ArrayList<>();
|
||||||
|
for (String collectId : collectIds) {
|
||||||
|
LawsVehicleDomesticLibrary lawsVehicleDomesticLibrary = getById(collectId);
|
||||||
|
LambdaQueryWrapper<LawsVehicleDomesticLibrarySublist> queryWrapper = new LambdaQueryWrapper<>();
|
||||||
|
queryWrapper.eq(LawsVehicleDomesticLibrarySublist::getVehicleId, collectId);
|
||||||
|
LawsVehicleDomesticLibrarySublist lawsVehicleDomesticLibrarySublist = lawsVehicleDomesticLibrarySublistService.getOne(queryWrapper, false);
|
||||||
|
ProcessVehicleDomesticReleaseVo processVehicleDomesticReleaseVo = new ProcessVehicleDomesticReleaseVo();
|
||||||
|
BeanUtils.copyProperties(lawsVehicleDomesticLibrary, processVehicleDomesticReleaseVo);
|
||||||
|
BeanUtils.copyProperties(lawsVehicleDomesticLibrarySublist, processVehicleDomesticReleaseVo);
|
||||||
|
processVehicleDomesticReleaseVo.setId(lawsVehicleDomesticLibrary.getId());
|
||||||
|
excelList.add(processVehicleDomesticReleaseVo);
|
||||||
|
}
|
||||||
|
//导出文件名称
|
||||||
|
mv.addObject(JeroController.FILE_NAME, "国内");
|
||||||
|
mv.addObject(JeroController.CLASS, ProcessVehicleDomesticReleaseVo.class);
|
||||||
|
mv.addObject(JeroController.PARAMS, createExportParams("密级:核心商密□普通商密□内部资料■外部公开□", "国内"));
|
||||||
|
mv.addObject(NormalExcelConstants.DATA_LIST, excelList);
|
||||||
|
return mv;
|
||||||
|
}
|
||||||
|
|
||||||
|
private LambdaQueryWrapper<LawsVehicleDomesticLibrary> generationWrapper(HttpServletRequest request) {
|
||||||
|
LambdaQueryWrapper<LawsVehicleDomesticLibrary> lambdaQueryWrapper = new LambdaQueryWrapper<>();
|
||||||
|
String energyType = request.getParameter("energyType"); // 能源类型
|
||||||
|
String vehicleModel = request.getParameter("vehicleModel"); // 整车型号
|
||||||
|
String vinTopEight = request.getParameter("vinTopEight"); // VIN前八位
|
||||||
|
String vehicleTypeCode = request.getParameter("vehicleTypeCode"); // 车型代码
|
||||||
|
if (StringUtils.isNotBlank(energyType)) {
|
||||||
|
lambdaQueryWrapper.eq(LawsVehicleDomesticLibrary::getEnergyType, energyType);
|
||||||
|
}
|
||||||
|
if (StringUtils.isNotBlank(vehicleModel)) {
|
||||||
|
lambdaQueryWrapper.like(LawsVehicleDomesticLibrary::getVehicleModel, vehicleModel);
|
||||||
|
}
|
||||||
|
if (StringUtils.isNotBlank(vinTopEight)) {
|
||||||
|
lambdaQueryWrapper.like(LawsVehicleDomesticLibrary::getVinTopEight, vinTopEight);
|
||||||
|
}
|
||||||
|
if (StringUtils.isNotBlank(vehicleTypeCode)) {
|
||||||
|
LambdaQueryWrapper<LawsVehicleDomesticLibrarySublist> queryWrapper = new LambdaQueryWrapper<>();
|
||||||
|
queryWrapper.select(LawsVehicleDomesticLibrarySublist::getVehicleId);
|
||||||
|
queryWrapper.like(LawsVehicleDomesticLibrarySublist::getVehicleTypeCode, vehicleTypeCode);
|
||||||
|
List<LawsVehicleDomesticLibrarySublist> list = lawsVehicleDomesticLibrarySublistService.list(queryWrapper);
|
||||||
|
List<String> ids = list.stream().map(LawsVehicleDomesticLibrarySublist::getVehicleId).collect(Collectors.toList());
|
||||||
|
if (!CollectionUtils.isEmpty(ids)) {
|
||||||
|
lambdaQueryWrapper.in(LawsVehicleDomesticLibrary::getId, ids);
|
||||||
|
}else {
|
||||||
|
lambdaQueryWrapper.in(LawsVehicleDomesticLibrary::getId, "");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
lambdaQueryWrapper.eq(LawsVehicleDomesticLibrary::getIsFinish, Constant.IS_FINISH); // 只展示走完流程的数据
|
||||||
|
return lambdaQueryWrapper;
|
||||||
|
}
|
||||||
|
|
||||||
|
private ExportParams createExportParams(String title, String sheetName) {
|
||||||
|
ExportParams exportParams = new ExportParams();
|
||||||
|
exportParams.setTitle(title);
|
||||||
|
exportParams.setType(ExcelType.HSSF);
|
||||||
|
exportParams.setSheetName(sheetName);
|
||||||
|
exportParams.setStyle(CustomExcelExportStyler.class);
|
||||||
|
return exportParams;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user