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

📄 frmrename.pas

📁 小灵通机卡分离模块的设计.建立在数据库服务器
💻 PAS
📖 第 1 页 / 共 3 页
字号:
unit FrmRename;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, interfacesecond, DB, kbmMemTable, LWLINK, ExtCtrls, StdCtrls,
  Buttons, FrameUserInfo, ComCtrls, DBCtrls, Grids, DBGrids, FrameProdBase,
  FrameAccount, Menus, Mask;

type
  TRename = class(TFrminterfacesecond)
    Panel2: TPanel;
    Panel6: TPanel;                             
    btnSave: TButton;
    Lwlsave: TLWLINK;
    Lwlsavetab_brief: TStringField;
    Lwlsavefld_id: TStringField;
    Lwlsavefield_code: TStringField;
    Lwlsavefield_name: TStringField;
    Lwlsavefield_type: TStringField;
    Lwlsaverecord_type: TStringField;
    Lwlsaverecord_id: TStringField;
    Lwlsavenew_value: TStringField;
    Lwlsaveold_value: TStringField;
    Panel3: TPanel;
    Panel5: TPanel;
    Label1: TLabel;
    DblcAcceGrad: TDBLookupComboBox;
    DsAcceLog: TDataSource;
    LwlAcceLog: TLWLINK;
    LwlAcceLogproduce_id: TStringField;
    LwlAcceLogproduce_no: TStringField;
    LwlAcceLogorder_id: TStringField;
    LwlAcceLogaccept_id: TStringField;
    LwlAcceLogproduct_id: TStringField;
    LwlAcceLogsrv_code: TStringField;
    LwlAcceLogsub_srv: TStringField;
    LwlAcceLogaccept_lan: TStringField;
    LwlAcceLogvest_lan: TStringField;
    LwlAcceLogapply_name: TStringField;
    LwlAcceLogreq_certtype: TStringField;
    LwlAcceLogreq_certno: TStringField;
    LwlAcceLogbtime: TStringField;
    LwlAcceLogbact: TStringField;
    LwlAcceLogatime: TStringField;
    LwlAcceLogaccept_grade: TStringField;
    LwlAcceLogaccept_mode: TStringField;
    LwlAcceLogdeal_grade: TStringField;
    LwlAcceLogcharge_tache: TStringField;
    LwlAcceLogLuAcceGrad: TStringField;
    btnCancel: TButton;
    Panel7: TPanel;
    Panel8: TPanel;
    ProdBase1: TProdBase;
    Panel9: TPanel;
    PageControl1: TPageControl;
    TabSheet1: TTabSheet;
    UserInfo1: TUserInfo;
    TabSheet2: TTabSheet;
    UserInfo2: TUserInfo;
    cbSame: TCheckBox;
    LwlBkUserInfo: TLWLINK;
    LwlBkUserInfoproduce_id: TStringField;
    LwlBkUserInfoproduce_type: TStringField;
    LwlBkUserInfocust_id: TStringField;
    LwlBkUserInfocust_code: TStringField;
    LwlBkUserInfocust_pinyin: TStringField;
    LwlBkUserInfotown_flag: TStringField;
    LwlBkUserInfocust_label: TStringField;
    LwlBkUserInfocust_kind: TStringField;
    LwlBkUserInfotrade_type: TStringField;
    LwlBkUserInfocust_type: TStringField;
    LwlBkUserInfoppdom_code: TStringField;
    LwlBkUserInfoserve_level: TStringField;
    LwlBkUserInfoimport_level: TStringField;
    LwlBkUserInfoinc_level_code: TStringField;
    LwlBkUserInfocon_level_code: TStringField;
    LwlBkUserInfoadscript_co: TStringField;
    LwlBkUserInfocust_name: TStringField;
    LwlBkUserInfocust_identify: TStringField;
    LwlBkUserInfocert_type: TStringField;
    LwlBkUserInfocert_no: TStringField;
    LwlBkUserInfocert_term: TStringField;
    LwlBkUserInfosecret_level: TStringField;
    LwlBkUserInfocust_pwd: TStringField;
    LwlBkUserInfocont_man: TStringField;
    LwlBkUserInfocont_dept: TStringField;
    LwlBkUserInfocont_headship: TStringField;
    LwlBkUserInfocont_gender: TStringField;
    LwlBkUserInfocont_tel1: TStringField;
    LwlBkUserInfocont_tel2: TStringField;
    LwlBkUserInfofax: TStringField;
    LwlBkUserInfoemail: TStringField;
    LwlBkUserInfocomm_addr: TStringField;
    LwlBkUserInfozip: TStringField;
    LwlBkUserInfocomm_mode: TStringField;
    LwlBkUserInfodwell_addr: TStringField;
    LwlBkUserInfointegral: TStringField;
    LwlBkUserInfocre_code: TStringField;
    LwlBkUserInfocredit_value: TStringField;
    LwlBkUserInforec_time: TStringField;
    LwlBkUserInfoitime: TStringField;
    LwlBkUserInforegi_info: TStringField;
    LwlBkUserInfolimit_time: TStringField;
    LwlBkUserInfocust_state: TStringField;
    LwlBkUserInfocomments: TStringField;
    LwlBkUserInfoLuCustType: TStringField;
    LwlBkUserInfoLuCertType: TStringField;
    LwlBkUserInfoLuCustLabe: TStringField;
    LwlBkUserInfoLuCustKind: TStringField;
    LwlBkUserInfoLuCustRate: TStringField;
    LwlBkUserInfoLuCustIden: TStringField;
    LwlBkUserInfoLuCommMode: TStringField;
    LwlBkUserInfoLuTradType: TStringField;
    LwlBkUserInfoLuTowmFlag: TStringField;
    lwlBkOwnerInfo: TLWLINK;
    lwlBkOwnerInfoproduce_id: TStringField;
    lwlBkOwnerInfoproduce_type: TStringField;
    lwlBkOwnerInfocust_id: TStringField;
    lwlBkOwnerInfocust_code: TStringField;
    lwlBkOwnerInfocust_pinyin: TStringField;
    lwlBkOwnerInfotown_flag: TStringField;
    lwlBkOwnerInfocust_label: TStringField;
    lwlBkOwnerInfocust_kind: TStringField;
    lwlBkOwnerInfotrade_type: TStringField;
    lwlBkOwnerInfocust_type: TStringField;
    lwlBkOwnerInfoppdom_code: TStringField;
    lwlBkOwnerInfoserve_level: TStringField;
    lwlBkOwnerInfoimport_level: TStringField;
    lwlBkOwnerInfoinc_level_code: TStringField;
    lwlBkOwnerInfocon_level_code: TStringField;
    lwlBkOwnerInfoadscript_co: TStringField;
    lwlBkOwnerInfocust_name: TStringField;
    lwlBkOwnerInfocust_identify: TStringField;
    lwlBkOwnerInfocert_type: TStringField;
    lwlBkOwnerInfocert_no: TStringField;
    lwlBkOwnerInfocert_term: TStringField;
    lwlBkOwnerInfosecret_level: TStringField;
    lwlBkOwnerInfocust_pwd: TStringField;
    lwlBkOwnerInfocont_man: TStringField;
    lwlBkOwnerInfocont_dept: TStringField;
    lwlBkOwnerInfocont_headship: TStringField;
    lwlBkOwnerInfocont_gender: TStringField;
    lwlBkOwnerInfocont_tel1: TStringField;
    lwlBkOwnerInfocont_tel2: TStringField;
    lwlBkOwnerInfofax: TStringField;
    lwlBkOwnerInfoemail: TStringField;
    lwlBkOwnerInfocomm_addr: TStringField;
    lwlBkOwnerInfozip: TStringField;
    lwlBkOwnerInfocomm_mode: TStringField;
    lwlBkOwnerInfodwell_addr: TStringField;
    lwlBkOwnerInfointegral: TStringField;
    lwlBkOwnerInfocre_code: TStringField;
    lwlBkOwnerInfocredit_value: TStringField;
    lwlBkOwnerInforec_time: TStringField;
    lwlBkOwnerInfoitime: TStringField;
    lwlBkOwnerInforegi_info: TStringField;
    lwlBkOwnerInfolimit_time: TStringField;
    lwlBkOwnerInfocust_state: TStringField;
    lwlBkOwnerInfocomments: TStringField;
    lwlBkOwnerInfoLuCustType: TStringField;
    lwlBkOwnerInfoLuCertType: TStringField;
    lwlBkOwnerInfoLuCustLabe: TStringField;
    lwlBkOwnerInfoLuCustKind: TStringField;
    lwlBkOwnerInfoLuCustRate: TStringField;
    lwlBkOwnerInfoLuCustIden: TStringField;
    lwlBkOwnerInfoLuCommMode: TStringField;
    lwlBkOwnerInfoLuTradType: TStringField;
    lwlBkOwnerInfoLuTowmFlag: TStringField;
    procedure FormShow(Sender: TObject);
    procedure btnCancelClick(Sender: TObject);
    procedure FormCloseQuery(Sender: TObject; var CanClose: Boolean);
    procedure btnSaveClick(Sender: TObject);
    procedure cbSameClick(Sender: TObject);
  private
    currYwm, currYwmc: string; //记录当前的业务码,业务名称
    currCpbh, currScbh, currScls: integer;//记录当前的产品编号,生产编号,生产流水
    currDdbh, currSlbh: string; //记录当前的订单编号,受理编号
    currSldlx, currYwlx: string;//记录当前的受理单类型(正式受理,预受理),业务类型(业务受理,修正业务)
    currCplb: string; //当前所要改为的产品类别
    beClose: boolean; //控制是否允许关闭窗口 true:允许;false:不允许;
    oldScbh: string; //如果该产品已受理业务,则记录已受理的生产流水
    bkCustId:string;//备份客户编号
    function appendvalue(apara1, apara2, apara3, apara4, apara5, apara6, apara7,apara8, apara9: string): integer;
    function retrieveValue(var adataset: Tlwlink; tab_brief, new_flag, flag:string): integer;
    procedure setLinkParmVal(lwlMylink: TLWLINK; sParmName, sParmVal: string);   //创建参数并赋值
    function writeChange(): boolean;  //进行比较,然后根据比较结果写信息变动表
    procedure getFieldBySeq(seq: integer; var fieldCode, fieldName: string);
  public
    { Public declarations }
  end;

