package org.jeecg.modules.base.controller; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import lombok.extern.slf4j.Slf4j; import org.jeecg.common.api.vo.Result; import org.jeecg.common.util.oConvertUtils; import org.jeecg.modules.base.entity.Unit; import org.jeecg.modules.base.entity.UnitConversion; import org.jeecg.modules.base.service.IUnitConversionService; import org.jeecg.modules.base.service.IUnitService; import org.springframework.web.bind.annotation.*; import javax.annotation.Resource; import java.util.ArrayList; import java.util.List; /** * @Title: Controller * @Description: 计量单位表 前端控制器 * @Author: cuijian * @Date: 2022-10-26 * @Version: V1.0 */ @RestController @RequestMapping("/base/unit") @Slf4j public class UnitController { @Resource private IUnitService momUnitService; @Resource private IUnitConversionService momUnitConversionService; /** * 查询数据 根据单位分类id查询计量单位列表 * @author cj * @param unitCategoryId * @return */ @GetMapping(value="/getListByUnitCategoryId") public Result> getListByUnitCategoryId(String unitCategoryId){ Result> resule = new Result<>(); List list = momUnitService.getListByUnitCategoryId(unitCategoryId); resule.setResult(list); return resule; } /** * 增加数据 添加和编辑计量单位信息 * @author cj * @param momUnit * @return */ @PostMapping(value = "/addMomUnit") public Result addMomUnit(@RequestBody Unit momUnit){ Result result = new Result<>(); try{ momUnitService.saveOrUpdate(momUnit); result.success("操作成功"); }catch (Exception e){ result.error500("操作失败"); } return result; } /** * 删除数据 删除选中的计量单位信息 * @author cj * @param ids * @return */ @DeleteMapping(value = "/deleteMomUnit") public Result deleteMomUnit(@RequestParam String ids){ Result result = new Result<>(); if(oConvertUtils.isEmpty(ids)) { result.error500("未选中计量单位!"); }else { String[] ls = ids.split(","); List list = new ArrayList<>(); List idList = new ArrayList<>(); List nameList = new ArrayList<>(); for (String id : ls) { //根据id查询是否有换算信息 LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); queryWrapper.eq(UnitConversion::getUnitId,id); list = momUnitConversionService.list(queryWrapper); if(list.size()==0){ idList.add(Long.parseLong(id) ); }else{ LambdaQueryWrapper queryWrapper1 = new LambdaQueryWrapper<>(); queryWrapper1.eq(Unit::getId,id); nameList.add(momUnitService.getOne(queryWrapper1).getName()); } } if (idList.size() > 0) { momUnitService.removeByIds(idList); if (ls.length == idList.size()) { result.success("删除成功!"); } else { result.error500("部分删除成功!("+nameList+"中含有计量单位换算信息无法删除!)"); } }else { result.error500("选择的计量单位都含有计量单位换算信息,无法删除!"); } } return result; } /** * 查询目标计量单位树结构 * @author cj * @return */ @GetMapping(value = "/getTreeList") public Result> getTreeList(){ Result> result = new Result<>(); List list = momUnitService.getTreeList(); result.setResult(list); return result; } }