⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 untitembarcode.pas

📁 实达企业在线EOL源码
💻 PAS
字号:
unit untItemBarCode;

interface

uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  TreeModelForm, Db, Grids, Wwdbigrd, Wwdbgrid, ComCtrls, sDBTree,
  ExtCtrls, SingleBillFrame, SingleFrame, DBClient, MConnect, SConnect,
  DBCtrls, StdCtrls, Mask, Wwdbcomb, wwdbedit, Wwdotdot, wwDialog, wwidlg,
  stClientDataSet, Menus, jpeg, fcdbtreeview, wwdbdatetimepicker;

type
  TItemBarCodefrm = class(TTreeModelFrm)
    scEOLShQ: TSocketConnection;
    Panel1: TPanel;
    DBMemo1: TDBMemo;
    DBImage1: TDBImage;
    wwLookupDialog1: TwwLookupDialog;
    wwLookupDialog2: TwwLookupDialog;
    cdsLItemType: TstClientDataSet;
    StringField7: TStringField;
    StringField41: TStringField;
    StringField42: TStringField;
    StringField43: TStringField;
    StringField44: TStringField;
    StringField45: TStringField;
    StringField46: TStringField;
    StringField47: TStringField;
    StringField48: TStringField;
    StringField49: TStringField;
    StringField50: TStringField;
    StringField51: TStringField;
    cdsLMeasure: TstClientDataSet;
    cdsLMeasureMeasureCode: TStringField;
    cdsLMeasureMeasureName: TStringField;
    cdsLMeasureBasicUnit: TStringField;
    cdsLMeasureCompanyCode: TStringField;
    cdsLMeasureSecondUnit: TStringField;
    cdsLMeasureSecondCoef: TBCDField;
    cdsLMeasureThirdUnit: TStringField;
    cdsLMeasureThirdCoef: TBCDField;
    cdsLMeasureFourthUnit: TStringField;
    cdsLMeasureFourthCoef: TBCDField;
    cdsLMeasureFifthUnit: TStringField;
    cdsLMeasureFifthCoef: TBCDField;
    cdsLMeasureSixthUnit: TStringField;
    cdsLMeasureSixthCoef: TBCDField;
    cdsLMeasureAllowUsed: TStringField;
    cdsLMeasureDefaultPur: TIntegerField;
    cdsLMeasureDefaultInv: TIntegerField;
    cdsLMeasureDefaultSal: TIntegerField;
    OpenDialog1: TOpenDialog;
    PopupMenu1: TPopupMenu;
    addimage: TMenuItem;
    cdsMat_Basic: TClientDataSet;
    cdsMat_BasicCompanyCode: TStringField;
    cdsMat_BasicItemNo: TStringField;
    cdsMat_BasicItemType: TStringField;
    cdsMat_BasicItemName: TStringField;
    cdsMat_BasicMeasureMethod: TStringField;
    cdsMat_BasicModeSpec: TStringField;
    cdsMat_BasicStandardPrice: TBCDField;
    cdsMat_BasicCostPrice: TBCDField;
    cdsMat_BasicIsPurchase: TStringField;
    cdsMat_BasicIsMake: TStringField;
    cdsMat_BasicIsSale: TStringField;
    cdsMat_BasicAllowUsed: TStringField;
    cdsMat_BasicReqBatchNo: TStringField;
    cdsMat_BasicRemark: TStringField;
    cdsMat_BasicImage: TBlobField;
    cdsMat_BasicBarCode: TStringField;
    cdsMat_BasicSaleType: TStringField;
    cdsMat_BasicVendCustCode: TStringField;
    Panel3: TPanel;
    Edit1: TEdit;
    Button1: TButton;
    Button2: TButton;
    Label1: TLabel;
    Label2: TLabel;
    Label3: TLabel;
    Label4: TLabel;
    Label5: TLabel;
    Label6: TLabel;
    Label7: TLabel;
    Label8: TLabel;
    Label12: TLabel;
    Label13: TLabel;
    Label9: TLabel;
    Label10: TLabel;
    Label11: TLabel;
    Label14: TLabel;
    Label15: TLabel;
    Label16: TLabel;
    Label17: TLabel;
    Label18: TLabel;
    Label19: TLabel;
    Label20: TLabel;
    Label21: TLabel;
    edNo: TDBEdit;
    DBEdit2: TDBEdit;
    DBEdit3: TDBEdit;
    DBCheckBox4: TDBCheckBox;
    DBEdit4: TDBEdit;
    DBEdit5: TDBEdit;
    wwDBComboDlg1: TwwDBComboDlg;
    wwDBComboDlg2: TwwDBComboDlg;
    wwDBComboBox1: TwwDBComboBox;
    DBEdit1: TDBEdit;
    DBEdit6: TDBEdit;
    wwDBComboDlg3: TwwDBComboDlg;
    DBEdit7: TDBEdit;
    DBEdit8: TDBEdit;
    DBEdit9: TDBEdit;
    DBEdit10: TDBEdit;
    wwDBComboBox2: TwwDBComboBox;
    wwDBComboBox3: TwwDBComboBox;
    DBCheckBox1: TDBCheckBox;
    wwDBDateTimePicker1: TwwDBDateTimePicker;
    wwDBDateTimePicker2: TwwDBDateTimePicker;
    cdsMat_BasicMemberPrice: TBCDField;
    cdsMat_BasicSalePrice: TBCDField;
    cdsMat_BasicComparePrice: TBCDField;
    cdsMat_BasicBatchPrice: TBCDField;
    cdsMat_BasicProdArea: TStringField;
    cdsMat_BasicTaxRate: TBCDField;
    cdsMat_BasicIsInCode: TStringField;
    cdsMat_BasicFirstDate: TDateTimeField;
    cdsMat_BasicLastDate: TDateTimeField;
    cdsMat_BasicRackId: TIntegerField;
    cdsMat_BasicTrademark: TStringField;
    cdsMat_BasicIsModiPrice: TStringField;
    cdsMat_BasicOperator: TStringField;
    cdsMat_BasicOtherPrice: TStringField;
    cdsMat_BasicIsPack: TStringField;
    procedure FormShow(Sender: TObject);
    procedure sDBTree1GetFirstLevelData(Sender: TObject;
      ColConstrain: String; DataSet: TClientDataSet);
    procedure sDBTree1GetNextLevelData(Sender: TObject; RowConstrain,
      ColConstrain: String; DataSet: TClientDataSet);
    procedure FormClose(Sender: TObject; var Action: TCloseAction);
    procedure FormCreate(Sender: TObject);
    procedure wwDBComboDlg1CustomDlg(Sender: TObject);
    procedure cdsLItemTypeBeforeOpen(DataSet: TDataSet);
    procedure wwDBComboDlg2CustomDlg(Sender: TObject);
    procedure SingleBillFrame1BtnSaveClick(Sender: TObject);
    procedure DBImage1DblClick(Sender: TObject);
    procedure addimageClick(Sender: TObject);
    procedure cdsMat_BasicNewRecord(DataSet: TDataSet);
    procedure Edit1Exit(Sender: TObject);
    procedure FormKeyDown(Sender: TObject; var Key: Word;
      Shift: TShiftState);
    procedure Button1Click(Sender: TObject);
    procedure Button2Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;
