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

📄 productinfo.pas

📁 产品信息系统!关于产品基础信息的系统!功能强大!
💻 PAS
📖 第 1 页 / 共 3 页
字号:
  i:Integer;
  new_no:string;
  maxid:string;
begin
  with QPublic do
  begin
    Close;
    SQL.Clear;
    SQL.Add('select substring(convert(varchar(50),getdate(),120),3,2)+substring(convert(varchar(50),getdate(),120),6,2)+substring(convert(varchar(50),getdate(),120),9,2)date_no,isnull(convert(varchar(50),max(convert(int,substring(number,convert(int,'''+IntToStr(Length(G_sDepCode))+''')+7,4)))+1),''0'') new_no    ');
    SQL.Add('from CcModel_Remark where substring(number,convert(int,'''+IntToStr(Length(G_sDepCode))+''')+1,6)= substring(convert(varchar(50),getdate(),120),3,2)+substring(convert(varchar(50),getdate(),120),6,2)+substring(convert(varchar(50),getdate(),120),9,2) and substring(number,1,convert(int,'''+IntToStr(Length(G_sDepCode))+'''))='''+G_sDepCode+'''    ');
    Open;
  end;
  new_no:=QPublic.FieldValues['new_no'];
  for i:=1 to 4-Length(QPublic.fieldvalues['new_no']) do
  begin
    new_no:='0'+new_no;
  end;
  new_no:=G_sDepCode+QPublic.FieldValues['date_no']+new_no;
  with QPublic do
  begin
    Close;
    SQL.Clear;
    SQL.Add('select isnull(max(convert(int,substring(sign,convert(int,'''+inttostr(Length(inttostr(G_iUserID)))+''')+1,len(sign)-convert(int,'''+inttostr(Length(inttostr(G_iUserID)))+''')))),0) maxid');
    SQL.Add('from CcModel_Remark where substring(sign,1,convert(int,'''+inttostr(Length(inttostr(G_iUserID)))+'''))=convert(varchar(50),'''+inttostr(G_iUserID)+''') ');
    Open;
  end;
  maxid:=inttostr(G_iUserID)+inttostr(QPublic.FieldValues['maxid']+1);
  QBaseInfo.FieldValues['xh']:='';
  QBaseInfo.FieldValues['sizes']:='';
  QBaseInfo.FieldValues['plate']:='';
  QBaseInfo.FieldValues['Material']:='';
  QBaseInfo.FieldValues['inputer']:=G_sUserName;
  QBaseInfo.FieldValues['perfecter']:='';
  QBaseInfo.FieldValues['standonesortno']:='';
  QBaseInfo.FieldValues['standonesortname']:='';
  QBaseInfo.FieldValues['auditer']:='';
  QBaseInfo.FieldValues['artdepter']:='';
  QBaseInfo.FieldValues['number']:=new_no;
  QBaseInfo.FieldValues['remark']:='';
  QBaseInfo.FieldValues['graincount']:=0;
  QBaseInfo.FieldValues['area_plate']:=0;
  QBaseInfo.FieldValues['price_material']:=0;
  QBaseInfo.FieldValues['price_plate']:=0;
  QBaseInfo.FieldValues['price_spray']:=0;
  QBaseInfo.FieldValues['time_input']:=Now;
  QBaseInfo.FieldValues['sign_audit']:=False;
  QBaseInfo.FieldValues['sign_artdept']:=False;
  QBaseInfo.FieldValues['sign_Design']:=False;
  QBaseInfo.FieldValues['plate_no']:='';
  QBaseInfo.FieldValues['sign']:=maxid;
  QBaseInfo.FieldValues['Model_No']:='';
  QBaseInfo.FieldValues['Empolder_No']:='';
  inherited;
end;

procedure TfrmProductInfo.dsBaseInfoStateChange(Sender: TObject);
var
  i:Integer;
begin
  inherited;
  if QBaseInfosign_Artdept.AsBoolean=True then
    Button4.Caption:='发往品管部'
  else
    Button4.Caption:='发往技术部' ;
  if QBaseInfosign_Audit.AsBoolean=True then
    Button5.Caption:='弃审'
  else
    Button5.Caption:='审核' ;
  Button4.Enabled:=not (QBaseInfo.State in [dsEdit]);
  Button5.Enabled:=not (QBaseInfo.State in [dsEdit]);
  if Pos('技术',G_sDepName)<>0 then
  begin
    with TabSheet1 do
    begin
      for i := 0 to ControlCount - 1 do
      begin
        if Controls[i] is TDBEdit then
          (Controls[i] as TDBEdit).ReadOnly := True
      end;
    end;
    DBGridEh2.ReadOnly:=True;
    ListBox1.Enabled:=False;
    MenuItem3.Enabled:=False;
    N3.Enabled:=False;
    cxDBImage1.Properties.ReadOnly:=True;
  end
  else
  begin
    with TabSheet1 do
    begin
      for i := 0 to ControlCount - 1 do
      begin
        if Controls[i] is TDBEdit then
          (Controls[i] as TDBEdit).ReadOnly := not (QBaseInfo.State in [dsEdit])
      end;
    end;
    DBMemo3.ReadOnly := not (QBaseInfo.State in [dsEdit]);
    DBGridEh2.ReadOnly:=not (QBaseInfo.State in [dsEdit]);
    DBGridEh3.ReadOnly:=not (QBaseInfo.State in [dsEdit]);
    ListBox1.Enabled:= (QBaseInfo.State in [dsEdit]);
    if QGy.RecordCount<>0 then
      MenuItem3.Enabled:=(QBaseInfo.State in [dsEdit])
    else
      MenuItem3.Enabled:=False;
    if QCc.RecordCount<>0 then
      N3.Enabled:=(QBaseInfo.State in [dsEdit])
    else
      N3.Enabled:=False;
    cxDBImage1.Properties.ReadOnly:=not (QBaseInfo.State in [dsEdit]);
  end;
  if QBaseInfo.RecordCount<>0 then
    self.Label21.Caption:='信息份数:'+IntToStr(self.QBaseInfo.RecordCount)+chr(13)+'当前:'+inttostr(self.QBaseInfo.RecNo)
  else
    self.Label21.Caption:='信息份数:0'+chr(13)+'当前:0';
end;

procedure TfrmProductInfo.N3Click(Sender: TObject);
begin
  inherited;
  QCc.Delete;
end;

procedure TfrmProductInfo.acSaveExecute(Sender: TObject);
begin
//  inherited;
  case MessageBox(Handle,'是否保存记录','提示信息',MB_YESNO+MB_ICONQUESTION+MB_DEFBUTTON1) of
    IDYes:
    begin
      CanSave:=False;
      CanCancel:=False;
      try
        QBaseInfo.UpdateBatch();
      except
        if dmClient.adocnequip_manage.Errors.Item[0].Get_Number=-2147217873 then
        begin
          MessageBox(0, '产品重复!', '警告', MB_OK +MB_ICONSTOP + MB_TOPMOST);
          CanSave:=True;
          CanCancel:=True;
          QBaseInfo.Edit;
          tbtModify.Enabled:=False;
          Exit;
        end
        else
        begin
          ShowMessage('保存出错!');
          CanSave:=True;
          CanCancel:=True;
          QBaseInfo.Edit;
          tbtModify.Enabled:=False;
          Exit;
        end;
      end;
    end;
    IDNo:
    begin
    end;
  end;
end;

procedure TfrmProductInfo.MenuItem3Click(Sender: TObject);
begin
  inherited;
  QGy.Delete;
end;

procedure TfrmProductInfo.FormCreate(Sender: TObject);
begin
  fplant:='';
  if G_sDepName='车间' then
  begin
   QGy.sql.strings[1]:=' and plant='''+G_sUserName+''' ';
   QCC.sql.strings[1]:=' and plant='''+G_sUserName+''' ';
   QLSDA.sql.strings[1]:=' and Liable_dept='''+G_sUserName+''' ';
   QKHTS.sql.strings[1]:=' and Liable_dept='''+G_sUserName+''' ';
  end;
  inherited;
  with QBaseInfo do
  begin
    DisableControls;
    Close;
    if Pos('品管',G_sDepName)<>0 then
      SQL.Strings[1]:=' where sign_Audit=0 and sign_Artdept=0 and Artdepter='''' and substring(number,1,2)='''+G_sDepCode+''' ';
    if Pos('技术',G_sDepName)<>0 then
      SQL.Strings[1]:=' where sign_Artdept=1';
    Open;
    EnableControls;
  end;
  with QPublic do
  begin
    Close;
    SQL.Clear;
    SQL.Add('select distinct WorkShop from dbo.CcWorkingProcedure');
    Open;
    ListBox1.Items.Clear;
    First;
    while not Eof do
    begin
      ListBox1.Items.Add(QPublic.FieldValues['WorkShop']);
      Next;
    end;
  end;
  QBaseInfoAfterScroll(nil);
  with Qplate do
  begin
    Close;
    Open;
  end;
end;

procedure TfrmProductInfo.QBaseInfoBeforePost(DataSet: TDataSet);
begin
  inherited;
  if G_sUserName<>QBaseInfoInputer.AsString then
  begin
    QBaseInfoPerfecter.AsString:=G_sUserName;
    QBaseInfoTime_Perfect.AsDateTime:=Now;
  end;
  if (QBaseInfoXh.AsString<>'') or (QBaseInfoSizes.AsString<>'') or (QBaseInfoPlate.AsString<>'') then
    QBaseInfosign.AsString:='';
end;

procedure TfrmProductInfo.acFindExecute(Sender: TObject);
begin
//  inherited;
  if not Assigned(frmLookUpGeneralCcinput) then
    frmLookUpGeneralCcinput:=TfrmLookupGeneralCcinput.Create(self);
  if frmLookUpGeneralCcinput.ShowModal=mrOK then
  begin
    with QBaseInfo do
    begin
      DisableControls;
      SQL.Clear;
      if frmLookupGeneralCcinput.sFilter='组合查询' then
      begin
        SQL.Add(' select a.* from CcModel_Remark a,(select * from dbo.f_getChild('''+trim(frmLookUpGeneralCcinput.Edit2.Text)+''','''+trim(frmLookUpGeneralCcinput.Edit3.Text)+''')) b ');
        SQL.Add(' where a.xh=b.xh and a.sizes=b.sizes and a.plate=(case when a.plate<>'''' then '''+trim(frmLookUpGeneralCcinput.Edit4.Text)+''' else '''' end) ');
        if G_sDepName='车间' then
          SQL.Add(' and sign_Audit=1');
      end
      else if frmLookupGeneralCcinput.sFilter='' then
        SQL.Add('select * from CcModel_Remark where 1=0 ')
      else
      begin
        SQL.Add('select * from CcModel_Remark where 1=1 '+ frmLookupGeneralCcinput.sFilter);
        if G_sDepName='车间' then
          SQL.Add(' and sign_Audit=1');
      end;
      Open;
      EnableControls;
    end;
  end;
  QBaseInfoAfterScroll(nil);
