Example #1
0
        /// <summary>
        /// 还原 for setting   added by liuxzha 2015.04.10
        /// </summary>
        /// <param name="id"></param>
        public void DoRecover(int taskType, string id, string vouchertype)
        {
            DAL.TaskLogFactory.ITaskLogMain logdal;

            DataSet ds = U8.Interface.Bus.DBUtility.DbHelperSQL.Query(" SELECT Dllpath,[Namespace],ClassName  FROM mes_comm_dllreflect WITH(NOLOCK) WHERE ClassType='op' AND tasktype ='" + taskType + "'  AND cvouchertype = '" + vouchertype + "' ");

            if (ds == null || ds.Tables[0].Rows.Count < 1)
            {
                throw new Exception("mes_comm_dllreflect 中不存在此op ");
            }
            BaseOp tmpOp = (BaseOp)System.Reflection.Assembly.Load(ds.Tables[0].Rows[0]["Dllpath"].ToString())
                           .CreateInstance(ds.Tables[0].Rows[0]["Namespace"].ToString() + "." + ds.Tables[0].Rows[0]["ClassName"].ToString());

            if (taskType == 0)
            {
                logdal = new DAL.TaskLogFactory.CQ.TaskMain();
            }
            else if (taskType == 1)
            {
                logdal = new DAL.SynergismLog();
            }
            else
            {
                logdal = new DAL.TaskLogFactory.DS.TaskMain();
            }
            Model.Synergismlog log = logdal.GetModel(id, tmpOp);
            log.Cstatus = Constant.SynerginsLog_Cstatus_NoDeal;
            log.Endtime = DateTime.Now;
            logdal.Update(log, tmpOp);
        }
Example #2
0
 /// <summary>
 /// 还原 for setting   added by liuxzha 2015.04.10
 /// </summary>
 /// <param name="id"></param>
 public void DoRecover(string id)
 {
     DAL.SynergismLog   logdal = new DAL.SynergismLog();
     Model.Synergismlog log    = logdal.GetModel(id);
     log.Cstatus = Constant.SynerginsLog_Cstatus_NoDeal;
     log.Endtime = DateTime.Now;
     logdal.Update(log);
 }
Example #3
0
File: APIOp.cs Project: sky-tc/U8
 /// <summary>
 /// 更新协同路线字段
 /// </summary>
 /// <param name="bd"></param>
 /// <param name="dr"></param>
 protected void UpdateTeamworkField(BaseData bd, Model.DealResult dr)
 {
     if (bd.TaskType == 1)
     {
         DAL.SynergismLog   logdal    = new DAL.SynergismLog();
         Model.Synergismlog logmdoel  = logdal.GetModel(bd.Synergismlogdt.Id);
         string             tablename = SetTableName() + "_extradefine";
         DAL.Common.UpdateTeamworkField(logmdoel.Croutetype, tablename, dr.VouchIdRet, bd.ConnectInfo.Constring);
     }
 }
Example #4
0
        /// <summary>
        /// 重做
        /// </summary>
        /// <param name="autoid"></param>
        /// <param name="id"></param>
        public void ReDo(string autoid, string id)
        {
            DAL.SynergismLogDt   dal = new DAL.SynergismLogDt();
            Model.Synergismlogdt dt  = dal.GetModel(autoid);
            dt.Cstatus    = Constant.SynergisnLogDT_Cstatus_NoDeal;
            dt.Cerrordesc = string.Empty;

            //如果有单号,先删除再重发
            if (string.IsNullOrEmpty(dt.Cvoucherno))
            {
                DeleteSyncDt(1, autoid, id);
            }

            dal.Update(dt);
            DAL.SynergismLog   logdal = new DAL.SynergismLog();
            Model.Synergismlog log    = logdal.GetModel(id);
            log.Cstatus = Constant.SynerginsLog_Cstatus_Dealing;
            logdal.Update(log);
        }
Example #5
0
        /// <summary>
        /// 任务main DAL 工厂
        /// </summary>
        /// <param name="tasktype"></param>
        /// <returns></returns>
        public static DAL.TaskLogFactory.ITaskLogMain GetITaskLogMainDAL(int tasktype)
        {
            DAL.TaskLogFactory.ITaskLogMain logDAL;
            switch (tasktype)
            {
            case 0:
                logDAL = new DAL.TaskLogFactory.CQ.TaskMain();
                break;

            case 1:
                logDAL = new DAL.SynergismLog();
                break;

            case 2:
                logDAL = new DAL.TaskLogFactory.DS.TaskMain();
                break;

            default:
                BLL.Common.ErrorMsg(SysInfo.productName, "tasktype" + tasktype + "未适配!");
                return(null);
            }

            return(logDAL);
        }
Example #6
0
        /// <summary>
        /// 删除
        /// </summary>
        /// <param name="taskType">任务类别 0 CQ 1 XT</param>
        /// <param name="autoid"></param>
        /// <param name="id"></param>
        /// <returns></returns>
        public DealResult DeleteSyncDt(int tasktype, string autoid, string id)
        {
            DealResult dr = new DealResult();

            try
            {
                DAL.TaskLogFactory.ITaskLogDetail daldt = ClassFactory.GetITaskLogDetailDAL(tasktype);

                BLL.SynergisnLogDT logdtbll = new SynergisnLogDT();

                Model.Synergismlogdt dt = daldt.GetModel(autoid, null);


                #region 协同 校验
                if (tasktype.Equals("1"))
                {
                    List <Model.Synergismlogdt> nextlist = logdtbll.GetNext(dt, null);

                    foreach (Model.Synergismlogdt next in nextlist)
                    {
                        if (!string.IsNullOrEmpty(next.Cvoucherno))
                        {
                            dr.ResultNum = -1;
                            dr.ResultMsg = "下游单据未删除,请先删除下游单据";
                            return(dr);
                        }
                    }
                }
                #endregion

                BaseData bd = ClassFactory.GetBaseData(dt);
                bd.Dodelete            = true;
                bd.Synergismlogdt      = dt;
                bd.Fristsynergismlogdt = daldt.GetFirst(dt);
                BaseOp op = ClassFactory.GetBaseOp(dt);
                op.MakeData(dt, bd);

                string vouchid = op.GetCodeorID(dt.Cvoucherno, bd, "id");

                if (!string.IsNullOrEmpty(vouchid))
                {
                    dr = op.UndoMake(bd, dt);
                }

                if (dr.ResultNum < Constant.ResultNum_NoError)
                {
                    return(dr);
                }
                dt.Cstatus    = Constant.SynergisnLogDT_Cstatus_Delete;
                dt.Cvoucherno = string.Empty;
                daldt.Update(dt);
                DAL.SynergismLog   logdal = new DAL.SynergismLog();
                Model.Synergismlog log    = logdal.GetModel(id);
                log.Cstatus = Constant.SynerginsLog_Cstatus_Wait;
                logdal.Update(log);
            }
            catch (Exception ex)
            {
                dr.ResultMsg = ex.ToString();
                dr.ResultNum = -1;
            }
            return(dr);
        }