From 2ab97974bcc58b6ac15fdf33236c663a6125c473 Mon Sep 17 00:00:00 2001
From: wuxw <928255095@qq.com>
Date: 星期三, 26 三月 2025 16:47:04 +0800
Subject: [PATCH] 开发完成公摊功能

---
 service-fee/src/main/java/com/java110/fee/cmd/meter/AuditFloorShareReadingCmd.java |   50 ++++++++++++++++++++++++++++++++++++++++++++++++--
 1 files changed, 48 insertions(+), 2 deletions(-)

diff --git a/service-fee/src/main/java/com/java110/fee/cmd/meter/AuditFloorShareReadingCmd.java b/service-fee/src/main/java/com/java110/fee/cmd/meter/AuditFloorShareReadingCmd.java
index e0b7b45..5267261 100644
--- a/service-fee/src/main/java/com/java110/fee/cmd/meter/AuditFloorShareReadingCmd.java
+++ b/service-fee/src/main/java/com/java110/fee/cmd/meter/AuditFloorShareReadingCmd.java
@@ -18,18 +18,27 @@
 import com.alibaba.fastjson.JSONObject;
 import com.java110.core.annotation.Java110Cmd;
 import com.java110.core.annotation.Java110Transactional;
+import com.java110.core.context.CmdContextUtils;
 import com.java110.core.context.ICmdDataFlowContext;
 import com.java110.core.event.cmd.Cmd;
 import com.java110.core.event.cmd.CmdEvent;
+import com.java110.dto.data.DatabusDataDto;
+import com.java110.dto.floorShareReading.FloorShareReadingDto;
+import com.java110.intf.fee.IFloorShareMeterV1InnerServiceSMO;
 import com.java110.intf.fee.IFloorShareReadingV1InnerServiceSMO;
+import com.java110.intf.job.IDataBusInnerServiceSMO;
+import com.java110.po.floorShareMeter.FloorShareMeterPo;
 import com.java110.po.floorShareReading.FloorShareReadingPo;
 import com.java110.utils.exception.CmdException;
 import com.java110.utils.util.Assert;
 import com.java110.utils.util.BeanConvertUtil;
+import com.java110.utils.util.ListUtil;
 import com.java110.vo.ResultVo;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
+
+import java.util.List;
 
 
 /**
@@ -51,10 +60,17 @@
     @Autowired
     private IFloorShareReadingV1InnerServiceSMO floorShareReadingV1InnerServiceSMOImpl;
 
+    @Autowired
+    private IFloorShareMeterV1InnerServiceSMO floorShareMeterV1InnerServiceSMOImpl;
+
+    @Autowired
+    private IDataBusInnerServiceSMO dataBusInnerServiceSMOImpl;
+
     @Override
     public void validate(CmdEvent event, ICmdDataFlowContext cmdDataFlowContext, JSONObject reqJson) {
         Assert.hasKeyAndValue(reqJson, "readingId", "readingId涓嶈兘涓虹┖");
         Assert.hasKeyAndValue(reqJson, "communityId", "communityId涓嶈兘涓虹┖");
+        Assert.hasKeyAndValue(reqJson, "state", "瀹℃牳鐘舵�佷笉鑳戒负绌�");
         super.validateProperty(cmdDataFlowContext);
     }
 
@@ -62,13 +78,43 @@
     @Java110Transactional
     public void doCmd(CmdEvent event, ICmdDataFlowContext cmdDataFlowContext, JSONObject reqJson) throws CmdException {
 
-        FloorShareReadingPo floorShareReadingPo = BeanConvertUtil.covertBean(reqJson, FloorShareReadingPo.class);
+        String userId = CmdContextUtils.getUserId(cmdDataFlowContext);
+
+        FloorShareReadingDto floorShareReadingDto = new FloorShareReadingDto();
+        floorShareReadingDto.setReadingId(reqJson.getString("readingId"));
+        floorShareReadingDto.setCommunityId(reqJson.getString("communityId"));
+        List<FloorShareReadingDto> floorShareReadingDtos
+                = floorShareReadingV1InnerServiceSMOImpl.queryFloorShareReadings(floorShareReadingDto);
+        if (ListUtil.isNull(floorShareReadingDtos)) {
+            throw new CmdException("璁板綍涓嶅瓨鍦�");
+        }
+        String state = reqJson.getString("state");
+
+        FloorShareReadingPo floorShareReadingPo = new FloorShareReadingPo();
+        floorShareReadingPo.setReadingId(reqJson.getString("readingId"));
+        floorShareReadingPo.setState(state);
+        floorShareReadingPo.setStatsMsg("瀹℃牳鎰忚锛�" + reqJson.getString("auditRemark"));
         int flag = floorShareReadingV1InnerServiceSMOImpl.updateFloorShareReading(floorShareReadingPo);
 
         if (flag < 1) {
             throw new CmdException("鏇存柊鏁版嵁澶辫触");
         }
-
         cmdDataFlowContext.setResponseEntity(ResultVo.success());
+
+        //todo
+        if (FloorShareReadingDto.STATE_F.equals(state)) {
+            FloorShareMeterPo floorShareMeterPo = new FloorShareMeterPo();
+            floorShareMeterPo.setFsmId(floorShareReadingDtos.get(0).getFsmId());
+            floorShareMeterPo.setCurReadingTime(floorShareReadingDtos.get(0).getPreReadingTime());
+            floorShareMeterPo.setCurDegree(floorShareReadingDtos.get(0).getPreDegrees());
+            floorShareMeterPo.setCommunityId(floorShareReadingDtos.get(0).getCommunityId());
+            floorShareMeterV1InnerServiceSMOImpl.updateFloorShareMeter(floorShareMeterPo);
+            return ;
+        }
+
+        reqJson.put("staffId",userId);
+        dataBusInnerServiceSMOImpl.databusData(new DatabusDataDto(DatabusDataDto.BUSINESS_TYPE_SHARE_READING, reqJson));
+
+
     }
 }

--
Gitblit v1.8.0