Beispiel #1
0
        /// <summary>
        /// 删除费率信息
        /// </summary>
        /// <param name="si_ssr"></param>
        /// <returns></returns>
        public int DelRow(v1_si_ssrVModel si_ssr)
        {
            StringBuilder strSql = new StringBuilder();

            strSql.Clear();
            strSql.Append("delete from v1_si_ssr where Ledger=@Ledger and Si_id=@Si_id");
            return(SQLHelper.Execute(strSql.ToString(), new { Ledger = this.Ledger, Si_id = si_ssr.si_id }));
        }
Beispiel #2
0
        /// <summary>
        /// 设置保存费率信息
        /// </summary>
        /// <param name="T1st">尖单价-对应的开始时间</param>
        /// <param name="T2nd">峰单价-对应的开始时间</param>
        /// <param name="T3rd">平单价-对应的开始时间</param>
        /// <param name="T4th">谷单价-对应的开始时间</param>
        /// <param name="Rate_id">费率ID号</param>
        /// <param name="Descr">费率描述</param>
        /// <param name="Pri1st">尖单价</param>
        /// <param name="Pri2nd">峰单价</param>
        /// <param name="Pri3rd">平单价</param>
        /// <param name="Pri4th">谷单价</param>
        /// <returns></returns>
        public int EditRow(v1_si_ssrVModel si_ssr)
        {
            StringBuilder strSql = new StringBuilder();

            strSql.Clear();
            DataTable obj = null;

            if (si_ssr.si_id == 0)
            {
                strSql.Clear();
                strSql.Append("select max(Si_id) as Si_id from v1_si_ssr where Ledger=@Ledger");
                obj          = SQLHelper.Query(strSql.ToString(), new { Ledger = this.Ledger });
                si_ssr.si_id = obj.Rows.Count > 0 ? CommFunc.ConvertDBNullToInt32(obj.Rows[0]["Si_id"]) + 1 : 1;
                //si_ssr.si_id = CommFunc.ConvertDBNullToInt32(obj.Rows[0]["Si_id"]) + 1;
                strSql.Clear();
                strSql.Append("insert into v1_si_ssr(");
                strSql.Append("Ledger,Si_id,Descr,SiSSR,Md,Wk,Ts,Disabled,Create_by,Create_dt,Update_by,Update_dt)");
                strSql.Append(" values (");
                strSql.Append("@Ledger,@Si_id,@Descr,@SiSSR,@Md,@Wk,@Ts,@Disabled,@uid,now(),@uid,now())");
                return(SQLHelper.Execute(strSql.ToString(), new { Ledger = this.Ledger, Si_id = si_ssr.si_id, Descr = si_ssr.descr, SiSSR = si_ssr.siSSR, Md = si_ssr.md, Wk = si_ssr.wk, Ts = si_ssr.ts, Disabled = si_ssr.disabled, uid = this.SysUid }));
            }
            else
            {
                strSql.Clear();
                strSql.Append("update v1_si_ssr set ");
                strSql.Append("Descr=@Descr,");
                strSql.Append("SiSSR=@SiSSR,");
                strSql.Append("Md=@Md,");
                strSql.Append("Wk=@Wk,");
                strSql.Append("Ts=@Ts,");
                strSql.Append("Disabled=@Disabled,");
                strSql.Append("Update_by=@uid,");
                strSql.Append("Update_dt=now()");
                strSql.Append(" where Ledger=@Ledger and Si_id=@Si_id ");
                return(SQLHelper.Execute(strSql.ToString(), new { Ledger = this.Ledger, Si_id = si_ssr.si_id, Descr = si_ssr.descr, SiSSR = si_ssr.siSSR, Md = si_ssr.md, Wk = si_ssr.wk, Ts = si_ssr.ts, Disabled = si_ssr.disabled, uid = this.SysUid }));
            }
        }
