815 lines
26 KiB
ObjectPascal
815 lines
26 KiB
ObjectPascal
unit U_MJEdit;
|
||
|
||
interface
|
||
|
||
uses
|
||
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
|
||
StrUtils, Dialogs, cxStyles, cxCustomData, cxGraphics, cxFilter, cxData,
|
||
cxDataStorage, cxEdit, DB, cxDBData, cxTextEdit, DBClient, ADODB, cxGridLevel,
|
||
cxGridCustomTableView, cxGridTableView, cxGridDBTableView, cxClasses,
|
||
cxControls, cxGridCustomView, cxGrid, StdCtrls, ExtCtrls, ComCtrls, ToolWin,
|
||
cxButtonEdit, RM_Common, RM_Class, RM_GridReport, RM_System, RM_Dataset,
|
||
cxLookAndFeels, cxLookAndFeelPainters, cxNavigator, dxSkinsCore,
|
||
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, dxSkinPumpkin,
|
||
dxSkinSeven, dxSkinSevenClassic, dxSkinSharp, dxSkinSharpPlus,
|
||
dxSkinSilver, dxSkinSpringTime, dxSkinStardust, dxSkinSummer2008,
|
||
dxSkinTheAsphaltWorld, dxSkinsDefaultPainters, dxSkinValentine,
|
||
dxSkinVS2010, dxSkinWhiteprint, dxSkinXmas2008Blue, dxSkinscxPCPainter;
|
||
|
||
type
|
||
TfrmMJEdit = class(TForm)
|
||
ToolBar1: TToolBar;
|
||
ToolButton2: TToolButton;
|
||
TBClose: TToolButton;
|
||
Panel1: TPanel;
|
||
Label1: TLabel;
|
||
MJID: TEdit;
|
||
cxGrid2: TcxGrid;
|
||
Tv2: TcxGridDBTableView;
|
||
tv2CDType: TcxGridDBColumn;
|
||
tv2CDWZ: TcxGridDBColumn;
|
||
v2Column2: TcxGridDBColumn;
|
||
Tv2CDQty: TcxGridDBColumn;
|
||
Tv2CDReason: TcxGridDBColumn;
|
||
cxGridLevel1: TcxGridLevel;
|
||
ADOTmp: TADOQuery;
|
||
ADOQueryMain: TADOQuery;
|
||
ADOCmd: TADOQuery;
|
||
DataSource1: TDataSource;
|
||
Order_MJ: TClientDataSet;
|
||
ToolButton1: TToolButton;
|
||
ToolButton3: TToolButton;
|
||
Label2: TLabel;
|
||
MJMaoZ: TEdit;
|
||
Label4: TLabel;
|
||
M: TLabel;
|
||
Label6: TLabel;
|
||
MJLen: TEdit;
|
||
RadioGroup1: TRadioGroup;
|
||
Ma: TLabel;
|
||
Label7: TLabel;
|
||
MJQty1: TEdit;
|
||
Label5: TLabel;
|
||
Label8: TLabel;
|
||
MJFK: TEdit;
|
||
Label9: TLabel;
|
||
Label10: TLabel;
|
||
Label3: TLabel;
|
||
Label11: TLabel;
|
||
MJSJKZ: TEdit;
|
||
ToolButton4: TToolButton;
|
||
Label13: TLabel;
|
||
MJQty2: TEdit;
|
||
Label12: TLabel;
|
||
Label14: TLabel;
|
||
MJQty4: TEdit;
|
||
MJXH: TEdit;
|
||
Label15: TLabel;
|
||
Label16: TLabel;
|
||
MJStr4: TEdit;
|
||
TBQPrint: TToolButton;
|
||
ADOQueryPrint: TADOQuery;
|
||
RMDBMain: TRMDBDataSet;
|
||
RM2: TRMGridReport;
|
||
Label17: TLabel;
|
||
FS: TComboBox;
|
||
procedure FormClose(Sender: TObject; var Action: TCloseAction);
|
||
procedure FormDestroy(Sender: TObject);
|
||
procedure MJIDKeyPress(Sender: TObject; var Key: Char);
|
||
procedure tv2CDTypePropertiesButtonClick(Sender: TObject; AButtonIndex: Integer);
|
||
procedure tv2CDWZPropertiesEditValueChanged(Sender: TObject);
|
||
procedure v2Column2PropertiesEditValueChanged(Sender: TObject);
|
||
procedure ToolButton1Click(Sender: TObject);
|
||
procedure ToolButton3Click(Sender: TObject);
|
||
procedure ToolButton2Click(Sender: TObject);
|
||
procedure TBCloseClick(Sender: TObject);
|
||
procedure FormShow(Sender: TObject);
|
||
procedure ToolButton4Click(Sender: TObject);
|
||
procedure MDblClick(Sender: TObject);
|
||
procedure TBQPrintClick(Sender: TObject);
|
||
private
|
||
{ Private declarations }
|
||
function SaveData(): Boolean;
|
||
public
|
||
FStyleNo, FOrderUnit, FHX, FSE: string;
|
||
{ Public declarations }
|
||
end;
|
||
|
||
var
|
||
frmMJEdit: TfrmMJEdit;
|
||
|
||
implementation
|
||
|
||
uses
|
||
U_Fun, U_ZDYHelp, U_DataLink;
|
||
|
||
{$R *.dfm}
|
||
|
||
procedure TfrmMJEdit.FormClose(Sender: TObject; var Action: TCloseAction);
|
||
begin
|
||
Action := caFree;
|
||
end;
|
||
|
||
procedure TfrmMJEdit.FormDestroy(Sender: TObject);
|
||
begin
|
||
frmMJEdit := nil;
|
||
end;
|
||
|
||
procedure TfrmMJEdit.MJIDKeyPress(Sender: TObject; var Key: Char);
|
||
begin
|
||
if Key = #13 then
|
||
begin
|
||
with ADOTmp do
|
||
begin
|
||
Close;
|
||
sql.Clear;
|
||
SQL.Add('select A.* from WFB_MJJY A');
|
||
sql.Add(' where A.MJID=''' + Trim(MJID.Text) + '''');
|
||
Open;
|
||
end;
|
||
if ADOTmp.IsEmpty then
|
||
begin
|
||
MJID.Text := '';
|
||
Label2.Caption := '';
|
||
Label2.Visible := False;
|
||
Application.MessageBox('<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>!', '<27><>ʾ', 0);
|
||
Exit;
|
||
end;
|
||
MJXH.Text := Trim(ADOTmp.fieldbyname('MJXH').AsString);
|
||
MJstr4.Text := Trim(ADOTmp.fieldbyname('MJstr4').AsString);
|
||
MJMaoZ.Text := Trim(ADOTmp.fieldbyname('MJMaoZ').AsString);
|
||
MJLen.Text := Trim(ADOTmp.fieldbyname('MJLen').AsString);
|
||
MJQty1.Text := Trim(ADOTmp.fieldbyname('MJQty1').AsString);
|
||
MJQty2.Text := Trim(ADOTmp.fieldbyname('MJQty2').AsString);
|
||
MJQty4.Text := Trim(ADOTmp.fieldbyname('MJQty4').AsString);
|
||
MJFK.Text := Trim(ADOTmp.fieldbyname('MJFK').AsString);
|
||
MJSJKZ.Text := Trim(ADOTmp.fieldbyname('MJSJKZ').AsString);
|
||
M.Caption := Trim(Trim(ADOTmp.fieldbyname('MJTypeOther').AsString));
|
||
Ma.Caption := Trim(Trim(ADOTmp.fieldbyname('MJStr1').AsString));
|
||
{ if Trim(m.Caption)='' then
|
||
begin
|
||
m.Caption:=Trim(ADOTmp.fieldbyname('AOrddefstr3').AsString);
|
||
end;
|
||
if Trim(Ma.Caption)='' then
|
||
begin
|
||
Ma.Caption:=Trim(ADOTmp.fieldbyname('AOrddefstr2').AsString);
|
||
end; }
|
||
if Trim(Trim(ADOTmp.fieldbyname('MJType').AsString)) = '<27><>Ʒ' then
|
||
begin
|
||
RadioGroup1.ItemIndex := 0
|
||
end
|
||
else if Trim(Trim(ADOTmp.fieldbyname('MJType').AsString)) = '<27><>Ʒ' then
|
||
begin
|
||
RadioGroup1.ItemIndex := 1;
|
||
end
|
||
else if Trim(Trim(ADOTmp.fieldbyname('MJType').AsString)) = '<27><><EFBFBD><EFBFBD>' then
|
||
begin
|
||
RadioGroup1.ItemIndex := 2;
|
||
end;
|
||
with ADOTmp do
|
||
begin
|
||
Close;
|
||
sql.Clear;
|
||
SQL.Add('select * from WFB_MJJY_CD A where A.MJID=''' + Trim(MJID.Text) + '''');
|
||
Open;
|
||
end;
|
||
Label2.Caption := Trim(MJID.Text);
|
||
Label2.Visible := True;
|
||
MJID.Text := '';
|
||
SCreateCDS20(ADOTmp, Order_MJ);
|
||
SInitCDSData20(ADOTmp, Order_MJ);
|
||
TBQPrint.Click;
|
||
end;
|
||
end;
|
||
|
||
procedure TfrmMJEdit.tv2CDTypePropertiesButtonClick(Sender: TObject; AButtonIndex: Integer);
|
||
begin
|
||
try
|
||
frmZDYHelp := TfrmZDYHelp.Create(Application);
|
||
with frmZDYHelp do
|
||
begin
|
||
flag := 'WFBCD';
|
||
flagname := '<27>õ<EFBFBD>';
|
||
if ShowModal = 1 then
|
||
begin
|
||
Self.Order_MJ.Edit;
|
||
Self.Order_MJ.FieldByName('CDName').value := Trim(ClientDataSet1.fieldbyname('ZdyName').AsString);
|
||
end;
|
||
end;
|
||
finally
|
||
frmZDYHelp.Free;
|
||
end;
|
||
end;
|
||
|
||
procedure TfrmMJEdit.tv2CDWZPropertiesEditValueChanged(Sender: TObject);
|
||
var
|
||
mvalue, CDBeg, CDEnd: string;
|
||
FFReal: Double;
|
||
begin
|
||
mvalue := TcxTextEdit(Sender).EditingText;
|
||
with Order_MJ do
|
||
begin
|
||
Edit;
|
||
FieldByName('CDBeg').Value := mvalue;
|
||
Post;
|
||
end;
|
||
CDBeg := Trim(Order_MJ.fieldbyname('CDBeg').AsString);
|
||
CDEnd := Trim(Order_MJ.fieldbyname('CDEnd').AsString);
|
||
if (Trim(CDBeg) <> '') and (Trim(CDEnd) <> '') then
|
||
begin
|
||
if TryStrToFloat(CDBeg, FFReal) and TryStrToFloat(CDBeg, FFReal) then
|
||
begin
|
||
if StrToFloat(CDEnd) < StrToFloat(CDBeg) then
|
||
begin
|
||
Application.MessageBox('<27><>ֹλ<D6B9><CEBB>С<EFBFBD><D0A1><EFBFBD><EFBFBD>ʼλ<CABC><CEBB>!', '<27><>ʾ', 0);
|
||
Exit;
|
||
end;
|
||
with Order_MJ do
|
||
begin
|
||
Edit;
|
||
FieldByName('CDQty').Value := StrToFloat(CDEnd) - StrToFloat(CDBeg);
|
||
Post;
|
||
end;
|
||
end
|
||
else
|
||
begin
|
||
Application.MessageBox('<27>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD><EFBFBD>!', '<27><>ʾ', 0);
|
||
Exit;
|
||
end;
|
||
end;
|
||
end;
|
||
|
||
procedure TfrmMJEdit.v2Column2PropertiesEditValueChanged(Sender: TObject);
|
||
var
|
||
mvalue, CDBeg, CDEnd: string;
|
||
FFReal: Double;
|
||
begin
|
||
mvalue := TcxTextEdit(Sender).EditingText;
|
||
with Order_MJ do
|
||
begin
|
||
Edit;
|
||
FieldByName('CDEnd').Value := mvalue;
|
||
Post;
|
||
end;
|
||
CDBeg := Trim(Order_MJ.fieldbyname('CDBeg').AsString);
|
||
CDEnd := Trim(Order_MJ.fieldbyname('CDEnd').AsString);
|
||
if (Trim(CDBeg) <> '') and (Trim(CDEnd) <> '') then
|
||
begin
|
||
if TryStrToFloat(CDBeg, FFReal) and TryStrToFloat(CDBeg, FFReal) then
|
||
begin
|
||
if StrToFloat(CDEnd) < StrToFloat(CDBeg) then
|
||
begin
|
||
Application.MessageBox('<27><>ֹλ<D6B9><CEBB>С<EFBFBD><D0A1><EFBFBD><EFBFBD>ʼλ<CABC><CEBB>!', '<27><>ʾ', 0);
|
||
Exit;
|
||
end;
|
||
with Order_MJ do
|
||
begin
|
||
Edit;
|
||
FieldByName('CDQty').Value := StrToFloat(CDEnd) - StrToFloat(CDBeg);
|
||
Post;
|
||
end;
|
||
end
|
||
else
|
||
begin
|
||
Application.MessageBox('<27>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD><EFBFBD>!', '<27><>ʾ', 0);
|
||
Exit;
|
||
end;
|
||
end;
|
||
end;
|
||
|
||
procedure TfrmMJEdit.ToolButton1Click(Sender: TObject);
|
||
begin
|
||
if Trim(Label2.Caption) = '' then
|
||
Exit;
|
||
Order_MJ.Append;
|
||
Order_MJ.Post;
|
||
end;
|
||
|
||
procedure TfrmMJEdit.ToolButton3Click(Sender: TObject);
|
||
begin
|
||
if Trim(Label2.Caption) = '' then
|
||
Exit;
|
||
if Order_MJ.IsEmpty then
|
||
Exit;
|
||
if Trim(Order_MJ.fieldbyname('MCID').AsString) <> '' then
|
||
begin
|
||
if Application.MessageBox('ȷ<><C8B7>Ҫɾ<D2AA><C9BE><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>', '<27><>ʾ', 32 + 4) <> IDYES then
|
||
Exit;
|
||
with ADOCmd do
|
||
begin
|
||
Close;
|
||
sql.Clear;
|
||
sql.Add('delete WFB_MJJY_CD where MCID=''' + Trim(Order_MJ.fieldbyname('MCID').AsString) + '''');
|
||
ExecSQL;
|
||
end;
|
||
with ADOCmd do
|
||
begin
|
||
Close;
|
||
sql.Clear;
|
||
sql.Add('update WFB_MJJY SET ZCDName=dbo.F_Get_Order_SubStr(MJID,''QDHZ'')');
|
||
sql.Add(' where MJID=''' + Trim(Order_MJ.fieldbyname('MJID').AsString) + '''');
|
||
execsql;
|
||
end;
|
||
end;
|
||
Order_MJ.Delete;
|
||
end;
|
||
|
||
function TfrmMJEdit.SaveData(): Boolean;
|
||
var
|
||
maxno: string;
|
||
FFreal: Double;
|
||
FKHZ, FKHY, FCD, FMZ, FTM: string;
|
||
begin
|
||
try
|
||
ADOCmd.Connection.BeginTrans;
|
||
///<2F><><EFBFBD><EFBFBD><EFBFBD>õ<EFBFBD><C3B5><EFBFBD>
|
||
with Order_MJ do
|
||
begin
|
||
First;
|
||
while not Eof do
|
||
begin
|
||
if Trim(Order_MJ.fieldbyname('MCID').AsString) = '' then
|
||
begin
|
||
if GetLSNo(ADOTmp, maxno, 'MC', 'WFB_MJJY_CD', 5, 1) = False then
|
||
begin
|
||
ADOCmd.Connection.RollbackTrans;
|
||
Application.MessageBox('ȡ<><C8A1><EFBFBD><EFBFBD>ˮ<EFBFBD><CBAE>ʧ<EFBFBD>ܣ<EFBFBD>', '<27><>ʾ', 0);
|
||
Exit;
|
||
end;
|
||
end
|
||
else
|
||
begin
|
||
maxno := Trim(Order_MJ.fieldbyname('MCID').AsString);
|
||
end;
|
||
with ADOCmd do
|
||
begin
|
||
Close;
|
||
SQL.Clear;
|
||
sql.Add('select * from WFB_MJJY_CD ');
|
||
sql.Add(' where MCID=''' + Trim(maxno) + '''');
|
||
Open;
|
||
end;
|
||
with ADOCmd do
|
||
begin
|
||
if Trim(Order_MJ.fieldbyname('MCID').AsString) = '' then
|
||
Append
|
||
else
|
||
Edit;
|
||
FieldByName('MJId').Value := Trim(Label2.Caption);
|
||
FieldByName('MCID').Value := Trim(maxno);
|
||
SSetSaveDataCDSNew(ADOCmd, Tv2, Order_MJ, 'WFB_MJJY_CD', 0);
|
||
if trim(Order_MJ.fieldbyname('CDName').AsString) = '<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>' then
|
||
FieldByName('koufenQty').Value := 0
|
||
else
|
||
FieldByName('koufenQty').Value := Order_MJ.fieldbyname('koufenQty').AsFloat;
|
||
Post;
|
||
end;
|
||
Order_MJ.Edit;
|
||
Order_MJ.FieldByName('MCID').Value := Trim(maxno);
|
||
Order_MJ.FieldByName('MJID').Value := Trim(Label2.Caption);
|
||
Next;
|
||
end;
|
||
end;
|
||
if Trim(MJMaoZ.Text) <> '' then
|
||
begin
|
||
if TryStrToFloat(MJMaoZ.Text, FFreal) = False then
|
||
begin
|
||
ADOCmd.Connection.RollbackTrans;
|
||
Application.MessageBox('<27><><EFBFBD><EFBFBD><EFBFBD>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD><EFBFBD>!', '<27><>ʾ', 0);
|
||
Exit;
|
||
end;
|
||
end;
|
||
if Trim(MJLen.Text) <> '' then
|
||
begin
|
||
if TryStrToFloat(MJLen.Text, FFreal) = False then
|
||
begin
|
||
ADOCmd.Connection.RollbackTrans;
|
||
Application.MessageBox('<27><><EFBFBD>ȷǷ<C8B7><C7B7><EFBFBD><EFBFBD><EFBFBD>!', '<27><>ʾ', 0);
|
||
Exit;
|
||
end;
|
||
end;
|
||
if Trim(MJSJKZ.Text) <> '' then
|
||
begin
|
||
if TryStrToFloat(MJSJKZ.Text, FFreal) = False then
|
||
begin
|
||
ADOCmd.Connection.RollbackTrans;
|
||
Application.MessageBox('<27><><EFBFBD>طǷ<D8B7><C7B7><EFBFBD><EFBFBD><EFBFBD>!', '<27><>ʾ', 0);
|
||
Exit;
|
||
end;
|
||
end;
|
||
if Trim(MJQty2.Text) <> '' then
|
||
begin
|
||
if TryStrToFloat(MJQty2.Text, FFreal) = False then
|
||
begin
|
||
ADOCmd.Connection.RollbackTrans;
|
||
Application.MessageBox('<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD><EFBFBD>!', '<27><>ʾ', 0);
|
||
Exit;
|
||
end;
|
||
end;
|
||
if Trim(MJQty4.Text) <> '' then
|
||
begin
|
||
if TryStrToFloat(MJQty4.Text, FFreal) = False then
|
||
begin
|
||
ADOCmd.Connection.RollbackTrans;
|
||
Application.MessageBox('<27><><EFBFBD>طǷ<D8B7><C7B7><EFBFBD><EFBFBD><EFBFBD>!', '<27><>ʾ', 0);
|
||
Exit;
|
||
end;
|
||
end;
|
||
FKHZ := Copy(Trim(FStyleNo), 1, 3);
|
||
FKHY := Copy(Trim(FStyleNo), 5, 7);
|
||
if (FOrderUnit <> 'KG') and (FOrderUnit <> 'Kg') and (FOrderUnit <> 'kg') then
|
||
begin
|
||
if Pos('.', Trim(MJLen.Text)) = 0 then
|
||
begin
|
||
if Length(Trim(MJLen.Text)) = 1 then
|
||
FCD := '0' + Trim(MJLen.Text) + '0000';
|
||
end
|
||
else
|
||
begin
|
||
if Length(Copy(Trim(MJLen.Text), 1, Pos('.', Trim(MJLen.Text)) - 1)) = 1 then
|
||
FCD := '0' + MJLen.Text + '0000';
|
||
FCD := Copy(Trim(FCD), 1, Pos('.', Trim(FCD)) - 1) + Copy(Trim(FCD), Pos('.', Trim(FCD)) + 1, 3);
|
||
end;
|
||
end
|
||
else
|
||
begin
|
||
if Pos('.', Trim(MJMaoz.Text)) = 0 then
|
||
begin
|
||
if Length(Trim(MJMaoz.Text)) = 1 then
|
||
FCD := '0' + Trim(MJMaoz.Text) + '0000';
|
||
end
|
||
else
|
||
begin
|
||
if Length(Copy(Trim(MJMaoz.Text), 1, Pos('.', Trim(MJMaoz.Text)) - 1)) = 1 then
|
||
FCD := '0' + MJMaoz.Text + '0000';
|
||
FCD := Copy(Trim(FCD), 1, Pos('.', Trim(FCD)) - 1) + Copy(Trim(FCD), Pos('.', Trim(FCD)) + 1, 3);
|
||
end;
|
||
end;
|
||
FCD := Copy(Trim(FCD), 1, 4);
|
||
FMZ := '0000' + trim(MJXH.Text);
|
||
FMZ := Copy(Trim(FMZ), Length(FMZ) - 3, Length(FMZ));
|
||
FTM := trim(FKHZ) + trim(FKHY) + copy(Trim(FHX) + Trim(FSE), 1, 3) + '0' + trim(FCD) + trim(MJStr4.Text) + trim(FMZ);
|
||
with ADOCmd do
|
||
begin
|
||
Close;
|
||
sql.Clear;
|
||
sql.Add('UPdate WFB_MJJY Set MJTypeOther=''' + Trim(M.Caption) + '''');
|
||
SQL.Add(',TM=''' + Trim(FTM) + '''');
|
||
SQL.Add(',MZ=''' + Trim(FMZ) + '''');
|
||
sql.Add(',MJStr1=''' + Trim(Ma.Caption) + '''');
|
||
sql.Add(',MJStr4=''' + Trim(MJStr4.Text) + '''');
|
||
sql.Add(',MJXH=''' + Trim(MJXH.Text) + '''');
|
||
sql.add(',ZCDName=dbo.F_Get_Order_SubStr(MJID,''QDHZ'')');
|
||
if Trim(MJLen.Text) <> '' then
|
||
begin
|
||
sql.Add(',MJLen=' + Trim(MJLen.Text));
|
||
end
|
||
else
|
||
begin
|
||
sql.Add(',MJLen=0');
|
||
end;
|
||
if Trim(MJQty1.Text) <> '' then
|
||
begin
|
||
sql.Add(',MJQty1=' + Trim(MJQty1.Text));
|
||
end
|
||
else
|
||
begin
|
||
sql.Add(',MJQty1=0');
|
||
end;
|
||
if Trim(MJQty2.Text) <> '' then
|
||
begin
|
||
sql.Add(',MJQty2=' + Trim(MJQty2.Text));
|
||
end
|
||
else
|
||
begin
|
||
sql.Add(',MJQty2=0');
|
||
end;
|
||
if Trim(MJFK.Text) <> '' then
|
||
begin
|
||
sql.Add(',MJFK=' + Trim(MJFK.Text));
|
||
end
|
||
else
|
||
begin
|
||
sql.Add(',MJFK=0');
|
||
end;
|
||
if Trim(MJMaoZ.Text) <> '' then
|
||
begin
|
||
sql.Add(',MJMaoZ=' + Trim(MJMaoZ.Text));
|
||
end
|
||
else
|
||
begin
|
||
sql.Add(',MJMaoZ=0');
|
||
end;
|
||
if Trim(MJSJKZ.Text) <> '' then
|
||
begin
|
||
sql.Add(',MJSJKZ=' + Trim(MJSJKZ.Text));
|
||
end
|
||
else
|
||
begin
|
||
sql.Add(',MJSJKZ=0');
|
||
end;
|
||
if Trim(MJQty4.Text) <> '' then
|
||
begin
|
||
sql.Add(',MJQty4=' + Trim(MJQty4.Text));
|
||
end
|
||
else
|
||
begin
|
||
sql.Add(',MJQty4=0');
|
||
end;
|
||
if RadioGroup1.ItemIndex = 0 then
|
||
begin
|
||
sql.Add(',MJType=''<27><>Ʒ'' ');
|
||
end
|
||
else if RadioGroup1.ItemIndex = 1 then
|
||
begin
|
||
sql.Add(',MJType=''<27><>Ʒ'' ');
|
||
end
|
||
else if RadioGroup1.ItemIndex = 2 then
|
||
begin
|
||
sql.Add(',MJType=''<27><>ƴ'' ');
|
||
end;
|
||
sql.Add(' where MJID=''' + Trim(Label2.Caption) + '''');
|
||
|
||
sql.Add('UPdate CK_BanCP_KC Set KCQtyUnit=''' + Trim(M.Caption) + '''');
|
||
if Trim(MJLen.Text) <> '' then
|
||
begin
|
||
sql.Add(',KCQty=' + Trim(MJLen.Text));
|
||
end
|
||
else
|
||
begin
|
||
sql.Add(',KCQty=0');
|
||
end;
|
||
if Trim(MJMaoZ.Text) <> '' then
|
||
begin
|
||
sql.Add(',KCKGQty=' + Trim(MJMaoZ.Text));
|
||
end
|
||
else
|
||
begin
|
||
sql.Add(',KCKGQty=0');
|
||
end;
|
||
sql.Add(' where MJID=''' + Trim(Label2.Caption) + ''' and KCQty>0');
|
||
ExecSQL;
|
||
end;
|
||
with ADOCmd do
|
||
begin
|
||
Close;
|
||
sql.Clear;
|
||
sql.Add('UPdate CK_BanCP_CR Set QtyUnit=''' + Trim(M.Caption) + '''');
|
||
sql.Add(',AOrdDefStr1=''' + Trim(MJStr4.Text) + '''');
|
||
if Trim(MJLen.Text) <> '' then
|
||
begin
|
||
sql.Add(',Qty=' + Trim(MJLen.Text));
|
||
end
|
||
else
|
||
begin
|
||
sql.Add(',Qty=0');
|
||
end;
|
||
if Trim(MJMaoZ.Text) <> '' then
|
||
begin
|
||
sql.Add(',KGQty=' + Trim(MJMaoZ.Text));
|
||
end
|
||
else
|
||
begin
|
||
sql.Add(',KGQty=0');
|
||
end;
|
||
if Trim(MJQty4.Text) <> '' then
|
||
begin
|
||
sql.Add(',MJQty4=' + Trim(MJQty4.Text));
|
||
end
|
||
else
|
||
begin
|
||
sql.Add(',MJQty4=0');
|
||
end;
|
||
if RadioGroup1.ItemIndex = 0 then
|
||
begin
|
||
sql.Add(',CPType=''<27><>Ʒ'' ');
|
||
end
|
||
else if RadioGroup1.ItemIndex = 1 then
|
||
begin
|
||
sql.Add(',CPType=''<27><>Ʒ'' ');
|
||
end
|
||
else if RadioGroup1.ItemIndex = 2 then
|
||
begin
|
||
sql.Add(',MJType=''<27><>ƴ'' ');
|
||
end;
|
||
sql.Add(' where MJID=''' + Trim(Label2.Caption) + '''');
|
||
ExecSQL;
|
||
end;
|
||
ADOCmd.Connection.CommitTrans;
|
||
Result := True;
|
||
except
|
||
Result := False;
|
||
ADOCmd.Connection.RollbackTrans;
|
||
Application.MessageBox('<27><><EFBFBD><EFBFBD>ʧ<EFBFBD>ܣ<EFBFBD>', '<27><>ʾ', 0);
|
||
end;
|
||
end;
|
||
|
||
procedure TfrmMJEdit.ToolButton2Click(Sender: TObject);
|
||
begin
|
||
if Trim(Label2.Caption) = '' then
|
||
Exit;
|
||
if SaveData() then
|
||
begin
|
||
Application.MessageBox('<27><><EFBFBD><EFBFBD><EFBFBD>ɹ<EFBFBD>!', '<27><>ʾ', 0);
|
||
Exit;
|
||
end;
|
||
end;
|
||
|
||
procedure TfrmMJEdit.TBCloseClick(Sender: TObject);
|
||
begin
|
||
Close;
|
||
WriteCxGrid('<27><>ƥ<EFBFBD><C6A5><EFBFBD><EFBFBD>', Tv2, 'Ⱦ<><C8BE><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>');
|
||
end;
|
||
|
||
procedure TfrmMJEdit.FormShow(Sender: TObject);
|
||
begin
|
||
ReadCxGrid('<27><>ƥ<EFBFBD><C6A5><EFBFBD><EFBFBD>', Tv2, 'Ⱦ<><C8BE><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>');
|
||
end;
|
||
|
||
procedure TfrmMJEdit.ToolButton4Click(Sender: TObject);
|
||
begin
|
||
with ADOTmp do
|
||
begin
|
||
Close;
|
||
sql.Clear;
|
||
sql.Add('select * from CK_BanCP_CR where MJID=''' + Trim(Label2.Caption) + '''');
|
||
sql.Add(' and CRFlag=''<27><><EFBFBD><EFBFBD>''');
|
||
Open;
|
||
end;
|
||
if ADOTmp.IsEmpty = False then
|
||
begin
|
||
Application.MessageBox('<27>Ѳ<EFBFBD><D1B2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݲ<EFBFBD><DDB2><EFBFBD>ɾ<EFBFBD><C9BE>!', '<27><>ʾ', 0);
|
||
Exit;
|
||
end
|
||
else
|
||
begin
|
||
if Application.MessageBox('ȷ<><C8B7>Ҫ<EFBFBD><D2AA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϻ<EFBFBD><CFBA><EFBFBD><EFBFBD>ݲ<EFBFBD><DDB2>ָܻ<DCBB><D6B8><EFBFBD>', '<27><>ʾ', 32 + 4) = IDYES then
|
||
begin
|
||
with ADOCmd do
|
||
begin
|
||
Close;
|
||
sql.Clear;
|
||
sql.Add('delete WFB_MJJY where MJID=''' + Trim(Label2.Caption) + ''' ');
|
||
sql.Add('delete WFB_MJJY_CD where MJID=''' + Trim(Label2.Caption) + ''' ');
|
||
sql.Add('delete CK_BanCP_CR where MJID=''' + Trim(Label2.Caption) + ''' ');
|
||
sql.Add('delete CK_BanCP_KC where MJID=''' + Trim(Label2.Caption) + ''' ');
|
||
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><EFBFBD>ɾ<EFBFBD><C9BE>')));
|
||
sql.Add(',' + quotedstr(trim('<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>:' + trim(MJID.text))));
|
||
sql.Add(',' + quotedstr(trim('<27>ɹ<EFBFBD>')));
|
||
sql.Add(')');
|
||
ExecSQL;
|
||
end;
|
||
Label2.Caption := '';
|
||
end;
|
||
end;
|
||
end;
|
||
|
||
procedure TfrmMJEdit.MDblClick(Sender: TObject);
|
||
begin
|
||
if trim(M.Caption) = 'M' then
|
||
M.Caption := 'Y'
|
||
else
|
||
M.Caption := 'M';
|
||
end;
|
||
|
||
procedure TfrmMJEdit.TBQPrintClick(Sender: TObject);
|
||
var
|
||
// fPrintFile: string;
|
||
// Txt, fImagePath: string;
|
||
// Moudle: THandle;
|
||
// Makebar: TMakebar;
|
||
// Mixtext: TMixtext;
|
||
fPrintFile, fPrintFile1, fPrintFile2: string;
|
||
Txt, fImagePath, fImagePath1, fImagePath2, Txt4, fImagePath4: string;
|
||
Moudle: THandle;
|
||
Makebar: TMakebar;
|
||
Mixtext: TMixtext;
|
||
begin
|
||
with ADOQueryPrint do
|
||
begin
|
||
Close;
|
||
SQL.Clear;
|
||
sql.Add('select QtyUnit=A.MJTypeOther,B.orderNo,G.ConNo,GangNo=A.MJStr4,A.MJStr4,isnull(C.styleNo,F.StyleNo) StyleNo,G.KHConNo,G.ConLBName,G.ConNLBName');
|
||
sql.Add(',B.MaiTouNote,B.MPRTCode,B.LBName,B.NLBName,B.Filltime ZDDate,B.FBQName ');
|
||
sql.Add(',MPRTCodeNameEng=ISNULL((select Top 1 F.note from KH_Zdy F where F.zdyname=B.MPRTCodeName and F.Type=''PRTCodeName''),B.MPRTCodeName)');
|
||
sql.Add(',B.MPRTCF,B.MPRTMF,B.MPRTKZ,isnull(C.PRTColorEng,F.SOrdDefStr4) OrdPRTColorEng,F.SOrddefstr4,B.MPRTCodeName,B.MPRTSpec,B.MPRTKuanNO,B.LengUnit,D.PiQty ');
|
||
sql.Add(',Case when A.MJSJKZ*A.MJFK<>0 then Cast(A.MJQty4*1000/A.MJSJKZ/(A.MJFK/100) as int) else 0 end as MQty');
|
||
sql.add(' ,substring(G.ConNo,LEN(G.ConNO)-3,LEN(G.ConNO)) HS,F.XHNo');
|
||
sql.Add(',TLen=cast(MJLen as varchar(10))');
|
||
sql.Add(',FLen=substring(cast(MJLen as varchar(10)),1,LEN(MJLen)-3)+'',''+RIGHT(cast(MJLen as varchar(10)),2)');
|
||
SQL.ADD(' ,F.PRTMF,F.PRTKZ,F.PRTCodeName,F.PRTCode,G.CustomerNoName,C.*,A.*');
|
||
sql.Add(' from WFB_MJJY A');
|
||
sql.Add(' inner join JYOrder_Main B On A.Mainid=B.Mainid');
|
||
sql.Add(' inner join JYOrder_Sub C on A.SubId=C.SubId');
|
||
sql.Add(' left join KH_Zdy E on C.PRTColor=E.ZdyName and E.Type=''OrdColor'' ');
|
||
sql.Add(' inner join CK_SXPB_CR D on D.SPId=A.APId ');
|
||
sql.add(' left join JYOrderCon_Sub F on F.Subid=A.ConID');
|
||
sql.add(' left join JYOrderCon_Main G on G.Mainid=F.Mainid');
|
||
SQL.Add(' where A.MJID=''' + Trim(Label2.Caption) + '''');
|
||
Open;
|
||
end;
|
||
try
|
||
Moudle := LoadLibrary('MakeQRBarcode.dll');
|
||
@Makebar := GetProcAddress(Moudle, 'Make');
|
||
@Mixtext := GetProcAddress(Moudle, 'MixText');
|
||
Txt := Trim(ADOQueryPrint.fieldbyname('MJID').AsString);
|
||
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;
|
||
|
||
sleep(500);
|
||
|
||
try
|
||
Moudle := LoadLibrary('MakeQRBarcode.dll');
|
||
@Makebar := GetProcAddress(Moudle, 'Make');
|
||
@Mixtext := GetProcAddress(Moudle, 'MixText');
|
||
Txt := '32' + Copy(Trim(ADOQueryPrint.fieldbyname('orderNo').AsString), 3, 4) + formatdatetime('yyyyMMdd', ADOQueryPrint.fieldbyname('ZDDate').AsDateTime) + RightStr('10000' + Trim(ADOQueryPrint.fieldbyname('MJXH').AsString), 4);
|
||
fImagePath1 := ExtractFilePath(Application.ExeName) + 'image\temp1.bmp';
|
||
if not DirectoryExists(pchar(ExtractFilePath(Application.ExeName) + 'image')) then
|
||
CreateDirectory(pchar(ExtractFilePath(Application.ExeName) + 'image'), nil);
|
||
if FileExists(fImagePath1) then
|
||
DeleteFile(fImagePath1);
|
||
Makebar(pchar(Txt), Length(Txt), 3, 3, 0, PChar(fImagePath1), 4);
|
||
except
|
||
;
|
||
//ADOCmd.Connection.RollbackTrans;
|
||
application.MessageBox('<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʧ<EFBFBD>ܣ<EFBFBD>', '<27><>ʾ<EFBFBD><CABE>Ϣ', MB_ICONERROR);
|
||
exit;
|
||
end;
|
||
|
||
try
|
||
Moudle := LoadLibrary('MakeQRBarcode.dll');
|
||
@Makebar := GetProcAddress(Moudle, 'Make');
|
||
@Mixtext := GetProcAddress(Moudle, 'MixText');
|
||
Txt := 'NWJ01.100;' + Trim(ADOQueryPrint.fieldbyname('styleNo').AsString) + ';801;' + Trim(ADOQueryPrint.fieldbyname('PRTHX').AsString) + ';' + Trim(ADOQueryPrint.fieldbyname('MJQty4').AsString) + ';' + Trim(ADOQueryPrint.fieldbyname('MJlen').AsString) + ';' + RightStr('10000' + Trim(ADOQueryPrint.fieldbyname('MJXH').AsString), 4);
|
||
fImagePath2 := ExtractFilePath(Application.ExeName) + 'image\temp2.bmp';
|
||
if not DirectoryExists(pchar(ExtractFilePath(Application.ExeName) + 'image')) then
|
||
CreateDirectory(pchar(ExtractFilePath(Application.ExeName) + 'image'), nil);
|
||
if FileExists(fImagePath2) then
|
||
DeleteFile(fImagePath2);
|
||
Makebar(pchar(Txt), Length(Txt), 3, 3, 0, PChar(fImagePath2), 4);
|
||
except
|
||
;
|
||
application.MessageBox('<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʧ<EFBFBD>ܣ<EFBFBD>', '<27><>ʾ<EFBFBD><CABE>Ϣ', MB_ICONERROR);
|
||
exit;
|
||
end;
|
||
try
|
||
Moudle := LoadLibrary('MakeQRBarcode.dll');
|
||
@Makebar := GetProcAddress(Moudle, 'Make');
|
||
@Mixtext := GetProcAddress(Moudle, 'MixText');
|
||
Txt4 := '{"A":"' + Trim(ADOQueryPrint.fieldbyname('KHConNO').AsString) + '","B":"' + Trim(ADOQueryPrint.fieldbyname('StyleNo').AsString) + '","C":"' + Trim(ADOQueryPrint.fieldbyname('mjqty4').AsString) + '","D":"' + Trim(ADOQueryPrint.fieldbyname('MJlen').AsString) + '","E":"' + Trim(ADOQueryPrint.fieldbyname('mjstr4').AsString) + '","F":"' + RightStr(('10000' + trim(ADOQueryPrint.fieldbyName('MJXH').AsString)), 4) + '"}';
|
||
fImagePath4 := ExtractFilePath(Application.ExeName) + 'image\temp4.bmp';
|
||
if not DirectoryExists(pchar(ExtractFilePath(Application.ExeName) + 'image')) then
|
||
CreateDirectory(pchar(ExtractFilePath(Application.ExeName) + 'image'), nil);
|
||
if FileExists(fImagePath4) then
|
||
DeleteFile(fImagePath4);
|
||
Makebar(pchar(Txt4), Length(Txt4), 3, 3, 0, PChar(fImagePath4), 3);
|
||
except
|
||
application.MessageBox('<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʧ<EFBFBD>ܣ<EFBFBD>', '<27><>ʾ<EFBFBD><CABE>Ϣ', MB_ICONERROR);
|
||
exit;
|
||
end;
|
||
fPrintFile := ExtractFilePath(Application.ExeName) + 'Report\' + Trim(ADOQueryPrint.fieldbyname('LBName').AsString) + '.rmf';
|
||
if FileExists(fPrintFile) then
|
||
begin
|
||
RMVariables['ID'] := trim(ADOQueryPrint.fieldbyname('HS').AsString) + Trim(ADOQueryPrint.fieldbyname('XHNo').AsString);
|
||
RMVariables['QRBARCODE'] := fImagePath;
|
||
RMVariables['QRBARCODE1'] := fImagePath1;
|
||
RMVariables['QRBARCODE2'] := fImagePath2;
|
||
RMVariables['QRBARCODE4'] := fImagePath4;
|
||
RMVariables['MJXH1'] := '32' + copy(Trim(ADOQueryPrint.fieldbyname('orderNo').AsString), 3, 4) + formatdatetime('yyyyMMdd', ADOQueryPrint.fieldbyname('ZDDate').AsDateTime) + RightStr('10000' + Trim(ADOQueryPrint.fieldbyname('MJXH').AsString), 4);
|
||
RMVariables['FMPRTMF'] := StrToFloatDef(ADOQueryPrint.fieldbyname('MPRTMF').AsString, 0) / 100;
|
||
RM2.LoadFromFile(fPrintFile);
|
||
RM2.DefaultCopies := strtointdef(trim(FS.Text), 1);
|
||
//RM2.ShowReport;
|
||
RM2.PrintReport;
|
||
end
|
||
else
|
||
begin
|
||
Application.MessageBox(PChar('û<><C3BB><EFBFBD><EFBFBD>' + ExtractFilePath(Application.ExeName) + 'Report\' + Trim(ADOQueryPrint.fieldbyname('LBName').AsString)), '<27><>ʾ', 0);
|
||
end;
|
||
end;
|
||
|
||
end.
|
||
|