Пример #1
0
        private void Btn_Submit_Click(object sender, EventArgs e)
        {
            Btn_Submit.Enabled = false;

            if (waterMeterEndNumber.ValidateState & waterMeterEndNumber.ValidateState & waterMeterMode.ValidateState & WATERMETERLOCKNO.ValidateState)
            {
                if (!_MeterAllow)
                {
                    Btn_Submit.Enabled = true;
                    return;
                }
                if (!CheckMeterNumber(waterMeterSerialNumber.Text))
                {
                    MessageBox.Show("水表不可用,请重新输入水表编号");
                    Btn_Submit.Enabled = true;
                    return;
                }
                Hashtable Hmr = new Hashtable();

                //首先更新Meter
                //用户水表编号:waterMeterId
                //用户水表号:waterMeterNo
                //所属用户ID:waterUserId
                //水表型号(铅封号):waterMeterMode
                //表锁号:WATERMETERLOCKNO
                //倒装:IsReverse
                Hmr = new SqlServerHelper().GetHashTableByControl(this.panel1.Controls);
                Hmr.Remove("USEROPINION");
                Hmr["WATERMETERNO"] = _waterMeterId;
                Hmr["WATERUSERID"]  = _waterUserId;
                Hmr["METERSTATE"]   = 1;
                Hmr.Remove("WATERMETERSERIALNUMBER");
                Hmr.Remove("WATERMETERENDNUMBER");
                if (new SqlServerHelper().UpdateByHashtable("Meter", "waterMeterSerialNumber", waterMeterSerialNumber.Text.Trim(), Hmr) == 0)
                {
                    MessageBox.Show("水表出库失败!");
                    Btn_Submit.Enabled = true;
                    return;
                }

                mdal.MeterLogWrite2(waterMeterSerialNumber.Text.Trim(), "1", "【水表出库】-表号:" + waterMeterSerialNumber.Text.Trim());

                //报废水表
                string sqlstr = "UPDATE Meter SET MeterState=2,MEMO='换表报废:用户号'+waterMeterId,ModifyDate=GETDATE() WHERE waterMeterId =@waterMeterId";
                new SqlServerHelper().UpdateByHashtable(sqlstr, new SqlParameter[] { new SqlParameter("@waterMeterId", _waterMeterId) });

                mdal.MeterLogWrite2(waterMeterSerialNumber.Text.Trim(), "2", "【水表报废】-表号:" + waterMeterSerialNumber.Text.Trim());

                //其次更新Meter_Change
                //Meter_Change
                //原水表ID: waterMeterId
                //原水表读数: waterMeterEndNumber
                //新水表ID: waterMeterSerialNumber
                Hmr.Clear();
                Hmr["WATERMETERID"]           = _waterMeterId;
                Hmr["WATERMETERENDNUMBER"]    = waterMeterEndNumber.Text.Trim();
                Hmr["WATERMETERSERIALNUMBER"] = waterMeterSerialNumber.Text.Trim();
                if (new SqlServerHelper().UpdateByHashtable("Meter_Change", "TaskID", TaskID, Hmr) == 0)
                {
                    MessageBox.Show("信息保存失败!");
                    Btn_Submit.Enabled = true;
                    return;
                }

                //第三更新waterMeter
                //水表厂家:waterMeterProduct
                //水表出厂编号:waterMeterSerialNumber
                //水表型号(铅封号):waterMeterMode
                //表锁号:WATERMETERLOCKNO
                //倒装:IsReverse
                //鉴定日期: waterMeterProofreadingDate
                //鉴定周期: waterMeteProofreadingPeriod
                //启用时间: STARTUSEDATETIME
                //口径:waterMeterSizeId

                Hmr.Clear();
                Hmr = new SqlServerHelper().GetHashtableById("Meter", "waterMeterSerialNumber", waterMeterSerialNumber.Text.Trim());
                Hashtable Hm = new Hashtable();
                Hm["WATERMETERPRODUCT"]      = Hmr["WATERMETERPRODUCT"];
                Hm["WATERMETERSERIALNUMBER"] = Hmr["WATERMETERSERIALNUMBER"];
                Hm["WATERMETERMODE"]         = Hmr["WATERMETERMODE"];
                Hm["WATERMETERLOCKNO"]       = Hmr["WATERMETERLOCKNO"];
                Hm["ISREVERSE"] = Hmr["ISREVERSE"];
                Hm["WATERMETERPROOFREADINGDATE"]  = Hmr["WATERMETERPROOFREADINGDATE"];
                Hm["WATERMETEPROOFREADINGPERIOD"] = Hmr["WATERMETEPROOFREADINGPERIOD"];
                Hm["STARTUSEDATETIME"]            = Hmr["STARTUSEDATETIME"];
                Hm["WATERMETERSIZEID"]            = Hmr["WATERMETERSIZEID"];
                if (!new SqlServerHelper().Submit_AddOrEdit("waterMeter", "waterMeterId", _waterMeterId, Hm))
                {
                    MessageBox.Show("换表失败!");
                    Btn_Submit.Enabled = true;
                    return;
                }

                Hashtable HL = new Hashtable();
                HL["LOGTYPE"]      = 2; //2-水表日志
                HL["LOGCONTENT"]   = string.Format("用户换表-用户号:{0};出库水表出厂编号:{1},", _waterUserId, waterMeterSerialNumber.Text);
                HL["LOGDATETIME"]  = DateTime.Now.ToString();
                HL["OPERATORID"]   = AppDomain.CurrentDomain.GetData("LOGINID").ToString();
                HL["OPERATORNAME"] = AppDomain.CurrentDomain.GetData("USERNAME").ToString();
                HL["MEMO"]         = TaskID;
                new SqlServerHelper().Submit_AddOrEdit("OPERATORLOG", "LOGID", "", HL);
                string Matter = string.Format("【更换水表】-旧表读数:{0};旧表编号:{1};新表编号:{2};铅封号:{3};表锁号:{4}", waterMeterEndNumber.Text, waterMeterId.Text, waterMeterSerialNumber.Text, waterMeterMode.Text, WATERMETERLOCKNO.Text);
                int    count  = sysidal.UpdateApprove_defalut("Meter_Change", ResolveID, true, UserOpinion.Text.Trim(), PointSort, TaskID, Matter);

                if (count > 0)
                {
                    MessageBox.Show("审批成功!");
                }
                else
                {
                    MessageBox.Show("审批失败!");
                    Btn_Submit.Enabled = true;
                }
            }
            else
            {
                MessageBox.Show("信息不完整!");
            }
        }