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

📄 base_info.pas

📁 服装厂管理系统源程序压缩包, 请耐心阅读提供的文件包含的内容
💻 PAS
📖 第 1 页 / 共 2 页
字号:
        end;
      4:
        with ADOT_mat_type do
        begin
          if RecordCount<1 then exit;
          if State in [dsinsert,dsedit] then exit;
          temp_name:=fieldvalues['matype_name'];
          if MsgQst(handle,'确定删除物料类别  ['+temp_name+']  吗?') =IDNO then  exit;
          try
            delete;
          except
            MsgErr(handle,'当前数据在相关连的表中用到,不能删除!');
            exit;
          end;
        end;
      end;
end;

//数据表保存对记录的编辑
procedure TForm_base_info.save_rec;
var temp_name, info:string;
begin
      case TabSheet.ActivePageIndex of
      0:
        with ADOT_dep do
        begin
          if not (State in [dsinsert,dsedit]) then exit;
          temp_name:=trim(DBE_dep.Text);
          if temp_name='' then
          begin
            showmessage('部门名称不能为空!!!');
            DBE_dep.SetFocus;
            exit;
          end;
          if State in [dsinsert] then 
          if findRec('department','depname',temp_name,info) then
          begin
            MsgOK(handle,'该部门已存在,致数据不可更新!');
            DBE_dep.SetFocus;
            exit;
          end;
          if State in [dsedit] then
          begin
            if old_depname<>temp_name then
            if findRec('department','depname',temp_name,info) then
            begin
              MsgOK(handle,'该部门已存在,致数据不可更新!');
              DBE_dep.SetFocus;
              exit;
            end;
          end;
          try
            post;
          except
            MsgErr(handle,'部门信息操作失败!');
            exit;
          end;
        end;
      1:
        with ADOT_duty do
        begin
          if not (State in [dsinsert,dsedit]) then exit;
          temp_name:=trim(DBE_duty.Text);
          if temp_name='' then
          begin
            showmessage('职务名称不能为空!!!');
            DBE_duty.SetFocus;
            exit;
          end;
          if state in [dsinsert] then 
          if findRec('duty','dutyname',temp_name,info) then
          begin
            MsgOK(handle,'该职务已存在,致数据不可更新!');
            DBE_duty.SetFocus;
            exit;
          end;
          if state in [dsedit] then
          begin
            if temp_name<>old_dutyname then 
            if findRec('duty','dutyname',temp_name,info) then
            begin
              MsgOK(handle,'该职务已存在,致数据不可更新!');
              DBE_duty.SetFocus;
              exit;
            end;
          end;
          try
            post;
          except
            MsgErr(handle,'职务信息操作失败!');
            exit;
          end;
        end;
      2:
        with ADOQ_customer do
        begin
          if not (State in [dsinsert,dsedit]) then exit;
          temp_name:=trim(DBE_cust_name.Text);
          if temp_name='' then
          begin
            showmessage('客户名称不能为空!!!');
            DBE_cust_name.SetFocus;
            exit;
          end;
          if trim(DBE_person_name.Text)='' then
          begin
            showmessage('法人名称不能为空!!!');
            DBE_person_name.SetFocus;
            exit;
          end;

          if (state in [dsinsert]) and findRec('customer','cust_name',temp_name,info) then
          begin
            MsgOK(handle,'该客户已存在,致数据不可更新!');
            DBE_cust_name.SetFocus;
            exit;
          end;

          if (State in [dsedit]) and (temp_cust_name<>temp_name)
          and findRec('customer','cust_name',temp_name,info) then
          begin
            MsgOK(handle,'该客户已存在,致数据不可更新!');
            DBE_cust_name.SetFocus;
            exit;
          end;
          try
            post;
          except
            MsgErr(handle,'客户信息操作失败!');
            exit;
          end;
        end;
      3:
        with ADOT_clothing do
        begin
          if not (State in [dsinsert,dsedit]) then exit;
          temp_name:=trim(DBE_clo_name.Text);
          if temp_name='' then
          begin
            showmessage('服装类别名称不能为空!!!');
            DBE_clo_name.SetFocus;
            exit;
          end;
          if state in [dsinsert] then 
          if findRec('clothing','clo_name',temp_name,info) then
          begin
            MsgOK(handle,'该服装类别已存在,致数据不可更新!');
            DBE_clo_name.SetFocus;
            exit;
          end;
          if state in [dsedit] then
          begin
            if temp_name<>old_clotype then 
            if findRec('clothing','clo_name',temp_name,info) then
            begin
              MsgOK(handle,'该服装类别已存在,致数据不可更新!');
              DBE_clo_name.SetFocus;
              exit;
            end;
          end;
          try
            post;
          except
            MsgErr(handle,'服装类别信息操作失败!');
            exit;
          end;
        end;
      4:
        with ADOT_mat_type do
        begin
          if not (State in [dsinsert,dsedit]) then exit;
          temp_name:=trim(DBE_matype_name.Text);
          if temp_name='' then
          begin
            showmessage('物料类别名称不能为空!!!');
            DBE_matype_name.SetFocus;
            exit;
          end;
          if state in [dsinsert] then 
          if findRec('material_type','matype_name',temp_name,info) then
          begin
            MsgOK(handle,'该物料类别已存在,致数据不可更新!');
            DBE_matype_name.SetFocus;
            exit;
          end;
          if state in [dsedit] then
          begin
            if old_matype<>temp_name then
            if findrec('material_type','matype_name',temp_name,info) then
            begin
              msgok(handle,'该物料类别已存在,致数据不可更新!');
              dbe_matype_name.SetFocus;
              exit;
            end;
          end;
          try
            post;
          except
            MsgErr(handle,'物料类别信息操作失败!');
            exit;
          end;
        end;
      end;
