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

📄 ser520_02.pas.svn-base

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