D7XHshengfang/盛纺贸易管理/U_SMLB.pas
DESKTOP-E401PHE\Administrator 0cb161cfb3 ~
2025-04-30 23:58:03 +08:00

1026 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_SMLB;
interface
uses
Windows, Messages, strutils,SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, cxStyles, cxCustomData, cxGraphics, cxFilter, cxData,
cxDataStorage, cxEdit, DB, cxDBData, cxGridLevel, cxGridCustomTableView,
cxGridTableView, cxGridDBTableView, cxClasses, cxControls,
cxGridCustomView, cxGrid, StdCtrls, cxContainer, cxTextEdit,
cxCurrencyEdit, BtnEdit, ExtCtrls, ComCtrls, ToolWin, DBClient, ADODB,
MovePanel, Buttons, Menus, cxLookAndFeelPainters, cxButtons, RM_Common,
RM_Class, RM_GridReport, RM_System, RM_Dataset, cxCheckBox;
type
TfrmSMLB = class(TForm)
ToolBar1: TToolBar;
TBClose: TToolButton;
Panel1: TPanel;
PHYG: TBtnEditA;
defstr2: TComboBox;
Label16: TLabel;
Label15: TLabel;
packNo: TcxCurrencyEdit;
Label14: TLabel;
Label1: TLabel;
Panel2: TPanel;
cxGrid2: TcxGrid;
TV2: TcxGridDBTableView;
cxGridDBColumn1: TcxGridDBColumn;
cxGridDBColumn2: TcxGridDBColumn;
cxGridDBColumn3: TcxGridDBColumn;
cxGridDBColumn4: TcxGridDBColumn;
cxGridDBColumn5: TcxGridDBColumn;
cxGridDBColumn6: TcxGridDBColumn;
cxGridDBColumn7: TcxGridDBColumn;
cxGridLevel1: TcxGridLevel;
ADOQueryMain: TADOQuery;
ADOQueryCmd: TADOQuery;
CDSMJID: TClientDataSet;
DataSource2: TDataSource;
SmNO: TEdit;
ADOQueryTmp: TADOQuery;
V2Column1: TcxGridDBColumn;
kcKw: TBtnEditA;
Label5: TLabel;
MovePanel1: TMovePanel;
Edit2: TEdit;
Button4: TButton;
Label2: TLabel;
cxStyleRepository1: TcxStyleRepository;
cxStyle1: TcxStyle;
cxStyle2: TcxStyle;
cxStyle_gridRow: TcxStyle;
cxStyle_gridFoot: TcxStyle;
cxStyle_gridHead: TcxStyle;
cxStyle_gridGroupBox: TcxStyle;
cxStyle_yellow: TcxStyle;
cxStyle_Red: TcxStyle;
cxStyle_fontBlack: TcxStyle;
cxStyle_fontclFuchsia: TcxStyle;
cxStyle_fontclPurple: TcxStyle;
cxStyle_fontclGreen: TcxStyle;
cxStyle_fontclBlue: TcxStyle;
cxStyle_fontclTeal: TcxStyle;
cxStyle_fontclOlive: TcxStyle;
ADOQuery1: TADOQuery;
DataSource1: TDataSource;
cxGrid3: TcxGrid;
Tv3: TcxGridDBTableView;
cxGridLevel2: TcxGridLevel;
Tv3Column1: TcxGridDBColumn;
ADOQueryTm: TADOQuery;
DSTm: TDataSource;
baoNo: TEdit;
BaoID: TEdit;
Label3: TLabel;
Label4: TLabel;
Panel3: TPanel;
SpeedButton1: TSpeedButton;
SpeedButton2: TSpeedButton;
SpeedButton3: TSpeedButton;
SpeedButton4: TSpeedButton;
SpeedButton5: TSpeedButton;
SpeedButton6: TSpeedButton;
SpeedButton7: TSpeedButton;
SpeedButton8: TSpeedButton;
SpeedButton9: TSpeedButton;
SpeedButton10: TSpeedButton;
SpeedButton11: TSpeedButton;
SpeedButton12: TSpeedButton;
SpeedButton49: TSpeedButton;
FileName: TcxButton;
RMDB_Main: TRMDBDataSet;
RM2: TRMGridReport;
cxButton1: TcxButton;
ComboBox1: TComboBox;
Label34: TLabel;
V2Column2: TcxGridDBColumn;
V2Column3: TcxGridDBColumn;
Panel4: TPanel;
ADOQueryPrint: TADOQuery;
Label6: TLabel;
BtnEditA1: TBtnEditA;
v3Column1: TcxGridDBColumn;
v3Column2: TcxGridDBColumn;
v3Column3: TcxGridDBColumn;
CDSTM: TClientDataSet;
Panel5: TPanel;
cxButton3: TcxButton;
cxButton2: TcxButton;
CDSSEL: TClientDataSet;
cxGrid1: TcxGrid;
TV4: TcxGridDBTableView;
cxGridDBColumn8: TcxGridDBColumn;
cxGridDBColumn9: TcxGridDBColumn;
cxGridDBColumn10: TcxGridDBColumn;
cxGridDBColumn11: TcxGridDBColumn;
cxGridDBColumn12: TcxGridDBColumn;
cxGridDBColumn13: TcxGridDBColumn;
cxGridDBColumn16: TcxGridDBColumn;
cxGridDBColumn17: TcxGridDBColumn;
cxGridDBColumn18: TcxGridDBColumn;
cxGridDBColumn19: TcxGridDBColumn;
cxGridLevel3: TcxGridLevel;
DSSEL: TDataSource;
cxButton4: TcxButton;
V2Column5: TcxGridDBColumn;
V2Column4: TcxGridDBColumn;
V4Column1: TcxGridDBColumn;
V4Column2: TcxGridDBColumn;
v3Column4: TcxGridDBColumn;
cxButton5: TcxButton;
CheckBox1: TCheckBox;
CheckBox2: TCheckBox;
Label7: TLabel;
Label8: TLabel;
ComboBox2: TComboBox;
ComboBox3: TComboBox;
procedure FormDestroy(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure TBCloseClick(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure SmNOKeyPress(Sender: TObject; var Key: Char);
procedure FormShow(Sender: TObject);
procedure TV2CustomDrawCell(Sender: TcxCustomGridTableView;
ACanvas: TcxCanvas; AViewInfo: TcxGridTableDataCellViewInfo;
var ADone: Boolean);
procedure kcKwBtnClick(Sender: TObject);
procedure Button4Click(Sender: TObject);
procedure baoNoKeyPress(Sender: TObject; var Key: Char);
procedure baoNoClick(Sender: TObject);
procedure SpeedButton1Click(Sender: TObject);
procedure SpeedButton12Click(Sender: TObject);
procedure SpeedButton49Click(Sender: TObject);
procedure FileNameClick(Sender: TObject);
procedure cxButton1Click(Sender: TObject);
procedure baoNoExit(Sender: TObject);
procedure BtnEditA1BtnClick(Sender: TObject);
procedure cxButton3Click(Sender: TObject);
procedure cxButton2Click(Sender: TObject);
procedure cxButton4Click(Sender: TObject);
procedure cxButton5Click(Sender: TObject);
private
procedure InitGrid();
procedure InitMJID();
function SaveRK():Boolean;
Procedure QueryRk();
Procedure QueryTM();
{ Private declarations }
public
{ Public declarations }
end;
var
frmSMLB: TfrmSMLB;
implementation
uses
U_DataLink,U_Fun, U_ZDYHelp, U_OrderSelRK;
{$R *.dfm}
Procedure TfrmSMLB.QueryTm();
var
FBaoID:string;
begin
with ADOQueryTM do
begin
close;
sql.Clear;
sql.Add('select A.*,B.*,C.MPrtCodeName,C.orderNo as OrderNoM');
sql.Add('from WFB_MJJY A ');
sql.Add('inner join JYOrder_sub B on B.subID=A.subID ');
sql.Add('inner join JYOrder_main C on C.mainID=A.MainID ');
// sql.Add('and A.mjstr2=''δ<><CEB4><EFBFBD><EFBFBD>'' and isnull(A.BaoID,'''')='''' ');
sql.Add(' and C.orderNo='+quotedstr(trim(BtnEditA1.Text)));
open;
end;
SCreateCDS20(ADOQueryTM,CDSTM);
SInitCDSData20(ADOQueryTM,CDSTM);
{ IF not CDSTM.IsEmpty then
begin
with ADOQuery1 do
begin
close;
sql.clear;
sql.add('select isnull(max(cast(baoNo as int)),0)+1 as MaxBaoNo from WFB_MJJY ');
sql.Add('where mainID='+quotedstr(trim(CDSTM.fieldbyname('MainID').AsString)));
open;
end;
baoNo.text:=ADOQuery1.fieldbyname('MaxBaoNo').AsString;
if GetLSNo(ADOQueryTmp,FBaoID,'BI','WFB_MJJY',3,1)=False then
begin
ADOQueryCmd.Connection.RollbackTrans;
Application.MessageBox('ȡ<><C8A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʧ<EFBFBD>ܣ<EFBFBD>','<27><>ʾ',0);
Exit;
end;
BaoID.Text:=trim(FBaoid);
end; }
end;
Procedure TfrmSMLB.QueryRk();
begin
with ADOQuery1 do
begin
close;
sql.Clear;
sql.Add('select A.*,hC_ps=A.AordQty2,JY_ps=(select count(MainID) from WFB_MJJY X where X.APID=A.APID),');
sql.Add('JY_Qty=(select sum(MJLen) from WFB_MJJY X where X.APID=A.APID), ');
sql.Add('RK_RollNum=(select sum(SOrdQty1) from CK_BanCP_CR X where X.APID=A.APID and X.CRType=''<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>''),');
sql.Add('RK_Qty=(select sum(MJLen) from CK_BanCP_CR X where X.APID=A.APID and X.CRType=''<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>'') ');
sql.Add('from JYOrder_sub_anPai A ');
SQL.Add('WHERE exists(select MJID from WFB_MJJY X where X.APID=A.APID and X.MJID='+quotedstr(trim(smNO.Text)));
sql.Add(')');
open;
end;
end;
function TfrmSMLB.SaveRK():Boolean;
var
maxno:String;
CRID:Integer;
MaxCkNo,MaxCkSubNo:String;
MhcTime:TdateTime;
begin
Result:=false;
ADOQueryCmd.Connection.BeginTrans;
try
{with ADOQueryTmp do
begin
Close;
sql.Clear;
SQL.add('Update CK_BanCP_CRID Set CRID=CRID+1');
sql.Add('select * from CK_BanCP_CRID');
Open;
end;
CRID:=ADOQueryTmp.fieldbyname('CRID').AsInteger;
if GetLSNo(ADOQueryTmp,MaxCkNo,'JR','CK_BanCP_CR',4,1)=False then
begin
ADOQueryCmd.Connection.RollbackTrans;
Application.MessageBox('ȡ<><C8A1>Ʒ<EFBFBD>ֿ<EFBFBD><D6BF><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʧ<EFBFBD>ܣ<EFBFBD>','<27><>ʾ',0);
Exit;
end;
with ADOQueryCmd do
begin
Close;
sql.Clear;
sql.Add('select * from CK_BanCP_CR where 1<>1');
Open;
end;
mhcTime:=SGetServerDateTime(ADOQueryTmp);
with ADOQueryCmd do
begin
Append;
FieldByName('MainId').Value:=Trim(ADOQueryMain.fieldbyname('MainId').AsString);
FieldByName('SubId').Value:=Trim(ADOQueryMain.fieldbyname('SubId').AsString);
FieldByName('C_Code').Value:=Trim(ADOQueryMain.fieldbyname('PRTCode').AsString);
FieldByName('C_CodeName').Value:=Trim(ADOQueryMain.fieldbyname('PRTCodeName').AsString);
//FieldByName('C_SPec').Value:=Trim(ADOQueryMain.fieldbyname('C_SPec').AsString);
FieldByName('C_Color').Value:=Trim(ADOQueryMain.fieldbyname('PRTColor').AsString);
FieldByName('APID').Value:=Trim(ADOQueryMain.fieldbyname('APID').AsString);
FieldByName('MJID').Value:=Trim(ADOQueryMain.fieldbyname('MJId').AsString);
FieldByName('mjxh').Value:=Trim(ADOQueryMain.fieldbyname('mjxh').AsString);
FieldByName('BaoNo').Value:=Trim(BaoNo.Text);
FieldByName('BaoID').Value:=Trim(BaoID.Text);
FieldByName('BCID').Value:=Trim(MaxCkNo);
FieldByName('CRTime').Value:=FormatDateTime('yyyy-MM-dd',mhcTime);
FieldByName('CRFlag').Value:='<27><><EFBFBD><EFBFBD>';
FieldByName('CRType').Value:='<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>';
FieldByName('CRID').Value:=CRID;
FieldByName('KGQty').Value:=0;
FieldByName('Qty').Value:=ADOQueryMain.fieldbyname('MJLen').Value;
FieldByName('RollNum').Value:=1;
FieldByName('QtyUnit').Value:=ADOQueryMain.fieldbyname('MJTypeOther').Value;
FieldByName('CPType').Value:=ADOQueryMain.fieldbyname('MJType').Value;
//FieldByName('Note').Value:=ADOQueryMain.fieldbyname('Note').Value;
FieldByName('Filler').Value:=Trim(DName);
FieldByName('FillTime').Value:=SGetServerDateTime(ADOQueryTmp);
//fieldbyname('kcKw').Value:=GetKw(ADOQueryTmp,ADOQueryMain.fieldbyname('PRTCodeName').AsString,ADOQueryMain.fieldbyname('PRTColor').AsString);
Post;
end;
with ADOQueryCmd do
begin
Close;
sql.Clear;
sql.Add('select * from CK_BanCP_KC where 1<>1');
Open;
end;
with ADOQueryCmd do
begin
Append;
FieldByName('CRID').Value:=CRID;
FieldByName('BCID').Value:=Trim(MaxCkNo);
FieldByName('CRTime').Value:=FormatDateTime('yyyy-MM-dd',mhcTime);
FieldByName('CRType').Value:='<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>';
FieldByName('CPType').Value:=ADOQueryMain.fieldbyname('MJType').Value;
FieldByName('C_Code').Value:=Trim(ADOQueryMain.fieldbyname('PRTCode').AsString);
FieldByName('C_CodeName').Value:=Trim(ADOQueryMain.fieldbyname('PRTCodeName').AsString);
//FieldByName('C_SPec').Value:=Trim(ADOQueryMain.fieldbyname('C_SPec').AsString);
FieldByName('C_Color').Value:=Trim(ADOQueryMain.fieldbyname('PRTColor').AsString);
FieldByName('BaoNo').Value:=Trim(BaoNo.Text);
FieldByName('BaoID').Value:=Trim(BaoID.Text);
FieldByName('MJID').Value:=Trim(ADOQueryMain.fieldbyname('MJID').AsString);
FieldByName('KCKGQty').Value:=0;
FieldByName('KCQty').Value:=ADOQueryMain.fieldbyname('MJlen').Value;
FieldByName('RollNum').Value:=1;
FieldByName('KCQtyUnit').Value:=ADOQueryMain.fieldbyname('MJTypeOther').Value;
FieldByName('mjxh').Value:=Trim(ADOQueryMain.fieldbyname('mjxh').AsString);
//FieldByName('KCNote').Value:=ADOQueryMain.fieldbyname('Note').Value;
//fieldbyname('kcKw').Value:=GetKw(ADOQueryTmp,ADOQueryMain.fieldbyname('PRTCodeName').AsString,ADOQueryMain.fieldbyname('PRTColor').AsString);
Post;
end; }
with ADOQueryCmd do
begin
Close;
sql.Clear;
sql.Add('Update WFB_MJJY Set BaoNo='''+trim(BaoNo.Text)+''',BaoID='''+trim(Baoid.text)+''' where MJID='''+Trim(ADOQueryMain.fieldbyname('MJID').AsString)+'''');
ExecSQL;
end;
ADOQueryCmd.Connection.CommitTrans;
Result:=true;
except
ADOQueryCmd.Connection.RollbackTrans;
end;
end;
procedure TfrmSMLB.InitGrid();
begin
with ADOQueryMain do
begin
Close;
sql.Clear;
SQL.Add('select A.*,B.*,C.MprtCodeName,C.orderNo as OrderNoM from WFB_MJJY A ');
sql.add('inner join JYOrder_Sub B on B.SubId=A.SubId');
sql.add('inner join JYOrder_Main C on C.maiNID=A.mainID');
SQL.Add('where 1=2 ');
Open;
end;
SCreateCDS20(ADOQueryMain,CDSMJID);
SInitCDSData20(ADOQueryMain,CDSMJID);
SCreateCDS20(ADOQueryMain,CDSSEL);
SInitCDSData20(ADOQueryMain,CDSSEL);
end;
procedure TfrmSMLB.InitMJID();
begin
MovePanel1.Visible:=false;
with ADOQueryMain do
begin
Close;
sql.Clear;
SQL.Add('select A.*,B.*,C.MprtCodeName,C.orderNo as OrderNoM from WFB_MJJY A ');
sql.add('inner join JYOrder_Sub B on B.SubId=A.SubId');
sql.add('inner join JYOrder_Main C on C.maiNID=A.mainID');
sql.Add('where MJID='+quotedstr(trim(SmNO.Text)));
Open;
if not IsEmpty then
begin
{IF trim(Fieldbyname('MJstr2').AsString)='<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>' then
begin
CDSMJID.Append;
CDSMJID.FieldByName('SDefNote').Value:='<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>';
CDSMJID.FieldByName('MJID').Value:=trim(SmNO.Text);
CDSMJID.Post;
end
else
begin}
CDSMJID.Append;
CDSMJID.FieldByName('SDefNote').Value:=<><C9A8><EFBFBD>ɹ<EFBFBD>';
CDSMJID.FieldByName('MJID').Value:=trim(ADOQueryMain.Fieldbyname('MJID').AsString);
// CDSMJID.FieldByName('CRID').Value:=trim(ADOQueryMain.Fieldbyname('CRID').AsString);
CDSMJID.FieldByName('PRTCodeName').Value:=trim(ADOQueryMain.Fieldbyname('PRTCodeName').AsString);
CDSMJID.FieldByName('MPRTCodeName').Value:=trim(ADOQueryMain.Fieldbyname('MPRTCodeName').AsString);
CDSMJID.FieldByName('PRTColor').Value:=trim(ADOQueryMain.Fieldbyname('PRTColor').AsString);
CDSMJID.FieldByName('PRTHX').Value:=trim(ADOQueryMain.Fieldbyname('PRTHX').AsString);
CDSMJID.FieldByName('MJStr4').Value:=trim(ADOQueryMain.Fieldbyname('MJStr4').AsString);
CDSMJID.FieldByName('MJType').Value:=trim(ADOQueryMain.Fieldbyname('MJType').AsString);
// CDSMJID.FieldByName('BaoNo').Value:=trim(BaoNo.Text);
// CDSMJID.FieldByName('BaoID').Value:=trim(BaoID.Text);
CDSMJID.FieldByName('SOrdQty1').Value:=1;
CDSMJID.FieldByName('MJLen').Value:=ADOQueryMain.Fieldbyname('MJLen').AsFloat;
CDSMJID.FieldByName('MJMaoZ').Value:=ADOQueryMain.Fieldbyname('MJMaoZ').AsFloat;
CDSMJID.FieldByName('MJQty3').Value:=ADOQueryMain.Fieldbyname('MJQty3').AsFloat;
CDSMJID.FieldByName('MJQty4').Value:=ADOQueryMain.Fieldbyname('MJQty4').AsFloat;
CDSMJID.FieldByName('MJTypeOther').Value:=trim(ADOQueryMain.Fieldbyname('MJTypeOther').AsString);
CDSMJID.FieldByName('mainID').Value:=trim(ADOQueryMain.Fieldbyname('mainID').AsString);
CDSMJID.FieldByName('subID').Value:=trim(ADOQueryMain.Fieldbyname('subID').AsString);
CDSMJID.Post;
// end;
end
else
begin
CDSMJID.Append;
CDSMJID.FieldByName('SDefNote').Value:='<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EBB2BB><EFBFBD><EFBFBD>';
CDSMJID.FieldByName('MJID').Value:=trim(SmNO.Text);
CDSMJID.Post;
end;
end;
IF trim(CDSMJID.FieldByName('SDefNote').AsString)<><><C9A8><EFBFBD>ɹ<EFBFBD>' then
begin
MovePanel1.Visible:=true;
Edit2.Text:=SmNO.Text;
Label2.Caption:=trim(CDSMJID.FieldByName('SDefNote').AsString);
CDSMJID.delete;
end;
If CDSTM.Locate('MJID',trim(smno.Text),[]) then
begin
// application.MessageBox('AAAA','AAAAAAAA',0);
CDSTM.Delete;
tv2.Controller.EditingController.ShowEdit();
tv3.Controller.EditingController.ShowEdit();
end;
end;
procedure TfrmSMLB.FormDestroy(Sender: TObject);
begin
frmSMLB:=nil;
end;
procedure TfrmSMLB.FormClose(Sender: TObject;
var Action: TCloseAction);
begin
//writeCxGrid(self.Caption+tv1.Name,Tv1,'<27><>Ʒ<EFBFBD>ֿ<EFBFBD>');
writeCxGrid(self.Caption+Tv2.Name,Tv2,'<27><>Ʒ<EFBFBD>ֿ<EFBFBD>');
writeCxGrid(self.Caption+Tv3.Name,Tv3,'<27><>Ʒ<EFBFBD>ֿ<EFBFBD>');
writeCxGrid(self.Caption+Tv4.Name,Tv4,'<27><>Ʒ<EFBFBD>ֿ<EFBFBD>');
Action:=cafree;
end;
procedure TfrmSMLB.TBCloseClick(Sender: TObject);
begin
close;
end;
procedure TfrmSMLB.FormCreate(Sender: TObject);
begin
Panel2.Align:=alClient;
//readCxGrid(self.Caption+tv1.Name,Tv1,'<27><>Ʒ<EFBFBD>ֿ<EFBFBD>');
readCxGrid(self.Caption+Tv2.Name,Tv2,'<27><>Ʒ<EFBFBD>ֿ<EFBFBD>');
readCxGrid(self.Caption+Tv3.Name,Tv3,'<27><>Ʒ<EFBFBD>ֿ<EFBFBD>');
readCxGrid(self.Caption+Tv4.Name,Tv4,'<27><>Ʒ<EFBFBD>ֿ<EFBFBD>');
end;
procedure TfrmSMLB.SmNOKeyPress(Sender: TObject; var Key: Char);
begin
IF key=#13 then
begin
{ if trim(BaoNo.Text)='' then
begin
application.MessageBox('<27><><EFBFBD>Ų<EFBFBD><C5B2><EFBFBD>Ϊ<EFBFBD><CEAA>','<27><>ʾ');
exit;
end;
if trim(BaoID.Text)='' then
begin
application.MessageBox('<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EBB2BB>Ϊ<EFBFBD><CEAA>','<27><>ʾ');
exit;
end; }
if trim(smno.Text)='' then exit;
IF CDSMJID.Locate('MJID',trim(smno.Text),[]) then
begin
MovePanel1.Visible:=true;
Edit2.Text:=SmNO.Text;
Label2.Caption:='<27>˾<EFBFBD><CBBE><EFBFBD><EFBFBD>ظ<EFBFBD>ɨ<EFBFBD>裡';
smno.Text:='';
smno.SetFocus;
exit;
end;
If not CDSTM.Locate('MJID',trim(smno.Text),[]) then
begin
with ADOQuery1 do
begin
Close;
sql.Clear;
SQL.Add('select A.*,B.*,C.MprtCodeName,C.OrderNO as orderNoM from WFB_MJJY A ');
sql.add('inner join JYOrder_Sub B on B.SubId=A.SubId');
sql.add('inner join JYOrder_Main C on C.maiNID=A.mainID');
sql.Add('where MJID='+quotedstr(trim(SmNO.Text)));
Open;
IF isempty then
begin
MovePanel1.Visible:=true;
Edit2.Text:=SmNO.Text;
Label2.Caption:='<27>˾<EFBFBD><CBBE>Ŵ<EFBFBD><C5B4><EFBFBD><EFBFBD><EFBFBD>';
end
else
begin
If not CDSTM.Locate('orderNoM',trim(fieldbyname('OrderNoM').AsString),[]) then
begin
MovePanel1.Visible:=true;
Edit2.Text:=SmNO.Text;
Label2.Caption:='<27>˾<EFBFBD><CBBE><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڵ<EFBFBD>ǰ<EFBFBD><C7B0><EFBFBD><EFBFBD><EFBFBD><EFBFBD>';
end
else
begin
IF Fieldbyname('MJstr2').AsString<><><CEB4><EFBFBD><EFBFBD>' then
begin
MovePanel1.Visible:=true;
Edit2.Text:=SmNO.Text;
Label2.Caption:=fieldbyname('Mjstr2').AsString;
end
else
begin
MovePanel1.Visible:=true;
Edit2.Text:=SmNO.Text;
Label2.Caption:='<27>˾<EFBFBD><CBBE>Ѵ<EFBFBD><D1B4><EFBFBD><EFBFBD><EFBFBD>';
end;
end;
end;
end;
smno.Text:='';
smno.SetFocus;
exit;
end
else
begin
initMJID();
end;
smno.Text:='';
smno.SetFocus;
end;
end;
procedure TfrmSMLB.FormShow(Sender: TObject);
begin
MovePanel1.Left:=(Width-MovePanel1.Width) div 2;
MovePanel1.top:=(Height-MovePanel1.Height-200) div 2;
InitGrid();
end;
procedure TfrmSMLB.TV2CustomDrawCell(Sender: TcxCustomGridTableView;
ACanvas: TcxCanvas; AViewInfo: TcxGridTableDataCellViewInfo;
var ADone: Boolean);
var
i:integer;
begin
i:=tv2.GetColumnByFieldName('SDefNote').Index;
if (AViewInfo.GridRecord.Values[i]<>'<27><><EFBFBD><EFBFBD><EFBFBD>ɹ<EFBFBD>') then
ACanvas.Brush.Color:=clred;
end;
procedure TfrmSMLB.kcKwBtnClick(Sender: TObject);
begin
try
frmZDYHelp:=TfrmZDYHelp.Create(Application);
with frmZDYHelp do
begin
flag:='CPKWFlag';
flagname:='<27><>λ<EFBFBD><CEBB>Ϣ';
V1Name.Caption:='<27><>λ<EFBFBD><CEBB><EFBFBD><EFBFBD>';
V1Note.Caption:=<><D3A2><EFBFBD><EFBFBD><EFBFBD><EFBFBD>';
// MainType:=Trim(DName);
fnote:=FALSE;
if ShowModal=1 then
begin
kcKw.Text:=Trim(ClientDataSet1.fieldbyname('ZDYName').AsString);
end;
end;
finally
frmZDYHelp.Free;
end;
end;
procedure TfrmSMLB.Button4Click(Sender: TObject);
begin
MovePanel1.Visible:=False;
SmNO.SetFocus;
end;
procedure TfrmSMLB.baoNoKeyPress(Sender: TObject; var Key: Char);
var FBaoID: string;
begin
end;
procedure TfrmSMLB.baoNoClick(Sender: TObject);
var
i:Integer;
begin
// Panel3.Visible:=True;
{ with Panel3 do
begin
for i:=0 to ControlCount-1 do
begin
if Controls[i] is TSpeedButton then
begin
TSpeedButton(Controls[i]).Hint:=Trim(TEdit(Sender).Name);
end;
end;
end; }
end;
procedure TfrmSMLB.SpeedButton1Click(Sender: TObject);
var
fsj:string;
begin
fsj:=Trim(TSpeedButton(Sender).Hint);
if Trim(fsj)='' then Exit;
fsj:=Trim(TEdit(FindComponent(Trim(TSpeedButton(Sender).Hint))).Text);
TEdit(FindComponent(Trim(TSpeedButton(Sender).Hint))).Text:=fsj+Trim(TSpeedButton(Sender).Caption);
TEdit(FindComponent(Trim(TSpeedButton(Sender).Hint))).SelectAll;
end;
procedure TfrmSMLB.SpeedButton12Click(Sender: TObject);
var
fsj:string;
begin
fsj:=Trim(TEdit(FindComponent(Trim(TSpeedButton(Sender).Hint))).Text);
if Trim(fsj)='' then Exit;
TEdit(FindComponent(Trim(TSpeedButton(Sender).Hint))).Text:=Copy(fsj,1,Length(fsj)-1);
TEdit(FindComponent(Trim(TSpeedButton(Sender).Hint))).SelectAll;
end;
procedure TfrmSMLB.SpeedButton49Click(Sender: TObject);
var
FBaoID:string;
begin
IF trim(TEdit(FindComponent(Trim(TSpeedButton(Sender).Hint))).Hint)<>'' then
begin
if GetLSNo(ADOQueryTmp,FBaoID,'BI','WFB_MJJY',3,1)=False then
begin
ADOQueryCmd.Connection.RollbackTrans;
Application.MessageBox(<><C8A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʧ<EFBFBD>ܣ<EFBFBD>','<27><>ʾ',0);
Exit;
end;
BaoID.Text:=trim(FBaoid);
end;
Panel3.Visible:=False;
end;
procedure TfrmSMLB.FileNameClick(Sender: TObject);
var fPrintFile: string;
Txt,fImagePath:string;
Moudle: THandle;
Makebar:TMakebar;
Mixtext:TMixtext;
FBaoID:string;
i:Integer;
begin
if trim(BaoID.Text)='' then
begin
application.MessageBox('<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EBB2BB>δ<EFBFBD><CEB4>','<27><>ʾ');
exit;
end;
cxButton2.Click;
{ if trim(BaoID.Text)='' then
begin
application.MessageBox('<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EBB2BB>δ<EFBFBD><CEB4>','<27><>ʾ');
exit;
end; }
with ADOQueryPrint do
begin
Close;
SQL.Clear;
sql.Add('select A.Baoid,A.BaoNo,A.MJTypeOther as QtyUnit,D.OrderNo,D.conNo,D.customerNoName,D.MprtCodeName,D.OrdPerson1,');
sql.Add('PRTColor=DBO.F_Get_Order_SubStr(BaoID,''BNColor''),SOrddefstr1=DBO.F_Get_Order_SubStr(BaoID,''BNSOrddefstr1''),');
sql.Add('SOrddefstr4=DBO.F_Get_Order_SubStr(BaoID,''BNSOrddefstr4''),PRtHX=DBO.F_Get_Order_SubStr(BaoID,''BNPRtHX''), ');
sql.Add('Mjstr4=DBO.F_Get_Order_SubStr(BaoID,''BNGangNo''), ');
sql.Add('khConNo=(select top 1 khConNo from JYOrderCon_Main X where X.ConNO=D.conNO), ');
SQL.ADD('count(A.MJID) as JSl,sum(A.MJMaoZ) MJMAOZ,sum(MJQty3) as MJQty3,sum(MJQty4) as MJQty4,SUM(A.MJLen)as MJLen');
sql.Add('from WFB_MJJY A');
sql.Add(' inner join JYOrder_Sub C on C.SubID=A.SubID');
sql.Add(' inner join JYOrder_Main D on D.MainID=A.MainID');
SQL.Add('where A.BaoID='''+Trim(BaoID.Text)+'''');
SQL.ADD('group by A.Baoid,A.BaoNo,A.MJTypeOther,D.OrderNo,D.conNo,D.customerNoName,D.MprtCodeName,D.OrdPerson1');
Open;
end;
if ADOQueryPrint.RecordCount>1 then
begin
Application.MessageBox('<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>´<EFBFBD><C2B4><EFBFBD>!','<27><>ʾ',0);
Exit;
end;
if ADOQueryPrint.RecordCount<1 then
begin
Application.MessageBox('<27>˰<EFBFBD><CBB0>Ż<EFBFBD>δ<EFBFBD><CEB4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EBB1A3><EFBFBD><EFBFBD><EFBFBD>ݣ<EFBFBD><DDA3>ڴ<EFBFBD>ӡ<EFBFBD><D3A1><EFBFBD>룡','<27><>ʾ',0);
Exit;
end;
try
Moudle:=LoadLibrary('MakeQRBarcode.dll');
@Makebar:=GetProcAddress(Moudle,'Make');
@Mixtext:=GetProcAddress(Moudle,'MixText');
Txt:=trim(BaoID.Text);
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;
fPrintFile:=ExtractFilePath(Application.ExeName)+'Report\<5C><><EFBFBD><EFBFBD>ǩ.rmf';
if FileExists(fPrintFile) then
begin
RMVariables['QRBARCODE']:=fImagePath;
RM2.LoadFromFile(fPrintFile);
RM2.DefaultCopies:=strtointdef(trim(ComboBox1.Text),1);
//RM2.ShowReport;
RM2.printReport;
baoNo.Text:=inttostr(strtointdef(trim(baoNo.Text),0)+1);
if GetLSNo(ADOQueryTmp,FBaoID,'BI','WFB_MJJY',3,1)=False then
begin
ADOQueryCmd.Connection.RollbackTrans;
Application.MessageBox(<><C8A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʧ<EFBFBD>ܣ<EFBFBD>','<27><>ʾ',0);
Exit;
end;
BaoID.Text:=trim(FBaoid);
CDSsel.Last;
with CDSMJID do
begin
DisableControls;
first;
while not eof do
begin
CDSsel.Append;
for i:=0 to FieldCount-1 do
begin
CDSsel.fields[i].value:=Fields[i].Value ;
end;
CDSsel.Post;
next;
end;
EnableControls;
end;
CDSMJID.EmptyDataSet;
end else
begin
// Order_Main.EnableControls;
Application.MessageBox(PChar(<><C3BB><EFBFBD><EFBFBD>'+fPrintFile),'<27><>ʾ',0);
Exit;
end;
end;
procedure TfrmSMLB.cxButton1Click(Sender: TObject);
begin
TBClose.Click;
end;
procedure TfrmSMLB.baoNoExit(Sender: TObject);
var
FBaoID:string;
begin
IF baoNo.Text<>'' then
begin
if GetLSNo(ADOQueryTmp,FBaoID,'BI','WFB_MJJY',3,1)=False then
begin
ADOQueryCmd.Connection.RollbackTrans;
Application.MessageBox(<><C8A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʧ<EFBFBD>ܣ<EFBFBD>','<27><>ʾ',0);
Exit;
end;
BaoID.Text:=trim(FBaoid);
end
else
BaoID.Text:='';
end;
procedure TfrmSMLB.BtnEditA1BtnClick(Sender: TObject);
begin
frmOrderSelRK:=TfrmOrderSelRK.Create(Application);
with frmOrderSelRK do
begin
if ShowModal=1 then
begin
CDS_OrderSel.DisableControls;
with CDS_OrderSel do
begin
First;
while not Eof do
begin
if FieldByName('SSel').Value=True then
begin
BtnEditA1.Text:=trim(CDS_OrderSel.fieldbyname('OrderNo').asstring);
end;
Next;
end;
end;
CDS_OrderSel.EnableControls;
end;
end;
QueryTm();
end;
procedure TfrmSMLB.cxButton3Click(Sender: TObject);
var
i:integer;
begin
IF CDSMJID.IsEmpty then exit;
IF CDSMJID.fieldByName('Sflag').AsString='2' then
begin
application.MessageBox('<27>Ѵ<EFBFBD><D1B4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɾ<EFBFBD><C9BE><EFBFBD><EFBFBD>','<27><>ʾ<EFBFBD><CABE>Ϣ',0);
exit;
end
else
begin
with CDSMJID do
begin
CDSTM.Last;
CDSTM.Append;
for i:=0 to FieldCount-1 do
begin
CDSTM.fields[i].value:=Fields[i].Value ;
end;
CDSTM.Post;
end;
CDSMJID.Delete;
end;
end;
procedure TfrmSMLB.cxButton2Click(Sender: TObject);
begin
IF CDSMJID.IsEmpty then exit;
ADOQueryCmd.Connection.BeginTrans;
try
with CDSMJID do
begin
DisableControls;
first;
while not eof do
begin
with ADOQueryCmd do
begin
Close;
sql.Clear;
sql.Add('Update WFB_MJJY Set BaoNo='''+trim(BaoNo.Text)+''',BaoID='''+trim(Baoid.text)+''' where MJID='''+Trim(CDSMJID.fieldbyname('MJID').AsString)+'''');
ExecSQL;
end;
edit;
fieldByName('Sflag').AsString :='2';
fieldbyname('BaoNo').Value:=trim(BaoNo.Text);
fieldbyname('BaoID').Value:=trim(BaoID.Text);
post;
next;
end;
EnableControls;
end;
ADOQueryCmd.Connection.CommitTrans;
// application.MessageBox('<27><><EFBFBD><EFBFBD><EFBFBD>޸ijɹ<C4B3><C9B9><EFBFBD>','<27><>ʾ<EFBFBD><CABE>Ϣ',0);
except
ADOQueryCmd.Connection.RollbackTrans;
application.MessageBox('<27><><EFBFBD><EFBFBD><EFBFBD>޸<EFBFBD>ʧ<EFBFBD>ܣ<EFBFBD>','<27><>ʾ<EFBFBD><CABE>Ϣ',0);
end;
end;
procedure TfrmSMLB.cxButton4Click(Sender: TObject);
begin
if CDSSEL.IsEmpty then Exit;
if CDSSEL.Locate('SSel',True,[])=False then
begin
Application.MessageBox(<><C3BB>ѡ<EFBFBD><D1A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>!','<27><>ʾ',0);
Exit;
end;
try
CDSSEL.DisableControls;
// ADOQueryCmd.Connection.BeginTrans;
with CDSSEL do
begin
First;
while FieldByName('SSel').AsBoolean do
begin
with ADOQueryCmd do
begin
Close;
sql.Clear;
sql.Add('Update WFB_MJJY Set baoID='''',baoNo='''' ');
sql.Add('where MJID='''+Trim(CDSSEL.fieldbyname('MJID').AsString)+'''');
ExecSQL;
end;
delete;
end;
end;
// ADOQueryCmd.Connection.CommitTrans;
CDSSEL.EnableControls;
application.MessageBox('<27><><EFBFBD>ݳ<EFBFBD><DDB3><EFBFBD><EFBFBD>ɹ<EFBFBD><C9B9><EFBFBD>','<27><>ʾ<EFBFBD><CABE>Ϣ');
QueryTm();
exit;
except
// ADOQueryCmd.Connection.RollbackTrans;
CDSSEL.EnableControls;
application.MessageBox('<27><><EFBFBD>ݳ<EFBFBD><DDB3><EFBFBD>ʧ<EFBFBD>ܣ<EFBFBD>','<27><>ʾ<EFBFBD><CABE>Ϣ',0);
end;
end;
procedure TfrmSMLB.cxButton5Click(Sender: TObject);
var
fPrintFile:string;
Txt,fImagePath:string;
Moudle: THandle;
Makebar:TMakebar;
Mixtext:TMixtext;
i:integer;
begin
IF (not CheckBox1.Checked) and (not CheckBox2.Checked)then
begin
application.MessageBox(<><C3BB>ѡ<EFBFBD><D1A1>Ҫ<EFBFBD><D2AA>ӡ<EFBFBD>ı<EFBFBD>ǩ<EFBFBD><C7A9>','<27><>ʾ',0);
exit;
end;
CDSMJID.DisableControls;
with CDSMJID do
begin
First;
while not Eof do
begin
with ADOQueryPrint do
begin
Close;
SQL.Clear;
sql.Add('select QtyUnit=A.MJTypeOther,B.orderNo,B.conNo,GangNo=D.AOrddefStr1,PRTColorEng=E.Note,B.LBName,B.NlbName ');
sql.Add(',khConNo=(select top 1 khConNo from JYOrderCon_Main X where X.ConNO=B.conNO) ');
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,C.SOrddefstr4,B.MPRTCodeName,B.MPRTSpec,B.MPRTKuanNO,C.*,A.* ');
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(' 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 JYOrder_Sub_AnPai D on A.APId=D.APId ');
SQL.Add(' where A.MJID='''+Trim(CDSMJID.fieldbyname('MJID').AsString)+'''');
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
CDSMJID.EnableControls;
application.MessageBox('<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʧ<EFBFBD>ܣ<EFBFBD>','<27><>ʾ<EFBFBD><CABE>Ϣ',MB_ICONERROR);
exit;
end;
IF CheckBox1.Checked then
begin
fPrintFile:='';
if Trim(ADOQueryPrint.fieldbyname('LbName').AsString)<>'' then
fPrintFile:=ExtractFilePath(Application.ExeName)+'Report\'+Trim(ADOQueryPrint.fieldbyname('LbName').AsString)+'.rmf';
if FileExists(fPrintFile) then
begin
RMVariables['QRBARCODE']:=fImagePath;
RM2.LoadFromFile(fPrintFile);
Rm2.DefaultCopies:=strtointdef(trim(ComboBox2.Text),1);
// RM2.ShowReport;
RM2.PrintReport;
end
else
begin
CDSMJID.EnableControls;
Application.MessageBox(PChar(<><C3BB><EFBFBD><EFBFBD>'+trim(fPrintFile)),'<27><>ʾ',0);
Exit;
end;
end;
IF CheckBox2.Checked then
begin
fPrintFile:='';
if Trim(ADOQueryPrint.fieldbyname('NLBName').AsString)<>'' then
fPrintFile:=ExtractFilePath(Application.ExeName)+'Report\'+Trim(ADOQueryPrint.fieldbyname('NLBName').AsString)+'.rmf';
if FileExists(fPrintFile) then
begin
RMVariables['QRBARCODE']:=fImagePath;
RM2.LoadFromFile(fPrintFile);
Rm2.DefaultCopies:=strtointdef(trim(ComboBox3.Text),1);
//RM2.ShowReport;
RM2.PrintReport;
end
else
begin
CDSMJID.EnableControls;
Application.MessageBox(PChar(<><C3BB><EFBFBD><EFBFBD>'+trim(fPrintFile)),'<27><>ʾ',0);
Exit;
end;
end;
CDSsel.Last;
CDSsel.Append;
for i:=0 to CDSMJID.FieldCount-1 do
begin
CDSsel.fields[i].value:=CDSMJID.Fields[i].Value ;
end;
CDSsel.Post;
CDSMJID.Next;
end;
end;
CDSMJID.EnableControls;
CDSMJID.EmptyDataSet;
end;
end.