?? sy_ndfpjhzd.pas
字號:
+ ' 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 + '''');
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 + -