From 53b6400ec10c8ca61ccec91c82c358d2488eead8 Mon Sep 17 00:00:00 2001
From: jiangping <jp@doumee.com>
Date: 星期五, 20 十二月 2024 09:50:39 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'

---
 server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/PlatformJobServiceImpl.java |  159 +++++++++++++++++++++++++++++++
 h5/pages/staff/task/index.vue                                                                            |    1 
 server/visits/dmvisit_service/src/main/java/com/doumee/service/business/PlatformJobService.java          |    7 +
 h5/pages/staffLogin/login.vue                                                                            |    8 +
 h5/pages/staff/index.vue                                                                                 |   27 ++++-
 h5/api/staff.js                                                                                          |    9 +
 h5/utils/service.js                                                                                      |    3 
 h5/pages/driver/reserved.vue                                                                             |    4 
 screen/src/views/LogisticsEfficiency.vue                                                                 |   34 +++---
 server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/VisitsServiceImpl.java      |    1 
 server/system_service/src/main/java/com/doumee/core/utils/DateUtil.java                                  |   15 +++
 screen/src/views/EnergyConsum.vue                                                                        |    8 
 12 files changed, 243 insertions(+), 33 deletions(-)

diff --git a/h5/api/staff.js b/h5/api/staff.js
index f42beec..b7c9605 100644
--- a/h5/api/staff.js
+++ b/h5/api/staff.js
@@ -66,6 +66,15 @@
     data
   })
 }
+//  瑙g粦openId
+export const delHkUserOpenid = (data) => {
+  return http({
+    url: 'visitsAdmin/cloudService/business/hksync/delHkUserOpenid',
+    method: 'post',
+    data
+  })
+}
+
 
 //  闅愭偅闅忔墜鎷� 鍒涘缓
 export const DangerCreate = (data) => {
diff --git a/h5/pages/driver/reserved.vue b/h5/pages/driver/reserved.vue
index 038a5da..a491d06 100644
--- a/h5/pages/driver/reserved.vue
+++ b/h5/pages/driver/reserved.vue
@@ -188,7 +188,9 @@
 					setTimeout(() => {
 						this.showToast('棰勭害鐢宠鎴愬姛')
 					})
-					this.$jump('/pages/driver/reservedRecord')
+					uni.redirectTo({
+						url: '/pages/driver/index'
+					})
 				}
 			})
 		},
diff --git a/h5/pages/staff/index.vue b/h5/pages/staff/index.vue
index 489dbec..20f1ebf 100644
--- a/h5/pages/staff/index.vue
+++ b/h5/pages/staff/index.vue
@@ -53,7 +53,8 @@
 		stagingHead,
 		wxAuthorize,
 		refreshToken,
-		app_url
+		app_url,
+		delHkUserOpenid
 	} from '@/api'
 	export default {
 		data() {
@@ -172,11 +173,25 @@
 			loginOut() {
 				logoutPost({
 					isH5: 1
-				}).then(res => {
-					this.$store.commit('empty')
-					setTimeout(() => {
-						window.location.href = app_url
-					}, 300)
+				}).then(res => {
+					const userInfo = uni.getStorageSync('userInfo')
+					const openId = uni.getStorageSync('openId')
+					this.$store.commit('empty')
+					if(openId){
+						delHkUserOpenid({
+							userName: userInfo.username,
+							openId
+						}).then(ress => {
+							setTimeout(() => {
+								window.location.href = app_url
+							}, 300)
+						})
+					}else{
+						setTimeout(() => {
+							window.location.href = app_url
+						}, 300)
+					}
+					
 				})
 			},
 			getTaskInfo() {
diff --git a/h5/pages/staff/task/index.vue b/h5/pages/staff/task/index.vue
index b29b5df..3939f35 100644
--- a/h5/pages/staff/task/index.vue
+++ b/h5/pages/staff/task/index.vue
@@ -542,6 +542,7 @@
 				  font-weight: 400;
 					color: #999999;
 					width: 120rpx;
+					text-align: right;
 				}
         .loading {
           color: $uni-color-primary;
diff --git a/h5/pages/staffLogin/login.vue b/h5/pages/staffLogin/login.vue
index 3681b31..ddde42d 100644
--- a/h5/pages/staffLogin/login.vue
+++ b/h5/pages/staffLogin/login.vue
@@ -157,8 +157,12 @@
             })
           })
 					saveHkUserOpenid({})
