Exemple #1
0
        /// <summary>
        /// 变更用水性质
        /// </summary>
        /// <param name="MODELwaterMeter"></param>
        /// <returns></returns>
        public bool UpdateWaterMeterType(MODELwaterMeter MODELwaterMeter)
        {
            StringBuilder str = new StringBuilder();

            str.Append("UPDATE waterMeter SET waterMeterTypeId=@waterMeterTypeId");
            str.Append(" WHERE waterMeterId=@waterMeterId");
            SqlParameter[] para =
            {
                new SqlParameter("@waterMeterTypeId", SqlDbType.VarChar, 30),
                new SqlParameter("@waterMeterId",     SqlDbType.VarChar, 30)
            };
            para[0].Value = MODELwaterMeter.waterMeterTypeId;
            para[1].Value = MODELwaterMeter.waterMeterId;

            if (DBUtility.DbHelperSQL.ExecuteSql(str.ToString(), para) > 0)
            {
                return(true);
            }
            else
            {
                return(false);
            }
        }
        private void btChangeWaterMeterTypeID_Click(object sender, EventArgs e)
        {
            if (mes.ShowQ("变更后该记录将置为未抄!\n确定要将用户'" + strWaterUserName + "'的水表编号为'" + strSBH + "'的用水性质信息变更吗?") != DialogResult.OK)
            {
                return;
            }
            try
            {
                MODELreadMeterRecord MODELreadMeterRecord = new MODELreadMeterRecord();
                if (cmbWaterMeterTypeNew.SelectedValue == null || cmbWaterMeterTypeNew.SelectedValue == DBNull.Value)
                {
                    mes.Show("用水性质不能为空!");
                    return;
                }
                else
                {
                    DataRow[] drWaterMeterType = dtWaterMeterType.Select("waterMeterTypeId='" + cmbWaterMeterTypeNew.SelectedValue.ToString() + "'");
                    if (drWaterMeterType.Length > 0)
                    {
                        object objTrapePrice = drWaterMeterType[0]["trapezoidPrice"];

                        if (objTrapePrice != null && objTrapePrice != DBNull.Value)
                        {
                            MODELreadMeterRecord.trapezoidPrice = objTrapePrice.ToString();
                        }

                        string[] strTrapePrice = objTrapePrice.ToString().Split('|');
                        if (strTrapePrice[0].Split(':').Length > 0)
                        {
                            if (Information.IsNumeric(strTrapePrice[0].Split(':')[1]))
                            {
                                MODELreadMeterRecord.avePrice = Convert.ToDecimal(strTrapePrice[0].Split(':')[1]);
                            }
                        }
                        object objExtraFee = drWaterMeterType[0]["extraCharge"];
                        if (objExtraFee != null && objExtraFee != DBNull.Value)
                        {
                            MODELreadMeterRecord.extraCharge = objExtraFee.ToString();
                            string[] strAllExtraFee = objExtraFee.ToString().Split('|');
                            for (int j = 0; j < strAllExtraFee.Length; j++)
                            {
                                string[] strSingleExtraFee = strAllExtraFee[j].Split(':');
                                if (strSingleExtraFee[0].Contains("F"))
                                {
                                    string strNum = strSingleExtraFee[0].Substring(1, 1);
                                    if (strNum == "1")
                                    {
                                        if (Information.IsNumeric(strSingleExtraFee[1]))
                                        {
                                            MODELreadMeterRecord.extraChargePrice1 = Convert.ToDecimal(strSingleExtraFee[1]);
                                        }
                                    }
                                    if (strNum == "2")
                                    {
                                        if (Information.IsNumeric(strSingleExtraFee[1]))
                                        {
                                            MODELreadMeterRecord.extraChargePrice2 = Convert.ToDecimal(strSingleExtraFee[1]);
                                        }
                                    }
                                }
                            }
                        }
                    }
                    else
                    {
                        mes.Show("获取用水单价失败,无法完成修改!");
                        return;
                    }
                }

                MODELreadMeterRecord.readMeterRecordId = strRecordID;

                MODELreadMeterRecord.waterMeterTypeId   = cmbWaterMeterTypeNew.SelectedValue.ToString();
                MODELreadMeterRecord.waterMeterTypeName = cmbWaterMeterTypeNew.Text;
                MODELreadMeterRecord.MEMO = "用水性质变更:" + strWaterMeterTypeName + "→" + cmbWaterMeterTypeNew.Text + ";";

                if (BLLreadMeterRecord.UpdateHandSetWaterMeterType(MODELreadMeterRecord))
                {
                    string connectString =
                        "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + strDBFPath + ";Extended Properties=dBASE IV;User ID=Admin;Password=;";
                    string strSQLUpdateWaterMeterType = "UPDATE INTERDB SET yslbdm='" + MODELreadMeterRecord.waterMeterTypeId + "'," +
                                                        "yslb='" + MODELreadMeterRecord.waterMeterTypeName + "'," +
                                                        "szydj=" + MODELreadMeterRecord.avePrice + "," +
                                                        "fjfdj=" + MODELreadMeterRecord.extraChargePrice1 + "," +
                                                        "fjfdj1=" + MODELreadMeterRecord.extraChargePrice2 +
                                                        " WHERE recordid='" + strRecordID + "'";
                    int intRow = 0;
                    try
                    {
                        intRow = ExcuteSQL(strSQLUpdateWaterMeterType, connectString);
                    }
                    catch (Exception ex)
                    {
                        mes.Show("修改抄表机数据库失败,请确认数据文件是否存在");
                        log.Write(ex.ToString(), MsgType.Error);
                        return;
                    }
                    if (intRow > 0)
                    {
                        frm.dgList.CurrentRow.Cells["yslbdm"].Value = MODELreadMeterRecord.waterMeterTypeId;
                        frm.dgList.CurrentRow.Cells["yslb"].Value   = MODELreadMeterRecord.waterMeterTypeName;
                        frm.dgList.CurrentRow.Cells["szydj"].Value  = MODELreadMeterRecord.avePrice;
                        frm.dgList.CurrentRow.Cells["fjfdj"].Value  = MODELreadMeterRecord.extraChargePrice1;
                        frm.dgList.CurrentRow.Cells["fjfdj1"].Value = MODELreadMeterRecord.extraChargePrice2;

                        string strSQLUpdateSetUnRead = "UPDATE INTERDB SET CBBZ='0',DYBZ='0' WHERE recordid='" + strRecordID + "'";
                        try
                        {
                            ExcuteSQL(strSQLUpdateSetUnRead, connectString);

                            MODELOPERATORLOG MODELOPERATORLOG = new MODELOPERATORLOG();
                            MODELOPERATORLOG.LOGCONTENT     = "修改用水性质:" + strWaterUserName + "'-'" + strSBH + ":" + strWaterMeterTypeName + "→" + cmbWaterMeterTypeNew.Text;
                            MODELOPERATORLOG.LOGTYPE        = "3"; //1代表用户 2代表水表 3抄表机
                            MODELOPERATORLOG.METERREADINGID = strMeterReadingID;
                            MODELOPERATORLOG.OPERATORID     = strLogID;
                            MODELOPERATORLOG.OPERATORNAME   = strUserName;
                            BLLOPERATORLOG.Insert(MODELOPERATORLOG);
                        }
                        catch (Exception ex)
                        {
                            mes.Show("置为未抄失败,请确认抄表机数据文件是否存在");
                            log.Write(ex.ToString(), MsgType.Error);
                            return;
                        }
                        if (mes.ShowQ("是否要继续更改水表的用水性质?") != DialogResult.OK)
                        {
                            return;
                        }

                        MODELwaterMeter MODELwaterMeter = new MODELwaterMeter();
                        MODELwaterMeter.waterMeterId     = strSBH;
                        MODELwaterMeter.waterMeterTypeId = MODELreadMeterRecord.waterMeterTypeId;
                        if (BLLwaterMeter.UpdateWaterMeterType(MODELwaterMeter))
                        {
                            MODELOPERATORLOG MODELOPERATORLOG = new MODELOPERATORLOG();
                            MODELOPERATORLOG.LOGCONTENT     = "修改水表基础表用水性质:" + strWaterUserName + "'-'" + strSBH + ":" + strWaterMeterTypeName + "→" + cmbWaterMeterTypeNew.Text;
                            MODELOPERATORLOG.LOGTYPE        = "3"; //1代表用户 2代表水表 3抄表机
                            MODELOPERATORLOG.METERREADINGID = strMeterReadingID;
                            MODELOPERATORLOG.OPERATORID     = strLogID;
                            MODELOPERATORLOG.OPERATORNAME   = strUserName;
                            BLLOPERATORLOG.Insert(MODELOPERATORLOG);
                            mes.Show("水表编号为'" + strSBH + "'的用水性质更改成功!");
                        }
                    }
                    else
                    {
                        mes.Show("修改抄表机数据文件失败,请确认抄表记录是否存在");
                        return;
                    }
                }
            }
            catch (Exception ex)
            {
                mes.Show(ex.Message);
                log.Write(ex.ToString(), MsgType.Error);
            }
        }