var
  Rename: TRename;

implementation

uses Yyslzx, ndfundeclare, NDPublic, YyslFunction;

{$R *.dfm}
//创建参数并赋值

procedure TRename.setLinkParmVal(lwlMylink: TLWLINK; sParmName, sParmVal:
  string);
begin
  lwlMylink.Param.CreateParam(ftString, sParmName, ptInput);
  lwlMylink.Param.ParamByName(sParmName).asString := sParmVal;
end;

//根据给定表名简码获取相关信息

function TRename.retrieveValue(var adataset: Tlwlink; tab_brief, new_flag,flag: string): integer;
var
  ls_scbh, ls_scls, ls_cpbh: string;
begin
  //检索信息
  adataset.Open;
  adataset.Clear;
  adataset.Param.clear;
  adataset.CicsRegion := vg_CicsRegion;
  adataset.CicsProgram := 'GPRODINF'; //服务名

  result := 1;
  if Currscbh = -1 then
    ls_scbh := ''
  else
    ls_scbh := inttostr(Currscbh);
  if Currscls = -1 then
    ls_scls := ''
  else
    ls_scls := inttostr(Currscls);
  if Currcpbh = -1 then
    ls_cpbh := ''
  else
    ls_cpbh := inttostr(Currcpbh);

  SetLinkParmIn(adataset, 'param1', ls_scbh);
  SetLinkParmIn(adataset, 'param2', ls_scls);
  SetLinkParmIn(adataset, 'param3', ls_cpbh);
  SetLinkParmIn(adataset, 'param4', tab_brief);
  SetLinkParmIn(adataset, 'param5', new_flag);
  SetLinkParmIn(adataset, 'param6', flag);
  SetLinkParmOut(adataset,'param7');

  adataset.ExecLink;
  //result := adataset.RValue;
  if (adataset.RValue <> 0) then
  begin
     result :=0;
     showerror('调用服务失败!',adataset.Infomation);
     exit;
  end;
  if (adataset.param[6].Value <> '1') then
  begin
     result := 0;
     showerror('检索数据失败!',adataset.Infomation);
     exit;
  end;
