📄 zl_ll.pas
字号:
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 + -