/// <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); }
/// <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); }
/// <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); } }
/// <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); }
/// <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); }
/// <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); }