Beispiel #1
0
        public List <LibBusinessTask> InitTempTask()
        {
            List <LibBusinessTask> list       = new List <LibBusinessTask>();
            LibDataAccess          dataAccess = new LibDataAccess();

            using (IDataReader reader = dataAccess.ExecuteDataReader("select TASKID,PROGID,BUSINESSTASKID,EXECDATE,EXECTIME,EXECCONDITION,INTERNALID from AXPBUSINESSTEMPTASK", false))
            {
                while (reader.Read())
                {
                    LibBusinessTask task = new LibBusinessTask()
                    {
                        TaskType       = LibTaskType.TempTask,
                        TaskId         = LibSysUtils.ToString(reader["TASKID"]),
                        ProgId         = LibSysUtils.ToString(reader["PROGID"]),
                        BusinessTaskId = LibSysUtils.ToString(reader["BUSINESSTASKID"]),
                        ExecDate       = LibSysUtils.ToInt32(reader["EXECDATE"]),
                        ExecCondition  = LibSysUtils.ToString(reader["EXECCONDITION"]),
                        InternalId     = LibSysUtils.ToString(reader["INTERNALID"])
                    };
                    task.ExecTime.Add(LibSysUtils.ToInt32(reader["EXECTIME"]));
                    list.Add(task);
                }
            }
            return(list);
        }
        protected override void BeforeUpdate()
        {
            base.BeforeUpdate();
            HashSet <string> hasSet = new HashSet <string>();

            foreach (DataRow curRow in this.DataSet.Tables[1].Rows)
            {
                if (curRow.RowState == DataRowState.Deleted)
                {
                    continue;
                }
                DataRow[] subRows = curRow.GetChildRows("AXPPERMISSIONGROUPDETAIL_AXPOPERATEPOWER", DataRowVersion.Current);
                int       mark    = 0;
                foreach (DataRow subRow in subRows)
                {
                    if (LibSysUtils.ToBoolean(subRow["CANUSE"]))
                    {
                        mark += LibSysUtils.ToInt32(subRow["OPERATEPOWERID"]);
                    }
                }
                curRow["OPERATEMARK"] = mark;
                string progId = LibSysUtils.ToString(curRow["PROGID"]);
                if (hasSet.Contains(progId))
                {
                    this.ManagerMessage.AddMessage(LibMessageKind.Error, string.Format("行{0}的功能标识重复", curRow["ROWNO"]));
                }
                else
                {
                    hasSet.Add(progId);
                }
            }
        }
Beispiel #3
0
        /// <summary>
        /// 获取文档所在的目录Id和文档的文件夹名称(仅文档自身的文件夹名称)
        /// </summary>
        /// <param name="docId"></param>
        /// <param name="docDirName">文档的文件夹名称,仅文档自身的文件夹名称</param>
        /// <param name="maxModifyVerId">最大修订号</param>
        /// <returns></returns>
        protected string GetDirId(string docId, out string docDirName, out int maxModifyVerId, out string docType, out string docName, out bool isDocLocked)
        {
            string dirId = string.Empty;

            docDirName     = string.Empty;
            maxModifyVerId = 1;
            docType        = string.Empty;
            docName        = string.Empty;
            isDocLocked    = true;

            string  sql = string.Format("select A.DIRID,A.SAVEPATH,A.DOCTYPE,A.DOCNAME,A.LOCKSTATE,(select max(DOCMODIFYID) from DMDOCMODIFYHISTORY where DOCID='{0}') as MaxDOCMODIFYID from DMDOCUMENT A where A.DOCID = '{0}'", docId);
            DataSet ds  = this.DataAccess.ExecuteDataSet(sql);

            if (ds == null || ds.Tables.Count == 0 || ds.Tables[0].Rows.Count == 0)
            {
                return(string.Empty);
            }
            DataRow row = ds.Tables[0].Rows[0];

            dirId          = LibSysUtils.ToString(row["DIRID"]);
            docDirName     = LibSysUtils.ToString(row["SAVEPATH"]);
            maxModifyVerId = LibSysUtils.ToInt32(row["MaxDOCMODIFYID"]);
            docType        = LibSysUtils.ToString(row["DOCTYPE"]);
            docName        = LibSysUtils.ToString(row["DOCNAME"]);
            docName        = docName.EndsWith(docType) ? docName.Substring(0, docName.Length - docType.Length) : docName;

            int lockState = LibSysUtils.ToInt32(row["LOCKSTATE"]);

            isDocLocked = lockState == 1;

            return(dirId);
        }
Beispiel #4
0
        private static DataSource DoGetDataSourceEx(object dsNmOrId, Mode mode)
        {
            DataSource      datasource   = null;
            XMLOperation    xmlOperation = new XMLOperation(SysConstManage.DSListFile);
            ILibXMLNodeRead noderead     = xmlOperation.NodeRead("/DSList/DSInfoCollection/DSInfo");
            string          dsname       = null;
            string          package      = null;

            while (!noderead.EOF)
            {
                if (mode == Mode.ByDSID)
                {
                    int id = LibSysUtils.ToInt32(noderead.Attributions["DSID"].ToString());
                    if (LibSysUtils.ToInt32(dsNmOrId) == id)
                    {
                        dsname  = noderead.Attributions["Name"].ToString();
                        package = noderead.Attributions["PACKAGE"].ToString();
                        break;
                    }
                }
                else if (mode == Mode.ByDSName)
                {
                    dsname = noderead.Attributions["Name"].ToString();
                    if (string.Compare(dsname, dsNmOrId.ToString(), true) == 0)
                    {
                        package = noderead.Attributions["PACKAGE"].ToString().Trim();
                        break;
                    }
                }
                noderead.ReadNext();
            }
            InstanceDataSource(ref datasource, dsname, package);
            return(datasource);
        }
