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

📄 zl_ll.pas

📁 汽配前台收费,一个具有详细功能的小系统
💻 PAS
📖 第 1 页 / 共 2 页
字号:
  if MessageBox(Handle, '确实要取消该项自用吗?', '沈阳信德', MB_ICONQUESTION or MB_OKCANCEL) = ID_OK then begin
    sp_del_from_zy.ParamByName('@izy_iid').Value := qe_zy_gl.FieldByName('zy_iid').AsInteger;
    sp_del_from_zy.ParamByName('@ipj_sum').Value := qe_zy_gl.FieldByName('pj_sum').Value;
    sp_del_from_zy.ParamByName('@ipj_kind_id').Value := qe_zy_gl.FieldByName('pj_kind_id').AsString;
    sp_del_from_zy.ParamByName('@ipj_gg_id').Value := qe_zy_gl.FieldByName('pj_gg_id').AsString;
    sp_del_from_zy.ParamByName('@ipj_id').Value := qe_zy_gl.FieldByName('pj_id').AsString;
    sp_del_from_zy.ExecProc;
    //
    qe_zy_gl.Close;
    qe_zy_gl.Open;
    qe_zy_gl.First;
    //
    qe_pj_ck.Close;
    qe_pj_ck.Open;
    qe_pj_ck.First;
  end;
  //
  if (qe_zy_gl.Bof) and (qe_zy_gl.Eof) then begin
    cmd_del.Enabled := False;
    cmd_print.Enabled := False;
  end else begin
    cmd_del.Enabled := True;
    cmd_print.Enabled := True;
  end;
end;

procedure Tfrm_zy_ll.EditInit;
begin
  pe_pj_ck.Enabled := False;
  pe_select.Enabled := False;
  pe_pj_tk.Enabled := False;
  pe_tk_op.Enabled := False;
  //
  pe_image.Visible := False;
  pe_edit.Visible := True;
  //
  cmd_edit.Enabled := False;
  cmd_save.Enabled := False;
  cmd_cancel.Enabled := True;
  //
  txt_zy_time.Text := frm_log.controlDate(DateToStr(Date()));
  txt_pj_dj.Text := FloatToStr(qe_pj_ck.FieldByName('pj_jj').Value);
  txt_sum.Text := '';
  txt_lyr.Text := '';
  txt_zy_time.SetFocus;
  //
  qe_pj_ck.Edit;
end;

procedure Tfrm_zy_ll.SaveInit;
begin
  pe_pj_ck.Enabled := True;
  pe_select.Enabled := True;
  pe_pj_tk.Enabled := True;
  pe_tk_op.Enabled := True;
  //
  pe_image.Visible := True;
  pe_edit.Visible := False;
  //
  EnabledComponent(dsBrowse);
end;

procedure Tfrm_zy_ll.CancelInt;
begin
  qe_pj_ck.Cancel;
  //
  pe_pj_ck.Enabled := True;
  pe_select.Enabled := True;
  pe_pj_tk.Enabled := True;
  pe_tk_op.Enabled := True;
  //
  pe_image.Visible := True;
  pe_edit.Visible := False;
  //
  EnabledComponent(dsBrowse);
end;

function Tfrm_zy_ll.RuleCheck: integer;
var
  intResult: integer;
  strYear, strMonth, strDay: string;
  code, code1: integer;
  v, v1: Double;
begin
  intResult := 0;
  //
  strYear := Copy(Trim(txt_zy_time.EditText), 1, 4);
  strMonth := Copy(Trim(txt_zy_time.EditText), 6, 2);
  strDay := Copy(Trim(txt_zy_time.EditText), 9, 2);
  if (StrToInt(strYear) < 1980) or (StrToInt(strMonth) = 0) or (StrToInt(strDay) = 0) then begin
    MessageBox(Handle, '自用日期无效', '沈阳信德', MB_ICONQUESTION or MB_OK);
    txt_zy_time.SetFocus;
    intResult := 1;
  end else begin
    if Trim(txt_pj_dj.Text) = '' then begin
      MessageBox(Handle, '请确定自用单价', '沈阳信德', MB_ICONQUESTION or MB_OK);
      txt_pj_dj.SetFocus;
      intResult := 1;
    end else begin
      Val(Trim(txt_pj_dj.Text), v1, code1);
      if code1 <> 0 then begin
        MessageBox(Handle, '自用单价无效', '沈阳信德', MB_ICONQUESTION or MB_OK);
        txt_pj_dj.SetFocus;
        intResult := 1;
      end else begin
        if Trim(txt_sum.Text) = '' then begin
          MessageBox(Handle, '请确定自用数量', '沈阳信德', MB_ICONQUESTION or MB_OK);
          txt_sum.SetFocus;
          intResult := 1;
        end else begin
          Val(Trim(txt_sum.Text), v, code);
          if (code <> 0) or (v < 0.01) then begin
            MessageBox(Handle, '自用数量无效', '沈阳信德', MB_ICONQUESTION or MB_OK);
            txt_sum.SetFocus;
            intResult := 1;
          end else begin
            if Trim(txt_lyr.Text) = '' then begin
              MessageBox(Handle, '请确定领用人', '沈阳信德', MB_ICONQUESTION or MB_OK);
              txt_lyr.SetFocus;
              intResult := 1;
            end else begin
              v := Int(v) + Round((Frac(v)*100))/100;
              v1 := qe_pj_ck.FieldByName('pj_sum').Value;
              //
              if v > v1 then begin
                MessageBox(Handle, '自用数量不能大于库存数量', '沈阳信德', MB_ICONQUESTION or MB_OK);
                txt_sum.SetFocus;
                intResult := 1;
              end else begin
                v1 := v1 - v;
                if v1 < 0.01 then v1 := 0;
                qe_pj_ck.FieldByName('pj_sum').Value := v1;
              end;
            end;
          end;
        end;
      end;
    end;
  end;
  //
  Result := intResult;
