D7myYunxiang/云翔生产管理(MYSC.dll)/U_ZHCPDJList.pas
DESKTOP-E401PHE\Administrator ce5209fc37 修改云翔一码通
2025-09-20 10:39:47 +08:00

477 lines
12 KiB
ObjectPascal
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

unit U_ZHCPDJList;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, ExtCtrls, ComCtrls, ToolWin, cxStyles, cxCustomData,
cxGraphics, cxFilter, cxData, cxDataStorage, cxEdit, DB, cxDBData, ADODB,
cxGridCustomPopupMenu, cxGridPopupMenu, cxGridLevel, cxClasses, cxControls,
cxGridCustomView, cxGridCustomTableView, cxGridTableView, cxGridDBTableView,
cxGrid, DBClient, cxCheckBox, cxCalendar, cxSplitter, RM_Dataset, RM_System,
RM_Common, RM_Class, RM_GridReport, RM_e_Xls, Menus, cxButtonEdit,
cxDropDownEdit, cxPC, Buttons, cxTextEdit, cxImage, StrUtils, cxLookAndFeels,
cxLookAndFeelPainters, cxNavigator, dxSkinsCore, dxSkinDarkRoom,
dxSkinOffice2013White, dxSkinSharpPlus, dxSkinSpringTime,
dxSkinsDefaultPainters, dxSkinscxPCPainter, dxSkinBlack, dxSkinBlue,
dxSkinBlueprint, dxSkinCaramel, dxSkinCoffee, dxSkinDarkSide,
dxSkinDevExpressDarkStyle, dxSkinDevExpressStyle, dxSkinFoggy,
dxSkinGlassOceans, dxSkinHighContrast, dxSkiniMaginary, dxSkinLilian,
dxSkinLiquidSky, dxSkinLondonLiquidSky, dxSkinMcSkin, dxSkinMetropolis,
dxSkinMetropolisDark, dxSkinMoneyTwins, dxSkinOffice2007Black,
dxSkinOffice2007Blue, dxSkinOffice2007Green, dxSkinOffice2007Pink,
dxSkinOffice2007Silver, dxSkinOffice2010Black, dxSkinOffice2010Blue,
dxSkinOffice2010Silver, dxSkinOffice2013DarkGray,
dxSkinOffice2013LightGray, dxSkinPumpkin, dxSkinSeven,
dxSkinSevenClassic, dxSkinSharp, dxSkinSilver, dxSkinStardust,
dxSkinSummer2008, dxSkinTheAsphaltWorld, dxSkinValentine, dxSkinVS2010,
dxSkinWhiteprint, dxSkinXmas2008Blue;
type
TfrmZHCPDJList = class(TForm)
ToolBar1: TToolBar;
TBRafresh: TToolButton;
TBFind: TToolButton;
TBAdd: TToolButton;
TBClose: TToolButton;
Tv1: TcxGridDBTableView;
cxGrid1Level1: TcxGridLevel;
cxGrid1: TcxGrid;
cxGridPopupMenu1: TcxGridPopupMenu;
ADOQueryCmd: TADOQuery;
ADOQueryMain: TADOQuery;
ADOQueryTemp: TADOQuery;
DataSource1: TDataSource;
TBExport: TToolButton;
Order_Main: TClientDataSet;
ToolButton1: TToolButton;
Panel11: TPanel;
v1Column1: TcxGridDBColumn;
v1Column7: TcxGridDBColumn;
v1Column9: TcxGridDBColumn;
RM1: TRMGridReport;
RMDBMain: TRMDBDataSet;
RMXLSExport2: TRMXLSExport;
CDS_PRT: TClientDataSet;
v1Column4: TcxGridDBColumn;
v1Column6: TcxGridDBColumn;
v1ZICost: TcxGridDBColumn;
v1Column2: TcxGridDBColumn;
v1Column8: TcxGridDBColumn;
PopupMenu1: TPopupMenu;
TBEdit: TMenuItem;
TBDel: TMenuItem;
Panel2: TPanel;
v1Column10: TcxGridDBColumn;
v1Column12: TcxGridDBColumn;
BJ: TMenuItem;
Panel5: TPanel;
Label3: TLabel;
Label4: TLabel;
BegDate: TDateTimePicker;
EndDate: TDateTimePicker;
Panel1: TPanel;
Label2: TLabel;
Label6: TLabel;
Label7: TLabel;
Label5: TLabel;
KHName: TEdit;
GuoJia: TEdit;
YWY: TEdit;
Note: TEdit;
v1Column3: TcxGridDBColumn;
v1Column5: TcxGridDBColumn;
Label1: TLabel;
LiDan: TEdit;
procedure FormDestroy(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure FormCreate(Sender: TObject);
procedure TBCloseClick(Sender: TObject);
procedure TBFindClick(Sender: TObject);
procedure TBExportClick(Sender: TObject);
procedure TBRafreshClick(Sender: TObject);
procedure TBAddClick(Sender: TObject);
procedure FormShow(Sender: TObject);
procedure CheckBox1Click(Sender: TObject);
procedure CheckBox2Click(Sender: TObject);
procedure ToolButton1Click(Sender: TObject);
procedure CustomerNoNameChange(Sender: TObject);
procedure TBDelClick(Sender: TObject);
procedure cxTabControl1Change(Sender: TObject);
procedure ZJStatusChange(Sender: TObject);
procedure Tv1DblClick(Sender: TObject);
procedure cxTabControl2Change(Sender: TObject);
procedure TBEditClick(Sender: TObject);
procedure BJClick(Sender: TObject);
procedure KHNameChange(Sender: TObject);
private
canshu1, canshu2: string;
DQdate: TDateTime;
procedure InitGrid();
procedure InitForm();
function DelData(): Boolean;
function StrFenHang(FStr: string; var FHStr: string): Boolean;
{ Private declarations }
public
FFInt, FCloth: Integer;
{ Public declarations }
end;
//var
//frmZHCPList: TfrmZHCPList;
implementation
uses
U_DataLink, U_RTFun, U_ZHDJInPut, U_KWView;
{$R *.dfm}
procedure TfrmZHCPDJList.FormDestroy(Sender: TObject);
begin
//frmZHCPList:=nil;
end;
procedure TfrmZHCPDJList.FormClose(Sender: TObject; var Action: TCloseAction);
begin
Action := caFree;
end;
procedure TfrmZHCPDJList.FormCreate(Sender: TObject);
begin
cxgrid1.Align := alClient;
end;
procedure TfrmZHCPDJList.TBCloseClick(Sender: TObject);
begin
if Trim(Self.Caption) = <><D5B9><EFBFBD>Ǽ<EFBFBD>*' then
begin
WriteCxGrid(<><D5B9><EFBFBD>Ǽ<EFBFBD>YX', Tv1, <><D5B9><EFBFBD><EFBFBD>Ʒ<EFBFBD><C6B7><EFBFBD><EFBFBD>');
end
else if Trim(Self.Caption) = <><EFBFBD><E1B1A8>*' then
begin
WriteCxGrid(<><EFBFBD><E1B1A8>YX', Tv1, <><D5B9><EFBFBD><EFBFBD>Ʒ<EFBFBD><C6B7><EFBFBD><EFBFBD>');
end
else if Trim(Self.Caption) = <><D5B9><EFBFBD>Ǽ<EFBFBD>(<28><>Ȩ<EFBFBD><C8A8>)*' then
begin
WriteCxGrid(<><D5B9><EFBFBD>Ǽ<EFBFBD>(<28><>Ȩ<EFBFBD><C8A8>)YX', Tv1, <><D5B9><EFBFBD><EFBFBD>Ʒ<EFBFBD><C6B7><EFBFBD><EFBFBD>');
end;
Close;
end;
procedure TfrmZHCPDJList.InitGrid();
begin
Panel2.Visible := True;
Panel2.Refresh;
try
ADOQueryMain.DisableControls;
with ADOQueryMain do
begin
Filtered := False;
Close;
sql.Clear;
sql.Add(' select A.* ');
sql.Add(' from ZH_KH_DJ A ');
sql.Add(' where Valid=''Y'' ');
sql.Add(' and ZDDate>=''' + Trim(FormatDateTime('yyyy-MM-dd', BegDate.Date)) + '''');
sql.Add(' and ZDDate<''' + Trim(FormatDateTime('yyyy-MM-dd', EndDate.Date + 1)) + '''');
if Trim(canshu2) <> '<27><>Ȩ<EFBFBD><C8A8>' then
begin
SQL.Add(' and (isnull(YWY,'''')=''' + Trim(DName) + ''' or isnull(LiDan,'''')=''' + Trim(DName) + ''' or isnull(Filler,'''')=''' + Trim(DName) + ''')');
end;
Open;
end;
SCreateCDS20(ADOQueryMain, Order_Main);
SInitCDSData20(ADOQueryMain, Order_Main);
finally
ADOQueryMain.EnableControls;
end;
Panel2.Visible := False;
end;
procedure TfrmZHCPDJList.InitForm();
begin
BegDate.Date := SGetServerDateMBeg(ADOQueryTemp);
EndDate.Date := SGetServerDate(ADOQueryTemp);
if Trim(Self.Caption) = '<27><><EFBFBD>۵Ǽ<DBB5>*' then
begin
ReadCxGrid(<><D5B9><EFBFBD>Ǽ<EFBFBD>YX', Tv1, <><D5B9><EFBFBD><EFBFBD>Ʒ<EFBFBD><C6B7><EFBFBD><EFBFBD>');
TBAdd.Visible := True;
TBEdit.Visible := True;
// TBDel.Visible:=True;
end
else if Trim(Self.Caption) = '<27><><EFBFBD>۹<EFBFBD><DBB9><EFBFBD>*' then
begin
ReadCxGrid(<><EFBFBD><E1B1A8>YX', Tv1, <><D5B9><EFBFBD><EFBFBD>Ʒ<EFBFBD><C6B7><EFBFBD><EFBFBD>');
TBAdd.Visible := True;
TBEdit.Visible := True;
TBDel.Visible := True;
BJ.Visible := True;
canshu2 := '<27><>Ȩ<EFBFBD><C8A8>';
end
else if Trim(Self.Caption) = '<27><><EFBFBD>۵Ǽ<DBB5>(<28><>Ȩ<EFBFBD><C8A8>)*' then
begin
ReadCxGrid(<><D5B9><EFBFBD>Ǽ<EFBFBD>(<28><>Ȩ<EFBFBD><C8A8>)YX', Tv1, <><D5B9><EFBFBD><EFBFBD>Ʒ<EFBFBD><C6B7><EFBFBD><EFBFBD>');
TBAdd.Visible := True;
TBEdit.Visible := True;
TBDel.Visible := True;
canshu2 := '<27><>Ȩ<EFBFBD><C8A8>';
end;
//InitGrid();
end;
procedure TfrmZHCPDJList.TBFindClick(Sender: TObject);
begin
if ADOQueryMain.Active = False then
Exit;
SDofilter(ADOQueryMain, SGetFilters(Panel1, 1, 2));
SCreateCDS20(ADOQueryMain, Order_Main);
SInitCDSData20(ADOQueryMain, Order_Main);
end;
function TfrmZHCPDJList.DelData(): Boolean;
begin
try
Result := false;
ADOQueryCmd.Connection.BeginTrans;
Order_Main.DisableControls;
with Order_Main do
begin
//First;
// while Order_Main.Locate('SSel',True,[]) do
begin
with ADOQueryCmd do
begin
Close;
sql.Clear;
sql.Add(' UPdate ZH_KH_DJ Set DelTime=getdate(),DelerCode=''' + Trim(DCode) + ''',Deler=''' + Trim(DName) + ''', Valid=''N'' ');
sql.Add(' where ZDID=''' + Trim(Order_Main.fieldbyname('ZDID').AsString) + '''');
ExecSQL;
end;
Order_Main.Delete;
end;
end;
Order_Main.EnableControls;
ADOQueryCmd.Connection.CommitTrans;
Result := True;
except
ADOQueryCmd.Connection.RollbackTrans;
Result := False;
Application.MessageBox('<27><><EFBFBD><EFBFBD>ɾ<EFBFBD><C9BE><EFBFBD><EFBFBD><ECB3A3>', '<27><>ʾ', 0);
end;
end;
function TfrmZHCPDJList.StrFenHang(FStr: string; var FHStr: string): Boolean;
var
i, j: Integer;
LSStr: string;
begin
Result := False;
FStr := Trim(FStr);
FHStr := '';
j := 1;
i := Pos(' ', FStr);
while i > 0 do
begin
if j = 1 then
begin
LSStr := Copy(FStr, 1, i - 1); //'1234 5678 456'
FHStr := '1:' + LSStr;
end
else
begin
LSStr := Copy(FStr, 1, i - 1);
if Trim(LSStr) = '' then
begin
FStr := Copy(FStr, i + 1, Length(FStr) - i);
end
else
FHStr := FHStr + #13 + #10 + inttostr(j) + ':' + LSStr;
end;
if Trim(LSStr) <> '' then
begin
j := j + 1;
FStr := Copy(FStr, i + 1, Length(FStr) - i);
end;
i := Pos(' ', FStr);
end;
if j = 1 then
begin
FHStr := FStr;
end
else
begin
if Trim(FStr) <> '' then
begin
FHStr := FHStr + #13 + #10 + inttostr(j) + ':' + FStr;
end;
end;
Result := True;
end;
procedure TfrmZHCPDJList.TBExportClick(Sender: TObject);
begin
if ADOQueryMain.IsEmpty then
Exit;
TcxGridToExcel(Self.Caption, cxGrid1);
end;
procedure TfrmZHCPDJList.TBRafreshClick(Sender: TObject);
begin
InitGrid();
end;
procedure TfrmZHCPDJList.TBAddClick(Sender: TObject);
begin
try
frmZHDJInPut := TfrmZHDJInPut.Create(Application);
with frmZHDJInPut do
begin
PState := 0;
FMainId := '';
frmZHDJInPut.canshu2 := Self.canshu2;
if ShowModal = 1 then
begin
InitGrid();
end;
end;
finally
frmZHDJInPut.Free;
end;
end;
procedure TfrmZHCPDJList.FormShow(Sender: TObject);
begin
InitForm();
end;
procedure TfrmZHCPDJList.CheckBox1Click(Sender: TObject);
begin
InitGrid();
end;
procedure TfrmZHCPDJList.CheckBox2Click(Sender: TObject);
begin
TBRafresh.Click;
end;
procedure TfrmZHCPDJList.ToolButton1Click(Sender: TObject);
begin
if Order_Main.IsEmpty then
Exit;
try
frmZHDJInPut := TfrmZHDJInPut.Create(Application);
with frmZHDJInPut do
begin
PState := 1;
FMainId := Trim(Order_Main.fieldbyname('ZDID').AsString);
TBSave.Visible := False;
if Trim(self.Caption) = <><EFBFBD><E1B1A8>*' then
begin
frmZHDJInPut.canshu1 := '<27><><EFBFBD><EFBFBD>';
end;
if ShowModal = 1 then
begin
//InitGrid();
end;
end;
finally
frmZHDJInPut.Free;
end;
end;
procedure TfrmZHCPDJList.CustomerNoNameChange(Sender: TObject);
begin
if ADOQueryMain.Active = False then
Exit;
SDofilter(ADOQueryMain, SGetFilters(Panel1, 1, 2));
SCreateCDS20(ADOQueryMain, Order_Main);
SInitCDSData20(ADOQueryMain, Order_Main);
end;
procedure TfrmZHCPDJList.TBDelClick(Sender: TObject);
begin
if Order_Main.IsEmpty then
Exit;
if Application.MessageBox(<><C8B7>Ҫɾ<D2AA><C9BE><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>', '<27><>ʾ', 32 + 4) <> IDYES then
Exit;
if DelData() then
begin
//Order_Main.Delete;
end;
end;
procedure TfrmZHCPDJList.cxTabControl1Change(Sender: TObject);
begin
InitGrid();
end;
procedure TfrmZHCPDJList.ZJStatusChange(Sender: TObject);
begin
TBFind.Click;
end;
procedure TfrmZHCPDJList.Tv1DblClick(Sender: TObject);
begin
ToolButton1.Click;
end;
procedure TfrmZHCPDJList.cxTabControl2Change(Sender: TObject);
begin
InitGrid();
end;
procedure TfrmZHCPDJList.TBEditClick(Sender: TObject);
begin
if Order_Main.IsEmpty then
Exit;
try
frmZHDJInPut := TfrmZHDJInPut.Create(Application);
with frmZHDJInPut do
begin
PState := 1;
FMainId := Trim(Order_Main.fieldbyname('ZDID').AsString);
frmZHDJInPut.canshu2 := Self.canshu2;
if ShowModal = 1 then
begin
InitGrid();
Self.Order_Main.Locate('ZDID', FMainId, []);
end;
end;
finally
frmZHDJInPut.Free;
end;
end;
procedure TfrmZHCPDJList.BJClick(Sender: TObject);
begin
if Order_Main.IsEmpty then
Exit;
try
frmZHDJInPut := TfrmZHDJInPut.Create(Application);
with frmZHDJInPut do
begin
PState := 1;
FMainId := Trim(Order_Main.fieldbyname('ZDID').AsString);
frmZHDJInPut.canshu1 := '<27><><EFBFBD><EFBFBD>';
if ShowModal = 1 then
begin
InitGrid();
Self.Order_Main.Locate('ZDID', FMainId, []);
end;
end;
finally
frmZHDJInPut.Free;
end;
end;
procedure TfrmZHCPDJList.KHNameChange(Sender: TObject);
begin
TBFind.Click;
end;
end.