Beispiel #5
0
            public CalendarData(string calendarId)
            {
                if (string.IsNullOrEmpty(calendarId))
                {
                    return;
                }
                LibDataAccess dataAccess = new LibDataAccess();
                SqlBuilder    sqlBuilder = new SqlBuilder("com.Calendar");
                string        sql        = sqlBuilder.GetQuerySql(1, "B.YEAR,B.MONTH,B.WORKMARK", string.Format("B.CALENDARID={0}", LibStringBuilder.GetQuotString(calendarId)));

                using (IDataReader reader = dataAccess.ExecuteDataReader(sql))
                {
                    while (reader.Read())
                    {
                        int year = LibSysUtils.ToInt32(reader[1]);
                        if (!WorkDayList.ContainsKey(year))
                        {
                            WorkDayList.Add(year, new int[12]);
                        }
                        int[] items = WorkDayList[year];
                        int   month = LibSysUtils.ToInt32(reader["MONTH"]);
                        items[month - 1] = LibSysUtils.ToInt32(reader["WORKMARK"]);
                    }
                }
            }
Beispiel #6
0
        private static bool DoIsExistIdEx(object dsNmOrId, Mode mode)
        {
            XMLOperation    xmlOperation = new XMLOperation(SysConstManage.DSListFile);
            ILibXMLNodeRead noderead     = xmlOperation.NodeRead("/DSList/DSInfoCollection/DSInfo");

            while (!noderead.EOF)
            {
                if (mode == Mode.ByDSID)
                {
                    int id = LibSysUtils.ToInt32(noderead.Attributions["DSID"].ToString());
                    if (id == LibSysUtils.ToInt32(dsNmOrId))
                    {
                        return(true);
                    }
                }
                else if (mode == Mode.ByDSName)
                {
                    string dsName = noderead.InnerText.Trim();
                    if (string.Compare(dsNmOrId.ToString(), dsName, true) == 0)
                    {
                        return(true);
                    }
                }
                noderead.ReadNext();
            }
            return(false);
        }
Beispiel #7
0
 protected override void AfterDelete()
 {
     base.AfterDelete();
     if (this.isDeleteSubs)
     {
         //删除文件夹目录。sql中的表单记录操作可以回滚,磁盘上的文件目录和文档操作统一处理,失败了也不用回滚。
         DataRow masterRow = this.DataSet.Tables[0].Rows[0];
         if (masterRow == null)
         {
             return;
         }
         string dirId = LibSysUtils.ToString(masterRow["DIRID"]);
         //DirLinkAddress dirLink = new DirLinkAddress(dirId, this.DataAccess);
         if (dirLink.DirSavePath == string.Empty)
         {
             return;
         }
         //先定位到文档库根路径
         //string path = Path.Combine(EnvProvider.Default.DocumentsPath, (LibSysUtils.ToInt32(masterRow["DIRTYPE"]) == 0 ? "" : "my"));//根据是否为私有类型在路径下增加my
         string path = DMCommonMethod.GetDMRootPath((DirTypeEnum)LibSysUtils.ToInt32(masterRow["DIRTYPE"]));
         path = Path.Combine(path, dirLink.DirSavePath);
         try
         {
             if (Directory.Exists(path))
             {
                 Directory.Delete(path, true);//删除目录文件夹及其子目录文件夹、文件等。
             }
         }
         catch (Exception exp)
         {
             //对于删除文档目录在磁盘上的文件夹的动作,因为文件系统的删除无法回滚,不再向上抛出异常(以免触发本级事务回滚),仅记录异常信息,以便后续手动清理
             DMCommonMethod.WriteLog("DeleteDirectory", string.Format("DirID:{0}\r\nPath:{1}\r\nError:{2}", dirId, path, exp.ToString()));
         }
     }
 }
Beispiel #8
0
        private static Boolean SetWorkProcessInfo(string billNo)
        {
            Boolean     ret         = false;
            ProduceData produceData = LibProduceCache.Default.GetProduceData(billNo);

            if (produceData != null)
            {
                foreach (DataRow curRow in produceData.WorkOrder.Tables[3].Rows)
                {
                    ret = true;
                    DataRow parentRow = produceData.WorkOrder.Tables[2].Rows.Find(new object[] { curRow["BILLNO"], curRow["PARENTROWID"] });
                    if (!LibSysUtils.ToBoolean(parentRow["NEEDGATHER"]))
                    {
                        continue;
                    }
                    string workstationId = LibSysUtils.ToString(curRow["WORKSTATIONID"]);
                    if (!_ProductScheduling.WsRelWorkOrder.ContainsKey(workstationId))
                    {
                        _ProductScheduling.WsRelWorkOrder.Add(workstationId, new List <string>()
                        {
                            billNo
                        });
                    }
                    if (!_ProductScheduling.WsRelWorkOrder[workstationId].Contains(billNo))
                    {
                        _ProductScheduling.WsRelWorkOrder[workstationId].Add(billNo);
                    }
                    if (produceData.FirstWorkProcessNo.Contains(LibSysUtils.ToInt32(parentRow["WORKPROCESSNO"])) && !_ProductScheduling.FirstWs.Contains(workstationId))
                    {
                        _ProductScheduling.FirstWs.Add(workstationId);
                    }
                }
            }
            return(ret);
        }
