D7gmYongjin/染整计划(DyeingFinishingPlan.dll)/U_ProductFYSSedit.pas
DESKTOP-E401PHE\Administrator 8452f471f5 新建3-04
2026-03-04 09:51:44 +08:00

467 lines
14 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_ProductFYSSedit;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, cxGraphics, cxControls, cxLookAndFeels, cxLookAndFeelPainters,
cxStyles, dxSkinsCore, dxSkinBlack, dxSkinBlue, dxSkinBlueprint, dxSkinCaramel,
dxSkinCoffee, dxSkinDarkRoom, dxSkinDarkSide, dxSkinDevExpressDarkStyle,
dxSkinDevExpressStyle, dxSkinFoggy, dxSkinGlassOceans, dxSkinHighContrast,
dxSkiniMaginary, dxSkinLilian, dxSkinLiquidSky, dxSkinLondonLiquidSky,
dxSkinMcSkin, dxSkinMetropolis, dxSkinMetropolisDark, dxSkinMoneyTwins,
dxSkinOffice2007Black, dxSkinOffice2007Blue, dxSkinOffice2007Green,
dxSkinOffice2007Pink, dxSkinOffice2007Silver, dxSkinOffice2010Black,
dxSkinOffice2010Blue, dxSkinOffice2010Silver, dxSkinOffice2013DarkGray,
dxSkinOffice2013LightGray, dxSkinOffice2013White, dxSkinPumpkin, dxSkinSeven,
dxSkinSevenClassic, dxSkinSharp, dxSkinSharpPlus, dxSkinSilver,
dxSkinSpringTime, dxSkinStardust, dxSkinSummer2008, dxSkinTheAsphaltWorld,
dxSkinsDefaultPainters, dxSkinValentine, dxSkinVS2010, dxSkinWhiteprint,
dxSkinXmas2008Blue, dxSkinscxPCPainter, cxCustomData, cxFilter, cxData,
cxDataStorage, cxEdit, cxNavigator, DB, cxDBData, cxGridLevel,
cxGridCustomTableView, cxGridTableView, cxGridDBTableView, cxClasses,
cxGridCustomView, cxGrid, DBClient, Menus, ComCtrls, ToolWin,
cxGridCustomPopupMenu, cxGridPopupMenu, ADODB, cxButtonEdit, cxDropDownEdit,
StdCtrls, ExtCtrls;
type
TFRMProductFYSSedit = class(TForm)
ADOCmd: TADOQuery;
ADOTemp: TADOQuery;
cxGridPopupMenu1: TcxGridPopupMenu;
ToolBar1: TToolBar;
TBSave: TToolButton;
TBClose: TToolButton;
ADOQueryCmd: TADOQuery;
ADOQueryTemp: TADOQuery;
ADOQueryMain: TADOQuery;
DataSource1: TDataSource;
Order_Main: TClientDataSet;
cxGrid1: TcxGrid;
Tv1: TcxGridDBTableView;
v1CustomerNoName: TcxGridDBColumn;
v1MPRTCodeName: TcxGridDBColumn;
v1Column8: TcxGridDBColumn;
v1MPRTSpec: TcxGridDBColumn;
v1ConNo: TcxGridDBColumn;
v1OrderNo: TcxGridDBColumn;
v1Column4: TcxGridDBColumn;
v1Column3: TcxGridDBColumn;
v1SSGH: TcxGridDBColumn;
Tv1Column1: TcxGridDBColumn;
v1MPRTMF: TcxGridDBColumn;
v1Column1: TcxGridDBColumn;
v1Column11: TcxGridDBColumn;
v1Column10: TcxGridDBColumn;
cxGrid1Level1: TcxGridLevel;
ToolButton1: TToolButton;
Tv1Column2: TcxGridDBColumn;
Tv1Column3: TcxGridDBColumn;
ToolButton2: TToolButton;
CDS_CON: TClientDataSet;
DSCON: TDataSource;
ADOQuery1: TADOQuery;
Panel1: TPanel;
cxGrid4: TcxGrid;
TV4: TcxGridDBTableView;
V4Column1: TcxGridDBColumn;
TV4Column1: TcxGridDBColumn;
TV4Column3: TcxGridDBColumn;
TV4Column4: TcxGridDBColumn;
TV4Column5: TcxGridDBColumn;
TV4Column2: TcxGridDBColumn;
cxGrid4Level1: TcxGridLevel;
Panel2: TPanel;
Label1: TLabel;
BegDate: TDateTimePicker;
EndDate: TDateTimePicker;
Label2: TLabel;
Label5: TLabel;
RCGangNo: TEdit;
procedure ToolButton1Click(Sender: TObject);
procedure FormShow(Sender: TObject);
procedure TBSaveClick(Sender: TObject);
procedure TBCloseClick(Sender: TObject);
procedure v1ConNoPropertiesButtonClick(Sender: TObject; AButtonIndex: Integer);
procedure v1Column1PropertiesButtonClick(Sender: TObject; AButtonIndex: Integer);
procedure ToolButton2Click(Sender: TObject);
procedure v1MPRTKZPropertiesChange(Sender: TObject);
procedure v1MPRTKZPropertiesButtonClick(Sender: TObject; AButtonIndex: Integer);
procedure TV4DblClick(Sender: TObject);
procedure RCGangNoKeyPress(Sender: TObject; var Key: Char);
private
procedure InitData();
function SaveData(): Boolean;
{ Private declarations }
public
PState, CopyInt, PriceFlag: Integer;
FSSId, FFMainId, FOrderNo: string;
FXS: Integer;
canshu1: string;
fFlileFlag: string;
{ Public declarations }
end;
var
FRMProductFYSSedit: TFRMProductFYSSedit;
implementation
uses
U_DataLink, U_ZDYHelp, U_Fun, U_ZDYHelpSel, U_ZdyAttachment, U_ZdyAttachGYS,
U_CPManageSel, getpic, U_LabelList, U_ContractListSel, U_YCLViewSel,
U_PhoneOrder, U_ProductOrderListSel;
{$R *.dfm}
procedure TFRMProductFYSSedit.ToolButton1Click(Sender: TObject);
begin
CopyAddRow(Tv1, Order_Main);
with Order_Main do
begin
Edit;
FieldByName('OrderNo').Value := '';
FieldByName('SSCodeName').Value := '';
FieldByName('SScolor').Value := '';
FieldByName('RCFactoryName').Value := '';
FieldByName('PBFactoryName').Value := '';
Post;
end;
end;
procedure TFRMProductFYSSedit.FormShow(Sender: TObject);
begin
readCxGrid(ʾ<D6B8><CABE>¼<EFBFBD><C2BC>AA', Tv1, '<27><><EFBFBD><EFBFBD>ָʾ<D6B8><CABE><EFBFBD><EFBFBD><EFBFBD><EFBFBD>');
fFlileFlag := UserDataFlag + 'HX';
InitData();
BegDate.DateTime := SGetServerDate10(ADOQueryTemp) - 30;
EndDate.DateTime := SGetServerDate10(ADOQueryTemp);
if PState = 1 then
begin
end
else
begin
CopyAddRow(Tv1, Order_Main);
with Order_Main do
begin
Edit;
FieldByName('ssType').Value := '<27><>ˮ';
Post;
end;
end;
end;
procedure TFRMProductFYSSedit.InitData();
begin
with ADOTemp do
begin
Close;
SQL.Clear;
sql.Add(' select * from JYOrder_SS where 1=1 ');
if PState = 1 then
begin
sql.Add(' and SSId=''' + Trim(FSSId) + '''');
end;
if PState = 0 then
begin
sql.Add(' and 1<>1');
end;
sql.Add(' order by SSId ');
Open;
end;
SCreateCDS20(ADOTemp, Order_Main);
SInitCDSData20(ADOTemp, Order_Main);
if CopyInt = 99 then
begin
PState := 0;
FSSId := '';
with Order_Main do
begin
First;
while not Eof do
begin
Edit;
FieldByName('SSId').Value := '';
// FieldByName('SubId').Value := '';
Post;
Next;
end;
end;
end;
end;
function TFRMProductFYSSedit.SaveData(): Boolean;
var
maxno, Smaxno, maxorderno: string;
begin
try
ADOCmd.Connection.BeginTrans;
with Order_Main do
begin
First;
while not Eof do
begin
if Trim(Order_Main.fieldbyname('SSId').AsString) = '' then
begin
if GetLSNo(ADOCmd, Smaxno, 'SS', 'JYOrder_SS', 4, 1) = False then
begin
ADOCmd.Connection.RollbackTrans;
Application.MessageBox(<><C8A1><EFBFBD><EFBFBD>ˮ<EFBFBD><CBAE>ʧ<EFBFBD>ܣ<EFBFBD>', '<27><>ʾ', 0);
Exit;
end;
end
else
begin
Smaxno := Trim(Order_Main.fieldbyname('SSid').AsString);
end;
with ADOCmd do
begin
Close;
SQL.Clear;
sql.Add('select * from JYOrder_SS where ');
sql.Add(' SSid=''' + Trim(Smaxno) + '''');
Open;
end;
with ADOCmd do
begin
if Trim(Order_main.fieldbyname('SSid').AsString) = '' then
Append
else
Edit;
// FieldByName('MainId').Value := Trim(maxno);
FieldByName('SSid').Value := Trim(Smaxno);
RTSetSaveDataCDS(ADOCmd, Tv1, Order_Main, 'JYOrder_SS', 0);
FieldByName('Filler').Value := Trim(DName);
FieldByName('DDTYpe').Value := '<27><><EFBFBD><EFBFBD>';
Post;
end;
Order_Main.Edit;
Order_Main.FieldByName('SSid').Value := Trim(Smaxno);
Next;
end;
end;
ADOCmd.Connection.CommitTrans;
Result := True;
except
Result := False;
ADOCmd.Connection.RollbackTrans;
application.MessageBox(PChar(Exception(ExceptObject).Message), '<27><>ʾ<EFBFBD><CABE>Ϣ', 0);
end;
end;
procedure TFRMProductFYSSedit.TBSaveClick(Sender: TObject);
begin
if SaveData() then
begin
Application.MessageBox('<27><><EFBFBD><EFBFBD><EFBFBD>ɹ<EFBFBD><C9B9><EFBFBD>', '<27><>ʾ', 0);
ModalResult := 1;
end;
end;
procedure TFRMProductFYSSedit.TBCloseClick(Sender: TObject);
begin
Close;
WriteCxGrid('<27><>ˮ¼<CBAE><C2BC>', Tv1, '<27><>ˮ<EFBFBD><CBAE><EFBFBD><EFBFBD>');
end;
procedure TFRMProductFYSSedit.v1ConNoPropertiesButtonClick(Sender: TObject; AButtonIndex: Integer);
begin
try
frmProductOrderListSel := TfrmProductOrderListSel.Create(Application);
with frmProductOrderListSel do
begin
if ShowModal = 1 then
begin
with Self.Order_Main do
begin
edit;
// Self.Order_Sub.FieldByName('mainid').Value := Trim(frmProductOrderListSel.Order_Main.fieldbyname('MainId').AsString);
// Self.Order_Sub.FieldByName('subid').Value := Trim(frmProductOrderListSel.Order_Main.fieldbyname('SubId').AsString);
Self.Order_Main.FieldByName('OrderNo').Value := Trim(frmProductOrderListSel.Order_Main.fieldbyname('ConNo').AsString);
Self.Order_Main.FieldByName('SSCodeName').Value := Trim(frmProductOrderListSel.Order_Main.fieldbyname('MPRTCodeName').AsString);
Self.Order_Main.FieldByName('SSCodeNo').Value := Trim(frmProductOrderListSel.Order_Main.fieldbyname('MPRTCode').AsString);
Self.Order_Main.FieldByName('sscolor').Value := Trim(frmProductOrderListSel.Order_Main.fieldbyname('PRTColor').AsString);
end;
end;
end;
finally
frmProductOrderListSel.Free;
end;
end;
procedure TFRMProductFYSSedit.v1Column1PropertiesButtonClick(Sender: TObject; AButtonIndex: Integer);
begin
try
frmZdyAttachGYS := TfrmZdyAttachGYS.Create(Application);
with frmZdyAttachGYS do
begin
CheckBox2.Checked := False;
CheckBox1.Checked := True;
if ShowModal = 1 then
begin
with Self.Order_Main do
begin
edit;
FieldByName('RCFactoryNo').Value := Trim(frmZdyAttachGYS.CDS_HZ.fieldbyname('COCode').AsString);
FieldByName('RCFactoryName').Value := Trim(frmZdyAttachGYS.CDS_HZ.fieldbyname('COName').AsString);
end;
end;
end;
finally
frmZdyAttachGYS.Free;
end;
end;
procedure TFRMProductFYSSedit.ToolButton2Click(Sender: TObject);
begin
if Order_Main.IsEmpty then
Exit;
Order_Main.Delete;
end;
procedure TFRMProductFYSSedit.v1MPRTKZPropertiesChange(Sender: TObject);
var
mvalue: string;
begin
mvalue := Trim(Order_Main.fieldbyname('SSGH').AsString);
if Length(Trim(mvalue)) > 1 then
begin
mvalue := '%' + Trim(mvalue) + '%';
with ADOQuery1 do
begin
Close;
sql.Clear;
sql.Add('select A.* from CK_SXPB_CR A where A.CKName=''<27><><EFBFBD>첼'' and A.CRType in (''<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>'',''<27>ӹ<EFBFBD><D3B9><EFBFBD><EFBFBD><EFBFBD>'',''<27>ͻ<EFBFBD><CDBB>˻<EFBFBD>'',''<27><>ɫ<EFBFBD><C9AB><EFBFBD><EFBFBD>'') ');
sql.Add('and A.RCGangNo like ' + quotedstr('%' + trim(mvalue) + '%'));
Sql.add('and CRTime>=''' + formatdateTime('yyyy-MM-dd', begdate.Date) + ''' ');
Sql.add('and CRTime<''' + formatdateTime('yyyy-MM-dd', enddate.Date + 1) + ''' ');
// ShowMessage(sql.text);
Open;
end;
SCreateCDS20(ADOQuery1, CDS_Con);
SInitCDSData20(ADOQuery1, CDS_CON);
if CDS_Con.IsEmpty then
Panel1.Visible := False
else
Panel1.Visible := True;
end;
end;
procedure TFRMProductFYSSedit.v1MPRTKZPropertiesButtonClick(Sender: TObject; AButtonIndex: Integer);
var
mvalue: string;
begin
Panel1.Visible := True;
mvalue := Trim(Order_Main.fieldbyname('SSGH').AsString);
if Length(Trim(mvalue)) > 1 then
begin
mvalue := '%' + Trim(mvalue) + '%';
with ADOQuery1 do
begin
Close;
sql.Clear;
sql.Add('select A.* from CK_SXPB_CR A where A.CKName=''<27><><EFBFBD>첼'' and A.CRType in (''<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>'',''<27>ӹ<EFBFBD><D3B9><EFBFBD><EFBFBD><EFBFBD>'',''<27>ͻ<EFBFBD><CDBB>˻<EFBFBD>'',''<27><>ɫ<EFBFBD><C9AB><EFBFBD><EFBFBD>'') ');
sql.Add('and A.RCGangNo like ' + quotedstr('%' + trim(mvalue) + '%'));
Sql.add('and CRTime>=''' + formatdateTime('yyyy-MM-dd', begdate.Date) + ''' ');
Sql.add('and CRTime<''' + formatdateTime('yyyy-MM-dd', enddate.Date + 1) + ''' ');
// ShowMessage(sql.text);
Open;
end;
SCreateCDS20(ADOQuery1, CDS_Con);
SInitCDSData20(ADOQuery1, CDS_CON);
// if CDS_Con.IsEmpty then
// cxGrid4.Visible := False
// else
// cxGrid4.Visible := True;
end;
end;
procedure TFRMProductFYSSedit.TV4DblClick(Sender: TObject);
begin
// conno.OnChange := nil;
// Order_Sub.EmptyDataSet;
Panel1.Visible := False;
// conNo.Text := CDS_CON.fieldbyname('conNO').AsString;
Panel1.Visible := False;
with ADOQuery1 do
begin
Close;
sql.Clear;
sql.Add('select * from CK_SXPB_CR where SPID=' + quotedstr(trim(CDS_CON.fieldbyname('SPID').AsString)));
Open;
end;
if not ADOQuery1.IsEmpty then
begin
with ADOQuery1 do
begin
// First;
// while not Eof do
// begin
with Order_main do
begin
edit;
FieldByName('OrderNo').Value := Trim(ADOQuery1.fieldbyname('conno').AsString);
FieldByName('SSGH').Value := Trim(ADOQuery1.fieldbyname('RCGangNo').AsString);
FieldByName('SSCodeName').Value := Trim(ADOQuery1.fieldbyname('SPName').AsString);
FieldByName('SScolor').Value := Trim(ADOQuery1.fieldbyname('SPColor').AsString);
FieldByName('RCFactoryName').Value := Trim(ADOQuery1.fieldbyname('FactoryName').AsString);
FieldByName('PBFactoryName').Value := Trim(ADOQuery1.fieldbyname('PBFactoryName').AsString);
Post;
end;
// Next;
// end;
end;
end;
// conno.OnChange := ConNoChange;
end;
procedure TFRMProductFYSSedit.RCGangNoKeyPress(Sender: TObject;
var Key: Char);
var
mvalue: string;
begin
mvalue := Trim(RCGangNo.text);
if Length(Trim(mvalue)) > 1 then
begin
mvalue := '%' + Trim(mvalue) + '%';
with ADOQuery1 do
begin
Close;
sql.Clear;
sql.Add('select A.* from CK_SXPB_CR A where A.CKName=''<27><><EFBFBD>첼'' and A.CRType in (''<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>'',''<27>ӹ<EFBFBD><D3B9><EFBFBD><EFBFBD><EFBFBD>'',''<27>ͻ<EFBFBD><CDBB>˻<EFBFBD>'',''<27><>ɫ<EFBFBD><C9AB><EFBFBD><EFBFBD>'') ');
sql.Add('and A.RCGangNo like ' + quotedstr('%' + trim(mvalue) + '%'));
Sql.add('and CRTime>=''' + formatdateTime('yyyy-MM-dd', begdate.Date) + ''' ');
Sql.add('and CRTime<''' + formatdateTime('yyyy-MM-dd', enddate.Date + 1) + ''' ');
// ShowMessage(sql.text);
Open;
end;
SCreateCDS20(ADOQuery1, CDS_Con);
SInitCDSData20(ADOQuery1, CDS_CON);
if CDS_Con.IsEmpty then
Panel1.Visible := False
else
Panel1.Visible := True;
end;
end;
end.