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

📄 sy_ndfpjhzd.pas

📁 省级集邮品管理ERP
💻 PAS
📖 第 1 页 / 共 2 页
字号:
    + ' and not SDate is NULL';

  if PY_IsExist(VG_SQLWhere) then
  begin
    SS := '<<' + Qry_JHFPCSHB.FieldByName('PPMC').AsString + '>> 的分配计划已发送!';
    CHQMsgBox(Pchar(SS));
    Exit;
  end;

  if CHQMsgBox('确定要删除分配计划吗?', 2) = IDNo then
    exit;

//  PS_SetStatus(False);
  try
    with Qry_JJNFPJH do
    begin
      First;
      while not EOF do
        Delete;
    end;
    Act_SaveExecute(nil);
  except
    Act_CancelExecute(nil);
  end;

  if SYZTS < 0 then
    E_SYZTS.Font.Color := clRed
  else
    E_SYZTS.Font.Color := clBlack;
  E_SYZTS.Text := IntToStr(SYZTS);
end;

procedure TFrmY_NDFPJHZD.Act_ModifyFPJHExecute(Sender: TObject);
begin
  if Qry_JJNFPJH.IsEmpty then
  begin
    CHQMsgBox('没有可修改的分配计划!');
    Exit;
  end;

  VG_SQLWhere := 'select JHH from TY_JJNFPJH '
    + ' where ND =''' + IntToStr(ND.Value) + ''' '
    + ' and JHH=''' + Qry_JHFPCSHB.FieldByName('JHH').AsString + ''''
    + ' and ZT=''' + CG_YCL + '''';

  if PY_IsExist(VG_SQLWhere) then
  begin
    SS := '<<' + Qry_JHFPCSHB.FieldByName('PPMC').AsString + '>> 的分配计划已被使用!';
    CHQMsgBox(Pchar(SS));
    Exit;
  end;

  VG_SQLWhere := 'select JHH from TY_JJNFPJH '
    + ' where ND =''' + IntToStr(ND.Value) + ''' '
    + ' and JHH=''' + Qry_JHFPCSHB.FieldByName('JHH').AsString + ''''
    + ' and not SDate is NULL';

  if PY_IsExist(VG_SQLWhere) then
  begin
    SS := '<<' + Qry_JHFPCSHB.FieldByName('PPMC').AsString + '>> 的分配计划已发送!';
    CHQMsgBox(Pchar(SS));
    Exit;
  end;

  PS_SetStatus(False);
  Qry_JJNFPJH.Edit;
  DBG_JJNFPJH.SetFocus;
end;

procedure TFrmY_NDFPJHZD.Act_PrintExecute(Sender: TObject);
begin
  if Qry_JJNFPJH.IsEmpty then Exit;
  NDFPJHCX_RPT := TNDFPJHCX_RPT.Create(nil);
  try
    NDFPJHCX_RPT.Qry_Print.SQL.Text := 'select ROWNUM, T.*, G.DWJC DWMC from  TY_JJNFPJH T ,TGS_GXDWSJB G where G.DWDM=T.DWDM and  t.JHH=''' + Qry_JHFPCSHB.FieldByName('JHH').AsString + '''';
    NDFPJHCX_RPT.Qry_Print.Open;
    NDFPJHCX_RPT.Preview;
    NDFPJHCX_RPT.Destroy;
  except
    NDFPJHCX_RPT.Destroy;
  end;

end;

procedure TFrmY_NDFPJHZD.Act_SaveExecute(Sender: TObject);
begin
  if SYZTS < 0 then
  begin
    CHQMsgBox('修改分配总套数的合计已超出总计划数,请修改!');
    DBG_JJNFPJH.SetFocus;
    Exit;
  end;
  with Qry_JJNFPJH do
  begin
    DisableControls;
    First;
    while not Eof do
      if FieldByName('JHFPZTS').AsInteger <= 0 then
        Delete
      else
        Next;
    First;
    EnableControls;
    Database.StartTransaction;
    try
      ApplyUpdates;
      Database.Commit;
    except
      Database.RollBack;
      CHQMsgBox('数据存储错误!');
      exit;
    end;
    CommitUpdates; //清除缓存的内容
  end;
  PS_SetStatus(True);
  PS_CaculSYZTS(Qry_JHFPCSHB.FieldByName('JHH').AsString);
  Qry_JHFPCSHBAfterScroll(nil);
  FrmY_NDFPJHZD.Refresh;
end;

procedure TFrmY_NDFPJHZD.Act_CancelExecute(Sender: TObject);
begin
  with Qry_JJNFPJH do
  begin
    Database.StartTransaction;
    try
      CancelUpdates;
      Database.Commit;
    except
      Database.RollBack;
      CHQMsgBox('数据存储错误!');
      exit;
    end;
    CommitUpdates; //清除缓存的内容
    close;
    Open;
  end;
  PS_SetStatus(True);
  PS_CaculSYZTS(Qry_JHFPCSHB.FieldByName('JHH').AsString);
end;


procedure TFrmY_NDFPJHZD.PS_SetStatus(Value: Boolean);
begin

  BBt_AddDW.Visible := false; //Enabled      := false;////not Value;
  BBt_DeleteDW.Visible := false; //false;////not Value;

  BBt_AddFPJH.Enabled := Value;
  BBt_DeleteFPJH.Enabled := Value;
  BBt_Modify.Enabled := Value;

  BBt_Send.Enabled := Value;
  BBt_Print.Enabled := Value;

  BBt_Save.Enabled := not Value;
  BBt_Cancel.Enabled := not Value;

  DBG_JHFPCSHB.Enabled := Value;
  DBG_JJNFPJH.ReadOnly := Value;

  ND.Enabled := Value;

end;


procedure TFrmY_NDFPJHZD.PS_CaculSYZTS(JHH: string);
begin
  SYZTS := 0;
  with Qry_Static do
  begin
    Close;
    SQL.Clear;
    SQL.Add('select JHFPZTS from  TYS_JJNFPJH ');
    SQL.Add('where JHH= ''' + JHH + '''');
    Open;
    SYZTS := FieldS[0].AsInteger;
    Close;
    SQL.Clear;
    SQL.Add('Select SUM(JHFPZTS) from TY_JJNFPJH');
    SQL.Add('where JHH =''' + JHH + '''');
    SQL.Add('AND ZT=''' + CG_WCL + '''');
    Open;
    SYZTS := SYZTS - Fields[0].AsInteger;
    Close;
  end;
  if SYZTS < 0 then
    E_SYZTS.Font.Color := clRed
  else
    E_SYZTS.Font.Color := clBlack;
  E_SYZTS.Text := IntToStr(SYZTS);
end;

procedure TFrmY_NDFPJHZD.Qry_JJNFPJHJHFPZTSSetText(Sender: TField;
  const Text: string);
var
  TextValue: Integer;
begin
{  try
    TextValue := StrToInt(Text);
    if TextValue < 0 then
    begin
      CHQMsgBox('输入有误,输入数值为负值,请重新输入!');
      Exit;
    end;
  except
    CHQMsgBox('输入有误,可能输入数值过大,请重新输入!');
    Exit;
  end;}

  TextValue := StrToInt(Text);
  if TextValue < 0 then
  begin
    CHQMsgBox('输入有误,输入数值为负值,请重新输入!');
    Exit;
  end;
  
  SYZTS := SYZTS - TextValue + Sender.AsInteger;
  if SYZTS < 0 then
    E_SYZTS.Font.Color := clRed
  else
    E_SYZTS.Font.Color := clBlack;
  E_SYZTS.Text := IntToStr(SYZTS);
  Sender.AsInteger := TextValue;
  with Qry_JJNFPJH do
    FieldByName('JHFPZTS').AsInteger := FieldByName('YDTS').AsInteger + FieldByName('LSTS').AsInteger + FieldByName('NCTS').AsInteger + FieldByName('YPTS').AsInteger;

end;

procedure TFrmY_NDFPJHZD.E_SYZTSEnter(Sender: TObject);
begin
  DBG_JJNFPJH.SetFocus;
end;

procedure TFrmY_NDFPJHZD.Act_DeleteDWExecute(Sender: TObject);
begin
  if Qry_JJNFPJH.IsEmpty then Exit;
  Qry_JJNFPJH.Delete;
end;

procedure TFrmY_NDFPJHZD.BBt_SendClick(Sender: TObject);
begin
  if Qry_JJNFPJH.IsEmpty then
  begin
    CHQMsgBox('没有可发送的数据!');
    exit;
  end;

  VG_SQLWhere := 'select * from TY_JJNFPJH '
    + 'where JHH = ''' + Qry_JHFPCSHB.FieldByName('JHH').AsString + '''';
  if SendData(VG_SQLWhere, 'TY_JJNFPJH') = IDOK then
    CHQMsgBox('信息发送成功!');
end;

procedure TFrmY_NDFPJHZD.Qry_JJNFPJHBeforeDelete(DataSet: TDataSet);
begin
  SYZTS := SYZTS + Qry_JJNFPJH.FieldByName('JHFPZTS').AsInteger;
  if SYZTS < 0 then
    E_SYZTS.Font.Color := clRed
  else
    E_SYZTS.Font.Color := clBlack;
  E_SYZTS.Text := IntToStr(SYZTS);
end;

procedure TFrmY_NDFPJHZD.Qry_JHFPCSHBAfterScroll(DataSet: TDataSet);
begin
  E_JHH.Text := Qry_JHFPCSHB.FieldByName('JHH').AsString;
  PS_CaculSYZTS(Qry_JHFPCSHB.FieldByName('JHH').AsString);
  with Qry_JJNFPJH do
  begin
    Close;
    Prepare;
    Params[0].AsString := Qry_JHFPCSHB.FieldByName('JHH').AsString;
    Open;
  end;
  with Qry_JJNXQB do
  begin
    Close;
    SQL.Clear;
    SQL.Add('select SQDWDM DWDM,ND,JHH,XQZTS,YDTS,LSTS,NCTS,KFYPTS from TY_JJNXQB a, TGS_GXDWSJB b');
    SQL.Add('where a.SQDWDM=b.DWDM and JHH = ''' + Qry_JHFPCSHB.FieldByName('JHH').AsString + '''');
    SQL.Add('and SQDWDM <> ''' + VG_UnitID + ''' order by PXM');
    Open;
  end;
  E_PPMC.Text := Qry_JHFPCSHB.FieldByName('PPMC').AsString;

end;

procedure TFrmY_NDFPJHZD.DBG_JJNXQBTitleClick(Column: TColumn);
begin
  DBGridTitleOrder(Column);
end;

procedure TFrmY_NDFPJHZD.DBG_JJNFPJHTitleClick(Column: TColumn);
begin
{  if BBt_Save.Enabled then
    exit;
  DBGridTitleOrder(Column); }
end;

procedure TFrmY_NDFPJHZD.DBG_JJNFPJHKeyDown(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
  DBGridAutoChangeCursor(Sender, key);
end;

procedure TFrmY_NDFPJHZD.DBG_JHFPCSHBTitleClick(Column: TColumn);
begin
  DBGridTitleOrder(Column);
end;

procedure TFrmY_NDFPJHZD.DBG_JJNFPJHCellClick(Column: TColumn);
begin
  if not Qry_JJNXQB.IsEmpty then
    Qry_JJNXQB.Locate('DWDM', Qry_JJNFPJH.FieldByName('DWDM').AsString, []);
end;

procedure TFrmY_NDFPJHZD.FormClose(Sender: TObject;
  var Action: TCloseAction);
begin
  SaveAllColWidth(self);
end;

procedure TFrmY_NDFPJHZD.FormCloseQuery(Sender: TObject;
  var CanClose: Boolean);
begin
  CanCLose := CheckExit;
end;

function TFrmY_NDFPJHZD.CheckExit(): boolean;
  procedure DoCloseYDQry;
  begin
    Qry_JJNFPJH.Close;
    Qry_JJNXQB.Close;
    Qry_JHFPCSHB.Close;
    Qry_Static.Close;
    Close;
  end;
begin
  result := true;
  if BBt_Save.Enabled then
    case CHQMsgBox('数据已经被更改,是否保存所做修改?', 3) of
      IDYes:
        begin
          Act_SaveExecute(nil);
          DoCloseYDQry;
        end;
      IDNo:
        begin
          Act_CancelExecute(nil);
          DoCloseYDQry;
        end;
      IDCancel:
        result := false;
    end
  else
  begin
    DoCloseYDQry;
  end;
end;

end.

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -