⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 formphschange.pas

📁 小灵通机卡分离模块的设计.建立在数据库服务器
💻 PAS
📖 第 1 页 / 共 3 页
字号:
          GetTableInfo(NewPhsSimInfo.LwlPhsSimOld,'J2','0','');
          GetTableInfo(NewPhsSimInfo.LwlPhsSim,'J2','1','');
{          if NewPhsSimInfo.LwlPhsSimOld.RecordCount=0 then
            begin
              MessageDlg('缺少产品原机卡分离信息,请确认!',mtWarning,[mbOk],0);
              PostMessage(self.handle, WM_CLOSE, 0, 0);
              exit;
           end;   }
          if NewPhsSimInfo.LwlPhsSim.RecordCount=0 then
            begin
              MessageDlg('缺少产品机卡分离信息,请确认!',mtWarning,[mbOk],0);
              PostMessage(self.handle, WM_CLOSE, 0, 0);
              exit;
            end;
          NewPhsSimInfo.Visible:=true;
          Label1.Visible:=true;
          NewFramephsinfo.Visible:=false;
          Label8.Visible:=false;
          Label6.Caption:='机号一体机改机卡分离机';
          iprodproptype:=0;
        end
      else if NewprodInfo.LwlProdInfo.FieldByName('prod_prop').AsString='B1' then
        begin
          //检索机卡合一信息
          GetTableInfo(NewFramephsinfo.Lwlphsold,'D6','O','');
          GetTableInfo(NewFramephsInfo.Lwlphs,'D6','1','');
{          if NewFramephsinfo.Lwlphsold.RecordCount=0 then
            begin
              MessageDlg('缺少产品原机卡合一信息,请确认!',mtWarning,[mbOk],0);
              PostMessage(self.handle, WM_CLOSE, 0, 0);
              exit;
            end; }
          if NewFramephsInfo.Lwlphs.RecordCount=0 then
            begin
              MessageDlg('缺少产品机卡合一信息,请确认!',mtWarning,[mbOk],0);
              PostMessage(self.handle, WM_CLOSE, 0, 0);
              exit;
            end;
          NewPhsSimInfo.Visible:=false;
          Label1.Visible:=false;
          NewFramephsinfo.Visible:=true;
          Label8.Visible:=true;
          Label6.Caption:='机卡分离机改机号一体机';
          iprodproptype:=1;
          //把产品信息与PHS信息进行关联
          NewFramephsinfo.Setprodinfo(NewProdInfo);
        end
      else
        begin
          MessageDlg('产品性质有问题,请确认!',mtWarning,[mbOk],0);
          PostMessage(self.handle, WM_CLOSE, 0, 0);
          exit;
        end;
    end;

  //取出业务修改信息表对应信息
  if FrmYyslzx.Getywm <> '' then
    begin
      if FrmYyslzx.Getywm() = '01' then
        begin
          if GetDataThree(LwlServInfo,'GDATABY','servinfo',NewProdInfo.LwlProdInfo.FieldByName('prod_class').AsString,'01/06/') = 1 then
            begin
              PostMessage(self.handle, WM_CLOSE, 0, 0);
              exit;
            end;
        end
      else
        begin
          if GetDataThree(LwlServInfo,'GDATABY','servinfo',NewProdInfo.LwlProdInfo.FieldByName('prod_class').AsString,FrmYyslzx.Getywm()) =1 then
            begin
              PostMessage(self.handle, WM_CLOSE, 0, 0);
              exit;
            end;
        end;
    end
  else
    begin
      if pos('01',FrmYyslzx.GetOldywmstr()) > 0 then
        begin
          if GetDataThree(LwlServInfo,'GDATABY','servinfo',NewProdInfo.LwlProdInfo.FieldByName('prod_class').AsString,FrmYyslzx.GetOldywmstr()+'06/') = 1 then
            begin
              PostMessage(self.handle, WM_CLOSE, 0, 0);
              exit;
            end;
        end
      else
        begin
          if GetDataThree(LwlServInfo,'GDATABY','servinfo',NewProdInfo.LwlProdInfo.FieldByName('prod_class').AsString,FrmYyslzx.GetOldywmstr()) = 1 then
            begin
              PostMessage(self.handle, WM_CLOSE, 0, 0);
              exit;
            end;
        end;
    end;

  //使老客户信息不可修改
  disablePanel(OldUserInfo);
  disablePanel(NewUserInfo);
  NewUserInfo.DbeRelPeop.Enabled :=true;
  NewUserInfo.DbeRelPeop.Color := clWhite;
  NewUserInfo.DbeRelPhon.Enabled :=true;
  NewUserInfo.DbeRelPhon.Color := clWhite;
  NewUserInfo.DbeRelEmail.Enabled :=true;
  NewUserInfo.DbeRelEmail.Color := clWhite;
  NewUserInfo.DbeRelAddr.Enabled :=true;
  NewUserInfo.DbeRelAddr.Color := clWhite;
  NewUserInfo.DbeRelPost.Enabled :=true;
  NewUserInfo.DbeRelPost.Color := clWhite;
  NewUserInfo.DbeRelFax.Enabled :=true;
  NewUserInfo.DbeRelFax.Color := clWhite;
  NewUserInfo.DbeRelDepa.Enabled :=true;
  NewUserInfo.DbeRelDepa.Color := clWhite;
  NewUserInfo.DblcCommMode.Enabled :=true;
  NewUserInfo.DblcCommMode.Color := clWhite;

    //新用户经办人信息enable  
  //=================================================
  EnablePanel(NewUserInfo.ApplyInfo1);
  //=================================================
