From 52ffefd06e59cbd56c1a919972866592379cfed2 Mon Sep 17 00:00:00 2001 From: xiejun <xj@2023> Date: 星期四, 21 九月 2023 11:27:11 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/master' --- Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/controller/MdmEngineController.java | 368 ++++++++++++++++++++++++++++++++++++++++++++++------ 1 files changed, 324 insertions(+), 44 deletions(-) diff --git a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/controller/MdmEngineController.java b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/controller/MdmEngineController.java index fb97efc..f5ce8a2 100644 --- a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/controller/MdmEngineController.java +++ b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/controller/MdmEngineController.java @@ -3,23 +3,27 @@ import com.alibaba.fastjson.JSONObject; import com.alibaba.nacos.common.utils.StringUtils; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.vci.ubcs.code.applyjtcodeservice.vo.BaseModelVO; import com.vci.ubcs.code.dto.CodeDeleteBatchDTO; +import com.vci.ubcs.code.dto.CodeExportAttrDTO; import com.vci.ubcs.code.dto.CodeOrderDTO; import com.vci.ubcs.code.dto.CodeOrderSecDTO; import com.vci.ubcs.code.dto.datapush.BaseModelDTO; import com.vci.ubcs.code.service.MdmEngineService; import com.vci.ubcs.code.service.MdmIOService; import com.vci.ubcs.code.vo.pagemodel.*; +import com.vci.ubcs.flow.core.dto.FlowStatusDTO; import com.vci.ubcs.starter.annotation.VciBusinessLog; +import com.vci.ubcs.starter.revision.model.BaseModel; +import com.vci.ubcs.starter.revision.model.TreeQueryObject; import com.vci.ubcs.starter.util.LocalFileUtil; -import com.vci.ubcs.starter.web.pagemodel.BaseQueryObject; -import com.vci.ubcs.starter.web.pagemodel.DataGrid; -import com.vci.ubcs.starter.web.pagemodel.Tree; +import com.vci.ubcs.starter.web.pagemodel.*; import com.vci.ubcs.starter.web.util.ControllerUtil; import com.vci.ubcs.starter.web.util.LangBaseUtil; import com.vci.ubcs.starter.web.util.VciBaseUtil; import io.swagger.annotations.Api; -import lombok.AllArgsConstructor; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springblade.core.tool.api.R; @@ -31,8 +35,7 @@ import java.io.File; import java.io.IOException; import java.nio.charset.StandardCharsets; -import java.util.List; -import java.util.Map; +import java.util.*; @RestController //@AllArgsConstructor @@ -40,9 +43,9 @@ @Api(value = "缂栫爜鏁版嵁绠$悊", tags = "缂栫爜鏁版嵁绠$悊") public class MdmEngineController { -// /** -// * 鏃ュ織 -// */ + /** + * 鏃ュ織 + */ private Logger logger = LoggerFactory.getLogger(getClass()); /** * 涓绘暟鎹紩鎿庢湇鍔� @@ -55,6 +58,7 @@ @Autowired private MdmIOService mdmIOService; + /** * 涓嬭浇鎵归噺鐢宠鐨勫鍏ユā鏉� * @param codeClassifyOid 鍒嗙被鐨勪富閿� @@ -64,19 +68,83 @@ @GetMapping("/downloadImportExcel") @VciBusinessLog(operateName = "涓嬭浇鎵归噺鐢宠缂栫爜鐨勫鍏ユā鏉�") public void downloadImportExcel(String codeClassifyOid, HttpServletResponse response) throws IOException{ -// String excelName = mdmIOService.createImportExcel(codeClassifyOid,false); -// try { -// ControllerUtil.writeFileToResponse(response,excelName); -// } catch (Throwable e) { -// //濡傛灉鍑洪敊,鎶婇敊璇俊鎭啓鍒皌ext -// String msg = LangBaseUtil.getErrorMsg(e); -// if(StringUtils.isBlank(msg)){ -// msg = "鏈煡閿欒"; -// } -// ControllerUtil.writeDataToResponse(response,msg.getBytes(StandardCharsets.UTF_8),null); -// } + String excelName = mdmIOService.createImportExcel(codeClassifyOid,false); + try { + ControllerUtil.writeFileToResponse(response,excelName); + } catch (Throwable e) { + //濡傛灉鍑洪敊,鎶婇敊璇俊鎭啓鍒皌ext + String msg = LangBaseUtil.getErrorMsg(e); + if(StringUtils.isBlank(msg)){ + msg = "鏈煡閿欒"; + } + ControllerUtil.writeDataToResponse(response,msg.getBytes(StandardCharsets.UTF_8),null); + } + } + /** + * 涓嬭浇鎵归噺鐢宠鐨勫鍏ユā鏉� + * @param codeClassifyOid 鍒嗙被鐨勪富閿� + * @param response 鍝嶅簲瀵硅薄 + * @throws IOException 鎶涘嚭寮傚父 + */ + @GetMapping("/downloadTopImportExcel") + @VciBusinessLog(operateName = "涓嬭浇鎵归噺鐢宠缂栫爜鐨勫鍏ユā鏉�") + public void downloadTopImportExcel(String codeClassifyOid,HttpServletResponse response) throws IOException{ + String excelName = mdmIOService.downloadTopImportExcel(codeClassifyOid); + try { + ControllerUtil.writeFileToResponse(response,excelName); + } catch (Throwable e) { + //濡傛灉鍑洪敊,鎶婇敊璇俊鎭啓鍒皌ext + String msg = LangBaseUtil.getErrorMsg(e); + if(StringUtils.isBlank(msg)){ + msg = "鏈煡閿欒"; + } + ControllerUtil.writeDataToResponse(response,msg.getBytes(StandardCharsets.UTF_8),null); + } + + } + /** + * 瀵煎嚭涓婚搴撶殑鏁版嵁 + * @param exportAttrDTO 瀵煎嚭鐨勭浉鍏抽厤缃� + */ + @VciBusinessLog(operateName = "瀵煎嚭涓婚搴撶殑鏁版嵁") + @PostMapping("/exportCode") + public void exportCode(CodeExportAttrDTO exportAttrDTO, HttpServletResponse response) throws IOException { + String excelName = mdmIOService.exportCode(exportAttrDTO); + try { + ControllerUtil.writeFileToResponse(response,excelName); + } catch (Throwable e) { + //濡傛灉鍑洪敊,鎶婇敊璇俊鎭啓鍒皌ext + String msg = LangBaseUtil.getErrorMsg(e); + String errorFile = LocalFileUtil.getDefaultTempFolder() + File.separator + "閿欒.txt"; + LocalFileUtil.writeContentToFile(msg,errorFile); + ControllerUtil.writeFileToResponse(response,errorFile); + } + } + + /** + * 涓嬭浇鍘嗗彶鏁版嵁瀵煎叆妯℃澘 + * @param codeClassifyOid 鍒嗙被鐨勪富閿� + * @param response 鍝嶅簲瀵硅薄 + * @throws IOException 鎶涘嚭寮傚父 + */ + @GetMapping("/downloadImportExcelHistory") + @VciBusinessLog(operateName = "涓嬭浇鍘嗗彶鏁版嵁瀵煎叆妯℃澘") + public void downloadImportExcelHistory(String codeClassifyOid,HttpServletResponse response) throws IOException{ + String excelName = mdmIOService.createImportExcel(codeClassifyOid,true); + //String excelName = mdmIOService.downloadTopImportExcel(codeClassifyOid); + try { + ControllerUtil.writeFileToResponse(response,excelName); + } catch (Throwable e) { + //濡傛灉鍑洪敊,鎶婇敊璇俊鎭啓鍒皌ext + String msg = LangBaseUtil.getErrorMsg(e); + if(StringUtils.isBlank(msg)){ + msg = "鏈煡閿欒"; + } + ControllerUtil.writeDataToResponse(response,msg.getBytes(StandardCharsets.UTF_8),null); + } + } /** * 鎵归噺鐢宠缂栫爜鐨勪俊鎭� @@ -95,20 +163,20 @@ String excelFileName = LocalFileUtil.getDefaultTempFolder() + File.separator + LocalFileUtil.getFileNameForIE(file.getOriginalFilename()); File file1 = new File(excelFileName); try { -// file.transferTo(new File(excelFileName)); -// CodeImProtRusultVO codeImProtRusultVO = mdmIOService.batchImportCode(orderDTO,file1); -// if(StringUtils.isNotBlank(codeImProtRusultVO.getFilePath())||StringUtils.isNotBlank(codeImProtRusultVO.getRedisUuid())){ -// //鏀惧埌map閲� -// R result = R.fail("瀵煎叆澶辫触"); -// if(StringUtils.isNotBlank(codeImProtRusultVO.getFilePath())) { -// String filedUUid = ControllerUtil.putErrorFile(codeImProtRusultVO.getFilePath()); -// codeImProtRusultVO.setFileOid(filedUUid); -// } -// result.setData(codeImProtRusultVO); -// return result; -// }else { -// return R.success("鎿嶄綔鎴愬姛锛�"); -// } + file.transferTo(new File(excelFileName)); + CodeImProtRusultVO codeImProtRusultVO = mdmIOService.batchImportCode(orderDTO,file1); + if(StringUtils.isNotBlank(codeImProtRusultVO.getFilePath())||StringUtils.isNotBlank(codeImProtRusultVO.getRedisUuid())){ + //鏀惧埌map閲� + R result = R.fail("瀵煎叆澶辫触"); + if(StringUtils.isNotBlank(codeImProtRusultVO.getFilePath())) { + String filedUUid = ControllerUtil.putErrorFile(codeImProtRusultVO.getFilePath()); + codeImProtRusultVO.setFileOid(filedUUid); + } + result.setData(codeImProtRusultVO); + return result; + }else { + return R.success("鎿嶄綔鎴愬姛锛�"); + } }catch (Throwable e) { logger.error("瀵煎叆閿欒",e); String errorFile = LocalFileUtil.getDefaultTempFolder() + File.separator + "閿欒.txt"; @@ -125,9 +193,98 @@ }finally { file1.delete(); } - return null; +// return null; } + /** + * 瀵煎叆鍘嗗彶鏁版嵁 + * @param codeClassifyOid 鍒嗙被鐨勪富閿� + * @param classifyAttr 鍒嗙被璺緞浣跨敤鐨勫睘鎬� + * @param file 鏂囦欢鐨勫唴瀹� + */ + @VciBusinessLog(operateName = "瀵煎叆缂栫爜鐨勫巻鍙叉暟鎹�") + @PostMapping("/batchImportHistoryData") + public R batchImportHistoryData(String codeClassifyOid, String classifyAttr,MultipartFile file,HttpServletResponse response) throws Throwable { + String excelFileName = LocalFileUtil.getDefaultTempFolder() + File.separator + file.getOriginalFilename(); + File file1 = new File(excelFileName); + try { + file.transferTo(new File(excelFileName)); + CodeImProtRusultVO codeImProtRusultVO =mdmIOService.batchImportHistoryData(codeClassifyOid, classifyAttr,file1); + if(StringUtils.isNotBlank(codeImProtRusultVO.getFilePath())||StringUtils.isNotBlank(codeImProtRusultVO.getRedisUuid())){ + //鏀惧埌map閲� + R result = R.fail("瀵煎叆澶辫触"); + if(StringUtils.isNotBlank(codeImProtRusultVO.getFilePath())) { + String filedUUid = ControllerUtil.putErrorFile(codeImProtRusultVO.getFilePath()); + codeImProtRusultVO.setFileOid(filedUUid); + } + result.setData(codeImProtRusultVO); + return result; + }else { + return R.success("鎿嶄綔鎴愬姛锛�"); + } + }catch (Throwable e) { + logger.error("瀵煎叆閿欒",e); + String errorFile = LocalFileUtil.getDefaultTempFolder() + File.separator + "閿欒.txt"; + LocalFileUtil.writeContentToFile(LangBaseUtil.getErrorMsg(e),errorFile); + String uuid=ControllerUtil.putErrorFile(errorFile); + CodeImProtRusultVO codeImProtRusultVO =new CodeImProtRusultVO(); + codeImProtRusultVO.setRedisUuid(""); + codeImProtRusultVO.setFileOid(uuid); + codeImProtRusultVO.setFilePath(errorFile); + R r = R.fail("瀵煎叆澶辫触"); + r.setData(codeImProtRusultVO); + return r; + }finally { + file1.delete(); + } + } + /** + * 瀵煎叆鍘嗗彶鏁版嵁 + * @param codeClassifyOid 鍒嗙被鐨勪富閿� + * @param classifyAttr 鍒嗙被璺緞浣跨敤鐨勫睘鎬� + * @param file 鏂囦欢鐨勫唴瀹� + */ + @VciBusinessLog(operateName = "鎵归噺鐢宠缂栫爜鐨勪俊鎭�") + @PostMapping("/batchTopImportCode") + public R batchTopImportCode(String codeClassifyOid, String classifyAttr,MultipartFile file,HttpServletResponse response) throws Throwable { + String excelFileName = LocalFileUtil.getDefaultTempFolder() + File.separator + file.getOriginalFilename(); + File file1 = new File(excelFileName); + try { + file.transferTo(new File(excelFileName)); + CodeImProtRusultVO codeImProtRusultVO =mdmIOService.batchTopImportCode(codeClassifyOid, classifyAttr,file1); + if(StringUtils.isNotBlank(codeImProtRusultVO.getFilePath())||StringUtils.isNotBlank(codeImProtRusultVO.getRedisUuid())){ + //鏀惧埌map閲� + R r = R.fail("瀵煎叆澶辫触锛�"); + if(StringUtils.isNotBlank(codeImProtRusultVO.getFilePath())) { + String filedUUid = ControllerUtil.putErrorFile(codeImProtRusultVO.getFilePath()); + codeImProtRusultVO.setFileOid(filedUUid); + r = R.success("瀵煎叆鎴愬姛锛�"); + } + r.setData(codeImProtRusultVO); + return r; + }else { + return R.success("瀵煎叆鎴愬姛锛�"); + } + }catch (Throwable e) { + e.printStackTrace(); + logger.error("瀵煎叆閿欒",e); + String errorFile = LocalFileUtil.getDefaultTempFolder() + File.separator + "閿欒.txt"; + LocalFileUtil.writeContentToFile(LangBaseUtil.getErrorMsg(e),errorFile); + String uuid=ControllerUtil.putErrorFile(errorFile); + CodeImProtRusultVO codeImProtRusultVO =new CodeImProtRusultVO(); + codeImProtRusultVO.setRedisUuid(""); + codeImProtRusultVO.setFileOid(uuid); + codeImProtRusultVO.setFilePath(errorFile); + + R r = R.fail("瀵煎叆澶辫触"); + r.setData(codeImProtRusultVO); + + + return r; + }finally { + file1.delete(); + } + } /** * 淇敼鐘舵�� @@ -135,7 +292,7 @@ * @return 鎵ц缁撴灉 */ @PostMapping("changeStatus") - public R changeStatus(BaseModelDTO baseModelDTO) { + public R changeStatus(@RequestBody BaseModelDTO baseModelDTO) { engineService.changeStatus(baseModelDTO); return R.success("鎿嶄綔鎴愬姛锛�"); } @@ -148,7 +305,7 @@ */ @PostMapping("/addSaveCode") @VciBusinessLog(operateName = "鐢宠鍗曚釜缂栫爜") - public R addSaveCode(@RequestBody CodeOrderDTO orderDTO){ + public R addSaveCode(@RequestBody CodeOrderDTO orderDTO) throws Exception { return R.success(engineService.addSaveCode(orderDTO)); } @@ -258,7 +415,7 @@ } /*** - * 浠巖edis缂撳瓨閲岃幏鍙栧埌瀵煎叆姝g‘鐨勬暟鎹� + * 浠巖edis缂撳瓨閲岃幏鍙栧埌瀵煎叆琛岀浉浼奸」鐨勬暟鎹� * @param dataOid * @param redisOid * @return @@ -278,7 +435,27 @@ public DataGrid<Map<String,String>> gridResemble(String codeClassifyOid,String redisOid){ return mdmIOService.gridDatas(codeClassifyOid,redisOid); } + /*** + * 瀵煎叆鏁版嵁 + * @param codeImprotSaveDatVO//鏁版嵁瀵硅薄 + * @return + */ + @PostMapping("/batchImportData") + public R batchImportData(@RequestBody CodeImprotParmaDatVO codeImprotSaveDatVO){ + return mdmIOService.batchImportData(codeImprotSaveDatVO.getCodeImprotSaveDatVOList(),codeImprotSaveDatVO.getClassifyAttr(),codeImprotSaveDatVO.getImprot()); + } + /*** + *鏍规嵁鏁版嵁oid浠庣紦瀛樹腑绉婚櫎鏁版嵁 + * @param redisOid redisid + * @param codeClassifyOid 瀛樺偍瑙勫垯鐨刼id + * @param dataOids 鎵�闇�鍒犻櫎鐨勬暟鎹� + * @return + */ + @GetMapping("/deleteDatas") + public R deleteDatas(String redisOid,String codeClassifyOid,String dataOids){ + return mdmIOService.deleteDatas(redisOid,codeClassifyOid,dataOids); + } /** * 鎵归噺淇濆瓨娴佺▼鎵ц椤甸潰淇敼鐨勫唴瀹� * @param orderDTOList 缂栫爜鐩稿叧鐨勪俊鎭紝涓嶉渶瑕佺爜娈电殑淇℃伅 @@ -353,12 +530,12 @@ * @return 鍒嗙被鐮佸�肩殑鍐呭 */ @GetMapping("/listCodeClassifyValueBySecOid") - public DataGrid<CodeClassifyValueVO> listCodeClassifyValueBySecOid(String classifySecOid, String parentClassifyValueOid){ + public IPage<CodeClassifyValueVO> listCodeClassifyValueBySecOid(String classifySecOid, String parentClassifyValueOid){ List<CodeClassifyValueVO> valueVOS = engineService.listCodeClassifyValueBySecOid(classifySecOid, parentClassifyValueOid); - DataGrid<CodeClassifyValueVO> dataGrid = new DataGrid<>(); - dataGrid.setData(valueVOS); - dataGrid.setTotal(valueVOS==null?0:valueVOS.size()); - return dataGrid; + IPage<CodeClassifyValueVO> valueVOIPage = new Page<>(); + valueVOIPage.setRecords(valueVOS); + valueVOIPage.setTotal(valueVOS==null?0:valueVOS.size()); + return valueVOIPage; } /** @@ -367,7 +544,7 @@ * @return 缂栫爜瑙勫垯鐨勫唴瀹� */ @GetMapping("/getCodeRuleByClassifyOid") -// @VciUnCheckRight + // @VciUnCheckRight public R<CodeRuleVO> getCodeRuleByClassifyOid(String codeClassifyOid){ return R.data(engineService.getCodeRuleByClassifyOid(codeClassifyOid)); } @@ -469,4 +646,107 @@ public MdmUIInfoVO getUIInfoByClassifyOid(String codeClassifyOid,String functionId){ return engineService.getUIInfoByClassifyOid(codeClassifyOid,functionId); } + + /** + * 浣跨敤鍒嗙被鑾峰彇琛ㄦ牸鐨勫畾涔� + * @param codeClassifyOid 鍒嗙被涓婚敭 + * @param functionId 鍔熻兘鐨勭紪鍙� + * @return UI鐩稿叧鐨勪俊鎭紙浠呭寘鍚〃鏍硷級 + */ + @GetMapping("/getFlowdUIInfoByClassifyOid") + public MdmUIInfoVO getUIInfoByClassifyOid(String codeClassifyOid,String functionId,String templateId,String taskId,String modelKey){ + return engineService.getFlowUIInfoByClassifyOid(codeClassifyOid,functionId,templateId,taskId,modelKey); + } + + @GetMapping("/thisistest") + @ResponseBody + public Integer thisistest(String codeClassifyOid, String functionId) throws Exception { +// return engineService.selectByTypeAndOid("wupin", "b1511bb3-a773-43e2-ac85-a7fde7314a0f,3e08970024835e69f6c2b2ecd90c48c3,582ff205-0dfb-43e0-8223-e772ff1851ab,db0400fe-cc90-4d9d-8da7-1edf06b1481b"); + + List<BaseModel> models = new ArrayList<>(); + BaseModel baseModel = new BaseModel(); + Map<String,String > map = new HashMap<>(); + map.put("JZL","6789"); + map.put("JZRXX","67891"); + map.put("JZXZB","67892"); + map.put("JSZGL","67893"); + map.put("JSSXT","67894"); + baseModel.setBtmname("djii"); + baseModel.setCreator("fjivis"); + baseModel.setId("vcia"); + baseModel.setOid("0d86b1ba-9e9e-4d3d-9ae4-f862c3684e74"); + baseModel.setCreateTime(new Date()); + baseModel.setTs(new Date()); + baseModel.setData(map); + models.add(baseModel); + + BaseModel baseModel1 = new BaseModel(); + Map<String,String > map1 = new HashMap<>(); + map1.put("JZL","6789z"); + map1.put("JZRXX","67891z"); + map1.put("JZXZB","67892z"); + map1.put("JSZGL","67893z"); + map1.put("JSSXT","67894z"); + baseModel1.setBtmname("djiiz"); + baseModel1.setCreator("fjivisz"); + baseModel1.setId("vciaz"); + baseModel1.setTs(new Date()); + baseModel1.setOid("4a00be07-f5a8-4a9b-88fb-d52a0d9cf546"); + baseModel1.setCreateTime(new Date()); + baseModel1.setData(map1); + models.add(baseModel1); + + BaseModel baseModel2 = new BaseModel(); + Map<String,String > map2 = new HashMap<>(); + map2.put("JZL","67892"); + map2.put("JZRXX","678912"); + map2.put("JZXZB","678922"); + map2.put("JSZGL","678932"); + map2.put("JSSXT","678942"); + baseModel2.setBtmname("djii2"); + baseModel2.setCreator("fjivis2"); + baseModel2.setTs(new Date()); + baseModel2.setId("vcia2"); + baseModel2.setOid("fa430ff9-f141-4dcf-8809-6f87905c1dea"); + baseModel2.setCreateTime(new Date()); + baseModel2.setData(map2); + models.add(baseModel2); + + return 0; + + + +// return engineService.updateBatchByBaseModel("wupin", models); +// return engineService.getUIInfoByClassifyOid(codeClassifyOid,functionId); + } + + /** + * 榛樿鐨勫弬鐓у垪琛� + * @param referConfigVO 鍙傜収鐨勯厤缃俊鎭� + * @return 鎵ц鐨勭粨鏋� + */ + @RequestMapping(value = "/defaultReferDataGrid",method = {RequestMethod.POST, RequestMethod.GET}) + public IPage<BaseModelVO> defaultReferDataGrid(UIFormReferVO referConfigVO, BaseQueryObject baseQueryObject){ + return engineService.referDataGrid(referConfigVO,baseQueryObject); + } + + /** + * 榛樿鐨勬爲褰㈠弬鐓у垪琛� + * @param referConfigVO 鍙傜収鐨勯厤缃俊鎭� + * @return 鎵ц鐨勭粨鏋� + */ + @GetMapping("/defaultReferTree") + public List<Tree> defaultReferTree(UIFormReferVO referConfigVO, TreeQueryObject queryObject){ + return engineService.referTree(referConfigVO,queryObject); + } + + /** + * 娴佺▼涓彉鏇寸姸鎬佺殑绠�鏄撴帴鍙� + * @param flowDTO 娴佺▼涓惡甯︾殑body + * @return + */ + @PostMapping("/processChangeStatus") + public R processChangeStatus(@RequestBody FlowStatusDTO flowDTO){ + return engineService.processChangeStatus(flowDTO); + } } -- Gitblit v1.9.3