end;

//把信息写入lwlsave中,传递给服务
function TRename.appendvalue(apara1, apara2, apara3, apara4, apara5, apara6,
  apara7, apara8, apara9: string): integer;
begin
  lwlsave.Append;
  lwlsave.FieldByName('tab_brief').AsString := apara1;
  lwlsave.FieldByName('fld_id').AsString := apara2;
  lwlsave.FieldByName('field_code').AsString := apara3;
  lwlsave.FieldByName('field_name').AsString := apara4;
  lwlsave.FieldByName('field_type').AsString := apara5;
  lwlsave.FieldByName('record_type').AsString := apara6;
  lwlsave.FieldByName('record_id').AsString := apara7;
  lwlsave.FieldByName('new_value').AsString := apara8;
  lwlsave.FieldByName('old_value').AsString := apara9;
  lwlsave.Post;
  result := 0;
end;

procedure TRename.FormShow(Sender: TObject);
begin
  inherited;
  //正在业务处理中,不允许关闭窗口
  beClose := true;

  disablePanel(ProdBase1);
  Lwlaccelog.Open;
  Lwlaccelog.Clear;
  Lwlaccelog.Append;
  //获取业务受理中心传进来的参数
  if FrmYyslzx = nil then
  begin
      messagedlg('营业受理中心窗口变量为空,初始化参数失败!', mtinformation, [mbok], 0);
      exit;
  end;
  Currywm := FrmYyslzx.Getywm;
  Currywmc := FrmYyslzx.Getywmc;
  CurrDdbh := FrmYyslzx.Getddbh;
  Currslbh := FrmYyslzx.Getslbh;
  Currscbh := FrmYyslzx.Getscbh;
  Currscls := FrmYyslzx.Getscls;
  Currywlx := FrmYyslzx.Getywlx;
  Currsldlx := FrmYyslzx.getsldlx;
  Currcpbh := FrmYyslzx.Getcpbh;
  Currcplb := FrmYyslzx.Getcplb;
  label6.Caption := Currywmc;

  //判定所生成的受理单在业务受理控制表中的受理单状态,业务类型
  if (Currscbh = -1) or (Currscls = -1) then
  begin
      if Currsldlx <> '10' then    //预受理,正式受理
        Currsldlx := '00';
      Currywlx := '0'; //'0'表示是受理单,'1'表示是修正单
  end
  else
  begin
      if (Currsldlx = '10') and (Currywlx = '1') then //预受理转正式受理
      begin
          Currsldlx := '00';
          Currywlx := '0';
      end
      else
      begin
        if (Currsldlx <> '10') then
        begin
            Currsldlx := '00';
        end;
        if (currywlx = '2') then
        begin
            Currywlx := '1';
        end;
      end;
  end;

  //检索产品信息
  if ProdBase1.prodBaseIni(Currscbh, Currscls, Currcpbh, '1', '') <> 1 then
  begin
      ProdBase1.LwlProdInfo.clear;
      ProdBase1.LwlProdInfo.Append;
  end;

  //初始化客户信息的 Frame
  UserInfo1.UserInit;
  UserInfo2.UserInit;
  //设置客户信息全部都可以改
  UserInfo1.iRight:=true;
  UserInfo2.iRight:=true;
  //根据生产编号,生产流水,产品编号检索信息
  //检索客户新信息
  if retrieveValue(UserInfo1.LwlUserInfo, 'E7', '1', 'owner') <> 1 then
  begin
      MessageDlg('客户所有者信息不完全!', mtInformation, [mbOk], 0);
      userinfo1.lwluserinfo.clear;
      userinfo1.lwluserinfo.Append;
  end;

  bkCustId:= UserInfo1.LwlUserInfo.fieldbyname('cust_id').AsString;
  if retrieveValue(UserInfo2.LwlUserInfo, 'E7', '1', 'user') <> 1 then
  begin
      userinfo2.lwluserinfo.clear;
      userinfo2.lwluserinfo.Append;
  end;

  //检索客户原信息
  if retrieveValue(lwlBkOwnerInfo, 'E7', '0', 'owner') <> 1 then
  begin
      MessageDlg('原客户所有者信息不完全!', mtInformation, [mbOk], 0);
      lwlBkOwnerInfo.clear;
      lwlBkOwnerInfo.Append;
  end;
  if retrieveValue(lwlBkUserInfo, 'E7', '0', 'user') <> 1 then
  begin
      lwlBkUserInfo.clear;
      lwlBkUserInfo.Append;
  end;

⌨️ 快捷键说明

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