D10xhGemei/T02贸易汇总仓库/U_PlanScanInEdit3.pas
DESKTOP-E401PHE\Administrator 9f5fcadbd1 123545
2026-06-13 16:49:18 +08:00

558 lines
15 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_PlanScanInEdit3;
interface
uses
Windows, Messages, strUtils, SysUtils, Variants, Classes, Graphics, Controls,
Forms, Dialogs, cxStyles, cxCustomData, cxGraphics, cxFilter, cxData,
cxDataStorage, cxEdit, DB, cxDBData, StdCtrls, ExtCtrls, ADODB, DBClient,
cxGridCustomPopupMenu, cxGridPopupMenu, cxGridLevel, MMSystem,
cxGridCustomTableView, cxGridTableView, cxGridDBTableView, cxClasses,
cxControls, cxGridCustomView, cxGrid, MovePanel, cxCheckBox, Menus, ComCtrls,
cxLookAndFeels, cxLookAndFeelPainters, cxNavigator, U_BaseList, dxSkinsCore,
dxSkinsDefaultPainters, dxDateRanges, dxBarBuiltInMenu, RM_Common, RM_Class,
RM_GridReport, RM_Dataset, Vcl.ToolWin, dxSkinBasic, 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, dxSkinOffice2016Colorful, dxSkinOffice2016Dark,
dxSkinOffice2019Black, dxSkinOffice2019Colorful, dxSkinOffice2019DarkGray,
dxSkinOffice2019White, dxSkinPumpkin, dxSkinSeven, dxSkinSevenClassic,
dxSkinSharp, dxSkinSharpPlus, dxSkinSilver, dxSkinSpringtime, dxSkinStardust,
dxSkinSummer2008, dxSkinTheAsphaltWorld, dxSkinTheBezier, dxSkinValentine,
dxSkinVisualStudio2013Blue, dxSkinVisualStudio2013Dark,
dxSkinVisualStudio2013Light, dxSkinVS2010, dxSkinWhiteprint, dxSkinWXI,
dxSkinXmas2008Blue, dxScrollbarAnnotations, cxContainer, cxProgressBar,
BtnEdit;
type
TfrmPlanScanInEdit3 = class(TfrmBaseList)
GPM_1: TcxGridPopupMenu;
CDS_1: TClientDataSet;
DS_1: TDataSource;
ADOQueryTemp: TADOQuery;
ADOQueryCmd: TADOQuery;
ADOQueryMain: TADOQuery;
Panel1: TPanel;
CDS_2: TClientDataSet;
DS_2: TDataSource;
GPM_2: TcxGridPopupMenu;
DS_3: TDataSource;
CDS_3: TClientDataSet;
GPM_3: TcxGridPopupMenu;
Panel2: TPanel;
cxGrid3: TcxGrid;
Tv3: TcxGridDBTableView;
cxGridDBColumn4: TcxGridDBColumn;
cxGridLevel1: TcxGridLevel;
Panel3: TPanel;
ToolBar3: TToolBar;
ToolButton3: TToolButton;
btnGetOutNo: TToolButton;
ToolButton7: TToolButton;
ToolButton8: TToolButton;
edtScan: TEdit;
Label6: TLabel;
Label1: TLabel;
Label2: TLabel;
wlCompany: TBtnEditA;
Label5: TLabel;
InNo: TEdit;
Label4: TLabel;
CRTime: TDateTimePicker;
Label11: TLabel;
CRType: TComboBox;
carPlate: TBtnEditA;
Tv3Column1: TcxGridDBColumn;
Tqueren: TButton;
Label3: TLabel;
Driver: TBtnEditA;
Driverid: TEdit;
GroupBox1: TGroupBox;
cxGrid1: TcxGrid;
TV1: TcxGridDBTableView;
cxGridDBColumn1: TcxGridDBColumn;
cxGridLevel2: TcxGridLevel;
Button1: TButton;
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure FormDestroy(Sender: TObject);
procedure FormShow(Sender: TObject);
procedure ToolButton3Click(Sender: TObject);
procedure btnGetOutNoClick(Sender: TObject);
procedure ToolButton7Click(Sender: TObject);
procedure ToolButton8Click(Sender: TObject);
procedure edtScanKeyPress(Sender: TObject; var Key: Char);
procedure wlCompanyBtnClick(Sender: TObject);
procedure carPlateBtnClick(Sender: TObject);
procedure TquerenClick(Sender: TObject);
procedure DriverBtnClick(Sender: TObject);
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
FScan, FSubIds, FZCID: string;
procedure PlayWav(MWav: string);
procedure InitKC();
procedure InitZCD();
procedure InitStatus(ZCID: string);
procedure ScanKW();
procedure ScanCIID();
function SaveData(): Boolean;
public
{ Public declarations }
end;
var
frmPlanScanInEdit3: TfrmPlanScanInEdit3;
implementation
uses
U_DataLink, U_RTFun, U_LabelPrint, U_ZDYHelp, U_MachineManageSel, U_UserSel; //U_TradeClothWaitStorage, U_PositionSel
{$R *.dfm}
procedure TfrmPlanScanInEdit3.PlayWav(MWav: string);
begin
if FileExists(PChar(ExtractFilePath(Application.ExeName) + 'wav\' + MWav + '.wav')) then
PlaySound(PChar(ExtractFilePath(Application.ExeName) + 'wav\' + MWav + '.wav'), 0, SND_ASYNC);
end;
procedure TfrmPlanScanInEdit3.InitZCD();
begin
// if carPlate.Text = '' then
// exit;
with ADOQueryTemp do
begin
Close;
sql.Clear;
sql.Add('select * from Trade_Market_CarTransport A WHERE STATUS=''0'' ');
sql.Add('AND EXISTS (SELECT * FROM Trade_Market_CarTransportSUB B WHERE B.ZCID=A.ZCID) ');
Open;
end;
SCreateCDS(ADOQueryTemp, CDS_1);
SInitCDSData(ADOQueryTemp, CDS_1);
end;
procedure TfrmPlanScanInEdit3.InitKC();
begin
// if carPlate.Text = '' then
// exit;
with ADOQueryTemp do
begin
Close;
sql.Clear;
sql.Add('select * from Trade_Market_Main A ');
sql.Add('where '); // ZCID =(select zcid from Trade_Market_Main b where
sql.add(' a.tmmid=' + QuotedStr(TRIm(FScan)));
SQL.Add('AND HDtime IS NULL ');
sql.Add('and ISNULL(stATUS,''0'')=''9''');
Open;
end;
if ADOQueryTemp.IsEmpty then
begin
application.MessageBox('<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ѻص<D1BB>', '<27><>ʾ<EFBFBD><CABE>Ϣ', 0);
Exit;
end
else
begin
if CDS_3.Locate('TMMID', ADOQueryTemp.FieldByName('TMMID').AsString, []) then
begin
Application.MessageBox('<27>õ<EFBFBD><C3B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>б<EFBFBD><D0B1>У<EFBFBD><D0A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ظ<EFBFBD><D8B8><EFBFBD><EFBFBD><EFBFBD>', '<27><>ʾ<EFBFBD><CABE>Ϣ', 0);
Exit; // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֱ<EFBFBD><D6B1><EFBFBD>˳<EFBFBD><CBB3><EFBFBD><EFBFBD><EFBFBD>ִ<EFBFBD><D6B4> Append
end;
with CDS_3 do
begin
Append;
FieldByName('TMMNo').VALUE := ADOQueryTemp.FieldByName('TMMNo').AsString;
FieldByName('TMMID').VALUE := ADOQueryTemp.FieldByName('TMMID').AsString;
FieldByName('CUSTNAME').VALUE := ADOQueryTemp.FieldByName('CUSTNAME').AsString;
POST;
end;
//
// SCreateCDS(ADOQueryTemp, CDS_3);
// SInitCDSData(ADOQueryTemp, CDS_3);
// Driver.Text := ADOQueryTemp.FieldByName('Driver').AsString;
// carPlate.Text := ADOQueryTemp.FieldByName('carPlate').AsString;
end;
end;
procedure TfrmPlanScanInEdit3.ScanKW();
var
MStkIds: string;
begin
try
with ADOQueryTemp do
begin
close;
SQL.Clear;
sql.Add('select * from Bs_Position where POSID =''' + trim(FScan) + ''' ');
open;
end;
wlCompany.Text := ADOQueryTemp.FieldByName('posno').AsString;
btnGetOutNo.Click;
except
end;
end;
procedure TfrmPlanScanInEdit3.ScanCIID();
var
MStkIds: string;
begin
try
if Trim(wlCompany.Text) = '' then
raise Exception.Create('<27><>λ<EFBFBD><CEBB><EFBFBD><EFBFBD>Ϊ<EFBFBD><CEAA>!');
if Trim(InNo.Text) = '' then
raise Exception.Create('<27><><EFBFBD><EFBFBD>Ų<EFBFBD><C5B2><EFBFBD>Ϊ<EFBFBD><CEAA>!');
MStkIds := FScan;
try
ADOQueryCmd.Connection.BeginTrans;
with ADOQueryCmd do
begin
Close;
Sql.Clear;
Sql.Add('exec P_Market_Position_In ');
Sql.Add('@StkIds=' + quotedstr(trim(MStkIds)));
Sql.Add(',@IOTime=' + Quotedstr(FormatDateTime('yyyy-MM-dd', CRTime.DateTime)));
Sql.Add(',@IOType=' + Quotedstr(crtype.Text));
Sql.Add(',@IONO=' + Quotedstr(InNo.Text));
Sql.Add(',@StkPosition=' + Quotedstr(wlCompany.Text));
Sql.Add(',@FillId=' + Quotedstr(DCode));
Sql.Add(',@Filler=' + Quotedstr(DName));
// ShowMessage(sql.Text);
Open;
end;
if ADOQueryCmd.FieldByName('intReturn').AsInteger = -1 then
begin
raise Exception.Create(pchar(trim(ADOQueryCmd.FieldByName('ShowMsg').AsString)));
end;
ADOQueryCmd.Connection.CommitTrans;
PlayWav('<27><>ȷ');
except
ADOQueryCmd.Connection.RollbackTrans;
raise Exception.Create(PChar(Exception(ExceptObject).Message));
end;
except
application.MessageBox(PChar(Exception(ExceptObject).Message), '<27><>ʾ<EFBFBD><CABE>Ϣ', 0);
// PlayWav('<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>');
end;
end;
procedure TfrmPlanScanInEdit3.FormClose(Sender: TObject; var Action: TCloseAction);
begin
inherited;
Action := caFree;
end;
procedure TfrmPlanScanInEdit3.FormDestroy(Sender: TObject);
begin
inherited;
frmPlanScanInEdit3 := nil;
end;
procedure TfrmPlanScanInEdit3.FormShow(Sender: TObject);
begin
inherited;
ReadCxGrid(self.caption + 'Tv3', Tv3, '<27><>Ʒ<EFBFBD>ֿ<EFBFBD>');
// InitKC();
CRTime.DateTime := SGetServerDate(ADOQueryTemp);
with ADOQueryTemp do
begin
Close;
sql.Clear;
sql.Add('select * from Trade_Market_Main A ');
sql.Add('where 1<>1 ');
Open;
end;
SCreateCDS(ADOQueryTemp, CDS_3);
SInitCDSData(ADOQueryTemp, CDS_3);
initzcd();
end;
procedure TfrmPlanScanInEdit3.edtScanKeyPress(Sender: TObject; var Key: Char);
var
maxno, SMFlag, KYCKFlag, FMainId, ff: string;
FFQty: Integer;
begin
// <20><><EFBFBD><EFBFBD> =13 ʱ<><CAB1><EFBFBD>Զ<EFBFBD>ģ<EFBFBD><EFBFBD>س<EFBFBD>
if Length(edtScan.Text) = 12 then
begin
Key := #13; // ǿ<>ưѵ<C6B0>ǰ<EFBFBD><C7B0><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɻس<C9BB>
edtScan.SelectAll; // <20><>ѡ<EFBFBD><D1A1>ѡ<EFBFBD><D1A1>ȫ<EFBFBD><C8AB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>´θ<C2B4><CEB8><EFBFBD>ɨ<EFBFBD><C9A8>
end;
// ԭ<><D4AD><EFBFBD>Ļس<C4BB><D8B3>߼<EFBFBD>
if Key = #13 then
begin
if edtScan.Text = '' then
EXIT;
FScan := Trim(edtScan.Text);
edtScan.Text := '';
InitKC();
end;
end;
procedure TfrmPlanScanInEdit3.ToolButton3Click(Sender: TObject);
begin
if Trim(InNo.Text) = '' then
Exit;
try
frmLabelPrint := TfrmLabelPrint.Create(Application);
with frmLabelPrint do
begin
FLMType := 'TradeClothIn1';
FFiltration1 := Trim(CDS_1.FieldByName('zcid').AsString);
if ShowModal = 1 then
begin
end;
end;
finally
frmLabelPrint.Free;
end;
end;
procedure TfrmPlanScanInEdit3.wlCompanyBtnClick(Sender: TObject);
begin
try
frmZDYHelp := TfrmZDYHelp.Create(Application);
with frmZDYHelp do
begin
MainType := 'Cust';
flag := 'AREA';
flagname := '<27><><EFBFBD><EFBFBD>';
if ShowModal = 1 then
begin
wlCompany.text := Trim(ClientDataSet1.fieldbyname('ZDYName').AsString);
end;
end;
finally
frmZDYHelp.Free;
end;
end;
procedure TfrmPlanScanInEdit3.Button1Click(Sender: TObject);
begin
with CDS_3 do
begin
Delete;
end;
end;
procedure TfrmPlanScanInEdit3.carPlateBtnClick(Sender: TObject);
begin
inherited;
try
frmMachineManageSel := TfrmMachineManageSel.Create(Application);
with frmMachineManageSel do
begin
if ShowModal = 1 then
begin
carPlate.text := Trim(CDS_1.fieldbyname('VNO').AsString);
end;
end;
finally
frmMachineManageSel.Free;
end;
end;
procedure TfrmPlanScanInEdit3.DriverBtnClick(Sender: TObject);
begin
try
frmUserSel := TfrmUserSel.Create(Application);
with frmUserSel do
begin
Fdept := '<27>ͻ<EFBFBD><CDBB><EFBFBD>';
if ShowModal = 1 then
begin
self.Driverid.Text := Trim(CDS_1.fieldbyname('EECode').AsString);
self.Driver.Text := Trim(CDS_1.fieldbyname('EEName').AsString);
end;
end;
finally
frmUserSel.Free;
end;
end;
procedure TfrmPlanScanInEdit3.btnGetOutNoClick(Sender: TObject);
var
maxNo: string;
begin
if GetLSNo(ADOQueryCmd, maxNo, 'RK', 'Trade_Cloth_IO', 3, 1) = False then
begin
Application.MessageBox(<><C8A1><EFBFBD><EFBFBD><E2B5A5>ʧ<EFBFBD><CAA7>!', '<27><>ʾ', 0);
Exit;
end;
InNo.Text := Trim(maxNo);
CRTime.DateTime := SGetServerDate(ADOQueryTemp);
InitKC();
end;
procedure TfrmPlanScanInEdit3.ToolButton7Click(Sender: TObject);
begin
tv3.Controller.EditingController.ShowEdit();
Close;
end;
procedure TfrmPlanScanInEdit3.ToolButton8Click(Sender: TObject);
begin
WriteCxGrid(self.caption + 'Tv3', Tv3, '<27><>Ʒ<EFBFBD>ֿ<EFBFBD>');
end;
procedure TfrmPlanScanInEdit3.TquerenClick(Sender: TObject);
begin
// if Driver.Text = '' then
// begin
// Application.MessageBox('˾<><CBBE><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ<EFBFBD><CEAA>!', '<27><>ʾ', 0);
// Exit;
// end;
// if carPlate.Text = '' then
// begin
// Application.MessageBox('<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ<EFBFBD><CEAA>!', '<27><>ʾ', 0);
// Exit;
// end;
if SaveData() then
begin
Application.MessageBox('<27><><EFBFBD><EFBFBD><EFBFBD>ɹ<EFBFBD>!', '<27><>ʾ', 0);
with ADOQueryTemp do
begin
Close;
sql.Clear;
sql.Add('select * from Trade_Market_Main A ');
sql.Add('where 1<>1 ');
Open;
end;
SCreateCDS(ADOQueryTemp, CDS_3);
SInitCDSData(ADOQueryTemp, CDS_3);
initzcd();
end;
end;
//procedure TfrmPlanScanInEdit.TquerenClick(Sender: TObject);
function TfrmPlanScanInEdit3.SaveData(): Boolean;
var
MaxMid, MaxSid: string;
begin
try
ADOQueryCmd.Connection.BeginTrans;
with CDS_3 do
begin
First;
while not Eof do
begin
with ADOQueryCmd do
begin
close;
sql.Clear;
sql.Add('update Trade_Market_Main ');
SQL.Add('set status=''10'', hdtime=GETDATE()');
sql.Add('where TMMID=' + quotedstr(trim(CDS_3.fieldbyname('TMMID').AsString)));
sql.Add('insert into SY_SysLog(operor,opertime,Model,acction,opevent,result) values( ');
sql.Add(' ' + quotedstr(trim(DName)));
sql.Add(',getdate() ');
sql.Add(',' + quotedstr(trim(self.Caption)));
sql.Add(',' + quotedstr(trim('<27>ƻ<EFBFBD><C6BB><EFBFBD><EFBFBD>ص<EFBFBD>')));
sql.Add(',' + quotedstr(trim('<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ţ<EFBFBD>' + trim(CDS_3.FieldByName('ZCID').AsString))));
sql.Add(',' + quotedstr(trim('<27>ɹ<EFBFBD>')));
sql.Add(')');
execsql;
end;
Next;
end;
end;
ADOQueryCmd.Connection.CommitTrans;
Result := True;
except
ADOQueryCmd.Connection.RollbackTrans;
application.MessageBox(PChar(Exception(ExceptObject).Message), '<27><>ʾ<EFBFBD><CABE>Ϣ', 0);
Result := False;
end;
end;
procedure TfrmPlanScanInEdit3.InitStatus(ZCID: string);
begin
with ADOQueryCmd do
begin
close;
sql.Clear;
sql.Add('update Trade_Market_Main SET status=''9'' ');
SQL.Add(',zctime=GETDATE()');
SQL.Add(',Driver=' + QuotedStr(Driver.Text));
SQL.Add(',carPlate= ' + QuotedStr(carPlate.Text));
SQL.Add(',zcid= ' + QuotedStr(ZCID));
sql.Add('where TMMId=' + quotedstr(trim(CDS_3.fieldbyname('TMMId').AsString)));
sql.Add('insert into Finance_Need_Up(UType,UDataId,UOperation,UOperator,UModule,UDetails) ');
sql.Add('values('<>ײ<EFBFBD><D7B2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>'' ');
sql.Add(',' + quotedstr(trim(CDS_3.fieldbyname('TMMId').AsString)));
sql.Add(',''<27><><EFBFBD><EFBFBD>'' ');
sql.Add(',' + quotedstr(DName));
sql.Add(',' + quotedstr(trim(self.Caption)));
sql.Add(',' + quotedstr(trim(CDS_3.fieldbyname('TMMId').AsString)));
sql.Add(') ');
sql.Add('insert into SY_SysLog(operor,opertime,Model,acction,opevent,result) values( ');
sql.Add(' ' + quotedstr(trim(DName)));
sql.Add(',getdate() ');
sql.Add(',' + quotedstr(trim(self.Caption)));
sql.Add(',' + quotedstr(trim('<27>ƻ<EFBFBD><C6BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>')));
sql.Add(',' + quotedstr(trim('<27>ƻ<EFBFBD><C6BB><EFBFBD><EFBFBD>ţ<EFBFBD>' + trim(CDS_3.FieldByName('TMMNO').AsString))));
sql.Add(',' + quotedstr(trim('<27>ɹ<EFBFBD>')));
sql.Add(')');
execsql;
end;
end;
end.