//  if trim(FrmYyslzx.GetShowmodal()) = '1' then
//    begin
//      disablePanel(NewUserInfo);
      disablePanel(NewProdInfo);

//    end;

  //记录当前的sim卡号和ps卡号
  if iprodproptype=0 then
    begin
      if NewPhsSimInfo.LwlPhsSim.RecordCount<>0 then
        begin
          //改于050512 lin 将"card_iccid" 改为 "card_psnm"
//          NewPhsSimInfo.iOldSim:=NewPhsSimInfo.LwlPhsSim.FieldByName('card_psnm').AsString;
          ls_psnm_o:=NewPhsSimInfo.LwlPhsSim.FieldByName('card_psnm').AsString;
           //改于050519 lin
          NewPhsSimInfo.iOldSim:=NewPhsSimInfo.LwlPhsSim.FieldByName('card_iccid').AsString;
          NewPhsSimInfo.itempSim:=NewPhsSimInfo.LwlPhsSim.FieldByName('card_iccid').AsString;

        end
      else
        begin
          NewPhsSimInfo.iOldSim:='';
          NewPhsSimInfo.itempSim:='';
          ls_psnm_o:='';
        end;
    end
  else if iprodproptype=1 then
    begin
      if NewFramephsinfo.Lwlphs.RecordCount<>0 then
        begin
          NewFramephsinfo.oldpscode:=NewFramephsinfo.Lwlphs.FieldByName('ps_code').AsString;
          NewFramephsinfo.Oldpscode_tmp:= NewFramephsinfo.Lwlphs.FieldByName('ps_code').AsString;
        end
      else
        begin
          NewFramephsinfo.oldpscode:='';
          NewFramephsinfo.Oldpscode_tmp:='';
        end;
    end;
       
    //设置为单号码,modify by lin 20050517
     NewPhsSimInfo.LwlPhsSim.Edit;
     NewPhsSimInfo.LwlPhsSim.FieldByName('card_type').AsString := 'A';
     NewPhsSimInfo.LwlPhsSim.Post;
  //NewPhsSimInfo.DblcCardType.KeyValue:='A';
  //SIM卡类型不能修改
  NewPhsSimInfo.DblcCardType.Enabled:=false;//暂时不能修改,modify by lizh 20050516


end;