Beispiel #9
0
        public static decimal GetFormater(decimal value, string unitId, LibFormatType formatType = LibFormatType.Quantity)
        {
            //目前只实现数量的格式化
            int retainDigits = LibSysUtils.ToInt32(LibFormatUnitCache.Default.GetFormatData(unitId));

            return(decimal.Round(value, retainDigits));
        }
Beispiel #10
0
        private static DataSet SetAbnormalRpt(DataSet newDataSet, DataSet bcfDataSet)
        {
            Dictionary <int, int> dic   = new Dictionary <int, int>();
            DataTable             table = new DataTable();

            table.Columns.Add("ABNORMALPROTOTYPE", typeof(int));
            table.Columns.Add("ORDERCOUNT", typeof(int));
            newDataSet.Tables.Add(table);
            foreach (DataRow item in bcfDataSet.Tables[0].Rows)
            {
                int key = LibSysUtils.ToInt32(item["ABNORMALPROTOTYPE"]);
                if (dic.ContainsKey(key))
                {
                    dic[key]++;
                }
                else
                {
                    dic.Add(key, 1);
                }
            }
            foreach (KeyValuePair <int, int> item in dic)
            {
                DataRow newDataRow = newDataSet.Tables[0].NewRow();
                newDataRow["ABNORMALPROTOTYPE"] = item.Key;
                newDataRow["ORDERCOUNT"]        = item.Value;
                newDataSet.Tables[0].Rows.Add(newDataRow);
            }
            return(newDataSet);
        }
Beispiel #11
0
        protected override bool CheckModif(object[] pks)
        {
            DataRow masterRow = this.DataSet.Tables[0].Rows[0];
            int     dirType   = LibSysUtils.ToInt32(masterRow["DIRTYPE"]);

            if (dirType == (int)DirTypeEnum.Private)
            {
                return(true);//个人目录不做控制
            }
            return(CheckPermission(pks[0].ToString(), DMFuncPermissionEnum.Edit));
        }
Beispiel #12
0
        public bool IsExists(string pk)
        {
            string sqlById = string.Format("select count(*) from AXPRPTSEARCHFIELD where RPTSEARCHID = {0}", LibStringBuilder.GetQuotString(pk));
            int    num     = LibSysUtils.ToInt32(DataAccess.ExecuteScalar(sqlById));

            if (num > 0)
            {
                return(true);
            }
            return(false);
        }
Beispiel #13
0
 /// <summary>验证数据有效性</summary>
 private void InvalidateValue()
 {
     if (ModelDesignProject.ExistId(LibSysUtils.ToInt32(this.txtDSID.Text.Trim())))
     {
         ExceptionManager.ThrowError("该DSID已存在");
         //return;
     }
     if (ModelDesignProject.ExistDSName(this.txtDSName.Text.Trim()))
     {
         ExceptionManager.ThrowError("该数据源名称已经存在");
     }
 }
Beispiel #14
0
        protected override bool CheckBrowseTo(object[] pks)
        {
            string sql     = string.Format("select DIRTYPE from DMDIRECTORY where DIRID = '{0}'", pks[0]);
            object obj     = this.DataAccess.ExecuteScalar(sql);
            int    dirType = LibSysUtils.ToInt32(obj);

            if (dirType == (int)DirTypeEnum.Private)
            {
                return(true);//个人目录不做控制
            }
            return(CheckPermission(pks[0].ToString(), DMFuncPermissionEnum.Browse));
        }
Beispiel #15
0
        protected override bool CheckDelete()
        {
            DataRow masterRow = this.DataSet.Tables[0].Rows[0];
            string  dirId     = LibSysUtils.ToString(masterRow["DIRID"]);
            int     dirType   = LibSysUtils.ToInt32(masterRow["DIRTYPE"]);

            if (dirType == (int)DirTypeEnum.Private)
            {
                return(true);//个人目录不做控制
            }
            return(CheckPermission(dirId, DMFuncPermissionEnum.Delete));
        }
Beispiel #16
0
        private static DataSet SetWorkLogRpt(DataSet newDataSet, DataSet bcfDataSet)
        {
            Dictionary <int, WorkLogRptModel> dic = new Dictionary <int, WorkLogRptModel>();
            DataTable table = new DataTable();

            table.Columns.Add("STARTDATE", typeof(int));
            table.Columns.Add("STARTONTIMERATE", typeof(decimal));
            table.Columns.Add("ENDONTIMERATE", typeof(decimal));
            newDataSet.Tables.Add(table);
            foreach (DataRow item in bcfDataSet.Tables[0].Rows)
            {
                decimal startOnTimeCount = 0;
                decimal endOnTimeCount   = 0;
                int     key = LibSysUtils.ToInt32(item["STARTDATE"]);
                if (dic.ContainsKey(key))
                {
                    if (LibSysUtils.ToInt32(item["PLANSTARTTIME"]) > LibSysUtils.ToInt32(item["ACTSTARTTIME"]))
                    {
                        dic[key].StartOnTimeCount++;
                    }
                    if (LibSysUtils.ToInt32(item["PLANENDTIME"]) > LibSysUtils.ToInt32(item["ACTENDTIME"]))
                    {
                        dic[key].EndOnTimeCount++;
                    }
                    dic[key].TotalCount++;
                }
                else
                {
                    if (LibSysUtils.ToInt32(item["PLANSTARTTIME"]) > LibSysUtils.ToInt32(item["ACTSTARTTIME"]))
                    {
                        startOnTimeCount++;
                    }
                    if (LibSysUtils.ToInt32(item["PLANENDTIME"]) > LibSysUtils.ToInt32(item["ACTENDTIME"]))
                    {
                        endOnTimeCount++;
                    }
                    dic.Add(key, new WorkLogRptModel()
                    {
                        StartOnTimeCount = startOnTimeCount, EndOnTimeCount = endOnTimeCount, TotalCount = 1
                    });
                }
            }
            foreach (KeyValuePair <int, WorkLogRptModel> item in dic)
            {
                DataRow newDataRow = newDataSet.Tables[0].NewRow();
                newDataRow["STARTDATE"]       = item.Key;
                newDataRow["STARTONTIMERATE"] = item.Value.StartOnTimeCount / item.Value.TotalCount;
                newDataRow["ENDONTIMERATE"]   = item.Value.EndOnTimeCount / item.Value.TotalCount;
                newDataSet.Tables[0].Rows.Add(newDataRow);
            }
            return(newDataSet);
        }
