/// <summary> /// 获取来源表体数据 /// </summary> /// <param name="dt"></param> /// <param name="pdt"></param> /// <param name="apidata"></param> /// <returns></returns> public override System.Data.DataSet SetFromTabets(Model.Synergismlogdt dt, Model.Synergismlogdt pdt, Model.APIData apidata) { ApiService.DAL.TaskLog.ITaskLogDetail dtdal = ClassFactory.GetITaskLogDetailDAL(apidata.TaskType); //ClassFactory.GetITaskLogMain(3);; Model.ConnectInfo cimodel = dtdal.GetConnectInfo(pdt); string sql = "select 1 as a where 1=2 "; //sql += " CASE lb.opertype WHEN 0 THEN 'A' WHEN 1 THEN 'M' WHEN '2' THEN 'D' ELSE 'A' END as editprop, "; //sql += " '" + cimodel.UserId + "' as cMaker,"; //sql += " '" + System.DateTime.Now.ToString(SysInfo.dateFormat) + "' as dTVDate "; //移库日期 //sql += ",'" + System.DateTime.Now.ToString(SysInfo.datetimeFormat) + "' as dnmaketime, "; //制单时间 //sql += " lt.MOCODE as mes_MOCODE ,"; //生产订单号 //sql += " lt.MOSEQ as mes_MOSEQ ,"; //订单行号 //sql += " lt.ITEMCODE as mes_ITEMCODE ,"; //物料编码 //sql += " lt.OPSeq as mes_OPSeq ,"; //工序行号 //sql += " lt.OPCode as mes_OPCode, "; //工序编号 //sql += " lt.OPDescription as mes_OPDescription, "; //工序说明 //sql += " lt.PersonCode as mes_PersonCode, "; //人员编码 //sql += " lt.ResCode as mes_ResCode, "; //资源编码 //sql += " lt.Istatus as mes_Istatus, "; //状态 //sql += " lt.Qty as mes_Qty, "; //数量 //sql += " lt.StartDate as mes_StartDate, "; //开工日期 //sql += " lt.StartTime as mes_StartTime, "; //开工时间 //sql += " lt.ISCOMDATE as mes_ISCOMDATE, "; //完工时间 //sql += " lt.ISCOMTIME as mes_ISCOMTIME, "; //完工时间 //sql += " lt.opdoccode as mes_opdoccode, "; //生成的工序转移单号 //sql += " lt.workdoccode as mes_workdoccode "; //生成的工时记录单号 //sql += " from " + headtable + " where lt.id ='" + dt.Id + "' "; DbHelperSQLP help = new DbHelperSQLP(cimodel.Constring); DataSet ds = help.Query(sql); //BLL.Common.ErrorMsg(ds, "未能获取 表体信息"); return(ds); }
/// <summary> /// 获取当前任务的数据库连接串 /// </summary> /// <param name="dt"></param> /// <returns></returns> public Model.ConnectInfo GetConnectInfo(Model.Synergismlogdt dt) { DAL.Regist rdal = new Regist(); Model.Regist rmdoel = rdal.GetModel(dt.Accid); if (rmdoel != null) { Model.ConnectInfo cimodel = new Model.ConnectInfo(); cimodel.AccId = rmdoel.Cacc_id; cimodel.Source = rmdoel.Datasource; cimodel.Password = rmdoel.Cpassword; cimodel.Srv = rmdoel.Caddress; //应用服务器 add by wangdd cimodel.sSrv = rmdoel.Cservername; cimodel.SubId = "DP"; //测试 cimodel.UserId = rmdoel.Cuser_id; cimodel.YearId = rmdoel.Ibeginyear.ToString(); cimodel.Serial = BLL.Common.GetSerial(); cimodel.BEnable = rmdoel.Benable == "1" || rmdoel.Benable == "是"; cimodel.Constring = string.Format("Data Source={0};Initial Catalog={1};Persist Security Info=True;User ID=sa;Password={2};Current Language=Simplified Chinese", rmdoel.Caddress, rmdoel.Caccname, rmdoel.Cdbpwd); cimodel.Date = BLL.Common.GetVerifyData(dt); if (cimodel.Date == DateTime.Now.ToString("yyyy-MM-dd")) { cimodel.Date = BLL.Common.GetLoginDate(rmdoel); } return(cimodel); } return(null); }
/// <summary> /// 获取来源表体数据 /// </summary> /// <param name="dt"></param> /// <param name="pdt"></param> /// <param name="apidata"></param> /// <returns></returns> public override System.Data.DataSet SetFromTabets(Model.Synergismlogdt dt, Model.Synergismlogdt pdt, Model.APIData apidata) { string _sourcetablenameh = "pu_ArrHead"; string _sourcetablenameb = "pu_ArrBody"; ApiService.DAL.TaskLogFactory.ITaskLogDetail dtdal = ClassFactory.GetITaskLogDetailDAL(apidata.TaskType); //new ApiService.DAL.SynergismLogDt(); Model.ConnectInfo cimodel = dtdal.GetConnectInfo(pdt); string sql = "select b.*,"; sql += " lt.cWhCode as MES_cWhCode,lt.cRdStyleCode as MES_cRdCode,lt.cDepCode as MES_cDepCode,lt.cPersonCode as MES_cPersonCode, "; sql += " lt.cvencode as MES_cvencode,"; sql += " CASE lb.opertype WHEN 0 THEN 'A' WHEN 1 THEN 'M' WHEN '2' THEN 'D' ELSE 'A' END as editprop, "; sql += " lb.iquantity as MES_iquantity "; sql += " from " + _sourcetablenameb + " b with(nolock) "; sql += " inner join " + _sourcetablenameh + " t with(nolock) on b.id = t.id "; sql += " inner join " + bodytable + " lb with(nolock) on lb.dhid = b.autoid "; sql += " inner join " + headtable + " lt with(nolock) on lt.id = lb.id "; sql += " where lt.id ='" + pdt.Id + "' "; DbHelperSQLP help = new DbHelperSQLP(cimodel.Constring); DataSet ds = help.Query(sql); BLL.Common.ErrorMsg(ds, "未能获取采购到货单表体信息"); return(ds); }
/// <summary> /// 获取来源表头数据 /// </summary> /// <param name="dt"></param> /// <param name="pdt"></param> /// <param name="apidata"></param> /// <returns></returns> public override System.Data.DataSet SetFromTabet(Model.Synergismlogdt dt, Model.Synergismlogdt pdt, Model.APIData apidata) { string sourceHeadTable = "pu_ArrHead"; string sourceBodyTable = "pu_ArrBody"; ApiService.DAL.TaskLog.ITaskLogDetail dtdal = ClassFactory.GetITaskLogDetailDAL(apidata.TaskType); Model.ConnectInfo cimodel = dtdal.GetConnectInfo(pdt); string sql = "select distinct st.*,"; sql += " st.ccode as MES_cARVCode, "; //到货单号 sql += " st.id as iarriveid ,"; //到货单id sql += " st.id as ipurarriveid ,"; //采购到货单id sql += " '' as ipurorderid ,"; //采购订单ID sql += " lt.cvencode as MES_cvencode,"; sql += " '" + System.DateTime.Now.ToString(SysInfo.dateFormat) + "' as ddate "; //入库日期 sql += ",'" + System.DateTime.Now.ToString(SysInfo.datetimeFormat) + "' as dnmaketime, "; //制单时间 sql += " lt." + voucherNoColumnName + " as cCode ,"; sql += " lt.cWhCode as MES_cWhCode,lt.cRdStyleCode as MES_cRdCode,lt.cDepCode as MES_cDepCode,lt.cPersonCode as MES_cPersonCode , "; sql += " lb.dhCode as MES_dhCode, "; sql += " '" + apidata.ConnectInfo.UserId + "' as PRO_CMaker "; sql += " FROM " + sourceBodyTable + " sb with(nolock) "; sql += " INNER JOIN " + sourceHeadTable + " st with(nolock) on sb.id = st.id "; sql += " INNER JOIN " + bodytable + " lb with(nolock) on lb.dhid = sb.autoid "; sql += " INNER JOIN " + headtable + " lt with(nolock) on lt.id = lb.id where lt.id ='" + dt.Id + "' "; DbHelperSQLP help = new DbHelperSQLP(cimodel.Constring); DataSet ds = help.Query(sql); ApiService.BLL.Common.ErrorMsg(ds, "未能获取采购到货单表头信息"); return(ds); }
/// <summary> /// 获取来源表体数据 /// </summary> /// <param name="dt"></param> /// <param name="pdt"></param> /// <param name="apidata"></param> /// <returns></returns> public override System.Data.DataSet SetFromTabets(Model.Synergismlogdt dt, Model.Synergismlogdt pdt, Model.APIData apidata) { string sourceHeadTable = "pu_ArrHead"; string sourceBodyTable = "pu_ArrBody"; ApiService.DAL.TaskLog.ITaskLogDetail dtdal = ClassFactory.GetITaskLogDetailDAL(apidata.TaskType); //ClassFactory.GetITaskLogMain(3);; Model.ConnectInfo cimodel = dtdal.GetConnectInfo(pdt); string sql = "select sb.*,"; sql += " lt.cWhCode as MES_cWhCode,lt.cRdStyleCode as MES_cRdCode,lt.cDepCode as MES_cDepCode,lt.cPersonCode as MES_cPersonCode, "; sql += " lt.cvencode as MES_cvencode,"; sql += " CASE lb." + opertype + " WHEN 0 THEN 'A' WHEN 1 THEN 'M' WHEN '2' THEN 'D' ELSE 'A' END as editprop, "; sql += " lb.iquantity as MES_iquantity, "; sql += " inv.cComUnitCode as inv_cComUnitCode,inv.cAssComUnitCode as inv_cAssComUnitCode,inv.cSTComUnitCode as inv_cSTComUnitCode "; sql += " FROM " + sourceBodyTable + " sb with(nolock) "; sql += " INNER JOIN " + sourceHeadTable + " st with(nolock) on sb.id = st.id "; sql += " INNER JOIN " + bodytable + " lb with(nolock) on lb.dhid = sb.autoid "; sql += " INNER JOIN " + headtable + " lt with(nolock) on lt.id = lb.id "; sql += " INNER JOIN inventory inv with(nolock) on inv.cinvcode = lb.cinvcode "; sql += " where lt.id ='" + dt.Id + "' "; DbHelperSQLP help = new DbHelperSQLP(cimodel.Constring); DataSet ds = help.Query(sql); ApiService.BLL.Common.ErrorMsg(ds, "未能获取采购到货单表体信息"); return(ds); }
public override Model.DealResult MakeAudit(BaseData bd, Model.Synergismlogdt dt) { Model.DealResult dr = base.MakeAudit(bd, dt); ////设置审核日期 //Model.APIData apidata = bd as Model.APIData; //Model.OrderModel o = new Model.OrderModel(); //o.MainTable = SetTableName(); //o.HeadPKFld = "cCode"; //o.HeadPKVal = dt.Cvoucherno; //Model.U8NameValue nv; //nv = DAL.Common.GetApiDataValue(apidata, "T", 0, "ddate"); //DateTime date = DateTime.Parse(nv.U8FieldValue); //nv = DAL.Common.GetApiDataValue(apidata, "T", 0, "cAuditDate"); //if (nv.U8FieldValue == "") nv.U8FieldValue = DateTime.Now.ToString("yyyy-MM-dd"); //if (DateTime.Parse(nv.U8FieldValue) < date) nv.U8FieldValue = date.ToString("yyyy-MM-dd"); //o.FieldList.Add(nv); //nv = DAL.Common.GetApiDataValue(apidata, "T", 0, "cAuditTime"); //if (nv.U8FieldValue == "") nv.U8FieldValue = o.FieldList[0].U8FieldValue + " " + DateTime.Now.ToShortTimeString(); //o.FieldList.Add(nv); //DAL.Common.SetHeadInfo(o, bd.ConnectInfo.Constring); return(dr); }
/// <summary> /// 获取来源表体数据 /// </summary> /// <param name="dt"></param> /// <param name="pdt"></param> /// <param name="apidata"></param> /// <returns></returns> public override System.Data.DataSet SetFromTabets(Model.Synergismlogdt dt, Model.Synergismlogdt pdt, Model.APIData apidata) { ApiService.DAL.TaskLog.ITaskLogDetail dtdal = ClassFactory.GetITaskLogDetailDAL(apidata.TaskType); //ClassFactory.GetITaskLogMain(3);; Model.ConnectInfo cimodel = dtdal.GetConnectInfo(pdt); string sql = "select "; sql += " '" + cimodel.UserId + "' as cMaker,"; sql += " lt.MOCODE as mes_MOCODE ,"; //生产订单号 sql += " lt.MOSEQ as mes_MOSEQ ,"; //订单行号 sql += " lt.ITEMCODE as mes_ITEMCODE ,"; //物料编码 sql += " lt.OPSeq as mes_OPSeq ,"; //工序行号 sql += " lt.OPCode as mes_OPCode, "; //工序编号 sql += " lt.OPDescription as mes_OPDescription, "; //工序说明 sql += " lt.PersonCode as mes_PersonCode, "; //人员编码 sql += " lt.ResCode as mes_ResCode, "; //资源编码 sql += " lt.Istatus as mes_Istatus, "; //状态 sql += " lt.Qty as mes_Qty, "; //数量 sql += " lt.StartDate as mes_StartDate, "; //开工日期 sql += " lt.StartTime as mes_StartTime, "; //开工时间 sql += " lt.ISCOMDATE as mes_ISCOMDATE, "; //完工时间 sql += " lt.ISCOMTIME as mes_ISCOMTIME, "; //完工时间 sql += " lt.opdoccode as mes_opdoccode, "; //生成的工序转移单号 sql += " lt.workdoccode as mes_workdoccode "; //生成的工时记录单号 sql += " from " + headtable + " lt where lt.id ='" + pdt.Id + "' "; DbHelperSQLP help = new DbHelperSQLP(cimodel.Constring); DataSet ds = help.Query(sql); BLL.Common.ErrorMsg(ds, "未能获取 表体信息"); return(ds); }
/// <summary> /// 入口函数 /// </summary> /// <param name="vouchtype"></param> /// <param name="dsHead"></param> /// <param name="dsBody"></param> public void Run(string vouchtype, DataSet dsHead, DataSet dsBody) { Model.Synergismlog log = new Synergismlog(); log.OP = (APIOp)ClassFactory.GetBaseOp(vouchtype, tasktype); log.TaskType = tasktype; DealResult dr = new DealResult(); dr.ResultNum = Constant.ResultNum_NoError; BLL.TaskLog.ITaskLogDetail logdtbll = ClassFactory.GetITaskLogDetailBLL(log.TaskType); BLL.TaskLog.ITaskLogMain logbll = ClassFactory.GetITaskLogMainBLL(log.TaskType); Model.Synergismlogdt fdt = logdtbll.GetFrist(log, log.OP); //把记录设为处理中 log.Cstatus = Constant.SynerginsLog_Cstatus_Dealing; log.Endtime = DateTime.Now; logbll.Update(log, log.OP); //预置为完成 log.Cstatus = Constant.SynerginsLog_Cstatus_Complete; //获取下一节点(节点数可能大于1) List <Model.Synergismlogdt> listnext = logdtbll.GetNext(fdt, log.OP); //协同操作 dr = MakeLogDT(vouchtype, dsHead, dsBody, log, dr, logdtbll, logbll, fdt, listnext); }
/// <summary> /// 获取来源表体数据 /// </summary> /// <param name="dt"></param> /// <param name="pdt"></param> /// <param name="apidata"></param> /// <returns></returns> public override System.Data.DataSet SetFromTabets(Model.Synergismlogdt dt, Model.Synergismlogdt pdt, Model.APIData apidata) { ApiService.DAL.TaskLog.ITaskLogDetail dtdal = ClassFactory.GetITaskLogDetailDAL(apidata.TaskType); //ClassFactory.GetITaskLogMain(3);; Model.ConnectInfo cimodel = dtdal.GetConnectInfo(pdt); string sql = "select st.cCode as cCode,sb.*,"; sql += " lt.cWhCode as MES_cWhCode,"; sql += " lb.cInvCode as MES_cInvCode,lb.iquantity as MES_iquantity, "; sql += " CASE lb." + opertype + " WHEN 0 THEN 'A' WHEN 1 THEN 'M' WHEN '2' THEN 'D' ELSE 'A' END as editprop, "; //sql += " lb.iquantity * sb.iOriCost as pro_iOriMoney , "; //原币含税单价 sql += " lb.iquantity * sb.iOriCost as pro_iOriMoney , "; //原币金额(不含税) sql += " lb.iquantity * sb.iOriCost * sb.iTaxRate/100 as pro_iOriTaxPrice , "; //原币税额 sql += " (lb.iquantity * sb.iOriCost + lb.iquantity * sb.iOriCost * sb.iTaxRate/100 ) as pro_iOriSum , "; //原币价税合计 sql += " lb.iquantity * sb.iCost as pro_iMoney , "; //本币金额 sql += " lb.iquantity * sb.iCost * sb.iTaxRate/100 as pro_iTaxPrice , "; //本币税额 sql += " (lb.iquantity * sb.iCost + lb.iquantity * sb.iCost * sb.iTaxRate/100 ) as pro_iSum "; //本币价税合计 sql += " FROM " + sourceBodyTable + " sb with(nolock) "; sql += " INNER JOIN " + sourceHeadTable + " st with(nolock) on sb.id = st.id "; sql += " INNER JOIN " + bodytable + " lb with(nolock) on lb.dhid = sb.autoid "; sql += " INNER JOIN " + headtable + " lt with(nolock) on lt.id = lb.id where lt.id ='" + pdt.Id + "' "; DbHelperSQLP help = new DbHelperSQLP(cimodel.Constring); DataSet ds = help.Query(sql); ApiService.BLL.Common.ErrorMsg(ds, "未能获取采购退货单表体信息"); return(ds); }
/// <summary> /// 获取下一任务结点 /// </summary> /// <param name="dt"></param> /// <returns></returns> public override List <Model.Synergismlogdt> GetNext(Model.Synergismlogdt dt) { List <Model.Synergismlogdt> logdt = new List <U8.Interface.Bus.ApiService.Model.Synergismlogdt>(); if (dt.Ilineno == 1) { Model.Synergismlogdt tmpd = new Synergismlogdt(); tmpd.Id = dt.Id; tmpd.Cvouchertype = cardNo; tmpd.Ilineno = 2; tmpd.TaskType = tasktype; tmpd.Cstatus = U8.Interface.Bus.ApiService.DAL.Constant.SynerginsLog_Cstatus_NoDeal; tmpd.Isaudit = U8.Interface.Bus.ApiService.DAL.Constant.SynergisnLogDT_Isaudit_True; DataSet ds = DbHelperSQL.Query("SELECT t.cRdCode,t.id,t.opertype FROM " + headtable + " t with(nolock) WHERE t.id = " + U8.Interface.Bus.Comm.Convert.ConvertDbValueFromPro(dt.Id, "string")); for (int i = 0; i < ds.Tables[0].Rows.Count; i++) { tmpd.Cvoucherno = ds.Tables[0].Rows[i]["cRdCode"].ToString(); tmpd.Autoid = ds.Tables[0].Rows[i]["id"].ToString(); // int.Parse(ds.Tables[0].Rows[i]["id"].ToString()); tmpd.Cdealmothed = int.Parse(ds.Tables[0].Rows[i]["opertype"].ToString()) + 1; // 0(自动生单/自动审核) 1增 2修改 3删 } logdt.Add(tmpd); return(logdt); } else { return(logdt); } }
/// <summary> /// 弃审 /// </summary> /// <param name="bd"></param> /// <param name="dt"></param> /// <returns></returns> public override Model.DealResult CancelAudit(Model.APIData bd, Model.Synergismlogdt dt) { Model.DealResult dr = new Model.DealResult(); Model.APIData apidata = bd as Model.APIData; if (CheckAuditStatus(dt.Cvoucherno, apidata.ConnectInfo.Constring) == false) { return(dr); } string vouchid = GetCodeorID(dt.Cvoucherno, apidata, "id"); string auditaddress = SetApiAddressCancelAudit(); U8Login.clsLogin u8Login = new U8Login.clsLogin(); GetU8Login(apidata, u8Login); U8ApiBroker broker = null; dr = GetU8ApiBroker(apidata, u8Login, out broker, "cancelaudit"); broker.AssignNormalValue("sVouchType", apidata.SVouchType); broker.AssignNormalValue("VouchId", vouchid); broker.AssignNormalValue("cnnFrom", null); broker.AssignNormalValue("TimeStamp", DAL.Common.GetUtfsByID(vouchid, SetTableName(), apidata.ConnectInfo.Constring)); MSXML2.IXMLDOMDocument2 domMsg = new MSXML2.DOMDocument(); broker.AssignNormalValue("domMsg", domMsg); broker.AssignNormalValue("bCheck", false); broker.AssignNormalValue("bBeforCheckStock", false); broker.AssignNormalValue("bList", null); dr = BrokerInvoker(broker); return(dr); }
/// <summary> /// 审核 /// </summary> /// <param name="bd"></param> /// <param name="vouchid"></param> /// <returns></returns> public override Model.DealResult MakeAudit(BaseData bd, Model.Synergismlogdt dt) { Model.DealResult dr = new Model.DealResult(); Model.APIData apidata = bd as Model.APIData; string vouchid = GetCodeorID(dt.Cvoucherno, apidata, "id"); string auditaddress = SetApiAddressAudit(); U8Login.clsLogin u8Login = new U8Login.clsLogin(); GetU8Login(apidata, u8Login); U8ApiBroker broker = null; dr = GetU8ApiBroker(apidata, u8Login, out broker, "audit"); broker.AssignNormalValue("sVouchType", apidata.SVouchType); broker.AssignNormalValue("VouchId", vouchid); broker.AssignNormalValue("cnnFrom", null); broker.AssignNormalValue("TimeStamp", DAL.Common.GetUtfsByID(vouchid, SetTableName(), apidata.ConnectInfo.Constring)); MSXML2.IXMLDOMDocument2 domMsg = new MSXML2.DOMDocument(); broker.AssignNormalValue("domMsg", domMsg); broker.AssignNormalValue("bCheck", false); broker.AssignNormalValue("bBeforCheckStock", false); broker.AssignNormalValue("bList", null); dr = BrokerInvoker(broker); if (!DAL.Common.SetVerifyDate(bd.ConnectInfo, dt)) { U8.Interface.Bus.Log.WriteWinLog("设置单据审核日期失败,Cvouchertype:" + dt.Cvouchertype + ";Cvoucherno:" + dt.Cvoucherno + "."); } return(dr); }
/// <summary> /// 获取数据对象 /// </summary> /// <param name="dt"></param> /// <returns></returns> public static BaseData GetBaseData(Model.Synergismlogdt dt) { DAL.DLLReflect dal = new DAL.DLLReflect(); Model.DLLReflect model = dal.GetModel("cvouchertype='" + dt.Cvouchertype + "' and ClassType='data' and tasktype = " + dt.TaskType); Common.ErrorMsg(model, "未能取到数据对象"); return((BaseData)System.Reflection.Assembly.Load(model.Dllpath).CreateInstance(model.Npace + "." + model.ClassName, true, System.Reflection.BindingFlags.CreateInstance, null, new object[] { model.TaskType }, null, null)); }
public override void SetNormalValue(Model.APIData apidata, Model.Synergismlogdt dt) { base.SetNormalValue(apidata, dt); //单据号获取 string ccode = "ccode"; Model.U8NameValue nv = ApiService.DAL.Common.U8NameValueFind(apidata.HeadData, ccode); if (nv == null) { return; } if (!string.IsNullOrEmpty(nv.U8FieldValue)) { return; } DbHelperSQLP help = new DbHelperSQLP(apidata.ConnectInfo.Constring); string sql = "select top 1 ccode from PU_ArrivalVouch with(nolock) "; nv.U8FieldValue = help.GetSingle(sql).NullToString(); if (string.IsNullOrEmpty(nv.U8FieldValue)) { nv.U8FieldValue = "0000000001"; } //envContext.SetApiContext("VoucherType", new int()); //上下文数据类型:int,含义:单据类型, 采购退货单 2 //envContext.SetApiContext("bPositive", new bool()); //上下文数据类型:bool,含义:红蓝标识:True,蓝字;False,红字 //envContext.SetApiContext("sBillType", new string()); //上下文数据类型:string,含义:到货单类型, 到货单 0 退货单 1 //envContext.SetApiContext("sBusType", new string()); //上下文数据类型:string,含义:业务类型:普通采购,直运采购,受托代销 }
public override void SetNormalValue(Model.APIData apidata, Model.Synergismlogdt dt) { base.SetNormalValue(apidata, dt); //单据号获取 string ccode = "ccode"; Model.U8NameValue nv = ApiService.DAL.Common.U8NameValueFind(apidata.HeadData, ccode); if (nv == null) { return; } if (!string.IsNullOrEmpty(nv.U8FieldValue)) { return; } DbHelperSQLP help = new DbHelperSQLP(apidata.ConnectInfo.Constring); string sql = "select top 1 ccode from PU_AppVouch with(nolock) "; nv.U8FieldValue = help.GetSingle(sql).NullToString(); if (string.IsNullOrEmpty(nv.U8FieldValue)) { nv.U8FieldValue = "0000000001"; } }
/// <summary> /// 获取下一任务结点 /// </summary> /// <param name="dt"></param> /// <returns></returns> public override List <Model.Synergismlogdt> GetNext(Model.Synergismlogdt dt) { List <Model.Synergismlogdt> logdt = new List <U8.Interface.Bus.ApiService.Model.Synergismlogdt>(); if (dt.Ilineno == 1) { Model.Synergismlogdt tmpd = new Model.Synergismlogdt(); tmpd.Id = dt.Id; tmpd.Cvouchertype = cardNo; tmpd.Ilineno = 2; tmpd.TaskType = tasktype; tmpd.Cstatus = U8.Interface.Bus.ApiService.DAL.Constant.SynerginsLog_Cstatus_NoDeal; DataSet ds = DbHelperSQL.Query("SELECT MoCode FROM " + bodytable + " with(nolock) WHERE ID = '" + dt.Id + "' "); for (int i = 0; i < ds.Tables[0].Rows.Count; i++) { tmpd.Cvoucherno = ds.Tables[0].Rows[i]["MoCode"].ToString(); } logdt.Add(tmpd); return(logdt); } else { return(null); } }
/// <summary> /// 获取下一任务结点 /// </summary> /// <param name="dt"></param> /// <returns></returns> public override List <Model.Synergismlogdt> GetNext(Model.Synergismlogdt dt) { List <Model.Synergismlogdt> logdt = new List <U8.Interface.Bus.ApiService.Model.Synergismlogdt>(); if (dt.Ilineno == 1) { Model.Synergismlogdt tmpd = new Synergismlogdt(); tmpd.Id = dt.Id; tmpd.Cvouchertype = cardNo; tmpd.Ilineno = 2; tmpd.Cstatus = U8.Interface.Bus.ApiService.DAL.Constant.SynerginsLog_Cstatus_NoDeal; DataSet ds = DbHelperSQL.Query("SELECT t." + voucherNoColumnName + ",t.id,t.opertype FROM " + headtable + " t with(nolock) WHERE t.id = " + dt.Id); for (int i = 0; i < ds.Tables[0].Rows.Count; i++) { tmpd.Cvoucherno = ds.Tables[0].Rows[i][voucherNoColumnName].ToString(); tmpd.Autoid = ds.Tables[0].Rows[i]["id"].ToString(); //int.Parse(ds.Tables[0].Rows[i]["id"].ToString()); tmpd.Cdealmothed = int.Parse(ds.Tables[0].Rows[i]["opertype"].ToString()) + 1; // 0(自动生单/自动审核) 1增 2修改 3删 } logdt.Add(tmpd); return(logdt); } else { return(null); } }
/// <summary> /// 获取来源表头数据 /// </summary> /// <param name="dt"></param> /// <param name="pdt"></param> /// <param name="apidata"></param> /// <returns></returns> public override System.Data.DataSet SetFromTabet(Model.Synergismlogdt dt, Model.Synergismlogdt pdt, Model.APIData apidata) { ApiService.DAL.TaskLogFactory.ITaskLogDetail dtdal = ClassFactory.GetITaskLogDetailDAL(apidata.TaskType); Model.ConnectInfo cimodel = dtdal.GetConnectInfo(pdt); string sql = "select "; sql += " '" + cimodel.UserId + "' as cMaker,"; sql += " '" + System.DateTime.Now.ToString(SysInfo.dateFormat) + "' as dTVDate "; //移库日期 sql += ",'" + System.DateTime.Now.ToString(SysInfo.datetimeFormat) + "' as dnmaketime, "; //制单时间 sql += " lt.cAVCode as mes_cAVCode ,"; sql += " lt.cIWhCode as mes_cIWhCode ,"; sql += " lt.cOWhCode as mes_cOWhCode ,"; sql += " lt.cIRdCode as mes_cIRdCode ,"; sql += " lt.cORdCode as mes_cORdCode, "; sql += " lt.cremark as mes_cTVMemo "; sql += " from " + bodytable + " lb with(nolock) INNER JOIN " + headtable + " lt with(nolock) on lt.id = lb.id where lt.id ='" + pdt.Id + "' "; DbHelperSQLP help = new DbHelperSQLP(cimodel.Constring); DataSet ds = help.Query(sql); BLL.Common.ErrorMsg(ds, "未能获取 表头信息"); return(ds); }
/// <summary> /// 获取来源表体数据 /// </summary> /// <param name="dt"></param> /// <param name="pdt"></param> /// <param name="apidata"></param> /// <returns></returns> public override System.Data.DataSet SetFromTabets(Model.Synergismlogdt dt, Model.Synergismlogdt pdt, Model.APIData apidata) { ApiService.DAL.TaskLog.ITaskLogDetail dtdal = ClassFactory.GetITaskLogDetailDAL(apidata.TaskType); Model.ConnectInfo cimodel = dtdal.GetConnectInfo(pdt); string sql = "select st.*,"; sql += " lt.PlanCode as MES_PlanCode ,lt.MoCode as MES_MoCode,lt.cWcCode as MES_cWcCode,lt.cInvCode as MES_cInvCode, "; sql += " lt.cSoCode as MES_cSoCode ,lt.cForCode as MES_cForCode,lt.PStartDate as MES_PStartDate,lt.PDueDate as MES_PDueDate, "; sql += " lt.DmandDate as MES_DmandDate ,lt.MoType as MES_MoType,lt.iquantity as MES_iquantity, "; sql += " sob.iRowNo as sob_iRowNo,sob.cSOCode as sob_cSOCode, "; sql += " '" + System.DateTime.Now.ToString(SysInfo.dateFormat) + "' as ddate, "; sql += " tt.MoTypeId as PRO_MoTypeId, "; sql += " tt.MoTypeCode as PRO_MoType, "; sql += " '生产订单' as cSource "; sql += " from " + headtable + " lt with(nolock) "; sql += " LEFT JOIN " + sourceHeadTable + " st with(nolock) on ltrim(rtrim(lt.PlanCode)) = ltrim(rtrim(st.PlanCode)) "; sql += " LEFT JOIN mom_motype tt with(nolock) ON lt.MoType = substring(tt.MotypeCode,LEN(tt.MotypeCode),1) "; sql += " left join SO_SODetails sob with(nolock) on Convert(nvarchar,sob.iSOsID) = st.sodid "; sql += " where lt.id ='" + pdt.Id + "' "; DbHelperSQLP help = new DbHelperSQLP(cimodel.Constring); DataSet ds = help.Query(sql); ApiService.BLL.Common.ErrorMsg(ds, "未能获取生产计划表体信息"); return(ds); }
public override System.Data.DataSet SetFromTabetsChild(Model.Synergismlogdt dt, Model.Synergismlogdt pdt, Model.APIData apidata) { ApiService.DAL.TaskLog.ITaskLogDetail dtdal = ClassFactory.GetITaskLogDetailDAL(apidata.TaskType); //ClassFactory.GetITaskLogMain(3);; Model.ConnectInfo cimodel = dtdal.GetConnectInfo(pdt); string sql = "select st.*,"; sql += " lt.PlanCode as MES_cWhCode ,lt.MoCode as MES_MoCode,lt.cWcCode as MES_cWcCode, "; sql += " lt.cSoCode as MES_cSoCode ,lt.cForCode as MES_cForCode,lt.PStartDate as MES_PStartDate,lt.PDueDate as MES_PDueDate, "; sql += " lt.DmandDate as MES_DmandDate ,lt.MoType as MES_MoType, "; sql += " lb.BomID as MES_BomID ,lb.cInvCode as MES_cInvCode,lb.iquantity as MES_iquantity, "; sql += " lb.iquantity * lt.iquantity as MES_C_iquantity, "; sql += " '" + System.DateTime.Now.ToString(SysInfo.dateFormat) + "' as ddate , "; sql += " '生产订单' as cSource "; sql += " from " + headtable + " lt with(nolock) "; sql += " inner join " + bodytable + " lb with(nolock) on lt.id = lb.id "; sql += " left join " + sourceHeadTable + " st with(nolock) on ltrim(rtrim(lt.PlanCode)) = ltrim(rtrim(st.PlanCode)) "; sql += " where lt.id ='" + pdt.Id + "' "; DbHelperSQLP help = new DbHelperSQLP(cimodel.Constring); DataSet ds = help.Query(sql); ApiService.BLL.Common.ErrorMsg(ds, "未能获取生产计划表体子件信息"); return(ds); }
/// <summary> /// 删除 /// </summary> /// <param name="bd"></param> /// <param name="dt"></param> /// <returns></returns> public override Model.DealResult UndoMake(BaseData bd, Model.Synergismlogdt dt) { Model.DealResult dr = new Model.DealResult(); Model.APIData apidata = bd as Model.APIData; try { dr = CancelAudit(apidata, dt); } catch (Exception ex) { U8.Interface.Bus.Log.WriteWinLog("stockop_cancelaudit:" + ex.ToString()); dr.ResultNum = -1; dr.ResultMsg = ex.Message; return(dr); } string vouchid = GetCodeorID(dt.Cvoucherno, apidata, "id"); string auditaddress = SetApiAddressDelete(); U8Login.clsLogin u8Login = new U8Login.clsLogin(); GetU8Login(apidata, u8Login); U8ApiBroker broker = null; dr = GetU8ApiBroker(apidata, u8Login, out broker, "delete"); broker.AssignNormalValue("sVouchType", apidata.SVouchType); broker.AssignNormalValue("VouchId", vouchid); broker.AssignNormalValue("cnnFrom", null); broker.AssignNormalValue("TimeStamp", DAL.Common.GetUtfsByID(vouchid, SetTableName(), apidata.ConnectInfo.Constring)); MSXML2.IXMLDOMDocument2 domMsg = new MSXML2.DOMDocument(); broker.AssignNormalValue("domMsg", domMsg); broker.AssignNormalValue("bCheck", false); broker.AssignNormalValue("bBeforCheckStock", false); broker.AssignNormalValue("bList", null); dr = BrokerInvoker(broker); return(dr); }
/// <summary> /// 获取来源表体数据 /// </summary> /// <param name="dt"></param> /// <param name="pdt"></param> /// <param name="apidata"></param> /// <returns></returns> public override System.Data.DataSet SetFromTabets(Model.Synergismlogdt dt, Model.Synergismlogdt pdt, Model.APIData apidata) { ApiService.DAL.TaskLog.ITaskLogDetail dtdal = ClassFactory.GetITaskLogDetailDAL(apidata.TaskType); //ClassFactory.GetITaskLogMain(3);; Model.ConnectInfo cimodel = dtdal.GetConnectInfo(pdt); string sql = "select "; sql += " lt.cCVCode as mes_cCVCode ,"; //盘点单号 sql += " lt.dCVDate as mes_dCVDate ,"; //计划盘点日期 sql += " lt.dACDate as mes_dACDate ,"; //实际盘点日期 sql += " lt.cDepCode as mes_cDepCode ,"; //盘点部门 sql += " lt.cPersonCode as mes_cPersonCode ,"; sql += " lt.cWhCode as mes_cWhCode, "; sql += " lt.cIRdCode as MES_cIRdCode, "; sql += " lt.cORdCode as MES_cORdCode, "; sql += " CASE lb.opertype WHEN 0 THEN 'A' WHEN 1 THEN 'M' WHEN '2' THEN 'D' ELSE 'A' END as editprop, "; sql += " lb.cinvcode as mes_cinvcode ,lb.cVenCode as MES_B_cVenCode, "; sql += " lb.iquantity as MES_iquantity, "; sql += " lb.cVenCode as mes_cvencode "; sql += " from " + bodytable + " lb with(nolock) INNER JOIN " + headtable + " lt with(nolock) on lt.id = lb.id where lt.id ='" + pdt.Id + "' "; DbHelperSQLP help = new DbHelperSQLP(cimodel.Constring); DataSet ds = help.Query(sql); ApiService.BLL.Common.ErrorMsg(ds, "未能获取 表体信息"); return(ds); }
/// <summary> /// 获取来源表头数据 /// </summary> /// <param name="dt"></param> /// <param name="pdt"></param> /// <param name="apidata"></param> /// <returns></returns> public override System.Data.DataSet SetFromTabet(Model.Synergismlogdt dt, Model.Synergismlogdt pdt, Model.APIData apidata) { string _sourcetablenameh = "pu_ArrHead"; string _sourcetablenameb = "pu_ArrBody"; ApiService.DAL.TaskLogFactory.ITaskLogDetail dtdal = ClassFactory.GetITaskLogDetailDAL(apidata.TaskType); Model.ConnectInfo cimodel = dtdal.GetConnectInfo(pdt); string sql = "select t.*,"; sql += " t.id as iarriveid ,"; //到货单id sql += " t.id as ipurarriveid ,"; //采购到货单id sql += " '' as ipurorderid ,"; //采购订单ID sql += " lt.cvencode as MES_cvencode,"; sql += " '" + System.DateTime.Now.ToString(SysInfo.dateFormat) + "' as pro_ddate "; //入库日期 sql += ",'" + System.DateTime.Now.ToString(SysInfo.datetimeFormat) + "' as dnmaketime, "; //制单时间 sql += " lt.cRdCode as cCode ,"; sql += " lt.cWhCode as MES_cWhCode,lt.cRdStyleCode as MES_cRdCode,lt.cDepCode as MES_cDepCode,lt.cPersonCode as MES_cPersonCode , "; sql += " lb.dhCode as MES_dhCode, "; sql += " '" + apidata.ConnectInfo.UserId + "' as PRO_CMaker "; sql += " from pu_ArrHead t with(nolock) "; sql += " left join " + bodytable + " lb with(nolock) on lb.dhCode = t.ccode "; sql += " left join " + headtable + " lt with(nolock) on lt.id = lb.id where lt.id ='" + pdt.Id + "' "; //sql += " from " + _sourcetablenameb + " b with(nolock) inner join " + _sourcetablenameh + " t with(nolock) on b.id = t.id inner join " + bodytable + " lb with(nolock) on lb.dhid = b.autoid inner join " + headtable + " lt with(nolock) on lt.id = lb.id where lt.id ='" + pdt.Id + "' "; DbHelperSQLP help = new DbHelperSQLP(cimodel.Constring); DataSet ds = help.Query(sql); BLL.Common.ErrorMsg(ds, "未能获取采购到货单表头信息"); return(ds); }
/// <summary> /// 获取下一任务结点 /// </summary> /// <param name="dt"></param> /// <returns></returns> public override List <Model.Synergismlogdt> GetNext(Model.Synergismlogdt dt) { List <Model.Synergismlogdt> logdt = new List <U8.Interface.Bus.ApiService.Model.Synergismlogdt>(); if (dt.Ilineno == 1) { Model.Synergismlogdt tmpd = new Model.Synergismlogdt(); tmpd.Id = dt.Id; tmpd.Cvouchertype = cardNo; tmpd.Ilineno = 2; tmpd.TaskType = tasktype; tmpd.Cstatus = U8.Interface.Bus.ApiService.DAL.Constant.SynerginsLog_Cstatus_NoDeal; tmpd.Isaudit = U8.Interface.Bus.ApiService.DAL.Constant.SynergisnLogDT_Isaudit_True; //DataSet ds = DbHelperSQL.Query("SELECT lt." + voucherNoColumnName + " FROM " + bodytable + " lb with(nolock) INNER JOIN " + headtable + " lt WITH(NOLOCK) ON lt.ID = lb.id WHERE lb.ID = '" + dt.Id + "' "); //for (int i = 0; i < ds.Tables[0].Rows.Count; i++) //{ tmpd.Cvoucherno = "";// ds.Tables[0].Rows[i][voucherNoColumnName].ToString(); //} logdt.Add(tmpd); return(logdt); } else { return(logdt); } }
/// <summary> /// 组织数据 /// </summary> /// <param name="dt">当前任务节点信息</param> /// <param name="bd">HY_DZ_K7_DLLReflect 中预置的 data类</param> /// <returns></returns> public override Model.DealResult MakeData(Model.Synergismlogdt dt, BaseData bd) { Model.DealResult dr = new Model.DealResult(); Model.APIData apidata = bd as Model.APIData; //API实体,包括当前任务节点信息 DAL.TaskLog.ITaskLogDetail dtdal; //当前任务节点信息 dtdal = ClassFactory.GetITaskLogDetailDAL(3); Model.Synergismlogdt pdt = dtdal.GetPrevious(dt); //上一任务节点信息 apidata.ConnectInfo = dtdal.GetConnectInfo(dt); //获取当前结点的数据串连接串 apidata.Synergismlogdt = dt; if (!apidata.Dodelete) { DataSet rdds = SetFromTabet(dt, pdt, apidata); //上一节点 单据头信息 DataSet rdsds = SetFromTabets(dt, pdt, apidata); //上一节点 单据体信息 DAL.IFieldcmps fieldcmpdal = ClassFactory.GetIFieldcmpsDAL(apidata.TaskType); //new DAL.Fieldcmps(); List <Model.Fieldcmps> listfd = fieldcmpdal.GetListFieldcmps(dt, pdt, apidata.TaskType); //字段对照信息 BLL.U8NameValue u8namevaluebll = new BLL.U8NameValue(); //字段赋值 u8namevaluebll.SetHeadData(apidata, rdds, rdsds, listfd, dt); u8namevaluebll.SetSfcBodyData(apidata, rdds, rdsds, listfd, dt); //设置订单关联 DAL.Common.SetInBody(apidata); SetNormalValue(apidata, dt); } return(dr); }
/// <summary> /// 获取下一条s by fatherid /// </summary> /// <param name="dt"></param> /// <returns></returns> public List <Model.Synergismlogdt> GetNext(Model.Synergismlogdt dt, ApiService.BLL.BaseOp op) { List <Model.Synergismlogdt> ldt; string where = "fatherid=" + dt.Autoid; ldt = GetModelList(where); return(ldt); }
/// <summary> /// 增加一条数据 /// </summary> public int Add(Model.Synergismlogdt model) { StringBuilder strSql = new StringBuilder(); strSql.Append("insert into HY_DZ_K7_SYNERGISMLOGDT("); strSql.Append("cerrordesc,cstatus,ismanual,isaudit,errortimes,cdealmothed,id,ilineno,accid,cvouchertype,cvoucherno,cpk,dinputtime,dmaketime"); strSql.Append(") values ("); strSql.Append("@cerrordesc,@cstatus,@ismanual,@isaudit,@errortimes,@cdealmothed,@id,@ilineno,@accid,@cvouchertype,@cvoucherno,@cpk,@dinputtime,@dmaketime"); strSql.Append(") "); strSql.Append(";select @@IDENTITY"); SqlParameter[] parameters = { new SqlParameter("@cerrordesc", SqlDbType.NVarChar, 1000), new SqlParameter("@cstatus", SqlDbType.NVarChar, 30), new SqlParameter("@ismanual", SqlDbType.Int, 4), new SqlParameter("@isaudit", SqlDbType.Int, 4), new SqlParameter("@errortimes", SqlDbType.Int, 4), new SqlParameter("@cdealmothed", SqlDbType.Int, 4), new SqlParameter("@id", SqlDbType.Int, 4), new SqlParameter("@ilineno", SqlDbType.Int, 4), new SqlParameter("@accid", SqlDbType.NVarChar, 30), new SqlParameter("@cvouchertype", SqlDbType.NVarChar, 30), new SqlParameter("@cvoucherno", SqlDbType.NVarChar, 200), new SqlParameter("@cpk", SqlDbType.NVarChar, 200), new SqlParameter("@dinputtime", SqlDbType.DateTime), new SqlParameter("@dmaketime", SqlDbType.DateTime) }; parameters[0].Value = model.Cerrordesc; parameters[1].Value = model.Cstatus; parameters[2].Value = model.Ismanual; parameters[3].Value = model.Isaudit; parameters[4].Value = model.Errortimes; parameters[5].Value = model.Cdealmothed; parameters[6].Value = model.Id; parameters[7].Value = model.Ilineno; parameters[8].Value = model.Accid; parameters[9].Value = model.Cvouchertype; parameters[10].Value = model.Cvoucherno; parameters[11].Value = model.Cpk; parameters[12].Value = model.Dinputtime; parameters[13].Value = model.Dmaketime; object obj = DbHelperSQL.GetSingle(strSql.ToString(), parameters); if (obj == null) { return(0); } else { if (model.Cvoucherno != "") { InsSYNERGISMLOGDTID(model); } return(Convert.ToInt32(obj)); } }
/// <summary> /// 获取操作对象 /// </summary> /// <param name="dt"></param> /// <returns></returns> public static BaseOp GetBaseOp(Model.Synergismlogdt dt) { DAL.DLLReflect dal = new DAL.DLLReflect(); string swhere = "cvouchertype='" + dt.Cvouchertype + "' and ClassType='op' and tasktype = " + dt.TaskType; Model.DLLReflect model = dal.GetModel(swhere); Common.ErrorMsg(model, "未能取到操作类型对象"); return((BaseOp)System.Reflection.Assembly.Load(model.Dllpath).CreateInstance(model.Npace + "." + model.ClassName)); }
/// <summary> /// 获取上一结点 /// </summary> /// <param name="dt"></param> /// <returns></returns> public override Model.Synergismlogdt GetPrevious(Model.Synergismlogdt dt) { Model.Synergismlogdt pdt = new Model.Synergismlogdt(); pdt.Cvouchertype = sourceCardNo; pdt.Id = dt.Id; pdt.Cvoucherno = ""; pdt.TaskType = tasktype; return(pdt); }
public static int UpdateDetailLog(Model.Synergismlogdt dt, string headtable, string voucherNoColumnName, string flagColname, string errordesccolname) { string operflag = dt.Cstatus; if (operflag == Constant.SynergisnLogDT_Cstatus_Complete) { operflag = "1"; } else if (operflag == Constant.SynergisnLogDT_Cstatus_Error) { operflag = "3"; } else if (operflag == Constant.SynergisnLogDT_Cstatus_NoDeal) { operflag = "0"; } else if (operflag == Constant.SynergisnLogDT_Cstatus_Delete) { operflag = "1"; } else { operflag = "2"; } StringBuilder strSql = new StringBuilder(); strSql.Append("update " + headtable + " set "); if (!string.IsNullOrEmpty(dt.Cvoucherno)) { strSql.Append(" " + voucherNoColumnName + " = '" + dt.Cvoucherno + "', "); } strSql.Append(" " + flagColname + " = " + operflag + ", "); if (operflag == "0") { strSql.Append(" " + errordesccolname + " = null "); } else { if (string.IsNullOrEmpty(dt.Cerrordesc)) { strSql.Append(" " + errordesccolname + " = null "); } else { strSql.Append(" " + errordesccolname + " = '" + U8.Interface.Bus.Comm.Convert.EncodeDbValue(dt.Cerrordesc) + "' "); } } strSql.Append(" where id=" + U8.Interface.Bus.Comm.Convert.ConvertDbValueFromPro(dt.Id, "string") + " "); int rows = DbHelperSQL.ExecuteSql(strSql.ToString()); return(rows); }