procedure TFrmphschange.BtnOkClick(Sender: TObject);
var
  RetVal :integer;
  ls_AcceptState : string;//受理单类型(受理单状态)
  ls_SrvType : string;    //业务类型
  ls_SubSer : string;     //子业务码
  ls_Bact : string;       //预约施工动作
  lddbh,lslbh : string;         //订单编号 ,受理编号
  lywm ,lsldj: string;   //业务码 ,受理等级
  lowncustid, lusercustid : string; //所有者编码,使用者编码
  ls_value,ls_value_o,ls_custid : string;  //新值,旧值, 主键
  ls_flag : string;     //0:没改动,1:已改动
  ls_scbh,ls_scls,ls_slbh,ls_ywm,ls_cplb,ls_msgout :string;
begin
  inherited;
  iSubNumStr:='';
  if RgBact.ItemIndex = 3 then
    ls_Bact := ''
  else
    ls_Bact := InttoStr(RgBact.ItemIndex);

//检查信息的合法性和有效性------------------------------------------------------
  //检查客户信息的合法性和有效性
  RetVal:=NewUserinfo.UserValidate();
  if RetVal = 1 then
    begin
      PageControl1.ActivePage := TabSheet1;
      NewUserInfo.FocusSet(); //设置焦点
      exit;
    end;
  //检查产品信息
  RetVal:=NewProdinfo.ProdValidate();
  if RetVal = 1 then
    begin
      PageControl1.ActivePage := TabSheet2;
      NewProdInfo.FocusSet();  //设置焦点
      exit;
    end;
  //检查号码信息
  NewPhoneInfo.iProtCode := NewProdInfo.LwlProdInfo.FieldByName('prot_code').AsString; //协议号
  NewPhoneInfo.iExchCode := NewProdInfo.LwlProdInfo.FieldByName('exch_code').AsString;  //地址局向
//  NewPhoneInfo.iSwithId := NewProdInfo.LwlPhoneInfo.FieldByName('switch_id').AsString; //交换机

  RetVal:=NewPhoneInfo.PhoneValidate();
  if RetVal = 1 then
    begin
      PageControl1.ActivePage := TabSheet2;
      NewPhoneInfo.FocusSet();
      exit;
    end;

  //检查机卡分离信息
  if iprodproptype=0 then
    begin
      RetVal:=NewPhsSimInfo.PhsSimValidate();
      if RetVal = 1 then
        begin
          Pagecontrol1.ActivePage:= TabSheet2;
          NewPhsSimInfo.FocusSet();
          exit;
        end;
    end;
  //检查机卡合一信息
  if iprodproptype=1 then
    begin
      RetVal:=NewFramephsinfo.Validate();
      if RetVal = -1 then
        begin
          Pagecontrol1.ActivePage:= TabSheet2;
          NewFramephsinfo.DBEdtpscode.SetFocus;
          //NewFramephsinfo
          exit;
        end;
    end;
  //检查预约时间
  if RgBact.ItemIndex <> 2 then
  begin
    if DtpBtime.Date < Now() then
    begin
      MessageDlg('预约时间不能早于今天,请重输!',mtInformation,[mbOk],0);
      exit;
    end;
  end;
//---------------------------------------------------------------------------
  ls_AcceptState := FrmYyslzx.Getsldlx();  //受理单类型
  ls_SrvType := FrmYyslzx.Getywlx();  //业务类型
  AcceptGrade(ls_AcceptState,ls_SrvType,iSourFlag);   //判断传出的受理单类型和业务类型



//------------------------------------------------------------------------------
  lddbh:=FrmYyslzx.Getddbh();
  lslbh:=FrmYyslzx.Getslbh();
  lsldj:=Lwlaccelog.FieldByName('accept_grade').AsString;
  lowncustid:=NewProdInfo.LwlProdInfo.FieldByName('OWNCUST_ID').AsString;
  lusercustid:=NewProdInfo.LwlProdInfo.FieldByName('USERCUST_ID').AsString;
  //如果主号码变更,在释放号码串中加入主号码
  if NewPhoneInfo.iOldNum <> NewPhoneInfo.LwlPhoneInfo.FieldByName('product_no').AsString then
  begin
    iSubNumStr := NewPhoneInfo.iOldNum + '/';
  end;

