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

📄 quality_check.pas

📁 适合行业为眼镜业
💻 PAS
📖 第 1 页 / 共 3 页
字号:
                  dmmain.cdsReceipt.FieldByName('Check_Result').Asinteger:=0;
                  dmmain.cdsReceipt.FieldByName('Flag_Sign').AsString:='草稿';
                  dmmain.cdsReceipt.FieldByName('Re_part').AsString:=trim(Handle_Part);
                  dmmain.cdsReceipt.Post;
                  dmmain.cdsQuality_Check_detail.Close;
                  dmmain.cdsQuality_Check_detail.Open;
                  for i:=1 to stringgrid1.RowCount-1 do
                  begin
                    dmmain.cdsQuality_Check_detail.Append;
                    dmmain.cdsQuality_Check_detail.FieldByName('Stock_NO').AsString:=Trim(Edit2.Text);
                    dmmain.cdsQuality_Check_detail.FieldByName('Goods_NO').AsString:=Trim(StringGrid1.Cells[1,i]);
                    dmmain.cdsQuality_Check_detail.FieldByName('Total_Amount').AsString:=Trim(StringGrid1.Cells[3,i]);
                    dmmain.cdsQuality_Check_detail.FieldByName('Regular_Amount').AsString:=Trim(StringGrid1.Cells[4,i]);
                    dmmain.cdsQuality_Check_detail.FieldByName('Un_Regular_Amount').AsString:=Trim(StringGrid1.Cells[5,i]);
                    dmmain.cdsQuality_Check_detail.FieldByName('Check_Remark').AsString:=Trim(StringGrid1.Cells[6,i]);
                    dmmain.cdsQuality_Check_detail.FieldByName('orders').AsString:=Trim(StringGrid1.Cells[StringGrid1.ColCount-1,i]);
                    dmmain.cdsQuality_Check_detail.FieldByName('GoodsMemo').AsString:=Trim(StringGrid1.Cells[StringGrid1.ColCount-2,i]);
                    dmmain.cdsQuality_Check_detail.Post;
                  end;
                  try
                     dmmain.cdsReceipt.ApplyUpdates(-1);
                     dmmain.cdsQuality_Check.ApplyUpdates(-1);
                     dmmain.cdsQuality_Check_detail.ApplyUpdates(-1);
                     if trim(edit3.Text)<>'' then
                      setpass(edit3.Text);
                     setnull(frm_Quality_Check);
                     init;
                  except
                      Application.MessageBox('服务器发生故障!',pchar(application.Title),mb_iconwarning);
                      Exit;
                  end;
                except
                    Application.MessageBox('保存数据时失败,请检查连接网络是否正常,请确认!',pchar(application.Title),mb_iconwarning);
                    Exit;
                end;
            except
                Application.MessageBox('非法操作导致了系统错误!请确认!',pchar(application.Title),mb_iconwarning);
                Exit;
            end;
        end;
        //废弃退出
        if Public_Do_Result='03' then
        begin
            Close;
        end;
    end;
    //草稿操作
    if Public_Do='Business_Draft_0006' 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(List_NO)+'''';
                            sqlsub:='select * from [Quality_Check] where Stock_No='''+Trim(List_NO)+'''';
                            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('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;
                            try
                                for i:=1 to Total_Count 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
//                                    Close;
//                                    Commandtext:='';
//                                    Commandtext:='Update [Receipt] set Flag_sign=''单据'' where Receipt_No='''+Trim(List_NO)+'''';
                                    sqlsub:='select * from [Receipt] where Receipt_No='''+Trim(List_NO)+'''';
                                    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);
                                        Application.MessageBox('单据过帐完毕!',pchar(application.Title),mb_iconwarning);
                                    except
                                        Application.MessageBox('单据过帐时保存[质量验收审核表]时连接服务器数据库失败,请检查连接网络是否正常,请确认!',pchar(application.Title),mb_iconwarning);
                                        Exit;
                                    end;
                                end;
                            except
                                Application.MessageBox('保存[质量验收明细表]时循环失败,请检查连接网络是否正常,请确认!',pchar(application.Title),mb_iconwarning);
                                Exit;
                            end;
                        end;
                    except
                        Application.MessageBox('系统错误,请检查连接网络是否正常,请确认!',pchar(application.Title),mb_iconwarning);
                        Exit;
                    end;
                end;
            end;
        end;
        //修改草稿单据
        if Public_Do_Result='02' then
        begin
            try
                with frm_data.ClientDataSet_Add do
                begin
                  if not bedit then
                  begin
                    if trim(Handle_Man)<>trim(edit8.Text) then
                    begin
                      Application.MessageBox('不能修改数据!',pchar(application.Title),mb_iconinformation);
                      exit;
                    end;
                  end;
                    sqlsub:='select * from [Quality_Check] where Stock_No='''+Trim(List_NO)+'''';
                    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;
                    try
                        for i:=1 to stringgrid1.RowCount-1 do
                        begin
                            with frm_data.ClientDataSet_Add do
                            begin
                                Close;
                                frm_data.ClientDataSet_Add.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(List_NO)+''' and Goods_NO='''+Trim(StringGrid1.Cells[1,i])+'''';
                                try
                                    Execute;
                                except
                                    Application.MessageBox('保存[质量验收明细]时连接网络数据库失败,请检查连接网络是否正常,请确认!',pchar(application.Title),mb_iconwarning);
                                    Exit;
                                end;
                            end;
                        end;
                        Application.MessageBox('单据保存为草稿完毕!',pchar(application.Title),mb_iconwarning);
                    except
                        Application.MessageBox('保存[质量验收明细]时循环失败,请检查连接网络是否正常,请确认!',pchar(application.Title),mb_iconwarning);
                        Exit;
                    end;
                end;
            except
                Application.MessageBox('保存单据明细时失败,请检查连接网络是否正常,请确认!',pchar(application.Title),mb_iconwarning);
                Exit;
            end;
        end;
        if Public_Do_Result='03' then
        begin
            frm_data.ClientDataSet_Add.Active:=False;
            frm_data.ClientDataSet_Add.Close;
            frm_data.ClientDataSet2.Active:=False;
            frm_data.ClientDataSet2.Close;
            Close;
        end;
    end;
    frm_Public_Don.Free;
end;

procedure Tfrm_Quality_Check.FormShow(Sender: TObject);
var
    i,icount,k:integer;
    tt,yy,temppos:integer;
    FWidth:integer;
    sqlsub:widestring;
begin
    StringGrid1.RowCount:=2;//初始行数
    iColcount:=StringGrid1.ColCount-1; //需要的填充数据的网络表格的列数
    Total_Count:=StringGrid1.RowCount;
    INIT;
    //加载行号
    for i:=1 to StringGrid1.RowCount-1 do
    begin
        StringGrid1.Cells[0,i]:=IntTostr(i); //表示第0列第i行
    end;
    if (Public_Do='Business_Draft_0006') then
    begin
            sqlsub:='Select * from Quality_Check AS A,Quality_Check_detail as b,goods_code as c where a.stock_no=b.stock_no and b.goods_no=c.goods_no AND a.STOCK_No='''+List_No+'''';
            dmmain.CDSexecsql.Close;
            dmmain.CDSexecsql.Data:=frm_data.Socket_Connection.AppServer.execSql(sqlsub);
            dmmain.CDSexecsql.Open;
            StringGrid1.RowCount:=dmmain.CDSexecsql.RecordCount+1;
            //自动加载STRINGGRID的行数
            for K:=1 to dmmain.CDSexecsql.RecordCount+1 do
            begin
                StringGrid1.Cells[0,K]:=IntTostr(k); //表示第0列第i行的名称
            end;
            //******************
            Edit1.Text:=dmmain.CDSexecsql.FieldByName('Copy_Date').AsString;
            Edit2.Text:=dmmain.CDSexecsql.FieldByName('stock_No').AsString;
            //Edit3.Text:=dmmain.CDSexecsql.FieldByName('Stock_Write_NO').AsString;
            Edit4.Text:=dmmain.CDSexecsql.FieldByName('WLDW').AsString;
            Edit5.Text:=dmmain.CDSexecsql.FieldByName('Storage_No').AsString;
            Edit6.Text:=dmmain.CDSexecsql.FieldByName('Transactor').AsString;
            Edit7.Text:=dmmain.CDSexecsql.FieldByName('Shop_NO').AsString;
            Edit8.Text:=dmmain.CDSexecsql.FieldByName('proposer').AsString;
            Edit9.Text:=dmmain.CDSexecsql.FieldByName('Condense').AsString;
            Edit10.Text:=dmmain.CDSexecsql.FieldByName('Quality_Remark').AsString;
            Edit11.Text:=dmmain.CDSexecsql.FieldByName('stock_write_NO').AsString;
            wldwno:=dmmain.CDSexecsql.FieldByName('WLDW_no').AsString;
            dmmain.CDSexecsql.First;
            for k:=1 to dmmain.CDSexecsql.RecordCount do
            begin
              StringGrid1.Cells[1,k]:=trim(dmmain.CDSexecsql.FieldByName('Goods_NO').AsString);//商品编号
              StringGrid1.Cells[2,k]:=trim(dmmain.CDSexecsql.FieldByName('Goods_Name').AsString);//商品名称
              StringGrid1.Cells[3,k]:=trim(dmmain.CDSexecsql.FieldByName('Total_Amount').AsString);//商品编号
              StringGrid1.Cells[4,k]:=trim(dmmain.CDSexecsql.FieldByName('Regular_Amount').AsString);//商品名称
              StringGrid1.Cells[5,k]:=trim(dmmain.CDSexecsql.FieldByName('Un_Regular_Amount').AsString);//数量
              StringGrid1.Cells[7,k]:=trim(dmmain.CDSexecsql.FieldByName('type').AsString);//数量
              StringGrid1.Cells[6,k]:=trim(dmmain.CDSexecsql.FieldByName('Check_Remark').AsString); //类别名称
              StringGrid1.Cells[StringGrid1.ColCount-1,k]:=trim(dmmain.CDSexecsql.FieldByName('ORDERS').AsString); //类别名称
              StringGrid1.Cells[StringGrid1.ColCount-2,k]:=trim(dmmain.CDSexecsql.FieldByName('GoodsMemo').AsString); //类别名称
              dmmain.CDSexecsql.Next;
            end;
            GetDataPrint(dmmain.cdsprintmaster,dmmain.CDsexecsql);
        end;
end;

procedure Tfrm_Quality_Check.Cmd_AddClick(Sender: TObject);
var
    i:integer;
begin
    StringGrid1.RowCount:=StringGrid1.RowCount+1;
    Total_Count:=StringGrid1.RowCount;
    for i:=1 to StringGrid1.RowCount-1 do
    begin
        StringGrid1.Cells[0,i]:=IntTostr(i); //表示第0列第i行
    end;
end;

procedure Tfrm_Quality_Check.Cmd_DeleteClick(Sender: TObject);
var
    i:integer;
begin
    if StringGrid1.RowCount=2 then
    begin
        Exit;
    end;
    StringGrid1.RowCount:=StringGrid1.RowCount-1;
    Total_Count:=StringGrid1.RowCount;//表示行数

⌨️ 快捷键说明

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