ludc
2024-09-06 7b3d5fb08fdbd2ce574c3b9ab666c8c7082be728
Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/controller/WebPortalVIController.java
@@ -1,17 +1,20 @@
package com.vci.web.controller;
import com.vci.constant.FrameWorkLangCodeConstant;
import com.vci.corba.common.PLException;
import com.vci.dto.ClonePortalVIDTOList;
import com.vci.dto.DeletePortalVIDTOList;
import com.vci.dto.OsBtmTypeDTO;
import com.vci.dto.PortalVIDTO;
import com.vci.pagemodel.KeyValue;
import com.vci.pagemodel.PortalVIVO;
import com.vci.starter.web.annotation.controller.VciUnCheckRight;
import com.vci.starter.web.annotation.log.VciBusinessLog;
import com.vci.starter.web.exception.VciBaseException;
import com.vci.starter.web.pagemodel.BaseQueryObject;
import com.vci.starter.web.pagemodel.BaseResult;
import com.vci.starter.web.pagemodel.DataGrid;
import com.vci.starter.web.util.ControllerUtil;
import com.vci.starter.web.util.LangBaseUtil;
import com.vci.starter.web.util.LocalFileUtil;
import com.vci.starter.web.util.VciBaseUtil;
import com.vci.web.enumpck.ItemDblEnum;
import com.vci.web.enumpck.ItemTypeEnum;
@@ -21,14 +24,19 @@
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;
import javax.servlet.http.HttpServletResponse;
import java.io.File;
import java.io.IOException;
import java.nio.charset.StandardCharsets;
import java.util.List;
/**
 * 公式控制器
 * 表单/表格控制器
 * @author weidy
 * @date 2022-2-11
 */
@VciBusinessLog(modelName="表单/表格控制器",notStore=true)
@RestController
@RequestMapping("/portalVIController")
public class WebPortalVIController {
@@ -56,17 +64,18 @@
    /**
     *根据表单id获取具体数据
     * @param id
     * @param viType
     * @return
     */
    @GetMapping( "/getPortalVIById")
    @VciBusinessLog(operateName = "获取表单/表格数据")
    public BaseResult getPortalVIById(@RequestBody String id,@RequestBody String viType){
    public BaseResult getPortalVIById(@RequestParam("id") String id,@RequestParam("viType") String viType){
        try{
            PortalVIVO portalVIVO=  portalVIServiceI.getPortalVIById(id,viType);
           return  BaseResult.success(portalVIVO);
        }catch (Throwable e){
            e.printStackTrace();
            String exceptionMessage = "创建业务类型时出现错误,原因:" + VciBaseUtil.getExceptionMessage(e);
            String exceptionMessage = "获取表单/表格数据时出现错误,原因:" + VciBaseUtil.getExceptionMessage(e);
            logger.error(exceptionMessage);
            return BaseResult.fail(exceptionMessage);
        }
@@ -87,7 +96,7 @@
    }
    /**
     * 业务类型删除
     * 表单/table删除
     * btmTypeDTO 业务类型对象
     * @return 删除结果
     */
@@ -104,30 +113,33 @@
        }
    }
    /**
     * 业务类型删除
     * 表单/table删除
     * btmTypeDTO 业务类型对象
     * @return 删除结果
     */
    @DeleteMapping("/deleteByIds")
    @VciBusinessLog(operateName = "删除表单/表格")
    public BaseResult deleteByIds(@RequestBody String ids){
    public BaseResult deleteByIds(@RequestParam("ids") String ids){
        try {
            return portalVIServiceI.delete(ids) ? BaseResult.success("删除成功!"):BaseResult.fail("删除失败!");
        } catch (PLException e) {
            e.printStackTrace();
            String exceptionMessage = "删除表单时出现错误,原因:" + VciBaseUtil.getExceptionMessage(e);
            String exceptionMessage =  VciBaseUtil.getExceptionMessage(e);
            logger.error(exceptionMessage);
            return BaseResult.fail(exceptionMessage);
        }
    }
    /**
     *
     * 表单/table克隆
     * @param portalVIDTOList clong对象
     * @return
     */
    @PostMapping("/clone")
    @VciBusinessLog(operateName = "删除表单/表格")
    @VciBusinessLog(operateName = "克隆表单/表格")
    public BaseResult clone(@RequestBody ClonePortalVIDTOList portalVIDTOList){
        try {
            return portalVIServiceI.clone(portalVIDTOList) ? BaseResult.success("删除成功!"):BaseResult.fail("删除失败!");
            return portalVIServiceI.clone(portalVIDTOList) ? BaseResult.success("克隆成功!"):BaseResult.fail("克隆失败!");
        } catch (Throwable e) {
            e.printStackTrace();
            String exceptionMessage = "删除表单时出现错误,原因:" + VciBaseUtil.getExceptionMessage(e);
@@ -136,6 +148,50 @@
        }
    }
    /**
     * 导出数据库的表信息到excel
     * @param response 响应对象
     * @param ids 业务类型的编号,用逗号分割
     */
    @PostMapping("/exportExcel")
    @VciBusinessLog(operateName = "导出表单/表格到excel中")
    public void exportExcel(String ids,HttpServletResponse response){
        String excelFileName = portalVIServiceI.exportToExcel(VciBaseUtil.str2List(ids));
        try {
            ControllerUtil.writeFileToResponse(response,excelFileName);
        } catch (IOException e) {
            try {
                ControllerUtil.writeDataToResponse(response, LangBaseUtil.getErrorMsg(e).getBytes(StandardCharsets.UTF_8),null);
            } catch (IOException ex) {
                ex.printStackTrace();
            }
        }
    }
    /**
     * 导出数据库的表信息到excel
     * @param file 上传的文件
     */
    @PostMapping("/importData")
    @VciBusinessLog(operateName = "导入表单/表格")
    public BaseResult importData(MultipartFile file){
        String excelFileName = LocalFileUtil.getDefaultTempFolder() + File.separator + LocalFileUtil.getFileNameForIE(file.getOriginalFilename());
        File file1 = new File(excelFileName);
        try {
            file.transferTo(new File(excelFileName));
            if (file != null) {
                return portalVIServiceI.importData(file1);
            } else {
                return BaseResult.fail(FrameWorkLangCodeConstant.IMPORT_FAIL, new String[]{"无导入的文件"});
            }
        }catch (Throwable e) {
            throw new VciBaseException(VciBaseUtil.getExceptionMessage(e),new String[0],e);
        }finally {
            file1.delete();
        }
    }
    /**
     * 获取属性字段类型
     */
@@ -148,7 +204,7 @@
     * 获取超链接弹出方法
     */
    @GetMapping("/getItemDblList")
    @VciBusinessLog(operateName = "属性字段类型")
    @VciBusinessLog(operateName = "超链接类型")
    public BaseResult<List<KeyValue>> getItemDblList(){
        return  BaseResult.dataList(ItemDblEnum.getEnumAll());
    }