end;

procedure TfrmProductInfo.ListBox1DblClick(Sender: TObject);
begin
  inherited;
  QGy.Append;
  QGy.Edit;
  QGy.FieldValues['plant']:=Trim(ListBox1.Items[ListBox1.itemIndex]);
  if (Trim(ListBox1.Items[ListBox1.itemIndex])='滚镀') or (Trim(ListBox1.Items[ListBox1.itemIndex])='挂镀') then
  begin
    with QPublic do
    begin
      Close;
      SQL.Clear;
      SQL.Add('select dbo.get_TechnicsFlow('''+qbaseinfo.FieldValues['xh']+''','''+qbaseinfo.FieldValues['plate']+''') TechnicsFlow');
      Open;
    end;
    QGy.FieldValues['art']:=QPublic.FieldValues['TechnicsFlow'];
  end;
  QGy.Post;
end;

procedure TfrmProductInfo.FormDestroy(Sender: TObject);
begin
  inherited;
  with QPublic do
  begin
    Close;
    sql.Clear;
    SQL.Add('delete from CcModel_Remark where substring(sign,1,convert(int,'''+inttostr(Length(inttostr(G_iUserID)))+'''))=convert(varchar(50),'''+inttostr(G_iUserID)+''') ');
    ExecSQL;
  end;
  frmProductInfo:=nil;
end;

procedure TfrmProductInfo.Button4Click(Sender: TObject);
begin
  inherited;
  case MessageDlg('是否发送当前的记录?', mtWarning, [mbYes, mbNo], 0) of
    mrYes:
    begin
      QBaseInfo.Edit ;
      if Button4.Caption='发往技术部' then
      begin
        QBaseInfo.FieldValues['sign_Artdept'] :=True;
      end
      else if Button4.Caption='发往品管部' then
      begin
        QBaseInfo.FieldValues['sign_Artdept'] :=False;
        QBaseInfo.FieldByName('Time_Artdept').AsDatetime :=Now;
        QBaseInfo.FieldByName('Artdepter').AsString :=G_sUserName;
      end;
      QBaseInfo.UpdateBatch() ;
      Button4.Enabled:=False;
      Button5.Enabled:=False;
      tbtModify.Enabled:=False;
      tbtDelete.Enabled:=False;
    end;
    mrNo:
    begin
    end;
  end;
end;

⌨️ 快捷键说明

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