From c98f5eee8777711610dfeaf85ad4b7a92d476e6a Mon Sep 17 00:00:00 2001
From: jiangping <jp@doumee.com>
Date: 星期三, 07 五月 2025 18:53:01 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'
---
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/thrid/BoardServiceImpl.java | 296 +++++++++++++++++++++++++++++++++++++++++++++++------------
1 files changed, 235 insertions(+), 61 deletions(-)
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/thrid/BoardServiceImpl.java b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/thrid/BoardServiceImpl.java
index 6225033..4f92786 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/thrid/BoardServiceImpl.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/thrid/BoardServiceImpl.java
@@ -190,7 +190,8 @@
List<WmsInventoryJsonResponse> t= response.getData().get(0).getJson();
if(t!=null &&t.size()>0){
for(WmsInventoryJsonResponse j :t){
- num = num.add (Constants.formatBigdecimal( j.getQty()));
+ //2025骞�4鏈�9鏃�16:46:40 澶勭悊 鍖呭惈鎵樼洏瀛楃溂鐨勬暟鎹� 涓嶈繘琛屽悎璁�
+ num = num.add (j.getItemName().indexOf("鎵樼洏")<Constants.ZERO?Constants.formatBigdecimal( j.getQty()):BigDecimal.ZERO);
GeneralVO d = new GeneralVO();
d.setNum(Constants.formatBigdecimal(j.getQty()));
d.setName(j.getItemName());
@@ -646,6 +647,8 @@
}
/**
* 銆愭秷闃茬鎺с�戠湅鏉�-瀹炴椂鐩戞祴鏁版嵁
+ * 娑插帇鍥哄畾鍊硷細254001
+ * 姘村帇鍥哄畾鍊硷細253958
* @return
*
*/
@@ -655,6 +658,7 @@
MinitorDataSearchRequest param = new MinitorDataSearchRequest();
param.setResourceTypeCodes(new String[]{});
param.setRegionIndexCode("root000000");
+ //60-娑蹭綅 61-姘村帇
param.setResourceTypeCodes("60,61".split(","));
param.setIncludeDown("1");
param.setUserId("admin");
@@ -663,6 +667,8 @@
BaseResponse<BaseListPageResponse<MonitorDataSearchResponse>> response = HKService.minitorDataSearch(param);
String pressure = systemDictDataBiz.queryByCode(Constants.WMS_PARAM,Constants.WMS_PRESSURE_LEVEL).getCode();
String liquid = systemDictDataBiz.queryByCode(Constants.WMS_PARAM,Constants.WMS_LIQUID_LEVEL).getCode();
+ String pressureUnit = systemDictDataBiz.queryByCode(Constants.HK_PARAM,Constants.PRESSURE_LEVEL_UNIT).getCode();
+ String liquidUnit = systemDictDataBiz.queryByCode(Constants.HK_PARAM,Constants.LIQUID_LEVEL_UNIT).getCode();
if(response != null && StringUtils.equals(response.getCode(), HKConstants.RESPONSE_SUCCEE)
&& response.getData()!=null ) {
List<MonitorDataSearchResponse> r = response.getData().getList();
@@ -670,11 +676,15 @@
for(MonitorDataSearchResponse model : r){
MonitorDataVO m = new MonitorDataVO();
m.setName(model.getName());
- m.setLevel(Constants.equalsInteger(model.getType(),60)?liquid:pressure);
+ m.setType(model.getType());
+// m.setLevel(Constants.equalsInteger(model.getType(),60)?liquid:pressure);
+ m.setLevel(getLevelDataByDeviceName(m,model.getName(),Constants.equalsInteger(model.getType(),60)?liquidUnit:pressureUnit));
m.setDataList(new ArrayList<>());
if(model.getValues()!=null){
List<MonitorDataInfoVO> dataList = new ArrayList<>();
for(MonitorDataValResponse v : model.getValues()){
+ //娑插帇鍥哄畾鍊硷細254001
+ //姘村帇鍥哄畾鍊硷細253958
if(Constants.equalsInteger(model.getType(),60)){
if(v.getMonitorTypeCode().equals("254001")){
MonitorDataInfoVO vm = new MonitorDataInfoVO();
@@ -682,7 +692,6 @@
vm.setCateName(v.getMonitorSpecificName());
vm.setCateCode(v.getMonitorTypeKey());
vm.setTypeCode(v.getMonitorTypeCode());
- vm.setTypeName(v.getMonitorTypeName());
dataList.add(vm);
}
}else{
@@ -705,6 +714,46 @@
}
}
return list;
+ }
+
+ private String getLevelDataByDeviceName(MonitorDataVO m,String name,String unit) {
+
+ /**
+ * {
+ * "name":"娑�",
+ * "regionIndexCodes": [
+ * "root000000"
+ * ],
+ * "isSubRegion": true,
+ * "resourceType": "fireSensor",
+ * "pageNo": 1,
+ * "pageSize": 20,
+ * "orderBy": "name",
+ * "orderType": "desc"
+ * }
+ */
+ String r = "";
+
+ ResourcesByParamsRequest param = new ResourcesByParamsRequest();
+ param.setName(name);
+ param.setIsSubRegion(Boolean.TRUE);
+ param.setRegionIndexCodes(new String[]{"root000000"});
+ param.setResourceType("fireSensor");
+ param.setOrderType("desc");
+ param.setOrderBy("name");
+ param.setPageNo(1);
+ param.setPageSize(20);
+ BaseResponse<BaseListPageResponse<ResourcesByParamsResponse>> response = HKService.resourcesByParams(param);
+ if(response != null && StringUtils.equals(response.getCode(), HKConstants.RESPONSE_SUCCEE)
+ && response.getData()!=null ) {
+ String min = response.getData().getList().get(0).getFireproChannelMinValue();
+ String max = response.getData().getList().get(0).getFireproChannelMaxvalue();
+ m.setMax(max);
+ m.setMin(min);
+ r =StringUtils.defaultString(min,"-")+"锝�"+StringUtils.defaultString(max,"-") +unit;
+ }
+ return r;
+
}
@@ -752,6 +801,20 @@
.apply(queryType==0,"to_days(create_date) >= to_days(now()) -7")
.apply(queryType==1,"year(create_date) = year(now()) and month(create_date) = month(now())")
.apply(queryType==2,"year(create_date) = year(now())"));
+
+
+ List<PlatformJob> finishDataList = platformJobMapper.selectJoinList(PlatformJob.class,
+ new MPJLambdaWrapper<PlatformJob>()
+ .selectAs(PlatformJob::getId,PlatformJob::getId)
+ .selectAs(PlatformJob::getCreateDate,PlatformJob::getCreateDate)
+ .selectAs(PlatformJob::getTotalNum,PlatformJob::getTotalNum)
+ .selectAs(PlatformJob::getStatus,PlatformJob::getStatus)
+ .eq(PlatformJob::getIsdeleted,Constants.ZERO)
+ .in(PlatformJob::getStatus,Constants.PlatformJobStatus.DONE.getKey(),Constants.PlatformJobStatus.LEAVED.getKey(),Constants.PlatformJobStatus.AUTHED_LEAVE.getKey())
+ .apply(queryType==0,"to_days(done_date) >= to_days(now()) -7")
+ .apply(queryType==1,"year(done_date) = year(now()) and month(done_date) = month(now())")
+ .apply(queryType==2,"year(done_date) = year(now())"));
+
for (Date date : dayList) {
TransportMeasureVO data = new TransportMeasureVO();
data.setPlanDate(date);
@@ -763,23 +826,34 @@
if(DateUtil.formatDate(date,"yyyy-MM").equals(DateUtil.formatDate(job.getCreateDate(),"yyyy-MM"))){
data.setPlanTimes( data.getPlanTimes() +1);
data.setPlanTaskNum( data.getPlanTaskNum().add(Constants.formatBigdecimal(job.getTotalNum())));
- if(Constants.equalsInteger(job.getStatus(),Constants.PlatformJobStatus.DONE.getKey())
- ||Constants.equalsInteger(job.getStatus(),Constants.PlatformJobStatus.LEAVED.getKey())
- ||Constants.equalsInteger(job.getStatus(),Constants.PlatformJobStatus.AUTHED_LEAVE.getKey())){
- //瀹屾垚鏁�
- data.setFinishTaskNum( data.getFinishTaskNum().add(Constants.formatBigdecimal(job.getTotalNum())));
- }
+// if(Constants.equalsInteger(job.getStatus(),Constants.PlatformJobStatus.DONE.getKey())
+// ||Constants.equalsInteger(job.getStatus(),Constants.PlatformJobStatus.LEAVED.getKey())
+// ||Constants.equalsInteger(job.getStatus(),Constants.PlatformJobStatus.AUTHED_LEAVE.getKey())){
+// //瀹屾垚鏁�
+// data.setFinishTaskNum( data.getFinishTaskNum().add(Constants.formatBigdecimal(job.getTotalNum())));
+// }
}
}else{
if(DateUtil.formatDate(date,"yyyy-MM-dd").equals(DateUtil.formatDate(job.getCreateDate(),"yyyy-MM-dd"))){
data.setPlanTimes( data.getPlanTimes() +1);
data.setPlanTaskNum( data.getPlanTaskNum().add(Constants.formatBigdecimal(job.getTotalNum())));
- if(Constants.equalsInteger(job.getStatus(),Constants.PlatformJobStatus.DONE.getKey())
- ||Constants.equalsInteger(job.getStatus(),Constants.PlatformJobStatus.LEAVED.getKey())
- ||Constants.equalsInteger(job.getStatus(),Constants.PlatformJobStatus.AUTHED_LEAVE.getKey())){
- //瀹屾垚鏁�
+// if(Constants.equalsInteger(job.getStatus(),Constants.PlatformJobStatus.DONE.getKey())
+// ||Constants.equalsInteger(job.getStatus(),Constants.PlatformJobStatus.LEAVED.getKey())
+// ||Constants.equalsInteger(job.getStatus(),Constants.PlatformJobStatus.AUTHED_LEAVE.getKey())){
+// //瀹屾垚鏁�
+// data.setFinishTaskNum( data.getFinishTaskNum().add(Constants.formatBigdecimal(job.getTotalNum())));
+// }
+ }
+ }
+ }
+ for (PlatformJob job :finishDataList) {
+ if(queryType == 2){
+ if(DateUtil.formatDate(date,"yyyy-MM").equals(DateUtil.formatDate(job.getDoneDate(),"yyyy-MM"))){
data.setFinishTaskNum( data.getFinishTaskNum().add(Constants.formatBigdecimal(job.getTotalNum())));
- }
+ }
+ }else{
+ if(DateUtil.formatDate(date,"yyyy-MM-dd").equals(DateUtil.formatDate(job.getDoneDate(),"yyyy-MM-dd"))){
+ data.setFinishTaskNum( data.getFinishTaskNum().add(Constants.formatBigdecimal(job.getTotalNum())));
}
}
}
@@ -952,10 +1026,11 @@
Date lastYear = DateUtil.addYearToDate(year,-1);//鍘诲勾
List<PlatformJob> monthNum = platformJobMapper.selectJoinList(PlatformJob.class,
new MPJLambdaWrapper<PlatformJob>()
- .selectAs(PlatformJob::getId,PlatformJob::getId)
- .select(PlatformJob::getType,PlatformJob::getType)
- .select(PlatformJob::getTotalNum,PlatformJob::getTotalNum)
- .select(PlatformJob::getStatus,PlatformJob::getStatus)
+ .selectAs(PlatformJob::getId,PlatformJob::getId)
+ .selectAs(PlatformJob::getTotalNum,PlatformJob::getTotalNum)
+ .selectAs(PlatformJob::getDoneDate,PlatformJob::getDoneDate)
+ .select(PlatformJob::getStatus,PlatformJob::getStatus)
+ .select(PlatformJob::getType,PlatformJob::getType)
.eq(PlatformJob::getIsdeleted,Constants.ZERO)
.in(PlatformJob::getType,Constants.ONE,Constants.THREE)
.in(PlatformJob::getStatus,Constants.PlatformJobStatus.DONE.getKey(),
@@ -1014,11 +1089,11 @@
.select(PlatformJob::getTotalNum,PlatformJob::getTotalNum)
// .select("select sum(io_qty) from platform_wms_details a where a.isdeleted=0 and a.job_id=t.id",create_date)
.eq(PlatformJob::getIsdeleted,Constants.ZERO)
- .notIn(PlatformJob::getStatus,Constants.PlatformJobStatus.DONE.getKey()
- ,Constants.PlatformJobStatus.LEAVED.getKey()
- ,Constants.PlatformJobStatus.AUTHED_LEAVE.getKey()
- ,Constants.PlatformJobStatus.CALLED.getKey())
- .apply(" to_days(create_date) <to_days(now())"));
+ .notIn(PlatformJob::getStatus,Constants.PlatformJobStatus.DONE.getKey(),
+ Constants.PlatformJobStatus.LEAVED.getKey(),Constants.PlatformJobStatus.AUTHED_LEAVE.getKey()
+ ,Constants.PlatformJobStatus.CANCEL.getKey())
+ .apply(" to_days(create_date) < to_days(now()) ")
+ );
//==========浠婂ぉ鍑哄叆搴撳畬鎴愰噺
List<PlatformJob> currentDoneNum = platformJobMapper.selectJoinList(PlatformJob.class,
@@ -1029,9 +1104,10 @@
.select(PlatformJob::getTotalNum,PlatformJob::getTotalNum)
// .select("select sum(io_qty) from platform_wms_details a where a.isdeleted=0 and a.job_id=t.id",create_date)
.eq(PlatformJob::getIsdeleted,Constants.ZERO)
- .notIn(PlatformJob::getStatus,Constants.PlatformJobStatus.CALLED.getKey())
+ .notIn(PlatformJob::getStatus,Constants.PlatformJobStatus.CANCEL.getKey())
.apply(" to_days(done_date) = to_days(now())"));
- //==========浠婂ぉ涓嬪彂鍑哄叆搴撲换鍔�----
+
+ //==========浠婂ぉ涓嬪彂鍑哄叆搴撲换鍔� 鏈畬鎴愮殑----
List<PlatformJob> currentNum = platformJobMapper.selectJoinList(PlatformJob.class,
new MPJLambdaWrapper<PlatformJob>()
.selectAs(PlatformJob::getId,PlatformJob::getId)
@@ -1040,38 +1116,42 @@
.select(PlatformJob::getTotalNum,PlatformJob::getTotalNum)
// .select("select sum(io_qty) from platform_wms_details a where a.isdeleted=0 and a.job_id=t.id",create_date)
.eq(PlatformJob::getIsdeleted,Constants.ZERO)
- .notIn(PlatformJob::getStatus,Constants.PlatformJobStatus.CALLED.getKey())
- .apply(" to_days(create_date) = to_days(now())"));
+ .notIn(PlatformJob::getStatus,Constants.PlatformJobStatus.CANCEL.getKey())
+ .apply(" to_days(create_date) = to_days(now()) and done_date is null "));
BigDecimal beforeOutNum = (getSumTotalByList(beforeJobNum,0,null));//浠婂ぉ涔嬪墠鏈畬鎴愬嚭搴撲换鍔�
BigDecimal currentOutNum = (getSumTotalByList(currentNum,0,null));//浠婂ぉ涓嬪彂鍑哄簱浠诲姟
BigDecimal beforeInNum = (getSumTotalByList(beforeJobNum,1,null));//浠婂ぉ涔嬪墠鏈畬鎴愬叆搴撲换鍔�
BigDecimal currentInNum = (getSumTotalByList(currentNum,1,null));//浠婂ぉ涓嬪彂鍏ュ簱浠诲姟
- data.setCurrentInNum(beforeInNum.add(currentInNum));//褰撳墠鍏ュ簱鎬讳换鍔℃垚閲�
- data.setCurrentOutNum(beforeOutNum.add(currentOutNum));//褰撳墠鍑哄簱鎬讳换鍔℃垚閲�
data.setCurrentInDoneNum(getSumTotalByList(currentDoneNum,1,1));//浠婃棩瀹屾垚閲�
data.setCurrentOutDoneNum(getSumTotalByList(currentDoneNum,0,1));//浠婃棩瀹屾垚閲�
-
- //------------浠婃棩鍑哄叆搴撴晥鐜�----------------
- BigDecimal outHours = getTotalDoneTimes(currentDoneNum,0);//
- BigDecimal inHours = getTotalDoneTimes(currentDoneNum,1);//
- if(outHours.compareTo(new BigDecimal(0))>0){
- data.setTodayOutRate(data.getCurrentOutDoneNum().divide(outHours,2));//褰撳墠鍏ュ簱鎬讳换鍔℃垚閲�
- }
- if(inHours.compareTo(new BigDecimal(0))>0){
- data.setTodayInRate(data.getCurrentInDoneNum().divide(inHours,2));//褰撳墠鍏ュ簱鎬讳换鍔℃垚閲�
- }
+ data.setCurrentInNum(beforeInNum.add(data.getCurrentInDoneNum()).add(currentInNum));//褰撳墠鍏ュ簱鎬讳换鍔℃垚閲�
+ data.setCurrentOutNum(beforeOutNum.add(data.getCurrentOutDoneNum()).add(currentOutNum));//褰撳墠鍑哄簱鎬讳换鍔℃垚閲�
+ data.setTodayOutRate(getDayTotalRata(data.getCurrentOutDoneNum(),DateUtil.getToday()));//褰撴棩鍑哄簱鏁堢巼
+ data.setTodayInRate(getDayTotalRata(data.getCurrentInDoneNum(),DateUtil.getToday()));//褰撴棩鍏ュ簱鏁堢巼
+ data.setMonthOutRate(getMonthRata(monthNum,Constants.ZERO));//鏈湀鍑哄簱鏁堢巼
+ data.setMonthInRate(getMonthRata(monthNum,Constants.ONE));//鏈湀鍑哄簱鏁堢巼
+ //------------浠婃棩鍑哄叆搴撴晥鐜�----------------
+// BigDecimal outHours = getTotalDoneTimes(currentDoneNum,0);//
+// BigDecimal inHours = getTotalDoneTimes(currentDoneNum,1);//
+//
+// if(outHours.compareTo(new BigDecimal(0))>0){
+// data.setTodayOutRate(data.getCurrentOutDoneNum().divide(outHours,2));//褰撳墠鍏ュ簱鎬讳换鍔℃垚閲�
+// }
+// if(inHours.compareTo(new BigDecimal(0))>0){
+// data.setTodayInRate(data.getCurrentInDoneNum().divide(inHours,2));//褰撳墠鍏ュ簱鎬讳换鍔℃垚閲�
+// }
//------------鏈湀鍑哄叆搴撴晥鐜�----------------
// BigDecimal outMonthNum = getSumTotalByList(monthNum,0,null).add(data.getCurrentOutDoneNum());
- BigDecimal inMonthNum = getSumTotalByList(monthNum,1,null).add(data.getCurrentInDoneNum());
- BigDecimal outMonthHours = getTotalDoneTimes(monthNum,0).add(outHours);//
- BigDecimal inMonthHours = getTotalDoneTimes(monthNum,1).add(inHours);//
- if(outMonthHours.compareTo(new BigDecimal(0))>0){
- data.setMonthOutRate(data.getMonthOutTotal().divide(outMonthHours,0,BigDecimal.ROUND_HALF_UP));//鏈湀鍏ュ簱鏁堢巼
- }
- if(inMonthHours.compareTo(new BigDecimal(0))>0){
- data.setMonthInRate(inMonthNum.divide(inMonthHours,0,BigDecimal.ROUND_HALF_UP));//鏈湀鍏ュ簱鏁堢巼
- }
+// BigDecimal inMonthNum = getSumTotalByList(monthNum,1,null).add(data.getCurrentInDoneNum());
+// BigDecimal outMonthHours = getTotalDoneTimes(monthNum,0).add(outHours);//
+// BigDecimal inMonthHours = getTotalDoneTimes(monthNum,1).add(inHours);//
+// if(outMonthHours.compareTo(new BigDecimal(0))>0){
+// data.setMonthOutRate(data.getMonthOutTotal().divide(outMonthHours,0,BigDecimal.ROUND_HALF_UP));//鏈湀鍑哄簱鏁堢巼
+// }
+// if(inMonthHours.compareTo(new BigDecimal(0))>0){
+// data.setMonthInRate(inMonthNum.divide(inMonthHours,0,BigDecimal.ROUND_HALF_UP));//鏈湀鍏ュ簱鏁堢巼
+// }
return data;
}
@@ -1083,10 +1163,9 @@
if(platformLogList!=null && platformLogList.size()>0){
return new BigDecimal((double)(platformLogList.stream().map(m->Long.valueOf(m.getParam3())).reduce(Long.valueOf(0),Long::sum))/(double)60);
}
-
return new BigDecimal(0);
-
}
+
private BigDecimal getTotalDoneTimes(List<PlatformJob> list, Integer type) {
BigDecimal r = new BigDecimal(0);
if(list==null || list.size() == 0){
@@ -1121,6 +1200,98 @@
}
return r;
}
+
+
+ private BigDecimal getMonthRata(List<PlatformJob> list, Integer type) {
+ BigDecimal r = new BigDecimal(0);
+ if(list==null || list.size() == 0){
+ return r;
+ }
+ List<PlatformJob> jobList= new ArrayList<>();
+ for(PlatformJob job : list) {
+ if (!(Constants.equalsInteger(job.getStatus(), Constants.PlatformJobStatus.DONE.getKey())
+ || Constants.equalsInteger(job.getStatus(), Constants.PlatformJobStatus.LEAVED.getKey())
+ || Constants.equalsInteger(job.getStatus(), Constants.PlatformJobStatus.AUTHED_LEAVE.getKey()))) {
+ //鍙煡璇㈠畬鎴愭暟鎹�
+ continue;
+ }
+ if (type != null && type == 0 && (Constants.equalsInteger(job.getType(), Constants.ONE) || Constants.equalsInteger(job.getType(), Constants.THREE))) {
+ //鍑哄簱
+ jobList.add(job);
+ }
+ if (type != null && type == 1 && (Constants.equalsInteger(job.getType(), Constants.ZERO) || Constants.equalsInteger(job.getType(), Constants.TWO) || Constants.equalsInteger(job.getType(), Constants.FOUR))) {
+ //鍏ュ簱
+ jobList.add(job);
+ }
+ }
+ if(CollectionUtils.isNotEmpty(jobList)){
+ //鑾峰彇浠诲姟鏁版嵁
+ List<String> jobDataList = jobList.stream().filter(i->Objects.nonNull(i.getDoneDate()))
+ .map(i->DateUtil.formatDate(i.getDoneDate(),"yyyy-MM-dd")).collect(Collectors.toList());
+ if(CollectionUtils.isNotEmpty(jobDataList)){
+ for (String jobDate:jobDataList) {
+ //杩囨护褰撳ぉ鐨勬暟鎹�
+ List<PlatformJob> platformJobList = list.stream().
+ filter(i->jobDate.equals(DateUtil.formatDate(i.getDoneDate(),"yyyy-MM-dd"))).collect(Collectors.toList());
+ if(CollectionUtils.isNotEmpty(platformJobList)){
+ //鑾峰彇浠婂ぉ鐨�
+ r = r.add(this.getDayTotalRata(getSumTotalByList(platformJobList,type,null),jobDate));
+ }
+ }
+ r = r.divide(new BigDecimal(Integer.toString(jobList.size())),2,BigDecimal.ROUND_HALF_UP);
+ }
+ }
+ return r;
+ }
+
+
+ private BigDecimal getDayTotalRata(BigDecimal totalAmount,String today) {
+ BigDecimal r = new BigDecimal(0);
+ //鏌ヨ浠婃棩鏈�鏃�/鏈�鏅氱殑浣滀笟鏁版嵁
+ List<PlatformLog> platformLogList = platformLogMapper.selectList(new QueryWrapper<PlatformLog>()
+ .lambda()
+ .apply(" ( DATE_FORMAT( param1 ,'%Y-%m-%d' ) = '"+today+"' or DATE_FORMAT( param2 ,'%Y-%m-%d' ) = '"+today+"' ) ")
+ );
+ if(totalAmount.compareTo(BigDecimal.ZERO)==0||CollectionUtils.isEmpty(platformLogList)){
+ return BigDecimal.ZERO;
+ }
+ if(platformLogList!=null && platformLogList.size()>0){
+ return this.getWorkTime(totalAmount,platformLogList);
+ }
+ return r;
+ }
+
+ /**
+ * 鏌ヨ浣滀笟鏃堕暱锛堝皬鏃讹級
+ * @param totalAmount
+ * @param platformLogList
+ * @return
+ */
+ public BigDecimal getWorkTime(BigDecimal totalAmount,List<PlatformLog> platformLogList){
+ if(CollectionUtils.isEmpty(platformLogList)){
+ return BigDecimal.ZERO;
+ }
+ //鑾峰彇寮�濮嬫椂闂�
+ List<Long> startTimeList = platformLogList.stream().filter(i->Objects.nonNull(i.getParam1())).map(i->DateUtil.fromStringToDate("yyyy-MM-dd HH:mm:ss",i.getParam1()).getTime()).collect(Collectors.toList());
+ Long startTime = Collections.min(startTimeList);
+ //鑾峰彇缁撴潫鏃堕棿
+ List<Long> endTimeList = platformLogList.stream().filter(i->Objects.nonNull(i.getParam2())).map(i->DateUtil.fromStringToDate("yyyy-MM-dd HH:mm:ss",i.getParam2()).getTime()).collect(Collectors.toList());
+ Long endTime = Collections.max(endTimeList);
+ if(Objects.isNull(startTime)
+ || Objects.isNull(endTime) || (startTime>=endTime)){
+ return BigDecimal.ZERO;
+ }
+ return totalAmount.divide(new BigDecimal(( endTime - startTime )+"").divide(new BigDecimal("3600000"),2,BigDecimal.ROUND_HALF_UP),2,BigDecimal.ROUND_HALF_UP) ;
+ }
+
+
+
+
+
+
+
+
+
private BigDecimal getSumTotalByList(List<PlatformJob> list,Integer type,Integer status) {
BigDecimal r = new BigDecimal(0);
@@ -1745,11 +1916,10 @@
@Override
public VisitDataVO visitSecurityData(){
//寰呰闂�佸凡鐧昏銆佸凡绂诲紑
-
VisitDataVO result = new VisitDataVO();
result.setWaitVisitNum(visitsJoinMapper.selectCount(new MPJLambdaWrapper<Visits>()
.eq(Visits::getIsdeleted,Constants.ZERO)
- .apply("to_days(create_date)=to_days(now())")
+ .apply(" now() > STARTTIME and now() < ENDTIME")
.in(Visits::getStatus,Constants.VisitStatus.pass,Constants.VisitStatus.xfSuccess )));//寰呰闂�
result.setRegisterVisitNum(visitsJoinMapper.selectCount(new MPJLambdaWrapper<Visits>()
.eq(Visits::getIsdeleted,Constants.ZERO)
@@ -1826,11 +1996,11 @@
);
//鍦ㄥ洯闀挎湡鐩稿叧鏂逛汉鏁�
data.setRelatedTotal(
- (int) retentionList.stream().filter(i->Constants.equalsInteger(i.getType(),Constants.TWO) && Constants.equalsInteger(i.getCompanyType(),Constants.ZERO)).count()
+ (int) retentionList.stream().filter(i->Constants.equalsInteger(i.getType(),Constants.FOUR) ).count()
);
//鍦ㄥ洯鍐呴儴鍛樺伐浜烘暟
data.setInternalTotal(
- (int) retentionList.stream().filter(i->Constants.equalsInteger(i.getType(),Constants.TWO) && Constants.equalsInteger(i.getCompanyType(),Constants.ONE)).count()
+ (int) retentionList.stream().filter(i->Constants.equalsInteger(i.getType(),Constants.TWO) ).count()
);
//鍦ㄥ洯璁垮鏁伴噺
data.setVisitTotal(
@@ -1840,7 +2010,11 @@
data.setInParkCarTotal(
(int) retentionList.stream().filter(i->Constants.equalsInteger(i.getType(),Constants.THREE)).count()
);
- //鍦ㄥ洯鐩稿叧鏂硅溅杈�
+ //鍦ㄥ洯杞﹁締
+ data.setInParkCarUserTotal(
+ (int) retentionList.stream().filter(i->Constants.equalsInteger(i.getType(),Constants.FIVE)).count()
+ );
+ /* //鍦ㄥ洯鐩稿叧鏂硅溅杈�
data.setRelatedCarTotal(
(int) retentionList.stream().filter(i->Constants.equalsInteger(i.getType(),Constants.THREE)
&&Constants.equalsInteger(i.getCarType(),Constants.RetentionCarType.relation)).count()
@@ -1849,26 +2023,26 @@
data.setInternalCarTotal(
(int) retentionList.stream().filter(i->Constants.equalsInteger(i.getType(),Constants.THREE)
&&Constants.equalsInteger(i.getCarType(),Constants.RetentionCarType.internal)).count()
- );
+ );*/
//鏉ヨ杞﹁締
data.setVisitCarTotal(
(int) retentionList.stream().filter(i->Constants.equalsInteger(i.getType(),Constants.THREE)
- &&Constants.equalsInteger(i.getCarType(),Constants.RetentionCarType.visitor)).count()
+ &&Constants.equalsInteger(i.getCarType(),Constants.RetentionCarType.fkCar)).count()
);
//鑷敱鐗╂祦杞︽暟閲�
data.setVisitCarTotal(
(int) retentionList.stream().filter(i->Constants.equalsInteger(i.getType(),Constants.THREE)
- &&Constants.equalsInteger(i.getCarType(),Constants.RetentionCarType.selfTruck)).count()
+ &&Constants.equalsInteger(i.getCarType(),Constants.RetentionCarType.atwlzyCar)).count()
);
//甯傚叕鍙稿嵏璐ц溅鏁伴噺
data.setInternalJobCarTotal(
(int) retentionList.stream().filter(i->Constants.equalsInteger(i.getType(),Constants.THREE)
- &&Constants.equalsInteger(i.getCarType(),Constants.RetentionCarType.cityComTruck)).count()
+ &&Constants.equalsInteger(i.getCarType(),Constants.RetentionCarType.sgsxhCar)).count()
);
//澶栧崗杞︽暟閲�
data.setRelatedJobCarTotal(
(int) retentionList.stream().filter(i->Constants.equalsInteger(i.getType(),Constants.THREE)
- &&Constants.equalsInteger(i.getCarType(),Constants.RetentionCarType.outTruck)).count()
+ &&Constants.equalsInteger(i.getCarType(),Constants.RetentionCarType.wxysCar)).count()
);
data.setVideoPluginUrl(getVideoUrl());
return data;
@@ -1914,7 +2088,7 @@
.in(PlatformJob ::getStatus,new Integer[]{Constants.PlatformJobStatus.WORKING.getKey(),Constants.PlatformJobStatus.CALLED.getKey() })
// .leftJoin(Platform.class,Platform::getId,PlatformJob::getPlatformId)
.orderByDesc(PlatformJob::getStatus )
- .orderByAsc(PlatformJob::getId )
+ .orderByAsc(PlatformJob::getSortnum )
);
List<PlatformDevice> platformDevices = platformDeviceMapper.selectList(new QueryWrapper<PlatformDevice>().lambda().eq(PlatformDevice::getType,Constants.ONE)
.eq(PlatformDevice::getIsdeleted,Constants.ZERO).isNotNull(PlatformDevice::getDeviceId));
--
Gitblit v1.9.3