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

📄 sy_ndfpjhzd_fp.pas

📁 省级集邮品管理ERP
💻 PAS
📖 第 1 页 / 共 2 页
字号:
    + ' and YZLDM=''' + Qry_JHFPCSHB.FieldByName('YZLDM').AsString
    + ''' and ZT=''' + CG_YCL + '''';

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

  VG_SQLWhere := 'select YZLDM from TY_JJNFPJH_FP '
    + ' where ND=''' + ND.Text + ''''
    + ' and YZLDM=''' + Qry_JHFPCSHB.FieldByName('YZLDM').AsString + ''' and SDate is not NULL';

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

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

procedure TFrmY_NDFPJHZD_FP.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_FP T ,TGS_GXDWSJB G where G.DWDM=T.DWDM and t.ND=''' + ND.Text + ''' and t.YZLDM=''' + Qry_JHFPCSHB.FieldByName('YZLDM').AsString + '''';
    NDFPJHZD_RPT.Qry_Print.Open;
    NDFPJHZD_RPT.ReportTitle := ND.Text + '年度封片分配计划';
    NDFPJHZD_RPT.QRLabel3.Caption := Qry_JHFPCSHB.FieldByName('MC').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_FP.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(ND.Text, Qry_JHFPCSHB.FieldByName('YZLDM').AsString);
  Qry_JHFPCSHBAfterScroll(nil);
  FrmY_NDFPJHZD_FP.Refresh;
end;

procedure TFrmY_NDFPJHZD_FP.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(ND.Text, Qry_JHFPCSHB.FieldByName('YZLDM').AsString);
end;


procedure TFrmY_NDFPJHZD_FP.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;

  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;
  CB_dl.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_FP.PS_CaculSYZTS(AAND, AYZLDM: string);
begin
  SYZTS := 0;
  with data.qrytmp do
  begin
    Close;
    SQL.Clear;
    SQL.Add('select JHFPZTS from  TYS_JJNFPJH_FP ');
    SQL.Add('where ND= ''' + AAND + ''' and YZLDM=''' + AYZLDM + '''');
    Open;
    SYZTS := FieldS[0].AsInteger;
    Close;
    SQL.Clear;
    SQL.Add('Select SUM(JHFPZTS) from TY_JJNFPJH_FP');
    SQL.Add('where ND =''' + AAND + ''' and YZLDM=''' + AYZLDM + '''');
    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_FP.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_FP.E_SYZTSEnter(Sender: TObject);
begin
  DBG_JJNFPJH.SetFocus;
end;

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

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

procedure TFrmY_NDFPJHZD_FP.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_FP.Qry_JHFPCSHBAfterScroll(DataSet: TDataSet);
begin
  PS_CaculSYZTS(ND.Text, Qry_JHFPCSHB.FieldByName('YZLDM').AsString);
  Qry_JJNXQB.Close;
  Qry_JJNXQB.ParamByName('ND').AsString := ND.Text;
  Qry_JJNXQB.ParamByName('YZLDM').AsString := Qry_JHFPCSHB.FieldByName('YZLDM').AsString;
  Qry_JJNXQB.ParamByName('DWDM').AsString := VG_UnitID;
  Qry_JJNXQB.Open;
  Qry_JJNFPJH.Close;
  Qry_JJNFPJH.ParamByName('ND').AsString := ND.Text;
  Qry_JJNFPJH.ParamByName('YZLDM').AsString := Qry_JHFPCSHB.FieldByName('YZLDM').AsString;
  Qry_JJNFPJH.Open;

end;

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

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

function TFrmY_NDFPJHZD_FP.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_FP.FormShow(Sender: TObject);
var
  AYZLDM: PYZLDM;
begin
  CB_dl.OnChange := nil;
  AssignSQLstr(data.qrytmp, 'select distinct substr(YZLDM,1,1),DL from TG_YZPPLDMB where substr(YZLDM,1,1) not in (1,8,9)');
  data.qrytmp.Open;
  while not data.qrytmp.eof do
  begin
    New(AYZLDM);
    AYZLDM.DL := data.qrytmp.Fields[0].asstring;
    AYZLDM.MC := data.qrytmp.Fields[1].asstring;
    CB_dl.Items.AddObject(data.qrytmp.Fields[1].AsString, TObject(AYZLDM));
    data.qrytmp.Next;
  end;

  CB_dl.ItemIndex := 0;
  CB_dl.OnChange := CB_dlChange;
  ND.Value := VG_Year;

end;

procedure TFrmY_NDFPJHZD_FP.CB_dlChange(Sender: TObject);
begin
  NDChange(nil);
end;

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

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

end;

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

end;

end.

⌨️ 快捷键说明

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