diff --git a/op-modules/op-mes/src/main/java/com/op/mes/controller/MesBoxController.java b/op-modules/op-mes/src/main/java/com/op/mes/controller/MesBoxController.java index 6a17bb58..0fead3bd 100644 --- a/op-modules/op-mes/src/main/java/com/op/mes/controller/MesBoxController.java +++ b/op-modules/op-mes/src/main/java/com/op/mes/controller/MesBoxController.java @@ -4,6 +4,7 @@ import java.util.List; import javax.servlet.http.HttpServletResponse; import com.baomidou.dynamic.datasource.annotation.DS; +import com.op.common.security.utils.SecurityUtils; import com.op.system.api.domain.SysDictType; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.GetMapping; @@ -36,11 +37,11 @@ public class MesBoxController extends BaseController { @Autowired private IMesBoxService mesBoxService; -/** - * 查询箱体类型列表 - */ -@RequiresPermissions("mes:mesBox:list") -@GetMapping("/list") + /** + * 查询箱体类型列表 + */ + @RequiresPermissions("mes:mesBox:list") + @GetMapping("/list") public TableDataInfo list(MesBox mesBox) { startPage(); List list = mesBoxService.selectMesBoxList(mesBox); @@ -55,7 +56,7 @@ public class MesBoxController extends BaseController { @PostMapping("/export") public void export(HttpServletResponse response, MesBox mesBox) { List list = mesBoxService.selectMesBoxList(mesBox); - ExcelUtil util = new ExcelUtil(MesBox. class); + ExcelUtil util = new ExcelUtil(MesBox.class); util.exportExcel(response, list, "箱体类型数据"); } @@ -75,6 +76,9 @@ public class MesBoxController extends BaseController { @Log(title = "箱体类型", businessType = BusinessType.INSERT) @PostMapping public AjaxResult add(@RequestBody MesBox mesBox) { + if (!mesBoxService.checkBoxTypeUnique(mesBox)) { + return error("新增箱型'" + mesBox.getBoxName() + "'失败,箱体类型已存在"); + } return toAjax(mesBoxService.insertMesBox(mesBox)); } @@ -85,6 +89,9 @@ public class MesBoxController extends BaseController { @Log(title = "箱体类型", businessType = BusinessType.UPDATE) @PutMapping public AjaxResult edit(@RequestBody MesBox mesBox) { + if (!mesBoxService.checkBoxTypeUnique(mesBox)) { + return error("修改箱型'" + mesBox.getBoxName() + "'失败,箱体类型已存在"); + } return toAjax(mesBoxService.updateMesBox(mesBox)); } diff --git a/op-modules/op-mes/src/main/java/com/op/mes/mapper/MesBoxMapper.java b/op-modules/op-mes/src/main/java/com/op/mes/mapper/MesBoxMapper.java index 46042a6e..00aab9cc 100644 --- a/op-modules/op-mes/src/main/java/com/op/mes/mapper/MesBoxMapper.java +++ b/op-modules/op-mes/src/main/java/com/op/mes/mapper/MesBoxMapper.java @@ -60,4 +60,8 @@ public interface MesBoxMapper { public int deleteMesBoxByBoxIds(Long[] boxIds); List selectDictTypeAll(); + + MesBox checkBoxTypeUnique(String boxType); + + int countBoxDataByType(String boxType); } diff --git a/op-modules/op-mes/src/main/java/com/op/mes/service/IMesBoxService.java b/op-modules/op-mes/src/main/java/com/op/mes/service/IMesBoxService.java index 7425c2f9..b3d3d6a5 100644 --- a/op-modules/op-mes/src/main/java/com/op/mes/service/IMesBoxService.java +++ b/op-modules/op-mes/src/main/java/com/op/mes/service/IMesBoxService.java @@ -60,4 +60,6 @@ public interface IMesBoxService { public int deleteMesBoxByBoxId(Long boxId); List selectDictTypeAll(); + + boolean checkBoxTypeUnique(MesBox mesBox); } diff --git a/op-modules/op-mes/src/main/java/com/op/mes/service/impl/MesBoxServiceImpl.java b/op-modules/op-mes/src/main/java/com/op/mes/service/impl/MesBoxServiceImpl.java index 3f1a05e2..ddfc79a4 100644 --- a/op-modules/op-mes/src/main/java/com/op/mes/service/impl/MesBoxServiceImpl.java +++ b/op-modules/op-mes/src/main/java/com/op/mes/service/impl/MesBoxServiceImpl.java @@ -3,8 +3,13 @@ package com.op.mes.service.impl; import java.util.List; import com.baomidou.dynamic.datasource.annotation.DS; +import com.op.common.core.constant.UserConstants; +import com.op.common.core.exception.ServiceException; import com.op.common.core.utils.DateUtils; +import com.op.common.core.utils.StringUtils; +import com.op.common.security.utils.DictUtils; import com.op.common.security.utils.SecurityUtils; +import com.op.system.api.domain.SysDictType; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import com.op.mes.mapper.MesBoxMapper; @@ -55,7 +60,7 @@ public class MesBoxServiceImpl implements IMesBoxService { @Override @DS("#header.poolName") public int insertMesBox(MesBox mesBox) { - mesBox.setUpdateBy(SecurityUtils.getUsername()); + mesBox.setCreateBy(SecurityUtils.getUsername()); mesBox.setCreateTime(DateUtils.getNowDate()); return mesBoxMapper.insertMesBox(mesBox); } @@ -83,7 +88,16 @@ public class MesBoxServiceImpl implements IMesBoxService { @Override @DS("#header.poolName") public int deleteMesBoxByBoxIds(Long[] boxIds) { - return mesBoxMapper.deleteMesBoxByBoxIds(boxIds); + int n = 0; + for (Long boxId : boxIds) { + MesBox boxType = selectMesBoxByBoxId(boxId); + if (mesBoxMapper.countBoxDataByType(boxType.getBoxType()) > 0) { + throw new ServiceException(String.format("%1$s已分配,不能删除", boxType.getBoxName())); + } + n += mesBoxMapper.deleteMesBoxByBoxIds(boxIds); + } + return n; + } /** @@ -103,4 +117,14 @@ public class MesBoxServiceImpl implements IMesBoxService { public List selectDictTypeAll() { return mesBoxMapper.selectDictTypeAll(); } + + @Override + public boolean checkBoxTypeUnique(MesBox mesBox) { + Long boxId = StringUtils.isNull(mesBox.getBoxId()) ? -1L : mesBox.getBoxId(); + MesBox boxType = mesBoxMapper.checkBoxTypeUnique(mesBox.getBoxType()); + if (StringUtils.isNotNull(boxType) && boxType.getBoxId().longValue() != boxId.longValue()) { + return UserConstants.NOT_UNIQUE; + } + return UserConstants.UNIQUE; + } } diff --git a/op-modules/op-mes/src/main/resources/mapper/mes/MesBoxMapper.xml b/op-modules/op-mes/src/main/resources/mapper/mes/MesBoxMapper.xml index 6dc55a12..ba3f68e2 100644 --- a/op-modules/op-mes/src/main/resources/mapper/mes/MesBoxMapper.xml +++ b/op-modules/op-mes/src/main/resources/mapper/mes/MesBoxMapper.xml @@ -33,12 +33,13 @@ and status = #{status} + where del_flag = '0' @@ -88,30 +89,30 @@ update mes_box - box_name = - #{boxName}, - - box_type = - #{boxType}, - - status = - #{status}, - - create_by = - #{createBy}, - - create_time = - #{createTime}, - - update_by = - #{updateBy}, - - update_time = - #{updateTime}, - - remark = - #{remark}, - + box_name = + #{boxName}, + + box_type = + #{boxType}, + + status = + #{status}, + + create_by = + #{createBy}, + + create_time = + #{createTime}, + + update_by = + #{updateBy}, + + update_time = + #{updateTime}, + + remark = + #{remark}, + where box_id = #{boxId} @@ -120,14 +121,24 @@ + + - delete from mes_box where box_id = #{boxId} + update mes_box set del_flag = '1' where box_id = #{boxId} - delete from mes_box where box_id in + update mes_box set del_flag = '1' where box_id in #{boxId} + +