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

📄 sy_ndfpjhzd_lm.pas

📁 省级集邮品管理ERP
💻 PAS
📖 第 1 页 / 共 2 页
字号:
    SS := '<<' + Qry_JHFPCSHB.FieldByName('PPMC').AsString + '>> 的分配计划已被使用!';
    CHQMsgBox(Pchar(SS));
    Exit;
  end;

{  VG_SQLWhere := 'select JHH from TY_JJNFPJH_LM '
    + ' where JHH=''' + Qry_JHFPCSHB.FieldByName('JHH').AsString + ''''
    + ' and TX=''' + Qry_JHFPCSHB.FieldByName('TX').AsString + ''' and SDate is not NULL';

  if PY_IsExist(VG_SQLWhere) then
  begin
    SS := '<<' + Qry_JHFPCSHB.FieldByName('PPMC').AsString + '>> 的分配计划已发送!';
    CHQMsgBox(Pchar(SS));
    Exit;
  end;}
  VG_SQLWhere := 'select count(jhh) from TY_JJNXQB_LM where JHH=''%s'' and TX=''%s'' ' +
    'and SQDWDM not in(select SQDWDM from TY_JJNFPJH_LM where JHH=''%s'' and TX=''%s'')';
  if PY_IsExist(format(VG_SQLWhere, [Qry_JHFPCSHB.FieldByName('JHH').AsString,
    Qry_JHFPCSHB.FieldByName('TX').AsString, Qry_JHFPCSHB.FieldByName('JHH').AsString,
      Qry_JHFPCSHB.FieldByName('TX').AsString])) then
    DoAppFPJH
  else
  begin
    PS_SetStatus(False);
    Qry_JJNFPJH.Edit;
    DBG_JJNFPJH.SetFocus;
  end;
end;

procedure TFrmY_NDFPJHZD_LM.Act_PrintExecute(Sender: TObject);
begin
  if Qry_JJNFPJH.IsEmpty then Exit;
  NDFPJHZD_RPT := TNDFPJHZD_RPT.Create(nil);
  try
    NDFPJHZD_RPT.Qry_Print.SQL.Text := 'select ROWNUM, T.JHFPZTS, T.BZ, T.ZDRQ, G.DWJC DWMC from TY_JJNFPJH_LM T ,TGS_GXDWSJB G where G.DWDM=T.DWDM and t.JHH=''' + Qry_JHFPCSHB.FieldByName('JHH').AsString + ''' and t.TX=''' + Qry_JHFPCSHB.FieldByName('TX').AsString + '''';
    NDFPJHZD_RPT.Qry_Print.Open;
    NDFPJHZD_RPT.ReportTitle := ND.Text + '年度纪特零枚分配计划';
    NDFPJHZD_RPT.QRLabel3.Caption := Qry_JHFPCSHB.FieldByName('PPMC').AsString + '(' + Qry_JHFPCSHB.FieldByName('TX').AsString + ')';
    NDFPJHZD_RPT.QRLabel4.Caption := FormatDateTime('YYYY-MM-DD', NDFPJHZD_RPT.Qry_Print.FieldByName('ZDRQ').AsDateTime);
    NDFPJHZD_RPT.QRLabel11.Caption := DBEdit2.Text;
    NDFPJHZD_RPT.Preview;
    NDFPJHZD_RPT.Destroy;
  except
    NDFPJHZD_RPT.Destroy;
  end;

end;

procedure TFrmY_NDFPJHZD_LM.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_JHFPCSHB.FieldByName('TX').AsString);
  Qry_JHFPCSHBAfterScroll(nil);
  FrmY_NDFPJHZD_LM.Refresh;
end;

procedure TFrmY_NDFPJHZD_LM.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, Qry_JHFPCSHB.FieldByName('TX').AsString);
end;


procedure TFrmY_NDFPJHZD_LM.PS_SetStatus(Value: Boolean);
begin
  BBt_AddFPJH.Enabled := Value;
  BBt_DeleteFPJH.Enabled := Value;
  BBt_Modify.Enabled := Value;

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

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

  DBG_JHFPCSHB.Enabled := Value;
  DBG_JJNFPJH.ReadOnly := Value;
  DBG_JJNFPJH.Columns[0].ReadOnly := true;
  ND.Enabled := Value;

  if Value then //true, browse
    DBG_JJNFPJH.Columns[1].Color := clBtnFace
  else
  begin
    DBG_JJNFPJH.Columns[1].Color := clWindow;
    DBG_JJNFPJH.SetFocus;
  end;

end;

procedure TFrmY_NDFPJHZD_LM.PS_CaculSYZTS(AJHH, ATX: string);
begin
  SYZTS := 0;
  with data.qrytmp do
  begin
    Close;
    SQL.Clear;
    SQL.Add('select JHFPZTS from  TYS_JJNFPJH_LM ');
    SQL.Add('where JHH= ''' + AJHH + ''' and TX=''' + ATX + '''');
    Open;
    SYZTS := FieldS[0].AsInteger;
    Close;
    SQL.Clear;
    SQL.Add('Select SUM(JHFPZTS) from TY_JJNFPJH_LM');
    SQL.Add('where JHH =''' + AJHH + ''' and TX=''' + ATX + '''');
    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_LM.Qry_JJNFPJHJHFPZTSSetText(Sender: TField;
  const Text: string);
var
  TextValue: Integer;
begin
  try
    TextValue := StrToInt(Text);
    if TextValue < 0 then
    begin
      CHQMsgBox('非法数值!');
      abort;
    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;
  except
    chqmsgbox('非法数值!');
    abort;
  end;

end;

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

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

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

procedure TFrmY_NDFPJHZD_LM.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_LM.Qry_JHFPCSHBAfterScroll(DataSet: TDataSet);
begin
  PS_CaculSYZTS(Qry_JHFPCSHB.FieldByName('JHH').AsString, Qry_JHFPCSHB.FieldByName('TX').AsString);
  Qry_JJNXQB.Close;
  Qry_JJNXQB.ParamByName('JHH').AsString := Qry_JHFPCSHB.FieldByName('JHH').AsString;
  Qry_JJNXQB.ParamByName('TX').AsString := Qry_JHFPCSHB.FieldByName('TX').AsString;
  Qry_JJNXQB.ParamByName('DWDM').AsString := VG_UnitID;
  Qry_JJNXQB.Open;
  Qry_JJNFPJH.Close;
  Qry_JJNFPJH.ParamByName('JHH').AsString := Qry_JHFPCSHB.FieldByName('JHH').AsString;
  Qry_JJNFPJH.ParamByName('TX').AsString := Qry_JHFPCSHB.FieldByName('TX').AsString;
  Qry_JJNFPJH.Open;

end;

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

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

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

function TFrmY_NDFPJHZD_LM.CheckExit(): boolean;
  procedure DoCloseYDQry;
  begin
    Qry_JJNFPJH.Close;
    Qry_JJNXQB.Close;
    Qry_JHFPCSHB.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;

procedure TFrmY_NDFPJHZD_LM.Edt_ypmcKeyDown(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
  if Key <> 13 then
    exit;
  if (trim(Edt_ypmc.Text) = '') then
    exit;

  if (trim(Edt_ypmc.Text) <> V_S_locPPMC) then
  begin
    V_S_locPPMC := trim(Edt_ypmc.Text);
    Qry_JHFPCSHB.First;
    Qry_JHFPCSHB.Filter := 'JHH<>''''';
    Qry_JHFPCSHB.FindFirst;
  end
  else
    Qry_JHFPCSHB.FindNext;

end;

procedure TFrmY_NDFPJHZD_LM.Qry_JJNFPJHBeforeInsert(DataSet: TDataSet);
begin
  Abort;
end;

procedure TFrmY_NDFPJHZD_LM.Qry_JJNFPJHAfterScroll(DataSet: TDataSet);
begin
  if not Qry_JJNXQB.IsEmpty then
    Qry_JJNXQB.Locate('SQDWDM', Qry_JJNFPJH.FieldByName('DWDM').AsString, []);

end;

procedure TFrmY_NDFPJHZD_LM.Qry_JHFPCSHBFilterRecord(DataSet: TDataSet;
  var Accept: Boolean);
begin
  accept := false;
  if (V_S_locPPMC <> '') then
    if (pos(V_S_locPPMC, DataSet.fieldbyname('PPMC').asstring) <> 0) then
      accept := true;

end;

end.

⌨️ 快捷键说明

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