Package com.sogou.qadev.service.cynthia.service

Examples of com.sogou.qadev.service.cynthia.service.DataAccessSession


      String filterIdsStr = node.getFilters();
      if (filterIdsStr != null) {
        String[] filterArray = filterIdsStr.split(",");
        if(filterArray != null && filterArray.length >0){
          for (String filterIdStr : filterArray) {
            DataAccessSession das = DataAccessFactory.getInstance().getSysDas();
            das.removeUserFocusFilter(DataAccessFactory.getInstance().createUUID(filterIdStr))
          }
        }
      }
     
      //删除定时器
View Full Code Here


    UUID[] dataIdArray = new UUID[dataIdStrArray.length];
    for(int i = 0; i < dataIdArray.length; i++){
      dataIdArray[i] = DataAccessFactory.getInstance().createUUID(dataIdStrArray[i]);
    }
   
    DataAccessSession das = DataAccessFactory.getInstance().createDataAccessSession(session.getAttribute("userName").toString(), ConfigUtil.magic);
   
    String actionsXML = DataManager.getInstance().getActionsXML(dataIdArray, das);
   
    if(actionsXML == null){
      return "";
View Full Code Here

    UUID[] dataIdArray = new UUID[dataIdStrArray.length];
    for(int i = 0; i < dataIdArray.length; i++){
      dataIdArray[i] = DataAccessFactory.getInstance().createUUID(dataIdStrArray[i]);
    }
   
    DataAccessSession das = DataAccessFactory.getInstance().createDataAccessSession(session.getAttribute("userName").toString(), ConfigUtil.magic);
   
    String actionsXML = DataManager.getInstance().getBatchCloseActionsXML(dataIdArray, das);
   
    if(actionsXML == null){
      return "";
View Full Code Here

   * @throws Exception
   */
  @RequestMapping("/upload.do")
  public void upload(HttpServletRequest request, HttpServletResponse response) throws Exception {
   
    DataAccessSession das = DataAccessFactory.getInstance().getSysDas();
   
    request.setCharacterEncoding("UTF-8");
   
    final long MAX_SIZE = 500*1024*1024;
   
    DiskFileItemFactory factory = new DiskFileItemFactory();
    ServletFileUpload upload = new ServletFileUpload(factory);
   
    upload.setHeaderEncoding("UTF-8");
   
    upload.setFileSizeMax(MAX_SIZE);
   
    List<FileBean> allFileBean = new ArrayList<FileBean>();
   
    List items = null;
   
    Map result = new HashMap();
   
    boolean isError = false;
   
    String errorInfo = "";
    try
    {
      items = upload.parseRequest(request);
    }catch(Exception e)
    {
      e.printStackTrace();
      isError = true;
      errorInfo = "receive file error!";
    }
   
    if(items == null||items.size() == 0)
    {
      isError = true;
      errorInfo = "no files!";
    }else
    {
      Iterator iter = items.iterator();
      while(iter.hasNext())
      {
        FileItem item = (FileItem)iter.next();
        long fileSize = 0;
        if(item == null||item.isFormField())
          continue;
        String path = item.getName();
        fileSize = item.getSize();
       
        if(path == null)
          continue;
        String realFileName = path.substring(path.lastIndexOf("\\") + 1);
        try
        {
          realFileName = java.net.URLDecoder.decode(realFileName,"UTF-8");
        }catch(Exception e)
        {
          System.err.print("java decode file name exception");
        }

       
        Attachment attachment = das.createAttachment(realFileName, item.get());
       
        FileBean fBean = new FileBean();
        fBean.setId(attachment.getId().getValue());
        fBean.setFilename(attachment.getName());
        fBean.setFileId(attachment.getFileId());
View Full Code Here

    if (session.getAttribute("userName") == null) {
      return "119695";
    }
   
    String userName = session.getAttribute("userName").toString();
    DataAccessSession das = DataAccessFactory.getInstance().getSysDas();
    String filterId = das.queryHomeFilter(userName);
    if (filterId == null || filterId.equals("")) {
      return "119695";
    }else {
      return filterId;
    }
View Full Code Here

  @ResponseBody
  public String getFilterShowInfo(HttpServletRequest request, HttpServletResponse response ,HttpSession session) throws Exception {
   
    String filterIdStr = request.getParameter("filterId");
    UUID filterId = DataAccessFactory.getInstance().createUUID(filterIdStr);
    DataAccessSession das = DataAccessFactory.getInstance().getSysDas();

    Filter filter = das.queryFilter(filterId);
   
    FilterField groupField = null;
    List<FilterField> showList = new ArrayList<FilterField>();
    List<FilterField> backList = new ArrayList<FilterField>();
    List<String> showFieldId = new ArrayList<String>();
   
    if(filter == null)
      return "";
   
    try {
      Document filterXmlDoc = XMLUtil.string2Document(filter.getXml(), "UTF-8");
     
      if (FilterQueryManager.isSysFilter(filter.getId().getValue())) {
        //系统过滤器
        List<Node> displayFieldNodes = XMLUtil.getNodes(filterXmlDoc, "query/templateType/display/field");
        showList.add(new FilterField("id", "编号"));
        showFieldId.add("id");
        for (Node node : displayFieldNodes) {
          if(XMLUtil.getAttribute(node,"id").equals("node_id"))
            continue;
          showFieldId.add(XMLUtil.getAttribute(node,"id"));
          showList.add(new FilterField(XMLUtil.getAttribute(node,"id"), XMLUtil.getAttribute(node,"name")));
        }
       
        groupField = new FilterField("node_id", "项目");
       
        for (String fieldId : baseFieldNameMap.keySet()) {
          if (!showFieldId.contains(fieldId)) {
            backList.add(new FilterField(fieldId, baseFieldNameMap.get(fieldId)));
          }
        }
      }else {
        Node templateNode = XMLUtil.getSingleNode(filterXmlDoc, "query/template");
        UUID templateId = DataAccessFactory.getInstance().createUUID(XMLUtil.getAttribute(templateNode,"id"));
       
        List<Node> displayFieldNodes = XMLUtil.getNodes(templateNode, "display/field");
        showList.add(new FilterField("id", "编号"));
        showFieldId.add("id");
        for (Node node : displayFieldNodes) {
          String fieldId = XMLUtil.getAttribute(node,"id");
          if(fieldId == null)
            continue;
          showFieldId.add(fieldId);
          if (CommonUtil.isPosNum(fieldId)) {
            //判断该字段目前存在
            if (FieldNameCache.getInstance().getFieldName(fieldId, templateId.getValue()) != null) {
              fieldId = "FIEL-" + fieldId;
            }else {
              continue;
            }
          }
         
          showList.add(new FilterField(fieldId, XMLUtil.getAttribute(node,"name")));
        }
       
        for (String fieldId : baseFieldNameMap.keySet()) {
          if (!showFieldId.contains(fieldId)) {
            backList.add(new FilterField(fieldId, baseFieldNameMap.get(fieldId)));
          }
        }
       
        Template template = das.queryTemplate(templateId);
       
        Set<Field> templateFields = template.getFields();
       
        for(Field field : templateFields)
        {
View Full Code Here

   */
  @RequestMapping("/initScript.do")
  @ResponseBody
  public String initScript(@RequestParam("scriptId")String scriptId) throws Exception {
   
    DataAccessSession das = DataAccessFactory.getInstance().getSysDas();
    Script script = das.queryScriptNoImport(DataAccessFactory.getInstance().createUUID(scriptId));
    ScriptVO scriptVO = new ScriptVO();
    scriptVO.setId(script.getId().toString());
    scriptVO.setAfterFail(script.isAfterFail());
    scriptVO.setAfterQuery(script.isAfterQuery());
    scriptVO.setAfterSuccess(script.isAfterSuccess());
    scriptVO.setAsync(script.isAsync());
    scriptVO.setCreateTime(script.getCreateTime());
    scriptVO.setCreateUser(script.getCreateUser());
    scriptVO.setName(script.getName());
    scriptVO.setScript(script.getScript());
    scriptVO.setActionEdit(script.isActionEdit());
    scriptVO.setStatEdit(script.isStatEdit());
    scriptVO.setValid(script.isValid());
   
    UUID[] templateIds = script.getTemplateIds();
    Map<String,String> mountTemplatesMap = new HashMap<String,String>();
    if(templateIds!=null)
    { 
      for(UUID templateId : templateIds)
      {
        Template template = das.queryTemplate(templateId);
        if(template!=null)
          mountTemplatesMap.put(templateId.toString(), template.getName());
      }
    }
    Map<String,String> allTemplateMap = new HashMap<String,String>();
    Template[] allTemplates = das.queryAllTemplates();
    if(allTemplates!=null)
    {
      for(Template template: allTemplates)
      {
        allTemplateMap.put(template.getId().toString(), template.getName());
View Full Code Here

    Flow flow = das.queryFlow(template.getFlowId());

    Set<Field> allFields = GetAllFields(template);//表单所有字段,除出废弃字段

    String addUser = (String)session.getAttribute("userName");
    DataAccessSession das = DataAccessFactory.getInstance().createDataAccessSession(addUser, DataAccessFactory.magic);
    Set<Field> allNeedFields = new HashSet<Field>();
    //////////////////////////////////////////

    try
    {
      File tmpFile = File.createTempFile("acctachment", ".attachment");
      multipartFile.transferTo(tmpFile);
      String realFileName = multipartFile.getOriginalFilename();
      FileInputStream fis = new FileInputStream(tmpFile);
     
      Workbook workbook = WorkbookFactory.create(fis);
     
      if (fis != null) {
        StreamCloserManager.closeInputStream(fis);
      }
      if (workbook == null) {
        return "";
      }

      try{
        Sheet sheet = workbook.getSheet(sheetName);
        int rows = sheet.getPhysicalNumberOfRows();
        Row row = null;
        Cell cell = null;
        if(rows==0)
          return "";
        row = sheet.getRow(0);//获得第一行数据分析每个字段对应的列号

        String value = null;
        int cells = row.getPhysicalNumberOfCells();
        for(int j=0;j<cells;j++){
          cell = row.getCell(j);
          value = cell.getStringCellValue().trim();
          if (value!=null && value.length()>0) {
            excelValueNum.put(value, j);
          }
        }

        if (rows==1) {
          ErrorInfo errorInfo = new ErrorInfo();
          errorInfo.setErrorDescription("数据为空");
          errorInfoList.add(errorInfo);
          flag = false;
        }
       
        Boolean isAllNeedFieldsIn = true//必须字段是否全部满足
        //判断必填字段是否都己存在
        String needFieldName = GetNeedFieldString(excelValueNum, template);

        if (needFieldName!=null && needFieldName.length()>0) {
          ErrorInfo errorInfo = new ErrorInfo();
          errorInfo.setErrorDescription("某些字段在表单中无法找到如:【"+needFieldName+"】,全部录入失败");
          errorInfoList.add(errorInfo);
          flag = false;
          isAllNeedFieldsIn = false;
        }
       
        if (isAllNeedFieldsIn) {
          for(int j=1;j<rows;j++)
          {

            row = sheet.getRow(j);
            if(row!=null)
            {
              boolean isSingleFail = false//单条信息录入错误

              Map<String, Pair<Object, Object>> baseValueMap = new LinkedHashMap<String, Pair<Object, Object>>();
              Map<UUID, Pair<Object, Object>> extValueMap = new LinkedHashMap<UUID, Pair<Object, Object>>();
              Data data = das.addData(templateId);

              String title = "";       //标题
              ErrorInfo errorInfo = null;

              if(data == null){
                return "";
              }

              for (Field field : allFields) {
                if (excelValueNum.keySet().contains(field.getName())) {
                  String fieldName = field.getName();
                  //excel中存在该字段,从excel中获取内容
                  String cellContentString = "";
                  java.util.Date cellContentDate = null;
                  if(row.getCell(excelValueNum.get(fieldName))!=null)
                  {
                    if(row.getCell(excelValueNum.get(fieldName)).getCellType()==XSSFCell.CELL_TYPE_NUMERIC//日期类型
                    {
                      cellContentDate = row.getCell(excelValueNum.get(fieldName)).getDateCellValue();
                      cellContentString = CynthiaUtil.getValue(row, excelValueNum.get(fieldName));
                    }else{
                      //其它类型
                      cellContentString = CynthiaUtil.getValue(row, excelValueNum.get(fieldName));
                    }

                  }else {
                    //判断该字段是否为必填
                    if (allNeedFields.contains(field.getName())) {
                      //必填为空,错误
                      isSingleFail = true;
                      errorInfo = new ErrorInfo() ;
                      errorInfo.setErrorDescription("必填字段为空");
                      errorInfo.setErrorRowNum(j);
                      errorInfo.setErrorColumnName(field.getName());
                      break;
                    }
                  }

                  if (field.getDataType()==DataType.dt_timestamp) { //处理日期类型
                    Date timeDate = null;
                    try {
                      timeDate = Date.valueOf(sdf.format(cellContentDate));
                     
                    } catch (Exception e) {
                    }
                    if (timeDate == null) {
                      try {
                        timeDate = Date.valueOf(cellContentString);
                      } catch (Exception e) {
                      }
                    }
                    if (timeDate == null && allNeedFields.contains(fieldName)) {
                      // 日期类型错误 返回错误
                      isSingleFail = true;
                      errorInfo = new ErrorInfo() ;
                      errorInfo.setErrorDescription("日期类型错误");
                      errorInfo.setErrorRowNum(j);
                      errorInfo.setErrorColumnName(field.getName());
                      break;
                    }else {
                      if (timeDate != null) {
                        data.setDate(field.getId(), timeDate);
                        extValueMap.put(field.getId(), new Pair<Object, Object>(null, timeDate));
                      }
                    }
                  }else if (field.getType()==Type.t_selection) {  //处理单选类型
                    Option option = field.getOption(cellContentString);
                    if (option == null) {
                      if (allNeedFields.contains(field)) {  //为空必填
                        //错误,单选选项错误
                        isSingleFail = true;
                        errorInfo = new ErrorInfo() ;
                        errorInfo.setErrorDescription("单选选项错误");
                        errorInfo.setErrorRowNum(j);
                        errorInfo.setErrorColumnName(field.getName());
                        break;
                      }
                    }else {
                      data.setSingleSelection(field.getId(), option.getId());
                      extValueMap.put(field.getId(), new Pair<Object, Object>(null,option.getId()));
                    }
                  }else //普通字段类型
                    data.setString(field.getId(), cellContentString);
                    extValueMap.put(field.getId(), new Pair<Object, Object>(null, cellContentString));
                  }
                }

              }//end foreach

              if (isSingleFail) {
                //记录错误 开始下一条数据录入
                failCount ++;
                errorInfoList.add(errorInfo);
                continue;
              }
             
              //问题概述
              if (excelValueNum.get("标题")!=null) {
                title = CynthiaUtil.getValue(row, excelValueNum.get("标题"));
              }
             
              //标题
              data.setTitle(title);
              baseValueMap.put("title", new Pair<Object, Object>(null,title));

              data.setObject("logCreateUser", addUser)//添加人
              //正文
              if (excelValueNum.get("正文")!=null) {
                String content = CynthiaUtil.getValue(row, excelValueNum.get("正文"));
                data.setDescription(content);
                baseValueMap.put("description", new Pair<Object, Object>(null, content));
              }
             
              //状态
              UUID statId = null;
              if (excelValueNum.get("状态")!=null) {
                String statIdStr = CynthiaUtil.getValue(row, excelValueNum.get("状态"));
                if (statIdStr != null && statIdStr.length() >0) {
                  Stat stat = flow.getStat(statIdStr);
                  if (stat == null) {
                    failCount ++;
                    errorInfo = new ErrorInfo() ;
                    errorInfo.setErrorDescription("状态不存在");
                    errorInfo.setErrorRowNum(j);
                    errorInfo.setErrorColumnName("状态");
                    errorInfoList.add(errorInfo);
                    continue;
                  }else {
                    statId = stat.getId();
                  }
                }
              }
             
              boolean isEndStat = isEndStat(flow, statId);
              //指派人
              if (excelValueNum.get("指派人")!=null && !isEndStat) {
                String assignUser = CynthiaUtil.getValue(row, excelValueNum.get("指派人"));

                if (userMap.get(assignUser) == null) {
                 
                  UserInfo relatedUsers = das.queryUserInfoByUserName(assignUser);

                  if (relatedUsers == null) {
                    failCount ++;
                    errorInfo = new ErrorInfo() ;
                    errorInfo.setErrorDescription("指派人不存在");
                    errorInfo.setErrorRowNum(j);
                    errorInfo.setErrorColumnName("指派人");
                    errorInfoList.add(errorInfo);
                    continue;
                  }else {
                    userMap.put(assignUser, relatedUsers.getNickName());
                  }
                }

                if (statId != null) {
                  if(!isEndStat){
                    data.setAssignUsername(assignUser);
                    baseValueMap.put("assignUser", new Pair<Object, Object>(null, assignUser));
                  }
                }
              }
             
              data.setObject("logActionId", null);
              data.setStatusId(statId);
              baseValueMap.put("statusId", new Pair<Object, Object>(null, statId));

              data.setObject("logBaseValueMap", baseValueMap);
              data.setObject("logExtValueMap", extValueMap);
             
              //验证控制字段是否正确
              String controlErrorString = checkDataControlValid(data, template);
              if(controlErrorString != null && !controlErrorString.equals("")){
                failCount ++;
                errorInfo = new ErrorInfo() ;
                errorInfo.setErrorDescription(controlErrorString);
                errorInfo.setErrorRowNum(j);
                errorInfoList.add(errorInfo);
                continue;
              }
             
              if (!isSingleFail) {
                Pair<ErrorCode, String> pair = das.modifyData(data);

                if (pair.getFirst().equals(ErrorCode.success)) {
                  das.commitTranscation();
                  das.updateCache(DataAccessAction.delete, data.getId().getValue(), data);
                }else {
                  isSingleFail = true;
                  errorInfo = new ErrorInfo();
                  errorInfo.setErrorDescription("数据库操作失败!");
                  errorInfo.setErrorRowNum(j);
                  das.rollbackTranscation();
                }
              }
             
              if (isSingleFail) {
                //记录错误 开始下一条数据录入
View Full Code Here

      Data[] dataArray = null;
      String content = null;

      if (filter != null) {
        DataAccessSession das = DataAccessFactory.getInstance().createDataAccessSession(timer.getCreateUser(),ConfigUtil.magic);
        content = ExportDataManager.exportMailHtmlFilter(das, ConfigUtil.magic, filter, timer.getCreateUser());
      }

      if (content == null) {
        TimerActionManager.getInstance().doTimerAction(timerAction, dataArray, timer.getCreateUser(), timer.getActionParam());
View Full Code Here

   * @see com.sogou.qadev.service.cynthia.bean.Flow#queryAllQuitUserInfo(com.sogou.qadev.service.cynthia.bean.UUID)
   */
  @Override
  public List<UserInfo> queryAllQuitUserInfo(UUID roleId) {
    Set<String> allRoleUser = queryAllUserByRole(roleId);
    DataAccessSession das = DataAccessFactory.getInstance().getSysDas();
    return das.queryAllUserInfo(allRoleUser.toArray(new String[0]),true);
  }
View Full Code Here

TOP

Related Classes of com.sogou.qadev.service.cynthia.service.DataAccessSession

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.