Beispiel #17
0
        protected override void BeforeUpdate()
        {
            base.BeforeUpdate();
            List <int> appTypeList = new List <int>();
            int        clientType  = 0;

            //同一个账户下的UserApp子表中的App类型不能重复
            foreach (DataRow curRow in this.DataSet.Tables[1].Rows)
            {
                switch (curRow.RowState)
                {
                case DataRowState.Added:
                case DataRowState.Modified:
                case DataRowState.Unchanged:
                    clientType = LibSysUtils.ToInt32(curRow["CLIENTTYPE", DataRowVersion.Current]);
                    if (appTypeList.Contains(clientType) == false)
                    {
                        appTypeList.Add(clientType);
                    }
                    else
                    {
                        this.ManagerMessage.AddMessage(LibMessageKind.Error, string.Format("APP明细,行号:{0},同一个账户下的UserApp子表中的App类型不能重复。", curRow["ROW_ID"]));
                    }
                    break;
                }
            }
            // 站点不能重复配置
            List <string> siteIdList = new List <string>();

            foreach (DataRow curRow in this.DataSet.Tables[2].Rows)
            {
                switch (curRow.RowState)
                {
                case DataRowState.Added:
                case DataRowState.Modified:
                case DataRowState.Unchanged:
                    string siteId = curRow["SITEID", DataRowVersion.Current].ToString();
                    if (siteIdList.Contains(siteId) == false)
                    {
                        siteIdList.Add(siteId);
                    }
                    else
                    {
                        this.ManagerMessage.AddMessage(LibMessageKind.Error, string.Format("可访问站点配置,行号:{0},同一个账户下不能重复可访问站点。", curRow["ROW_ID"]));
                    }
                    break;
                }
            }
        }
Beispiel #18
0
        public static Result GenerateCode(string userId, string phoneNo)
        {
            Result res = new Result();

            try
            {
                // 生成四位数的验证码
                Random r    = new Random();
                int    i    = (int)(r.NextDouble() * 10000);
                string code = i.ToString().PadLeft(4, '0');


                // 查看是否存在该帐号对应的验证码
                LibDataAccess access = new LibDataAccess();
                string        sql    = string.Format("SELECT count(*) FROM AXPVERIFYCODE WHERE USERID = {0}", LibStringBuilder.GetQuotString(userId));
                int           count  = LibSysUtils.ToInt32(access.ExecuteScalar(sql));


                // 生成或者更新验证码
                if (count == 0)
                {
                    sql = string.Format("INSERT INTO AXPVERIFYCODE(USERID, VERIFYCODE, TIME) VALUES({0}, {1}, {2})", LibStringBuilder.GetQuotString(userId), LibStringBuilder.GetQuotString(code), LibDateUtils.GetCurrentDateTime());
                }
                else if (count == 1)
                {
                    sql = string.Format("UPDATE AXPVERIFYCODE SET VERIFYCODE={0}, TIME={1} WHERE USERID={2}", LibStringBuilder.GetQuotString(code), LibDateUtils.GetCurrentDateTime(), LibStringBuilder.GetQuotString(userId));
                }
                access.ExecuteNonQuery(sql);


                // 发送短信
                SendSMSParam sendSMSParam = new SendSMSParam();
                sendSMSParam.Message = "验证码为:" + code;
                sendSMSParam.PhoneList.Add(phoneNo);
                LibSMSHelper.SendMsg(sendSMSParam);


                res.ReturnValue = true;
                res.Message     = "成功!";
            }
            catch (Exception ex)
            {
                res.ReturnValue = false;
                res.Message     = "失败!" + ex.Message;
            }
            return(res);
        }
