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

📄 frmphsmodifyinfo.pas

📁 小灵通机卡分离模块的设计.建立在数据库服务器
💻 PAS
📖 第 1 页 / 共 5 页
字号:
     ls_value:=trim( phssiminfo1.LwlPhsSim.fieldbyname('prodsec_no').AsString);
     ls_value_o:=trim(phssiminfo1.LwlPhsSimold.fieldbyname('prodsec_no').AsString);
     if ls_value <> ls_value_o then
     begin
        //ls_flagps:='0';
       if FrmYyslzx.Getywm()<> '' then
         begin
        ls_flagps:='1';
        end;
        appendvalue(Lwlphsmodify,'J2','3','prodsec_no','外地号码','varchar2','M','1',ls_value,ls_value_o);
        ls_flag:='1';
     end;
  end;
  if phssiminfo1.Dblccardtype.Enabled then
   begin 
     ls_value:=trim( phssiminfo1.LwlPhsSim.fieldbyname('card_type').AsString);
     ls_value_o:=trim(phssiminfo1.LwlPhsSimold.fieldbyname('card_type').AsString);
     if ls_value <> ls_value_o then
     begin
        //ls_flagps:='0';
       if FrmYyslzx.Getywm()<> '' then
         begin
           ls_flagps:='1';
         end;
         ls_flag:='1';
         appendvalue(Lwlphsmodify,'J2','6','card_type','SIM类','char','M','1',ls_value,ls_value_o);
    end;
  end;
  //add eng
  if ls_flag='1' then
  begin
      ls_value:=trim(phoneinfo.LwlPhoneInfo.fieldbyname('phone_id').AsString);
      ls_value_o:=trim(phoneinfo.LwlPhoneInfo.fieldbyname('phone_id').AsString);
      appendvalue(Lwlphsmodify,'A1','2','phone_id','电话编号','number','M','1',ls_value,ls_value_o);
  end;
  if ls_flagps='0' then
  begin
      //add by zgw  20050512
     ls_value:=trim(phssiminfo1.LwlPhsSim.fieldbyname('card_psnm').AsString);
     ls_value_o:=trim(phssiminfo1.LwlPhsSimold.fieldbyname('card_psnm').AsString);

     if ls_value <> ls_value_o then
     begin
         //showmessage('设备号card_psnm'+ls_value+'card_psnmls_value_o'+ls_value_o);
        appendvalue(Lwlphsmodify,'A1','16','fac_code','设备号','varchar2','M','1',ls_value,ls_value_o);
     end;
  end;
  ProgFunc.gCustId:=Frmyhxx.LwlUserInfo.fieldbyname('cust_id').AsString;
  //产品服务变动信息
  if progfunc.BtnFunc.Enabled then
  begin
     ProgFunc.FuncCompareData(Lwlphsmodify,'13');
  end;
