📄 sy_ndfpjhzd_lm.pas
字号:
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 + -