From 7de05e15e3cd8a730df94c1c72f0abd1ac511c32 Mon Sep 17 00:00:00 2001 From: winter <664946893@qq.com> Date: Wed, 23 Oct 2024 11:24:07 +0800 Subject: [PATCH] fix --- .../market/WxFinanceController.java | 36 ++++++++++++++++++- .../mapper/WxFinanceFinishMapper.java | 2 ++ .../iformall/service/WxFinanceService.java | 2 ++ .../service/impl/WxFinanceServiceImpl.java | 36 ++++++++++++++++++- .../mapper/WxFinanceFinishMapper.xml | 5 +++ 5 files changed, 79 insertions(+), 2 deletions(-) diff --git a/mallinkAdmin/src/main/java/com/iformall/controller/market/WxFinanceController.java b/mallinkAdmin/src/main/java/com/iformall/controller/market/WxFinanceController.java index c2da30ef9..47d1cc011 100644 --- a/mallinkAdmin/src/main/java/com/iformall/controller/market/WxFinanceController.java +++ b/mallinkAdmin/src/main/java/com/iformall/controller/market/WxFinanceController.java @@ -703,8 +703,17 @@ public class WxFinanceController extends BaseController { if (null == record.getReceiveIds() || record.getReceiveIds().size() <= 0 ) { return new ResultData(Result.ERROR,"无关联的单据"); } + //修改 + if (null != record.getId()) { + WxFinanceFinish finish = wxFinanceService.getFinishById(record, record.getId()); + if (null == finish ) { + return new ResultData(Result.ERROR,"参数错误"); + } + if (finish.getStatus() == EnumFinanceFinishStatus.AUDITED.getCode()) { + return new ResultData(Result.ERROR,"已经审核,不允许修改"); + } + } //如果单据已经存在了,则不允许提交。 - List list = wxFinanceService.findFinishReceiveList(record); if (null != list && list.size() > 0 ) { return new ResultData(Result.ERROR,"单据已经存在交款批次"); @@ -724,6 +733,31 @@ public class WxFinanceController extends BaseController { return new ResultData(); } + @ApiOperation("删除交款") + @PostMapping("deleteFinish") + public ResultData deleteFinish(@RequestBody WxFinanceFinish record) { + if (null == record.getId()) { + return new ResultData(Result.ERROR,"finishId参数不能为空"); + } + //未审核的才能删除 + WxFinanceFinish finish = wxFinanceService.getFinishById(record, record.getId()); + if (null == finish ) { + return new ResultData(Result.ERROR,"参数错误"); + } + if (finish.getStatus() == EnumFinanceFinishStatus.AUDITED.getCode()) { + return new ResultData(Result.ERROR,"已经审核,不允许删除"); + } + //如果已存在已审核的单据,也不允许删除 + List list = wxFinanceService.findAuditedFinishReceiveList(record); + if (null != list && list.size() > 0 ) { + return new ResultData(Result.ERROR,"已存在审核的单据,不允许删除"); + } + + record.updateTenantInfo(getTenantInfo()); + wxFinanceService.deleteFinish(record); + return new ResultData(); + } + @ApiOperation("批次审核/反审核单据结账") @PostMapping("batchReceiveFinish") public ResultData batchReceiveFinish(@RequestBody WxFinanceFinish record) { diff --git a/mallinkService/src/main/java/com/iformall/mapper/WxFinanceFinishMapper.java b/mallinkService/src/main/java/com/iformall/mapper/WxFinanceFinishMapper.java index 033f8e82c..a27333f90 100644 --- a/mallinkService/src/main/java/com/iformall/mapper/WxFinanceFinishMapper.java +++ b/mallinkService/src/main/java/com/iformall/mapper/WxFinanceFinishMapper.java @@ -12,5 +12,7 @@ public interface WxFinanceFinishMapper extends CommonMapper findList(WxFinanceFinish wxBillRent); WxFinanceFinish selectById(@Param("id")Long id,@Param("tenantId")String tenantId); + + void deleteByConditon(WxFinanceFinish wxBillRent); } diff --git a/mallinkService/src/main/java/com/iformall/service/WxFinanceService.java b/mallinkService/src/main/java/com/iformall/service/WxFinanceService.java index af70df7f6..4a18d69aa 100644 --- a/mallinkService/src/main/java/com/iformall/service/WxFinanceService.java +++ b/mallinkService/src/main/java/com/iformall/service/WxFinanceService.java @@ -74,6 +74,7 @@ public interface WxFinanceService { WxFinanceFinish getFinishById(TenantEntity tenantEntity,Long id); void saveOrUpdateFinish(WxFinanceFinish record,MallUserInfo user); List findFinishReceiveList(WxFinanceFinish record); + List findAuditedFinishReceiveList(WxFinanceFinish record); WxFinanceReceiveSumVo getReceiveSum(WxFinanceReceive record); List getReceiveFinishCount(WxFinanceFinish record); List getReceiveCount(WxFinanceFinish record); @@ -84,5 +85,6 @@ public interface WxFinanceService { void auditReceive(WxFinanceFinish record,MallUserInfo user); Integer getReceiveUnFinisedCount(WxFinanceReceive record); void batchAuditFinishReceive(WxFinanceFinish record,MallUserInfo user); + void deleteFinish(WxFinanceFinish record); SysConfig getFinishEndTime(TenantEntity tenantEntity); } diff --git a/mallinkService/src/main/java/com/iformall/service/impl/WxFinanceServiceImpl.java b/mallinkService/src/main/java/com/iformall/service/impl/WxFinanceServiceImpl.java index 02c498cd1..188b50a99 100644 --- a/mallinkService/src/main/java/com/iformall/service/impl/WxFinanceServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/impl/WxFinanceServiceImpl.java @@ -1871,7 +1871,7 @@ public class WxFinanceServiceImpl implements WxFinanceService { ffr.setId(idWorker.nextId()); ffr.setCreateTime(new Date()); ffr.setUpdateTime(new Date()); - ffr.setStatus(record.getStatus()); + ffr.setStatus(EnumFinanceFinishStatus.UN_AUDIT.getCode()); ffr.setFinishId(record.getId()); ffr.setReceiveId(receiveId); wxFinanceFinishReceiveMapper.insert(ffr); @@ -1889,5 +1889,39 @@ public class WxFinanceServiceImpl implements WxFinanceService { }; return wxFinanceFinishReceiveMapper.findList(ffrq); } + + @Override + public List findAuditedFinishReceiveList(WxFinanceFinish record) { + WxFinanceFinishReceive ffrq = new WxFinanceFinishReceive(); + ffrq.updateTenantInfo(record); + ffrq.setFinishId(record.getId()); + List receiveIds = wxFinanceFinishReceiveMapper.findReceiveIdList(ffrq); + if (null != receiveIds && receiveIds.size() > 0 ) { + WxFinanceReceive frq = new WxFinanceReceive(); + frq.updateTenantInfo(record); + frq.setIds(receiveIds); + frq.setIsFinish(EnumYesOrNo.YES.getCode()); + List statusList = new ArrayList(); + statusList.add(EnumFinanceReceiveStatus.NORMAL.getCode()); + statusList.add(EnumFinanceReceiveStatus.RED_SETOFF.getCode()); + frq.setStatusList(statusList); + return wxFinanceReceiveMapper.findList(frq); + } + return null; + } + + @Transactional(propagation = Propagation.REQUIRED, readOnly = false, rollbackFor = {Exception.class}) + @Override + public void deleteFinish(WxFinanceFinish record) { + //删除之前的单据关联 + WxFinanceFinishReceive frdel = new WxFinanceFinishReceive(); + frdel.updateTenantInfo(record); + frdel.setFinishId(record.getId());; + wxFinanceFinishReceiveMapper.deleteByCondition(frdel); + + wxFinanceFinishMapper.deleteByConditon(record); + } + + } diff --git a/mallinkService/src/main/resources/mapper/WxFinanceFinishMapper.xml b/mallinkService/src/main/resources/mapper/WxFinanceFinishMapper.xml index 3c57d9c12..747faa2f1 100644 --- a/mallinkService/src/main/resources/mapper/WxFinanceFinishMapper.xml +++ b/mallinkService/src/main/resources/mapper/WxFinanceFinishMapper.xml @@ -74,5 +74,10 @@ from wx_finance_finish where id = #{id} and `tenant_id` = #{tenantId} + + delete from wx_finance_finish + + +