Exemple #3
0
        public bool Insert(MODELwaterMeter MODELwaterMeter)
        {
            StringBuilder str = new StringBuilder();

            str.Append("INSERT INTO waterMeter(waterMeterId,waterMeterNo,waterMeterStartNumber,waterMeterPositionName,waterMeterState," +
                       "waterMeterSizeId,waterMeterTypeId,WATERFIXVALUE,waterMeterProduct,waterMeterSerialNumber,waterMeterMode," +
                       "waterMeterMagnification,waterMeterMaxRange,waterMeterProofreadingDate,waterMeteProofreadingPeriod,waterUserId," +
                       "waterMeterParentId,memo,STARTUSEDATETIME,isSummaryMeter,ISUSECHANGE,CHANGEMONTH,waterMeterTypeIdChange,IsReverse,WATERMETERLOCKNO,SummaryMeterClass,ChannelNO) ");

            str.Append("VALUES(@waterMeterId,@waterMeterNo,@waterMeterStartNumber,@waterMeterPositionName,@waterMeterState," +
                       "@waterMeterSizeId,@waterMeterTypeId,@WATERFIXVALUE,@waterMeterProduct,@waterMeterSerialNumber,@waterMeterMode," +
                       "@waterMeterMagnification,@waterMeterMaxRange,@waterMeterProofreadingDate," +
                       "@waterMeteProofreadingPeriod,@waterUserId,@waterMeterParentId,@memo,@STARTUSEDATETIME,@isSummaryMeter," +
                       "@ISUSECHANGE,@CHANGEMONTH,@waterMeterTypeIdChange,@IsReverse,@WATERMETERLOCKNO,@SummaryMeterClass,@ChannelNO)");
            SqlParameter[] para =
            {
                new SqlParameter("@waterMeterId",                SqlDbType.VarChar,   30),
                new SqlParameter("@waterMeterNo",                SqlDbType.VarChar,   30),
                new SqlParameter("@waterMeterStartNumber",       SqlDbType.Int),
                new SqlParameter("@waterMeterPositionName",      SqlDbType.VarChar,   50),
                new SqlParameter("@waterMeterState",             SqlDbType.VarChar,   10),
                new SqlParameter("@waterMeterSizeId",            SqlDbType.VarChar,   30),
                new SqlParameter("@waterMeterTypeId",            SqlDbType.VarChar,   30),
                new SqlParameter("@WATERFIXVALUE",               SqlDbType.Int),
                new SqlParameter("@waterMeterProduct",           SqlDbType.VarChar,   50),
                new SqlParameter("@waterMeterSerialNumber",      SqlDbType.VarChar,   50),
                new SqlParameter("@waterMeterMode",              SqlDbType.VarChar,   50),
                new SqlParameter("@waterMeterMagnification",     SqlDbType.Int),
                new SqlParameter("@waterMeterMaxRange",          SqlDbType.Int),
                new SqlParameter("@waterMeterProofreadingDate",  SqlDbType.DateTime),
                new SqlParameter("@waterMeteProofreadingPeriod", SqlDbType.Int),
                new SqlParameter("@waterUserId",                 SqlDbType.VarChar,   30),
                new SqlParameter("@waterMeterParentId",          SqlDbType.VarChar,   30),
                new SqlParameter("@MEMO",                        SqlDbType.VarChar,  200),//04216816395
                new SqlParameter("@STARTUSEDATETIME",            SqlDbType.DateTime),
                new SqlParameter("@isSummaryMeter",              SqlDbType.VarChar,   10),
                new SqlParameter("@ISUSECHANGE",                 SqlDbType.VarChar,   10),
                new SqlParameter("@CHANGEMONTH",                 SqlDbType.VarChar,   30),
                new SqlParameter("@waterMeterTypeIdChange",      SqlDbType.VarChar,   30),
                new SqlParameter("@IsReverse",                   SqlDbType.VarChar,   30),
                new SqlParameter("@WATERMETERLOCKNO",            SqlDbType.VarChar,   50),
                new SqlParameter("@SummaryMeterClass",           SqlDbType.VarChar,   10),
                new SqlParameter("@ChannelNO",                   SqlDbType.VarChar, 30)
            };
            para[0].Value  = MODELwaterMeter.waterMeterId;
            para[1].Value  = MODELwaterMeter.waterMeterNo;
            para[2].Value  = MODELwaterMeter.waterMeterStartNumber;
            para[3].Value  = MODELwaterMeter.waterMeterPositionName;
            para[4].Value  = MODELwaterMeter.waterMeterState;
            para[5].Value  = MODELwaterMeter.waterMeterSizeId;
            para[6].Value  = MODELwaterMeter.waterMeterTypeId;
            para[7].Value  = MODELwaterMeter.WATERFIXVALUE;
            para[8].Value  = MODELwaterMeter.waterMeterProduct;
            para[9].Value  = MODELwaterMeter.waterMeterSerialNumber;
            para[10].Value = MODELwaterMeter.waterMeterMode;
            para[11].Value = MODELwaterMeter.waterMeterMagnification;
            para[12].Value = MODELwaterMeter.waterMeterMaxRange;
            para[13].Value = MODELwaterMeter.waterMeterProofreadingDate;
            para[14].Value = MODELwaterMeter.waterMeteProofreadingPeriod;
            para[15].Value = MODELwaterMeter.waterUserId;
            para[16].Value = MODELwaterMeter.waterMeterParentId;
            para[17].Value = MODELwaterMeter.MEMO;
            if (MODELwaterMeter.waterMeterState == "1")
            {
                para[18].Value = MODELwaterMeter.STARTUSEDATETIME;
            }
            else
            {
                para[18].Value = null;
            }
            para[19].Value = MODELwaterMeter.isSummaryMeter;
            para[20].Value = MODELwaterMeter.ISUSECHANGE;


            //如果启用了自动变更新水价,则插入变更的月份和用水性质,如果没启用则不插入
            if (MODELwaterMeter.ISUSECHANGE == "1")
            {
                para[21].Value = MODELwaterMeter.CHANGEMONTH;
                para[22].Value = MODELwaterMeter.waterMeterTypeIdChange;
            }
            else
            {
                para[21].Value = null;
                para[22].Value = null;
            }
            para[23].Value = MODELwaterMeter.IsReverse;
            para[24].Value = MODELwaterMeter.WATERMETERLOCKNO;
            para[25].Value = MODELwaterMeter.SummaryMeterClass;
            para[26].Value = MODELwaterMeter.ChannelNO;

            if (DBUtility.DbHelperSQL.ExecuteSql(str.ToString(), para) > 0)
            {
                return(true);
            }
            else
            {
                return(false);
            }
        }
