From 8c3238d8566f3d1e1d0808c691092876b789f260 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=88=98=E5=B8=85?= Date: Fri, 27 Jun 2025 17:35:40 +0800 Subject: [PATCH] =?UTF-8?q?1.=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/system/SysOssController.java | 3 - .../src/main/resources/application.yml | 2 +- .../business/domain/bo/ErpClientBo.java | 3 - .../maintain/business/domain/vo/ErpCarVo.java | 1 - .../business/domain/vo/ErpMaterialVo.java | 14 ++-- .../business/domain/vo/ErpVehicleModelVo.java | 6 +- .../listener/ErpCarImportListener.java | 39 ++++++++++- .../impl/ErpMaintainProjectServiceImpl.java | 10 +-- maintain-ui/src/views/business/car/index.vue | 49 ++++++++------ .../src/views/business/material/index.vue | 66 +++++++++---------- .../src/views/business/repairForm/info.vue | 23 ++++--- 11 files changed, 132 insertions(+), 84 deletions(-) diff --git a/maintain-admin/src/main/java/com/maintain/web/controller/system/SysOssController.java b/maintain-admin/src/main/java/com/maintain/web/controller/system/SysOssController.java index d0af200..8d926e5 100644 --- a/maintain-admin/src/main/java/com/maintain/web/controller/system/SysOssController.java +++ b/maintain-admin/src/main/java/com/maintain/web/controller/system/SysOssController.java @@ -54,7 +54,6 @@ public class SysOssController extends BaseController { * * @param ossIds OSS对象ID串 */ - @SaCheckPermission("system:oss:list") @GetMapping("/listByIds/{ossIds}") public R> 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> 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); diff --git a/maintain-admin/src/main/resources/application.yml b/maintain-admin/src/main/resources/application.yml index d39c422..0dc19c6 100644 --- a/maintain-admin/src/main/resources/application.yml +++ b/maintain-admin/src/main/resources/application.yml @@ -66,7 +66,7 @@ spring: # 国际化资源文件路径 basename: i18n/messages profiles: - active: prod + active: dev # 文件上传 servlet: multipart: diff --git a/maintain-business/src/main/java/com/maintain/business/domain/bo/ErpClientBo.java b/maintain-business/src/main/java/com/maintain/business/domain/bo/ErpClientBo.java index 4b58330..46b7d3f 100644 --- a/maintain-business/src/main/java/com/maintain/business/domain/bo/ErpClientBo.java +++ b/maintain-business/src/main/java/com/maintain/business/domain/bo/ErpClientBo.java @@ -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; /** diff --git a/maintain-business/src/main/java/com/maintain/business/domain/vo/ErpCarVo.java b/maintain-business/src/main/java/com/maintain/business/domain/vo/ErpCarVo.java index a851953..86abe32 100644 --- a/maintain-business/src/main/java/com/maintain/business/domain/vo/ErpCarVo.java +++ b/maintain-business/src/main/java/com/maintain/business/domain/vo/ErpCarVo.java @@ -75,7 +75,6 @@ public class ErpCarVo implements Serializable { /** * 手机号 */ - @ExcelProperty(value = "手机号") private String phone; /** diff --git a/maintain-business/src/main/java/com/maintain/business/domain/vo/ErpMaterialVo.java b/maintain-business/src/main/java/com/maintain/business/domain/vo/ErpMaterialVo.java index 03b8cd0..a4c17c8 100644 --- a/maintain-business/src/main/java/com/maintain/business/domain/vo/ErpMaterialVo.java +++ b/maintain-business/src/main/java/com/maintain/business/domain/vo/ErpMaterialVo.java @@ -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; /** diff --git a/maintain-business/src/main/java/com/maintain/business/domain/vo/ErpVehicleModelVo.java b/maintain-business/src/main/java/com/maintain/business/domain/vo/ErpVehicleModelVo.java index 8b81733..9fe922e 100644 --- a/maintain-business/src/main/java/com/maintain/business/domain/vo/ErpVehicleModelVo.java +++ b/maintain-business/src/main/java/com/maintain/business/domain/vo/ErpVehicleModelVo.java @@ -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; /** diff --git a/maintain-business/src/main/java/com/maintain/business/listener/ErpCarImportListener.java b/maintain-business/src/main/java/com/maintain/business/listener/ErpCarImportListener.java index b85aca3..85c1d6c 100644 --- a/maintain-business/src/main/java/com/maintain/business/listener/ErpCarImportListener.java +++ b/maintain-business/src/main/java/com/maintain/business/listener/ErpCarImportListener.java @@ -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 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 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 implem public void invoke(ErpCarVo carImportVo, AnalysisContext context) { LambdaQueryWrapper 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().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().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("
").append(successNum).append("、车辆 ").append(erpCar.getPlateNumber()).append(" 导入成功"); diff --git a/maintain-business/src/main/java/com/maintain/business/service/impl/ErpMaintainProjectServiceImpl.java b/maintain-business/src/main/java/com/maintain/business/service/impl/ErpMaintainProjectServiceImpl.java index 088859a..cf16be4 100644 --- a/maintain-business/src/main/java/com/maintain/business/service/impl/ErpMaintainProjectServiceImpl.java +++ b/maintain-business/src/main/java/com/maintain/business/service/impl/ErpMaintainProjectServiceImpl.java @@ -59,10 +59,12 @@ public class ErpMaintainProjectServiceImpl implements IErpMaintainProjectService List malfunctionList = maintainMalfunctionMapper.selectList(malfunctionLambdaQueryWrapper); List malfunctionIdList = malfunctionList.stream().map(ErpMaintainMalfunction::getMalfunctionId).collect(Collectors.toList()); // 根据故障项目ID列表获取故障项目列表 - LambdaQueryWrapper malfunctionProjectLambdaQueryWrapper = new LambdaQueryWrapper<>(); - malfunctionProjectLambdaQueryWrapper.in(ErpMalfunctionProject::getId, malfunctionIdList); - List malfunctionProjectVoList = malfunctionProjectMapper.selectVoList(malfunctionProjectLambdaQueryWrapper); - projectVo.setMalfunctionProjectList(malfunctionProjectVoList); + if (!malfunctionIdList.isEmpty()) { + LambdaQueryWrapper malfunctionProjectLambdaQueryWrapper = new LambdaQueryWrapper<>(); + malfunctionProjectLambdaQueryWrapper.in(ErpMalfunctionProject::getId, malfunctionIdList); + List malfunctionProjectVoList = malfunctionProjectMapper.selectVoList(malfunctionProjectLambdaQueryWrapper); + projectVo.setMalfunctionProjectList(malfunctionProjectVoList); + } return projectVo; } diff --git a/maintain-ui/src/views/business/car/index.vue b/maintain-ui/src/views/business/car/index.vue index b4c9a22..927fc58 100644 --- a/maintain-ui/src/views/business/car/index.vue +++ b/maintain-ui/src/views/business/car/index.vue @@ -151,7 +151,12 @@ - + @@ -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 + }) + } }) }, /** 提交按钮 */ diff --git a/maintain-ui/src/views/business/material/index.vue b/maintain-ui/src/views/business/material/index.vue index 2d17620..fb317fa 100644 --- a/maintain-ui/src/views/business/material/index.vue +++ b/maintain-ui/src/views/business/material/index.vue @@ -1,14 +1,14 @@ - + @@ -225,11 +225,11 @@ - - - - - + + + + + @@ -237,13 +237,14 @@ - - + + + @@ -254,27 +255,25 @@ - - - - - - - - - + + + + + + + + + - - @@ -285,6 +284,9 @@ + + + @@ -297,8 +299,6 @@ - - diff --git a/maintain-ui/src/views/business/repairForm/info.vue b/maintain-ui/src/views/business/repairForm/info.vue index 9233a03..776b93d 100644 --- a/maintain-ui/src/views/business/repairForm/info.vue +++ b/maintain-ui/src/views/business/repairForm/info.vue @@ -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){ -- 2.22.0