//定义线程
  TRecvThread = class(TThread)
  private
    fdataset : TClientDataset;
    procedure dateApply;
  protected
    procedure Execute; override;
  public
    constructor  create(dataset:TClientDataset);
  end;

var
  ItemBarCodefrm: TItemBarCodefrm;
implementation
uses select,SystemConstUnit,Dataset2VariantUnit, main;

{$R *.DFM}
constructor TRecvThread.create(dataset:TClientDataset);
begin
  fDataset := dataset;
  FreeOnTerminate := True;
  inherited create(false);
end;

procedure TRecvThread.Execute;
begin
  Synchronize(dateApply);
end;


procedure TRecvThread.dateApply;
begin
  fdataset.ApplyUpdates(0);
end;
//---------------执行线程end--------

procedure TItemBarCodefrm.FormCreate(Sender: TObject);
begin
  inherited;
  scEOLShQ.Host := sHost;
  scEOLShQ.Connected := True;
end;

procedure TItemBarCodefrm.FormShow(Sender: TObject);
begin
  inherited;
  DataDo := doFilter;
  //临时屏蔽增加、删除
  SingleBillFrame1.BtnNew.Visible := False;
  SingleBillFrame1.BtnDelete.Visible := False;

end;

procedure TItemBarCodefrm.FormClose(Sender: TObject; var Action: TCloseAction);
begin
  inherited;
  cdsMat_Basic.Close;
