D7wmguihua/桂华管理系统/U_RKSMEdit.pas
DESKTOP-E401PHE\Administrator b4b5840f18 1
2025-01-18 16:22:10 +08:00

449 lines
16 KiB
ObjectPascal
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

unit U_RKSMEdit;
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,MMSystem;
type
TfrmRKSMEdit = class(TForm)
ToolBar1: TToolBar;
TBSave: TToolButton;
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;
cxGrid1: TcxGrid;
Tv1: TcxGridDBTableView;
v1Column4: TcxGridDBColumn;
v1Column5: TcxGridDBColumn;
v1Column6: TcxGridDBColumn;
v1Column7: TcxGridDBColumn;
v1Column8: TcxGridDBColumn;
v1Column9: TcxGridDBColumn;
v1Column10: TcxGridDBColumn;
v1Column16: TcxGridDBColumn;
v1Column15: TcxGridDBColumn;
cxGrid2Level1: TcxGridLevel;
ADOQuery1: TADOQuery;
DataSource1: TDataSource;
cxGrid3: TcxGrid;
Tv3: TcxGridDBTableView;
cxGridLevel2: TcxGridLevel;
Tv3Column1: TcxGridDBColumn;
ADOQueryTm: TADOQuery;
DSTm: TDataSource;
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);
private
procedure InitGrid();
procedure InitMJID();
function SaveRK():Boolean;
Procedure QueryRk();
Procedure QueryTM();
{ Private declarations }
public
{ Public declarations }
end;
var
frmRKSMEdit: TfrmRKSMEdit;
implementation
uses
U_DataLink,U_Fun, U_UserHelp, U_ZDYHelp;
{$R *.dfm}
Procedure TfrmRKSMEdit.QueryTm();
begin
with ADOQueryTM do
begin
close;
sql.Clear;
sql.Add('select TOP 50 MJID');
sql.Add('from WFB_MJJY 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(') and A.mjstr2='<><CEB4><EFBFBD><EFBFBD>'' ');
open;
end;
end;
Procedure TfrmRKSMEdit.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(RollNum) 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(Qty) 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 TfrmRKSMEdit.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',5,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;
{ with ADOQueryTmp do
begin
close;
sql.Clear;
sql.Add('select * from JYOrder_Sub_AnPai ');
sql.Add(' where APID='+quotedstr(trim(ADOQueryMain.fieldbyname('APID').AsString)));
open;
IF not ADOQueryTmp.IsEmpty then
begin
mhcTime:=ADOQueryTmp.fieldbyname('ADefDate1').AsDateTime;
end
else
begin
mhcTime:=date();
end;
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('C_Code').AsString);
FieldByName('C_CodeName').Value:=Trim(ADOQueryMain.fieldbyname('C_CodeName').AsString);
FieldByName('C_SPec').Value:=Trim(ADOQueryMain.fieldbyname('C_SPec').AsString);
FieldByName('C_Color').Value:=Trim(ADOQueryMain.fieldbyname('C_Color').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('BCGangNO').Value:=Trim(ADOQueryMain.fieldbyname('BCGangNO').AsString);
FieldByName('RCGangNO').Value:=Trim(ADOQueryMain.fieldbyname('RCGangNO').AsString);
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:=Trim(kcKw.Text);
fieldbyname('kcKw').Value:=GetKw(ADOQueryTmp,ADOQueryMain.fieldbyname('C_CodeName').AsString,ADOQueryMain.fieldbyname('C_Color').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('C_Code').AsString);
FieldByName('C_CodeName').Value:=Trim(ADOQueryMain.fieldbyname('C_CodeName').AsString);
FieldByName('C_SPec').Value:=Trim(ADOQueryMain.fieldbyname('C_SPec').AsString);
FieldByName('C_Color').Value:=Trim(ADOQueryMain.fieldbyname('C_Color').AsString);
FieldByName('BCGangNO').Value:=Trim(ADOQueryMain.fieldbyname('BCGangNO').AsString);
FieldByName('RCGangNO').Value:=Trim(ADOQueryMain.fieldbyname('RCGangNO').AsString);
FieldByName('MJID').Value:=Trim(ADOQueryMain.fieldbyname('MJID').AsString);
FieldByName('KCKGQty').Value:=0;
FieldByName('KCQty').Value:=ADOQueryMain.fieldbyname('MJlen').Value;
FieldByName('KCRollNum').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:=Trim(kcKw.Text);
fieldbyname('kcKw').Value:=GetKw(ADOQueryTmp,ADOQueryMain.fieldbyname('C_CodeName').AsString,ADOQueryMain.fieldbyname('C_Color').AsString);
Post;
end;
with ADOQueryCmd do
begin
Close;
sql.Clear;
sql.Add('Update WFB_MJJY Set MJStr2=''<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>'' where MJID='''+Trim(ADOQueryMain.fieldbyname('MJID').AsString)+'''');
ExecSQL;
end;
ADOQueryCmd.Connection.CommitTrans;
Result:=true;
except
ADOQueryCmd.Connection.RollbackTrans;
end;
end;
procedure TfrmRKSMEdit.InitGrid();
begin
with ADOQueryMain do
begin
Close;
sql.Clear;
SQL.Add('select A.* from CK_BanCP_CR A ');
SQL.Add('where 1=2 ');
Open;
end;
SCreateCDS20(ADOQueryMain,CDSMJID);
SInitCDSData20(ADOQueryMain,CDSMJID);
end;
procedure TfrmRKSMEdit.InitMJID();
begin
MovePanel1.Visible:=false;
with ADOQueryMain do
begin
Close;
sql.Clear;
SQL.Add('select A.* from WFB_MJJY A');
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;
IF FileExists(PChar(ExtractFilePath(Application.ExeName)+'wav\<5C><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>.wav')) then
PlaySound(PChar(ExtractFilePath(Application.ExeName)+'wav\<5C><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>.wav'),0, SND_ASYNC);
end
else
begin
IF saveRk() then
begin
CDSMJID.Append;
CDSMJID.FieldByName('SDefNote').Value:='<27><><EFBFBD><EFBFBD><EFBFBD>ɹ<EFBFBD>';
CDSMJID.FieldByName('MJID').Value:=trim(ADOQueryMain.Fieldbyname('MJID').AsString);
// CDSMJID.FieldByName('CRID').Value:=trim(ADOQueryMain.Fieldbyname('CRID').AsString);
CDSMJID.FieldByName('C_CodeName').Value:=trim(ADOQueryMain.Fieldbyname('C_CodeName').AsString);
CDSMJID.FieldByName('C_Color').Value:=trim(ADOQueryMain.Fieldbyname('C_Color').AsString);
CDSMJID.FieldByName('CPType').Value:=trim(ADOQueryMain.Fieldbyname('MJType').AsString);
CDSMJID.FieldByName('RollNum').Value:=1;
CDSMJID.FieldByName('Qty').Value:=ADOQueryMain.Fieldbyname('MJLen').AsFloat;
CDSMJID.FieldByName('QtyUnit').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.FieldByName('RCGangNO').Value:=trim(ADOQueryMain.Fieldbyname('RCGangNO').AsString);
CDSMJID.FieldByName('BCgangNO').Value:=trim(ADOQueryMain.Fieldbyname('BCgangNO').AsString);
CDSMJID.Post;
QueryRk();
QueryTm();
IF FileExists(PChar(ExtractFilePath(Application.ExeName)+'wav\<5C><>ȷ.wav')) then
PlaySound(PChar(ExtractFilePath(Application.ExeName)+'wav\<5C><>ȷ.wav'),0, SND_ASYNC);
end
else
begin
CDSMJID.Append;
CDSMJID.FieldByName('SDefNote').Value:='<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʧ<EFBFBD><CAA7>';
CDSMJID.FieldByName('MJID').Value:=trim(SmNO.Text);
CDSMJID.Post;
IF FileExists(PChar(ExtractFilePath(Application.ExeName)+'wav\<5C><><EFBFBD><EFBFBD>ʧ<EFBFBD><CAA7>.wav')) then
PlaySound(PChar(ExtractFilePath(Application.ExeName)+'wav\<5C><><EFBFBD><EFBFBD>ʧ<EFBFBD><CAA7>.wav'),0, SND_ASYNC);
end;
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;
IF FileExists(PChar(ExtractFilePath(Application.ExeName)+'wav\ɨ<><C9A8><EFBFBD><EFBFBD><EFBFBD><EFBFBD>.wav')) then
PlaySound(PChar(ExtractFilePath(Application.ExeName)+'wav\ɨ<><C9A8><EFBFBD><EFBFBD><EFBFBD><EFBFBD>.wav'),0, SND_ASYNC);
end;
end;
IF trim(CDSMJID.FieldByName('SDefNote').AsString)<>'<27><><EFBFBD><EFBFBD><EFBFBD>ɹ<EFBFBD>' then
begin
MovePanel1.Visible:=true;
Edit2.Text:=SmNO.Text;
Label2.Caption:=trim(CDSMJID.FieldByName('SDefNote').AsString);
end;
end;
procedure TfrmRKSMEdit.FormDestroy(Sender: TObject);
begin
frmRKSMEdit:=nil;
end;
procedure TfrmRKSMEdit.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>');
Action:=cahide;
end;
procedure TfrmRKSMEdit.TBCloseClick(Sender: TObject);
begin
close;
end;
procedure TfrmRKSMEdit.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>');
end;
procedure TfrmRKSMEdit.SmNOKeyPress(Sender: TObject; var Key: Char);
begin
IF key=#13 then
begin
if trim(smno.Text)='' then exit;
initMJID();
smno.Text:='';
smno.SetFocus;
end;
end;
procedure TfrmRKSMEdit.FormShow(Sender: TObject);
begin
MovePanel1.Left:=(Width-MovePanel1.Width) div 2;
MovePanel1.top:=(Height-MovePanel1.Height-200) div 2;
InitGrid();
end;
procedure TfrmRKSMEdit.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 TfrmRKSMEdit.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 TfrmRKSMEdit.Button4Click(Sender: TObject);
begin
MovePanel1.Visible:=False;
SmNO.SetFocus;
end;
end.