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"; } }
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,含义:业务类型:普通采购,直运采购,受托代销 }
/// <summary> /// 设置通用变量 /// </summary> /// <param name="apidata"></param> /// <param name="dt"></param> public static void SetNormalValue(Model.APIData apidata, Model.Synergismlogdt dt) { string vt_id = "vt_id"; Model.U8NameValue nv = DAL.Common.U8NameValueFind(apidata.HeadData, vt_id); if (nv != null) { if (string.IsNullOrEmpty(nv.U8FieldValue)) { DbHelperSQLP help = new DbHelperSQLP(apidata.ConnectInfo.Constring); string sql = string.Format("select def_id from vouchers_base with(nolock) where CardNumber='{0}'", dt.Cvouchertype); nv.U8FieldValue = help.GetSingle(sql).NullToString(); } } string iinvexchrate = "iinvexchrate"; if (apidata.SfcBodyData != null && apidata.SfcBodyData.Count > 0) { foreach (Model.BodyRow sfcrow in apidata.SfcBodyData) { Model.U8NameValue nv_iinvexchrate = DAL.Common.U8NameValueFind(sfcrow.BodyCols, iinvexchrate); if (nv_iinvexchrate != null) { if (string.IsNullOrEmpty(nv_iinvexchrate.U8FieldValue)) { nv_iinvexchrate.U8FieldValue = "0"; } } } } else { foreach (List <Model.U8NameValue> list in apidata.BodyData) { Model.U8NameValue nv_iinvexchrate = DAL.Common.U8NameValueFind(list, iinvexchrate); if (nv_iinvexchrate != null) { if (string.IsNullOrEmpty(nv_iinvexchrate.U8FieldValue)) { nv_iinvexchrate.U8FieldValue = "0"; } } } } }
/// <summary> /// /// </summary> /// <param name="fd"></param> /// <param name="i"></param> /// <param name="rowno"></param> /// <param name="apidata"></param> /// <param name="dt"></param> /// <param name="lmu8nv">一行数据</param> /// <param name="rdds"></param> /// <param name="rdsds"></param> private List <List <Model.U8NameValue> > SetSfcBodyChildRows(List <Model.Fieldcmps> listfd, Model.Fieldcmps bodyfd, ref int bodyrowi, ref int rowno, Model.APIData apidata, Model.Synergismlogdt dt, DataSet rdds, DataSet rdsds, DataSet rdchild) { List <List <Model.U8NameValue> > rows = new List <List <Model.U8NameValue> >(); for (int i = 0; i < rdchild.Tables[0].Rows.Count; i++) { //Model.BodyRow lmu8nv = new Model.BodyRow(); List <Model.U8NameValue> cols = new List <U8.Interface.Bus.ApiService.Model.U8NameValue>(); foreach (Model.Fieldcmps fd in listfd) { try { if (fd.Cardsection == DAL.Constant.Fixvalue_Cardsection_Child) { Model.U8NameValue u8nv = new Model.U8NameValue(); if (dt.Cvouchertype == "FC31" || dt.Cvouchertype == "FC32" || dt.Cvouchertype == "MO21") { u8nv.U8FieldName = fd.Fieldname; //生产制作区分大小写 } else { u8nv.U8FieldName = fd.Fieldname.ToLower(); } switch (fd.Ctype) { case DAL.Constant.Fieldcmps_Ctype_Const: //固定值 Common.FieldcmpsBodyConstCheck(fd, dt.Cvouchertype); u8nv.U8FieldValue = fd.Cvalue; break; case DAL.Constant.Fieldcmps_Ctype_Source: // 完全参照 BLL.Common.ErrorMsg(fd.Cvalue.Split(','), 2, "完全参照格式不正确"); BLL.Common.ErrorMsg(fd.Cvalue.Split(',')[1].Split('|'), 2, "完全参照格式不正确"); string[] u8value = fd.Cvalue.Split(',')[1].Split('|'); if (u8value[0] == DAL.Constant.Fixvalue_Cardsection_Title) { u8nv.U8FieldValue = rdds.Tables[0].Rows[0][u8value[1]].ToDataString(); } if (u8value[0] == DAL.Constant.Fixvalue_Cardsection_Body) { u8nv.U8FieldValue = rdsds.Tables[0].Rows[bodyrowi][u8value[1]].ToDataString(); } if (u8value[0] == DAL.Constant.Fixvalue_Cardsection_Child) { u8nv.U8FieldValue = rdchild.Tables[0].Rows[i][u8value[1]].ToDataString(); } break; case DAL.Constant.Fieldcmps_Ctype_MutiValue: // 分账套 u8nv.U8FieldValue = DAL.Common.GetVauleByAccid(fd.Autoid, dt.Accid); break; case DAL.Constant.Fieldcmps_Ctype_Funtion: // 函数 u8nv.U8FieldValue = DAL.Common.GetFunValue(apidata, apidata.HeadData, cols, rdds.Tables[0].Rows[0], rdsds.Tables[0].Rows[bodyrowi], fd, dt, rowno); #region 默认值 刘忻洲添加 2014.11.20 if (dt.TaskType == 1) { if (string.IsNullOrEmpty(u8nv.U8FieldValue)) { u8nv.U8FieldValue = DAL.Common.GetDefaultValueByTaskIdFunctionId(dt.Id.ToString(), fd.Id, fd.Autoid, fd.Cfunid); } if (u8nv.U8FieldValue == "[null]") { u8nv.U8FieldValue = ""; } } #endregion break; default: u8nv.U8FieldValue = null; break; } cols.Add(u8nv); } } catch (Exception ex) { #region 默认值 刘忻洲修改 2014.11.20 if (dt.TaskType == 1) { string msg = string.Format("表体第{3}行,字段-{0}({2})取值发生错误,错误信息:{1}", fd.Carditemname, ex.Message.ToString(), fd.Fieldname, i + 1); if (fd.Ctype == DAL.Constant.Fieldcmps_Ctype_Funtion) // 函数 { Model.U8NameValue u8nv = new Model.U8NameValue(); if (dt.Cvouchertype == "FC31" || dt.Cvouchertype == "FC32" || dt.Cvouchertype == "MO21") { u8nv.U8FieldName = fd.Fieldname;//生产制作区分大小写 } else { u8nv.U8FieldName = fd.Fieldname.ToLower(); } u8nv.U8FieldValue = DAL.Common.GetDefaultValueByTaskIdFunctionId(dt.Id.ToString(), fd.Id, fd.Autoid, fd.Cfunid); if (string.IsNullOrEmpty(u8nv.U8FieldValue)) { throw new Exception(msg); } if (u8nv.U8FieldValue == "[null]") { u8nv.U8FieldValue = ""; } cols.Add(u8nv); } else { throw new Exception(msg); } } #endregion } } rows.Add(cols); } return(rows); }
/// <summary> /// /// </summary> /// <param name="fd"></param> /// <param name="i"></param> /// <param name="rowno"></param> /// <param name="apidata"></param> /// <param name="dt"></param> /// <param name="lmu8nv"></param> /// <param name="rdds"></param> /// <param name="rdsds"></param> private void SetSfcBodyCols(List <Model.Fieldcmps> listfd, Model.Fieldcmps fd, ref int i, ref int rowno, Model.APIData apidata, Model.Synergismlogdt dt, Model.BodyRow lmu8nv, DataSet rdds, DataSet rdsds) { try { if (fd.Cardsection == DAL.Constant.Fixvalue_Cardsection_Body) { Model.U8NameValue u8nv = new Model.U8NameValue(); if (dt.Cvouchertype == "FC31" || dt.Cvouchertype == "FC32" || dt.Cvouchertype == "MO21") { u8nv.U8FieldName = fd.Fieldname; //生产制作区分大小写 } else { u8nv.U8FieldName = fd.Fieldname.ToLower(); } switch (fd.Ctype) { case DAL.Constant.Fieldcmps_Ctype_Const: //固定值 Common.FieldcmpsBodyConstCheck(fd, dt.Cvouchertype); u8nv.U8FieldValue = fd.Cvalue; break; case DAL.Constant.Fieldcmps_Ctype_Source: // 完全参照 BLL.Common.ErrorMsg(fd.Cvalue.Split(','), 2, "完全参照格式不正确"); BLL.Common.ErrorMsg(fd.Cvalue.Split(',')[1].Split('|'), 2, "完全参照格式不正确"); string[] u8value = fd.Cvalue.Split(',')[1].Split('|'); if (u8value[0] == DAL.Constant.Fixvalue_Cardsection_Title) { u8nv.U8FieldValue = rdds.Tables[0].Rows[0][u8value[1]].ToDataString(); } if (u8value[0] == DAL.Constant.Fixvalue_Cardsection_Body) { u8nv.U8FieldValue = rdsds.Tables[0].Rows[i][u8value[1]].ToDataString(); } break; case DAL.Constant.Fieldcmps_Ctype_MutiValue: // 分账套 u8nv.U8FieldValue = DAL.Common.GetVauleByAccid(fd.Autoid, dt.Accid); break; case DAL.Constant.Fieldcmps_Ctype_Funtion: // 函数 u8nv.U8FieldValue = DAL.Common.GetFunValue(apidata, apidata.HeadData, lmu8nv.BodyCols, rdds.Tables[0].Rows[0], rdsds.Tables[0].Rows[i], fd, dt, rowno); #region 默认值 刘忻洲添加 2014.11.20 if (dt.TaskType == 1) { if (string.IsNullOrEmpty(u8nv.U8FieldValue)) { u8nv.U8FieldValue = DAL.Common.GetDefaultValueByTaskIdFunctionId(dt.Id.ToString(), fd.Id, fd.Autoid, fd.Cfunid); } if (u8nv.U8FieldValue == "[null]") { u8nv.U8FieldValue = ""; } } #endregion break; default: u8nv.U8FieldValue = null; break; } lmu8nv.BodyCols.Add(u8nv); #region 添加表体子表 DataSet dschild = new DataSet(); dschild = ((SfcOp)dt.OP).SetFromTabetsChild(dt, apidata.Fristsynergismlogdt, apidata); List <List <Model.U8NameValue> > childData = SetSfcBodyChildRows(listfd, fd, ref i, ref rowno, apidata, dt, rdds, rdsds, dschild); lmu8nv.ChildData = childData; #endregion } } catch (Exception ex) { #region 默认值 刘忻洲修改 2014.11.20 if (dt.TaskType == 1) { string msg = string.Format("表体第{3}行,字段-{0}({2})取值发生错误,错误信息:{1}", fd.Carditemname, ex.Message.ToString(), fd.Fieldname, i + 1); if (fd.Ctype == DAL.Constant.Fieldcmps_Ctype_Funtion) // 函数 { Model.U8NameValue u8nv = new Model.U8NameValue(); if (dt.Cvouchertype == "FC31" || dt.Cvouchertype == "FC32" || dt.Cvouchertype == "MO21") { u8nv.U8FieldName = fd.Fieldname;//生产制作区分大小写 } else { u8nv.U8FieldName = fd.Fieldname.ToLower(); } u8nv.U8FieldValue = DAL.Common.GetDefaultValueByTaskIdFunctionId(dt.Id.ToString(), fd.Id, fd.Autoid, fd.Cfunid); if (string.IsNullOrEmpty(u8nv.U8FieldValue)) { throw new Exception(msg); } if (u8nv.U8FieldValue == "[null]") { u8nv.U8FieldValue = ""; } lmu8nv.BodyCols.Add(u8nv); #region 添加表体子表 List <List <Model.U8NameValue> > childData = SetSfcBodyChildRows(listfd, fd, ref i, ref rowno, apidata, dt, rdds, rdsds, rdsds); lmu8nv.ChildData = childData; #endregion } else { throw new Exception(msg); } } #endregion } }
/// <summary> /// 设置表头字段值 /// </summary> /// <param name="apidata"></param> /// <param name="rdds"></param> /// <param name="rdsds"></param> /// <param name="listfd"></param> /// <param name="dt"></param> public void SetHeadData(Model.APIData apidata, DataSet rdds, DataSet rdsds, List <Model.Fieldcmps> listfd, Model.Synergismlogdt dt) { //赋植 apidata.HeadData = new List <Model.U8NameValue>(); //表头 foreach (Model.Fieldcmps fd in listfd) { try { if (fd.Cardsection == DAL.Constant.Fixvalue_Cardsection_Title) { Model.U8NameValue u8nv = new Model.U8NameValue(); if (dt.Cvouchertype == "FC31" || dt.Cvouchertype == "FC32" || dt.Cvouchertype == "MO21") { u8nv.U8FieldName = fd.Fieldname; //生产制造区分大小写 } else { u8nv.U8FieldName = fd.Fieldname.ToLower(); } switch (fd.Ctype) { case DAL.Constant.Fieldcmps_Ctype_Const: // 固定值 Common.FieldcmpsHeadConstCheck(fd, dt.Cvouchertype); u8nv.U8FieldValue = fd.Cvalue; break; case DAL.Constant.Fieldcmps_Ctype_Source: //完全参照 Common.ErrorMsg(fd.Cvalue.Split(','), 2, "完全参照格式不正确"); BLL.Common.ErrorMsg(fd.Cvalue.Split(',')[1].Split('|'), 2, "完全参照格式不正确"); string[] u8value = fd.Cvalue.Split(',')[1].Split('|'); if (u8value[0] == DAL.Constant.Fixvalue_Cardsection_Title) { u8nv.U8FieldValue = rdds.Tables[0].Rows[0][u8value[1]].ToDataString(); } if (u8value[0] == DAL.Constant.Fixvalue_Cardsection_Body) { u8nv.U8FieldValue = rdsds.Tables[0].Rows[0][u8value[1]].ToDataString(); } break; case DAL.Constant.Fieldcmps_Ctype_MutiValue: // 分账套 u8nv.U8FieldValue = DAL.Common.GetVauleByAccid(fd.Autoid, dt.Accid); break; case DAL.Constant.Fieldcmps_Ctype_Funtion: // 函数 u8nv.U8FieldValue = DAL.Common.GetFunValue(apidata, apidata.HeadData, null, rdds.Tables[0].Rows[0], rdsds.Tables[0].Rows[0], fd, dt, 0); #region 默认值 刘忻洲添加 2014.11.20 if (dt.TaskType == 1) { if (string.IsNullOrEmpty(u8nv.U8FieldValue)) { u8nv.U8FieldValue = DAL.Common.GetDefaultValueByTaskIdFunctionId(dt.Id.ToString(), fd.Id, fd.Autoid, fd.Cfunid); } if (u8nv.U8FieldValue == "[null]") { u8nv.U8FieldValue = ""; } } #endregion break; default: u8nv.U8FieldValue = null; break; } apidata.HeadData.Add(u8nv); } } catch (Exception ex) { string msg = string.Format("表头字段{0}({2})取值发生错误:错误信息:{1}", fd.Carditemname, ex.Message.ToString(), fd.Fieldname); #region 默认值 刘忻洲添加 2014.11.20 if (dt.TaskType == 1) { if (fd.Ctype == DAL.Constant.Fieldcmps_Ctype_Funtion) // 函数 { Model.U8NameValue u8nv = new Model.U8NameValue(); if (dt.Cvouchertype == "FC31" || dt.Cvouchertype == "FC32" || dt.Cvouchertype == "MO21") { u8nv.U8FieldName = fd.Fieldname; //生产制作区分大小写 } else { u8nv.U8FieldName = fd.Fieldname.ToLower(); } u8nv.U8FieldValue = DAL.Common.GetDefaultValueByTaskIdFunctionId(dt.Id.ToString(), fd.Id, fd.Autoid, fd.Cfunid); if (string.IsNullOrEmpty(u8nv.U8FieldValue)) { throw new Exception(msg); } if (u8nv.U8FieldValue == "[null]") { u8nv.U8FieldValue = ""; } apidata.HeadData.Add(u8nv); } else { throw new Exception(msg); } } #endregion } } }