Source/UBCS-WEB/src/const/code/codebutton.js
@@ -237,7 +237,7 @@ // }, { label: "ç¶æ", prop: "lcstatusName", prop: "lcStatusText", slot: true, display: false }, @@ -253,7 +253,7 @@ search: true, hide: true, display: true, prop: "lcstatus", prop: "lcStatus", rules: [{ required: true, message: "ç¶æ", @@ -289,7 +289,7 @@ // }, { label: "æé®çä½ç½®", prop: "usedpositiontypeName", prop: "usedpositiontypeText", slot: true, display: false }, Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/controller/CodeClassifyTemplateButtonController.java
@@ -18,16 +18,13 @@ import com.baomidou.mybatisplus.core.metadata.IPage; import com.vci.ubcs.code.dto.CodeClassifyTemplateButtonDTO; import com.vci.ubcs.code.entity.CodeClassifyTemplateButton; import com.vci.ubcs.code.service.ICodeTempbuttonService; import com.vci.ubcs.code.service.ICodeClassifyTemplateButtonService; import com.vci.ubcs.code.vo.pagemodel.CodeClassifyTemplateButtonVO; import com.vci.ubcs.starter.web.pagemodel.BaseQueryObject; import com.vci.ubcs.starter.web.pagemodel.DataGrid; import com.vci.ubcs.starter.web.util.VciBaseUtil; import io.swagger.annotations.Api; import lombok.AllArgsConstructor; import org.springblade.core.boot.ctrl.BladeController; import org.springblade.core.mp.support.Query; import org.springblade.core.tool.api.R; import org.springframework.web.bind.annotation.*; @@ -49,7 +46,7 @@ /** * 主é¢åºé模æ¿å å«çæé® æå¡ */ private final ICodeTempbuttonService codeClassifyTemplateButtonService; private final ICodeClassifyTemplateButtonService codeClassifyTemplateButtonService; /** * 主é¢åºé模æ¿å å«çæé®å表 Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/controller/CodeClassifyTemplateController.java
@@ -95,6 +95,16 @@ } /** * ä¿®æ¹ å类模æ¿å¯¹è±¡ * @param codeClassifyTemplateDTO å类模æ¿å¯¹è±¡æ°æ®ä¼ è¾å¯¹è±¡ * @return æ§è¡ç»æï¼success为true表示æåï¼msgæ¯å¤±è´¥çæç¤ºä¿¡æ¯ï¼objæ¯æ·»å 宿åçæ¾ç¤ºå¯¹è±¡ */ @PutMapping("/editSave") public R<CodeClassifyTemplateVO> editSave(@RequestBody CodeClassifyTemplateDTO codeClassifyTemplateDTO){ return plCodeClstemplateService.editSave(codeClassifyTemplateDTO); } /** * ç¼ç åºå®ä¹-模æ¿ç®¡ç æ°å¢ */ @PostMapping("/save") @@ -209,6 +219,15 @@ public List<Tree> referTree(TreeQueryObject treeQueryObject) { return plCodeClstemplateService.referTree(treeQueryObject); } /** * å¢å å类模æ¿å¯¹è±¡ * @param codeClassifyTemplateDTO å类模æ¿å¯¹è±¡æ°æ®ä¼ è¾å¯¹è±¡ * @return æ§è¡ç»æï¼success为true表示æåï¼msgæ¯å¤±è´¥çæç¤ºä¿¡æ¯ï¼objæ¯æ·»å 宿åçæ¾ç¤ºå¯¹è±¡ */ @PostMapping( "/addSave") public R<CodeClassifyTemplateVO> addSave(@RequestBody CodeClassifyTemplateDTO codeClassifyTemplateDTO){ return plCodeClstemplateService.addSave(codeClassifyTemplateDTO); } /** * å¯ç¨ Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/controller/MdmEngineController.java
@@ -3,26 +3,25 @@ import com.alibaba.fastjson.JSONObject; import com.alibaba.nacos.common.utils.StringUtils; import com.vci.ubcs.code.dto.CodeDeleteBatchDTO; 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.ICodeRuleService; import com.vci.ubcs.code.service.MdmEngineService; import com.vci.ubcs.code.service.MdmIOService; import com.vci.ubcs.code.vo.pagemodel.CodeClassifyTemplateVO; import com.vci.ubcs.code.vo.pagemodel.CodeClassifyVO; import com.vci.ubcs.code.vo.pagemodel.CodeImProtRusultVO; import com.vci.ubcs.code.vo.pagemodel.MdmUIInfoVO; import com.vci.ubcs.code.vo.pagemodel.*; import com.vci.ubcs.starter.annotation.VciBusinessLog; 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.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.boot.ctrl.BladeController; import org.springblade.core.tool.api.R; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; @@ -36,36 +35,35 @@ import java.util.Map; @RestController @AllArgsConstructor //@AllArgsConstructor @RequestMapping("/mdmEngineController") @Api(value = "ç¼ç æ°æ®ç®¡ç", tags = "ç¼ç æ°æ®ç®¡ç") public class MdmEngineController extends BladeController { public class MdmEngineController { // /** // * æ¥å¿ // */ private Logger logger = LoggerFactory.getLogger(getClass()); /** * ä¸»æ°æ®å¼ææå¡ */ private final MdmEngineService engineService; @Autowired private MdmEngineService engineService; /** * ä¸»æ°æ®å¯¼å ¥å¯¼åºæå¡ */ @Autowired private MdmIOService mdmIOService; /** * æ ¹æ®åç±»idè·å模æ¿ä¿¡æ¯ * @param codeClassifyOid * @return * ä¸è½½æ¹éç³è¯·çå¯¼å ¥æ¨¡æ¿ * @param codeClassifyOid åç±»çä¸»é® * @param response ååºå¯¹è±¡ * @throws IOException æåºå¼å¸¸ */ @GetMapping("/getUsedTemplateByClassifyOid") public R<CodeClassifyTemplateVO> getUsedTemplateByClassifyOid(String codeClassifyOid){ CodeClassifyTemplateVO codeClassifyTemplateVO = engineService.getUsedTemplateByClassifyOid(codeClassifyOid); return R.data(codeClassifyTemplateVO); } // /** // * ä¸è½½æ¹éç³è¯·çå¯¼å ¥æ¨¡æ¿ // * @param codeClassifyOid åç±»çä¸»é® // * @param response ååºå¯¹è±¡ // * @throws IOException æåºå¼å¸¸ // */ // @GetMapping("/downloadImportExcel") // @VciBusinessLog(operateName = "ä¸è½½æ¹éç³è¯·ç¼ç çå¯¼å ¥æ¨¡æ¿") // public void downloadImportExcel(String codeClassifyOid, HttpServletResponse response) throws IOException{ @GetMapping("/downloadImportExcel") @VciBusinessLog(operateName = "ä¸è½½æ¹éç³è¯·ç¼ç çå¯¼å ¥æ¨¡æ¿") public void downloadImportExcel(String codeClassifyOid, HttpServletResponse response) throws IOException{ // String excelName = mdmIOService.createImportExcel(codeClassifyOid,false); // try { // ControllerUtil.writeFileToResponse(response,excelName); @@ -77,26 +75,26 @@ // } // ControllerUtil.writeDataToResponse(response,msg.getBytes(StandardCharsets.UTF_8),null); // } // } // // // /** // * æ¹éç³è¯·ç¼ç çä¿¡æ¯ // * @param secDTOList ç³è¯·ç¼ç çä¿¡æ¯ï¼å¿ é¡»å å«ç 段åå类主é®çä¿¡æ¯ // * @param file æä»¶çå 容 // */ // @VciBusinessLog(operateName = "æ¹éç³è¯·ç¼ç çä¿¡æ¯") // @PostMapping("/batchImportCode") // public R batchImportCode(String secDTOList, String codeClassifyOid, MultipartFile file, HttpServletResponse response) throws Throwable { // CodeOrderDTO orderDTO = new CodeOrderDTO(); // orderDTO.setCodeClassifyOid(codeClassifyOid); // if(StringUtils.isNotBlank(secDTOList)){ // List<CodeOrderSecDTO> secDTOS = JSONObject.parseArray(secDTOList, CodeOrderSecDTO.class); // orderDTO.setSecDTOList(secDTOS); // } // String excelFileName = LocalFileUtil.getDefaultTempFolder() + File.separator + LocalFileUtil.getFileNameForIE(file.getOriginalFilename()); // File file1 = new File(excelFileName); // try { } /** * æ¹éç³è¯·ç¼ç çä¿¡æ¯ * @param secDTOList ç³è¯·ç¼ç çä¿¡æ¯ï¼å¿ é¡»å å«ç 段åå类主é®çä¿¡æ¯ * @param file æä»¶çå 容 */ @VciBusinessLog(operateName = "æ¹éç³è¯·ç¼ç çä¿¡æ¯") @PostMapping("/batchImportCode") public R batchImportCode(String secDTOList, String codeClassifyOid, MultipartFile file, HttpServletResponse response) throws Throwable { CodeOrderDTO orderDTO = new CodeOrderDTO(); orderDTO.setCodeClassifyOid(codeClassifyOid); if(StringUtils.isNotBlank(secDTOList)){ List<CodeOrderSecDTO> secDTOS = JSONObject.parseArray(secDTOList, CodeOrderSecDTO.class); orderDTO.setSecDTOList(secDTOS); } 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())){ @@ -111,80 +109,364 @@ // }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 result = R.fail("å¯¼å ¥å¤±è´¥"); // result.setData(codeImProtRusultVO); //// result.setObj(codeImProtRusultVO); // return result; // }finally { // file1.delete(); // } // } // // // /** // * ä¿®æ¹ç¶æ // * @param baseModelDTO æ°æ®ä¼ è¾å¯¹è±¡ // * @return æ§è¡ç»æ // */ // @PostMapping("changeStatus") // public R changeStatus(BaseModelDTO baseModelDTO) { // engineService.changeStatus(baseModelDTO); // return R.success("æä½æåï¼"); // } // // // /** // * ç³è¯·ç¼ç ä¿å // * @param orderDTO ç¼ç ç³è¯·ç¸å ³çä¿¡æ¯ï¼éè¦æå±æ§åç æ®µç¸å ³çä¿¡æ¯ // * @return æ§è¡ç»æ // */ // @PostMapping("/addSaveCode") // @VciBusinessLog(operateName = "ç³è¯·å个ç¼ç ") // public R addSaveCode(@RequestBody CodeOrderDTO orderDTO){ // return R.success(engineService.addSaveCode(orderDTO)); // } // // // /** // * ä½¿ç¨æ¨¡æ¿ç主é®è·å表åçå®ä¹ // * @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("ä¿®æ¹æåï¼"); // } }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 result = R.fail("å¯¼å ¥å¤±è´¥"); result.setData(codeImProtRusultVO); // result.setObj(codeImProtRusultVO); return result; }finally { file1.delete(); } return null; } /** * ä¿®æ¹ç¶æ * @param baseModelDTO æ°æ®ä¼ è¾å¯¹è±¡ * @return æ§è¡ç»æ */ @PostMapping("changeStatus") public R changeStatus(BaseModelDTO baseModelDTO) { engineService.changeStatus(baseModelDTO); return R.success("æä½æåï¼"); } /** * ç³è¯·ç¼ç ä¿å * @param orderDTO ç¼ç ç³è¯·ç¸å ³çä¿¡æ¯ï¼éè¦æå±æ§åç æ®µç¸å ³çä¿¡æ¯ * @return æ§è¡ç»æ */ @PostMapping("/addSaveCode") @VciBusinessLog(operateName = "ç³è¯·å个ç¼ç ") public R addSaveCode(@RequestBody CodeOrderDTO orderDTO){ return R.success(engineService.addSaveCode(orderDTO)); } /** * ä½¿ç¨æ¨¡æ¿ç主é®è·å表åçå®ä¹ * @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 å å«ç屿§ï¼è¯·è·åobj屿§ */ @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); } /*** * ä»redisç¼åéè·åå°å¯¼å ¥æ£ç¡®çæ°æ® * @param codeClassifyOid * @param redisOid * @return */ @GetMapping("/gridValidata") public DataGrid<Map<String,String>> gridValidata(String codeClassifyOid,String redisOid){ return mdmIOService.gridDatas(codeClassifyOid,redisOid); } /*** * ä»redisç¼åéè·åå°å¯¼å ¥æ£ç¡®çæ°æ® * @param dataOid * @param redisOid * @return */ @GetMapping("/gridRowResemble") public DataGrid<Map<String,String>> gridRowResemble(String dataOid,String redisOid){ return mdmIOService.gridRowResemble(dataOid,redisOid); } /*** * ä»redisç¼åéè·åå°å¯¼å ¥å ·æç¸ä¼¼é¡¹çæ°æ® * @param codeClassifyOid * @param redisOid * @return */ @GetMapping("/gridResemble") public DataGrid<Map<String,String>> gridResemble(String codeClassifyOid,String redisOid){ return mdmIOService.gridDatas(codeClassifyOid,redisOid); } /** * æ¹éä¿åæµç¨æ§è¡é¡µé¢ä¿®æ¹çå 容 * @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 DataGrid<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; } /** * 使ç¨åç±»ç䏻鮿¥è·åç¼ç è§å * @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); } } Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/lifecycle/CodeAllCodeLC.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,141 @@ package com.vci.ubcs.code.lifecycle; import com.vci.ubcs.code.constant.FrameWorkDefaultValueConstant; import com.vci.ubcs.starter.web.enumpck.BaseEnum; public enum CodeAllCodeLC implements BaseEnum { /** * ç¼è¾ä¸ */ EDITING(FrameWorkDefaultValueConstant.FRAMEWORK_RELEASE_EDITING,"ç¼è¾ä¸"), /** * 审æ¹ä¸ */ AUDITING(FrameWorkDefaultValueConstant.FRAMEWORK_RELEASE_AUDITING,"审æ¹ä¸"), /** * å·²åå¸ */ RELEASED(FrameWorkDefaultValueConstant.FRAMEWORK_RELEASE_RELEASED,"å·²åå¸"), /** * ç å¼åæ¶ */ TASK_BACK(FrameWorkDefaultValueConstant.FRAMEWORK_RELEASE_TAKEBACK,"ç å¼åæ¶"), /** * ç 弿°æ®éæ¯ */ OBSOLETED(FrameWorkDefaultValueConstant.FRAMEWORK_RELEASE_OBSOLETED,"ç 弿°æ®éæ¯"), /** * åç¨ */ DISABLE(FrameWorkDefaultValueConstant.FRAMEWORK_DATA_DISABLED,"åç¨"); /** * æä¸¾çå¼ */ private String value; /** * æä¸¾æ¾ç¤ºææ¬ */ private String text; /** * è·åæä¸¾å¼ * * @return æä¸¾å¼ */ @Override public String getValue() { return value; } /** * 设置æä¸¾å¼ * * @param value æä¸¾å¼ */ public void setValue(String value) { this.value = value; } /** * è·åæä¸¾æ¾ç¤ºææ¬ * * @return æ¾ç¤ºææ¬ */ @Override public String getText() { return text; } /** * 设置æ¾ç¤ºææ¬ * * @param text æ¾ç¤ºææ¬ */ public void setText(String text) { this.text = text; } /** * æé 彿° * * @param value å¼ * @param text æ¾ç¤ºææ¬ */ private CodeAllCodeLC(String value, String text) { this.value = value; this.text = text; } /** * æ ¹æ®åç§°è·å对åºçæä¸¾å¼ * * @param text åç§° * @return æä¸¾å¼ */ public static String getValueByText(String text) { for (CodeAllCodeLC wenum : CodeAllCodeLC.values()) { if (wenum.getText().equalsIgnoreCase(text)) { return wenum.getValue(); } } return ""; } /** * æ ¹æ®æä¸¾å¼è·ååç§° * * @param value æä¸¾å¼ * @return åç§° */ public static String getTextByValue(String value) { for (CodeAllCodeLC wenum : CodeAllCodeLC.values()) { if (wenum.getValue().equalsIgnoreCase(value)) { return wenum.getText(); } } return ""; } /** * æ ¹æ®æä¸¾å¼è·åæä¸¾å¯¹è±¡ * * @param value æä¸¾å¼ * @return æä¸¾å¯¹è±¡ï¼ä¸å卿¶åè¿ånull */ public static CodeAllCodeLC forValue(String value) { for (CodeAllCodeLC wenum : CodeAllCodeLC.values()) { if (wenum.getValue().equalsIgnoreCase(value)) { return wenum; } } return null; } } Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/ICodeClassifyService.java
@@ -252,4 +252,11 @@ */ List<CodeClassifyVO> selectCodeClassifyDOByTree(TreeQueryObject treeQueryObject); /** * ç»è®¡åèç¹çä¸ªæ° * * @param codeClassifyOid åç±»çä¸»é® * @return ä¸ªæ° */ int countChildrenByClassifyOid(String codeClassifyOid); } Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/ICodeClassifyTemplateButtonService.java
ÎļþÃû´Ó Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/ICodeTempbuttonService.java ÐÞ¸Ä @@ -22,9 +22,7 @@ import com.vci.ubcs.code.entity.CodeClassifyTemplateButton; import com.vci.ubcs.code.vo.pagemodel.CodeClassifyTemplateButtonVO; import com.vci.ubcs.starter.exception.VciBaseException; import com.vci.ubcs.starter.web.pagemodel.DataGrid; import com.vci.ubcs.starter.web.pagemodel.PageHelper; import org.springblade.core.mp.support.Query; import org.springblade.core.tool.api.R; import java.util.Collection; @@ -37,7 +35,7 @@ * @author yuxc * @since 2023-04-20 */ public interface ICodeTempbuttonService extends IService<CodeClassifyTemplateButton> { public interface ICodeClassifyTemplateButtonService extends IService<CodeClassifyTemplateButton> { /** * æ¥è¯¢ææç主é¢åºé模æ¿å å«çæé® @@ -138,4 +136,11 @@ */ int codeTemplateDeleteTrigger(String classifyTemplateOid); /** * ä½¿ç¨æ¨¡æ¿ä¸»é®è·åæ©å±çæé® * @param templateOid 模æ¿çä¸»é® * @param hasButtonVO æ¯å¦å 嫿é®çæ¾ç¤ºä¿¡æ¯ * @return æé®çç¸å ³çä¿¡æ¯ */ List<CodeClassifyTemplateButtonVO> listButtonByTemplateOid(String templateOid,boolean hasButtonVO); } Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/ICodeClassifyValueService.java
@@ -114,5 +114,29 @@ */ R batchSave4Order(List<CodeClassifyValueDTO> dtoList, String codeclassifysecoid); } /** * 使ç¨ç 段ç主é®è·ååç±»çç å¼å 容 * @param classifySecOid ç æ®µçä¸»é® * @param parentClassifyValueOid ä¸çº§åç±»çä¸»é® * @return åç±»ç å¼çå 容 */ List<CodeClassifyValueVO> listCodeClassifyValueBySecOid(String classifySecOid, String parentClassifyValueOid); /** * æ°æ®å¯¹è±¡è½¬æ¢ä¸ºæ¾ç¤ºå¯¹è±¡ * @param codeClassifyValueDO æ°æ®å¯¹è±¡ * @return æ¾ç¤ºå¯¹è±¡ * @throws VciBaseException æ·è´å±æ§åºéçæ¶å伿åºå¼å¸¸ */ CodeClassifyValueVO codeClassifyValueDO2VO(CodeClassifyValue codeClassifyValueDO) throws VciBaseException; /** * æ¹éæ°æ®å¯¹è±¡è½¬æ¢ä¸ºæ¾ç¤ºå¯¹è±¡ * @param codeClassifyValueDOs æ°æ®å¯¹è±¡å表 * @return æ¾ç¤ºå¯¹è±¡ * @throws VciBaseException åæ°ä¸ºç©ºæè ä¸åå¨çæ¶å伿åºå¼å¸¸ */ List<CodeClassifyValueVO> codeClassifyValueDO2VOs(Collection<CodeClassifyValue> codeClassifyValueDOs) throws VciBaseException; } Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/ICodeOsattributeService.java
@@ -22,6 +22,8 @@ import org.springblade.core.mp.base.BaseService; import com.baomidou.mybatisplus.core.metadata.IPage; import java.util.Map; /** * 屿§æ¾ç¤ºå¯¹è±¡ æå¡ç±» * @@ -40,4 +42,7 @@ IPage<CodeOsattributeVO> selectCodeOsattributePage(IPage<CodeOsattributeVO> page, CodeOsattributeVO CodeOsattribute); boolean isDefaultAttr(String selectKey); Map<String, CodeOsattributeVO> getDefaultAttributeVOMap(); } Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/ICodePhaseAttrService.java
@@ -21,6 +21,8 @@ import com.vci.ubcs.code.entity.CodePhaseAttr; import com.vci.ubcs.code.vo.pagemodel.CodePhaseAttrVO; import java.util.List; /** * ç¼ç åºå®ä¹-模æ¿é¶æ®µ-屿§ æå¡ç±» * @@ -39,4 +41,11 @@ IPage<CodePhaseAttrVO> selectCodePhaseattrPage(IPage<CodePhaseAttrVO> page, CodePhaseAttrVO CodePhaseattr); /** * ä½¿ç¨æ¨¡æ¿ä¸»é®åé¶æ®µç¼å·è·åå å«ç屿§ * @param templateOid 模æ¿çç¼å· * @param phaseId é¶æ®µçç¼å· * @return 屿§çè±æåç§° */ List<String> listAttrByTemplateOidAndPhaseId(String templateOid, String phaseId); } Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/ICodeResembleRuleService.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,7 @@ package com.vci.ubcs.code.service; import com.vci.ubcs.code.vo.pagemodel.CodeResembleRuleVO; public interface ICodeResembleRuleService { CodeResembleRuleVO getObjectByOid(String codeResembleRuleOid); } Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/MdmEngineService.java
@@ -3,20 +3,29 @@ import com.baomidou.mybatisplus.extension.service.IService; import com.vci.ubcs.code.bo.CodeClassifyFullInfoBO; import com.vci.ubcs.code.bo.CodeTemplateAttrSqlBO; import com.vci.ubcs.code.dto.CodeDeleteBatchDTO; import com.vci.ubcs.code.dto.CodeOrderDTO; import com.vci.ubcs.code.dto.datapush.BaseModelDTO; import com.vci.ubcs.code.entity.CodeAllCode; import com.vci.ubcs.code.vo.pagemodel.CodeClassifyTemplateVO; import com.vci.ubcs.code.vo.pagemodel.CodeRuleVO; import com.vci.ubcs.code.entity.CodeKeyAttrRepeat; import com.vci.ubcs.code.entity.CodeWupinEntity; import com.vci.ubcs.code.vo.CodeKeyAttrRepeatVO; import com.vci.ubcs.code.vo.pagemodel.*; import com.vci.ubcs.code.vo.pagemodel.UITableFieldVO; import com.vci.ubcs.starter.web.pagemodel.*; import org.springblade.core.tool.api.R; import org.springframework.util.CollectionUtils; import java.util.List; import java.util.*; import java.util.stream.Collectors; /** * ä¸»æ°æ®å¼ææå¡ * @author weidy * @date 2022-2-21 */ public interface MdmEngineService extends IService<CodeAllCode> { public interface MdmEngineService extends IService<CodeWupinEntity> { /** * 使ç¨åç±»ç主é®è·åå¯ä»¥ä½¿ç¨ç模æ¿å¯¹è±¡ * @param codeClassifyOid åç±»çä¸»é® @@ -32,112 +41,330 @@ */ CodeClassifyTemplateVO getUsedTemplateByClassifyOid(String codeClassifyOid, boolean hasAttr); /** * è·åæä¸¾ç䏿é项 * @param attrVO 模æ¿å±æ§ç对象 * @return 䏿é项 */ List<KeyValue> listComboboxItems(CodeClassifyTemplateAttrVO attrVO); /** * ä¿®æ¹ç¶æ * @param baseModelDTO æ°æ®ä¼ è¾å¯¹è±¡ */ void changeStatus(BaseModelDTO baseModelDTO); /** * ç³è¯·åä¸ç¼ç * @param orderDTO ç³è¯·çä¿¡æ¯ï¼éè¦å å«å±æ§çå 容åç æ®µç¸å ³çå 容 * @return è¿åç¼ç çå 容 */ String addSaveCode(CodeOrderDTO orderDTO); /** * 夿ç¼ç çç æ®µæ¯å¦è¾å ¥æè éæ©äºç å¼ * @param ruleVO è§åçæ¾ç¤ºå¯¹è±¡ * @param orderDTO ç¼ç ç³è¯·çå 容 */ void checkSecValueOnOrder(CodeRuleVO ruleVO, CodeOrderDTO orderDTO); /** * å°è£ å ³é®å±æ§çæ¥è¯¢è¯å¥ * * @param value å½åçå¼ * @param keyRuleVO å ³é®å±æ§çæ§å¶è§åï¼å¯ä»¥ä¸ºç©º * @param attrId 屿§çç¼å· * @param trim æ¯å¦å»é¤ç©ºæ ¼ * @param ignoreCase æ¯å¦ä¸åºå大å°å * @param ignoreWidth æ¯å¦å¿½ç¥å ¨åè§ * @param trimAll æ¯å¦å¿½ç¥å ¨é¨ç©ºæ ¼ * @param conditionMap æ¥è¯¢æ¡ä»¶ */ void wrapperKeyAttrConditionMap(String value, CodeKeyAttrRepeatVO keyRuleVO, String attrId, boolean trim, boolean ignoreCase, boolean ignoreWidth, boolean trimAll, Map<String, String> conditionMap); /** * åå§åä¸å¡ç±»å * --å建人é»è®¤ä¸ºå½åç¨æ·ï¼å¦æéè¦ä¿®æ¹ï¼å¯ä»¥å¨è·ååèªè¡å¤ç * @param btmName ä¸å¡ç±»åçåç§°ï¼ä¼èªå¨åæå°å * @return CodeWupinEntity */ CodeWupinEntity createCBOByBtmName(String btmName); /** * ä¿åå¯è¾å¯éçä¿¡æ¯ * * @param templateVO 模æ¿ç对象 * @param cboList æ°æ®çå 容 */ void batchSaveSelectChar(CodeClassifyTemplateVO templateVO, /*List<ClientBusinessObject> cboList*/ List<String> cboList); /** * ä½¿ç¨æ¨¡æ¿ç主é®è·å表åçä¿¡æ¯ * @param templateOid 模æ¿çä¸»é® * @param codeClassifyOid ä½¿ç¨æ¨¡æ¿çåç±»çä¸»é® * @return uiç¸å ³çå 容 */ MdmUIInfoVO getFormDefineByTemplateOid(String templateOid, String codeClassifyOid); /** * 模æ¿å±æ§è½¬æ¢ä¸ºè¡¨åçåæ®µ * * @param attrVO 模æ¿å±æ§ * @param btmType ä¸å¡ç±»å * @return 表åçåæ®µ */ UIFormItemVO templateAttr2FormField(CodeClassifyTemplateAttrVO attrVO, String btmType) ; /** * 模æ¿å±æ§è½¬æ¢ä¸ºè¡¨æ ¼æ¾ç¤ºçé ç½® * * @param attrVO 模æ¿å±æ§ * @param forEdit æ¯å¦æ¯ç¼è¾æé * @return è¡¨æ ¼çåæ®µ */ UITableFieldVO templateAttr2TableField(CodeClassifyTemplateAttrVO attrVO, boolean forEdit); /** * ç¸ä¼¼é¡¹æ¥è¯¢ * @param orderDTO ç¼ç çç¸å ³ä¿¡æ¯ * @return æ°æ®å表 */ DataGrid<Map<String, String>> resembleQuery(CodeOrderDTO orderDTO); /** * ä¿®æ¹ä¸»é¢åºæ°æ® * @param orderDTO æ°æ®çå 容ï¼ä¸ç¨å å«ç 段çå å®¹äº */ void editSaveCode(CodeOrderDTO orderDTO); /** * å°è£ ç¸ä¼¼é¡¹æ¥è¯¢çæ¥è¯¢æ¡ä»¶çæ å° * * @param value å¼ * @param resembleRuleVO ç¸ä¼¼é¡¹è§å * @param attrId 屿§çç¼å· * @param conditionMap æ¥è¯¢æ¡ä»¶ */ void wrapperResembleConditionMap(String value, CodeResembleRuleVO resembleRuleVO, String attrId, Map<String, String> conditionMap); /** * è·å使ç¨çç¸ä¼¼æ¥è¯¢è§å * * @param fullInfoBO ç±»å ¨é¨ä¿¡æ¯ * @param currentClassifyVO å½åçåç±» * @return è§åï¼å¦æä¸åå¨ä¼è¿åNull */ CodeResembleRuleVO getUseResembleRule(CodeClassifyFullInfoBO fullInfoBO, CodeClassifyVO currentClassifyVO); /** * æ¥è¯¢ç¼ç æ°æ®çå表 * * @param btmType ä¸å¡ç±»å * @param templateVO 模æ¿ç对象ï¼éè¦å 嫿¨¡æ¿ç屿§ * @param conditionMap æ¥è¯¢æ¡ä»¶ * @param pageHelper å页对象 * @return æ°æ®å表 */ DataGrid<Map<String, String>> queryGrid(String btmType, CodeClassifyTemplateVO templateVO, Map<String, String> conditionMap, PageHelper pageHelper); /** * å°è£ æ¥è¯¢åºæ¥çæ°æ® * * @param dataMap æ°æ®çæ å° * @param templateVO 模æ¿ç屿§ * @param onlySelectAttrIdList ä» ä» æ¥è¯¢ç屿§å段 * @param form 表åéä½¿ç¨ */ void wrapperData(List<Map<String, String>> dataMap, CodeClassifyTemplateVO templateVO, Collection<String> onlySelectAttrIdList, boolean form); /** * æ ¹æ®æ¨¡æ¿å±æ§çæç¸åºçsqlä¿¡æ¯ * * @param btmType ä¸å¡ç±»å * @param templateVO æ¨¡æ¿æ¾ç¤ºå¯¹è±¡ï¼å¿ é¡»å å«å±æ§ * @param conditionMap æ¥è¯¢æ¡ä»¶ * @param pageHelper å页åæåºå¯¹è±¡ * @return sqlçç¸å ³ä¿¡æ¯ */ CodeTemplateAttrSqlBO getSqlByTemplateVO(String btmType, CodeClassifyTemplateVO templateVO, Map<String, String> conditionMap, PageHelper pageHelper); void deleteCode(CodeDeleteBatchDTO deleteBatchDTO); /** * 使ç¨åç±»åé¶æ®µçç¼å·ï¼è·åå å«ç屿§ * @param codeClassifyOid åç±»çä¸»é® * @param phase é¶æ®µçåç§° * @return 屿§çè±æåç§° */ List<String> listPhaseAttrByClassifyOid(String codeClassifyOid, String phase); /** * è·¯å¾ä¸å å«å½ååç±»çææåç±»ä¿¡æ¯ * @param codeClassifyOid åç±»çä¸»é® * @return åç±»æ */ List<Tree> hasSelfClassifyTree(String codeClassifyOid); /** * 使ç¨åç±»è·å对åºçæ°æ® * @param codeClassifyOid åç±»çä¸»é® * @param templateOid 模æ¿çä¸»é® * @param conditionMap æ¥è¯¢æ¡ä»¶ * @param pageHelper å页ç对象 * @return æ°æ®ï¼å å«ä¸çº§åç±»ï¼ */ DataGrid<Map<String, String>> gridTableDataByClassifyOid(String codeClassifyOid, String templateOid, Map<String, String> conditionMap, PageHelper pageHelper); /** * æ¹éä¿åæµç¨æ§è¡é¡µé¢ä¿®æ¹çå 容 * @param orderDTOList ç¼ç ç¸å ³çä¿¡æ¯ï¼ä¸éè¦ç 段çä¿¡æ¯ * @return æ§è¡ç»æ */ R batchUpdateCode(List<CodeOrderDTO> orderDTOList); /** * æ è®°æµç¨ä¸ä¸å¡æ°æ®æ¯å¦éè¿ * @param oid ä¸å¡æ°æ®ä¸»é® * @param btmName ä¸å¡ç±»å * @param pass æ¯å¦éè¿ * @return æ§è¡ç»æ */ R markDataPassing(String oid, String btmName, Boolean pass); /** * é¢è§ç»åè§å * @param orderDTO ç³è¯·ç¼ç çä¿¡æ¯ * @return keyæ¯ç»åè§åç屿§ãvalueæ¯ç»ååçå¼ï¼ãå¦æç¼ºå°æä¸ªå±æ§çå¼ï¼ä¼ä½ä¸ºvalueè¿å */ Map<String,String> previewCompRule(CodeOrderDTO orderDTO); /** * åç±»æ³¨å ¥çå 容é¢è§ * @param codeClassifyOid åç±»çä¸»é® * @param templateOid 模æ¿çä¸»é® * @return keyæ¯åç±»æ³¨å ¥ç屿§ï¼valueæ¯æ³¨å ¥åçå¼ */ Map<String, String> previewClassify(String codeClassifyOid, String templateOid); /** * åçç主é¢åºæ°æ® * @param orderDTO æ°æ®çå 容ï¼ä¸éè¦å å«ç 段çå 容 */ void upSaveCode(CodeOrderDTO orderDTO); /** * 使ç¨ç 段ç主é®è·ååç±»çç å¼å 容 * @param classifySecOid ç æ®µçä¸»é® * @param parentClassifyValueOid ä¸çº§åç±»çä¸»é® * @return åç±»ç å¼çå 容 */ List<CodeClassifyValueVO> listCodeClassifyValueBySecOid(String classifySecOid, String parentClassifyValueOid); /** * 使ç¨ä¸»é¢åºåç±»è·åç¼ç è§å * @param codeClassifyOid åç±»çä¸»é® * @return ç¼ç è§åçå 容 */ CodeRuleVO getCodeRuleByClassifyOid(String codeClassifyOid); /** * 使ç¨åç±»çå ¨é¨ä¿¡æ¯è·åç¼ç è§å * * @param fullInfoBO åç±»çå ¨é¨ä¿¡æ¯ * @return è§åçå 容 */ CodeRuleVO getCodeRuleByClassifyFullInfo(CodeClassifyFullInfoBO fullInfoBO); //// //// /** //// * è·åæä¸¾ç䏿é项 //// * @param attrVO 模æ¿å±æ§ç对象 //// * @return 䏿é项 //// */ //// List<KeyValue> listComboboxItems(CodeClassifyTemplateAttrVO attrVO); //// //// /** //// * ä¿®æ¹ç¶æ //// * @param baseModelDTO æ°æ®ä¼ è¾å¯¹è±¡ //// */ //// void changeStatus(BaseModelDTO baseModelDTO); //// //// /** //// * ç³è¯·åä¸ç¼ç //// * @param orderDTO ç³è¯·çä¿¡æ¯ï¼éè¦å å«å±æ§çå 容åç æ®µç¸å ³çå 容 //// * @return è¿åç¼ç çå 容 //// */ //// String addSaveCode(CodeOrderDTO orderDTO); //// //// /** //// * 夿ç¼ç çç æ®µæ¯å¦è¾å ¥æè éæ©äºç å¼ //// * @param ruleVO è§åçæ¾ç¤ºå¯¹è±¡ //// * @param orderDTO ç¼ç ç³è¯·çå 容 //// */ //// void checkSecValueOnOrder(CodeRuleVO ruleVO, CodeOrderDTO orderDTO); //// //// /** //// * å°è£ å ³é®å±æ§çæ¥è¯¢è¯å¥ //// * //// * @param value å½åçå¼ //// * @param keyRuleVO å ³é®å±æ§çæ§å¶è§åï¼å¯ä»¥ä¸ºç©º //// * @param attrId 屿§çç¼å· //// * @param trim æ¯å¦å»é¤ç©ºæ ¼ //// * @param ignoreCase æ¯å¦ä¸åºå大å°å //// * @param ignoreWidth æ¯å¦å¿½ç¥å ¨åè§ //// * @param trimAll æ¯å¦å¿½ç¥å ¨é¨ç©ºæ ¼ //// * @param conditionMap æ¥è¯¢æ¡ä»¶ //// */ //// void wrapperKeyAttrConditionMap(String value, CodeKeyattrrepeatVO keyRuleVO, String attrId, //// boolean trim, boolean ignoreCase, boolean ignoreWidth, //// boolean trimAll, Map<String, String> conditionMap); //// /** //// * åå§åä¸å¡ç±»å //// * --å建人é»è®¤ä¸ºå½åç¨æ·ï¼å¦æéè¦ä¿®æ¹ï¼å¯ä»¥å¨è·ååèªè¡å¤ç //// * @param btmName ä¸å¡ç±»åçåç§°ï¼ä¼èªå¨åæå°å //// * @return CodeWupinEntity //// * @throws VciBaseException åå§ååºéçæ¯ä¼æåºå¼å¸¸ //// */ //// CodeWupinEntity createCBOByBtmName(String btmName); //// //// /** //// * ä¿åå¯è¾å¯éçä¿¡æ¯ //// * //// * @param templateVO 模æ¿ç对象 //// * @param cboList æ°æ®çå 容 //// */ //// void batchSaveSelectChar(CodeClstemplateVO templateVO, /*List<ClientBusinessObject> cboList*/ //// List<String> cboList); //// //// /** //// * ä½¿ç¨æ¨¡æ¿ç主é®è·å表åçä¿¡æ¯ //// * @param templateOid 模æ¿çä¸»é® //// * @param codeClassifyOid ä½¿ç¨æ¨¡æ¿çåç±»çä¸»é® //// * @return uiç¸å ³çå 容 //// */ //// MdmUIInfoVO getFormDefineByTemplateOid(String templateOid, String codeClassifyOid); //// //// /** //// * 模æ¿å±æ§è½¬æ¢ä¸ºè¡¨åçåæ®µ //// * //// * @param attrVO 模æ¿å±æ§ //// * @param btmType ä¸å¡ç±»å //// * @return 表åçåæ®µ //// */ //// UIFormItemVO templateAttr2FormField(CodeClstempattrVO attrVO, String btmType) ; //// //// /** //// * 模æ¿å±æ§è½¬æ¢ä¸ºè¡¨æ ¼æ¾ç¤ºçé ç½® //// * //// * @param attrVO 模æ¿å±æ§ //// * @param forEdit æ¯å¦æ¯ç¼è¾æé //// * @return è¡¨æ ¼çåæ®µ //// */ //// UITableFieldVO templateAttr2TableField(CodeClstempattrVO attrVO, boolean forEdit); //// //// /** //// * ç¸ä¼¼é¡¹æ¥è¯¢ //// * @param orderDTO ç¼ç çç¸å ³ä¿¡æ¯ //// * @return æ°æ®å表 //// */ //// DataGrid<Map<String, String>> resembleQuery(CodeOrderDTO orderDTO); //// //// /** //// * ä¿®æ¹ä¸»é¢åºæ°æ® //// * @param orderDTO æ°æ®çå 容ï¼ä¸ç¨å å«ç 段çå å®¹äº //// */ //// void editSaveCode(CodeOrderDTO orderDTO); /** * ä½¿ç¨æ°æ®ä¸»é®è·åæ°æ®çå ¨é¨ä¿¡æ¯ * @param oid ä¸»é® * @param templateOid 模æ¿çä¸»é® * @return æ°æ®çå 容 */ R<List<Map<String, String>>> getDataByOid(String oid, String templateOid); /** * 使ç¨å类模æ¿ä¸»é®+æ¨¡æ¿æµç¨åç§°è·åå¨å®¡æ¹é¡µé¢ä¸å·¦ä¾§æ¾ç¤ºç屿§ * @param templateOid å类模æ¿çä¸»é® * @param executionId æµç¨æ§è¡id * @param processUse æµç¨çç¨é * @return æ èç¹æ¾ç¤ºçåç§° */ List<String> getFieldByProcessTemplate(String templateOid, String executionId, String processUse); /** * 使ç¨åç±»ç主é®è·åä¸å¡æ°æ® * @param btmType ä¸å¡ç±»å * @param queryObject æ¥è¯¢å¯¹è±¡ * @return è¡¨æ ¼çæ¾ç¤ºå¯¹è±¡å¼ */ DataGrid<Map<String, String>> getTableDataByExecutionId(String btmType, BaseQueryObject queryObject); /** * 使ç¨åç±»ç主é®è·åè¡¨æ ¼çå®ä¹ * @param codeClassifyOid åç±»ä¸»é® * @param phase é¶æ®µçåç§° * @return UIç¸å ³çä¿¡æ¯ï¼ä» å å«è¡¨å) */ MdmUIInfoVO getTableDefineByClassifyOid_v2(String codeClassifyOid, String phase); /** * 使ç¨åç±»çç¼å·è·¯å¾ï¼è·å表åçç¸å ³å®ä¹ * @param idPath ç¼å·çè·¯å¾ï¼å¿ é¡»ä»é¡¶å±èç¹å¼å§ï¼xx/yyy/zz * @return UIç¸å ³çä¿¡æ¯ï¼ä» å å«è¡¨å) */ MdmUIInfoVO getFormDefineByClassifyIdPath(String idPath); /** * 使ç¨ä¸»é¢åºåç±»ç主é®è·å表åçä¿¡æ¯ * * @param codeClassifyOid åç±»çä¸»é® * @return uiç¸å ³çå 容 */ MdmUIInfoVO getFormDefineByClassifyOid(String codeClassifyOid); /** * ä½¿ç¨æ¨¡æ¿ä¸»é®è·åuiç¸å ³çå 容 * @param templateOid 模æ¿çä¸»é® * @return uiç¸å ³çå 容 */ MdmUIInfoVO getTableDefineByTemplateOid(String templateOid); /** * 使ç¨åç±»çç¼å·è·¯å¾ï¼è·åè¡¨æ ¼çç¸å ³å®ä¹ * @param codeClassifyIdPath åç±»çç¼å·è·¯å¾ï¼å¿ é¡»æ¯ä»é¡¶å±èç¹å¼å§ï¼xxx/yy/zzè¿æ ·çæ ¼å¼ * @param functionId åè½çç¼å· * @return UIç¸å ³çä¿¡æ¯ï¼ä» å å«è¡¨æ ¼) */ MdmUIInfoVO getUIInfoByClassifyIdPath(String codeClassifyIdPath, String functionId); /** * ä½¿ç¨æ¨¡æ¿ä¸»é®è·åå·¥å ·æ ä¸çæé®ä¿¡æ¯ * * @param templateOid 模æ¿çä¸»é® * @return æé®çä¿¡æ¯ï¼ä¼æç §æåºå·è¿è¡æåº */ List<CodeButtonVO> listButtonInToolbarByTemplateOid(String templateOid); /** * 使ç¨å类主é®è·åå·¥å ·æ ä¸çæé®ä¿¡æ¯ * * @param codeClassifyOid åç±»çä¸»é® * @return æé®çä¿¡æ¯ï¼ä¼æç §æåºå·è¿è¡æåº */ List<CodeButtonVO> listButtonInToolbarByClassifyOid(String codeClassifyOid); /** * 使ç¨å类主é®è·å页é¢çå 容ï¼å å«æé® * * @param codeClassifyOid 主é¢åºåç±»ä¸»é® * @param functionId åè½çç¼å· * @return UIç¸å ³çå 容 */ MdmUIInfoVO getUIInfoByClassifyOid(String codeClassifyOid, String functionId); } Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/MdmIOService.java
@@ -3,16 +3,52 @@ import com.vci.ubcs.code.dto.CodeOrderDTO; import com.vci.ubcs.code.vo.pagemodel.CodeClassifyVO; import com.vci.ubcs.code.vo.pagemodel.CodeImProtRusultVO; import com.vci.ubcs.code.vo.pagemodel.CodeImportTemplateVO; import com.vci.ubcs.code.vo.webserviceModel.attrmap.DataObjectVO; import com.vci.ubcs.code.vo.webserviceModel.result.xml.XMLResultDataObjectDetailDO; import com.vci.ubcs.starter.web.pagemodel.DataGrid; import java.io.File; import java.util.LinkedList; import java.util.List; import java.util.Map; public interface MdmIOService { List<CodeImportTemplateVO> gridclassifys(String redisOid); /** * çæå¯¼å ¥çæä»¶ * @param codeClassifyOid åç±»çä¸»é® * @param isHistory æ¯å¦å岿°æ®å¯¼å ¥ * @return excelçæä»¶å°å */ String createImportExcel(String codeClassifyOid,boolean isHistory); /** * æ¹éç³è¯·ç¼ç æ°æ® * @param orderDTO ç¼ç ç³è¯·ä¿¡æ¯ï¼å¿ é¡»å å«å类主é®åç æ®µçä¿¡æ¯ * @param file excelæä»¶çä¿¡æ¯ * @return æé误信æ¯çexcel */ CodeImProtRusultVO batchImportCode(CodeOrderDTO orderDTO, File file); /*** * ä»redisç¼åéè·åå°å¯¼å ¥çæ°æ® * @param codeClassifyOid * @param redisOid * @return */ DataGrid<Map<String, String>> gridDatas(String codeClassifyOid, String redisOid); /*** * ä»redisç¼åéè·åå°å¯¼å ¥çæ°æ® * @param dataOid * @param redisOid * @return */ DataGrid<Map<String, String>> gridRowResemble(String dataOid, String redisOid); void batchSyncEditDatas(CodeClassifyVO codeClassifyVO, DataObjectVO dataObjectVO, LinkedList<XMLResultDataObjectDetailDO> resultDataObjectDetailDOs); /** * éææ¹éç³è¯·æ°æ® @@ -22,35 +58,4 @@ * @return æé误信æ¯çexcel */ void batchSyncApplyCode(CodeOrderDTO orderDTO, DataObjectVO dataObjectVO, LinkedList<XMLResultDataObjectDetailDO> resultDataObjectDetailDOs); /** * éææ¹éæ´æ¹æ°æ® * @param codeClassifyVO; * @param dataObjectVO æ°æ®ä¿¡æ¯ * @param resultDataObjectDetailDOs éè¯¯ä¿¡æ¯ * @return æé误信æ¯çexcel */ void batchSyncEditDatas(CodeClassifyVO codeClassifyVO, DataObjectVO dataObjectVO, LinkedList<XMLResultDataObjectDetailDO> resultDataObjectDetailDOs); // // /** // * çæå¯¼å ¥çæä»¶ // * @param codeClassifyOid åç±»çä¸»é® // * @param isHistory æ¯å¦å岿°æ®å¯¼å ¥ // * @return excelçæä»¶å°å // */ // String createImportExcel(String codeClassifyOid,boolean isHistory); // // /** // * æ¹éç³è¯·ç¼ç æ°æ® // * @param orderDTO ç¼ç ç³è¯·ä¿¡æ¯ï¼å¿ é¡»å å«å类主é®åç æ®µçä¿¡æ¯ // * @param file excelæä»¶çä¿¡æ¯ // * @return æé误信æ¯çexcel // */ // CodeImProtRusultVO batchImportCode(CodeOrderDTO orderDTO, File file); } Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/MdmProductCodeService.java
@@ -6,6 +6,7 @@ import com.vci.ubcs.code.vo.pagemodel.CodeClassifyTemplateVO; import com.vci.ubcs.code.vo.pagemodel.CodeRuleVO; import java.util.Collection; import java.util.List; public interface MdmProductCodeService { @@ -20,4 +21,11 @@ List<String> productCodeAndSaveData(CodeClassifyFullInfoBO classifyFullInfoBO, CodeClassifyTemplateVO templateVO, CodeRuleVO ruleVO, List<CodeOrderSecDTO> secDTOList, List<CodeWupinEntity> dataCBOList); /** * åæ¶ç å¼ * @param btmId ä¸å¡æ°æ®çä¸å¡ç±»å * @param businessOidCollection ä¸å¡æ°æ®çä¸»é® * @return æ¯å¦æ´æ°æå */ Boolean recycleCode(String btmId, Collection<String> businessOidCollection); } Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeClassifyServiceImpl.java
@@ -2,6 +2,7 @@ import com.alibaba.nacos.common.utils.StringUtils; import com.baomidou.mybatisplus.core.conditions.Wrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.baomidou.mybatisplus.extension.toolkit.SqlHelper; @@ -43,8 +44,7 @@ import org.apache.poi.hssf.util.HSSFColor; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springblade.core.cache.utils.CacheUtil; import org.springblade.core.log.exception.ServiceException; import org.springblade.core.cache.utils.CacheUtil;import com.vci.ubcs.core.log.exception.ServiceException; import org.springblade.core.mp.support.Condition; import org.springblade.core.secure.utils.AuthUtil; import org.springblade.core.tool.api.R; @@ -1102,4 +1102,20 @@ } return fullInfo; } /** * ç»è®¡åèç¹çä¸ªæ° * * @param codeClassifyOid åç±»çä¸»é® * @return ä¸ªæ° */ @Override public int countChildrenByClassifyOid(String codeClassifyOid) { // Map<String,String> conditionMap = new HashMap<>(); // conditionMap.put("parentCodeClassifyOid",codeClassifyOid); QueryWrapper<CodeClassify> wrapper = new QueryWrapper<>(); wrapper.eq("parentCodeClassifyOid",codeClassifyOid); return codeClassifyMapper.selectCount(wrapper).intValue(); } } Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeClassifyTemplateAttrServiceImpl.java
@@ -22,6 +22,7 @@ import com.vci.ubcs.code.wrapper.CodeClassifyTemplateAttrWrapper; import com.vci.ubcs.starter.exception.VciBaseException; import com.vci.ubcs.starter.revision.service.RevisionModelUtil; import com.vci.ubcs.starter.util.DefaultAttrAssimtUtil; import com.vci.ubcs.starter.util.PatternUtil; import com.vci.ubcs.starter.web.enumpck.VciFieldTypeEnum; import com.vci.ubcs.starter.web.pagemodel.*; @@ -328,6 +329,7 @@ //å°DTO转æ¢ä¸ºDO CodeClassifyTemplateAttr codeClassifyTemplateAttrDO = new CodeClassifyTemplateAttr(); BeanUtilForVCI.copyPropertiesIgnoreCase(codeClassifyTemplateAttrDTO,codeClassifyTemplateAttrDO); DefaultAttrAssimtUtil.addDefaultAttrAssimt(codeClassifyTemplateAttrDO,"codeclstempattr"); baseMapper.insert(codeClassifyTemplateAttrDO); return codeClassifyTemplateAttrDO2VO(codeClassifyTemplateAttrDO); } Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeClassifyTemplateButtonServiceImpl.java
ÎļþÃû´Ó Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeTempbuttonServiceImpl.java ÐÞ¸Ä @@ -17,6 +17,7 @@ package com.vci.ubcs.code.service.impl; import com.alibaba.nacos.common.utils.StringUtils; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; @@ -28,7 +29,7 @@ import com.vci.ubcs.code.enumpack.CodeButtonUseEnum; import com.vci.ubcs.code.mapper.CodeClassifyTemplateButtonMapper; import com.vci.ubcs.code.service.ICodeButtonService; import com.vci.ubcs.code.service.ICodeTempbuttonService; import com.vci.ubcs.code.service.ICodeClassifyTemplateButtonService; import com.vci.ubcs.code.vo.pagemodel.CodeButtonVO; import com.vci.ubcs.code.vo.pagemodel.CodeClassifyTemplateButtonVO; import com.vci.ubcs.code.wrapper.CodeTempbuttonWrapper; @@ -61,7 +62,7 @@ * @since 2023-04-20 */ @Service public class CodeTempbuttonServiceImpl extends ServiceImpl<CodeClassifyTemplateButtonMapper, CodeClassifyTemplateButton> implements ICodeTempbuttonService { public class CodeClassifyTemplateButtonServiceImpl extends ServiceImpl<CodeClassifyTemplateButtonMapper, CodeClassifyTemplateButton> implements ICodeClassifyTemplateButtonService { /** * æ°æ®æä½å± @@ -400,4 +401,27 @@ return updateCount; } /** * ä½¿ç¨æ¨¡æ¿ä¸»é®è·åæ©å±çæé® * * @param templateOid 模æ¿çä¸»é® * @param hasButtonVO æ¯å¦å 嫿é®çæ¾ç¤ºä¿¡æ¯ * @return æé®çç¸å ³çä¿¡æ¯ */ @Override public List<CodeClassifyTemplateButtonVO> listButtonByTemplateOid(String templateOid, boolean hasButtonVO) { if(StringUtils.isBlank(templateOid)){ return new ArrayList<>(); } Map<String,String> conditionMap = new HashMap<>(); conditionMap.put("classifyTemplateOid",templateOid); PageHelper pageHelper = new PageHelper(-1); pageHelper.addDefaultAsc("orderNum"); QueryWrapper<CodeClassifyTemplateButton> wrapper = new QueryWrapper<>(); wrapper.eq("classifyTemplateOid",templateOid); wrapper.orderByAsc("orderNum"); List<CodeClassifyTemplateButton> templateButtonDOS = codeClassifyTemplateButtonMapper.selectList(wrapper); return codeClassifyTemplateButtonDO2VOs(templateButtonDOS,hasButtonVO); } } Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeClassifyValueServiceImpl.java
@@ -1,6 +1,7 @@ package com.vci.ubcs.code.service.impl; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.toolkit.StringUtils; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; @@ -24,6 +25,7 @@ import com.vci.ubcs.starter.web.util.VciBaseUtil; import org.springblade.core.secure.utils.AuthUtil; import org.springblade.core.tool.api.R; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.context.annotation.Lazy; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; @@ -349,4 +351,78 @@ return codeClassifyValueMapper.selectList(wrapper); } /** * 使ç¨ç 段ç主é®è·ååç±»çç å¼å 容 * * @param classifySecOid ç æ®µçä¸»é® * @param parentClassifyValueOid ä¸çº§åç±»çä¸»é® * @return åç±»ç å¼çå 容 */ @Override public List<CodeClassifyValueVO> listCodeClassifyValueBySecOid(String classifySecOid, String parentClassifyValueOid) { if(StringUtils.isBlank(classifySecOid)){ return new ArrayList<>(); } CodeBasicSec secDO = codeBasicSecService.getById(classifySecOid); if(secDO == null || StringUtils.isBlank(secDO.getOid())){ throw new VciBaseException("ç æ®µçå 容å¨ç³»ç»ä¸ä¸åå¨"); } if(StringUtils.isNotBlank(secDO.getParentClassifySecOid()) && StringUtils.isBlank(parentClassifyValueOid)){ return new ArrayList<>(); //å 为æä¸çº§åç±»çæ¶åï¼å¿ é¡»å éæ©ä¸çº§åç±»çå 容 } // Map<String,String> conditionMap = new HashMap<>(); // conditionMap.put("codeClassifySecOid",classifySecOid); // if(StringUtils.isNotBlank(parentClassifyValueOid)){ // conditionMap.put("parentClassifyValueOid",parentClassifyValueOid); // } // PageHelper pageHelper = new PageHelper(-1); // pageHelper.addDefaultAsc("ordernum"); QueryWrapper<CodeClassifyValue> wrapper = new QueryWrapper<>(); wrapper.eq("codeClassifySecOid",classifySecOid); if(StringUtils.isNotBlank(parentClassifyValueOid)){ wrapper.eq("parentClassifyValueOid",parentClassifyValueOid); } wrapper.orderByAsc("ordernum"); List<CodeClassifyValue> valueDOList = codeClassifyValueMapper.selectList(wrapper); return codeClassifyValueDO2VOs(valueDOList); } /** * æ¹éæ°æ®å¯¹è±¡è½¬æ¢ä¸ºæ¾ç¤ºå¯¹è±¡ * @param codeClassifyValueDOs æ°æ®å¯¹è±¡å表 * @return æ¾ç¤ºå¯¹è±¡ * @throws VciBaseException åæ°ä¸ºç©ºæè ä¸åå¨çæ¶å伿åºå¼å¸¸ */ @Override public List<CodeClassifyValueVO> codeClassifyValueDO2VOs(Collection<CodeClassifyValue> codeClassifyValueDOs) throws VciBaseException{ List<CodeClassifyValueVO> voList = new ArrayList<CodeClassifyValueVO>(); if(!CollectionUtils.isEmpty(codeClassifyValueDOs)){ for(CodeClassifyValue s: codeClassifyValueDOs){ CodeClassifyValueVO vo = codeClassifyValueDO2VO(s); if(vo != null){ voList.add(vo); } } } return voList; } /** * æ°æ®å¯¹è±¡è½¬æ¢ä¸ºæ¾ç¤ºå¯¹è±¡ * @param codeClassifyValueDO æ°æ®å¯¹è±¡ * @return æ¾ç¤ºå¯¹è±¡ * @throws VciBaseException æ·è´å±æ§åºéçæ¶å伿åºå¼å¸¸ */ @Override public CodeClassifyValueVO codeClassifyValueDO2VO(CodeClassifyValue codeClassifyValueDO) throws VciBaseException{ CodeClassifyValueVO vo = new CodeClassifyValueVO(); if(codeClassifyValueDO != null){ BeanUtilForVCI.copyPropertiesIgnoreCase(codeClassifyValueDO,vo); //妿ælcstatusçç±»çè¯ } return vo; } } Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeClstemplateServiceImpl.java
@@ -45,7 +45,6 @@ import org.springblade.core.mp.support.Query; import org.springblade.core.secure.utils.AuthUtil; import org.springblade.core.tool.api.R; import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.cglib.beans.BeanMap; import org.springframework.context.annotation.Lazy; @@ -87,7 +86,7 @@ @Autowired(required = false) private CodeTempphaseServiceImpl codeTempphaseServiceImpl; @Autowired(required = false) private CodeTempbuttonServiceImpl codeTempbuttonServiceImpl; private CodeClassifyTemplateButtonServiceImpl codeTempbuttonServiceImpl; @Autowired(required = false) private ICodeClassifyProcessTempService codeClsflowtempServiceImpl; // @Autowired(required = false) @@ -875,9 +874,11 @@ CodeClassifyTemplate codeClstemplateQuery = new CodeClassifyTemplate(); // BeanUtil.toBean(map,codeClstempattrVO); // BeanUtil BeanMap beanMap = BeanMap.create(codeClstemplateQuery); CodeClassifyTemplateDTO codeClassifyTemplateDTO = new CodeClassifyTemplateDTO(); BeanMap beanMap = BeanMap.create(codeClassifyTemplateDTO); beanMap.putAll(conditionMap); // BeanUtils.copyProperties(codeClstemplateVO,codeClstemplateQuery); BeanUtilForVCI.copyPropertiesIgnoreCase(codeClassifyTemplateDTO,codeClstemplateQuery); if (pageHelper == null) { pageHelper = new PageHelper(-1); } Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeOsattributeServiceImpl.java
@@ -20,6 +20,16 @@ } @Override public boolean isDefaultAttr(String selectKey) { return false; } @Override public Map<String, CodeOsattributeVO> getDefaultAttributeVOMap() { return null; } @Override public boolean saveBatch(Collection<CodeOsattributeEntity> entityList, int batchSize) { return false; } Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodePhaseAttrServiceImpl.java
@@ -16,13 +16,21 @@ */ package com.vci.ubcs.code.service.impl; import com.alibaba.nacos.common.utils.StringUtils; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.vci.ubcs.code.constant.MdmBtmTypeConstant; import com.vci.ubcs.code.entity.CodePhaseAttr; import com.vci.ubcs.code.mapper.CodePhaseAttrMapper; import com.vci.ubcs.code.service.ICodePhaseAttrService; import com.vci.ubcs.code.vo.pagemodel.CodePhaseAttrVO; import com.vci.ubcs.starter.web.util.VciBaseUtil; import org.springframework.stereotype.Service; import org.springframework.util.CollectionUtils; import java.util.*; import java.util.stream.Collectors; /** * ç¼ç åºå®ä¹-模æ¿é¶æ®µ-屿§ æå¡å®ç°ç±» @@ -38,5 +46,26 @@ return page.setRecords(baseMapper.selectCodePhaseattrPage(page, codePhaseAttr)); } /** * ä½¿ç¨æ¨¡æ¿ä¸»é®åé¶æ®µç¼å·è·åå å«ç屿§ * * @param templateOid 模æ¿çç¼å· * @param phaseId é¶æ®µçç¼å· * @return 屿§çè±æåç§° */ @Override public List<String> listAttrByTemplateOidAndPhaseId(String templateOid, String phaseId) { if(StringUtils.isBlank(templateOid)|| StringUtils.isBlank(phaseId)){ return new ArrayList<>(); } QueryWrapper<CodePhaseAttr> wrapper = new QueryWrapper(); wrapper.inSql("codephaseoid","select oid from pl_code_tempphase where codeClassifyTemplateOid ='" + templateOid + "' and lower(name) ='" + phaseId.trim().toLowerCase(Locale.ROOT) + "'"); // Map<String,String> conditionMap = new HashMap<>(); // conditionMap.put("codephaseoid", QueryOptionConstant.IN + "(select oid from pl_code_tempphase where codeClassifyTemplateOid ='" + templateOid + "' and lower(name) ='" + phaseId.trim().toLowerCase(Locale.ROOT) + "')"); // PageHelper pageHelper = new PageHelper(-1); List<CodePhaseAttr> attrDOS = baseMapper.selectList(wrapper); return CollectionUtils.isEmpty(attrDOS)?new ArrayList<>():attrDOS.stream().map(CodePhaseAttr::getId).collect(Collectors.toList()); } } Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeResembleRuleServiceImpl.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,18 @@ package com.vci.ubcs.code.service.impl; import com.vci.ubcs.code.service.ICodeResembleRuleService; import com.vci.ubcs.code.vo.pagemodel.CodeResembleRuleVO; import org.springframework.stereotype.Service; /** * ç¸ä¼¼æ¥è¯¢è§åæå¡ * @author weidy * @date 2022-04-10 */ @Service public class CodeResembleRuleServiceImpl implements ICodeResembleRuleService { @Override public CodeResembleRuleVO getObjectByOid(String codeResembleRuleOid) { return null; } } Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/MdmEngineServiceImpl.java
ÎļþÌ«´ó Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/MdmIOServiceImpl.java
@@ -1,49 +1,502 @@ package com.vci.ubcs.code.service.impl; import com.alibaba.cloud.commons.lang.StringUtils; import com.alibaba.nacos.common.utils.StringUtils; import com.vci.ubcs.code.bo.CodeClassifyFullInfoBO; import com.vci.ubcs.code.dto.CodeOrderDTO; import com.vci.ubcs.code.service.ICodeClassifyService; import com.vci.ubcs.code.service.MdmEngineService; import com.vci.ubcs.code.service.MdmIOService; import com.vci.ubcs.code.vo.pagemodel.CodeClassifyTemplateAttrVO; import com.vci.ubcs.code.vo.pagemodel.CodeClassifyTemplateVO; import com.vci.ubcs.code.vo.pagemodel.CodeClassifyVO; import com.vci.ubcs.code.vo.pagemodel.CodeRuleVO; import com.vci.ubcs.code.vo.pagemodel.*; import com.vci.ubcs.code.vo.webserviceModel.attrmap.DataObjectVO; import com.vci.ubcs.code.vo.webserviceModel.attrmap.RowDatas; import com.vci.ubcs.code.vo.webserviceModel.result.xml.XMLResultDataObjectDetailDO; import com.vci.ubcs.starter.bo.WriteExcelData; import com.vci.ubcs.starter.exception.VciBaseException; import com.vci.ubcs.starter.poi.bo.ReadExcelOption; import com.vci.ubcs.starter.poi.bo.SheetDataSet; import com.vci.ubcs.starter.poi.bo.SheetRowData; import com.vci.ubcs.starter.poi.bo.WriteExcelOption; import com.vci.ubcs.starter.poi.util.ExcelUtil; import com.vci.ubcs.starter.util.LocalFileUtil; import com.vci.ubcs.starter.web.enumpck.VciFieldTypeEnum; import com.vci.ubcs.starter.web.pagemodel.DataGrid; import com.vci.ubcs.starter.web.pagemodel.KeyValue; import com.vci.ubcs.starter.web.util.VciBaseUtil; import lombok.extern.slf4j.Slf4j; import org.springframework.context.annotation.Lazy; import com.vci.ubcs.starter.web.util.VciDateUtil; import lombok.AllArgsConstructor; import org.apache.poi.hssf.usermodel.HSSFRichTextString; import org.apache.poi.hssf.usermodel.HSSFWorkbook; import org.apache.poi.hssf.util.HSSFColor; import org.apache.poi.ss.usermodel.Font; import org.apache.poi.ss.usermodel.RichTextString; import org.apache.poi.ss.usermodel.Workbook; import org.springblade.core.redis.cache.BladeRedis; import org.springframework.beans.BeanUtils; import org.springframework.stereotype.Service; import org.springframework.util.CollectionUtils; import javax.annotation.Resource; import java.io.File; import java.util.*; import java.util.stream.Collectors; import static com.alibaba.druid.util.FnvHash.Constants.LIMIT; import static com.vci.ubcs.code.constant.MdmEngineConstant.*; import static com.vci.ubcs.starter.poi.util.ExcelUtil.KEY_ATTR_CHAR; import static com.vci.ubcs.starter.poi.util.ExcelUtil.REQUIRED_CHAR; @AllArgsConstructor @Service @Slf4j public class MdmIOServiceImpl implements MdmIOService { /** * åç±»æå¡å± * 主é¢åºåç±»çæå¡ */ @Resource @Lazy private ICodeClassifyService classifyService; /** * åç±»æå¡å± * 模æ¿çæå¡ */ @Resource @Lazy private CodeClstemplateServiceImpl templateService; /** * ä¸»æ°æ®å¼æçæå¡ */ @Resource private MdmEngineService engineService; private final BladeRedis bladeRedis; /** * çæå¯¼å ¥çæä»¶ * * @param codeClassifyOid åç±»çä¸»é® * @param isHistory æ¯å¦å岿°æ®å¯¼å ¥ * @return excelçæä»¶å°å */ @Override public String createImportExcel(String codeClassifyOid, boolean isHistory) { List<CodeClassifyTemplateVO> templateVOList=new ArrayList<>(); VciBaseUtil.alertNotNull("å¯¼åºæ¨¡æ¿","导åºçé ç½®",codeClassifyOid,"主é¢åºåç±»ç主é®"); CodeClassifyVO codeClassifyVO = classifyService.getObjectByOid(codeClassifyOid); if(isHistory){ templateVOList= templateService.childTemplates(codeClassifyOid); }else{ //æ¾æ¨¡æ¿ CodeClassifyTemplateVO templateVO = engineService.getUsedTemplateByClassifyOid(codeClassifyOid); templateVOList.add(templateVO); } WriteExcelOption eo = new WriteExcelOption(); eo.setAppend(true); //å¢å 模æ¿çä¿¡æ¯å¯¼å ¥ LinkedList<WriteExcelData> tempEDList = new LinkedList<>(); tempEDList.add(new WriteExcelData(0,0,"模æ¿ä¸»é®")); tempEDList.add(new WriteExcelData(0,1,"模æ¿ä»£å·")); tempEDList.add(new WriteExcelData(0,2,"模æ¿åç§°")); for(int j=0;j<templateVOList.size();j++){ CodeClassifyTemplateVO templateVO=templateVOList.get(j); CodeClassifyTemplateVO codeClassifyTemplateVO = new CodeClassifyTemplateVO(); BeanUtils.copyProperties(templateVO,codeClassifyTemplateVO); //ç»åæ ¼å¼çä¸å¯¼å ¥ï¼ // æä¸¾çæä¾åºåçéæ© //æ¶é´å ¨é¨ç»ä¸ä¸ºyyyy-MM-dd HH:mm:ss //åç §çèªè¡è¾å ¥åç§° //åç±»æ³¨å ¥çä¸ç¨ï¼é½æ¯å¯¼å ¥åèªå¨å¤çç //ç¼ç ï¼ç¶æçåæ®µä¸å¯¼å ¥ List<CodeClassifyTemplateAttrVO> templateAttrVOS = codeClassifyTemplateVO.getAttributes().stream().filter(s -> !DEFAULT_ATTR_LIST.contains(s.getId()) && StringUtils.isBlank(s.getComponentRule()) && StringUtils.isBlank(s.getClassifyInvokeAttr()) && (isHistory || VciBaseUtil.getBoolean(s.getFormDisplayFlag())) ).collect(Collectors.toList()); if(CollectionUtils.isEmpty(templateAttrVOS)){ throw new VciBaseException("æ¨¡æ¿æ²¡æé 置任ä½ãè¡¨åæ¾ç¤ºãä¸ºãæ¯ãç屿§"); } List<CodeClassifyTemplateAttrVO> idAttrVOList = codeClassifyTemplateVO.getAttributes().stream().filter(s -> s.getId().equalsIgnoreCase(CODE_FIELD)).collect(Collectors.toList()); LinkedList<WriteExcelData> excelDataList = new LinkedList<>(); Workbook workbook = new HSSFWorkbook(); if(isHistory){ excelDataList.add(new WriteExcelData(0,0,"å类路å¾")); excelDataList.add(new WriteExcelData(0,1,"ç æ®µå®½åº¦")); excelDataList.add(new WriteExcelData(0,2,!CollectionUtils.isEmpty(idAttrVOList)?idAttrVOList.get(0).getName():"ä¼ä¸ç¼ç ")); } for (int i = 0; i < templateAttrVOS.size(); i++) { CodeClassifyTemplateAttrVO attrVO = templateAttrVOS.get(i); Object text = attrVO.getName(); text = exportKeyAndRequired(workbook,attrVO,text); int colIndex = (isHistory?3:0) + i; WriteExcelData excelData = new WriteExcelData(0, colIndex, text); if(StringUtils.isNotBlank(attrVO.getCodeDateFormat()) || VciFieldTypeEnum.VTDateTime.name().equalsIgnoreCase(attrVO.getAttributeDataType()) || VciFieldTypeEnum.VTDate.name().equalsIgnoreCase(attrVO.getAttributeDataType()) ||VciFieldTypeEnum.VTTime.name().equalsIgnoreCase(attrVO.getAttributeDataType())){ excelData.setDateFormat(VciDateUtil.DateTimeFormat); } if(text instanceof RichTextString){ excelData.setFontColor(String.valueOf(HSSFColor.HSSFColorPredefined.RED.getIndex())); } excelDataList.add(excelData); if(StringUtils.isNotBlank(attrVO.getEnumString()) || StringUtils.isNotBlank(attrVO.getEnumId())){ //æ·»å æ°æ®æææ§ List<String> enumValueList = new ArrayList<>(); enumValueList.add(""); List<KeyValue> valueList = engineService.listComboboxItems(attrVO); if(!CollectionUtils.isEmpty(valueList)){ valueList.stream().forEach(kv->{ enumValueList.add(kv.getValue()); }); } //é»è®¤å 1䏿¡ WriteExcelData ed = new WriteExcelData(1,colIndex,""); ed.setRowTo(100); ed.setColTo(colIndex); ed.setValidation(true); ed.setValidationDataList(enumValueList); ed.setValidationErrorMsg("请å¨åºåä¸éæ©æ£ç¡®çå¼"); excelDataList.add(ed); } if(VciFieldTypeEnum.VTBoolean.name().equalsIgnoreCase(attrVO.getAttributeDataType())){ List<String> booleanList = new ArrayList<>(); booleanList.add("æ¯"); booleanList.add("å¦"); //é»è®¤å 1䏿¡ WriteExcelData ed = new WriteExcelData(1,colIndex,""); ed.setRowTo(100); ed.setColTo(colIndex); ed.setValidation(true); ed.setValidationDataList(booleanList); ed.setValidationErrorMsg("请å¨åºåä¸éæ©æ£ç¡®çå¼"); excelDataList.add(ed); } } eo.addSheetDataList(j+templateVO.getName(),excelDataList); tempEDList.add(new WriteExcelData(j+1,0,templateVO.getOid())); tempEDList.add(new WriteExcelData(j+1,1,templateVO.getId())); tempEDList.add(new WriteExcelData(j+1,2,templateVO.getName())); } String excelName = LocalFileUtil.getDefaultTempFolder() + File.separator + codeClassifyVO.getName() + (isHistory?"_å岿°æ®å¯¼å ¥æ¨¡æ¿.xls": "_å¯¼å ¥æ¨¡æ¿.xls"); eo.addSheetDataList(templateVOList.size()+"模æ¿ä¿¡æ¯ã请å¿å é¤æç§»å¨ã",tempEDList); ExcelUtil.writeDataToFile(excelName,eo); return excelName; } /** * 导åºçæ¶åå°è£ å¿ è¾åå ³é®å±æ§ * @param attrVO 屿§çæ¾ç¤ºå¯¹è±¡ * @param text åå æ ¼çå¼ */ private Object exportKeyAndRequired(Workbook workbook,CodeClassifyTemplateAttrVO attrVO,Object text){ //å¿ è¾å *ï¼å ³é®å±æ§ä¸ºèè² if (VciBaseUtil.getBoolean(attrVO.getRequireFlag()) || VciBaseUtil.getBoolean(attrVO.getKeyAttrFlag())) { String value = text.toString(); if(VciBaseUtil.getBoolean(attrVO.getRequireFlag())) { value += REQUIRED_CHAR; } if(VciBaseUtil.getBoolean(attrVO.getKeyAttrFlag())){ value += KEY_ATTR_CHAR; } RichTextString ts = new HSSFRichTextString(value); if(VciBaseUtil.getBoolean(attrVO.getRequireFlag())){ Font font = workbook.createFont(); font.setColor(HSSFColor.HSSFColorPredefined.RED.getIndex()); ts.applyFont(font); } if(VciBaseUtil.getBoolean(attrVO.getKeyAttrFlag())){ Font font = workbook.createFont(); font.setColor(HSSFColor.HSSFColorPredefined.BLUE.getIndex()); ts.applyFont(font); } return ts; } return text; } /** * æ¹éç³è¯·ç¼ç æ°æ® * * @param orderDTO ç¼ç ç³è¯·ä¿¡æ¯ï¼å¿ é¡»å å«å类主é®åç æ®µçä¿¡æ¯ * @param file excelæä»¶çä¿¡æ¯ * @return æé误信æ¯çexcelçæä»¶ */ @Override public CodeImProtRusultVO batchImportCode(CodeOrderDTO orderDTO, File file) { VciBaseUtil.alertNotNull(orderDTO,"ç¼ç ç³è¯·ç¸å ³çæ°æ®",orderDTO.getCodeClassifyOid(),"主é¢åºå类主é®"); ReadExcelOption reo = new ReadExcelOption(); reo.setReadAllSheet(true); List<SheetDataSet> sheetDataSetList = ExcelUtil.readDataObjectFromExcel(file,null,reo); if(CollectionUtils.isEmpty(sheetDataSetList) || CollectionUtils.isEmpty(sheetDataSetList.get(0).getRowData()) ||sheetDataSetList.get(0).getRowData().size()<1){ throw new VciBaseException("没æè¯»åå°ä»»ä½çæ°æ®"); } if(sheetDataSetList.size()>LIMIT+1){ throw new VciBaseException("为äºä¿è¯ç³»ç»çç¨³å®æ§ï¼è¯·ä¸æ¬¡ä¸è¦å¯¼å ¥è¶ è¿1䏿¡çæ°æ®"); } //å æ¾å°æ¯ä¸è¡çæ é¢ï¼ç¶åæ ¹æ®æ 颿¥è·å对åºç屿§ SheetDataSet dataSet = sheetDataSetList.get(0); //æ¾ç¬¬ä¸è¡ï¼ä¸ºäºæ¾æ é¢ CodeClassifyTemplateVO templateVO = engineService.getUsedTemplateByClassifyOid(orderDTO.getCodeClassifyOid()); //æ ¡éªæ¨¡æ¿æ¯ä¸æ¯ææ°ç checkTemplateSync(sheetDataSetList,templateVO,0); //å ä¸ç¨ç®¡å±æ§æ¯å¦é½åå¨ï¼å 转æ¢ä¸ä¸æ°æ® Map<String,String> errorMap = new HashMap<>(); String redisUUid=batchImportCodes(orderDTO,templateVO,dataSet,errorMap,true); CodeImProtRusultVO codeImProtRusultVO = new CodeImProtRusultVO(); List<String> needRowIndexList = new ArrayList<>(); // String filePath = returnErrorToExcel(dataSet.getRowData(), errorMap, needRowIndexList, dataSet.getColName()); // if(StringUtils.isNotBlank(filePath)) { // codeImProtRusultVO.setFilePath(filePath); // } // if(StringUtils.isNotBlank(redisUUid)){ // codeImProtRusultVO.setRedisUuid(redisUUid); // } return null; // return codeImProtRusultVO; } /** * æ ¡éªæ¨¡æ¿æ¯å¦ä¸ºåæ¥ç * @param sheetDataSetList exceléçå 容 * @param templateVO 模æ¿çä¿¡æ¯ */ private void checkTemplateSync(List<SheetDataSet> sheetDataSetList,CodeClassifyTemplateVO templateVO,int i){ String templateOidInExcel = ""; String templateName=""; if(!CollectionUtils.isEmpty(sheetDataSetList) && sheetDataSetList.size()>1 && !CollectionUtils.isEmpty(sheetDataSetList.get(sheetDataSetList.size()-1).getColName())){ List<SheetRowData> rowData= sheetDataSetList.get(sheetDataSetList.size()-1).getRowData(); templateName=rowData.get(i).getData().get(2); templateOidInExcel=rowData.get(i).getData().get(0); //templateOidInExcel = sheetDataSetList.get(sheetDataSetList.size()-1).getColName().get(sheetDataSetList.size()-i); } /* if(!CollectionUtils.isEmpty(sheetDataSetList) && sheetDataSetList.size()>1 && !CollectionUtils.isEmpty(sheetDataSetList.get(sheetDataSetList.size()-1).getColName())){ List<SheetRowData> rowData= sheetDataSetList.get(sheetDataSetList.size()-1).getRowData(); templateOidInExcel=rowData.get(i).getData().get(0); //templateOidInExcel = sheetDataSetList.get(sheetDataSetList.size()-1).getColName().get(sheetDataSetList.size()-i); }*/ if(StringUtils.isBlank(templateOidInExcel) || !templateOidInExcel.equalsIgnoreCase(templateVO.getOid())){ throw new VciBaseException("模æ¿ã"+templateName+"ãä¸çæ°æ®è·åçæ¨¡çä¿¡æ¯ä¸å½å模æ¿ä¸å¹é ï¼è¯·ç¡®ä¿excelæä»¶éæã模æ¿ä¿¡æ¯-请å¿ç§»å¨æå é¤ãçå·¥ä½è¡¨ï¼ä¸ç¡®ä¿æ¯æ¬¡å¯¼å ¥é½æ¯å ä¸è½½çå¯¼å ¥æ¨¡æ¿åæ·»å çæ°æ®"); } } /*** * æ¹éå¤çç³è¯·æ°æ® * @param orderDTO * @param templateVO * @param dataSet * @return */ private String batchImportCodes(CodeOrderDTO orderDTO,CodeClassifyTemplateVO templateVO,SheetDataSet dataSet,Map<String,String> errorMap,boolean isEnumType){ List<String> codeList=new ArrayList<>(); // CodeClassifyFullInfoBO classifyFullInfo = classifyService.getClassifyFullInfo(orderDTO.getCodeClassifyOid()); //è§åç主é®éè¦å»è·å // CodeRuleVO ruleVO = engineService.getCodeRuleByClassifyFullInfo(classifyFullInfo); // //1.夿è§åä¸é¤äºæµæ°´ç æ®µï¼æ¯å¦æå ¶ä»ç 段 // engineService.checkSecValueOnOrder(ruleVO,orderDTO); // List<SheetRowData> rowDataList = dataSet.getRowData(); // // //é¤å»é»è®¤ç屿§.è¿æåªæè¡¨åæ¾ç¤ºçåæ®µæå¯¼å ¥ // List<CodeClassifyTemplateAttrVO> attrVOS = templateVO.getAttributes().stream().filter(s -> // !DEFAULT_ATTR_LIST.contains(s.getId()) && VciBaseUtil.getBoolean(s.getFormdisplayflag()) // ).collect(Collectors.toList()); // Map<Integer/**åå·**/,String/**åæ®µçåç§°**/> fieldIndexMap = new HashMap<>(); // List<String> titleRowData = dataSet.getColName(); // Map<String/**䏿åç§°**/, String/**è±æåç§°**/> attrNameIdMap = attrVOS.stream().collect(Collectors.toMap(s -> s.getName(), t -> t.getId().toLowerCase(Locale.ROOT),(o1, o2)->o2)); // getFieldIndexMap(titleRowData,attrNameIdMap,fieldIndexMap); // // //éè¦å¤ææ¯å¦ææç屿§é½å¨æ¨¡æ¿ä¸äº // List<CodeClassifyTemplateAttrVO> unExistAttrVOs = attrVOS.stream().filter(s -> !fieldIndexMap.containsValue(s.getId().toLowerCase(Locale.ROOT)) // && StringUtils.isBlank(s.getComponentrule()) && StringUtils.isBlank(s.getClassifyinvokeattr())//ç»åè§åååç±»æ³¨å ¥ç¡®å®æ²¡ç»ç¨æ·å¯¼åºå» // ).collect(Collectors.toList()); // if(!CollectionUtils.isEmpty(unExistAttrVOs)){ // throw new VciBaseException("ã" + unExistAttrVOs.stream().map(CodeClassifyTemplateAttrVO::getName) + "ãè¿äºå±æ§å¨åè¡¨ä¸æ²¡ææ¾å°"); // } // List<ClientBusinessObject> cboList = new ArrayList<>(); // String fullPath = getFullPath(classifyFullInfo); // excelToCbo(classifyFullInfo,fieldIndexMap,rowDataList,templateVO,cboList,fullPath,true); // // //é½è½¬æ¢å®äºãéè¦æ¹éæ£æ¥ // //妿åºéäºï¼æä»¬ä¾ç¶æ§è¡ææçæ°æ®ï¼æ æçæ°æ®ååå°excelä¸ // //2.å¤æå¿ è¾é¡¹ããéè¦å ¨é¨ç屿§ï¼å¦ææ¯å¿ è¾ï¼ä½æ¯è¡¨åéé¢ä¸æ¾ç¤ºçï¼åªè½æ¯åç±»æ³¨å ¥æè ç»åè§å // batchCheckRequiredAttrOnOrder(templateVO,cboList,errorMap); // //3.å¤æå ³é®å±æ§ // CodeImportResultVO keyResultVO = batchCheckKeyAttrOnOrder(classifyFullInfo, templateVO, cboList); // Set<String> selfRepeatRowIndexList = keyResultVO.getSelfRepeatRowIndexList(); // Set<String> keyAttrRepeatRowIndexList = keyResultVO.getKeyAttrRepeatRowIndexList(); // if(!CollectionUtils.isEmpty(selfRepeatRowIndexList)){ // selfRepeatRowIndexList.stream().forEach(rowIndex->{ // errorMap.put(rowIndex,errorMap.getOrDefault(rowIndex,"") + ";å¨å½åå¤ççæ°æ®æä»¶ä¸å ³é®å±æ§éå¤" ); // }); // } // if(!CollectionUtils.isEmpty(keyAttrRepeatRowIndexList)){ // keyAttrRepeatRowIndexList.stream().forEach(rowIndex->{ // errorMap.put(rowIndex,errorMap.getOrDefault(rowIndex,"") + ";å ³é®å±æ§ä¸ç³»ç»ä¸çéå¤" ); // }); // } // //åç±»æ³¨å ¥ // batchSwitchClassifyAttrOnOrder(attrVOS,cboList,classifyFullInfo,false); // //boolean // reSwitchBooleanAttrOnOrder(attrVOS,cboList); // //4.æ ¡éªè§å // batchCheckVerifyOnOrder(attrVOS, cboList,errorMap); // if(isEnumType) {//æ¯å¦éè¦æ ¡éªæä¸¾/åç § // //5.æ ¡éªæä¸¾æ¯å¦æ£ç¡® // batchSwitchEnumAttrOnOrder(attrVOS, cboList, errorMap); // //7.å¤çåç §çæ åµ // batchSwitchReferAttrOnOrder(attrVOS,cboList,errorMap); // } // //6.æ¶é´æ ¼å¼çéªè¯ // //6.æ¶é´çï¼å¿ é¡»ç»ä¸ä¸ºyyyy-MM-dd HH:mm:ss // batchSwitchDateAttrOnOrder(attrVOS,cboList,errorMap); // //æåå¼ç»åè§å // batchSwitchComponentAttrOnOrder(attrVOS,cboList); // String uuid=redisService.getUUIDEveryDay(); // Map<String, ClientBusinessObject> rowIndexCboMap = cboList.stream().filter(cbo -> cbo != null).collect(Collectors.toList()).stream().collect(Collectors.toMap(s -> s.getAttributeValue((IMPORT_ROW_INDEX)), t -> t)); // // if(errorMap.size()>0) { // createRedisDatas(uuid + "-error",templateVO, rowIndexCboMap, dataSet, fieldIndexMap, errorMap,false); // } // boolean isCreateUUid=false; // List<ClientBusinessObject> needSaveCboList = cboList.stream().filter(cbo -> { // String rowIndex = cbo.getAttributeValue(IMPORT_ROW_INDEX); // return !errorMap.containsKey(rowIndex); // }).collect(Collectors.toList()); // //ç¸ä¼¼æ ¡éª // Map<String,String>resembleMap=new HashMap<>(); // List<DataResembleVO> dataResembleVOS=new ArrayList<>(); // String btmtypeid= classifyFullInfo.getTopClassifyVO().getBtmtypeid(); // bathcResembleQuery(orderDTO.getCodeClassifyOid(),templateVO,needSaveCboList,resembleMap,btmtypeid,dataResembleVOS); // if(resembleMap.size()>0) { // isCreateUUid=true; // if(!CollectionUtils.isEmpty(dataResembleVOS)) { // redisService.setCacheList(uuid + "-resemble-data", dataResembleVOS); // createRedisDatas(uuid + "-resemble",templateVO, rowIndexCboMap, dataSet, fieldIndexMap, resembleMap, false); // } // } // //æé¤é误çï¼å©ä¸æ£ç¡®ç // Map<String,String> newErrorMap=new HashMap<>(); // newErrorMap.putAll(resembleMap); // newErrorMap.putAll(errorMap); // needSaveCboList = cboList.stream().filter(cbo -> { // String rowIndex = cbo.getAttributeValue(IMPORT_ROW_INDEX); // return !newErrorMap.containsKey(rowIndex); // }).collect(Collectors.toList()); // if((errorMap.size()>0&&needSaveCboList.size()>0)||resembleMap.size()>0){ // isCreateUUid=true; // } // createRedisByCodeClassify(uuid + "-class",templateVO,dataSet,fieldIndexMap,false); // if(newErrorMap.size()>0) { // createRedisDatas(uuid + "-ok",templateVO, rowIndexCboMap, dataSet, fieldIndexMap, newErrorMap,true); // }else { // uuid=""; // //è¦æä»¥ä¸çé误ç齿åºåï¼åç»§ç»å¤çæ¶é´åç»åè§å // needSaveCboList = cboList.stream().filter(cbo -> { // String rowIndex = cbo.getAttributeValue(IMPORT_ROW_INDEX); // return !newErrorMap.containsKey(rowIndex); // }).collect(Collectors.toList()); // if (!CollectionUtils.isEmpty(needSaveCboList)) { // //9.æä»¬å¤çä¸å¡æ°æ® // //çæç¼ç çå 容 // codeList = productCodeService.productCodeAndSaveData(classifyFullInfo, templateVO, ruleVO, orderDTO.getSecDTOList(), needSaveCboList); // //妿æ¯ç¼ç çæå¤±è´¥ï¼åç´æ¥å°±å¤±è´¥äºï¼å ¶ä»çå¤æåºæ¥æé误çæä»¬é½ç»ä¸è¿åå°exceléé¢ // engineService.batchSaveSelectChar(templateVO, needSaveCboList); // } // } // if(!isCreateUUid){ // return uuid=""; // } // return uuid; return null; } @Override public List<CodeImportTemplateVO> gridclassifys(String redisOid) { List<CodeImportTemplateVO> codeImportTemplateVOs=new ArrayList<>(); VciBaseUtil.alertNotNull(redisOid,"åç±»",redisOid,"åç±»ç¼å主é®"); List<CodeImportTemplateVO> redisServiceCacheObjects=bladeRedis.lRange(redisOid,0,-1); if(redisServiceCacheObjects!=null){ codeImportTemplateVOs= redisServiceCacheObjects; } return codeImportTemplateVOs; } /*** * ä»ç¼åéè·åå°éè¦å¯¼å ¥çç¸å ³æ°æ® * @param codeClssifyOid * @param redisOid * @return */ @Override public DataGrid<Map<String, String>> gridDatas(String codeClssifyOid, String redisOid) { VciBaseUtil.alertNotNull(redisOid,"å¯¼å ¥ç¸ä¼¼æ°æ®",redisOid,"æ°æ®ç¼å主é®"); List<CodeImprotDataVO> codeImprotDataVOs = bladeRedis.lRange(redisOid+"-"+codeClssifyOid,0,-1); // redisService.getCacheList(redisOid+"-"+codeClssifyOid); CodeImprotDataVO codeImprotDataVO=new CodeImprotDataVO(); if(!CollectionUtils.isEmpty(codeImprotDataVOs)){ if(StringUtils.isNotBlank(codeClssifyOid)){ Map<String/**åç±»åç§°**/, CodeImprotDataVO/**è±æåç§°**/> codeClassifyDatasMap = codeImprotDataVOs.stream().collect(Collectors.toMap(s -> s.getCodeClassifyOid(), t -> t,(o1, o2)->o2)); if(codeClassifyDatasMap.containsKey(codeClssifyOid)){ codeImprotDataVO= codeClassifyDatasMap.get(codeClssifyOid); }else{ codeImprotDataVO= codeImprotDataVOs.get(0); } } } DataGrid<Map<String, String>> dataGrid = new DataGrid<>(); List<Map<String, String>> dataList = new ArrayList<>(); if(codeImprotDataVO!=null){ dataList= codeImprotDataVO.getDatas(); } dataGrid.setData(dataList); if (!CollectionUtils.isEmpty(dataList)) { dataGrid.setTotal(dataList.size()); } return dataGrid; } /** * * @param oid * @param redisOid * @return */ @Override public DataGrid<Map<String,String>> gridRowResemble(String oid,String redisOid){ VciBaseUtil.alertNotNull(redisOid,"å¯¼å ¥ç¸ä¼¼æ°æ®",redisOid,"æ°æ®ç¼å主é®"); List<DataResembleVO> codeImprotDataVOs = bladeRedis.lRange(redisOid,0,-1);; DataGrid<Map<String, String>> dataGrid = new DataGrid<>(); List<Map<String, String>> dataList = new ArrayList<>(); if(!CollectionUtils.isEmpty(codeImprotDataVOs)){ Map<String/**åç±»åç§°**/, DataResembleVO/**æ°æ®å¯¹è±¡**/> rowResembleDataMap = codeImprotDataVOs.stream().collect(Collectors.toMap(s -> s.getOid(), t -> t,(o1, o2)->o2)); if(rowResembleDataMap.containsKey(oid)){ DataResembleVO dataResembleVO= rowResembleDataMap.get(oid); dataList= dataResembleVO.getDataList(); } } dataGrid.setData(dataList); if (!CollectionUtils.isEmpty(dataList)) { dataGrid.setTotal(dataList.size()); } return dataGrid; } /** * éææ¹éç³è¯·æ°æ® @@ -83,7 +536,7 @@ //éè¦å¤ææ¯å¦ææç屿§é½å¨æ¨¡æ¿ä¸äº List<CodeClassifyTemplateAttrVO> unExistAttrVOs = attrVOS.stream().filter(s -> !fieldIndexMap.containsValue(s.getId().toLowerCase(Locale.ROOT)) && StringUtils.isBlank(s.getComponentRule()) && StringUtils.isBlank(s.getClassifyInvokeAttr())//ç»åè§åååç±»æ³¨å ¥ç¡®å®æ²¡ç»ç¨æ·å¯¼åºå» && com.alibaba.cloud.commons.lang.StringUtils.isBlank(s.getComponentRule()) && com.alibaba.cloud.commons.lang.StringUtils.isBlank(s.getClassifyInvokeAttr())//ç»åè§åååç±»æ³¨å ¥ç¡®å®æ²¡ç»ç¨æ·å¯¼åºå» ).collect(Collectors.toList()); if(!CollectionUtils.isEmpty(unExistAttrVOs)){ throw new VciBaseException("ã" + unExistAttrVOs.stream().map(CodeClassifyTemplateAttrVO::getName) + "ãè¿äºå±æ§å¨excel䏿²¡ææ¾å°"); @@ -139,16 +592,16 @@ String title = titleRowData.get(i); String id = attrNameIdMap.getOrDefault(title.replace(KEY_ATTR_CHAR,"").replace(REQUIRED_CHAR ,""),""); if(StringUtils.isBlank(id) && "å类路å¾".equalsIgnoreCase(title)){ if(com.alibaba.cloud.commons.lang.StringUtils.isBlank(id) && "å类路å¾".equalsIgnoreCase(title)){ id = CODE_CLASSIFY_OID_FIELD; } if(StringUtils.isBlank(id) && "ç æ®µå®½åº¦".equalsIgnoreCase(title)){ if(com.alibaba.cloud.commons.lang.StringUtils.isBlank(id) && "ç æ®µå®½åº¦".equalsIgnoreCase(title)){ id = CODE_SEC_LENGTH_FIELD; } if(StringUtils.isBlank(id) && "ä¼ä¸ç¼ç ".equalsIgnoreCase(title)){ if(com.alibaba.cloud.commons.lang.StringUtils.isBlank(id) && "ä¼ä¸ç¼ç ".equalsIgnoreCase(title)){ id = CODE_FIELD; } if(StringUtils.isNotBlank(id)){ if(com.alibaba.cloud.commons.lang.StringUtils.isNotBlank(id)){ fieldIndexMap.put(i,id); } } Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/MdmProductCodeServiceImpl.java
@@ -11,6 +11,7 @@ import com.vci.ubcs.code.enumpack.CodeGetValueTypeEnum; import com.vci.ubcs.code.enumpack.CodeLevelTypeEnum; import com.vci.ubcs.code.enumpack.CodeSecTypeEnum; import com.vci.ubcs.code.lifecycle.CodeAllCodeLC; import com.vci.ubcs.code.mapper.CodeSerialValueMapper; import com.vci.ubcs.code.service.ICodeWupinService; import com.vci.ubcs.code.service.MdmProductCodeService; @@ -29,6 +30,7 @@ import javax.annotation.Resource; import java.util.*; import java.util.concurrent.atomic.AtomicReference; import java.util.stream.Collectors; import static com.vci.ubcs.code.constant.MdmEngineConstant.*; @@ -702,4 +704,42 @@ return value; } /** * åæ¶ç å¼ * * @param btmId ä¸å¡æ°æ®çä¸å¡ç±»å * @param businessOidCollection ä¸å¡æ°æ®çä¸»é® * @return æ¯å¦æ´æ°æå */ @Override public Boolean recycleCode(String btmId, Collection<String> businessOidCollection) { // boolean oldPersistence = WebUtil.isPersistence(); // WebUtil.setPersistence(false); // BatchCBO batchCBO = new BatchCBO(); AtomicReference<Boolean> updateFlag = new AtomicReference<>(false); VciBaseUtil.switchCollectionForOracleIn(businessOidCollection).stream().forEach(oids-> { // Map<String, String> conditionMap = new HashMap<>(); // //ç¼ç è¦è®°å½ä¸ºåæ¶çç¶æ // conditionMap.put("createcodeoid", QueryOptionConstant.IN + "(" + VciBaseUtil.toInSql(oids.toArray(new String[0])) + ")"); // conditionMap.put("createcodebtm", btmId); QueryWrapper<CodeAllCode> wrapper = new QueryWrapper<>(); wrapper.in("createcodeoid",QueryOptionConstant.IN + "(" + VciBaseUtil.toInSql(oids.toArray(new String[0])) + ")"); wrapper.eq("createcodebtm", btmId); List<CodeAllCode> allCodeDOS = codeAllCodeService.selectByWrapper(wrapper); // allCodeMapper.selectByCondition(conditionMap, new PageHelper(-1)); if (!CollectionUtils.isEmpty(allCodeDOS)) { allCodeDOS.stream().forEach(codeDO->{ codeDO.setLcStatus(CodeAllCodeLC.TASK_BACK.getValue()); }); updateFlag.set(codeAllCodeService.updateBatchById(allCodeDOS)); // batchCBO.copyFromOther(allCodeMapper.batchUpdate(allCodeDOS)); } }); // WebUtil.setPersistence(oldPersistence); return updateFlag.get(); } } Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/wrapper/CodeButtonWrapper.java
@@ -16,16 +16,12 @@ */ package com.vci.ubcs.code.wrapper; import com.vci.ubcs.starter.web.util.BeanUtilForVCI; import com.vci.ubcs.system.cache.DictCache; import com.vci.ubcs.code.entity.CodeButton; import com.vci.ubcs.code.vo.pagemodel.CodeButtonVO; import org.springblade.core.mp.support.BaseEntityWrapper; import org.springblade.core.redis.cache.BladeRedis; import org.springblade.core.tool.utils.BeanUtil; import org.springblade.core.tool.utils.Func; import org.springframework.boot.autoconfigure.security.SecurityProperties; import java.util.List; import java.util.Objects; /** @@ -42,7 +38,9 @@ @Override public CodeButtonVO entityVO(CodeButton codebutton) { CodeButtonVO codebuttonVO = Objects.requireNonNull(BeanUtil.copy(codebutton, CodeButtonVO.class)); CodeButtonVO codebuttonVO = new CodeButtonVO();; BeanUtilForVCI.copyPropertiesIgnoreCase(codebutton,codebuttonVO); Objects.requireNonNull(codebuttonVO); codebuttonVO.setUsedpositiontypeText(DictCache.getValue("codeButtonPosition", codebutton.getUsedPositionType())); codebuttonVO.setLcStatusText(DictCache.getValue("codeLcstatus", codebutton.getLcStatus())); return codebuttonVO;