//变动信息-----------------------------------------------------------------------
  //调用生成记录的中间件服务
  lwlPhssim.Open;
  lwlPhssim.Clear;
  lwlPhssim.Param.Clear;
  lwlPhssim.CicsRegion := vg_CicsRegion; //设置CicsRegion
  lwlPhssim.CicsProgram := 'DPHSSIMC';

  //客户信息变动
  ls_flag:='0';
  ls_value:=trim(NewUserInfo.LwlUserInfo.FieldByName('cont_man').AsString);
  ls_value_o:=trim(OldUserInfo.LwlUserInfo.FieldByName('cont_man').AsString);
  if ls_value<>ls_value_o  then
    begin
      AppendValue(lwlPhssim,'E7','23','cont_man','联系人','varchar2','M','1',ls_value,ls_value_o);
      ls_flag:='1';
    end;
  ls_value:=trim(NewUserInfo.LwlUserInfo.FieldByName('cont_tel1').AsString);
  ls_value_o:=trim(OldUserInfo.LwlUserInfo.FieldByName('cont_tel1').AsString);
  if ls_value<>ls_value_o  then
    begin
      AppendValue(lwlPhssim,'E7','27','cont_tel1','联系人电话','varchar2','M','1',ls_value,ls_value_o);
      ls_flag:='1';
    end;
  ls_value:=trim(NewUserInfo.LwlUserInfo.FieldByName('email').AsString);
  ls_value_o:=trim(OldUserInfo.LwlUserInfo.FieldByName('email').AsString);
  if ls_value<>ls_value_o  then
    begin
      AppendValue(lwlPhssim,'E7','30','email','电子邮箱','varchar2','M','1',ls_value,ls_value_o);
      ls_flag:='1';
    end;
  ls_value:=trim(NewUserInfo.LwlUserInfo.FieldByName('fax').AsString);
  ls_value_o:=trim(OldUserInfo.LwlUserInfo.FieldByName('fax').AsString);
  if ls_value<>ls_value_o  then
    begin
      AppendValue(lwlPhssim,'E7','29','fax','传真','varchar2','M','1',ls_value,ls_value_o);
      ls_flag:='1';
    end;
  ls_value:=trim(NewUserInfo.LwlUserInfo.FieldByName('cont_dept').AsString);
  ls_value_o:=trim(OldUserInfo.LwlUserInfo.FieldByName('cont_dept').AsString);
  if ls_value<>ls_value_o  then
    begin
      AppendValue(lwlPhssim,'E7','24','cont_dept','部门','varchar2','M','1',ls_value,ls_value_o);
      ls_flag:='1';
    end;
  ls_value:=trim(NewUserInfo.LwlUserInfo.FieldByName('comm_addr').AsString);
  ls_value_o:=trim(OldUserInfo.LwlUserInfo.FieldByName('comm_addr').AsString);
  if ls_value<>ls_value_o  then
    begin
      AppendValue(lwlPhssim,'E7','31','comm_addr','通信地址','varchar2','M','1',ls_value,ls_value_o);
      ls_flag:='1';
    end;
  ls_value:=trim(NewUserInfo.LwlUserInfo.FieldByName('zip').AsString);
  ls_value_o:=trim(OldUserInfo.LwlUserInfo.FieldByName('zip').AsString);
  if ls_value<>ls_value_o  then
    begin
      AppendValue(lwlPhssim,'E7','32','zip','邮政编码','varchar2','M','1',ls_value,ls_value_o);
      ls_flag:='1';
    end;
  ls_value:=trim(NewUserInfo.LwlUserInfo.FieldByName('comm_mode').AsString);
  ls_value_o:=trim(OldUserInfo.LwlUserInfo.FieldByName('comm_mode').AsString);
  if ls_value<>ls_value_o  then
    begin
      AppendValue(lwlPhssim,'E7','33','comm_mode','通信方式','varchar2','M','1',ls_value,ls_value_o);

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -