D7DJqianjing/坯布码单待检(PBMDDJ.dll)/U_CPCKOutPut.pas
DESKTOP-E401PHE\Administrator f93521e038 ~
2025-07-18 16:11:03 +08:00

877 lines
32 KiB
ObjectPascal
Raw Permalink 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_CPCKOutPut;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, cxStyles, cxCustomData, cxGraphics, cxFilter, cxData, cxDataStorage,
cxEdit, DB, cxDBData, cxCalendar, cxDropDownEdit, ComCtrls, ToolWin,
cxGridLevel, cxGridCustomTableView, cxGridTableView, cxGridDBTableView,
cxClasses, cxControls, cxGridCustomView, cxGrid, cxGridCustomPopupMenu,
cxGridPopupMenu, ADODB, DBClient, cxButtonEdit, cxTextEdit, cxSpinEdit,
cxLookAndFeels, cxLookAndFeelPainters, cxNavigator;
type
TfrmCPCKOutPut = class(TForm)
ToolBar1: TToolBar;
TBAdd: TToolButton;
TBDel: TToolButton;
TBSave: TToolButton;
TBClose: TToolButton;
DataSource3: TDataSource;
CDS_Sub: TClientDataSet;
ADOQueryCmd: TADOQuery;
ADOQueryMain: TADOQuery;
ADOQueryTemp: TADOQuery;
cxGridPopupMenu2: TcxGridPopupMenu;
cxGrid2: TcxGrid;
Tv1: TcxGridDBTableView;
v1Column6: TcxGridDBColumn;
v1Column2: TcxGridDBColumn;
v1CRType: TcxGridDBColumn;
v1Column13: TcxGridDBColumn;
v1Column14: TcxGridDBColumn;
v2Column1: TcxGridDBColumn;
v1Column8: TcxGridDBColumn;
v1Column7: TcxGridDBColumn;
v1Column1: TcxGridDBColumn;
v1Column10: TcxGridDBColumn;
v1Column11: TcxGridDBColumn;
v1Column9: TcxGridDBColumn;
v2Column6: TcxGridDBColumn;
v1Column3: TcxGridDBColumn;
v1Column16: TcxGridDBColumn;
v1Column12: TcxGridDBColumn;
cxGrid2Level1: TcxGridLevel;
v1Column5: TcxGridDBColumn;
v1Column17: TcxGridDBColumn;
v1Column18: TcxGridDBColumn;
v1Column19: TcxGridDBColumn;
v1Column4: TcxGridDBColumn;
v1Column15: TcxGridDBColumn;
v1Column20: TcxGridDBColumn;
v1Column21: TcxGridDBColumn;
v1Column22: TcxGridDBColumn;
v1Column23: TcxGridDBColumn;
v1Column24: TcxGridDBColumn;
ToolButton1: TToolButton;
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure TBAddClick(Sender: TObject);
procedure TBCloseClick(Sender: TObject);
procedure FormShow(Sender: TObject);
procedure TBDelClick(Sender: TObject);
procedure TBSaveClick(Sender: TObject);
procedure v1Column1PropertiesButtonClick(Sender: TObject; AButtonIndex: Integer);
procedure v1Column11PropertiesButtonClick(Sender: TObject; AButtonIndex: Integer);
procedure v1Column5PropertiesButtonClick(Sender: TObject; AButtonIndex: Integer);
procedure Tv1MouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
procedure v1Column24PropertiesButtonClick(Sender: TObject; AButtonIndex: Integer);
procedure ToolButton1Click(Sender: TObject);
private
{ Private declarations }
function SaveCKData(): Boolean;
function YSData(Order_Main10: TClientDataSet): Boolean;
public
{ Public declarations }
FBCId: string;
end;
var
frmCPCKOutPut: TfrmCPCKOutPut;
implementation
uses
U_DataLink, U_RTFun, U_ClothContractListHZCX, U_ZDYHelp, U_DJBCKKCSelList,
U_GYSSelList, U_ZdyAttachGYS, U_ProductOrderListSel, U_ZdyAttachment,
U_CPCKKCSelList;
{$R *.dfm}
procedure TfrmCPCKOutPut.FormClose(Sender: TObject; var Action: TCloseAction);
begin
Action := caFree;
end;
procedure TfrmCPCKOutPut.TBAddClick(Sender: TObject);
begin
try
frmCPCKKCSelList := TfrmCPCKKCSelList.Create(Application);
with frmCPCKKCSelList do
begin
ToolButton1.Visible := True;
if ShowModal = 1 then
begin
frmCPCKKCSelList.CDS_Main.DisableControls;
with frmCPCKKCSelList.CDS_Main do
begin
First;
while Locate('SSel', True, []) do
begin
with Self.CDS_Sub do
begin
Append;
FieldByName('CRTime').Value := Trim(FormatDateTime('yyyy-MM-dd', Now));
FieldByName('ORDMainIdRK').Value := Trim(frmCPCKKCSelList.CDS_Main.fieldbyname('ORDMainIdRK').AsString);
FieldByName('ORDSubIdRK').Value := Trim(frmCPCKKCSelList.CDS_Main.fieldbyname('ORDSubIdRK').AsString);
FieldByName('ORDMainIdCK').Value := Trim(frmCPCKKCSelList.CDS_Main.fieldbyname('ORDMainIdRK').AsString);
FieldByName('ORDSubIdCK').Value := Trim(frmCPCKKCSelList.CDS_Main.fieldbyname('ORDSubIdRK').AsString);
FieldByName('QCOrderNo').Value := frmCPCKKCSelList.CDS_Main.fieldbyname('OrderNo').Value;
FieldByName('CKOrderNo').Value := frmCPCKKCSelList.CDS_Main.fieldbyname('OrderNo').Value;
FieldByName('SOrddefstr1').Value := frmCPCKKCSelList.CDS_Main.fieldbyname('SOrddefstr1').AsString;
FieldByName('PRTColor').Value := frmCPCKKCSelList.CDS_Main.fieldbyname('PRTColor').AsString;
FieldByName('PRTHX').Value := frmCPCKKCSelList.CDS_Main.fieldbyname('PRTHX').AsString;
FieldByName('PRTkuanNo').Value := frmCPCKKCSelList.CDS_Main.fieldbyname('PRTkuanNo').AsString;
FieldByName('FactoryName').Value := frmCPCKKCSelList.CDS_Main.fieldbyname('FactoryName').Value;
FieldByName('FactoryNo').Value := frmCPCKKCSelList.CDS_Main.fieldbyname('FactoryNo').Value;
FieldByName('SSType').Value := frmCPCKKCSelList.CDS_Main.fieldbyname('SSType').Value;
FieldByName('SPName').Value := frmCPCKKCSelList.CDS_Main.fieldbyname('SPName').Value;
FieldByName('SPSpec').Value := frmCPCKKCSelList.CDS_Main.fieldbyname('SPSpec').Value;
FieldByName('SPCF').Value := frmCPCKKCSelList.CDS_Main.fieldbyname('SPCF').Value;
FieldByName('SPMF').Value := frmCPCKKCSelList.CDS_Main.fieldbyname('SPMF').Value;
FieldByName('SPKZ').Value := frmCPCKKCSelList.CDS_Main.fieldbyname('SPKZ').Value;
FieldByName('RCGangNo').Value := frmCPCKKCSelList.CDS_Main.fieldbyname('RCGangNo').Value;
FieldByName('FromFactoryName').Value := frmCPCKKCSelList.CDS_Main.fieldbyname('ToFactoryName').Value;
FieldByName('FromFactoryNo').Value := frmCPCKKCSelList.CDS_Main.fieldbyname('ToFactoryNo').Value;
FieldByName('ToFactoryName').Value := frmCPCKKCSelList.CDS_Main.fieldbyname('ToFactoryName').Value;
FieldByName('ToFactoryNo').Value := frmCPCKKCSelList.CDS_Main.fieldbyname('ToFactoryNo').Value;
FieldByName('QtyUnit').Value := frmCPCKKCSelList.CDS_Main.fieldbyname('QtyUnit').Value;
FieldByName('PiQty').Value := frmCPCKKCSelList.CDS_Main.fieldbyname('MXKCPiQty').Value;
FieldByName('Qty').Value := frmCPCKKCSelList.CDS_Main.fieldbyname('MXKCQty').Value;
FieldByName('MPRTCode').Value := frmCPCKKCSelList.CDS_Main.fieldbyname('MPRTCode').Value;
FieldByName('FZSPID').Value := frmCPCKKCSelList.CDS_Main.fieldbyname('SPID').Value;
FieldByName('CRType').Value := '<27><><EFBFBD>۳<EFBFBD><DBB3><EFBFBD>';
end;
frmCPCKKCSelList.CDS_Main.Delete;
end;
end;
frmCPCKKCSelList.CDS_Main.EnableControls;
end;
end;
finally
frmCPCKKCSelList.Free;
end;
end;
function TfrmCPCKOutPut.SaveCKData(): Boolean;
var
FCRID, Maxno, FSPID, MaxPYNo, FPYID, FFSPID: string;
fkeyNo: string;
begin
try
ADOQueryCmd.Connection.BeginTrans;
CDS_Sub.DisableControls;
with CDS_Sub do
begin
First;
while not eof do
begin
with ADOQueryTemp do
begin
Close;
sql.Clear;
sql.Add('select * from CK_SXPB_CR where SPID=''' + Trim(CDS_Sub.fieldbyname('SPID').AsString) + '''');
Open;
end;
FSPID := Trim(ADOQueryTemp.fieldbyname('SPID').AsString);
FFSPID := Trim(ADOQueryTemp.fieldbyname('SPID').AsString);
if Trim(FSPID) = '' then
begin
if GetLSNo(ADOQueryCmd, Maxno, '', 'CK_SXPB_CR', 3, 1) = False then
begin
Result := False;
ADOQueryCmd.Connection.RollbackTrans;
Application.MessageBox(<><C8A1>Ʒ<EFBFBD><C6B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʧ<EFBFBD><CAA7>!', '<27><>ʾ', 0);
Exit;
end;
end
else
begin
Maxno := Trim(FSPID);
end;
with ADOQueryCmd do
begin
Close;
sql.Clear;
sql.Add('select * from CK_SXPB_CR where SPID=''' + Trim(Maxno) + '''');
Open;
end;
with ADOQueryCmd do
begin
if Trim(FSPID) = '' then
begin
Append;
end
else
begin
Edit;
end;
FieldByName('SPID').Value := Trim(Maxno);
FieldByName('ORDMainIdRK').Value := Trim(CDS_Sub.fieldbyname('ORDMainIdRK').AsString);
FieldByName('ORDSubIdRK').Value := Trim(CDS_Sub.fieldbyname('ORDSubIdRK').AsString);
FieldByName('ORDMainIdCK').Value := Trim(CDS_Sub.fieldbyname('ORDMainIdCK').AsString);
FieldByName('ORDSubIdCK').Value := Trim(CDS_Sub.fieldbyname('ORDSubIdCK').AsString);
FieldByName('FZSPID').Value := Trim(CDS_Sub.fieldbyname('FZSPID').AsString);
FieldByName('FactoryNo').Value := Trim(CDS_Sub.fieldbyname('FactoryNo').AsString);
FieldByName('FromFactoryNo').Value := Trim(CDS_Sub.fieldbyname('FromFactoryNo').AsString);
FieldByName('ToFactoryNo').Value := Trim(CDS_Sub.fieldbyname('ToFactoryNo').AsString);
FieldByName('MPRTCode').Value := Trim(CDS_Sub.fieldbyname('MPRTCode').AsString);
FieldByName('CRFlag').Value := '<27><><EFBFBD><EFBFBD>';
FieldByName('CRQtyFlag').Value := -1;
RTSetSaveDataCDS(ADOQueryCmd, Tv1, CDS_Sub, 'CK_SXPB_CR', 2);
FieldByName('CKName').Value := '<27><>Ʒ';
if Trim(CDS_Sub.fieldbyname('CRType').AsString) = 'ƽ<>Ƴ<EFBFBD><C6B3><EFBFBD>' then
begin
FieldByName('PYID').Value := Trim(Maxno);
end;
if Trim(CDS_Sub.fieldbyname('yunprice').AsString) <> '' then
begin
FieldByName('yunprice').Value := Trim(CDS_Sub.fieldbyname('yunprice').AsString);
end
else
begin
FieldByName('yunprice').Value := '0';
end;
if Trim(FSPID) = '' then
FieldByName('Filler').Value := Trim(DName)
else
begin
FieldByName('Editer').Value := Trim(DName);
FieldByName('EditTime').Value := SGetServerDate(ADOQueryTemp);
end;
FieldByName('Xs').Value := CDS_Sub.fieldbyname('Xs').AsFloat;
FieldByName('PiQty').Value := CDS_Sub.fieldbyname('PiQty').AsFloat;
FieldByName('Qty').Value := CDS_Sub.fieldbyname('Qty').AsFloat;
Post;
end;
with ADOQueryCmd do
begin
Close;
sql.Clear;
sql.Add('Update CK_SXPB_CR Set MXKCQty=(select sum(isnull(Qty,0)*CRQtyFlag) from CK_SXPB_CR A where A.FZSPID=CK_SXPB_CR.SPID)');
sql.Add(',MXKCPiQty=(select sum(isnull(PiQty,0)*CRQtyFlag) from CK_SXPB_CR A where A.FZSPID=CK_SXPB_CR.SPID)');
sql.Add(' where SPID=''' + Trim(CDS_Sub.fieldbyname('FZSPID').AsString) + '''');
ExecSQL;
end;
with ADOQueryTemp do
begin
Close;
sql.Clear;
sql.Add('select * from CK_SXPB_CR where SPID=''' + Trim(CDS_Sub.fieldbyname('FZSPID').AsString) + '''');
Open;
end;
if ADOQueryTemp.FieldByName('MXKCQty').Value < 0 then
begin
CDS_Sub.DisableControls;
ADOQueryCmd.Connection.RollbackTrans;
Application.MessageBox('<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڿ<EFBFBD><DABF><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ܱ<EFBFBD><DCB1><EFBFBD>!', '<27><>ʾ', 0);
Exit;
end;
if Trim(CDS_Sub.fieldbyname('CRType').AsString) = 'ƽ<>Ƴ<EFBFBD><C6B3><EFBFBD>' then
begin
with ADOQueryTemp do
begin
Close;
sql.Clear;
sql.Add('select * from CK_SXPB_CR where PYID=''' + Trim(Maxno) + '''');
sql.Add(' and isnull(CRType,'''')=''ƽ<><C6BD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>'' ');
Open;
end;
FPYID := Trim(ADOQueryTemp.fieldbyname('SPID').AsString);
if Trim(FPYID) = '' then
begin
if GetLSNo(ADOQueryCmd, MaxPYNo, 'YR', 'CK_SXPB_CR', 3, 1) = False then
begin
Result := False;
ADOQueryCmd.Connection.RollbackTrans;
Application.MessageBox(<><C8A1><EFBFBD>ӹ<EFBFBD>ƽ<EFBFBD><C6BD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʧ<EFBFBD><CAA7>!', '<27><>ʾ', 0);
Exit;
end;
end
else
begin
MaxPYNo := Trim(FPYID);
end;
with ADOQueryCmd do
begin
Close;
sql.Clear;
sql.Add('select * from CK_SXPB_CR where SPID=''' + Trim(MaxPYNo) + '''');
Open;
end;
with ADOQueryCmd do
begin
if Trim(FPYID) = '' then
begin
Append;
end
else
begin
Edit;
end;
FieldByName('SPID').Value := Trim(MaxPYNo);
FieldByName('ORDMainIdRK').Value := Trim(CDS_Sub.fieldbyname('ORDMainIdCK').AsString);
FieldByName('ORDSubIdRK').Value := Trim(CDS_Sub.fieldbyname('ORDSubIdCK').AsString);
FieldByName('FZSPID').Value := Trim(MaxPYNo);
FieldByName('FactoryNo').Value := Trim(CDS_Sub.fieldbyname('FactoryNo').AsString);
FieldByName('FromFactoryNo').Value := Trim(CDS_Sub.fieldbyname('FromFactoryNo').AsString);
FieldByName('ToFactoryNo').Value := Trim(CDS_Sub.fieldbyname('ToFactoryNo').AsString);
FieldByName('CRFlag').Value := '<27><><EFBFBD><EFBFBD>';
FieldByName('CRQtyFlag').Value := 1;
FieldByName('MPRTCode').Value := Trim(CDS_Sub.fieldbyname('MPRTCode').AsString);
RTSetSaveDataCDS(ADOQueryCmd, Tv1, CDS_Sub, 'CK_SXPB_CR', 2);
FieldByName('CKName').Value := '<27><><EFBFBD>ӹ<EFBFBD>';
FieldByName('CRType').Value := 'ƽ<><C6BD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>';
FieldByName('PYID').Value := Trim(Maxno);
if Trim(FPYID) = '' then
FieldByName('Filler').Value := Trim(DName)
else
begin
FieldByName('Editer').Value := Trim(DName);
FieldByName('EditTime').Value := SGetServerDate(ADOQueryTemp);
end;
Post;
end;
with ADOQueryCmd do
begin
Close;
sql.Clear;
sql.Add('Update CK_SXPB_CR Set MXKCQty=(select sum(isnull(Qty,0)*CRQtyFlag) from CK_SXPB_CR A where A.FZSPID=CK_SXPB_CR.SPID)');
sql.Add(',MXKCPiQty=(select sum(isnull(PiQty,0)*CRQtyFlag) from CK_SXPB_CR A where A.FZSPID=CK_SXPB_CR.SPID)');
sql.Add(' where SPID=''' + Trim(MaxPYNo) + '''');
ExecSQL;
end;
with ADOQueryTemp do
begin
Close;
sql.Clear;
sql.Add('select * from CK_SXPB_CR where SPID=''' + Trim(MaxPYNo) + '''');
Open;
end;
if ADOQueryTemp.FieldByName('MXKCQty').Value < 0 then
begin
CDS_Sub.DisableControls;
ADOQueryCmd.Connection.RollbackTrans;
Application.MessageBox('<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڿ<EFBFBD><DABF><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ܱ<EFBFBD><DCB1><EFBFBD>!', '<27><>ʾ', 0);
Exit;
end;
end;
// if CDS_Sub.FieldByName('yunprice').Value <> '0' then
// begin
// if CDS_Sub.FieldByName('yuntype').Value = '' then
// begin
// Application.MessageBox('<27>˷Ѹ<CBB7><D1B8>ʽ<EEB7BD><CABD><EFBFBD><EFBFBD>Ϊ<EFBFBD><CEAA>!', '<27><>ʾ');
// Exit;
// end;
// if Trim(fkeyNo) = '' then
// begin
// if GetLSNo(ADOQueryTemp, fkeyNo, 'YL', 'YF_Money_LL', 3, 1) = False then
// begin
// ADOQueryCmd.Connection.RollbackTrans;
// Application.MessageBox('ȡ<><C8A1>ˮ<EFBFBD><CBAE>ʧ<EFBFBD><CAA7>!', '<27><>ʾ');
// Exit;
// end;
// end;
// with ADOQueryCmd do
// begin
// Close;
// sql.Clear;
// SQL.Add('select * from YF_Money_LL where fromMainID=''' + Trim(FFSPID) + ''' ');
// Open;
// if isempty then
// begin
// append;
// fieldbyname('filler').Value := trim(Dname);
// fieldbyname('filltime').Value := SGetServerDate10(ADOQueryTemp);
// fieldbyname('crtime').Value := SGetServerDate10(ADOQueryTemp);
// end
// else
// begin
// edit;
// fieldbyname('chker').Value := trim(Dname);
// fieldbyname('chkTime').Value := SGetServerDate10(ADOQueryTemp);
// end;
// FieldByName('LLNO').Value := Trim(fkeyNo);
// FieldByName('FactoryName').Value := Trim(CDS_Sub.fieldbyname('yuntype').AsString);
// fieldbyname('OutMoney').Value := Trim(CDS_Sub.fieldbyname('yunPrice').AsString);
// fieldbyname('frommainid').value := trim(Maxno);
// FieldByName('orderno').Value := Trim(CDS_Sub.fieldbyname('OrderNo').AsString);
// FieldByName('CRType').Value := '<27><><EFBFBD><EFBFBD>˷<EFBFBD>';
// FieldByName('HuiLv').Value := '1';
// fieldbyname('status').Value := '0';
// Post;
// end;
// end
// else
// begin
// with ADOQueryCmd do
// begin
// Close;
// sql.Clear;
// sql.Add('select * from YF_Money_LL where fromMainID=''' + Trim(Maxno) + ''' and CRType=''<27><><EFBFBD><EFBFBD>˷<EFBFBD>'' ');
// Open;
// end;
// if ADOQueryCmd.IsEmpty = False then
// begin
// with ADOQueryCmd do
// begin
// Close;
// sql.Clear;
// sql.Add('delete from YF_Money_LL where fromMainID=''' + Trim(Maxno) + ''' and CRType=''<27><><EFBFBD><EFBFBD>˷<EFBFBD>'' ');
// ExecSQL;
// end;
// end;
// end;
Edit;
FieldByName('SPID').Value := Trim(Maxno);
Post;
FFSPID := '';
fkeyNo := '';
if Trim(CDS_Sub.fieldbyname('CRType').AsString) = '<27><><EFBFBD>۳<EFBFBD><DBB3><EFBFBD>' then
begin
if not YSData(CDS_Sub) then
begin
ADOQueryCmd.Connection.RollbackTrans;
Application.MessageBox('<27><><EFBFBD><EFBFBD><EFBFBD>쳣!', '<27><>ʾ', 0);
exit;
end;
end;
Next;
end;
end;
CDS_Sub.EnableControls;
ADOQueryCmd.Connection.CommitTrans;
Result := True;
except
Result := False;
ADOQueryCmd.Connection.RollbackTrans;
Application.MessageBox('<27><><EFBFBD><EFBFBD><EFBFBD>쳣!', '<27><>ʾ', 0);
end;
end;
procedure TfrmCPCKOutPut.TBCloseClick(Sender: TObject);
begin
WriteCxGrid('<27><><EFBFBD><EFBFBD><ECB2BC><EFBFBD><EFBFBD><EFBFBD>Ǽ<EFBFBD>PMD', Tv1, '<27><><EFBFBD><EFBFBD><ECB2BC><EFBFBD>ֿ<EFBFBD>');
Close;
end;
procedure TfrmCPCKOutPut.FormShow(Sender: TObject);
begin
ReadCxGrid('<27><><EFBFBD><EFBFBD><ECB2BC><EFBFBD><EFBFBD><EFBFBD>Ǽ<EFBFBD>PMD', Tv1, '<27><><EFBFBD><EFBFBD>ֿ<EFBFBD>');
with ADOQueryTemp do
begin
Close;
sql.Clear;
sql.Add(' select A.* ');
sql.Add(' ,OrderNo=(select OrderNo from JYOrder_Main JM where JM.MainId=A.OrdMainIdRK )');
sql.Add(' ,OrderNoCK=(select OrderNo from JYOrder_Main JM where JM.MainId=A.OrdMainIdCK )');
sql.Add(' ,SOrddefstr1=(select SOrddefstr1 from JYOrder_Sub JM where JM.SubId=A.OrdSubIdCK )');
sql.Add(' ,PRTColor=(select PRTColor from JYOrder_Sub JM where JM.SubId=A.OrdSubIdCK )');
sql.Add(' ,PRTHX=(select PRTHX from JYOrder_Sub JM where JM.SubId=A.OrdSubIdCK )');
sql.Add(' ,PRTkuanNO=(select PRTkuanNO from JYOrder_Sub JM where JM.SubId=A.OrdSubIdCK )');
sql.Add(' from CK_SXPB_CR A');
sql.Add(' where SPID=''' + Trim(FBCId) + '''');
Open;
end;
SCreateCDS20(ADOQueryTemp, CDS_Sub);
SInitCDSData20(ADOQueryTemp, CDS_Sub);
end;
procedure TfrmCPCKOutPut.TBDelClick(Sender: TObject);
begin
if CDS_Sub.IsEmpty then
Exit;
if Trim(CDS_Sub.fieldbyname('SPID').AsString) <> '' then
begin
with ADOQueryTemp do
begin
Close;
sql.Clear;
sql.Add('select * from CK_SXPB_CR where FZSPID=');
sql.Add('(select SPID from CK_SXPB_CR where PYID=''' + Trim(CDS_Sub.fieldbyname('SPID').AsString) + '''');
sql.Add(' and isnull(CRType,'''')=''ƽ<><C6BD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>'')');
sql.Add(' and CRQtyFlag=-1');
Open;
end;
if ADOQueryTemp.IsEmpty = False then
begin
Application.MessageBox('<27><><EFBFBD>г<EFBFBD><D0B3><EFBFBD><EFBFBD><EFBFBD>¼<EFBFBD><C2BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɾ<EFBFBD><C9BE>!', '<27><>ʾ', 0);
Exit;
end;
if Application.MessageBox(<><C8B7>Ҫɾ<D2AA><C9BE><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>', '<27><>ʾ', 32 + 4) <> IDYES then
Exit;
try
ADOQueryCmd.Connection.BeginTrans;
with ADOQueryCmd do
begin
Close;
sql.Clear;
sql.Add(' delete CK_SXPB_CR where SPID=''' + Trim(CDS_Sub.fieldbyname('SPID').AsString) + '''');
sql.Add(' Update CK_SXPB_CR Set MXKCQty=(select sum(isnull(Qty,0)*CRQtyFlag) from CK_SXPB_CR A where A.FZSPID=CK_SXPB_CR.SPID)');
sql.Add(',MXKCPiQty=(select sum(isnull(PiQty,0)*CRQtyFlag) from CK_SXPB_CR A where A.FZSPID=CK_SXPB_CR.SPID)');
sql.Add(' where SPID=''' + Trim(CDS_Sub.fieldbyname('FZSPID').AsString) + '''');
{sql.Add('Update CK_SXPB_KC Set KCKGQty=(select sum(KGQty*CRQtyFlag) from CK_SXPB_CR A where A.CRID=CK_SXPB_KC.CRID)');
sql.Add(',KCPiQty=(select sum(PiQty*CRQtyFlag) from CK_SXPB_CR A where A.CRID=CK_SXPB_KC.CRID)');
sql.Add(' where CRID='+Trim(CDS_Sub.fieldbyname('CRID').AsString)); }
ExecSQL;
end;
ADOQueryCmd.Connection.CommitTrans;
except
ADOQueryCmd.Connection.RollbackTrans;
Application.MessageBox(<><C9BE><EFBFBD>쳣!', '<27><>ʾ', 0);
end;
end;
CDS_Sub.Delete;
end;
procedure TfrmCPCKOutPut.TBSaveClick(Sender: TObject);
begin
if CDS_Sub.IsEmpty then
Exit;
if CDS_Sub.Locate('CRTime', null, []) = True then
begin
Application.MessageBox('<27><><EFBFBD><EFBFBD>ʱ<EFBFBD><EFBFBD><E4B2BB>Ϊ<EFBFBD><CEAA>!', '<27><>ʾ', 0);
Exit;
end;
if CDS_Sub.Locate('CRType', null, []) = True then
begin
Application.MessageBox('<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ͳ<EFBFBD><CDB2><EFBFBD>Ϊ<EFBFBD><CEAA>!', '<27><>ʾ', 0);
Exit;
end;
if CDS_Sub.Locate('ToFactoryName', null, []) = True then
begin
Application.MessageBox('<27><><EFBFBD><EFBFBD><EFBFBD>ӹ<EFBFBD><D3B9><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ<EFBFBD><CEAA>!', '<27><>ʾ', 0);
Exit;
end;
if Trim(CDS_Sub.fieldbyname('CRType').AsString) <> '<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>' then
begin
if CDS_Sub.Locate('CKOrderNo', null, []) = True then
begin
Application.MessageBox('<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ų<EFBFBD><C5B2><EFBFBD>Ϊ<EFBFBD><CEAA>!', '<27><>ʾ', 0);
Exit;
end;
end;
if CDS_Sub.Locate('Qty', null, []) = True then
begin
Application.MessageBox('<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ<EFBFBD><CEAA>!', '<27><>ʾ', 0);
Exit;
end;
if CDS_Sub.Locate('PiQty', null, []) = True then
begin
Application.MessageBox(<><C6A5><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ<EFBFBD><CEAA>!', '<27><>ʾ', 0);
Exit;
end;
CDS_Sub.DisableControls;
with CDS_Sub do
begin
First;
while not Eof do
begin
// if CDS_Sub.FieldByName('yunprice').value <> '0' then
// begin
// if CDS_Sub.FieldByName('yuntype').value = null then
// begin
// Application.MessageBox('<27>˷Ѹ<CBB7><D1B8>ʽ<EEB7BD><CABD><EFBFBD><EFBFBD>Ϊ<EFBFBD><CEAA>!', '<27><>ʾ');
// Exit;
// end;
// end;
//
// if Trim(CDS_Sub.fieldbyname('CRType').AsString) = 'ƽ<>Ƴ<EFBFBD><C6B3><EFBFBD>' then
// begin
// if (Trim(CDS_Sub.fieldbyname('FromFactoryName').AsString) = Trim(CDS_Sub.fieldbyname('ToFactoryName').AsString)) and (Trim(CDS_Sub.fieldbyname('ORDSubIdRK').AsString) = Trim(CDS_Sub.fieldbyname('ORDSubIdCK').AsString)) then
// begin
// CDS_Sub.EnableControls;
// Application.MessageBox('ͬһ<CDAC><D2BB><EFBFBD>ţ<EFBFBD>ͬһ<CDAC><D2BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ƽ<EFBFBD><C6BD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>!', '<27><>ʾ', 0);
// Exit;
// end;
// end;
Next;
end;
end;
CDS_Sub.EnableControls;
if SaveCKData() then
begin
Application.MessageBox('<27><><EFBFBD><EFBFBD><EFBFBD>ɹ<EFBFBD>!', '<27><>ʾ', 0);
//ModalResult:=1;
Exit;
end;
end;
procedure TfrmCPCKOutPut.v1Column1PropertiesButtonClick(Sender: TObject; AButtonIndex: Integer);
begin
try
frmClothContractListHZCX := TfrmClothContractListHZCX.Create(Application);
with frmClothContractListHZCX do
begin
if ShowModal = 1 then
begin
with Self.CDS_Sub do
begin
Edit;
FieldByName('CGConNo').Value := Trim(frmClothContractListHZCX.Order_Main.fieldbyname('ConNo').AsString);
FieldByName('CGConMainId').Value := Trim(frmClothContractListHZCX.Order_Main.fieldbyname('MainId').AsString);
FieldByName('CGConSubId').Value := Trim(frmClothContractListHZCX.Order_Main.fieldbyname('SubId').AsString);
FieldByName('FactoryName').Value := Trim(frmClothContractListHZCX.Order_Main.fieldbyname('FactoryNoName').AsString);
FieldByName('SXName').Value := Trim(frmClothContractListHZCX.Order_Main.fieldbyname('C_CodeName').AsString);
//Post;
end;
end;
end;
finally
frmClothContractListHZCX.Free;
end;
end;
procedure TfrmCPCKOutPut.v1Column11PropertiesButtonClick(Sender: TObject; AButtonIndex: Integer);
begin
if CDS_Sub.FieldByName('CRType').AsString = '<27><><EFBFBD>۳<EFBFBD><DBB3><EFBFBD>' then
begin
try
frmZdyAttachment := TfrmZdyAttachment.Create(Application);
with frmZdyAttachment do
begin
if ShowModal = 1 then
begin
with Self.CDS_Sub do
begin
edit;
FieldByName('ToFactoryNo').Value := Trim(CDS_HZ.fieldbyname('ZdyCode').AsString);
FieldByName('ToFactoryName').Value := Trim(CDS_HZ.fieldbyname('ZdyName').AsString);
//Post;
end;
end;
end;
finally
frmZdyAttachment.Free;
end;
end
else
begin
try
frmZdyAttachGYS := TfrmZdyAttachGYS.Create(Application);
with frmZdyAttachGYS do
begin
FGYSType := '1';
if ShowModal = 1 then
begin
with Self.CDS_Sub do
begin
edit;
FieldByName('ToFactoryNo').Value := Trim(frmZdyAttachGYS.CDS_HZ.fieldbyname('ZdyCode').AsString);
FieldByName('ToFactoryName').Value := Trim(frmZdyAttachGYS.CDS_HZ.fieldbyname('ZdyName').AsString);
//Post;
end;
end;
end;
finally
frmZdyAttachGYS.Free;
end;
end;
end;
procedure TfrmCPCKOutPut.v1Column5PropertiesButtonClick(Sender: TObject; AButtonIndex: Integer);
begin
try
frmProductOrderListSel := TfrmProductOrderListSel.Create(Application);
with frmProductOrderListSel do
begin
if ShowModal = 1 then
begin
with Self.CDS_Sub do
begin
Edit;
FieldByName('ORDMainIdCK').Value := Trim(frmProductOrderListSel.Order_Main.fieldbyname('MainId').AsString);
FieldByName('ORDSubIdCK').Value := Trim(frmProductOrderListSel.Order_Main.fieldbyname('SubId').AsString);
FieldByName('CKorderNo').Value := Trim(frmProductOrderListSel.Order_Main.fieldbyname('OrderNo').AsString);
FieldByName('SOrddefstr1').Value := Trim(frmProductOrderListSel.Order_Main.fieldbyname('SOrddefstr1').AsString);
FieldByName('PRTColor').Value := Trim(frmProductOrderListSel.Order_Main.fieldbyname('PRTColor').AsString);
FieldByName('PRTHX').Value := Trim(frmProductOrderListSel.Order_Main.fieldbyname('PRTHX').AsString);
FieldByName('PRTkuanNo').Value := Trim(frmProductOrderListSel.Order_Main.fieldbyname('PRTkuanNo').AsString);
end;
end;
end;
finally
frmProductOrderListSel.Free;
end;
end;
procedure TfrmCPCKOutPut.Tv1MouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
var
FFSPID: string;
begin
if CDS_Sub.IsEmpty then
Exit;
if Trim(CDS_Sub.fieldbyname('SPID').AsString) <> '' then
begin
with ADOQueryTemp do
begin
Close;
sql.Clear;
sql.Add('select * from CK_SXPB_CR where SPID=''' + Trim(CDS_Sub.fieldbyname('SPID').AsString) + '''');
Open;
end;
FFSPID := Trim(ADOQueryTemp.fieldbyname('SPID').AsString);
if Trim(FFSPID) <> '' then
begin
v1CRType.Options.Editing := False;
end;
end;
end;
function TfrmCPCKOutPut.YSData(Order_Main10: TClientDataSet): Boolean;
var
CRID, YFID, PriceUnit, OrderUnit, FComTaiTou, FromSubID, khName, fywy: string;
fprice, huilv: double;
begin
Result := False;
fprice := 0;
huilv := 0;
PriceUnit := 'RMB';
khName := '';
with ADOQueryTemp do
begin
Close;
SQL.Clear;
sql.Add('update JYOrder_Sub SET Huilv=isnull((select Huilv from JYOrderCon_Sub X where X.SubId=JYOrder_Sub.SOrddefstr10),1) where Huilv=0');
execsql;
end;
with Order_Main10 do
begin
begin
with ADOQueryTemp do
begin
Close;
SQL.Clear;
sql.Add(' select A.*,fPrice=dbo.F_Get_Order_Price(A.MainID,A.subID),B.customerNoName,B.OrdPerson2 ');
sql.Add(' from JYOrder_Sub A ');
sql.Add(' inner join JYOrder_main B on B.mainID=A.mainID ');
sql.Add(' Where subID=''' + Trim(Order_Main10.fieldbyname('ORDSubIdCK').AsString) + '''');
Open;
end;
if not ADOQueryTemp.IsEmpty then
begin
PriceUnit := Trim(ADOQueryTemp.fieldbyname('PriceUnit').AsString);
OrderUnit := Trim(ADOQueryTemp.fieldbyname('OrderUnit').AsString);
fprice := ADOQueryTemp.fieldbyname('fPrice').AsFloat;
huilv := ADOQueryTemp.fieldbyname('huilv').AsFloat;
khName := ADOQueryTemp.fieldbyname('customerNoName').AsString;
fywy := ADOQueryTemp.fieldbyname('OrdPerson2').AsString;
end;
if huilv = 0 then
huilv := 1;
CRID := '0';
with ADOQueryTemp do
begin
Close;
sql.Clear;
sql.Add(' select * from YF_Money_CR ');
sql.Add(' where mainID=''' + Trim(CDS_Sub.fieldbyname('SPID').AsString) + '''');
sql.Add(' and YFName=''<27><>Ʒֱ<C6B7><D6B1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>'' ');
Open;
end;
if ADOQueryTemp.IsEmpty then
begin
if GetLSNo(ADOQueryCmd, YFID, 'CS', 'YF_Money_CR', 3, 1) = False then
begin
Application.MessageBox(<><C8A1>ƷӦ<C6B7><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('SPID').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(khName);
FieldByName('CRTime').Value := Trim(FormatDateTime('yyyy-MM-dd', CDS_Sub.fieldbyname('CRTime').AsDateTime));
FieldByName('YFType').Value := '<27>Զ<EFBFBD><D4B6><EFBFBD><EFBFBD><EFBFBD>';
FieldByName('ps').Value := Order_Main10.fieldbyname('PiQty').AsFloat;
FieldByName('Qty').Value := Order_Main10.fieldbyname('Qty').AsFloat;
FieldByName('Price').Value := fprice;
FieldByName('HuiLv').Value := huilv;
FieldByName('BZType').Value := Trim(PriceUnit);
// FieldByName('Money').Value:=-1*format('%.2f',[Order_Main10.fieldbyname('Qty').AsFloat*fprice]);
// FieldByName('BBMoney').Value:=-1*format('%.2f',[Order_Main10.fieldbyname('Qty').AsFloat*fprice*huilv]);
FieldByName('QtyUnit').Value := Trim(Order_Main10.fieldbyname('QtyUnit').AsString);
FieldByName('ComTaiTou').Value := Trim(khName);
FieldByName('YFName').Value := '<27><>Ʒֱ<C6B7><D6B1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>';
FieldByName('MainId').Value := Trim(Order_Main10.fieldbyname('SPID').AsString);
FieldByName('subID').Value := '';
FieldByName('OrderNO').Value := Trim(Order_Main10.fieldbyname('CKOrderNo').AsString);
FieldByName('P_CodeName').Value := Trim(Order_Main10.fieldbyname('SPName').AsString);
FieldByName('P_Spec').Value := Trim(Order_Main10.fieldbyname('SPSpec').AsString);
FieldByName('P_color').Value := Trim(Order_Main10.fieldbyname('PRTColor').AsString);
// FieldByName('ywy').Value:=Trim(fywy);
FieldByName('status').Value := '0';
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 Money=Price*Qty,BBMoney=Price*Qty*HuiLv');
sql.Add(' where YFID=''' + Trim(YFID) + '''');
ExecSQL;
end;
//Next;
end;
end;
Result := True;
end;
procedure TfrmCPCKOutPut.v1Column24PropertiesButtonClick(Sender: TObject; AButtonIndex: Integer);
begin
try
frmZDYHelp := TfrmZDYHelp.Create(self);
with frmZDYHelp do
begin
flag := 'XJLLFLAG';
flagname := '<27>˻<EFBFBD><CBBB><EFBFBD><EFBFBD>Ͷ<EFBFBD><CDB6><EFBFBD>';
if showmodal = 1 then
begin
with Self.CDS_Sub do
begin
Edit;
FieldByName('yuntype').Value := Trim(frmZDYHelp.ClientDataSet1.fieldbyname('ZdyName').AsString);
end;
end;
end;
// initGrid();
finally
frmZDYHelp.Free;
end;
end;
procedure TfrmCPCKOutPut.ToolButton1Click(Sender: TObject);
begin
if CDS_Sub.IsEmpty then
Exit;
OneKeyPost(Tv1, CDS_Sub);
end;
end.