Beispiel #1
0
        public string MoveAttach(LibAttachData attachData)
        {
            LibDataAccess dataAccess = new LibDataAccess();
            List <string> listSql    = new List <string>();

            //更新结构
            UpdateAttachStruct(attachData, listSql);
            //更新附件记录明细
            listSql.Add(string.Format("insert into AXPATTACHMENTRECORDDETAIL(BELONGTOID,ORDERID,FILENAME,PERSONID,CREATETIME) values('{0}',{1},'{2}','{3}',{4})",
                                      attachData.AttachSrc, attachData.OrderId, attachData.FileName, attachData.PersonId, LibDateUtils.GetCurrentDateTime()));

            LibDBTransaction trans = dataAccess.BeginTransaction();

            try
            {
                dataAccess.ExecuteNonQuery(listSql);
                trans.Commit();
            }
            catch
            {
                trans.Rollback();
                throw;
            }

            string path = Path.Combine(EnvProvider.Default.MainPath, "AxFile", "Attachment", attachData.ProgId, attachData.AttachSrc);

            if (!Directory.Exists(path))
            {
                Directory.CreateDirectory(path);
            }
            string orgFilePath = Path.Combine(EnvProvider.Default.MainPath, "AxFile", "Attachment", attachData.FileName);

            File.Move(orgFilePath, Path.Combine(path, attachData.FileName));
            return(attachData.AttachSrc);
        }
Beispiel #2
0
        public DataSet Save(Dictionary <string, LibChangeRecord> changeRecord, Dictionary <string, string> extendParam = null)
        {
            if (extendParam != null && extendParam.Count != 0)
            {
                foreach (var item in extendParam)
                {
                    ExtendBcfParam[item.Key] = JsonConvert.DeserializeObject(extendParam[item.Key], RegisterBcfParamType[item.Key]);
                }
            }
            this.DataSet = (DataSet)LibBillDataCache.Default.Get(this.ProgId);
            DataSetManager.ChangeDataHandle(this.DataSet, changeRecord, this.ManagerMessage);
            LibBillDataCache.Default.AddBillData(this.ProgId, this.DataSet);
            LibDBTransaction trans = this.DataAccess.BeginTransaction();

            try
            {
                CheckDataHelper.CheckData(this);
                this.BeforeUpdate();
                DataSetManager.SubmitData(this.DataSet, this.DataAccess);
                this.AfterUpdate();
                if (this.ManagerMessage.IsThrow)
                {
                    trans.Rollback();
                    this.DataSet.RejectChanges();
                    LibBillDataCache.Default.AddBillData(this.ProgId, this.DataSet);
                }
                else
                {
                    trans.Commit();
                    LibBillDataCache.Default.Remove(this.ProgId);
                }
            }
            catch
            {
                trans.Rollback();
                this.DataSet.RejectChanges();
                LibBillDataCache.Default.AddBillData(this.ProgId, this.DataSet);
                throw;
            }
            this.AfterCommintData();
            this.AfterChangeData(this.DataSet);
            this.DataSet.AcceptChanges();
            return(this.DataSet);
        }
Beispiel #3
0
        /// <summary>
        /// 全文索引创建结果的处理
        /// </summary>
        /// <param name="docId"></param>
        /// <param name="modifyVerId">修订版标识号</param>
        /// <param name="isSuccess"></param>
        public static void DealFullIndexResult(string docId, int modifyVerId, bool isSuccess)
        {
            try
            {
                LibDataAccess    dataAccess = new LibDataAccess();
                LibDBTransaction trans      = dataAccess.BeginTransaction();
                try
                {
                    string sql = "";
                    if (dataAccess.DatabaseType == LibDatabaseType.SqlServer)
                    {
                        sql = string.Format(
                            " update a                        " +
                            " set a.ISFULLINDEX = {2}         " +
                            " from DMDOCUMENT a               " +
                            " where a.DOCID = '{0}' and (select max(DOCMODIFYID) from DMDOCMODIFYHISTORY where DOCID = '{0}') = {1}",//修订号与最新修订号相同才设置索引结果
                            docId, modifyVerId, isSuccess ? 1 : 0);
                    }
                    else
                    {
                        //Oracle To do
                    }

                    if (string.IsNullOrEmpty(sql) == false)
                    {
                        dataAccess.ExecuteNonQuery(sql);
                    }
                    trans.Commit();
                }
                catch
                {
                    trans.Rollback();
                    throw;
                }
            }
            catch (Exception exp)
            {
                //发生异常时记录日志
                DMCommonMethod.WriteLog("DealFullIndexResult", string.Format("DocId:{0}\r\nIsSuccess{1}\r\nnError:{2}",
                                                                             docId, isSuccess, exp.ToString()));
            }
        }
