| | |
| | | NODE_ENV = 'development' |
| | | |
| | | # VUE_APP_API_URL = 'https://atwl.ahzyssl.com/zhyq_interface' |
| | | <<<<<<< HEAD |
| | | VUE_APP_API_URL = 'http://192.168.0.100:10010' |
| | | # VUE_APP_API_URL = 'https://atwl.ahzyssl.com/zhyq_interface' |
| | | ======= |
| | | #VUE_APP_API_URL = 'http://192.168.0.104:10010' |
| | | VUE_APP_API_URL = 'https://atwl.ahzyssl.com/zhyq_interface' |
| | | >>>>>>> f49ead8710e093ee1d2d3ed50870497f07dee9fa |
| | | # VUE_APP_API_URL = 'http://10.50.250.253:8088/gateway_interface' |
| | | |
| | |
| | | <div slot="search-form"> |
| | | <el-form ref="searchForm" :model="searchForm" label-width="100px" inline> |
| | | <el-form-item label="" prop="inOrOut"> |
| | | <el-select v-model="searchForm.type" style="width: 130px" clearable @change="search" placeholder="事件类型"> |
| | | <el-option label="车辆事件" value="0">车辆事件</el-option> |
| | | <el-option label="人员事件" value="1">人员事件</el-option> |
| | | </el-select> |
| | | </el-form-item> |
| | | <el-form-item label="" prop="inOrOut"> |
| | | <el-select v-model="searchForm.inOrOut" style="width: 130px" clearable @change="search" placeholder="进出类型"> |
| | | <el-option label="进" value="0"></el-option> |
| | | <el-option label="出" value="1"></el-option> |
| | |
| | | <script> |
| | | import BaseTable from '@/components/base/BaseTable' |
| | | import TableLayout from '@/layouts/TableLayout' |
| | | import SearchFormCollapse from '@/components/common/SearchFormCollapse' |
| | | import Pagination from '@/components/common/Pagination' |
| | | import OperaInoutRecordWindow from '@/components/business/OperaInoutRecordWindow' |
| | | import { timeForMat } from '@/utils/util' |
| | | export default { |
| | | name: 'InoutRecord', |
| | | extends: BaseTable, |
| | | components: { SearchFormCollapse, TableLayout, Pagination, OperaInoutRecordWindow }, |
| | | components: { TableLayout, Pagination, OperaInoutRecordWindow }, |
| | | data () { |
| | | return { |
| | | // 搜索 |
| | |
| | | companyName: '', |
| | | startDate: null, |
| | | endDate: null, |
| | | radio: '0' |
| | | radio: '0', |
| | | type: null |
| | | }, |
| | | time: [], |
| | | bizTypeList: [{ key: 0, name: '访客车辆' }, |
| | |
| | | <!-- 搜索表单 --> |
| | | <el-form ref="searchForm" slot="search-form" :model="searchForm" label-width="100px" inline> |
| | | <el-form-item label="Bean名称" prop="beanName"> |
| | | <el-input v-model="searchForm.beanName" placeholder="请输入发布人" @keypress.enter.native="search"></el-input> |
| | | <el-input v-model="searchForm.beanName" placeholder="请输入Bean名称" @keypress.enter.native="search"></el-input> |
| | | </el-form-item> |
| | | <el-form-item label="模块名称" prop="module"> |
| | | <el-input v-model="searchForm.module" placeholder="请输入发布人" @keypress.enter.native="search"></el-input> |
| | | <el-input v-model="searchForm.module" placeholder="请输入模块名称" @keypress.enter.native="search"></el-input> |
| | | </el-form-item> |
| | | <el-form-item label="备注" prop="remark"> |
| | | <el-input v-model="searchForm.remark" placeholder="请输入备注" @keypress.enter.native="search"></el-input> |
| | | </el-form-item> |
| | | <section> |
| | | <el-button type="primary" @click="search">搜索</el-button> |
| | |
| | | searchForm: { |
| | | id: '', |
| | | beanName: '', |
| | | module: '' |
| | | module: '', |
| | | remark: '' |
| | | }, |
| | | pausing:false, |
| | | running:false, |
| | |
| | | for (Rooms rooms:roomList) { |
| | | //查询当前会议室是否存在进行中的会议 |
| | | if(bookingsMapper.selectCount(new QueryWrapper<Bookings>().lambda().eq(Bookings::getIsdeleted,Constants.ZERO) |
| | | .eq(Bookings::getStatus,Constants.ZERO).isNotNull(Bookings::getStartTimeReal).apply(" DATE_FORMAT(NOW(), '%Y-%m-%d') = DATE_FORMAT(START_TIME, '%Y-%m-%d') ") |
| | | .eq(Bookings::getStatus,Constants.ZERO).eq(Bookings::getRoomId,rooms.getId()).isNotNull(Bookings::getStartTimeReal). |
| | | apply(" DATE_FORMAT(NOW(), '%Y-%m-%d') = DATE_FORMAT(START_TIME, '%Y-%m-%d') ") |
| | | )<=Constants.ZERO){ |
| | | //根据会议室获取可以开启的会议记录(第一条记录) |
| | | Bookings bookings = bookingsMapper.selectOne(new QueryWrapper<Bookings>().lambda() |
| | |
| | | .orderByAsc(Bookings::getStartTime) |
| | | .last(" limit 1 ") |
| | | ); |
| | | if(Objects.nonNull(bookings)){ |
| | | bookings.setStartTimeReal(new Date()); |
| | | bookings.setEditDate(new Date()); |
| | | bookings.setEditDate(bookings.getStartTimeReal()); |
| | | bookingsMapper.updateById(bookings); |
| | | } |
| | | } |
| | | } |
| | | } |
| | | |
| | | /** |
| | | * 提前开始 |
| | |
| | | Sheet sheet = sxssfWorkbook.createSheet(sheetName); |
| | | // 创建列头 |
| | | sheet.createFreezePane(0, 1); |
| | | Row header = sheet.createRow(0); |
| | | CellStyle hstyle = configHeaderCellStatic(sxssfWorkbook); |
| | | CellStyle rowStyle = configDataCellStatic(sxssfWorkbook); |
| | | for (int i = 0; i < dataList.size(); i++) { |
| | | Cell cell = header.createCell(i); |
| | | cell.setCellValue(dataList.get(i).get(Constants.ZERO)); |
| | | // 列宽设置 |
| | | sheet.setColumnWidth(i, dataList.get(i).get(Constants.ZERO).length() * 2 * 256); |
| | | // 设置列头单元格 |
| | | cell.setCellStyle(hstyle); |
| | | Row row = sheet.createRow(i); |
| | | List<String> rowList = dataList.get(i); |
| | | for (int j = 0; j < rowList.size(); j++) { |
| | | Cell cell = row.createCell(j); |
| | | if(i==0&&j==0){ |
| | | cell.setCellValue("数据日期"); |
| | | }else{ |
| | | cell.setCellValue(rowList.get(j)); |
| | | } |
| | | |
| | | //总行数 |
| | | Integer rowSize = dataList.get(Constants.ZERO).size(); |
| | | //总列数 |
| | | Integer columnSize = dataList.size(); |
| | | for (int i = 1; i < rowSize; i++) { |
| | | Row row = sheet.createRow(i); |
| | | for (int j = 0; j < columnSize; j++) { |
| | | Cell cell = row.createCell(j); |
| | | cell.setCellValue(dataList.get(j).get(i)); |
| | | if(i==0){ |
| | | sheet.setColumnWidth(i, rowList.get(i).length() * 2 * 256); |
| | | cell.setCellStyle(hstyle); |
| | | }else if(j==0){ |
| | | cell.setCellStyle(rowStyle); |
| | | } |
| | | } |
| | | } |
| | | sxssfWorkbook.write(os); |
| | |
| | | } |
| | | } |
| | | |
| | | |
| | | private static CellStyle configHeaderCellStatic (SXSSFWorkbook workbook) { |
| | | CellStyle style = workbook.createCellStyle(); |
| | | style.setAlignment(HorizontalAlignment.CENTER); |
| | |
| | | style.setFillForegroundColor(IndexedColors.GREY_25_PERCENT.getIndex()); |
| | | // 字体 |
| | | Font font = workbook.createFont(); |
| | | font.setFontHeightInPoints((short) 12); |
| | | font.setFontHeightInPoints((short) 10); |
| | | style.setFont(font); |
| | | // 设置边框 |
| | | configCellBorder(style); |
| | |
| | | } |
| | | |
| | | |
| | | /** |
| | | * 配置数据单元格 |
| | | */ |
| | | private static CellStyle configDataCellStatic (SXSSFWorkbook workbook ) { |
| | | CellStyle configDataCellStyle = workbook.createCellStyle(); |
| | | configDataCellStyle.setAlignment(HorizontalAlignment.CENTER); |
| | | configDataCellStyle.setVerticalAlignment(VerticalAlignment.CENTER); |
| | | // 设置背景 |
| | | configDataCellStyle.setFillPattern(FillPatternType.SOLID_FOREGROUND); |
| | | configDataCellStyle.setFillForegroundColor(IndexedColors.GREY_25_PERCENT.getIndex()); |
| | | // 字体 |
| | | Font font = workbook.createFont(); |
| | | font.setFontHeightInPoints((short) 10); |
| | | |
| | | configDataCellStyle.setFont(font); |
| | | // 边框 |
| | | configCellBorder(configDataCellStyle); |
| | | configDataCellStyle.setWrapText(true); |
| | | |
| | | return configDataCellStyle; |
| | | } |
| | | |
| | | } |
| | |
| | | // System.out.println(Constants.getVehiclePlateNo("湘B140D17").getDescription()); |
| | | // System.out.println(Constants.getVehiclePlateNo("宿AP0637").getDescription()); |
| | | |
| | | System.out.println("<script> SELECT \n" + |
| | | "t1.REALNAME `REALNAME`,\n" + |
| | | "MAX(t1.`01`) `januaryCount`,\n" + |
| | | "MAX(t1.`02`) `februaryCount`,\n" + |
| | | "MAX(t1.`03`) `marchCount`,\n" + |
| | | "MAX(t1.`04`) `aprilCount`,\n" + |
| | | "MAX(t1.`05`) `mayCount`,\n" + |
| | | "MAX(t1.`06`) `juneCount`,\n" + |
| | | "MAX(t1.`07`) `julyCount`,\n" + |
| | | "MAX(t1.`08`) `augustCount`,\n" + |
| | | "MAX(t1.`09`) `septemberCount`,\n" + |
| | | "MAX(t1.`10`) `octoberCount`,\n" + |
| | | "MAX(t1.`11`) `novemberCount`,\n" + |
| | | "MAX(t1.`12`) `decemberCount`\n" + |
| | | "FROM(\n" + |
| | | "SELECT \n" + |
| | | "t.id,\n" + |
| | | "t.REALNAME,\n" + |
| | | "CASE WHEN t.yue='01' THEN t.c ELSE 0 END AS `01`,\n" + |
| | | "CASE WHEN t.yue='02' THEN t.c ELSE 0 END AS `02`,\n" + |
| | | "CASE WHEN t.yue='03' THEN t.c ELSE 0 END AS `03`,\n" + |
| | | "CASE WHEN t.yue='04' THEN t.c ELSE 0 END AS `04`,\n" + |
| | | "CASE WHEN t.yue='05' THEN t.c ELSE 0 END AS `05`,\n" + |
| | | "CASE WHEN t.yue='06' THEN t.c ELSE 0 END AS `06`,\n" + |
| | | "CASE WHEN t.yue='07' THEN t.c ELSE 0 END AS `07`,\n" + |
| | | "CASE WHEN t.yue='08' THEN t.c ELSE 0 END AS `08`,\n" + |
| | | "CASE WHEN t.yue='09' THEN t.c ELSE 0 END AS `09`,\n" + |
| | | "CASE WHEN t.yue='10' THEN t.c ELSE 0 END AS `10`,\n" + |
| | | "CASE WHEN t.yue='11' THEN t.c ELSE 0 END AS `11`,\n" + |
| | | "CASE WHEN t.yue='12' THEN t.c ELSE 0 END AS `12` \n" + |
| | | "FROM \n" + |
| | | "(SELECT \n" + |
| | | "su.id,\n" + |
| | | "su.REALNAME,\n" + |
| | | "DATE_FORMAT(b.START_TIME,'%m') yue,\n" + |
| | | "SUM(" + |
| | | "CONVERT( (UNIX_TIMESTAMP(b.END_TIME) - UNIX_TIMESTAMP(b.START_TIME))/(60*60), DECIMAL(5,1))) c\n" + |
| | | "FROM \n" + |
| | | "meeting_user_rel ur\n" + |
| | | "LEFT JOIN `SYSTEM_USER` su ON ur.USER_ID = su.id \n" + |
| | | "LEFT JOIN meeting_book b ON ur.OBJ_ID = b.id \n" + |
| | | "WHERE DATE_FORMAT(b.START_TIME,'%Y') = #{yearNum} AND b.STATUS in(0,2) and b.isdeleted=0" + |
| | | "<if test='userId != null'>"+ |
| | | "and ur.USER_ID = #{userId}\n" + |
| | | "</if>"+ |
| | | "GROUP BY su.id, DATE_FORMAT(b.START_TIME,'%m')) t) t1 GROUP BY t1.id" + |
| | | "</script>"); |
| | | System.out.println( "{\"data\":{\"paramValues\":{\"accessType\":\"2\",\"certTypes\":\"111\",\"certificateNos\":\"340122199904297373\",\"defineEventType\":\"771760131\",\"eventId\":\"6eb4a18bf3744c4385adb37eecdc9d37_634acece3fcf0_3d87\",\"eventType\":\"541200060\",\"eventTypeName\":\"\",\"extEventCardNo\":\"\",\"extEventPictureURL\":\"/pic?9d9c568c1a2do-4el*71-871o9=1524*7l9=0507*3607416=7147*=t212**ps5=2*8b9=559838d9837371-b162of-5pi2dc3=88=20c\",\"extEventReaderID\":\"\",\"extEventReaderKind\":\"\",\"gateIndex\":\"fc92c663ffb9420994f2574469f35e2d\",\"gateName\":\"安泰西门\",\"happenTime\":\"2025-05-09T13:06:13.000+08:00\",\"inOrOut\":\"0\",\"invoicesIds\":\"9857A54DAD5947EDB032575ECDD9EA4Bf4ebb8b61e344cd09118bfbdb5ff285c\",\"parkIndex\":\"1c4cdb8b66ed4c23bacb385c3fb6c46b\",\"parkName\":\"停车场\",\"phones\":\"19956520776\",\"plateNos\":\"皖AAA1652\",\"srcIndex\":\"6eb4a18bf3744c4385adb37eecdc9d37\",\"srcName\":\"\",\"srcParentIndex\":\"\",\"srcType\":\"roadway\",\"svrIndexCode\":\"eae18a71-1ffd-4e72-bcf6-998c5977630d\",\"userType\":\"\",\"visitorNames\":\"俞扬\"},\"targetPerson\":{\"certType\":\"111\",\"createTime\":\"2024-08-19T17:43:09.966+08:00\",\"jobNo\":\"18055162696\",\"mobile\":\"18055162696\",\"name\":\"朱之萌\",\"orgId\":\"d815b989-877a-40e7-8f34-a5388295a3d2\",\"orgPathName\":\"安泰物流园区/安泰物流/综合管理科\",\"personId\":\"1d8d42233bce4722a741917de4195084\",\"personNumber\":\"18055162696\",\"pinyin\":\"zhuzhimeng\",\"sex\":\"1\",\"updateTime\":\"2025-05-09T11:20:42.000+08:00\",\"userName\":\"18055162696\"},\"visitorInformationList\":[{\"appointmentCode\":\"947384\",\"cardNo\":\"6206767065588\",\"certNo\":\"340122199904297373\",\"certType\":111,\"companionPerson\":\"0\",\"createTime\":\"2025-05-09T13:04:26.740+08:00\",\"faceUrl\":\"2ffa5b542ec2448f9033e6901b326f44\",\"phone\":\"19956520776\",\"plateNo\":\"皖AAA1652\",\"sex\":1,\"unit\":\"安徽东百保安服务有限公司\",\"updateTime\":\"2025-05-09T13:05:36.472+08:00\",\"visitNum\":\"0\",\"visitorId\":\"6424f11498de48228fb2a418d3fc3bb1\",\"visitorName\":\"俞扬\"}],\"visitorInvoices\":{\"appointmentType\":\"3\",\"authIssueStatus\":\"1\",\"beginTime\":\"2025-05-09T13:01:00.000+08:00\",\"campusId\":\"root000000\",\"campusName\":\"默认园区\",\"createTime\":\"2025-05-09T13:04:26.693+08:00\",\"extendJson\":\"\",\"finishTime\":\"2025-05-09T14:01:00.000+08:00\",\"ifInfoAbnormal\":\"0\",\"invoicesId\":\"9857A54DAD5947EDB032575ECDD9EA4Bf4ebb8b61e344cd09118bfbdb5ff285c\",\"invoicesNo\":\"FK20250509130002\",\"invoicesStatus\":\"1\",\"isRepast\":\"0\",\"type\":\"0\",\"updateTime\":\"2025-05-09T13:05:30.372+08:00\",\"visitReason\":\"-1\",\"visitReasonName\":\"其他\",\"visitTargetId\":\"1d8d42233bce4722a741917de4195084\",\"workflowInitiatorId\":\"6424f11498de48228fb2a418d3fc3bb1\",\"workflowInitiatorType\":\"0\",\"workflowInstanceId\":\"7010a8521de54f088331e7176b82fd10\"}},\"eventId\":\"b5024c7b6c8b4b5587baf42dc5bce025\",\"eventType\":541200060,\"happenTime\":\"2025-05-09T13:06:14+08:00\",\"srcIndex\":\"9857A54DAD5947EDB032575ECDD9EA4Bf4ebb8b61e344cd09118bfbdb5ff285c\",\"srcType\":\"9857A54DAD5947EDB032575ECDD9EA4Bf4ebb8b61e344cd09118bfbdb5ff285c\",\"status\":0,\"timeout\":0}"); |
| | | System.out.println("{\"data\":{\"paramValues\":{\"accessType\":\"2\",\"certTypes\":\"111\",\"certificateNos\":\"340122199904297373\",\"defineEventType\":\"771760134\",\"eventId\":\"6cf8a9b5cb614bddb74f338701975ade_634ad693b6b33_3db4\",\"eventType\":\"541200060\",\"eventTypeName\":\"\",\"extEventCardNo\":\"\",\"extEventPictureURL\":\"/pic?9d9c568c1a2do-4el*81-891*9o3=5563*4l0=0206706794t6=318**ps==515b*=5698*8d9835393-b9667f-1pi1dco=852c2=083\",\"extEventReaderID\":\"\",\"extEventReaderKind\":\"\",\"gateIndex\":\"fc92c663ffb9420994f2574469f35e2d\",\"gateName\":\"安泰西门\",\"happenTime\":\"2025-05-09T13:40:59.000+08:00\",\"inOrOut\":\"1\",\"invoicesIds\":\"9857A54DAD5947EDB032575ECDD9EA4Bf4ebb8b61e344cd09118bfbdb5ff285c\",\"parkIndex\":\"1c4cdb8b66ed4c23bacb385c3fb6c46b\",\"parkName\":\"停车场\",\"phones\":\"19956520776\",\"plateNos\":\"皖AAA1652\",\"srcIndex\":\"6cf8a9b5cb614bddb74f338701975ade\",\"srcName\":\"\",\"srcParentIndex\":\"\",\"srcType\":\"roadway\",\"svrIndexCode\":\"eae18a71-1ffd-4e72-bcf6-998c5977630d\",\"userType\":\"\",\"visitorNames\":\"俞扬\"},\"targetPerson\":{\"certType\":\"111\",\"createTime\":\"2024-08-19T17:43:09.966+08:00\",\"jobNo\":\"18055162696\",\"mobile\":\"18055162696\",\"name\":\"朱之萌\",\"orgId\":\"d815b989-877a-40e7-8f34-a5388295a3d2\",\"orgPathName\":\"安泰物流园区/安泰物流/综合管理科\",\"personId\":\"1d8d42233bce4722a741917de4195084\",\"personNumber\":\"18055162696\",\"pinyin\":\"zhuzhimeng\",\"sex\":\"1\",\"updateTime\":\"2025-05-09T11:20:42.000+08:00\",\"userName\":\"18055162696\"},\"visitorInformationList\":[{\"appointmentCode\":\"947384\",\"cardNo\":\"6206767065588\",\"certNo\":\"340122199904297373\",\"certType\":111,\"companionPerson\":\"0\",\"createTime\":\"2025-05-09T13:04:26.740+08:00\",\"faceUrl\":\"2ffa5b542ec2448f9033e6901b326f44\",\"phone\":\"19956520776\",\"plateNo\":\"皖AAA1652\",\"sex\":1,\"unit\":\"安徽东百保安服务有限公司\",\"updateTime\":\"2025-05-09T13:05:36.472+08:00\",\"visitNum\":\"0\",\"visitorId\":\"6424f11498de48228fb2a418d3fc3bb1\",\"visitorName\":\"俞扬\"}],\"visitorInvoices\":{\"appointmentType\":\"3\",\"authIssueStatus\":\"1\",\"beginTime\":\"2025-05-09T13:01:00.000+08:00\",\"campusId\":\"root000000\",\"campusName\":\"默认园区\",\"createTime\":\"2025-05-09T13:04:26.693+08:00\",\"extendJson\":\"\",\"finishTime\":\"2025-05-09T14:01:00.000+08:00\",\"ifInfoAbnormal\":\"0\",\"invoicesId\":\"9857A54DAD5947EDB032575ECDD9EA4Bf4ebb8b61e344cd09118bfbdb5ff285c\",\"invoicesNo\":\"FK20250509130002\",\"invoicesStatus\":\"5\",\"isRepast\":\"0\",\"type\":\"0\",\"updateTime\":\"2025-05-09T13:41:00.369+08:00\",\"visitReason\":\"-1\",\"visitReasonName\":\"其他\",\"visitTargetId\":\"1d8d42233bce4722a741917de4195084\",\"workflowInitiatorId\":\"6424f11498de48228fb2a418d3fc3bb1\",\"workflowInitiatorType\":\"0\",\"workflowInstanceId\":\"7010a8521de54f088331e7176b82fd10\"}},\"eventId\":\"2bb6700a9e4f48849227100243f470b2\",\"eventType\":541200060,\"happenTime\":\"2025-05-09T13:41:00+08:00\",\"srcIndex\":\"9857A54DAD5947EDB032575ECDD9EA4Bf4ebb8b61e344cd09118bfbdb5ff285c\",\"srcType\":\"9857A54DAD5947EDB032575ECDD9EA4Bf4ebb8b61e344cd09118bfbdb5ff285c\",\"status\":0,\"timeout\":0}"); |
| | | } |
| | | |
| | | |
| | |
| | | .eq(pageWrap.getModel().getParams() != null, QuartzJob::getParams, pageWrap.getModel().getParams()) |
| | | .like(pageWrap.getModel().getBeanName() != null, QuartzJob::getBeanName, pageWrap.getModel().getBeanName()) |
| | | .eq(pageWrap.getModel().getState() != null, QuartzJob::getState, pageWrap.getModel().getState()) |
| | | .eq(pageWrap.getModel().getRemark() != null, QuartzJob::getRemark, pageWrap.getModel().getRemark()) |
| | | .like(pageWrap.getModel().getRemark() != null, QuartzJob::getRemark, pageWrap.getModel().getRemark()) |
| | | .like(pageWrap.getModel().getModule() != null, QuartzJob::getModule, pageWrap.getModel().getModule()) |
| | | ; |
| | | return PageData.from(quartzJobMapper.selectPage(page, queryWrapper)); |
| | |
| | | <artifactId>visits</artifactId> |
| | | <version>1.0.0-SNAPSHOT</version> |
| | | </parent> |
| | | |
| | | <artifactId>dmvisit_admin</artifactId> |
| | | |
| | | <properties> |
| | | <maven.compiler.source>8</maven.compiler.source> |
| | | <maven.compiler.target>8</maven.compiler.target> |
| | |
| | | "3=安泰的预约入园车辆:货运车辆-加工烟卸货车辆 ;" + |
| | | "4=安泰公务车:公务车-安泰物流公务用车;" + |
| | | "5=安泰自有车:货运车辆-安泰物流货运车辆 ") |
| | | @ExcelColumn(name="业务类型",index = 4,width = 16,valueMapping = "0=访客车辆-访客车辆;1=货运车辆-外协运输车辆;2=货运车辆-市公司卸货车辆;3=货运车辆-加工烟卸货车辆;4=公务车-安泰物流公务用车;5=货运车辆-安泰物流货运车辆;6=未知车辆;") |
| | | @ExcelColumn(name="业务类型",index = 4,width = 16,valueMapping = "0=访客车辆;1=外协运输车辆;2=市公司卸货车辆;3=加工烟卸货车辆;4=安泰物流公务用车;5=安泰物流货运车辆;6=未知车辆;") |
| | | private Integer bizType; |
| | | |
| | | @ApiModelProperty(value = "父级编码(自关联)") |
| | |
| | | private Integer type; |
| | | @ApiModelProperty(value = " 类型 0相关方组织 1内部人员 2访客") |
| | | @TableField(exist = false) |
| | | @ExcelColumn(name="人员类型" ,index = 5, valueMapping="0=劳务访客;1=普通访客;2=内部员工;3=车辆信息;",width = 8) |
| | | // @ExcelColumn(name="人员类型" ,index = 5, valueMapping="0=劳务访客;1=普通访客;2=内部员工;3=车辆信息;",width = 8) |
| | | private String typeName; |
| | | |
| | | @ApiModelProperty(value = "访客名称") |
| | |
| | | private Integer categoryId; |
| | | |
| | | @ApiModelProperty(value = "关联分类名称") |
| | | @ExcelColumn(name="车辆分类" ,index = 8,width = 16) |
| | | private String categoryName; |
| | | |
| | | @ApiModelProperty(value = "关联父级分类编码(关联category)", example = "1") |
| | | @ExcelColumn(name="关联父级分类编码(关联category)") |
| | | private Integer categoryParentId; |
| | | |
| | | @ApiModelProperty(value = "关联分类名称") |
| | | @ExcelColumn(name="关联分类名称") |
| | | private String categoryParentName; |
| | | |
| | | |
| | | @ApiModelProperty(value = "0=访客车辆;1=外协运输车辆;2=市公司卸货车辆;3=加工烟卸货车辆;4=安泰物流公务用车;5=安泰物流货运车辆;6=未知车辆 ") |
| | | @ExcelColumn(name="车辆分类" ,index = 8,width = 16,valueMapping ="0=访客车辆;1=外协运输车辆;2=市公司卸货车辆;3=加工烟卸货车辆;4=安泰物流公务用车;5=安泰物流货运车辆;6=未知车辆;" ) |
| | | @TableField(exist = false) |
| | | private Integer bizType; |
| | | |
| | | } |
| | |
| | | |
| | | @ApiModelProperty(value = "【出库能力】当日订单里") |
| | | private BigDecimal currentOrderNum; |
| | | |
| | | @ApiModelProperty(value = "【出库能力】当日计划量") |
| | | private BigDecimal currentPlanNum; |
| | | @ApiModelProperty(value = "【出库能力】无需配载的任务量") |
| | |
| | | } |
| | | @Override |
| | | public List<Category> findChileList(Category model) { |
| | | if(Objects.isNull(model)){ |
| | | model = new Category(); |
| | | } |
| | | model.setIsdeleted(Constants.ZERO); |
| | | List<Category> list =findList(model); |
| | | List<Category> data = new ArrayList<>(); |
| | |
| | | category.setGroupName( category.getParentName()+"/"+category.getName()); |
| | | data.add(category); |
| | | } |
| | | }else{ |
| | | data.add(category); |
| | | } |
| | | } |
| | | } |
| | |
| | | InoutRecord model = pageWrap.getModel(); |
| | | queryWrapper.selectAll(InoutRecord.class) |
| | | .eq(InoutRecord::getIsdeleted,Constants.ZERO) |
| | | .eq(Objects.nonNull(model.getType()),InoutRecord::getType, model.getType()) |
| | | // .eq(Objects.nonNull(model.getType()),InoutRecord::getType, model.getType()) |
| | | .isNotNull(Objects.nonNull(model.getType())&&Constants.equalsInteger(model.getType(),Constants.ZERO),InoutRecord::getCarCode) |
| | | .isNotNull(Objects.nonNull(model.getType())&&Constants.equalsInteger(model.getType(),Constants.ONE),InoutRecord::getMemberPhone) |
| | | .eq(Objects.nonNull(model.getInOrOut()),InoutRecord::getInOrOut, model.getInOrOut()) |
| | | .eq(Objects.nonNull(model.getObjType()),InoutRecord::getObjType, model.getObjType()) |
| | | .eq(Objects.nonNull(model.getCarBizType()),InoutRecord::getCarBizType, model.getCarBizType()) |
| | |
| | | queryWrapper.selectAll(Retention.class) |
| | | .selectAs(Company::getName,Retention::getCompanyName) |
| | | .selectAs(Company::getType,Retention::getCompanyType) |
| | | .select(" ( SELECT v.company_name FROM visits v WHERE v.member_id = t.member_id and v.status = "+Constants.VisitStatus.signin+" ORDER BY create_date DESC limit 1 ) as visitCompanyName "); |
| | | queryWrapper.eq(Retention::getIsdeleted,Constants.ZERO) |
| | | .eq(Company::getIsdeleted,Constants.ZERO) |
| | | .select(" ( SELECT v.company_name FROM visits v WHERE v.member_id = t.member_id and v.status = "+Constants.VisitStatus.signin+" ORDER BY create_date DESC limit 1 ) as visitCompanyName ") |
| | | .selectAs(Category::getBizType,Retention::getBizType) |
| | | .leftJoin(Category.class,Category::getId,Retention::getCategoryId) |
| | | .eq(Retention::getIsdeleted,Constants.ZERO) |
| | | // .eq(Company::getIsdeleted,Constants.ZERO) |
| | | .and(StringUtils.isNotBlank(pageWrap.getModel().getKeyWords()),w->{ |
| | | w.like( Retention::getPhone,pageWrap.getModel().getKeyWords()) |
| | | .or().like( Retention::getName,pageWrap.getModel().getKeyWords()); }) |
| | |
| | | Retention::getType,Constants.FOUR) |
| | | .eq(Objects.nonNull(pageWrap.getModel().getQueryUserType())&&Constants.equalsInteger(pageWrap.getModel().getQueryUserType(),Constants.TWO), |
| | | Retention::getType,Constants.TWO) |
| | | .eq(Objects.nonNull(pageWrap.getModel().getBizType()), |
| | | Category::getBizType,pageWrap.getModel().getBizType()) |
| | | //过滤车辆数据 |
| | | .ne(Retention::getType,3) |
| | | .and(StringUtils.isNotBlank(pageWrap.getModel().getCompanyName()), |
| | |
| | | } |
| | | List<DeviceRole> roleList = deviceRoleMapper.selectList(new QueryWrapper<DeviceRole>().lambda() |
| | | .eq(DeviceRole::getType, Constants.ONE)); |
| | | String path = systemDictDataBiz.queryByCode(Constants.FTP,Constants.FTP_RESOURCE_PATH).getCode() |
| | | String path = systemDictDataBiz.queryByCode(Constants.FTP,Constants.FTP_LOCAL_RESOURCE_PATH).getCode() |
| | | +systemDictDataBiz.queryByCode(Constants.FTP,Constants.MEMBER_IMG).getCode(); |
| | | |
| | | HkSyncVisitServiceImpl.getUpdateModelByResponseIccm(visits,new Date(),roleList,path); |
| | |
| | | // List<String> memberIds = daysList.stream().map(i->i.getMemberId().toString()).collect(Collectors.toList()); |
| | | |
| | | List<String> memberIds = inoutRecordList.stream().filter(i-> |
| | | Objects.isNull(i.getCarCode())&& |
| | | Objects.nonNull(i.getMemberPhone())&&DateUtil.dateToString(i.getTimeInfo(),"yyyy-MM-dd").equals(days) |
| | | Objects.isNull(i.getCarCode()) |
| | | && Constants.equalsInteger(i.getInOrOut(),Constants.ZERO) |
| | | && Objects.nonNull(i.getMemberPhone())&&DateUtil.dateToString(i.getTimeInfo(),"yyyy-MM-dd").equals(days) |
| | | ) |
| | | .map(i->i.getMemberPhone()) |
| | | .collect(Collectors.toList()); |
| | |
| | | // List<CarEvent> daysList = carEventList.stream().filter(i->StringUtils.isNotBlank(i.getHappenTime()) && i.getHappenTime().substring(0,10).equals(days)).collect(Collectors.toList()); |
| | | // List<String> carCodeList = daysList.stream().map(i->i.getPlateNos()).collect(Collectors.toList()); |
| | | List<String> carCodeList = inoutRecordList.stream().filter(i-> |
| | | Objects.isNull(i.getCarCode())&& |
| | | Objects.nonNull(i.getMemberPhone())&&DateUtil.dateToString(i.getTimeInfo(),"yyyy-MM-dd").equals(days) |
| | | Objects.nonNull(i.getCarCode()) |
| | | && Constants.equalsInteger(i.getInOrOut(),Constants.ZERO) |
| | | && Objects.isNull(i.getMemberPhone())&&DateUtil.dateToString(i.getTimeInfo(),"yyyy-MM-dd").equals(days) |
| | | ) |
| | | .map(i->i.getMemberPhone()) |
| | | .map(i->i.getCarCode()) |
| | | .collect(Collectors.toList()); |
| | | if(CollectionUtils.isNotEmpty(carCodeList)){ |
| | | carVO.setNum(new HashSet<String>(carCodeList).size()); |
| | |
| | | |
| | | List<Company> companyList = companyMapper.selectList(new QueryWrapper<Company>().lambda() |
| | | .eq(Company::getIsdeleted,Constants.ZERO) |
| | | .orderByAsc(Company::getSortnum) |
| | | ); |
| | | |
| | | if(CollectionUtils.isNotEmpty(companyList)){ |
| | |
| | | package com.doumee.service.business.impl.hksync; |
| | | |
| | | import com.alibaba.fastjson.JSONObject; |
| | | import com.alibaba.nacos.shaded.org.checkerframework.checker.units.qual.C; |
| | | import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; |
| | | import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; |
| | | import com.doumee.biz.system.SystemDictDataBiz; |
| | |
| | | import com.doumee.dao.business.model.*; |
| | | import com.doumee.dao.business.model.Member; |
| | | import com.doumee.dao.web.reqeust.SavePlatformWarnEventDTO; |
| | | import com.doumee.service.business.CategoryService; |
| | | import com.doumee.service.business.VisitsService; |
| | | import com.doumee.service.business.impl.PlatformWarnEventServiceImpl; |
| | | import com.doumee.service.business.third.TmsService; |
| | |
| | | import com.doumee.service.business.third.model.response.TmsOrderInfoResponse; |
| | | import com.github.yulichang.wrapper.MPJLambdaWrapper; |
| | | import lombok.extern.slf4j.Slf4j; |
| | | import org.apache.commons.lang3.ObjectUtils; |
| | | import org.apache.commons.lang3.StringUtils; |
| | | import org.apache.commons.net.ftp.FTP; |
| | | import org.springframework.beans.BeanUtils; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.stereotype.Service; |
| | |
| | | inoutDayCount.setOutOtherMemberNum(Constants.formatIntegerNum(inoutDayCount.getOutOtherMemberNum())+1);//相关方出场人次 |
| | | } |
| | | } |
| | | } |
| | | if(record.getMemberType()!=null){ |
| | | inoutRecordList.add(record); |
| | | } |
| | | } |
| | | } |
| | | } |
| | |
| | | record.setCreateDate(DateUtil.getISO8601DateByStr2(request.getHappenTime())); |
| | | record.setTimeInfo(Utils.Date.getStart(record.getCreateDate())); |
| | | record.setType(Constants.ONE);//人员 |
| | | record.setMemberType(Constants.ZERO); |
| | | record.setMemberType(Constants.RetentionMemberType.fk); |
| | | record.setIsdeleted(Constants.ZERO); |
| | | record.setMemberName(visits.getName()); |
| | | record.setObjId(visits.getId()); |
| | |
| | | record.setInOrOut(Constants.ZERO); |
| | | record.setHkEventId(request.getEventId()); |
| | | record.setHkId(visits.getHkId()); |
| | | record.setDeviceName((request.getData()!=null &&request.getData().getParamValues()!=null)? |
| | | request.getData().getParamValues().getSrcName():request.getSrcName()); |
| | | //如果是访客通行 |
| | | if(request.getData()!=null&&request.getData().getParamValues()!=null && |
| | | StringUtils.equals(request.getData().getParamValues().getInOrOut(),"0")){ |
| | | //如果是访客登记,录入人员的在场数据记录 |
| | | //如果是访客进入,录入人员的在场数据记录 |
| | | Retention r = getRetentionModelByVisitRequest(visits, request.getHappenTime(),request.getSrcType()); |
| | | r.setCarNo(request.getData().getParamValues().getPlateNos()); |
| | | r.setAccessType(request.getData().getParamValues().getAccessType()); |
| | |
| | | r.setDeviceIndex(request.getData().getParamValues().getSrcIndex()); |
| | | retentionList.add(r); |
| | | inoutDayCount.setInVisitorNum(Constants.formatIntegerNum(inoutDayCount.getInVisitorNum())+1); |
| | | record.setInOrOut(Constants.ZERO);//进入园区 |
| | | } |
| | | if(request.getData()!=null&&request.getData().getParamValues()!=null && |
| | | !StringUtils.equals(request.getData().getParamValues().getInOrOut(),"0")){ |
| | | inoutDayCount.setOutVisitorNum(Constants.formatIntegerNum(inoutDayCount.getOutVisitorNum())+1); |
| | | record.setInOrOut(Constants.ONE); |
| | | } |
| | | if( request.getData().getParamValues()!=null |
| | | && StringUtils.isNotBlank(request.getData().getParamValues().getPlateNos()) |
| | | && StringUtils.isNotBlank(request.getData().getParamValues().getParkIndex())){ |
| | | //如果是停车场事件,记录车辆类型 |
| | | Category category = null; |
| | | record.setCarCode(request.getData().getParamValues().getPlateNos()); |
| | | if(StringUtils.isNotBlank(record.getCarCode())){ |
| | | category = categoryMapper.selectJoinOne(Category.class, new MPJLambdaWrapper<Category>() |
| | | .selectAll(Category.class) |
| | | .select("t4.name",Category::getParentName) |
| | | .leftJoin("category t4 on t.parent_id=t4.id") |
| | | .eq(Category::getIsdeleted,Constants.ZERO) |
| | | .eq(Category::getBizType,Constants.RetentionCarType.fkCar) |
| | | .last("limit 1")); |
| | | if(category ==null){ |
| | | category = new Category(); |
| | | category.setName("访客车辆"); |
| | | } |
| | | category.setParentName(StringUtils.defaultString(category.getParentName(),"访客车辆")); |
| | | } |
| | | record.setCarBizType(Constants.RetentionCarType.fkCar); |
| | | record.setCategoryId(category.getId()); |
| | | record.setDeviceName(request.getData().getParamValues().getGateName()); |
| | | record.setCategoryName(category.getName()); |
| | | record.setCategoryParentId(category.getParentId()); |
| | | record.setCategoryParentName(category.getParentName()); |
| | | if(Constants.equalsInteger(record.getInOrOut(),Constants.ONE)){ |
| | | record.setRemark("访客跟随车辆离园并自动签离"); |
| | | try { |
| | | //访客申请自动签离 |
| | | visitsService.visitLevelForCarOut(visits); |
| | | }catch (Exception e){ |
| | | log.error("访客跟随车辆出园自动签离失败:==========="+e.getMessage()); |
| | | } |
| | | } |
| | | } |
| | | inoutRecordList.add(record); |
| | | } |
| | |
| | | event.setSrcParentIndex(request.getSrcParentIndex()); |
| | | event.setSrcName((request.getData()!=null &&request.getData().getParamValues()!=null)? |
| | | request.getData().getParamValues().getSrcName():request.getSrcName()); |
| | | if(StringUtils.isBlank(event.getSrcName())){ |
| | | event.setSrcName((request.getData()!=null &&request.getData().getParamValues()!=null)? |
| | | request.getData().getParamValues().getGateName()+ request.getData().getParamValues().getParkIndex():request.getSrcName()); |
| | | } |
| | | event.setSrcIndex(request.getSrcIndex()); |
| | | event.setSex(detail.getSex()); |
| | | event.setPurpose(request.getData().getVisitorInvoices().getVisitReason()); |
| | |
| | | .in(Retention::getCarNo,delRetentionList)); |
| | | } |
| | | if(delMemberRetentionList.size()>0){ |
| | | //先删除原有的在场人员(内部人员和访客) |
| | | //先删除原有的在场人员(内部人员、相关方和访客) |
| | | retentionMapper.delete(new UpdateWrapper<Retention>().lambda() |
| | | .in(Retention::getType,Constants.memberType.internal,Constants.memberType.visitor) |
| | | .in(Retention::getType,Constants.RetentionMemberType.internalMember |
| | | ,Constants.RetentionMemberType.relMember |
| | | ,Constants.RetentionMemberType.fk) |
| | | .in(Retention::getMemberId,delMemberRetentionList)); |
| | | } |
| | | if(retentionList.size()>0){ |
| | |
| | | carrecord.setCompanyId(carTypeJob.getCompanyId()); |
| | | carrecord.setCompanyName(carTypeJob.getCompanyNamePath()); |
| | | carrecord.setType(Constants.RetentionMemberType.car); |
| | | if(carModel.getMemberPhone()!=null || StringUtils.isNotBlank(carModel.getMemberName())){ |
| | | if(carTypeJob.getDriverName()!=null || StringUtils.isNotBlank(carTypeJob.getDrivierPhone())){ |
| | | //货运司机(如果司机手机号或者姓名不为空) |
| | | carrecord.setMemberType(Constants.RetentionMemberType.driver); |
| | | } |
| | |
| | | event.setCarType(Constants.RetentionCarType.fkCar); |
| | | int index =0; |
| | | carrecord.setCarBizType(Constants.RetentionCarType.fkCar); |
| | | if(1==2){ |
| | | Category category =findCategoryByBizType(Constants.RetentionCarType.fkCar,"访客车辆","访客车辆",categoryList); |
| | | carrecord.setCategoryId(category.getId()); |
| | | carrecord.setCategoryName(StringUtils.defaultString(category.getName(),"访客车辆")); |
| | |
| | | copyObj.setMemberPhone(v.getPhone()); |
| | | copyObj.setCompanyName(v.getCompanyName()); |
| | | copyObj.setType(Constants.ONE); |
| | | copyObj.setRemark(carrecord.getCarCode()); |
| | | copyObj.setCarCode(index>=0?null:carrecord.getCarCode()); |
| | | copyObj.setRemark("访客跟随车辆【"+carrecord.getCarCode()+"】离园"); |
| | | copyObj.setCarCode(index>0?null:carrecord.getCarCode()); |
| | | copyObj.setMemberType(Constants.RetentionMemberType.fk); |
| | | inoutRecordList.add(copyObj); |
| | | index++; |
| | |
| | | } |
| | | } |
| | | } |
| | | } |
| | | if(isCarInOrOutEvent(request) && event.getCarType() !=null && !event.getCarType().equals(Constants.RetentionCarType.fkCar)){ |
| | | //录入非访客类型车辆进出记录 |
| | | dealNotFkCarMemberBiz(event,request,carrecord,retentionList,inoutDayCount,inoutRecordList); |
| | |
| | | } |
| | | info.setPhoneNo(c.getPhone()); |
| | | info.setPlateNo(c.getCarNos()); |
| | | info.setGender( "1" ); |
| | | if(Constants.equalsInteger(c.getSex(),Constants.ONE) ||Constants.equalsInteger(c.getSex(),Constants.TWO) ){ |
| | | info.setGender(c.getSex()+""); |
| | | } |
| | | if(Constants.equalsInteger(c.getIdcardType(),Constants.ZERO)){ |
| | | info.setCertificateType(HKConstants.CertificateType.SHENFENZHENG.getKey()+""); |
| | | info.setCertificateNo(DESUtil.decrypt(Constants.EDS_PWD, c.getIdcardNo())); |
| | |
| | | } |
| | | info.setPhoneNo(c.getPhone()); |
| | | info.setPlateNo(c.getCarNos()); |
| | | info.setGender( "1"); |
| | | if(Constants.equalsInteger(c.getSex(),Constants.ONE) ||Constants.equalsInteger(c.getSex(),Constants.TWO) ){ |
| | | info.setGender(c.getSex()+""); |
| | | } |
| | | if(Constants.equalsInteger(c.getIdcardType(),Constants.ZERO)){ |
| | | info.setCertificateType(HKConstants.CertificateType.SHENFENZHENG.getKey()+""); |
| | | info.setCertificateNo(DESUtil.decrypt(Constants.EDS_PWD, c.getIdcardNo())); |
| | |
| | | t =new WholeProvinceMapVO(); |
| | | t.setMonthNum( Constants.formatBigdecimal0Float(model.getMonthOutboundQuantity())); |
| | | t.setYearNum( Constants.formatBigdecimal0Float(model.getYearOutboundQuantity())); |
| | | |
| | | if(Constants.UNIT_TYPE == 1) { |
| | | //处理单位成“箱”,一箱=5万支 |
| | | t.setMonthNum(Constants.formatBigdecimal(t.getMonthNum()).divide(new BigDecimal(5), 2, BigDecimal.ROUND_HALF_UP)); |
| | | t.setYearNum(Constants.formatBigdecimal(t.getYearNum()).divide(new BigDecimal(5), 2, BigDecimal.ROUND_HALF_UP)); |
| | | } |
| | | t.setProvinceCode(model.getToProvinceCode()); |
| | | t.setProvinceName(model.getToProvinceName()); |
| | | result.add(t); |
| | | } |
| | | } |
| | | if(Constants.UNIT_TYPE == 1) { |
| | | for(WholeProvinceMapVO t : result){ |
| | | //处理单位成“箱”,一箱=5万支 |
| | | t.setMonthNum(Constants.formatBigdecimal(t.getMonthNum()).divide(new BigDecimal(5), 2, BigDecimal.ROUND_HALF_UP)); |
| | | t.setYearNum(Constants.formatBigdecimal(t.getYearNum()).divide(new BigDecimal(5), 2, BigDecimal.ROUND_HALF_UP)); |
| | | } |
| | | } |
| | | } |
| | | return result; |
| | | } |