end;
//生成树
procedure TItemBarCodefrm.sDBTree1GetFirstLevelData(Sender: TObject;
  ColConstrain: String; DataSet: TClientDataSet);
var
  Data : OLEVariant;
begin
  inherited;
  if scEOLShQ.AppServer.GetFirstItemType(ColConStrain,Data,'')=0 then
    ReleaseTOClnt(DataSet,Data);
end;

procedure TItemBarCodefrm.sDBTree1GetNextLevelData(Sender: TObject; RowConstrain,
  ColConstrain: String; DataSet: TClientDataSet);
var
  Data : OLEVariant;
begin
  inherited;
  if scEOLShQ.AppServer.GetNextItemType(RowConstrain,ColConStrain,Data,'')=0 then
    ReleaseTOClnt(DataSet,Data);
end;
//选择物料类别
procedure TItemBarCodefrm.wwDBComboDlg1CustomDlg(Sender: TObject);
begin
  inherited;
  if not wwLookupDialog1.LookupTable.Active then wwLookupDialog1.LookupTable.Open;
  if wwLookupDialog1.Execute then
  begin
    wwDBComboDlg1.DataSource.DataSet.Edit;
    wwDBComboDlg1.Field.AsString := wwLookupDialog1.LookupTable.FieldByName('ItemType').AsString;
  end;
end;
//设置表的打开条件
procedure TItemBarCodefrm.cdsLItemTypeBeforeOpen(DataSet: TDataSet);
begin
  inherited;
  if not TClientDataSet(DataSet).RemoteServer.Connected then
    TClientDataSet(DataSet).RemoteServer.Connected := True;
  if TClientDataSet(DataSet).Params.Count = 0 then TClientDataSet(DataSet).FetchParams;
  TClientDataSet(DataSet).Params.ParamByName('CompanyCode').AsString := '';
end;
//选择计量单位
procedure TItemBarCodefrm.wwDBComboDlg2CustomDlg(Sender: TObject);
begin
  inherited;
  if not wwLookupDialog2.LookupTable.Active then wwLookupDialog2.LookupTable.Open;
  if wwLookupDialog2.Execute then
  begin
    wwDBComboDlg2.DataSource.DataSet.Edit;
    wwDBComboDlg2.Field.AsString := wwLookupDialog2.LookupTable.FieldByName('MeasureCode').AsString;
  end;
end;
//调用线程存储
procedure TItemBarCodefrm.SingleBillFrame1BtnSaveClick(Sender: TObject);
begin
//  inherited;
  if cdsMat_Basic.State in [dsedit,dsinsert] then
  begin
    cdsMat_Basic.post;
//    cdsMat_Basic.ApplyUpdates(0);
    TRecvThread.Create(cdsMat_Basic) ;
  end;
end;
//选择图形文件
procedure TItemBarCodefrm.DBImage1DblClick(Sender: TObject);
var
  Temp1 : TBitMap;
  Temp2:  TJPEGImage;