Beispiel #19
0
        private LibBusinessTask GetBusinessTask(string taskId)
        {
            SqlBuilder sqlBuilder = new SqlBuilder("axp.ScheduleTask");
            string     sql        = sqlBuilder.GetQuerySql(0, "A.TASKID,A.PROGID,A.BUSINESSTASKID,A.CALENDARID,A.ISJUSTWORKDAY,A.INTERVALTIME,A.EXECDATE,A.REPEATDATEMARK,A.EXECCONDITION,A.TITLE,A.MAINCONTENT,B.EXECTIME",
                                                           string.Format("A.TASKID={0}", LibStringBuilder.GetQuotString(taskId)), "B.EXECTIME");
            LibDataAccess   dataAccess = new LibDataAccess();
            LibBusinessTask task       = null;

            using (IDataReader reader = dataAccess.ExecuteDataReader(sql))
            {
                while (reader.Read())
                {
                    if (task == null)
                    {
                        task = new LibBusinessTask();
                        task.BusinessTaskId = LibSysUtils.ToString(reader["BUSINESSTASKID"]);
                        task.CalendarId     = LibSysUtils.ToString(reader["CALENDARID"]);
                        task.ExecCondition  = LibSysUtils.ToString(reader["ExecCondition"]);
                        task.ExecDate       = LibSysUtils.ToInt32(reader["EXECDATE"]);
                        task.IntervalTime   = LibSysUtils.ToInt32(reader["INTERVALTIME"]);
                        task.IsJustWorkDay  = LibSysUtils.ToBoolean(reader["ISJUSTWORKDAY"]);
                        task.ProgId         = LibSysUtils.ToString(reader["PROGID"]);
                        task.Title          = LibSysUtils.ToString(reader["TITLE"]);
                        task.MainContent    = LibSysUtils.ToString(reader["MAINCONTENT"]);
                        task.RepeatDateMark = LibSysUtils.ToInt32(reader["REPEATDATEMARK"]);
                        task.TaskId         = taskId;
                    }
                    task.ExecTime.Add(LibSysUtils.ToInt32(reader["EXECTIME"]));
                }
            }
            sql = string.Format("select distinct A.TASKID,A.PERSONID,D.DEPTID,C.USERID from AXPSCHEDULETASKPERSON A " +
                                "inner join AXPSCHEDULETASK B on B.TASKID=A.TASKID left join COMPERSON D on D.PERSONID=A.PERSONID inner join AXPUSER C on C.PERSONID=A.PERSONID " +
                                "where B.TASKID={0}", LibStringBuilder.GetQuotString(taskId));
            using (IDataReader reader = dataAccess.ExecuteDataReader(sql, false))
            {
                while (reader.Read())
                {
                    task.Liaison.Add(new LibBusinessTaskLiaison()
                    {
                        PersonId = LibSysUtils.ToString(reader["PERSONID"]),
                        DeptId   = LibSysUtils.ToString(reader["DEPTID"]),
                        UserId   = LibSysUtils.ToString(reader["USERID"])
                    });
                }
            }
            return(task);
        }
Beispiel #20
0
        public bool savePurTraceData(purSupplyTrace PurSupplyTrace)
        {
            StringBuilder builder = new StringBuilder();

            builder.AppendFormat(@"UPDATE PURSUPPLYTRACE 
                                    SET 
                                    CYCLETIME = {0},
                                    PLANSTARTTIME = {1},
                                    PLANENDTIME = {2},
                                    PLANINWARETIME = {3},
                                    PLANSENDTIME = {4},
                                    STOCKQTY = {5},
                                    REALSTARTTIME = {6},
                                    REALENDTIME = {7},
                                    REALINWARETIME = {8},
                                    REALSENDTIME = {9},
                                    INWAYQTY={10} 
                                    WHERE 
                                    PURBILLNO = '{11}' 
                                    AND 
                                    MATERIALID = '{12}' "
                                 , PurSupplyTrace.CycleTime,
                                 PurSupplyTrace.PlanStartTime,
                                 PurSupplyTrace.PlanEndTime,
                                 PurSupplyTrace.PlanInWareTime,
                                 PurSupplyTrace.PlanSendTime,
                                 PurSupplyTrace.StockQty,
                                 PurSupplyTrace.RealStartTime,
                                 PurSupplyTrace.RealEndTime,
                                 PurSupplyTrace.RealInWareTime,
                                 PurSupplyTrace.RealSendTime,
                                 PurSupplyTrace.InWareQty,
                                 PurSupplyTrace.PurBillNo,
                                 PurSupplyTrace.MaterialId
                                 );
            int BackRow = LibSysUtils.ToInt32(this.DataAccess.ExecuteNonQuery(builder.ToString()));

            if (BackRow > 0)
            {
                return(true);
            }
            else
            {
                return(false);
            }
        }
Beispiel #21
0
        /// <summary>
        /// 获取同步天数
        /// </summary>
        /// <param name="supplierId"></param>
        /// <returns>同步天数</returns>
        public int getRollPlanCopyDate(string supplierId)
        {
            string sql = string.Empty;

            sql = string.Format("SELECT COPYDATE FROM AXPCOMPANYPARAM WHERE ORGID = {0}", LibStringBuilder.GetQuotString(supplierId));
            int copyDateNumber = 0;

            copyDateNumber = LibSysUtils.ToInt32(this.DataAccess.ExecuteScalar(sql));
            if (copyDateNumber > 0)
            {
                return(copyDateNumber);
            }
            else
            {
                return(3);
            }
        }