end;

procedure TForm_Base_info.ToolBtn_addClick(Sender: TObject);
begin
  TabSheet.SetFocus;
  append_rec;
end;

procedure TForm_Base_info.ToolBtn_editClick(Sender: TObject);
begin
  edit_rec;
end;

procedure TForm_Base_info.ToolBtn_deleteClick(Sender: TObject);
begin
  delete_rec;
end;

procedure TForm_Base_info.ToolBtn_saveClick(Sender: TObject);
begin
  save_rec;
end;

procedure TForm_Base_info.ToolBtn_cancelClick(Sender: TObject);
begin
  cancel_rec;
end;

//显示对应物料是否需支付个人工资
procedure TForm_Base_info.ToolBtn_exitClick(Sender: TObject);
begin
  close;
end;

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

procedure TForm_Base_info.ADOT_depAfterEdit(DataSet: TDataSet);
begin
  old_depname:=DataSet.FieldValues['depname']
end;

procedure TForm_Base_info.ADOT_dutyAfterEdit(DataSet: TDataSet);
begin
  old_dutyname:=dataset.FieldValues['dutyname'];
end;

procedure TForm_Base_info.ADOT_clothingAfterEdit(DataSet: TDataSet);
begin
    old_clotype:=dataset.FieldValues['clo_name'];
end;

procedure TForm_Base_info.ADOT_mat_typeAfterEdit(DataSet: TDataSet);
begin
   old_matype:=dataset.FieldValues['matype_name'];
end;

procedure TForm_Base_info.FormShow(Sender: TObject);
begin
  show_tabsheet_caption;
end;

procedure TForm_Base_info.ADOQ_customerAfterEdit(DataSet: TDataSet);
begin
  temp_cust_name:=DataSet.fieldvalues['cust_name'];
end;

