From 84ee37e1f485a1d3136535f9ef1c43058d9308ab Mon Sep 17 00:00:00 2001
From: 田源 <lastanimals@163.com>
Date: 星期三, 29 十一月 2023 11:39:42 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'
---
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/controller/MdmEngineController.java | 356 ++++++++++++++++++++++++++++++++++++++++++++++++++++------
1 files changed, 316 insertions(+), 40 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 87aa4dd..97cb6df 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,19 +3,20 @@
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.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.*;
+import com.vci.ubcs.flow.core.dto.FlowStatusDTO;
import com.vci.ubcs.starter.annotation.VciBusinessLog;
import com.vci.ubcs.starter.revision.model.BaseModel;
+import com.vci.ubcs.starter.revision.model.TreeQueryObject;
import com.vci.ubcs.starter.util.LocalFileUtil;
-import com.vci.ubcs.starter.web.pagemodel.BaseQueryObject;
-import com.vci.ubcs.starter.web.pagemodel.DataGrid;
-import com.vci.ubcs.starter.web.pagemodel.Tree;
+import com.vci.ubcs.starter.web.pagemodel.*;
import com.vci.ubcs.starter.web.util.ControllerUtil;
import com.vci.ubcs.starter.web.util.LangBaseUtil;
import com.vci.ubcs.starter.web.util.VciBaseUtil;
@@ -31,9 +32,8 @@
import java.io.File;
import java.io.IOException;
import java.nio.charset.StandardCharsets;
-import java.util.Collections;
-import java.util.List;
-import java.util.Map;
+import java.rmi.ServerException;
+import java.util.*;
@RestController
//@AllArgsConstructor
@@ -41,9 +41,9 @@
@Api(value = "缂栫爜鏁版嵁绠$悊", tags = "缂栫爜鏁版嵁绠$悊")
public class MdmEngineController {
-// /**
-// * 鏃ュ織
-// */
+ /**
+ * 鏃ュ織
+ */
private Logger logger = LoggerFactory.getLogger(getClass());
/**
* 涓绘暟鎹紩鎿庢湇鍔�
@@ -55,6 +55,7 @@
*/
@Autowired
private MdmIOService mdmIOService;
+
/**
* 涓嬭浇鎵归噺鐢宠鐨勫鍏ユā鏉�
@@ -78,6 +79,69 @@
}
}
+ /**
+ * 涓嬭浇鎵归噺鐢宠鐨勫鍏ユā鏉�
+ * @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);
+ }
+ }
/**
* 鎵归噺鐢宠缂栫爜鐨勪俊鎭�
@@ -96,20 +160,20 @@
String excelFileName = LocalFileUtil.getDefaultTempFolder() + File.separator + LocalFileUtil.getFileNameForIE(file.getOriginalFilename());
File file1 = new File(excelFileName);
try {
-// file.transferTo(new File(excelFileName));
-// CodeImProtRusultVO codeImProtRusultVO = mdmIOService.batchImportCode(orderDTO,file1);
-// if(StringUtils.isNotBlank(codeImProtRusultVO.getFilePath())||StringUtils.isNotBlank(codeImProtRusultVO.getRedisUuid())){
-// //鏀惧埌map閲�
-// R result = R.fail("瀵煎叆澶辫触");
-// if(StringUtils.isNotBlank(codeImProtRusultVO.getFilePath())) {
-// String filedUUid = ControllerUtil.putErrorFile(codeImProtRusultVO.getFilePath());
-// codeImProtRusultVO.setFileOid(filedUUid);
-// }
-// result.setData(codeImProtRusultVO);
-// return result;
-// }else {
-// return R.success("鎿嶄綔鎴愬姛锛�");
-// }
+ file.transferTo(new File(excelFileName));
+ CodeImProtRusultVO codeImProtRusultVO = mdmIOService.batchImportCode(orderDTO,file1);
+ if(StringUtils.isNotBlank(codeImProtRusultVO.getFilePath())||StringUtils.isNotBlank(codeImProtRusultVO.getRedisUuid())){
+ //鏀惧埌map閲�
+ R result = R.fail("瀵煎叆澶辫触");
+ if(StringUtils.isNotBlank(codeImProtRusultVO.getFilePath())) {
+ String filedUUid = ControllerUtil.putErrorFile(codeImProtRusultVO.getFilePath());
+ codeImProtRusultVO.setFileOid(filedUUid);
+ }
+ result.setData(codeImProtRusultVO);
+ return result;
+ }else {
+ return R.success("鎿嶄綔鎴愬姛锛�");
+ }
}catch (Throwable e) {
logger.error("瀵煎叆閿欒",e);
String errorFile = LocalFileUtil.getDefaultTempFolder() + File.separator + "閿欒.txt";
@@ -126,9 +190,98 @@
}finally {
file1.delete();
}
- return null;
+// return null;
}
+ /**
+ * 瀵煎叆鍘嗗彶鏁版嵁
+ * @param codeClassifyOid 鍒嗙被鐨勪富閿�
+ * @param classifyAttr 鍒嗙被璺緞浣跨敤鐨勫睘鎬�
+ * @param file 鏂囦欢鐨勫唴瀹�
+ */
+ @VciBusinessLog(operateName = "瀵煎叆缂栫爜鐨勫巻鍙叉暟鎹�")
+ @PostMapping("/batchImportHistoryData")
+ public R batchImportHistoryData(String codeClassifyOid, String classifyAttr,MultipartFile file,HttpServletResponse response) throws Throwable {
+ String excelFileName = LocalFileUtil.getDefaultTempFolder() + File.separator + file.getOriginalFilename();
+ File file1 = new File(excelFileName);
+ try {
+ file.transferTo(new File(excelFileName));
+ CodeImProtRusultVO codeImProtRusultVO =mdmIOService.batchImportHistoryData(codeClassifyOid, classifyAttr,file1);
+ if(StringUtils.isNotBlank(codeImProtRusultVO.getFilePath())||StringUtils.isNotBlank(codeImProtRusultVO.getRedisUuid())){
+ //鏀惧埌map閲�
+ R result = R.fail("瀵煎叆澶辫触");
+ if(StringUtils.isNotBlank(codeImProtRusultVO.getFilePath())) {
+ String filedUUid = ControllerUtil.putErrorFile(codeImProtRusultVO.getFilePath());
+ codeImProtRusultVO.setFileOid(filedUUid);
+ }
+ result.setData(codeImProtRusultVO);
+ return result;
+ }else {
+ return R.success("鎿嶄綔鎴愬姛锛�");
+ }
+ }catch (Throwable e) {
+ logger.error("瀵煎叆閿欒",e);
+ String errorFile = LocalFileUtil.getDefaultTempFolder() + File.separator + "閿欒.txt";
+ LocalFileUtil.writeContentToFile(LangBaseUtil.getErrorMsg(e),errorFile);
+ String uuid=ControllerUtil.putErrorFile(errorFile);
+ CodeImProtRusultVO codeImProtRusultVO =new CodeImProtRusultVO();
+ codeImProtRusultVO.setRedisUuid("");
+ codeImProtRusultVO.setFileOid(uuid);
+ codeImProtRusultVO.setFilePath(errorFile);
+ R r = R.fail("瀵煎叆澶辫触");
+ r.setData(codeImProtRusultVO);
+ return r;
+ }finally {
+ file1.delete();
+ }
+ }
+
+ /**
+ * 瀵煎叆鍘嗗彶鏁版嵁
+ * @param codeClassifyOid 鍒嗙被鐨勪富閿�
+ * @param classifyAttr 鍒嗙被璺緞浣跨敤鐨勫睘鎬�
+ * @param file 鏂囦欢鐨勫唴瀹�
+ */
+ @VciBusinessLog(operateName = "鎵归噺鐢宠缂栫爜鐨勪俊鎭�")
+ @PostMapping("/batchTopImportCode")
+ public R batchTopImportCode(String codeClassifyOid, String classifyAttr,MultipartFile file,HttpServletResponse response) throws Throwable {
+ String excelFileName = LocalFileUtil.getDefaultTempFolder() + File.separator + file.getOriginalFilename();
+ File file1 = new File(excelFileName);
+ try {
+ file.transferTo(new File(excelFileName));
+ CodeImProtRusultVO codeImProtRusultVO =mdmIOService.batchTopImportCode(codeClassifyOid, classifyAttr,file1);
+ if(StringUtils.isNotBlank(codeImProtRusultVO.getFilePath())||StringUtils.isNotBlank(codeImProtRusultVO.getRedisUuid())){
+ //鏀惧埌map閲�
+ R r = R.fail("瀵煎叆澶辫触锛�");
+ if(StringUtils.isNotBlank(codeImProtRusultVO.getFilePath())) {
+ String filedUUid = ControllerUtil.putErrorFile(codeImProtRusultVO.getFilePath());
+ codeImProtRusultVO.setFileOid(filedUUid);
+ r = R.success("瀵煎叆鎴愬姛锛�");
+ }
+ r.setData(codeImProtRusultVO);
+ return r;
+ }else {
+ return R.success("瀵煎叆鎴愬姛锛�");
+ }
+ }catch (Throwable e) {
+ e.printStackTrace();
+ logger.error("瀵煎叆閿欒",e);
+ String errorFile = LocalFileUtil.getDefaultTempFolder() + File.separator + "閿欒.txt";
+ LocalFileUtil.writeContentToFile(LangBaseUtil.getErrorMsg(e),errorFile);
+ String uuid=ControllerUtil.putErrorFile(errorFile);
+ CodeImProtRusultVO codeImProtRusultVO =new CodeImProtRusultVO();
+ codeImProtRusultVO.setRedisUuid("");
+ codeImProtRusultVO.setFileOid(uuid);
+ codeImProtRusultVO.setFilePath(errorFile);
+
+ R r = R.fail("瀵煎叆澶辫触");
+ r.setData(codeImProtRusultVO);
+
+ return r;
+ }finally {
+ file1.delete();
+ }
+ }
/**
* 淇敼鐘舵��
@@ -136,11 +289,10 @@
* @return 鎵ц缁撴灉
*/
@PostMapping("changeStatus")
- public R changeStatus(BaseModelDTO baseModelDTO) {
+ public R changeStatus(@RequestBody BaseModelDTO baseModelDTO) {
engineService.changeStatus(baseModelDTO);
return R.success("鎿嶄綔鎴愬姛锛�");
}
-
/**
* 鐢宠缂栫爜淇濆瓨
@@ -152,7 +304,6 @@
public R addSaveCode(@RequestBody CodeOrderDTO orderDTO) throws Exception {
return R.success(engineService.addSaveCode(orderDTO));
}
-
/**
* 浣跨敤妯℃澘鐨勪富閿幏鍙栬〃鍗曠殑瀹氫箟
@@ -235,7 +386,6 @@
return engineService.gridTableDataByClassifyOid(codeClassifyOid,templateOid,queryObject.getConditionMap(),queryObject.getPageHelper());
}
-
/***
* 鑾峰彇鍒嗙被瀵硅薄
* @param redisOid
@@ -259,7 +409,7 @@
}
/***
- * 浠巖edis缂撳瓨閲岃幏鍙栧埌瀵煎叆姝g‘鐨勬暟鎹�
+ * 浠巖edis缂撳瓨閲岃幏鍙栧埌瀵煎叆琛岀浉浼奸」鐨勬暟鎹�
* @param dataOid
* @param redisOid
* @return
@@ -279,7 +429,27 @@
public DataGrid<Map<String,String>> gridResemble(String codeClassifyOid,String redisOid){
return mdmIOService.gridDatas(codeClassifyOid,redisOid);
}
+ /***
+ * 瀵煎叆鏁版嵁
+ * @param codeImprotSaveDatVO//鏁版嵁瀵硅薄
+ * @return
+ */
+ @PostMapping("/batchImportData")
+ public R batchImportData(@RequestBody CodeImprotParmaDatVO codeImprotSaveDatVO){
+ return mdmIOService.batchImportData(codeImprotSaveDatVO.getCodeImprotSaveDatVOList(),codeImprotSaveDatVO.getClassifyAttr(),codeImprotSaveDatVO.getImprot());
+ }
+ /***
+ *鏍规嵁鏁版嵁oid浠庣紦瀛樹腑绉婚櫎鏁版嵁
+ * @param redisOid redisid
+ * @param codeClassifyOid 瀛樺偍瑙勫垯鐨刼id
+ * @param dataOids 鎵�闇�鍒犻櫎鐨勬暟鎹�
+ * @return
+ */
+ @GetMapping("/deleteDatas")
+ public R deleteDatas(String redisOid,String codeClassifyOid,String dataOids){
+ return mdmIOService.deleteDatas(redisOid,codeClassifyOid,dataOids);
+ }
/**
* 鎵归噺淇濆瓨娴佺▼鎵ц椤甸潰淇敼鐨勫唴瀹�
* @param orderDTOList 缂栫爜鐩稿叧鐨勪俊鎭紝涓嶉渶瑕佺爜娈电殑淇℃伅
@@ -354,12 +524,12 @@
* @return 鍒嗙被鐮佸�肩殑鍐呭
*/
@GetMapping("/listCodeClassifyValueBySecOid")
- public DataGrid<CodeClassifyValueVO> listCodeClassifyValueBySecOid(String classifySecOid, String parentClassifyValueOid){
+ public IPage<CodeClassifyValueVO> listCodeClassifyValueBySecOid(String classifySecOid, String parentClassifyValueOid){
List<CodeClassifyValueVO> valueVOS = engineService.listCodeClassifyValueBySecOid(classifySecOid, parentClassifyValueOid);
- DataGrid<CodeClassifyValueVO> dataGrid = new DataGrid<>();
- dataGrid.setData(valueVOS);
- dataGrid.setTotal(valueVOS==null?0:valueVOS.size());
- return dataGrid;
+ IPage<CodeClassifyValueVO> valueVOIPage = new Page<>();
+ valueVOIPage.setRecords(valueVOS);
+ valueVOIPage.setTotal(valueVOS==null?0:valueVOS.size());
+ return valueVOIPage;
}
/**
@@ -368,7 +538,7 @@
* @return 缂栫爜瑙勫垯鐨勫唴瀹�
*/
@GetMapping("/getCodeRuleByClassifyOid")
-// @VciUnCheckRight
+ // @VciUnCheckRight
public R<CodeRuleVO> getCodeRuleByClassifyOid(String codeClassifyOid){
return R.data(engineService.getCodeRuleByClassifyOid(codeClassifyOid));
}
@@ -471,11 +641,117 @@
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 List<BaseModel> 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");
+ 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));
+ }
}
--
Gitblit v1.9.3