PostMan はファイルを Java バックグラウンドにアップロードします

ポストパラメータファイル設定

Java バックグラウンドはリクエストを受け入れて処理します

/**
     * 上传表格数据
     * @param model
     * @param request
     * @param response
     * @return
     */
    @RequestMapping(value = "shangchuan")
    public synchronized R fileUpload(Model model,HttpServletRequest request,HttpServletResponse response){
        try {
            String[] fields = {"lineName", "majorName", "procedureName", "totalQuantity"};
            List<ConstructionProcedureConfig> map = ExcelImportUtil.getImportData(fields, ConstructionProcedureConfig.class, request);
            List<ConstructionProcedureConfig> configs=new ArrayList<>();
            for(int i=0;i<map.size();i++){
                ConstructionProcedureConfig config = map.get(i);
                
                //查询线路
                EntityWrapper<DqLinename> entityWrapper = new EntityWrapper<DqLinename>();
                Wrapper<DqLinename> wrapper = entityWrapper.eq("linename", config.getLineName());
                DqLinename dqLinename = dqLinenameService.selectOne(wrapper);
                if(dqLinename == null){
                    return R.error("线路数据不存在");
                }
                if(!BaseMajorEnum.DQ_QYBDZ.getName().equals(config.getMajorName())){
                    return R.error("专业数据不存在");
                }
                BaseConstructionProcedure baseConstruct = baseConstructionProcedureService.getByName(majorId, config.getProcedureName());
                if(baseConstruct == null){
                    return R.error("工序数据不存在");
                }
                
                //通过线路名称和专业分类名称以及工序名称获取唯一施工配置
                EntityWrapper<ConstructionProcedureConfig> coEntityWrapper = new EntityWrapper<ConstructionProcedureConfig>();
                Wrapper<ConstructionProcedureConfig> configwrapper = coEntityWrapper.eq("lineid", dqLinename.getId())
                                                                              .eq("major_name", config.getMajorName())
                                                                              .eq("procedure_name", config.getProcedureName());
                
                ConstructionProcedureConfig constructionprocedureconfig = constructionProcedureConfigService.selectOne(configwrapper);
                if(constructionprocedureconfig == null){
                    constructionprocedureconfig = new ConstructionProcedureConfig();
                    constructionprocedureconfig.setLineid(dqLinename.getId());
                    constructionprocedureconfig.setLineName(dqLinename.getLinename());
                    constructionprocedureconfig.setMajorId(majorId);
                    constructionprocedureconfig.setMajorName(config.getMajorName());
                    constructionprocedureconfig.setProcedureCode(baseConstruct.getCode());
                    constructionprocedureconfig.setProcedureId(baseConstruct.getId());
                    constructionprocedureconfig.setProcedureName(baseConstruct.getName());
                    constructionprocedureconfig.setUnit(baseConstruct.getUnit());
                    constructionprocedureconfig.setSort(baseConstruct.getSort());
                    constructionprocedureconfig.setTotalQuantity(config.getTotalQuantity());
                }else{
                    constructionprocedureconfig.setTotalQuantity(config.getTotalQuantity());
                }
                configs.add(constructionprocedureconfig);
            }
            constructionProcedureConfigService.insertOrUpdateBatch(configs);

            return R.ok();
        } catch (Exception e) {
            logger.error("excel上传异常:", e);
            return R.error("上传失败");
        }
        
    }

おすすめ

転載: blog.csdn.net/weixin_39709134/article/details/128588581