end;

procedure Tfrm_zy_ll.cmd_editClick(Sender: TObject);
begin
  EditInit;
end;

procedure Tfrm_zy_ll.cmd_saveClick(Sender: TObject);
var
  intResult: integer;
  f_sum: Double;
begin
  intResult := RuleCheck;
  if intResult = 1 then
    Exit
  else if intResult = 0 then begin
    qe_pj_ck.Post;
    //
    f_sum := StrToFloat(Trim(txt_sum.Text));
    f_sum := Int(f_sum) + Round((Frac(f_sum)*100))/100;
    //
    sp_insert_into_zy.ParamByName('@izy_time').AsString := Trim(txt_zy_time.EditText);
    sp_insert_into_zy.ParamByName('@ipj_kind_id').AsString := Trim(qe_pj_ck.FieldByName('pj_kind_id').AsString);
    sp_insert_into_zy.ParamByName('@ipj_gg_id').AsString := Trim(qe_pj_ck.FieldByName('pj_gg_id').AsString);
    sp_insert_into_zy.ParamByName('@ipj_id').AsString := Trim(qe_pj_ck.FieldByName('pj_id').AsString);
    sp_insert_into_zy.ParamByName('@ipj_kind').AsString := Trim(qe_pj_ck.FieldByName('pj_kind').AsString);
    sp_insert_into_zy.ParamByName('@ipj_gg').AsString := Trim(qe_pj_ck.FieldByName('pj_gg').AsString);
    sp_insert_into_zy.ParamByName('@ipj_name').AsString := Trim(qe_pj_ck.FieldByName('pj_name').AsString);
    sp_insert_into_zy.ParamByName('@ipj_unit').AsString := Trim(qe_pj_ck.FieldByName('pj_unit').AsString);
    sp_insert_into_zy.ParamByName('@ipj_sum').Value := f_sum;
    sp_insert_into_zy.ParamByName('@ipj_lyr').Value := Trim(txt_lyr.Text);
    sp_insert_into_zy.ParamByName('@ipj_dj').Value := StrToFloat(Trim(txt_pj_dj.Text));
    sp_insert_into_zy.ParamByName('@iedit_type').AsInteger := 1;
    sp_insert_into_zy.ExecProc;
    //
    qe_zy_gl.Close;
    qe_zy_gl.Open;
    qe_zy_gl.Last;
    //
    cmd_del.Enabled := True;
    cmd_print.Enabled := True;
  end;
  //
  SaveInit;
end;

procedure Tfrm_zy_ll.cmd_cancelClick(Sender: TObject);
begin
  CancelInt;
end;

procedure Tfrm_zy_ll.cmd_delClick(Sender: TObject);
begin
  ExeDelandInit;
end;

procedure Tfrm_zy_ll.FormShow(Sender: TObject);
begin
  frm_main.mu_yw_gl_zy_ll.Enabled := False;
  //
  frm_main.current_handle := Handle;
  //
  arrayInit;
  lstInfoInit;
end;

procedure Tfrm_zy_ll.FormClose(Sender: TObject; var Action: TCloseAction);
begin
  Action := caFree;
end;

procedure Tfrm_zy_ll.FormCloseQuery(Sender: TObject;
  var CanClose: Boolean);
begin
  CanClose := True;
  //
  if (qe_pj_ck.State = dsEdit) then begin
    if cmd_save.Enabled then begin
      MessageBox(Handle, '正在领料过程中,不能关闭窗体', '沈阳信德', MB_ICONQUESTION or MB_OK);
      CanClose := False;
      Exit;
    end;
  end;
  //
  if CanClose then begin
    sp_update_mode_for_zy.ExecProc;
    //
    qe_pj_ck.Close;
    qe_zy_gl.Close;
    qe_kind.Close;
    qe_gg.Close;
    qe_pj.Close;
    //
    frm_main.mu_yw_gl_zy_ll.Enabled := True;
    frm_main.current_handle := 0;
    //
    frm_main.Tag := 1; //标识窗体能否关闭; 1-能关闭;2-不能关闭;
  end;
end;

procedure Tfrm_zy_ll.FormDestroy(Sender: TObject);
begin
  qe_pj_ck := nil;
  qe_zy_gl := nil;
  qe_kind := nil;
  qe_gg := nil;
  qe_pj := nil;
  //
  frm_zy_ll := nil;
end;

