dengzedong
2024-09-26 587b438f50abb725f3dee63eaf6b586c09085f54
iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mcs/pre/controller/admin/MmPredictItemController.java
@@ -1,13 +1,23 @@
package com.iailab.module.model.mcs.pre.controller.admin;
import com.baomidou.dynamic.datasource.annotation.DSTransactional;
import com.iailab.framework.common.pojo.CommonResult;
import com.iailab.framework.common.pojo.PageResult;
import com.iailab.framework.common.util.object.BeanUtils;
import com.iailab.module.model.mcs.pre.dto.MmPredictItemDTO;
import com.iailab.module.model.mcs.pre.entity.MmItemOutputEntity;
import com.iailab.module.model.mcs.pre.entity.MmItemTypeEntity;
import com.iailab.module.model.mcs.pre.entity.MmPredictItemEntity;
import com.iailab.module.model.mcs.pre.service.MmItemOutputService;
import com.iailab.module.model.mcs.pre.service.MmItemTypeService;
import com.iailab.module.model.mcs.pre.service.MmPredictItemService;
import com.iailab.module.model.mcs.pre.service.MmResultTableService;
import com.iailab.module.model.mcs.pre.vo.CountItemtypeVO;
import com.iailab.module.model.mcs.pre.vo.MmPredictItemPageReqVO;
import com.iailab.module.model.mcs.pre.vo.MmPredictItemRespVO;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;
@@ -15,7 +25,6 @@
import java.util.List;
import java.util.Map;
import static com.iailab.framework.common.pojo.CommonResult.error;
import static com.iailab.framework.common.pojo.CommonResult.success;
/**
@@ -29,23 +38,50 @@
    @Autowired
    private MmPredictItemService mmPredictItemService;
    @Autowired
    private MmItemTypeService mmItemTypeService;
    @Autowired
    private MmItemOutputService mmItemOutputService;
    @Autowired
    private MmResultTableService mmResultTableService;
    /**
     * 预测项列表
     */
    @GetMapping("/page")
    @PreAuthorize("@ss.hasPermission('model:pre-predict:query')")
    public CommonResult<PageResult<MmPredictItemRespVO>> page(@RequestParam Map<String, Object> params) {
        PageResult<MmPredictItemRespVO> page = mmPredictItemService.getPageList(params);
        return success(page);
    @PreAuthorize("@ss.hasPermission('model:pre-item:query')")
    public CommonResult<PageResult<MmPredictItemRespVO>> page(@Validated MmPredictItemPageReqVO reqVO) {
        PageResult<MmPredictItemEntity> page = mmPredictItemService.queryPage(reqVO);
        PageResult<MmPredictItemRespVO> result = BeanUtils.toBean(page, MmPredictItemRespVO.class);
        for (MmPredictItemRespVO item : result.getList()){
            MmItemTypeEntity mmItemTypeEntity = mmItemTypeService.info(item.getItemtypeid());
            item.setItemtypename(mmItemTypeEntity== null ? "" :mmItemTypeEntity.getItemtypename());
            MmItemOutputEntity mmItemOutputEntity = mmItemOutputService.getByItemid(item.getId());
            item.setTagname(mmItemOutputEntity== null ? "" :mmItemOutputEntity.getTagname());
            item.setResulttableid(mmItemOutputEntity== null ? "" :mmItemOutputEntity.getResulttableid());
            item.setTablename(item == null ? "" : mmResultTableService.info(item.getResulttableid()).getTablename());
        }
        return success(result);
    }
    @GetMapping("/list")
    public CommonResult<List<MmPredictItemEntity>> list() {
        List<MmPredictItemEntity> list = mmPredictItemService.list();
        return success(list);
    }
    /**
     * 预测项信息
     */
    @GetMapping("/get/{id}")
    @PreAuthorize("@ss.hasPermission('model:pre-predict:query')")
    public CommonResult<MmPredictItemDTO> info(@PathVariable("id") String id, @RequestParam Map<String, Object> params){
        MmPredictItemDTO predictItem = mmPredictItemService.getDetailById(id, params);
    @PreAuthorize("@ss.hasPermission('model:pre-item:query')")
    public CommonResult<MmPredictItemDTO> info(@PathVariable("id") String id){
        MmPredictItemDTO predictItem = mmPredictItemService.info(id);
        return success(predictItem);
    }
@@ -53,13 +89,10 @@
     * 保存预测项
     */
    @PostMapping("/create")
    @PreAuthorize("@ss.hasPermission('model:pre-predict:create')")
    @PreAuthorize("@ss.hasPermission('model:pre-item:create')")
    @DSTransactional(rollbackFor= Exception.class)
    public CommonResult<Boolean> save(@RequestBody MmPredictItemDTO mmPredictItemDto){
        int count = mmPredictItemService.check(mmPredictItemDto.getMmPredictItem());
        if (count > 0) {
            return error(999, "名称或编号重复");
        }
        mmPredictItemService.savePredictItem(mmPredictItemDto);
        mmPredictItemService.add(mmPredictItemDto);
        return success(true);
    }
@@ -67,13 +100,10 @@
     * 修改预测项
     */
    @PutMapping("/update")
    @PreAuthorize("@ss.hasPermission('model:pre-predict:update')")
    public CommonResult<Boolean> update(@RequestBody MmPredictItemDTO mmPredictItemDto){
        int count = mmPredictItemService.check(mmPredictItemDto.getMmPredictItem());
        if (count > 0) {
            return error(999, "名称或编号重复");
        }
        mmPredictItemService.update(mmPredictItemDto);
    @PreAuthorize("@ss.hasPermission('model:pre-item:update')")
    @DSTransactional(rollbackFor= Exception.class)
    public CommonResult<Boolean> update(@RequestBody MmPredictItemDTO mmPredictItemDTO){
        mmPredictItemService.update(mmPredictItemDTO);
        return success(true);
    }
@@ -81,7 +111,8 @@
     * 删除预测项
     */
    @DeleteMapping("/delete")
    @PreAuthorize("@ss.hasPermission('model:pre-predict:delete')")
    @PreAuthorize("@ss.hasPermission('model:pre-item:delete')")
    @DSTransactional(rollbackFor= Exception.class)
    public CommonResult<Boolean> delete(@RequestParam("id") String id) {
        mmPredictItemService.deleteBatch(new String[]{id});
        return success(true);
@@ -96,14 +127,14 @@
        return success(list);
    }
    /**
     * 数量
     */
    @GetMapping("/count")
    public CommonResult<Long> count() {
        Long count = mmPredictItemService.count();
        return success(count);
    }
//    /**
//     * 数量
//     */
//    @GetMapping("/count")
//    public CommonResult<Long> count() {
//        Long count = mmPredictItemService.count();
//        return success(count);
//    }
    /**
     * 上传模型