From b33f2e78ffd4fd401698b84a33dc3c293793c62f Mon Sep 17 00:00:00 2001 From: jiangping <jp@doumee.com> Date: 星期二, 18 二月 2025 16:22:33 +0800 Subject: [PATCH] 最新版本541200007 --- server/visits/dmvisit_service/src/main/java/com/doumee/dao/web/response/PlatformWorkVO.java | 4 server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/MemberServiceImpl.java | 3 admin/src/views/business/visits.vue | 6 h5/pages/staff/index.vue | 44 +++--- server/system_timer/src/main/resources/logback-spring.xml | 61 ++++++++++ server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/HiddenDangerServiceImpl.java | 25 ++++ server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/PlatformJobServiceImpl.java | 48 ++++--- server/system_service/src/main/java/com/doumee/core/annotation/excel/ExcelImporter.java | 40 ++++++ server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/PlatformGroupServiceImpl.java | 2 server/visits/dmvisit_service/src/main/java/com/doumee/core/haikang/model/HKConstants.java | 1 admin/src/views/vehicle/cars.vue | 2 server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/thrid/BoardServiceImpl.java | 22 +-- server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/TmsCloudController.java | 5 server/visits/dmvisit_service/src/main/java/com/doumee/core/haikang/service/HKService.java | 36 ++++++ admin/src/views/meeting/bookings.vue | 13 +- server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/VisitsServiceImpl.java | 11 + server/visits/dmvisit_service/src/main/java/com/doumee/core/haikang/model/HKTools.java | 16 ++ server/visits/dmvisit_service/src/main/java/com/doumee/core/wx/wxPlat/WxPlatNotice.java | 6 18 files changed, 268 insertions(+), 77 deletions(-) diff --git a/admin/src/views/business/visits.vue b/admin/src/views/business/visits.vue index 6e28c5b..bf7cde0 100644 --- a/admin/src/views/business/visits.vue +++ b/admin/src/views/business/visits.vue @@ -89,9 +89,9 @@ <el-table-column v-if="containPermissions(['business:visits:update', 'business:visits:delete'])" label="鎿嶄綔" min-width="200" fixed="right"> <template slot-scope="{row}"> - <el-button type="text" @click="departure(row.id)" icon="el-icon-delete" style="color: red" v-if="row.status == 7">绂诲巶</el-button> - <el-button type="text" @click="cancel(row.id)" v-permissions="['business:visits:cancel']" - icon="el-icon-delete" style="color: red" v-if="row.status == 5">鍙栨秷棰勭害</el-button> + <el-button type="text" @click="departure(row.id)" icon="el-icon-delete" style="color: red" v-if="row.status == 7">绂诲満</el-button> + <!-- <el-button type="text" @click="cancel(row.id)" v-permissions="['business:visits:cancel']" + icon="el-icon-delete" style="color: red" v-if="row.status == 5">鍙栨秷棰勭害</el-button>--> <el-button type="text" @click="resend(row.id)" v-permissions="['business:visits:update']" icon="el-icon-edit" v-if="row.status == 6">閲嶆柊涓嬪彂</el-button> <!-- <el-button type="text" @click="$refs.OperaVisitsDesWindow.open('璇︽儏', row.id)" icon="el-icon-view">璇︽儏</el-button> --> diff --git a/admin/src/views/meeting/bookings.vue b/admin/src/views/meeting/bookings.vue index bd9aea8..882ef72 100644 --- a/admin/src/views/meeting/bookings.vue +++ b/admin/src/views/meeting/bookings.vue @@ -102,13 +102,11 @@ <template slot-scope="{ row }"> <template> <el-button type="text" @click="$refs.operaBookingsDetailWindow.open('浼氳璇︽儏', row)">鏌ョ湅璇︽儏</el-button> - <el-button v-if="row.meetingStatus == '1'" type="text" - @click="$refs.operaBookingsWindow.open('缂栬緫浼氳棰勭害', row)" - v-permissions="['business:bookings:update']">缂栬緫</el-button> - <el-button type="text" v-if="row.meetingStatus == '1' || row.meetingStatus == '4'" @click="handleStart(row)">寮�濮�</el-button> - <el-button type="text" v-if="row.meetingStatus == '2'" @click="handleEnd(row)">缁撴潫</el-button> - <el-button v-if="row.meetingStatus == '1' || row.meetingStatus == '4'" type="text" @click="cancelMeeting(row.id)" - v-permissions="['business:bookings:update']">鎾ゅ洖</el-button> + <el-button v-if="row.meetingStatus == '1' && row.creator===userInfo.id" type="text" + @click="$refs.operaBookingsWindow.open('缂栬緫浼氳棰勭害', row)" >缂栬緫</el-button> + <el-button type="text" v-if="row.creator===userInfo.id &&(row.meetingStatus == '1' || row.meetingStatus == '4')" @click="handleStart(row)">寮�濮�</el-button> + <el-button type="text" v-if="row.creator===userInfo.id && row.meetingStatus == '2'" @click="handleEnd(row)">缁撴潫</el-button> + <el-button v-if="row.creator===userInfo.id &&(row.meetingStatus == '1' || row.meetingStatus == '4')" type="text" @click="cancelMeeting(row.id)">鎾ゅ洖</el-button> </template> <!-- <el-button v-else type="text" @click="deleteById(row)" v-permissions="['business:bookings:delete']">鍒犻櫎</el-button> --> </template> @@ -142,6 +140,7 @@ data() { return { date: [], + userInfo: this.$store.state.userInfo, // 鎼滅储 searchForm: { roomId: '', diff --git a/admin/src/views/vehicle/cars.vue b/admin/src/views/vehicle/cars.vue index 5243461..2d74182 100644 --- a/admin/src/views/vehicle/cars.vue +++ b/admin/src/views/vehicle/cars.vue @@ -45,7 +45,7 @@ v-permissions="['business:cars:create', 'business:cars:exportExcel', 'business:parkBook:create']"> <li><el-button type="primary" @click="handleEdit" icon="el-icon-plus" v-permissions="['business:cars:create']">鏂板缓</el-button></li> - <li><el-button type="primary" @click="$refs.OperaCarsImportWindowRef.open('浜哄憳瀵煎叆', searchForm.companyType)" v-permissions="['business:cars:create']">杞﹁締瀵煎叆</el-button> + <li><el-button type="primary" @click="$refs.OperaCarsImportWindowRef.open('杞﹁締瀵煎叆', searchForm.companyType)" v-permissions="['business:cars:create']">杞﹁締瀵煎叆</el-button> </li> <li><el-button type="primary" @click="exportExcel" v-permissions="['business:cars:exportExcel']">瀵煎嚭</el-button> </li> diff --git a/h5/pages/staff/index.vue b/h5/pages/staff/index.vue index 17ea5a9..d9c3472 100644 --- a/h5/pages/staff/index.vue +++ b/h5/pages/staff/index.vue @@ -53,7 +53,7 @@ stagingHead, wxAuthorize, refreshToken, - app_url, + app_url, delHkUserOpenid } from '@/api' export default { @@ -145,7 +145,7 @@ } else if (yw == 7) { this.jump('/pages/staff/task/driver?id=' + ywinfo.ywid) } else if (yw == 5) { - this.jump('/pages/staff/vehicle/sendACarDetail') + this.jump('/pages/staff/vehicle/sendACarDetail?id=' + ywinfo.ywid) } }, 100) } @@ -173,25 +173,25 @@ loginOut() { logoutPost({ isH5: 1 - }).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) - } - + }).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() { @@ -328,4 +328,4 @@ height: 40rpx; } } -</style> \ No newline at end of file +</style> diff --git a/server/system_service/src/main/java/com/doumee/core/annotation/excel/ExcelImporter.java b/server/system_service/src/main/java/com/doumee/core/annotation/excel/ExcelImporter.java index d3c494c..f8f067c 100644 --- a/server/system_service/src/main/java/com/doumee/core/annotation/excel/ExcelImporter.java +++ b/server/system_service/src/main/java/com/doumee/core/annotation/excel/ExcelImporter.java @@ -38,6 +38,10 @@ * 鏍囬琛屽彿 */ private int headerNum; + /** + * 鏍囬琛屽彿 + */ + private CellType changeType; /** * 鏋勯�犲嚱鏁� @@ -101,6 +105,18 @@ throws InvalidFormatException, IOException { this(multipartFile.getOriginalFilename(), multipartFile.getInputStream(), headerNum, sheetIndex); } + /** + * 鏋勯�犲嚱鏁� (閲嶈) + * @param--file 瀵煎叆鏂囦欢瀵硅薄 + * @param headerNum 鏍囬琛屽彿锛屾暟鎹鍙�=鏍囬琛屽彿+1 + * @param sheetIndex 宸ヤ綔琛ㄧ紪鍙� + * @throws InvalidFormatException + * @throws IOException + */ + public ExcelImporter(MultipartFile multipartFile, int headerNum, int sheetIndex, CellType cellType) + throws InvalidFormatException, IOException { + this(multipartFile.getOriginalFilename(), multipartFile.getInputStream(), headerNum, sheetIndex,cellType); + } /** * 鏋勯�犲嚱鏁� 锛堬級 @@ -128,6 +144,27 @@ this.headerNum = headerNum; log.debug("Initialize success."); } + public ExcelImporter(String fileName, InputStream in, int headerNum, int sheetIndex,CellType cellType) + throws InvalidFormatException, IOException { + if (StringUtils.isBlank(fileName)){ + throw new RuntimeException("瀵煎叆鏂囨。涓虹┖!"); + }else if(fileName.toLowerCase().endsWith("xls")){ + this.wb = new HSSFWorkbook(in); + }else if(fileName.toLowerCase().endsWith("xlsx")){ + this.wb = new XSSFWorkbook(in); + }else{ + throw new RuntimeException("鏂囨。鏍煎紡涓嶆纭�!"); + } + if (this.wb.getNumberOfSheets()<sheetIndex){ + throw new RuntimeException("鏂囨。涓病鏈夊伐浣滆〃!"); + } + this.sheet = this.wb.getSheetAt(sheetIndex); + this.headerNum = headerNum; + this.changeType = cellType; + log.debug("Initialize success."); + } + + /** * 鑾峰彇琛屽璞� @@ -174,7 +211,8 @@ Cell cell = row.getCell(column); if (cell != null){ if (cell.getCellType() == CellType.NUMERIC){ - val = cell.getNumericCellValue(); + cell.setCellType(CellType.STRING); // 纭繚鍗曞厓鏍肩被鍨嬩负瀛楃涓� + val = cell.getStringCellValue(); }else if (cell.getCellType() == CellType.STRING){ val = cell.getStringCellValue(); }else if (cell.getCellType() == CellType.FORMULA){ diff --git a/server/system_timer/src/main/resources/logback-spring.xml b/server/system_timer/src/main/resources/logback-spring.xml new file mode 100644 index 0000000..b5c4652 --- /dev/null +++ b/server/system_timer/src/main/resources/logback-spring.xml @@ -0,0 +1,61 @@ +<?xml version="1.0" encoding="utf-8" ?> +<configuration> + <appender name="consoleLog" class="ch.qos.logback.core.ConsoleAppender"> + <layout class="ch.qos.logback.classic.PatternLayout"> + <pattern>%highlight(%date{yyyy-MM-dd HH:mm:ss}) | %highlight(%-5level) | %highlight(%thread) | %highlight(%logger) | %msg%n</pattern> + </layout> + </appender> + <property name="log.path" value="/usr/local/jars/logs/systemTimer"></property> + <property name="log.fileSize" value="100MB"></property> + <property name="log.historyDays" value="7"></property> + + <appender name="fileInfoLog" class="ch.qos.logback.core.rolling.RollingFileAppender"> + <filter class="ch.qos.logback.classic.filter.LevelFilter"> + <level>ERROR</level> + <!--鍖归厤灏辫垗鍘�--> + <onMatch>DENY</onMatch> + <onMismatch>ACCEPT</onMismatch> + </filter> + <encoder> + <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} - %msg%n</pattern> + </encoder> + <rollingPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy"> + <!--璺緞--> + <fileNamePattern>${log.path}/info.%d.%i.log</fileNamePattern> + <maxFileSize>${log.fileSize}</maxFileSize> + <maxHistory>${log.historyDays}</maxHistory> + <totalSizeCap>1GB</totalSizeCap> + </rollingPolicy> + </appender> + + <appender name="fileErrorLog" class="ch.qos.logback.core.rolling.RollingFileAppender"> + <filter class="ch.qos.logback.classic.filter.ThresholdFilter"> + <level>ERROR</level> + </filter> + <encoder> + <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} - %msg%n</pattern> + </encoder> + <!--婊氬姩绛栫暐--> + <rollingPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy"> + <!--璺緞--> + <fileNamePattern>${log.path}/error.%d.%i.log</fileNamePattern> + <maxFileSize>${log.fileSize}</maxFileSize> + <maxHistory>${log.historyDays}</maxHistory> + <totalSizeCap>1GB</totalSizeCap> + </rollingPolicy> + </appender> + <!-- 寮傛鍐欏叆鏃ュ織 --> + <appender name ="ASYNC" class= "ch.qos.logback.classic.AsyncAppender"> + <!-- 涓嶄涪澶辨棩蹇�.榛樿鐨�,濡傛灉闃熷垪鐨�80%宸叉弧,鍒欎細涓㈠純TRACT銆丏EBUG銆両NFO绾у埆鐨勬棩蹇� --> + <discardingThreshold >0</discardingThreshold> + <!-- 鏇存敼榛樿鐨勯槦鍒楃殑娣卞害,璇ュ�间細褰卞搷鎬ц兘.榛樿鍊间负256 --> + <queueSize>512</queueSize> + <!-- 娣诲姞闄勫姞鐨刟ppender,鏈�澶氬彧鑳芥坊鍔犱竴涓� --> + <appender-ref ref ="fileInfoLog"/> + </appender> + <root level="info"> + <appender-ref ref="consoleLog"/> + <appender-ref ref="fileInfoLog"/> + <appender-ref ref="fileErrorLog"/> + </root> +</configuration> \ No newline at end of file diff --git a/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/TmsCloudController.java b/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/TmsCloudController.java index 41ca70e..520f2b3 100644 --- a/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/TmsCloudController.java +++ b/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/TmsCloudController.java @@ -2,6 +2,8 @@ import com.doumee.api.BaseController; import com.doumee.config.annotation.LoginNoRequired; +import com.doumee.core.constants.ResponseStatus; +import com.doumee.core.exception.BusinessException; import com.doumee.service.business.third.model.ApiResponse; import com.doumee.service.business.third.model.LoginUserInfo; import com.doumee.core.utils.Constants; @@ -93,6 +95,9 @@ param.getParameters().setDriverTel("00000000000");//鎵嬫満鍙峰繀濉� }*/ LoginUserInfo user = this.getLoginUser(token); + if(user ==null){ + throw new BusinessException(ResponseStatus.NO_LOGIN); + } param.getParameters().setDriverTel(user.getUsername()); return ApiResponse.success(tmsService.getDriverTaskList(param)); } diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/core/haikang/model/HKConstants.java b/server/visits/dmvisit_service/src/main/java/com/doumee/core/haikang/model/HKConstants.java index 268cc3f..777de62 100644 --- a/server/visits/dmvisit_service/src/main/java/com/doumee/core/haikang/model/HKConstants.java +++ b/server/visits/dmvisit_service/src/main/java/com/doumee/core/haikang/model/HKConstants.java @@ -625,6 +625,7 @@ String[] regionDataRanking= new String[]{"/api/ecm/v1/energy/regionDataRanking","娑堥槻鐪嬫澘-4鑾峰彇鍖哄煙鐢ㄩ噺鎺掑悕-鑳借�楃湅鏉�"};//娑堥槻鐪嬫澘-鑾峰彇鍖哄煙鐢ㄩ噺鎺掑悕 - 鑳借�楃湅鏉� String[] energyTotal= new String[]{"/api/ecm/v1/energy/energyTotal","娑堥槻鐪嬫澘-4鏍规嵁鏃堕棿鍜屾椂闂寸淮搴﹁幏鍙栧洯鍖鸿兘鑰楁暟鎹�"};//娑堥槻鐪嬫澘-鏍规嵁鏃堕棿鍜屾椂闂寸淮搴﹁幏鍙栧洯鍖鸿兘鑰楁暟鎹� String[] findDeviceStatistics= new String[]{"/api/v1/device/findDeviceStatistics","鍒嗛〉鏌ヨ璁惧鐨勪互鍙婁笅灞炰紶鎰熷櫒鏁版嵁鐨勭姸鎬佺粺璁�"};// 鍒嗛〉鏌ヨ璁惧鐨勪互鍙婁笅灞炰紶鎰熷櫒鏁版嵁鐨勭姸鎬佺粺璁� + String[] iccmSignoff= new String[]{"/api/iccm/v1/signoff","iccm璁垮绛剧"};// iccm璁垮绛剧 } /** * 闄勫綍A.55娑堥槻璁惧绫诲瀷 diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/core/haikang/model/HKTools.java b/server/visits/dmvisit_service/src/main/java/com/doumee/core/haikang/model/HKTools.java index 60a4c3b..faaa2e5 100644 --- a/server/visits/dmvisit_service/src/main/java/com/doumee/core/haikang/model/HKTools.java +++ b/server/visits/dmvisit_service/src/main/java/com/doumee/core/haikang/model/HKTools.java @@ -473,6 +473,22 @@ return startDoPostStringArtemis(HKConstants.InterfacePath.visitOut,body); } /** + * iccm绛剧璁垮棰勭害 + * @param body + * @return + */ + public static String iccmSignoff(String body) { + return startDoPostStringArtemis(HKConstants.InterfacePath.iccmSignoff,body); + } + /** + * iccm鍙栨秷璁垮棰勭害 + * @param body + * @return + */ + public static String iccmCancelAppointment(String body) { + return startDoPostStringArtemis(HKConstants.InterfacePath.iccmCancelAppointment,body); + } + /** * 璁垮鏉冮檺缁� * @param body * @return diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/core/haikang/service/HKService.java b/server/visits/dmvisit_service/src/main/java/com/doumee/core/haikang/service/HKService.java index 4144bd6..b7bcb04 100644 --- a/server/visits/dmvisit_service/src/main/java/com/doumee/core/haikang/service/HKService.java +++ b/server/visits/dmvisit_service/src/main/java/com/doumee/core/haikang/service/HKService.java @@ -470,6 +470,42 @@ return null; } /** + *iccm璁垮棰勭害绛剧 + * @return + */ + public static BaseResponse iccmSignoff(VisitAppointmentOutRequest param){ + log.info("銆愭捣搴穒ccm璁垮棰勭害绛剧銆�================寮�濮�===="+JSONObject.toJSONString(param)); + try { + String res = HKTools.iccmSignoff(JSONObject.toJSONString(param)); + TypeReference typeReference = + new TypeReference< BaseResponse>(){}; + BaseResponse result = JSONObject.parseObject(res, typeReference.getType()); + logResult(result,"娴峰悍iccm璁垮棰勭害绛剧"); + return result; + }catch (Exception e){ + log.error("銆愭捣搴穒ccm璁垮棰勭害绛剧銆�================澶辫触====锛歕n"+ e.getMessage()); + } + return null; + } + /** + *iccm璁垮棰勭害鍙栨秷 + * @return + */ + public static BaseResponse iccmCancelAppointment(VisitAppointmentCancelRequest param){ + log.info("銆愭捣搴穒ccm璁垮棰勭害鍙栨秷銆�================寮�濮�===="+JSONObject.toJSONString(param)); + try { + String res = HKTools.iccmCancelAppointment(JSONObject.toJSONString(param)); + TypeReference typeReference = + new TypeReference< BaseResponse>(){}; + BaseResponse result = JSONObject.parseObject(res, typeReference.getType()); + logResult(result,"娴峰悍iccm璁垮棰勭害鍙栨秷"); + return result; + }catch (Exception e){ + log.error("銆愭捣搴穒ccm璁垮棰勭害鍙栨秷銆�================澶辫触====锛歕n"+ e.getMessage()); + } + return null; + } + /** *璁垮鍏嶇櫥璁伴绾� * @return */ diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/core/wx/wxPlat/WxPlatNotice.java b/server/visits/dmvisit_service/src/main/java/com/doumee/core/wx/wxPlat/WxPlatNotice.java index e0b2b76..2cecf5e 100644 --- a/server/visits/dmvisit_service/src/main/java/com/doumee/core/wx/wxPlat/WxPlatNotice.java +++ b/server/visits/dmvisit_service/src/main/java/com/doumee/core/wx/wxPlat/WxPlatNotice.java @@ -617,12 +617,12 @@ paramMap.put("touser", openId); paramMap.put("data", dataMap); String response = HttpsUtil.postJson(postUrL, JSONObject.toJSONString(paramMap)); - log.warn("路==++--路鎺ㄩ�佸井淇℃ā鏉夸俊鎭唴瀹癸細{}", JSONObject.toJSONString(paramMap)); + log.error("路==++--路鎺ㄩ�佸井淇℃ā鏉夸俊鎭唴瀹癸細{}", JSONObject.toJSONString(paramMap)); if(StringUtils.isBlank(response)){ - log.warn("路==++--路鎺ㄩ�佸井淇℃ā鏉夸俊鎭細{}路--++==路", "澶辫触"); + log.error("路==++--路鎺ㄩ�佸井淇℃ā鏉夸俊鎭細{}路--++==路", "澶辫触"); }else{ JSONObject json = JSONObject.parseObject(response); - log.warn("路==++--路鎺ㄩ�佸井淇℃ā鏉夸俊鎭細{}路--++==路", Constants.equalsInteger(json.getInteger("errcode"),Constants.ZERO)?"鎴愬姛":"澶辫触"+json.getString("errmsg")); + log.error("路==++--路鎺ㄩ�佸井淇℃ā鏉夸俊鎭細{}路--++==路", Constants.equalsInteger(json.getInteger("errcode"),Constants.ZERO)?"鎴愬姛":"澶辫触"+json.getString("errmsg")); } } } diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/dao/web/response/PlatformWorkVO.java b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/web/response/PlatformWorkVO.java index 801474f..c198303 100644 --- a/server/visits/dmvisit_service/src/main/java/com/doumee/dao/web/response/PlatformWorkVO.java +++ b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/web/response/PlatformWorkVO.java @@ -1,5 +1,6 @@ package com.doumee.dao.web.response; +import com.baomidou.mybatisplus.annotation.TableField; import com.doumee.dao.business.model.PlatformJob; import com.doumee.dao.system.model.Multifile; import io.swagger.annotations.ApiModel; @@ -7,12 +8,15 @@ import lombok.Data; import java.math.BigDecimal; +import java.util.Date; import java.util.List; @Data @ApiModel("鏈堝彴浠诲姟鏁版嵁") public class PlatformWorkVO { + @ApiModelProperty(value = "鏈嶅姟鍣ㄥ綋鍓嶆椂闂�") + private Date currentDate; @ApiModelProperty(value = "浠诲姟鍒楄〃") private List<PlatformJob> platformJobList; diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/HiddenDangerServiceImpl.java b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/HiddenDangerServiceImpl.java index e12e744..5d6d27b 100644 --- a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/HiddenDangerServiceImpl.java +++ b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/HiddenDangerServiceImpl.java @@ -34,6 +34,7 @@ import com.doumee.service.business.third.EmayService; import com.github.yulichang.wrapper.MPJLambdaWrapper; import org.apache.commons.lang3.StringUtils; +import org.checkerframework.checker.units.qual.C; import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; @@ -349,6 +350,17 @@ if(StringUtils.isBlank(f.getFileurl())){ continue; } + if(f.getType() == null){ + if(StringUtils.endsWithIgnoreCase(f.getFileurl(),".mp4")){ + f.setType(Constants.ONE); + }else if(StringUtils.endsWithIgnoreCase(f.getFileurl(),".jpg") + ||StringUtils.endsWithIgnoreCase(f.getFileurl(),".jpeg") + ||StringUtils.endsWithIgnoreCase(f.getFileurl(),".png")){ + f.setType(Constants.ZERO); + }else{ + f.setType(Constants.TWO); + } + } f.setFileurlFull(path+f.getFileurl()); if(Constants.equalsInteger(f.getObjType(),Constants.MultiFile.HIDDEN_DANGER_SUBMIT.getKey())){ //鐜板満鎯呭喌 @@ -566,6 +578,17 @@ multifile.setCreateDate(new Date()); multifile.setCreator(hiddenDanger.getEditor()); multifile.setIsdeleted(Constants.ZERO); + if(multifile.getType() == null){ + if(StringUtils.endsWithIgnoreCase(multifile.getFileurl(),".mp4")){ + multifile.setType(Constants.ONE); + }else if(StringUtils.endsWithIgnoreCase(multifile.getFileurl(),".jpg") + ||StringUtils.endsWithIgnoreCase(multifile.getFileurl(),".jpeg") + ||StringUtils.endsWithIgnoreCase(multifile.getFileurl(),".png")){ + multifile.setType(Constants.ZERO); + }else{ + multifile.setType(Constants.TWO); + } + } multifile.setObjId(hiddenDanger.getId()); multifile.setCreator(hiddenDanger.getLoginUserInfo().getId()); multifile.setObjType(Constants.MultiFile.HIDDEN_DANGER_DEAL_BEFORE.getKey()); @@ -579,7 +602,7 @@ multifileMapper.update(null,new UpdateWrapper<Multifile>().lambda() .set(Multifile::getIsdeleted,Constants.ONE ) .eq(Multifile::getObjType,Constants.MultiFile.HIDDEN_DANGER_DEAL_BEFORE.getKey()) - .set(Multifile::getObjId,hiddenDanger.getId()) + .eq(Multifile::getObjId,hiddenDanger.getId()) ); } if(hiddenDanger.getStatus().equals(Constants.ONE)){ diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/MemberServiceImpl.java b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/MemberServiceImpl.java index 55d3f76..e9173a9 100644 --- a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/MemberServiceImpl.java +++ b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/MemberServiceImpl.java @@ -57,6 +57,7 @@ import org.apache.commons.collections.CollectionUtils; import org.apache.commons.lang3.RandomStringUtils; import org.apache.commons.lang3.StringUtils; +import org.apache.poi.ss.usermodel.CellType; import org.apache.shiro.SecurityUtils; import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Autowired; @@ -2048,7 +2049,7 @@ ExcelImporter ie = null; List<MemberImport> dataList =null; try { - ie = new ExcelImporter(file,1,0); + ie = new ExcelImporter(file,1,0, CellType.STRING); // 纭繚鍗曞厓鏍肩被鍨嬩负瀛楃涓�); dataList = ie.getDataList(MemberImport.class,null); } catch (Exception e) { e.printStackTrace(); diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/PlatformGroupServiceImpl.java b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/PlatformGroupServiceImpl.java index 55300c8..cebd0dd 100644 --- a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/PlatformGroupServiceImpl.java +++ b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/PlatformGroupServiceImpl.java @@ -289,6 +289,7 @@ public static PlatformWorkVO getPlatformWorkVO(Platform platform,List<PlatformJob> platformJobList){ PlatformWorkVO platformWorkVO = new PlatformWorkVO(); + platformWorkVO.setCurrentDate(new Date()); if(com.github.xiaoymin.knife4j.core.util.CollectionUtils.isNotEmpty(platformJobList)){ //鑾峰彇鏈堝彴缁勪笅鐨勬墍鏈変綔涓氭暟鎹� List<PlatformJob> platformJobs = platformJobList.stream().filter( @@ -340,7 +341,6 @@ .eq(PlatformJob::getStatus,Constants.PlatformJobStatus.EXCEPTION.getKey()) ) ); - platformGroupWorkVO.setWaitNum(platformJobJoinMapper.selectJoinCount(new MPJLambdaWrapper<PlatformJob>() .leftJoin(Platform.class,Platform::getId,PlatformJob::getPlatformId) .eq(PlatformJob::getIsdeleted,Constants.ZERO) 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 ff3aea9..f49d098 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 @@ -600,11 +600,17 @@ BeanUtils.copyProperties(platformJob,oldPlatformJob); if(Constants.equalsInteger(signInDTO.getSignType(),Constants.ZERO)){ + if(!StringUtils.equals(platformJob.getDrivierPhone(),signInDTO.getLoginUserInfo().getMobile())){ + throw new BusinessException(ResponseStatus.DATA_EMPTY); + } if(!Constants.equalsInteger(platformJob.getStatus(),Constants.PlatformJobStatus.WART_SIGN_IN.getKey())){ throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"涓氬姟鐘舵�佸凡娴佽浆锛岃鍒锋柊鏌ョ湅"); } this.distanceSignIn(signInDTO,platformJob); }else if(Constants.equalsInteger(signInDTO.getSignType(),Constants.ONE)){ + if(!StringUtils.equals(platformJob.getDrivierPhone(),signInDTO.getLoginUserInfo().getMobile())){ + throw new BusinessException(ResponseStatus.DATA_EMPTY); + } if(!Constants.equalsInteger(platformJob.getStatus(),Constants.PlatformJobStatus.WART_SIGN_IN.getKey())){ throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"涓氬姟鐘舵�佸凡娴佽浆锛岃鍒锋柊鏌ョ湅"); } @@ -652,7 +658,6 @@ || Objects.isNull(signInDTO.getLnt())){ throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),"缁忕含搴︿俊鎭紓甯�"); } - //鑾峰彇绛惧埌鐐圭殑缁忕含搴� Double lat = Double.parseDouble(systemDictDataBiz.queryByCode(Constants.PLATFORM,Constants.SIGN_IN_PLACE_LAT).getCode()); Double lnt = Double.parseDouble(systemDictDataBiz.queryByCode(Constants.PLATFORM,Constants.SIGN_IN_PLACE_LNT).getCode()); @@ -677,11 +682,9 @@ } } - @Override public PlatformJob getDetail(JobDetailDTO jobDetailDTO){ - if(Objects.isNull(jobDetailDTO) - || Objects.isNull(jobDetailDTO.getJobId())){ + if(Objects.isNull(jobDetailDTO) || Objects.isNull(jobDetailDTO.getJobId())){ throw new BusinessException(ResponseStatus.BAD_REQUEST); } PlatformJob platformJob = platformJobMapper.selectById(jobDetailDTO.getJobId()); @@ -691,14 +694,16 @@ if(Constants.equalsInteger(platformJob.getStatus(),Constants.PlatformJobStatus.WART_SIGN_IN.getKey())){ //寰呯鍒� 璁$畻璺濈 if(Objects.nonNull(jobDetailDTO.getLnt())&&Objects.nonNull(jobDetailDTO.getLat())){ - //鑾峰彇绛惧埌鐐圭殑缁忕含搴� - Double lat = Double.parseDouble(systemDictDataBiz.queryByCode(Constants.PLATFORM,Constants.SIGN_IN_PLACE_LAT).getCode()); - Double lnt = Double.parseDouble(systemDictDataBiz.queryByCode(Constants.PLATFORM,Constants.SIGN_IN_PLACE_LNT).getCode()); - //鑾峰彇2涓偣鐨勮窛绂籜绫� - Double getDistanceDouble = PositionUtil.getDistance(jobDetailDTO.getLnt(),jobDetailDTO.getLat(),lnt,lat); - //杞崲km - BigDecimal getDistance = BigDecimal.valueOf(getDistanceDouble).divide(new BigDecimal(1000),2,BigDecimal.ROUND_HALF_UP); - platformJob.setGetDistance(getDistance); + if(jobDetailDTO.getLat()!=null && jobDetailDTO.getLnt()!=null){ + //鑾峰彇绛惧埌鐐圭殑缁忕含搴� + Double lat = Double.parseDouble(systemDictDataBiz.queryByCode(Constants.PLATFORM,Constants.SIGN_IN_PLACE_LAT).getCode()); + Double lnt = Double.parseDouble(systemDictDataBiz.queryByCode(Constants.PLATFORM,Constants.SIGN_IN_PLACE_LNT).getCode()); + //鑾峰彇2涓偣鐨勮窛绂籜绫� + Double getDistanceDouble = PositionUtil.getDistance(jobDetailDTO.getLnt(),jobDetailDTO.getLat(),lnt,lat); + //杞崲km + BigDecimal getDistance = BigDecimal.valueOf(getDistanceDouble).divide(new BigDecimal(1000),2,BigDecimal.ROUND_HALF_UP); + platformJob.setGetDistance(getDistance); + } } }else if( Constants.equalsInteger(platformJob.getStatus(),Constants.PlatformJobStatus.WAIT_CALL.getKey()) || Constants.equalsInteger(platformJob.getStatus(),Constants.PlatformJobStatus.IN_WAIT.getKey()) @@ -886,7 +891,7 @@ ); //鍏紬鍙锋ā鏉挎秷鎭� - if(Objects.nonNull(platformJob.getDriverId())) { + if(Objects.nonNull(platformJob.getDrivierPhone())) { this.sendWxNotice(WxPlatConstants.platformJobContent.platformJobCallIn,platformJob); } return platformJob; @@ -895,7 +900,7 @@ public void sendWxNotice(String objCode,PlatformJob platformJob){ SystemUser driver = systemUserMapper.selectOne(new QueryWrapper<SystemUser>().lambda() .eq(SystemUser::getDeleted, Constants.ZERO) - .eq(SystemUser::getType, Constants.ZERO) + .in(SystemUser::getType, Constants.ZERO,Constants.TWO) .eq(SystemUser::getMobile,platformJob.getDrivierPhone()) .last(" limit 1 ")); if (Objects.nonNull(driver) && StringUtils.isNotBlank(driver.getOpenid())) { @@ -1137,7 +1142,7 @@ ); //鍏紬鍙锋ā鏉挎秷鎭� - if(Objects.nonNull(platformJob.getDriverId())){ + if(Objects.nonNull(platformJob.getDrivierPhone())){ this.sendWxNotice(WxPlatConstants.platformJobContent.platformJobSingIn,platformJob); } @@ -1273,7 +1278,7 @@ ); //鍏紬鍙锋ā鏉挎秷鎭� - if(Objects.nonNull(platformJob.getDriverId())) { + if(Objects.nonNull(platformJob.getDrivierPhone())) { this.sendWxNotice(WxPlatConstants.platformJobContent.platformJobMove,platformJob); } @@ -1326,7 +1331,7 @@ ); //鍏紬鍙锋ā鏉挎秷鎭� - if(Objects.nonNull(platformJob.getDriverId())){ + if(Objects.nonNull(platformJob.getDrivierPhone())){ this.sendWxNotice(WxPlatConstants.platformJobContent.platformJobOverNum,platformJob); } @@ -1378,7 +1383,7 @@ ); //鍏紬鍙锋ā鏉挎秷鎭� - if(Objects.nonNull(platformJob.getDriverId())) { + if(Objects.nonNull(platformJob.getDrivierPhone())) { this.sendWxNotice(WxPlatConstants.platformJobContent.platformJobError,platformJob); } @@ -1432,7 +1437,7 @@ SmsConstants.platformJobContent.platformJobWorking,platform.getName(),null ); //鍏紬鍙锋ā鏉挎秷鎭� - if(Objects.nonNull(platformJob.getDriverId())) { + if(Objects.nonNull(platformJob.getDrivierPhone())) { this.sendWxNotice(WxPlatConstants.platformJobContent.platformJobWorking,platformJob); } //骞挎挱 led閫氱煡 @@ -1533,7 +1538,7 @@ ); //鍏紬鍙锋ā鏉挎秷鎭� - if(Objects.nonNull(platformJob.getDriverId())) { + if(Objects.nonNull(platformJob.getDrivierPhone())) { this.sendWxNotice(WxPlatConstants.platformJobContent.platformJobFinish,platformJob); } @@ -2194,8 +2199,11 @@ List<PlatformJob> calledList = platformJobList.stream().filter(i->Constants.equalsInteger(i.getStatus(),Constants.PlatformJobStatus.CALLED.getKey())).collect(Collectors.toList()); largeScreenDataVO.setWaitWorkList(calledList); } +// String u = (String) redisTemplate.opsForValue().get(Constants.RedisKeys.BIGSCREEN_UUID); +// if(StringUtils.isBlank(u)){ String u = UUID.randomUUID().toString(); redisTemplate.opsForValue().set(Constants.RedisKeys.BIGSCREEN_UUID,u,3, TimeUnit.MINUTES); +// } String url = Constants.getWxUrl(systemDictDataBiz.queryByCode(Constants.PLATFORM,Constants.WX_REDIRECT_URL).getCode(),Constants.WxUrlParams.BISCREEN_CODE,u); largeScreenDataVO.setQrCode(url); largeScreenDataVO.setAttention(systemDictDataBiz.queryByCode(Constants.PLATFORM,Constants.SIGN_IN_ATTENTION).getCode()); 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 3ea7c15..d4a6aa1 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 @@ -13,6 +13,7 @@ import com.doumee.core.exception.BusinessException; import com.doumee.core.haikang.model.HKConstants; import com.doumee.core.haikang.model.param.BaseResponse; +import com.doumee.core.haikang.model.param.request.VisitAppointmentCancelRequest; import com.doumee.core.haikang.model.param.request.VisitAppointmentOutRequest; import com.doumee.core.haikang.model.param.request.VisitAppointmentRequest; import com.doumee.core.haikang.model.param.respose.VisitAppointmentResponse; @@ -1505,7 +1506,8 @@ VisitAppointmentOutRequest request = new VisitAppointmentOutRequest(); request.setOrderId(visits.getHkId()); //璋冪敤娴峰悍寮哄埗绛剧 - BaseResponse response = HKService.outVisitAppiontment(request); + BaseResponse response = HKService.iccmSignoff(request); +// BaseResponse response = HKService.outVisitAppiontment(request); visitsMapper.update(null,new UpdateWrapper<Visits>().lambda().set(Visits::getStatus,Constants.VisitStatus.signout) .eq(Visits::getId,visitId)); //浜у嚭鍦ㄥ満浜哄憳淇℃伅 @@ -1522,10 +1524,11 @@ if(!visits.getStatus().equals(Constants.VisitStatus.xfSuccess)){ throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"璁垮璁板綍鐘舵�侀敊璇紝璇峰埛鏂伴噸璇�"); } - VisitAppointmentOutRequest request = new VisitAppointmentOutRequest(); - request.setOrderId(visits.getHkId()); + VisitAppointmentCancelRequest request = new VisitAppointmentCancelRequest(); + request.setAppointRecordIds(new String[]{visits.getHkId()}); //璋冪敤娴峰悍寮哄埗绛剧 - BaseResponse response = HKService.outVisitAppiontment(request); +// BaseResponse response = HKService.outVisitAppiontment(request); + BaseResponse response = HKService.iccmCancelAppointment(request); visitsMapper.update(null,new UpdateWrapper<Visits>().lambda().set(Visits::getStatus,Constants.VisitStatus.signout) .eq(Visits::getId,visitId)); //浜у嚭鍦ㄥ満浜哄憳淇℃伅 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 3a9c1b4..9a41523 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 @@ -1235,7 +1235,6 @@ @Override public YearDeviceDataVO yearFightingAdminDeviceData(){ YearDeviceDataVO data = new YearDeviceDataVO(); - FireStatisticRequest param = new FireStatisticRequest(); param.setIndexCode("api_fire_statistic"); BaseResponse<FireStatisticResponse> response = HKService.fireStatistic(param); @@ -1243,7 +1242,6 @@ data.setProtectNum(Constants.formatIntegerNum(response.getData().getMaintenanceNum())); data.setPlanProtectTotal(Constants.formatIntegerNum(response.getData().getDeviceTotalNum())); } - param = new FireStatisticRequest(); param.setIndexCode("api_fire_statistic_month"); BaseResponse<FireStatisticResponse> response1 = HKService.fireStatisticMonth(param); @@ -1253,7 +1251,6 @@ data.setMonthTotalNum(Constants.formatIntegerNum(response1.getData().getDeviceTotalNum())); } return data; - } /** @@ -1269,11 +1266,10 @@ BaseResponse<List<FindDeviceStatisticsResponse>> response = HKService.findDeviceStatistics(param1); if(response != null && StringUtils.equals(response.getCode(), HKConstants.RESPONSE_SUCCEE) && response.getData()!=null ){ for(FindDeviceStatisticsResponse r :response.getData()){ - DeviceNumByTypeVO t = new DeviceNumByTypeVO(); - t.setTypeName(r.getDeviceTypeName()); - t.setTotalDeviceNum(Constants.formatIntegerNum(r.getTotalDeviceCount())); if(r.getDevices()!=null){ for(FindDeviceStatisticsInfoResponse td : r.getDevices()){ + DeviceNumByTypeVO t = new DeviceNumByTypeVO(); + t.setTypeName(td.getDeviceName()); //灞忚斀鏁� t.setShieldDeviceNum(Constants.formatIntegerNum(t.getShieldDeviceNum() )+ Constants.formatIntegerNum(td.getShieldSensorCount())); //鎶ヨ鏁� @@ -1284,15 +1280,15 @@ t.setErrDeviceNum(Constants.formatIntegerNum(t.getErrDeviceNum())+ Constants.formatIntegerNum(td.getFaultSensorCount())); //鎬昏澶囨暟 t.setTotalDeviceNum(Constants.formatIntegerNum(t.getTotalDeviceNum())+ Constants.formatIntegerNum(td.getTotalSensorCount())); + list.add(t); +// data.setOfflineDeviceNum(Constants.formatIntegerNum( data.getOfflineDeviceNum())+Constants.formatIntegerNum(t.getOfflineDeviceNum())); + data.setShieldDeviceNum(Constants.formatIntegerNum( data.getShieldDeviceNum())+Constants.formatIntegerNum(t.getShieldDeviceNum())); + data.setAlarmDeviceNum(Constants.formatIntegerNum( data.getAlarmDeviceNum())+Constants.formatIntegerNum(t.getAlarmDeviceNum())); + data.setOnlineDeviceNum(Constants.formatIntegerNum( data.getOnlineDeviceNum())+Constants.formatIntegerNum(t.getOnlineDeviceNum())); + data.setErrDeviceNum(Constants.formatIntegerNum( data.getErrDeviceNum())+Constants.formatIntegerNum(t.getErrDeviceNum())); + data.setTotalDeviceNum(Constants.formatIntegerNum( data.getTotalDeviceNum())+Constants.formatIntegerNum(t.getTotalDeviceNum())); } } - list.add(t); - data.setOfflineDeviceNum(Constants.formatIntegerNum( data.getOfflineDeviceNum())+Constants.formatIntegerNum(t.getOfflineDeviceNum())); - data.setShieldDeviceNum(Constants.formatIntegerNum( data.getAlarmDeviceNum())+Constants.formatIntegerNum(t.getShieldDeviceNum())); - data.setAlarmDeviceNum(Constants.formatIntegerNum( data.getAlarmDeviceNum())+Constants.formatIntegerNum(t.getAlarmDeviceNum())); - data.setOnlineDeviceNum(Constants.formatIntegerNum( data.getOnlineDeviceNum())+Constants.formatIntegerNum(t.getOnlineDeviceNum())); - data.setErrDeviceNum(Constants.formatIntegerNum( data.getErrDeviceNum())+Constants.formatIntegerNum(t.getErrDeviceNum())); - data.setTotalDeviceNum(Constants.formatIntegerNum( data.getTotalDeviceNum())+Constants.formatIntegerNum(t.getTotalDeviceNum())); } } /* FireDevStatusTotalRequest param = new FireDevStatusTotalRequest(); -- Gitblit v1.9.3