Beispiel #4
0
        public DataSet ImportData(string fileName)
        {
            bool ret = CheckHasPermission(FuncPermissionEnum.Import);

            if (ret)
            {
                AxCRL.Core.Excel.LibExcelHelper libExcelHelper = new Core.Excel.LibExcelHelper();
                libExcelHelper.ImportToDataSet(System.IO.Path.Combine(AxCRL.Comm.Runtime.EnvProvider.Default.RuningPath, "TempData", "ImportData", fileName), this.DataSet, this.AfterImportDataInTable, this.AfterImportDataInRow);
                LibDBTransaction trans = this.DataAccess.BeginTransaction();
                try
                {
                    CheckImportData(this.DataSet);
                    CheckDataHelper.CheckData(this);
                    this.BeforeUpdate();
                    DataSetManager.SubmitData(this.DataSet, this.DataAccess);
                    this.AfterUpdate();
                    if (this.ManagerMessage.IsThrow)
                    {
                        trans.Rollback();
                        this.DataSet.RejectChanges();
                    }
                    else
                    {
                        trans.Commit();
                    }
                }
                catch
                {
                    trans.Rollback();
                    this.DataSet.RejectChanges();
                    throw;
                }
                this.AfterCommintData();
                this.AfterChangeData(this.DataSet);
                this.DataSet.AcceptChanges();
            }
            return(this.DataSet);
        }
Beispiel #5
0
        public string SaveAttachStruct(LibAttachData attachData)
        {
            if (attachData.AttachList.Count == 0)
            {
                return(string.Empty);
            }
            LibDataAccess dataAccess = new LibDataAccess();
            List <string> listSql    = new List <string>();

            UpdateAttachStruct(attachData, listSql);
            LibDBTransaction trans = dataAccess.BeginTransaction();

            try
            {
                dataAccess.ExecuteNonQuery(listSql);
                trans.Commit();
            }
            catch
            {
                trans.Rollback();
                throw;
            }
            return(attachData.AttachSrc);
        }
Beispiel #6
0
        public void RemoveFromSaleBillNo(string fromSaleBillNo)
        {
            //通过销售订单号查找派工单号
            string        sql        = string.Format(@"SELECT DISTINCT F.BILLNO
                                          FROM WORKORDER A
                                         INNER JOIN WORKORDERDETAIL B
                                            ON A.BILLNO = B.BILLNO
                                         INNER JOIN PLSSALESORDER C
                                            ON B.FROMBILLNO = C.BILLNO
                                         INNER JOIN PLSPRODUCEMONTHPLANDETAIL D
                                            ON D.WORKORDERBILLNO = B.BILLNO
                                         INNER JOIN PLSPRODUCEDAYPLANDETAIL E
                                            ON E.FROMBILLNO = D.BILLNO
                                           AND E.FROMROWID = D.ROW_ID
                                         INNER JOIN PPWORKORDER F
                                            ON E.PWORKORDERNO = F.BILLNO
                                         WHERE A.PARENTBILLNO IS NULL AND C.BILLNO = {0} ", LibStringBuilder.GetQuotString(fromSaleBillNo));
            LibDataAccess dataAccess = new LibDataAccess();
            StringBuilder builder    = new StringBuilder();
            Int32         index      = 1;

            using (IDataReader reader = dataAccess.ExecuteDataReader(sql))
            {
                while (reader.Read())
                {
                    string        workOrderNo   = LibSysUtils.ToString(reader["BILLNO"]);
                    HYProduceData hyProduceData = LibHYProduceCache.Default.GetProduceData(workOrderNo);
                    DataTable     dt            = hyProduceData.TenWorkRecord.Tables[0];
                    for (int i = 0; i < dt.Rows.Count; i++)
                    {
                        string saleBillNo = LibSysUtils.ToString(dt.Rows[i]["FROMSALEBILLNO"]);
                        if (saleBillNo == fromSaleBillNo)
                        {
                            dt.Rows[i].Delete();
                        }
                    }
                    dt.AcceptChanges();
                    if (index == 1)
                    {
                        builder.AppendFormat(" AND (WORKORDERNO = {0}", LibStringBuilder.GetQuotObject(reader["BILLNO"]));
                    }
                    else
                    {
                        builder.AppendFormat(" OR WORKORDERNO = {0}", LibStringBuilder.GetQuotObject(reader["BILLNO"]));
                    }
                    index++;
                }
            }
            if (builder.Length > 0)
            {
                builder.Append(")");
                sql = string.Format(@"DELETE FROM PPTENWORKRECORD WHERE 1=1 {0} AND FROMSALEBILLNO = '{1}'", builder.ToString(), fromSaleBillNo);
                LibDBTransaction trans = dataAccess.BeginTransaction();
                try
                {
                    int result = dataAccess.ExecuteNonQuery(sql);
                    trans.Commit();
                }
                catch (Exception)
                {
                    trans.Rollback();
                }
            }
        }