📄 frmrename.pas
字号:
lwlBkOwnerInfo.edit;
lwlBkUserInfo.edit;
UserInfo1.LwlUserInfo.edit;
UserInfo2.LwlUserInfo.edit;
lwlBkOwnerInfo.Post;
lwlBkUserInfo.Post;
UserInfo1.LwlUserInfo.Post;
UserInfo2.LwlUserInfo.Post;
//showMessage(UserInfo1.LwlUserInfo.FieldByName('cust_id').AsString);
if UserInfo1.LwlUserInfo.FieldByName('cust_id').AsString =UserInfo2.LwlUserInfo.FieldByName('cust_id').AsString then
begin
cbSame.Checked := True;
TabSheet2.TabVisible := False;
TabSheet1.Caption := '客户信息';
end
else
begin
cbSame.Checked := False;
TabSheet2.TabVisible := True;
TabSheet1.Caption := '所有者信息';
TabSheet2.Caption := '使用者信息';
end;
//如果当前的生产编号,生产流水不为-1,则检索相关的受理等级
Lwlaccelog.fieldbyname('accept_grade').asstring := 'A';
if (Currscbh <> -1) and (Currscls <> -1) then
begin
if retrieveValue(Lwlaccelog, 'B2', '1', '') <> 1 then
begin
Lwlaccelog.Edit;
Lwlaccelog.fieldbyname('accept_grade').asstring := 'A';
end;
end;
if Currcpbh = -1 then
Currcpbh :=StrToInt(trim((ProdBase1.LwlProdInfo.fieldbyname('product_id').AsString)));
pagecontrol1.ActivePage := TabSheet1;
Rename.WindowState := wsMaximized;
end;
procedure TRename.btnCancelClick(Sender: TObject);
begin
inherited;
beClose := true;
if MessageDlg('是否要取消当前操作,返回客户服务中心?', mtConfirmation, [mbYes, mbNo], 0) = mrNo
then
begin
beClose := false;
exit;
end;
close;
end;
procedure TRename.FormCloseQuery(Sender: TObject;
var CanClose: Boolean);
begin
inherited;
CanClose := beClose;
end;
procedure TRename.btnSaveClick(Sender: TObject);
var
li_ret: integer;
ls_oldscls, ls_prodno, ls_khmc: string;
same_flag: string;
ls_scbh,ls_scls,ls_slbh,ls_cplb,msgOut:string;
begin
inherited;
//合法性检查
//messagedlg(UserInfo2.LwlUserInfo.FieldByName('cust_id').AsString, mtinformation, [mbok], 0);
UserInfo1.LwlUserInfo.FieldByName('cust_id').AsString:=bkCustId;
if UserInfo1.UserValidate <> 0 then
begin
PageControl1.ActivePage := TabSheet1;
UserInfo1.FocusSet;
exit;
end;
if (not cbSame.Checked) then
if UserInfo2.UserValidate <> 0 then
begin
PageControl1.ActivePage := TabSheet2;
UserInfo2.FocusSet;
exit;
end;
lwlsave.Open;
lwlsave.Clear;
lwlsave.Param.Clear;
lwlsave.CicsRegion := vg_CicsRegion;
lwlsave.CicsProgram := 'TRANSFER';
//客户信息(所有者、使用者)变动情况
if not writeChange() then
begin
exit;
end;
// messagedlg(UserInfo2.LwlUserInfo.FieldByName('cust_id').AsString, mtinformation, [mbok], 0);
//增加输入参数
if (Currscbh <> -1) then
Oldscbh := inttostr(Currscbh)
else
Oldscbh := ProdBase1.LwlProdInfo.fieldbyname('produce_id').asstring;
if (Currscls <> -1) and (FrmYyslzx.getywlx <> '1') then
ls_oldscls := inttostr(Currscls)
else
ls_oldscls := '';
setLinkParmVal(lwlsave, 'param1', Oldscbh);
setLinkParmVal(lwlsave, 'param2', ls_oldscls);
setLinkParmVal(lwlsave, 'param3', Currddbh);
setLinkParmVal(lwlsave, 'param4', Currslbh);
setLinkParmVal(lwlsave, 'param5', inttostr(Currcpbh));
setLinkParmVal(lwlsave, 'param6', Currywm);
setLinkParmVal(lwlsave, 'param7', Currywm);
setLinkParmVal(lwlsave, 'param8', Currsldlx);
setLinkParmVal(lwlsave, 'param9', '0');
setLinkParmVal(lwlsave, 'param10', Currywlx);
setLinkParmVal(lwlsave, 'param11', vg_lan_code);
setLinkParmVal(lwlsave, 'param12', vg_lan_code);
setLinkParmVal(lwlsave, 'param13',trim(lwlaccelog.fieldbyname('accept_grade').asstring));
setLinkParmVal(lwlsave, 'param14', vg_accept_mode);
setLinkParmVal(lwlsave, 'param15', vg_order_tache);
setLinkParmVal(lwlsave, 'param16', vg_unit_type);
setLinkParmVal(lwlsave, 'param17', vg_unit_code);
setLinkParmVal(lwlsave, 'param18', vg_exch_code);
setLinkParmVal(lwlsave, 'param19', vg_depart_code);
setLinkParmVal(lwlsave, 'param20', vg_depart_type);
setLinkParmVal(lwlsave, 'param21', vg_oper_code);
setLinkParmVal(lwlsave, 'param22', vg_ipaddr);
setLinkParmVal(lwlsave, 'param23', vg_term_code);
if cbSame.Checked then
same_flag := '1'
else
same_flag := '2';
setLinkParmVal(lwlsave, 'param24', same_flag);//所有者和使用者相同传'1',不同传'2'
setLinkParmVal(lwlsave, 'param25',trim(UserInfo1.LwlUserInfo.FieldByName('cust_id').AsString));
//新的所有者编号
setLinkParmVal(lwlsave, 'param26', inttostr(FrmYyslzx.Getoldscls));
lwlsave.Param.CreateParam(ftString, 'param27', ptoutput);
lwlsave.Param.CreateParam(ftString, 'param28', ptoutput);
lwlsave.Param.CreateParam(ftString, 'param29', ptoutput);
lwlsave.Param.CreateParam(ftString, 'param30', ptoutput);
lwlsave.apply; //调用服务
li_ret := lwlsave.RValue;
if li_ret <> 0 then
begin
showerror('保存失败!', lwlsave.Infomation);
exit;
end;
//给营业受理中心赋值
FrmYyslzx.setscbh(strtoint(trim(lwlsave.Param.ParamByName('param27').AsString)));
FrmYyslzx.setscls(strtoint(trim(lwlsave.Param.ParamByName('param28').AsString)));
FrmYyslzx.setslbh(trim(lwlsave.Param.ParamByName('param29').AsString));
FrmYyslzx.setddbh(trim(lwlsave.Param.ParamByName('param30').AsString));
ls_khmc := userinfo1.LwlUserInfo.FieldByName('cust_name').AsString;
FrmYyslzx.setkhmc(ls_khmc);
ls_prodno := ProdBase1.getCphm;
FrmYyslzx.setcphm(ls_prodno);
FrmYyslzx.setsldlx('00');
//FrmYyslzx.Setcpbh(trim(lwlsave.Param.ParamByName('param29').asString)); //产品编号
FrmYyslzx.Dispcurrrecord();
FrmYyslzx.setuserinfo(userinfo1.LwlUserInfo);
///////打印审核单
ls_scbh:=trim(lwlsave.Param.ParamByName('param27').AsString);
ls_scls:=trim(lwlsave.Param.ParamByName('param28').AsString);
ls_slbh:=trim(lwlsave.Param.ParamByName('param29').AsString);
ls_cplb:=trim(ProdBase1.LwlProdInfo.fieldbyname('prod_class').AsString);
SetPrint(UserInfo1.LwlUserInfo,ls_scbh,'E7','1','owner',UserInfo1.LwlUserInfoOld.FieldCount);
SetPrint(UserInfo2.LwlUserInfo,ls_scbh,'E7','1','user',UserInfo2.LwlUserInfoOld.FieldCount);
//SetPrint(AccountInfo1.LwlAccount,ls_scbh,'A3','1','',AccountInfo1.LwlAccountOld.FieldCount);
//SetPrint(AccountInfo1.LwlAccoInfo,ls_scbh,'A4','1','',AccountInfo1.LwlAccoInfoOld.FieldCount);
SetPrint(ProdBase1.LwlProdInfo,ls_scbh,'A0','1','',ProdBase1.LwlProdInfo.FieldCount-6);
//SetPrint(PhoneInfo.LwlPhoneInfo,Oldscbh,'A1','1','main',PhoneInfo.LwlPhoneInfoOld.FieldCount);
//SetPrint(pd163line1.lwlpdn_163line,ls_scbh,'C2','1','',37);
SetAssistantData(ls_scbh,ls_scls,ls_slbh,FrmYyslzx.Getywm(),ls_cplb);
AnalyseData(msgOut);
///////////////////////////
messagedlg('受理单信息保存成功!', mtinformation, [mbok], 0);
beClose := true;
close;
exit;
end;
procedure TRename.cbSameClick(Sender: TObject);
var
i: integer;
begin
inherited;
UserInfo1.LwlUserInfo.FieldByName('cust_id').AsString:=bkCustId;
if cbSame.Checked then
begin
cbSame.Checked := true;
TabSheet2.TabVisible := False;
TabSheet1.Caption := '客户信息';
UserInfo2.LwlUserInfo.open;
UserInfo2.LwlUserInfo.Clear;
UserInfo2.LwlUserInfo.Append;
for i := 0 to UserInfo1.LwlUserInfo.FieldCount - 1 do
UserInfo2.LwlUserInfo.Fields[i].AsString :=UserInfo1.LwlUserInfo.Fields[i].AsString;
UserInfo2.LwlUserInfo.Post;
end
else
begin
cbSame.Checked := False;
TabSheet2.TabVisible := True;
TabSheet1.Caption := '所有者信息';
TabSheet2.Caption := '使用者信息';
UserInfo2.LwlUserInfo.open;
UserInfo2.LwlUserInfo.Clear;
UserInfo2.LwlUserInfo.Append;
if lwlBkOwnerInfo.fieldbyname('cust_id').AsString <>lwlBkUserInfo.fieldbyname('cust_id').AsString then
begin
for i := 0 to UserInfo1.LwlUserInfo.FieldCount - 1 do
UserInfo2.LwlUserInfo.Fields[i].AsString :=lwlBkUserInfo.Fields[i].AsString;
end
else
UserInfo2.UserInit;
UserInfo2.LwlUserInfo.Post;
end;
end;
//进行比较,然后根据比较结果写信息变动表
function TRename.writeChange(): boolean;
var
i, li_OwnerChangeNum, li_UserChangeNum, m,k: integer;
ls_new_cust_id, ls_old_cust_id, ls_fieldCode, ls_fieldName, ls_oldVal,
ls_newVal: string;
operFlag: string;
OldCustId,NewCustId:string;
begin
li_OwnerChangeNum := 0;
li_UserChangeNum := 0;
operFlag := 'M';
k:=1;
{if trim(currYwm) = '03' then
m := 4
else }
m := 2;
for i := m to 43 do
begin
if i <> 26 then ////对性别字段不做比较
begin
if trim(lwlBkOwnerInfo.Fields[i].AsString) <> trim(UserInfo1.LwlUserInfo.Fields[i].AsString) then
li_OwnerChangeNum := li_OwnerChangeNum + 1;
end;
end;
if cbSame.Checked=false then
begin
if trim(UserInfo2.LwlUserInfo.Fields[2].AsString)<> trim(lwlBkUserInfo.Fields[2].AsString) then
begin
UserInfo2.LwlUserInfo.Open;
UserInfo2.LwlUserInfo.Edit;
UserInfo2.LwlUserInfo.Fields[2].AsString:= lwlBkUserInfo.Fields[2].AsString;
UserInfo2.LwlUserInfo.post;
end;
end;
if cbSame.Checked then
begin
UserInfo2.LwlUserInfo.open;
UserInfo2.LwlUserInfo.Clear;
UserInfo2.LwlUserInfo.Append;
for i := 0 to UserInfo1.LwlUserInfo.FieldCount - 1 do
UserInfo2.LwlUserInfo.Fields[i].AsString :=UserInfo1.LwlUserInfo.Fields[i].AsString;
{if trim(currYwm) = '03' then
begin
UserInfo2.LwlUserInfo.Fields[2].AsString :=
lwlBkOwnerInfo.Fields[2].AsString;
UserInfo2.LwlUserInfo.Fields[3].AsString :=
lwlBkOwnerInfo.Fields[3].AsString;
end;}
UserInfo2.LwlUserInfo.Post;
end;
for i := 2 to 43 do
begin
if i <> 26 then
begin
if trim(lwlBkUserInfo.Fields[i].AsString) <>
trim(UserInfo2.LwlUserInfo.Fields[i].AsString) then
li_UserChangeNum := li_UserChangeNum + 1;
end;
end;
if (li_OwnerChangeNum = 0) and (li_UserChangeNum = 0) then
begin
showmessage('你没有做任何变动!');
result := false;
exit;
end;
if not cbSame.Checked then
begin
if (lwlBkOwnerInfo.fieldbyname('cust_id').AsString =UserInfo2.LwlUserInfo.fieldbyname('cust_id').AsString) then
begin
showmessage('不合法变动:' + #13 + '改动后所有者和使用者编号相同!' + #13+'如果要改所有者编号,请做"过户"业务');
result := false;
exit;
end;
end;
if li_OwnerChangeNum > 0 then
begin
NewCustId := '';
OldCustId := '';
OldCustId := lwlBkOwnerInfo.Fields[2].AsString;
NewCustId := UserInfo1.LwlUserInfo.Fields[2].AsString;
if NewCustId <> OldCustId then
begin
operFlag:='A';
m:=3;
ls_newVal := '';
ls_newVal := UserInfo1.LwlUserInfo.Fields[2].AsString;
appendvalue('E7', '2', 'cust_id', '客户编号', '',operFlag, IntToStr(k), ls_newVal, '');
for i := m to 43 do
begin
ls_fieldCode := '';
ls_fieldName := '';
ls_newVal := '';
ls_oldVal := '';
ls_oldVal := lwlBkOwnerInfo.Fields[i].AsString;
ls_newVal := UserInfo1.LwlUserInfo.Fields[i].AsString;
getFieldBySeq(i, ls_fieldCode, ls_fieldName);
appendvalue('E7', IntToStr(i), ls_fieldCode, ls_fieldName, '',operFlag, IntToStr(k), ls_newVal, ls_oldVal);
end;
operFlag:='D';
m:=3;
K:=K+1;
ls_oldVal := '';
ls_oldVal := lwlBkOwnerInfo.Fields[2].AsString;
appendvalue('E7', '2', 'cust_id', '客户编号', '',operFlag, IntToStr(k), '', ls_oldVal);
for i := m to 43 do
begin
ls_fieldCode := '';
ls_fieldName := '';
ls_newVal := '';
ls_oldVal := '';
ls_oldVal := lwlBkOwnerInfo.Fields[i].AsString;
ls_newVal := UserInfo1.LwlUserInfo.Fields[i].AsString;
getFieldBySeq(i, ls_fieldCode, ls_fieldName);
appendvalue('E7', IntToStr(i), ls_fieldCode, ls_fieldName, '',operFlag, IntToStr(k), ls_newVal, ls_oldVal);
end;
end
else
begin
operFlag:='M';
if trim(currYwm) = '03' then
begin
ls_oldVal := '';
ls_oldVal := lwlBkOwnerInfo.Fields[2].AsString;
ls_newVal := UserInfo1.LwlUserInfo.Fields[2].AsString;
appendvalue('E7', '2', 'cust_id', '客户编号', '',operFlag, IntToStr(k), ls_newVal, ls_oldVal);
//appendvalue('E7', '2', 'cust_id', '客户编号', '',operFlag, IntToStr(k), ls_oldVal, ls_oldVal);
m := 4
end
else
m:=2;
for i := m to 43 do
begin
ls_fieldCode := '';
ls_fieldName := '';
ls_newVal := '';
ls_oldVal := '';
ls_oldVal := lwlBkOwnerInfo.Fields[i].AsString;
ls_newVal := UserInfo1.LwlUserInfo.Fields[i].AsString;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -