Merge pull request 'feat(web): 新增车辆和刷卡记录统计功能- 在 MkmjAreaController 和 MkmjPassageController 中添加 statistics 接口' (#2) from master into koumen
Reviewed-on: #2koumen
commit
2929a7fc31
|
|
@ -2,9 +2,11 @@ package com.zcloud.primeport.web;
|
|||
|
||||
|
||||
import com.zcloud.primeport.api.MkmjAreaServiceI;
|
||||
import com.zcloud.primeport.domain.model.MkmjStatisticsE;
|
||||
import com.zcloud.primeport.dto.MkmjAreaAddCmd;
|
||||
import com.zcloud.primeport.dto.MkmjAreaPageQry;
|
||||
import com.zcloud.primeport.dto.MkmjAreaUpdateCmd;
|
||||
import com.zcloud.primeport.dto.StatisticsByAreaCmd;
|
||||
import com.zcloud.primeport.dto.clientobject.MkmjAreaCO;
|
||||
import com.alibaba.cola.dto.MultiResponse;
|
||||
import com.alibaba.cola.dto.PageResponse;
|
||||
|
|
@ -12,6 +14,7 @@ import com.alibaba.cola.dto.Response;
|
|||
import com.alibaba.cola.dto.SingleResponse;
|
||||
import com.jjb.saas.framework.auth.model.SSOUser;
|
||||
import com.jjb.saas.framework.auth.utils.AuthContext;
|
||||
import com.zcloud.primeport.dto.clientobject.MkmjStatisticsCO;
|
||||
import io.swagger.annotations.Api;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
import lombok.AllArgsConstructor;
|
||||
|
|
@ -78,5 +81,11 @@ public class MkmjAreaController {
|
|||
mkmjAreaService.edit(mkmjAreaUpdateCmd);
|
||||
return SingleResponse.buildSuccess();
|
||||
}
|
||||
|
||||
@ApiOperation("统计")
|
||||
@PostMapping("/statistics")
|
||||
public MultiResponse<MkmjStatisticsCO> statistics(@RequestBody StatisticsByAreaCmd qry) {
|
||||
return MultiResponse.of(mkmjAreaService.statistics(qry.getIds()));
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -0,0 +1,82 @@
|
|||
package com.zcloud.primeport.web;
|
||||
|
||||
|
||||
import com.alibaba.cola.dto.MultiResponse;
|
||||
import com.alibaba.cola.dto.PageResponse;
|
||||
import com.alibaba.cola.dto.Response;
|
||||
import com.alibaba.cola.dto.SingleResponse;
|
||||
import com.jjb.saas.framework.auth.model.SSOUser;
|
||||
import com.jjb.saas.framework.auth.utils.AuthContext;
|
||||
import com.zcloud.primeport.api.MkmjCarRecordServiceI;
|
||||
import com.zcloud.primeport.dto.MkmjCarRecordAddCmd;
|
||||
import com.zcloud.primeport.dto.MkmjCarRecordPageQry;
|
||||
import com.zcloud.primeport.dto.MkmjCarRecordUpdateCmd;
|
||||
import com.zcloud.primeport.dto.clientobject.MkmjCarRecordCO;
|
||||
import io.swagger.annotations.Api;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
import lombok.AllArgsConstructor;
|
||||
import org.springframework.validation.annotation.Validated;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
import java.util.ArrayList;
|
||||
|
||||
/**
|
||||
* web-adapter
|
||||
*
|
||||
* @Author fangjiakai
|
||||
* @Date 2025-11-17 13:42:09
|
||||
*/
|
||||
@Api(tags = "车辆进出港记录")
|
||||
@RequestMapping("/${application.gateway}/mkmjCarRecord")
|
||||
@RestController
|
||||
@AllArgsConstructor
|
||||
public class MkmjCarRecordController {
|
||||
private final MkmjCarRecordServiceI mkmjCarRecordService;
|
||||
|
||||
@ApiOperation("新增")
|
||||
@PostMapping("/save")
|
||||
public SingleResponse<MkmjCarRecordCO> add(@Validated @RequestBody MkmjCarRecordAddCmd cmd) {
|
||||
SSOUser ssoUser = AuthContext.getCurrentUser();
|
||||
return mkmjCarRecordService.add(cmd);
|
||||
}
|
||||
|
||||
@ApiOperation("分页")
|
||||
@PostMapping("/list")
|
||||
public PageResponse<MkmjCarRecordCO> page(@RequestBody MkmjCarRecordPageQry qry) {
|
||||
return mkmjCarRecordService.listPage(qry);
|
||||
}
|
||||
|
||||
@ApiOperation("所有数据")
|
||||
@GetMapping("/listAll")
|
||||
public MultiResponse<MkmjCarRecordCO> listAll() {
|
||||
return MultiResponse.of(new ArrayList<MkmjCarRecordCO>());
|
||||
}
|
||||
|
||||
@ApiOperation("详情")
|
||||
@GetMapping("/{id}")
|
||||
public SingleResponse<MkmjCarRecordCO> getInfoById(@PathVariable("id") Long id) {
|
||||
return SingleResponse.of(mkmjCarRecordService.queryById(id));
|
||||
}
|
||||
|
||||
@ApiOperation("删除")
|
||||
@DeleteMapping("/{id}")
|
||||
public Response remove(@PathVariable("id") Long id) {
|
||||
mkmjCarRecordService.remove(id);
|
||||
return SingleResponse.buildSuccess();
|
||||
}
|
||||
|
||||
@ApiOperation("删除多个")
|
||||
@DeleteMapping("/ids")
|
||||
public Response removeBatch(@RequestParam Long[] ids) {
|
||||
mkmjCarRecordService.removeBatch(ids);
|
||||
return SingleResponse.buildSuccess();
|
||||
}
|
||||
|
||||
@ApiOperation("修改")
|
||||
@PutMapping("/edit")
|
||||
public SingleResponse edit(@Validated @RequestBody MkmjCarRecordUpdateCmd mkmjCarRecordUpdateCmd) {
|
||||
mkmjCarRecordService.edit(mkmjCarRecordUpdateCmd);
|
||||
return SingleResponse.buildSuccess();
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -5,6 +5,7 @@ import com.zcloud.primeport.api.MkmjPassageServiceI;
|
|||
import com.zcloud.primeport.dto.MkmjPassageAddCmd;
|
||||
import com.zcloud.primeport.dto.MkmjPassagePageQry;
|
||||
import com.zcloud.primeport.dto.MkmjPassageUpdateCmd;
|
||||
import com.zcloud.primeport.dto.StatisticsByAreaCmd;
|
||||
import com.zcloud.primeport.dto.clientobject.MkmjPassageCO;
|
||||
import com.alibaba.cola.dto.MultiResponse;
|
||||
import com.alibaba.cola.dto.PageResponse;
|
||||
|
|
@ -12,6 +13,7 @@ import com.alibaba.cola.dto.Response;
|
|||
import com.alibaba.cola.dto.SingleResponse;
|
||||
import com.jjb.saas.framework.auth.model.SSOUser;
|
||||
import com.jjb.saas.framework.auth.utils.AuthContext;
|
||||
import com.zcloud.primeport.dto.clientobject.MkmjStatisticsCO;
|
||||
import io.swagger.annotations.Api;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
import lombok.AllArgsConstructor;
|
||||
|
|
@ -57,6 +59,11 @@ public class MkmjPassageController {
|
|||
public SingleResponse<MkmjPassageCO> getInfoById(@PathVariable("id") Long id) {
|
||||
return SingleResponse.of(mkmjPassageService.queryById(id));
|
||||
}
|
||||
@ApiOperation("是否重名")
|
||||
@GetMapping("/hasName/{name}")
|
||||
public SingleResponse<MkmjPassageCO> hasName(@PathVariable("name") String name) {
|
||||
return SingleResponse.of(mkmjPassageService.queryByName(name));
|
||||
}
|
||||
|
||||
@ApiOperation("删除")
|
||||
@DeleteMapping("/{id}")
|
||||
|
|
@ -78,5 +85,11 @@ public class MkmjPassageController {
|
|||
mkmjPassageService.edit(mkmjPassageUpdateCmd);
|
||||
return SingleResponse.buildSuccess();
|
||||
}
|
||||
|
||||
@ApiOperation("统计")
|
||||
@PostMapping("/statistics")
|
||||
public MultiResponse<MkmjStatisticsCO> statistics(@RequestBody StatisticsByAreaCmd qry) {
|
||||
return MultiResponse.of(mkmjPassageService.statistics(qry.getIds()));
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -0,0 +1,82 @@
|
|||
package com.zcloud.primeport.web;
|
||||
|
||||
|
||||
import com.alibaba.cola.dto.MultiResponse;
|
||||
import com.alibaba.cola.dto.PageResponse;
|
||||
import com.alibaba.cola.dto.Response;
|
||||
import com.alibaba.cola.dto.SingleResponse;
|
||||
import com.jjb.saas.framework.auth.model.SSOUser;
|
||||
import com.jjb.saas.framework.auth.utils.AuthContext;
|
||||
import com.zcloud.primeport.api.MkmjSwipeCardRecordServiceI;
|
||||
import com.zcloud.primeport.dto.MkmjSwipeCardRecordAddCmd;
|
||||
import com.zcloud.primeport.dto.MkmjSwipeCardRecordPageQry;
|
||||
import com.zcloud.primeport.dto.MkmjSwipeCardRecordUpdateCmd;
|
||||
import com.zcloud.primeport.dto.clientobject.MkmjSwipeCardRecordCO;
|
||||
import io.swagger.annotations.Api;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
import lombok.AllArgsConstructor;
|
||||
import org.springframework.validation.annotation.Validated;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
import java.util.ArrayList;
|
||||
|
||||
/**
|
||||
* web-adapter
|
||||
*
|
||||
* @Author fangjiakai
|
||||
* @Date 2025-11-17 13:42:10
|
||||
*/
|
||||
@Api(tags = "")
|
||||
@RequestMapping("/${application.gateway}/mkmjSwipeCardRecord")
|
||||
@RestController
|
||||
@AllArgsConstructor
|
||||
public class MkmjSwipeCardRecordController {
|
||||
private final MkmjSwipeCardRecordServiceI mkmjSwipeCardRecordService;
|
||||
|
||||
@ApiOperation("新增")
|
||||
@PostMapping("/save")
|
||||
public SingleResponse<MkmjSwipeCardRecordCO> add(@Validated @RequestBody MkmjSwipeCardRecordAddCmd cmd) {
|
||||
SSOUser ssoUser = AuthContext.getCurrentUser();
|
||||
return mkmjSwipeCardRecordService.add(cmd);
|
||||
}
|
||||
|
||||
@ApiOperation("分页")
|
||||
@PostMapping("/list")
|
||||
public PageResponse<MkmjSwipeCardRecordCO> page(@RequestBody MkmjSwipeCardRecordPageQry qry) {
|
||||
return mkmjSwipeCardRecordService.listPage(qry);
|
||||
}
|
||||
|
||||
@ApiOperation("所有数据")
|
||||
@GetMapping("/listAll")
|
||||
public MultiResponse<MkmjSwipeCardRecordCO> listAll() {
|
||||
return MultiResponse.of(new ArrayList<MkmjSwipeCardRecordCO>());
|
||||
}
|
||||
|
||||
@ApiOperation("详情")
|
||||
@GetMapping("/{id}")
|
||||
public SingleResponse<MkmjSwipeCardRecordCO> getInfoById(@PathVariable("id") Long id) {
|
||||
return SingleResponse.of(mkmjSwipeCardRecordService.queryById(id));
|
||||
}
|
||||
|
||||
@ApiOperation("删除")
|
||||
@DeleteMapping("/{id}")
|
||||
public Response remove(@PathVariable("id") Long id) {
|
||||
mkmjSwipeCardRecordService.remove(id);
|
||||
return SingleResponse.buildSuccess();
|
||||
}
|
||||
|
||||
@ApiOperation("删除多个")
|
||||
@DeleteMapping("/ids")
|
||||
public Response removeBatch(@RequestParam Long[] ids) {
|
||||
mkmjSwipeCardRecordService.removeBatch(ids);
|
||||
return SingleResponse.buildSuccess();
|
||||
}
|
||||
|
||||
@ApiOperation("修改")
|
||||
@PutMapping("/edit")
|
||||
public SingleResponse edit(@Validated @RequestBody MkmjSwipeCardRecordUpdateCmd mkmjSwipeCardRecordUpdateCmd) {
|
||||
mkmjSwipeCardRecordService.edit(mkmjSwipeCardRecordUpdateCmd);
|
||||
return SingleResponse.buildSuccess();
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -0,0 +1,40 @@
|
|||
package com.zcloud.primeport.command;
|
||||
|
||||
import com.alibaba.cola.exception.BizException;
|
||||
import com.zcloud.primeport.domain.gateway.MkmjCarRecordGateway;
|
||||
import com.zcloud.primeport.domain.model.MkmjCarRecordE;
|
||||
import com.zcloud.primeport.dto.MkmjCarRecordAddCmd;
|
||||
import lombok.AllArgsConstructor;
|
||||
import org.springframework.beans.BeanUtils;
|
||||
import org.springframework.stereotype.Component;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
|
||||
/**
|
||||
* web-app
|
||||
*
|
||||
* @Author fangjiakai
|
||||
* @Date 2025-11-17 13:42:09
|
||||
*/
|
||||
@Component
|
||||
@AllArgsConstructor
|
||||
public class MkmjCarRecordAddExe {
|
||||
private final MkmjCarRecordGateway mkmjCarRecordGateway;
|
||||
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public boolean execute(MkmjCarRecordAddCmd cmd) {
|
||||
MkmjCarRecordE mkmjCarRecordE = new MkmjCarRecordE();
|
||||
BeanUtils.copyProperties(cmd, mkmjCarRecordE);
|
||||
boolean res = false;
|
||||
try {
|
||||
res = mkmjCarRecordGateway.add(mkmjCarRecordE);
|
||||
} catch (Exception e) {
|
||||
throw new RuntimeException(e);
|
||||
}
|
||||
if (!res) {
|
||||
throw new BizException("保存失败");
|
||||
}
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -0,0 +1,39 @@
|
|||
package com.zcloud.primeport.command;
|
||||
|
||||
import com.alibaba.cola.exception.BizException;
|
||||
import com.zcloud.primeport.domain.gateway.MkmjCarRecordGateway;
|
||||
import lombok.AllArgsConstructor;
|
||||
import org.springframework.stereotype.Component;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
|
||||
/**
|
||||
* web-app
|
||||
*
|
||||
* @Author fangjiakai
|
||||
* @Date 2025-11-17 13:42:09
|
||||
*/
|
||||
@Component
|
||||
@AllArgsConstructor
|
||||
public class MkmjCarRecordRemoveExe {
|
||||
private final MkmjCarRecordGateway mkmjCarRecordGateway;
|
||||
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public boolean execute(Long id) {
|
||||
boolean res = mkmjCarRecordGateway.deletedMkmjCarRecordById(id);
|
||||
if (!res) {
|
||||
throw new BizException("删除失败");
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public boolean execute(Long[] ids) {
|
||||
boolean res = mkmjCarRecordGateway.deletedMkmjCarRecordByIds(ids);
|
||||
if (!res) {
|
||||
throw new BizException("删除失败");
|
||||
}
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -0,0 +1,34 @@
|
|||
package com.zcloud.primeport.command;
|
||||
|
||||
import com.alibaba.cola.exception.BizException;
|
||||
import com.zcloud.primeport.domain.gateway.MkmjCarRecordGateway;
|
||||
import com.zcloud.primeport.domain.model.MkmjCarRecordE;
|
||||
import com.zcloud.primeport.dto.MkmjCarRecordUpdateCmd;
|
||||
import lombok.AllArgsConstructor;
|
||||
import org.springframework.beans.BeanUtils;
|
||||
import org.springframework.stereotype.Component;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
|
||||
/**
|
||||
* web-app
|
||||
*
|
||||
* @Author fangjiakai
|
||||
* @Date 2025-11-17 13:42:09
|
||||
*/
|
||||
@Component
|
||||
@AllArgsConstructor
|
||||
public class MkmjCarRecordUpdateExe {
|
||||
private final MkmjCarRecordGateway mkmjCarRecordGateway;
|
||||
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public void execute(MkmjCarRecordUpdateCmd mkmjCarRecordUpdateCmd) {
|
||||
MkmjCarRecordE mkmjCarRecordE = new MkmjCarRecordE();
|
||||
BeanUtils.copyProperties(mkmjCarRecordUpdateCmd, mkmjCarRecordE);
|
||||
boolean res = mkmjCarRecordGateway.update(mkmjCarRecordE);
|
||||
if (!res) {
|
||||
throw new BizException("修改失败");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -0,0 +1,40 @@
|
|||
package com.zcloud.primeport.command;
|
||||
|
||||
import com.alibaba.cola.exception.BizException;
|
||||
import com.zcloud.primeport.domain.gateway.MkmjSwipeCardRecordGateway;
|
||||
import com.zcloud.primeport.domain.model.MkmjSwipeCardRecordE;
|
||||
import com.zcloud.primeport.dto.MkmjSwipeCardRecordAddCmd;
|
||||
import lombok.AllArgsConstructor;
|
||||
import org.springframework.beans.BeanUtils;
|
||||
import org.springframework.stereotype.Component;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
|
||||
/**
|
||||
* web-app
|
||||
*
|
||||
* @Author fangjiakai
|
||||
* @Date 2025-11-17 13:42:10
|
||||
*/
|
||||
@Component
|
||||
@AllArgsConstructor
|
||||
public class MkmjSwipeCardRecordAddExe {
|
||||
private final MkmjSwipeCardRecordGateway mkmjSwipeCardRecordGateway;
|
||||
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public boolean execute(MkmjSwipeCardRecordAddCmd cmd) {
|
||||
MkmjSwipeCardRecordE mkmjSwipeCardRecordE = new MkmjSwipeCardRecordE();
|
||||
BeanUtils.copyProperties(cmd, mkmjSwipeCardRecordE);
|
||||
boolean res = false;
|
||||
try {
|
||||
res = mkmjSwipeCardRecordGateway.add(mkmjSwipeCardRecordE);
|
||||
} catch (Exception e) {
|
||||
throw new RuntimeException(e);
|
||||
}
|
||||
if (!res) {
|
||||
throw new BizException("保存失败");
|
||||
}
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -0,0 +1,39 @@
|
|||
package com.zcloud.primeport.command;
|
||||
|
||||
import com.alibaba.cola.exception.BizException;
|
||||
import com.zcloud.primeport.domain.gateway.MkmjSwipeCardRecordGateway;
|
||||
import lombok.AllArgsConstructor;
|
||||
import org.springframework.stereotype.Component;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
|
||||
/**
|
||||
* web-app
|
||||
*
|
||||
* @Author fangjiakai
|
||||
* @Date 2025-11-17 13:42:10
|
||||
*/
|
||||
@Component
|
||||
@AllArgsConstructor
|
||||
public class MkmjSwipeCardRecordRemoveExe {
|
||||
private final MkmjSwipeCardRecordGateway mkmjSwipeCardRecordGateway;
|
||||
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public boolean execute(Long id) {
|
||||
boolean res = mkmjSwipeCardRecordGateway.deletedMkmjSwipeCardRecordById(id);
|
||||
if (!res) {
|
||||
throw new BizException("删除失败");
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public boolean execute(Long[] ids) {
|
||||
boolean res = mkmjSwipeCardRecordGateway.deletedMkmjSwipeCardRecordByIds(ids);
|
||||
if (!res) {
|
||||
throw new BizException("删除失败");
|
||||
}
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -0,0 +1,34 @@
|
|||
package com.zcloud.primeport.command;
|
||||
|
||||
import com.alibaba.cola.exception.BizException;
|
||||
import com.zcloud.primeport.domain.gateway.MkmjSwipeCardRecordGateway;
|
||||
import com.zcloud.primeport.domain.model.MkmjSwipeCardRecordE;
|
||||
import com.zcloud.primeport.dto.MkmjSwipeCardRecordUpdateCmd;
|
||||
import lombok.AllArgsConstructor;
|
||||
import org.springframework.beans.BeanUtils;
|
||||
import org.springframework.stereotype.Component;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
|
||||
/**
|
||||
* web-app
|
||||
*
|
||||
* @Author fangjiakai
|
||||
* @Date 2025-11-17 13:42:10
|
||||
*/
|
||||
@Component
|
||||
@AllArgsConstructor
|
||||
public class MkmjSwipeCardRecordUpdateExe {
|
||||
private final MkmjSwipeCardRecordGateway mkmjSwipeCardRecordGateway;
|
||||
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public void execute(MkmjSwipeCardRecordUpdateCmd mkmjSwipeCardRecordUpdateCmd) {
|
||||
MkmjSwipeCardRecordE mkmjSwipeCardRecordE = new MkmjSwipeCardRecordE();
|
||||
BeanUtils.copyProperties(mkmjSwipeCardRecordUpdateCmd, mkmjSwipeCardRecordE);
|
||||
boolean res = mkmjSwipeCardRecordGateway.update(mkmjSwipeCardRecordE);
|
||||
if (!res) {
|
||||
throw new BizException("修改失败");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -0,0 +1,26 @@
|
|||
package com.zcloud.primeport.command.convertor;
|
||||
|
||||
import com.zcloud.primeport.dto.clientobject.MkmjCarRecordCO;
|
||||
import com.zcloud.primeport.persistence.dataobject.MkmjCarRecordDO;
|
||||
import org.mapstruct.Mapper;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
|
||||
/**
|
||||
* web-app
|
||||
*
|
||||
* @Author fangjiakai
|
||||
* @Date 2025-11-17 13:42:09
|
||||
*/
|
||||
@Mapper(componentModel = "spring")
|
||||
public interface MkmjCarRecordCoConvertor {
|
||||
/**
|
||||
* @param mkmjCarRecordDOs
|
||||
* @return
|
||||
*/
|
||||
List<MkmjCarRecordCO> converDOsToCOs(List<MkmjCarRecordDO> mkmjCarRecordDOs);
|
||||
|
||||
MkmjCarRecordCO converDOToCO(MkmjCarRecordDO mkmjCarRecordDO);
|
||||
}
|
||||
|
||||
|
|
@ -0,0 +1,26 @@
|
|||
package com.zcloud.primeport.command.convertor;
|
||||
|
||||
import com.zcloud.primeport.dto.clientobject.MkmjSwipeCardRecordCO;
|
||||
import com.zcloud.primeport.persistence.dataobject.MkmjSwipeCardRecordDO;
|
||||
import org.mapstruct.Mapper;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
|
||||
/**
|
||||
* web-app
|
||||
*
|
||||
* @Author fangjiakai
|
||||
* @Date 2025-11-17 13:42:10
|
||||
*/
|
||||
@Mapper(componentModel = "spring")
|
||||
public interface MkmjSwipeCardRecordCoConvertor {
|
||||
/**
|
||||
* @param mkmjSwipeCardRecordDOs
|
||||
* @return
|
||||
*/
|
||||
List<MkmjSwipeCardRecordCO> converDOsToCOs(List<MkmjSwipeCardRecordDO> mkmjSwipeCardRecordDOs);
|
||||
|
||||
MkmjSwipeCardRecordCO converDOToCO(MkmjSwipeCardRecordDO mkmjSwipeCardRecordDO);
|
||||
}
|
||||
|
||||
|
|
@ -1,17 +1,23 @@
|
|||
package com.zcloud.primeport.command.query;
|
||||
|
||||
import com.alibaba.cola.dto.PageResponse;
|
||||
import com.zcloud.gbscommon.utils.PageQueryHelper;
|
||||
import com.zcloud.primeport.command.convertor.MkmjAreaCoConvertor;
|
||||
import com.zcloud.primeport.domain.model.MkmjStatisticsE;
|
||||
import com.zcloud.primeport.domain.model.VideoCountE;
|
||||
import com.zcloud.primeport.dto.MkmjAreaPageQry;
|
||||
import com.zcloud.primeport.dto.clientobject.MkmjAreaCO;
|
||||
import com.zcloud.primeport.dto.clientobject.MkmjStatisticsCO;
|
||||
import com.zcloud.primeport.persistence.dataobject.MkmjAreaDO;
|
||||
import com.zcloud.primeport.persistence.repository.MkmjAreaRepository;
|
||||
import com.zcloud.gbscommon.utils.PageQueryHelper;
|
||||
import com.alibaba.cola.dto.PageResponse;
|
||||
import com.zcloud.primeport.persistence.repository.MkmjCarRecordRepository;
|
||||
import com.zcloud.primeport.persistence.repository.MkmjGateVideoRepository;
|
||||
import com.zcloud.primeport.persistence.repository.MkmjSwipeCardRecordRepository;
|
||||
import lombok.AllArgsConstructor;
|
||||
import org.springframework.stereotype.Component;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.stream.Collectors;
|
||||
|
|
@ -29,6 +35,8 @@ public class MkmjAreaQueryExe {
|
|||
private final MkmjAreaRepository mkmjAreaRepository;
|
||||
private final MkmjAreaCoConvertor mkmjAreaCoConvertor;
|
||||
private final MkmjGateVideoRepository mkmjGateVideoRepository;
|
||||
private final MkmjCarRecordRepository mkmjCarRecordRepository;
|
||||
private final MkmjSwipeCardRecordRepository mkmjSwipeCardRecordRepository;
|
||||
|
||||
/**
|
||||
* 根据id查询
|
||||
|
|
@ -61,5 +69,35 @@ public class MkmjAreaQueryExe {
|
|||
});
|
||||
return PageResponse.of(examCenterCOS, pageResponse.getTotalCount(), pageResponse.getPageSize(), pageResponse.getPageIndex());
|
||||
}
|
||||
|
||||
public List<MkmjStatisticsCO> statistics(List<String> ids) {
|
||||
// 获取车辆和人员统计数据
|
||||
List<MkmjStatisticsE> carCounts = mkmjCarRecordRepository.statisticsByArea(ids);
|
||||
List<MkmjStatisticsE> personCounts = mkmjSwipeCardRecordRepository.statisticsByArea(ids);
|
||||
|
||||
// 创建一个 map 来存储 areaId 对应的统计数据
|
||||
Map<String, MkmjStatisticsCO> statisticsMap = new HashMap<>();
|
||||
|
||||
// 处理车辆统计数据
|
||||
for (MkmjStatisticsE carCount : carCounts) {
|
||||
MkmjStatisticsCO co = new MkmjStatisticsCO();
|
||||
co.setId(carCount.getId());
|
||||
co.setCarInCount(carCount.getCarInCount());
|
||||
co.setCarOutCount(carCount.getCarOutCount());
|
||||
statisticsMap.put(carCount.getId(), co);
|
||||
}
|
||||
|
||||
// 处理人员统计数据
|
||||
for (MkmjStatisticsE personCount : personCounts) {
|
||||
MkmjStatisticsCO co = statisticsMap.getOrDefault(personCount.getId(), new MkmjStatisticsCO());
|
||||
co.setId(personCount.getId());
|
||||
co.setPersonInCount(personCount.getPersonInCount());
|
||||
co.setPersonOutCount(personCount.getPersonOutCount());
|
||||
statisticsMap.put(personCount.getId(), co);
|
||||
}
|
||||
|
||||
// 返回合并后的列表
|
||||
return new ArrayList<>(statisticsMap.values());
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -0,0 +1,52 @@
|
|||
package com.zcloud.primeport.command.query;
|
||||
|
||||
import com.alibaba.cola.dto.PageResponse;
|
||||
import com.zcloud.gbscommon.utils.PageQueryHelper;
|
||||
import com.zcloud.primeport.command.convertor.MkmjCarRecordCoConvertor;
|
||||
import com.zcloud.primeport.dto.MkmjCarRecordPageQry;
|
||||
import com.zcloud.primeport.dto.clientobject.MkmjCarRecordCO;
|
||||
import com.zcloud.primeport.persistence.dataobject.MkmjCarRecordDO;
|
||||
import com.zcloud.primeport.persistence.repository.MkmjCarRecordRepository;
|
||||
import lombok.AllArgsConstructor;
|
||||
import org.springframework.stereotype.Component;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
|
||||
/**
|
||||
* web-app
|
||||
*
|
||||
* @Author fangjiakai
|
||||
* @Date 2025-11-17 13:42:09
|
||||
*/
|
||||
@Component
|
||||
@AllArgsConstructor
|
||||
public class MkmjCarRecordQueryExe {
|
||||
private final MkmjCarRecordRepository mkmjCarRecordRepository;
|
||||
private final MkmjCarRecordCoConvertor mkmjCarRecordCoConvertor;
|
||||
|
||||
/**
|
||||
* 根据id查询
|
||||
*
|
||||
* @param id
|
||||
* @return
|
||||
*/
|
||||
public MkmjCarRecordCO queryById(Long id) {
|
||||
return mkmjCarRecordCoConvertor.converDOToCO(mkmjCarRecordRepository.getById(id));
|
||||
}
|
||||
|
||||
/**
|
||||
* 分页
|
||||
*
|
||||
* @param mkmjCarRecordPageQry
|
||||
* @return
|
||||
*/
|
||||
public PageResponse<MkmjCarRecordCO> execute(MkmjCarRecordPageQry mkmjCarRecordPageQry) {
|
||||
Map<String, Object> params = PageQueryHelper.toHashMap(mkmjCarRecordPageQry);
|
||||
PageResponse<MkmjCarRecordDO> pageResponse = mkmjCarRecordRepository.listPage(params);
|
||||
List<MkmjCarRecordCO> examCenterCOS = mkmjCarRecordCoConvertor.converDOsToCOs(pageResponse.getData());
|
||||
return PageResponse.of(examCenterCOS, pageResponse.getTotalCount(), pageResponse.getPageSize(), pageResponse.getPageIndex());
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -1,17 +1,24 @@
|
|||
package com.zcloud.primeport.command.query;
|
||||
|
||||
import com.alibaba.cola.dto.PageResponse;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.zcloud.gbscommon.utils.PageQueryHelper;
|
||||
import com.zcloud.primeport.command.convertor.MkmjPassageCoConvertor;
|
||||
import com.zcloud.primeport.domain.model.GateCountE;
|
||||
import com.zcloud.primeport.domain.model.MkmjStatisticsE;
|
||||
import com.zcloud.primeport.dto.MkmjPassagePageQry;
|
||||
import com.zcloud.primeport.dto.clientobject.MkmjPassageCO;
|
||||
import com.zcloud.primeport.dto.clientobject.MkmjStatisticsCO;
|
||||
import com.zcloud.primeport.persistence.dataobject.MkmjPassageDO;
|
||||
import com.zcloud.primeport.persistence.repository.MkmjAreaGateRepository;
|
||||
import com.zcloud.primeport.persistence.repository.MkmjCarRecordRepository;
|
||||
import com.zcloud.primeport.persistence.repository.MkmjPassageRepository;
|
||||
import com.zcloud.gbscommon.utils.PageQueryHelper;
|
||||
import com.alibaba.cola.dto.PageResponse;
|
||||
import com.zcloud.primeport.persistence.repository.MkmjSwipeCardRecordRepository;
|
||||
import lombok.AllArgsConstructor;
|
||||
import org.springframework.stereotype.Component;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.stream.Collectors;
|
||||
|
|
@ -29,6 +36,8 @@ public class MkmjPassageQueryExe {
|
|||
private final MkmjPassageRepository mkmjPassageRepository;
|
||||
private final MkmjPassageCoConvertor mkmjPassageCoConvertor;
|
||||
private final MkmjAreaGateRepository mkmjAreaGateRepository;
|
||||
private final MkmjCarRecordRepository mkmjCarRecordRepository;
|
||||
private final MkmjSwipeCardRecordRepository mkmjSwipeCardRecordRepository;
|
||||
|
||||
/**
|
||||
* 根据id查询
|
||||
|
|
@ -40,6 +49,11 @@ public class MkmjPassageQueryExe {
|
|||
return mkmjPassageCoConvertor.converDOToCO(mkmjPassageRepository.getById(id));
|
||||
}
|
||||
|
||||
public MkmjPassageCO queryByName(String name) {
|
||||
return mkmjPassageCoConvertor.converDOToCO(mkmjPassageRepository.getOne(
|
||||
new LambdaQueryWrapper<MkmjPassageDO>().eq(MkmjPassageDO::getPassageName, name)));
|
||||
}
|
||||
|
||||
/**
|
||||
* 分页
|
||||
*
|
||||
|
|
@ -61,5 +75,36 @@ public class MkmjPassageQueryExe {
|
|||
});
|
||||
return PageResponse.of(passageCOS, pageResponse.getTotalCount(), pageResponse.getPageSize(), pageResponse.getPageIndex());
|
||||
}
|
||||
|
||||
public List<MkmjStatisticsCO> statistics(List<String> ids) {
|
||||
List<MkmjStatisticsE> carCounts = mkmjCarRecordRepository.statisticsByPassage(ids);
|
||||
List<MkmjStatisticsE> personCounts = mkmjSwipeCardRecordRepository.statisticsByPassage(ids);
|
||||
|
||||
// 创建一个 map 来存储 areaId 对应的统计数据
|
||||
Map<String, MkmjStatisticsCO> statisticsMap = new HashMap<>();
|
||||
|
||||
// 处理车辆统计数据
|
||||
for (MkmjStatisticsE carCount : carCounts) {
|
||||
MkmjStatisticsCO co = new MkmjStatisticsCO();
|
||||
co.setId(carCount.getId());
|
||||
co.setCarInCount(carCount.getCarInCount());
|
||||
co.setCarOutCount(carCount.getCarOutCount());
|
||||
statisticsMap.put(carCount.getId(), co);
|
||||
}
|
||||
|
||||
// 处理人员统计数据
|
||||
for (MkmjStatisticsE personCount : personCounts) {
|
||||
MkmjStatisticsCO co = statisticsMap.getOrDefault(personCount.getId(), new MkmjStatisticsCO());
|
||||
co.setId(personCount.getId());
|
||||
co.setPersonInCount(personCount.getPersonInCount());
|
||||
co.setPersonOutCount(personCount.getPersonOutCount());
|
||||
statisticsMap.put(personCount.getId(), co);
|
||||
}
|
||||
|
||||
// 返回合并后的列表
|
||||
return new ArrayList<>(statisticsMap.values());
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -0,0 +1,52 @@
|
|||
package com.zcloud.primeport.command.query;
|
||||
|
||||
import com.alibaba.cola.dto.PageResponse;
|
||||
import com.zcloud.gbscommon.utils.PageQueryHelper;
|
||||
import com.zcloud.primeport.command.convertor.MkmjSwipeCardRecordCoConvertor;
|
||||
import com.zcloud.primeport.dto.MkmjSwipeCardRecordPageQry;
|
||||
import com.zcloud.primeport.dto.clientobject.MkmjSwipeCardRecordCO;
|
||||
import com.zcloud.primeport.persistence.dataobject.MkmjSwipeCardRecordDO;
|
||||
import com.zcloud.primeport.persistence.repository.MkmjSwipeCardRecordRepository;
|
||||
import lombok.AllArgsConstructor;
|
||||
import org.springframework.stereotype.Component;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
|
||||
/**
|
||||
* web-app
|
||||
*
|
||||
* @Author fangjiakai
|
||||
* @Date 2025-11-17 13:42:10
|
||||
*/
|
||||
@Component
|
||||
@AllArgsConstructor
|
||||
public class MkmjSwipeCardRecordQueryExe {
|
||||
private final MkmjSwipeCardRecordRepository mkmjSwipeCardRecordRepository;
|
||||
private final MkmjSwipeCardRecordCoConvertor mkmjSwipeCardRecordCoConvertor;
|
||||
|
||||
/**
|
||||
* 根据id查询
|
||||
*
|
||||
* @param id
|
||||
* @return
|
||||
*/
|
||||
public MkmjSwipeCardRecordCO queryById(Long id) {
|
||||
return mkmjSwipeCardRecordCoConvertor.converDOToCO(mkmjSwipeCardRecordRepository.getById(id));
|
||||
}
|
||||
|
||||
/**
|
||||
* 分页
|
||||
*
|
||||
* @param mkmjSwipeCardRecordPageQry
|
||||
* @return
|
||||
*/
|
||||
public PageResponse<MkmjSwipeCardRecordCO> execute(MkmjSwipeCardRecordPageQry mkmjSwipeCardRecordPageQry) {
|
||||
Map<String, Object> params = PageQueryHelper.toHashMap(mkmjSwipeCardRecordPageQry);
|
||||
PageResponse<MkmjSwipeCardRecordDO> pageResponse = mkmjSwipeCardRecordRepository.listPage(params);
|
||||
List<MkmjSwipeCardRecordCO> examCenterCOS = mkmjSwipeCardRecordCoConvertor.converDOsToCOs(pageResponse.getData());
|
||||
return PageResponse.of(examCenterCOS, pageResponse.getTotalCount(), pageResponse.getPageSize(), pageResponse.getPageIndex());
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -12,9 +12,12 @@ import com.zcloud.primeport.dto.clientobject.MkmjAreaCO;
|
|||
|
||||
import com.alibaba.cola.dto.PageResponse;
|
||||
import com.alibaba.cola.dto.SingleResponse;
|
||||
import com.zcloud.primeport.dto.clientobject.MkmjStatisticsCO;
|
||||
import lombok.AllArgsConstructor;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* web-app
|
||||
*
|
||||
|
|
@ -61,5 +64,10 @@ public class MkmjAreaServiceImpl implements MkmjAreaServiceI {
|
|||
public void removeBatch(Long[] ids) {
|
||||
mkmjAreaRemoveExe.execute(ids);
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<MkmjStatisticsCO> statistics(List<String> ids) {
|
||||
return mkmjAreaQueryExe.statistics(ids);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -0,0 +1,64 @@
|
|||
package com.zcloud.primeport.service;
|
||||
|
||||
import com.alibaba.cola.dto.PageResponse;
|
||||
import com.alibaba.cola.dto.SingleResponse;
|
||||
import com.zcloud.primeport.api.MkmjCarRecordServiceI;
|
||||
import com.zcloud.primeport.command.MkmjCarRecordAddExe;
|
||||
import com.zcloud.primeport.command.MkmjCarRecordRemoveExe;
|
||||
import com.zcloud.primeport.command.MkmjCarRecordUpdateExe;
|
||||
import com.zcloud.primeport.command.query.MkmjCarRecordQueryExe;
|
||||
import com.zcloud.primeport.dto.MkmjCarRecordAddCmd;
|
||||
import com.zcloud.primeport.dto.MkmjCarRecordPageQry;
|
||||
import com.zcloud.primeport.dto.MkmjCarRecordUpdateCmd;
|
||||
import com.zcloud.primeport.dto.clientobject.MkmjCarRecordCO;
|
||||
import lombok.AllArgsConstructor;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
/**
|
||||
* web-app
|
||||
*
|
||||
* @Author fangjiakai
|
||||
* @Date 2025-11-17 13:42:09
|
||||
*/
|
||||
@Service
|
||||
@AllArgsConstructor
|
||||
public class MkmjCarRecordServiceImpl implements MkmjCarRecordServiceI {
|
||||
private final MkmjCarRecordAddExe mkmjCarRecordAddExe;
|
||||
private final MkmjCarRecordUpdateExe mkmjCarRecordUpdateExe;
|
||||
private final MkmjCarRecordRemoveExe mkmjCarRecordRemoveExe;
|
||||
private final MkmjCarRecordQueryExe mkmjCarRecordQueryExe;
|
||||
|
||||
@Override
|
||||
public MkmjCarRecordCO queryById(Long id) {
|
||||
return mkmjCarRecordQueryExe.queryById(id);
|
||||
}
|
||||
|
||||
@Override
|
||||
public PageResponse<MkmjCarRecordCO> listPage(MkmjCarRecordPageQry qry) {
|
||||
|
||||
return mkmjCarRecordQueryExe.execute(qry);
|
||||
}
|
||||
|
||||
@Override
|
||||
public SingleResponse add(MkmjCarRecordAddCmd cmd) {
|
||||
|
||||
mkmjCarRecordAddExe.execute(cmd);
|
||||
return SingleResponse.buildSuccess();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void edit(MkmjCarRecordUpdateCmd mkmjCarRecordUpdateCmd) {
|
||||
mkmjCarRecordUpdateExe.execute(mkmjCarRecordUpdateCmd);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void remove(Long id) {
|
||||
mkmjCarRecordRemoveExe.execute(id);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void removeBatch(Long[] ids) {
|
||||
mkmjCarRecordRemoveExe.execute(ids);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -12,9 +12,12 @@ import com.zcloud.primeport.dto.clientobject.MkmjPassageCO;
|
|||
|
||||
import com.alibaba.cola.dto.PageResponse;
|
||||
import com.alibaba.cola.dto.SingleResponse;
|
||||
import com.zcloud.primeport.dto.clientobject.MkmjStatisticsCO;
|
||||
import lombok.AllArgsConstructor;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* web-app
|
||||
*
|
||||
|
|
@ -33,7 +36,10 @@ public class MkmjPassageServiceImpl implements MkmjPassageServiceI {
|
|||
public MkmjPassageCO queryById(Long id) {
|
||||
return mkmjPassageQueryExe.queryById(id);
|
||||
}
|
||||
|
||||
@Override
|
||||
public MkmjPassageCO queryByName(String name){
|
||||
return mkmjPassageQueryExe.queryByName(name);
|
||||
}
|
||||
@Override
|
||||
public PageResponse<MkmjPassageCO> listPage(MkmjPassagePageQry qry) {
|
||||
|
||||
|
|
@ -61,5 +67,10 @@ public class MkmjPassageServiceImpl implements MkmjPassageServiceI {
|
|||
public void removeBatch(Long[] ids) {
|
||||
mkmjPassageRemoveExe.execute(ids);
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<MkmjStatisticsCO> statistics(List<String> ids){
|
||||
return mkmjPassageQueryExe.statistics(ids);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -0,0 +1,64 @@
|
|||
package com.zcloud.primeport.service;
|
||||
|
||||
import com.alibaba.cola.dto.PageResponse;
|
||||
import com.alibaba.cola.dto.SingleResponse;
|
||||
import com.zcloud.primeport.api.MkmjSwipeCardRecordServiceI;
|
||||
import com.zcloud.primeport.command.MkmjSwipeCardRecordAddExe;
|
||||
import com.zcloud.primeport.command.MkmjSwipeCardRecordRemoveExe;
|
||||
import com.zcloud.primeport.command.MkmjSwipeCardRecordUpdateExe;
|
||||
import com.zcloud.primeport.command.query.MkmjSwipeCardRecordQueryExe;
|
||||
import com.zcloud.primeport.dto.MkmjSwipeCardRecordAddCmd;
|
||||
import com.zcloud.primeport.dto.MkmjSwipeCardRecordPageQry;
|
||||
import com.zcloud.primeport.dto.MkmjSwipeCardRecordUpdateCmd;
|
||||
import com.zcloud.primeport.dto.clientobject.MkmjSwipeCardRecordCO;
|
||||
import lombok.AllArgsConstructor;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
/**
|
||||
* web-app
|
||||
*
|
||||
* @Author fangjiakai
|
||||
* @Date 2025-11-17 13:42:10
|
||||
*/
|
||||
@Service
|
||||
@AllArgsConstructor
|
||||
public class MkmjSwipeCardRecordServiceImpl implements MkmjSwipeCardRecordServiceI {
|
||||
private final MkmjSwipeCardRecordAddExe mkmjSwipeCardRecordAddExe;
|
||||
private final MkmjSwipeCardRecordUpdateExe mkmjSwipeCardRecordUpdateExe;
|
||||
private final MkmjSwipeCardRecordRemoveExe mkmjSwipeCardRecordRemoveExe;
|
||||
private final MkmjSwipeCardRecordQueryExe mkmjSwipeCardRecordQueryExe;
|
||||
|
||||
@Override
|
||||
public MkmjSwipeCardRecordCO queryById(Long id) {
|
||||
return mkmjSwipeCardRecordQueryExe.queryById(id);
|
||||
}
|
||||
|
||||
@Override
|
||||
public PageResponse<MkmjSwipeCardRecordCO> listPage(MkmjSwipeCardRecordPageQry qry) {
|
||||
|
||||
return mkmjSwipeCardRecordQueryExe.execute(qry);
|
||||
}
|
||||
|
||||
@Override
|
||||
public SingleResponse add(MkmjSwipeCardRecordAddCmd cmd) {
|
||||
|
||||
mkmjSwipeCardRecordAddExe.execute(cmd);
|
||||
return SingleResponse.buildSuccess();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void edit(MkmjSwipeCardRecordUpdateCmd mkmjSwipeCardRecordUpdateCmd) {
|
||||
mkmjSwipeCardRecordUpdateExe.execute(mkmjSwipeCardRecordUpdateCmd);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void remove(Long id) {
|
||||
mkmjSwipeCardRecordRemoveExe.execute(id);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void removeBatch(Long[] ids) {
|
||||
mkmjSwipeCardRecordRemoveExe.execute(ids);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -7,6 +7,9 @@ import com.zcloud.primeport.dto.clientobject.MkmjAreaCO;
|
|||
|
||||
import com.alibaba.cola.dto.PageResponse;
|
||||
import com.alibaba.cola.dto.SingleResponse;
|
||||
import com.zcloud.primeport.dto.clientobject.MkmjStatisticsCO;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* web-client
|
||||
|
|
@ -26,5 +29,7 @@ public interface MkmjAreaServiceI {
|
|||
void remove(Long id);
|
||||
|
||||
void removeBatch(Long[] ids);
|
||||
|
||||
List<MkmjStatisticsCO> statistics(List<String> ids);
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -0,0 +1,29 @@
|
|||
package com.zcloud.primeport.api;
|
||||
|
||||
import com.alibaba.cola.dto.PageResponse;
|
||||
import com.alibaba.cola.dto.SingleResponse;
|
||||
import com.zcloud.primeport.dto.MkmjCarRecordAddCmd;
|
||||
import com.zcloud.primeport.dto.MkmjCarRecordPageQry;
|
||||
import com.zcloud.primeport.dto.MkmjCarRecordUpdateCmd;
|
||||
import com.zcloud.primeport.dto.clientobject.MkmjCarRecordCO;
|
||||
|
||||
/**
|
||||
* web-client
|
||||
*
|
||||
* @Author fangjiakai
|
||||
* @Date 2025-11-17 13:42:09
|
||||
*/
|
||||
public interface MkmjCarRecordServiceI {
|
||||
MkmjCarRecordCO queryById(Long id);
|
||||
|
||||
PageResponse<MkmjCarRecordCO> listPage(MkmjCarRecordPageQry qry);
|
||||
|
||||
SingleResponse<MkmjCarRecordCO> add(MkmjCarRecordAddCmd cmd);
|
||||
|
||||
void edit(MkmjCarRecordUpdateCmd cmd);
|
||||
|
||||
void remove(Long id);
|
||||
|
||||
void removeBatch(Long[] ids);
|
||||
}
|
||||
|
||||
|
|
@ -7,6 +7,9 @@ import com.zcloud.primeport.dto.clientobject.MkmjPassageCO;
|
|||
|
||||
import com.alibaba.cola.dto.PageResponse;
|
||||
import com.alibaba.cola.dto.SingleResponse;
|
||||
import com.zcloud.primeport.dto.clientobject.MkmjStatisticsCO;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* web-client
|
||||
|
|
@ -16,6 +19,7 @@ import com.alibaba.cola.dto.SingleResponse;
|
|||
*/
|
||||
public interface MkmjPassageServiceI {
|
||||
MkmjPassageCO queryById(Long id);
|
||||
MkmjPassageCO queryByName(String name);
|
||||
|
||||
PageResponse<MkmjPassageCO> listPage(MkmjPassagePageQry qry);
|
||||
|
||||
|
|
@ -26,5 +30,9 @@ public interface MkmjPassageServiceI {
|
|||
void remove(Long id);
|
||||
|
||||
void removeBatch(Long[] ids);
|
||||
|
||||
List<MkmjStatisticsCO> statistics(List<String> ids);
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -0,0 +1,29 @@
|
|||
package com.zcloud.primeport.api;
|
||||
|
||||
import com.alibaba.cola.dto.PageResponse;
|
||||
import com.alibaba.cola.dto.SingleResponse;
|
||||
import com.zcloud.primeport.dto.MkmjSwipeCardRecordAddCmd;
|
||||
import com.zcloud.primeport.dto.MkmjSwipeCardRecordPageQry;
|
||||
import com.zcloud.primeport.dto.MkmjSwipeCardRecordUpdateCmd;
|
||||
import com.zcloud.primeport.dto.clientobject.MkmjSwipeCardRecordCO;
|
||||
|
||||
/**
|
||||
* web-client
|
||||
*
|
||||
* @Author fangjiakai
|
||||
* @Date 2025-11-17 13:42:10
|
||||
*/
|
||||
public interface MkmjSwipeCardRecordServiceI {
|
||||
MkmjSwipeCardRecordCO queryById(Long id);
|
||||
|
||||
PageResponse<MkmjSwipeCardRecordCO> listPage(MkmjSwipeCardRecordPageQry qry);
|
||||
|
||||
SingleResponse<MkmjSwipeCardRecordCO> add(MkmjSwipeCardRecordAddCmd cmd);
|
||||
|
||||
void edit(MkmjSwipeCardRecordUpdateCmd cmd);
|
||||
|
||||
void remove(Long id);
|
||||
|
||||
void removeBatch(Long[] ids);
|
||||
}
|
||||
|
||||
|
|
@ -0,0 +1,124 @@
|
|||
package com.zcloud.primeport.dto;
|
||||
|
||||
import com.alibaba.cola.dto.Command;
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
import javax.validation.constraints.NotEmpty;
|
||||
import javax.validation.constraints.NotNull;
|
||||
import java.sql.Date;
|
||||
|
||||
/**
|
||||
* web-client
|
||||
*
|
||||
* @Author fangjiakai
|
||||
* @Date 2025-11-17 13:42:08
|
||||
*/
|
||||
@EqualsAndHashCode(callSuper = true)
|
||||
@Data
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
public class MkmjCarRecordAddCmd extends Command {
|
||||
@ApiModelProperty(value = "车辆id", name = "vehicleRecordId", required = true)
|
||||
@NotEmpty(message = "车辆id不能为空")
|
||||
private String vehicleRecordId;
|
||||
|
||||
@ApiModelProperty(value = "车辆牌照号码", name = "vehiclePlateNumber", required = true)
|
||||
@NotEmpty(message = "车辆牌照号码不能为空")
|
||||
private String vehiclePlateNumber;
|
||||
|
||||
@ApiModelProperty(value = "车辆行驶证号码", name = "vehicleRegistrationNumber", required = true)
|
||||
@NotEmpty(message = "车辆行驶证号码不能为空")
|
||||
private String vehicleRegistrationNumber;
|
||||
|
||||
@ApiModelProperty(value = "车辆类型名称", name = "vehicleCategoryName", required = true)
|
||||
@NotEmpty(message = "车辆类型名称不能为空")
|
||||
private String vehicleCategoryName;
|
||||
|
||||
@ApiModelProperty(value = "车辆联系人姓名", name = "vehicleContactName", required = true)
|
||||
@NotEmpty(message = "车辆联系人姓名不能为空")
|
||||
private String vehicleContactName;
|
||||
|
||||
@ApiModelProperty(value = "车辆联系人电话", name = "vehicleContactPhoneNumber", required = true)
|
||||
@NotEmpty(message = "车辆联系人电话不能为空")
|
||||
private String vehicleContactPhoneNumber;
|
||||
|
||||
@ApiModelProperty(value = "车辆备案信息录入单位", name = "vehicleFilingInfoRecordingOrg", required = true)
|
||||
@NotEmpty(message = "车辆备案信息录入单位不能为空")
|
||||
private String vehicleFilingInfoRecordingOrg;
|
||||
|
||||
@ApiModelProperty(value = "车辆牌照颜色名称", name = "vehiclePlateColor", required = true)
|
||||
@NotEmpty(message = "车辆牌照颜色名称不能为空")
|
||||
private String vehiclePlateColor;
|
||||
|
||||
@ApiModelProperty(value = "车辆入港闸口", name = "vehicleArrivalBarrier", required = true)
|
||||
@NotEmpty(message = "车辆入港闸口不能为空")
|
||||
private String vehicleArrivalBarrier;
|
||||
|
||||
@ApiModelProperty(value = "${column.comment}", name = "regexArrivalBarrier", required = true)
|
||||
@NotEmpty(message = "${column.comment}不能为空")
|
||||
private String regexArrivalBarrier;
|
||||
|
||||
@ApiModelProperty(value = "车辆入港时间", name = "vehicleArrivalTime", required = true)
|
||||
@NotEmpty(message = "车辆入港时间不能为空")
|
||||
private String vehicleArrivalTime;
|
||||
|
||||
@ApiModelProperty(value = "车辆离港闸口", name = "vehicleDepartureBarrier", required = true)
|
||||
@NotEmpty(message = "车辆离港闸口不能为空")
|
||||
private String vehicleDepartureBarrier;
|
||||
|
||||
@ApiModelProperty(value = "${column.comment}", name = "regexDepartureBarrier", required = true)
|
||||
@NotEmpty(message = "${column.comment}不能为空")
|
||||
private String regexDepartureBarrier;
|
||||
|
||||
@ApiModelProperty(value = "车辆离港时间", name = "vehicleDepartureTime", required = true)
|
||||
@NotEmpty(message = "车辆离港时间不能为空")
|
||||
private String vehicleDepartureTime;
|
||||
|
||||
@ApiModelProperty(value = "车辆备案方式", name = "vehicleFilingMethod", required = true)
|
||||
@NotEmpty(message = "车辆备案方式不能为空")
|
||||
private String vehicleFilingMethod;
|
||||
|
||||
@ApiModelProperty(value = "车辆在港状态", name = "vehicleArrivalStatus", required = true)
|
||||
@NotEmpty(message = "车辆在港状态不能为空")
|
||||
private String vehicleArrivalStatus;
|
||||
|
||||
@ApiModelProperty(value = "数据来源", name = "edwDataSource", required = true)
|
||||
@NotEmpty(message = "数据来源不能为空")
|
||||
private String edwDataSource;
|
||||
|
||||
@ApiModelProperty(value = "数据创建日期", name = "edwCreateDate", required = true)
|
||||
@NotEmpty(message = "数据创建日期不能为空")
|
||||
private String edwCreateDate;
|
||||
|
||||
@ApiModelProperty(value = "数据更新日期", name = "edwLastUpdate", required = true)
|
||||
@NotEmpty(message = "数据更新日期不能为空")
|
||||
private String edwLastUpdate;
|
||||
|
||||
@ApiModelProperty(value = "数据有效标识", name = "edwValidFlag", required = true)
|
||||
@NotEmpty(message = "数据有效标识不能为空")
|
||||
private String edwValidFlag;
|
||||
|
||||
@ApiModelProperty(value = "分区列", name = "dataVersion", required = true)
|
||||
@NotNull(message = "分区列不能为空")
|
||||
private Long dataVersion;
|
||||
|
||||
@ApiModelProperty(value = "同步时间", name = "accLastUpdateDate", required = true)
|
||||
@NotNull(message = "同步时间不能为空")
|
||||
@JsonFormat(pattern = "yyyy-MM-dd")
|
||||
private Date accLastUpdateDate;
|
||||
|
||||
@ApiModelProperty(value = "自增长id主键", name = "idSequence", required = true)
|
||||
@NotNull(message = "自增长id主键不能为空")
|
||||
private Long idSequence;
|
||||
|
||||
@ApiModelProperty(value = "同步时间", name = "synctime", required = true)
|
||||
@NotEmpty(message = "同步时间不能为空")
|
||||
private String synctime;
|
||||
|
||||
}
|
||||
|
||||
|
|
@ -0,0 +1,28 @@
|
|||
package com.zcloud.primeport.dto;
|
||||
|
||||
import com.alibaba.cola.dto.PageQuery;
|
||||
import lombok.Data;
|
||||
|
||||
|
||||
/**
|
||||
* web-client
|
||||
*
|
||||
* @Author fangjiakai
|
||||
* @Date 2025-11-17 13:42:09
|
||||
*/
|
||||
@Data
|
||||
public class MkmjCarRecordPageQry extends PageQuery {
|
||||
|
||||
/**
|
||||
* 查询条件操作前缀,支持以下几种数据库查询操作:
|
||||
* - `like`: 模糊匹配查询,对应SQL的LIKE操作符
|
||||
* - `eq`: 等值查询,对应SQL的=操作符
|
||||
* - `gt`: 大于比较查询
|
||||
* - `lt`: 小于比较查询
|
||||
* - `ge`: 大于等于比较查询
|
||||
* - `le`: 小于等于比较查询
|
||||
* - `ne`: 不等比较查询,对应SQL的!=操作符
|
||||
*/
|
||||
private String likeVehicleRecordId;
|
||||
}
|
||||
|
||||
|
|
@ -0,0 +1,103 @@
|
|||
package com.zcloud.primeport.dto;
|
||||
|
||||
import com.alibaba.cola.dto.Command;
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
import javax.validation.constraints.NotEmpty;
|
||||
import javax.validation.constraints.NotNull;
|
||||
import java.sql.Date;
|
||||
|
||||
/**
|
||||
* web-client
|
||||
*
|
||||
* @Author fangjiakai
|
||||
* @Date 2025-11-17 13:42:09
|
||||
*/
|
||||
@EqualsAndHashCode(callSuper = true)
|
||||
@Data
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
public class MkmjCarRecordUpdateCmd extends Command {
|
||||
@ApiModelProperty(value = "主键id", name = "id", required = true)
|
||||
@NotNull(message = "主键id不能为空")
|
||||
private Long id;
|
||||
@ApiModelProperty(value = "车辆id", name = "vehicleRecordId", required = true)
|
||||
@NotEmpty(message = "车辆id不能为空")
|
||||
private String vehicleRecordId;
|
||||
@ApiModelProperty(value = "车辆牌照号码", name = "vehiclePlateNumber", required = true)
|
||||
@NotEmpty(message = "车辆牌照号码不能为空")
|
||||
private String vehiclePlateNumber;
|
||||
@ApiModelProperty(value = "车辆行驶证号码", name = "vehicleRegistrationNumber", required = true)
|
||||
@NotEmpty(message = "车辆行驶证号码不能为空")
|
||||
private String vehicleRegistrationNumber;
|
||||
@ApiModelProperty(value = "车辆类型名称", name = "vehicleCategoryName", required = true)
|
||||
@NotEmpty(message = "车辆类型名称不能为空")
|
||||
private String vehicleCategoryName;
|
||||
@ApiModelProperty(value = "车辆联系人姓名", name = "vehicleContactName", required = true)
|
||||
@NotEmpty(message = "车辆联系人姓名不能为空")
|
||||
private String vehicleContactName;
|
||||
@ApiModelProperty(value = "车辆联系人电话", name = "vehicleContactPhoneNumber", required = true)
|
||||
@NotEmpty(message = "车辆联系人电话不能为空")
|
||||
private String vehicleContactPhoneNumber;
|
||||
@ApiModelProperty(value = "车辆备案信息录入单位", name = "vehicleFilingInfoRecordingOrg", required = true)
|
||||
@NotEmpty(message = "车辆备案信息录入单位不能为空")
|
||||
private String vehicleFilingInfoRecordingOrg;
|
||||
@ApiModelProperty(value = "车辆牌照颜色名称", name = "vehiclePlateColor", required = true)
|
||||
@NotEmpty(message = "车辆牌照颜色名称不能为空")
|
||||
private String vehiclePlateColor;
|
||||
@ApiModelProperty(value = "车辆入港闸口", name = "vehicleArrivalBarrier", required = true)
|
||||
@NotEmpty(message = "车辆入港闸口不能为空")
|
||||
private String vehicleArrivalBarrier;
|
||||
@ApiModelProperty(value = "${column.comment}", name = "regexArrivalBarrier", required = true)
|
||||
@NotEmpty(message = "${column.comment}不能为空")
|
||||
private String regexArrivalBarrier;
|
||||
@ApiModelProperty(value = "车辆入港时间", name = "vehicleArrivalTime", required = true)
|
||||
@NotEmpty(message = "车辆入港时间不能为空")
|
||||
private String vehicleArrivalTime;
|
||||
@ApiModelProperty(value = "车辆离港闸口", name = "vehicleDepartureBarrier", required = true)
|
||||
@NotEmpty(message = "车辆离港闸口不能为空")
|
||||
private String vehicleDepartureBarrier;
|
||||
@ApiModelProperty(value = "${column.comment}", name = "regexDepartureBarrier", required = true)
|
||||
@NotEmpty(message = "${column.comment}不能为空")
|
||||
private String regexDepartureBarrier;
|
||||
@ApiModelProperty(value = "车辆离港时间", name = "vehicleDepartureTime", required = true)
|
||||
@NotEmpty(message = "车辆离港时间不能为空")
|
||||
private String vehicleDepartureTime;
|
||||
@ApiModelProperty(value = "车辆备案方式", name = "vehicleFilingMethod", required = true)
|
||||
@NotEmpty(message = "车辆备案方式不能为空")
|
||||
private String vehicleFilingMethod;
|
||||
@ApiModelProperty(value = "车辆在港状态", name = "vehicleArrivalStatus", required = true)
|
||||
@NotEmpty(message = "车辆在港状态不能为空")
|
||||
private String vehicleArrivalStatus;
|
||||
@ApiModelProperty(value = "数据来源", name = "edwDataSource", required = true)
|
||||
@NotEmpty(message = "数据来源不能为空")
|
||||
private String edwDataSource;
|
||||
@ApiModelProperty(value = "数据创建日期", name = "edwCreateDate", required = true)
|
||||
@NotEmpty(message = "数据创建日期不能为空")
|
||||
private String edwCreateDate;
|
||||
@ApiModelProperty(value = "数据更新日期", name = "edwLastUpdate", required = true)
|
||||
@NotEmpty(message = "数据更新日期不能为空")
|
||||
private String edwLastUpdate;
|
||||
@ApiModelProperty(value = "数据有效标识", name = "edwValidFlag", required = true)
|
||||
@NotEmpty(message = "数据有效标识不能为空")
|
||||
private String edwValidFlag;
|
||||
@ApiModelProperty(value = "分区列", name = "dataVersion", required = true)
|
||||
@NotNull(message = "分区列不能为空")
|
||||
private Long dataVersion;
|
||||
@ApiModelProperty(value = "同步时间", name = "accLastUpdateDate", required = true)
|
||||
@NotNull(message = "同步时间不能为空")
|
||||
@JsonFormat(pattern = "yyyy-MM-dd")
|
||||
private Date accLastUpdateDate;
|
||||
@ApiModelProperty(value = "自增长id主键", name = "idSequence", required = true)
|
||||
@NotNull(message = "自增长id主键不能为空")
|
||||
private Long idSequence;
|
||||
@ApiModelProperty(value = "同步时间", name = "synctime", required = true)
|
||||
@NotEmpty(message = "同步时间不能为空")
|
||||
private String synctime;
|
||||
}
|
||||
|
||||
|
|
@ -0,0 +1,205 @@
|
|||
package com.zcloud.primeport.dto;
|
||||
|
||||
import com.alibaba.cola.dto.Command;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
import javax.validation.constraints.NotEmpty;
|
||||
import javax.validation.constraints.NotNull;
|
||||
|
||||
/**
|
||||
* web-client
|
||||
*
|
||||
* @Author fangjiakai
|
||||
* @Date 2025-11-17 13:42:09
|
||||
*/
|
||||
@EqualsAndHashCode(callSuper = true)
|
||||
@Data
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
public class MkmjSwipeCardRecordAddCmd extends Command {
|
||||
@ApiModelProperty(value = "节点编码", name = "nodecode", required = true)
|
||||
@NotEmpty(message = "节点编码不能为空")
|
||||
private String nodecode;
|
||||
|
||||
@ApiModelProperty(value = "报警编号", name = "alarmcode", required = true)
|
||||
@NotEmpty(message = "报警编号不能为空")
|
||||
private String alarmcode;
|
||||
|
||||
@ApiModelProperty(value = "报警图片路径", name = "alarmpicture", required = true)
|
||||
@NotEmpty(message = "报警图片路径不能为空")
|
||||
private String alarmpicture;
|
||||
|
||||
@ApiModelProperty(value = "节点类型", name = "nodetype", required = true)
|
||||
@NotEmpty(message = "节点类型不能为空")
|
||||
private String nodetype;
|
||||
|
||||
@ApiModelProperty(value = "报警时间,10位时间戳", name = "alarmdate", required = true)
|
||||
@NotNull(message = "报警时间,10位时间戳不能为空")
|
||||
private Integer alarmdate;
|
||||
|
||||
@ApiModelProperty(value = "报警等级 1:严重,2:一般,3:轻微", name = "alarmgrade", required = true)
|
||||
@NotNull(message = "报警等级 1:严重,2:一般,3:轻微不能为空")
|
||||
private Integer alarmgrade;
|
||||
|
||||
@ApiModelProperty(value = "单元类型", name = "unittype", required = true)
|
||||
@NotNull(message = "单元类型不能为空")
|
||||
private Integer unittype;
|
||||
|
||||
@ApiModelProperty(value = "报警类型", name = "alarmtype", required = true)
|
||||
@NotNull(message = "报警类型不能为空")
|
||||
private Integer alarmtype;
|
||||
|
||||
@ApiModelProperty(value = "通道序号", name = "channelseq", required = true)
|
||||
@NotNull(message = "通道序号不能为空")
|
||||
private Integer channelseq;
|
||||
|
||||
@ApiModelProperty(value = "通道名称", name = "channelname", required = true)
|
||||
@NotEmpty(message = "通道名称不能为空")
|
||||
private String channelname;
|
||||
|
||||
@ApiModelProperty(value = "报警状态 1:报警产生,2:报警消失", name = "alarmstat", required = true)
|
||||
@NotNull(message = "报警状态 1:报警产生,2:报警消失不能为空")
|
||||
private Integer alarmstat;
|
||||
|
||||
@ApiModelProperty(value = "部门名称", name = "deptname", required = true)
|
||||
@NotEmpty(message = "部门名称不能为空")
|
||||
private String deptname;
|
||||
|
||||
@ApiModelProperty(value = "通道编号", name = "acschannelcode", required = true)
|
||||
@NotEmpty(message = "通道编号不能为空")
|
||||
private String acschannelcode;
|
||||
|
||||
@ApiModelProperty(value = "口罩状态 3-戴口罩,2-未戴口罩,1-未识别,0-未知", name = "maskstate", required = true)
|
||||
@NotNull(message = "口罩状态 3-戴口罩,2-未戴口罩,1-未识别,0-未知不能为空")
|
||||
private Integer maskstate;
|
||||
|
||||
@ApiModelProperty(value = "进出门类型: 详见 读卡器业务类型字典", name = "enterorexit", required = true)
|
||||
@NotEmpty(message = "进出门类型: 详见 读卡器业务类型字典不能为空")
|
||||
private String enterorexit;
|
||||
|
||||
@ApiModelProperty(value = "开门类型字符串", name = "opentypestr", required = true)
|
||||
@NotEmpty(message = "开门类型字符串不能为空")
|
||||
private String opentypestr;
|
||||
|
||||
@ApiModelProperty(value = "刷卡时间,格式:yyyy-MM:dd HH:mm:ss", name = "swingtime", required = true)
|
||||
@NotEmpty(message = "刷卡时间,格式:yyyy-MM:dd HH:mm:ss不能为空")
|
||||
private String swingtime;
|
||||
|
||||
@ApiModelProperty(value = "设备名称", name = "devicename", required = true)
|
||||
@NotEmpty(message = "设备名称不能为空")
|
||||
private String devicename;
|
||||
|
||||
@ApiModelProperty(value = "人员编号", name = "personcode", required = true)
|
||||
@NotEmpty(message = "人员编号不能为空")
|
||||
private String personcode;
|
||||
|
||||
@ApiModelProperty(value = "开门类型, 详见开门类型 字典", name = "opentype", required = true)
|
||||
@NotEmpty(message = "开门类型, 详见开门类型 字典不能为空")
|
||||
private String opentype;
|
||||
|
||||
@ApiModelProperty(value = "组织编码", name = "orgcode", required = true)
|
||||
@NotEmpty(message = "组织编码不能为空")
|
||||
private String orgcode;
|
||||
|
||||
@ApiModelProperty(value = "证件类型", name = "papertype", required = true)
|
||||
@NotEmpty(message = "证件类型不能为空")
|
||||
private String papertype;
|
||||
|
||||
@ApiModelProperty(value = "证件号", name = "papernumber", required = true)
|
||||
@NotEmpty(message = "证件号不能为空")
|
||||
private String papernumber;
|
||||
|
||||
@ApiModelProperty(value = "错误详情", name = "errordetail", required = true)
|
||||
@NotEmpty(message = "错误详情不能为空")
|
||||
private String errordetail;
|
||||
|
||||
@ApiModelProperty(value = "开门错误码,0代表成功,96代表需远程验证(需结合平台上远程验证功能使用),其他参考门禁开门错误码", name = "openfailedcod", required = true)
|
||||
@NotEmpty(message = "开门错误码,0代表成功,96代表需远程验证(需结合平台上远程验证功能使用),其他参考门禁开门错误码不能为空")
|
||||
private String openfailedcod;
|
||||
|
||||
@ApiModelProperty(value = "固定值:evo-accesscontrol", name = "from", required = true)
|
||||
@NotEmpty(message = "固定值:evo-accesscontrol不能为空")
|
||||
private String from;
|
||||
|
||||
@ApiModelProperty(value = "extendId标识", name = "extendid", required = true)
|
||||
@NotNull(message = "extendId标识不能为空")
|
||||
private Long extendid;
|
||||
|
||||
@ApiModelProperty(value = "开始时间, 13位时间戳", name = "begintime", required = true)
|
||||
@NotNull(message = "开始时间, 13位时间戳不能为空")
|
||||
private Long begintime;
|
||||
|
||||
@ApiModelProperty(value = "通道名称", name = "acschannelname", required = true)
|
||||
@NotEmpty(message = "通道名称不能为空")
|
||||
private String acschannelname;
|
||||
|
||||
@ApiModelProperty(value = "预留字段,暂未使用,默认值为0", name = "cardstatus", required = true)
|
||||
@NotNull(message = "预留字段,暂未使用,默认值为0不能为空")
|
||||
private Integer cardstatus;
|
||||
|
||||
@ApiModelProperty(value = "组织名称", name = "orgname", required = true)
|
||||
@NotEmpty(message = "组织名称不能为空")
|
||||
private String orgname;
|
||||
|
||||
@ApiModelProperty(value = "性别 1 男,2 女, 0 未知", name = "sex", required = true)
|
||||
@NotNull(message = "性别 1 男,2 女, 0 未知不能为空")
|
||||
private Integer sex;
|
||||
|
||||
@ApiModelProperty(value = "人员部门id", name = "deptid", required = true)
|
||||
@NotNull(message = "人员部门id不能为空")
|
||||
private Integer deptid;
|
||||
|
||||
@ApiModelProperty(value = "卡类型", name = "cardtype", required = true)
|
||||
@NotNull(message = "卡类型不能为空")
|
||||
private Integer cardtype;
|
||||
|
||||
@ApiModelProperty(value = "设备编号", name = "devicecode", required = true)
|
||||
@NotEmpty(message = "设备编号不能为空")
|
||||
private String devicecode;
|
||||
|
||||
@ApiModelProperty(value = "人员姓名", name = "personname", required = true)
|
||||
@NotEmpty(message = "人员姓名不能为空")
|
||||
private String personname;
|
||||
|
||||
@ApiModelProperty(value = "刷卡人在平台上的图片,相对路径", name = "personimg", required = true)
|
||||
@NotEmpty(message = "刷卡人在平台上的图片,相对路径不能为空")
|
||||
private String personimg;
|
||||
|
||||
@ApiModelProperty(value = "开门结果 0 失败 1 成功", name = "openresult", required = true)
|
||||
@NotNull(message = "开门结果 0 失败 1 成功不能为空")
|
||||
private Integer openresult;
|
||||
|
||||
@ApiModelProperty(value = "人员id", name = "personid", required = true)
|
||||
@NotNull(message = "人员id不能为空")
|
||||
private Integer personid;
|
||||
|
||||
@ApiModelProperty(value = "抓拍图,相对路径", name = "recordimage1", required = true)
|
||||
@NotEmpty(message = "抓拍图,相对路径不能为空")
|
||||
private String recordimage1;
|
||||
|
||||
@ApiModelProperty(value = "卡介质 0 IC 1 有源RFID 2 CPU", name = "category", required = true)
|
||||
@NotEmpty(message = "卡介质 0 IC 1 有源RFID 2 CPU不能为空")
|
||||
private String category;
|
||||
|
||||
@ApiModelProperty(value = "卡号", name = "cardnumber", required = true)
|
||||
@NotEmpty(message = "卡号不能为空")
|
||||
private String cardnumber;
|
||||
|
||||
@ApiModelProperty(value = "rfid子类型,0:普通门禁,1:电动车,2:特殊人群关怀, 3:宠物", name = "rfidtype", required = true)
|
||||
@NotNull(message = "rfid子类型,0:普通门禁,1:电动车,2:特殊人群关怀, 3:宠物不能为空")
|
||||
private Integer rfidtype;
|
||||
|
||||
@ApiModelProperty(value = "年龄", name = "age", required = true)
|
||||
@NotNull(message = "年龄不能为空")
|
||||
private Integer age;
|
||||
|
||||
@ApiModelProperty(value = "0-非访客,1-访客", name = "vrecordflag", required = true)
|
||||
@NotNull(message = "0-非访客,1-访客不能为空")
|
||||
private Integer vrecordflag;
|
||||
|
||||
}
|
||||
|
||||
|
|
@ -0,0 +1,28 @@
|
|||
package com.zcloud.primeport.dto;
|
||||
|
||||
import com.alibaba.cola.dto.PageQuery;
|
||||
import lombok.Data;
|
||||
|
||||
|
||||
/**
|
||||
* web-client
|
||||
*
|
||||
* @Author fangjiakai
|
||||
* @Date 2025-11-17 13:42:10
|
||||
*/
|
||||
@Data
|
||||
public class MkmjSwipeCardRecordPageQry extends PageQuery {
|
||||
|
||||
/**
|
||||
* 查询条件操作前缀,支持以下几种数据库查询操作:
|
||||
* - `like`: 模糊匹配查询,对应SQL的LIKE操作符
|
||||
* - `eq`: 等值查询,对应SQL的=操作符
|
||||
* - `gt`: 大于比较查询
|
||||
* - `lt`: 小于比较查询
|
||||
* - `ge`: 大于等于比较查询
|
||||
* - `le`: 小于等于比较查询
|
||||
* - `ne`: 不等比较查询,对应SQL的!=操作符
|
||||
*/
|
||||
private String likeNodecode;
|
||||
}
|
||||
|
||||
|
|
@ -0,0 +1,163 @@
|
|||
package com.zcloud.primeport.dto;
|
||||
|
||||
import com.alibaba.cola.dto.Command;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
import javax.validation.constraints.NotEmpty;
|
||||
import javax.validation.constraints.NotNull;
|
||||
|
||||
/**
|
||||
* web-client
|
||||
*
|
||||
* @Author fangjiakai
|
||||
* @Date 2025-11-17 13:42:10
|
||||
*/
|
||||
@EqualsAndHashCode(callSuper = true)
|
||||
@Data
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
public class MkmjSwipeCardRecordUpdateCmd extends Command {
|
||||
@ApiModelProperty(value = "主键", name = "id", required = true)
|
||||
@NotNull(message = "主键不能为空")
|
||||
private Long id;
|
||||
@ApiModelProperty(value = "节点编码", name = "nodecode", required = true)
|
||||
@NotEmpty(message = "节点编码不能为空")
|
||||
private String nodecode;
|
||||
@ApiModelProperty(value = "报警编号", name = "alarmcode", required = true)
|
||||
@NotEmpty(message = "报警编号不能为空")
|
||||
private String alarmcode;
|
||||
@ApiModelProperty(value = "报警图片路径", name = "alarmpicture", required = true)
|
||||
@NotEmpty(message = "报警图片路径不能为空")
|
||||
private String alarmpicture;
|
||||
@ApiModelProperty(value = "节点类型", name = "nodetype", required = true)
|
||||
@NotEmpty(message = "节点类型不能为空")
|
||||
private String nodetype;
|
||||
@ApiModelProperty(value = "报警时间,10位时间戳", name = "alarmdate", required = true)
|
||||
@NotNull(message = "报警时间,10位时间戳不能为空")
|
||||
private Integer alarmdate;
|
||||
@ApiModelProperty(value = "报警等级 1:严重,2:一般,3:轻微", name = "alarmgrade", required = true)
|
||||
@NotNull(message = "报警等级 1:严重,2:一般,3:轻微不能为空")
|
||||
private Integer alarmgrade;
|
||||
@ApiModelProperty(value = "单元类型", name = "unittype", required = true)
|
||||
@NotNull(message = "单元类型不能为空")
|
||||
private Integer unittype;
|
||||
@ApiModelProperty(value = "报警类型", name = "alarmtype", required = true)
|
||||
@NotNull(message = "报警类型不能为空")
|
||||
private Integer alarmtype;
|
||||
@ApiModelProperty(value = "通道序号", name = "channelseq", required = true)
|
||||
@NotNull(message = "通道序号不能为空")
|
||||
private Integer channelseq;
|
||||
@ApiModelProperty(value = "通道名称", name = "channelname", required = true)
|
||||
@NotEmpty(message = "通道名称不能为空")
|
||||
private String channelname;
|
||||
@ApiModelProperty(value = "报警状态 1:报警产生,2:报警消失", name = "alarmstat", required = true)
|
||||
@NotNull(message = "报警状态 1:报警产生,2:报警消失不能为空")
|
||||
private Integer alarmstat;
|
||||
@ApiModelProperty(value = "部门名称", name = "deptname", required = true)
|
||||
@NotEmpty(message = "部门名称不能为空")
|
||||
private String deptname;
|
||||
@ApiModelProperty(value = "通道编号", name = "acschannelcode", required = true)
|
||||
@NotEmpty(message = "通道编号不能为空")
|
||||
private String acschannelcode;
|
||||
@ApiModelProperty(value = "口罩状态 3-戴口罩,2-未戴口罩,1-未识别,0-未知", name = "maskstate", required = true)
|
||||
@NotNull(message = "口罩状态 3-戴口罩,2-未戴口罩,1-未识别,0-未知不能为空")
|
||||
private Integer maskstate;
|
||||
@ApiModelProperty(value = "进出门类型: 详见 读卡器业务类型字典", name = "enterorexit", required = true)
|
||||
@NotEmpty(message = "进出门类型: 详见 读卡器业务类型字典不能为空")
|
||||
private String enterorexit;
|
||||
@ApiModelProperty(value = "开门类型字符串", name = "opentypestr", required = true)
|
||||
@NotEmpty(message = "开门类型字符串不能为空")
|
||||
private String opentypestr;
|
||||
@ApiModelProperty(value = "刷卡时间,格式:yyyy-MM:dd HH:mm:ss", name = "swingtime", required = true)
|
||||
@NotEmpty(message = "刷卡时间,格式:yyyy-MM:dd HH:mm:ss不能为空")
|
||||
private String swingtime;
|
||||
@ApiModelProperty(value = "设备名称", name = "devicename", required = true)
|
||||
@NotEmpty(message = "设备名称不能为空")
|
||||
private String devicename;
|
||||
@ApiModelProperty(value = "人员编号", name = "personcode", required = true)
|
||||
@NotEmpty(message = "人员编号不能为空")
|
||||
private String personcode;
|
||||
@ApiModelProperty(value = "开门类型, 详见开门类型 字典", name = "opentype", required = true)
|
||||
@NotEmpty(message = "开门类型, 详见开门类型 字典不能为空")
|
||||
private String opentype;
|
||||
@ApiModelProperty(value = "组织编码", name = "orgcode", required = true)
|
||||
@NotEmpty(message = "组织编码不能为空")
|
||||
private String orgcode;
|
||||
@ApiModelProperty(value = "证件类型", name = "papertype", required = true)
|
||||
@NotEmpty(message = "证件类型不能为空")
|
||||
private String papertype;
|
||||
@ApiModelProperty(value = "证件号", name = "papernumber", required = true)
|
||||
@NotEmpty(message = "证件号不能为空")
|
||||
private String papernumber;
|
||||
@ApiModelProperty(value = "错误详情", name = "errordetail", required = true)
|
||||
@NotEmpty(message = "错误详情不能为空")
|
||||
private String errordetail;
|
||||
@ApiModelProperty(value = "开门错误码,0代表成功,96代表需远程验证(需结合平台上远程验证功能使用),其他参考门禁开门错误码", name = "openfailedcod", required = true)
|
||||
@NotEmpty(message = "开门错误码,0代表成功,96代表需远程验证(需结合平台上远程验证功能使用),其他参考门禁开门错误码不能为空")
|
||||
private String openfailedcod;
|
||||
@ApiModelProperty(value = "固定值:evo-accesscontrol", name = "from", required = true)
|
||||
@NotEmpty(message = "固定值:evo-accesscontrol不能为空")
|
||||
private String from;
|
||||
@ApiModelProperty(value = "extendId标识", name = "extendid", required = true)
|
||||
@NotNull(message = "extendId标识不能为空")
|
||||
private Long extendid;
|
||||
@ApiModelProperty(value = "开始时间, 13位时间戳", name = "begintime", required = true)
|
||||
@NotNull(message = "开始时间, 13位时间戳不能为空")
|
||||
private Long begintime;
|
||||
@ApiModelProperty(value = "通道名称", name = "acschannelname", required = true)
|
||||
@NotEmpty(message = "通道名称不能为空")
|
||||
private String acschannelname;
|
||||
@ApiModelProperty(value = "预留字段,暂未使用,默认值为0", name = "cardstatus", required = true)
|
||||
@NotNull(message = "预留字段,暂未使用,默认值为0不能为空")
|
||||
private Integer cardstatus;
|
||||
@ApiModelProperty(value = "组织名称", name = "orgname", required = true)
|
||||
@NotEmpty(message = "组织名称不能为空")
|
||||
private String orgname;
|
||||
@ApiModelProperty(value = "性别 1 男,2 女, 0 未知", name = "sex", required = true)
|
||||
@NotNull(message = "性别 1 男,2 女, 0 未知不能为空")
|
||||
private Integer sex;
|
||||
@ApiModelProperty(value = "人员部门id", name = "deptid", required = true)
|
||||
@NotNull(message = "人员部门id不能为空")
|
||||
private Integer deptid;
|
||||
@ApiModelProperty(value = "卡类型", name = "cardtype", required = true)
|
||||
@NotNull(message = "卡类型不能为空")
|
||||
private Integer cardtype;
|
||||
@ApiModelProperty(value = "设备编号", name = "devicecode", required = true)
|
||||
@NotEmpty(message = "设备编号不能为空")
|
||||
private String devicecode;
|
||||
@ApiModelProperty(value = "人员姓名", name = "personname", required = true)
|
||||
@NotEmpty(message = "人员姓名不能为空")
|
||||
private String personname;
|
||||
@ApiModelProperty(value = "刷卡人在平台上的图片,相对路径", name = "personimg", required = true)
|
||||
@NotEmpty(message = "刷卡人在平台上的图片,相对路径不能为空")
|
||||
private String personimg;
|
||||
@ApiModelProperty(value = "开门结果 0 失败 1 成功", name = "openresult", required = true)
|
||||
@NotNull(message = "开门结果 0 失败 1 成功不能为空")
|
||||
private Integer openresult;
|
||||
@ApiModelProperty(value = "人员id", name = "personid", required = true)
|
||||
@NotNull(message = "人员id不能为空")
|
||||
private Integer personid;
|
||||
@ApiModelProperty(value = "抓拍图,相对路径", name = "recordimage1", required = true)
|
||||
@NotEmpty(message = "抓拍图,相对路径不能为空")
|
||||
private String recordimage1;
|
||||
@ApiModelProperty(value = "卡介质 0 IC 1 有源RFID 2 CPU", name = "category", required = true)
|
||||
@NotEmpty(message = "卡介质 0 IC 1 有源RFID 2 CPU不能为空")
|
||||
private String category;
|
||||
@ApiModelProperty(value = "卡号", name = "cardnumber", required = true)
|
||||
@NotEmpty(message = "卡号不能为空")
|
||||
private String cardnumber;
|
||||
@ApiModelProperty(value = "rfid子类型,0:普通门禁,1:电动车,2:特殊人群关怀, 3:宠物", name = "rfidtype", required = true)
|
||||
@NotNull(message = "rfid子类型,0:普通门禁,1:电动车,2:特殊人群关怀, 3:宠物不能为空")
|
||||
private Integer rfidtype;
|
||||
@ApiModelProperty(value = "年龄", name = "age", required = true)
|
||||
@NotNull(message = "年龄不能为空")
|
||||
private Integer age;
|
||||
@ApiModelProperty(value = "0-非访客,1-访客", name = "vrecordflag", required = true)
|
||||
@NotNull(message = "0-非访客,1-访客不能为空")
|
||||
private Integer vrecordflag;
|
||||
}
|
||||
|
||||
|
|
@ -7,6 +7,8 @@ import lombok.Data;
|
|||
import lombok.EqualsAndHashCode;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* @author fangjiakai
|
||||
* @date 2025/11/17 9:41
|
||||
|
|
@ -16,5 +18,5 @@ import lombok.NoArgsConstructor;
|
|||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
public class StatisticsByAreaCmd extends Command {
|
||||
String[] ids;
|
||||
List<String> ids;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -0,0 +1,126 @@
|
|||
package com.zcloud.primeport.dto.clientobject;
|
||||
|
||||
import com.alibaba.cola.dto.ClientObject;
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
|
||||
import java.sql.Date;
|
||||
|
||||
|
||||
/**
|
||||
* web-client
|
||||
*
|
||||
* @Author fangjiakai
|
||||
* @Date 2025-11-17 13:42:09
|
||||
*/
|
||||
@Data
|
||||
public class MkmjCarRecordCO extends ClientObject {
|
||||
//主键id
|
||||
@ApiModelProperty(value = "主键id")
|
||||
private Long id;
|
||||
//车辆id
|
||||
@ApiModelProperty(value = "车辆id")
|
||||
private String vehicleRecordId;
|
||||
//车辆牌照号码
|
||||
@ApiModelProperty(value = "车辆牌照号码")
|
||||
private String vehiclePlateNumber;
|
||||
//车辆行驶证号码
|
||||
@ApiModelProperty(value = "车辆行驶证号码")
|
||||
private String vehicleRegistrationNumber;
|
||||
//车辆类型名称
|
||||
@ApiModelProperty(value = "车辆类型名称")
|
||||
private String vehicleCategoryName;
|
||||
//车辆联系人姓名
|
||||
@ApiModelProperty(value = "车辆联系人姓名")
|
||||
private String vehicleContactName;
|
||||
//车辆联系人电话
|
||||
@ApiModelProperty(value = "车辆联系人电话")
|
||||
private String vehicleContactPhoneNumber;
|
||||
//车辆备案信息录入单位
|
||||
@ApiModelProperty(value = "车辆备案信息录入单位")
|
||||
private String vehicleFilingInfoRecordingOrg;
|
||||
//车辆牌照颜色名称
|
||||
@ApiModelProperty(value = "车辆牌照颜色名称")
|
||||
private String vehiclePlateColor;
|
||||
//车辆入港闸口
|
||||
@ApiModelProperty(value = "车辆入港闸口")
|
||||
private String vehicleArrivalBarrier;
|
||||
private String regexArrivalBarrier;
|
||||
//车辆入港时间
|
||||
@ApiModelProperty(value = "车辆入港时间")
|
||||
private String vehicleArrivalTime;
|
||||
//车辆离港闸口
|
||||
@ApiModelProperty(value = "车辆离港闸口")
|
||||
private String vehicleDepartureBarrier;
|
||||
private String regexDepartureBarrier;
|
||||
//车辆离港时间
|
||||
@ApiModelProperty(value = "车辆离港时间")
|
||||
private String vehicleDepartureTime;
|
||||
//车辆备案方式
|
||||
@ApiModelProperty(value = "车辆备案方式")
|
||||
private String vehicleFilingMethod;
|
||||
//车辆在港状态
|
||||
@ApiModelProperty(value = "车辆在港状态")
|
||||
private String vehicleArrivalStatus;
|
||||
//数据来源
|
||||
@ApiModelProperty(value = "数据来源")
|
||||
private String edwDataSource;
|
||||
//数据创建日期
|
||||
@ApiModelProperty(value = "数据创建日期")
|
||||
private String edwCreateDate;
|
||||
//数据更新日期
|
||||
@ApiModelProperty(value = "数据更新日期")
|
||||
private String edwLastUpdate;
|
||||
//数据有效标识
|
||||
@ApiModelProperty(value = "数据有效标识")
|
||||
private String edwValidFlag;
|
||||
//分区列
|
||||
@ApiModelProperty(value = "分区列")
|
||||
private Long dataVersion;
|
||||
//同步时间
|
||||
@ApiModelProperty(value = "同步时间")
|
||||
@JsonFormat(pattern = "yyyy-MM-dd")
|
||||
private Date accLastUpdateDate;
|
||||
//自增长id主键
|
||||
@ApiModelProperty(value = "自增长id主键")
|
||||
private Long idSequence;
|
||||
//同步时间
|
||||
@ApiModelProperty(value = "同步时间")
|
||||
private String synctime;
|
||||
//删除标识true false
|
||||
@ApiModelProperty(value = "删除标识true false")
|
||||
private String deleteEnum;
|
||||
//备注
|
||||
@ApiModelProperty(value = "备注")
|
||||
private String remarks;
|
||||
//创建人姓名
|
||||
@ApiModelProperty(value = "创建人姓名")
|
||||
private String createName;
|
||||
//更新人姓名
|
||||
@ApiModelProperty(value = "更新人姓名")
|
||||
private String updateName;
|
||||
//租户id
|
||||
@ApiModelProperty(value = "租户id")
|
||||
private Long tenantId;
|
||||
//单位id
|
||||
@ApiModelProperty(value = "单位id")
|
||||
private Long orgId;
|
||||
//版本
|
||||
@ApiModelProperty(value = "版本")
|
||||
private String version;
|
||||
//创建时间
|
||||
@ApiModelProperty(value = "创建时间")
|
||||
private String createTime;
|
||||
//修改时间
|
||||
@ApiModelProperty(value = "修改时间")
|
||||
private String updateTime;
|
||||
//创建人id
|
||||
@ApiModelProperty(value = "创建人id")
|
||||
private Long createId;
|
||||
//修改人id
|
||||
@ApiModelProperty(value = "修改人id")
|
||||
private Long updateId;
|
||||
private String env;
|
||||
}
|
||||
|
||||
|
|
@ -0,0 +1,189 @@
|
|||
package com.zcloud.primeport.dto.clientobject;
|
||||
|
||||
import com.alibaba.cola.dto.ClientObject;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
|
||||
|
||||
/**
|
||||
* web-client
|
||||
*
|
||||
* @Author fangjiakai
|
||||
* @Date 2025-11-17 13:42:10
|
||||
*/
|
||||
@Data
|
||||
public class MkmjSwipeCardRecordCO extends ClientObject {
|
||||
//主键
|
||||
@ApiModelProperty(value = "主键")
|
||||
private Long id;
|
||||
//节点编码
|
||||
@ApiModelProperty(value = "节点编码")
|
||||
private String nodecode;
|
||||
//报警编号
|
||||
@ApiModelProperty(value = "报警编号")
|
||||
private String alarmcode;
|
||||
//报警图片路径
|
||||
@ApiModelProperty(value = "报警图片路径")
|
||||
private String alarmpicture;
|
||||
//节点类型
|
||||
@ApiModelProperty(value = "节点类型")
|
||||
private String nodetype;
|
||||
//报警时间,10位时间戳
|
||||
@ApiModelProperty(value = "报警时间,10位时间戳")
|
||||
private Integer alarmdate;
|
||||
//报警等级 1:严重,2:一般,3:轻微
|
||||
@ApiModelProperty(value = "报警等级 1:严重,2:一般,3:轻微")
|
||||
private Integer alarmgrade;
|
||||
//单元类型
|
||||
@ApiModelProperty(value = "单元类型")
|
||||
private Integer unittype;
|
||||
//报警类型
|
||||
@ApiModelProperty(value = "报警类型")
|
||||
private Integer alarmtype;
|
||||
//通道序号
|
||||
@ApiModelProperty(value = "通道序号")
|
||||
private Integer channelseq;
|
||||
//通道名称
|
||||
@ApiModelProperty(value = "通道名称")
|
||||
private String channelname;
|
||||
//报警状态 1:报警产生,2:报警消失
|
||||
@ApiModelProperty(value = "报警状态 1:报警产生,2:报警消失")
|
||||
private Integer alarmstat;
|
||||
//部门名称
|
||||
@ApiModelProperty(value = "部门名称")
|
||||
private String deptname;
|
||||
//通道编号
|
||||
@ApiModelProperty(value = "通道编号")
|
||||
private String acschannelcode;
|
||||
//口罩状态 3-戴口罩,2-未戴口罩,1-未识别,0-未知
|
||||
@ApiModelProperty(value = "口罩状态 3-戴口罩,2-未戴口罩,1-未识别,0-未知")
|
||||
private Integer maskstate;
|
||||
//进出门类型: 详见 读卡器业务类型字典
|
||||
@ApiModelProperty(value = "进出门类型: 详见 读卡器业务类型字典")
|
||||
private String enterorexit;
|
||||
//开门类型字符串
|
||||
@ApiModelProperty(value = "开门类型字符串")
|
||||
private String opentypestr;
|
||||
//刷卡时间,格式:yyyy-MM:dd HH:mm:ss
|
||||
@ApiModelProperty(value = "刷卡时间,格式:yyyy-MM:dd HH:mm:ss")
|
||||
private String swingtime;
|
||||
//设备名称
|
||||
@ApiModelProperty(value = "设备名称")
|
||||
private String devicename;
|
||||
//人员编号
|
||||
@ApiModelProperty(value = "人员编号")
|
||||
private String personcode;
|
||||
//开门类型, 详见开门类型 字典
|
||||
@ApiModelProperty(value = "开门类型, 详见开门类型 字典")
|
||||
private String opentype;
|
||||
//组织编码
|
||||
@ApiModelProperty(value = "组织编码")
|
||||
private String orgcode;
|
||||
//证件类型
|
||||
@ApiModelProperty(value = "证件类型")
|
||||
private String papertype;
|
||||
//证件号
|
||||
@ApiModelProperty(value = "证件号")
|
||||
private String papernumber;
|
||||
//错误详情
|
||||
@ApiModelProperty(value = "错误详情")
|
||||
private String errordetail;
|
||||
//开门错误码,0代表成功,96代表需远程验证(需结合平台上远程验证功能使用),其他参考门禁开门错误码
|
||||
@ApiModelProperty(value = "开门错误码,0代表成功,96代表需远程验证(需结合平台上远程验证功能使用),其他参考门禁开门错误码")
|
||||
private String openfailedcod;
|
||||
//固定值:evo-accesscontrol
|
||||
@ApiModelProperty(value = "固定值:evo-accesscontrol")
|
||||
private String from;
|
||||
//extendId标识
|
||||
@ApiModelProperty(value = "extendId标识")
|
||||
private Long extendid;
|
||||
//开始时间, 13位时间戳
|
||||
@ApiModelProperty(value = "开始时间, 13位时间戳")
|
||||
private Long begintime;
|
||||
//通道名称
|
||||
@ApiModelProperty(value = "通道名称")
|
||||
private String acschannelname;
|
||||
//预留字段,暂未使用,默认值为0
|
||||
@ApiModelProperty(value = "预留字段,暂未使用,默认值为0")
|
||||
private Integer cardstatus;
|
||||
//组织名称
|
||||
@ApiModelProperty(value = "组织名称")
|
||||
private String orgname;
|
||||
//性别 1 男,2 女, 0 未知
|
||||
@ApiModelProperty(value = "性别 1 男,2 女, 0 未知")
|
||||
private Integer sex;
|
||||
//人员部门id
|
||||
@ApiModelProperty(value = "人员部门id")
|
||||
private Integer deptid;
|
||||
//卡类型
|
||||
@ApiModelProperty(value = "卡类型")
|
||||
private Integer cardtype;
|
||||
//设备编号
|
||||
@ApiModelProperty(value = "设备编号")
|
||||
private String devicecode;
|
||||
//人员姓名
|
||||
@ApiModelProperty(value = "人员姓名")
|
||||
private String personname;
|
||||
//刷卡人在平台上的图片,相对路径
|
||||
@ApiModelProperty(value = "刷卡人在平台上的图片,相对路径")
|
||||
private String personimg;
|
||||
//开门结果 0 失败 1 成功
|
||||
@ApiModelProperty(value = "开门结果 0 失败 1 成功")
|
||||
private Integer openresult;
|
||||
//人员id
|
||||
@ApiModelProperty(value = "人员id")
|
||||
private Integer personid;
|
||||
//抓拍图,相对路径
|
||||
@ApiModelProperty(value = "抓拍图,相对路径")
|
||||
private String recordimage1;
|
||||
//卡介质 0 IC 1 有源RFID 2 CPU
|
||||
@ApiModelProperty(value = "卡介质 0 IC 1 有源RFID 2 CPU")
|
||||
private String category;
|
||||
//卡号
|
||||
@ApiModelProperty(value = "卡号")
|
||||
private String cardnumber;
|
||||
//rfid子类型,0:普通门禁,1:电动车,2:特殊人群关怀, 3:宠物
|
||||
@ApiModelProperty(value = "rfid子类型,0:普通门禁,1:电动车,2:特殊人群关怀, 3:宠物")
|
||||
private Integer rfidtype;
|
||||
//年龄
|
||||
@ApiModelProperty(value = "年龄")
|
||||
private Integer age;
|
||||
//0-非访客,1-访客
|
||||
@ApiModelProperty(value = "0-非访客,1-访客")
|
||||
private Integer vrecordflag;
|
||||
//删除标识true false
|
||||
@ApiModelProperty(value = "删除标识true false")
|
||||
private String deleteEnum;
|
||||
//备注
|
||||
@ApiModelProperty(value = "备注")
|
||||
private String remarks;
|
||||
//创建人姓名
|
||||
@ApiModelProperty(value = "创建人姓名")
|
||||
private String createName;
|
||||
//更新人姓名
|
||||
@ApiModelProperty(value = "更新人姓名")
|
||||
private String updateName;
|
||||
//租户id
|
||||
@ApiModelProperty(value = "租户id")
|
||||
private Long tenantId;
|
||||
//单位id
|
||||
@ApiModelProperty(value = "单位id")
|
||||
private Long orgId;
|
||||
//版本
|
||||
@ApiModelProperty(value = "版本")
|
||||
private String version;
|
||||
//创建时间
|
||||
@ApiModelProperty(value = "创建时间")
|
||||
private String createTime;
|
||||
//修改时间
|
||||
@ApiModelProperty(value = "修改时间")
|
||||
private String updateTime;
|
||||
//创建人id
|
||||
@ApiModelProperty(value = "创建人id")
|
||||
private Long createId;
|
||||
//修改人id
|
||||
@ApiModelProperty(value = "修改人id")
|
||||
private Long updateId;
|
||||
private String env;
|
||||
}
|
||||
|
||||
|
|
@ -0,0 +1,30 @@
|
|||
package com.zcloud.primeport.domain.gateway;
|
||||
|
||||
import com.zcloud.primeport.domain.model.MkmjCarRecordE;
|
||||
|
||||
/**
|
||||
* web-domain
|
||||
*
|
||||
* @Author fangjiakai
|
||||
* @Date 2025-11-17 13:42:09
|
||||
*/
|
||||
public interface MkmjCarRecordGateway {
|
||||
|
||||
/**
|
||||
* 新增
|
||||
*/
|
||||
Boolean add(MkmjCarRecordE mkmjCarRecordE);
|
||||
|
||||
/**
|
||||
* 修改
|
||||
*/
|
||||
Boolean update(MkmjCarRecordE mkmjCarRecordE);
|
||||
|
||||
/**
|
||||
* 删除
|
||||
*/
|
||||
Boolean deletedMkmjCarRecordById(Long id);
|
||||
|
||||
Boolean deletedMkmjCarRecordByIds(Long[] id);
|
||||
}
|
||||
|
||||
|
|
@ -0,0 +1,30 @@
|
|||
package com.zcloud.primeport.domain.gateway;
|
||||
|
||||
import com.zcloud.primeport.domain.model.MkmjSwipeCardRecordE;
|
||||
|
||||
/**
|
||||
* web-domain
|
||||
*
|
||||
* @Author fangjiakai
|
||||
* @Date 2025-11-17 13:42:10
|
||||
*/
|
||||
public interface MkmjSwipeCardRecordGateway {
|
||||
|
||||
/**
|
||||
* 新增
|
||||
*/
|
||||
Boolean add(MkmjSwipeCardRecordE mkmjSwipeCardRecordE);
|
||||
|
||||
/**
|
||||
* 修改
|
||||
*/
|
||||
Boolean update(MkmjSwipeCardRecordE mkmjSwipeCardRecordE);
|
||||
|
||||
/**
|
||||
* 删除
|
||||
*/
|
||||
Boolean deletedMkmjSwipeCardRecordById(Long id);
|
||||
|
||||
Boolean deletedMkmjSwipeCardRecordByIds(Long[] id);
|
||||
}
|
||||
|
||||
|
|
@ -0,0 +1,63 @@
|
|||
package com.zcloud.primeport.domain.model;
|
||||
|
||||
import com.jjb.saas.framework.domain.model.BaseE;
|
||||
import lombok.Data;
|
||||
|
||||
import java.sql.Date;
|
||||
|
||||
/**
|
||||
* web-domain
|
||||
*
|
||||
* @Author fangjiakai
|
||||
* @Date 2025-11-17 13:42:09
|
||||
*/
|
||||
@Data
|
||||
public class MkmjCarRecordE extends BaseE {
|
||||
//车辆id
|
||||
private String vehicleRecordId;
|
||||
//车辆牌照号码
|
||||
private String vehiclePlateNumber;
|
||||
//车辆行驶证号码
|
||||
private String vehicleRegistrationNumber;
|
||||
//车辆类型名称
|
||||
private String vehicleCategoryName;
|
||||
//车辆联系人姓名
|
||||
private String vehicleContactName;
|
||||
//车辆联系人电话
|
||||
private String vehicleContactPhoneNumber;
|
||||
//车辆备案信息录入单位
|
||||
private String vehicleFilingInfoRecordingOrg;
|
||||
//车辆牌照颜色名称
|
||||
private String vehiclePlateColor;
|
||||
//车辆入港闸口
|
||||
private String vehicleArrivalBarrier;
|
||||
private String regexArrivalBarrier;
|
||||
//车辆入港时间
|
||||
private String vehicleArrivalTime;
|
||||
//车辆离港闸口
|
||||
private String vehicleDepartureBarrier;
|
||||
private String regexDepartureBarrier;
|
||||
//车辆离港时间
|
||||
private String vehicleDepartureTime;
|
||||
//车辆备案方式
|
||||
private String vehicleFilingMethod;
|
||||
//车辆在港状态
|
||||
private String vehicleArrivalStatus;
|
||||
//数据来源
|
||||
private String edwDataSource;
|
||||
//数据创建日期
|
||||
private String edwCreateDate;
|
||||
//数据更新日期
|
||||
private String edwLastUpdate;
|
||||
//数据有效标识
|
||||
private String edwValidFlag;
|
||||
//分区列
|
||||
private Long dataVersion;
|
||||
//同步时间
|
||||
private Date accLastUpdateDate;
|
||||
//自增长id主键
|
||||
private Long idSequence;
|
||||
//同步时间
|
||||
private String synctime;
|
||||
}
|
||||
|
||||
|
|
@ -4,12 +4,15 @@ import com.alibaba.cola.dto.ClientObject;
|
|||
import com.jjb.saas.framework.domain.model.BaseE;
|
||||
import lombok.Data;
|
||||
|
||||
import java.io.Serializable;
|
||||
|
||||
/**
|
||||
* @author fangjiakai
|
||||
* @date 2025/11/17 9:44
|
||||
*/
|
||||
@Data
|
||||
public class MkmjStatisticsE extends BaseE {
|
||||
public class MkmjStatisticsE implements Serializable {
|
||||
private static final long serialVersionUID = 1L;
|
||||
private String id;
|
||||
private Long carInCount;
|
||||
private Long carOutCount;
|
||||
|
|
|
|||
|
|
@ -0,0 +1,105 @@
|
|||
package com.zcloud.primeport.domain.model;
|
||||
|
||||
import com.jjb.saas.framework.domain.model.BaseE;
|
||||
import lombok.Data;
|
||||
|
||||
/**
|
||||
* web-domain
|
||||
*
|
||||
* @Author fangjiakai
|
||||
* @Date 2025-11-17 13:42:10
|
||||
*/
|
||||
@Data
|
||||
public class MkmjSwipeCardRecordE extends BaseE {
|
||||
//节点编码
|
||||
private String nodecode;
|
||||
//报警编号
|
||||
private String alarmcode;
|
||||
//报警图片路径
|
||||
private String alarmpicture;
|
||||
//节点类型
|
||||
private String nodetype;
|
||||
//报警时间,10位时间戳
|
||||
private Integer alarmdate;
|
||||
//报警等级 1:严重,2:一般,3:轻微
|
||||
private Integer alarmgrade;
|
||||
//单元类型
|
||||
private Integer unittype;
|
||||
//报警类型
|
||||
private Integer alarmtype;
|
||||
//通道序号
|
||||
private Integer channelseq;
|
||||
//通道名称
|
||||
private String channelname;
|
||||
//报警状态 1:报警产生,2:报警消失
|
||||
private Integer alarmstat;
|
||||
//部门名称
|
||||
private String deptname;
|
||||
//通道编号
|
||||
private String acschannelcode;
|
||||
//口罩状态 3-戴口罩,2-未戴口罩,1-未识别,0-未知
|
||||
private Integer maskstate;
|
||||
//进出门类型: 详见 读卡器业务类型字典
|
||||
private String enterorexit;
|
||||
//开门类型字符串
|
||||
private String opentypestr;
|
||||
//刷卡时间,格式:yyyy-MM:dd HH:mm:ss
|
||||
private String swingtime;
|
||||
//设备名称
|
||||
private String devicename;
|
||||
//人员编号
|
||||
private String personcode;
|
||||
//开门类型, 详见开门类型 字典
|
||||
private String opentype;
|
||||
//组织编码
|
||||
private String orgcode;
|
||||
//证件类型
|
||||
private String papertype;
|
||||
//证件号
|
||||
private String papernumber;
|
||||
//错误详情
|
||||
private String errordetail;
|
||||
//开门错误码,0代表成功,96代表需远程验证(需结合平台上远程验证功能使用),其他参考门禁开门错误码
|
||||
private String openfailedcod;
|
||||
//固定值:evo-accesscontrol
|
||||
private String from;
|
||||
//extendId标识
|
||||
private Long extendid;
|
||||
//开始时间, 13位时间戳
|
||||
private Long begintime;
|
||||
//通道名称
|
||||
private String acschannelname;
|
||||
//预留字段,暂未使用,默认值为0
|
||||
private Integer cardstatus;
|
||||
//组织名称
|
||||
private String orgname;
|
||||
//性别 1 男,2 女, 0 未知
|
||||
private Integer sex;
|
||||
//人员部门id
|
||||
private Integer deptid;
|
||||
//卡类型
|
||||
private Integer cardtype;
|
||||
//设备编号
|
||||
private String devicecode;
|
||||
//人员姓名
|
||||
private String personname;
|
||||
//刷卡人在平台上的图片,相对路径
|
||||
private String personimg;
|
||||
//开门结果 0 失败 1 成功
|
||||
private Integer openresult;
|
||||
//人员id
|
||||
private Integer personid;
|
||||
//抓拍图,相对路径
|
||||
private String recordimage1;
|
||||
//卡介质 0 IC 1 有源RFID 2 CPU
|
||||
private String category;
|
||||
//卡号
|
||||
private String cardnumber;
|
||||
//rfid子类型,0:普通门禁,1:电动车,2:特殊人群关怀, 3:宠物
|
||||
private Integer rfidtype;
|
||||
//年龄
|
||||
private Integer age;
|
||||
//0-非访客,1-访客
|
||||
private Integer vrecordflag;
|
||||
}
|
||||
|
||||
|
|
@ -0,0 +1,52 @@
|
|||
package com.zcloud.primeport.gatewayimpl;
|
||||
|
||||
import com.zcloud.primeport.domain.gateway.MkmjCarRecordGateway;
|
||||
import com.zcloud.primeport.domain.model.MkmjCarRecordE;
|
||||
import com.zcloud.primeport.persistence.dataobject.MkmjCarRecordDO;
|
||||
import com.zcloud.primeport.persistence.repository.MkmjCarRecordRepository;
|
||||
import lombok.AllArgsConstructor;
|
||||
import com.zcloud.gbscommon.utils.Tools;
|
||||
import org.springframework.beans.BeanUtils;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import java.util.Arrays;
|
||||
import java.util.Collections;
|
||||
|
||||
/**
|
||||
* web-infrastructure
|
||||
*
|
||||
* @Author fangjiakai
|
||||
* @Date 2025-11-17 13:42:09
|
||||
*/
|
||||
@Service
|
||||
@AllArgsConstructor
|
||||
public class MkmjCarRecordGatewayImpl implements MkmjCarRecordGateway {
|
||||
private final MkmjCarRecordRepository mkmjCarRecordRepository;
|
||||
|
||||
@Override
|
||||
public Boolean add(MkmjCarRecordE mkmjCarRecordE) {
|
||||
MkmjCarRecordDO d = new MkmjCarRecordDO();
|
||||
BeanUtils.copyProperties(mkmjCarRecordE, d);
|
||||
mkmjCarRecordRepository.save(d);
|
||||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Boolean update(MkmjCarRecordE mkmjCarRecordE) {
|
||||
MkmjCarRecordDO d = new MkmjCarRecordDO();
|
||||
BeanUtils.copyProperties(mkmjCarRecordE, d);
|
||||
mkmjCarRecordRepository.updateById(d);
|
||||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Boolean deletedMkmjCarRecordById(Long id) {
|
||||
return mkmjCarRecordRepository.removeById(id);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Boolean deletedMkmjCarRecordByIds(Long[] ids) {
|
||||
return mkmjCarRecordRepository.removeByIds(Collections.singletonList(ids));
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -24,8 +24,8 @@ public class MkmjGateVideoGatewayImpl implements MkmjGateVideoGateway {
|
|||
|
||||
@Override
|
||||
public Boolean add(MkmjGateVideoE mkmjGateVideoE) {
|
||||
MkmjGateVideoDO d = new MkmjGateVideoDO(Tools.get32UUID());
|
||||
BeanUtils.copyProperties(mkmjGateVideoE, d, "${uuid}");
|
||||
MkmjGateVideoDO d = new MkmjGateVideoDO();
|
||||
BeanUtils.copyProperties(mkmjGateVideoE, d);
|
||||
mkmjGateVideoRepository.save(d);
|
||||
return true;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -0,0 +1,52 @@
|
|||
package com.zcloud.primeport.gatewayimpl;
|
||||
|
||||
import com.zcloud.primeport.domain.gateway.MkmjSwipeCardRecordGateway;
|
||||
import com.zcloud.primeport.domain.model.MkmjSwipeCardRecordE;
|
||||
import com.zcloud.primeport.persistence.dataobject.MkmjSwipeCardRecordDO;
|
||||
import com.zcloud.primeport.persistence.repository.MkmjSwipeCardRecordRepository;
|
||||
import lombok.AllArgsConstructor;
|
||||
import com.zcloud.gbscommon.utils.Tools;
|
||||
import org.springframework.beans.BeanUtils;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import java.util.Arrays;
|
||||
import java.util.Collections;
|
||||
|
||||
/**
|
||||
* web-infrastructure
|
||||
*
|
||||
* @Author fangjiakai
|
||||
* @Date 2025-11-17 13:42:10
|
||||
*/
|
||||
@Service
|
||||
@AllArgsConstructor
|
||||
public class MkmjSwipeCardRecordGatewayImpl implements MkmjSwipeCardRecordGateway {
|
||||
private final MkmjSwipeCardRecordRepository mkmjSwipeCardRecordRepository;
|
||||
|
||||
@Override
|
||||
public Boolean add(MkmjSwipeCardRecordE mkmjSwipeCardRecordE) {
|
||||
MkmjSwipeCardRecordDO d = new MkmjSwipeCardRecordDO();
|
||||
BeanUtils.copyProperties(mkmjSwipeCardRecordE, d);
|
||||
mkmjSwipeCardRecordRepository.save(d);
|
||||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Boolean update(MkmjSwipeCardRecordE mkmjSwipeCardRecordE) {
|
||||
MkmjSwipeCardRecordDO d = new MkmjSwipeCardRecordDO();
|
||||
BeanUtils.copyProperties(mkmjSwipeCardRecordE, d);
|
||||
mkmjSwipeCardRecordRepository.updateById(d);
|
||||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Boolean deletedMkmjSwipeCardRecordById(Long id) {
|
||||
return mkmjSwipeCardRecordRepository.removeById(id);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Boolean deletedMkmjSwipeCardRecordByIds(Long[] ids) {
|
||||
return mkmjSwipeCardRecordRepository.removeByIds(Collections.singletonList(ids));
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -0,0 +1,94 @@
|
|||
package com.zcloud.primeport.persistence.dataobject;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.TableName;
|
||||
import com.jjb.saas.framework.repository.basedo.BaseDO;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
import java.sql.Date;
|
||||
|
||||
/**
|
||||
* web-infrastructure
|
||||
*
|
||||
* @Author fangjiakai
|
||||
* @Date 2025-11-17 13:42:09
|
||||
*/
|
||||
@Data
|
||||
@TableName("mkmj_car_record")
|
||||
@NoArgsConstructor
|
||||
@EqualsAndHashCode(callSuper = true)
|
||||
public class MkmjCarRecordDO extends BaseDO {
|
||||
//车辆id
|
||||
@ApiModelProperty(value = "车辆id")
|
||||
private String vehicleRecordId;
|
||||
//车辆牌照号码
|
||||
@ApiModelProperty(value = "车辆牌照号码")
|
||||
private String vehiclePlateNumber;
|
||||
//车辆行驶证号码
|
||||
@ApiModelProperty(value = "车辆行驶证号码")
|
||||
private String vehicleRegistrationNumber;
|
||||
//车辆类型名称
|
||||
@ApiModelProperty(value = "车辆类型名称")
|
||||
private String vehicleCategoryName;
|
||||
//车辆联系人姓名
|
||||
@ApiModelProperty(value = "车辆联系人姓名")
|
||||
private String vehicleContactName;
|
||||
//车辆联系人电话
|
||||
@ApiModelProperty(value = "车辆联系人电话")
|
||||
private String vehicleContactPhoneNumber;
|
||||
//车辆备案信息录入单位
|
||||
@ApiModelProperty(value = "车辆备案信息录入单位")
|
||||
private String vehicleFilingInfoRecordingOrg;
|
||||
//车辆牌照颜色名称
|
||||
@ApiModelProperty(value = "车辆牌照颜色名称")
|
||||
private String vehiclePlateColor;
|
||||
//车辆入港闸口
|
||||
@ApiModelProperty(value = "车辆入港闸口")
|
||||
private String vehicleArrivalBarrier;
|
||||
private String regexArrivalBarrier;
|
||||
//车辆入港时间
|
||||
@ApiModelProperty(value = "车辆入港时间")
|
||||
private String vehicleArrivalTime;
|
||||
//车辆离港闸口
|
||||
@ApiModelProperty(value = "车辆离港闸口")
|
||||
private String vehicleDepartureBarrier;
|
||||
private String regexDepartureBarrier;
|
||||
//车辆离港时间
|
||||
@ApiModelProperty(value = "车辆离港时间")
|
||||
private String vehicleDepartureTime;
|
||||
//车辆备案方式
|
||||
@ApiModelProperty(value = "车辆备案方式")
|
||||
private String vehicleFilingMethod;
|
||||
//车辆在港状态
|
||||
@ApiModelProperty(value = "车辆在港状态")
|
||||
private String vehicleArrivalStatus;
|
||||
//数据来源
|
||||
@ApiModelProperty(value = "数据来源")
|
||||
private String edwDataSource;
|
||||
//数据创建日期
|
||||
@ApiModelProperty(value = "数据创建日期")
|
||||
private String edwCreateDate;
|
||||
//数据更新日期
|
||||
@ApiModelProperty(value = "数据更新日期")
|
||||
private String edwLastUpdate;
|
||||
//数据有效标识
|
||||
@ApiModelProperty(value = "数据有效标识")
|
||||
private String edwValidFlag;
|
||||
//分区列
|
||||
@ApiModelProperty(value = "分区列")
|
||||
private Long dataVersion;
|
||||
//同步时间
|
||||
@ApiModelProperty(value = "同步时间")
|
||||
private Date accLastUpdateDate;
|
||||
//自增长id主键
|
||||
@ApiModelProperty(value = "自增长id主键")
|
||||
private Long idSequence;
|
||||
//同步时间
|
||||
@ApiModelProperty(value = "同步时间")
|
||||
private String synctime;
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
|
@ -0,0 +1,159 @@
|
|||
package com.zcloud.primeport.persistence.dataobject;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.TableName;
|
||||
import com.jjb.saas.framework.repository.basedo.BaseDO;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
/**
|
||||
* web-infrastructure
|
||||
*
|
||||
* @Author fangjiakai
|
||||
* @Date 2025-11-17 13:42:10
|
||||
*/
|
||||
@Data
|
||||
@TableName("mkmj_swipe_card_record")
|
||||
@NoArgsConstructor
|
||||
@EqualsAndHashCode(callSuper = true)
|
||||
public class MkmjSwipeCardRecordDO extends BaseDO {
|
||||
//节点编码
|
||||
@ApiModelProperty(value = "节点编码")
|
||||
private String nodecode;
|
||||
//报警编号
|
||||
@ApiModelProperty(value = "报警编号")
|
||||
private String alarmcode;
|
||||
//报警图片路径
|
||||
@ApiModelProperty(value = "报警图片路径")
|
||||
private String alarmpicture;
|
||||
//节点类型
|
||||
@ApiModelProperty(value = "节点类型")
|
||||
private String nodetype;
|
||||
//报警时间,10位时间戳
|
||||
@ApiModelProperty(value = "报警时间,10位时间戳")
|
||||
private Integer alarmdate;
|
||||
//报警等级 1:严重,2:一般,3:轻微
|
||||
@ApiModelProperty(value = "报警等级 1:严重,2:一般,3:轻微")
|
||||
private Integer alarmgrade;
|
||||
//单元类型
|
||||
@ApiModelProperty(value = "单元类型")
|
||||
private Integer unittype;
|
||||
//报警类型
|
||||
@ApiModelProperty(value = "报警类型")
|
||||
private Integer alarmtype;
|
||||
//通道序号
|
||||
@ApiModelProperty(value = "通道序号")
|
||||
private Integer channelseq;
|
||||
//通道名称
|
||||
@ApiModelProperty(value = "通道名称")
|
||||
private String channelname;
|
||||
//报警状态 1:报警产生,2:报警消失
|
||||
@ApiModelProperty(value = "报警状态 1:报警产生,2:报警消失")
|
||||
private Integer alarmstat;
|
||||
//部门名称
|
||||
@ApiModelProperty(value = "部门名称")
|
||||
private String deptname;
|
||||
//通道编号
|
||||
@ApiModelProperty(value = "通道编号")
|
||||
private String acschannelcode;
|
||||
//口罩状态 3-戴口罩,2-未戴口罩,1-未识别,0-未知
|
||||
@ApiModelProperty(value = "口罩状态 3-戴口罩,2-未戴口罩,1-未识别,0-未知")
|
||||
private Integer maskstate;
|
||||
//进出门类型: 详见 读卡器业务类型字典
|
||||
@ApiModelProperty(value = "进出门类型: 详见 读卡器业务类型字典")
|
||||
private String enterorexit;
|
||||
//开门类型字符串
|
||||
@ApiModelProperty(value = "开门类型字符串")
|
||||
private String opentypestr;
|
||||
//刷卡时间,格式:yyyy-MM:dd HH:mm:ss
|
||||
@ApiModelProperty(value = "刷卡时间,格式:yyyy-MM:dd HH:mm:ss")
|
||||
private String swingtime;
|
||||
//设备名称
|
||||
@ApiModelProperty(value = "设备名称")
|
||||
private String devicename;
|
||||
//人员编号
|
||||
@ApiModelProperty(value = "人员编号")
|
||||
private String personcode;
|
||||
//开门类型, 详见开门类型 字典
|
||||
@ApiModelProperty(value = "开门类型, 详见开门类型 字典")
|
||||
private String opentype;
|
||||
//组织编码
|
||||
@ApiModelProperty(value = "组织编码")
|
||||
private String orgcode;
|
||||
//证件类型
|
||||
@ApiModelProperty(value = "证件类型")
|
||||
private String papertype;
|
||||
//证件号
|
||||
@ApiModelProperty(value = "证件号")
|
||||
private String papernumber;
|
||||
//错误详情
|
||||
@ApiModelProperty(value = "错误详情")
|
||||
private String errordetail;
|
||||
//开门错误码,0代表成功,96代表需远程验证(需结合平台上远程验证功能使用),其他参考门禁开门错误码
|
||||
@ApiModelProperty(value = "开门错误码,0代表成功,96代表需远程验证(需结合平台上远程验证功能使用),其他参考门禁开门错误码")
|
||||
private String openfailedcod;
|
||||
//固定值:evo-accesscontrol
|
||||
@ApiModelProperty(value = "固定值:evo-accesscontrol")
|
||||
private String from;
|
||||
//extendId标识
|
||||
@ApiModelProperty(value = "extendId标识")
|
||||
private Long extendid;
|
||||
//开始时间, 13位时间戳
|
||||
@ApiModelProperty(value = "开始时间, 13位时间戳")
|
||||
private Long begintime;
|
||||
//通道名称
|
||||
@ApiModelProperty(value = "通道名称")
|
||||
private String acschannelname;
|
||||
//预留字段,暂未使用,默认值为0
|
||||
@ApiModelProperty(value = "预留字段,暂未使用,默认值为0")
|
||||
private Integer cardstatus;
|
||||
//组织名称
|
||||
@ApiModelProperty(value = "组织名称")
|
||||
private String orgname;
|
||||
//性别 1 男,2 女, 0 未知
|
||||
@ApiModelProperty(value = "性别 1 男,2 女, 0 未知")
|
||||
private Integer sex;
|
||||
//人员部门id
|
||||
@ApiModelProperty(value = "人员部门id")
|
||||
private Integer deptid;
|
||||
//卡类型
|
||||
@ApiModelProperty(value = "卡类型")
|
||||
private Integer cardtype;
|
||||
//设备编号
|
||||
@ApiModelProperty(value = "设备编号")
|
||||
private String devicecode;
|
||||
//人员姓名
|
||||
@ApiModelProperty(value = "人员姓名")
|
||||
private String personname;
|
||||
//刷卡人在平台上的图片,相对路径
|
||||
@ApiModelProperty(value = "刷卡人在平台上的图片,相对路径")
|
||||
private String personimg;
|
||||
//开门结果 0 失败 1 成功
|
||||
@ApiModelProperty(value = "开门结果 0 失败 1 成功")
|
||||
private Integer openresult;
|
||||
//人员id
|
||||
@ApiModelProperty(value = "人员id")
|
||||
private Integer personid;
|
||||
//抓拍图,相对路径
|
||||
@ApiModelProperty(value = "抓拍图,相对路径")
|
||||
private String recordimage1;
|
||||
//卡介质 0 IC 1 有源RFID 2 CPU
|
||||
@ApiModelProperty(value = "卡介质 0 IC 1 有源RFID 2 CPU")
|
||||
private String category;
|
||||
//卡号
|
||||
@ApiModelProperty(value = "卡号")
|
||||
private String cardnumber;
|
||||
//rfid子类型,0:普通门禁,1:电动车,2:特殊人群关怀, 3:宠物
|
||||
@ApiModelProperty(value = "rfid子类型,0:普通门禁,1:电动车,2:特殊人群关怀, 3:宠物")
|
||||
private Integer rfidtype;
|
||||
//年龄
|
||||
@ApiModelProperty(value = "年龄")
|
||||
private Integer age;
|
||||
//0-非访客,1-访客
|
||||
@ApiModelProperty(value = "0-非访客,1-访客")
|
||||
private Integer vrecordflag;
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
|
@ -0,0 +1,23 @@
|
|||
package com.zcloud.primeport.persistence.mapper;
|
||||
|
||||
import com.zcloud.primeport.domain.model.MkmjStatisticsE;
|
||||
import com.zcloud.primeport.persistence.dataobject.MkmjCarRecordDO;
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
import org.apache.ibatis.annotations.Mapper;
|
||||
import org.apache.ibatis.annotations.Param;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* web-infrastructure
|
||||
*
|
||||
* @Author fangjiakai
|
||||
* @Date 2025-11-17 13:42:09
|
||||
*/
|
||||
@Mapper
|
||||
public interface MkmjCarRecordMapper extends BaseMapper<MkmjCarRecordDO> {
|
||||
List<MkmjStatisticsE> statisticsByArea(@Param("ids") List<String> ids);
|
||||
|
||||
List<MkmjStatisticsE> statisticsByPassage(@Param("ids") List<String> ids);
|
||||
}
|
||||
|
||||
|
|
@ -0,0 +1,23 @@
|
|||
package com.zcloud.primeport.persistence.mapper;
|
||||
|
||||
import com.zcloud.primeport.domain.model.MkmjStatisticsE;
|
||||
import com.zcloud.primeport.persistence.dataobject.MkmjSwipeCardRecordDO;
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
import org.apache.ibatis.annotations.Mapper;
|
||||
import org.apache.ibatis.annotations.Param;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* web-infrastructure
|
||||
*
|
||||
* @Author fangjiakai
|
||||
* @Date 2025-11-17 13:42:10
|
||||
*/
|
||||
@Mapper
|
||||
public interface MkmjSwipeCardRecordMapper extends BaseMapper<MkmjSwipeCardRecordDO> {
|
||||
|
||||
List<MkmjStatisticsE> statisticsByArea(@Param("ids") List<String> ids);
|
||||
List<MkmjStatisticsE> statisticsByPassage(@Param("ids") List<String> ids);
|
||||
}
|
||||
|
||||
|
|
@ -0,0 +1,25 @@
|
|||
package com.zcloud.primeport.persistence.repository;
|
||||
|
||||
import com.zcloud.primeport.domain.model.MkmjStatisticsE;
|
||||
import com.zcloud.primeport.persistence.dataobject.MkmjCarRecordDO;
|
||||
import com.alibaba.cola.dto.PageResponse;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.jjb.saas.framework.repository.repo.BaseRepository;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
/**
|
||||
* web-infrastructure
|
||||
*
|
||||
* @Author fangjiakai
|
||||
* @Date 2025-11-17 13:42:09
|
||||
*/
|
||||
public interface MkmjCarRecordRepository extends BaseRepository<MkmjCarRecordDO> {
|
||||
PageResponse<MkmjCarRecordDO> listPage(Map<String, Object> params);
|
||||
|
||||
List<MkmjStatisticsE> statisticsByArea(List<String> ids);
|
||||
|
||||
List<MkmjStatisticsE> statisticsByPassage(List<String> ids);
|
||||
}
|
||||
|
||||
|
|
@ -0,0 +1,25 @@
|
|||
package com.zcloud.primeport.persistence.repository;
|
||||
|
||||
import com.zcloud.primeport.domain.model.MkmjStatisticsE;
|
||||
import com.zcloud.primeport.persistence.dataobject.MkmjSwipeCardRecordDO;
|
||||
import com.alibaba.cola.dto.PageResponse;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.jjb.saas.framework.repository.repo.BaseRepository;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
/**
|
||||
* web-infrastructure
|
||||
*
|
||||
* @Author fangjiakai
|
||||
* @Date 2025-11-17 13:42:10
|
||||
*/
|
||||
public interface MkmjSwipeCardRecordRepository extends BaseRepository<MkmjSwipeCardRecordDO> {
|
||||
PageResponse<MkmjSwipeCardRecordDO> listPage(Map<String, Object> params);
|
||||
|
||||
List<MkmjStatisticsE> statisticsByArea(List<String> ids);
|
||||
|
||||
List<MkmjStatisticsE> statisticsByPassage(List<String> ids);
|
||||
}
|
||||
|
||||
|
|
@ -0,0 +1,51 @@
|
|||
package com.zcloud.primeport.persistence.repository.impl;
|
||||
|
||||
import com.zcloud.primeport.domain.model.MkmjStatisticsE;
|
||||
import com.zcloud.primeport.persistence.dataobject.MkmjCarRecordDO;
|
||||
import com.zcloud.primeport.persistence.mapper.MkmjCarRecordMapper;
|
||||
import com.zcloud.primeport.persistence.repository.MkmjCarRecordRepository;
|
||||
import com.alibaba.cola.dto.PageResponse;
|
||||
import com.jjb.saas.framework.repository.common.PageHelper;
|
||||
import com.zcloud.gbscommon.utils.PageQueryHelper;
|
||||
import com.zcloud.gbscommon.utils.Query;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.jjb.saas.framework.repository.repo.impl.BaseRepositoryImpl;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
/**
|
||||
* web-infrastructure
|
||||
*
|
||||
* @Author fangjiakai
|
||||
* @Date 2025-11-17 13:42:09
|
||||
*/
|
||||
@Service
|
||||
@RequiredArgsConstructor
|
||||
public class MkmjCarRecordRepositoryImpl extends BaseRepositoryImpl<MkmjCarRecordMapper, MkmjCarRecordDO> implements MkmjCarRecordRepository {
|
||||
private final MkmjCarRecordMapper mkmjCarRecordMapper;
|
||||
|
||||
@Override
|
||||
public PageResponse<MkmjCarRecordDO> listPage(Map<String, Object> params) {
|
||||
IPage<MkmjCarRecordDO> iPage = new Query<MkmjCarRecordDO>().getPage(params);
|
||||
QueryWrapper<MkmjCarRecordDO> queryWrapper = new QueryWrapper<>();
|
||||
queryWrapper = PageQueryHelper.createPageQueryWrapper(queryWrapper, params);
|
||||
queryWrapper.orderByDesc("create_time");
|
||||
IPage<MkmjCarRecordDO> result = mkmjCarRecordMapper.selectPage(iPage, queryWrapper);
|
||||
return PageHelper.pageToResponse(result, result.getRecords());
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<MkmjStatisticsE> statisticsByArea(List<String> ids){
|
||||
return mkmjCarRecordMapper.statisticsByArea(ids);
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<MkmjStatisticsE> statisticsByPassage(List<String> ids){
|
||||
return mkmjCarRecordMapper.statisticsByPassage(ids);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -0,0 +1,50 @@
|
|||
package com.zcloud.primeport.persistence.repository.impl;
|
||||
|
||||
import com.zcloud.primeport.domain.model.MkmjStatisticsE;
|
||||
import com.zcloud.primeport.persistence.dataobject.MkmjSwipeCardRecordDO;
|
||||
import com.zcloud.primeport.persistence.mapper.MkmjSwipeCardRecordMapper;
|
||||
import com.zcloud.primeport.persistence.repository.MkmjSwipeCardRecordRepository;
|
||||
import com.alibaba.cola.dto.PageResponse;
|
||||
import com.jjb.saas.framework.repository.common.PageHelper;
|
||||
import com.zcloud.gbscommon.utils.PageQueryHelper;
|
||||
import com.zcloud.gbscommon.utils.Query;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.jjb.saas.framework.repository.repo.impl.BaseRepositoryImpl;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
/**
|
||||
* web-infrastructure
|
||||
*
|
||||
* @Author fangjiakai
|
||||
* @Date 2025-11-17 13:42:10
|
||||
*/
|
||||
@Service
|
||||
@RequiredArgsConstructor
|
||||
public class MkmjSwipeCardRecordRepositoryImpl extends BaseRepositoryImpl<MkmjSwipeCardRecordMapper, MkmjSwipeCardRecordDO> implements MkmjSwipeCardRecordRepository {
|
||||
private final MkmjSwipeCardRecordMapper mkmjSwipeCardRecordMapper;
|
||||
|
||||
@Override
|
||||
public PageResponse<MkmjSwipeCardRecordDO> listPage(Map<String, Object> params) {
|
||||
IPage<MkmjSwipeCardRecordDO> iPage = new Query<MkmjSwipeCardRecordDO>().getPage(params);
|
||||
QueryWrapper<MkmjSwipeCardRecordDO> queryWrapper = new QueryWrapper<>();
|
||||
queryWrapper = PageQueryHelper.createPageQueryWrapper(queryWrapper, params);
|
||||
queryWrapper.orderByDesc("create_time");
|
||||
IPage<MkmjSwipeCardRecordDO> result = mkmjSwipeCardRecordMapper.selectPage(iPage, queryWrapper);
|
||||
return PageHelper.pageToResponse(result, result.getRecords());
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<MkmjStatisticsE> statisticsByArea(List<String> ids){
|
||||
return mkmjSwipeCardRecordMapper.statisticsByArea(ids);
|
||||
}
|
||||
@Override
|
||||
public List<MkmjStatisticsE> statisticsByPassage(List<String> ids){
|
||||
return mkmjSwipeCardRecordMapper.statisticsByPassage(ids);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -0,0 +1,66 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||
|
||||
<mapper namespace="com.zcloud.primeport.persistence.mapper.MkmjCarRecordMapper">
|
||||
<select id="statisticsByArea" resultType="com.zcloud.primeport.domain.model.MkmjStatisticsE">
|
||||
SELECT p.area_id AS id,
|
||||
SUM(combined.in_count) AS car_in_count,
|
||||
SUM(combined.out_count) AS car_out_count
|
||||
FROM (
|
||||
-- 进港统计
|
||||
SELECT vehicle_arrival_barrier AS barrier,
|
||||
COUNT(*) AS in_count,
|
||||
0 AS out_count
|
||||
FROM mkmj_car_record
|
||||
WHERE vehicle_arrival_barrier IS NOT NULL
|
||||
GROUP BY vehicle_arrival_barrier
|
||||
|
||||
UNION ALL
|
||||
|
||||
-- 出港统计
|
||||
SELECT vehicle_departure_barrier AS barrier,
|
||||
0 AS in_count,
|
||||
COUNT(*) AS out_count
|
||||
FROM mkmj_car_record
|
||||
WHERE vehicle_departure_barrier IS NOT NULL
|
||||
GROUP BY vehicle_departure_barrier) combined
|
||||
left join mkmj_passage p on combined.barrier = p.passage_name
|
||||
where p.area_id in
|
||||
<foreach item="item" collection="ids" separator="," open="(" close=")" index="index">
|
||||
#{item}
|
||||
</foreach>
|
||||
GROUP BY p.area_id
|
||||
</select>
|
||||
|
||||
<select id="statisticsByPassage" resultType="com.zcloud.primeport.domain.model.MkmjStatisticsE">
|
||||
SELECT p.passage_id AS id,
|
||||
SUM(combined.in_count) AS car_in_count,
|
||||
SUM(combined.out_count) AS car_out_count
|
||||
FROM (
|
||||
-- 进港统计
|
||||
SELECT vehicle_arrival_barrier AS barrier,
|
||||
COUNT(*) AS in_count,
|
||||
0 AS out_count
|
||||
FROM mkmj_car_record
|
||||
WHERE vehicle_arrival_barrier IS NOT NULL
|
||||
GROUP BY vehicle_arrival_barrier
|
||||
|
||||
UNION ALL
|
||||
|
||||
-- 出港统计
|
||||
SELECT vehicle_departure_barrier AS barrier,
|
||||
0 AS in_count,
|
||||
COUNT(*) AS out_count
|
||||
FROM mkmj_car_record
|
||||
WHERE vehicle_departure_barrier IS NOT NULL
|
||||
GROUP BY vehicle_departure_barrier) combined
|
||||
left join mkmj_passage p on combined.barrier = p.passage_name
|
||||
where p.passage_id in
|
||||
<foreach item="item" collection="ids" separator="," open="(" close=")" index="index">
|
||||
#{item}
|
||||
</foreach>
|
||||
GROUP BY p.passage_id
|
||||
</select>
|
||||
</mapper>
|
||||
|
||||
|
|
@ -0,0 +1,33 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||
|
||||
<mapper namespace="com.zcloud.primeport.persistence.mapper.MkmjSwipeCardRecordMapper">
|
||||
|
||||
<select id="statisticsByArea" resultType="com.zcloud.primeport.domain.model.MkmjStatisticsE">
|
||||
SELECT p.area_id as id,
|
||||
SUM(case when r.enter_or_exit = 1 then 1 else 0 end) AS person_in_count,
|
||||
SUM(case when r.enter_or_exit = 2 then 1 else 0 end) AS person_out_count
|
||||
FROM mkmj_swipe_card_record r
|
||||
left join mkmj_passage p on r.acs_channel_name = p.passage_name
|
||||
where p.area_id in
|
||||
<foreach item="item" collection="ids" separator="," open="(" close=")" index="index">
|
||||
#{item}
|
||||
</foreach>
|
||||
GROUP BY p.area_id
|
||||
</select>
|
||||
|
||||
<select id="statisticsByPassage" resultType="com.zcloud.primeport.domain.model.MkmjStatisticsE">
|
||||
SELECT p.passage_id as id,
|
||||
SUM(case when r.enter_or_exit = 1 then 1 else 0 end) AS person_in_count,
|
||||
SUM(case when r.enter_or_exit = 2 then 1 else 0 end) AS person_out_count
|
||||
FROM mkmj_swipe_card_record r
|
||||
left join mkmj_passage p on r.acs_channel_name = p.passage_name
|
||||
where p.passage_id in
|
||||
<foreach item="item" collection="ids" separator="," open="(" close=")" index="index">
|
||||
#{item}
|
||||
</foreach>
|
||||
GROUP BY p.passage_id
|
||||
</select>
|
||||
</mapper>
|
||||
|
||||
Loading…
Reference in New Issue