Beispiel #22
0
        public static Result PictureUpload(pictureUploadModel model)
        {
            Result res = new Result();

            try
            {
                //var result = "";
                //将byte数组转为base64String
                //string base64String = "/9j/4AAQSkZJRgABAQEAkACQAAD/4QCMRXhpZgAATU0AKgAAAAgABQESAAMAAAABAAEAAAEaAAUAAAABAAAASgEbAAUAAAABAAAAUgEoAAMAAAABAAIAAIdpAAQAAAABAAAAWgAAAAAAAACQAAAAAQAAAJAAAAABAAOgAQADAAAAAQABAACgAgAEAAAAAQAAAHKgAwAEAAAAAQAAAHIAAAAA/9sAQwAfFRcbFxMfGxkbIyEfJS9OMi8rKy9fREg4TnBjdnRuY21rfIyyl3yEqYZrbZvTnam4vsjKyHiV2+rZwumyxMjA/9sAQwEhIyMvKS9bMjJbwIBtgMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA/8AAEQgAcgByAwEiAAIRAQMRAf/EAB8AAAEFAQEBAQEBAAAAAAAAAAABAgMEBQYHCAkKC//EALUQAAIBAwMCBAMFBQQEAAABfQECAwAEEQUSITFBBhNRYQcicRQygZGhCCNCscEVUtHwJDNicoIJChYXGBkaJSYnKCkqNDU2Nzg5OkNERUZHSElKU1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6g4SFhoeIiYqSk5SVlpeYmZqio6Slpqeoqaqys7S1tre4ubrCw8TFxsfIycrS09TV1tfY2drh4uPk5ebn6Onq8fLz9PX29/j5+v/EAB8BAAMBAQEBAQEBAQEAAAAAAAABAgMEBQYHCAkKC//EALURAAIBAgQEAwQHBQQEAAECdwABAgMRBAUhMQYSQVEHYXETIjKBCBRCkaGxwQkjM1LwFWJy0QoWJDThJfEXGBkaJicoKSo1Njc4OTpDREVGR0hJSlNUVVZXWFlaY2RlZmdoaWpzdHV2d3h5eoKDhIWGh4iJipKTlJWWl5iZmqKjpKWmp6ipqrKztLW2t7i5usLDxMXGx8jJytLT1NXW19jZ2uLj5OXm5+jp6vLz9PX29/j5+v/aAAwDAQACEQMRAD8A6GiiigAooqF5scL+dAEpIHU4phmQepquSWOSc0UwJvPH939aPP8A9n9ahooAsCZT1yKeCG6HNVKASDkHFAFyioEm7N+dTAgjIpALRRRQAUUUUAFFFQzv/CPxoAbLJuOB0/nUdFFMAoopyIXPH50ANoqTES9SWPtR+6b1WgCOinPGU56j1ptABTo5Ch9vSm0UAWwQRkdKWq8L4O09DVikAUUUUAIx2qT6VUJycmp5zhQPWoKYBRRRQAdalkOxQi/jUaffX606b/WGgBlFFFAEkTZ+RuhpjDaxHpQn31+tOm/1hoAZRRRQAVajbcgPeqtS255I/GgCeiiikBBcfeA9qiqS4++PpUdMAooooAKlceYoZeo6ioqkjRh82do96AI6KmZoieRk+1N3xr91Mn3oAI12je3QdKjJyST3pXcueaSgAooooAKfD/rBTKfD/rBQBZooopAQ3A6GoasyruQiq1MAoopVG5gPWgB6KFXe34CmO5c5NOmPzbR0FMoAKKKKACpNoePKjkdRUdOiba49+KAG0U6RdrkU2gAqSAfOT6Co6sQLhM+tAElFFFIAqtKm1vY1ZprqHXBoAq06MhXBPSkZSpwaSmArHLE+ppKKKACiiigAooooAfKwZsj0plFABJwOtADkXe2KtdKZGmxffvT6QBRRRQAUUUUANdA4waruhQ89PWrVFAFOip2hU9OKYYXHTBpgR0U7Y/8AdNJsb+6fyoASiniFz2xUiwAfeOaAIVUscAVYjjCD1PrTgABgDFLSAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKAP/2Q==";
                string base64String = model.PersonPicture;

                //将base64String 转为 byte数组
                byte[] byteArray    = Convert.FromBase64String(base64String);
                string saveFileName = DateTime.Now.ToFileTime().ToString() + '.' + model.FileExtension;
                //string saveFileName = DateTime.Now.ToFileTime().ToString() + ".jpg";
                string dirPath = Path.Combine(EnvProvider.Default.RuningPath, "PersonPicture");
                string path    = Path.Combine(dirPath, saveFileName);
                //使用文件流读取byte数组中的数据
                Stream saveStream = new FileStream(path, FileMode.Append);
                saveStream.Write(byteArray, 0, byteArray.Length);
                saveStream.Close();
                string        httpPath   = "http://" + EnvProvider.Default.VisualHostName + ':' + EnvProvider.Default.CurrentPort + '/' + "PersonPicture" + '/' + saveFileName;
                string        sql        = string.Format("UPDATE COMPERSON SET HEADPORTRAIT = {0} WHERE PERSONID = {1}", LibStringBuilder.GetQuotString(httpPath), LibStringBuilder.GetQuotString(model.PrisonId));
                LibDataAccess dataAccess = new LibDataAccess();
                int           count      = -1;
                count = LibSysUtils.ToInt32(dataAccess.ExecuteNonQuery(sql));
                if (count < 0)
                {
                    res.ReturnValue = false;
                    res.Message     = "请求错误";
                }
                else
                {
                    res.ReturnValue = true;
                    res.Info        = httpPath;
                }
            }
            catch (Exception ex)
            {
                res.ReturnValue = false;
                res.Message     = ex.Message;
            }

            return(res);
        }
Beispiel #23
0
        public DataSet GetMyNews(string userId, string password)
        {
            SystemService server = new SystemService();
            LibDataAccess access = new LibDataAccess();
            string        sql    = string.Format("SELECT count(*) FROM AXPUSER  WHERE USERID ='{0}' AND USERPASSWORD ='******'", userId, password);
            int           count  = LibSysUtils.ToInt32(access.ExecuteScalar(sql));

            if (count > 0)
            {
                sql = string.Format("SELECT  NEWSID ,USERID ,TITLE ,MAINCONTENT ,INFOID ,A.CREATETIME ,PERSONID ,ISREAD ,EXECTASKDATAID ,B.CREATETIME ,PROGID ,RESULTDATA FROM AXPUSERNEWS A LEFT JOIN AXAEXECTASKDATA B ON A.INFOID = B.EXECTASKDATAID WHERE A.USERID = {0} AND A.ISREAD = 0", LibStringBuilder.GetQuotString(userId));

                return(access.ExecuteDataSet(sql));
            }
            else
            {
                return(new DataSet());
            }
        }
