D10myYicheng/发货申请(ShipmentRequest.dll)/U_PBOutHZList.pas
2025-05-27 14:08:09 +08:00

902 lines
30 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_PBOutHZList;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, cxStyles, cxCustomData, cxGraphics, cxFilter, cxData, cxDataStorage,
cxEdit, DB, cxDBData, cxGridCustomTableView, cxGridTableView,
cxGridBandedTableView, cxGridDBBandedTableView, cxGridLevel, cxClasses,
cxControls, cxGridCustomView, cxGridDBTableView, cxGrid, StdCtrls, ComCtrls,
ExtCtrls, ToolWin, cxGridCustomPopupMenu, cxGridPopupMenu, ADODB, DBClient,
cxDropDownEdit, RM_Common, RM_Class, RM_e_Xls, RM_Dataset, RM_System,
RM_GridReport, cxCheckBox, Menus, MovePanel, BtnEdit, cxCalendar,
cxLookAndFeels, cxLookAndFeelPainters, dxSkinsCore, dxSkinsDefaultPainters,
cxNavigator, dxDateRanges, dxBarBuiltInMenu, U_BaseList;
type
TfrmPBOutHZList = class(TFrmBaseList)
ToolBar1: TToolBar;
TBRafresh: TToolButton;
TBFind: TToolButton;
TBExport: TToolButton;
TBClose: TToolButton;
Panel1: TPanel;
ADOQueryCmd: TADOQuery;
ADOQueryMain: TADOQuery;
ADOQueryTemp: TADOQuery;
DataSource1: TDataSource;
cxGridPopupMenu1: TcxGridPopupMenu;
Label1: TLabel;
Label2: TLabel;
BegDate: TDateTimePicker;
EndDate: TDateTimePicker;
CDS_Main1: TClientDataSet;
RM1: TRMGridReport;
RMXLSExport1: TRMXLSExport;
Label10: TLabel;
FSID: TEdit;
MovePanel2: TMovePanel;
Label3: TLabel;
Label5: TLabel;
PrtCodeName: TEdit;
ConNo: TEdit;
Label8: TLabel;
CRType: TComboBox;
ADOQueryDH: TADOQuery;
ADOQueryPrint: TADOQuery;
Label12: TLabel;
PrtCode: TEdit;
Label14: TLabel;
CustomerNoName: TEdit;
CDS_Juan: TClientDataSet;
CDS_JuanPRT: TClientDataSet;
RMDB_Main: TRMDBDataSet;
cxGrid1: TcxGrid;
Tv1: TcxGridDBTableView;
v1Column8: TcxGridDBColumn;
v1Column3: TcxGridDBColumn;
v1Column16: TcxGridDBColumn;
v1Column15: TcxGridDBColumn;
v1Column9: TcxGridDBColumn;
v1CustomerNoName: TcxGridDBColumn;
v1OrdPerson1: TcxGridDBColumn;
v1OrdDate: TcxGridDBColumn;
v1Column11: TcxGridDBColumn;
v1Column1: TcxGridDBColumn;
v1Column13: TcxGridDBColumn;
v1Column17: TcxGridDBColumn;
v1Column18: TcxGridDBColumn;
v1Column19: TcxGridDBColumn;
v1Column7: TcxGridDBColumn;
cxGrid1Level1: TcxGridLevel;
v1Column5: TcxGridDBColumn;
v1Column21: TcxGridDBColumn;
Label4: TLabel;
SQBatchNoHZ: TEdit;
v1Column22: TcxGridDBColumn;
v1Column23: TcxGridDBColumn;
ToolButton1: TToolButton;
ComboBox1: TComboBox;
ToolButton2: TToolButton;
v1Column24: TcxGridDBColumn;
v1Column4: TcxGridDBColumn;
CDS_Main: TClientDataSet;
v1Column6: TcxGridDBColumn;
v1Column2: TcxGridDBColumn;
CDS_Label: TClientDataSet;
procedure FormDestroy(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure FormCreate(Sender: TObject);
procedure TBRafreshClick(Sender: TObject);
procedure ConNoMChange(Sender: TObject);
procedure TBCloseClick(Sender: TObject);
procedure FormShow(Sender: TObject);
procedure TBExportClick(Sender: TObject);
procedure TBFindClick(Sender: TObject);
procedure MPRTCodeNameChange(Sender: TObject);
procedure orderNoChange(Sender: TObject);
procedure PrtCodeNameChange(Sender: TObject);
procedure ConNoKeyPress(Sender: TObject; var Key: Char);
procedure CheJianChange(Sender: TObject);
procedure ToolButton1Click(Sender: TObject);
procedure ToolButton2Click(Sender: TObject);
procedure v1Column4PropertiesChange(Sender: TObject);
procedure ConNoChange(Sender: TObject);
private
procedure InitGrid();
function YSData(Order_Main10: TClientDataSet): Boolean;
procedure GetLotData();
procedure GetLotDataPT();
{ Private declarations }
public
{ Public declarations }
end;
//var
// frmPBOutHZList:TfrmPBOutHZList;
implementation
uses
U_DataLink, U_RTFun, U_ZDYHelp;
{$R *.dfm}
procedure TfrmPBOutHZList.FormDestroy(Sender: TObject);
begin
inherited;
// frmPBOutHZList:=nil;
end;
procedure TfrmPBOutHZList.FormClose(Sender: TObject; var Action: TCloseAction);
begin
inherited;
Action := caFree;
end;
procedure TfrmPBOutHZList.FormCreate(Sender: TObject);
begin
inherited;
//cxGrid1.Align:=alClient;
BegDate.DateTime := SGetServerDateTime(ADOQueryTemp);
EndDate.DateTime := SGetServerDateTime(ADOQueryTemp)
end;
procedure TfrmPBOutHZList.InitGrid();
begin
try
ADOQueryMain.DisableControls;
with ADOQueryMain do
begin
Filtered := False;
Close;
sql.Clear;
Sql.Add(' select A.* ');
sql.Add(' from FHSQ_Main A');
sql.Add(' where A.FHDate>=''' + Trim(FormatDateTime('yyyy-MM-dd', BegDate.Date)) + '''');
sql.Add(' and A.FHDate<''' + Trim(FormatDateTime('yyyy-MM-dd', EndDate.Date + 1)) + '''');
sql.Add(' and Chker<>'''' ');
sql.Add(' and FHPSHZ>0');
// ShowMessage(SQL.Text);
Open;
end;
SCreateCDS(ADOQueryMain, CDS_Main);
SInitCDSData(ADOQueryMain, CDS_Main);
finally
ADOQueryMain.EnableControls;
end;
end;
procedure TfrmPBOutHZList.TBRafreshClick(Sender: TObject);
begin
BegDate.SetFocus;
InitGrid();
end;
procedure TfrmPBOutHZList.ConNoMChange(Sender: TObject);
begin
if ADOQueryMain.Active then
begin
SDofilter(ADOQueryMain, SGetFilters(Panel1, 1, 2));
end;
end;
procedure TfrmPBOutHZList.TBCloseClick(Sender: TObject);
begin
WriteCxGrid(Self.Caption + '1', Tv1, '<27><><EFBFBD><EFBFBD><EFBFBD>ֿ<EFBFBD>');
Close;
end;
procedure TfrmPBOutHZList.FormShow(Sender: TObject);
var
fsj: string;
begin
inherited;
ReadCxGrid(Self.Caption, Tv1, '<27><><EFBFBD><EFBFBD><EFBFBD>ֿ<EFBFBD>');
ReadCxGrid(Self.Caption + '1', Tv1, '<27><><EFBFBD><EFBFBD><EFBFBD>ֿ<EFBFBD>');
fsj := 'select distinct(LMName) name from Lbael_Map where LMType=''<27><><EFBFBD><EFBFBD><EFBFBD>뵥'' ';
SInitComBoxBySql(ADOQueryCmd, ComboBox1, true, fsj);
with ADOQueryTemp do
begin
Filtered := False;
Close;
sql.Clear;
Sql.Add('select * from Lbael_Map where LMType=''<27><><EFBFBD><EFBFBD><EFBFBD>뵥''');
Open;
end;
SCreateCDS(ADOQueryTemp, CDS_Label);
SInitCDSData(ADOQueryTemp, CDS_Label);
end;
procedure TfrmPBOutHZList.TBExportClick(Sender: TObject);
begin
if ADOQueryMain.IsEmpty then
exit;
// SelExportData(Tv1, ADOQueryMain, '');
end;
procedure TfrmPBOutHZList.TBFindClick(Sender: TObject);
begin
if ADOQueryMain.Active then
begin
SDofilter(ADOQueryMain, SGetFilters(Panel1, 1, 2));
SCreateCDS(ADOQueryMain, CDS_Main);
SInitCDSData(ADOQueryMain, CDS_Main);
end;
end;
procedure TfrmPBOutHZList.MPRTCodeNameChange(Sender: TObject);
begin
TBFind.Click;
end;
procedure TfrmPBOutHZList.GetLotDataPT();
var
FPCode, FColor, FBaoNo, FHZ, fPrintFile, FPlanNo, PCodeColor, JSKHConNo: string;
i, ii, j, z, bb, hh: Integer;
XJ: Double;
begin
if CDS_Main.IsEmpty then
Exit;
with ADOQueryPrint do
begin
Close;
sql.Clear;
sql.Add('select defStr0=Cast('''' as varchar(20)), defstr1=Cast(0 as decimal(18,2)),defstr2=Cast(0 as decimal(18,2))');
sql.add(',defstr3=Cast(0 as decimal(18,2)),defstr4=Cast(0 as decimal(18,2)),defstr5=Cast(0 as decimal(18,2))');
sql.add(',defstr6=Cast(0 as decimal(18,2)),defstr7=Cast(0 as decimal(18,2)),defstr8=Cast(0 as decimal(18,2))');
sql.add(',defstr9=Cast(0 as decimal(18,2)),defstr10=Cast(0 as decimal(18,2))');
sql.Add(',DefJ1=Cast(0 as int),DefJ2=Cast(0 as int),DefJ3=Cast(0 as int),DefJ4=Cast(0 as int)');
sql.Add(',DefJ5=Cast(0 as int),DefJ6=Cast(0 as int),DefJ7=Cast(0 as int),DefJ8=Cast(0 as int)');
sql.Add(',DefJ9=Cast(0 as int),DefJ10=Cast(0 as int)');
Open;
end;
SCreateCDS(ADOQueryPrint, CDS_JuanPRT);
SInitCDSData(ADOQueryPrint, CDS_JuanPRT);
if CDS_JuanPRT.IsEmpty = False then
begin
CDS_JuanPRT.Delete;
end;
with CDS_JuanPRT do
begin
for z := 1 to 10 do
begin
Append;
FieldByName('defStr0').Value := IntToStr(z);
Post;
end;
end;
with ADOQueryTemp do
begin
Close;
sql.Clear;
sql.Add(' select A.KGQty,JQty=1 ');
sql.Add(' from CK_PBCP_CR A ');
sql.Add(' where 1=1 ');
sql.Add(' and A.CRFlag=''<27><><EFBFBD><EFBFBD>'' ');
SQL.Add(' and CKOrdNo=''' + Trim(CDS_Main.fieldbyname('CKOrdNo').AsString) + '''');
Open;
end;
ii := ADOQueryTemp.RecordCount;
ii := ii div 100;
ii := ii + 1;
bb := ii;
i := 1;
j := 1;
hh := 0;
with ADOQueryTemp do
begin
First;
while not Eof do
begin
if i < 11 then
begin
CDS_JuanPRT.Locate('defstr0', IntToStr(i + hh * 10), []);
with CDS_JuanPRT do
begin
Edit;
FieldByName('defstr' + Trim(inttostr(j))).Value := ADOQueryTemp.fieldbyname('KGQty').Value;
FieldByName('DefJ' + Trim(inttostr(j))).Value := 1;
Post;
end;
i := i + 1;
end
else
begin
j := j + 1;
if j < 11 then
begin
CDS_JuanPRT.Locate('defstr0', IntToStr(1 + hh * 10), []);
with CDS_JuanPRT do
begin
Edit;
FieldByName('defstr' + Trim(inttostr(j))).Value := ADOQueryTemp.fieldbyname('KGQty').Value;
FieldByName('DefJ' + Trim(inttostr(j))).Value := 1;
Post;
end;
i := 2;
end
else
begin
if bb = ii then
begin
hh := 1;
end
else
begin
hh := hh + 1;
end;
if hh < ii then
begin
with CDS_JuanPRT do
begin
for z := 1 + hh * 10 to 10 + hh * 10 do
begin
Append;
FieldByName('defStr0').Value := IntToStr(z);
Post;
end;
end;
bb := -1;
CDS_JuanPRT.Locate('defstr0', Trim(IntToStr(1 + hh * 10)), []);
with CDS_JuanPRT do
begin
Edit;
FieldByName('defstr1').Value := ADOQueryTemp.fieldbyname('KGQty').Value;
FieldByName('DefJ' + Trim(inttostr(j - (10)))).Value := 1;
Post;
end;
i := 2;
j := 1;
end;
end;
end;
Next;
end;
end;
CDS_JuanPRT.DisableControls;
with CDS_JuanPRT do
begin
First;
while not Eof do
begin
CDS_JuanPRT.Edit;
if (CDS_JuanPRT.FieldByName('defstr0').AsInteger mod 10) <> 0 then
CDS_JuanPRT.FieldByName('defstr0').Value := IntToStr(CDS_JuanPRT.FieldByName('defstr0').AsInteger mod 10)
else
CDS_JuanPRT.FieldByName('defstr0').Value := '10';
CDS_JuanPRT.Post;
Next;
end;
end;
CDS_JuanPRT.EnableControls;
end;
procedure TfrmPBOutHZList.GetLotData();
var
XHLie, XHHang: Integer;
FHZ: string;
begin
if CDS_Main.IsEmpty then
Exit;
with ADOQueryTemp do
begin
Close;
sql.Clear;
sql.Add('select AA.* ');
sql.Add('from(select gangno=B.CarNo,B.MJXH,MJMaoZ=A.KgQty,A.MainId,C.C_Color,C.BatchNoHZ');
sql.Add(' ,GQty=(select sum(MJMaoZ) from CK_PBCP_CR CR inner join WFB_MJJY_PB XH on CR.MJID=XH.MJID ');
sql.add(' where CR.CKOrdNo=A.CKOrdNo and XH.CarNo=B.CarNo and XH.MainId=B.MainId ) ');
sql.Add(' ,GPS=(select count(*) from CK_PBCP_CR CR inner join WFB_MJJY_PB XH on CR.MJID=XH.MJID ');
sql.add(' where CR.CKOrdNo=A.CKOrdNo and XH.CarNo=B.CarNo and XH.MainId=B.MainId) ');
sql.add(' from CK_PBCP_CR A');
sql.Add(' inner join WFB_MJJY_PB B on A.MJID=B.MJID ');
sql.Add(' inner join Cloth_Sub C on B.SubId=C.SubId');
sql.Add(' where A.CKOrdNo=''' + Trim(CDS_Main.fieldbyname('CKOrdNo').AsString) + '''');
sql.Add(' )AA order by MainId,Cast(GangNo as int),MJXH');
Open;
end;
SCreateCDS(ADOQueryTemp, CDS_Juan);
SInitCDSData(ADOQueryTemp, CDS_Juan);
with ADOQueryTemp do
begin
Close;
sql.Clear;
sql.Add('select');
sql.Add(' PCode=Cast('''' as varchar(20)),ColorNo=Cast('''' as varchar(20)),');
sql.Add(' GangNo=Cast('''' as varchar(20)),MainId=Cast('''' as varchar(20)),');
sql.Add(' LenQty0=Cast(0.00 as decimal(18,1)),LenQty1=Cast(0.00 as decimal(18,1)),');
sql.Add(' LenQty2=Cast(0.00 as decimal(18,1)),LenQty3=Cast(0.00 as decimal(18,1)),');
sql.Add(' LenQty4=Cast(0.00 as decimal(18,1)),LenQty5=Cast(0.00 as decimal(18,1)),');
sql.Add(' LenQty6=Cast(0.00 as decimal(18,1)),LenQty7=Cast(0.00 as decimal(18,1)),');
sql.Add(' LenQty8=Cast(0.00 as decimal(18,1)),LenQty9=Cast(0.00 as decimal(18,1)),');
sql.Add(' LenQty10=Cast(0.00 as decimal(18,1)),LenQty11=Cast(0.00 as decimal(18,1)),');
sql.Add(' MJPS0=Cast(0 as int),MJPS1=Cast(0 as int),');
sql.Add(' MJPS2=Cast(0 as int),MJPS3=Cast(0 as int),');
sql.Add(' MJPS4=Cast(0 as int),MJPS5=Cast(0 as int),');
sql.Add(' MJPS6=Cast(0 as int),MJPS7=Cast(0 as int),');
sql.Add(' MJPS8=Cast(0 as int),MJPS9=Cast(0 as int),');
sql.Add(' MJPS10=Cast(0 as int),MJPS11=Cast(0 as int),');
sql.Add(' JuanQty=Cast(0 as int),GPS=Cast(0 as int),GQty=Cast(0 as decimal(18,1)),');
sql.Add(' GPrice=Cast(0 as decimal(18,2)),GMoney=Cast(0 as decimal(18,2)),');
sql.Add(' PCodeColorNo=cast('''' as varchar(50)),Hang=Cast(0 as int),');
sql.Add(' PCodeColorNoG=cast('''' as varchar(50))');
sql.Add(' ,BatchNoHZ=cast('''' as varchar(50))');
Open;
end;
SCreateCDS(ADOQueryTemp, CDS_JuanPRT);
SInitCDSData(ADOQueryTemp, CDS_JuanPRT);
if CDS_JuanPRT.IsEmpty = False then
begin
CDS_JuanPRT.Delete;
end;
CDS_Juan.DisableControls;
with CDS_Juan do
begin
First;
while not Eof do
begin
with CDS_JuanPRT do
begin
if CDS_JuanPRT.IsEmpty then
begin
XHLie := 0;
XHHang := 0;
CDS_JuanPRT.Append;
CDS_JuanPRT.FieldByName('GangNo').Value := CDS_Juan.fieldbyname('GangNo').Value;
CDS_JuanPRT.FieldByName('BatchNoHZ').Value := CDS_Juan.fieldbyname('BatchNoHZ').Value;
CDS_JuanPRT.FieldByName('MainId').Value := CDS_Juan.fieldbyname('MainId').Value;
CDS_JuanPRT.FieldByName('PCodeColorNoG').Value := ' ' + Trim(CDS_Juan.fieldbyname('MainId').AsString) + '#' + Trim(CDS_Juan.fieldbyname('gangno').AsString) + ' ';
CDS_JuanPRT.FieldByName('MJPS' + Inttostr(XHLie)).Value := 1;
CDS_JuanPRT.FieldByName('Hang').Value := XHHang;
CDS_JuanPRT.FieldByName('LenQty' + Trim(IntToStr(XHLie))).Value := CDS_Juan.fieldbyname('MJMaoZ').Value;
CDS_JuanPRT.FieldByName('GPS').Value := CDS_Juan.fieldbyname('GPS').Value;
CDS_JuanPRT.FieldByName('GQty').Value := CDS_Juan.fieldbyname('GQty').Value;
CDS_JuanPRT.Post;
FHZ := Trim(CDS_Juan.fieldbyname('MainId').AsString) + Trim(CDS_Juan.fieldbyname('gangno').AsString);
end
else
begin
if (Trim(CDS_Juan.fieldbyname('MainId').AsString) + Trim(CDS_Juan.fieldbyname('GangNo').AsString)) <> FHZ then
begin
XHLie := 0;
XHHang := 0;
CDS_JuanPRT.Append;
CDS_JuanPRT.FieldByName('GangNo').Value := CDS_Juan.fieldbyname('GangNo').Value;
CDS_JuanPRT.FieldByName('BatchNoHZ').Value := CDS_Juan.fieldbyname('BatchNoHZ').Value;
CDS_JuanPRT.FieldByName('MainId').Value := CDS_Juan.fieldbyname('MainId').Value;
CDS_JuanPRT.FieldByName('PCodeColorNoG').Value := ' ' + Trim(CDS_Juan.fieldbyname('MainId').AsString) + '#' + Trim(CDS_Juan.fieldbyname('gangno').AsString) + ' ';
CDS_JuanPRT.FieldByName('MJPS' + Inttostr(XHLie)).Value := 1;
CDS_JuanPRT.FieldByName('Hang').Value := XHHang;
CDS_JuanPRT.FieldByName('LenQty' + Trim(IntToStr(XHLie))).Value := CDS_Juan.fieldbyname('MJMaoZ').Value;
CDS_JuanPRT.FieldByName('GPS').Value := CDS_Juan.fieldbyname('GPS').Value;
CDS_JuanPRT.FieldByName('GQty').Value := CDS_Juan.fieldbyname('GQty').Value;
CDS_JuanPRT.Post;
FHZ := Trim(CDS_Juan.fieldbyname('MainId').AsString) + Trim(CDS_Juan.fieldbyname('GangNo').AsString);
end
else
begin
XHLie := XHLie + 1;
if XHLie < 10 then
begin
CDS_JuanPRT.Locate('Mainid;GangNo;Hang', VarArrayOf([Trim(CDS_Juan.fieldbyname('Mainid').AsString), Trim(CDS_Juan.fieldbyname('GangNo').AsString), XHHang]), [loPartialKey]);
with CDS_JuanPRT do
begin
Edit;
CDS_JuanPRT.FieldByName('GangNo').Value := CDS_Juan.fieldbyname('GangNo').Value;
CDS_JuanPRT.FieldByName('BatchNoHZ').Value := CDS_Juan.fieldbyname('BatchNoHZ').Value;
CDS_JuanPRT.FieldByName('Mainid').Value := CDS_Juan.fieldbyname('Mainid').Value;
CDS_JuanPRT.FieldByName('PCodeColorNoG').Value := ' ' + Trim(CDS_Juan.fieldbyname('Mainid').AsString) + '#' + Trim(CDS_Juan.fieldbyname('gangno').AsString) + ' ';
CDS_JuanPRT.FieldByName('MJPS' + Inttostr(XHLie)).Value := 1;
CDS_JuanPRT.FieldByName('Hang').Value := XHHang;
CDS_JuanPRT.FieldByName('LenQty' + Trim(IntToStr(XHLie))).Value := CDS_Juan.fieldbyname('MJMaoZ').Value;
CDS_JuanPRT.FieldByName('GPS').Value := CDS_Juan.fieldbyname('GPS').Value;
CDS_JuanPRT.FieldByName('GQty').Value := CDS_Juan.fieldbyname('GQty').Value;
Post;
end;
end
else
begin
XHLie := 0;
XHHang := XHHang + 1;
CDS_JuanPRT.Append;
CDS_JuanPRT.FieldByName('GangNo').Value := CDS_Juan.fieldbyname('GangNo').Value;
CDS_JuanPRT.FieldByName('BatchNoHZ').Value := CDS_Juan.fieldbyname('BatchNoHZ').Value;
CDS_JuanPRT.FieldByName('Mainid').Value := CDS_Juan.fieldbyname('Mainid').Value;
//CDS_JuanPRT.FieldByName('PCodeColorNo').Value:=' '+Trim(CDS_Juan.fieldbyname('PCode').AsString)+'#'
//+Trim(CDS_Juan.fieldbyname('ColorNo').AsString);
CDS_JuanPRT.FieldByName('PCodeColorNoG').Value := ' ' + Trim(CDS_Juan.fieldbyname('Mainid').AsString) + '#' + Trim(CDS_Juan.fieldbyname('gangno').AsString) + ' ';
CDS_JuanPRT.FieldByName('MJPS' + Inttostr(XHLie)).Value := 1;
CDS_JuanPRT.FieldByName('Hang').Value := XHHang;
CDS_JuanPRT.FieldByName('LenQty' + Trim(IntToStr(XHLie))).Value := CDS_Juan.fieldbyname('MJMaoZ').Value;
CDS_JuanPRT.FieldByName('GPS').Value := CDS_Juan.fieldbyname('GPS').Value;
CDS_JuanPRT.FieldByName('GQty').Value := CDS_Juan.fieldbyname('GQty').Value;
CDS_JuanPRT.Post;
end;
end;
end
end;
Next;
end;
end;
CDS_Juan.EnableControls;
end;
procedure TfrmPBOutHZList.orderNoChange(Sender: TObject);
begin
if Length(ConNo.Text) < 4 then
Exit;
TBFind.Click;
end;
function TfrmPBOutHZList.YSData(Order_Main10: TClientDataSet): Boolean;
var
CRID, YFID, Price, PriceUnit, OrderUnit: string;
begin
Result := False;
with ADOQueryTemp do
begin
Close;
SQL.Clear;
sql.Add('select Top 1 * from JYOrder_Sub Where Mainid=''' + Trim(Order_Main10.fieldbyname('MainId').AsString) + '''');
//sql.Add(' and PRTPrice>0');
Open;
end;
{Price:=ADOQueryTemp.fieldbyname('PRTPrice').AsString;
if Trim(Price)='' then
begin
Price:='0';
end; }
PriceUnit := Trim(ADOQueryTemp.fieldbyname('PriceUnit').AsString);
OrderUnit := Trim(ADOQueryTemp.fieldbyname('OrderUnit').AsString);
with ADOQueryTemp do
begin
Close;
SQL.Clear;
sql.Add('select * from YF_Money_KC where FactoryName=''' + Trim(Order_Main10.fieldbyname('KHName').AsString) + '''');
Open;
end;
if ADOQueryTemp.IsEmpty = False then
begin
CRID := ADOQueryTemp.fieldbyname('CRID').AsString;
end
else
begin
with ADOQueryCmd do
begin
Close;
sql.Clear;
sql.Add('Update YF_Money_CRID set CRID=CRID+1');
sql.Add('select * from YF_Money_CRID ');
Open;
end;
CRID := ADOQueryCmd.fieldbyname('CRID').AsString;
with ADOQueryCmd do
begin
Close;
SQL.Clear;
sql.Add('select * from YF_Money_KC where 1<>1');
Open;
end;
with ADOQueryCmd do
begin
Append;
FieldByName('CRID').Value := StrToInt(CRID);
FieldByName('FactoryName').Value := Trim(Order_Main10.fieldbyname('KHName').AsString);
FieldByName('ZdyStr1').Value := <><D3A6><EFBFBD><EFBFBD>';
Post;
end;
end;
with ADOQueryTemp do
begin
Close;
sql.Clear;
sql.Add('select * from YF_Money_CR where FactoryName=''' + Trim(Order_Main10.fieldbyname('KHName').AsString) + '''');
sql.Add(' and YFTypeId=''' + Trim(Order_Main10.fieldbyname('Mainid').AsString) + '''');
sql.Add(' and Price=''' + Trim(Order_Main10.fieldbyname('PRTPrice').AsString) + '''');
Open;
end;
if ADOQueryTemp.IsEmpty then
begin
if GetLSNo(ADOQueryCmd, YFID, 'CS', 'YF_Money_CR', 3, 1) = False then
begin
Application.MessageBox(<><C8A1><EFBFBD><EFBFBD>Ӧ<EFBFBD><D3A6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʧ<EFBFBD><CAA7>!', '<27><>ʾ', 0);
Exit;
end;
{with ADOQueryCmd do
begin
Close;
sql.Clear;
sql.Add('select * from YF_Money_CR where 1<>1');
Open;
end;
with ADOQueryCmd do
begin
Append;
FieldByName('YFID').Value:=Trim(YFID);
FieldByName('YFTypeId').Value:=Trim(Order_Main10.fieldbyname('MainId').AsString);
FieldByName('CRID').Value:=StrToInt(CRID);
FieldByName('Filler').Value:=Trim(DName);
FieldByName('CRType').Value:='Ӧ<>տ<EFBFBD><D5BF>Ǽ<EFBFBD>';
FieldByName('CRFlag').Value:='Ӧ<><D3A6><EFBFBD><EFBFBD>';
FieldByName('QtyFlag').Value:=1;
FieldByName('FactoryName').Value:=Trim(Order_Main10.fieldbyname('KHName').AsString);
FieldByName('CRTime').Value:=SGetServerDateTime(ADOQueryTemp);
FieldByName('YFType').Value:='<27>Զ<EFBFBD><D4B6><EFBFBD><EFBFBD><EFBFBD>';
FieldByName('Price').Value:=Price;
//FieldByName('HuiLv').Value:=1;
FieldByName('BZType').Value:=Trim(PriceUnit);
FieldByName('QtyUnit').Value:=Trim(OrderUnit);
FieldByName('YFName').Value:='<27><><EFBFBD>۽<EFBFBD><DBBD><EFBFBD>';
FieldByName('MainId').Value:=Trim(Order_Main10.fieldbyname('Mainid').AsString);
Post;
end; }
end
else
begin
YFID := Trim(ADOQueryTemp.fieldbyname('YFID').AsString);
end;
with ADOQueryCmd do
begin
Close;
sql.Clear;
sql.Add('update YF_Money_CR Set Qty=(select isnull(Sum(Qty),0) from CK_BanCP_CR A ');
sql.Add(' inner join JYOrder_Sub B on A.SubId=B.SubId where');
SQL.Add(' A.MainId=YF_Money_CR.YFTypeId and A.CRType=''<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>'' and CPType=''<27><>Ʒ'' ');
SQL.Add(' and B.PRTPrice=YF_Money_CR.Price)');
sql.Add(',PS=(select isnull(count(*),0) from CK_BanCP_CR A ');
sql.Add(' inner join JYOrder_Sub B on A.SubId=B.SubId where');
SQL.Add(' A.MainId=YF_Money_CR.YFTypeId and A.CRType=''<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>'' and CPType=''<27><>Ʒ'' ');
SQL.Add(' and B.PRTPrice=YF_Money_CR.Price )');
sql.Add(' where YFTypeId=''' + Trim(Order_Main10.fieldbyname('Mainid').AsString) + '''');
sql.Add(' and Price=' + Order_Main10.fieldbyname('PRTPrice').AsString);
ExecSQL;
end;
with ADOQueryCmd do
begin
Close;
sql.Clear;
sql.Add('Update YF_Money_CR Set Money=Price*Qty,BBMoney=Price*Qty*HuiLv');
sql.Add(' where YFID=''' + Trim(YFID) + '''');
ExecSQL;
end;
with ADOQueryCmd do
begin
Close;
sql.Clear;
sql.Add('Update YF_Money_KC Set KCMoney=(select isnull(Sum(Money*QtyFlag),0) from YF_Money_CR A where A.CRID=YF_Money_KC.CRID)');
sql.Add(',KCBBMoney=(select isnull(Sum(BBMoney*QtyFlag),0) from YF_Money_CR A where A.CRID=YF_Money_KC.CRID)');
sql.Add(' where CRID=' + CRID);
ExecSQL;
end;
with ADOQueryTemp do
begin
Close;
sql.Clear;
sql.Add('select * from YF_Money_CR where YFId=''' + Trim(YFID) + '''');
Open;
end;
if ADOQueryTemp.FieldByName('Qty').Value = 0 then
begin
with ADOQueryCmd do
begin
Close;
sql.Clear;
sql.Add('delete from YF_Money_CR where YFID=''' + Trim(YFID) + '''');
ExecSQL;
end;
end;
with ADOQueryTemp do
begin
Close;
sql.Clear;
sql.Add('select * from YF_Money_CR where CRId=' + CRID);
Open;
end;
if ADOQueryTemp.IsEmpty then
begin
with ADOQueryCmd do
begin
Close;
sql.Clear;
sql.Add('delete from YF_Money_KC where CRId=' + CRID);
ExecSQL;
end;
end;
Result := True;
end;
procedure TfrmPBOutHZList.PrtCodeNameChange(Sender: TObject);
begin
TBFind.Click;
end;
procedure TfrmPBOutHZList.ConNoKeyPress(Sender: TObject; var Key: Char);
begin
if Key = #13 then
begin
if Length(Trim(ConNo.Text)) < 4 then
Exit;
try
ADOQueryMain.DisableControls;
with ADOQueryMain do
begin
Filtered := False;
Close;
sql.Clear;
SQL.Add('select A.*,B.ConNo,C.C_CodeName,C.C_Code,C.C_Color,D.APXH ');
sql.add('from CK_PBCP_CR A ');
Sql.add(' inner join Cloth_Main B on A.MainId=B.MainId');
Sql.add(' inner join Cloth_Sub C on A.MainId=C.MainId');
Sql.add(' inner join WFB_MJJY_PB D on A.MJId=D.MJId');
sql.add('where B.ConNo like :ConNo');
SQL.Add(' and CRFlag=''<27><><EFBFBD><EFBFBD>'' ');
Parameters.ParamByName('ConNo').Value := '%' + Trim(ConNo.Text) + '%';
Open;
//ShowMessage(SQL.Text);
end;
SCreateCDS(ADOQueryMain, CDS_Main);
SInitCDSData(ADOQueryMain, CDS_Main);
finally
ADOQueryMain.EnableControls;
end;
end;
end;
procedure TfrmPBOutHZList.CheJianChange(Sender: TObject);
begin
TBFind.Click;
end;
procedure TfrmPBOutHZList.ToolButton1Click(Sender: TObject);
var
fPrintFile: string;
begin
if CDS_Main.IsEmpty then
EXIT;
ExportFtErpFile(trim(ComboBox1.Text) + '.rmf', ADOQueryTemp);
if CDS_Label.Locate('LMName', trim(ComboBox1.Text), []) then
begin
with ADOQueryTemp do
begin
Close;
sql.Clear;
sql.add('exec ' + trim(CDS_Label.fieldbyname('LMSql').AsString) + ' @CKOrdNo=' + quotedstr(Trim(CDS_Main.fieldbyname('FSID').AsString)));
Open;
end;
SCreateCDS(ADOQueryTemp, CDS_JuanPRT);
SInitCDSData(ADOQueryTemp, CDS_JuanPRT);
end;
fPrintFile := ExtractFilePath(Application.ExeName) + 'Report\' + Trim(ComboBox1.Text) + '.rmf';
if FileExists(fPrintFile) then
begin
// RMVariables['OrdNo'] := Trim(CDS_Main.fieldbyname('OrdNo').AsString)<29><>
RM1.LoadFromFile(fPrintFile);
RM1.ShowReport;
end
else
begin
Application.MessageBox(PChar(<><C3BB><EFBFBD><EFBFBD>' + fPrintFile), '<27><>ʾ', 0);
end;
end;
procedure TfrmPBOutHZList.ToolButton2Click(Sender: TObject);
var
fPrintFile: string;
begin
with ADOQueryCmd do
begin
Close;
sql.Clear;
sql.Add('delete TBSubID where DName=''' + Trim(DCode) + '''');
ExecSQL;
end;
with ADOQueryCmd do
begin
Close;
sql.Clear;
sql.Add('SELECT * FROM TBSubID where 1=2 ');
open;
end;
CDS_Main.DisableControls;
try
ADOQueryCmd.Connection.BeginTrans;
with CDS_Main do
begin
First;
while not Eof do
begin
if CDS_Main.Fieldbyname('SSel').AsBoolean then
begin
ADOQueryCmd.append;
ADOQueryCmd.fieldbyname('SubId').Value := Trim(CDS_Main.fieldbyname('CKOrdNo').AsString);
ADOQueryCmd.fieldbyname('Dname').Value := Trim(DCode);
ADOQueryCmd.post;
end;
Next;
end;
end;
ADOQueryCmd.Connection.CommitTrans;
except
ADOQueryCmd.Connection.RollbackTrans;
end;
CDS_Main.EnableControls;
// with ADOQueryTemp do
// begin
// Close;
// sql.Clear;
// sql.Add('select D.ConNo orderno,count(B.MJXH) ps,sum(A.KgQty) mz,C.C_Color,C.BatchNoHZ');
// sql.Add(' from CK_PBCP_CR A');
// sql.Add(' inner join WFB_MJJY_PB B on A.MJID=B.MJID');
// sql.Add(' inner join Cloth_Sub C on B.SubId=C.SubId');
// sql.Add(' inner join Cloth_Main D on D.MainId=C.MainId');
// SQL.Add(' where A.CKOrdNo='+quotedstr(Trim(CDS_Main.fieldbyname('CKOrdNo').AsString)));
// SQL.Add(' group by D.ConNo,C.C_Color,C.BatchNoHZ ');
// SQL.Add(' order by D.ConNo,C.C_Color,C.BatchNoHZ');
// Open;
// end;
with ADOQueryTemp do
begin
Close;
sql.Clear;
sql.Add('select MAX(A.FHDate) MJDate,A.SHDanWei,A.CRType,A.TruckId,B.PrtCode,B.PrtCodeName,B.prtspec,C.CustomerNoName');
sql.Add(' ,G.ConNo,F.C_Color,F.BatchNoHZ,count(E.MJXH) ps,sum(D.KgQty) mz');
sql.Add(' from FHSQ_Main A inner join JYOrderCon_Sub_PB B on A.ConSubId=B.SubId');
sql.Add(' inner join JYOrderCon_Main_PB C on B.MainId=C.MainId');
sql.Add(' inner join CK_PBCP_CR D on D.CKOrdNo=A.FSId');
sql.Add(' inner join WFB_MJJY_PB E on E.MJID=D.MJID');
sql.Add(' inner join Cloth_Sub F on F.SubId=E.SubId');
sql.Add(' inner join Cloth_Main G on G.MainId=E.MainId');
SQL.Add(' where A.FSId in (SELECT distinct SubId FROM TBSubID where Dname=' + quotedstr(Trim(DCode)) + ')');
SQL.Add(' group by A.SHDanWei,A.CRType,A.TruckId,B.PrtCode,B.PrtCodeName,B.prtspec,C.CustomerNoName,G.ConNo,F.C_Color,F.BatchNoHZ');
SQL.Add(' order by A.SHDanWei,A.CRType,A.TruckId,B.PrtCode,B.PrtCodeName,B.prtspec,C.CustomerNoName,G.ConNo,F.C_Color,F.BatchNoHZ');
// ShowMessage(SQL.Text);
Open;
end;
SCreateCDS(ADOQueryTemp, CDS_JuanPRT);
SInitCDSData(ADOQueryTemp, CDS_JuanPRT);
fPrintFile := ExtractFilePath(Application.ExeName) + 'Report\<5C><><EFBFBD><EFBFBD><EFBFBD>뵥.rmf';
if FileExists(fPrintFile) then
begin
// RMVariables['ranchang']:=Trim(CDS_Main.fieldbyname('ranchang').AsString);
RM1.LoadFromFile(fPrintFile);
RM1.ShowReport;
end
else
begin
Application.MessageBox(PChar(<><C3BB><EFBFBD><EFBFBD>' + fPrintFile), '<27><>ʾ', 0);
end;
end;
procedure TfrmPBOutHZList.v1Column4PropertiesChange(Sender: TObject);
var
mvalue, FFieldName: string;
begin
mvalue := TcxCheckBox(Sender).EditValue;
FFieldName := Trim(Tv1.Controller.FocusedColumn.DataBinding.FilterFieldName);
with CDS_Main do
begin
Edit;
CDS_Main.FieldByName('SSel').value := mvalue;
post;
end;
end;
procedure TfrmPBOutHZList.ConNoChange(Sender: TObject);
begin
TBFind.Click;
end;
end.