123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119 |
- package com.dragoninfo.dcuc.authweb.restcontroller.resource;
- import com.dragoninfo.dcuc.authweb.util.VersionUtils;
- import com.dragoninfo.dcuc.coder.facace.ICodeInfoFacade;
- import com.dragoninfo.dcuc.duceap.facade.IDuceapCodeFacade;
- import com.dragoninfo.dcuc.duceap.facade.IDuceapTableFacade;
- import com.dragonsoft.duceap.base.entity.metadata.CodeDicDTO;
- import com.dragonsoft.duceap.base.entity.metadata.CodeRecord;
- import com.dragonsoft.duceap.base.entity.metadata.MdDbTable;
- import com.dragonsoft.duceap.commons.util.string.StringUtils;
- import com.dragonsoft.duceap.core.entity.response.ResponseResult;
- import com.dragonsoft.duceap.core.search.Searchable;
- import com.dragonsoft.duceap.core.search.enums.SearchOperator;
- import com.dragonsoft.duceap.web.controller.BaseController;
- import io.swagger.annotations.ApiImplicitParam;
- import io.swagger.annotations.ApiImplicitParams;
- import org.springframework.beans.factory.annotation.Autowired;
- import org.springframework.stereotype.Controller;
- import org.springframework.ui.Model;
- import org.springframework.web.bind.annotation.PathVariable;
- import org.springframework.web.bind.annotation.RequestMapping;
- import org.springframework.web.bind.annotation.ResponseBody;
- import java.util.ArrayList;
- import java.util.List;
- import java.util.Map;
- /**
- * Created by Administrator on 2017/2/17.
- */
- @Controller
- @RequestMapping(value = "/duacm/codeSon/"+VersionUtils.VERSION_UID)
- public class MdDynCodeDicSonController extends BaseController {
- @Autowired
- private ICodeInfoFacade iCodeInfoFacade;
- @Autowired
- private IDuceapCodeFacade iDuceapCodeFacade;
- @Autowired
- private IDuceapTableFacade iDuceapTableFacade;
- @RequestMapping(value = "searchColumn")
- @ResponseBody
- public List<CodeRecord> searchColumn(String codeDicId, String columnName, String columnValue) {
- List<CodeRecord> codeList = new ArrayList<>();
- CodeDicDTO codeDic = iDuceapCodeFacade.get(codeDicId);
- if (StringUtils.isEmpty(columnName) || StringUtils.isEmpty(columnValue))
- return codeList;
- Searchable searchable = Searchable.newSearchable();
- searchable.addSearchFilter(columnName, SearchOperator.eq, columnValue);
- searchable.addSearchFilter("codeId", SearchOperator.eq, codeDicId);
- List<Map<String, Object>> list = iCodeInfoFacade.pageCodeDicData(searchable.toSearchDTO());
- for (Map map : list) {
- CodeRecord codeRecord = new CodeRecord();
- String name = codeDic.getNameField();
- String code = codeDic.getCodeField();
- codeRecord.setValue((String) map.get(code));
- codeRecord.setLabel((String) map.get(name));
- codeList.add(codeRecord);
- }
- return codeList;
- }
- @ApiImplicitParams({@ApiImplicitParam(paramType = "path", name = "id", value = "表码ID", required = true
- , example = "40288a8b699fc2500169a33b20540000")})
- @RequestMapping(value = "previewData/{id}")
- public String previewData(@PathVariable("id") String id, Model model) {
- try {
- CodeDicDTO codeDic = null;
- if (StringUtils.isBlank(id)) {
- throw new Exception("未选择表码");
- } else {
- codeDic = iDuceapCodeFacade.get(id);
- }
- MdDbTable mdDbTable = iDuceapTableFacade.get(codeDic.getDatasourceId(), codeDic.getEntityName());
- if (mdDbTable == null)
- throw new Exception("表码表不存在");
- model.addAttribute("CODE", codeDic.getCodeField());
- model.addAttribute("VALUE", codeDic.getNameField());
- model.addAttribute("loadType", codeDic.getLoadType());
- model.addAttribute("columns", mdDbTable.getColumns());
- model.addAttribute("model", id);
- return "resourceManagement/codeDic/codeDicPreviewData";
- } catch (Exception e) {
- logger.error("数据预览失败", e);
- ResponseResult.fail("数据预览失败");
- }
- return null;
- }
- @ApiImplicitParams({@ApiImplicitParam(paramType = "path", name = "id", value = "表码ID", required = true
- , example = "40288a8b699fc2500169a33b20540000")})
- @RequestMapping(value = "data/{id}")
- @ResponseBody
- public List<Map<String, Object>> Data(@PathVariable("id") String id, String code, String name) {
- CodeDicDTO codeDic = null;
- codeDic = iDuceapCodeFacade.get(id);
- Searchable searchable = Searchable.newSearchable();
- searchable.setPage(0, 10000);
- if (StringUtils.isNotEmpty(code)) {
- searchable.addSearchFilter(codeDic.getCodeField(), SearchOperator.like, code);
- }
- if (StringUtils.isNotEmpty(name)) {
- searchable.addSearchFilter(codeDic.getNameField(), SearchOperator.like, name);
- }
- searchable.addSearchFilter("codeId", SearchOperator.eq, id);
- List<Map<String, Object>> list = iCodeInfoFacade.pageCodeDicData(searchable.toSearchDTO());
- return list;
- }
- }
|