From c59cf6644cc5efc2d53aa32145e41e3c0c92eed0 Mon Sep 17 00:00:00 2001 From: Harryxzy Date: Wed, 25 Sep 2024 11:24:19 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B8=AF=E6=B9=BE=E6=89=B9=E9=87=8F=E8=B0=83?= =?UTF-8?q?=E8=96=AA=E5=A4=84=E7=90=86=E5=8E=86=E5=8F=B2=E6=95=B0=E6=8D=AE?= =?UTF-8?q?=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../mapper/salaryacct/GwPltxDt1Mapper.java | 2 + .../mapper/salaryacct/GwPltxDt1Mapper.xml | 6 +++ .../salary/service/GwPltxDt1Service.java | 2 + .../service/SalaryAcctResultService.java | 2 + .../service/impl/GwPltxDt1ServiceImpl.java | 8 ++++ .../impl/SalaryAcctResultServiceImpl.java | 48 +++++++++++++++++++ .../salary/web/SalaryAcctController.java | 12 +++++ .../wrapper/SalaryAcctResultWrapper.java | 5 ++ 8 files changed, 85 insertions(+) diff --git a/src/com/engine/salary/mapper/salaryacct/GwPltxDt1Mapper.java b/src/com/engine/salary/mapper/salaryacct/GwPltxDt1Mapper.java index 642a66673..57bf86680 100644 --- a/src/com/engine/salary/mapper/salaryacct/GwPltxDt1Mapper.java +++ b/src/com/engine/salary/mapper/salaryacct/GwPltxDt1Mapper.java @@ -75,4 +75,6 @@ public interface GwPltxDt1Mapper { void batchUpdate(@Param("collection")List list); void deleteByIds(@Param("ids")List list); + + void deleteByRequestId(@Param("requestId")Integer requestId); } diff --git a/src/com/engine/salary/mapper/salaryacct/GwPltxDt1Mapper.xml b/src/com/engine/salary/mapper/salaryacct/GwPltxDt1Mapper.xml index ecfde4776..e2743f6d6 100644 --- a/src/com/engine/salary/mapper/salaryacct/GwPltxDt1Mapper.xml +++ b/src/com/engine/salary/mapper/salaryacct/GwPltxDt1Mapper.xml @@ -524,6 +524,12 @@ + + UPDATE hrsa_gw_pltx_dt1 + SET delete_type=1 + WHERE delete_type = 0 + AND mainid = #{requestId} + \ No newline at end of file diff --git a/src/com/engine/salary/service/GwPltxDt1Service.java b/src/com/engine/salary/service/GwPltxDt1Service.java index 0d217923f..ebb5647a8 100644 --- a/src/com/engine/salary/service/GwPltxDt1Service.java +++ b/src/com/engine/salary/service/GwPltxDt1Service.java @@ -76,4 +76,6 @@ public interface GwPltxDt1Service { void batchUpdate(List needUpdatelist); void deleteByIds(List needDeleteIds); + + void deleteByRequestId(Integer requestId); } diff --git a/src/com/engine/salary/service/SalaryAcctResultService.java b/src/com/engine/salary/service/SalaryAcctResultService.java index 52204173e..623ec56c7 100644 --- a/src/com/engine/salary/service/SalaryAcctResultService.java +++ b/src/com/engine/salary/service/SalaryAcctResultService.java @@ -245,4 +245,6 @@ public interface SalaryAcctResultService { * @param saveParam */ void pltxDetailsToMode(pltxDetailsToModeSaveParam saveParam); + + void pltxHistoryDataHandle(); } diff --git a/src/com/engine/salary/service/impl/GwPltxDt1ServiceImpl.java b/src/com/engine/salary/service/impl/GwPltxDt1ServiceImpl.java index c78a25fac..5281e077f 100644 --- a/src/com/engine/salary/service/impl/GwPltxDt1ServiceImpl.java +++ b/src/com/engine/salary/service/impl/GwPltxDt1ServiceImpl.java @@ -108,4 +108,12 @@ public class GwPltxDt1ServiceImpl extends Service implements GwPltxDt1Service { List> partition = Lists.partition(needDeleteIds, 100); partition.forEach(list -> getGwPltxDt1Mapper().deleteByIds(list)); } + + @Override + public void deleteByRequestId(Integer requestId) { + if (requestId == null) { + return; + } + getGwPltxDt1Mapper().deleteByRequestId(requestId); + } } diff --git a/src/com/engine/salary/service/impl/SalaryAcctResultServiceImpl.java b/src/com/engine/salary/service/impl/SalaryAcctResultServiceImpl.java index 151e0682a..df7f45e29 100644 --- a/src/com/engine/salary/service/impl/SalaryAcctResultServiceImpl.java +++ b/src/com/engine/salary/service/impl/SalaryAcctResultServiceImpl.java @@ -1899,6 +1899,54 @@ public class SalaryAcctResultServiceImpl extends Service implements SalaryAcctRe }).collect(Collectors.toList()); } + /** + * 批量调薪历史数据迁移接口 + * @param + */ + @Override + public void pltxHistoryDataHandle() { + BaseBean baseBean = new BaseBean(); + String mainTableName = baseBean.getPropValue("shgwSalary", "pltx_formtable_main_name"); + RecordSet rs = new RecordSet(); + rs.execute("select id,requestid from " +mainTableName); + HashMap oldRequestMap = new HashMap<>(); + while (rs.next()) { + oldRequestMap.put(rs.getInt("id"), rs.getInt("requestid")); + } + + // 获取对应的明细表1数据 + for (Map.Entry entry : oldRequestMap.entrySet()) { + Integer mainId = entry.getKey(); + Integer requestId = entry.getValue(); + // 先删除 + getGwPltxDt1Service(user).deleteByRequestId(requestId); + rs.execute("select xm,bm,gw,qnjxfs,jbgz,dx,dxhjbgz,dxbl,gskjywr,dxbl1,hjxz,dzhhjxz,hjxzdzbl,bz,nzjj from " + mainTableName + "_dt1 where mainid=" + mainId); + while (rs.next()) { + // 封装对象 + GwPltxDt1PO gwPltxDt1PO = new GwPltxDt1PO(); + gwPltxDt1PO.setId(IdGenerator.generate()); + gwPltxDt1PO.setMainid(Long.valueOf(requestId)); + gwPltxDt1PO.setXm(rs.getInt("xm")); + gwPltxDt1PO.setBm(rs.getInt("bm")); + gwPltxDt1PO.setGw(rs.getString("gw")); + gwPltxDt1PO.setQnjxfs(NumberUtils.isCreatable(rs.getString("qnjxfs")) ? new BigDecimal(rs.getString("qnjxfs")) : null); + gwPltxDt1PO.setJbgz(NumberUtils.isCreatable(rs.getString("jbgz")) ? new BigDecimal(rs.getString("jbgz")) : null); + gwPltxDt1PO.setDx(NumberUtils.isCreatable(rs.getString("dx")) ? new BigDecimal(rs.getString("dx")) : null); + gwPltxDt1PO.setDxhjbgz(NumberUtils.isCreatable(rs.getString("dxhjbgz")) ? new BigDecimal(rs.getString("dxhjbgz")) : null); + gwPltxDt1PO.setDxbl(NumberUtils.isCreatable(rs.getString("dxbl1")) ? new BigDecimal(rs.getString("dxbl1")) : null); + gwPltxDt1PO.setGskjywr(rs.getString("gskjywr")); + gwPltxDt1PO.setHjxz(NumberUtils.isCreatable(rs.getString("hjxz")) ? new BigDecimal(rs.getString("hjxz")) : null); + gwPltxDt1PO.setDzhhjxz(NumberUtils.isCreatable(rs.getString("dzhhjxz")) ? new BigDecimal(rs.getString("dzhhjxz")) : null); + gwPltxDt1PO.setHjxzdzbl(NumberUtils.isCreatable(rs.getString("hjxzdzbl")) ? new BigDecimal(rs.getString("hjxzdzbl")) : null); + gwPltxDt1PO.setBz(rs.getString("bz")); + gwPltxDt1PO.setNzjj(NumberUtils.isCreatable(rs.getString("nzjj")) ? new BigDecimal(rs.getString("nzjj")) : null); + gwPltxDt1PO.setDeleteType(0); + getGwPltxDt1Service(user).insertIgnoreNull(gwPltxDt1PO); + } + } + + } + @Override public void pltxDetailsToMode(pltxDetailsToModeSaveParam saveParam) { // 处理主表, 先根据年度查询是否存在,若存在则更新 diff --git a/src/com/engine/salary/web/SalaryAcctController.java b/src/com/engine/salary/web/SalaryAcctController.java index c689617a5..9522ebed4 100644 --- a/src/com/engine/salary/web/SalaryAcctController.java +++ b/src/com/engine/salary/web/SalaryAcctController.java @@ -1008,6 +1008,18 @@ public class SalaryAcctController { User user = HrmUserVarify.getUser(request, response); return new ResponseResult(user).run(getSalaryAcctResultWrapper(user)::pltxDetailsToMode, param); } + + + /** + * 港湾历史批量调薪流程数据迁移 + */ + @GET + @Path("/pltxHistoryDataHandle") + @Produces(MediaType.APPLICATION_JSON) + public String pltxHistoryDataHandle(@Context HttpServletRequest request, @Context HttpServletResponse response, @QueryParam(value = "requestId") Long requestId) { + User user = HrmUserVarify.getUser(request, response); + return new ResponseResult(user).run(getSalaryAcctResultWrapper(user)::pltxHistoryDataHandle); + } /**********************************上海港湾 批量调薪流程 NEW end*********************************/ /**********************************上海港湾 薪酬报表 start*********************************/ diff --git a/src/com/engine/salary/wrapper/SalaryAcctResultWrapper.java b/src/com/engine/salary/wrapper/SalaryAcctResultWrapper.java index 3c71a897a..793c6af91 100644 --- a/src/com/engine/salary/wrapper/SalaryAcctResultWrapper.java +++ b/src/com/engine/salary/wrapper/SalaryAcctResultWrapper.java @@ -300,6 +300,11 @@ public class SalaryAcctResultWrapper extends Service { getSalaryAcctResultService(user).pltxDetailsToMode(saveParam); } + public String pltxHistoryDataHandle() { + getSalaryAcctResultService(user).pltxHistoryDataHandle(); + return ""; + } + /** * 薪资核算-校验 *