📄 uyjtj.~pas
字号:
end;
//减员明细
repaint;
dfmMain.dbsMain.Commit;
dfmMain.dbsMain.StartTransaction;
//人员增减变动
stpZJBD.UnPrepare;
stpZJBD.ParamByName('p_DWID').AsString :=
FieldByName('DWID').AsString;
stpZJBD.Prepare;
stpZJBD.ExecProc;
if stpZJBD.ParamByName('P_ErrorCode').AsInteger = 0 then
begin
pShowPanelHint(FieldByName('DWMC').AsString +
'增减变动已经统计完毕');
Beep;
end
else
begin
gfShowError(PChar(stpZJBD.ParamByName('P_Errortext').AsString));
Beep;
end;
repaint;
dfmMain.dbsMain.Commit;
// dfmMain.dbsMain.StartTransaction;
//
// //历次发放记录
// stpYFHJ.UnPrepare;
// stpYFHJ.ParamByName('p_DWID').AsString := strDWID;
// stpYFHJ.Prepare;
// stpYFHJ.ExecProc;
// if stpYFHJ.ParamByName('P_ErrorCode').AsInteger = 0 then
// begin
// pShowPanelHint(FieldByName('DWMC').AsString +
// '历次发放记录已经统计完毕');
// Beep;
// end
// else
// begin
// gfShowError(PChar(stpYFHJ.ParamByName('P_Errortext').AsString));
// Beep;
// end;
// repaint;
//
// dfmMain.dbsMain.Commit;
Next;
end;
finally
Free;
end
else
begin
if strDWID = '' then
begin
gfShowOK('请选择单位');
Abort;
end;
dfmMain.dbsMain.StartTransaction;
//一次性待遇明细
stpYCXDY.UnPrepare;
stpYCXDY.ParamByName('p_DWID').AsString := strDWID;
stpYCXDY.Prepare;
stpYCXDY.ExecProc;
if stpYCXDY.ParamByName('P_ErrorCode').AsInteger = 0 then
begin
pShowPanelHint('一次性待遇已经统计完毕');
Beep;
end
else
begin
gfShowError(PChar(stpYCXDY.ParamByName('P_Errortext').AsString));
Beep;
end;
repaint;
//待遇明细
stpDYMX.UnPrepare;
stpDYMX.ParamByName('P_DWID').AsString := strDWID;
stpDYMX.Prepare;
stpDYMX.ExecProc;
if stpDYMX.ParamByName('P_ErrorCode').AsInteger = 0 then
begin
pShowPanelHint('待遇明细已经统计完毕');
Beep;
end
else
begin
gfShowError(PChar(stpDYMX.ParamByName('P_Errortext').AsString));
Beep;
end;
repaint;
//待遇支付
stpZFMX.UnPrepare;
stpZFMX.ParamByName('p_DWID').AsString := strDWID;
stpZFMX.Prepare;
stpZFMX.ExecProc;
if stpZFMX.ParamByName('P_ErrorCode').AsInteger = 0 then
begin
pShowPanelHint('待遇支付已经统计完毕');
Beep;
end
else
begin
gfShowError(PChar(stpZFMX.ParamByName('P_Errortext').AsString));
Beep;
end;
repaint;
//待遇调整信息
stpLCDYTZ.UnPrepare;
stpLCDYTZ.Params[0].AsString := strDWID;
stpLCDYTZ.Prepare;
stpLCDYTZ.ExecProc;
if stpLCDYTZ.ParamByName('P_ErrorCode').AsInteger = 0 then
begin
pShowPanelHint('历次待遇调整已经统计完毕');
Beep;
end
else
begin
gfShowError('历次待遇调整出错');
Beep;
end;
//减员明细
repaint;
//人员增减变动
stpZJBD.UnPrepare;
stpZJBD.ParamByName('p_DWID').AsString := strDWID;
stpZJBD.Prepare;
stpZJBD.ExecProc;
if stpZJBD.ParamByName('P_ErrorCode').AsInteger = 0 then
begin
pShowPanelHint('增减变动已经统计完毕');
Beep;
end
else
begin
gfShowError(PChar(stpZJBD.ParamByName('P_Errortext').AsString));
Beep;
end;
repaint;
//历次发放记录
stpYFHJ.UnPrepare;
stpYFHJ.ParamByName('p_DWID').AsString := strDWID;
stpYFHJ.Prepare;
stpYFHJ.ExecProc;
if stpYFHJ.ParamByName('P_ErrorCode').AsInteger = 0 then
begin
pShowPanelHint('历次发放记录已经统计完毕');
Beep;
end
else
begin
gfShowError(PChar(stpYFHJ.ParamByName('P_Errortext').AsString));
Beep;
end;
repaint;
dfmMain.dbsMain.Commit;
//重新刷新
Show;
qryTemp.Open;
if PageControl1.ActivePageIndex = 4 then
begin
qryTemp.Fields[0].Visible := False;
qryFFYF.Open;
end;
end;
end;
procedure TfrmYJTJ.DataOut(path, dwid: string);
var
qryOut: TQuery;
FileName: string;
begin
//Path带有\
with TQuery.Create(Self) do
try
DataBaseName := dfmMain.dbsMain.DatabaseName;
SQL.Add('SELECT tDMB.DMMC,tDWXX.DWDM,RTrim(tDWXX.DWMC) "TDWMC" FROM TDWXX,tDMB WHERE tDMB.ZDBZ=''SSHY'' and tDMB.DM=tDWXX.SSHY and tDWXX.DWID=''' +
DWID + '''');
Open;
Path := Path
+ '\' + FieldByName('DMMC').AsString
// + '\' + FieldByName('TDWMC').AsString
;
FileName := '\' + FieldByName('DWDM').AsString + '_' +
FieldByName('TDWMC').AsString;
Close;
finally
Free;
end;
if not DirectoryExists(path) then
if not CreateDir(path) then
raise Exception.Create('不能创建目录' + path);
qryOut := TQuery.Create(Self);
try
qryOut.DataBaseName := dfmMain.dbsMain.DatabaseName;
{
qryOut.SQL.Add('SELECT DWDM,RTrim(DWMC) "TDWMC" FROM TDWXX WHERE DWID=''' +
DWID + '''');
qryOut.Open;
FileName := '\' + qryOut.FieldByName('DWDM').AsString + '_' +
qryOut.FieldByName('TDWMC').AsString;
qryOut.Close;
qryOut.SQL.Clear;
}
//1。人员增减表
QExport.FileName := path + FileName + '_人员增减表.xls';
qryOut.SQL.Add('select');
qryOut.SQL.Add(' to_char(YJRQ,''yyyymm'') as "时间",');
qryOut.SQL.Add(' LX_QC as "期初离休人数",');
qryOut.SQL.Add(' LGR_QC as "期初老工人人数",');
qryOut.SQL.Add(' TX_QC as "期初退休人数",');
qryOut.SQL.Add(' TZ_QC as "期初退职人数",');
qryOut.SQL.Add(' HJ_QC as "期初合计人数",');
qryOut.SQL.Add(' LX_ZJ as "增加离休人数",');
qryOut.SQL.Add(' LGR_ZJ as "增加老工人人数",');
qryOut.SQL.Add(' TX_ZJ as "增加退休人数",');
qryOut.SQL.Add(' TZ_ZJ as "增加退职人数",');
qryOut.SQL.Add(' HJ_ZJ as "增加合计人数",');
qryOut.SQL.Add(' LX_JS as "减少离休人数",');
qryOut.SQL.Add(' LGR_JS as "减少老工人人数",');
qryOut.SQL.Add(' TX_JS as "减少退休人数",');
qryOut.SQL.Add(' TZ_JS as "减少退职人数",');
qryOut.SQL.Add(' HJ_JS as "减少合计人数",');
qryOut.SQL.Add(' LX_QM as "期末离休人数",');
qryOut.SQL.Add(' LGR_QM as "期末老工人人数",');
qryOut.SQL.Add(' TX_QM as "期末退休人数",');
qryOut.SQL.Add(' TZ_QM as "期末退职人数",');
qryOut.SQL.Add(' HJ_QM as "期末合计人数"');
qryOut.SQL.Add('from tREP_DWZJBD');
qryOut.SQL.Add('where dwid=''' + DWID + '''');
qryOut.SQL.Add('ORDER BY YJRQ');
qryOut.Open;
QExport.Dataset := qryOut;
QExport.ColumnsWidth.Clear;
QExport.ColumnsWidth.Add('时间=7');
QExport.ColumnsWidth.Add('期初离休人数=5');
QExport.ColumnsWidth.Add('期初老工人人数=5');
QExport.ColumnsWidth.Add('期初退休人数=5');
QExport.ColumnsWidth.Add('期初退职人数=5');
QExport.ColumnsWidth.Add('期初合计人数=5');
QExport.ColumnsWidth.Add('增加离休人数=5');
QExport.ColumnsWidth.Add('增加老工人人数=5');
QExport.ColumnsWidth.Add('增加退休人数=5');
QExport.ColumnsWidth.Add('增加退职人数=5');
QExport.ColumnsWidth.Add('增加合计人数=5');
QExport.ColumnsWidth.Add('减少离休人数=5');
QExport.ColumnsWidth.Add('减少老工人人数=5');
QExport.ColumnsWidth.Add('减少退休人数=5');
QExport.ColumnsWidth.Add('减少退职人数=5');
QExport.ColumnsWidth.Add('减少合计人数=5');
QExport.ColumnsWidth.Add('期末离休人数=5');
QExport.ColumnsWidth.Add('期末老工人人数=5');
QExport.ColumnsWidth.Add('期末退休人数=5');
QExport.ColumnsWidth.Add('期末退职人数=5');
QExport.ColumnsWidth.Add('期末合计人数=5');
QExport.UserFormats.Clear;
QExport.UserFormats.Add('期初离休人数=#');
QExport.UserFormats.Add('期初老工人人数=#');
QExport.UserFormats.Add('期初退休人数=#');
QExport.UserFormats.Add('期初退职人数=#');
QExport.UserFormats.Add('期初合计人数=#');
QExport.UserFormats.Add('增加离休人数=#');
QExport.UserFormats.Add('增加老工人人数=#');
QExport.UserFormats.Add('增加退休人数=#');
QExport.UserFormats.Add('增加退职人数=#');
QExport.UserFormats.Add('增加合计人数=#');
QExport.UserFormats.Add('减少离休人数=#');
QExport.UserFormats.Add('减少老工人人数=#');
QExport.UserFormats.Add('减少退休人数=#');
QExport.UserFormats.Add('减少退职人数=#');
QExport.UserFormats.Add('减少合计人数=#');
QExport.UserFormats.Add('期末离休人数=#');
QExport.UserFormats.Add('期末老工人人数=#');
QExport.UserFormats.Add('期末退休人数=#');
QExport.UserFormats.Add('期末退职人数=#');
QExport.UserFormats.Add('期末合计人数=#');
QExport.Execute;
//2.一次性待遇明细
QExport.FileName := path + FileName + '_一次性待遇明细.xls';
qryOut.Close;
qryOut.SQL.Clear;
qryOut.SQL.Add('select');
qryOut.SQL.Add(' to_char(YJRQ,''yyyymm'') as "月结日期",');
qryOut.SQL.Add(' LTXSWRS as "离退休死亡人数",');
qryOut.SQL.Add(' ZZSWRS as "在职死亡人数",');
qryOut.SQL.Add(' ZCRS as "个人帐户转出人数",');
qryOut.SQL.Add(' TZHRS as "退个人帐户人数",');
qryOut.SQL.Add(' HJRS as "合计人数",');
qryOut.SQL.Add(' SZF as "丧葬费",');
qryOut.SQL.Add(' FXJ as "一次性抚恤金",');
qryOut.SQL.Add(' JJF as "救济金",');
qryOut.SQL.Add(' GRZH_SW as "个人帐户",');
qryOut.SQL.Add(' TBJE as "退补金额",');
qryOut.SQL.Add(' HJ_SW as "死亡待遇合计",');
qryOut.SQL.Add(' GRZH_ZC as "转出个人帐户",');
qryOut.SQL.Add(' LX_ZC as "转出帐户利息",');
qryOut.SQL.Add(' HJ_ZC as "转出帐户合计",');
qryOut.SQL.Add(' GRZH_T as "退个人帐户",');
qryOut.SQL.Add(' LX_T as "退个人帐户利息",');
qryOut.SQL.Add(' HJ_T as "退个人帐户合计",');
qryOut.SQL.Add(' ZJ as "总计"');
qryOut.SQL.Add('from tREP_DWYCXDYMX');
qryOut.SQL.Add('where dwid=''' + strDWID + '''');
qryOut.SQL.Add('ORDER BY YJRQ');
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -