Commit 8c3238d8 authored by 刘帅's avatar 刘帅

1.优化

parent 32691cc4
......@@ -54,7 +54,6 @@ public class SysOssController extends BaseController {
*
* @param ossIds OSS对象ID串
*/
@SaCheckPermission("system:oss:list")
@GetMapping("/listByIds/{ossIds}")
public R<List<SysOssVo>> listByIds(@NotEmpty(message = "主键不能为空")
@PathVariable Long[] ossIds) {
......@@ -67,7 +66,6 @@ public class SysOssController extends BaseController {
*
* @param file 文件
*/
@SaCheckPermission("system:oss:upload")
@Log(title = "OSS对象存储", businessType = BusinessType.INSERT)
@PostMapping(value = "/upload", consumes = MediaType.MULTIPART_FORM_DATA_VALUE)
public R<Map<String, String>> upload(@RequestPart("file") MultipartFile file) {
......@@ -87,7 +85,6 @@ public class SysOssController extends BaseController {
*
* @param ossId OSS对象ID
*/
@SaCheckPermission("system:oss:download")
@GetMapping("/download/{ossId}")
public void download(@PathVariable Long ossId, HttpServletResponse response) throws IOException {
iSysOssService.download(ossId,response);
......
......@@ -66,7 +66,7 @@ spring:
# 国际化资源文件路径
basename: i18n/messages
profiles:
active: prod
active: dev
# 文件上传
servlet:
multipart:
......
......@@ -49,7 +49,6 @@ public class ErpClientBo extends BaseEntity {
/**
* 联系电话
*/
@NotBlank(message = "联系电话不能为空", groups = { AddGroup.class, EditGroup.class })
private String phone;
/**
......@@ -61,13 +60,11 @@ public class ErpClientBo extends BaseEntity {
/**
* 证件类型(1居民身份证 2社会统一信用代码)
*/
@NotNull(message = "证件类型(1居民身份证 2社会统一信用代码)不能为空", groups = { AddGroup.class, EditGroup.class })
private Integer certificateType;
/**
* 证件号
*/
@NotBlank(message = "证件号不能为空", groups = { AddGroup.class, EditGroup.class })
private String certificateNumber;
/**
......
......@@ -75,7 +75,6 @@ public class ErpCarVo implements Serializable {
/**
* 手机号
*/
@ExcelProperty(value = "手机号")
private String phone;
/**
......
......@@ -86,7 +86,7 @@ public class ErpMaterialVo implements Serializable {
/**
* 物资分类名称
*/
@ExcelProperty(value = "物资分类名称")
// @ExcelProperty(value = "物资分类名称")
private String materialTypeName;
/**
......@@ -108,8 +108,8 @@ public class ErpMaterialVo implements Serializable {
/**
* 仓库货位类型
*/
@ExcelProperty(value = "仓库货位类型")
@ColumnWidth(30)
// @ExcelProperty(value = "仓库货位类型")
// @ColumnWidth(30)
private String warehouseLocationType;
/**
......@@ -165,15 +165,15 @@ public class ErpMaterialVo implements Serializable {
/**
* 是否通用(0否 1是 默认1)
*/
@ExcelProperty(value = "是否通用", converter = ExcelDictConvert.class)
@ExcelDictFormat(dictType = "sys_is_enable")
//@ExcelProperty(value = "是否通用", converter = ExcelDictConvert.class)
//@ExcelDictFormat(dictType = "sys_is_enable")
private String isUniversal;
/**
* 是否盘点中(0否 1是 默认0)
*/
@ExcelProperty(value = "是否盘点中", converter = ExcelDictConvert.class)
@ExcelDictFormat(dictType = "sys_is_enable")
//@ExcelProperty(value = "是否盘点中", converter = ExcelDictConvert.class)
//@ExcelDictFormat(dictType = "sys_is_enable")
private Integer isCheck;
/**
......
......@@ -48,13 +48,13 @@ public class ErpVehicleModelVo implements Serializable {
/**
* 车辆配置
*/
@ExcelProperty(value = "车辆配置")
// @ExcelProperty(value = "车辆配置")
private String carConfiguration;
/**
* 车辆颜色
*/
@ExcelProperty(value = "车辆颜色")
// @ExcelProperty(value = "车辆颜色")
private String carColour;
/**
......@@ -80,7 +80,7 @@ public class ErpVehicleModelVo implements Serializable {
/**
* 点击型号
*/
@ExcelProperty(value = "发动机型号/电机型号")
// @ExcelProperty(value = "发动机型号/电机型号")
private String motorNumber;
/**
......
......@@ -6,8 +6,12 @@ import com.alibaba.excel.context.AnalysisContext;
import com.alibaba.excel.event.AnalysisEventListener;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.maintain.business.domain.ErpCar;
import com.maintain.business.domain.ErpClient;
import com.maintain.business.domain.ErpVehicleModel;
import com.maintain.business.domain.vo.ErpCarVo;
import com.maintain.business.mapper.ErpCarMapper;
import com.maintain.business.mapper.ErpClientMapper;
import com.maintain.business.mapper.ErpVehicleModelMapper;
import com.maintain.common.excel.ExcelListener;
import com.maintain.common.excel.ExcelResult;
import com.maintain.common.exception.ServiceException;
......@@ -28,6 +32,10 @@ public class ErpCarImportListener extends AnalysisEventListener<ErpCarVo> implem
private final ErpCarMapper carMapper;
private final ErpClientMapper clientMapper;
private final ErpVehicleModelMapper vehicleModelMapper;
private final Boolean isUpdateSupport;
private final String operName;
......@@ -39,6 +47,8 @@ public class ErpCarImportListener extends AnalysisEventListener<ErpCarVo> implem
public ErpCarImportListener(Boolean isUpdateSupport) {
this.carMapper = SpringUtils.getBean(ErpCarMapper.class);
this.clientMapper = SpringUtils.getBean(ErpClientMapper.class);
this.vehicleModelMapper = SpringUtils.getBean(ErpVehicleModelMapper.class);
this.isUpdateSupport = isUpdateSupport;
this.operName = LoginHelper.getUsername();
}
......@@ -47,12 +57,39 @@ public class ErpCarImportListener extends AnalysisEventListener<ErpCarVo> implem
public void invoke(ErpCarVo carImportVo, AnalysisContext context) {
LambdaQueryWrapper<ErpCar> carLambdaQueryWrapper = new LambdaQueryWrapper<>();
carLambdaQueryWrapper.eq(ErpCar::getPlateNumber, carImportVo.getPlateNumber());
ErpCar erpCar = this.carMapper.selectOne(carLambdaQueryWrapper);
ErpCar erpCar = carMapper.selectOne(carLambdaQueryWrapper);
try {
// 验证是否存在这个车辆
if (ObjectUtil.isNull(erpCar)) {
erpCar = BeanUtil.toBean(carImportVo, ErpCar.class);
ValidatorUtils.validate(erpCar);
/*
客户是否存在
*/
ErpClient erpClient = clientMapper.selectOne(new LambdaQueryWrapper<ErpClient>().eq(ErpClient::getName, erpCar.getClientName()));
if (null == erpClient) {
ErpClient client = new ErpClient();
client.setName(erpCar.getClientName());
clientMapper.insert(client);
erpCar.setClientId(client.getId());
erpCar.setClientName(client.getName());
}else {
erpCar.setClientId(erpClient.getId());
erpCar.setClientName(erpClient.getName());
erpCar.setPlateNumber(erpClient.getPhone());
}
/*
车型是否存在
*/
ErpVehicleModel vehicleModel = vehicleModelMapper.selectOne(new LambdaQueryWrapper<ErpVehicleModel>().eq(ErpVehicleModel::getCarModel, carImportVo.getCarModel()));
if (null == vehicleModel) {
ErpVehicleModel model = new ErpVehicleModel();
model.setCarModel(carImportVo.getCarModel());
vehicleModelMapper.insert(model);
erpCar.setCarTypeId(model.getId());
}else {
erpCar.setCarTypeId(vehicleModel.getId());
}
carMapper.insert(erpCar);
successNum++;
successMsg.append("<br/>").append(successNum).append("、车辆 ").append(erpCar.getPlateNumber()).append(" 导入成功");
......
......@@ -59,10 +59,12 @@ public class ErpMaintainProjectServiceImpl implements IErpMaintainProjectService
List<ErpMaintainMalfunction> malfunctionList = maintainMalfunctionMapper.selectList(malfunctionLambdaQueryWrapper);
List<Long> malfunctionIdList = malfunctionList.stream().map(ErpMaintainMalfunction::getMalfunctionId).collect(Collectors.toList());
// 根据故障项目ID列表获取故障项目列表
LambdaQueryWrapper<ErpMalfunctionProject> malfunctionProjectLambdaQueryWrapper = new LambdaQueryWrapper<>();
malfunctionProjectLambdaQueryWrapper.in(ErpMalfunctionProject::getId, malfunctionIdList);
List<ErpMalfunctionProjectVo> malfunctionProjectVoList = malfunctionProjectMapper.selectVoList(malfunctionProjectLambdaQueryWrapper);
projectVo.setMalfunctionProjectList(malfunctionProjectVoList);
if (!malfunctionIdList.isEmpty()) {
LambdaQueryWrapper<ErpMalfunctionProject> malfunctionProjectLambdaQueryWrapper = new LambdaQueryWrapper<>();
malfunctionProjectLambdaQueryWrapper.in(ErpMalfunctionProject::getId, malfunctionIdList);
List<ErpMalfunctionProjectVo> malfunctionProjectVoList = malfunctionProjectMapper.selectVoList(malfunctionProjectLambdaQueryWrapper);
projectVo.setMalfunctionProjectList(malfunctionProjectVoList);
}
return projectVo;
}
......
......@@ -151,7 +151,12 @@
<el-col :span="8">
<el-form-item label="客户类型" prop="clientType">
<el-select v-model="form.clientType" placeholder="请选择" disabled style="width: 100%;">
<el-option v-for="item in dict.type.client_type" :key="item.value" :label="item.label" :value="item.value"></el-option>
<el-option
v-for="item in dict.type.client_type"
:key="item.value"
:label="item.label"
:value="parseInt(item.value)"
/>
</el-select>
</el-form-item>
</el-col>
......@@ -493,27 +498,31 @@ export default {
},
/** 修改按钮操作 */
handleUpdate(row) {
let params = {...row};
if(typeof this.form.clientType == 'string')this.form.clientType=''+this.form.clientType
getVehicleModel(row.carTypeId).then(res=>{
if(typeof res.data.expendType == 'number')res.data.expendType=''+res.data.expendType;
if(typeof res.data.type == 'number')res.data.type=''+res.data.type;
params.carTypeId=res.data.id;
params.carTypeCode=res.data.carTypeCode;
params.carBrand=res.data.carBrand;
params.carModel=res.data.carModel;
params.carConfiguration=res.data.carConfiguration;
params.carColour=res.data.carColour;
params.type=res.data.type;
params.expendType=res.data.expendType;
params.chassisNumber=res.data.chassisNumber;
params.motorNumber=res.data.motorNumber;
params.axleNumber=res.data.axleNumber;
params.tyrePositions=res.data.tyrePositions;
console.log(this.form)
this.form=params
getCar(row.id).then(res =>{
this.form = res.data
this.form.clientType = row.clientType
this.open = true;
this.title = "修改车辆信息";
if (row.carTypeId) {
getVehicleModel(row.carTypeId).then(res => {
// if (typeof res.data.expendType == 'number') res.data.expendType = '' + res.data.expendType;
// if (typeof res.data.type == 'number') res.data.type = '' + res.data.type;
let params = {}
params.carTypeId = res.data.id;
params.carTypeCode = res.data.carTypeCode;
params.carBrand = res.data.carBrand;
params.carModel = res.data.carModel;
params.carConfiguration = res.data.carConfiguration;
params.carColour = res.data.carColour;
params.type = res.data.type;
params.expendType = res.data.expendType;
params.chassisNumber = res.data.chassisNumber;
params.motorNumber = res.data.motorNumber;
params.axleNumber = res.data.axleNumber;
params.tyrePositions = res.data.tyrePositions;
this.form = params
})
}
})
},
/** 提交按钮 */
......
<template>
<div class="app-container">
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="100px">
<el-form-item label="分类名称" prop="materialTypeName">
<el-input
v-model="queryParams.materialTypeName"
placeholder="请输入物资分类名称"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<!-- <el-form-item label="分类名称" prop="materialTypeName">-->
<!-- <el-input-->
<!-- v-model="queryParams.materialTypeName"-->
<!-- placeholder="请输入物资分类名称"-->
<!-- clearable-->
<!-- @keyup.enter.native="handleQuery"-->
<!-- />-->
<!-- </el-form-item>-->
<el-form-item label="供应商名称" prop="vendorName">
<el-input
v-model="queryParams.vendorName"
......@@ -141,16 +141,16 @@
<el-table-column label="物资品牌" align="center" fixed="left" prop="materialBrand" />
<el-table-column label="物资单位" align="center" fixed="left" prop="materialUnit" />
<el-table-column label="所在仓库" align="center" prop="warehouseName" />
<el-table-column label="分类名称" align="center" prop="materialTypeName" />
<el-table-column label="供应商名称" align="center" prop="vendorName" />
<!-- <el-table-column label="分类名称" align="center" prop="materialTypeName" />-->
<el-table-column label="供应商" align="center" prop="vendorName" show-overflow-tooltip />
<el-table-column label="采购标的" align="center" prop="procurementSubject" />
<el-table-column label="适用车型" align="center" prop="compatibleWith" />
<el-table-column label="适用车型" align="center" prop="compatibleWith">
<el-table-column label="物资图片" align="center" prop="materialUrl">
<template slot-scope="scope">
<image-preview :src="scope.row.materialUrl" style="width: 50px; height: 50px" />
</template>
</el-table-column>
<el-table-column label="质保期" align="center" prop="materialWarrantyPeriod" />
<el-table-column label="质保期(月)" align="center" prop="materialWarrantyPeriod" />
<el-table-column label="参考价" align="center" prop="referencePrice" />
<el-table-column label="销售价" align="center" prop="sellingPrice" />
<el-table-column label="库存" align="center" prop="inventory" />
......@@ -159,7 +159,7 @@
<dict-tag :options="dict.type.sys_is_enable" :value="scope.row.isEnable"/>
</template>
</el-table-column>
<el-table-column label="是否盘点中" align="center" prop="isCheck">
<el-table-column label="盘点中" align="center" prop="isCheck">
<template slot-scope="scope">
<dict-tag :options="dict.type.sys_is_enable" :value="String(scope.row.isCheck)"/>
</template>
......@@ -225,11 +225,11 @@
</el-select>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="物资分类" prop="materialTypeId">
<treeselect v-model="form.materialTypeId" :options="materialTypeList" :show-count="true" @select="materialTypeIdChange" :normalizer="normalizer" placeholder="请选择" />
</el-form-item>
</el-col>
<!-- <el-col :span="8">-->
<!-- <el-form-item label="物资分类" prop="materialTypeId">-->
<!-- <treeselect v-model="form.materialTypeId" :options="materialTypeList" :show-count="true" @select="materialTypeIdChange" :normalizer="normalizer" placeholder="请选择" />-->
<!-- </el-form-item>-->
<!-- </el-col>-->
<el-col :span="8">
<el-form-item label="供应商" prop="vendorId">
<el-select v-model="form.vendorId" placeHolder="请选择供应商">
......@@ -237,13 +237,14 @@
</el-select>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="8">
<el-form-item label="物资品牌" prop="materialBrand">
<el-input v-model="form.materialBrand" placeholder="请输入物资品牌" />
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="8">
<el-form-item label="采购标的" prop="procurementSubject">
<el-input v-model="form.procurementSubject" placeholder="请输入采购标的" />
......@@ -254,27 +255,25 @@
<el-input v-model="form.compatibleWith" placeholder="请输入适用车型" />
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="8">
<el-form-item label="仓库货位" prop="warehouseLocationId">
<el-select v-model="form.warehouseLocationId" placeHolder="请选择仓库货位">
<el-option v-for="item in warehouseLocationList" :key="item.id" :value="item.id" :label="item.locationType" />
</el-select>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="物资单位" prop="materialUnit">
<el-input v-model="form.materialUnit" placeholder="请输入物资单位" />
</el-form-item>
</el-col>
</el-row>
<el-row>
<!-- <el-col :span="8">-->
<!-- <el-form-item label="仓库货位" prop="warehouseLocationId">-->
<!-- <el-select v-model="form.warehouseLocationId" placeHolder="请选择仓库货位">-->
<!-- <el-option v-for="item in warehouseLocationList" :key="item.id" :value="item.id" :label="item.locationType" />-->
<!-- </el-select>-->
<!-- </el-form-item>-->
<!-- </el-col>-->
<el-col :span="8">
<el-form-item label="质保期(月)" prop="materialWarrantyPeriod">
<el-input-number v-model="form.materialWarrantyPeriod" :min="1" style="width: 100%" placeholder="请输入质保期" />
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="8">
<el-form-item label="参考价" prop="referencePrice">
<el-input-number v-model="form.referencePrice" :min="0" style="width: 100%" placeholder="请输入参考价" />
......@@ -285,6 +284,9 @@
<el-input-number v-model="form.sellingPrice" :min="0" style="width: 100%" placeholder="请输入销售价" />
</el-form-item>
</el-col>
</el-row>
<el-row>
<!-- <el-col :span="8">-->
<!-- <el-form-item label="库存数量" prop="inventory">-->
<!-- <el-input-number v-model="form.inventory" :min="0" style="width: 100%" :disabled="form.id != null" placeholder="请输入库存数量" />-->
......@@ -297,8 +299,6 @@
</el-select>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="8">
<el-form-item label="是否通用" prop="isUniversal">
<el-select v-model="form.isUniversal" style="width: 100%" placeholder="请选择是否通用">
......
......@@ -628,7 +628,7 @@ export default {
{ required: true, message: "公里数不能为空", trigger: "blur" }
],
isOldPart: [
{ required: true, message: "旧件带走不能为空", trigger: "change" }
{ required: false, message: "旧件带走不能为空", trigger: "change" }
],
isByoPart: [
{ required: true, message: "是否自备部件不能为空", trigger: "change" }
......@@ -772,17 +772,24 @@ export default {
}
},
carIdChange(e,name){
console.log('e=====>', e)
let item = this.carList.find(item=>item.id == e);
let a=['plateNumber','clientName','phone','clientType','carVin','carTypeCode','carBrand','carModel','carConfiguration','carColour','expendType','chassisNumber','motorNumber','clientId']
if(item){
console.log('--------->', item)
this.form.carId = item.id;
this.form.vehicleModelId = item.carTypeId;
getVehicleModel(item.carTypeId).then(res=>{
item={...item,...res.data}
a.forEach(item1=>{
this.form[item1]=''+item[item1]
})
let clientForm = ['plateNumber','clientName','phone','clientType','clientId']
clientForm.forEach(item1=>{
this.form[item1]='' + item[item1]
})
if (item.carTypeId) {
let carTypeForm = ['carVin','carTypeCode','carBrand','carModel','carConfiguration','carColour','expendType','chassisNumber','motorNumber']
this.form.vehicleModelId = item.carTypeId;
getVehicleModel(item.carTypeId).then(res=>{
carTypeForm.forEach(item1=>{
this.form[item1]='' + res.data[item1]
})
})
}
}
},
clientIdChange(e,name){
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment