admin/.env.development
@@ -3,9 +3,9 @@ # VUE_APP_API_URL = 'https://atwl.ahzyssl.com/zhyq_interface' VUE_APP_API_URL = 'http://192.168.1.45:10010' # VUE_APP_API_URL = 'http://192.168.1.45:10010' # VUE_APP_API_URL = 'http://192.168.0.7/system_gateway' VUE_APP_API_URL = 'http://192.168.0.7/system_gateway' # VUE_APP_API_URL = 'http://127.0.0.1:10010' admin/.env.production
@@ -1,9 +1,13 @@ # ç产ç¯å¢é ç½® NODE_ENV = 'production' <<<<<<< HEAD # VUE_APP_API_URL = 'http://192.168.0.7/system_gateway' VUE_APP_API_URL = 'http://10.49.152.112/system_gateway' ======= VUE_APP_API_URL = 'http://10.49.152.112/system_gateway' >>>>>>> 6d07596890c54a8b7cdfd14d8ebd4b4e9acefecd VUE_APP_AMAP_KEY='045542fc5f436b75e6c911c5c84ff8cd' admin/src/components/business/OperaCarUseBookWindow.vue
@@ -121,10 +121,10 @@ <!-- --> <template v-slot:footer> <el-button @click="agreeOpen" type="primary" v-if="model.approveDateVO != null && model.approveDateVO.canBeApproved != null && model.approveDateVO.canBeApproved == 1 && 1==2" v-if="model.approveDateVO != null && model.approveDateVO.canBeApproved != null && model.approveDateVO.canBeApproved == 1 " class="status-red">åæ</el-button> <el-button @click="jectOpen" type="danger" v-if="model.approveDateVO != null && model.approveDateVO.canBeApproved != null && model.approveDateVO.canBeApproved == 1 && 1==2">æç»</el-button> v-if="model.approveDateVO != null && model.approveDateVO.canBeApproved != null && model.approveDateVO.canBeApproved == 1 ">æç»</el-button> <el-button @click="visible = false">è¿å</el-button> </template> <el-dialog append-to-body title="åæç³è¯·" style="text-align: center" class="dialogCl" :visible.sync="isShowProblem" admin/src/components/business/OperaJkIccardWindow.vue
@@ -18,7 +18,7 @@ </el-form-item> <el-form-item label="å ³èç¨æ·" prop="memberId"> <div style="width: 100%; display: flex; flex-direction: column;"> <el-select v-model="form.memberId" placeholder="è¯·éæ©"> <el-select v-model="form.memberId" placeholder="è¯·éæ©" filterable> <el-option v-for="(item, index) in userAll" :key="index" :label="item.name" :value="item.id"></el-option> </el-select> <span style="color: #999999; margin-top: 5px;">ç³»ç»ä¼éè¿ICå ³èç¨æ·ï¼ä¸é¥åæä¸ç车è¾ç叿º/éªè¯äººåä¿¡æ¯è¿è¡æ ¡éª</span> admin/src/views/business/jkCabinetLog.vue
@@ -105,6 +105,7 @@ startDate: '', cabinetId: '', authType: '', bizType: 1, memberName: '', status: '' }, admin/src/views/business/jkCabinetLogJiujing.vue
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,138 @@ <template> <TableLayout :permissions="['business:jkcabinetlog:query']"> <!-- æç´¢è¡¨å --> <el-form ref="searchForm" slot="search-form" :model="searchForm" label-width="100px" inline> <el-form-item label="æ£æµæ¶é´" prop="date"> <el-date-picker v-model="date" @change="setDate" type="daterange" range-separator="è³" start-placeholder="å¼å§æ¥æ" end-placeholder="ç»ææ¥æ" format="yyyy å¹´ MM æ dd æ¥" value-format="yyyy-MM-dd"> </el-date-picker> </el-form-item> <el-form-item label="æä½äºº" prop="memberName"> <el-input v-model="searchForm.memberName" placeholder="请è¾å ¥" @keypress.enter.native="search"></el-input> </el-form-item> <el-form-item label="é¥åæ" prop="cabinetId"> <el-select v-model="searchForm.cabinetId" placeholder="è¯·éæ©" @change="search"> <el-option v-for="item in keysAll" :key="item.id" :label="item.name" :value="item.id"> </el-option> </el-select> </el-form-item> <el-form-item label="ç¶æ" prop="status"> <el-select v-model="searchForm.status" placeholder="è¯·éæ©" @change="search"> <el-option label="å ¨é¨" value=""></el-option> <el-option label="æªéè¿" :value="0"></el-option> <el-option label="éè¿" :value="1"></el-option> </el-select> </el-form-item> <section> <el-button type="primary" @click="search">æç´¢</el-button> <el-button type="primary" :loading="isWorking.export" v-permissions="['business:jkcabinetlog:exportExcel']" @click="exportExcel">导åº</el-button> <el-button @click="reset">éç½®</el-button> </section> </el-form> <!-- è¡¨æ ¼åå页 --> <template v-slot:table-wrap> <el-table :height="tableHeightNew" v-loading="isWorking.search" :data="tableData.list" stripe > <el-table-column prop="createDate" label="æ£æµæ¶é´" min-width="100px"></el-table-column> <el-table-column prop="memberName" label="æ£æµäºº" min-width="100px"></el-table-column> <el-table-column prop="cabinetName" label="æå±é¥åæ" min-width="100px"></el-table-column> <el-table-column prop="keyInfo" label="æ£æµå 容" min-width="200px"></el-table-column> <el-table-column label="ç¶æ" min-width="100px"> <template slot-scope="{row}"> <el-link :underline="false" v-if="row.status === 1">éè¿</el-link> <el-link type="danger" :underline="false" v-if="row.status ===0">æªéè¿</el-link> </template> </el-table-column> </el-table> <pagination @size-change="handleSizeChange" @current-change="handlePageChange" :pagination="tableData.pagination" > </pagination> </template> <!-- æ°å»º/ä¿®æ¹ --> <OperaJkCabinetLogWindow ref="operaJkCabinetLogWindow" @success="handlePageChange"/> </TableLayout> </template> <script> import BaseTable from '@/components/base/BaseTable' import TableLayout from '@/layouts/TableLayout' import Pagination from '@/components/common/Pagination' import OperaJkCabinetLogWindow from '@/components/business/OperaJkCabinetLogWindow' import { list } from '@/api/business/jkCabinet' export default { name: 'JkCabinetLog', extends: BaseTable, components: { TableLayout, Pagination, OperaJkCabinetLogWindow }, data () { return { // æç´¢ searchForm: { endDate: '', startDate: '', cabinetId: '', authType: '', bizType: 2, memberName: '', status: '' }, date: [], keysAll: [] } }, created () { this.config({ module: 'é¥åæå¼å ³é¨è®°å½', api: '/business/jkCabinetLog', 'field.id': 'id', 'field.main': 'id' }) this.search() this.getkeysAll() }, methods: { setDate(e) { if (e && e.length > 1) { this.searchForm.startDate = e[0] this.searchForm.endDate = e[1] } else { this.searchForm.startDate = '' this.searchForm.endDate = '' } this.search() }, // æç´¢æ¡éç½® reset () { this.$refs.searchForm.resetFields() this.date = [] this.searchForm.startDate = '' this.searchForm.endDate = '' this.search() }, getkeysAll() { list({}) .then(res => { console.log(res) this.keysAll = res }) } } } </script> admin/src/views/operation/serviceCar/apprRecord.vue
@@ -106,10 +106,10 @@ <el-button type="text" icon="el-icon-edit" @click="$refs.OperaDetailsWindow.open('å ¬å¡è½¦ç³è¯·è¯¦æ ', row)">æ¥ç详æ </el-button> <!-- <el-button v-if="(row.status === 1 || row.status === 2) && new Date().getTime() < new Date(row.startTime).getTime()" type="text" icon="el-icon-delete" @click="rowRevokeClick(row)" >æ¤é</el-button> --> <el-button style="color: red" v-if="row.hasRole == 1 && 1==2" type="text" icon="el-icon-delete" <el-button style="color: red" v-if="row.hasRole == 1" type="text" icon="el-icon-delete" @click="rowRevokeClick(row)">æ¤é</el-button> <!-- <el-button style="color: red" v-if="(row.status === 0 && row.creator == userInfo.id)||((row.status === 0 || row.status === 1 ) || ( row.status === 2 && new Date().getTime() < new Date(row.startTime).getTime() ))" type="text" icon="el-icon-delete" @click="rowRevokeClick(row)" >æ¤é</el-button>--> <el-button style="color: red" type="text" icon="el-icon-delete" v-if=" 1==2" <el-button style="color: red" type="text" icon="el-icon-delete" v-permissions="['business:carusebook:delete']" @click="deleteById(row)">å é¤</el-button> </template> </el-table-column> server/system_gateway/src/main/resources/application.yml
@@ -1,6 +1,6 @@ # 项ç®ä¿¡æ¯é ç½® project: name: 宿³°ç©æµè®¿å®¢ç³»ç» name: å ¬å¡è½¦é¥åæºè½æç®¡çç³»ç» version: 1.0.0 env: development # env: production server/system_service/src/main/java/com/doumee/core/utils/Constants.java
@@ -108,6 +108,7 @@ // 访客æ¥è®¿é ç½® public static final String VISIT_CONFIG = "VISIT_CONFIG"; public static final String MEMBER_IMG = "MEMBER_IMG"; public static final String ACTIVATE = "ACTIVATE"; public static final String PLATFORM_EVENT_IMG = "PLATFORM_EVENT_IMG"; public static final String VISIT_NOTICE = "VISIT_NOTICE"; public static final String TIME_OUT_CONFIG = "TIME_OUT_CONFIG"; @@ -130,6 +131,8 @@ public static final String USE_CAR_TAKE_CARE = "USE_CAR_TAKE_CARE"; public static final String PUSH_URL_KEYS = "PUSH_URL_KEYS"; public static final String CAR_SECRET = "CAR_SECRET"; public static final String SECRET = "SECRET"; @@ -1530,7 +1533,7 @@ public enum WarningConfig { ALARM_TEST(10002, "ãé¥åæãé ç²¾æµè¯å¼å¸¸",0), GRID_TIME_OUT_INFO(10003, "ãé¥åæãå¼é¨è¶ æ¶æªå ³é",0), GRID_TIME_OUT_INFO(10003, "ãé¥åæãå¼é¨ææ ¼æªå ³é",0), KEY_TIME_OUT_BACK(10004, "ãé¥åæãé¥åè¶ æ¶æªå½è¿",0), ; // æååé server/system_service/src/main/java/com/doumee/dao/business/model/Member.java
@@ -130,99 +130,64 @@ private String code; @ApiModelProperty(value = "访客年é¾") private Date birthday; @ApiModelProperty(value = "身份è¯å·ï¼MD4å å¯ï¼") private String idcardNo; @ApiModelProperty(value = "ä¿®æ¹ç身份è¯å· ") @TableField(exist = false) private String idcardNoNew; @ApiModelProperty(value = "è¯ä»¶ç±»å 0èº«ä»½è¯ 1港澳è¯ä»¶ 2æ¤ç §", example = "1") private Integer idcardType; @ApiModelProperty(value = "æ¯å¦æ¯ç©æµå¸æº 0䏿¯ 1æ¯", example = "1") private Integer isDriver; @ApiModelProperty(value = "çæ¬¡ 0ç½ç 1å¤ç") private Integer classes; @ApiModelProperty(value = "ç¶æ 0æ£å¸¸ 1ç¦ç¨ 2æé»/å»ç»", example = "1") private Integer status; @ApiModelProperty(value = "æ·»å 人ç¼ç ï¼èªå ³èï¼", example = "1") private Integer parentId; @ApiModelProperty(value = "微信openid") private String openid; @ApiModelProperty(value = "é£ä¹¦æ è¯") private String fsId; @ApiModelProperty(value = "é£ä¹¦åæ¥ç¶æ 0æªåæ¥ 1已忥", example = "1") private Integer fsStatus; @ApiModelProperty(value = "é£ä¹¦æè¿åæ¥æ¶é´") private Date fsDate; @ApiModelProperty(value = "海康æ è¯", example = "1") private String hkId; @ApiModelProperty(value = "海康æè¿åæ¥æ¶é´") private Date hkDate; @ApiModelProperty(value = "å²ä½ç¼ç ï¼å ³èpositionbiao", example = "1") private Integer positionId; @ApiModelProperty(value = "ERPæ è¯", example = "1") private String erpId; @ApiModelProperty(value = "ERP忥æ¶é´") private Date erpDate; @ApiModelProperty(value = "ERPåæ¥ç¶æ 0æªåæ¥ 1已忥", example = "1") private Integer erpStatus; @ApiModelProperty(value = "ééæ è¯", example = "1") private String ddId; @ApiModelProperty(value = "éé忥æ¶é´") private Date ddDate; @ApiModelProperty(value = "ééPåæ¥ç¶æ 0æªåæ¥ 1已忥", example = "1") private Integer ddStatus; @ApiModelProperty(value = "ç»éå¯ç ") private String passward; @ApiModelProperty(value = "æ¯å¦é«çº§å®¡æ¹äºº 0å¦ 1æ¯", example = "1") private Integer highCheckor; @ApiModelProperty(value = "é¨ç¦è§è²ç¼ç ï¼å ³èdevice_role),å¤ä¸ªè±æéå·éå¼", example = "1") private String roleId; @ApiModelProperty(value = "é¨ç¦è§è²æææ¶é´") private Date roleDate; @ApiModelProperty(value = "ERPç»ç»ç¼ç ") private String erpOrgId; @ApiModelProperty(value = "è®¿å®¢å ¬å¸åç§°") private String visitCompanyName; @ApiModelProperty(value = "æåæä½äºº") @TableField(exist = false) private String editorName; @ApiModelProperty(value = "ç»ç»ç±»å 0å³å¡å ¬å¸ 1å é¨ç»ç» å¤ä¸ªä»¥,åå²") @TableField(exist = false) private String companyTypes; @@ -292,15 +257,12 @@ @ApiModelProperty(value = "å¹è®å¼å§æ¶é´") @TableField(exist = false) private Date trainStartTime; @ApiModelProperty(value = "é¨ç¦ç»åç§°éå") @TableField(exist = false) private List<String> roleNames; @ApiModelProperty(value = "æ¯å¦æ¥è¯¢åºå®äººåï¼0=å¦ï¼1=æ¯" ) @TableField(exist = false) private Integer querySpecial; @ApiModelProperty(value = "æ¯å¦æ¥è¯¢é¥åææ ¡éªäººåï¼0=å¦ï¼1=æ¯" ) @TableField(exist = false) private Integer queryAuth; server/system_timer/src/main/resources/bootstrap.yml
@@ -1,6 +1,6 @@ spring: profiles: active: pro active: dev application: name: systemTimer # å®å ¨é ç½® server/visits/admin_timer/src/main/resources/bootstrap.yml
@@ -1,6 +1,6 @@ spring: profiles: active: pro active: test application: name: visitsTimer # å®å ¨é ç½® server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/web/JiandaoyunCloudController.java
@@ -100,7 +100,7 @@ Map<String, String> parameterMap = parseParameter(request.getQueryString()); String nonce = parameterMap.get("nonce"); String timestamp = parameterMap.get("timestamp"); String signature = getSignature(nonce, payload, LOCAl_SECRET, timestamp); String signature = getSignature(nonce, payload, systemDictDataBiz.queryByCode(Constants.JDY_CONFIG,Constants.SECRET).getCode(), timestamp); log.error("ãç®éäºã ç¨è½¦ç³è¯· =========nonceï¼"+nonce); log.error("ãç®éäºã ç¨è½¦ç³è¯· =========timestampï¼"+timestamp); log.error("ãç®éäºã ç¨è½¦ç³è¯· =========payloadï¼"+payload); @@ -146,7 +146,10 @@ Map<String, String> parameterMap = parseParameter(request.getQueryString()); String nonce = parameterMap.get("nonce"); String timestamp = parameterMap.get("timestamp"); String signature = getSignature(nonce, payload, LLCAL_CARINFO_SECRET, timestamp); String signature = getSignature(nonce, payload, //LOCAl_SECRET systemDictDataBiz.queryByCode(Constants.JDY_CONFIG,Constants.CAR_SECRET).getCode() , timestamp); log.error("ãç®éäºã 车è¾ä¿¡æ¯=========nonceï¼"+nonce); log.error("ãç®éäºã 车è¾ä¿¡æ¯=========timestampï¼"+timestamp); log.error("ãç®éäºã 车è¾ä¿¡æ¯=========payloadï¼"+payload); @@ -198,11 +201,12 @@ */ String url = "https://lcdp.ahyc.com.cn:30443/api/v1/automation/tenant/6756636b8ff4da34799c9f92/hooks/69042b5d6d7269265c7732a41a461aec9135f0641f0156dc"; // String url = "https://api.jiandaoyun.com/api/v1/automation/tenant/6909b792324dc197821895d1/hooks/6909d0fbdb93690af97e41d1b068192dc4a9705aca3321e2"; //https://lcdp.ahyc.com.cn:30443/api/v1/automation/tenant/6756636b8ff4da34799c9f92/hooks/69042b5d6d7269265c7732a41a461aec9135f0641f0156dc JSONObject object = new JSONObject(); object.put("create_date","20251104160000"); object.put("start_date","20251104160000" ); object.put("end_date", "20251204160000"); object.put("id","10000020251105");// object.put("id","202511260016");// object.put("type",1);//0=é¢ç¨ï¼1=å½è¿ String result = HttpsUtil.postJson(url,JSONObject.toJSONString(object)); System.out.println(result); server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/web/cabinet/CabinetController.java
@@ -19,6 +19,7 @@ import com.doumee.dao.business.vo.CabinetInfoVO; import com.doumee.dao.web.response.DriverHomeVO; import com.doumee.service.business.*; import com.doumee.service.business.impl.JkCabinetGridServiceImpl; import com.doumee.service.business.third.model.ApiResponse; import com.hikvision.artemis.sdk.config.ArtemisConfig; import io.swagger.annotations.Api; @@ -53,6 +54,9 @@ private JkCabinetGridService jkCabinetGridService; @Autowired private JkCabinetLogService jkCabinetLogService; @Autowired private JkInterfaceLogService interfaceLogService; @Autowired @@ -60,6 +64,9 @@ @Autowired private JkVersionService jkVersionService; @Autowired private JkCabinetGridServiceImpl impl; @LoginNoRequired @ApiOperation("è·åé¥åæAPKææ°çæ¬") @@ -171,6 +178,7 @@ return ApiResponse.success(jkCabinetGridList); } @LoginNoRequired @ApiOperation("å¼å¯ææ ¼ - 叿º") @PostMapping("/openGridDriver") @@ -205,6 +213,7 @@ @PostMapping("/alcoholTestAlarm") public ApiResponse alcoholTestAlarm(@RequestBody AlcoholTestAlarmDTO dto) { jkCabinetGridService.alcoholTestAlarm(dto); this.saveInterfaceLog(JSONObject.toJSONString(dto), null,"é ç²¾æ£æµåè¦","é ç²¾æ£æµåè¦"); return ApiResponse.success("æä½æå"); } @@ -215,8 +224,38 @@ @PostMapping("/timeOutUnCloseAlarm") public ApiResponse timeOutUnCloseAlarm(@RequestBody TimeOutCloseGridDTO dto) { jkCabinetGridService.timeOutUnCloseAlarm(dto); this.saveInterfaceLog(JSONObject.toJSONString(dto), null,"timeOutUnCloseAlarm","ææ ¼å¼é¨è¶ æ¶æªå ³éåè¦"); return ApiResponse.success("æä½æå"); } @LoginNoRequired @ApiOperation("é¥åæå¿è·³æ¥å£") @GetMapping("/heartbeat") public ApiResponse heartbeat() { return ApiResponse.success("龿¥æå"); } @LoginNoRequired @ApiOperation("åæ¥ææ ¼å®é é¥åæ°æ®") @PostMapping("/syncGridData") public ApiResponse syncGridData(@RequestBody SyncCabinetDTO dto) { jkCabinetGridService.syncGridData(dto); this.saveInterfaceLog(JSONObject.toJSONString(dto), null,"syncGridData","åæ¥ææ ¼å®é é¥åæ°æ®"); return ApiResponse.success("æä½æå"); } @LoginNoRequired @ApiOperation("testTimeOutBackAlarm") @GetMapping("/testTimeOutBackAlarm") public ApiResponse testTimeOutBackAlarm() { jkCabinetLogService.timeOutUnBackAlarm(impl); return ApiResponse.success("æä½æå"); } } server/visits/dmvisit_admin/src/main/resources/application.yml
@@ -1,6 +1,6 @@ # 项ç®ä¿¡æ¯é ç½® project: name: è®¿å®¢ç³»ç» name: å ¬å¡è½¦é¥åæºè½æç®¡çç³»ç» version: 1.0.0 env: development # env: production server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/dto/SyncCabinetDTO.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,22 @@ package com.doumee.dao.business.dto; import io.swagger.annotations.ApiModelProperty; import lombok.Data; import java.util.List; /** * Created by IntelliJ IDEA. * * @Author : Rk * @create 2025/10/11 16:01 */ @Data public class SyncCabinetDTO { @ApiModelProperty(value = "é¥åæç¼å·") private String code; @ApiModelProperty(value = "ææ ¼ä¿¡æ¯") private List<SyncGridDTO> gridDTOList; } server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/dto/SyncGridDTO.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,23 @@ package com.doumee.dao.business.dto; import io.swagger.annotations.ApiModelProperty; import lombok.Data; /** * Created by IntelliJ IDEA. * * @Author : Rk * @create 2025/10/11 16:01 */ @Data public class SyncGridDTO { @ApiModelProperty(value = "æ¿å·") private String boardCode; @ApiModelProperty(value = "ééå·") private String channelCode; @ApiModelProperty(value = "å®é é¥åç¼ç ") private String actualLable; } server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/CarUseBook.java
@@ -159,6 +159,8 @@ @ApiModelProperty(value = "ç®éäºä¸å¡ä¸»é®") private String jdyId; @ApiModelProperty(value = "ç®éäºåå·") private String jdyNo; @ApiModelProperty(value = "é¥åé¢åç¶æï¼0=å¾ é¢åï¼1=å·²é¢åï¼2=å·²å½è¿ï¼") private Integer keyStatus; server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/JkCabinet.java
@@ -2,6 +2,7 @@ import com.baomidou.mybatisplus.annotation.TableField; import com.doumee.core.annotation.excel.ExcelColumn; import com.doumee.dao.system.model.Multifile; import com.doumee.service.business.third.model.LoginUserModel; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; @@ -163,5 +164,7 @@ @TableField(exist = false) private List<String> authMemberIdList; @ApiModelProperty(value = "æ¿æ´»æä»¶") @TableField(exist = false) private Multifile activateFile; } server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/JkCabinetGrid.java
@@ -85,6 +85,9 @@ @ExcelColumn(name="ééå·") private String channelCode; @ApiModelProperty(value = "å®é é¥åç¼ç ï¼å¦ï¼7B7A092F ï¼") @ExcelColumn(name="å®é é¥åç¼ç ï¼å¦ï¼7B7A092F ï¼") private String actualLable; @ApiModelProperty(value = "ç»å®ç¶æ 0æªç»å®ï¼1å·²ç»å®", example = "1") @TableField(exist = false) @@ -106,9 +109,13 @@ @TableField(exist = false) private Integer carId; @ApiModelProperty(value = "é¥åç¶æ 0æªç»å® 1å¨ä½ 2ååº 3ç»´ä¿®ä¿å »", example = "1") @ApiModelProperty(value = "é¥åç¶æ 0æªç»å® 1å¨ä½ 2ååº 3ç»´ä¿®ä¿å » 4ç»å®é误", example = "1") @TableField(exist = false) private Integer keyStatus; @ApiModelProperty(value = "é误信æ¯", example = "1") @TableField(exist = false) private String errInfo; @ApiModelProperty(value = "派车ç³è¯·å主é®", example = "1") @TableField(exist = false) @@ -118,4 +125,8 @@ @TableField(exist = false) private Integer getKeyWay; @ApiModelProperty(value = "å®é é¥å") @TableField(exist = false) private String actualCode; } server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/WarningEvent.java
@@ -32,7 +32,7 @@ @ApiModelProperty(value = "å建æ¶é´") //@ExcelColumn(name="å建æ¶é´") @JsonFormat(pattern = "yyyy-MM-dd") @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") private Date createDate; @ApiModelProperty(value = "æ´æ°äººç¼ç ", example = "1") server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/vo/CabinetInfoVO.java
@@ -70,4 +70,7 @@ @ApiModelProperty(value = "é ç²¾æ£æµé ç½®") private CabinetConfigDataVO cabinetConfigDataVO; @ApiModelProperty(value = "æ¿æ´»æä»¶å°å") private String activateFileUrl; } server/visits/dmvisit_service/src/main/java/com/doumee/service/business/JkCabinetGridService.java
@@ -150,5 +150,11 @@ CabinetBoardDataVO getCabinetGridData(); /** * åæ¥ææ ¼å®é é¥åç¼å· * @param dto */ void syncGridData(SyncCabinetDTO dto); } server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/CarUseBookServiceImpl.java
@@ -627,21 +627,21 @@ //审æ¹éè¿ï¼ä½æ¯ å·²å°å车æ¶é´ï¼ä¸å¯ä»¥æ¤é return Constants.ZERO; } if((Constants.equalsInteger(carUseBook.getStatus(),Constants.ZERO)) ||Constants.equalsInteger(carUseBook.getStatus(),Constants.ONE) ||Constants.equalsInteger(carUseBook.getStatus(),Constants.TWO)){ //审æ¹äººå¯ä»¥æ¤é èªå·±å®¡æ¹çç³è¯·è®°å½ Approve approve = approveJoinMapper.selectOne(new QueryWrapper<Approve>().lambda() .eq(Approve::getIsdeleted,Constants.ZERO) .ge(Approve::getLevel,Constants.ZERO) .eq(Approve::getChekorId,loginUserInfo.getMemberId()) .eq(Approve::getObjId,carUseBook.getId()) .eq(Approve::getObjType,carUseBook.getType()==0?3:4) .last("limit 1")); if(approve!=null){ return Constants.ONE; } } // if((Constants.equalsInteger(carUseBook.getStatus(),Constants.ZERO)) // ||Constants.equalsInteger(carUseBook.getStatus(),Constants.ONE) // ||Constants.equalsInteger(carUseBook.getStatus(),Constants.TWO)){ // //审æ¹äººå¯ä»¥æ¤é èªå·±å®¡æ¹çç³è¯·è®°å½ // Approve approve = approveJoinMapper.selectOne(new QueryWrapper<Approve>().lambda() // .eq(Approve::getIsdeleted,Constants.ZERO) // .ge(Approve::getLevel,Constants.ZERO) // .eq(Approve::getChekorId,loginUserInfo.getMemberId()) // .eq(Approve::getObjId,carUseBook.getId()) // .eq(Approve::getObjType,carUseBook.getType()==0?3:4) // .last("limit 1")); // if(approve!=null){ // return Constants.ONE; // } // } return Constants.ZERO; } @@ -657,16 +657,19 @@ if(StringUtils.isEmpty(op)){ return; } JSONObject dataJSON = dataInfoJSON.getJSONObject("data"); String no = dataJSON.getString("no"); if(StringUtils.isEmpty(no)){ if(op.equals("data_test")){ return; } JSONObject dataJSON = dataInfoJSON.getJSONObject("data"); String id = dataJSON.getString("_id"); if(op.equals("data_remove")){ carUseBookJoinMapper.update(new UpdateWrapper<CarUseBook>().lambda() .set(CarUseBook::getEditDate,DateUtil.getCurrDateTime()) .set(CarUseBook::getIsdeleted,Constants.ONE).eq(CarUseBook::getJdyId,no)); .set(CarUseBook::getIsdeleted,Constants.ONE).eq(CarUseBook::getJdyId,id)); return; } String no = dataJSON.getString("no"); if(StringUtils.isEmpty(no)){ return; } Integer status = dataJSON.getInteger("flowState"); @@ -687,7 +690,8 @@ carUseBook = new CarUseBook(); carUseBook.setCreateDate(new Date()); carUseBook.setEditDate(new Date()); carUseBook.setJdyId(no); carUseBook.setJdyNo(no); carUseBook.setJdyId(id); }else{ carUseBook.setEditDate(new Date()); } @@ -699,14 +703,15 @@ .eq(Cars::getCode,carCode).last("limit 1")); carUseBook.setCarId(Objects.nonNull(cars)?cars.getId():null); } carUseBook.setStartTime(StringUtils.isBlank(startDate)?null:DateUtil.getISO8601DateByStr(startDate)); carUseBook.setEndTime(StringUtils.isBlank(endDate)?null:DateUtil.getISO8601DateByStr(endDate)); carUseBook.setStartTime(StringUtils.isBlank(startDate)?null:DateUtil.getXMinuteAfterDate(DateUtil.getISO8601DateByStr(startDate),480)); carUseBook.setEndTime(StringUtils.isBlank(endDate)?null:DateUtil.getXMinuteAfterDate(DateUtil.getISO8601DateByStr(endDate),480)); carUseBook.setTypeInfo(StringUtils.isBlank(typeInfo)?null:typeInfo); carUseBook.setContent(StringUtils.isBlank(typeInfo)?null:reason); carUseBook.setAddr(StringUtils.isBlank(typeInfo)?null:addr); carUseBook.setContent(StringUtils.isBlank(reason)?null:reason); carUseBook.setAddr(StringUtils.isBlank(addr)?null:addr); carUseBook.setStatus(Constants.TWO); JSONObject driverJSON = dataJSON.getJSONObject("driver"); if(!driverJSON.isEmpty()){ if(Objects.nonNull(driverJSON)){ String driverName = driverJSON.getString("name"); String driverUserName = driverJSON.getString("username"); if(StringUtils.isNotBlank(driverUserName)){ @@ -717,7 +722,7 @@ } } JSONObject createJSON = dataJSON.getJSONObject("creator"); if(!driverJSON.isEmpty()){ if(Objects.nonNull(createJSON)){ String createName = createJSON.getString("name"); String createUserName = createJSON.getString("username"); if(StringUtils.isNotBlank(createUserName)){ @@ -729,13 +734,13 @@ } JSONArray usersArray = dataJSON.getJSONArray("users"); if(!usersArray.isEmpty()){ if(Objects.nonNull(usersArray)){ String names = ""; List<String> userDDIdList = new ArrayList<>(); for (int i = 0; i < usersArray.size(); i++) { JSONObject userJSON = usersArray.getJSONObject(i); String name = createJSON.getString("name"); String userName = createJSON.getString("username"); String name = userJSON.getString("name"); String userName = userJSON.getString("username"); userDDIdList.add(userName); names = names + (StringUtils.isNotBlank(names)?",":"") @@ -758,7 +763,7 @@ @Override public List<InterestedListVO> getCarUseStatistics(Integer type){ List<String> weekDays = DateUtil.getBeforDaysByFormat(new Date(),Objects.isNull(type)||Constants.equalsInteger(type,Constants.ZERO)?7:15,"MMæddæ¥"); List<String> weekDays = DateUtil.getBeforDaysByFormat(new Date(),Objects.isNull(type)||Constants.equalsInteger(type,Constants.ZERO)?7:15,"MM-dd"); MPJLambdaWrapper<CarUseBook> wrapper = new MPJLambdaWrapper<CarUseBook>() .selectAll(CarUseBook.class) .eq(CarUseBook::getIsdeleted, Constants.ZERO) @@ -774,7 +779,7 @@ vo.setNextNum(Constants.ZERO); if (com.github.xiaoymin.knife4j.core.util.CollectionUtils.isNotEmpty(carUseBookList)) { vo.setNum( carUseBookList.stream().filter(i->DateUtil.dateToString(i.getCreateDate(),"MMæddæ¥").equals(days)) carUseBookList.stream().filter(i->DateUtil.dateToString(i.getCreateDate(),"MM-dd").equals(days)) .collect(Collectors.toList()).size() ); } server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/CarsServiceImpl.java
@@ -727,6 +727,9 @@ if(StringUtils.isEmpty(op)){ return; } if(op.equals("data_test")){ return; } JSONObject dataJSON = dataInfoJSON.getJSONObject("data"); String no = dataJSON.getString("_id"); if(StringUtils.isEmpty(no)){ @@ -755,7 +758,7 @@ cars.setCode(StringUtils.isBlank(carCode)?null:carCode); cars.setStatus(StringUtils.isNotBlank(status)&&StringUtils.equals(status,"å¯ç¨")?0:1); JSONObject driverJSON = dataJSON.getJSONObject("driver"); if(!driverJSON.isEmpty()){ if(Objects.nonNull(driverJSON)){ String driverName = driverJSON.getString("name"); String driverUserName = driverJSON.getString("username"); if(StringUtils.isNotBlank(driverUserName)){ @@ -766,7 +769,7 @@ } } JSONObject createJSON = dataJSON.getJSONObject("creator"); if(!createJSON.isEmpty()){ if(Objects.nonNull(createJSON)){ String createName = createJSON.getString("name"); String createUserName = createJSON.getString("username"); if(StringUtils.isNotBlank(createUserName)){ server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/JkCabinetGridServiceImpl.java
@@ -31,6 +31,7 @@ import com.doumee.service.business.third.model.PageWrap; import com.github.yulichang.wrapper.MPJLambdaWrapper; import com.hikvision.artemis.sdk.config.ArtemisConfig; import com.sun.corba.se.impl.orbutil.concurrent.Sync; import io.swagger.models.auth.In; import lombok.extern.slf4j.Slf4j; import org.apache.commons.lang3.StringUtils; @@ -142,8 +143,8 @@ //æ´æ°é¥åæä¿¡æ¯ jkCabinetGridMapper.update(new UpdateWrapper<JkCabinetGrid>().lambda() .set(JkCabinetGrid::getKeyId,jkCabinetGrid.getKeyId()) .set(JkCabinetGrid::getActualLable,keysModel.getRfidLable()) .set(JkCabinetGrid::getEditor,loginUserInfo.getId()) .set(JkCabinetGrid::getEditDate,DateUtil.getCurrDateTime()) .set(JkCabinetGrid::getEditDate, DateUtil.getCurrDateTime()) .eq(JkCabinetGrid::getId,jkCabinetGrid.getId())); //æ è®°é¥åä¿¡æ¯ @@ -201,8 +202,11 @@ .selectAll(JkCabinetGrid.class) .selectAs(JkCabinet::getName,JkCabinetGrid::getCabinetName) .selectAs(JkKeys::getRfidLable,JkCabinetGrid::getKeyCode) .selectAs(JkKeys::getStatus,JkCabinetGrid::getKeyStatus) .select("k.code",JkCabinetGrid::getActualCode) .leftJoin(JkCabinet.class,JkCabinet::getId,JkCabinetGrid::getCabinetId) .leftJoin(JkKeys.class,JkKeys::getId,JkCabinetGrid::getKeyId) .leftJoin(" jk_keys k on k.RFID_LABLE = t.ACTUAL_LABLE ") .eq(JkCabinetGrid::getIsdeleted,Constants.ZERO) .eq(Objects.nonNull(model.getCabinetId()),JkCabinetGrid::getCabinetId,model.getCabinetId()) .eq(Objects.nonNull(model.getStatus()),JkCabinetGrid::getStatus,model.getStatus()) @@ -215,6 +219,19 @@ IPage<JkCabinetGrid> iPage = jkCabinetGridMapper.selectJoinPage(page,JkCabinetGrid.class,wrapper); for (JkCabinetGrid jkCabinetGrid:iPage.getRecords()) { jkCabinetGrid.setBindStatus(Objects.isNull(jkCabinetGrid.getKeyId())?Constants.ZERO:Constants.ONE); jkCabinetGrid.setKeyStatus(Objects.isNull(jkCabinetGrid.getKeyStatus())?Constants.ZERO:jkCabinetGrid.getKeyStatus()); if(!Constants.equalsInteger(jkCabinetGrid.getKeyStatus(),Constants.ZERO)){ if(StringUtils.isBlank(jkCabinetGrid.getKeyCode())||StringUtils.isBlank(jkCabinetGrid.getActualLable()) || !StringUtils.equals(jkCabinetGrid.getKeyCode(),jkCabinetGrid.getActualLable())){ jkCabinetGrid.setKeyStatus(Constants.FOUR); if(StringUtils.isBlank(jkCabinetGrid.getActualCode())){ jkCabinetGrid.setErrInfo("æªç¥é¥å å¼å¸¸"); }else{ jkCabinetGrid.setErrInfo(jkCabinetGrid.getActualCode()+" å¼å¸¸"); } } } } return PageData.from(iPage); } @@ -256,6 +273,7 @@ //æ´æ°é¥åæä¿¡æ¯ jkCabinetGridMapper.update(new UpdateWrapper<JkCabinetGrid>().lambda() .set(JkCabinetGrid::getKeyId,null) .set(JkCabinetGrid::getActualLable,null) .set(JkCabinetGrid::getEditDate, DateUtil.getCurrDateTime()) .eq(JkCabinetGrid::getId,model.getId())); JkKeys keysModel = jkKeysMapper.selectById(model.getKeyId()); @@ -274,6 +292,7 @@ if(CollectionUtils.isNotEmpty(jkCabinetGridList)){ jkCabinetGridMapper.update(new UpdateWrapper<JkCabinetGrid>().lambda() .set(JkCabinetGrid::getKeyId,null) .set(JkCabinetGrid::getActualLable,null) .set(JkCabinetGrid::getEditDate, DateUtil.getCurrDateTime()) .in(JkCabinetGrid::getId,jkCabinetGridList.stream().map(i->i.getId()).collect(Collectors.toList()))); List<Integer> keyIdList = jkCabinetGridList.stream().filter(i->Objects.nonNull(i.getKeyId())).map(i->i.getKeyId()).collect(Collectors.toList()); @@ -485,27 +504,39 @@ .set(JkKeys::getStatus,dto.getKeyStatus()) .eq(JkKeys::getId,jkKeys.getId()) ); if(Constants.equalsInteger(dto.getKeyStatus(),Constants.ONE)&& (StringUtils.isBlank(jkCabinetGrid.getActualLable())||!StringUtils.equals(jkCabinetGrid.getActualLable(),jkKeys.getRfidLable()))){ //æ´æ°é¥åå®é ç¼ç jkCabinetGridMapper.update(null,new UpdateWrapper<JkCabinetGrid>().lambda() .set(JkCabinetGrid::getActualLable,jkKeys.getRfidLable()) .eq(JkCabinetGrid::getId,jkCabinetGrid.getId()) ); } //å½è¿é¥å/ååºé¥å é½è¦å»æ¥è¯¢æå䏿¬¡å¼é¨è®°å½ è·åå ·ä½çå¼é¨çæ¹å¼ æ¯é车/派车/ä¿æ´ èµäºå½åå ³é¨è®°å½å å¦ææ¯æ´¾è½¦åæ°æ® éè¦è°èµ·ç®éäºæ¨é JkCabinetLog lastOutLog = jkCabinetLogMapper.selectOne(new QueryWrapper<JkCabinetLog>().lambda() .eq(JkCabinetLog::getKeyId,jkCabinetLog.getKeyId()) .eq(JkCabinetLog::getType,Constants.ZERO) .orderByDesc(JkCabinetLog::getId) .last( "limit 1 ")); if(Objects.nonNull(lastOutLog)){ jkCabinetLog.setOpenWay(lastOutLog.getOpenWay()); jkCabinetLog.setCarUseBookId(lastOutLog.getCarUseBookId()); if(Objects.nonNull(lastOutLog.getCarUseBookId())) { CarUseBook carUseBook = carUseBookMapper.selectById(lastOutLog.getCarUseBookId()); if (Objects.nonNull(carUseBook) && Constants.equalsInteger(carUseBook.getKeyStatus(), Constants.ZERO)) { if (Objects.nonNull(carUseBook)) { carUseBookMapper.update(new UpdateWrapper<CarUseBook>().lambda() .set(CarUseBook::getKeyStatus, Constants.ONE) .set(CarUseBook::getKeyStatus, Constants.equalsInteger(dto.getKeyStatus(),Constants.TWO)?Constants.ONE:Constants.TWO) .eq(CarUseBook::getId, carUseBook.getId()) ); //æ¨éç®éäº æ è®°ä¸å¡æ°æ®å·²è¢«é¢åé¥å if (StringUtils.isNotBlank(carUseBook.getJdyId())) { JDYKeyUseByBookDTO jdyKeyUseByBookDTO = new JDYKeyUseByBookDTO(); jdyKeyUseByBookDTO.setCreate_date(System.currentTimeMillis()); jdyKeyUseByBookDTO.setStart_date(Constants.equalsInteger(dto.getKeyStatus(),Constants.TWO)?System.currentTimeMillis():null); jdyKeyUseByBookDTO.setStart_date(System.currentTimeMillis()); jdyKeyUseByBookDTO.setEnd_date(Constants.equalsInteger(dto.getKeyStatus(),Constants.ONE)?System.currentTimeMillis():null); jdyKeyUseByBookDTO.setType(Constants.equalsInteger(dto.getKeyStatus(),Constants.TWO)?Constants.ZERO:Constants.ONE); jdyKeyUseByBookDTO.setId(carUseBook.getJdyId()); jdyKeyUseByBookDTO.setId(carUseBook.getJdyNo()); this.pushJDYKeyInfo(jdyKeyUseByBookDTO); } } @@ -611,9 +642,21 @@ .in(JkKeys::getStatus,Constants.TWO,Constants.THREE) .isNotNull(JkCabinetGrid::getKeyId) .apply("t1.car_id in ( select c.id from cars c where c.ISDELETED = 0 and c.MEMBER_ID = "+dto.getMemberId()+" )") .orderByAsc(JkCabinetGrid::getCode) ); for (JkCabinetGrid jkCabinetGrid:jkCabinetGridList) { JkCabinetLog log = jkCabinetLogMapper.selectOne(new QueryWrapper<JkCabinetLog>().lambda() .eq(JkCabinetLog::getGridId,jkCabinetGrid.getId()) .eq(JkCabinetLog::getType,Constants.ZERO) .orderByDesc(JkCabinetLog::getId) .last("limit 1") ); jkCabinetGrid.setGetKeyWay(Constants.ZERO); if(Objects.nonNull(log)){ jkCabinetGrid.setGetKeyWay(log.getOpenWay()); jkCabinetGrid.setCarUseBookId(log.getCarUseBookId()); } } }else{ //夿å½åæ¶é´æ¯å¦å¤äºä¿æ´æ¶æ®µå String cleanConfig = systemDictDataBiz.queryByCode(Constants.CABINET_CONFIG,Constants.CLEAN_TIME).getCode(); @@ -621,29 +664,66 @@ Boolean isCleanTime = Constants.betweenTimeConfig(cleanConfig); List<Integer> girdIdList = new ArrayList<>(); //æ¥è¯¢æ ¹æ®ä»»å¡å¯ä»¥é¢åçæ°æ® // jkCabinetGridList = jkCabinetGridMapper.selectJoinList(JkCabinetGrid.class, // new MPJLambdaWrapper<JkCabinetGrid>().selectAll(JkCabinetGrid.class) // .selectAs(JkKeys::getRfidLable,JkCabinetGrid::getKeyCode) // .selectAs(JkKeys::getCarCode,JkCabinetGrid::getCarCode) // .selectAs(JkKeys::getCarId,JkCabinetGrid::getCarId) // .selectAs(JkKeys::getStatus,JkCabinetGrid::getKeyStatus) // .selectAs(CarUseBook::getId,JkCabinetGrid::getCarUseBookId) // .select("1",JkCabinetGrid::getGetKeyWay) // .innerJoin(JkKeys.class,JkKeys::getId,JkCabinetGrid::getKeyId) // .innerJoin(CarUseBook.class,CarUseBook::getCarCode,JkKeys::getCarCode) // .innerJoin(Cars.class,Cars::getCode,CarUseBook::getCarCode) // .eq(JkCabinetGrid::getIsdeleted,Constants.ZERO) // .eq(CarUseBook::getIsdeleted,Constants.ZERO) // .eq(Cars::getIsdeleted,Constants.ZERO) // .eq(JkCabinetGrid::getWorkingStatus,Constants.ZERO) // .eq(JkCabinetGrid::getStatus,Constants.ZERO) // .eq(JkCabinetGrid::getCabinetId,dto.getCabinetId()) // .in(JkKeys::getStatus,Constants.ONE) // .eq(JkKeys::getRoleType,Constants.ONE) // .isNotNull(JkCabinetGrid::getKeyId) // .apply(" NOW() > DATE_SUB(t2.START_TIME, INTERVAL "+earlyConfig+" MINUTE) and now() < t2.end_time and t3.MEMBER_ID = "+dto.getMemberId()+" ") // ); jkCabinetGridList = jkCabinetGridMapper.selectJoinList(JkCabinetGrid.class, new MPJLambdaWrapper<JkCabinetGrid>().selectAll(JkCabinetGrid.class) .selectAs(JkKeys::getRfidLable,JkCabinetGrid::getKeyCode) .selectAs(JkKeys::getCarCode,JkCabinetGrid::getCarCode) .selectAs(JkKeys::getCarId,JkCabinetGrid::getCarId) .selectAs(JkKeys::getStatus,JkCabinetGrid::getKeyStatus) .selectAs(CarUseBook::getId,JkCabinetGrid::getCarUseBookId) .select("1",JkCabinetGrid::getGetKeyWay) .innerJoin(JkKeys.class,JkKeys::getId,JkCabinetGrid::getKeyId) .innerJoin(CarUseBook.class,CarUseBook::getCarCode,JkKeys::getCarCode) .innerJoin(Cars.class,Cars::getCode,CarUseBook::getCarCode) .innerJoin(Cars.class,Cars::getId,JkKeys::getCarId) .eq(JkCabinetGrid::getIsdeleted,Constants.ZERO) .eq(CarUseBook::getIsdeleted,Constants.ZERO) .eq(Cars::getIsdeleted,Constants.ZERO) .eq(JkCabinetGrid::getWorkingStatus,Constants.ZERO) .eq(JkCabinetGrid::getStatus,Constants.ZERO) .eq(JkCabinetGrid::getCabinetId,dto.getCabinetId()) .in(JkKeys::getStatus,Constants.ONE) .eq(JkKeys::getRoleType,Constants.ONE) .eq(Cars::getMemberId,dto.getMemberId()) .isNotNull(JkCabinetGrid::getKeyId) .apply("and NOW() > DATE_SUB(t2.START_TIME, INTERVAL "+earlyConfig+" MINUTE) and now() < t2.end_time and t3.MEMBER_ID = "+dto.getMemberId()+" )") .apply(" t2.code in ( select c.car_code from car_use_book c left join cars c1 on c.car_code = c1.code where c.isdeleted = 0 and c1.isdeleted =0 and NOW() > DATE_SUB(c.START_TIME, INTERVAL "+earlyConfig+" MINUTE) and now() < c.end_time and c1.MEMBER_ID = "+dto.getMemberId()+" ) ") ); for (JkCabinetGrid jkCabinetGrid:jkCabinetGridList) { List<CarUseBook> carUseBookList = carUseBookMapper.selectJoinList(CarUseBook.class,new MPJLambdaWrapper<CarUseBook>() .selectAll(CarUseBook.class) .leftJoin(Cars.class,Cars::getCode,CarUseBook::getCarCode) .eq(CarUseBook::getIsdeleted,Constants.ZERO) .eq(Cars::getIsdeleted,Constants.ZERO) .eq(CarUseBook::getCarCode,jkCabinetGrid.getCarCode()) .eq(Cars::getMemberId,dto.getMemberId()) .apply(" NOW() > DATE_SUB(t.START_TIME, INTERVAL "+earlyConfig+" MINUTE) and now() < t.end_time ") ); if(CollectionUtils.isNotEmpty(carUseBookList)) { jkCabinetGrid.setCarUseBookId(carUseBookList.get(Constants.ZERO).getId()); } } if(CollectionUtils.isNotEmpty(jkCabinetGridList)){ girdIdList = jkCabinetGridList.stream().map(i->i.getId()).collect(Collectors.toList()); } @@ -662,7 +742,7 @@ .eq(!isCleanTime,JkKeys::getRoleType,Constants.ZERO) .in(JkKeys::getStatus,Constants.ONE) .isNotNull(JkCabinetGrid::getKeyId) .notIn(CollectionUtils.isNotEmpty(girdIdList),JkCabinetGrid::getId,jkCabinetGridList) .notIn(CollectionUtils.isNotEmpty(girdIdList),JkCabinetGrid::getId,girdIdList) .apply("t1.car_id in ( select c.id from cars c where c.ISDELETED = 0 and c.MEMBER_ID = "+dto.getMemberId()+" ) ") ) ); @@ -788,7 +868,7 @@ return; } String content = "ãé¥åæ-"+jkCabinetGrid.getCabinetName()+"ãä¸ãææ ¼-"+jkCabinetGrid.getCode()+"ãè¶ æ¶æªå ³é"; String content = "ãé¥åæ-"+jkCabinetGrid.getCabinetName()+"ãä¸ãææ ¼-"+jkCabinetGrid.getCode()+"ãææ ¼æªå ³é"; JkCabinet jkCabinet = jkCabinetMapper.selectById(dto.getCabinetId()); //å卿¥è¦å¼å¸¸è®°å½ @@ -796,12 +876,12 @@ warningEvent.setCreateDate(new Date()); warningEvent.setCreator(Objects.nonNull(systemUser)?systemUser.getId():null); warningEvent.setWarningId(warning.getId()); warningEvent.setIsdeleted(Constants.ZERO); warningEvent.setTitle(warningConfig.getInfo()); warningEvent.setContent(content ); warningEvent.setStatus(Constants.ZERO); warningEvent.setRegion(Objects.nonNull(jkCabinet)&&StringUtils.isNotBlank(jkCabinet.getLocation())?jkCabinet.getLocation():"æªç¥ä½ç½®"); warningEventMapper.insert(warningEvent); try { // åå¨å¼å¸¸éç¥æ¥å¿ WarningPush warningPush = new WarningPush(); @@ -834,9 +914,7 @@ warningEvent.setStatus(Constants.TWO); warningEventMapper.updateById(warningEvent); } } } } } @@ -878,8 +956,8 @@ //æ ä»»ä½è§å ç´æ¥è·³è¿ if(CollectionUtils.isEmpty(warningRuleDetails)){ return resultList; }else if(!Constants.equalsInteger(warningRuleDetails.stream().filter(i->!i.getCode().equals(warningConfig.getKey())).collect(Collectors.toList()).size(),Constants.ZERO)){ List<WarningRuleDetail> wList = warningRuleDetails.stream().filter(i->!i.getCode().equals(warningConfig.getKey())).collect(Collectors.toList()); }else if(!Constants.equalsInteger(warningRuleDetails.stream().filter(i->!i.getCode().equals(warningConfig.getKey()+"")).collect(Collectors.toList()).size(),Constants.ZERO)){ List<WarningRuleDetail> wList = warningRuleDetails.stream().filter(i->!i.getCode().equals(warningConfig.getKey()+"")).collect(Collectors.toList()); //è·åææå ¶ä»ææäºä»¶ä¸»é®ä¿¡æ¯ List<Integer> warningIdList = wList.stream().map(i->i.getWarningId()).collect(Collectors.toList()); Set<Integer> setWarningIdList = new HashSet<>(warningIdList); @@ -887,25 +965,30 @@ List<WarningEvent> warningEventList = warningEventMapper.selectList(new QueryWrapper<WarningEvent>().lambda() .eq(WarningEvent::getIsdeleted,Constants.ZERO) .in(WarningEvent::getWarningId,setWarningIdList) .apply(" DATE_ADD(CREATE_DATE , INTERVAL "+warningRule.getIntervalSec()+" SECOND) > now() ") .apply(Objects.nonNull(warningRule.getIntervalSec())," DATE_ADD(CREATE_DATE , INTERVAL "+warningRule.getIntervalSec()+" SECOND) > now() ") ); if(this.processWarnFlag(wList,warningEventList)){ resultList.add(ruleId); }; }else{ List<WarningRuleDetail> wList = warningRuleDetails.stream().filter(i->i.getCode().equals(warningConfig.getKey())).collect(Collectors.toList()); List<WarningRuleDetail> wList = warningRuleDetails.stream().filter(i->i.getCode().equals(warningConfig.getKey()+"")).collect(Collectors.toList()); //è·åæ¬æ¬¡äºä»¶ä¸»é®ä¿¡æ¯ List<Integer> warningIdList = wList.stream().map(i->i.getWarningId()).collect(Collectors.toList()); Set<Integer> setWarningIdList = new HashSet<>(warningIdList); if(Objects.isNull(warningRule.getIntervalSec())){ resultList.add(ruleId); }else{ //è·åæ¶é´å ææäºä»¶ä¿¡æ¯ List<WarningEvent> warningEventList = warningEventMapper.selectList(new QueryWrapper<WarningEvent>().lambda() .eq(WarningEvent::getIsdeleted,Constants.ZERO) .in(WarningEvent::getWarningId,setWarningIdList) .apply(" DATE_ADD(CREATE_DATE , INTERVAL "+warningRule.getIntervalSec()+" SECOND) > now() ") .apply(Objects.nonNull(warningRule.getIntervalSec())," DATE_ADD(CREATE_DATE , INTERVAL "+warningRule.getIntervalSec()+" SECOND) > now() ") ); if(this.processWarnFlag(wList,warningEventList)){ resultList.add(ruleId); } } } } return resultList; @@ -991,15 +1074,15 @@ String content = ""; if(Objects.nonNull(systemUser.getRealname())){ content = content + systemUser.getRealname(); content = content +"ã"+ systemUser.getRealname()+"ã"; } if(Objects.nonNull(jkCabinet)){ content = content + "äº"+jkCabinet.getName()+"é¥åæ"; content = content + "äºã"+jkCabinet.getName()+"ãé¥åæ"; } content = content + "é ç²¾æ£æµå¼å¸¸"; if(Objects.nonNull(dto.getAlcoholNum())){ content = content + "ï¼é 精度æ°ã"+dto.getAlcoholNum()+"°ã"; } // if(Objects.nonNull(dto.getAlcoholNum())){ // content = content + "ï¼é 精度æ°ã"+dto.getAlcoholNum()+"°ã"; // } //å卿¥è¦å¼å¸¸è®°å½ WarningEvent warningEvent = new WarningEvent(); @@ -1007,6 +1090,7 @@ warningEvent.setCreator(Objects.nonNull(systemUser)?systemUser.getId():null); warningEvent.setWarningId(warning.getId()); warningEvent.setTitle(warningConfig.getInfo()); warningEvent.setIsdeleted(Constants.ZERO); warningEvent.setContent(content ); warningEvent.setStatus(Constants.ZERO); warningEvent.setRegion(Objects.nonNull(jkCabinet)&&StringUtils.isNotBlank(jkCabinet.getLocation())?jkCabinet.getLocation():"æªç¥ä½ç½®"); @@ -1097,4 +1181,59 @@ } @Override public void syncGridData(SyncCabinetDTO dto){ if(Objects.isNull(dto) ||StringUtils.isBlank(dto.getCode()) || CollectionUtils.isEmpty(dto.getGridDTOList())){ return; } List<JkCabinetGrid> jkCabinetGridList = jkCabinetGridMapper.selectJoinList(JkCabinetGrid.class, new MPJLambdaWrapper<JkCabinetGrid>() .selectAll(JkCabinetGrid.class) .selectAs(JkKeys::getCarCode,JkCabinetGrid::getCarCode) .selectAs(JkKeys::getRfidLable,JkCabinetGrid::getKeyCode) .selectAs(JkKeys::getStatus,JkCabinetGrid::getKeyStatus) .leftJoin(JkKeys.class,JkKeys::getId,JkCabinetGrid::getKeyId) .leftJoin(JkCabinet.class,JkCabinet::getId,JkCabinetGrid::getCabinetId) .eq(JkCabinet::getCode,dto.getCode()) .eq(JkCabinetGrid::getIsdeleted,Constants.ZERO) .isNotNull(JkCabinetGrid::getBoardCode) .isNotNull(JkCabinetGrid::getChannelCode) .orderByAsc(JkCabinetGrid::getCode) ); if(CollectionUtils.isEmpty(jkCabinetGridList)){ return; } List<SyncGridDTO> gridDTOList = dto.getGridDTOList(); for (JkCabinetGrid jkCabinetGrid:jkCabinetGridList) { List<SyncGridDTO> gridSyncList = gridDTOList.stream().filter(i->StringUtils.isNotBlank(i.getBoardCode())&& StringUtils.isNotBlank(i.getChannelCode())&&StringUtils.isNotBlank(i.getActualLable())&&i.getBoardCode().equals(jkCabinetGrid.getBoardCode()) && i.getChannelCode().equals(jkCabinetGrid.getChannelCode())).collect(Collectors.toList()); if(CollectionUtils.isEmpty(gridDTOList)){ continue; } SyncGridDTO syncGridDTO = gridSyncList.get(Constants.ZERO); if(StringUtils.isBlank(jkCabinetGrid.getKeyCode()) || (!jkCabinetGrid.getKeyCode().equals(syncGridDTO.getActualLable()) && !jkCabinetGrid.getActualLable().equals(syncGridDTO.getActualLable()))){ //æ´æ°æ°æ® æ 记对åºcode jkCabinetGridMapper.update(null,new UpdateWrapper<JkCabinetGrid>().lambda() .set(JkCabinetGrid::getActualLable,syncGridDTO.getActualLable()) .eq(JkCabinetGrid::getId,jkCabinetGrid.getId()) ); } } } } server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/JkCabinetLogServiceImpl.java
@@ -252,15 +252,14 @@ .last(" limit 1 ") ); } String content = "ã车è¾-"+jkCabinetLog.getCarCode()+"é¥åãç±+"+(StringUtils.isNotBlank(jkCabinetLog.getMemberName())?jkCabinetLog.getMemberName():"æªç¥äººå")+"ååºï¼è¶ æ¶æªå½è¿"; String content = "ã车è¾-"+jkCabinetLog.getKeyInfo()+"é¥åãç±"+(StringUtils.isNotBlank(jkCabinetLog.getMemberName())?jkCabinetLog.getMemberName():"æªç¥äººå")+"ååºï¼è¶ æ¶æªå½è¿"; //å卿¥è¦å¼å¸¸è®°å½ WarningEvent warningEvent = new WarningEvent(); warningEvent.setCreateDate(new Date()); warningEvent.setCreator(Objects.nonNull(systemUser)?systemUser.getId():null); warningEvent.setWarningId(warning.getId()); warningEvent.setTitle(warningConfig.getInfo()); warningEvent.setIsdeleted(Constants.ZERO); warningEvent.setContent(content ); warningEvent.setStatus(Constants.ZERO); warningEvent.setRegion( StringUtils.isNotBlank(jkCabinetLog.getLocation())?jkCabinetLog.getLocation():"æªç¥ä½ç½®"); @@ -295,6 +294,10 @@ warningPushMapper.insert(warningPush); warningEvent.setStatus(Constants.ONE); warningEventMapper.updateById(warningEvent); jkCabinetLogMapper.update(null,new UpdateWrapper<JkCabinetLog>().lambda() .set(JkCabinetLog::getIsNotice,Constants.ONE) .eq(JkCabinetLog::getId,jkCabinetLog.getId()) ); }catch (Exception e){ warningEvent.setStatus(Constants.TWO); warningEventMapper.updateById(warningEvent); @@ -356,7 +359,7 @@ @Override public List<InterestedListVO> getKeyUseStatistics(Integer type){ List<String> weekDays = DateUtil.getBeforDaysByFormat(new Date(),Objects.isNull(type)||Constants.equalsInteger(type,Constants.ZERO)?7:15,"MMæddæ¥"); List<String> weekDays = DateUtil.getBeforDaysByFormat(new Date(),Objects.isNull(type)||Constants.equalsInteger(type,Constants.ZERO)?7:15,"MM-dd"); MPJLambdaWrapper<JkCabinetLog> wrapper = new MPJLambdaWrapper<JkCabinetLog>() .selectAll(JkCabinetLog.class) .selectAs(Member::getName,JkCabinetLog::getMemberName) @@ -386,11 +389,11 @@ if (com.github.xiaoymin.knife4j.core.util.CollectionUtils.isNotEmpty(jkCabinetLogs)) { vo.setNum( jkCabinetLogs.stream().filter(i->Constants.equalsInteger(i.getKeyStatus(),Constants.TWO) &&DateUtil.dateToString(i.getCreateDate(),"MMæddæ¥").equals(days)) &&DateUtil.dateToString(i.getCreateDate(),"MM-dd").equals(days)) .collect(Collectors.toList()).size() ); vo.setNextNum(jkCabinetLogs.stream().filter(i->Constants.equalsInteger(i.getKeyStatus(),Constants.ONE) &&DateUtil.dateToString(i.getCreateDate(),"MMæddæ¥").equals(days)) &&DateUtil.dateToString(i.getCreateDate(),"MM-dd").equals(days)) .collect(Collectors.toList()).size()); } server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/JkCabinetServiceImpl.java
@@ -12,6 +12,8 @@ import com.doumee.dao.business.dao.MemberMapper; import com.doumee.dao.business.model.*; import com.doumee.dao.business.vo.*; import com.doumee.dao.system.MultifileMapper; import com.doumee.dao.system.model.Multifile; import com.doumee.dao.system.model.SystemDictData; import com.doumee.service.business.third.model.LoginUserInfo; import com.doumee.service.business.third.model.PageData; @@ -61,6 +63,9 @@ @Autowired private MemberMapper memberMapper; @Autowired private MultifileMapper multifileMapper; @Override @Transactional(rollbackFor = {Exception.class,BusinessException.class}) @@ -113,6 +118,17 @@ jkCabinet.setAuthMemberId(String.join(",",jkCabinet.getAuthMemberIdList())); jkCabinetMapper.insert(jkCabinet); this.createGrid(jkCabinet); if(Objects.nonNull(jkCabinet.getActivateFile())){ Multifile multifile = jkCabinet.getActivateFile(); multifile.setCreateDate(new Date()); multifile.setEditDate(multifile.getCreateDate()); multifile.setIsdeleted(Constants.ZERO); multifile.setObjId(jkCabinet.getId()); multifile.setObjType(Constants.FIVE); multifileMapper.insert(multifile); } return jkCabinet.getId(); } @@ -224,6 +240,23 @@ jkCabinet.setManagerId(String.join(",",jkCabinet.getManagerIdList())); jkCabinet.setAuthMemberId(String.join(",",jkCabinet.getAuthMemberIdList())); jkCabinetMapper.updateById(jkCabinet); multifileMapper.update(new UpdateWrapper<Multifile>().lambda() .set(Multifile::getIsdeleted,Constants.ONE) .eq(Multifile::getObjType,Constants.FIVE) .eq(Multifile::getObjId,jkCabinet.getId()) ); if(Objects.nonNull(jkCabinet.getActivateFile())){ Multifile multifile = jkCabinet.getActivateFile(); multifile.setId(null); multifile.setCreateDate(new Date()); multifile.setEditDate(multifile.getCreateDate()); multifile.setIsdeleted(Constants.ZERO); multifile.setObjId(jkCabinet.getId()); multifile.setObjType(Constants.FIVE); multifileMapper.insert(multifile); } } @Override @@ -274,6 +307,19 @@ jkCabinet.getAuthMemberId().split(",") )); } Multifile multifile = multifileMapper.selectOne(new QueryWrapper<Multifile>() .lambda() .eq(Multifile::getObjType,Constants.FIVE) .eq(Multifile::getObjId,jkCabinet.getId()) .eq(Multifile::getIsdeleted,Constants.ZERO) .last(" limit 1 ")); if(Objects.nonNull(multifile)){ String prefixUrl = systemDictDataBiz.queryByCode(Constants.FTP,Constants.FTP_RESOURCE_PATH).getCode() + systemDictDataBiz.queryByCode(Constants.FTP,Constants.ACTIVATE).getCode(); multifile.setFileurlFull(prefixUrl + multifile.getFileurl()); jkCabinet.setActivateFile(multifile); } return jkCabinet; } @@ -585,6 +631,19 @@ categoryList.stream().map(i->i.getImgurlFull()).collect(Collectors.toList()) ); } Multifile multifile = multifileMapper.selectOne(new QueryWrapper<Multifile>() .lambda() .eq(Multifile::getObjType,Constants.FIVE) .eq(Multifile::getObjId,jkCabinet.getId()) .eq(Multifile::getIsdeleted,Constants.ZERO) .last(" limit 1 ")); if(Objects.nonNull(multifile)&&StringUtils.isNotBlank(multifile.getFileurl())){ String prefixUrl = systemDictDataBiz.queryByCode(Constants.FTP,Constants.FTP_RESOURCE_PATH).getCode() + systemDictDataBiz.queryByCode(Constants.FTP,Constants.ACTIVATE).getCode(); cabinetInfoVO.setActivateFileUrl(prefixUrl + multifile.getFileurl()); } return cabinetInfoVO; } server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/MemberServiceImpl.java
@@ -175,7 +175,7 @@ Member insert = initAddMemberModel(member,loginUserInfo); //æµ·åº·äººåæ°å¢ä¸å¡ try { if(dealHkUserBiz(insert)){ // if(dealHkUserBiz(insert)){ memberMapper.insert(insert); //å建系ç»ç»éè´¦å·ï¼é»è®¤æ ä»»ä½è§è²ï¼ // if(Constants.equalsInteger(member.getCompanyType(),Constants.ONE)){ @@ -184,9 +184,9 @@ //å¤çå¹è®æææä¸å¡ dealTrainTIme(member,0,loginUserInfo); // } }else{ throw new BusinessException(ResponseStatus.SERVER_ERROR.getCode(),"对ä¸èµ·ï¼å工信æ¯åæ¥å®é²å¹³å°å¤±è´¥ï¼è¯·ç¨åéè¯ï¼"); } // }else{ // throw new BusinessException(ResponseStatus.SERVER_ERROR.getCode(),"对ä¸èµ·ï¼å工信æ¯åæ¥å®é²å¹³å°å¤±è´¥ï¼è¯·ç¨åéè¯ï¼"); // } }catch (BusinessException e){ //妿åçå¼å¸¸ï¼å é¤å·²ç»å建ç人åä¿¡æ¯ deleteHkUserBiz(new String[]{insert.getHkId()}); @@ -199,6 +199,7 @@ } return insert; } public static SystemUser createSystemUser(Member insert,SystemDictDataBiz systemDictDataBiz) { SystemUser user = new SystemUser(); // çæå¯ç ç @@ -397,9 +398,9 @@ if(company == null || Constants.equalsInteger(company.getIsdeleted(),Constants.ONE)){ throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),"对ä¸èµ·ï¼è¯¥ç»ç»ä¿¡æ¯å·²è¢«å é¤ï¼è¯·å·æ°é¡µé¢éè¯ï¼"); } if(StringUtils.isBlank(company.getHkId())){ throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),"对ä¸èµ·ï¼è¯¥ç»ç»ä¿¡æ¯æªåæ¥å®é²å¹³å°ï¼è¯·å åå¾ãç»ç»ç®¡çãèåè¿è¡ç»´æ¤ï¼"); } // if(StringUtils.isBlank(company.getHkId())){ // throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),"对ä¸èµ·ï¼è¯¥ç»ç»ä¿¡æ¯æªåæ¥å®é²å¹³å°ï¼è¯·å åå¾ãç»ç»ç®¡çãèåè¿è¡ç»´æ¤ï¼"); // } member.setHkOrgId(company.getHkId()); member.setCompanyType(company.getType()); if(Constants.equalsInteger(company.getType(),Constants.ONE)){ @@ -960,7 +961,7 @@ updateMember.setEditor(loginUserInfo.getId()); updateMember.setEditDate(new Date()); //æµ·åº·äººåæ°å¢ä¸å¡ if(dealHkUserForUpdateBiz(updateMember)){ // if(dealHkUserForUpdateBiz(updateMember)){ updateMember.setHkId(null); updateMember.setAuthStatus(Constants.ZERO); memberMapper.update(null,new UpdateWrapper<Member>().lambda() @@ -993,9 +994,9 @@ cancelAllMemberEmpower(updateMember,memberRoleMapper,empowerMapper); //è®°å½æä½æ¥å¿ saveUserActionBiz(updateMember,loginUserInfo,Constants.UserActionType.EDIT,userActionJoinMapper,null); }else{ throw new BusinessException(ResponseStatus.SERVER_ERROR.getCode(),"对ä¸èµ·ï¼å工信æ¯åæ¥å®é²å¹³å°å¤±è´¥ï¼è¯·ç¨åéè¯ï¼"); } // }else{ // throw new BusinessException(ResponseStatus.SERVER_ERROR.getCode(),"对ä¸èµ·ï¼å工信æ¯åæ¥å®é²å¹³å°å¤±è´¥ï¼è¯·ç¨åéè¯ï¼"); // } } private void dealTrainTIme(Member updateMember, int i,LoginUserInfo loginUserInfo) { @@ -1555,7 +1556,8 @@ .eq(pageWrap.getModel().getHkStatus()!=null,Member::getHkStatus,pageWrap.getModel().getHkStatus()) .orderByAsc(Company::getSortnum) .orderByAsc(Position::getSortnum); .orderByAsc(Position::getSortnum) .orderByAsc(Member::getId); // .orderByAsc(!Constants.equalsInteger(pageWrap.getModel().getIsdeleted(),Constants.ONE),Member::getPinyin) // .orderByDesc(Constants.equalsInteger(pageWrap.getModel().getIsdeleted(),Constants.ONE),Member::getEditDate); if(Constants.formatIntegerNum(dataSyncConfig.getOrgUserDataOrigin())==DataSyncConfig.origin.erp){