-        }
-      })
+        }else{
+					this.initCaptcha()
+				}
+      }, () => {
+				this.initCaptcha()
+			})
     }
   }
 }
diff --git a/h5/utils/service.js b/h5/utils/service.js
index 0539bd3..a0df64f 100644
--- a/h5/utils/service.js
+++ b/h5/utils/service.js
@@ -48,7 +48,8 @@
 				fail: (err) => {
 					// 椤甸潰涓脊妗嗘樉绀哄け璐�
 					uni.showToast({
-						title: '璇锋眰鎺ュ彛澶辫触'
+						title: '璇锋眰鎺ュ彛澶辫触',
+						icon:"none"
 					})
 
 					// 杩斿洖閿欒娑堟伅
diff --git a/screen/src/views/EnergyConsum.vue b/screen/src/views/EnergyConsum.vue
index 846561a..9229a23 100644
--- a/screen/src/views/EnergyConsum.vue
+++ b/screen/src/views/EnergyConsum.vue
@@ -347,7 +347,7 @@
     xAxis: {
       type: 'category',
       boundaryGap: false,
-      data: data5.value.map(i => i.timeData)
+      data: data5.value.map(i => dayjs(i.timeData).format('M'))
     },
     tooltip: {
       trigger: 'axis',
@@ -483,7 +483,7 @@
       }
     },
     grid: {
-      top: '26%',
+      top: '18%',
       left: '4%',
       right: '2%',
       bottom: '2%',
@@ -577,7 +577,7 @@
 
   myChart.setOption({
     grid: {
-      top: '24%',
+      top: '20%',
       left: '6%',
       right: '2%',
       bottom: '4%',
@@ -591,7 +591,7 @@
     },
     xAxis: {
       type: 'category',
-      data: data2.value.map(i => i.timeData)
+      data: data2.value.map(i => dayjs(i.timeData).format('M'))
     },
     yAxis: {
       type: 'value',
diff --git a/screen/src/views/LogisticsEfficiency.vue b/screen/src/views/LogisticsEfficiency.vue
index ea7a49a..fa890af 100644
--- a/screen/src/views/LogisticsEfficiency.vue
+++ b/screen/src/views/LogisticsEfficiency.vue
@@ -47,7 +47,7 @@
                     data1.monthLastOutTotal) / data1.monthLastOutTotal) * 100).toFixed(1)) }}%</span>
                   <span v-else-if="activeTab1 == 1 && data1.yearLastOutTotal">{{ Math.abs((((data1.yearOutTotal -
                     data1.yearLastOutTotal) / data1.yearLastOutTotal) * 100).toFixed(1)) }}%</span>
-                  <span v-else>-</span>
+                  <span v-else style="margin-left: 10px;">-</span>
                 </div>
               </div>
               <div class="train_wrap">
@@ -137,22 +137,26 @@
                 <img src="@/assets/images/energy_ef/ic_renwuzongliang@2x.png" alt="">
                 <div class="content">
                   <div class="name">褰撳墠浠诲姟閲�</div>
-                  <div class="num"><span>{{ data4.planTaskNum }}</span>涓囨敮</div>
+                  <div class="num"><span>{{ activeTab4 == 0 ? data1.currentOutNum : data1.currentInNum }}</span>涓囨敮</div>
                 </div>
               </div>
               <div class="item">
                 <img src="@/assets/images/energy_ef/ic_wanchengrenwu@2x.png" alt="">
                 <div class="content">
                   <div class="name">褰撴棩瀹屾垚浠诲姟鎬婚噺</div>
-                  <div class="num"><span class="today">{{ data4.finishTaskNum }}</span>涓囨敮</div>
+                  <div class="num"><span v-if="data1.currentOutDoneNum || data1.currentInDoneNum" class="today">{{ activeTab4 == 0 ? data1.currentOutDoneNum :
+                    data1.currentInDoneNum
+                      }}</span>涓囨敮</div>
                 </div>
               </div>
               <div class="item">
                 <img src="@/assets/images/energy_ef/ic_bili@2x.png" alt="">
                 <div class="content">
                   <div class="name">宸插畬鎴愭瘮渚�</div>
