📄 ser520_02.pas.svn-base
字号:
end;
procedure TSer520_02Form.bbtnPunishEditClick(Sender: TObject);
begin
inherited;
//处罚记录-修改
if qrySer522.IsEmpty then
begin
ShowMsg('UMS10000002'); //表记录为空,操作无效
Abort;
end;
Ser520_04Form:=TSer520_04Form.Create(Application);
Ser520_04Form.OpenData(qrySer522S522_002.Value,qrySer522);
Ser520_04Form.ShowModal;
end;
procedure TSer520_02Form.bbtnPunishDelClick(Sender: TObject);
begin
inherited;
//处罚记录-删除
if qrySer522.IsEmpty then
begin
ShowMsg('UMS10000002'); //表记录为空,操作无效
Abort;
end;
if ShowDialog('UMS10000008')=IDNO then Abort; //确定要删除此记录吗?
qrySer522.Delete;
end;
procedure TSer520_02Form.bbtnPayforAddClick(Sender: TObject);
begin
inherited;
//赔偿记录-新增
Ser520_05Form:=TSer520_05Form.Create(Application);
Ser520_05Form.OpenData(0,qrySer523);
Ser520_05Form.ShowModal;
end;
procedure TSer520_02Form.bbtnPayforEditClick(Sender: TObject);
begin
inherited;
//赔偿记录-修改
if qrySer523.IsEmpty then
begin
ShowMsg('UMS10000002'); //表记录为空,操作无效
Abort;
end;
Ser520_05Form:=TSer520_05Form.Create(Application);
Ser520_05Form.OpenData(qrySer523S523_002.Value,qrySer523);
Ser520_05Form.ShowModal;
end;
procedure TSer520_02Form.bbtnPayforDelClick(Sender: TObject);
begin
inherited;
//赔偿记录-删除
if qrySer523.IsEmpty then
begin
ShowMsg('UMS10000002'); //表记录为空,操作无效
Abort;
end;
if ShowDialog('UMS10000008')=IDNO then Abort; //确定要删除此记录吗?
qrySer523.Delete;
end;
procedure TSer520_02Form.bbtnReturnAddClick(Sender: TObject);
begin
inherited;
//退货记录-新增
Ser520_06Form:=TSer520_06Form.Create(Application);
Ser520_06Form.OpenData(0,qrySer524);
Ser520_06Form.ShowModal;
end;
procedure TSer520_02Form.bbtnReturnEditClick(Sender: TObject);
begin
inherited;
//退货记录-修改
if qrySer524.IsEmpty then
begin
ShowMsg('UMS10000002'); //表记录为空,操作无效
Abort;
end;
Ser520_06Form:=TSer520_06Form.Create(Application);
Ser520_06Form.OpenData(qrySer524S524_002.Value,qrySer524);
Ser520_06Form.ShowModal;
end;
procedure TSer520_02Form.bbtnReturnDelClick(Sender: TObject);
begin
inherited;
//退货记录-删除
if qrySer524.IsEmpty then
begin
ShowMsg('UMS10000002'); //表记录为空,操作无效
Abort;
end;
if ShowDialog('UMS10000008')=IDNO then Abort; //确定要删除此记录吗?
qrySer524.Delete;
end;
procedure TSer520_02Form.qrySer521S521_004GetText(Sender: TField;
var Text: String; DisplayText: Boolean);
begin
inherited;
Text:=GetPersonName(TField(Sender).AsString);
end;
procedure TSer520_02Form.InsertTasks(AName,AProjID:string;ACallDate,ADate:TDateTime;ACustNo,AClassNo:Integer);
begin
qryQuery.Append;
qryQuery.FieldByName('T510_002').Value:=AName; //任务名称
qryQuery.FieldByName('T510_003').Value:=1; //任务状态
qryQuery.FieldByName('T510_004').Value:=AClassNo; //任务类别
qryQuery.FieldByName('T510_005').Value:=1; //优先级别
qryQuery.FieldByName('T510_006').Value:=ACallDate; //申报日期
qryQuery.FieldByName('T510_007').Value:=ACallDate; //需求日期
qryQuery.FieldByName('T510_008').Value:=2; //来源类型(0=销售订单,1=来电记录,2=项目计划,3=手工输入)
qryQuery.FieldByName('T510_009').Value:=AProjID; //来源单号(销售订单、来电编号、项目编号)
// qryQuery.FieldByName('T510_010').Value:=; //单据行号
qryQuery.FieldByName('T510_011').Value:=1; //时间单位(0=时,1=天,2=周,3=月)
qryQuery.FieldByName('T510_012').Value:=1; //预计工时
qryQuery.FieldByName('T510_013').Value:=0; //实际工时
qryQuery.FieldByName('T510_014').Value:=0; //完工比率
qryQuery.FieldByName('T510_015').Value:=0; //工单总数
qryQuery.FieldByName('T510_016').Value:=ACustNo; //客户编号
// qryQuery.FieldByName('T510_017').Value:=; //产品编号
// qryQuery.FieldByName('T510_018').Value:=; //产品序号
qryQuery.FieldByName('T510_019').Value:=AName; //任务说明
qryQuery.FieldByName('T510_020').Value:=ADate; //制单日期
qryQuery.FieldByName('T510_021').Value:=AUserName; //制单人员
qryQuery.FieldByName('T510_022').Value:=ADate; //修改日期
qryQuery.FieldByName('T510_023').Value:=AUserName; //修改人员
qryQuery.FieldByName('T510_024').Value:=1; //责任人员
// qryQuery.FieldByName('T510_025').Value:=; //预计开始日期
// qryQuery.FieldByName('T510_026').Value:=; //预计完成日期
// qryQuery.FieldByName('T510_027').Value:=; //实际开始日期
// qryQuery.FieldByName('T510_028').Value:=; //实际完成日期
qryQuery.FieldByName('T510_001').Value:=GetAutoCode('TAS510'); //任务编号
qryQuery.Post;
end;
procedure TSer520_02Form.ActCheckExecute(Sender: TObject);
var
ADate,ACallDate:TDateTime;
AClassNo,ACustNo:Integer;
AName,AProjID:string;
begin
inherited;
//审核
if qrySer520.IsEmpty then
begin
ShowMsg('UMS10000002'); //表记录为空,操作无效
Abort;
end;
if qrySer520S520_003.AsInteger<>0 then
begin
ShowMsg('UMS10000399'); //审核状态的记录不能审核
Abort;
end;
qrySer520.Edit;
qrySer520S520_003.Value:=1; //审核
qrySer520.Post;
//1.建立一个与投诉记录相关的项目计划
ADate:=GetServerDate;
AProjID:=GetAutoCode('TAS500');
qryQuery.Close;
qryQuery.SQL.Clear;
qryQuery.SQL.Add('select * from TAS500 where T500_001 is null');
qryQuery.Open;
qryQuery.Append;
qryQuery.FieldByName('T500_001').Value:=AProjID; //项目编号
qryQuery.FieldByName('T500_002').Value:=edtCallName.Text; //项目名称
qryQuery.FieldByName('T500_003').Value:=1; //项目状态
qryQuery.FieldByName('T500_004').Value:=2; //项目类别=投诉项目
qryQuery.FieldByName('T500_005').Value:=1; //优先级别
qryQuery.FieldByName('T500_006').AsString:=edtCheckDate.Text; //申报日期
qryQuery.FieldByName('T500_007').Value:=2; //来源类型(0=销售订单,1=手工输入,2=来电记录)
qryQuery.FieldByName('T500_008').Value:=edtCallCode.Text; //来电编号
// qryQuery.FieldByName('T500_009').Value:=; //单据行号
qryQuery.FieldByName('T500_010').Value:=1; //时间单位(0=时,1=天,2=周,3=月)
qryQuery.FieldByName('T500_011').Value:=3; //预计工时
qryQuery.FieldByName('T500_012').Value:=0; //实际工时
qryQuery.FieldByName('T500_013').Value:=0; //完工比率
qryQuery.FieldByName('T500_014').Value:=0; //任务总数
qryQuery.FieldByName('T500_015').Value:=qrySer500O150_001.Value; //客户编号
// qryQuery.FieldByName('T500_016').Value:=; //产品编号
// qryQuery.FieldByName('T500_017').Value:=; //序列编号
qryQuery.FieldByName('T500_018').Value:=edtCallName.Text; //项目说明
qryQuery.FieldByName('T500_019').Value:=ADate; //制单日期
qryQuery.FieldByName('T500_020').Value:=AUserName; //制单人员
qryQuery.FieldByName('T500_021').Value:=ADate; //修改日期
qryQuery.FieldByName('T500_022').Value:=AUserName; //修改人员
// qryQuery.FieldByName('T500_023').Value:=; //责任人员
// qryQuery.FieldByName('T500_024').Value:=; //预计开始日期
// qryQuery.FieldByName('T500_025').Value:=; //预计完成日期
// qryQuery.FieldByName('T500_026').Value:=; //实际开始日期
// qryQuery.FieldByName('T500_027').Value:=; //实际完成日期
qryQuery.Post;
//2.建立多个与项目计划相关的任务计划及任务工单
ADate:=GetServerDate;
ACustNo:=qrySer500O150_001.Value;
SYSDM.qryQuery.Close;
SYSDM.qryQuery.SQL.Clear;
SYSDM.qryQuery.SQL.Add('select T100_001 from SER500,SER100,TAS100 where S500_004=S100_001 and S100_002=T100_002 and S500_001='+''''+edtCallCode.Text+'''');
SYSDM.qryQuery.Open;
if SYSDM.qryQuery.IsEmpty then AClassNo:=1 else AClassNo:=SYSDM.qryQuery.FieldByName('T100_001').Value;
//2A.派工记录 任务工单
qryQuery.Close;
qryQuery.SQL.Clear;
qryQuery.SQL.Add('select * from TAS520 where T520_001 is null');
qryQuery.Open;
qrySer521.First;
while not qrySer521.Eof do
begin
qryQuery.Append;
qryQuery.FieldByName('T520_001').Value:=GetAutoCode('TAS520'); //工单编号
qryQuery.FieldByName('T520_002').Value:=qrySer521S521_003.Value; //任务编号
qryQuery.FieldByName('T520_003').Value:=qrySer521S521_004.Value; //执行人员(格式: [员工1电脑编号], [员工2电脑编号], [员工3电脑编号])
qryQuery.FieldByName('T520_004').Value:=qrySer521S521_006.Value; //时间单位(0=时,1=天,2=周,3=月)
qryQuery.FieldByName('T520_005').Value:=qrySer521S521_005.Value; //预计工时
qryQuery.FieldByName('T520_006').Value:=qrySer521S521_007.Value; //预计开始日期
qryQuery.FieldByName('T520_007').Value:=qrySer521S521_008.Value; //预计完成日期
qryQuery.FieldByName('T520_008').Value:=0; //实际工时
// qryQuery.FieldByName('T520_009').Value:=; //实际开始日期
// qryQuery.FieldByName('T520_010').Value:=; //实际完成日期
// qryQuery.FieldByName('T520_011').Value:=; //解决方法
qryQuery.FieldByName('T520_012').Value:=ADate; //制单日期
qryQuery.FieldByName('T520_013').Value:=AUserName; //制单人员
qryQuery.FieldByName('T520_014').Value:=ADate; //修改日期
qryQuery.FieldByName('T520_015').Value:=AUserName; //修改人员
qryQuery.FieldByName('T520_016').Value:=1; //任务状态
qryQuery.FieldByName('T520_017').Value:=1; //執行人数
qryQuery.Post;
qrySer521.Next;
end;
//2B.处罚记录 任务计划
qryQuery.Close;
qryQuery.SQL.Clear;
qryQuery.SQL.Add('select * from TAS510 where T510_001 is null');
qryQuery.Open;
qrySer522.First;
while not qrySer522.Eof do
begin
AName:='投訴處罰'+'['+qrySer522H150_002.Value+']['+qrySer522H150_003.Value+']'+' 金額:'+qrySer522S522_005.AsString;
ACallDate:=qrySer522S522_003.Value;
InsertTasks(AName,AProjID,ACallDate,ADate,ACustNo,AClassNo);
qrySer522.Next;
end;
//2C.赔偿记录 任务计划
qrySer523.First;
while not qrySer523.Eof do
begin
AName:='投訴賠償'+'['+qrySer523O150_002.Value+']['+qrySer523O150_003.Value+']'+' 金額:'+qrySer523S523_005.AsString;
ACallDate:=qrySer523S523_003.Value;
InsertTasks(AName,AProjID,ACallDate,ADate,ACustNo,AClassNo);
qrySer523.Next;
end;
//2D.退货记录 任务计划
qrySer524.First;
while not qrySer524.Eof do
begin
AName:='投訴退貨'+'['+qrySer524I150_002.Value+']['+qrySer524I150_003.Value+']'+' 數量:'+qrySer524S524_005.AsString+' 單價:'+qrySer524S524_006.AsString+' 金額:'+qrySer524S524_007.AsString;
ACallDate:=qrySer524S524_003.Value;
InsertTasks(AName,AProjID,ACallDate,ADate,ACustNo,AClassNo);
qrySer524.Next;
end;
end;
procedure TSer520_02Form.ActUnCheckExecute(Sender: TObject);
var
ACallID,AProjID:string;
begin
inherited;
//反审核
if qrySer520S520_003.AsInteger<>1 then
begin
ShowMsg('UMS10000398'); //非审核状态的记录不能反审核
Abort;
end;
//1.如果任一相关的任务计划的状态=執行,则不可反审核
ACallID:=qrySer520S520_002.Value;
SYSDM.qryQuery.Close;
SYSDM.qryQuery.SQL.Clear;
SYSDM.qryQuery.SQL.Add('select T500_001 from TAS500,TAS510 where T510_008=2 and T510_009=T500_001 and T510_003<>1 and T500_007=2 and T500_008='+''''+ACallID+'''');
SYSDM.qryQuery.Open;
if not SYSDM.qryQuery.IsEmpty then
begin
ShowMsg('UMS10000395'); //与该解决方案相关的任务计划正在執行中,不能进行反审核
Abort;
end;
AProjID:=SYSDM.qryQuery.Fields[0].Value;
qrySer520.Edit;
qrySer520S520_003.Value:=0; //编制
qrySer520.Post;
//2.删除所有相关的项目计划和任务计划
qryQuery.Close;
qryQuery.SQL.Clear;
qryQuery.SQL.Add('delete from TAS510 where T510_008=2 and T510_009='+''''+AProjID+'''');
qryQuery.ExecSQL;
qryQuery.Close;
qryQuery.SQL.Clear;
qryQuery.SQL.Add('delete from TAS500 where T500_001='+''''+AProjID+'''');
qryQuery.ExecSQL;
end;
procedure TSer520_02Form.qrySer521S521_006GetText(Sender: TField;
var Text: String; DisplayText: Boolean);
begin
inherited;
if qrySer521.IsEmpty then Exit;
case Sender.AsInteger of
0:Text:=AUnit[0]; //时
1:Text:=AUnit[1]; //天
2:Text:=AUnit[2]; //周
3:Text:=AUnit[3]; //月
end;
end;
initialization
RegisterClass(TSer520_02Form);
finalization
UnRegisterClass(TSer520_02Form);
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -