fix:设备台账增加“设备编码”的唯一校验,设备台账导入报错问题解决

This commit is contained in:
zhangxuanming 2024-12-19 11:23:58 +08:00
parent f9de0aaba3
commit cb1fbc8c91
4 changed files with 31 additions and 20 deletions

View File

@ -77,9 +77,7 @@ public class DvMachineryController extends BaseController
@PostMapping @PostMapping
public AjaxResult add(@RequestBody DvMachinery dvMachinery) public AjaxResult add(@RequestBody DvMachinery dvMachinery)
{ {
dvMachineryService.insertDvMachinery(dvMachinery); return dvMachineryService.insertDvMachinery(dvMachinery);
wmBarCodeUtil.generateBarCode(UserConstants.BARCODE_TYPE_MACHINERY,dvMachinery.getMachineryId(),dvMachinery.getMachineryCode(),dvMachinery.getMachineryName());
return AjaxResult.success(dvMachinery.getMachineryId());
} }
/** /**
@ -90,7 +88,7 @@ public class DvMachineryController extends BaseController
@PutMapping @PutMapping
public AjaxResult edit(@RequestBody DvMachinery dvMachinery) public AjaxResult edit(@RequestBody DvMachinery dvMachinery)
{ {
return toAjax(dvMachineryService.updateDvMachinery(dvMachinery)); return dvMachineryService.updateDvMachinery(dvMachinery);
} }
/** /**

View File

@ -23,10 +23,10 @@ public interface DvMachineryMapper
/** /**
* 依据设备编码查询设备 * 依据设备编码查询设备
* *
* @param machineryCode 设备编码 * @param machineryCode 设备编码
* @return 设备 * @return 设备
*/ */
public DvMachinery selectByMachineryCode( String machineryCode); public List<DvMachinery> selectByMachineryCode(String machineryCode);
/** /**
* 查询设备列表 * 查询设备列表

View File

@ -1,5 +1,6 @@
package com.ktg.mes.dv.service; package com.ktg.mes.dv.service;
import com.ktg.common.core.domain.AjaxResult;
import com.ktg.mes.dv.domain.DvMachinery; import com.ktg.mes.dv.domain.DvMachinery;
import java.util.List; import java.util.List;
@ -30,19 +31,19 @@ public interface IDvMachineryService
/** /**
* 新增设备 * 新增设备
* *
* @param dvMachinery 设备 * @param dvMachinery 设备
* @return 结果 * @return 结果
*/ */
public int insertDvMachinery(DvMachinery dvMachinery); public AjaxResult insertDvMachinery(DvMachinery dvMachinery);
/** /**
* 修改设备 * 修改设备
* *
* @param dvMachinery 设备 * @param dvMachinery 设备
* @return 结果 * @return 结果
*/ */
public int updateDvMachinery(DvMachinery dvMachinery); public AjaxResult updateDvMachinery(DvMachinery dvMachinery);
/** /**
* 批量删除设备 * 批量删除设备

View File

@ -1,9 +1,12 @@
package com.ktg.mes.dv.service.impl; package com.ktg.mes.dv.service.impl;
import com.ktg.common.constant.UserConstants;
import com.ktg.common.core.domain.AjaxResult;
import com.ktg.common.utils.DateUtils; import com.ktg.common.utils.DateUtils;
import com.ktg.mes.dv.domain.DvMachinery; import com.ktg.mes.dv.domain.DvMachinery;
import com.ktg.mes.dv.mapper.DvMachineryMapper; import com.ktg.mes.dv.mapper.DvMachineryMapper;
import com.ktg.mes.dv.service.IDvMachineryService; import com.ktg.mes.dv.service.IDvMachineryService;
import com.ktg.mes.wm.utils.WmBarCodeUtil;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
@ -21,6 +24,10 @@ public class DvMachineryServiceImpl implements IDvMachineryService
@Autowired @Autowired
private DvMachineryMapper dvMachineryMapper; private DvMachineryMapper dvMachineryMapper;
@Autowired
private WmBarCodeUtil wmBarCodeUtil;
/** /**
* 查询设备 * 查询设备
* *
@ -47,28 +54,33 @@ public class DvMachineryServiceImpl implements IDvMachineryService
/** /**
* 新增设备 * 新增设备
* *
* @param dvMachinery 设备 * @param dvMachinery 设备
* @return 结果 * @return 结果
*/ */
@Override @Override
public int insertDvMachinery(DvMachinery dvMachinery) public AjaxResult insertDvMachinery(DvMachinery dvMachinery)
{ {
List<DvMachinery> existing = dvMachineryMapper.selectByMachineryCode(dvMachinery.getMachineryCode());
if (existing != null && existing.size() > 0) {
return AjaxResult.error("设备编码重复");
}
dvMachinery.setCreateTime(DateUtils.getNowDate()); dvMachinery.setCreateTime(DateUtils.getNowDate());
return dvMachineryMapper.insertDvMachinery(dvMachinery); wmBarCodeUtil.generateBarCode(UserConstants.BARCODE_TYPE_MACHINERY,dvMachinery.getMachineryId(),dvMachinery.getMachineryCode(),dvMachinery.getMachineryName());
return AjaxResult.success(dvMachineryMapper.insertDvMachinery(dvMachinery));
} }
/** /**
* 修改设备 * 修改设备
* *
* @param dvMachinery 设备 * @param dvMachinery 设备
* @return 结果 * @return 结果
*/ */
@Override @Override
public int updateDvMachinery(DvMachinery dvMachinery) public AjaxResult updateDvMachinery(DvMachinery dvMachinery)
{ {
dvMachinery.setUpdateTime(DateUtils.getNowDate()); dvMachinery.setUpdateTime(DateUtils.getNowDate());
return dvMachineryMapper.updateDvMachinery(dvMachinery); return AjaxResult.success(dvMachineryMapper.updateDvMachinery(dvMachinery));
} }
/** /**
@ -108,11 +120,11 @@ public class DvMachineryServiceImpl implements IDvMachineryService
for (DvMachinery machinery : machineryList) { for (DvMachinery machinery : machineryList) {
// 去除空格 // 去除空格
String machineryCode = machinery.getMachineryCode().trim(); String machineryCode = machinery.getMachineryCode().trim();
DvMachinery existing = dvMachineryMapper.selectByMachineryCode(machineryCode); List<DvMachinery> existing = dvMachineryMapper.selectByMachineryCode(machineryCode);
if (existing != null) { if (existing != null && existing.size() > 0) {
if (isUpdateSupport) { if (isUpdateSupport) {
// 更新数据 // 更新数据
machinery.setMachineryId(existing.getMachineryId()); // 确保使用现有 ID 进行更新 machinery.setMachineryId(existing.get(0).getMachineryId()); // 确保使用现有 ID 进行更新
dvMachineryMapper.updateDvMachinery(machinery); dvMachineryMapper.updateDvMachinery(machinery);
successCount++; successCount++;
} else { } else {