//mod bay zgw 20050517解决该问题:增加完新设备后不修改PS码也能通过

  //终端设备变动信息
  if progfunc.BtnDevice.Enabled then
  begin
     ProgFunc.FuncCompareData(Lwlphsmodify,'2');
    //mod bay zgw 20050517解决该问题:增加完新设备后不修改PS码也能通过

     ls_value:=trim(ProgFunc.LwlDevice.fieldbyname('device_code').AsString);
     ls_value_o:=trim(ProgFunc.LwlDeviceOld.fieldbyname('device_code').AsString);
     if ls_value <> ls_value_o then
     begin

      ls_value:=trim(Framephsinfo.Lwlphs.FieldByName('ps_code').AsString) ;
      ls_value_o:=trim(Framephsinfo.Lwlphsold.FieldByName('ps_code').AsString) ;
      if ls_value = ls_value_o then
       begin
       messagedlg('请输入新的PS编码!',mtinformation,[mbok],1);
       exit;
       end;
     end;
  end;
  //PS信息变动情况
  framephsinfo.ModifiedData(Lwlphsmodify);

  //移机修改投递地址
  ProdInfo.ComPostAddr(Lwlphsmodify);

  //把当前的一受理单传递给服务
  ls_SrvType:='0';
  if FrmYyslzx.Getywlx() = '0' then
  begin
    if Frmyyslzx.Getscls() = -1 then
    begin
      ls_NewScls := '';
    end
    else
    begin
      ls_NewScls := InttoStr(Frmyyslzx.Getscls());
      ls_ywm:=Frmyyslzx.Getywm();
    end;
    if FrmYyslzx.Getscbh = -1 then
    begin
      li_sl := FrmYyslzx.Getnextscbh();
      if li_sl <> -1 then
      begin
        while li_sl <> -1 do
        begin
          AppendValue(Lwlphsmodify,'//',InttoStr(li_sl),InttoStr(FrmYyslzx.Getnextscls()),FrmYyslzx.Getnextslbh(),FrmYyslzx.Getnextywm(),'','','','');
          li_sl := FrmYyslzx.Getnextscbh();
        end;
      end;
    end;
  end
  else if FrmYyslzx.Getywlx() = '1' then
  begin
    ls_NewScls := '';
    ls_SrvType:='1';
    ls_ywm:=Frmyyslzx.GetNewywm();
    li_sl := FrmYyslzx.Getnextscbh(); //多张工单
    if li_sl <> -1 then
    begin
      while li_sl <> -1 do
      begin
        AppendValue(Lwlphsmodify,'//',InttoStr(li_sl),InttoStr(FrmYyslzx.Getnextscls()),FrmYyslzx.Getnextslbh(),FrmYyslzx.Getnextywm(),'','','','');
        li_sl := FrmYyslzx.Getnextscbh();
      end;
    end;
  end
  else if FrmYyslzx.Getywlx() = '2' then
  begin
    ls_NewScls := InttoStr(FrmYyslzx.Getscls());
    ls_ywm:=Frmyyslzx.Getywm();
    ls_SrvType:='1';
  end;
  ls_NewScbh := ProdInfo.LwlProdInfo.FieldByName('produce_id').AsString;
  ls_NewCpbh := ProdInfo.LwlProdInfo.FieldByName('product_id').AsString;
  ls_AcceptState := FrmYyslzx.Getsldlx();
  //获取原单的生产流水
  if FrmYyslzx.GetOldscls() = -1 then
    ls_Seq := ''
  else
    ls_Seq := InttoStr(FrmYyslzx.GetOldscls);
  //获取所要释放的产品号码,PSCODE
  ls_prodno:=trim(phoneinfo.LwlPhoneInfo.fieldbyname('product_no').AsString);
  if (trim(ls_prodno)<>trim(Oldprodno)) and (trim(Oldprodno)<>'') then
  begin
     ls_prodno:=trim(Oldprodno);
  end
  else
     ls_prodno:='';
  //获取要释放的ps编码
  ls_oldpscode:=trim(framephsinfo.oldpscode);
  ls_newpscode:=trim(framephsinfo.Lwlphs.fieldbyname('ps_code').AsString);
  if ls_oldpscode = ls_newpscode then
     ls_oldpscode:=''
  else
     ls_oldpscode:=ls_oldpscode;

  //addby zgw 20050426获取要释放的sim编码
  ls_OldSim:=trim(phssiminfo1.iOldSim);
  ls_newsim:=trim(phssiminfo1.LwlPhsSim.fieldbyname('card_iccid').AsString);
  if ls_OldSim = ls_newsim then
     ls_OldSim:=''
  else
     ls_OldSim:=ls_OldSim;

  //判定是否要补机或补卡
  ls_repair:='N';
  if cbxrepair.Enabled and cbxrepair.checked then
  begin
     ls_repair:='Y';    //补机
  end
  else  if cbxmend.Enabled  and CBxMend.Checked  then
   begin
     ls_repair:='X';    //补卡
   end;

  //提示客户是否要改号通知音
  if ls_znwflag='Y' then
  begin
     try
       FrmMoveType:=TFrmMoveType.create(nil);
       FrmMoveType.RbInside.Visible:=false;
       FrmMoveType.RbSpan.Visible:=false;
       FrmMoveType.RbBuilding.Visible:=false;
       FrmMoveType.CbYjlh.Visible:=false;
       FrmMoveType.CbYjbgh.Visible:=false;
       FrmMoveType.CbMoveType.Visible:=false;
       ls_srvywm:='';
       FrmMoveType.ShowModal;
       //ls_srvywm,ls_lang,ls_starttime,ls_timelen,ls_lentype:string;
       if FrmMoveType.CbGhtzy.Checked then
       begin
          ls_srvywm:='0Q/';
          ls_lang:=trim(FrmMoveType.LinkInfo.lwllinkinfo.fieldbyname('lang_type').asstring);
          if ls_lang='' then
          begin
             messagedlg('当选择改号通知音时,语言种类不能为空!',mtinformation,[mbok],0);
             exit;
          end;
          ls_starttime:=datetimetostr(FrmMoveType.LinkInfo.DtpStime.Datetime);
          if ls_starttime='' then
          begin
             messagedlg('请先确定改号通知音的开始时间!',mtinformation,[mbok],0);
             exit;
          end;
          ls_timelen:=trim(FrmMoveType.LinkInfo.LwlLinkInfo.fieldbyname('day_len').AsString);
          if (ls_timelen='') or (ls_timelen='0') then
          begin
             messagedlg('请先确定改号通知音的时长!',mtinformation,[mbok],0);
             exit;
          end;
          ls_lentype:=trim(FrmMoveType.LinkInfo.LwlLinkInfo.fieldbyname('time_type').AsString);
          if ls_lentype='' then
          begin
             messagedlg('请先确定改号通知音的时长类型!',mtinformation,[mbok],0);
             exit;
          end;

       end;
     finally
       if FrmMoveType<>nil then
       begin
          FrmMoveType.Free;
          FrmMoveType:=nil;
       end;
     end;
  end;
  //判断是否一号通代扣电话的对月付费改预付费的约束  edited by ljb 2004.02.25
  if not CheckUptPayNoPrepay then exit;

  //设置服务的参数
  SetLinkParmIn(Lwlphsmodify,'param1',ls_NewScbh);	                          //生产编号
  SetLinkParmIn(Lwlphsmodify,'param2',ls_NewScls);                           //生产流水
  SetLinkParmIn(Lwlphsmodify,'param3',FrmYyslzx.Getddbh);                    //订单编号
  SetLinkParmIn(Lwlphsmodify,'param4',FrmYyslzx.Getslbh);                    //受理编号
  SetLinkParmIn(Lwlphsmodify,'param5',ls_NewCpbh);                           //产品编号
  SetLinkParmIn(Lwlphsmodify,'param6',ls_SrvType);                           //业务类型
  SetLinkParmIn(Lwlphsmodify,'param7',vg_lan_code);                          //受理本地网
  SetLinkParmIn(Lwlphsmodify,'param8',vg_lan_code);                          //所属本地网
  SetLinkParmIn(Lwlphsmodify,'param9',LwlAcceLog.FieldByName('accept_grade').AsString);  //受理等级
  SetLinkParmIn(Lwlphsmodify,'param10',vg_accept_mode);                      //受理方式
  SetLinkParmIn(Lwlphsmodify,'param11',vg_order_tache);                      //收款环节
  SetLinkParmIn(Lwlphsmodify,'param12',vg_unit_type);                        //所属单位类型
  SetLinkParmIn(Lwlphsmodify,'param13',vg_unit_code);                        //所属单位编码
  SetLinkParmIn(Lwlphsmodify,'param14',vg_exch_code);                        //受理局编码
  SetLinkParmIn(Lwlphsmodify,'param15',vg_depart_code);                      //部门编码
  SetLinkParmIn(Lwlphsmodify,'param16',vg_depart_type);                      //部门类型
  SetLinkParmIn(Lwlphsmodify,'param17',vg_oper_code);                        //受理工号
  SetLinkParmIn(Lwlphsmodify,'param18',vg_ipaddr);                           //营业终端IP
  SetLinkParmIn(Lwlphsmodify,'param19',vg_term_code);                        //受理班次
  SetLinkParmIn(Lwlphsmodify,'param20',ls_prodno);                             //要释放的号码
  SetLinkParmIn(Lwlphsmodify,'param21',ls_oldpscode);                              //要释放的PSCODE
  SetLinkParmIn(Lwlphsmodify,'param22',ls_ywm);                              //业务码
  SetLinkParmIn(Lwlphsmodify,'param23',ls_AcceptState);	                    //受理单状态
  SetLinkParmIn(Lwlphsmodify,'param24',ls_ywm);	                          //子业务码
  SetLinkParmIn(Lwlphsmodify,'param25',ProdInfo.LwlProdInfo.FieldByName('prod_class').AsString);//产品类别
  SetLinkParmIn(Lwlphsmodify,'param26',ls_Seq);	                            //原单的生产流水
  SetLinkParmIn(Lwlphsmodify,'param27',Frmyhxx.LwlUserInfo.FieldByName('cust_type').AsString);//客户等级
  SetLinkParmIn(Lwlphsmodify,'param28',prodinfo.LwlProdInfo.FieldByName('exch_code').AsString);//局向
  SetLinkParmIn(Lwlphsmodify,'param29',phoneinfo.LwlPhoneInfo.FieldByName('switch_id').AsString);//交换机
  SetLinkParmIn(Lwlphsmodify,'param30',prodinfo.LwlProdInfo.FieldByName('prot_code').AsString);//协议编号
  SetLinkParmIn(Lwlphsmodify,'param31',ls_repair);//是否补机标识位
  SetLinkParmIn(Lwlphsmodify,'param32',ls_srvywm);//改号通知音业务码
  SetLinkParmIn(Lwlphsmodify,'param33',ls_lang);  //语音种类
  SetLinkParmIn(Lwlphsmodify,'param34',ls_starttime);  //改号通知音开始时间
  SetLinkParmIn(Lwlphsmodify,'param35',ls_timelen);  //改号通知音时长
  SetLinkParmIn(Lwlphsmodify,'param36',ls_lentype);  //改号通知音时长类型
  //ls_srvywm,ls_lang,ls_starttime,ls_timelen,ls_lentype:string;
  //===========================================================
  //经办人信息输入  薛盈  2003-10-4
  //=============================================================
  SetLinkParmIn(Lwlphsmodify,'param37',FrmYhxx.ApplyInfo1.LwlApplyInfo.FieldByName('apply_name').AsString);
  SetLinkParmIn(Lwlphsmodify,'param38',FrmYhxx.ApplyInfo1.LwlApplyInfo.FieldByName('apply_cert').AsString);
  SetLinkParmIn(Lwlphsmodify,'param39',FrmYhxx.ApplyInfo1.LwlApplyInfo.FieldByName('apply_certno').AsString);
  SetLinkParmIn(Lwlphsmodify,'param40',FrmYhxx.ApplyInfo1.LwlApplyInfo.FieldByName('apply_tel').AsString);
  SetLinkParmIn(Lwlphsmodify,'param41',FrmYhxx.ApplyInfo1.LwlApplyInfo.FieldByName('apply_addr').AsString);
  //================================================================
