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

📄 fin_product_ck.pas

📁 服装厂管理系统源程序压缩包, 请耐心阅读提供的文件包含的内容
💻 PAS
📖 第 1 页 / 共 2 页
字号:
    parameters.ParamValues['ord_id']:=ord_id;
    parameters.ParamValues['tmp_id']:=tmp_id;
    parameters.ParamValues['num']:=num;
    
    //确保数据的安全性Start
    if num=null then num:=0;
    if size_1=null then size_1:=0;
    if size_2=null then size_2:=0;
    if size_3=null then size_3:=0;
    if size_4=null then size_4:=0;
    if size_5=null then size_5:=0;
    if size_6=null then size_6:=0;
    /////////////////////End
    
    parameters.ParamValues['size_1']:=size_1;
    parameters.ParamValues['size_2']:=size_2;
    parameters.ParamValues['size_3']:=size_3;
    parameters.ParamValues['size_4']:=size_4;
    parameters.ParamValues['size_5']:=size_5;
    parameters.ParamValues['size_6']:=size_6;
    try
      execsql;
    except
      if datamod.ADOCon.InTransaction then datamod.ADOCon.RollbackTrans;
      MsgErr(handle,'服装成品出库处理失败--1!');
      finck_flag:=false; exit;
    end;
  end;//1.End
  
  //2.更新成品库存表的库存量
  with ADOQ_tmp do
  begin
    close; sql.clear;
    sql.Add('update kc_fin_product set num=num-:num, size_1=size_1-:size_1, size_2=size_2-:size_2,');
    sql.Add('size_3=size_3-:size_3, size_4=size_4-:size_4, size_5=size_5-:size_5, size_6=size_6-:size_6');
    sql.add('where (ord_id=:ord_id)');
    parameters.ParamValues['ord_id']:=ord_id;
    parameters.ParamValues['num']:=num;
    parameters.ParamValues['size_1']:=size_1;
    parameters.ParamValues['size_2']:=size_2;
    parameters.ParamValues['size_3']:=size_3;
    parameters.ParamValues['size_4']:=size_4;
    parameters.ParamValues['size_6']:=size_6;
    parameters.ParamValues['size_5']:=size_5;
    try
      execsql;
    except
      if datamod.ADOCon.InTransaction then datamod.ADOCon.RollbackTrans;
      MsgErr(handle,'服装成品出库处理失败--2!');
      finck_flag:=false; exit;
    end;
  end;//2.End

	//3.企业收入流水账中新增一条记录
  with ADOQ_tmp do
  begin
    close;sql.clear;
    sql.add('INSERT INTO earning(event, [money], tmp_id)');
    sql.add(' values(:event, :money, :tmp_id)');
    parameters.ParamValues['event']:='订单批号:'+ord_id+'的服装出库'+inttostr(num)+'件';;
    parameters.ParamValues['tmp_id']:=tmp_id;
    parameters.ParamValues['money']:=money;
    try
      execsql;
    except
      if datamod.ADOCon.InTransaction then datamod.ADOCon.RollbackTrans;
      MsgErr(handle,'服装成品销售出库处理失败--3!');
      finck_flag:=false; exit;
    end;
  end;//3.End

  if not finck_flag then
  begin
      msgErr(handle,'服装成品 ['+costume_name+'] 出库 '+inttostr(num)+' '+tmp_unit+'失败,请重试--All!');
      if datamod.ADOCon.InTransaction then datamod.ADOCon.RollbackTrans;
      exit;
  end;
  //提交数据库
  if finck_flag then 
  if datamod.ADOCon.InTransaction then
  begin
    try
      datamod.ADOCon.CommitTrans;
    except
      msgErr(handle,'服装成品 ['+costume_name+'] 出库 '+inttostr(num)+' '+tmp_unit+'失败,请重试--All!');
      if datamod.ADOCon.InTransaction then datamod.ADOCon.RollbackTrans;
      exit;
    end;
    msgok(handle,'服装成品 ['+costume_name+'] 出库 '+inttostr(num)+' '+tmp_unit+'成功!');
    //初始化数据值
    begin
    Edit_num.Text:='0';
    Edit_S.Text:='0';
    Edit_M.Text:='0';
    Edit_L.Text:='0';
    Edit_XL.Text:='0';
    Edit_XXL.Text:='0';
    Edit_XXXL.Text:='0';
    end;
  end;
//********************************************
//********************************************
//********************************************

  //CALL DATABASE Pro_CK_FinKC STORE PROCEDURE
  //@ord_id varchar(10), @tmp_id int, @num int, @size_1 int,@size_2 int,@size_3 int,@size_4 int,@size_5 int,@size_6 int
{
  with ADOSP_CK_FinKC do
  begin
    parameters.paramvalues['@ord_id']:=ord_id;
    parameters.paramvalues['@tmp_id']:=tmp_id;
    parameters.paramvalues['@num']:=num;
    parameters.paramvalues['@size_1']:=size_1;
    parameters.paramvalues['@size_2']:=size_2;
    parameters.paramvalues['@size_3']:=size_3;
    parameters.paramvalues['@size_4']:=size_4;
    parameters.paramvalues['@size_5']:=size_5;
    parameters.paramvalues['@size_6']:=size_6;
    parameters.paramvalues['@event']:='订单批号:'+ord_id+'的服装出库'+inttostr(num)+'件';
    try
      execproc;
    except
      showmessage('存储过程执行失败(Pro_CK_FinKC),请重新操作!');
      exit;
    end;
    if parameters.paramvalues['@RETURN_VALUE']=0 then
    begin
      msgErr(handle,'服装成品 [ '+costume_name+' ] 出库  '+inttostr(num)+'  '+tmp_unit+'失败,请重试!');
      exit;
    end;
    if parameters.paramvalues['@RETURN_VALUE']=1 then
    msgok(handle,'服装成品 [ '+costume_name+' ] 出库  '+inttostr(num)+'  '+tmp_unit+'成功!');
  end;
  //初始化数据值
  begin
    Edit_num.Text:='';
    Edit_S.Text:='';
    Edit_M.Text:='';
    Edit_L.Text:='';
    Edit_XL.Text:='';
    Edit_XXL.Text:='';
    Edit_XXXL.Text:='';
  end;      }
end;

procedure TForm_Fin_Product_CK.LocateBtnClick(Sender: TObject);
var
tmpdatetime:Tdatetime;
begin
  if not panel5.Visible then
  begin
    panel5.Enabled:=true;
    panel5.Visible:=true;

    //得到出库日期
    GetHostDateTime(datamod.ADOCon,tmpdatetime);
    edate.DateTime:=tmpdatetime;
    DBLookup_ordid.Text:='';
    DBLookup_custname.text:='';
    DBLookup_cloth.ItemIndex:=0;
    Lookup_costume.text:='';
    DBLookup_operid.ItemIndex:=0;
    edit1.Clear; edit2.Clear;
    ExtBtn.Cancel:=false;
    CancelBtn.cancel:=true;
  end;
end;

procedure TForm_Fin_Product_CK.CancelBtnClick(Sender: TObject);
begin
    panel5.Visible:=false;
    panel5.Enabled:=false;
    ExtBtn.Cancel:=true;
    CancelBtn.cancel:=false;
end;

procedure TForm_Fin_Product_CK.OKBtnClick(Sender: TObject);
var
tmpnum, ordid, custname, clothing,
costume, tmp_operid, strwhere: string;
begin
  ordid:=trim(DBLookup_ordid.text);
  custname:=trim(DBLookup_custname.text);
  clothing:=trim(DBLookup_cloth.text);
  costume:=trim(Lookup_costume.text);
  tmp_operid:=trim(DBLookup_operid.Text);

  tmpnum:=Getquery_char(ComboBox1.Text,trim(Edit1.Text),trim(ComboBox2.Text),ComboBox3.Text,trim(Edit2.Text),'num');

  //得到查询的条件语句
  begin
        strwhere:='where (ckdate between :TmpStart and :TmpEnd )';
        if ordid<>'' then
        strwhere:=strwhere+' and (ord_id = '+''''+ordid+''''+')';
        if custname<>'' then
        strwhere:=strwhere+' and (cust_name = '+''''+custname+''''+')';
        if clothing<>'' then
        strwhere:=strwhere+' and (clo_name = '+''''+clothing+''''+')';
        if costume<>'' then
        strwhere:=strwhere+' and (costume_name = '+''''+costume+''''+')';
        if tmp_operid<>'' then
        strwhere:=strwhere+' and (opername = '+''''+tmp_operid+''''+')';
        strwhere:=strwhere + tmpnum;
  end;

  with ADOV_CK_Fin do
  begin
      try
         close;
         sql.Strings[1]:=strwhere;
         sql.Strings[2]:='order by clo_name,cust_name,ord_id,ckdate desc';
         parameters.ParamValues['TmpStart']:=strtodatetime(formatdatetime('yyyy-mm-dd',sdate.Date)+' 00:00:00');
         parameters.ParamValues['TmpEnd']:=strtodatetime(formatdatetime('yyyy-mm-dd',edate.Date)+' 23:59:59');
         execsql;
         open;
      except
         MsgErr(handle,'数据库检索失败(Fin_product_CK_Q)!');
         refreshdb;
         exit;
      end;
      BtnExport.Enabled:=recordcount>0;
  end;
  panel5.Visible:=false;
  panel5.Enabled:=false;
  ExtBtn.Cancel:=true;
  CancelBtn.cancel:=false;
end;

procedure TForm_Fin_Product_CK.BitBtn1Click(Sender: TObject);
begin
  if not ADOV_CK_Fin.Active then exit;
  refreshdb;
end;

procedure TForm_Fin_Product_CK.PageControl1Change(Sender: TObject);
begin
  if pagecontrol1.ActivePageIndex=0 then
  begin
    if ADOV_CK_Fin.Active then ADOV_CK_Fin.close;
    Edit_num.Text:='0';
    Edit_S.Text:='0';   Edit_M.Text:='0';
    Edit_L.Text:='0';   Edit_XL.Text:='0';
    Edit_XXL.Text:='0'; Edit_XXXL.Text:='0';
  end;
end;

procedure TForm_Fin_Product_CK.FormShow(Sender: TObject);
begin
  with adoQ_tmp do
  begin
    close; sql.Clear;
    sql.Add('select ord_id,costume_name from order_msg');
    open; First;
    DBLookup_ordid.Clear;
    Lookup_costume.Clear;
    DBLookup_ordid.Items.Add(' ');
    Lookup_costume.Items.Add(' ');
    while not eof do
    begin
      DBLookup_ordid.Items.Add(fieldvalues['ord_id']);
      Lookup_costume.Items.Add(fieldvalues['costume_name']);
      next;
    end;

    close; sql.Clear;
    sql.Add('select cust_name from customer');
    open ; First;
    DBLookup_custname.Items.Clear;
    DBLookup_custname.Items.Add(' ');
    while not eof do
    begin
      DBLookup_custname.Items.Add(fieldvalues['cust_name']);
      next;
    end;

    close; sql.Clear;
    sql.Add('select clo_name from clothing');
    open ; First;
    DBLookup_cloth.Items.Clear;
    DBLookupComboBox1.Items.Clear;
    DBLookup_cloth.Items.Add(' ');
    DBLookupComboBox1.Items.Add(' ');
    while not eof do
    begin
      DBLookup_cloth.Items.Add(fieldvalues['clo_name']);
      DBLookupComboBox1.Items.Add(fieldvalues['clo_name']);
      next;
    end;
    close;sql.Clear;
    sql.Add('select opername from operator');
    open; first;
    DBLookup_operid.Clear;
    DBLookup_operid.Items.Add(' ');
    while not eof do
    begin
      DBLookup_operid.Items.Add(fieldvalues['opername']);
      next;
    end;
    close;
  end;
end;

//使用服装类别过滤服装库存信息
procedure TForm_Fin_Product_CK.DBLookupComboBox1Change(Sender: TObject);
begin
  DBLookupComboBox1.Text:=trim(DBLookupComboBox1.Text);
  with ADOV_KC_Fin do
  begin
    close;
    if trim(DBLookupComboBox1.Text)='' then
    begin
       SQL.Strings[1]:='';
       open; exit;
    end;
    SQL.Strings[1]:='where clo_name ='+''''+trim(DBLookupComboBox1.Text)+'''';
    execsql; open;
  end;
end;

procedure TForm_Fin_Product_CK.Edit1KeyPress(Sender: TObject;
  var Key: Char);
begin
  if not (key in ['0'..'9',#13, #8]) then abort;
end;

procedure TForm_Fin_Product_CK.Edit3KeyPress(Sender: TObject;
  var Key: Char);
begin
  if key=chr(13) then Bit_Ser2.Click;
end;

procedure TForm_Fin_Product_CK.Bit_Ser2Click(Sender: TObject);
begin
  edit3.Text:=trim(edit3.Text);
  if edit3.Text='' then begin edit3.SetFocus;exit;end;
  //查找对应的订单信息
  with ADOV_KC_Fin do
  begin
    close;
    sql.Strings[1]:='costume_name like '+''''+'%'+edit3.Text+'%'+'''';
    open;
    if recordcount<0 then
    begin
      MsgErr(handle,'没找到服装名称为  ['+edit3.Text+']  的库存订单!');
      edit3.SetFocus;
    end;
  end;
end;

procedure TForm_Fin_Product_CK.BtnexportClick(Sender: TObject);
begin
  Form_main.WriteIntoExcel(DBGrid2,datetostr(date),'成品出库信息报表');
end;

end.


⌨️ 快捷键说明

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