procedure Tfrm_zy_ll.cmd_queryClick(Sender: TObject);
var
  str_id, str_name: string;
begin
  if (Trim(txt_kind.Text) = '') or (hideList[1].ItemIndex = -1) then begin
    MessageBox(Handle, '请确定配件类型', '沈阳信德', MB_ICONQUESTION or MB_OK);
    txt_kind.SetFocus;
    Exit;
  end else begin
    str_id := Copy(hideList[1].Items[hideList[1].ItemIndex], 1, 20);
    str_name := Copy(hideList[1].Items[hideList[1].ItemIndex], 21, 60);
    if Trim(str_name) <> Trim(txt_kind.Text) then begin
      MessageBox(Handle, '配件类型不完整', '沈阳信德', MB_ICONQUESTION or MB_OK);
      txt_kind.SetFocus;
      Exit;
    end else begin
      if (Trim(txt_gg.Text) = '') or (hideList[2].ItemIndex = -1) then begin
        MessageBox(Handle, '请确定配件规格', '沈阳信德', MB_ICONQUESTION or MB_OK);
        txt_gg.SetFocus;
        Exit;
      end else begin
        if Trim(str_id) <> Trim(qe_gg.ParamByName('ipj_kind_id').Value) then begin
          MessageBox(Handle, '配件规格与配件类型不一致', '沈阳信德', MB_ICONQUESTION or MB_OK);
          txt_kind.SetFocus;
          Exit;
        end else begin
          str_name := Copy(hideList[2].Items[hideList[2].ItemIndex], 21, 60);
          if Trim(str_name) <> Trim(txt_gg.Text) then begin
            MessageBox(Handle, '配件规格不完整', '沈阳信德', MB_ICONQUESTION or MB_OK);
            txt_gg.SetFocus;
            Exit;
          end else begin
            if (Trim(txt_pj.Text) = '') or (hideList[3].ItemIndex = -1) then begin
              MessageBox(Handle, '请确定配件名称', '沈阳信德', MB_ICONQUESTION or MB_OK);
              txt_pj.SetFocus;
              Exit;
            end else begin
              str_name := Copy(hideList[3].Items[hideList[3].ItemIndex], 21, 60);
              if Trim(str_name) <> Trim(txt_pj.Text) then begin
                MessageBox(Handle, '配件名称不完整', '沈阳信德', MB_ICONQUESTION or MB_OK);
                txt_pj.SetFocus;
                Exit;
              end else begin
                qe_pj_ck.Close;
                qe_pj_ck.ParamByName('ipj_kind').AsString := Trim(Copy(hideList[1].Items[hideList[1].ItemIndex], 1, 20));
                qe_pj_ck.ParamByName('ipj_gg').AsString := Trim(Copy(hideList[2].Items[hideList[2].ItemIndex], 1, 20));
                qe_pj_ck.ParamByName('ipj_name').AsString := Trim(Copy(hideList[3].Items[hideList[3].ItemIndex], 1, 20));
                qe_pj_ck.Open;
                qe_pj_ck.First;
                if (qe_pj_ck.Bof) and (qe_pj_ck.Eof) then begin
                  MessageBox(Handle, '现库存中不存在此类型的配件', '沈阳信德', MB_ICONQUESTION or MB_OK);
                  qe_pj_ck.Close;
                  cmd_edit.Enabled := False;
                  cmd_save.Enabled := False;
                  cmd_cancel.Enabled := False;
                  txt_kind.SetFocus;
                  Exit;
                end else begin
                  EnabledComponent(dsBrowse);
                end;
              end;
            end;
          end;
        end;
      end;
    end;
  end;        
end;

procedure Tfrm_zy_ll.cmd_printClick(Sender: TObject);
begin
  combo_p.Items.Clear;
  combo_p.items.Assign(Printer.Printers);
  if combo_p.Items.Count = 0 then begin
    MessageBox(Handle, '没有可用的打印机,请添加打印机', '沈阳信德', MB_ICONQUESTION or MB_OK);
    Exit;
  end;
  //
  frm_print.lbl_date15.Caption := frm_log.controlDate(DateToStr(Date()));
  frm_print.qr_zy_ll.DataSet := qe_zy_gl;
  frm_print.txt_kind15.DataSet := qe_zy_gl;
  frm_print.txt_id15.DataSet := qe_zy_gl;
  frm_print.txt_gg15.DataSet := qe_zy_gl;
  frm_print.txt_name15.DataSet := qe_zy_gl;
  frm_print.txt_sum15.DataSet := qe_zy_gl;
  frm_print.txt_unit15.DataSet := qe_zy_gl;
  frm_print.txt_lyr15.DataSet := qe_zy_gl;
  frm_print.qr_zy_ll.Print;
end;

procedure Tfrm_zy_ll.b1Click(Sender: TObject);
begin
  hideList[1].Visible := True;
end;

procedure Tfrm_zy_ll.b2Click(Sender: TObject);
begin
  hideList[2].Visible := True;
end;

procedure Tfrm_zy_ll.b3Click(Sender: TObject);
begin
  hideList[3].Visible := True;
end;

end.

⌨️ 快捷键说明

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