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

📄 quality_check.pas

📁 适合行业为眼镜业
💻 PAS
📖 第 1 页 / 共 3 页
字号:
unit Quality_Check;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, Grids, StdCtrls, ExtCtrls, Buttons, XPMenu;

type
  Tfrm_Quality_Check = class(TForm)
    Panel1: TPanel;
    Panel2: TPanel;
    SpeedButton2: TSpeedButton;
    SpeedButton3: TSpeedButton;
    Cmd_Cancel: TSpeedButton;
    Panel3: TPanel;
    Edit1: TLabeledEdit;
    GroupBox1: TGroupBox;
    SpeedButton5: TSpeedButton;
    SpeedButton7: TSpeedButton;
    SpeedButton8: TSpeedButton;
    SpeedButton9: TSpeedButton;
    Edit4: TLabeledEdit;
    Edit_Storage_Name: TLabeledEdit;
    Edit6: TLabeledEdit;
    Edit7: TLabeledEdit;
    Edit8: TLabeledEdit;
    Edit9: TLabeledEdit;
    Edit10: TLabeledEdit;
    Edit2: TLabeledEdit;
    Edit3: TLabeledEdit;
    Panel5: TPanel;
    Panel6: TPanel;
    Panel8: TPanel;
    Label2: TLabel;
    Label3: TLabel;
    Panel9: TPanel;
    Panel10: TPanel;
    Cmd_Delete: TSpeedButton;
    Cmd_Add: TSpeedButton;
    Edit11: TLabeledEdit;
    Cmd_LHDJ: TSpeedButton;
    Edit5: TLabeledEdit;
    StringGrid1: TStringGrid;
    Label1: TLabel;
    procedure Cmd_CancelClick(Sender: TObject);
    procedure FormShow(Sender: TObject);
    procedure Cmd_AddClick(Sender: TObject);
    procedure Cmd_DeleteClick(Sender: TObject);
    procedure StringGrid1DrawCell(Sender: TObject; ACol, ARow: Integer;
      Rect: TRect; State: TGridDrawState);
    procedure StringGrid1DblClick(Sender: TObject);
    procedure Edit1DblClick(Sender: TObject);
    procedure Edit1KeyPress(Sender: TObject; var Key: Char);
    procedure Edit8KeyPress(Sender: TObject; var Key: Char);
    procedure Edit8DblClick(Sender: TObject);
    procedure Cmd_LHDJClick(Sender: TObject);
    procedure FormClose(Sender: TObject; var Action: TCloseAction);
    procedure SpeedButton5Click(Sender: TObject);
    procedure SpeedButton9Click(Sender: TObject);
    procedure SpeedButton8Click(Sender: TObject);
    procedure SpeedButton7Click(Sender: TObject);
    procedure SpeedButton2Click(Sender: TObject);
    procedure Edit3Change(Sender: TObject);
    procedure StringGrid1KeyPress(Sender: TObject; var Key: Char);
    procedure StringGrid1SelectCell(Sender: TObject; ACol, ARow: Integer;
      var CanSelect: Boolean);
    procedure SpeedButton3Click(Sender: TObject);
  private
    { Private declarations }
    iColcount,Total_Count:integer;
    ss,tempstr:string;
    pcol,prow:integer;
    PROCEDURE INIT;
  public
    { Public declarations }
  end;

var
  frm_Quality_Check: Tfrm_Quality_Check;
implementation

uses Data, func,  Public_Don, Stock_Write_Check, Supply_Monad,
  Storage_Select, Login_Man, ChildShop_Select, untdatadm, UntgoodCodeSelStr,
  Unt_PubStrGrid, Unitreportxf;

{$R *.dfm}
PROCEDURE TFRM_QUALITY_CHECK.INIT;
var
  temp,make:string;
BEGIN
  InitialStrGrid(stringgrid1,'质量验收');
  stringgrid1.ColCount:=stringgrid1.ColCount+1; //在预定商品时记录预定单编号;
  stringgrid1.ColWidths[stringgrid1.ColCount-1]:=-1;
  Edit1.Text:=formatdateTime('yyyy''-''mm''-''dd',date);
  Edit8.Text:=Handle_Man;
  temp:='select max(right(stock_no,4)) from Quality_Check where copy_date='+''''+formatdatetime('yyyy''-''mm''-''dd',date)+'''';
  make:='ZLYS-'+trim(Handle_Part)+trim(handle_no); //用部门编号
  edit2.Text:=setcode(temp,make);