Exemple #4
0
        public bool Update(MODELwaterMeter MODELwaterMeter)
        {
            StringBuilder str = new StringBuilder();

            str.Append("UPDATE waterMeter SET waterMeterNo=@waterMeterNo,waterMeterStartNumber=@waterMeterStartNumber,waterMeterPositionName=@waterMeterPositionName," +
                       "waterMeterState=@waterMeterState,waterMeterSizeId=@waterMeterSizeId,waterMeterTypeId=@waterMeterTypeId,WATERFIXVALUE=@WATERFIXVALUE," +
                       "waterMeterProduct=@waterMeterProduct,waterMeterSerialNumber=@waterMeterSerialNumber,waterMeterMode=@waterMeterMode," +
                       "waterMeterMagnification=@waterMeterMagnification,waterMeterMaxRange=@waterMeterMaxRange,waterMeterProofreadingDate=@waterMeterProofreadingDate," +
                       "waterMeteProofreadingPeriod=@waterMeteProofreadingPeriod,waterUserId=@waterUserId,waterMeterParentId=@waterMeterParentId,MEMO=@MEMO,isSummaryMeter=@isSummaryMeter," +
                       "ISUSECHANGE=@ISUSECHANGE,CHANGEMONTH=@CHANGEMONTH,waterMeterTypeIdChange=@waterMeterTypeIdChange,IsReverse=@IsReverse,WATERMETERLOCKNO=@WATERMETERLOCKNO," +
                       "ChannelNO=@ChannelNO,SummaryMeterClass=@SummaryMeterClass ");
            str.Append("WHERE waterMeterId=@waterMeterId");
            SqlParameter[] para =
            {
                new SqlParameter("@waterMeterNo",                SqlDbType.VarChar,    30),
                new SqlParameter("@waterMeterStartNumber",       SqlDbType.Int),
                new SqlParameter("@waterMeterPositionName",      SqlDbType.VarChar,    50),
                new SqlParameter("@waterMeterState",             SqlDbType.VarChar,    10),
                new SqlParameter("@waterMeterSizeId",            SqlDbType.VarChar,    30),
                new SqlParameter("@waterMeterTypeId",            SqlDbType.VarChar,    30),
                new SqlParameter("@WATERFIXVALUE",               SqlDbType.Int),
                new SqlParameter("@waterMeterProduct",           SqlDbType.VarChar,    50),
                new SqlParameter("@waterMeterSerialNumber",      SqlDbType.VarChar,    50),
                new SqlParameter("@waterMeterMode",              SqlDbType.VarChar,    50),
                new SqlParameter("@waterMeterMagnification",     SqlDbType.Int),
                new SqlParameter("@waterMeterMaxRange",          SqlDbType.Int),
                new SqlParameter("@waterMeterProofreadingDate",  SqlDbType.DateTime),
                new SqlParameter("@waterMeteProofreadingPeriod", SqlDbType.Int),
                new SqlParameter("@waterUserId",                 SqlDbType.VarChar,    30),
                new SqlParameter("@waterMeterParentId",          SqlDbType.VarChar,    30),
                new SqlParameter("@MEMO",                        SqlDbType.VarChar,   200),
                new SqlParameter("@isSummaryMeter",              SqlDbType.VarChar,    10),
                new SqlParameter("@ISUSECHANGE",                 SqlDbType.VarChar,    10),
                new SqlParameter("@CHANGEMONTH",                 SqlDbType.VarChar,    30),
                new SqlParameter("@waterMeterTypeIdChange",      SqlDbType.VarChar,    30),
                new SqlParameter("@IsReverse",                   SqlDbType.VarChar,    30),
                new SqlParameter("@WATERMETERLOCKNO",            SqlDbType.VarChar,    50),
                new SqlParameter("@ChannelNO",                   SqlDbType.VarChar,    30),
                new SqlParameter("@SummaryMeterClass",           SqlDbType.VarChar,    10),
                new SqlParameter("@waterMeterId",                SqlDbType.VarChar, 30)
            };
            para[0].Value  = MODELwaterMeter.waterMeterNo;
            para[1].Value  = MODELwaterMeter.waterMeterStartNumber;
            para[2].Value  = MODELwaterMeter.waterMeterPositionName;
            para[3].Value  = MODELwaterMeter.waterMeterState;
            para[4].Value  = MODELwaterMeter.waterMeterSizeId;
            para[5].Value  = MODELwaterMeter.waterMeterTypeId;
            para[6].Value  = MODELwaterMeter.WATERFIXVALUE;
            para[7].Value  = MODELwaterMeter.waterMeterProduct;
            para[8].Value  = MODELwaterMeter.waterMeterSerialNumber;
            para[9].Value  = MODELwaterMeter.waterMeterMode;
            para[10].Value = MODELwaterMeter.waterMeterMagnification;
            para[11].Value = MODELwaterMeter.waterMeterMaxRange;
            para[12].Value = MODELwaterMeter.waterMeterProofreadingDate;
            para[13].Value = MODELwaterMeter.waterMeteProofreadingPeriod;
            para[14].Value = MODELwaterMeter.waterUserId;
            para[15].Value = MODELwaterMeter.waterMeterParentId;
            para[16].Value = MODELwaterMeter.MEMO;
            para[17].Value = MODELwaterMeter.isSummaryMeter;
            para[18].Value = MODELwaterMeter.ISUSECHANGE;


            //如果启用了自动变更新水价,则更新变更的月份和用水性质,如果没启用则不更新
            if (MODELwaterMeter.ISUSECHANGE == "1")
            {
                para[19].Value = MODELwaterMeter.CHANGEMONTH;
                para[20].Value = MODELwaterMeter.waterMeterTypeIdChange;
            }
            else
            {
                para[19].Value = null;
                para[20].Value = null;
            }
            para[21].Value = MODELwaterMeter.IsReverse;
            para[22].Value = MODELwaterMeter.WATERMETERLOCKNO;
            para[23].Value = MODELwaterMeter.ChannelNO;
            para[24].Value = MODELwaterMeter.SummaryMeterClass;
            para[25].Value = MODELwaterMeter.waterMeterId;

            if (DBUtility.DbHelperSQL.ExecuteSql(str.ToString(), para) > 0)
            {
                return(true);
            }
            else
            {
                return(false);
            }
        }
