当前位置: 首页 > news >正文

北京网站建设流程微企免费做网站

北京网站建设流程,微企免费做网站,电商设计网站有哪些,株洲网站建设目录 效果pom.xmlapplication.ymlcontrollerservice依赖类前台vue代码某个功能如果需要添加大量的数据,通过一条条的方式添加的方式,肯定不合理,本文通过excel导入的方式来实现该功能,100条数据导入成功85条,失败15条,肯定需要返回一个表格给前台或者返回1个错误excel给前… 目录 效果pom.xmlapplication.ymlcontrollerservice依赖类前台vue代码 某个功能如果需要添加大量的数据,通过一条条的方式添加的方式,肯定不合理,本文通过excel导入的方式来实现该功能,100条数据导入成功85条,失败15条,肯定需要返回一个表格给前台或者返回1个错误excel给前台,本文就实现这两个功能 效果 模版 storeTemplate.xlsx 点击确定,会直接下载excel错误文件,打开如下图 删除第一行 第一列后,修正后,可再次导入,方便调整错误数据pom.xml !-- easypoi-spring-boot-starter --dependencygroupIdcn.afterturn/groupIdartifactIdeasypoi-spring-boot-starter/artifactIdversion4.1.3/version/dependencyapplication.yml #####模板下载位置 downloadTemplate:storePath: storeTemplate.xlsx提供部分代码,主要是了解思路,可参考实现controller package com.zyee.iopace.web.controller;import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.github.pagehelper.PageInfo; import com.zyee.iopace.web.config.annotation.Log; import com.zyee.iopace.web.config.exception.BusinessException; import com.zyee.iopace.web.dto.station.DeleteBatchPhotoDto; import com.zyee.iopace.web.dto.station.StationStoreAddDto; import com.zyee.iopace.web.dto.station.StationStoreDto; import com.zyee.iopace.web.dto.store.DeleteStoreBatchPhotoDto; import com.zyee.iopace.web.dto.store.StationStoreUpdateDto; import com.zyee.iopace.web.dto.store.StoreBindStationDto; import com.zyee.iopace.web.dto.store.StoreChangeTrackDto; import com.zyee.iopace.web.entity.*; import com.zyee.iopace.web.enums.BusinessType; import com.zyee.iopace.web.enums.EcologyType; import com.zyee.iopace.web.enums.StationStateEnum; import com.zyee.iopace.web.enums.StoreStatusType; import com.zyee.iopace.web.response.ResponseResult; import com.zyee.iopace.web.service.*; import com.zyee.iopace.web.utils.BeanCopyUtils; import com.zyee.iopace.web.utils.PageUtils; import com.zyee.iopace.web.vo.station.StationStoreDetailVo; import com.zyee.iopace.web.vo.station.StationStoreVo; import com.zyee.iopace.web.vo.store.StoreChangeTrackListVo; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import lombok.extern.slf4j.Slf4j; import org.apache.commons.collections4.CollectionUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.transaction.annotation.Transactional; import org.springframework.web.bind.annotation.*; import org.springframework.web.multipart.MultipartFile;import javax.servlet.http.HttpServletResponse; import java.io.File; import java.util.*; import java.util.stream.Collectors;@Slf4j @Api(tags = "库存管理") @RestController @RequestMapping("/stationStore") public class StationStoreController {@Autowiredprivate StoreReviseRecordService storeReviseRecordService;@ApiOperation(value = "导入库存信息")@Log(title = "导入库存信息", businessType = BusinessType.IMPORT)@PostMapping("/importStore")public ResponseResult importStore(@RequestParam MultipartFile file, HttpServletResponse response) throws Exception {return ResponseResult.SUCCESS(stationStoreService.importStore(file,response));} }service package com.zyee.iopace.web.service;import com.zyee.iopace.web.dto.dept.DeptSearchDto; import com.zyee.iopace.web.dto.station.StationStoreAddDto; import com.zyee.iopace.web.dto.station.StationStoreDto; import com.zyee.iopace.web.dto.store.StationStoreUpdateDto; import com.zyee.iopace.web.dto.store.StoreBindStationDto; import com.zyee.iopace.web.dto.store.StoreChangeTrackDto; import com.zyee.iopace.web.entity.StationStore; import com.baomidou.mybatisplus.extension.service.IService; import com.zyee.iopace.web.entity.StoreChangeTrack; import com.zyee.iopace.web.vo.element.ElementImportResponseVo; import org.springframework.web.multipart.MultipartFile;import javax.servlet.http.HttpServletResponse; import java.util.List;public interface StationStoreService extends IServiceStationStore {/*** 导入库存信息* @param file* @param response* @return 失败返回错误地址*/ElementImportResponseVo importStore(MultipartFile file, HttpServletResponse response) throws Exception; }@Service public class StationStoreServiceImpl extends ServiceImplStationStoreMapper, StationStore implements StationStoreService {@Overridepublic ElementImportResponseVo importStore(MultipartFile file, HttpServletResponse response) throws Exception {ListStoreImportVo stationImportVos = PoiUtils.importExcel(file, StoreImportVo.class, null);//成功ListStationStore stationStoreList = new ArrayList();//失败信息的集合ListStoreImportVo errorList = new ArrayList();//导入成功的数量int success = 0;//失败条数int failure = 0;//当前登录用户idString userId = userUtils.getUserId();//型号ListStoreCompanyModel companyModelList = storeCompanyModelService.list();//序列号集合ListStationStore stationStores = list(new LambdaQueryWrapperStationStore().select(StationStore::getSerialNumber));ListString serialNumberList = new ArrayList();if(CollectionUtil.isNotEmpty(stationStores)){serialNumberList = stationStores.stream().map(StationStore::getSerialNumber).distinct().collect(Collectors.toList());}//站点集合ListStation stationList = stationService.list(new LambdaQueryWrapperStation().orderByAsc(Station::getStationCode));if(CollectionUtil.isEmpty(stationList)){stationList = new ArrayList();}for (StoreImportVo storeImport : stationImportVos) {StringBuilder errMsg = new StringBuilder();StationStore stationStore = checkStore(storeImport, errMsg, userId, companyModelList, serialNumberList, stationList);if (errMsg.toString().length() 0) {failure++;storeImport.setErrorCause(errMsg.toString());errorList.add(storeImport);}else{success++;stationStoreList.add(stationStore);}}if(CollectionUtil.isNotEmpty(stationStoreList)){//批量新增saveBatch(stationStoreList);//增加送检判断stationStoreList.stream().forEach(store-{if(Objects.nonNull(store.getRectifyTime())){//库存送检记录StationStoreAddDto dto = new StationStoreAddDto();dto.setRectifyTime(store.getRectifyTime());saveRevise(dto, store);}if(Objects.nonNull(store.getStationId())){//绑定站点stationChangeTrack(null, store);}});}//将错误数据上传String visitUrl = "";String msg = "批量站点信息完成,成功导入" + success + "条数据,失败" + failure + "条";if (failure 0) {try {String name = UUID.randomUUID()+".xlsx";Workbook workbook = null;StoreExcelStyler.setProperties(stationService,storeCompanyService,storeCompanyModelService);workbook = PoiUtils.exportErrorExcel(errorList, name, name,StoreImportVo.class, name, StoreExcelStyler.class, response);StoreExcelStyler.setData(workbook);FileOutputStream outputStream = new FileOutputStream(pathService.getAbsoTemplateExcelPath(name));//写入workbook.write(outputStream);visitUrl = pathService.getTemplateExcelPath(name);} catch (Exception e) {e.printStackTrace();}}ElementImportResponseVo vo = new ElementImportResponseVo();vo.setMsg(msg);vo.setVisitUrl(visitUrl);return vo;}/*** 验证格式有问题* @param storeImport* @param errMsg* @param userId* @return*/private StationStore checkStore(StoreImportVo storeImport, StringBuilder errMsg, String userId,ListStoreCompanyModel companyModelList,ListString serialNumberList,ListStation stationList) {StationStore store = new StationStore();if(StringUtils.isBlank(storeImport.getCompanyName(
http://www.w-s-a.com/news/693095/

