D10gmBitao/D01针织生产计划/U_KnitPlanMach.pas
DESKTOP-E401PHE\Administrator 630f9184a2 12345
2025-04-11 10:54:54 +08:00

549 lines
16 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_KnitPlanMach;
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, cxCalendar, cxButtonEdit, cxSplitter, RM_Common, RM_Class,
RM_e_Xls, RM_Dataset, RM_System, RM_GridReport, cxTextEdit, cxCheckBox,
BtnEdit, cxPC, MovePanel, cxLookAndFeels, cxLookAndFeelPainters, cxNavigator,
dxBarBuiltInMenu, dxSkinsCore, dxSkinsDefaultPainters, dxDateRanges,
U_BaseList, Vcl.Menus;
type
TfrmKnitPlanMach = class(TfrmBaseList)
ToolBar1: TToolBar;
TBRafresh: TToolButton;
TBFind: TToolButton;
TBDel: TToolButton;
TBClose: TToolButton;
GPM_1: TcxGridPopupMenu;
ADOQueryCmd: TADOQuery;
ADOQueryMain: TADOQuery;
ADOQueryTemp: TADOQuery;
DS_1: TDataSource;
CDS_1: TClientDataSet;
ToolButton1: TToolButton;
ToolButton2: TToolButton;
ToolButton3: TToolButton;
ToolButton6: TToolButton;
DS_2: TDataSource;
CDS_2: TClientDataSet;
GPM_2: TcxGridPopupMenu;
Panel4: TPanel;
cxGrid2: TcxGrid;
TV2: TcxGridDBTableView;
cxGridLevel1: TcxGridLevel;
ToolButton12: TToolButton;
PM_1: TPopupMenu;
N1: TMenuItem;
PM_2: TPopupMenu;
N2: TMenuItem;
cxStyleRepository1: TcxStyleRepository;
cxStyle1: TcxStyle;
ToolButton13: TToolButton;
Panel1: TPanel;
Label1: TLabel;
Label3: TLabel;
Label5: TLabel;
Label4: TLabel;
Label2: TLabel;
Label6: TLabel;
Label7: TLabel;
Label8: TLabel;
Label9: TLabel;
BegDate: TDateTimePicker;
EndDate: TDateTimePicker;
ConNo: TEdit;
C_CodeName: TEdit;
orderno: TEdit;
C_Code: TEdit;
BatchNoHZ: TEdit;
GCCode: TEdit;
JHChejian: TEdit;
RTQYJTInfo: TEdit;
cxGrid1: TcxGrid;
Tv1: TcxGridDBTableView;
Tv1Column1: TcxGridDBColumn;
v1OrderNo: TcxGridDBColumn;
Tv1Column2: TcxGridDBColumn;
v1Column31: TcxGridDBColumn;
v1Column20: TcxGridDBColumn;
v1Column2: TcxGridDBColumn;
v1Column3: TcxGridDBColumn;
v1Column8: TcxGridDBColumn;
v1Column13: TcxGridDBColumn;
v1Column5: TcxGridDBColumn;
v1Qty1: TcxGridDBColumn;
v1Column6: TcxGridDBColumn;
v1Column4: TcxGridDBColumn;
cxGrid1Level1: TcxGridLevel;
TV2Column1: TcxGridDBColumn;
TV2Column2: TcxGridDBColumn;
TV2Column3: TcxGridDBColumn;
TV2Column6: TcxGridDBColumn;
cxTabControl1: TcxTabControl;
procedure FormDestroy(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure TBCloseClick(Sender: TObject);
procedure TBFindClick(Sender: TObject);
procedure TBRafreshClick(Sender: TObject);
procedure ConNoChange(Sender: TObject);
procedure FormShow(Sender: TObject);
procedure ToolButton1Click(Sender: TObject);
procedure ToolButton3Click(Sender: TObject);
procedure TBDelClick(Sender: TObject);
procedure ToolButton2Click(Sender: TObject);
procedure cxTabControl1Change(Sender: TObject);
procedure ToolButton6Click(Sender: TObject);
procedure ToolButton12Click(Sender: TObject);
procedure N1Click(Sender: TObject);
procedure ToolButton13Click(Sender: TObject);
procedure Tv1FocusedRecordChanged(Sender: TcxCustomGridTableView; APrevFocusedRecord, AFocusedRecord: TcxCustomGridRecord; ANewItemRecordFocusingChanged: Boolean);
private
procedure InitGrid1();
procedure InitGrid2();
procedure UpdateJTInfo(RTMainId: string);
function SaveJT(MCarNo, MCheJian: string): Boolean;
{ Private declarations }
public
canshu1: string;
{ Public declarations }
end;
implementation
uses
U_DataLink, U_RTFun, U_ZDYHelp, U_KnitPlanMachInPut;
{$R *.dfm}
procedure TfrmKnitPlanMach.InitGrid1();
var
fwhere: string;
begin
BegDate.SetFocus;
try
ADOQueryMain.DisableControls;
with ADOQueryMain do
begin
Filtered := False;
Close;
sql.Clear;
// sql.Add(' ,APPS=(select Count(*) from knit_Plan_Card AA where AA.MainId=A.MainId)');
// sql.Add(' ,JYPS=(select Count(*) from knit_Cloth_Inspect AA where AA.MainId=A.MainId)');
// sql.Add(' ,JYQtyKg=(select sum(MJMaoZ) from knit_Cloth_Inspect AA where AA.MainId=A.MainId)');
// sql.Add(' ,RKPS=(select Count(*) from knit_Cloth_IO AA where AA.MainId=A.MainId and CRFlag=''<27><><EFBFBD><EFBFBD>'')');
// sql.Add(' ,RKQtyKg=(select sum(KgQty) from knit_Cloth_IO AA where AA.MainId=A.MainId and CRFlag=''<27><><EFBFBD><EFBFBD>'')');
// sql.Add(' ,CKPS=(select Count(*) from knit_Cloth_IO AA where AA.MainId=A.MainId and CRFlag=''<27><><EFBFBD><EFBFBD>'')');
// sql.Add(' ,CKQtyKg=(select sum(KgQty) from knit_Cloth_IO AA where AA.MainId=A.MainId and CRFlag=''<27><><EFBFBD><EFBFBD>'')');
//SQL.Add(',CustomerNoName=(select CustomerNoName from JYOrderCon_Main_PB X where X.MainId=A.ConMainId) ');
sql.Add(' select A.*,B.*');
sql.Add(' ,CardQty=OrdPiece-ISNULL((select sum(CardQty) from knit_Plan_Mach AA where AA.SubId=B.SubId),0)');
sql.Add(' from knit_Plan_Main A');
sql.Add(' inner join knit_Plan_Sub B on A.MainId=B.MainId');
// sql.Add(' where 1=1 ');
//
// fwhere := fwhere + (' and A.QDTime>=''' + Trim(FormatDateTime('yyyy-MM-dd', BegDate.Date)) + '''');
// fwhere := fwhere + (' and A.QDTime<''' + Trim(FormatDateTime('yyyy-MM-dd', EndDate.Date + 1)) + '''');
Open;
end;
SCreateCDS(ADOQueryMain, CDS_1);
SInitCDSData(ADOQueryMain, CDS_1);
finally
ADOQueryMain.EnableControls;
end;
end;
procedure TfrmKnitPlanMach.InitGrid2();
begin
with ADOQueryTemp do
begin
Close;
sql.Clear;
sql.Add(' select A.* ');
sql.Add(' from Knit_Plan_Mach A ');
sql.Add(' order by A.MCNO');
Open;
end;
SCreateCDS(ADOQueryTemp, CDS_2);
SInitCDSData(ADOQueryTemp, CDS_2);
end;
procedure TfrmKnitPlanMach.N1Click(Sender: TObject);
begin
with ADOQueryTemp do
begin
close;
sql.Clear;
sql.Add(' select * from knit_Plan_Card A where A.PMID=' + quotedstr(trim(CDS_1.fieldbyname('PMID').AsString)));
Open;
end;
if not ADOQueryTemp.IsEmpty then
begin
Application.MessageBox('<27>Ѱ<EFBFBD><D1B0>Ų<EFBFBD>ƥ<EFBFBD><C6A5><EFBFBD><EFBFBD>ɾ<EFBFBD><C9BE>!', '<27><>ʾ', 0);
Exit;
end;
with ADOQueryCmd do
begin
close;
sql.Clear;
sql.Add('delete knit_Plan_Mach ');
sql.Add('where PMID=' + quotedstr(trim(CDS_1.fieldbyname('PMID').AsString)));
sql.Add(' and not exists(select * from knit_Plan_Card A where A.PMID=knit_Plan_Mach.PMID) ');
execsql;
end;
CDS_1.Delete;
end;
function TfrmKnitPlanMach.SaveJT(MCarNo, MCheJian: string): Boolean;
var
maxno: string;
begin
Result := False;
try
ADOQueryCmd.Connection.BeginTrans;
if GetLSNo(ADOQueryCmd, maxno, 'JT', 'knit_Plan_Mach', 3, 1) = False then
begin
CDS_2.EnableControls;
ADOQueryCmd.Connection.RollbackTrans;
Application.MessageBox(<><C8A1><EFBFBD>Ż<EFBFBD>̨<EFBFBD><CCA8>ˮ<EFBFBD><CBAE>ʧ<EFBFBD><CAA7>!', '<27><>ʾ', 0);
Exit;
end;
with ADOQueryCmd do
begin
Close;
sql.Clear;
sql.Add('select * from knit_Plan_Mach where 1=2');
Open;
end;
with ADOQueryCmd do
begin
Append;
FieldByName('MainId').Value := Trim(CDS_1.fieldbyname('MainId').AsString);
FieldByName('SubId').Value := Trim(CDS_1.fieldbyname('SubId').AsString);
FieldByName('JTID').Value := Trim(maxno);
FieldByName('CarNo').Value := Trim(MCarNo);
FieldByName('CheJian').Value := Trim(MCheJian);
FieldByName('StopFlag').Value := 0;
FieldByName('DOTime').Value := SGetServerDateTime(ADOQueryTemp);
FieldByName('DOPerson').Value := Trim(DName);
FieldByName('QYTime').Value := SGetServerDateTime(ADOQueryTemp);
FieldByName('QYPerson').Value := Trim(DName);
FieldByName('Filler').Value := Trim(DName);
Post;
end;
UpdateJTInfo(Trim(CDS_1.fieldbyname('MainId').AsString));
ADOQueryCmd.Connection.CommitTrans;
Result := True;
except
ADOQueryCmd.Connection.RollbackTrans;
CDS_2.EnableControls;
Result := False;
Application.MessageBox('<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><ECB3A3>', '<27><>ʾ', 0);
end;
end;
procedure TfrmKnitPlanMach.FormDestroy(Sender: TObject);
begin
inherited; // frmClothSCListAnPaiJiTaiAP:=nil;
end;
procedure TfrmKnitPlanMach.FormClose(Sender: TObject; var Action: TCloseAction);
begin
inherited;
Action := caFree;
end;
procedure TfrmKnitPlanMach.TBCloseClick(Sender: TObject);
begin
Close;
end;
procedure TfrmKnitPlanMach.TBFindClick(Sender: TObject);
begin
if ADOQueryMain.Active = False then
Exit;
SDofilter(ADOQueryMain, SGetFilters(Panel1, 1, 2));
SCreateCDS(ADOQueryMain, CDS_1);
SInitCDSData(ADOQueryMain, CDS_1);
end;
procedure TfrmKnitPlanMach.TBRafreshClick(Sender: TObject);
begin
InitGrid1();
end;
procedure TfrmKnitPlanMach.ConNoChange(Sender: TObject);
begin
if ADOQueryMain.Active = False then
Exit;
SDofilter(ADOQueryMain, SGetFilters(Panel1, 1, 2));
SCreateCDS(ADOQueryMain, CDS_1);
SInitCDSData(ADOQueryMain, CDS_1);
end;
procedure TfrmKnitPlanMach.FormShow(Sender: TObject);
begin
inherited;
ReadCxGrid(trim(self.Caption) + 'Tv1', Tv1, ʾ<D6B8><CABE><EFBFBD><EFBFBD><EFBFBD><EFBFBD>');
ReadCxGrid(trim(self.Caption) + 'Tv2', Tv2, ʾ<D6B8><CABE><EFBFBD><EFBFBD><EFBFBD><EFBFBD>');
EndDate.DateTime := SGetServerDate(ADOQueryTemp);
BegDate.DateTime := EndDate.DateTime - 60;
InitGrid1();
InitGrid2();
end;
procedure TfrmKnitPlanMach.ToolButton1Click(Sender: TObject);
begin
if CDS_1.IsEmpty then
Exit;
if CDS_1.Locate('SSel', True, []) = False then
begin
Application.MessageBox(<><C3BB>ѡ<EFBFBD><D1A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>!', '<27><>ʾ', 0);
Exit;
end;
if Application.MessageBox(<><C8B7>Ҫִ<D2AA>п<EFBFBD>ʼ<EFBFBD><CABC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>', '<27><>ʾ', 32 + 4) <> IDYES then
Exit;
try
ADOQueryCmd.Connection.BeginTrans;
CDS_1.DisableControls;
with CDS_1 do
begin
First;
while Locate('SSel', True, []) = True do
begin
with ADOQueryCmd do
begin
Close;
sql.Clear;
sql.Add('UPdate knit_Plan_Main Set Begtime=getdate(),BegPerson=''' + Trim(DName) + ''' ');
sql.Add(' where MainId=''' + Trim(CDS_1.fieldbyname('MainId').AsString) + '''');
ExecSQL;
end;
CDS_1.Delete;
end;
end;
CDS_1.EnableControls;
ADOQueryCmd.Connection.CommitTrans;
except
CDS_1.EnableControls;
ADOQueryCmd.Connection.RollbackTrans;
Application.MessageBox('<27><><EFBFBD><EFBFBD><EFBFBD>쳣!', '<27><>ʾ', 0);
end;
end;
procedure TfrmKnitPlanMach.ToolButton3Click(Sender: TObject);
begin
if CDS_1.IsEmpty then
Exit;
if CDS_1.Locate('SSel', True, []) = False then
begin
Application.MessageBox(<><C3BB>ѡ<EFBFBD><D1A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>!', '<27><>ʾ', 0);
Exit;
end;
if Application.MessageBox(<><C8B7>Ҫִ<D2AA>н<EFBFBD><D0BD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>', '<27><>ʾ', 32 + 4) <> IDYES then
Exit;
try
ADOQueryCmd.Connection.BeginTrans;
CDS_1.DisableControls;
with CDS_1 do
begin
First;
while Locate('SSel', True, []) = True do
begin
with ADOQueryCmd do
begin
Close;
sql.Clear;
sql.Add('UPdate knit_Plan_Main Set Endtime=getdate(),EndPerson=''' + Trim(DName) + ''',EndFlag=1');
sql.Add(' where MainId=''' + Trim(CDS_1.fieldbyname('MainId').AsString) + '''');
sql.Add('UPdate knit_Plan_Mach SET StopFlag=1,DOTime=getdate(),DOPerson=''' + Trim(DName) + '''');
sql.Add(',TYTime=getdate(),TYPerson=''' + Trim(DName) + '''');
sql.Add(' where MainId=' + quotedstr(trim(CDS_1.fieldbyname('MainId').AsString)));
sql.Add(' and StopFlag=0');
ExecSQL;
end;
UpdateJTInfo(Trim(CDS_1.fieldbyname('MainId').AsString));
CDS_1.Delete;
end;
end;
CDS_1.EnableControls;
ADOQueryCmd.Connection.CommitTrans;
except
CDS_1.EnableControls;
ADOQueryCmd.Connection.RollbackTrans;
Application.MessageBox('<27><><EFBFBD><EFBFBD><EFBFBD>쳣!', '<27><>ʾ', 0);
end;
end;
procedure TfrmKnitPlanMach.TBDelClick(Sender: TObject);
begin
if CDS_1.IsEmpty then
Exit;
if CDS_1.Locate('SSel', True, []) = False then
begin
Application.MessageBox(<><C3BB>ѡ<EFBFBD><D1A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>!', '<27><>ʾ', 0);
Exit;
end;
if Application.MessageBox(<><C8B7>Ҫִ<D2AA>н<EFBFBD><D0BD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>', '<27><>ʾ', 32 + 4) <> IDYES then
Exit;
try
ADOQueryCmd.Connection.BeginTrans;
CDS_1.DisableControls;
with CDS_1 do
begin
First;
while Locate('SSel', True, []) = True do
begin
with ADOQueryCmd do
begin
Close;
sql.Clear;
sql.Add('UPdate knit_Plan_Main Set Endtime=getdate(),EndPerson=''' + Trim(DName) + ''',EndFlag=0');
sql.Add(' where MainId=''' + Trim(CDS_1.fieldbyname('MainId').AsString) + '''');
ExecSQL;
end;
CDS_1.Delete;
end;
end;
CDS_1.EnableControls;
ADOQueryCmd.Connection.CommitTrans;
except
CDS_1.EnableControls;
ADOQueryCmd.Connection.RollbackTrans;
Application.MessageBox('<27><><EFBFBD><EFBFBD><EFBFBD>쳣!', '<27><>ʾ', 0);
end;
end;
procedure TfrmKnitPlanMach.ToolButton2Click(Sender: TObject);
begin
if CDS_1.IsEmpty then
Exit;
if CDS_1.Locate('SSel', True, []) = False then
begin
Application.MessageBox(<><C3BB>ѡ<EFBFBD><D1A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>!', '<27><>ʾ', 0);
Exit;
end;
if Application.MessageBox(<><C8B7>Ҫִ<D2AA>п<EFBFBD>ʼ<EFBFBD><CABC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>', '<27><>ʾ', 32 + 4) <> IDYES then
Exit;
try
ADOQueryCmd.Connection.BeginTrans;
CDS_1.DisableControls;
with CDS_1 do
begin
First;
while Locate('SSel', True, []) = True do
begin
with ADOQueryCmd do
begin
Close;
sql.Clear;
sql.Add('UPdate knit_Plan_Main Set Begtime=getdate(),BegPerson=''' + Trim(DName) + ''',BegFlag=0');
sql.Add(' where MainId=''' + Trim(CDS_1.fieldbyname('MainId').AsString) + '''');
ExecSQL;
end;
CDS_1.Delete;
end;
end;
CDS_1.EnableControls;
ADOQueryCmd.Connection.CommitTrans;
except
CDS_1.EnableControls;
ADOQueryCmd.Connection.RollbackTrans;
Application.MessageBox('<27><><EFBFBD><EFBFBD><EFBFBD>쳣!', '<27><>ʾ', 0);
end;
end;
procedure TfrmKnitPlanMach.cxTabControl1Change(Sender: TObject);
begin
InitGrid1();
end;
procedure TfrmKnitPlanMach.ToolButton6Click(Sender: TObject);
begin
try
frmZDYHelp := TfrmZDYHelp.Create(Application);
with frmZDYHelp do
begin
flag := 'WFBCPBZZ';
flagname := '<27>õ<EFBFBD>';
fnote := True;
// V1Note.Caption:='Ӣ<><D3A2><EFBFBD><EFBFBD><EFBFBD><EFBFBD>';
if ShowModal = 1 then
begin
end;
end;
finally
frmZDYHelp.Free;
end;
end;
procedure TfrmKnitPlanMach.Tv1FocusedRecordChanged(Sender: TcxCustomGridTableView; APrevFocusedRecord, AFocusedRecord: TcxCustomGridRecord; ANewItemRecordFocusingChanged: Boolean);
begin
InitGrid2();
end;
procedure TfrmKnitPlanMach.UpdateJTInfo(RTMainId: string);
begin
with ADOQueryCmd do
begin
Close;
sql.Clear;
sql.Add('Update knit_Plan_Sub Set RTAPJTQty=(select Count(*) from knit_Plan_Mach A where A.MainId=knit_Plan_Sub.MainId )');
// sql.Add(',RTAPJTInfo=dbo.F_Get_Order_SubStr_PB(knit_Plan_Sub.MainId,''RTAPJTInfo'')');
sql.Add(',RTQYJTQty=(select Count(*) from knit_Plan_Mach A where A.MainId=knit_Plan_Sub.MainId and StopFlag=0 )');
// sql.Add(',RTQYJTInfo=dbo.F_Get_Order_SubStr_PB(knit_Plan_Sub.MainId,''RTQYJTInfo'')');
sql.Add(',RTTYJTQty=(select Count(*) from knit_Plan_Mach A where A.MainId=knit_Plan_Sub.MainId and StopFlag=1 )');
// sql.Add(',RTTYJTInfo=dbo.F_Get_Order_SubStr_PB(knit_Plan_Sub.MainId,''RTTYJTInfo'')');
sql.Add(' where MainId=''' + Trim(RTMainId) + '''');
//Parameters.ParamByName('MainId').Value:=Trim(RTMainId);
ExecSQL;
end;
end;
procedure TfrmKnitPlanMach.ToolButton12Click(Sender: TObject);
begin
WriteCxGrid(trim(self.Caption) + 'Tv1', Tv1, ʾ<D6B8><CABE><EFBFBD><EFBFBD><EFBFBD><EFBFBD>');
WriteCxGrid(trim(self.Caption) + 'Tv2', Tv2, ʾ<D6B8><CABE><EFBFBD><EFBFBD><EFBFBD><EFBFBD>');
end;
procedure TfrmKnitPlanMach.ToolButton13Click(Sender: TObject);
begin
try
frmKnitPlanMachInPut := TfrmKnitPlanMachInPut.Create(Application);
with frmKnitPlanMachInPut do
begin
FMainId := Trim(Self.CDS_1.fieldbyname('MainId').AsString);
FSubId := Trim(Self.CDS_1.fieldbyname('SubId').AsString);
if ShowModal = 1 then
begin
// InitGrid();
end;
end;
finally
frmKnitPlanMachInPut.Free;
end;
end;
end.