-                  <div class="num" v-if="data4.finishTaskNum && data4.planTaskNum"><span class="finish">{{ ((
-                    data4.finishTaskNum / data4.planTaskNum) * 100).toFixed(1) }}%</span>涓囨敮</div>
+                  <div class="num">
+                    <span v-if="activeTab4 == 0 && data1.currentOutNum" class="finish">{{ ((data1.currentOutDoneNum / data1.currentOutNum) * 100).toFixed(1) }}%</span>
+                    <span v-if="activeTab4 == 1 && data1.currentInNum" class="finish">{{ ((data1.currentInDoneNum / data1.currentInNum) * 100).toFixed(1) }}%</span>
+                  </div>
                 </div>
               </div>
             </div>
@@ -870,17 +874,9 @@
     dataList3.value = result
   })
 }
-const data4 = ref({})
 const activeTab4 = ref(0)
 const tabClick4 = (val) => {
   activeTab4.value = val
-  getData4()
-}
-const getData4 = () => {
-  wljobData({ queryType: activeTab4.value }).then(res => {
-    const result = res.data
-    data4.value = result
-  })
 }
 const dataList5 = ref([])
 const data5 = ref(0)
@@ -947,7 +943,7 @@
   getData1()
   getData2()
   getData3()
-  getData4()
+  // getData4()
   getData5()
   getData6()
   getData7()
@@ -994,15 +990,15 @@
           .num {
             margin-right: 10px;
             font-weight: bold;
-            font-size: 46px;
-            height: 44px;
-            line-height: 52px;
+            font-size: 44px;
+            height: 48px;
+            line-height: 50px;
             font-weight: bold;
             color: #00F2F3;
             letter-spacing: 3px;
             background-image: -webkit-linear-gradient(top,
-                #01D9FE 0%,
-                #0177FE 60%,
+                #1cdafb 0%,
+                #0177FE 70%,
                 #0177FE 100%);
             -webkit-background-clip: text;
             -webkit-text-fill-color: transparent;
diff --git a/server/system_service/src/main/java/com/doumee/core/utils/DateUtil.java b/server/system_service/src/main/java/com/doumee/core/utils/DateUtil.java
index afb3039..894d2d5 100644
--- a/server/system_service/src/main/java/com/doumee/core/utils/DateUtil.java
+++ b/server/system_service/src/main/java/com/doumee/core/utils/DateUtil.java
@@ -3405,4 +3405,19 @@
         return dateBeforeDay.toString();
     }
 
+
+    /**
+     * 鑾峰彇X骞村悗鐨勬棩鏈�
+     * @param date
+     * @param beforMonths 涓嬪勾 -1  涓婂勾 1
+     * @return
+     */
+    public static String getBeforYear(Date date,Integer beforMonths){
+        ZonedDateTime zonedDateTime = date.toInstant().atZone(ZoneId.systemDefault());
+        // 杞崲涓簀ava.time.LocalDate,璁$畻x澶╃殑鏃ユ湡
+        LocalDate dateBeforeDay = zonedDateTime.toLocalDate().minusYears(beforMonths);
+        return dateBeforeDay.toString();
+    }
+
+
 }
\ No newline at end of file
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/PlatformJobService.java b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/PlatformJobService.java
index 810cf30..e9eb5d6 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/PlatformJobService.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/PlatformJobService.java
@@ -12,6 +12,7 @@
 import com.doumee.dao.web.response.DriverHomeVO;
 import com.doumee.dao.web.response.LineUpVO;
 import com.doumee.dao.web.response.PlatformWorkVO;
+import com.doumee.dao.web.response.platformReport.WholeProvinceBoardVO;
 
 import java.util.List;
 
@@ -244,4 +245,10 @@
     void timeOutWork();
 
     PlatformJob getLastWaitJob(String uuid, LoginUserInfo loginUser);
+
+    void wholeProvinceCenterData(WholeProvinceBoardVO data);
+
+    void centerDataForInOut(WholeProvinceBoardVO data);
+
+    void centerDataOutInRata(WholeProvinceBoardVO data);
 }
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/PlatformJobServiceImpl.java b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/PlatformJobServiceImpl.java
index 476825c..c13f906 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/PlatformJobServiceImpl.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/PlatformJobServiceImpl.java
@@ -35,6 +35,7 @@
 import com.doumee.dao.web.response.DriverHomeVO;
 import com.doumee.dao.web.response.LineUpVO;
 import com.doumee.dao.web.response.PlatformWorkVO;