Beispiel #24
0
 /// <summary>
 /// 检查用户账户是否存在
 /// </summary>
 /// <param name="userId"></param>
 /// <returns></returns>
 public static bool CheckUserExist(string userId)
 {
     if (string.IsNullOrEmpty(userId))
     {
         return(false);
     }
     try
     {
         LibDataAccess dataAccess = new LibDataAccess();
         int           count      = LibSysUtils.ToInt32(dataAccess.ExecuteScalar(string.Format("select count(*) from AXPUSER where USERID={0} AND ISUSE=1",
                                                                                               LibStringBuilder.GetQuotString(userId))));
         return(count > 0);
     }
     catch (Exception exp)
     {
         LibCommUtils.AddOutput("CrossSiteCall", string.Format("error:{0}\r\nStacktrace:{1}", exp.Message, exp.StackTrace));
         return(false);
     }
 }
Beispiel #25
0
        private LibBusinessTask AddTask()
        {
            LibBusinessTask task      = new LibBusinessTask();
            DataRow         masterRow = this.DataSet.Tables[0].Rows[0];

            task.BusinessTaskId = LibSysUtils.ToString(masterRow["BUSINESSTASKID"]);
            task.CalendarId     = LibSysUtils.ToString(masterRow["CALENDARID"]);
            task.ExecCondition  = LibSysUtils.ToString(masterRow["ExecCondition"]);
            task.ExecDate       = LibSysUtils.ToInt32(masterRow["EXECDATE"]);
            task.IntervalTime   = LibSysUtils.ToInt32(masterRow["INTERVALTIME"]);
            task.IsJustWorkDay  = LibSysUtils.ToBoolean(masterRow["ISJUSTWORKDAY"]);
            task.ProgId         = LibSysUtils.ToString(masterRow["PROGID"]);
            task.Title          = LibSysUtils.ToString(masterRow["TITLE"]);
            task.MainContent    = LibSysUtils.ToString(masterRow["MAINCONTENT"]);
            task.RepeatDateMark = LibSysUtils.ToInt32(masterRow["REPEATDATEMARK"]);
            task.TaskId         = LibSysUtils.ToString(masterRow["TASKID"]);
            foreach (DataRow curRow in this.DataSet.Tables[1].Rows)
            {
                if (curRow.RowState == DataRowState.Deleted)
                {
                    continue;
                }
                task.ExecTime.Add(LibSysUtils.ToInt32(curRow["EXECTIME"]));
            }
            string sql = string.Format("select distinct A.TASKID,A.PERSONID,D.DEPTID,C.USERID from AXPSCHEDULETASKPERSON A " +
                                       "inner join AXPSCHEDULETASK B on B.TASKID=A.TASKID left join COMPERSON D on D.PERSONID=A.PERSONID inner join AXPUSER C on C.PERSONID=A.PERSONID " +
                                       "where B.TASKID={0}", LibStringBuilder.GetQuotString(task.TaskId));

            using (IDataReader reader = this.DataAccess.ExecuteDataReader(sql, false))
            {
                while (reader.Read())
                {
                    task.Liaison.Add(new LibBusinessTaskLiaison()
                    {
                        PersonId = LibSysUtils.ToString(reader["PERSONID"]),
                        DeptId   = LibSysUtils.ToString(reader["DEPTID"]),
                        UserId   = LibSysUtils.ToString(reader["USERID"])
                    });
                }
            }
            LibBusinessTaskCache.Default.AddCacheItem(task);
            return(task);
        }
Beispiel #26
0
        /// <summary>
        /// 手动排程
        /// </summary>
        /// <returns></returns>
        public void funSchedule()
        {
            string        sql  = string.Empty;
            List <string> list = new List <string>();
            int           date = LibSysUtils.ToInt32(DateTime.Now.ToString("yyyyMMdd"));

            sql = "SELECT PROGID FROM AXPFUNCLIST WHERE BILLTYPE=0";
            using (IDataReader reader = this.DataAccess.ExecuteDataReader(sql))
            {
                while (reader.Read())
                {
                    list.Add(string.Format(@"UPDATE {0} SET ISVALIDITY=1 WHERE VALIDITYSTARTDATE<={1} AND (VALIDITYENDDATE>={1} OR VALIDITYENDDATE=0)",
                                           LibSqlModelCache.Default.GetSqlModel(LibSysUtils.ToString(reader["PROGID"])).Tables[0].TableName, date));
                    list.Add(string.Format(@"UPDATE {0} SET ISVALIDITY=0 WHERE VALIDITYSTARTDATE>{1} OR (VALIDITYENDDATE<{1} AND VALIDITYENDDATE>0)",
                                           LibSqlModelCache.Default.GetSqlModel(LibSysUtils.ToString(reader["PROGID"])).Tables[0].TableName, date));
                }
            }
            this.DataAccess.ExecuteDataTables(list, this.DataSet);
        }
