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

📄 ser520_02.pas.svn-base

📁 一个用Delphi开发的ERP软件
💻 SVN-BASE
📖 第 1 页 / 共 4 页
字号:
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 + -