//add by zgw 20050425  
SetLinkParmIn(Lwlphsmodify,'param42',ls_OldSim);                              //要释放的simCODE


  SetLinkParmOut(Lwlphsmodify,'retparam1');	                                //返回的订单编号
//*******************************************************************************
  //modify kenshine 20040709
  SetLinkParmOut(Lwlphsmodify,'retparam2');	                                //返回的订单编号
/////////////////////
  Lwlphsmodify.Apply;
  if Lwlphsmodify.RValue <> 0 then
  begin
     ShowError('调用中间件出错',Lwlphsmodify.Infomation);
     exit;
  end;
  if Lwlphsmodify.RValue = 0 then
  begin
    MessageDlg('业务受理成功!按确定返回控制中心',mtInformation,[mbOk],0);
    //设置给控制中心的返回值
    Lwlphsmodify.First;
    ls_scbh := Lwlphsmodify.Fields[0].AsString;    //生产编号
    ls_cplb := FrmYyslzx.GetNewcplb();
    for i := 0 to (Lwlphsmodify.RecordCount-1) do
    begin
    //审核单打印(2003.02.26)
      ls_ywm := Lwlphsmodify.Fields[3].AsString; //业务码
      ls_scls := Lwlphsmodify.Fields[1].AsString;    //生产流水
      ls_slbh := Lwlphsmodify.Fields[2].AsString;    //受理编号
      SetAssistantData(ls_scbh,ls_scls,ls_slbh,ls_ywm,ls_cplb);
    //返回数据给客户服务中心
      FrmYyslzx.setscbh(StrtoInt(Lwlphsmodify.Fields[0].AsString));          //生产编号
      FrmYyslzx.setscls(StrtoInt(Lwlphsmodify.Fields[1].AsString));          //生产流水
      FrmYyslzx.setslbh(Lwlphsmodify.Fields[2].AsString);                    //受理编号
      FrmYyslzx.Setywm(Lwlphsmodify.Fields[3].AsString);                     //业务码
      FrmYyslzx.Setywmc(Lwlphsmodify.Fields[4].AsString);                    //业务名称
      FrmYyslzx.setddbh(Lwlphsmodify.Param.ParamByName('retparam1').asString);//订单编号
      FrmYyslzx.setkhmc(Frmyhxx.DbeUserNam.Field.Text);                     //客户名称
      FrmYyslzx.setcphm(phoneinfo.LwlphoneInfo.fieldbyname('product_no').AsString);                    //产品号码
      FrmYyslzx.setsldlx(Lwlphsmodify.Fields[5].AsString);                   //受理单类型
      FrmYyslzx.Dispcurrrecord;               //调用控制中心的函数,显示工单
      Lwlphsmodify.Next;
    end;
//审核单打印(2003.02.26)

   //zhg 2004.7.10 add
   if not ProgFunc.LwlDevice.Active then ProgFunc.LwlDevice.Open;
    if not ProgFunc.LwlDeviceold.Active then ProgFunc.LwlDeviceold.Open;
    
    ProgFunc.LwlDeviceold.First;
    while not ProgFunc.LwlDeviceold.Eof do
    begin
       //showmessage(ProgFunc.LwlDeviceold.fieldbyname('device_code').asstring);
       /

⌨️ 快捷键说明

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