begin
  inherited;
  Temp2 := TJPEGImage.Create;
  try
    if  OpenDialog1.Execute then
    begin
      if ExtractFileExt(OpenDialog1.FileName)='.jpg' then
      begin
        Temp2.LoadFromFile(OpenDialog1.FileName);
        if Assigned(Temp2) then
        begin
          Temp1 := TbitMap.Create;
          try
            temp1.assign(temp2);
            cdsMat_Basic.Edit;
            cdsMat_BasicImage.Assign(Temp1) ;
            cdsMat_Basic.post;
            TRecvThread.Create(cdsMat_Basic) ;
          finally
            Temp1.Free;
          end;
        end;
      end else
      begin
        cdsMat_Basic.Edit;
        cdsMat_BasicImage.LoadFromFile(OpenDialog1.FileName);
        cdsMat_Basic.post;
        TRecvThread.Create(cdsMat_Basic) ;
      end;
    end;
  finally
    Temp2.Free;
  end;
end;
//
procedure TItemBarCodefrm.addimageClick(Sender: TObject);
var
  FormSelect : Tfrmselect;
  Temp1 : TBitMap;
  Temp2:  TJPEGImage;
begin
  frmselect :=  Tfrmselect.Create(self);
  if frmselect.Showmodal = mrOK then
  begin
    Temp2 := TJPEGImage.Create;
    try
      if ExtractFileExt(frmselect.filelistbox1.FileName)='.jpg' then
      begin
        Temp2.LoadFromFile(frmselect.filelistbox1.FileName);
        if Assigned(Temp2) then
        begin
          Temp1 := TbitMap.Create;
          try
            temp1.assign(temp2);
            cdsMat_Basic.Edit;
            cdsMat_BasicImage.Assign(Temp1) ;
            cdsMat_Basic.post;
            TRecvThread.Create(cdsMat_Basic) ;
          finally
            Temp1.Free;
          end;
        end;
      end
      else if ExtractFileExt(frmselect.filelistbox1.FileName)='.bmp' then
      begin
        cdsMat_Basic.Edit;
        cdsMat_BasicImage.LoadFromFile(frmselect.filelistbox1.FileName);
        cdsMat_Basic.post;
        TRecvThread.Create(cdsMat_Basic) ;
      end;
    finally
      Temp2.Free;
    end;

  end;
  frmselect.Free;
end;

procedure TItemBarCodefrm.cdsMat_BasicNewRecord(DataSet: TDataSet);
var
  ItemNo,BarCode : string;
begin
  inherited;
  with Dataset do
  begin
    FieldByName('CompanyCode').AsString := '';
    FieldByName('AllowUsed').AsString := '1';
//    FieldByName('VendCustCode').asstring := cdsProve.FieldByName('VendCustCode').asstring;
//    TSocketConnection(cdsMat_Basic.RemoteServer).Appserver.GetItemAndBarCode
//      (cdsProve.FieldByName('VendCustCode').asstring,ItemNo,BarCode);
    FieldByName('BarCode').asstring := BarCode;
    FieldByName('ItemNo').Asstring := ItemNo;
  end;
end;

procedure TItemBarCodefrm.Edit1Exit(Sender: TObject);
begin
  inherited;
  if Edit1.Text= '' then
  begin
    Edit1.SetFocus;
    exit;
  end;
  if length(Edit1.Text)>12 then
    Edit1.Text := copy(Edit1.Text,1,12);
  cdsMat_Basic.Close;
  cdsMat_Basic.Params.ParamByName('BarCode').asstring := Trim(Edit1.Text);
  cdsMat_Basic.Params.ParamByName('ItemNo').asstring := Trim(Edit1.Text);
  cdsMat_Basic.Open;
  Edit1.Text := '';
  DBMemo1.SetFocus;
end;

procedure TItemBarCodefrm.FormKeyDown(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
  inherited;
  if key = vk_Home then
    Edit1.SetFocus;
end;

procedure TItemBarCodefrm.Button1Click(Sender: TObject);
begin
  inherited;
  if cdsMat_Basic.RecordCount > 0 then
    DBImage1DblClick(sender);
end;

procedure TItemBarCodefrm.Button2Click(Sender: TObject);
begin
  inherited;
  if cdsMat_Basic.RecordCount > 0 then
    addimageClick(sender);
end;

end.

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -