瀏覽代碼

抄表修正后台处理数据

huangpeng 4 月之前
父節點
當前提交
0e5c03a5bb
共有 17 個文件被更改,包括 539 次插入3 次删除
  1. 21 0
      zhsw-common/src/main/java/com/rongwei/zhsw/sys/dao/SwMeterReadingCorrectionDao.java
  2. 21 0
      zhsw-common/src/main/java/com/rongwei/zhsw/sys/dao/SwWaterUsageEntryDao.java
  3. 6 0
      zhsw-common/src/main/java/com/rongwei/zhsw/sys/service/SwBillManagementUnpaidService.java
  4. 15 0
      zhsw-common/src/main/java/com/rongwei/zhsw/sys/service/SwMeterReadingCorrectionService.java
  5. 15 0
      zhsw-common/src/main/java/com/rongwei/zhsw/sys/service/SwWaterUsageEntryService.java
  6. 102 1
      zhsw-common/src/main/java/com/rongwei/zhsw/sys/service/impl/SwBillManagementUnpaidServiceImpl.java
  7. 24 0
      zhsw-common/src/main/java/com/rongwei/zhsw/sys/service/impl/SwMeterReadingCorrectionServiceImpl.java
  8. 23 0
      zhsw-common/src/main/java/com/rongwei/zhsw/sys/service/impl/SwWaterUsageEntryServiceImpl.java
  9. 6 0
      zhsw-common/src/main/java/com/rongwei/zhsw/utils/SaveConstans.java
  10. 4 0
      zhsw-entity/src/main/java/com/rongwe/zhsw/domain/SwBillManagementPaidDo.java
  11. 4 0
      zhsw-entity/src/main/java/com/rongwe/zhsw/domain/SwBillManagementUnpaidDo.java
  12. 97 0
      zhsw-entity/src/main/java/com/rongwe/zhsw/domain/SwMeterReadingCorrectionDo.java
  13. 127 0
      zhsw-entity/src/main/java/com/rongwe/zhsw/domain/SwWaterUsageEntryDo.java
  14. 15 0
      zhsw-entity/src/main/java/com/rongwe/zhsw/dto/MeterReadingCorrectionDTO.java
  15. 3 0
      zhsw-entity/src/main/java/com/rongwe/zhsw/dto/PaymentRequestDTO.java
  16. 26 2
      zhsw-server/src/main/java/com/rongwei/zhsw/controller/SwBillManagementUnpaidController.java
  17. 30 0
      zhsw-server/src/main/java/com/rongwei/zhsw/controller/SwMeterReadingCorrectionController.java

+ 21 - 0
zhsw-common/src/main/java/com/rongwei/zhsw/sys/dao/SwMeterReadingCorrectionDao.java

@@ -0,0 +1,21 @@
+package com.rongwei.zhsw.sys.dao;
+
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.rongwe.zhsw.domain.SwMeterReadingCorrectionDo;
+import com.rongwe.zhsw.domain.SwWaterUsageEntryDo;
+import org.apache.ibatis.annotations.Mapper;
+
+
+/**
+ * 抄表修正(SwMeterReadingCorrection)表数据库访问层
+ *
+ * @author makejava
+ * @since 2025-03-12 10:07:28
+ */
+@Mapper
+public interface SwMeterReadingCorrectionDao  extends BaseMapper<SwMeterReadingCorrectionDo> {
+
+
+}
+

+ 21 - 0
zhsw-common/src/main/java/com/rongwei/zhsw/sys/dao/SwWaterUsageEntryDao.java

@@ -0,0 +1,21 @@
+package com.rongwei.zhsw.sys.dao;
+
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.rongwe.zhsw.domain.SwBillManagementUnpaidDo;
+import com.rongwe.zhsw.domain.SwWaterUsageEntryDo;
+import org.apache.ibatis.annotations.Mapper;
+
+import java.util.List;
+
+/**
+ * 抄表登记(SwWaterUsageEntry)表数据库访问层
+ *
+ * @author makejava
+ * @since 2025-03-11 18:01:45
+ */
+@Mapper
+public interface SwWaterUsageEntryDao extends BaseMapper<SwWaterUsageEntryDo> {
+
+}
+

+ 6 - 0
zhsw-common/src/main/java/com/rongwei/zhsw/sys/service/SwBillManagementUnpaidService.java

@@ -2,6 +2,10 @@ package com.rongwei.zhsw.sys.service;
 
 import com.baomidou.mybatisplus.extension.service.IService;
 import com.rongwe.zhsw.domain.SwBillManagementUnpaidDo;
+import com.rongwe.zhsw.dto.MeterReadingCorrectionDTO;
+import com.rongwei.rwcommon.base.R;
+
+import java.math.BigDecimal;
 
 /**
  * 账单管理(按年分表)(预收,未缴)(SwBillManagementUnpaid)表服务接口
@@ -12,4 +16,6 @@ import com.rongwe.zhsw.domain.SwBillManagementUnpaidDo;
 public interface SwBillManagementUnpaidService extends IService<SwBillManagementUnpaidDo> {
 
 
+
+    R meterReadingCorrection(MeterReadingCorrectionDTO dto);
 }

+ 15 - 0
zhsw-common/src/main/java/com/rongwei/zhsw/sys/service/SwMeterReadingCorrectionService.java

@@ -0,0 +1,15 @@
+package com.rongwei.zhsw.sys.service;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.rongwe.zhsw.domain.SwBillManagementUnpaidDo;
+import com.rongwe.zhsw.domain.SwMeterReadingCorrectionDo;
+/**
+ * 抄表修正(SwMeterReadingCorrection)表服务接口
+ *
+ * @author makejava
+ * @since 2025-03-12 10:07:29
+ */
+public interface SwMeterReadingCorrectionService   extends IService<SwMeterReadingCorrectionDo> {
+
+
+}

+ 15 - 0
zhsw-common/src/main/java/com/rongwei/zhsw/sys/service/SwWaterUsageEntryService.java

@@ -0,0 +1,15 @@
+package com.rongwei.zhsw.sys.service;
+
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.rongwe.zhsw.domain.SwWaterUsageEntryDo;
+
+/**
+ * 抄表登记(SwWaterUsageEntry)表服务接口
+ *
+ * @author makejava
+ * @since 2025-03-11 18:01:49
+ */
+public interface SwWaterUsageEntryService extends IService<SwWaterUsageEntryDo> {
+
+}

+ 102 - 1
zhsw-common/src/main/java/com/rongwei/zhsw/sys/service/impl/SwBillManagementUnpaidServiceImpl.java

@@ -1,10 +1,29 @@
 package com.rongwei.zhsw.sys.service.impl;
 
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.rongwe.zhsw.domain.SwMeterReadingCorrectionDo;
+import com.rongwe.zhsw.domain.SwUserManagement;
+import com.rongwe.zhsw.domain.SwWaterUsageEntryDo;
+import com.rongwe.zhsw.dto.MeterReadingCorrectionDTO;
+import com.rongwei.rwadmincommon.system.vo.SysUserVo;
+import com.rongwei.rwcommon.base.R;
+import com.rongwei.rwcommon.utils.SecurityUtil;
 import com.rongwei.zhsw.sys.dao.SwBillManagementUnpaidDao;
 import com.rongwei.zhsw.sys.service.SwBillManagementUnpaidService;
 import com.rongwe.zhsw.domain.SwBillManagementUnpaidDo;
+import com.rongwei.zhsw.sys.service.SwMeterReadingCorrectionService;
+import com.rongwei.zhsw.sys.service.SwUserManagementService;
+import com.rongwei.zhsw.sys.service.SwWaterUsageEntryService;
+import com.rongwei.zhsw.utils.ZhswCommonUtils;
+import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+
+import java.math.BigDecimal;
+import java.util.Date;
+
+import static com.rongwei.zhsw.utils.SaveConstans.billReccord.HAVEREVISEDSTATUS;
 
 /**
  * 账单管理(按年分表)(预收,未缴)(SwBillManagementUnpaid)表服务实现类
@@ -13,7 +32,89 @@ import org.springframework.stereotype.Service;
  * @since 2025-03-07 16:49:13
  */
 @Service
-public class SwBillManagementUnpaidServiceImpl  extends ServiceImpl<SwBillManagementUnpaidDao, SwBillManagementUnpaidDo> implements SwBillManagementUnpaidService {
+public class SwBillManagementUnpaidServiceImpl  extends ServiceImpl<SwBillManagementUnpaidDao, SwBillManagementUnpaidDo>
+                         implements SwBillManagementUnpaidService {
+
+
+    @Autowired
+    SwUserManagementService swUserManagementService;
+
+    @Autowired
+    SwWaterUsageEntryService  swWaterUsageEntryService;
+
+
+    @Autowired
+    SwBillManagementUnpaidService  swBillManagementUnpaidService;
+
+    @Autowired
+    SwMeterReadingCorrectionService swMeterReadingCorrectionService;
+    /**
+     * 抄表修正
+     *   1、将 对应抄表记录更新,本次抄表数 更新
+     *   2、将 对应用户表中 对应的【最近抄表读数】进行更新
+     *   3、将 对应的这笔账单的 相关计费信息更新
+     * @param meterReadId
+     * @param billId
+     * @param thisMeterReading
+     * @return
+     */
+    @Override
+    @Transactional(rollbackFor = Exception.class)
+    public R meterReadingCorrection(MeterReadingCorrectionDTO dto) {
+
+        String meterReadId = dto.getMeterReadId();
+        String billId = dto.getBillId();
+        BigDecimal thisMeterReading = dto.getThisMeterReading();
+
+        //当前用户
+        SysUserVo currentUser = ZhswCommonUtils.getCurrentUser();
+
+        //1. 更新抄表数据
+        SwWaterUsageEntryDo swWaterUsageEntryDo = swWaterUsageEntryService.getBaseMapper().selectById(meterReadId);
+
+        BigDecimal oldreading = swWaterUsageEntryDo.getThisreading();
+        swWaterUsageEntryDo.setThisreading(thisMeterReading)
+                       .setModifyuserid(currentUser.getId()).setModifyusername(currentUser.getName()).setModifydate(new Date());
+
+        swWaterUsageEntryService.updateById(swWaterUsageEntryDo);
+
+        //2. 根据抄表户号查询用户修改最近读表数
+        SwUserManagement swUserManagement = swUserManagementService.getBaseMapper().selectOne(new LambdaQueryWrapper<SwUserManagement>().eq(SwUserManagement::getUsernumber, swWaterUsageEntryDo.getUsernumber()));
+        swUserManagement.setLastmeterreading(thisMeterReading);
+        swUserManagement.setModifyuserid(currentUser.getId());
+        swUserManagement.setModifyusername(currentUser.getName());
+        swUserManagement.setModifydate(new Date());
+        swUserManagementService.updateById(swUserManagement);
+
+        //更新账户表
+        SwBillManagementUnpaidDo unpaidDo = swBillManagementUnpaidService.getBaseMapper().selectById(billId);
+        //【本次抄表数】对应更新
+        unpaidDo.setThismeterreading(thisMeterReading);
+        //【当期用水量】=【更新后本次抄表数】-【上次抄表数】
+        unpaidDo.setCurrentwateruse(thisMeterReading.subtract(unpaidDo.getLastmeterreading()==null?BigDecimal.ZERO:unpaidDo.getLastmeterreading()));
+        //【原应缴】=【单价】*【当期用水量】
+        unpaidDo.setOughttohavepaid(unpaidDo.getUnitprice().multiply(unpaidDo.getCurrentwateruse()));
+        //更新未已修正状态
+        unpaidDo.setMeterreadingcorrectionstatus(HAVEREVISEDSTATUS)
+                .setModifyuserid(currentUser.getId()).setModifyusername(currentUser.getName()).setModifydate(new Date());
+
+        swBillManagementUnpaidService.updateById(unpaidDo);
+
+        //生成新的抄表修正记录
+        SwMeterReadingCorrectionDo swMeterReadingCorrectionDo = new SwMeterReadingCorrectionDo();
+        swMeterReadingCorrectionDo.setId(SecurityUtil.getUUID())
+                .setUsername(swWaterUsageEntryDo.getUsername())
+                .setUsernumber(swWaterUsageEntryDo.getUsernumber())
+                .setLastreading(oldreading)
+                .setThisreading(thisMeterReading)
+                .setBillid(billId)
+                .setMeterreading(swWaterUsageEntryDo.getId())
+                .setModifyuserid(currentUser.getId()).setModifyusername(currentUser.getName()).setModifydate(new Date());
+        swMeterReadingCorrectionService.getBaseMapper().insert(swMeterReadingCorrectionDo);
+
+        return R.ok();
+    }
+
 
 
 }

+ 24 - 0
zhsw-common/src/main/java/com/rongwei/zhsw/sys/service/impl/SwMeterReadingCorrectionServiceImpl.java

@@ -0,0 +1,24 @@
+package com.rongwei.zhsw.sys.service.impl;
+
+
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.rongwe.zhsw.domain.SwMeterReadingCorrectionDo;
+import com.rongwe.zhsw.domain.SwUserManagement;
+import com.rongwei.zhsw.sys.dao.SwMeterReadingCorrectionDao;
+import com.rongwei.zhsw.sys.dao.SwUserManagementMapper;
+import com.rongwei.zhsw.sys.service.SwMeterReadingCorrectionService;
+import org.springframework.stereotype.Service;
+
+
+
+/**
+ * 抄表修正(SwMeterReadingCorrection)表服务实现类
+ *
+ * @author makejava
+ * @since 2025-03-12 10:07:30
+ */
+@Service
+public class SwMeterReadingCorrectionServiceImpl extends ServiceImpl<SwMeterReadingCorrectionDao, SwMeterReadingCorrectionDo>
+        implements SwMeterReadingCorrectionService{
+
+}

+ 23 - 0
zhsw-common/src/main/java/com/rongwei/zhsw/sys/service/impl/SwWaterUsageEntryServiceImpl.java

@@ -0,0 +1,23 @@
+package com.rongwei.zhsw.sys.service.impl;
+
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.rongwe.zhsw.domain.SwWaterUsageEntryDo;
+import com.rongwei.zhsw.sys.dao.SwWaterUsageEntryDao;
+import com.rongwei.zhsw.sys.service.SwWaterUsageEntryService;
+import org.springframework.stereotype.Service;
+
+import javax.annotation.Resource;
+
+/**
+ * 抄表登记(SwWaterUsageEntry)表服务实现类
+ *
+ * @author makejava
+ * @since 2025-03-11 18:01:50
+ */
+@Service()
+public class SwWaterUsageEntryServiceImpl extends ServiceImpl<SwWaterUsageEntryDao, SwWaterUsageEntryDo> implements SwWaterUsageEntryService {
+
+    @Resource
+    private SwWaterUsageEntryDao swWaterUsageEntryDao;
+
+}

+ 6 - 0
zhsw-common/src/main/java/com/rongwei/zhsw/utils/SaveConstans.java

@@ -32,6 +32,12 @@ public class SaveConstans {
         public static final String DATASOURCEWINSOW = "1";
 
 
+        /**
+         * 账单报表修正   --已修正状态
+         */
+        public static final String HAVEREVISEDSTATUS = "20";
+
+
 
     }
 }

+ 4 - 0
zhsw-entity/src/main/java/com/rongwe/zhsw/domain/SwBillManagementPaidDo.java

@@ -176,6 +176,10 @@ public class SwBillManagementPaidDo implements Serializable {
      * 余额划扣金额
      */
     private BigDecimal balancedebitamount;
+    /**
+     * 抄表修正状态
+     */
+    private String meterreadingcorrectionstatus;
 
 
 

+ 4 - 0
zhsw-entity/src/main/java/com/rongwe/zhsw/domain/SwBillManagementUnpaidDo.java

@@ -176,6 +176,10 @@ public class SwBillManagementUnpaidDo implements Serializable {
      * 余额划扣金额
      */
     private BigDecimal balancedebitamount;
+    /**
+     * 抄表修正状态
+     */
+    private String meterreadingcorrectionstatus;
 
 
 

+ 97 - 0
zhsw-entity/src/main/java/com/rongwe/zhsw/domain/SwMeterReadingCorrectionDo.java

@@ -0,0 +1,97 @@
+package com.rongwe.zhsw.domain;
+
+import com.baomidou.mybatisplus.annotation.TableName;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.experimental.Accessors;
+
+import java.math.BigDecimal;
+import java.util.Date;
+import java.io.Serializable;
+
+@Data
+@EqualsAndHashCode(callSuper = false)
+@Accessors(chain = true)
+@TableName("sw_meter_reading_correction")
+/**
+ * 抄表修正(SwMeterReadingCorrection)实体类
+ *
+ * @author makejava
+ * @since 2025-03-12 10:07:29
+ */
+public class SwMeterReadingCorrectionDo implements Serializable {
+    private static final long serialVersionUID = 929903756536064123L;
+/**
+     * 主键
+     */
+    private String id;
+/**
+     * 租户ID
+     */
+    private String tenantid;
+/**
+     * 扩展json格式配置
+     */
+    private String roption;
+/**
+     * 是否删除Y/N
+     */
+    private String deleted;
+/**
+     * 备注
+     */
+    private String remark;
+/**
+     * 创建时间
+     */
+    private Date createdate;
+/**
+     * 创建用户ID
+     */
+    private String createuserid;
+/**
+     * 修改日期
+     */
+    private Date modifydate;
+/**
+     * 修改用户ID
+     */
+    private String modifyuserid;
+/**
+     * 创建人
+     */
+    private String createusername;
+/**
+     * 修改人
+     */
+    private String modifyusername;
+/**
+     * 户号
+     */
+    private String usernumber;
+/**
+     * 户名
+     */
+    private String username;
+/**
+     * 修改读数
+     */
+    private BigDecimal thisreading;
+/**
+     * 抄表读数
+     */
+    private BigDecimal lastreading;
+/**
+     * 抄表ID
+     */
+    private String meterreading;
+/**
+     * 账单ID
+     */
+    private String billid;
+
+
+
+
+}
+

+ 127 - 0
zhsw-entity/src/main/java/com/rongwe/zhsw/domain/SwWaterUsageEntryDo.java

@@ -0,0 +1,127 @@
+package com.rongwe.zhsw.domain;
+
+import com.baomidou.mybatisplus.annotation.TableName;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.experimental.Accessors;
+
+import java.math.BigDecimal;
+import java.util.Date;
+import java.io.Serializable;
+
+/**
+ * 抄表登记(SwWaterUsageEntry)实体类
+ *
+ * @author makejava
+ * @since 2025-03-11 18:01:47
+ */
+@Data
+@EqualsAndHashCode(callSuper = false)
+@Accessors(chain = true)
+@TableName("sw_water_usage_entry")
+public class SwWaterUsageEntryDo implements Serializable {
+    private static final long serialVersionUID = 478239245134424500L;
+/**
+     * 主键
+     */
+    private String id;
+/**
+     * 租户ID
+     */
+    private String tenantid;
+/**
+     * 扩展json格式配置
+     */
+    private String roption;
+/**
+     * 是否删除Y/N
+     */
+    private String deleted;
+/**
+     * 备注
+     */
+    private String remark;
+/**
+     * 创建时间
+     */
+    private Date createdate;
+/**
+     * 创建用户ID
+     */
+    private String createuserid;
+/**
+     * 修改日期
+     */
+    private Date modifydate;
+/**
+     * 修改用户ID
+     */
+    private String modifyuserid;
+/**
+     * 创建人
+     */
+    private String createusername;
+/**
+     * 修改人
+     */
+    private String modifyusername;
+/**
+     * 户号
+     */
+    private String usernumber;
+/**
+     * 户名
+     */
+    private String username;
+/**
+     * 本次读数
+     */
+    private BigDecimal thisreading;
+/**
+     * 小区/村落/街道名称(册号)
+     */
+    private String communityname;
+/**
+     * 地址
+     */
+    private String address;
+/**
+     * 本次抄表日期
+     */
+    private Date currentreadingdate;
+/**
+     * 抄表来源
+     */
+    private String readingsource;
+/**
+     * 户号表主键
+     */
+    private String userid;
+/**
+     * 附件
+     */
+    private String file;
+/**
+     * 册号编码
+     */
+    private String communitycode;
+/**
+     * 年
+     */
+    private Integer year;
+/**
+     * 月
+     */
+    private Integer month;
+/**
+     * 上次读数
+     */
+    private BigDecimal lastreading;
+/**
+     * 上次抄表日期
+     */
+    private Date lastreadingdate;
+
+
+}
+

+ 15 - 0
zhsw-entity/src/main/java/com/rongwe/zhsw/dto/MeterReadingCorrectionDTO.java

@@ -0,0 +1,15 @@
+package com.rongwe.zhsw.dto;
+
+import lombok.Data;
+
+import java.math.BigDecimal;
+
+@Data
+public class MeterReadingCorrectionDTO {
+    // 抄表id
+    private String meterReadId;
+    // 账单iD
+    private String billId;
+    //修改的本次抄表数
+    private BigDecimal thisMeterReading;
+}

+ 3 - 0
zhsw-entity/src/main/java/com/rongwe/zhsw/dto/PaymentRequestDTO.java

@@ -7,7 +7,10 @@ import java.util.List;
 
 @Data
 public class PaymentRequestDTO {
+    //已缴费
     private BigDecimal paidin;
+    //账单ids
     private List<String> ids;
+    //数据来源
     private String  datasource;
 }

+ 26 - 2
zhsw-server/src/main/java/com/rongwei/zhsw/controller/SwBillManagementUnpaidController.java

@@ -1,7 +1,11 @@
 package com.rongwei.zhsw.controller;
+import com.rongwe.zhsw.dto.MeterReadingCorrectionDTO;
+import com.rongwei.rwcommon.base.R;
+import com.rongwei.zhsw.sys.service.SwBillManagementUnpaidService;
+import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.*;
 
-import javax.annotation.Resource;
+import java.math.BigDecimal;
 
 /**
  * 账单管理(按年分表)(预收,未缴)(SwBillManagementUnpaid)表控制层
@@ -10,8 +14,28 @@ import javax.annotation.Resource;
  * @since 2025-03-07 16:49:13
  */
 @RestController
-@RequestMapping("swBillManagementUnpaid")
+@RequestMapping("/swBillManagementUnpaid")
 public class SwBillManagementUnpaidController {
 
+    @Autowired
+    private SwBillManagementUnpaidService swBillManagementUnpaidService;
+
+    /**
+     *
+     * @param meterReadId 抄表id
+     * @param billId   账单 iD
+     * @param thisMeterReading  本次抄表数
+     * @return
+     */
+    @PostMapping("/meterReadingCorrection")
+    @ResponseBody
+    public R meterReadingCorrection(@RequestBody MeterReadingCorrectionDTO dto){
+        try {
+            return  swBillManagementUnpaidService.meterReadingCorrection(dto);
+        }catch (Exception e){
+            return R.error(e.getMessage());
+        }
+    }
+
 }
 

+ 30 - 0
zhsw-server/src/main/java/com/rongwei/zhsw/controller/SwMeterReadingCorrectionController.java

@@ -0,0 +1,30 @@
+package com.rongwei.zhsw.controller;
+
+
+import com.rongwei.zhsw.sys.service.SwMeterReadingCorrectionService;
+import org.springframework.data.domain.Page;
+import org.springframework.data.domain.PageRequest;
+import org.springframework.http.ResponseEntity;
+import org.springframework.web.bind.annotation.*;
+
+import javax.annotation.Resource;
+
+/**
+ * 抄表修正(SwMeterReadingCorrection)表控制层
+ *
+ * @author makejava
+ * @since 2025-03-12 10:07:27
+ */
+@RestController
+@RequestMapping("/swMeterReadingCorrection")
+public class SwMeterReadingCorrectionController {
+    /**
+     * 服务对象
+     */
+    @Resource
+    private SwMeterReadingCorrectionService swMeterReadingCorrectionService;
+
+  
+
+}
+