D7myYunxiang/染厂码单(PBMDDJ.dll)/U_DJBDDRK_Edit.pas

1189 lines
36 KiB
ObjectPascal
Raw Permalink Normal View History

2025-01-20 13:04:03 +08:00
unit U_DJBDDRK_Edit;
interface
uses
Windows, Messages, SysUtils, strutils, 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, StdCtrls, ExtCtrls, BtnEdit, RM_Dataset, RM_System, RM_Common,
RM_Class, RM_GridReport, cxLookAndFeels, cxLookAndFeelPainters, cxNavigator,
Menus;
type
TfrmDJBDDRK_Edit = class(TForm)
cxGrid2: TcxGrid;
Tv1: TcxGridDBTableView;
v2Column1: TcxGridDBColumn;
v1Column9: TcxGridDBColumn;
v2Column6: TcxGridDBColumn;
cxGrid2Level1: TcxGridLevel;
ToolBar1: TToolBar;
TBSave: TToolButton;
TBClose: TToolButton;
DataSource3: TDataSource;
CDS_Main: TClientDataSet;
ADOQueryCmd: TADOQuery;
ADOQueryMain: TADOQuery;
ADOQueryTemp: TADOQuery;
cxGridPopupMenu2: TcxGridPopupMenu;
v1Column12: TcxGridDBColumn;
v1Column6: TcxGridDBColumn;
v1Column15: TcxGridDBColumn;
Panel1: TPanel;
Panel2: TPanel;
GroupBox1: TGroupBox;
CRTime: TDateTimePicker;
Label1: TLabel;
Label8: TLabel;
InoutNo: TEdit;
Label2: TLabel;
CRType: TComboBox;
Label4: TLabel;
FactoryName: TBtnEditA;
ToolBar2: TToolBar;
TBADD: TToolButton;
TBdel: TToolButton;
cxGrid1: TcxGrid;
Tv2: TcxGridDBTableView;
cxGridLevel1: TcxGridLevel;
v2Column3: TcxGridDBColumn;
ADOMX: TADOQuery;
CDS_MX: TClientDataSet;
DSMX: TDataSource;
Panel3: TPanel;
Label3: TLabel;
QtyMX: TEdit;
TBPrint: TToolButton;
RM2: TRMGridReport;
RMDB_Main: TRMDBDataSet;
ADOQueryPrint: TADOQuery;
VC_MJqty1: TcxGridDBColumn;
ThreeColorBase: TcxStyleRepository;
SHuangSe: TcxStyle;
SkyBlue: TcxStyle;
Default: TcxStyle;
QHuangSe: TcxStyle;
Red: TcxStyle;
FontBlue: TcxStyle;
TextSHuangSe: TcxStyle;
FonePurple: TcxStyle;
FoneClMaroon: TcxStyle;
FoneRed: TcxStyle;
RowColor: TcxStyle;
handBlack: TcxStyle;
cxBlue: TcxStyle;
SHuangSeCu: TcxStyle;
v2Column5: TcxGridDBColumn;
edtMJXH: TEdit;
chkMJJH: TCheckBox;
v1Column16: TcxGridDBColumn;
KgQtyMX: TEdit;
Label7: TLabel;
Label9: TLabel;
HSXS: TEdit;
VC_MJMaoZ: TcxGridDBColumn;
v1Column20: TcxGridDBColumn;
v2Column2: TcxGridDBColumn;
v2Column4: TcxGridDBColumn;
Tv2Column1: TcxGridDBColumn;
PopupMenu1: TPopupMenu;
N1: TMenuItem;
Label6: TLabel;
edtMJQTY3: TEdit;
Tv2Column2: TcxGridDBColumn;
Tv2Column3: TcxGridDBColumn;
cxGridPopupMenu1: TcxGridPopupMenu;
ZNote: TMemo;
Label5: TLabel;
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure TBCloseClick(Sender: TObject);
procedure FormShow(Sender: TObject);
procedure TBSaveClick(Sender: TObject);
procedure v2Column1PropertiesButtonClick(Sender: TObject; AButtonIndex: Integer);
procedure v2Column6PropertiesEditValueChanged(Sender: TObject);
procedure FormDestroy(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure FactoryNameBtnClick(Sender: TObject);
procedure TBADDClick(Sender: TObject);
procedure QtyMXKeyPress(Sender: TObject; var Key: Char);
procedure TBPrintClick(Sender: TObject);
procedure Tv1CellClick(Sender: TcxCustomGridTableView; ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton; AShift: TShiftState; var AHandled: Boolean);
procedure Tv2CellDblClick(Sender: TcxCustomGridTableView; ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton; AShift: TShiftState; var AHandled: Boolean);
procedure TBdelClick(Sender: TObject);
procedure v1Column2PropertiesEditValueChanged(Sender: TObject);
procedure edtMJXHKeyPress(Sender: TObject; var Key: Char);
procedure chkMJJHClick(Sender: TObject);
procedure v2Column4PropertiesEditValueChanged(Sender: TObject);
procedure Tv2MouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
procedure v2Column2PropertiesEditValueChanged(Sender: TObject);
procedure v1Column15PropertiesButtonClick(Sender: TObject; AButtonIndex: Integer);
procedure N1Click(Sender: TObject);
procedure v1Column16PropertiesButtonClick(Sender: TObject; AButtonIndex: Integer);
private
{ Private declarations }
function SaveData(): Boolean;
function YSData(Order_Main10: TClientDataSet): Boolean;
procedure InitGrid();
procedure initMJID();
procedure PrintData(fMJID: string);
public
{ Public declarations }
fkeyNo, fckName: string;
CopyFlag: Integer;
end;
var
frmDJBDDRK_Edit: TfrmDJBDDRK_Edit;
implementation
uses
U_DataLink, U_RTFun, U_ClothContractListHZCX, U_ZDYHelp, U_ZdyAttachGYS,
U_ProductOrderListSel, U_ZdyAttachCP, U_ZdyAttachment,
U_ProductOrderNewList_New;
{$R *.dfm}
procedure TfrmDJBDDRK_Edit.PrintData(fMJID: string);
var
fPrintFile: string;
Txt, fImagePath: string;
Moudle: THandle;
Makebar: TMakebar;
Mixtext: TMixtext;
begin
try
Moudle := LoadLibrary('MakeQRBarcode.dll');
@Makebar := GetProcAddress(Moudle, 'Make');
@Mixtext := GetProcAddress(Moudle, 'MixText');
Txt := Trim(fMJID);
fImagePath := ExtractFilePath(Application.ExeName) + 'image\temp.bmp';
if not DirectoryExists(pchar(ExtractFilePath(Application.ExeName) + 'image')) then
CreateDirectory(pchar(ExtractFilePath(Application.ExeName) + 'image'), nil);
if FileExists(fImagePath) then
DeleteFile(fImagePath);
Makebar(pchar(Txt), Length(Txt), 3, 3, 0, PChar(fImagePath), 3);
except
application.MessageBox('<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʧ<EFBFBD>ܣ<EFBFBD>', '<27><>ʾ<EFBFBD><CABE>Ϣ', MB_ICONERROR);
exit;
end;
with ADOQueryPrint do
begin
Close;
SQL.Clear;
sql.Add('select A.*,C_CodeNameZW=(select Top 1 defnote3 from KH_Zdy_Attachment X where X.ZdyName=A.C_CodeName and Type=''CP'') ');
sql.Add(',C_colorName=(select Top 1 DEFstr6 from KH_Zdy_Attachment X where X.ZdyName=A.C_CodeName and X.DEFstr3=A.C_Color and Type=''CP'') ');
sql.Add(',factoryNameJZ=(select Top 1 zdyNameZ from KH_Zdy_Attachment X where X.ZdyName=A.factoryName and Type=''GYS'') ');
sql.Add(' from MD_MJJY A');
SQL.Add(' where A.MJID=''' + Trim(fMJID) + '''');
Open;
end;
fPrintFile := ExtractFilePath(Application.ExeName) + 'Report\ͨ<>ñ<EFBFBD>ǩ.rmf';
if FileExists(fPrintFile) then
begin
RMVariables['QRBARCODE'] := fImagePath;
RM2.LoadFromFile(fPrintFile);
RM2.DefaultCopies := 1;
RM2.PrintReport;
end
else
begin
Application.MessageBox(PChar(<><C3BB><EFBFBD>ҵ<EFBFBD>' + trim(fPrintFile)), '<27><>ʾ', 0);
end;
end;
procedure TfrmDJBDDRK_Edit.initMJID();
begin
try
with ADOMX do
begin
close;
sql.Clear;
sql.Add('select * from MD_MJJY A');
sql.Add('where APID=' + quotedstr(trim(CDS_Main.fieldByName('SPID').AsString)));
open;
end;
SCreateCDS20(ADOMX, CDS_MX);
SInitCDSData20(ADOMX, CDS_MX);
except
end;
// if CopyFlag = 2 then
// begin
// with CDS_MX do
// begin
// Edit;
// FieldByName('SPID').Value := '';
// Post;
// end;
// end;
if chkMJJH.Checked then
begin
if CDS_MX.IsEmpty then
edtMJXH.Text := '1'
else
edtMJXH.Text := IntToStr(1 + CDS_MX.RecordCount);
end
else
begin
edtMJXH.Text := '';
end;
end;
procedure TfrmDJBDDRK_Edit.InitGrid();
var
fSPID: string;
begin
try
with adoqueryMain do
begin
close;
sql.Clear;
sql.Add('select * from CK_XNMD_CR A');
sql.Add('where SPID=' + quotedstr(trim(fkeyNO)));
open;
end;
SCreateCDS20(adoqueryMain, CDS_Main);
SInitCDSData20(adoqueryMain, CDS_Main);
if not CDS_Main.IsEmpty then
begin
CRTime.Date := CDS_Main.fieldbyname('CRTime').AsDateTime;
CRType.ItemIndex := CRType.Items.IndexOf(trim(CDS_Main.fieldbyname('CRType').AsString));
factoryName.Text := trim(CDS_Main.fieldbyname('factoryName').AsString);
ZNote.text := trim(CDS_Main.fieldbyname('ZNote').AsString);
end;
finally
end;
if CopyFlag = 1 then
begin
if GetLSNo(ADOQueryCmd, fSPID, 'DR', 'CK_XNMD_CR', 3, 1) = False then
begin
Application.MessageBox(<><C8A1><EFBFBD><EFBFBD><ECB2BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʧ<EFBFBD><CAA7>!', '<27><>ʾ', 0);
Exit;
end;
CRTime.Date := now();
with CDS_Main do
begin
Edit;
FieldByName('SPID').Value := fSPID;
FieldByName('FZSPID').Value := '';
FieldByName('FromSPID').Value := '';
Post;
end;
fkeyNo := '';
end;
end;
function TfrmDJBDDRK_Edit.YSData(Order_Main10: TClientDataSet): Boolean;
var
CRID, YFID, PriceUnit, OrderUnit, FComTaiTou, FromSubID, KHName, KHNo: string;
fprice, huilv: double;
begin
Result := False;
fprice := 0;
huilv := 0;
PriceUnit := 'RMB';
KHName := '';
KHNo := '';
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.customerNo');
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('ORDSubIdRK').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;
KHNo := ADOQueryTemp.fieldbyname('CustomerNo').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 YFTypeId=''' + Trim(CDS_Main.fieldbyname('SPID').AsString) + '''');
sql.Add(' and YFName=''<27>ͻ<EFBFBD><CDBB>˻<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('FactoryNo').Value := Trim(KHNo);
FieldByName('FactoryName').Value := Trim(KHName);
FieldByName('CRTime').Value := Trim(FormatDateTime('yyyy-MM-dd', CDS_Main.fieldbyname('CRTime').AsDateTime));
FieldByName('YFType').Value := '<27>Զ<EFBFBD><D4B6><EFBFBD><EFBFBD><EFBFBD>';
FieldByName('ps').Value := -1 * Order_Main10.fieldbyname('PiQty').AsFloat;
FieldByName('Qty').Value := -1 * 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>ͻ<EFBFBD><CDBB>˻<EFBFBD>';
FieldByName('MainId').Value := Trim(Order_Main10.fieldbyname('ORDMainIdRK').AsString);
FieldByName('subID').Value := Trim(Order_Main10.fieldbyname('ORDSubIdRK').AsString);
FieldByName('OrderNO').Value := Trim(Order_Main10.fieldbyname('QCorderNo').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('SPColor').AsString);
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 TfrmDJBDDRK_Edit.FormClose(Sender: TObject; var Action: TCloseAction);
begin
Action := caFree;
end;
function TfrmDJBDDRK_Edit.SaveData(): Boolean;
var
Maxno: string;
begin
try
ADOQueryCmd.Connection.BeginTrans;
CDS_Main.DisableControls;
with CDS_Main do
begin
First;
while not eof do
begin
Maxno := fieldbyName('SPID').AsString;
with ADOQueryCmd do
begin
Close;
sql.Clear;
sql.Add('select * from CK_XNMD_CR where SPID=''' + Trim(Maxno) + '''');
Open;
if IsEmpty then
begin
Append;
FieldByName('Filler').Value := Trim(DName);
end
else
begin
Edit;
FieldByName('Editer').Value := Trim(DName);
FieldByName('EditTime').Value := SGetServerDateTime(ADOQueryTemp);
end;
FieldByName('SPID').Value := Trim(Maxno);
FieldByName('FZSPID').Value := Trim(Maxno);
FieldByName('FromSPID').Value := CDS_Main.fieldbyname('SPID').Value;
FieldByName('ORDMainIdRK').Value := CDS_Main.fieldbyname('ORDMainIdRK').Value;
FieldByName('ORDSubIdRK').Value := CDS_Main.fieldbyname('ORDSubIdRK').Value;
FieldByName('QCorderNo').Value := CDS_Main.fieldbyname('QCorderNo').Value;
FieldByName('CKName').Value := trim(fckName);
FieldByName('CRTime').Value := formatdateTime('yyyy-MM-dd', CRTime.DateTime);
FieldByName('CRType').Value := trim(CRType.Text);
FieldByName('factoryName').Value := trim(factoryName.Text);
FieldByName('CRFlag').Value := '<27><><EFBFBD><EFBFBD>';
FieldByName('CRQtyFlag').Value := 1;
RTSetSaveDataCDS(ADOQueryCmd, Tv1, CDS_Main, 'CK_XNMD_CR', 2);
FieldByName('PiQty').Value := CDS_Main.fieldbyname('piQty').AsInteger;
FieldByName('Qty').Value := CDS_Main.fieldbyname('Qty').AsFloat;
FieldByName('price').Value := CDS_Main.fieldbyname('price').AsFloat;
FieldByName('money').Value := CDS_Main.fieldbyname('money').AsFloat;
FieldByName('ZNote').Value := trim(ZNote.Text);
Post;
end;
with ADOQueryCmd do
begin
Close;
sql.Clear;
sql.Add('Update CK_XNMD_CR Set MXKCQty=(select sum(isnull(Qty,0)*CRQtyFlag) from CK_XNMD_CR A where A.FZSPID=CK_XNMD_CR.SPID)');
sql.Add(',MXKCPiQty=(select sum(isnull(PiQty,0)*CRQtyFlag) from CK_XNMD_CR A where A.FZSPID=CK_XNMD_CR.SPID)');
sql.Add(' where SPID=''' + Trim(Maxno) + '''');
ExecSQL;
end;
// with ADOQueryCmd do
// begin
// Close;
// sql.Clear;
// sql.Add(' Update MD_MJJY SET CKName=B.CKName,factoryName=B.FactoryName,BatchNo=B.BatchNO,C_CodeName=B.SPName,C_Color=B.SPColor,');
// sql.Add(' MJTypeOther=B.QtyUnit,MJStr1=B.QtyUnit,MJStr2=''δ<><CEB4><EFBFBD><EFBFBD>''');
// sql.Add(' ,MJFK=B.SPMF,MJSJKZ=B.SPKZ,suolv=B.suolv');
// sql.Add(' ,C_Code=B.SPCode,C_Spec=B.SPSpec,C_CF=B.SPCF');
// sql.Add(' ,RCgangNo=B.RCGangNo,BCgangNo=B.RCGangNo,Filler=B.Filler,Filltime=B.Filltime ');
// sql.Add(' FROM MD_MJJY A ');
// sql.Add(' inner join CK_XNMD_CR B on B.SPID=A.APID ');
// sql.Add(' where A.APID=''' + Trim(Maxno) + '''');
// ExecSQL;
// end;
// with ADOQueryTemp do
// begin
// close;
// sql.Clear;
// sql.Add('select A.SPID ');
// sql.Add('from CK_XNMD_CR A');
// sql.Add('inner join CK_XNMD_CR B on B.RCGangNo=A.RCgangNo and B.Qty=A.Qty and B.SPID<>A.SPID');
// sql.Add('where A.SPID=''' + Trim(Maxno) + ''' and isnull(A.RCGangNo,'''')<>'''' ');
// open;
// end;
// if not ADOQueryTemp.IsEmpty then
// begin
// ADOQueryCmd.Connection.RollbackTrans;
// CDS_Main.EnableControls;
// Application.MessageBox('<27><>ͬ<EFBFBD>׺<EFBFBD><D7BA><EFBFBD>ͬ<EFBFBD><CDAC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ܱ<EFBFBD><DCB1>棡', '<27><>ʾ', 0);
// exit;
// end;
// if Trim(CDS_Main.fieldbyname('CRType').AsString) = '<27>ͻ<EFBFBD><CDBB>˻<EFBFBD>' then
// begin
// if not YSData(CDS_Main) then
// begin
// ADOQueryCmd.Connection.RollbackTrans;
// CDS_Main.EnableControls;
// Application.MessageBox('<27><><EFBFBD><EFBFBD><EFBFBD>쳣!', '<27><>ʾ', 0);
// exit;
// end;
// end;
Next;
end;
end;
CDS_Main.EnableControls;
ADOQueryCmd.Connection.CommitTrans;
TBPrint.Enabled := true;
Result := True;
except
Result := False;
ADOQueryCmd.Connection.RollbackTrans;
CDS_Main.EnableControls;
Application.MessageBox('<27><><EFBFBD><EFBFBD><EFBFBD>쳣!', '<27><>ʾ', 0);
end;
end;
procedure TfrmDJBDDRK_Edit.TBCloseClick(Sender: TObject);
begin
WriteCxGrid(self.Caption + '1', Tv1, '<27><><EFBFBD><EFBFBD>ֿ<EFBFBD>');
WriteCxGrid(Trim(self.Caption) + 'Tv22', Tv2, '<27><><EFBFBD><EFBFBD>ֿ<EFBFBD>');
Close;
end;
procedure TfrmDJBDDRK_Edit.FormShow(Sender: TObject);
var
fsj: string;
begin
ReadCxGrid(self.Caption + '1', Tv1, '<27><><EFBFBD><EFBFBD>ֿ<EFBFBD>');
ReadCxGrid(Trim(self.Caption) + 'Tv22', Tv2, '<27><><EFBFBD><EFBFBD>ֿ<EFBFBD>');
InitGrid();
initMJID();
end;
procedure TfrmDJBDDRK_Edit.TBSaveClick(Sender: TObject);
begin
if CDS_Main.IsEmpty then
Exit;
if trim(factoryName.Text) = '' then
begin
Application.MessageBox('<27>ͻ<EFBFBD><CDBB><EFBFBD><EFBFBD><EFBFBD>Ϊ<EFBFBD><CEAA>!', '<27><>ʾ', 0);
Exit;
end;
if trim(CRType.Text) = '' then
begin
Application.MessageBox('<27><><EFBFBD>Ͳ<EFBFBD><CDB2><EFBFBD>Ϊ<EFBFBD><CEAA>!', '<27><>ʾ', 0);
Exit;
end;
if CDS_Main.Locate('SPName', null, []) = True then
begin
Application.MessageBox('Ʒ<><C6B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ<EFBFBD><CEAA>!', '<27><>ʾ', 0);
Exit;
end;
if CDS_Main.Locate('Qty', null, []) = True then
begin
Application.MessageBox('<27><EFBFBD><EBB5A5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ<EFBFBD><CEAA>!', '<27><>ʾ', 0);
Exit;
end;
if CDS_Main.Locate('SPName', '', []) = True then
begin
Application.MessageBox('Ʒ<><C6B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ<EFBFBD><CEAA>!', '<27><>ʾ', 0);
Exit;
end;
if not CDS_MX.IsEmpty then
begin
if tv2.DataController.Summary.FooterSummaryValues[0] <> CDS_Main.fieldByName('PiQty').AsInteger then
begin
Application.MessageBox('<27><><EFBFBD>ܺ<EFBFBD><DCBA><EFBFBD>ϸƥ<CFB8><C6A5><EFBFBD><EFBFBD>һ<EFBFBD><D2BB>!', '<27><>ʾ', 0);
Exit;
end;
end;
if SaveData() then
begin
Application.MessageBox('<27><><EFBFBD><EFBFBD><EFBFBD>ɹ<EFBFBD>!', '<27><>ʾ', 0);
//ModalResult:=1;
Exit;
end;
end;
procedure TfrmDJBDDRK_Edit.v2Column1PropertiesButtonClick(Sender: TObject; AButtonIndex: Integer);
begin
try
frmZDYHelp := TfrmZDYHelp.Create(Application);
with frmZDYHelp do
begin
flag := 'BPName';
flagname := '<27><>ƥ<EFBFBD><C6A5><EFBFBD><EFBFBD>';
fnote := True;
V1Name.Caption := '<27><><EFBFBD><EFBFBD>Ʒ<EFBFBD><C6B7>';
V1Note.Caption := <><D3A2>Ʒ<EFBFBD><C6B7>';
if ShowModal = 1 then
begin
with Self.CDS_Main do
begin
Edit;
FieldByName('SPName').Value := Trim(frmZDYHelp.ClientDataSet1.fieldbyname('ZdyName').AsString);
end;
end;
end;
finally
frmZDYHelp.Free;
end;
//
// try
// frmYCLViewSel := TfrmYCLViewSel.Create(Application);
// with frmYCLViewSel do
// begin
// if ShowModal = 1 then
// begin
//
// with Self.CDS_Main do
// begin
// Edit;
// FieldByName('SPName').Value := Trim(frmYCLViewSel.CDS_HZ.fieldbyname('SPName').AsString);
// FieldByName('SPSpec').Value := Trim(frmYCLViewSel.CDS_HZ.fieldbyname('SPSpec').AsString);
// FieldByName('SPColor').Value := Trim(frmYCLViewSel.CDS_HZ.fieldbyname('SPColor').AsString);
// FieldByName('SPCF').Value := Trim(frmYCLViewSel.CDS_HZ.fieldbyname('SPCF').AsString);
// FieldByName('SPMF').Value := Trim(frmYCLViewSel.CDS_HZ.fieldbyname('SPMF').AsString);
// FieldByName('SPKZ').Value := Trim(frmYCLViewSel.CDS_HZ.fieldbyname('SPKZ').AsString);
// FieldByName('SPCode').Value := Trim(frmYCLViewSel.CDS_HZ.fieldbyname('SPSpec').AsString);
// FieldByName('CPID').Value := Trim(frmYCLViewSel.CDS_HZ.fieldbyname('CPId').AsString);
// end;
//
// end;
// end;
// finally
// frmYCLViewSel.Free;
// end;
end;
procedure TfrmDJBDDRK_Edit.v2Column6PropertiesEditValueChanged(Sender: TObject);
var
fieldname: string;
begin
fieldname := Tv1.Controller.FocusedColumn.DataBinding.FilterFieldName;
with CDS_Main do
begin
Edit;
FieldByName(Trim(fieldname)).Value := TcxTextEdit(Sender).EditingText;
FieldByName('Money').Value := strtofloat(format('%.2f', [FieldByName('Qty').AsFloat * FieldByName('Price').AsFloat]));
Post;
end;
Tv1.Controller.EditingController.ShowEdit();
end;
procedure TfrmDJBDDRK_Edit.FormDestroy(Sender: TObject);
begin
frmDJBDDRK_Edit := nil;
end;
procedure TfrmDJBDDRK_Edit.FormCreate(Sender: TObject);
begin
Panel2.Align := alclient;
CRTime.DateTime := now();
end;
procedure TfrmDJBDDRK_Edit.FactoryNameBtnClick(Sender: TObject);
begin
if Trim(CRType.text) = '<27><><EFBFBD>۳<EFBFBD><DBB3><EFBFBD>' then
begin
try
frmZdyAttachment := TfrmZdyAttachment.Create(Application);
with frmZdyAttachment do
begin
if ShowModal = 1 then
begin
FactoryName.Text := Trim(CDS_HZ.fieldbyname('KHNameJC').AsString);
end;
end;
finally
frmZdyAttachment.Free;
end;
end
else
begin
frmZdyAttachGYS := TfrmZdyAttachGYS.create(self);
with frmZdyAttachGYS do
begin
if showmodal = 1 then
begin
factoryName.Text := CDS_Hz.fieldbyname('KHNameJC').asstring;
end;
free;
end;
end;
end;
procedure TfrmDJBDDRK_Edit.TBADDClick(Sender: TObject);
var
fSPID: string;
begin
if not CDS_MX.IsEmpty then
begin
if tv2.DataController.Summary.FooterSummaryValues[0] <> CDS_Main.fieldByName('PiQty').AsInteger then
begin
Application.MessageBox('<27><><EFBFBD>ܺ<EFBFBD><DCBA><EFBFBD>ϸƥ<CFB8><C6A5><EFBFBD><EFBFBD>һ<EFBFBD><D2BB>!', '<27><>ʾ', 0);
Exit;
end;
end;
CopyAddRowCDS(CDS_Main);
if GetLSNo(ADOQueryCmd, fSPID, 'DR', 'CK_XNMD_CR', 3, 1) = False then
begin
Application.MessageBox(<><C8A1><EFBFBD><EFBFBD><ECB2BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʧ<EFBFBD><CAA7>!', '<27><>ʾ', 0);
Exit;
end;
CDS_Main.edit;
CDS_Main.FieldByName('SPID').Value := fSPID;
CDS_Main.FieldByName('xs').Value := 0;
CDS_Main.FieldByName('PiQty').Value := 0;
CDS_Main.FieldByName('Qty').Value := 0;
CDS_Main.FieldByName('KgQty').Value := 0;
// CDS_Main.FieldByName('QtyUnit').Value := 'M';
CDS_Main.FieldByName('RCgangNo').Value := '';
CDS_Main.Post;
end;
procedure TfrmDJBDDRK_Edit.QtyMXKeyPress(Sender: TObject; var Key: Char);
var
fMJID: string;
MMJXH: Integer;
begin
if Key = #13 then
begin
if CDS_Main.IsEmpty then
begin
application.MessageBox('<27><>Ʒ<EFBFBD><C6B7>Ϣû<CFA2><C3BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EBA3AC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϸ<EFBFBD><CFB8>Ϣ<EFBFBD><CFA2>', '<27><>ʾ<EFBFBD><CABE>Ϣ', MB_ICONERROR);
exit;
end;
if Trim(edtMJXH.Text) = '' then
begin
application.MessageBox('<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ţ<EFBFBD>', '<27><>ʾ<EFBFBD><CABE>Ϣ', MB_ICONERROR);
exit;
end;
MMJXH := StrToIntDef(edtMJXH.Text, 1);
if chkMJJH.Checked then
begin
edtMJXH.Text := IntToStr(MMJXH + 1);
end
else
begin
edtMJXH.Text := '';
end;
if GetLSNo(ADOQueryCmd, fMJID, '', 'APTM', 4, 1) = False then
begin
Application.MessageBox(<><C8A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʧ<EFBFBD><CAA7>!', '<27><>ʾ', 0);
Exit;
end;
try
with ADOQueryCmd do
begin
close;
sql.Clear;
sql.Add('select * from MD_MJJY A');
sql.Add('where 1=2');
open;
append;
Fieldbyname('mainID').Value := Trim(CDS_Main.fieldbyname('ORDMainIdRK').AsString);
Fieldbyname('subID').Value := Trim(CDS_Main.fieldbyname('ORDMainIdRK').AsString);
// FieldByName('CloOrderNo').Value := Trim(CDS_Main.fieldbyname('QCorderNo').AsString);
Fieldbyname('MJID').Value := trim(fMJID);
Fieldbyname('MJXH').Value := MMJXH;
if TEdit(Sender).Name = 'KgQtyMX' then
begin
Fieldbyname('MJMaoZ').Value := StrToFloatDef(KgQtyMX.Text, 0);
Fieldbyname('MJQty3').Value := StrToFloatDef(edtMJQTY3.Text, 0);
Fieldbyname('MJQty4').Value := StrToFloatDef(KgQtyMX.Text, 0) - StrToFloatDef(edtMJQTY3.Text, 0);
// Fieldbyname('HSXS').Value := StrToFloatDef(HSXS.Text, 0);
Fieldbyname('MJlen').Value := StrToFloatDef(QtyMX.Text, 0);
// Fieldbyname('MJlen').Value := RoundFloat((StrToFloatDef(KgQtyMX.Text, 0)) * StrToFloatDef(HSXS.Text, 0), 2);
end
else
begin
Fieldbyname('MJlen').Value := strtofloatdef(QtyMX.Text, 0);
end;
Fieldbyname('APID').Value := trim(CDS_Main.fieldbyname('SPID').AsString);
Fieldbyname('MJType').Value := '<27><>Ʒ';
Fieldbyname('MJStr2').Value := <><CEB4><EFBFBD><EFBFBD>';
post;
end;
with CDS_MX do
begin
append;
Fieldbyname('MJID').Value := trim(fMJID);
Fieldbyname('MJXH').Value := MMJXH;
Fieldbyname('APID').Value := trim(CDS_Main.fieldbyname('SPID').AsString);
if TEdit(Sender).Name = 'KgQtyMX' then
begin
Fieldbyname('MJMaoZ').Value := StrToFloatDef(KgQtyMX.Text, 0);
Fieldbyname('MJQty3').Value := StrToFloatDef(edtMJQTY3.Text, 0);
Fieldbyname('MJQty4').Value := StrToFloatDef(KgQtyMX.Text, 0) - StrToFloatDef(edtMJQTY3.Text, 0);
// Fieldbyname('HSXS').Value := StrToFloatDef(HSXS.Text, 0);
Fieldbyname('MJlen').Value := StrToFloatDef(QtyMX.Text, 0);
// Fieldbyname('MJlen').Value := RoundFloat((StrToFloatDef(KgQtyMX.Text, 0) - StrToFloatDef(edtMJQTY3.Text, 0)) * StrToFloatDef(HSXS.Text, 0), 2);
end
else
begin
Fieldbyname('MJlen').Value := strtofloatdef(QtyMX.Text, 0);
end;
post;
end;
with CDS_main do
begin
edit;
if CDS_MX.IsEmpty then
begin
Fieldbyname('PiQty').Value := 0;
Fieldbyname('Qty').Value := 0;
Fieldbyname('KgQty').Value := 0;
end
else
begin
Fieldbyname('PiQty').Value := tv2.DataController.Summary.FooterSummaryValues[0];
Fieldbyname('Qty').Value := tv2.DataController.Summary.FooterSummaryValues[1];
Fieldbyname('KgQty').Value := tv2.DataController.Summary.FooterSummaryValues[2];
end;
post;
end;
KgQtyMX.Text := '';
QtyMX.Text := '';
if not chkMJJH.Checked then
edtMJXH.SetFocus;
except
end;
with ADOQueryTemp do
begin
close;
sql.Clear;
sql.Add('select * from MD_MJJY where MJID=''' + trim(fMJID) + '''');
open;
end;
if ADOQueryTemp.IsEmpty then
begin
application.MessageBox('<27><><EFBFBD><EFBFBD>ʧ<EFBFBD>ܣ<EFBFBD>', '<27><>ʾ<EFBFBD><CABE>Ϣ', MB_ICONERROR);
exit;
end;
end;
end;
procedure TfrmDJBDDRK_Edit.TBPrintClick(Sender: TObject);
begin
if CDS_Main.IsEmpty then
exit;
with ADOQueryTemp do
begin
close;
sql.Clear;
sql.Add('select MJID from MD_MJJY');
sql.Add('where APID=''' + trim(CDS_Main.fieldbyName('SPID').AsString) + ''' ');
open;
end;
if ADOQueryTemp.IsEmpty then
exit;
while not ADOQueryTemp.Eof do
begin
sleep(200);
Printdata(ADOQueryTemp.fieldbyName('MJID').AsString);
ADOQueryTemp.next;
end;
end;
procedure TfrmDJBDDRK_Edit.Tv1CellClick(Sender: TcxCustomGridTableView; ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton; AShift: TShiftState; var AHandled: Boolean);
begin
// HSXS.Text := trim(CDS_Main.fieldByName('XS').AsString);
// edtXSWS.Text := trim(CDS_Main.fieldByName('XSWS').AsString);
initMJID();
end;
procedure TfrmDJBDDRK_Edit.Tv2CellDblClick(Sender: TcxCustomGridTableView; ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton; AShift: TShiftState; var AHandled: Boolean);
begin
if CDS_MX.IsEmpty then
exit;
with ADOQueryTemp do
begin
close;
sql.Clear;
sql.Add('select * from MD_MJJY where MJID=''' + trim(CDS_MX.fieldbyName('MJID').AsString) + '''');
open;
end;
if trim(ADOQueryTemp.fieldbyName('MJStr2').AsString) <> <><CEB4><EFBFBD><EFBFBD>' then
begin
application.MessageBox('<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ѿ<EFBFBD><D1BE><EFBFBD><EFBFBD><EFBFBD><E2A3AC><EFBFBD><EFBFBD>ɾ<EFBFBD><C9BE><EFBFBD><EFBFBD>', '<27><>ʾ<EFBFBD><CABE>Ϣ', MB_ICONERROR);
exit;
end;
with ADOQueryCmd do
begin
close;
sql.Clear;
sql.Add('delete from MD_MJJY where MJID=''' + trim(CDS_MX.fieldbyName('MJID').AsString) + '''');
execsql;
end;
CDS_MX.Delete;
with CDS_main do
begin
edit;
if CDS_MX.IsEmpty then
begin
Fieldbyname('PiQty').Value := 0;
Fieldbyname('Qty').Value := 0;
Fieldbyname('KgQty').Value := 0;
end
else
begin
Fieldbyname('PiQty').Value := tv2.DataController.Summary.FooterSummaryValues[0];
Fieldbyname('Qty').Value := tv2.DataController.Summary.FooterSummaryValues[1];
Fieldbyname('KgQty').Value := tv2.DataController.Summary.FooterSummaryValues[2];
end;
post;
end;
end;
procedure TfrmDJBDDRK_Edit.TBdelClick(Sender: TObject);
begin
with ADOQueryTemp do
begin
Close;
sql.Clear;
sql.Add('select * from MD_MJJY where isnull(APID,'''')=''' + Trim(CDS_Main.fieldbyname('SPID').AsString) + '''');
Open;
end;
if not ADOQueryTemp.IsEmpty then
begin
Application.MessageBox('<27>Ѽ<EFBFBD><D1BC><EFBFBD><E9B2BB>ɾ<EFBFBD><C9BE><EFBFBD><EFBFBD><EFBFBD><EFBFBD>!', '<27><>ʾ', 0);
Exit;
end;
with ADOQueryTemp do
begin
Close;
sql.Clear;
sql.Add('select * from YF_money_CR where YFTypeId=''' + Trim(CDS_Main.fieldbyname('SPID').AsString) + '''');
Open;
end;
if ADOQueryTemp.IsEmpty = False then
begin
Application.MessageBox('<27><><EFBFBD><EFBFBD>Ӧ<EFBFBD><D3A6><EFBFBD><EFBFBD><EFBFBD><EFBFBD>¼<EFBFBD><C2BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɾ<EFBFBD><C9BE>!', '<27><>ʾ', 0);
Exit;
end;
with ADOQueryCmd do
begin
close;
sql.Clear;
sql.Add('delete from CK_XNMD_CR where SPID=''' + trim(CDS_Main.fieldbyName('SPID').AsString) + '''');
execsql;
end;
CDS_Main.Delete;
end;
procedure TfrmDJBDDRK_Edit.v1Column2PropertiesEditValueChanged(Sender: TObject);
var
mvalue: string;
begin
mvalue := TcxTextEdit(Sender).EditingText;
if trim(mvalue) = '' then
exit;
with CDS_Main do
begin
Edit;
FieldByName('batchNo').Value := Trim(mvalue);
Post;
end;
self.tv1.Controller.EditingController.ShowEdit();
{
with ADOQueryTemp do
begin
close;
sql.Clear;
sql.Add('select top 1 * from CK_XNMD_CR where batchNo='''+trim(CDS_Main.fieldbyName('batchNo').AsString)+''' ');
open;
IF not IsEmpty then
begin
with CDS_Main do
begin
Edit;
FieldByName('SPName').Value:=Trim(ADOQueryTemp.fieldbyName('SPName').AsString);
Post;
end;
end;
end; }
end;
procedure TfrmDJBDDRK_Edit.edtMJXHKeyPress(Sender: TObject; var Key: Char);
begin
if Key = #13 then
QtyMX.SetFocus;
end;
procedure TfrmDJBDDRK_Edit.chkMJJHClick(Sender: TObject);
begin
if chkMJJH.Checked then
begin
if CDS_MX.IsEmpty then
edtMJXH.Text := '1'
else
edtMJXH.Text := IntToStr(1 + CDS_MX.RecordCount);
end
else
begin
edtMJXH.Text := '';
end;
end;
procedure TfrmDJBDDRK_Edit.v2Column4PropertiesEditValueChanged(Sender: TObject);
var
mvalue, FFieldName: string;
begin
mvalue := TcxTextEdit(Sender).EditingText;
FFieldName := Trim(Tv2.Controller.FocusedColumn.DataBinding.FilterFieldName);
with CDS_MX do
begin
Edit;
FieldByName(FFieldName).Value := mvalue;
Post;
end;
with ADOQueryCmd do
begin
Close;
sql.Clear;
sql.Add(' update MD_MJJY set ' + FFieldName + ' = ' + mvalue);
sql.Add(' where MJID= ' + quotedstr(Trim(CDS_MX.FieldByName('MJID').Asstring)));
ExecSQL;
end;
tv2.Controller.EditingController.ShowEdit();
end;
procedure TfrmDJBDDRK_Edit.Tv2MouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
begin
with ADOQueryTemp do
begin
close;
sql.Clear;
sql.Add('select * from MD_MJJY where MJID=''' + trim(CDS_MX.fieldbyName('MJID').AsString) + '''');
open;
end;
if trim(ADOQueryTemp.fieldbyName('MJStr2').AsString) <> <><CEB4><EFBFBD><EFBFBD>' then
begin
VC_MJqty1.Options.Editing := False;
end
else
begin
VC_MJqty1.Options.Editing := True;
end;
end;
procedure TfrmDJBDDRK_Edit.v2Column2PropertiesEditValueChanged(Sender: TObject);
var
mvalue, FFieldName: string;
begin
mvalue := TcxTextEdit(Sender).EditingText;
FFieldName := Trim(Tv2.Controller.FocusedColumn.DataBinding.FilterFieldName);
with CDS_MX do
begin
Edit;
FieldByName(FFieldName).Value := mvalue;
Post;
end;
with ADOQueryCmd do
begin
Close;
sql.Clear;
sql.Add(' update MD_MJJY set ' + FFieldName + ' = ' + QuotedStr(mvalue));
sql.Add(' where MJID= ' + quotedstr(Trim(CDS_MX.FieldByName('MJID').Asstring)));
ExecSQL;
end;
tv2.Controller.EditingController.ShowEdit();
end;
procedure TfrmDJBDDRK_Edit.v1Column15PropertiesButtonClick(Sender: TObject; AButtonIndex: Integer);
begin
try
frmZDYHelp := TfrmZDYHelp.Create(Application);
with frmZDYHelp do
begin
flag := 'SPColor';
flagname := '<27><>ɫ';
if ShowModal = 1 then
begin
with Self.CDS_Main do
begin
Edit;
FieldByName('SPColor').Value := Trim(frmZDYHelp.ClientDataSet1.fieldbyname('ZdyName').AsString);
end;
end;
end;
finally
frmZDYHelp.Free;
end;
end;
procedure TfrmDJBDDRK_Edit.N1Click(Sender: TObject);
var
str: string;
begin
str := '<27><><EFBFBD><EFBFBD>';
if InputQuery(<><D7AA>', '<27><><EFBFBD><EFBFBD><EBB5A5>', str) then
begin
with ADOQueryTemp do
begin
Close;
sql.Clear;
sql.Add('select SPID from CK_XNMD_CR where isnull(SPID,'''')=''' + Trim(str) + '''');
Open;
end;
if ADOQueryTemp.IsEmpty then
begin
Application.MessageBox('<27><><EFBFBD>Ų<EFBFBD><C5B2><EFBFBD><EFBFBD><EFBFBD>!', '<27><>ʾ', 0);
Exit;
end;
while CDS_MX.Locate('SSel', True, []) do
begin
with ADOQueryCmd do
begin
Close;
sql.Clear;
sql.Add('update MD_MJJY set APID=' + Quotedstr(Trim(str)));
sql.Add(' where MJID=''' + Trim(CDS_MX.fieldbyname('MJID').AsString) + '''');
ExecSQL;
end;
CDS_MX.Delete;
end;
end;
end;
procedure TfrmDJBDDRK_Edit.v1Column16PropertiesButtonClick(Sender: TObject; AButtonIndex: Integer);
begin
try
frmProductOrderNewList_New := TfrmProductOrderNewList_New.Create(Application);
with frmProductOrderNewList_New do
begin
if ShowModal = 1 then
begin
Self.CDS_Main.Edit;
Self.CDS_Main.FieldByName('QCorderNo').Value := Trim(Order_Main.fieldbyname('MLOrderNo').AsString);
Self.CDS_Main.FieldByName('MainID').Value := Trim(Order_Main.fieldbyname('NewMLID').AsString);
Self.CDS_Main.FieldByName('SubID').Value := Trim(Order_Main.fieldbyname('NewSubid').AsString);
Self.CDS_Main.FieldByName('SPName').Value := Trim(Order_Main.fieldbyname('MLCodeName').AsString);
Self.CDS_Main.FieldByName('SPColor').Value := Trim(Order_Main.fieldbyname('MLColor').AsString);
Self.CDS_Main.FieldByName('SPColorNo').Value := Trim(Order_Main.fieldbyname('MLColorNo').AsString);
Self.CDS_Main.FieldByName('PiQty').Value := Order_Main.fieldbyname('PS').Value;
Self.CDS_Main.FieldByName('Qty').Value := Order_Main.fieldbyname('Qty').Value;
end;
end;
finally
frmProductOrderNewList_New.Free;
end;
end;
end.