Beispiel #27
0
        protected override void AfterUpdate()
        {
            base.AfterUpdate();
            if (this.ManagerMessage.IsThrow)
            {
                return;//如果已经有错误发生则直接返回
            }
            try
            {
                DataRow masterRow = this.DataSet.Tables[0].Rows[0];
                //先定位到文档库根路径
                string path = DMCommonMethod.GetDMRootPath((DirTypeEnum)LibSysUtils.ToInt32(masterRow["DIRTYPE"]));
                //string path = Path.Combine(EnvProvider.Default.DocumentsPath, (LibSysUtils.ToInt32(masterRow["DIRTYPE"]) == 0 ? "" : "my"));//根据是否为私有类型在路径下增加my

                string relativePath = string.Empty;
                if (masterRow.RowState == DataRowState.Added)
                {
                    //添加时创建目录文件夹
                    DirLinkAddress dirLink = new DirLinkAddress(LibSysUtils.ToString(masterRow["DIRID"]), this.DataAccess);
                    relativePath = dirLink.DirSavePath;
                    path         = Path.Combine(path, relativePath);
                    Directory.CreateDirectory(path);
                }
                else
                {
                    //update时检查父目录是否变化,如有变化根据将目录对应的文件夹移动到父目录文件夹下
                    string oldParentID     = LibSysUtils.ToString(masterRow["PARENTDIRID", DataRowVersion.Original]);
                    string currentParentID = LibSysUtils.ToString(masterRow["PARENTDIRID"]);
                    if (oldParentID.Equals(currentParentID) == false)
                    {
                        DirLinkAddress dirLink = new DirLinkAddress(LibSysUtils.ToString(masterRow["DIRID"]), this.DataAccess);
                        relativePath = dirLink.DirSavePath;
                        string newDirPath = Path.Combine(path, relativePath);
                        Directory.Move(_OldDirPath, newDirPath);//移动文件夹
                    }
                }
            }
            catch (Exception exp)
            {
                this.ManagerMessage.AddMessage(LibMessageKind.Error, "保存目录失败,原因:" + exp.Message);
                throw exp;
            }
        }
Beispiel #28
0
 /// <summary>
 /// 异常报告单单据类型 删除前验证【不被异常报告单引用】
 /// </summary>
 protected override void BeforeDelete()
 {
     base.BeforeDelete();
     #region 当异常报告单单据类型删除时,确保原始的异常报告单单据类型不被异常报告单引用
     DataRow masterRow = this.DataSet.Tables[0].Rows[0];
     if (masterRow.HasVersion(DataRowVersion.Original))
     {
         string typeId = LibSysUtils.ToString(masterRow["TYPEID", DataRowVersion.Original]);
         if (LibSysUtils.ToString(masterRow["TYPEID"]).CompareTo(typeId) != 0)
         {
             string sql   = string.Format("SELECT COUNT(BILLNO) FROM COMABNORMALREPORT WHERE TYPEID={0}", LibStringBuilder.GetQuotString(typeId));
             int    count = LibSysUtils.ToInt32(this.DataAccess.ExecuteScalar(sql));
             if (count > 0)
             {
                 this.ManagerMessage.AddMessage(LibMessageKind.Error, string.Format("异常报告单单据类型{0}在异常报告单被引用,无法删除", typeId));
             }
         }
     }
     #endregion
 }
Beispiel #29
0
        public static Result SavePictureCalidateCode(string userId, string code)
        {
            Result        result     = new Result();
            LibDataAccess dataAccess = new LibDataAccess();
            string        sql        = string.Format("SELECT count(*) FROM AXPVERIFYCODE WHERE USERID = {0}", LibStringBuilder.GetQuotString(userId));
            int           count      = LibSysUtils.ToInt32(dataAccess.ExecuteScalar(sql));


            // 生成或者更新验证码
            if (count == 0)
            {
                sql = string.Format("INSERT INTO AXPVERIFYCODE(USERID, VERIFYCODE, TIME) VALUES({0}, {1}, {2})", LibStringBuilder.GetQuotString(userId), LibStringBuilder.GetQuotString(code), LibDateUtils.GetCurrentDateTime());
            }
            else if (count == 1)
            {
                sql = string.Format("UPDATE AXPVERIFYCODE SET VERIFYCODE={0}, TIME={1} WHERE USERID={2}", LibStringBuilder.GetQuotString(code), LibDateUtils.GetCurrentDateTime(), LibStringBuilder.GetQuotString(userId));
            }
            dataAccess.ExecuteNonQuery(sql);
            return(result);
        }
Beispiel #30
0
        public static Result GetCount(string userId, string handle)
        {
            Result res = new Result();

            res.ReturnValue = true;
            string personId = "018427";

            //LibHandle Handle = LibHandleCache.Default.IsExistsHandle(LibHandeleType.None, userId);
            //VerificationHandle(userId, handle, Handle, res);
            if (res.ReturnValue)
            {
                LibDataAccess access = new LibDataAccess();
                try
                {
                    string sql = string.Empty;
                    //if (!string.IsNullOrEmpty(Handle.PersonId))//待优化
                    //{
                    CountModel model = new CountModel();
                    sql = string.Format("SELECT COUNT(*) AS TOTALNUM FROM AXPAPPROVETASK WHERE PERSONID = {0} AND AUDITSTATE = 0 and FLOWLEVEL=CURRENTLEVEL+1", LibStringBuilder.GetQuotString(personId));
                    model.ApprovelCount = LibSysUtils.ToInt32(access.ExecuteScalar(sql));
                    sql = string.Format("SELECT COUNT(*) FROM COMABNORMALREPORT A INNER JOIN COMABNORMALREPORTTYPEFLOW B ON B.TYPEID = A.TYPEID  WHERE A.TRANSMITLEVEL = B.TRANSMITLEVEL AND B.PERSONID = {0} AND A.BILLNO NOT IN (select FROMBILLNO from COMABNORMALTRACE)", LibStringBuilder.GetQuotString(personId));
                    model.AbnormalCount = LibSysUtils.ToInt32(access.ExecuteScalar(sql));

                    res.Info        = model;
                    res.ReturnValue = true;
                    //}
                    //else
                    //{
                    //    res.Message = "请重新登录!";
                    //    res.ReturnValue = false;
                    //}
                }
                catch (Exception ex)
                {
                    res.ReturnValue = false;
                    res.Message     = "失败!" + ex.Message;
                }
            }
            return(res);
        }