From 3df221b0a98cde4562471727a6ad41ffafbe39a8 Mon Sep 17 00:00:00 2001 From: 1821349743@qq.com <1821349743@qq.com> Date: 星期一, 03 四月 2023 10:24:56 +0800 Subject: [PATCH] picc of version --- src/main/java/com/product/server/report/service/ReportConfigService.java | 1033 +++++++++++++++++++++++++++++---------------------------- 1 files changed, 523 insertions(+), 510 deletions(-) diff --git a/src/main/java/com/product/server/report/service/ReportConfigService.java b/src/main/java/com/product/server/report/service/ReportConfigService.java index c8d2df6..76180f4 100644 --- a/src/main/java/com/product/server/report/service/ReportConfigService.java +++ b/src/main/java/com/product/server/report/service/ReportConfigService.java @@ -8,6 +8,7 @@ import com.product.admin.service.UpdateLoginUserInfoService; import com.product.common.lang.StringUtils; import com.product.core.cache.DataPoolCacheImpl; +import com.product.core.config.CoreConst; import com.product.core.dao.BaseDao; import com.product.core.entity.DataTableEntity; import com.product.core.entity.FieldSetEntity; @@ -24,576 +25,588 @@ import org.springframework.stereotype.Component; import javax.xml.crypto.Data; -import java.util.Date; -import java.util.List; -import java.util.Map; +import java.util.*; @Component public class ReportConfigService extends AbstractBaseService implements IReportConfigService { - @Autowired - BaseDao baseDao; - @Autowired - CodeService codeService; - @Autowired - public QueryFilterService queryFilterService; - @Autowired - public DataListReportService dataListReportService; + @Autowired + BaseDao baseDao; + @Autowired + CodeService codeService; + @Autowired + public QueryFilterService queryFilterService; + @Autowired + public DataListReportService dataListReportService; - /** - * 鎶ヨ〃鍒楄〃 - * - * @param cpage - * @param pageSize - * @return - */ - public DataTableEntity listReportConfig(Integer cpage, Integer pageSize, FieldSetEntity fse) { - cpage = cpage == null ? 1 : cpage; - pageSize = pageSize == null ? 20 : pageSize; + /** + * 鎶ヨ〃鍒楄〃 + * + * @param cpage + * @param pageSize + * @return + */ + public DataTableEntity listReportConfig(Integer cpage, Integer pageSize, FieldSetEntity fse) { + cpage = cpage == null ? 1 : cpage; + pageSize = pageSize == null ? 20 : pageSize; - List<Object> paramList = Lists.newArrayList(); - StringBuilder sql = new StringBuilder(512); - sql.append("\nSELECT a.uuid,a.type_uuid,a.is_valid,a.org_level_uuid,a.report_name,b.type_name,b.type_group") - .append("\nFROM product_sys_report_config a") - .append("\nLEFT JOIN product_sys_report_type_config b ON a.type_uuid = b.uuid") - .append("\nwhere (function_uuid is null or function_uuid='') "); - if (!StringUtils.isEmpty(fse.getString(CmnConst.TYPE_UUID))) { - sql.append("\nand b.type_group=?"); - paramList.add(fse.getString(CmnConst.TYPE_UUID)); - } - return baseDao.listTable(sql.toString(), paramList.toArray(), pageSize, cpage); - } + List<Object> paramList = Lists.newArrayList(); + StringBuilder sql = new StringBuilder(512); + sql.append("\nSELECT a.uuid,a.type_uuid,a.is_valid,a.org_level_uuid,a.report_name,b.type_name,b.type_group") + .append("\nFROM product_sys_report_config a") + .append("\nLEFT JOIN product_sys_report_type_config b ON a.type_uuid = b.uuid") + .append("\nwhere (function_uuid is null or function_uuid='') "); + if (!StringUtils.isEmpty(fse.getString(CmnConst.TYPE_UUID))) { + sql.append("\nand b.type_group=?"); + paramList.add(fse.getString(CmnConst.TYPE_UUID)); + } + return baseDao.listTable(sql.toString(), paramList.toArray(), pageSize, cpage); + } - /** - * 鎶ヨ〃璇︽儏 - * - * @param uuid - * @return - */ - public FieldSetEntity findReportConfig(String uuid) { - StringBuilder sql = new StringBuilder(256); - sql.append("\nselect report_area,cell_position_y,cell_position_x,attribute_name,report_type_attr_value") - .append("\nfrom (") - .append("\n select report_area,cell_position_y,cell_position_x,report_type_attr_value,report_type_attr FROM product_sys_report_config_attribute ca") - .append("\n where report_config_uuid=?") - .append("\n) ca") - .append("\nleft join (") - .append("\n select uuid,attribute_name FROM product_sys_report_type_attribute where type_group='DataList'") - .append("\n) ta on ca.report_type_attr=ta.uuid") - .append("\nwhere attribute_name is not null ") - .append("\norder by report_area,cell_position_y,cell_position_x"); - DataTableEntity tempDte = baseDao.listTable(sql.toString(), new Object[]{uuid}); - DataTableEntity reportConfigAttrDte = new DataTableEntity(); - FieldSetEntity tempFse; - FieldSetEntity reportConfigAttrFse = new FieldSetEntity(); - String curReportArea; - String curX; - String curY; - String preReportArea = ""; - String preX = ""; - String preY = ""; - for (int i = 0; i < tempDte.getRows(); i++) { - tempFse = tempDte.getFieldSetEntity(i); - curReportArea = tempFse.getString(CmnConst.ATTR_REPORT_AREA); - curX = tempFse.getString(CmnConst.CELL_POSITION_X); - curY = tempFse.getString(CmnConst.CELL_POSITION_Y); - if (curReportArea == null || curX == null || curY == null) { - continue; - } - if (!preReportArea.equals(curReportArea) || !preX.equals(curX) || !preY.equals(curY)) { - reportConfigAttrFse = new FieldSetEntity(); - reportConfigAttrDte.addFieldSetEntity(reportConfigAttrFse); - reportConfigAttrFse.setTableName(CmnConst.PRODUCT_SYS_REPORT_CONFIG_ATTRIBUTE); - reportConfigAttrFse.setValue(CmnConst.ATTR_X, curX); - reportConfigAttrFse.setValue(CmnConst.ATTR_Y, curY); - reportConfigAttrFse.setValue(CmnConst.ATTR_REPORT_AREA, curReportArea); - } - reportConfigAttrFse.setValue(tempFse.getString(CmnConst.ATTRIBUTE_NAME), tempFse.getString(CmnConst.REPORT_TYPE_ATTR_VALUE)); - preReportArea = curReportArea; - preX = curX; - preY = curY; - } + /** + * 鎶ヨ〃璇︽儏 + * + * @param uuid + * @return + */ + public FieldSetEntity findReportConfig(String uuid) { + StringBuilder sql = new StringBuilder(256); + sql.append("\nselect report_area,cell_position_y,cell_position_x,attribute_name,report_type_attr_value") + .append("\nfrom (") + .append("\n select report_area,cell_position_y,cell_position_x,report_type_attr_value,report_type_attr FROM product_sys_report_config_attribute ca") + .append("\n where report_config_uuid=?") + .append("\n) ca") + .append("\nleft join (") + .append("\n select uuid,attribute_name FROM product_sys_report_type_attribute where type_group='DataList'") + .append("\n) ta on ca.report_type_attr=ta.uuid") + .append("\nwhere attribute_name is not null ") + .append("\norder by report_area,cell_position_y,cell_position_x"); + DataTableEntity tempDte = baseDao.listTable(sql.toString(), new Object[]{uuid}); + DataTableEntity reportConfigAttrDte = new DataTableEntity(); + FieldSetEntity tempFse; + FieldSetEntity reportConfigAttrFse = new FieldSetEntity(); + String curReportArea; + String curX; + String curY; + String preReportArea = ""; + String preX = ""; + String preY = ""; + for (int i = 0; i < tempDte.getRows(); i++) { + tempFse = tempDte.getFieldSetEntity(i); + curReportArea = tempFse.getString(CmnConst.ATTR_REPORT_AREA); + curX = tempFse.getString(CmnConst.CELL_POSITION_X); + curY = tempFse.getString(CmnConst.CELL_POSITION_Y); + if (curReportArea == null || curX == null || curY == null) { + continue; + } + if (!preReportArea.equals(curReportArea) || !preX.equals(curX) || !preY.equals(curY)) { + reportConfigAttrFse = new FieldSetEntity(); + reportConfigAttrDte.addFieldSetEntity(reportConfigAttrFse); + reportConfigAttrFse.setTableName(CmnConst.PRODUCT_SYS_REPORT_CONFIG_ATTRIBUTE); + reportConfigAttrFse.setValue(CmnConst.ATTR_X, curX); + reportConfigAttrFse.setValue(CmnConst.ATTR_Y, curY); + reportConfigAttrFse.setValue(CmnConst.ATTR_REPORT_AREA, curReportArea); + } + reportConfigAttrFse.setValue(tempFse.getString(CmnConst.ATTRIBUTE_NAME), tempFse.getString(CmnConst.REPORT_TYPE_ATTR_VALUE)); + preReportArea = curReportArea; + preX = curX; + preY = curY; + } - FieldSetEntity reportConfigFse = baseDao.getFieldSetEntity(CmnConst.PRODUCT_SYS_REPORT_CONFIG, uuid, false); - reportConfigFse.addSubDataTable(reportConfigAttrDte); + FieldSetEntity reportConfigFse = baseDao.getFieldSetEntity(CmnConst.PRODUCT_SYS_REPORT_CONFIG, uuid, false); + reportConfigFse.addSubDataTable(reportConfigAttrDte); - return reportConfigFse; - } + return reportConfigFse; + } - /** - * 鎶ヨ〃鏂板 - * - * @param fse - * @return - */ - @Transactional - public String addReportConfig(FieldSetEntity fse) { - fse.setValue(CmnConst.CREATED_BY, SpringMVCContextHolder.getCurrentUserId()); - fse.setValue(CmnConst.CREATED_UTC_DATETIME, new Date()); - fse.setValue(CmnConst.IS_VALID, 1); + /** + * 鎶ヨ〃鏂板 + * + * @param fse + * @return + */ + @Transactional + public String addReportConfig(FieldSetEntity fse) { + fse.setValue(CmnConst.CREATED_BY, SpringMVCContextHolder.getCurrentUserId()); + fse.setValue(CmnConst.CREATED_UTC_DATETIME, new Date()); + fse.setValue(CmnConst.IS_VALID, 1); - replaceAttrName2UUID(fse); + replaceAttrName2UUID(fse); - if (StringUtils.isEmpty(fse.getString(CmnConst.PAGE_SIZE))) { - fse.setValue(CmnConst.PAGE_SIZE, null); - } + if (StringUtils.isEmpty(fse.getString(CmnConst.PAGE_SIZE))) { + fse.setValue(CmnConst.PAGE_SIZE, null); + } + System.out.println(System.currentTimeMillis()); + String uuid = baseDao.add(fse); + System.out.println(System.currentTimeMillis()); - String uuid = baseDao.add(fse); + if ("1".equals(fse.getString(CmnConst.RELATE_FLAG))) { + // 閲嶆柊璁剧疆缂撳瓨 + dataListReportService.setConfig(fse.getUUID()); + } - if ("1".equals(fse.getString(CmnConst.RELATE_FLAG))) { - // 閲嶆柊璁剧疆缂撳瓨 - dataListReportService.setConfig(fse.getUUID()); - } + return uuid; + } - return uuid; - } + /** + * 鎶ヨ〃淇敼 + * + * @param fse + * @return + */ + @Transactional + public boolean updateReportConfig(FieldSetEntity fse) { + fse.setValue(CmnConst.UPDATED_BY, SpringMVCContextHolder.getCurrentUserId()); + fse.setValue(CmnConst.UPDATED_UTC_DATETIME, new Date()); - /** - * 鎶ヨ〃淇敼 - * - * @param fse - * @return - */ - @Transactional - public boolean updateReportConfig(FieldSetEntity fse) { - fse.setValue(CmnConst.UPDATED_BY, SpringMVCContextHolder.getCurrentUserId()); - fse.setValue(CmnConst.UPDATED_UTC_DATETIME, new Date()); + replaceAttrName2UUID(fse); - replaceAttrName2UUID(fse); + if (StringUtils.isEmpty(fse.getString(CmnConst.PAGE_SIZE))) { + fse.setValue(CmnConst.PAGE_SIZE, null); + } - if (StringUtils.isEmpty(fse.getString(CmnConst.PAGE_SIZE))) { - fse.setValue(CmnConst.PAGE_SIZE, null); - } + boolean result = baseDao.update(fse); - boolean result = baseDao.update(fse); + if ("1".equals(fse.getString(CmnConst.RELATE_FLAG)) || !StringUtils.isEmpty(fse.getString(CmnConst.FUNCTION_UUID))) { + // 閲嶆柊璁剧疆缂撳瓨 + dataListReportService.setConfig(fse.getUUID()); + } - if ("1".equals(fse.getString(CmnConst.RELATE_FLAG)) || !StringUtils.isEmpty(fse.getString(CmnConst.FUNCTION_UUID))) { - // 閲嶆柊璁剧疆缂撳瓨 - dataListReportService.setConfig(fse.getUUID()); - } + return result; + } - return result; - } + /** + * 鏇挎崲灞炴�у悕绉颁负uuid + * + * @param fse + */ + private void replaceAttrName2UUID(FieldSetEntity fse) { + DataTableEntity reportTypeAttrDte = baseDao.listTable(CmnConst.PRODUCT_SYS_REPORT_TYPE_ATTRIBUTE, "type_group='DataList'", new Object[]{}, new Object[]{CmnConst.ATTRIBUTE_NAME, CmnConst.UUID}); + if (!BaseUtil.dataTableIsEmpty(reportTypeAttrDte)) { + Map<String, String> reportTypeAttrMap = Maps.newHashMap(); + FieldSetEntity tempFse; + for (int i = 0; i < reportTypeAttrDte.getRows(); i++) { + tempFse = reportTypeAttrDte.getFieldSetEntity(i); + reportTypeAttrMap.put(tempFse.getString(CmnConst.ATTRIBUTE_NAME), tempFse.getUUID()); + } + DataTableEntity preReportAttrDte = baseDao.listTable(CmnConst.PRODUCT_SYS_REPORT_CONFIG_ATTRIBUTE, "report_config_uuid=?", new Object[]{fse.getUUID()}); + Map<JSONObject, String> preReportAttrMap = Maps.newHashMap(); + JSONObject tempObj; + if (!BaseUtil.dataTableIsEmpty(preReportAttrDte)) { + for (int i = 0; i < preReportAttrDte.getRows(); i++) { + tempFse = preReportAttrDte.getFieldSetEntity(i); + tempObj = new JSONObject(); + tempObj.put(CmnConst.ATTR_REPORT_AREA, tempFse.getString(CmnConst.ATTR_REPORT_AREA)); + tempObj.put(CmnConst.CELL_POSITION_X, tempFse.getString(CmnConst.CELL_POSITION_X)); + tempObj.put(CmnConst.CELL_POSITION_Y, tempFse.getString(CmnConst.CELL_POSITION_Y)); + tempObj.put(CmnConst.REPORT_TYPE_ATTR, tempFse.getString(CmnConst.REPORT_TYPE_ATTR)); + preReportAttrMap.put(tempObj, tempFse.getUUID()); + } + } + DataTableEntity reportAttrDte = fse.getSubDataTable(CmnConst.PRODUCT_SYS_REPORT_CONFIG_ATTRIBUTE); + if (!BaseUtil.dataTableIsEmpty(reportAttrDte)) { + String tempUUID; + for (int i = 0; i < reportAttrDte.getRows(); i++) { + tempFse = reportAttrDte.getFieldSetEntity(i); + tempFse.setValue("report_type_attr_show_name", tempFse.getString(CmnConst.REPORT_TYPE_ATTR)); + tempFse.setValue(CmnConst.REPORT_TYPE_ATTR, reportTypeAttrMap.get(tempFse.getString(CmnConst.REPORT_TYPE_ATTR))); + tempFse.setValue(CmnConst.CELL_POSITION_X, tempFse.getString(CmnConst.ATTR_X)); + tempFse.setValue(CmnConst.CELL_POSITION_Y, tempFse.getString(CmnConst.ATTR_Y)); + String x = tempFse.getString(CmnConst.ATTR_X); + tempObj = new JSONObject(); + tempObj.put(CmnConst.ATTR_REPORT_AREA, tempFse.getString(CmnConst.ATTR_REPORT_AREA)); + tempObj.put(CmnConst.CELL_POSITION_X, tempFse.getString(CmnConst.CELL_POSITION_X)); + tempObj.put(CmnConst.CELL_POSITION_Y, tempFse.getString(CmnConst.CELL_POSITION_Y)); + tempObj.put(CmnConst.REPORT_TYPE_ATTR, tempFse.getString(CmnConst.REPORT_TYPE_ATTR)); - /** - * 鏇挎崲灞炴�у悕绉颁负uuid - * - * @param fse - */ - private void replaceAttrName2UUID(FieldSetEntity fse) { - DataTableEntity reportTypeAttrDte = baseDao.listTable(CmnConst.PRODUCT_SYS_REPORT_TYPE_ATTRIBUTE, "type_group='DataList'", new Object[]{}, new Object[]{CmnConst.ATTRIBUTE_NAME, CmnConst.UUID}); - if (!BaseUtil.dataTableIsEmpty(reportTypeAttrDte)) { - Map<String, String> reportTypeAttrMap = Maps.newHashMap(); - FieldSetEntity tempFse; - for (int i = 0; i < reportTypeAttrDte.getRows(); i++) { - tempFse = reportTypeAttrDte.getFieldSetEntity(i); - reportTypeAttrMap.put(tempFse.getString(CmnConst.ATTRIBUTE_NAME), tempFse.getUUID()); - } - DataTableEntity preReportAttrDte = baseDao.listTable(CmnConst.PRODUCT_SYS_REPORT_CONFIG_ATTRIBUTE, "report_config_uuid=?", new Object[]{fse.getUUID()}); - Map<JSONObject, String> preReportAttrMap = Maps.newHashMap(); - JSONObject tempObj; - if (!BaseUtil.dataTableIsEmpty(preReportAttrDte)) { - for (int i = 0; i < preReportAttrDte.getRows(); i++) { - tempFse = preReportAttrDte.getFieldSetEntity(i); - tempObj = new JSONObject(); - tempObj.put(CmnConst.ATTR_REPORT_AREA, tempFse.getString(CmnConst.ATTR_REPORT_AREA)); - tempObj.put(CmnConst.CELL_POSITION_X, tempFse.getString(CmnConst.CELL_POSITION_X)); - tempObj.put(CmnConst.CELL_POSITION_Y, tempFse.getString(CmnConst.CELL_POSITION_Y)); - tempObj.put(CmnConst.REPORT_TYPE_ATTR, tempFse.getString(CmnConst.REPORT_TYPE_ATTR)); - preReportAttrMap.put(tempObj, tempFse.getUUID()); - } - } - DataTableEntity reportAttrDte = fse.getSubDataTable(CmnConst.PRODUCT_SYS_REPORT_CONFIG_ATTRIBUTE); - if (!BaseUtil.dataTableIsEmpty(reportAttrDte)) { - String tempUUID; - for (int i = 0; i < reportAttrDte.getRows(); i++) { - tempFse = reportAttrDte.getFieldSetEntity(i); - tempFse.setValue(CmnConst.REPORT_TYPE_ATTR, reportTypeAttrMap.get(tempFse.getString(CmnConst.REPORT_TYPE_ATTR))); - tempFse.setValue(CmnConst.CELL_POSITION_X, tempFse.getString(CmnConst.ATTR_X)); - tempFse.setValue(CmnConst.CELL_POSITION_Y, tempFse.getString(CmnConst.ATTR_Y)); + tempUUID = preReportAttrMap.get(tempObj); + if (!StringUtils.isEmpty(tempUUID)) { + tempFse.setValue(CmnConst.UUID, tempUUID); + } + if (StringUtils.isEmpty(tempFse.getString(CmnConst.REPORT_TYPE_ATTR_VALUE))) { + //灞炴�у�兼槸鍚︿负绌� + if (StringUtils.isEmpty(tempFse.getUUID())) { + //娌℃湁淇濆瓨杩囩殑灞炴�� + reportAttrDte.removeFieldSetEntity(i); + i--; + } else { + //鏍囪涓哄垹闄� + tempFse.setValue(CoreConst.SYSTEM_DATA_OPERATE_TYPE, "del"); + } + continue; + } + } + } + } + } - tempObj = new JSONObject(); - tempObj.put(CmnConst.ATTR_REPORT_AREA, tempFse.getString(CmnConst.ATTR_REPORT_AREA)); - tempObj.put(CmnConst.CELL_POSITION_X, tempFse.getString(CmnConst.CELL_POSITION_X)); - tempObj.put(CmnConst.CELL_POSITION_Y, tempFse.getString(CmnConst.CELL_POSITION_Y)); - tempObj.put(CmnConst.REPORT_TYPE_ATTR, tempFse.getString(CmnConst.REPORT_TYPE_ATTR)); + /** + * 鎶ヨ〃鍒犻櫎 + * + * @param uuid + * @return + */ + @Transactional + public boolean deleteReportConfig(String uuid) { + return baseDao.delete(CmnConst.PRODUCT_SYS_REPORT_CONFIG, "uuid=?", new Object[]{uuid}); + } - tempUUID = preReportAttrMap.get(tempObj); - if (!StringUtils.isEmpty(tempUUID)) { - tempFse.setValue(CmnConst.UUID, tempUUID); - } - } - } - } - } + @Autowired + UpdateLoginUserInfoService updateLoginUserInfoService; - /** - * 鎶ヨ〃鍒犻櫎 - * - * @param uuid - * @return - */ - @Transactional - public boolean deleteReportConfig(String uuid) { - return baseDao.delete(CmnConst.PRODUCT_SYS_REPORT_CONFIG, "uuid=?", new Object[]{uuid}); - } + /** + * 鍙栨秷鎶ヨ〃鍙戝竷 + * + * @param fse + * @return + */ + @Transactional + public boolean cancelRelease(FieldSetEntity fse) { + DataTableEntity reportConfigDte = DataPoolCacheImpl.getInstance().getCacheData(CmnConst.CACHE_REPORT_CONFIG, new String[]{fse.getUUID()}); + if (BaseUtil.dataTableIsEmpty(reportConfigDte)) { + throw new BaseException(ReportCode.GET_REPORT_CONFIG_FIAL.getValue(), ReportCode.GET_REPORT_CONFIG_FIAL.getText()); + } + FieldSetEntity reportConfigFse = reportConfigDte.getFieldSetEntity(0); + String functionUUID = reportConfigFse.getString(CmnConst.FUNCTION_UUID); + if (StringUtils.isEmpty(functionUUID)) { + return false; + } - @Autowired - UpdateLoginUserInfoService updateLoginUserInfoService; + DataTableEntity dt = baseDao.listTable(CmnConst.PRODUCT_SYS_FUNCTION_PERMISSION, "function_uuid=?", new Object[]{functionUUID}, new Object[]{"role_uuid uuid"}); + //浠庤鑹叉潈闄愪腑绉婚櫎 + baseDao.delete(CmnConst.PRODUCT_SYS_FUNCTION_PERMISSION, "function_uuid=?", new Object[]{functionUUID}); + //鍒犻櫎杩炵嚎 + baseDao.delete(CmnConst.PRODUCT_SYS_LINK, "function_uuid=?", new Object[]{functionUUID}); + //鍒犻櫎鎸夐挳 + baseDao.delete(CmnConst.PRODUCT_SYS_FUNCTION_BUTTONS, "function_uuid=?", new Object[]{functionUUID}); + //鍒犻櫎椤甸潰 + baseDao.delete(CmnConst.PRODUCT_SYS_MVC_PAGE, "function_uuid=?", new Object[]{functionUUID}); - /** - * 鍙栨秷鎶ヨ〃鍙戝竷 - * - * @param fse - * @return - */ - @Transactional - public boolean cancelRelease(FieldSetEntity fse) { - DataTableEntity reportConfigDte = DataPoolCacheImpl.getInstance().getCacheData(CmnConst.CACHE_REPORT_CONFIG, new String[]{fse.getUUID()}); - if (BaseUtil.dataTableIsEmpty(reportConfigDte)) { - throw new BaseException(ReportCode.GET_REPORT_CONFIG_FIAL.getValue(), ReportCode.GET_REPORT_CONFIG_FIAL.getText()); - } - FieldSetEntity reportConfigFse = reportConfigDte.getFieldSetEntity(0); - String functionUUID = reportConfigFse.getString(CmnConst.FUNCTION_UUID); - if (StringUtils.isEmpty(functionUUID)) { - return false; - } + //鍒犻櫎鑿滃崟 + baseDao.delete(CmnConst.PRODUCT_SYS_MENUS, "function_uuid=?", new Object[]{functionUUID}); + //鍒犻櫎鍔熻兘 + baseDao.delete(CmnConst.PRODUCT_SYS_FUNCTIONS, "uuid=?", new Object[]{functionUUID}); - DataTableEntity dt = baseDao.listTable(CmnConst.PRODUCT_SYS_FUNCTION_PERMISSION, "function_uuid=?", new Object[]{functionUUID}, new Object[]{"role_uuid uuid"}); - //浠庤鑹叉潈闄愪腑绉婚櫎 - baseDao.delete(CmnConst.PRODUCT_SYS_FUNCTION_PERMISSION, "function_uuid=?", new Object[]{functionUUID}); - //鍒犻櫎杩炵嚎 - baseDao.delete(CmnConst.PRODUCT_SYS_LINK, "function_uuid=?", new Object[]{functionUUID}); - //鍒犻櫎鎸夐挳 - baseDao.delete(CmnConst.PRODUCT_SYS_FUNCTION_BUTTONS, "function_uuid=?", new Object[]{functionUUID}); - //鍒犻櫎椤甸潰 - baseDao.delete(CmnConst.PRODUCT_SYS_MVC_PAGE, "function_uuid=?", new Object[]{functionUUID}); + //鏁版嵁鍥炲啓 + fse.setValue(CmnConst.FUNCTION_UUID, ""); - //鍒犻櫎鑿滃崟 - baseDao.delete(CmnConst.PRODUCT_SYS_MENUS, "function_uuid=?", new Object[]{functionUUID}); - //鍒犻櫎鍔熻兘 - baseDao.delete(CmnConst.PRODUCT_SYS_FUNCTIONS, "uuid=?", new Object[]{functionUUID}); + if (!DataTableEntity.isEmpty(dt)) { + updateLoginUserInfoService.updateUserInfoByUpdateRole(dt.getUuids(), true); + } + return baseDao.update(fse); + } - //鏁版嵁鍥炲啓 - fse.setValue(CmnConst.FUNCTION_UUID, ""); + /** + * 鎶ヨ〃鍙戝竷 + * + * @param fse + * @return + */ + @Transactional + public boolean releaseConfig(FieldSetEntity fse) { - if (!DataTableEntity.isEmpty(dt)) { - updateLoginUserInfoService.updateUserInfoByUpdateRole(dt.getUuids(), true); - } - return baseDao.update(fse); - } + FieldSetEntity fseReport = baseDao.getFieldSetEntity(CmnConst.PRODUCT_SYS_REPORT_CONFIG, fse.getUUID(), false); - /** - * 鎶ヨ〃鍙戝竷 - * - * @param fse - * @return - */ - @Transactional - public boolean releaseConfig(FieldSetEntity fse) { + //鍒涘缓MVCC淇濆瓨瀵硅薄 + FieldSetEntity fseFunction = new FieldSetEntity(); + //1.鍒涘缓MVC(绯荤粺MVC鐩綍涓�) + //鐢熸垚鍔熻兘缂栫爜 + String defaultCode = "001-005"; + fseFunction.setTableName(CmnConst.PRODUCT_SYS_FUNCTIONS); + codeService.createCode(fseFunction, CmnConst.PRODUCT_SYS_FUNCTIONS, CmnConst.TRICODE, defaultCode); + fseFunction.setValue(CmnConst.TABLE_UUID, CmnConst.PRODUCT_SYS_REPORT_CONFIG); //鍔熻兘鍏宠仈琛� + fseFunction.setValue(CmnConst.FUNCTION_NAME, fseReport.getString(CmnConst.REPORT_NAME)); //鍔熻兘鍚嶇О + fseFunction.setValue(CmnConst.FUNCTION_DESCRIPTION, fseReport.getString(CmnConst.REPORT_NAME)); //鍔熻兘鎻忚堪 + fseFunction.setValue(CmnConst.STATUS_UUID, 1); //鏄惁鍚敤 + fseFunction.setValue(CmnConst.FUNCTION_TYPE_UUID, 1); //鍔熻兘绫诲瀷-涓氬姟鍔熻兘 + fseFunction.setValue(CmnConst.CLIENT_TYPE_UUID, "Web"); //瀹㈡埛绔被鍨� + fseFunction.setValue(CmnConst.VERSION_UUID, "001"); + fseFunction.setValue(CmnConst.DATA_TYPE, 1);// 鏁版嵁绫诲瀷 + fseFunction.setValue(CmnConst.TRICODE_PARENT, defaultCode);// 涓婄骇妯″潡code + fseFunction.setValue("terminal_type", 1); + BaseUtil.createCreatorAndCreationTime(SpringMVCContextHolder.getCurrentUser(), fseFunction); - FieldSetEntity fseReport = baseDao.getFieldSetEntity(CmnConst.PRODUCT_SYS_REPORT_CONFIG, fse.getUUID(), false); + //鍒涘缓鎸夐挳淇濆瓨瀵硅薄 + DataTableEntity dtButton = new DataTableEntity(); + FieldSetEntity fseButton = new FieldSetEntity(); + fseButton.setTableName(CmnConst.PRODUCT_SYS_FUNCTION_BUTTONS); + fseButton.setValue(CmnConst.IS_MAIN, 1); //鏄惁鍏ュ彛 + fseButton.setValue(CmnConst.STATUS_UUID, 1); //鏄惁鍚敤 + fseButton.setValue(CmnConst.CLIENT_TYPE_UUID, "Web"); //瀹㈡埛绔被鍨� + fseButton.setValue(CmnConst.BUTTON_NAME, "鍏ュ彛"); //鎸夐挳鍚嶇О + fseButton.setValue(CmnConst.BUTTON_TITLE, "entrance"); //鎸夐挳鏍囬 + fseButton.setValue(CmnConst.BUTTON_TYPE, 1); //鎸夐挳绫诲瀷 + fseButton.setValue(CmnConst.BUTTON_CATEGORY_UUID, "main"); //鎸夐挳鍒嗙被 + fseButton.setValue(CmnConst.ROUTE_NAME, BaseUtil.getPageCode()); //璺敱鍚嶇О + fseButton.setValue(CmnConst.UPLOAD_API_URL, CmnConst.ADDRESS_INIT_INTERFENCE);// 鍏ュ彛鎺ュ彛鍦板潃 + fseButton.setValue("terminal_type", 1); + JSONObject paramObj = new JSONObject(); + paramObj.put(CmnConst.UUID, fse.getUUID()); + fseButton.setValue(CmnConst.PARAMS, paramObj.toString());// 鎺ュ彛鍙傛暟 + fseButton.setValue(CmnConst.TOP_LOCATION, "100px"); + fseButton.setValue(CmnConst.LEFT_LOCATION, "100px"); + dtButton.setMeta(fseButton.getMeta()); + dtButton.addFieldSetEntity(fseButton); - //鍒涘缓MVCC淇濆瓨瀵硅薄 - FieldSetEntity fseFunction = new FieldSetEntity(); - //1.鍒涘缓MVC(绯荤粺MVC鐩綍涓�) - //鐢熸垚鍔熻兘缂栫爜 - String defaultCode = "001-005"; - fseFunction.setTableName(CmnConst.PRODUCT_SYS_FUNCTIONS); - codeService.createCode(fseFunction, CmnConst.PRODUCT_SYS_FUNCTIONS, CmnConst.TRICODE, defaultCode); - fseFunction.setValue(CmnConst.TABLE_UUID, CmnConst.PRODUCT_SYS_REPORT_CONFIG); //鍔熻兘鍏宠仈琛� - fseFunction.setValue(CmnConst.FUNCTION_NAME, fseReport.getString(CmnConst.REPORT_NAME)); //鍔熻兘鍚嶇О - fseFunction.setValue(CmnConst.FUNCTION_DESCRIPTION, fseReport.getString(CmnConst.REPORT_NAME)); //鍔熻兘鎻忚堪 - fseFunction.setValue(CmnConst.STATUS_UUID, 1); //鏄惁鍚敤 - fseFunction.setValue(CmnConst.FUNCTION_TYPE_UUID, 1); //鍔熻兘绫诲瀷-涓氬姟鍔熻兘 - fseFunction.setValue(CmnConst.CLIENT_TYPE_UUID, "Web"); //瀹㈡埛绔被鍨� - fseFunction.setValue(CmnConst.VERSION_UUID, "001"); - fseFunction.setValue(CmnConst.DATA_TYPE, 1);// 鏁版嵁绫诲瀷 - fseFunction.setValue(CmnConst.TRICODE_PARENT, defaultCode);// 涓婄骇妯″潡code - fseFunction.setValue("terminal_type", 1); - BaseUtil.createCreatorAndCreationTime(SpringMVCContextHolder.getCurrentUser(), fseFunction); - - //鍒涘缓鎸夐挳淇濆瓨瀵硅薄 - DataTableEntity dtButton = new DataTableEntity(); - FieldSetEntity fseButton = new FieldSetEntity(); - fseButton.setTableName(CmnConst.PRODUCT_SYS_FUNCTION_BUTTONS); - fseButton.setValue(CmnConst.IS_MAIN, 1); //鏄惁鍏ュ彛 - fseButton.setValue(CmnConst.STATUS_UUID, 1); //鏄惁鍚敤 - fseButton.setValue(CmnConst.CLIENT_TYPE_UUID, "Web"); //瀹㈡埛绔被鍨� - fseButton.setValue(CmnConst.BUTTON_NAME, "鍏ュ彛"); //鎸夐挳鍚嶇О - fseButton.setValue(CmnConst.BUTTON_TITLE, "entrance"); //鎸夐挳鏍囬 - fseButton.setValue(CmnConst.BUTTON_TYPE, 1); //鎸夐挳绫诲瀷 - fseButton.setValue(CmnConst.BUTTON_CATEGORY_UUID, "main"); //鎸夐挳鍒嗙被 - fseButton.setValue(CmnConst.ROUTE_NAME, BaseUtil.getPageCode()); //璺敱鍚嶇О - fseButton.setValue(CmnConst.UPLOAD_API_URL, CmnConst.ADDRESS_INIT_INTERFENCE);// 鍏ュ彛鎺ュ彛鍦板潃 - fseButton.setValue("terminal_type", 1); - JSONObject paramObj = new JSONObject(); - paramObj.put(CmnConst.UUID, fse.getUUID()); - fseButton.setValue(CmnConst.PARAMS, paramObj.toString());// 鎺ュ彛鍙傛暟 - fseButton.setValue(CmnConst.TOP_LOCATION, "100px"); - fseButton.setValue(CmnConst.LEFT_LOCATION, "100px"); - dtButton.setMeta(fseButton.getMeta()); - dtButton.addFieldSetEntity(fseButton); - - //鍒涘缓椤甸潰淇濆瓨瀵硅薄 - DataTableEntity dtPage = new DataTableEntity(); - FieldSetEntity fsePage = new FieldSetEntity(); - fsePage.setTableName(CmnConst.PRODUCT_SYS_MVC_PAGE); + //鍒涘缓椤甸潰淇濆瓨瀵硅薄 + DataTableEntity dtPage = new DataTableEntity(); + FieldSetEntity fsePage = new FieldSetEntity(); + fsePage.setTableName(CmnConst.PRODUCT_SYS_MVC_PAGE); // fsePage.setValue(CmnConst.PAGE_NAME, "鎶ヨ〃灞曠ず"); - fsePage.setValue(CmnConst.PAGE_NAME, fse.getString(CmnConst.MENU_NAME)); - fsePage.setValue(CmnConst.PAGE_TYPE, 2); - fsePage.setValue(CmnConst.PAGE_URL, CmnConst.ADDRESS_REPORT_SHOW); - fsePage.setValue(CmnConst.TOP_LOCATION, "300px"); - fsePage.setValue(CmnConst.LEFT_LOCATION, "100px"); - fsePage.setValue(CmnConst.PAGE_OPEN_WITH, 0); - fsePage.setValue(CmnConst.PAGE_TYPE, 0); - fsePage.setValue("terminal_type", 1); - dtPage.addFieldSetEntity(fsePage); + fsePage.setValue(CmnConst.PAGE_NAME, fse.getString(CmnConst.MENU_NAME)); + fsePage.setValue(CmnConst.PAGE_TYPE, 2); + fsePage.setValue(CmnConst.PAGE_URL, CmnConst.ADDRESS_REPORT_SHOW); + fsePage.setValue(CmnConst.TOP_LOCATION, "300px"); + fsePage.setValue(CmnConst.LEFT_LOCATION, "100px"); + fsePage.setValue(CmnConst.PAGE_OPEN_WITH, 0); + fsePage.setValue(CmnConst.PAGE_TYPE, 0); + fsePage.setValue("terminal_type", 1); + dtPage.addFieldSetEntity(fsePage); - fseFunction.addSubDataTable(dtButton); - fseFunction.addSubDataTable(dtPage); + fseFunction.addSubDataTable(dtButton); + fseFunction.addSubDataTable(dtPage); - String functionUUID = baseDao.add(fseFunction); + String functionUUID = baseDao.add(fseFunction); - //鍒涘缓杩炵嚎淇濆瓨瀵硅薄 - FieldSetEntity fseLink = new FieldSetEntity(); - fseLink.setTableName(CmnConst.PRODUCT_SYS_LINK); - fseLink.setValue(CmnConst.LINK_TYPE, 0); //杩炵嚎绫诲瀷 - fseLink.setValue(CmnConst.FUNCTION_UUID, functionUUID); //鎵�灞炲姛鑳経UID - fseLink.setValue(CmnConst.LINE_FROM, fseButton.getUUID()); //璧峰绔� - fseLink.setValue(CmnConst.FROM_TYPE, 0); //璧峰绔被鍨� - fseLink.setValue(CmnConst.LINE_TO, fsePage.getUUID()); //缁撴潫绔� - fseLink.setValue(CmnConst.TO_TYPE, 2); //缁撴潫绔被鍨� - fseLink.setValue("terminal_type", 1); - BaseUtil.createCreatorAndCreationTime(SpringMVCContextHolder.getCurrentUser(), fseLink); + //鍒涘缓杩炵嚎淇濆瓨瀵硅薄 + FieldSetEntity fseLink = new FieldSetEntity(); + fseLink.setTableName(CmnConst.PRODUCT_SYS_LINK); + fseLink.setValue(CmnConst.LINK_TYPE, 0); //杩炵嚎绫诲瀷 + fseLink.setValue(CmnConst.FUNCTION_UUID, functionUUID); //鎵�灞炲姛鑳経UID + fseLink.setValue(CmnConst.LINE_FROM, fseButton.getUUID()); //璧峰绔� + fseLink.setValue(CmnConst.FROM_TYPE, 0); //璧峰绔被鍨� + fseLink.setValue(CmnConst.LINE_TO, fsePage.getUUID()); //缁撴潫绔� + fseLink.setValue(CmnConst.TO_TYPE, 2); //缁撴潫绔被鍨� + fseLink.setValue("terminal_type", 1); + BaseUtil.createCreatorAndCreationTime(SpringMVCContextHolder.getCurrentUser(), fseLink); - baseDao.add(fseLink); + baseDao.add(fseLink); - // 鎻愬彇鍙戝竷鐨勮鑹茬浉鍏虫暟鎹� - List<String> roleUUIDList = Lists.newArrayList(); - List<String> clientUUIDList = Lists.newArrayList(); - String[] singleRoleInfoArr; - for (String singleRoleInfo : fse.getString(CmnConst.ROLE_UUID).split("#")) { - singleRoleInfoArr = singleRoleInfo.split(","); - roleUUIDList.add(singleRoleInfoArr[2]); - clientUUIDList.add(singleRoleInfoArr[0]); - } + // 鎻愬彇鍙戝竷鐨勮鑹茬浉鍏虫暟鎹� + List<String> roleUUIDList = Lists.newArrayList(); + List<String> clientUUIDList = Lists.newArrayList(); + String[] singleRoleInfoArr; + for (String singleRoleInfo : fse.getString(CmnConst.ROLE_UUID).split("#")) { + singleRoleInfoArr = singleRoleInfo.split(","); + roleUUIDList.add(singleRoleInfoArr[2]); + clientUUIDList.add(singleRoleInfoArr[0]); + } - // 2.缁戝畾瑙掕壊(缁欐煇涓�瑙掕壊璧嬩簣璇ュ姛鑳�) - for (String roleUUID : roleUUIDList) { - FieldSetEntity fseFunctionButton = new FieldSetEntity(); - fseFunctionButton.setTableName(CmnConst.PRODUCT_SYS_FUNCTION_PERMISSION); - fseFunctionButton.setValue(CmnConst.FUNCTION_UUID, functionUUID);// 鎵�灞炲姛鑳経UID - fseFunctionButton.setValue(CmnConst.BUTTON_UUID, fseButton.getUUID());// 鎸夐挳UUID - fseFunctionButton.setValue(CmnConst.ROLE_UUID, roleUUID);// 鎵�灞炶鑹睻UID - baseDao.add(fseFunctionButton); - } + // 2.缁戝畾瑙掕壊(缁欐煇涓�瑙掕壊璧嬩簣璇ュ姛鑳�) + for (String roleUUID : roleUUIDList) { + FieldSetEntity fseFunctionButton = new FieldSetEntity(); + fseFunctionButton.setTableName(CmnConst.PRODUCT_SYS_FUNCTION_PERMISSION); + fseFunctionButton.setValue(CmnConst.FUNCTION_UUID, functionUUID);// 鎵�灞炲姛鑳経UID + fseFunctionButton.setValue(CmnConst.BUTTON_UUID, fseButton.getUUID());// 鎸夐挳UUID + fseFunctionButton.setValue(CmnConst.ROLE_UUID, roleUUID);// 鎵�灞炶鑹睻UID + baseDao.add(fseFunctionButton); + } - // 3.缁戝畾瀹㈡埛瑙掕壊(缁欐煇涓�瀹㈡埛瑙掕壊璧嬩簣璇ュ姛鑳�) - for (String clientUUID : clientUUIDList) { - DataTableEntity clientDte = DataPoolCacheImpl.getInstance().getCacheData("瀹㈡埛淇℃伅", new String[]{clientUUID}); - if (BaseUtil.dataTableIsEmpty(clientDte)) { - continue; - } - FieldSetEntity clientFse = clientDte.getFieldSetEntity(0); - FieldSetEntity fseClientFunctionButton = new FieldSetEntity(); - fseClientFunctionButton.setTableName(CmnConst.PRODUCT_SYS_FUNCTION_PERMISSION); - fseClientFunctionButton.setValue(CmnConst.FUNCTION_UUID, functionUUID);// 鎵�灞炲姛鑳経UID - fseClientFunctionButton.setValue(CmnConst.BUTTON_UUID, fseButton.getUUID());// 鎸夐挳UUID - fseClientFunctionButton.setValue(CmnConst.ROLE_UUID, clientFse.getString(CmnConst.ROLE_UUID));// 鎵�灞炶鑹睻UID - baseDao.add(fseClientFunctionButton); - } + // 3.缁戝畾瀹㈡埛瑙掕壊(缁欐煇涓�瀹㈡埛瑙掕壊璧嬩簣璇ュ姛鑳�) + for (String clientUUID : clientUUIDList) { + DataTableEntity clientDte = DataPoolCacheImpl.getInstance().getCacheData("瀹㈡埛淇℃伅", new String[]{clientUUID}); + if (BaseUtil.dataTableIsEmpty(clientDte)) { + continue; + } + FieldSetEntity clientFse = clientDte.getFieldSetEntity(0); + FieldSetEntity fseClientFunctionButton = new FieldSetEntity(); + fseClientFunctionButton.setTableName(CmnConst.PRODUCT_SYS_FUNCTION_PERMISSION); + fseClientFunctionButton.setValue(CmnConst.FUNCTION_UUID, functionUUID);// 鎵�灞炲姛鑳経UID + fseClientFunctionButton.setValue(CmnConst.BUTTON_UUID, fseButton.getUUID());// 鎸夐挳UUID + fseClientFunctionButton.setValue(CmnConst.ROLE_UUID, clientFse.getString(CmnConst.ROLE_UUID));// 鎵�灞炶鑹睻UID + baseDao.add(fseClientFunctionButton); + } - //4.鍒涘缓鑿滃崟(鏍规嵁鍓嶇鎵�閫夌埗绾ц彍鍗�) - FieldSetEntity fseMenu = new FieldSetEntity(); - fseMenu.setTableName(CmnConst.PRODUCT_SYS_MENUS); - codeService.createCode(fseMenu, CmnConst.PRODUCT_SYS_MENUS, CmnConst.TRICODE, fse.getString(CmnConst.TRICODE_PARENT)); - fseMenu.setValue(CmnConst.TRICODE_PARENT, fse.getString(CmnConst.TRICODE_PARENT)); - fseMenu.setValue(CmnConst.MENU_NAME, fse.getString(CmnConst.MENU_NAME)); - fseMenu.setValue(CmnConst.FUNCTION_UUID, functionUUID); - fseMenu.setValue(CmnConst.SEQUENCE, fse.getString(CmnConst.SEQUENCE)); - fseMenu.setValue(CmnConst.IS_CATALOG, 0); - fseMenu.setValue(CmnConst.IS_SHOW, StringUtils.isEmpty(fse.getString(CmnConst.IS_SHOW)) ? 1 : fse.getString(CmnConst.IS_SHOW)); - fseMenu.setValue(CmnConst.MENU_ICON, fse.getString(CmnConst.MENU_ICON)); - BaseUtil.createCreatorAndCreationTime(SpringMVCContextHolder.getCurrentUser(), fseMenu); + //4.鍒涘缓鑿滃崟(鏍规嵁鍓嶇鎵�閫夌埗绾ц彍鍗�) + FieldSetEntity fseMenu = new FieldSetEntity(); + fseMenu.setTableName(CmnConst.PRODUCT_SYS_MENUS); + codeService.createCode(fseMenu, CmnConst.PRODUCT_SYS_MENUS, CmnConst.TRICODE, fse.getString(CmnConst.TRICODE_PARENT)); + fseMenu.setValue(CmnConst.TRICODE_PARENT, fse.getString(CmnConst.TRICODE_PARENT)); + fseMenu.setValue(CmnConst.MENU_NAME, fse.getString(CmnConst.MENU_NAME)); + fseMenu.setValue(CmnConst.FUNCTION_UUID, functionUUID); + fseMenu.setValue(CmnConst.SEQUENCE, fse.getString(CmnConst.SEQUENCE)); + fseMenu.setValue(CmnConst.IS_CATALOG, 0); + fseMenu.setValue(CmnConst.IS_SHOW, StringUtils.isEmpty(fse.getString(CmnConst.IS_SHOW)) ? 1 : fse.getString(CmnConst.IS_SHOW)); + fseMenu.setValue(CmnConst.MENU_ICON, fse.getString(CmnConst.MENU_ICON)); + BaseUtil.createCreatorAndCreationTime(SpringMVCContextHolder.getCurrentUser(), fseMenu); - baseDao.add(fseMenu); + baseDao.add(fseMenu); - //鏁版嵁鍥炲啓 - fseReport.setValue(CmnConst.FUNCTION_UUID, functionUUID); + //鏁版嵁鍥炲啓 + fseReport.setValue(CmnConst.FUNCTION_UUID, functionUUID); - boolean result = baseDao.update(fseReport); + boolean result = baseDao.update(fseReport); - // 閲嶆柊璁剧疆缂撳瓨 - dataListReportService.setConfig(fseReport.getUUID()); + // 閲嶆柊璁剧疆缂撳瓨 + dataListReportService.setConfig(fseReport.getUUID()); - return result; - } + return result; + } - /** - * 鎶ヨ〃copy - * - * @param uuid - * @return - */ - public String copyConfig(String uuid) { - FieldSetEntity fse = baseDao.getFieldSetEntity(CmnConst.PRODUCT_SYS_REPORT_CONFIG, uuid, true); - FieldSetEntity fseCopy = fse; - fseCopy.remove(CmnConst.ID); - fseCopy.remove(CmnConst.UUID); - DataTableEntity dtSub = fseCopy.getSubDataTable(CmnConst.PRODUCT_SYS_REPORT_CONFIG_ATTRIBUTE); - if (dtSub != null && dtSub.getRows() > 0) { - for (int i = 0; i < dtSub.getRows(); i++) { - FieldSetEntity fseSub = dtSub.getFieldSetEntity(i); - fseSub.remove(CmnConst.ID); - fseSub.remove(CmnConst.UUID); - } - } - return baseDao.add(fseCopy, true); - } + /** + * 鎶ヨ〃copy + * + * @param uuid + * @return + */ + public String copyConfig(String uuid) { + FieldSetEntity fse = baseDao.getFieldSetEntity(CmnConst.PRODUCT_SYS_REPORT_CONFIG, uuid, true); + FieldSetEntity fseCopy = fse; + fseCopy.remove(CmnConst.ID); + fseCopy.remove(CmnConst.UUID); + DataTableEntity dtSub = fseCopy.getSubDataTable(CmnConst.PRODUCT_SYS_REPORT_CONFIG_ATTRIBUTE); + if (dtSub != null && dtSub.getRows() > 0) { + for (int i = 0; i < dtSub.getRows(); i++) { + FieldSetEntity fseSub = dtSub.getFieldSetEntity(i); + fseSub.remove(CmnConst.ID); + fseSub.remove(CmnConst.UUID); + } + } + return baseDao.add(fseCopy, true); + } - /** - * 閰嶇疆鎶ヨ〃-寮曠敤 - * - * @param fse - * @return - */ - public FieldSetEntity quoteReportConfig(FieldSetEntity fse) { - FieldSetEntity sourceFse = findReportConfig(fse.getUUID()); - sourceFse.setValue(CmnConst.DATASOURCE_UUID, fse.getString(CmnConst.DATASOURCE_UUID)); - sourceFse.remove(new String[]{CmnConst.ID, CmnConst.UUID, CmnConst.CREATED_BY, CmnConst.CREATED_UTC_DATETIME, CmnConst.UPDATED_BY, CmnConst.CREATED_UTC_DATETIME, CmnConst.REPORT_NAME}); - DataTableEntity subDte = sourceFse.getSubDataTable(CmnConst.PRODUCT_SYS_REPORT_CONFIG_ATTRIBUTE); - FieldSetEntity subFse; - for (int i = 0; i < subDte.getRows(); i++) { - subFse = subDte.getFieldSetEntity(i); - subFse.remove(new String[]{CmnConst.ID, CmnConst.UUID, CmnConst.CREATED_BY, CmnConst.CREATED_UTC_DATETIME, CmnConst.UPDATED_BY, CmnConst.CREATED_UTC_DATETIME}); - } - return sourceFse; - } + /** + * 閰嶇疆鎶ヨ〃-寮曠敤 + * + * @param fse + * @return + */ + public FieldSetEntity quoteReportConfig(FieldSetEntity fse) { + FieldSetEntity sourceFse = findReportConfig(fse.getUUID()); + sourceFse.setValue(CmnConst.DATASOURCE_UUID, fse.getString(CmnConst.DATASOURCE_UUID)); + sourceFse.remove(new String[]{CmnConst.ID, CmnConst.UUID, CmnConst.CREATED_BY, CmnConst.CREATED_UTC_DATETIME, CmnConst.UPDATED_BY, CmnConst.CREATED_UTC_DATETIME, CmnConst.REPORT_NAME}); + DataTableEntity subDte = sourceFse.getSubDataTable(CmnConst.PRODUCT_SYS_REPORT_CONFIG_ATTRIBUTE); + FieldSetEntity subFse; + for (int i = 0; i < subDte.getRows(); i++) { + subFse = subDte.getFieldSetEntity(i); + subFse.remove(new String[]{CmnConst.ID, CmnConst.UUID, CmnConst.CREATED_BY, CmnConst.CREATED_UTC_DATETIME, CmnConst.UPDATED_BY, CmnConst.CREATED_UTC_DATETIME}); + } + return sourceFse; + } - /** - * 鑾峰彇鎶ヨ〃鍙戝竷淇℃伅-鍙戝竷 - * - * @return - */ - public JSONArray getReportReleaseInfo() { - StringBuilder sql = new StringBuilder(256); - DataTableEntity aimDte = new DataTableEntity(); - DataTableEntity dte; - Object[] arr; - String filter; - sql.append("select distinct null pid,uuid sid,client_name name FROM product_sys_clients c") - .append("\ninner join (") - .append("\n select client_uuid pid,uuid sid,org_level_name FROM product_sys_org_levels where org_level_status=0 order by org_level_code") - .append("\n) o on o.pid=c.uuid") - .append("\ninner join (") - .append("\n select org_level_uuid pid,uuid sid,role_name FROM product_sys_role where is_used=1") - .append("\n) r on r.pid=o.sid"); - // 鍘绘帀admin鎵�灞炲鎴� + /** + * 鑾峰彇鎶ヨ〃鍙戝竷淇℃伅-鍙戝竷 + * + * @return + */ + public JSONArray getReportReleaseInfo() { + StringBuilder sql = new StringBuilder(256); + DataTableEntity aimDte = new DataTableEntity(); + DataTableEntity dte; + Object[] arr; + String filter; + sql.append("select distinct null pid,uuid sid,client_name name FROM product_sys_clients c") + .append("\ninner join (") + .append("\n select client_uuid pid,uuid sid,org_level_name FROM product_sys_org_levels where org_level_status=0 order by org_level_code") + .append("\n) o on o.pid=c.uuid") + .append("\ninner join (") + .append("\n select org_level_uuid pid,uuid sid,role_name FROM product_sys_role where is_used=1") + .append("\n) r on r.pid=o.sid"); + // 鍘绘帀admin鎵�灞炲鎴� // .append("\nwhere c.uuid!='4d4679ed-c4c3-41b8-abfe-451a66fd4043'"); - dte = baseDao.listTable(sql.toString(), new Object[]{}); + dte = baseDao.listTable(sql.toString(), new Object[]{}); - aimDte.addFieldSetEntity(dte); + aimDte.addFieldSetEntity(dte); - arr = dte.getFieldAllValues("sid"); - filter = BaseUtil.buildQuestionMarkFilter("client_uuid", arr.length, true); - sql.setLength(0); - sql.append("\nselect distinct o.* from (") - .append("\n select client_uuid pid,uuid sid,org_level_name name FROM product_sys_org_levels where org_level_status=0") - .append("\n and ").append(filter) - .append("\n order by org_level_code") - .append("\n) o") - .append("\ninner join (") - .append("\n select org_level_uuid pid,uuid sid,role_name FROM product_sys_role where is_used=1") - .append("\n) r on r.pid=o.sid"); - dte = baseDao.listTable(sql.toString(), arr); - aimDte.addFieldSetEntity(dte); + arr = dte.getFieldAllValues("sid"); + filter = BaseUtil.buildQuestionMarkFilter("client_uuid", arr.length, true); + sql.setLength(0); + sql.append("\nselect distinct o.* from (") + .append("\n select client_uuid pid,uuid sid,org_level_name name FROM product_sys_org_levels where org_level_status=0") + .append("\n and ").append(filter) + .append("\n order by org_level_code") + .append("\n) o") + .append("\ninner join (") + .append("\n select org_level_uuid pid,uuid sid,role_name FROM product_sys_role where is_used=1") + .append("\n) r on r.pid=o.sid"); + dte = baseDao.listTable(sql.toString(), arr); + aimDte.addFieldSetEntity(dte); - arr = dte.getFieldAllValues("sid"); - filter = BaseUtil.buildQuestionMarkFilter("org_level_uuid", arr.length, true); - sql.setLength(0); - sql.append("\nselect org_level_uuid pid,uuid sid,role_name name FROM product_sys_role where is_used=1").append(" and ").append(filter); - dte = baseDao.listTable(sql.toString(), arr); - aimDte.addFieldSetEntity(dte); + arr = dte.getFieldAllValues("sid"); + filter = BaseUtil.buildQuestionMarkFilter("org_level_uuid", arr.length, true); + sql.setLength(0); + sql.append("\nselect org_level_uuid pid,uuid sid,role_name name FROM product_sys_role where is_used=1").append(" and ").append(filter); + dte = baseDao.listTable(sql.toString(), arr); + aimDte.addFieldSetEntity(dte); - return BaseUtil.dataTableToTreeData(aimDte, "sid", "pid", null, false); - } + return BaseUtil.dataTableToTreeData(aimDte, "sid", "pid", null, false); + } - /** - * 鑾峰彇鎶ヨ〃鍙戝竷淇℃伅-鍙戝竷鍚庢煡鐪嬩俊鎭� - * - * @return - */ - public JSONObject viewReportReleaseInfo(FieldSetEntity fse) { - DataTableEntity reportConfigDte = DataPoolCacheImpl.getInstance().getCacheData(CmnConst.CACHE_REPORT_CONFIG, new String[]{fse.getUUID()}); - if (BaseUtil.dataTableIsEmpty(reportConfigDte)) { - throw new BaseException(ReportCode.GET_REPORT_RELEASE_INFO_FAIL.getValue(), ReportCode.GET_REPORT_RELEASE_INFO_FAIL.getText()); - } - FieldSetEntity reportConfigFse = reportConfigDte.getFieldSetEntity(0); - StringBuilder sql = new StringBuilder(256); - sql.append("\nselect group_concat(single_role_uuid separator '#') role_uuid") - .append("\nfrom (") - .append("\n select concat(client_uuid,',',uuid,',',role_uuid) single_role_uuid") - .append("\n FROM product_sys_org_levels o") - .append("\n inner join (") - .append("\n select org_level_uuid,uuid role_uuid,role_name") - .append("\n FROM product_sys_role r") - .append("\n inner join (") - .append("\n select role_uuid FROM product_sys_function_permission where function_uuid=?") - .append("\n ) p on r.uuid=p.role_uuid") - .append("\n ) r1 on o.uuid=r1.org_level_uuid") - .append("\n) t"); - String functionUUID = reportConfigFse.getString(CmnConst.FUNCTION_UUID); - DataTableEntity dte = baseDao.listTable(sql.toString(), new Object[]{functionUUID}); + /** + * 鑾峰彇鎶ヨ〃鍙戝竷淇℃伅-鍙戝竷鍚庢煡鐪嬩俊鎭� + * + * @return + */ + public JSONObject viewReportReleaseInfo(FieldSetEntity fse) { + DataTableEntity reportConfigDte = DataPoolCacheImpl.getInstance().getCacheData(CmnConst.CACHE_REPORT_CONFIG, new String[]{fse.getUUID()}); + if (BaseUtil.dataTableIsEmpty(reportConfigDte)) { + throw new BaseException(ReportCode.GET_REPORT_RELEASE_INFO_FAIL.getValue(), ReportCode.GET_REPORT_RELEASE_INFO_FAIL.getText()); + } + FieldSetEntity reportConfigFse = reportConfigDte.getFieldSetEntity(0); + StringBuilder sql = new StringBuilder(256); + sql.append("\nselect group_concat(single_role_uuid separator '#') role_uuid") + .append("\nfrom (") + .append("\n select concat(client_uuid,',',uuid,',',role_uuid) single_role_uuid") + .append("\n FROM product_sys_org_levels o") + .append("\n inner join (") + .append("\n select org_level_uuid,uuid role_uuid,role_name") + .append("\n FROM product_sys_role r") + .append("\n inner join (") + .append("\n select role_uuid FROM product_sys_function_permission where function_uuid=?") + .append("\n ) p on r.uuid=p.role_uuid") + .append("\n ) r1 on o.uuid=r1.org_level_uuid") + .append("\n) t"); + String functionUUID = reportConfigFse.getString(CmnConst.FUNCTION_UUID); + DataTableEntity dte = baseDao.listTable(sql.toString(), new Object[]{functionUUID}); - FieldSetEntity menuFse = baseDao.getFieldSetEntityByFilter(CmnConst.PRODUCT_SYS_MENUS, "function_uuid=?", new Object[]{functionUUID}, false); + FieldSetEntity menuFse = baseDao.getFieldSetEntityByFilter(CmnConst.PRODUCT_SYS_MENUS, "function_uuid=?", new Object[]{functionUUID}, false); - JSONObject resultObj = new JSONObject(); - resultObj.put(CmnConst.UUID, fse.getUUID()); - resultObj.put(CmnConst.ROLE_UUID, dte.getFieldSetEntity(0).getString(CmnConst.ROLE_UUID)); - resultObj.put(CmnConst.TRICODE_PARENT, menuFse.getString(CmnConst.TRICODE_PARENT)); - resultObj.put(CmnConst.MENU_ICON, menuFse.getString(CmnConst.MENU_ICON)); - resultObj.put(CmnConst.MENU_NAME, menuFse.getString(CmnConst.MENU_NAME)); + JSONObject resultObj = new JSONObject(); + resultObj.put(CmnConst.UUID, fse.getUUID()); + resultObj.put(CmnConst.ROLE_UUID, dte.getFieldSetEntity(0).getString(CmnConst.ROLE_UUID)); + resultObj.put(CmnConst.TRICODE_PARENT, menuFse.getString(CmnConst.TRICODE_PARENT)); + resultObj.put(CmnConst.MENU_ICON, menuFse.getString(CmnConst.MENU_ICON)); + resultObj.put(CmnConst.MENU_NAME, menuFse.getString(CmnConst.MENU_NAME)); - return resultObj; - } + return resultObj; + } - /** - * 宸插彂甯冨垪琛ㄧ晫闈� - * - * @param fse - * @return - */ - public DataTableEntity releasedListReportConfig(FieldSetEntity fse) { - String filter = queryFilterService.getQueryFilter(fse); - StringBuilder sql = new StringBuilder(256); + /** + * 宸插彂甯冨垪琛ㄧ晫闈� + * + * @param fse + * @return + */ + public DataTableEntity releasedListReportConfig(FieldSetEntity fse) { + String filter = queryFilterService.getQueryFilter(fse); + StringBuilder sql = new StringBuilder(256); // sql.append("select * from ( "); - sql.append("\n select rc.uuid,rc.report_name,rtc.type_name,t1.role_info,mp.menu_name tricode_parent,m.menu_icon,m.menu_name "); - sql.append("\n FROM product_sys_report_config rc "); - sql.append("\n inner join ( "); - sql.append("\n select function_uuid,group_concat(role_info separator ',') role_info "); - sql.append("\n from ( "); - sql.append("\n select function_uuid,concat(c.client_name,'/',o.org_level_name,'/',role_name) role_info "); - sql.append("\n FROM product_sys_clients c "); - sql.append("\n inner join product_sys_org_levels o on o.client_uuid=c.uuid "); - sql.append("\n inner join ( "); - sql.append("\n select function_uuid,org_level_uuid,uuid role_uuid,role_name "); - sql.append("\n FROM product_sys_role r "); - sql.append("\n inner join ( "); - sql.append("\n select function_uuid,role_uuid FROM product_sys_function_permission "); - sql.append("\n ) p on r.uuid=p.role_uuid "); - sql.append("\n ) r1 on o.uuid=r1.org_level_uuid "); - sql.append("\n ) t "); - sql.append("\n group by function_uuid "); - sql.append("\n ) t1 on rc.function_uuid=t1.function_uuid "); - sql.append("\n inner join product_sys_menus m on rc.function_uuid=m.function_uuid "); - sql.append("\n inner join product_sys_report_type_config rtc on rc.type_uuid=rtc.uuid "); - sql.append("\n inner join product_sys_menus mp on m.tricode_parent=mp.tricode "); + sql.append("\n select rc.uuid,rc.report_name,rtc.type_name,t1.role_info,mp.menu_name tricode_parent,m.menu_icon,m.menu_name "); + sql.append("\n FROM product_sys_report_config rc "); + sql.append("\n inner join ( "); + sql.append("\n select function_uuid,group_concat(role_info separator ',') role_info "); + sql.append("\n from ( "); + sql.append("\n select function_uuid,concat(c.client_name,'/',o.org_level_name,'/',role_name) role_info "); + sql.append("\n FROM product_sys_clients c "); + sql.append("\n inner join product_sys_org_levels o on o.client_uuid=c.uuid "); + sql.append("\n inner join ( "); + sql.append("\n select function_uuid,org_level_uuid,uuid role_uuid,role_name "); + sql.append("\n FROM product_sys_role r "); + sql.append("\n inner join ( "); + sql.append("\n select function_uuid,role_uuid FROM product_sys_function_permission "); + sql.append("\n ) p on r.uuid=p.role_uuid "); + sql.append("\n ) r1 on o.uuid=r1.org_level_uuid "); + sql.append("\n ) t "); + sql.append("\n group by function_uuid "); + sql.append("\n ) t1 on rc.function_uuid=t1.function_uuid "); + sql.append("\n inner join product_sys_menus m on rc.function_uuid=m.function_uuid "); + sql.append("\n inner join product_sys_report_type_config rtc on rc.type_uuid=rtc.uuid "); + sql.append("\n inner join product_sys_menus mp on m.tricode_parent=mp.tricode "); // sql.append("\n) t2 "); - if (!StringUtils.isEmpty(filter)) { - sql.append(" WHERE " + filter); - } - Integer curPage = fse.getInteger(CmnConst.CPAGE); - Integer pageSize = fse.getInteger(CmnConst.PAGESIZE); - return baseDao.listTable(sql.toString(), new Object[]{}, pageSize == null ? Integer.MAX_VALUE : pageSize, curPage == null ? 1 : curPage); - } + if (!StringUtils.isEmpty(filter)) { + sql.append(" WHERE " + filter); + } + Integer curPage = fse.getInteger(CmnConst.CPAGE); + Integer pageSize = fse.getInteger(CmnConst.PAGESIZE); + return baseDao.listTable(sql.toString(), new Object[]{}, pageSize == null ? Integer.MAX_VALUE : pageSize, curPage == null ? 1 : curPage); + } } -- Gitblit v1.9.2