247 lines
7.1 KiB
ObjectPascal
247 lines
7.1 KiB
ObjectPascal
unit U_UptPlanDataToRoll;
|
|
|
|
interface
|
|
|
|
uses
|
|
Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,
|
|
Vcl.Controls, Vcl.Forms, Vcl.Dialogs, cxGraphics, cxControls, cxLookAndFeels,
|
|
cxLookAndFeelPainters, cxStyles, cxCustomData, cxFilter, cxData,
|
|
cxDataStorage, cxEdit, cxNavigator, dxDateRanges, dxScrollbarAnnotations,
|
|
Data.DB, cxDBData, cxGridLevel, cxClasses, cxGridCustomView,
|
|
cxGridCustomTableView, cxGridTableView, cxGridDBTableView, cxGrid,
|
|
Vcl.ComCtrls, Vcl.ToolWin, Data.Win.ADODB, Datasnap.DBClient, cxContainer,
|
|
cxLabel, Vcl.ExtCtrls, cxCheckBox, cxTextEdit;
|
|
|
|
type
|
|
TfrmUptPlanDataToRoll = class(TForm)
|
|
TV1: TcxGridDBTableView;
|
|
cxGrid1Level1: TcxGridLevel;
|
|
cxGrid1: TcxGrid;
|
|
ToolBar1: TToolBar;
|
|
TBSave: TToolButton;
|
|
Tbcgs: TToolButton;
|
|
TBClose: TToolButton;
|
|
TV1ssel: TcxGridDBColumn;
|
|
TV1fieldCaption: TcxGridDBColumn;
|
|
ADOQueryTmp: TADOQuery;
|
|
ADOQueryCmd: TADOQuery;
|
|
CDS_1: TClientDataSet;
|
|
DS_1: TDataSource;
|
|
CDS_1fieldName: TStringField;
|
|
CDS_1fieldCaption: TStringField;
|
|
CDS_1fieldTable: TStringField;
|
|
CDS_1ssel: TBooleanField;
|
|
ADOQueryPlan: TADOQuery;
|
|
Panel1: TPanel;
|
|
cxLabel1: TcxLabel;
|
|
cxTextEdit1: TcxTextEdit;
|
|
cxLabel2: TcxLabel;
|
|
AllowEmptyValue: TcxCheckBox;
|
|
procedure FormCreate(Sender: TObject);
|
|
procedure TBSaveClick(Sender: TObject);
|
|
procedure TBCloseClick(Sender: TObject);
|
|
private
|
|
function updteData():boolean;
|
|
public
|
|
fMainId:string;
|
|
fSubId:string;
|
|
end;
|
|
|
|
var
|
|
frmUptPlanDataToRoll: TfrmUptPlanDataToRoll;
|
|
|
|
implementation
|
|
uses
|
|
U_dataLink;
|
|
{$R *.dfm}
|
|
|
|
|
|
|
|
procedure TfrmUptPlanDataToRoll.FormCreate(Sender: TObject);
|
|
begin
|
|
CDS_1.Close;
|
|
CDS_1.CreateDataSet;
|
|
cxgrid1.Align:=alClient;
|
|
with CDS_1 do
|
|
begin
|
|
append;
|
|
fieldByName('fieldName').value :='OrderNo';
|
|
fieldByName('fieldCaption').value :='¶©µ¥ºÅ';
|
|
fieldByName('fieldTable').value :='Trade_Plan_main';
|
|
post;
|
|
append;
|
|
fieldByName('fieldName').value :='ConNo';
|
|
fieldByName('fieldCaption').value :='ºÏͬºÅ';
|
|
fieldByName('fieldTable').value :='Trade_Plan_sub';
|
|
post;
|
|
append;
|
|
fieldByName('fieldName').value :='BuyConNo';
|
|
fieldByName('fieldCaption').value :='¿Í»§¶©µ¥ºÅ';
|
|
fieldByName('fieldTable').value :='Trade_Plan_sub';
|
|
post;
|
|
append;
|
|
fieldByName('fieldName').value :='c_Name';
|
|
fieldByName('fieldCaption').value :='Æ·ÃûÖÐÎÄ';
|
|
fieldByName('fieldTable').value :='Trade_Plan_sub';
|
|
post;
|
|
append;
|
|
fieldByName('fieldName').value :='c_EName';
|
|
fieldByName('fieldCaption').value :='Æ·ÃûÓ¢ÎÄ';
|
|
fieldByName('fieldTable').value :='Trade_Plan_sub';
|
|
post;
|
|
append;
|
|
fieldByName('fieldName').value :='C_Color';
|
|
fieldByName('fieldCaption').value :='ÑÕÉ«';
|
|
fieldByName('fieldTable').value :='Trade_Plan_sub';
|
|
post;
|
|
append;
|
|
fieldByName('fieldName').value :='C_EColor';
|
|
fieldByName('fieldCaption').value :='Ó¢ÎÄÑÕÉ«';
|
|
fieldByName('fieldTable').value :='Trade_Plan_sub';
|
|
post;
|
|
append;
|
|
fieldByName('fieldName').value :='C_ColorNo';
|
|
fieldByName('fieldCaption').value :='É«ºÅ';
|
|
fieldByName('fieldTable').value :='Trade_Plan_sub';
|
|
post;
|
|
append;
|
|
fieldByName('fieldName').value :='C_Pattern';
|
|
fieldByName('fieldCaption').value :='»¨ÐÍ';
|
|
fieldByName('fieldTable').value :='Trade_Plan_sub';
|
|
post;
|
|
append;
|
|
fieldByName('fieldName').value :='FtyPCId';
|
|
fieldByName('fieldCaption').value :='Ⱦ³§¸×ºÅ';
|
|
fieldByName('fieldTable').value :='Trade_Plan_sub';
|
|
post;
|
|
append;
|
|
fieldByName('fieldName').value :='BatchNo';
|
|
fieldByName('fieldCaption').value :='±¾³§¸×ºÅ';
|
|
fieldByName('fieldTable').value :='Trade_Plan_sub';
|
|
post;
|
|
append;
|
|
fieldByName('fieldName').value :='C_StyleNo';
|
|
fieldByName('fieldCaption').value :='¿îºÅ';
|
|
fieldByName('fieldTable').value :='Trade_Plan_sub';
|
|
post;
|
|
append;
|
|
fieldByName('fieldName').value :='C_Spec';
|
|
fieldByName('fieldCaption').value :='¹æ¸ñ';
|
|
fieldByName('fieldTable').value :='Trade_Plan_sub';
|
|
post;
|
|
append;
|
|
fieldByName('fieldName').value :='C_Width';
|
|
fieldByName('fieldCaption').value :='ÃÅ·ù(cm)';
|
|
fieldByName('fieldTable').value :='Trade_Plan_sub';
|
|
post;
|
|
append;
|
|
fieldByName('fieldName').value :='C_GramWeight';
|
|
fieldByName('fieldCaption').value :='¿ËÖØ(g/©O)';
|
|
fieldByName('fieldTable').value :='Trade_Plan_sub';
|
|
post;
|
|
end;
|
|
end;
|
|
|
|
procedure TfrmUptPlanDataToRoll.TBCloseClick(Sender: TObject);
|
|
begin
|
|
close;
|
|
end;
|
|
|
|
procedure TfrmUptPlanDataToRoll.TBSaveClick(Sender: TObject);
|
|
begin
|
|
if not CDS_1.Locate('ssel',true,[]) then
|
|
begin
|
|
application.MessageBox('ÇëÑ¡ÔñÒª¸üеÄÊý¾ÝÏ','¾¯¸æÐÅÏ¢',0);
|
|
exit;
|
|
end;
|
|
if application.MessageBox('ÄúºÃ,È·¶¨ÒªÍ¬²½Ñ¡ÔñµÄÊý¾ÝÏîÂð?','¾¯¸æÐÅÏ¢',1)=2 then exit;
|
|
|
|
if updteData() then
|
|
begin
|
|
application.MessageBox('ͬ²½¸üгɹ¦!£¡','¾¯¸æÐÅÏ¢',0);
|
|
modalResult:=1;
|
|
end;
|
|
end;
|
|
|
|
function TfrmUptPlanDataToRoll.updteData():boolean;
|
|
var
|
|
i:integer;
|
|
fieldName:string;
|
|
begin
|
|
try
|
|
result:=false;
|
|
|
|
with ADOQueryPlan do
|
|
begin
|
|
close;
|
|
sql.Clear;
|
|
sql.Add('select A.*,B.* from Trade_Plan_Main A left join Trade_Plan_Sub B on A.MainId=B.MainId ');
|
|
sql.Add('where mainId='+quotedstr(fMainId));
|
|
if fSubId<>'' then
|
|
sql.Add('and subId='+quotedstr(fSubId));
|
|
open;
|
|
end;
|
|
ADOQueryCmd.Connection.BeginTrans;
|
|
ADOQueryPlan.First;
|
|
|
|
while not ADOQueryPlan.eof do
|
|
begin
|
|
with ADOQueryCmd do
|
|
begin
|
|
close;
|
|
sql.clear;
|
|
sql.Add('update Trade_Cloth_Inspect set ');
|
|
////////////////////////////////
|
|
CDS_1.First;
|
|
i:=0;
|
|
while not CDS_1.eof do
|
|
begin
|
|
if not CDS_1.fieldByName('ssel').AsBoolean then
|
|
begin
|
|
CDS_1.Next;
|
|
continue;
|
|
end;
|
|
fieldName:= trim(CDS_1.fieldByName('fieldName').AsString);
|
|
//Öµ²»ÄÜΪ¿Õ
|
|
if (not AllowEmptyValue.Checked) and (trim(ADOQueryPlan.FieldByName(fieldName).AsString)='') then
|
|
begin
|
|
CDS_1.Next;
|
|
continue;
|
|
end;
|
|
inc(i);
|
|
if i=1 then
|
|
begin
|
|
sql.Add(fieldName+'='+quotedstr(trim(ADOQueryPlan.FieldByName(fieldName).AsString)));
|
|
end
|
|
else
|
|
begin
|
|
sql.Add(','+fieldName+'='+quotedstr(trim(ADOQueryPlan.FieldByName(fieldName).AsString)));
|
|
end;
|
|
CDS_1.Next;
|
|
end;
|
|
|
|
if i=0 then
|
|
begin
|
|
ADOQueryPlan.Next ;
|
|
continue;
|
|
end;
|
|
|
|
///////////////////////////////////
|
|
sql.Add('where MainId='+quotedstr(trim(ADOQueryPlan.FieldByName('MainId').AsString)));
|
|
sql.Add('and SubId='+quotedstr(trim(ADOQueryPlan.FieldByName('SubId').AsString)));
|
|
sql.Add('and mainId<>''''');
|
|
execSql;
|
|
end;
|
|
ADOQueryPlan.Next ;
|
|
end;
|
|
ADOQueryCmd.Connection.CommitTrans;
|
|
result:=true;
|
|
except
|
|
if ADOQueryCmd.Connection.InTransaction then
|
|
ADOQueryCmd.Connection.RollbackTrans;
|
|
application.MessageBox('Êý¾Ýͬ²½¸üвÙ×÷ʱ·¢Éú´íÎó!','¾¯¸æÐÅÏ¢',0);
|
|
end;
|
|
end;
|
|
|
|
end.
|