Exemple #5
0
        private void toolSaveUser_Click(object sender, EventArgs e)
        {
            #region 用户验证
            int intStartNO = 0, intCount = 1, intOrderNumberStart = 1;
            if (txtWaterUserNOStart.Text.Trim() == "")
            {
                mes.Show("请输入用户编号!");
                txtWaterUserNOStart.Focus();
                return;
            }
            else
            {
                string strWaterUserNOStart = txtWaterUserNOStart.Text;
                if (strWaterUserNOStart.Length == 6)
                {
                    if (strWaterUserNOStart.Substring(0, 1) != "U")
                    {
                        mes.Show("用户号由'U'+5位数字组成,请重新填写!");
                        txtWaterUserNOStart.SelectAll();
                        return;
                    }
                    else
                    {
                        if (!Information.IsNumeric(strWaterUserNOStart.Substring(1, 5)))
                        {
                            mes.Show("用户号由'U'+5位数字组成,请重新填写!");
                            txtWaterUserNOStart.SelectAll();
                            return;
                        }
                        else
                        {
                            intStartNO = Convert.ToInt32(strWaterUserNOStart.Substring(1, 5));
                        }
                    }
                }
                else
                {
                    mes.Show("用户号由'U'+5位数字组成,请重新填写!");
                    txtWaterUserNOStart.SelectAll();
                    return;
                }
            }
            if (!Information.IsNumeric(txtCount.Text))
            {
                mes.Show("请输入正确的数量!");
                txtCount.SelectAll();
                return;
            }
            else
            {
                if (Convert.ToInt16(txtCount.Text) < 1)
                {
                    mes.Show("请输入大于0的整数!");
                    txtCount.SelectAll();
                    return;
                }
                else
                {
                    intCount = Convert.ToInt16(txtCount.Text);
                }
            }

            //if (txtWaterUserName.Text.Trim() == "")
            //{
            //    mes.Show("请输入用户名称!");
            //    txtWaterUserName.Focus();
            //    return;
            //}
            if (txtWaterUserCount.Text.Trim() == "")
            {
                mes.Show("请输入人口数量!");
                txtWaterUserCount.Focus();
                return;
            }

            string strWaterUserIsExist = "SELECT * FROM WATERUSER WHERE WATERUSERID BETWEEN 'U" + intStartNO.ToString().PadLeft(5, '0')
                                         + "' AND 'U" + (intStartNO + intCount).ToString().PadLeft(5, '0') + "'";
            DataTable dtWaterUserQuery = BLLwaterUser.QuerySQL(strWaterUserIsExist);
            if (dtWaterUserQuery.Rows.Count > 0)
            {
                string strWaterUserIDS = "";
                for (int i = 0; i < dtWaterUserQuery.Rows.Count; i++)
                {
                    object objWaterUserID = dtWaterUserQuery.Rows[i]["WATERUSERID"];
                    if (objWaterUserID != null && objWaterUserID != DBNull.Value)
                    {
                        if (strWaterUserIDS == "")
                        {
                            strWaterUserIDS = objWaterUserID.ToString();
                        }
                        else
                        {
                            strWaterUserIDS += ";" + objWaterUserID.ToString();
                        }
                    }
                }
                mes.Show("存在已使用的用户号'" + strWaterUserIDS + "'");
                return;
            }

            if (cmbAreaNO.SelectedValue == null || cmbAreaNO.SelectedValue == DBNull.Value)
            {
                mes.Show("请选择区号!");
                cmbAreaNO.Focus();
                return;
            }
            if (cmbPianNO.SelectedValue == null || cmbPianNO.SelectedValue == DBNull.Value)
            {
                mes.Show("请选择片号!");
                cmbPianNO.Focus();
                return;
            }
            if (cmbDuanNO.SelectedValue == null || cmbDuanNO.SelectedValue == DBNull.Value)
            {
                mes.Show("请选择段号!");
                cmbDuanNO.Focus();
                return;
            }
            if (cmbCommunity.SelectedValue == null || cmbCommunity.SelectedValue == DBNull.Value)
            {
                mes.Show("请选择小区!");
                cmbCommunity.Focus();
                return;
            }
            if (cmbMeterReader.SelectedValue == null || cmbMeterReader.SelectedValue == DBNull.Value)
            {
                mes.Show("请选择抄表员!");
                cmbMeterReader.Focus();
                return;
            }
            if (cmbCharger.SelectedValue == null || cmbCharger.SelectedValue == DBNull.Value)
            {
                mes.Show("请选择收费员!");
                cmbCharger.Focus();
                return;
            }
            if (cmbCreateType.SelectedIndex < 0)
            {
                mes.Show("请选择建档类型!");
                cmbCreateType.Focus();
                return;
            }
            if (!Information.IsNumeric(txtOrderNumber.Text))
            {
                mes.Show("请输入正确的顺序号!");
                txtOrderNumber.Focus();
                return;
            }
            else
            {
                intOrderNumberStart = Convert.ToInt32(txtOrderNumber.Text);
            }

            if (cmbCerficateType.Text != "")
            {
                if (txtCerficateNO.Text.Trim() == "")
                {
                    mes.Show("请输入证件编号!");
                    cmbUserType.Focus();
                    return;
                }
            }
            if (cmbWaterUserChargeType.Text == "")
            {
                mes.Show("请选择交费方式!");
                cmbWaterUserChargeType.Focus();
                return;
            }
            if (cmbAgentSign.Text == "")
            {
                mes.Show("请设置银行是否托收!");
                cmbAgentSign.Focus();
                return;
            }
            else
            {
                if (cmbAgentSign.Text == "托收")
                {
                    if (cmbAgentBank.SelectedValue == null || cmbAgentBank.SelectedValue == DBNull.Value)
                    {
                        mes.Show("请选择托收银行!");
                        cmbAgentBank.Focus();
                        return;
                    }
                    if (txtWaterUserBankNO.Text.Trim() == "")
                    {
                        mes.Show("请输入银行卡号!");
                        txtWaterUserBankNO.Focus();
                        return;
                    }
                }
            }
            #endregion

            #region 水表验证

            if (cmbWaterMeterSize.SelectedValue == null || cmbWaterMeterSize.SelectedValue == DBNull.Value)
            {
                mes.Show("请选择水表口径!");
                cmbWaterMeterSize.Focus();
                return;
            }
            if (cmbWaterType.SelectedValue == null || cmbWaterType.SelectedValue == DBNull.Value)
            {
                mes.Show("请选择用水类别!");
                cmbWaterType.Focus();
                return;
            }
            if (cmbWaterMeterState.Text == "")
            {
                mes.Show("请选择水表状态!");
                cmbWaterMeterState.Focus();
                return;
            }
            if (!Information.IsNumeric(txtWaterMeterStartNum.Text))
            {
                mes.Show("初始读数只能为整数!");
                txtWaterMeterStartNum.Focus();
                return;
            }
            if (!Information.IsNumeric(txtWaterMeterMagnification.Text))
            {
                mes.Show("倍率只能为整数!");
                txtWaterMeterMagnification.Focus();
                return;
            }
            if (!Information.IsNumeric(txtWaterMeterMaxRange.Text))
            {
                mes.Show("最大量程只能为整数!");
                txtWaterMeterMaxRange.Focus();
                return;
            }
            if (!Information.IsNumeric(txtProofreadingPeriod.Text))
            {
                mes.Show("鉴定周期只能为整数!");
                txtProofreadingPeriod.Focus();
                return;
            }
            if (!Information.IsNumeric(txtWaterMeterFixedValue.Text))
            {
                mes.Show("定量用水只能为整数!");
                txtWaterMeterFixedValue.Focus();
                return;
            }
            if (cmbIsSummary.Text == "")
            {
                mes.Show("请选择是否为总表!");
                cmbIsSummary.Focus();
                return;
            }
            if (txtWaterMeterIsSummary.Text.Trim() != "")
            {
                if (txtWaterMeterIsSummary.Text.Trim().Length != 8 && txtWaterMeterIsSummary.Text.Trim().Length != 6)
                {
                    mes.Show("总表编号只能为6位用户号或者8位水表编号!");
                    txtWaterMeterIsSummary.Focus();
                    return;
                }
            }
            #endregion

            #region 自动排序
            try
            {
                string strSQL = "UPDATE WATERUSER SET ordernumber=ordernumber+" + intCount + " WHERE areaNO='" + strAreaNO +
                                "' AND pianNO='" + strPianNO + "' AND duanNO='" + strDuanNO + "' AND ordernumber>=" + intOrderNumberStart;

                BLLwaterUser.ExcuteSQL(strSQL);
            }
            catch (Exception ex)
            {
                mes.Show("自动排序失败,批量添加成功后请手动排序!");
            }
            #endregion

            for (int i = 0; i < intCount; i++)
            {
                try
                {
                    MODELWaterUser MODELWaterUser = new MODELWaterUser();
                    //MODELWaterUser.waterUserNO = GETTABLEID.GetTableID("", "WATERUSER");
                    MODELWaterUser.waterUserName          = txtWaterUserName.Text;
                    MODELWaterUser.waterUserNameCode      = txtCode.Text;
                    MODELWaterUser.waterUserAddress       = txtWaterUserAddress.Text;
                    MODELWaterUser.waterUserCerficateType = cmbCerficateType.Text;
                    MODELWaterUser.waterUserCerficateNO   = txtCerficateNO.Text;
                    MODELWaterUser.waterUserTelphoneNO    = txtWaterUserTel.Text;
                    MODELWaterUser.waterPhone             = txtPhone.Text;
                    MODELWaterUser.waterUserPeopleCount   = txtWaterUserCount.Text;
                    MODELWaterUser.areaNO          = cmbAreaNO.Text;
                    MODELWaterUser.pianNO          = cmbPianNO.Text;
                    MODELWaterUser.duanNO          = cmbDuanNO.Text;
                    MODELWaterUser.communityID     = cmbCommunity.SelectedValue.ToString();
                    MODELWaterUser.buildingNO      = txtBuildingNO.Text;
                    MODELWaterUser.unitNO          = txtUnitNO.Text;
                    MODELWaterUser.waterUserTypeId = cmbUserType.SelectedValue.ToString();
                    MODELWaterUser.chargeType      = cmbWaterUserChargeType.SelectedIndex.ToString();

                    MODELWaterUser.waterUserHouseType = cmbUserHouseType.Text;
                    if (MODELWaterUser.waterUserHouseType == "楼房")
                    {
                        MODELWaterUser.waterUserHouseType = "1";
                    }
                    else
                    {
                        MODELWaterUser.waterUserHouseType = "2";
                    }

                    MODELWaterUser.meterReaderID   = cmbMeterReader.SelectedValue.ToString();
                    MODELWaterUser.meterReaderName = cmbMeterReader.Text;

                    MODELWaterUser.chargerID   = cmbCharger.SelectedValue.ToString();
                    MODELWaterUser.chargerName = cmbCharger.Text;

                    //MODELWaterUser.meterReadingID = cmbWaterUserMeterReadingNO.SelectedValue.ToString();
                    //MODELWaterUser.meterReadingPageNo = txtMeterReadingPageNO.Text;
                    MODELWaterUser.ordernumber = intOrderNumberStart + i;

                    MODELWaterUser.agentsign = cmbAgentSign.Text;
                    if (MODELWaterUser.agentsign == "托收")
                    {
                        MODELWaterUser.agentsign        = "1";
                        MODELWaterUser.bankId           = cmbAgentBank.SelectedValue.ToString();
                        MODELWaterUser.BankAcountNumber = txtWaterUserBankNO.Text;
                    }
                    else
                    {
                        MODELWaterUser.agentsign = "2";
                    }

                    MODELWaterUser.createType   = cmbCreateType.Text;
                    MODELWaterUser.MEMO         = txtWaterUserMemo.Text;
                    MODELWaterUser.operatorName = strLogName;

                    MODELWaterUser.waterUserNO         = "U" + (intStartNO + i).ToString().PadLeft(5, '0');
                    MODELWaterUser.waterUserId         = MODELWaterUser.waterUserNO;
                    MODELWaterUser.waterUserCreateDate = mes.GetDatetimeNow();
                    if (BLLwaterUser.InsertwaterUser(MODELWaterUser))
                    {
                        try
                        {
                            MODELwaterMeter MODELwaterMeter = new MODELwaterMeter();
                            //if(cmbWaterMeterPosition.SelectedValue!=null&&cmbWaterMeterPosition.SelectedValue!=DBNull.Value)
                            //    MODELwaterMeter.waterMeterPositionId = cmbWaterMeterPosition.SelectedValue.ToString();
                            MODELwaterMeter.waterMeterPositionName = cmbWaterMeterPosition.Text;
                            MODELwaterMeter.waterMeterSizeId       = cmbWaterMeterSize.SelectedValue.ToString();

                            //如果正常则添加启用时间
                            if (cmbWaterMeterState.Text == "正常")
                            {
                                MODELwaterMeter.waterMeterState  = "1";
                                MODELwaterMeter.STARTUSEDATETIME = mes.GetDatetimeNow();
                            }
                            //if (cmbWaterMeterState.Text == "停水")
                            //    MODELwaterMeter.waterMeterState = "2";
                            //if (cmbWaterMeterState.Text == "报废")
                            MODELwaterMeter.waterMeterState  = (cmbWaterMeterState.SelectedIndex + 1).ToString();
                            MODELwaterMeter.waterMeterTypeId = cmbWaterType.SelectedValue.ToString();

                            MODELwaterMeter.WATERFIXVALUE          = Convert.ToInt32(txtWaterMeterFixedValue.Text);
                            MODELwaterMeter.waterMeterStartNumber  = Convert.ToInt32(txtWaterMeterStartNum.Text);
                            MODELwaterMeter.waterMeterProduct      = txtWaterMeterProductor.Text;
                            MODELwaterMeter.waterMeterSerialNumber = txtWaterMeterSerialNum.Text;
                            MODELwaterMeter.waterMeterMode         = txtWaterMeterModel.Text;
                            MODELwaterMeter.WATERMETERLOCKNO       = txtLockNO.Text;
                            MODELwaterMeter.waterMeterMaxRange     = Convert.ToInt32(txtWaterMeterMaxRange.Text);
                            //if (Information.IsDate(txtWaterMeterProofDate.Text))
                            //    MODELwaterMeter.waterMeterProofreadingDate = Convert.ToDateTime(txtWaterMeterProofDate.Text);
                            MODELwaterMeter.waterMeterProofreadingDate  = dtpProofDate.Value;
                            MODELwaterMeter.waterMeteProofreadingPeriod = Convert.ToInt32(txtProofreadingPeriod.Text);
                            MODELwaterMeter.waterMeterMagnification     = Convert.ToInt32(txtWaterMeterMagnification.Text);
                            MODELwaterMeter.waterUserId        = MODELWaterUser.waterUserId;
                            MODELwaterMeter.isSummaryMeter     = (cmbIsSummary.SelectedIndex + 1).ToString();//分表为1  总表为2
                            MODELwaterMeter.waterMeterParentId = txtWaterMeterIsSummary.Text;

                            MODELwaterMeter.IsReverse = "0";

                            MODELwaterMeter.MEMO         = txtWaterMeterMemo.Text;
                            MODELwaterMeter.waterMeterId = MODELWaterUser.waterUserId + "01";
                            MODELwaterMeter.waterMeterNo = MODELwaterMeter.waterMeterId;
                            //MODELwaterMeter.STARTUSEDATETIME = mes.GetDatetimeNow();
                            if (!BLLwaterMeter.Insert(MODELwaterMeter))
                            {
                                mes.Show("添加用户编号为'" + MODELWaterUser.waterUserId + "'的水表信息时保存失败!请检查填写项目是否符合验证规则!");
                                return;
                            }
                            else
                            {
                                MODELOPERATORLOG MODELOPERATORLOG = new MODELOPERATORLOG();
                                MODELOPERATORLOG.LOGCONTENT = "新增水表:" + MODELwaterMeter.waterMeterId;
                                //MODELOPERATORLOG.METERREADINGID = cmbWaterUserMeterReadingNO.SelectedValue.ToString();
                                MODELOPERATORLOG.LOGTYPE      = "2"; //1代表用户 2代表水表
                                MODELOPERATORLOG.OPERATORID   = strLogID;
                                MODELOPERATORLOG.OPERATORNAME = strLogName;
                                BLLOPERATORLOG.Insert(MODELOPERATORLOG);
                            }
                        }
                        catch (Exception ex)
                        {
                            //回滚用户表
                            BLLwaterUser.DeleteUser(MODELWaterUser.waterUserId);

                            mes.Show(ex.Message);
                            log.Write(ex.ToString(), MsgType.Error);
                            return;
                        }
                    }
                    else
                    {
                        mes.Show("添加用户编号为'" + MODELWaterUser.waterUserId + "'时保存失败!请检查填写项目是否符合验证规则!");
                        return;
                    }
                }
                catch (Exception ex)
                {
                    mes.Show(ex.Message);
                    log.Write(ex.ToString(), MsgType.Error);
                    return;
                }
            }
            DataTable dtList = BLLwaterMeter.QueryConnectWaterUser(" AND WATERUSERID BETWEEN 'U" + intStartNO.ToString().PadLeft(5, '0')
                                                                   + "' AND 'U" + (intStartNO + intCount).ToString().PadLeft(5, '0') + "'");
            dgList.DataSource = dtList;
        }