//部门记录状态改变响应的变化
procedure TForm_Base_info.DS_dep_TStateChange(Sender: TObject);
begin
  if (Sender as Tdatasource).DataSet.State in [dsinsert,dsedit] then
  begin
    dbgrid1.Enabled:=false;
    DBMemo_dep.ReadOnly:=false;
    DBMemo_dep.ParentColor:=false;
    DBMemo_dep.Color:=clwindow;
    ToolBtn_add.Enabled:=false;
    ToolBtn_edit.Enabled:=false;
    ToolBtn_delete.Enabled:=false;
    ToolBtn_save.Enabled:=true;
    ToolBtn_cancel.Enabled:=true;
    DBE_dep.ReadOnly:=false;
    DBE_dep.ParentColor:=false;
    DBE_dep.Color:=clwindow;
    DBE_dep.SetFocus; 
  end;
  
  if (Sender as Tdatasource).DataSet.State in [dsbrowse] then
  begin
    dbgrid1.Enabled:=true;
    DBE_dep.ReadOnly:=true;
    DBE_dep.ParentColor:=true;
    DBMemo_dep.ReadOnly:=true;
    DBMemo_dep.ParentColor:=true;
    ToolBtn_add.Enabled:=true;
    ToolBtn_edit.Enabled:=true;
    ToolBtn_delete.Enabled:=true;
    ToolBtn_save.Enabled:=false;
    ToolBtn_cancel.Enabled:=false;
  end;
end;

//职务记录状态变化时响应的变化
procedure TForm_Base_info.DS_duty_TStateChange(Sender: TObject);
begin
  if (Sender as Tdatasource).DataSet.State in [dsinsert,dsedit] then
  begin
    dbgrid2.Enabled:=false;
    DBMemo_duty.ReadOnly:=false;
    DBMemo_duty.ParentColor:=false;
    DBMemo_duty.Color:=clwindow;
    ToolBtn_add_1.Enabled:=false;
    ToolBtn_edit_1.Enabled:=false;
    ToolBtn_delete_1.Enabled:=false;
    ToolBtn_save_1.Enabled:=true;
    ToolBtn_cancel_1.Enabled:=true;
    DBE_duty.ReadOnly:=false;
    DBE_duty.ParentColor:=false;
    DBE_duty.Color:=clwindow;
    DBE_duty.SetFocus; 
  end;
  if (Sender as Tdatasource).DataSet.State in [dsbrowse] then
  begin
    dbgrid2.Enabled:=true;
    DBE_duty.ReadOnly:=true;
    DBE_duty.ParentColor:=true;
    DBMemo_duty.ReadOnly:=true;
    DBMemo_duty.ParentColor:=true;
    ToolBtn_add_1.Enabled:=true;
    ToolBtn_edit_1.Enabled:=true;
    ToolBtn_delete_1.Enabled:=true;
    ToolBtn_save_1.Enabled:=false;
    ToolBtn_cancel_1.Enabled:=false;
  end;
end;

//服装类别记录状态发生改变时响应的操作
procedure TForm_Base_info.DS_clothingStateChange(Sender: TObject);
begin
  if (Sender as Tdatasource).DataSet.State in [dsinsert,dsedit] then
  begin
    dbgrid4.Enabled:=false;
    DBMemo_cloth.ReadOnly:=false;
    DBMemo_cloth.ParentColor:=false;
    DBMemo_cloth.Color:=clwindow;
    ToolBtn_add_5.Enabled:=false;
    ToolBtn_edit_5.Enabled:=false;
    ToolBtn_delete_5.Enabled:=false;
    ToolBtn_save_5.Enabled:=true;
    ToolBtn_cancel_5.Enabled:=true;
    DBE_clo_name.ReadOnly:=false;
    DBE_clo_name.ParentColor:=false;
    DBE_clo_name.Color:=clwindow;
    DBE_clo_name.SetFocus; 
  end;
  if (Sender as Tdatasource).DataSet.State in [dsbrowse] then
  begin
    dbgrid4.Enabled:=true;
    DBE_clo_name.ReadOnly:=true;
    DBE_clo_name.ParentColor:=true;
    DBMemo_cloth.ReadOnly:=true;
    DBMemo_cloth.ParentColor:=true;
    ToolBtn_add_5.Enabled:=true;
    ToolBtn_edit_5.Enabled:=true;
    ToolBtn_delete_5.Enabled:=true;
    ToolBtn_save_5.Enabled:=false;
    ToolBtn_cancel_5.Enabled:=false;
  end;
end;

//物料类别记录表状态改变时所响应的更改
procedure TForm_Base_info.DS_mat_typeStateChange(Sender: TObject);
begin
  if (Sender as Tdatasource).DataSet.State in [dsinsert,dsedit] then
  begin
    dbgrid5.Enabled:=false;
    DBMemo_matype.ReadOnly:=false;
    DBMemo_matype.ParentColor:=false;
    DBMemo_matype.Color:=clwindow;
    ToolBtn_add_3.Enabled:=false;
    ToolBtn_edit_3.Enabled:=false;
    ToolBtn_delete_3.Enabled:=false;
    ToolBtn_save_3.Enabled:=true;
    ToolBtn_cancel_3.Enabled:=true;
    DBE_matype_name.ReadOnly:=false;
    DBE_matype_name.ParentColor:=false;
    DBE_matype_name.Color:=clwindow;
    DBE_matype_name.SetFocus; 
  end;
  if (Sender as Tdatasource).DataSet.State in [dsbrowse] then
  begin
    dbgrid5.Enabled:=true;
    DBE_matype_name.ReadOnly:=true;
    DBE_matype_name.ParentColor:=true;
    DBMemo_matype.ReadOnly:=true;
    DBMemo_matype.ParentColor:=true;
    ToolBtn_add_3.Enabled:=true;
    ToolBtn_edit_3.Enabled:=true;
    ToolBtn_delete_3.Enabled:=true;
    ToolBtn_save_3.Enabled:=false;
    ToolBtn_cancel_3.Enabled:=false;
  end;
end;

//对客户表操作时对应的控件的变化
procedure TForm_Base_info.DS_customerStateChange(Sender: TObject);
begin
  if (sender as Tdatasource).DataSet.state in [dsinsert,dsedit] then
  begin
    Edt_procince.ParentColor:=true;
    edt_custname.ParentColor:=true;
    edtname.ParentColor:=true;
    SearchBtn.Enabled:=false;
    Panel_search.Enabled:=false;
    Panel_detail.Enabled:=true;
    ToolBtn_add_2.Enabled:=false;
    ToolBtn_edit_2.Enabled:=false;
    ToolBtn_delete_2.Enabled:=false;
    ToolBtn_save_2.Enabled:=true;
    ToolBtn_cancel_2.Enabled:=true;
    DBE_cust_name.SetFocus;
  end;
  if (sender as Tdatasource).DataSet.state in [dsbrowse] then
  begin
    Panel_search.Enabled:=true;
    Edt_procince.ParentColor:=false;
    edt_procince.Color:=clwindow;
    edt_custname.ParentColor:=false;
    edt_custname.Color:=clwindow;
    edtname.ParentColor:=false;
    edtname.Color:=clwindow;
    SearchBtn.Enabled:=true;
    Panel_detail.Enabled:=false;
    ToolBtn_add_2.Enabled:=true;
    ToolBtn_edit_2.Enabled:=true;
    ToolBtn_delete_2.Enabled:=true;
    ToolBtn_save_2.Enabled:=false;
    ToolBtn_cancel_2.Enabled:=false;
  end;
end;

procedure TForm_Base_info.SearchBtnClick(Sender: TObject);
label gotosql;
var
  procince, name, custname, Strwhere:string;
begin
  procince:=trim(edt_procince.Text);
  name:=trim(edtname.Text);
  custname:=trim(edt_custname.Text);
  strwhere:='';
  if procince<>'' then
  begin
    strwhere:='where province like '+''''+'%'+procince+'%'+'''';
    if name<>'' then strwhere:=strwhere+' and person_name like '+''''+'%'+name+'%'+'''';
    if custname<>'' then strwhere:=strwhere+' and cust_name like '+''''+'%'+custname+'%'+'''';
    goto gotosql;
  end;
  if name<>'' then
  begin
    strwhere:='where person_name like '+''''+'%'+name+'%'+'''';
    if custname<>'' then strwhere:=strwhere+' and cust_name like '+''''+'%'+custname+'%'+'''';
    goto gotosql;
  end;
  if custname<>'' then strwhere:='where cust_name like '+''''+'%'+custname+'%'+'''';

  gotosql:
  with ADOQ_customer do
  begin
    close;
    sql.Strings[1]:=strwhere;
    open;
  end;
end;

end.

⌨️ 快捷键说明

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