📄 ser520_02.pas.svn-base
字号:
else if ParName='O150_003' then ParValue:=qrySer520O150_003.DisplayLabel //客戶名称
else if ParName='S500_015' then ParValue:=qrySer520S500_015.DisplayLabel //单据类型
else if ParName='S500_016' then ParValue:=qrySer520S500_016.DisplayLabel //单据编号
else if ParName='S520_004' then ParValue:=qrySer520S520_004.DisplayLabel //审核日期
else if ParName='S520_005' then ParValue:=qrySer520S520_005.DisplayLabel //审核人员
else if ParName='S520_011' then ParValue:=gbSolution.Caption //解决方案
else if ParName='S520_012' then ParValue:=qrySer520S520_012.DisplayLabel //制单日期
else if ParName='S520_013' then ParValue:=qrySer520S520_013.DisplayLabel //制单人员
else if ParName='S520_014' then ParValue:=qrySer520S520_014.DisplayLabel //修改日期
else if ParName='S520_015' then ParValue:=qrySer520S520_015.DisplayLabel //修改人员
else if ParName='S521_001' then ParValue:=qrySer521S521_001.DisplayLabel //方案编号
else if ParName='S521_002' then ParValue:=qrySer521S521_002.DisplayLabel //序号
else if ParName='S521_003' then ParValue:=qrySer521S521_003.DisplayLabel //任务编号
else if ParName='S521_004' then ParValue:=qrySer521S521_004.DisplayLabel //執行人员
else if ParName='S521_005' then ParValue:=qrySer521S521_005.DisplayLabel //预计工时
else if ParName='S521_006' then ParValue:=qrySer521S521_006.DisplayLabel //时间单位
else if ParName='S521_007' then ParValue:=qrySer521S521_007.DisplayLabel //预计开始日期
else if ParName='S521_008' then ParValue:=qrySer521S521_008.DisplayLabel //预计完成日期
else if ParName='S522_001' then ParValue:=qrySer522S522_001.DisplayLabel //方案编号
else if ParName='S522_002' then ParValue:=qrySer522S522_002.DisplayLabel //序号
else if ParName='S522_003' then ParValue:=qrySer522S522_003.DisplayLabel //预计日期
else if ParName='S522_004' then ParValue:=qrySer522S522_004.DisplayLabel //员工编号
else if ParName='S522_005' then ParValue:=qrySer522S522_005.DisplayLabel //罚款金额
else if ParName='S523_001' then ParValue:=qrySer523S523_001.DisplayLabel //方案编号
else if ParName='S523_002' then ParValue:=qrySer523S523_002.DisplayLabel //序号
else if ParName='S523_003' then ParValue:=qrySer523S523_003.DisplayLabel //预计日期
else if ParName='S523_004' then ParValue:=qrySer523S523_004.DisplayLabel //客戶编号
else if ParName='S523_005' then ParValue:=qrySer523S523_005.DisplayLabel //赔偿金额
else if ParName='S524_001' then ParValue:=qrySer524S524_001.DisplayLabel //方案编号
else if ParName='S524_002' then ParValue:=qrySer524S524_002.DisplayLabel //序号
else if ParName='S524_003' then ParValue:=qrySer524S524_003.DisplayLabel //预计日期
else if ParName='S524_004' then ParValue:=qrySer524S524_004.DisplayLabel //货品编号
else if ParName='S524_005' then ParValue:=qrySer524S524_005.DisplayLabel //货品数量
else if ParName='S524_006' then ParValue:=qrySer524S524_006.DisplayLabel //货品单价
else if ParName='S524_007' then ParValue:=qrySer524S524_007.DisplayLabel //货品金额
end;
procedure TSer520_02Form.ActExitExecute(Sender: TObject);
begin
inherited;
//退出
Close;
end;
procedure TSer520_02Form.qrySer520AfterScroll(DataSet: TDataSet);
begin
inherited;
qrySer521.Close;
qrySer521.SQL.Clear;
qrySer521.SQL.Add('select * from SER521 where S521_001='+''''+qrySer520S520_001.AsString+'''');
qrySer521.Open;
qrySer522.Close;
qrySer522.SQL.Clear;
qrySer522.SQL.Add('select * from SER522 where S522_001='+''''+qrySer520S520_001.AsString+'''');
qrySer522.Open;
qrySer523.Close;
qrySer523.SQL.Clear;
qrySer523.SQL.Add('select * from SER523 where S523_001='+''''+qrySer520S520_001.AsString+'''');
qrySer523.Open;
qrySer524.Close;
qrySer524.SQL.Clear;
qrySer524.SQL.Add('select * from SER524 where S524_001='+''''+qrySer520S520_001.AsString+'''');
qrySer524.Open;
if qrySer520.State in [dsInsert,dsEdit] then Exit;
if qrySer520.IsEmpty then Exit;
edtCode.Text:=qrySer520.FieldByName('S520_001').AsString;
edtCallCode.Text:=qrySer520.FieldByName('S520_002').AsString;
edtCallName.Text:=qrySer520.FieldByName('S500_002').AsString;
edtStatus.Text:=qrySer520.FieldByName('S520_003').AsString;;
edtCust.Text:=qrySer520.FieldByName('O150_002').AsString;
edtCustName.Text:=qrySer520.FieldByName('O150_003').AsString;
edtType.Text:=qrySer520.FieldByName('S500_015').AsString;
edtBillNo.Text:=qrySer520.FieldByName('S500_016').AsString;
edtCheckDate.Text:=qrySer520.FieldByName('S520_004').AsString;
edtCheckBy.Text:=qrySer520.FieldByName('S520_005').AsString;
memSolution.Text:=qrySer520.FieldByName('S520_011').AsString;
edtCreateDate.Text:=qrySer520.FieldByName('S520_012').AsString;
edtCreateBy.Text:=qrySer520.FieldByName('S520_013').AsString;
edtUpdateDate.Text:=qrySer520.FieldByName('S520_014').AsString;
edtUpdateBy.Text:=qrySer520.FieldByName('S520_015').AsString;
ActCheck.Enabled:=qrySer520S520_003.Value=0;
ActUnCheck.Enabled:=qrySer520S520_003.Value=1;
if not Active then Exit;
if ActSave.Enabled then Exit;
ActNext.Enabled:=not qrySer520.Eof;
ActLast.Enabled:=not qrySer520.Eof;
ActFirst.Enabled:=not qrySer520.Bof;
ActPrior.Enabled:=not qrySer520.Bof;
end;
procedure TSer520_02Form.SaveData;
var
ADate:TDateTime;
I:Integer;
begin
//确定(&O)
if edtCode.Enabled then
begin
if trim(edtCode.Text)='' then
begin
ShowMsg('UMS10000381'); //方案编号不能为空
edtCode.SetFocus;
Abort;
end;
if IsExists('select 1 from SER520 where S520_001='+''''+edtCode.Text+'''') then
begin
ShowMsg('UMS10000382'); //方案编号已存在,请重新输入
edtCode.SetFocus;
Abort;
end;
end;
if not qrySer500.Locate('S500_001',edtCallCode.Text,[]) then
begin
ShowMsg('UMS10000373'); //无效的来电编号,请重新输入
edtCallCode.SetFocus;
Abort;
end;
if trim(memSolution.Text)='' then
begin
ShowMsg('UMS10000383'); //解决方案不能为空
PageControl1.ActivePageIndex:=0;
memSolution.SetFocus;
Abort;
end;
{ if (qrySer521.IsEmpty) and (qrySer522.IsEmpty) and (qrySer523.IsEmpty) and (qrySer524.IsEmpty) then
begin
ShowMsg('UMS10000384'); //派工记录、处罚记录、赔偿记录、退货记录不能同时为空
PageControl1.ActivePageIndex:=1;
Abort;
end; }
if AMode='ADD' then
begin
if not (qrySer520.State in [dsEdit,dsInsert]) then qrySer520.Insert;
qrySer520.FieldByName('S520_012').AsString:=edtCreateDate.Text; //制单日期
qrySer520.FieldByName('S520_013').AsString:=edtCreateBy.Text; //制单人员
qrySer520.FieldByName('S520_014').AsString:=edtUpdateDate.Text; //修改日期
qrySer520.FieldByName('S520_015').AsString:=edtUpdateBy.Text; //修改人员
end else
begin
ADate:=GetServerDate;
qrySer520.Edit;
qrySer520.FieldByName('S520_014').Value:=ADate; //修改日期
qrySer520.FieldByName('S520_015').Value:=AUserName; //修改人员
end;
qrySer520.FieldByName('S520_002').Value:=edtCallCode.Text; //来电编号
if AMode='ADD' then qrySer520.FieldByName('S520_003').Value:=1; //方案状态 1=编制
qrySer520.FieldByName('S520_011').Value:=memSolution.Text; //解决方案
try
if AMode='ADD' then
begin
if not edtCode.Enabled then edtCode.Text:=GetAutoCode('SER520');
qrySer520.FieldByName('S520_001').Value:=edtCode.Text; //方案编号
end;
qrySer520.Post;
//2.保存派工记录
I:=1;
qrySer521.First;
while not qrySer521.Eof do
begin
qrySer521.Edit;
qrySer521.FieldByName('S521_001').Value:=edtCode.Text;
qrySer521.FieldByName('S521_002').Value:=I;
qrySer521.Post;
I:=I+1;
qrySer521.Next;
end;
qrySer521.UpdateBatch;
//3.保存处罚记录
I:=1;
qrySer522.First;
while not qrySer522.Eof do
begin
qrySer522.Edit;
qrySer522.FieldByName('S522_001').Value:=edtCode.Text;
qrySer522.FieldByName('S522_002').Value:=I;
qrySer522.Post;
I:=I+1;
qrySer522.Next;
end;
qrySer522.UpdateBatch;
//4.保存赔偿记录
I:=1;
qrySer523.First;
while not qrySer523.Eof do
begin
qrySer523.Edit;
qrySer523.FieldByName('S523_001').Value:=edtCode.Text;
qrySer523.FieldByName('S523_002').Value:=I;
qrySer523.Post;
I:=I+1;
qrySer523.Next;
end;
qrySer523.UpdateBatch;
//5.保存退货记录
I:=1;
qrySer524.First;
while not qrySer524.Eof do
begin
qrySer524.Edit;
qrySer524.FieldByName('S524_001').Value:=edtCode.Text;
qrySer524.FieldByName('S524_002').Value:=I;
qrySer524.Post;
I:=I+1;
qrySer524.Next;
end;
qrySer524.UpdateBatch;
SetButtonState(False);
ActRefresh.Execute;
qrySer520AfterScroll(qrySer520);
if AMode='ADD' then
begin
if ShowDialog('['+edtCode.Text+'] '+GetDBString('UMS10000309'),1)=IDYES then //记录保存成功,是否继续增加新记录?
begin
ActInsert.Execute;
end;
end;
except
ShowMsg(SYSDM.ADOC.Errors[0].Description,1);
Abort;
end;
end;
procedure TSer520_02Form.bbtnSendAddClick(Sender: TObject);
begin
inherited;
//派工记录-新增
Ser520_03Form:=TSer520_03Form.Create(Application);
Ser520_03Form.OpenData(0,qrySer521);
Ser520_03Form.ShowModal;
end;
procedure TSer520_02Form.bbtnSendEditClick(Sender: TObject);
begin
inherited;
//派工记录-修改
if qrySer521.IsEmpty then
begin
ShowMsg('UMS10000002'); //表记录为空,操作无效
Abort;
end;
Ser520_03Form:=TSer520_03Form.Create(Application);
Ser520_03Form.OpenData(qrySer521S521_002.Value,qrySer521);
Ser520_03Form.ShowModal;
end;
procedure TSer520_02Form.bbtnSendDelClick(Sender: TObject);
begin
inherited;
//派工记录-删除
if qrySer521.IsEmpty then
begin
ShowMsg('UMS10000002'); //表记录为空,操作无效
Abort;
end;
if ShowDialog('UMS10000008')=IDNO then Abort; //确定要删除此记录吗?
qrySer521.Delete;
end;
procedure TSer520_02Form.sbCallCodeClick(Sender: TObject);
begin
inherited;
//来电编号
if not edtCallCode.Focused then edtCallCode.SetFocus;
HwSelDataForm:=THwSelDataForm.Create(Application);
HwSelDataForm.OpenSelData(qrySer500,nil);
if HwSelDataForm.ShowModal=1 then
begin
if qrySer500.IsEmpty then Exit;
edtCallCode.Text:=qrySer500.FieldByName('S500_001').AsString;
edtCallName.Text:=qrySer500.FieldByName('S500_002').AsString;
edtType.Text:=qrySer500.FieldByName('S500_015').AsString;
edtBillNo.Text:=qrySer500.FieldByName('S500_016').AsString;
edtCust.Text:=qrySer500.FieldByName('O150_002').AsString;
edtCustName.Text:=qrySer500.FieldByName('O150_003').AsString;
end;
end;
procedure TSer520_02Form.edtCallCodeExit(Sender: TObject);
begin
inherited;
//来电编号
if trim(edtCallCode.Text)='' then Exit;
if qrySer500.Locate('S500_001',edtCallCode.Text,[]) then
begin
edtCallCode.Text:=qrySer500.FieldByName('S500_001').Value;
edtCallName.Text:=qrySer500.FieldByName('S500_002').Value;
edtType.Text:=qrySer500.FieldByName('S500_015').AsString;
edtBillNo.Text:=qrySer500.FieldByName('S500_016').AsString;
edtCust.Text:=qrySer500.FieldByName('O150_002').AsString;
edtCustName.Text:=qrySer500.FieldByName('O150_003').AsString;
end else
begin
edtCallCode.Text:='';
edtCallName.Text:='';
edtType.Text:='';
edtBillNo.Text:='';
edtCust.Text:='';
edtCustName.Text:='';
ShowMsg('UMS10000375'); //输入的来电编号无效
edtCallCode.SetFocus;
Abort;
end;
end;
procedure TSer520_02Form.qrySer520S520_003GetText(Sender: TField;
var Text: String; DisplayText: Boolean);
begin
inherited;
if qrySer520.IsEmpty then Exit;
case Sender.AsInteger of
0:Text:=AStatus[0]; //编制
1:Text:=AStatus[1]; //审核
end;
end;
procedure TSer520_02Form.bbtnPunishAddClick(Sender: TObject);
begin
inherited;
//处罚记录-新增
Ser520_04Form:=TSer520_04Form.Create(Application);
Ser520_04Form.OpenData(0,qrySer522);
Ser520_04Form.ShowModal;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -