From 25da36be2318c1247592dce7d499d0b985c80fe0 Mon Sep 17 00:00:00 2001 From: ludc Date: 星期日, 03 十二月 2023 23:07:03 +0800 Subject: [PATCH] 历史数据导入时,赋默认值报空指针异常bug修复 --- Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/controller/MdmEngineController.java | 673 +++++++++++++++++++++++++++++++++++++++++++++++++++++++- 1 files changed, 660 insertions(+), 13 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 f185863..cfbda50 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,18 +3,25 @@ import com.alibaba.fastjson.JSONObject; import com.alibaba.nacos.common.utils.StringUtils; -import com.vci.ubcs.code.dto.CodeOrderDTO; -import com.vci.ubcs.code.dto.CodeOrderSecDTO; +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.*; 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.CodeImProtRusultVO; +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.util.SaveLogUtil; +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; @@ -26,7 +33,8 @@ import java.io.File; import java.io.IOException; import java.nio.charset.StandardCharsets; -import java.util.List; +import java.rmi.ServerException; +import java.util.*; @RestController //@AllArgsConstructor @@ -34,9 +42,9 @@ @Api(value = "缂栫爜鏁版嵁绠$悊", tags = "缂栫爜鏁版嵁绠$悊") public class MdmEngineController { -// /** -// * 鏃ュ織 -// */ + /** + * 鏃ュ織 + */ private Logger logger = LoggerFactory.getLogger(getClass()); /** * 涓绘暟鎹紩鎿庢湇鍔� @@ -48,6 +56,11 @@ */ @Autowired private MdmIOService mdmIOService; + /** + * 鏃ュ織淇濆瓨宸ュ叿绫� + */ + @Autowired + private SaveLogUtil saveLogUtil; /** * 涓嬭浇鎵归噺鐢宠鐨勫鍏ユā鏉� @@ -71,9 +84,72 @@ } } + /** + * 涓嬭浇鎵归噺鐢宠鐨勫鍏ユā鏉� + * @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); + } + } + + /** + * 鎵归噺鐢宠缂栫爜鐨勪俊鎭紙褰撳墠鍒嗙被涓婃壒閲忕敵璇凤級 * @param secDTOList 鐢宠缂栫爜鐨勪俊鎭紝蹇呴』鍖呭惈鐮佹鍜屽垎绫讳富閿殑淇℃伅 * @param file 鏂囦欢鐨勫唴瀹� */ @@ -119,8 +195,98 @@ }finally { file1.delete(); } +// 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(); + } + } /** * 淇敼鐘舵�� @@ -128,11 +294,10 @@ * @return 鎵ц缁撴灉 */ @PostMapping("changeStatus") - public R changeStatus(BaseModelDTO baseModelDTO) { + public R changeStatus(@RequestBody BaseModelDTO baseModelDTO) { engineService.changeStatus(baseModelDTO); return R.success("鎿嶄綔鎴愬姛锛�"); } - /** * 鐢宠缂栫爜淇濆瓨 @@ -141,7 +306,489 @@ */ @PostMapping("/addSaveCode") @VciBusinessLog(operateName = "鐢宠鍗曚釜缂栫爜") - public R addSaveCode(@RequestBody CodeOrderDTO orderDTO){ - return R.success(engineService.addSaveCode(orderDTO)); + public R addSaveCode(@RequestBody CodeOrderDTO orderDTO) throws Exception { + String s = null; + try { + s = engineService.addSaveCode(orderDTO); + saveLogUtil.operateLog("缂栫爜鐢宠",false,orderDTO.toString()); + }catch (Exception e){ + saveLogUtil.operateLog("缂栫爜鐢宠",true,e.toString()); + throw e; + } + return R.success(s); + } + + /** + * 浣跨敤妯℃澘鐨勪富閿幏鍙栬〃鍗曠殑瀹氫箟 + * @param templateOid 妯℃澘鐨勪富閿� + * @param codeClassifyOid 浣跨敤妯℃澘鐨勫垎绫讳富閿� + * @return UI鐩稿叧鐨勪俊鎭紙浠呭寘鍚〃鍗曪級 + */ + @GetMapping("/getFormDefineByTemplateOid") + public MdmUIInfoVO getFormDefineByTemplateOid(String templateOid, String codeClassifyOid){ + return engineService.getFormDefineByTemplateOid(templateOid,codeClassifyOid); + } + + /** + * 鐩镐技椤规煡璇� + * @param orderDTO 缂栫爜鐨勭浉鍏充俊鎭� + * @return 鏁版嵁鍒楄〃 + */ + @PostMapping("/resembleQuery") + public DataGrid<Map<String,String>> resembleQuery(@RequestBody CodeOrderDTO orderDTO){ + return engineService.resembleQuery(orderDTO); + } + + /** + * 淇敼鍗曟潯涓婚搴撶殑鏁版嵁 + * @param orderDTO 缂栫爜鐢宠鐩稿叧鐨勪俊鎭紝涓嶉渶瑕佺爜娈电殑淇℃伅 + * @return 鎵ц缁撴灉 + */ + @PutMapping("/editSaveCode") + @VciBusinessLog(operateName = "淇敼缂栫爜鏁版嵁") + public R editSaveCode(@RequestBody CodeOrderDTO orderDTO){ + engineService.editSaveCode(orderDTO); + return R.success("淇敼鎴愬姛锛�"); + } + + /** + * 鎵归噺鍒犻櫎涓婚搴撶殑鏁版嵁 + * @param deleteBatchDTO 鍒犻櫎鐨勪俊鎭紝蹇呴』瑕佹湁涓婚敭鍜屽垎绫荤殑涓婚敭 + * @return 鎵ц缁撴灉 + */ + @VciBusinessLog(operateName = "鎵归噺鍒犻櫎涓婚搴撶殑鏁版嵁") + @DeleteMapping("/deleteCode") + public R deleteCode(@RequestBody CodeDeleteBatchDTO deleteBatchDTO){ + engineService.deleteCode(deleteBatchDTO); + return R.success("鍒犻櫎鎴愬姛锛�"); + } + + /** + * 浣跨敤鍒嗙被鍜岄樁娈电殑缂栧彿锛岃幏鍙栧寘鍚殑灞炴�� + * @param codeClassifyOid 鍒嗙被鐨勪富閿� + * @param phase 闃舵鐨勫悕绉� + * @return 鍖呭惈鐨勫睘鎬э紝璇疯幏鍙杘bj灞炴�� + */ + @VciBusinessLog(operateName = "鑾峰彇闃舵鐨勫睘鎬т俊鎭�") + @GetMapping("/listPhaseAttrByClassifyOid") + public R listPhaseAttrByClassifyOid(String codeClassifyOid,String phase){ + return R.data(engineService.listPhaseAttrByClassifyOid(codeClassifyOid,phase)); + } + + /** + * 鑾峰彇褰撳墠鍒嗙被鎵�鍦ㄨ矾寰勪笂鐨勫垎绫诲睘鎬� + * @param codeClassifyOid 鍒嗙被鐨勪富閿� + * @return 鍖呭惈浜嗗綋鍓嶅垎绫荤殑涓婄骇鍜屾墍鏈夊眰绾х殑涓嬬骇 + */ + @GetMapping("/hasSelfClassifyTree") + public List<Tree> hasSelfClassifyTree(String codeClassifyOid){ + return engineService.hasSelfClassifyTree(codeClassifyOid); + } + + /** + * 浣跨敤鍒嗙被鑾峰彇瀵瑰簲鐨勬暟鎹� + * @param codeClassifyOid 鍒嗙被鐨勪富閿� + * @param templateOid 妯℃澘鐨勪富閿� + * @param queryObject 鍩虹鏌ヨ瀵硅薄 + * @return 鏁版嵁鐨勪俊鎭紙鍖呭惈涓嬬骇鍒嗙被锛� + */ + @GetMapping("/gridTableDataByClassifyOid") + @VciBusinessLog(operateName = "鏌ヨ涓婚搴撳垎绫荤殑鏁版嵁") + public DataGrid<Map<String,String>> gridTableDataByClassifyOid(String codeClassifyOid, String templateOid, BaseQueryObject queryObject){ + //TODO鍚庣画鍙互瀹氫箟鏌ヨ妯℃澘鏉ユ煡璇� + return engineService.gridTableDataByClassifyOid(codeClassifyOid,templateOid,queryObject.getConditionMap(),queryObject.getPageHelper()); + } + + /*** + * 鑾峰彇鍒嗙被瀵硅薄 + * @param redisOid + * @return + */ + @GetMapping("/gridclassifys") + public R gridclassifys(String redisOid){ + List<CodeImportTemplateVO> codeImportTemplateVOs=mdmIOService.gridclassifys(redisOid); + return R.data(codeImportTemplateVOs); + } + + /*** + * 浠巖edis缂撳瓨閲岃幏鍙栧埌瀵煎叆姝g‘鐨勬暟鎹� + * @param codeClassifyOid + * @param redisOid + * @return + */ + @GetMapping("/gridValidata") + public DataGrid<Map<String,String>> gridValidata(String codeClassifyOid,String redisOid){ + return mdmIOService.gridDatas(codeClassifyOid,redisOid); + } + + /*** + * 浠巖edis缂撳瓨閲岃幏鍙栧埌瀵煎叆琛岀浉浼奸」鐨勬暟鎹� + * @param dataOid + * @param redisOid + * @return + */ + @GetMapping("/gridRowResemble") + public DataGrid<Map<String,String>> gridRowResemble(String dataOid,String redisOid){ + return mdmIOService.gridRowResemble(dataOid,redisOid); + } + + /*** + * 浠巖edis缂撳瓨閲岃幏鍙栧埌瀵煎叆鍏锋湁鐩镐技椤圭殑鏁版嵁 + * @param codeClassifyOid + * @param redisOid + * @return + */ + @GetMapping("/gridResemble") + 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 缂栫爜鐩稿叧鐨勪俊鎭紝涓嶉渶瑕佺爜娈电殑淇℃伅 + * @return 鎵ц缁撴灉 + */ + @PostMapping("/batchUpdateCode") + public R batchUpdateCode(@RequestBody List<CodeOrderDTO> orderDTOList){ + return engineService.batchUpdateCode(orderDTOList); + } + + /** + * 鏍囪娴佺▼涓笟鍔℃暟鎹槸鍚﹂�氳繃 + * @param oid 涓氬姟鏁版嵁涓婚敭 + * @param btmName 涓氬姟绫诲瀷 + * @param pass 鏄惁閫氳繃 true-閫氳繃;false-涓嶉�氳繃 + * @return 鎵ц缁撴灉 + */ + @PostMapping("/markPass") + public R markDataPassing(String oid,String btmName,Boolean pass){ + return engineService.markDataPassing(oid,btmName,pass); + } + + /** + * 缁勫悎瑙勫垯鐨勯瑙堢殑鍐呭 + * @param orderDTO 鐢宠缂栫爜淇℃伅 + * @return 鍏紡杞崲鍚庣殑鍊� + */ + @PostMapping("/previewCompRule") + public R previewCompRule(@RequestBody CodeOrderDTO orderDTO){ + return R.data(engineService.previewCompRule(orderDTO)); + } + + /** + * 鍒嗙被娉ㄥ叆鐨勫唴瀹� + * @param orderDTO 鐢宠缂栫爜鐨勪俊鎭紝鍖呭惈鍒嗙被鐨勪富閿拰妯℃澘鐨勪富閿� + * @return 鎵ц缁撴灉 + */ + @PostMapping("/previewClassify") + public R previewClassify(@RequestBody CodeOrderDTO orderDTO){ + VciBaseUtil.alertNotNull(orderDTO,"鐢宠鐨勪俊鎭�",orderDTO.getCodeClassifyOid(),"鍒嗙被涓婚敭",orderDTO.getTemplateOid(),"妯℃澘鐨勪富閿�"); + Map<String,String> classifyMap = engineService.previewClassify(orderDTO.getCodeClassifyOid(),orderDTO.getTemplateOid()); + return R.data(classifyMap); + } + + /** + * 涓嬭浇閿欒鐨勬枃浠朵俊鎭� + * @param uuid 鍞竴鏍囪瘑 + * @param response 鍝嶅簲瀵硅薄 + * @throws IOException 鎶涘嚭寮傚父 + */ + @GetMapping("/downloadErrorFile") + public void downloadErrorFile(String uuid,HttpServletResponse response) throws IOException { + ControllerUtil.downloadErrorFile(response,uuid); + } + + /** + * 鍗囩増缂栫爜鏁版嵁 + * @param orderDTO 缂栫爜鐩稿叧鐨勪俊鎭紝涓嶉渶瑕佺爜娈电殑淇℃伅 + * @return 鎵ц缁撴灉 + */ + @VciBusinessLog(operateName = "鍗囩増缂栫爜鏁版嵁") + @PostMapping("/upSaveCode") + public R upSaveCode(@RequestBody CodeOrderDTO orderDTO){ + engineService.upSaveCode(orderDTO); + return R.success("鎿嶄綔鎴愬姛锛�"); + } + + /** + * 浣跨敤鐮佹鐨勪富閿幏鍙栧垎绫荤殑鐮佸�煎唴瀹� + * @param classifySecOid 鐮佹鐨勪富閿� + * @param parentClassifyValueOid 涓婄骇鍒嗙被鐨勪富閿� + * @return 鍒嗙被鐮佸�肩殑鍐呭 + */ + @GetMapping("/listCodeClassifyValueBySecOid") + public IPage<CodeClassifyValueVO> listCodeClassifyValueBySecOid(String classifySecOid, String parentClassifyValueOid){ + List<CodeClassifyValueVO> valueVOS = engineService.listCodeClassifyValueBySecOid(classifySecOid, parentClassifyValueOid); + IPage<CodeClassifyValueVO> valueVOIPage = new Page<>(); + valueVOIPage.setRecords(valueVOS); + valueVOIPage.setTotal(valueVOS==null?0:valueVOS.size()); + return valueVOIPage; + } + + /** + * 浣跨敤鍒嗙被鐨勪富閿潵鑾峰彇缂栫爜瑙勫垯 + * @param codeClassifyOid 鍒嗙被鐨勪富閿� + * @return 缂栫爜瑙勫垯鐨勫唴瀹� + */ + @GetMapping("/getCodeRuleByClassifyOid") + // @VciUnCheckRight + public R<CodeRuleVO> getCodeRuleByClassifyOid(String codeClassifyOid){ + return R.data(engineService.getCodeRuleByClassifyOid(codeClassifyOid)); + } + + /** + * 浣跨敤涓婚敭鑾峰彇鏁版嵁 + * @param oid 鏁版嵁涓婚敭 + * @param templateOid 妯℃澘鐨勪富閿� + * @return 鏁版嵁鍐呭 + */ + @GetMapping("/getDataByOid") + public R<List<Map<String,String>>> getDataByOid(String oid,String templateOid){ + return engineService.getDataByOid(oid,templateOid); + } + + /** + * 浣跨敤鍒嗙被妯℃澘涓婚敭+妯℃澘娴佺▼鍚嶇О鑾峰彇鍦ㄥ鎵归〉闈笂宸︿晶鏄剧ず鐨勫睘鎬� + * @param templateOid 鍒嗙被妯℃澘鐨勪富閿� + * @param executionId 娴佺▼鎵цid + * @param processUse 娴佺▼鐨勭敤閫� + * @return 鏍戣妭鐐规樉绀虹殑鍚嶇О + */ + @GetMapping("/getFieldByProcessTemplate") + public List<String> getFieldByProcessTemplate(String templateOid,String executionId,String processUse){ + return engineService.getFieldByProcessTemplate(templateOid,executionId,processUse); + } + + /** + * 浣跨敤鍒嗙被鐨勪富閿幏鍙栦笟鍔℃暟鎹� + * @param btmType 涓氬姟绫诲瀷 + * @param queryObject 鏌ヨ瀵硅薄 + * @return 琛ㄦ牸鐨勬樉绀哄璞″�� + */ + @GetMapping("/getTableDataByOids") + public DataGrid<Map<String,String>> getTableDataByOids(String btmType,BaseQueryObject queryObject){ + return engineService.getTableDataByExecutionId(btmType,queryObject); + } + + /** + * 浣跨敤鍒嗙被鐨勪富閿幏鍙栬〃鏍肩殑瀹氫箟 + * @param codeClassifyOid 鍒嗙被涓婚敭 + * @param phase 闃舵鐨勫悕绉� + * @return UI鐩稿叧鐨勪俊鎭紙浠呭寘鍚〃鍗�) + */ + @GetMapping("/getTableDefineByClassifyOid") + public MdmUIInfoVO getTableDefineByClassifyOid(String codeClassifyOid,String phase){ + return engineService.getTableDefineByClassifyOid_v2(codeClassifyOid,phase); + } + + /** + * 浣跨敤鍒嗙被鐨勭殑缂栧彿璺緞锛岃幏鍙栬〃鍗曠殑瀹氫箟 + * @param idPath 缂栧彿鐨勮矾寰� + * @return UI鐩稿叧鐨勪俊鎭紙浠呭寘鍚〃鍗�) + */ +// @VciUnCheckRight + @GetMapping("/getFormDefineByClassifyIdPath") + public MdmUIInfoVO getFormDefineByClassifyIdPath(String idPath){ + return engineService.getFormDefineByClassifyIdPath(idPath); + } + + /** + * 浣跨敤鍒嗙被鐨勪富閿幏鍙栬〃鍗曠殑瀹氫箟 + * @param codeClassifyOid 鍒嗙被涓婚敭 + * @return UI鐩稿叧鐨勪俊鎭紙浠呭寘鍚〃鍗�) + */ + @GetMapping("/getFormDefineByClassifyOid") + public MdmUIInfoVO getFormDefineByClassifyOid(String codeClassifyOid){ + return engineService.getFormDefineByClassifyOid(codeClassifyOid); + } + + /** + * 鏍规嵁妯℃澘鐨勪富閿幏鍙栬〃鏍肩殑瀹氫箟 + * @param templateOid 妯℃澘鐨勪富閿� + * @return ui鐩稿叧鐨勪俊鎭紙浠呭寘鍚〃鏍硷級 + */ + @GetMapping("/getTableDefineByTemplateOid") + public MdmUIInfoVO getTableDefineByTemplateOid(String templateOid){ + return engineService.getTableDefineByTemplateOid(templateOid); + } + + /** + * 浣跨敤鍒嗙被鐨勭紪鍙疯矾寰勶紝鑾峰彇琛ㄦ牸鐨勭浉鍏冲畾涔� + * @param codeClassifyIdPath 鍒嗙被鐨勭紪鍙疯矾寰勶紝蹇呴』鏄粠椤跺眰鑺傜偣寮�濮嬶紝xxx/yy/zz杩欐牱鐨勬牸寮� + * @param functionId 鍔熻兘鐨勭紪鍙� + * @return UI鐩稿叧鐨勪俊鎭紙浠呭寘鍚〃鏍�) + */ + @GetMapping("/getUIInfoByClassifyIdPath") + public MdmUIInfoVO getUIInfoByClassifyIdPath(String codeClassifyIdPath,String functionId){ + return engineService.getUIInfoByClassifyIdPath(codeClassifyIdPath,functionId); + } + + /** + * 浣跨敤鍒嗙被鑾峰彇琛ㄦ牸鐨勫畾涔� + * @param codeClassifyOid 鍒嗙被涓婚敭 + * @param functionId 鍔熻兘鐨勭紪鍙� + * @return UI鐩稿叧鐨勪俊鎭紙浠呭寘鍚〃鏍硷級 + */ + @GetMapping("/getUIInfoByClassifyOid") + 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); + } + + /** + * 鏍囧噯鐢宠鍜屼慨璁㈢敤 + * @param codeBZApplyDTO 缂栫爜鐢宠鐩稿叧鐨勪俊鎭紝闇�瑕佹湁灞炴�у拰鐮佹鐩稿叧鐨勪俊鎭� + * @return 鎵ц缁撴灉 + */ + @PostMapping("/addSaveBZ") + @VciBusinessLog(operateName = "鐢宠鍗曚釜缂栫爜") + public R addSaveBZ (@RequestBody CodeBZApplyDTO codeBZApplyDTO) throws Exception { + return R.success(engineService.addSaveBZ(codeBZApplyDTO)); + } + + /** + * 涓嬭浇鎵归噺鐢宠鐨勫鍏ユā鏉� + * @param codeClassifyOid 鍒嗙被鐨勪富閿� + * @param response 鍝嶅簲瀵硅薄 + * @throws IOException 鎶涘嚭寮傚父 + */ + @GetMapping("/exportGroupCodeExcel") + @VciBusinessLog(operateName = "瀵煎嚭闆嗗洟鐮�") + public void exportGroupCodeExcel(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); + } } } -- Gitblit v1.9.3