相关文章:

  • 如何做网站广告山东电商网站建设
  • 新手建什么网站赚钱吗WordPress搜狗不收录
  • 石家庄招聘哪个网站做的好网站设计建设公司服务商
  • 建设公司网站大概需要多少钱建站平台和网站开发的区别
  • 淄川区住房和城乡建设局网站门户网站模板源码下载
  • 室内设计公司 网站建设建站塔山双喜
  • 网站建设属于什么经营范围销售网站开发业务
  • 企业建站系统平台优秀网站作品截图
  • 杭州品牌网站制作wordpress多域名移动主题
  • 北京网站网站建设icp备案 网站备案
  • 长春网站公司哪家好电子商务网站建设作文
  • 网站开发php程序员网上店铺怎么运营
  • mip网站怎么做匹配h5婚纱摄影网站模板
  • 怎么注册建设公司网站域名历史价格查询
  • 爱站网seo工具包互联网软件开发工程师
  • 百度站长工具平台登录郑州seo规则
  • 财税公司做网站精品建站教程
  • 建设区块链网站区块链开发平台有哪些
  • 青年人爱看的网站ie显示wordpress网页不完整
  • 优惠券推广网站怎么做青岛正规网站建设哪家便宜
  • 怎么搞一个服务器建设网站wordpress页眉编辑
  • 计算机企业网站建设论文流量平台是什么意思
  • 成都建设网站公司哪家好上海有名的广告公司
  • 收录优美图片找不到了整站seo优化一般多少钱
  • 大型网站建设哪家好汉川网页设计
  • 深圳品牌策划公司推荐南昌网站怎么做seo
  • 滨州做微商城网站备案时暂时关闭网站
  • 手机网站样式代码网站是怎样制作的
  • 任务发布网站建设苏州园区房价
  • 网站的认识知识付费做的最好的平台