diff --git a/src/com/engine/salary/service/LyFundReportService.java b/src/com/engine/salary/service/LyFundReportService.java index 498a70b3a..de2e27c6d 100644 --- a/src/com/engine/salary/service/LyFundReportService.java +++ b/src/com/engine/salary/service/LyFundReportService.java @@ -102,6 +102,7 @@ public interface LyFundReportService { XSSFWorkbook exportFundReport(LySalaryReportQueryParam param); List getByIds(List ids); + List listSome(LyFundReportPO lyFundReportPO); /** * 社保公积金购买公司下拉框list diff --git a/src/com/engine/salary/service/LySalaryReportService.java b/src/com/engine/salary/service/LySalaryReportService.java index 0e438c371..43c612e9b 100644 --- a/src/com/engine/salary/service/LySalaryReportService.java +++ b/src/com/engine/salary/service/LySalaryReportService.java @@ -104,6 +104,7 @@ public interface LySalaryReportService { List getCanManageFrztByUid(User user); List getByIds(List ids); + List listSome(LySalaryReportPO lySalaryReport); void deleteAllSalaryReport(LySalaryReportQueryParam queryParam); diff --git a/src/com/engine/salary/service/LySocialReportService.java b/src/com/engine/salary/service/LySocialReportService.java index a3f6aaded..1b6cc564e 100644 --- a/src/com/engine/salary/service/LySocialReportService.java +++ b/src/com/engine/salary/service/LySocialReportService.java @@ -102,6 +102,7 @@ public interface LySocialReportService { XSSFWorkbook exportSIReport(LySalaryReportQueryParam param); List getByIds(List ids); + List ListSome(LySocialReportPO lySocialReportPO); /** * 社保公积金购买公司下拉框list diff --git a/src/com/engine/salary/service/impl/LyFundReportServiceImpl.java b/src/com/engine/salary/service/impl/LyFundReportServiceImpl.java index 51a389d51..d11eaf391 100644 --- a/src/com/engine/salary/service/impl/LyFundReportServiceImpl.java +++ b/src/com/engine/salary/service/impl/LyFundReportServiceImpl.java @@ -751,6 +751,11 @@ public class LyFundReportServiceImpl extends Service implements LyFundReportServ } } + @Override + public List listSome(LyFundReportPO lyFundReportPO) { + return getLyFundReportMapper().listSome(lyFundReportPO); + } + @Override public Map fundReportGmgsList(LySalaryReportQueryParam param) { if (StringUtils.isBlank(param.getSalaryMonth())) { diff --git a/src/com/engine/salary/service/impl/LyPZServiceImpl.java b/src/com/engine/salary/service/impl/LyPZServiceImpl.java index 29f9ed7fb..85df34ad0 100644 --- a/src/com/engine/salary/service/impl/LyPZServiceImpl.java +++ b/src/com/engine/salary/service/impl/LyPZServiceImpl.java @@ -925,9 +925,11 @@ public class LyPZServiceImpl extends Service implements LyPZService { */ private void updateReportStatus(LyVoucherPushParam pushParam) { int pushStatus = pushParam.getStatus() == null ? LyPushStatusEnum.WAIT.getValue() : pushParam.getStatus(); - List dataSource = pushParam.getDataSource(); + Date date = SalaryDateUtil.dateStrToLocalYearMonth(pushParam.getSalaryMonth()); + // List dataSource = pushParam.getDataSource(); if (pushParam.getPzlx().equals(LyPZTypeEnum.XZJTPZ.getValue()) || pushParam.getPzlx().equals(LyPZTypeEnum.XZFFPZ.getValue())) { - List salaryReportList = getLySalaryReportService(user).getByIds(dataSource); + // List salaryReportList = getLySalaryReportService(user).getByIds(dataSource); + List salaryReportList = getLySalaryReportService(user).listSome(LySalaryReportPO.builder().salaryMonth(date).ffgsqc(pushParam.getFfgsqc()).build()); salaryReportList.stream().forEach(po -> { if (pushParam.getPzlx().equals(LyPZTypeEnum.XZJTPZ.getValue())) { po.setXzjtpzFlag(pushStatus); @@ -937,7 +939,8 @@ public class LyPZServiceImpl extends Service implements LyPZService { getLySalaryReportService(user).update(po); }); } else if (pushParam.getPzlx().equals(LyPZTypeEnum.SBJTPZ.getValue()) || pushParam.getPzlx().equals(LyPZTypeEnum.SBFFPZ.getValue())) { - List socialReportList = getLySocialReportService(user).getByIds(dataSource); + // List socialReportList = getLySocialReportService(user).getByIds(dataSource); + List socialReportList = getLySocialReportService(user).ListSome(LySocialReportPO.builder().salaryMonth(date).gmgsqc(pushParam.getFfgsqc()).build()); socialReportList.stream().forEach(po -> { if (pushParam.getPzlx().equals(LyPZTypeEnum.SBJTPZ.getValue())) { po.setSbjtpzFlag(pushStatus); @@ -947,7 +950,8 @@ public class LyPZServiceImpl extends Service implements LyPZService { getLySocialReportService(user).update(po); }); } else if (pushParam.getPzlx().equals(LyPZTypeEnum.GJJJTPZ.getValue()) || pushParam.getPzlx().equals(LyPZTypeEnum.GJJFFPZ.getValue())) { - List fundReportList = getLyFundReportService(user).getByIds(dataSource); + // List fundReportList = getLyFundReportService(user).getByIds(dataSource); + List fundReportList = getLyFundReportService(user).listSome(LyFundReportPO.builder().salaryMonth(date).gmgsqc(pushParam.getFfgsqc()).build()); fundReportList.stream().forEach(po -> { if (pushParam.getPzlx().equals(LyPZTypeEnum.GJJJTPZ.getValue())) { po.setGjjjtpzFlag(pushStatus); @@ -1010,6 +1014,7 @@ public class LyPZServiceImpl extends Service implements LyPZService { RecordSet rs = new RecordSet(); String sql = ""; List needUpdateIds = new ArrayList<>(); + List needUpdateGjjIds = new ArrayList<>(); if (gsId != null && gsId != 0) { if (pushParam.getPzlx().equals(LyPZTypeEnum.SBFFPZ.getValue()) || pushParam.getPzlx().equals(LyPZTypeEnum.SBJTPZ.getValue())) { sql = "select id from uf_sbgjj where fyszq = '"+pushParam.getSalaryMonth()+"' and gmgsqc=" + gsId; @@ -1021,7 +1026,7 @@ public class LyPZServiceImpl extends Service implements LyPZService { sql = "select id from uf_sbgjj where fyszq = '"+pushParam.getSalaryMonth()+"' and fycdgsqc=" + gsId; rs.execute(sql); while (rs.next()) { - needUpdateIds.add(rs.getInt("id")); + needUpdateGjjIds.add(rs.getInt("id")); } } // 入库 @@ -1043,6 +1048,25 @@ public class LyPZServiceImpl extends Service implements LyPZService { ModeRightInfo.editModeDataShare(1, modeId, id); } } + + if (CollectionUtils.isNotEmpty(needUpdateGjjIds)) { + List> partition = Lists.partition(needUpdateGjjIds, 800); + partition.forEach( part -> { + String idStr = StringUtils.join(part, ","); + String updateSql = "update uf_sbgjj set gjjsjsd = 0 where id in (" + idStr + ")"; + rs.execute(updateSql); + }); + // 获取社保公积金模块id + BaseBean baseBean = new BaseBean(); + Integer modeId = NumberUtils.isCreatable(baseBean.getPropValue("lySalaryNCVoucher", "sbgjj_mode_id")) + ? Integer.valueOf(baseBean.getPropValue("lySalaryNCVoucher", "sbgjj_mode_id")) : 0; + // 权限重构 + for (Integer id : needUpdateGjjIds) { + ModeRightInfo ModeRightInfo = new ModeRightInfo(); + ModeRightInfo.setNewRight(true); + ModeRightInfo.editModeDataShare(1, modeId, id); + } + } } } resultMap.put("status", (pushParam.getStatus() != null && pushParam.getStatus().equals(NumberUtils.INTEGER_ONE)) ? Boolean.TRUE : Boolean.FALSE); @@ -1454,6 +1478,7 @@ public class LyPZServiceImpl extends Service implements LyPZService { RecordSet rs = new RecordSet(); String sql = ""; List needUpdateIds = new ArrayList<>(); + List needUpdateGjjIds = new ArrayList<>(); String formatYearMonth = SalaryDateUtil.getFormatYearMonth(voucherPO.getSalaryMonth()); // 修改报表中数据推送状态 Integer pzlx = voucherPO.getPzlx(); @@ -1506,10 +1531,10 @@ public class LyPZServiceImpl extends Service implements LyPZService { }); if (gsId != null && gsId != 0) { - sql = "select id from uf_sbgjj where fyszq = '" + formatYearMonth + "' and fycdgsqc=" + gsId + " and sjsd = 0"; + sql = "select id from uf_sbgjj where fyszq = '" + formatYearMonth + "' and fycdgsqc=" + gsId + " and gjjsjsd = 0"; rs.execute(sql); while (rs.next()) { - needUpdateIds.add(rs.getInt("id")); + needUpdateGjjIds.add(rs.getInt("id")); } } } @@ -1533,6 +1558,26 @@ public class LyPZServiceImpl extends Service implements LyPZService { ModeRightInfo.editModeDataShare(1, modeId, id); } } + + // 入库 + if (CollectionUtils.isNotEmpty(needUpdateGjjIds)) { + List> partition = Lists.partition(needUpdateGjjIds, 800); + partition.forEach( part -> { + String idStr = StringUtils.join(part, ","); + String updateSql = "update uf_sbgjj set gjjsjsd = 1 where id in (" + idStr + ")"; + rs.execute(updateSql); + }); + // 获取社保公积金模块id + BaseBean baseBean = new BaseBean(); + Integer modeId = NumberUtils.isCreatable(baseBean.getPropValue("lySalaryNCVoucher", "sbgjj_mode_id")) + ? Integer.valueOf(baseBean.getPropValue("lySalaryNCVoucher", "sbgjj_mode_id")) : 0; + // 权限重构 + for (Integer id : needUpdateGjjIds) { + ModeRightInfo ModeRightInfo = new ModeRightInfo(); + ModeRightInfo.setNewRight(true); + ModeRightInfo.editModeDataShare(1, modeId, id); + } + } } // } } diff --git a/src/com/engine/salary/service/impl/LySalaryReportServiceImpl.java b/src/com/engine/salary/service/impl/LySalaryReportServiceImpl.java index 77b2cd9f4..c2237b774 100644 --- a/src/com/engine/salary/service/impl/LySalaryReportServiceImpl.java +++ b/src/com/engine/salary/service/impl/LySalaryReportServiceImpl.java @@ -1291,9 +1291,14 @@ public class LySalaryReportServiceImpl extends Service implements LySalaryReport // 获取需要统计的薪资项目id BaseBean baseBean = new BaseBean(); Long gsmcItemId = NumberUtils.isCreatable(baseBean.getPropValue("lySalaryReport", "bsb_gsmc_item_id")) ? Long.valueOf(baseBean.getPropValue("lySalaryReport", "fbb_gsmc_item_id")) : 0L; + Long pqItemId = NumberUtils.isCreatable(baseBean.getPropValue("lySalaryReport", "bsb_pq_item_id")) ? Long.valueOf(baseBean.getPropValue("lySalaryReport", "bsb_pq_item_id")) : 0L; + Long xmItemId = NumberUtils.isCreatable(baseBean.getPropValue("lySalaryReport", "bsb_xm_item_id")) ? Long.valueOf(baseBean.getPropValue("lySalaryReport", "bsb_xm_item_id")) : 0L; + String salaryItemIdStr = Utils.null2String(baseBean.getPropValue("lySalaryReport", "bsb_report_item_ids")); List salaryItemIds = Arrays.stream(salaryItemIdStr.split(",")).filter(NumberUtils::isCreatable).map(Long::valueOf).collect(Collectors.toList()); salaryItemIds.add(gsmcItemId); + salaryItemIds.add(pqItemId); + salaryItemIds.add(xmItemId); List salaryItemList = getSalaryItemService(user).listByIds(salaryItemIds); Map salaryItemMap = SalaryEntityUtil.convert2Map(salaryItemList, SalaryItemPO::getId); @@ -1396,6 +1401,8 @@ public class LySalaryReportServiceImpl extends Service implements LySalaryReport // 构建表头 List columns = new ArrayList<>(); columns.add(new WeaTableColumn("150px", "公司名称", gsmcItemId.toString())); + columns.add(new WeaTableColumn("150px", "片区", pqItemId.toString())); + columns.add(new WeaTableColumn("150px", "项目", xmItemId.toString())); columns.add(new WeaTableColumn("150px", "部门", "departmentName")); columns.add(new WeaTableColumn("150px", "姓名", "userName")); columns.add(new WeaTableColumn("150px", "身份证号", "idNo")); diff --git a/src/com/engine/salary/service/impl/LySocialReportServiceImpl.java b/src/com/engine/salary/service/impl/LySocialReportServiceImpl.java index 59f606c5c..8e4d7f6d9 100644 --- a/src/com/engine/salary/service/impl/LySocialReportServiceImpl.java +++ b/src/com/engine/salary/service/impl/LySocialReportServiceImpl.java @@ -1031,6 +1031,11 @@ public class LySocialReportServiceImpl extends Service implements LySocialReport } } + @Override + public List ListSome(LySocialReportPO lySocialReportPO) { + return getLySocialReportMapper().listSome(lySocialReportPO); + } + @Override public Map sIReportGmgsList(LySalaryReportQueryParam param) { if (StringUtils.isBlank(param.getSalaryMonth())) {