+import com.doumee.dao.web.response.platformReport.WholeProvinceBoardVO;
 import com.doumee.service.business.PlatformJobService;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
@@ -2202,6 +2203,164 @@
     }
 
 
+    /**
+     * 绱鍑哄簱閲忕粺璁� - 澶у睆
+     * @param data
+     */
+    @Override
+    public void wholeProvinceCenterData(WholeProvinceBoardVO data){
+//        //绱鏈勾搴﹀嚭搴撻噺
+//        List<PlatformJob> platformJobList = platformJobJoinMapper.selectList(new QueryWrapper<PlatformJob>()
+//                .lambda()
+//                .in(PlatformJob::getStatus,Constants.PlatformJobStatus.DONE
+//                        ,Constants.PlatformJobStatus.AUTHED_LEAVE
+//                        ,Constants.PlatformJobStatus.LEAVED)
+//                .isNotNull(PlatformJob::getDoneDate)
+//                .in(PlatformJob::getType,Constants.platformJobType.wxczh,Constants.platformJobType.zyczh)
+//                .like( PlatformJob::getDoneDate, DateUtil.getFomartDate(new Date(),"yyyy"))
+//        );
+//        data.setYearOutTotal(platformJobList.stream().filter(i->Objects.nonNull(i.getTotalNum())).map(i->i.getTotalNum()).reduce(BigDecimal.ZERO,BigDecimal::add));
+//        data.setYearOutTimes(platformJobList.size());
+//
+//
+//        List<PlatformJob> platformJobsMonthList = platformJobList.stream().filter(i->DateUtil.getFomartDate(i.getDoneDate(),"yyyy-MM").equals(DateUtil.getFomartDate(new Date(),"yyyy-MM"))).collect(Collectors.toList());
+//        data.setMonthOutTotal(platformJobsMonthList.stream().filter(i->Objects.nonNull(i.getTotalNum())).map(i->i.getTotalNum()).reduce(BigDecimal.ZERO,BigDecimal::add));
+//        data.setMonthOutTimes(platformJobsMonthList.size());
+//        String beforYear = DateUtil.getBeforYear(new Date(),1);
+//
+//        //绱鏈勾搴﹀嚭搴撻噺
+//        List<PlatformJob> beforYearPlatformJobList = platformJobJoinMapper.selectList(new QueryWrapper<PlatformJob>()
+//                .lambda()
+//                .in(PlatformJob::getStatus,Constants.PlatformJobStatus.DONE
+//                        ,Constants.PlatformJobStatus.AUTHED_LEAVE
+//                        ,Constants.PlatformJobStatus.LEAVED)
+//                .isNotNull(PlatformJob::getDoneDate)
+//                .in(PlatformJob::getType,Constants.platformJobType.wxczh,Constants.platformJobType.zyczh)
+//                .like( PlatformJob::getDoneDate, beforYear.substring(0,4))
+//        );
+//
+//        List<PlatformJob> beforPlatformJobsMonthList = platformJobList.stream().filter(i->DateUtil.getFomartDate(i.getDoneDate(),"yyyy-MM").equals(beforYear.substring(0,7))).collect(Collectors.toList());
+//        //鍚屾瘮鏁版嵁
+//        data.setYearOutTotalOnYear(beforYearPlatformJobList.stream().filter(i->Objects.nonNull(i.getTotalNum())).map(i->i.getTotalNum()).reduce(BigDecimal.ZERO,BigDecimal::add));
+//        data.setMonthOutTotalOnYear(beforPlatformJobsMonthList.stream().filter(i->Objects.nonNull(i.getTotalNum())).map(i->i.getTotalNum()).reduce(BigDecimal.ZERO,BigDecimal::add));
+//
 
+    }
+
+    @Override
+    public void centerDataForInOut(WholeProvinceBoardVO data){
+//        //浠婃棩瀹屾垚鐨勫嚭鍏ュ簱鎵�鏈夋暟鎹�
+//        List<PlatformJob> platformJobList = platformJobJoinMapper.selectList(new QueryWrapper<PlatformJob>()
+//                .lambda()
+//                .in(PlatformJob::getStatus,Constants.PlatformJobStatus.DONE
+//                        ,Constants.PlatformJobStatus.AUTHED_LEAVE
+//                        ,Constants.PlatformJobStatus.LEAVED)
+//                .like( PlatformJob::getDoneDate, DateUtil.getFomartDate(new Date(),"yyyy-MM-dd"))
+//        );
+//        //浠婃棩涔嬪墠 鎵�鏈夋湭瀹屾垚鐨勫嚭鍏ュ簱鏁版嵁 - WMS鎺ㄩ��
+//        List<PlatformJob> wmsPlatformJobList  = platformJobJoinMapper.selectList(new QueryWrapper<PlatformJob>()
+//                .lambda()
+//                .notIn(PlatformJob::getStatus,Constants.PlatformJobStatus.DONE
+//                        ,Constants.PlatformJobStatus.AUTHED_LEAVE
+//                        ,Constants.PlatformJobStatus.LEAVED
+//                        ,Constants.PlatformJobStatus.CANCEL)
+//                .eq(PlatformJob::getOrigin ,Constants.ONE)
+//                .le(PlatformJob::getCreateDate, DateUtil.getFomartDate(new Date(),"yyyy-MM-dd") +" 23:59:59")
+//        );
+//        //浠婃棩涔嬪墠 鎵�鏈夋湭瀹屾垚鐨勫嚭鍏ュ簱鏁版嵁 - 棰勭害鏁版嵁
+//        List<PlatformJob> bookPlatformJobList  = platformJobJoinMapper.selectList(new QueryWrapper<PlatformJob>()
+//                .lambda()
+//                .notIn(PlatformJob::getStatus,Constants.PlatformJobStatus.DONE
+//                        ,Constants.PlatformJobStatus.AUTHED_LEAVE
+//                        ,Constants.PlatformJobStatus.LEAVED
+//                        ,Constants.PlatformJobStatus.CANCEL)
+//                .eq(PlatformJob::getOrigin ,Constants.ONE)
+//                .le(PlatformJob::getArriveDate, DateUtil.getFomartDate(new Date(),"yyyy-MM-dd") +" 23:59:59")
+//        );
+//
+//        BigDecimal finishOutTotal = platformJobList.stream().filter(i->Objects.nonNull(i.getTotalNum())&&(i.getType().equals(Constants.platformJobType.wxczh)||i.getType().equals(Constants.platformJobType.zyczh))).map(i->i.getTotalNum()).reduce(BigDecimal.ZERO,BigDecimal::add);
+//        BigDecimal unFinishWmsOutTotal = wmsPlatformJobList.stream().filter(i->Objects.nonNull(i.getTotalNum())&&(i.getType().equals(Constants.platformJobType.wxczh)||i.getType().equals(Constants.platformJobType.zyczh))).map(i->i.getTotalNum()).reduce(BigDecimal.ZERO,BigDecimal::add);
+//        BigDecimal unFinishBookOutTotal = bookPlatformJobList.stream().filter(i->Objects.nonNull(i.getTotalNum())&&(i.getType().equals(Constants.platformJobType.wxczh)||i.getType().equals(Constants.platformJobType.zyczh))).map(i->i.getTotalNum()).reduce(BigDecimal.ZERO,BigDecimal::add);
+//
+//        BigDecimal finishInTotal = platformJobList.stream().filter(i->Objects.nonNull(i.getTotalNum())&&(i.getType().equals(Constants.platformJobType.zycxh)||i.getType().equals(Constants.platformJobType.wxcxh)||i.getType().equals(Constants.platformJobType.sgscxh))).map(i->i.getTotalNum()).reduce(BigDecimal.ZERO,BigDecimal::add);
+//        BigDecimal unFinishWmsInTotal = wmsPlatformJobList.stream().filter(i->Objects.nonNull(i.getTotalNum())&&(i.getType().equals(Constants.platformJobType.zycxh)||i.getType().equals(Constants.platformJobType.wxcxh)||i.getType().equals(Constants.platformJobType.sgscxh))).map(i->i.getTotalNum()).reduce(BigDecimal.ZERO,BigDecimal::add);
+//        BigDecimal unFinishBookInTotal = bookPlatformJobList.stream().filter(i->Objects.nonNull(i.getTotalNum())&&(i.getType().equals(Constants.platformJobType.zycxh)||i.getType().equals(Constants.platformJobType.wxcxh)||i.getType().equals(Constants.platformJobType.sgscxh))).map(i->i.getTotalNum()).reduce(BigDecimal.ZERO,BigDecimal::add);
+//
+//        data.setOutTotal(finishOutTotal);
+//        data.setOutPlanTotal(finishOutTotal.add(unFinishWmsOutTotal).add(unFinishBookOutTotal));
+//
+//        data.setInTotal(finishInTotal);
+//        data.setInPlanTotal(finishInTotal.add(unFinishWmsInTotal).add(unFinishBookInTotal));
+
+    }
+
+
+
+
+    @Override
+    public void centerDataOutInRata(WholeProvinceBoardVO data){
+//        //绱鏈湀搴︽墍鏈夋搷浣滈噺
+//        List<PlatformJob> platformJobList = platformJobJoinMapper.selectJoinList(PlatformJob.class,new MPJLambdaWrapper<PlatformJob>()
+//                        .selectAll(PlatformJob.class)
+//                        .select(" ( select ifnull(sum(p.param3),0) from platform_log p where p.obj_id = platform_job.id  ) ",PlatformJob::getWorkTime)
+//                .in(PlatformJob::getStatus,Constants.PlatformJobStatus.DONE
+//                        ,Constants.PlatformJobStatus.AUTHED_LEAVE
+//                        ,Constants.PlatformJobStatus.LEAVED)
+//                .isNotNull(PlatformJob::getDoneDate)
+//                .like( PlatformJob::getDoneDate, DateUtil.getFomartDate(new Date(),"yyyy-MM"))
+//        );
+//
+//        //鑾峰彇鏈湀鎵�鏈夊嚭搴撻噺
+//        BigDecimal monthOutTotal = platformJobList.stream().filter(i->Objects.nonNull(i.getTotalNum())&&(i.getType().equals(Constants.platformJobType.wxczh)||i.getType().equals(Constants.platformJobType.zyczh))).map(i->i.getTotalNum()).reduce(BigDecimal.ZERO,BigDecimal::add);
+//        Long monthOutWorkTotal = platformJobList.stream().filter(i->Objects.nonNull(i.getTotalNum())&&(i.getType().equals(Constants.platformJobType.wxczh)||i.getType().equals(Constants.platformJobType.zyczh))).map(i->i.getWorkTime()).reduce(Long.valueOf(Constants.ZERO),Long::sum);
+//        BigDecimal monthInTotal = platformJobList.stream().filter(i->Objects.nonNull(i.getTotalNum())&&(i.getType().equals(Constants.platformJobType.zycxh)||i.getType().equals(Constants.platformJobType.wxcxh)||i.getType().equals(Constants.platformJobType.sgscxh))).map(i->i.getTotalNum()).reduce(BigDecimal.ZERO,BigDecimal::add);
+//        Long monthInWorkTotal = platformJobList.stream().filter(i->Objects.nonNull(i.getTotalNum())&&(i.getType().equals(Constants.platformJobType.zycxh)||i.getType().equals(Constants.platformJobType.wxcxh)||i.getType().equals(Constants.platformJobType.sgscxh))).map(i->i.getWorkTime()).reduce(Long.valueOf(Constants.ZERO),Long::sum);
+//
+//        data.setMonthOutRata(BigDecimal.ZERO);
+//        //鏈堝害鍑哄簱鏁堢巼
+//        if(Objects.nonNull(monthOutTotal) && Objects.nonNull(monthOutWorkTotal) && monthOutWorkTotal>0L && monthOutTotal.compareTo(BigDecimal.ZERO) > 0){
+//            BigDecimal workTotal = new BigDecimal(monthOutWorkTotal);
+//            data.setMonthOutRata(monthOutTotal.multiply(new BigDecimal(3600)).divide(workTotal,2,BigDecimal.ROUND_UP));
+//        }
+//
+//        //鏈堝害鍏ュ簱鏁堢巼
+//
+//        data.setMonthInRata(BigDecimal.ZERO);
+//        if(Objects.nonNull(monthInTotal) && Objects.nonNull(monthInWorkTotal) && monthInWorkTotal>0L && monthInTotal.compareTo(BigDecimal.ZERO) > 0){
+//            BigDecimal workTotal = new BigDecimal(monthInWorkTotal);
+//            data.setMonthInRata(monthInTotal.multiply(new BigDecimal(3600)).divide(workTotal,2,BigDecimal.ROUND_UP));
+//        }
+//
+//
+//
+//        List<PlatformJob> dayPlatformJobList = platformJobJoinMapper.selectList(new QueryWrapper<PlatformJob>()
+//                .lambda()
+//                .in(PlatformJob::getStatus,Constants.PlatformJobStatus.DONE
+//                        ,Constants.PlatformJobStatus.AUTHED_LEAVE
+//                        ,Constants.PlatformJobStatus.LEAVED)
+//                .isNotNull(PlatformJob::getDoneDate)
+//                .like( PlatformJob::getDoneDate, DateUtil.getFomartDate(new Date(),"yyyy-MM-dd"))
+//        );
+//
+//        BigDecimal dayOutTotal = dayPlatformJobList.stream().filter(i->Objects.nonNull(i.getTotalNum())&&(i.getType().equals(Constants.platformJobType.wxczh)||i.getType().equals(Constants.platformJobType.zyczh))).map(i->i.getTotalNum()).reduce(BigDecimal.ZERO,BigDecimal::add);
+//        Long dayOutWorkTotal = platformJobList.stream().filter(i->Objects.nonNull(i.getTotalNum())&&(i.getType().equals(Constants.platformJobType.wxczh)||i.getType().equals(Constants.platformJobType.zyczh))).map(i->i.getWorkTime()).reduce(Long.valueOf(Constants.ZERO),Long::sum);
+//        BigDecimal dayInTotal = dayPlatformJobList.stream().filter(i->Objects.nonNull(i.getTotalNum())&&(i.getType().equals(Constants.platformJobType.zycxh)||i.getType().equals(Constants.platformJobType.wxcxh)||i.getType().equals(Constants.platformJobType.sgscxh))).map(i->i.getTotalNum()).reduce(BigDecimal.ZERO,BigDecimal::add);
+//        Long dayInWorkTotal = platformJobList.stream().filter(i->Objects.nonNull(i.getTotalNum())&&(i.getType().equals(Constants.platformJobType.zycxh)||i.getType().equals(Constants.platformJobType.wxcxh)||i.getType().equals(Constants.platformJobType.sgscxh))).map(i->i.getWorkTime()).reduce(Long.valueOf(Constants.ZERO),Long::sum);
+//
+//        data.setDayOutRata(BigDecimal.ZERO);
+//        //鏃ュ嚭搴撴晥鐜�
+//        if(Objects.nonNull(dayOutTotal) && Objects.nonNull(dayOutWorkTotal) && dayOutWorkTotal>0L && dayOutTotal.compareTo(BigDecimal.ZERO) > 0){
+//            BigDecimal workTotal = new BigDecimal(dayOutWorkTotal);
+//            data.setDayOutRata(dayOutTotal.multiply(new BigDecimal(3600)).divide(workTotal,2,BigDecimal.ROUND_UP));
+//        }
+//        //鏃ュ叆搴撴晥鐜�
+//        data.setDayInRata(BigDecimal.ZERO);
+//        if(Objects.nonNull(dayInTotal) && Objects.nonNull(dayInWorkTotal) && dayInWorkTotal>0L && dayInTotal.compareTo(BigDecimal.ZERO) > 0){
+//            BigDecimal workTotal = new BigDecimal(dayInWorkTotal);
+//            data.setMonthInRata(dayInTotal.multiply(new BigDecimal(3600)).divide(workTotal,2,BigDecimal.ROUND_UP));
+//        }
+
+
+    }
 
 }
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/VisitsServiceImpl.java b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/VisitsServiceImpl.java
index ebf537c..761b297 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/VisitsServiceImpl.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/VisitsServiceImpl.java
@@ -229,6 +229,7 @@
     @Override
     @Transactional(rollbackFor = {BusinessException.class,Exception.class})
     public Integer createFk(Visits visits,Boolean isERP,Integer source) {
+        visits.setId(null);
         isValidBaseParam(visits);
         //妫�鏌ユ槸鍚﹀繀椤荤瓟棰橈紝骞朵笖绗﹀悎绛旈瑕佹眰
         ProblemLog problemLog = isValidProblemLog(visits,source);

--
Gitblit v1.9.3