package com.aps.core.controller; import com.aps.common.core.domain.R; import com.aps.common.core.utils.file.FileUtils; import com.aps.common.core.web.domain.AjaxResult; import com.aps.core.service.*; import com.aps.core.service.ApsPlate.IApsPlatePlanService; import com.aps.system.api.domain.SysFile; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RestController; import org.springframework.web.multipart.MultipartFile; /** * 文件请求处理 * * @author ruoyi */ @RestController public class CoreController { private static final Logger log = LoggerFactory.getLogger(CoreController.class); @Autowired private ICoreService coreService; @Autowired private IApsBomHeaderService apsBomHeaderService; @Autowired private IApsStandardProcessRouteHeaderService apsStandardProcessRouteHeaderService; @Autowired private IApsMaterialStorageManagementService apsMaterialStorageManagementService; @Autowired private IApsPlatePlanService apsPlatePlanService; /** * 文件上传请求 */ @PostMapping("upload") public R upload(MultipartFile file) { try { // 上传并返回访问地址 String url = coreService.uploadFile(file); SysFile sysFile = new SysFile(); sysFile.setName(FileUtils.getName(url)); sysFile.setUrl(url); return R.ok(sysFile); } catch (Exception e) { log.error("上传文件失败", e); return R.fail(e.getMessage()); } } /** * 刷新BOM和工艺路线和库存缓存 * @param orgCode * @return */ @PostMapping("/refreshBomRouteStorageData") public AjaxResult refreshBomRouteStorageData(String orgCode) { try { apsBomHeaderService.setBomDataToRedis(orgCode); apsStandardProcessRouteHeaderService.setProcessRouteDataToRedis(orgCode); apsMaterialStorageManagementService.setStorageDataToRedis(orgCode); apsPlatePlanService.setSubPlansToRedis(); return AjaxResult.success(); }catch (Exception e){ e.printStackTrace(); return AjaxResult.error(e.getMessage()); } } }