Beispiel #3
0
 /// <summary>
 /// 删除定时电表策略
 /// </summary>
 /// <param name="si_ssr">费率ID号</param>
 /// <returns></returns>
 public int DelRow(v1_si_ssrVModel si_ssr)
 {
     return(dal.DelRow(si_ssr));
 }
Beispiel #4
0
        /// <summary>
        /// 设置定时电表策略
        /// </summary>
        /// <param name="nAct">1=增加,2=修改,3=删除</param>
        /// <param name="si_id">策略Id,修改和删除需要,新增时传0即可</param>
        /// <param name="pRemark">描述</param>
        /// <param name="pIsClosed">是否启用:1=启用,0=不启用</param>
        /// <param name="pcT">日时区策略</param>
        /// <param name="pcM">日时区策略-定时段表号</param>
        /// <param name="pcW">星期策略</param>
        /// <param name="pcD">特殊日期策略</param>
        /// <param name="pcB">特殊日期策略-定时段表号</param>
        /// <param name="Timing"></param>
        /// <returns></returns>
        public APIRst SetTiming(int nAct, int si_id, string pRemark, int pIsClosed, string pcT, string pcM, string pcW, string pcD, string pcB, DataModels Timing)
        {
            APIRst rst = new APIRst();
            string pcT1, pcT2, pcT3, pcT4, pcT5, pcT6, pcT7, pcM1, pcM2, pcM3, pcM4, pcM5, pcM6, pcM7, pcW1, pcW2, pcW3, pcW4, pcW5, pcW6, pcW7, pcD1, pcD2, pcD3, pcD4, pcD5, pcD6, pcD7, pcB1, pcB2, pcB3, pcB4, pcB5, pcB6, pcB7 = null;

            try
            {
                String[] pcTss = pcT.Split(','); //日时区策略
                pcT1 = pcTss[0];
                pcT2 = pcTss[1];
                pcT3 = pcTss[2];
                pcT4 = pcTss[3];
                pcT5 = pcTss[4];
                pcT6 = pcTss[5];
                pcT7 = pcTss[6];

                String[] pcMss = pcM.Split(',');  //日时区策略-定时段表号
                pcM1 = pcMss[0];
                pcM2 = pcMss[1];
                pcM3 = pcMss[2];
                pcM4 = pcMss[3];
                pcM5 = pcMss[4];
                pcM6 = pcMss[5];
                pcM7 = pcMss[6];

                String[] pcWss = pcW.Split(','); //星期策略
                pcW1 = pcWss[0];
                pcW2 = pcWss[1];
                pcW3 = pcWss[2];
                pcW4 = pcWss[3];
                pcW5 = pcWss[4];
                pcW6 = pcWss[5];
                pcW7 = pcWss[6];

                String[] pcDWss = pcD.Split(',');  //特殊日期策略
                pcD1 = pcDWss[0];
                pcD2 = pcDWss[1];
                pcD3 = pcDWss[2];
                pcD4 = pcDWss[3];
                pcD5 = pcDWss[4];
                pcD6 = pcDWss[5];
                pcD7 = pcDWss[6];

                String[] pcBWss = pcB.Split(',');  //特殊日期策略-定时段表号
                pcB1 = pcBWss[0];
                pcB2 = pcBWss[1];
                pcB3 = pcBWss[2];
                pcB4 = pcBWss[3];
                pcB5 = pcBWss[4];
                pcB6 = pcBWss[5];
                pcB7 = pcBWss[6];


                v1_si_ssrVModel si_ssr = new v1_si_ssrVModel();
                if (nAct != 1 && nAct != 2 && nAct != 3)
                {
                    throw new Exception("执行操作类型错误");
                }
                JsonSiModel si = ModelHandler <JsonSiModel> .jsonTextToModel(CommFunc.ConvertDBNullToString(si_ssr.siSSR));

                JsonSiMdModel md = ModelHandler <JsonSiMdModel> .jsonTextToModel(CommFunc.ConvertDBNullToString(si_ssr.md));

                JsonSiWkModel wk = ModelHandler <JsonSiWkModel> .jsonTextToModel(CommFunc.ConvertDBNullToString(si_ssr.wk));

                JsonSiTsModel ts = ModelHandler <JsonSiTsModel> .jsonTextToModel(CommFunc.ConvertDBNullToString(si_ssr.ts));

                si_ssr.descr    = pRemark;   //描述
                si_ssr.disabled = pIsClosed; //是否启用
                ////----8个时段的JSON值怎样获取----////
                //string data1 = pData1;
                DataTable djson = ToDataTable(Timing.Data);

                //var djson = CreateTable<ExpTimingModels>();
                //djson = FillData(djson, Timing);

                StringBuilder     strD = new StringBuilder();
                StringBuilder     strT = new StringBuilder();
                JsonSiModel.Value value;
                int      rIndex = 0;
                string[] arrValue;
                object   dObj;
                foreach (DataRow dr in djson.Rows)
                {
                    rIndex = rIndex + 1;
                    foreach (DataColumn dc in djson.Columns)
                    {
                        int cIndex = CommFunc.ConvertDBNullToInt32(dc.ColumnName.Trim().Substring(1, 2));
                        if (cIndex == 0)
                        {
                            continue;
                        }
                        //arrValue = CommFunc.ConvertDBNullToString(cell.Value).Trim().Split(new char[2] { ':', '-' }, StringSplitOptions.RemoveEmptyEntries);
                        arrValue = CommFunc.ConvertDBNullToString(dr[dc]).Trim().Split('-');
                        strD.Clear();
                        strT.Clear();
                        strD.Append("d" + cIndex.ToString().Trim().PadLeft(2, '0'));
                        strT.Append("t" + rIndex.ToString().Trim().PadLeft(2, '0'));
                        System.Reflection.PropertyInfo dInfo = si.GetType().GetProperty(strD.ToString());
                        dObj = dInfo.GetValue(si, null);
                        System.Reflection.PropertyInfo tInfo = dObj.GetType().GetProperty(strT.ToString());
                        value    = (JsonSiModel.Value)tInfo.GetValue(dObj, null);
                        value.hm = arrValue[0];
                        value.sr = arrValue[1];
                        //value.sr = arrValue[2];
                    }
                }

                /////
                #region
                md.md01.md = "0000";
                md.md02.md = "0000";
                md.md03.md = "0000";
                md.md04.md = "0000";
                md.md05.md = "0000";
                md.md06.md = "0000";
                md.md07.md = "0000";
                string ss;
                string a;
                a = pcT1;
                if (a.Length > 4 || a.Length < 4)
                {
                    ss = (CommFunc.ConvertDBNullToDateTime(pcT1)).ToString("yyyyMMdd", System.Globalization.DateTimeFormatInfo.InvariantInfo);
                    if (ss != "19000101" && ss != "00010101")
                    {
                        md.md01.md = ss.Substring(4, 4);
                    }
                }
                else
                {
                    md.md01.md = a;
                }
                a = pcT2;
                if (a.Length > 4 || a.Length < 4)
                {
                    ss = (CommFunc.ConvertDBNullToDateTime(pcT2)).ToString("yyyyMMdd", System.Globalization.DateTimeFormatInfo.InvariantInfo);
                    if (ss != "19000101" && ss != "00010101")
                    {
                        md.md02.md = ss.Substring(4, 4);
                    }
                }
                else
                {
                    md.md02.md = a;
                }
                a = pcT3;
                if (a.Length > 4 || a.Length < 4)
                {
                    ss = (CommFunc.ConvertDBNullToDateTime(pcT3)).ToString("yyyyMMdd", System.Globalization.DateTimeFormatInfo.InvariantInfo);
                    if (ss != "19000101" && ss != "00010101")
                    {
                        md.md03.md = ss.Substring(4, 4);
                    }
                }
                else
                {
                    md.md03.md = a;
                }
                a = pcT4;
                if (a.Length > 4 || a.Length < 4)
                {
                    ss = (CommFunc.ConvertDBNullToDateTime(pcT4)).ToString("yyyyMMdd", System.Globalization.DateTimeFormatInfo.InvariantInfo);
                    if (ss != "19000101" && ss != "00010101")
                    {
                        md.md04.md = ss.Substring(4, 4);
                    }
                }
                else
                {
                    md.md04.md = a;
                }
                a = pcT5;
                if (a.Length > 4 || a.Length < 4)
                {
                    ss = (CommFunc.ConvertDBNullToDateTime(pcT5)).ToString("yyyyMMdd", System.Globalization.DateTimeFormatInfo.InvariantInfo);
                    if (ss != "19000101" && ss != "00010101")
                    {
                        md.md05.md = ss.Substring(4, 4);
                    }
                }
                else
                {
                    md.md05.md = a;
                }
                a = pcT6;
                if (a.Length > 4 || a.Length < 4)
                {
                    ss = (CommFunc.ConvertDBNullToDateTime(pcT6)).ToString("yyyyMMdd", System.Globalization.DateTimeFormatInfo.InvariantInfo);
                    if (ss != "19000101" && ss != "00010101")
                    {
                        md.md06.md = ss.Substring(4, 4);
                    }
                }
                else
                {
                    md.md06.md = a;
                }
                a = pcT7;
                if (a.Length > 4 || a.Length < 4)
                {
                    ss = (CommFunc.ConvertDBNullToDateTime(pcT7)).ToString("yyyyMMdd", System.Globalization.DateTimeFormatInfo.InvariantInfo);
                    if (ss != "19000101" && ss != "00010101")
                    {
                        md.md07.md = ss.Substring(4, 4);
                    }
                }
                else
                {
                    md.md07.md = a;
                }
                ////
                md.md01.si = pcM1;
                md.md02.si = pcM2;
                md.md03.si = pcM3;
                md.md04.si = pcM4;
                md.md05.si = pcM5;
                md.md06.si = pcM6;
                md.md07.si = pcM7;
                /////

                wk.si01 = pcW1;
                wk.si02 = pcW2;
                wk.si03 = pcW3;
                wk.si04 = pcW4;
                wk.si05 = pcW5;
                wk.si06 = pcW6;
                wk.si07 = pcW7;
                /////
                ts.ts01.dt = "00000000";
                ts.ts02.dt = "00000000";
                ts.ts03.dt = "00000000";
                ts.ts04.dt = "00000000";
                ts.ts05.dt = "00000000";
                ts.ts06.dt = "00000000";
                ts.ts07.dt = "00000000";
                string sd = "";
                string st = "";
                st = pcD1;
                if (st.Contains("-"))
                {
                    sd = (CommFunc.ConvertDBNullToDateTime(pcD1)).ToString("yyyyMMdd", System.Globalization.DateTimeFormatInfo.InvariantInfo);
                    if (sd != "19000101" && sd != "00010101")
                    {
                        ts.ts01.dt = sd;
                    }
                }
                else if (st != "")
                {
                    ts.ts01.dt = st;
                }
                st = pcD2;
                if (st.Contains("-"))
                {
                    sd = (CommFunc.ConvertDBNullToDateTime(pcD2)).ToString("yyyyMMdd", System.Globalization.DateTimeFormatInfo.InvariantInfo);
                    if (sd != "19000101" && sd != "00010101")
                    {
                        ts.ts02.dt = sd;
                    }
                }
                else if (st != "")
                {
                    ts.ts02.dt = st;
                }
                st = pcD3;
                if (st.Contains("-"))
                {
                    sd = (CommFunc.ConvertDBNullToDateTime(pcD3)).ToString("yyyyMMdd", System.Globalization.DateTimeFormatInfo.InvariantInfo);
                    if (sd != "19000101" && sd != "00010101")
                    {
                        ts.ts03.dt = sd;
                    }
                }
                else if (st != "")
                {
                    ts.ts03.dt = st;
                }
                st = pcD4;
                if (st.Contains("-"))
                {
                    sd = (CommFunc.ConvertDBNullToDateTime(pcD4)).ToString("yyyyMMdd", System.Globalization.DateTimeFormatInfo.InvariantInfo);
                    if (sd != "19000101" && sd != "00010101")
                    {
                        ts.ts04.dt = sd;
                    }
                }
                else if (st != "")
                {
                    ts.ts04.dt = st;
                }
                st = pcD5;
                if (st.Contains("-"))
                {
                    sd = (CommFunc.ConvertDBNullToDateTime(pcD5)).ToString("yyyyMMdd", System.Globalization.DateTimeFormatInfo.InvariantInfo);
                    if (sd != "19000101" && sd != "00010101")
                    {
                        ts.ts05.dt = sd;
                    }
                }
                else if (st != "")
                {
                    ts.ts05.dt = st;
                }
                st = pcD6;
                if (st.Contains("-"))
                {
                    sd = (CommFunc.ConvertDBNullToDateTime(pcD6)).ToString("yyyyMMdd", System.Globalization.DateTimeFormatInfo.InvariantInfo);
                    if (sd != "19000101" && sd != "00010101")
                    {
                        ts.ts06.dt = sd;
                    }
                }
                else if (st != "")
                {
                    ts.ts06.dt = st;
                }
                st = pcD7;
                if (st.Contains("-"))
                {
                    sd = (CommFunc.ConvertDBNullToDateTime(pcD7)).ToString("yyyyMMdd", System.Globalization.DateTimeFormatInfo.InvariantInfo);
                    if (sd != "19000101" && sd != "00010101")
                    {
                        ts.ts07.dt = sd;
                    }
                }
                else if (st != "")
                {
                    ts.ts07.dt = st;
                }
                ts.ts01.si = pcB1;
                ts.ts02.si = pcB2;
                ts.ts03.si = pcB3;
                ts.ts04.si = pcB4;
                ts.ts05.si = pcB5;
                ts.ts06.si = pcB6;
                ts.ts07.si = pcB7;
                #endregion
                /////////////////////////////////////////////////////////////////////////////////////
                si_ssr.siSSR = ModelHandler <JsonSiModel> .modelToJsonText(si);

                si_ssr.md = ModelHandler <JsonSiMdModel> .modelToJsonText(md);

                si_ssr.wk = ModelHandler <JsonSiWkModel> .modelToJsonText(wk);

                si_ssr.ts = ModelHandler <JsonSiTsModel> .modelToJsonText(ts);

                int cnt = 0;
                if (nAct != 1 && Convert.IsDBNull(si_ssr.si_id))
                {
                    throw new Exception("请选中一行");
                }
                if (nAct == 1)//新增
                {
                    cnt = bll.EditRow(si_ssr);
                }
                if (nAct == 2 || nAct == 3)
                {
                    si_ssr.si_id = si_id;//策略ID
                    if (nAct == 3)
                    {
                        bll.DelRow(si_ssr);//删除
                    }
                    else
                    {
                        bll.EditRow(si_ssr);
                    }
                }

                rst.data = cnt;
            }
            catch (Exception ex)
            {
                rst.rst      = false;
                rst.err.code = (int)ResultCodeDefine.Error;
                rst.err.msg  = ex.Message;
                FileLog.WriteLog("获取费率列表错误:" + ex.Message + ex.StackTrace);
            }
            return(rst);
        }
Beispiel #5
0
 /// <summary>
 /// 设置定时电表策略
 /// </summary>
 /// <param name="si_ssr"></param>
 /// <returns></returns>
 public int EditRow(v1_si_ssrVModel si_ssr)
 {
     return(dal.EditRow(si_ssr));
 }