Exemplo n.º 1
0
        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";
            }
        }
Exemplo n.º 2
0
        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,含义:业务类型:普通采购,直运采购,受托代销
        }
Exemplo n.º 3
0
        /// <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";
                        }
                    }
                }
            }
        }
Exemplo n.º 4
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);
        }
Exemplo n.º 5
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 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
            }
        }
Exemplo n.º 6
0
        /// <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
                }
            }
        }