END;
procedure Tfrm_Quality_Check.Cmd_CancelClick(Sender: TObject);
var
    i,j,icol:integer;
    Check_Flag:string;
    sqlsub:widestring;
begin
    frm_Public_Don:=Tfrm_Public_Don.Create(self);
    frm_Public_Don.no:=trim(edit2.Text);
    frm_Public_Don.ShowModal;
    //保存草稿
    if Public_Do='Stock_0007' then
    begin
        if Public_Do_Result='01' then
        begin
            with frm_data.ClientDataSet2 do
            begin
//                Close;
//                CommandText:='';
//                Commandtext:='Select * from [V_Stock_Quality_View] where Receipt_No='''+Trim(Edit2.Text)+'''';
                sqlsub:='Select * from [V_Stock_Quality_View] where Receipt_No='''+Trim(Edit2.Text)+'''';
                dmmain.CDSexecsql.Close;
                dmmain.CDSexecsql.Data:=ADISP.execSql(sqlsub);
                dmmain.CDSexecsql.Open;
                Check_Flag:=dmmain.CDSexecsql.FieldValues['Check_Result'];
                if Check_Flag='0' then
                begin
                    Application.MessageBox('单据还没有完全审核,不能过帐',pchar(application.Title),mb_iconwarning);
                    Exit;
                end;
                if Check_Flag='1' then
                begin                                     
                    try
                        with frm_data.ClientDataSet_Add do
                        begin
//                            Close;
//                            Commandtext:='';
//                            Commandtext:='Update [Quality_Check] set Gather_Name='''+Trim(Edit4.Text)+''',Storage_NO='''+Trim(Edit5.Text)+''',Transactor='''+Trim(Edit6.Text)+''',Shop_NO='''+Trim(Edit7.Text)+''',Proposer='''+Trim(Edit8.Text)+''',Condense='''+Trim(Edit9.Text)+''',Quality_Remark='''+Trim(Edit10.Text)+''',Contract_No='''+Trim(Edit11.Text)+''' where Stock_No='''+Trim(Edit2.Text)+'''';
                            sqlsub:='select * from [Quality_Check] where Stock_No='''+Trim(Edit2.Text)+'''';
                            dmmain.CDSexecsql.Close;
                            dmmain.CDSexecsql.Data:=frm_data.Socket_Connection.AppServer.execSql(sqlsub);
                            dmmain.CDSexecsql.Open;
                            for i:=1 to dmmain.CDSexecsql.RecordCount do
                            begin
                                dmmain.CDSexecsql.Edit;
                                dmmain.CDSexecsql.FieldByName('wldw').AsString:=Trim(Edit4.Text);
                                dmmain.CDSexecsql.FieldByName('wldw_no').AsString:=Trim(wldwno);//////
                                dmmain.CDSexecsql.FieldByName('Storage_NO').AsString:=Trim(Edit5.Text);
                                dmmain.CDSexecsql.FieldByName('Transactor').AsString:=Trim(Edit6.Text);
                                dmmain.CDSexecsql.FieldByName('Shop_NO').AsString:=Trim(Edit7.Text);
                                dmmain.CDSexecsql.FieldByName('Proposer').AsString:=Trim(Edit8.Text);
                                dmmain.CDSexecsql.FieldByName('Condense').AsString:=Trim(Edit9.Text);
                                dmmain.CDSexecsql.FieldByName('Quality_Remark').AsString:=Trim(Edit10.Text);
                                dmmain.CDSexecsql.FieldByName('Contract_No').AsString:=Trim(Edit11.Text);
                                dmmain.CDSexecsql.Post;
                                dmmain.CDSexecsql.Next;
                            end;
                            try
                                dmmain.CDSexecsql.ApplyUpdates(-1);
                            except
                                Application.MessageBox('保存[质量验收单]时连接服务器数据库失败,请检查连接网络是否正常,请确认!',pchar(application.Title),mb_iconwarning);
                                Exit;
                            end;
                            for i:=1 to stringgrid1.RowCount-1 do
                            begin
                                with frm_data.ClientDataSet_Add do
                                begin
                                    Close;
                                    CommandText:='';
                                    CommandText:='update [Quality_Check_detail] set Total_Amount='''+Trim(StringGrid1.Cells[3,i])+''',Regular_Amount='''+Trim(StringGrid1.Cells[4,i])+''',Un_Regular_Amount='''+Trim(StringGrid1.Cells[5,i])+''',Check_Remark='''+Trim(StringGrid1.Cells[6,i])+''' where Stock_NO='''+Trim(Edit2.Text)+''' and Goods_NO='''+Trim(StringGrid1.Cells[1,i])+'''';
                                    try
                                        Execute;
                                    except
                                        Application.MessageBox('保存[质量验收单明细]时连接服务器数据库失败,请检查连接网络是否正常,请确认!',pchar(application.Title),mb_iconwarning);
                                        Exit;
                                    end;
                                end;
                            end;
                            with frm_data.ClientDataSet_Add do
                            begin
                                sqlsub:='select * from [Receipt] where Receipt_No='''+Trim(Edit2.Text)+'''';
                                dmmain.CDSexecsql.Close;
                                dmmain.CDSexecsql.Data:=frm_data.Socket_Connection.AppServer.execSql(sqlsub);
                                dmmain.CDSexecsql.Open;
                                for i:=1 to dmmain.CDSexecsql.RecordCount do
                                begin
                                    dmmain.CDSexecsql.Edit;
                                    dmmain.CDSexecsql.FieldByName('Flag_sign').AsString:='单据';
                                    dmmain.CDSexecsql.Post;
                                    dmmain.CDSexecsql.Next;
                                end;
                                try
                                    dmmain.CDSexecsql.ApplyUpdates(-1);
                                except
                                    Application.MessageBox('保存[质量验收单审核表]时连接服务器数据库失败,请检查连接网络是否正常,请确认!',pchar(application.Title),mb_iconwarning);
                                    Exit;
                                end;
                            end;
                            Application.MessageBox('[质量验收单]单据过帐完毕!,请确认!',pchar(application.Title),mb_iconwarning);
                        end;
                    except
                        Application.MessageBox('保存[质量验收单]时失败,请检查连接网络是否正常,请确认!',pchar(application.Title),mb_iconwarning);
                        Exit;
                    end;
                end;
            end;
        end;
        //保存为草稿
        if Public_Do_Result='02' then
        begin
            try
                if Trim(Edit1.Text)='' then
                begin
                    Application.MessageBox('操作错误,【录单日期】不能为空!,请确认!',pchar(application.Title),mb_iconwarning);
                    Edit1.SetFocus;
                    Exit;
                end;
                if Trim(Edit2.Text)='' then
                begin
                    Application.MessageBox('操作错误,【单据编号】不能为空!,请确认!',pchar(application.Title),mb_iconwarning);
                    Edit2.SetFocus;
                    Exit;
                end;
                if Trim(Edit3.Text)='' then
                begin
                    Application.MessageBox('操作错误,【来货登记号】不能为空!,请确认!',pchar(application.Title),mb_iconwarning);
                    Edit3.SetFocus;
                    Exit;
                end;
                if Trim(Edit4.Text)='' then
                begin
                    Application.MessageBox('操作错误,【供货单位】不能为空!,请确认!',pchar(application.Title),mb_iconwarning);
                    Edit4.SetFocus;
                    Exit;
                end;
                if Trim(Edit5.Text)='' then
                begin
                    Application.MessageBox('操作错误,【验货仓库】不能为空!,请确认!',pchar(application.Title),mb_iconwarning);
                    Edit5.SetFocus;
                    Exit;
                end;
                if Trim(Edit6.Text)='' then
                begin
                    Application.MessageBox('操作错误,【经手人】不能为空!,请确认!',pchar(application.Title),mb_iconwarning);
                    Edit6.SetFocus;
                    Exit;
                end;
                if Trim(Edit8.Text)='' then
                begin
                    Application.MessageBox('操作错误,【制单人】不能为空!,请确认!',pchar(application.Title),mb_iconwarning);
                    Edit8.SetFocus;
                    Exit;
                end;
                for i:=1 to StringGrid1.RowCount-1 do
                begin
                    if StringGrid1.Cells[1,i]='' then
                    begin
                        Application.MessageBox('操作错误,【商品编号】不能为空!,请确认!',pchar(application.Title),mb_iconwarning);
                        Exit;
                    end;
                    if StringGrid1.Cells[3,i]='' then
                    begin
                        Application.MessageBox('操作错误,【总计数量】不能为空!,请确认!',pchar(application.Title),mb_iconwarning);
                        Exit;
                    end;
                    if StringGrid1.Cells[4,i]='' then
                    begin
                        Application.MessageBox('操作错误,【合格数量】不能为空!,请确认!',pchar(application.Title),mb_iconwarning);
                        Exit;
                    end;
                    if StringGrid1.Cells[5,i]='' then
                    begin
                        Application.MessageBox('操作错误,【不合格数量】不能为空!,请确认!',pchar(application.Title),mb_iconwarning);
                        Exit;
                    end;
                end;
                try
                  sqlsub:='SELECT * FROM [Quality_Check] where Copy_Date='+''''+Trim(Edit1.Text)+''''+' and Stock_NO='+''''+Trim(Edit2.Text)+'''';
                  dmmain.CDSquery.Close;
                  dmmain.CDSquery.Data:=adisp.GetRecord(sqlsub);
                  dmmain.CDSquery.Open;
                  //Open;
                  if dmmain.CDSquery.RecordCount>0 then
                  begin
                      Application.MessageBox('该【质量验收】操作已经存在了,请确认!',pchar(application.Title),mb_iconwarning);
                      Exit;
                  end ;
                  dmmain.cdsQuality_Check.Close;
                  dmmain.cdsQuality_Check.Open;
                  dmmain.cdsQuality_Check.Append;
                  dmmain.cdsQuality_Check.FieldByName('Copy_Date').AsString:=Trim(Edit1.Text);
                  dmmain.cdsQuality_Check.FieldByName('Stock_NO').AsString:=Trim(Edit2.Text);
                  dmmain.cdsQuality_Check.FieldByName('Stock_Write_NO').AsString:=Trim(Edit3.Text);
                  dmmain.cdsQuality_Check.FieldByName('wldw').AsString:=Trim(Edit4.Text);
                  dmmain.cdsQuality_Check.FieldByName('wldw_no').AsString:=Trim(wldwno);////////////////
                  dmmain.cdsQuality_Check.FieldByName('Storage_NO').AsString:=Trim(Edit5.Text);
                  dmmain.cdsQuality_Check.FieldByName('Transactor').AsString:=Trim(Edit6.Text);
                  dmmain.cdsQuality_Check.FieldByName('Shop_NO').AsString:=Trim(Edit7.Text);
                  dmmain.cdsQuality_Check.FieldByName('Proposer').AsString:=Trim(Edit8.Text);
                  dmmain.cdsQuality_Check.FieldByName('Condense').AsString:=Trim(Edit9.Text);
                  dmmain.cdsQuality_Check.FieldByName('Quality_Remark').AsString:=Trim(Edit10.Text);
                  dmmain.cdsQuality_Check.FieldByName('Contract_NO').AsString:=Trim(Edit11.Text);
                  dmmain.cdsQuality_Check.Post;
                  dmmain.cdsReceipt.Close;
                  dmmain.cdsReceipt.Open;
                  dmmain.cdsReceipt.Append;
                  dmmain.cdsReceipt.FieldByName('Receipt_NO').AsString:=Trim(Edit2.Text);
                  dmmain.cdsReceipt.FieldByName('Receipt_Name').AsString:='质量验收单';
                  dmmain.cdsReceipt.FieldByName('Copy_Date').AsString:=Trim(Edit1.Text);
                  dmmain.cdsReceipt.FieldByName('Proposer').AsString:=Trim(Edit8.Text);
                  dmmain.cdsReceipt.FieldByName('Condense').AsString:=Trim(Edit9.Text);

⌨️ 快捷键说明

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