feat:封闭区域人员申请、审批、授权

koumen
dearLin 2026-03-19 18:00:55 +08:00
parent 677c5bfa76
commit 9e4ac5e95e
69 changed files with 2727 additions and 6 deletions

View File

@ -0,0 +1,85 @@
package com.zcloud.primeport.web.close;
import com.zcloud.primeport.api.ClosedAreaServiceI;
import com.zcloud.primeport.dto.ClosedAreaAddCmd;
import com.zcloud.primeport.dto.ClosedAreaPageQry;
import com.zcloud.primeport.dto.ClosedAreaUpdateCmd;
import com.zcloud.primeport.dto.clientobject.ClosedAreaCO;
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 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 dearLin
* @Date 2026-03-19 10:27:50
*/
@Api(tags = "封闭区域")
@RequestMapping("/${application.gateway}/closedArea")
@RestController
@AllArgsConstructor
public class ClosedAreaController {
private final ClosedAreaServiceI closedAreaService;
@ApiOperation("统计港区里所有的封闭区域数与管辖单位数")
@GetMapping("/getCountByHgAuthArea")
public MultiResponse<ClosedAreaCO> getCountByHgAuthArea() {
return closedAreaService.getCountByHgAuthArea();
}
@ApiOperation("新增")
@PostMapping("/save")
public SingleResponse<ClosedAreaCO> add(@Validated @RequestBody ClosedAreaAddCmd cmd) {
return closedAreaService.add(cmd);
}
@ApiOperation("分页")
@PostMapping("/list")
public PageResponse<ClosedAreaCO> page(@RequestBody ClosedAreaPageQry qry) {
return closedAreaService.listPage(qry);
}
@ApiOperation("跟据管辖单位查询封闭区域")
@GetMapping("/listAllByJurisdictionalCorpId/{id}")
public MultiResponse<ClosedAreaCO> listAllByJurisdictionalCorpId(@PathVariable("id") Long id) {
return closedAreaService.listAllByJurisdictionalCorpId(id);
}
@ApiOperation("详情")
@GetMapping("/{id}")
public SingleResponse<ClosedAreaCO> getInfoById(@PathVariable("id") Long id) {
return SingleResponse.of(closedAreaService.queryById(id));
}
@ApiOperation("删除")
@DeleteMapping("/{id}")
public Response remove(@PathVariable("id") Long id) {
closedAreaService.remove(id);
return SingleResponse.buildSuccess();
}
@ApiOperation("删除多个")
@DeleteMapping("/ids")
public Response removeBatch(@RequestParam Long[] ids) {
closedAreaService.removeBatch(ids);
return SingleResponse.buildSuccess();
}
@ApiOperation("修改")
@PutMapping("/edit")
public SingleResponse edit(@Validated @RequestBody ClosedAreaUpdateCmd closedAreaUpdateCmd) {
closedAreaService.edit(closedAreaUpdateCmd);
return SingleResponse.buildSuccess();
}
}

View File

@ -0,0 +1,90 @@
package com.zcloud.primeport.web.close;
import com.alibaba.cola.dto.*;
import com.alibaba.cola.exception.BizException;
import com.zcloud.primeport.api.ClosedAreaPersonApplyServiceI;
import com.zcloud.primeport.dto.ClosedAreaPersonApplyAddCmd;
import com.zcloud.primeport.dto.ClosedAreaPersonApplyAuditCmd;
import com.zcloud.primeport.dto.ClosedAreaPersonApplyAuthCmd;
import com.zcloud.primeport.dto.ClosedAreaPersonApplyPageQry;
import com.zcloud.primeport.dto.clientobject.ClosedAreaPersonApplyCO;
import com.zcloud.primeport.dto.clientobject.UserCo;
import com.zcloud.primeport.persistence.dataobject.UserDto;
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 dearLin
* @Date 2026-03-19 13:59:16
*/
@Api(tags = "人员封闭区域申请审批")
@RequestMapping("/${application.gateway}/closedAreaPersonApply")
@RestController
@AllArgsConstructor
public class ClosedAreaPersonApplyController {
private final ClosedAreaPersonApplyServiceI closedAreaPersonApplyService;
@ApiOperation("给分公司里的人授权二级门禁")
@PostMapping("/authorizationPerson")
public Response authPerson(@RequestBody ClosedAreaPersonApplyAuthCmd cmd) {
closedAreaPersonApplyService.authPerson(cmd);
return Response.buildSuccess();
}
@ApiOperation("审批人员申请")
@PostMapping("/auditPersonApply")
public Response auditPersonApply(@RequestBody ClosedAreaPersonApplyAuditCmd auditCmd) {
if (!(auditCmd.getAuditFlag().equals(2) || auditCmd.getAuditFlag().equals(3))) {
throw new BizException("只能是通过或者不通过");
}
closedAreaPersonApplyService.auditPersonApply(auditCmd);
return Response.buildSuccess();
}
@ApiOperation("获取本单位人员信息数据,用于随行人员,企业人员权限列表")
@PostMapping("/getCorpUserList")
public PageResponse<UserCo> getCorpUserList(@RequestBody ClosedAreaPersonApplyPageQry qry) {
return closedAreaPersonApplyService.getCorpUserList(qry);
}
@ApiOperation("新增")
@PostMapping("/save")
public SingleResponse<ClosedAreaPersonApplyCO> add(@Validated @RequestBody ClosedAreaPersonApplyAddCmd cmd) {
return closedAreaPersonApplyService.add(cmd);
}
@ApiOperation("待审批-已审批|申请中-申请记录分页")
// todo 需配置审批,申请的不同数据 权限
@PostMapping("/pendingApprovalRecordList")
public PageResponse<ClosedAreaPersonApplyCO> pendingApprovalRecordList(@RequestBody ClosedAreaPersonApplyPageQry qry) {
return closedAreaPersonApplyService.listPage(qry);
}
// @ApiOperation("所有数据")
// @GetMapping("/listAll")
// public MultiResponse<ClosedAreaPersonApplyCO> listAll() {
// return MultiResponse.of(new ArrayList<ClosedAreaPersonApplyCO>());
// }
@ApiOperation("详情")
@GetMapping("/{id}")
public SingleResponse<ClosedAreaPersonApplyCO> getInfoById(@PathVariable("id") Long id) {
return SingleResponse.of(closedAreaPersonApplyService.queryById(id));
}
// @ApiOperation("删除")
// @DeleteMapping("/{id}")
// public Response remove(@PathVariable("id") Long id) {
// closedAreaPersonApplyService.remove(id);
// return SingleResponse.buildSuccess();
// }
}

View File

@ -0,0 +1,41 @@
package com.zcloud.primeport.command;
import com.zcloud.primeport.domain.gateway.ClosedAreaGateway;
import com.zcloud.primeport.domain.model.ClosedAreaE;
import com.zcloud.primeport.dto.ClosedAreaAddCmd;
import com.alibaba.cola.exception.BizException;
import lombok.AllArgsConstructor;
import org.springframework.beans.BeanUtils;
import org.springframework.stereotype.Component;
import org.springframework.transaction.annotation.Transactional;
/**
* web-app
* @Author dearLin
* @Date 2026-03-19 10:27:50
*/
@Component
@AllArgsConstructor
public class ClosedAreaAddExe {
private final ClosedAreaGateway closedAreaGateway;
@Transactional(rollbackFor = Exception.class)
public boolean execute(ClosedAreaAddCmd cmd) {
ClosedAreaE closedAreaE = new ClosedAreaE();
BeanUtils.copyProperties(cmd, closedAreaE);
boolean res = false;
try {
res = closedAreaGateway.add(closedAreaE);
} catch (Exception e) {
throw new RuntimeException(e);
}
if (!res) {
throw new BizException("保存失败");
}
return true;
}
}

View File

@ -0,0 +1,63 @@
package com.zcloud.primeport.command;
import com.alibaba.cola.dto.SingleResponse;
import com.jjb.saas.framework.auth.utils.AuthContext;
import com.zcloud.gbscommon.zclouduser.facade.ZcloudUserFacade;
import com.zcloud.gbscommon.zclouduser.response.ZcloudUserCo;
import com.zcloud.primeport.domain.gateway.ClosedAreaPersonApplyGateway;
import com.zcloud.primeport.domain.model.ClosedAreaPersonApplyE;
import com.zcloud.primeport.dto.ClosedAreaPersonApplyAddCmd;
import com.alibaba.cola.exception.BizException;
import jodd.util.Base64;
import lombok.AllArgsConstructor;
import org.apache.dubbo.config.annotation.DubboReference;
import org.springframework.beans.BeanUtils;
import org.springframework.stereotype.Component;
import org.springframework.transaction.annotation.Transactional;
/**
* web-app
*
* @Author dearLin
* @Date 2026-03-19 13:59:15
*/
@Component
@AllArgsConstructor
public class ClosedAreaPersonApplyAddExe {
private final ClosedAreaPersonApplyGateway closedAreaPersonApplyGateway;
@DubboReference
private ZcloudUserFacade zcloudUserFacade;
@Transactional(rollbackFor = Exception.class)
public boolean execute(ClosedAreaPersonApplyAddCmd cmd) {
ClosedAreaPersonApplyE closedAreaPersonApplyE = new ClosedAreaPersonApplyE();
BeanUtils.copyProperties(cmd, closedAreaPersonApplyE);
closedAreaPersonApplyE.setAuditFlag(1);
if (!cmd.getPersonBelongType().equals(4)) {
SingleResponse<ZcloudUserCo> infoByUserId = zcloudUserFacade.getInfoByUserId(AuthContext.getUserId());
ZcloudUserCo userData = infoByUserId.getData();
closedAreaPersonApplyE.setUserPhone(userData.getPhone());
closedAreaPersonApplyE.setUserCard(userData.getUserIdCard());
closedAreaPersonApplyE.setUserFaceUrl(userData.getUserAvatarUrl());
}else {
closedAreaPersonApplyE.setUserCard(Base64.encodeToString(cmd.getUserCard()));
}
boolean res = false;
try {
res = closedAreaPersonApplyGateway.add(closedAreaPersonApplyE);
} catch (Exception e) {
throw new RuntimeException(e);
}
if (!res) {
throw new BizException("保存失败");
}
return true;
}
public static void main(String[] args) {
System.out.println(Base64.encodeToString("130323199504189999"));
System.out.println(Base64.decodeToString("MTMwMzIzMTk5NTA0MTg5OTk5"));
}
}

View File

@ -0,0 +1,40 @@
package com.zcloud.primeport.command;
import com.zcloud.primeport.domain.gateway.ClosedAreaPersonApplyGateway;
import com.alibaba.cola.exception.BizException;
import lombok.AllArgsConstructor;
import org.springframework.stereotype.Component;
import org.springframework.transaction.annotation.Transactional;
/**
* web-app
* @Author dearLin
* @Date 2026-03-19 13:59:16
*/
@Component
@AllArgsConstructor
public class ClosedAreaPersonApplyRemoveExe {
private final ClosedAreaPersonApplyGateway closedAreaPersonApplyGateway;
@Transactional(rollbackFor = Exception.class)
public boolean execute(Long id) {
boolean res = closedAreaPersonApplyGateway.deletedClosedAreaPersonApplyById(id);
if(!res){
throw new BizException("删除失败");
}
return true;
}
@Transactional(rollbackFor = Exception.class)
public boolean execute(Long[] ids) {
boolean res = closedAreaPersonApplyGateway.deletedClosedAreaPersonApplyByIds(ids);
if(!res){
throw new BizException("删除失败");
}
return true;
}
}

View File

@ -0,0 +1,78 @@
package com.zcloud.primeport.command;
import com.alibaba.cola.exception.BizException;
import com.zcloud.gbscommon.utils.DateUtil;
import com.zcloud.primeport.domain.gateway.ClosedAreaFgsPersonAreaGateway;
import com.zcloud.primeport.domain.gateway.ClosedAreaFgsPersonAuthGateway;
import com.zcloud.primeport.domain.gateway.ClosedAreaPersonApplyGateway;
import com.zcloud.primeport.domain.model.ClosedAreaFgsPersonAreaE;
import com.zcloud.primeport.domain.model.ClosedAreaFgsPersonAuthE;
import com.zcloud.primeport.domain.model.ClosedAreaPersonApplyE;
import com.zcloud.primeport.dto.ClosedAreaPersonApplyAuditCmd;
import com.zcloud.primeport.dto.ClosedAreaPersonApplyAuthCmd;
import com.zcloud.primeport.dto.ClosedAreaPersonApplyUpdateCmd;
import lombok.AllArgsConstructor;
import org.springframework.beans.BeanUtils;
import org.springframework.stereotype.Component;
import org.springframework.transaction.annotation.Transactional;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
/**
* web-app
*
* @Author dearLin
* @Date 2026-03-19 13:59:16
*/
@Component
@AllArgsConstructor
public class ClosedAreaPersonApplyUpdateExe {
private final ClosedAreaPersonApplyGateway closedAreaPersonApplyGateway;
private final ClosedAreaFgsPersonAuthGateway areaFgsPersonAuthGateway;
private final ClosedAreaFgsPersonAreaGateway areaFgsPersonAreaGateway;
@Transactional(rollbackFor = Exception.class)
public void execute(ClosedAreaPersonApplyUpdateCmd closedAreaPersonApplyUpdateCmd) {
ClosedAreaPersonApplyE closedAreaPersonApplyE = new ClosedAreaPersonApplyE();
BeanUtils.copyProperties(closedAreaPersonApplyUpdateCmd, closedAreaPersonApplyE);
boolean res = closedAreaPersonApplyGateway.update(closedAreaPersonApplyE);
if (!res) {
throw new BizException("修改失败");
}
}
@Transactional(rollbackFor = Exception.class)
public void auditPersonApply(ClosedAreaPersonApplyAuditCmd auditCmd) {
ClosedAreaPersonApplyE closedAreaPersonApplyE = new ClosedAreaPersonApplyE();
closedAreaPersonApplyE.setId(auditCmd.getId());
closedAreaPersonApplyE.setAuditFlag(auditCmd.getAuditFlag());
closedAreaPersonApplyE.setRefusalReason(auditCmd.getRefusalReason());
closedAreaPersonApplyE.setAuditTime(DateUtil.date2Str(new Date()));
closedAreaPersonApplyGateway.update(closedAreaPersonApplyE);
}
@Transactional(rollbackFor = Exception.class)
public void authPerson(ClosedAreaPersonApplyAuthCmd cmd) {
ClosedAreaFgsPersonAuthE closedAreaFgsPersonAuthE = new ClosedAreaFgsPersonAuthE();
closedAreaFgsPersonAuthE.setUserId(cmd.getUserId());
closedAreaFgsPersonAuthE.setCorpId(cmd.getCorpId());
closedAreaFgsPersonAuthE.setMkmjPermission(cmd.getMkmjPermission());
closedAreaFgsPersonAuthE.setDepartmentId(cmd.getDepartmentId());
areaFgsPersonAuthGateway.addOrUpdate(closedAreaFgsPersonAuthE);
areaFgsPersonAreaGateway.removeByFgspersonAuthId(closedAreaFgsPersonAuthE.getId());
ArrayList<ClosedAreaFgsPersonAreaE> objects = new ArrayList<>();
List<ClosedAreaPersonApplyAuthCmd.FgsPersonArea> areaList = cmd.getAreaList();
for (ClosedAreaPersonApplyAuthCmd.FgsPersonArea fgsPersonArea : areaList) {
ClosedAreaFgsPersonAreaE closedAreaFgsPersonAreaE = new ClosedAreaFgsPersonAreaE();
closedAreaFgsPersonAreaE.setClosedAreaId(fgsPersonArea.getClosedAreaId());
closedAreaFgsPersonAreaE.setClosedAreaName(fgsPersonArea.getClosedAreaName());
closedAreaFgsPersonAreaE.setFgsPersonAuthId(closedAreaFgsPersonAuthE.getId());
objects.add(closedAreaFgsPersonAreaE);
}
areaFgsPersonAreaGateway.saveBatch(objects);
}
}

View File

@ -0,0 +1,40 @@
package com.zcloud.primeport.command;
import com.zcloud.primeport.domain.gateway.ClosedAreaGateway;
import com.alibaba.cola.exception.BizException;
import lombok.AllArgsConstructor;
import org.springframework.stereotype.Component;
import org.springframework.transaction.annotation.Transactional;
/**
* web-app
* @Author dearLin
* @Date 2026-03-19 10:27:51
*/
@Component
@AllArgsConstructor
public class ClosedAreaRemoveExe {
private final ClosedAreaGateway closedAreaGateway;
@Transactional(rollbackFor = Exception.class)
public boolean execute(Long id) {
boolean res = closedAreaGateway.deletedClosedAreaById(id);
if(!res){
throw new BizException("删除失败");
}
return true;
}
@Transactional(rollbackFor = Exception.class)
public boolean execute(Long[] ids) {
boolean res = closedAreaGateway.deletedClosedAreaByIds(ids);
if(!res){
throw new BizException("删除失败");
}
return true;
}
}

View File

@ -0,0 +1,35 @@
package com.zcloud.primeport.command;
import com.alibaba.cola.exception.BizException;
import com.zcloud.primeport.domain.gateway.ClosedAreaGateway;
import com.zcloud.primeport.domain.model.ClosedAreaE;
import com.zcloud.primeport.dto.ClosedAreaUpdateCmd;
import lombok.AllArgsConstructor;
import org.springframework.beans.BeanUtils;
import org.springframework.stereotype.Component;
import org.springframework.transaction.annotation.Transactional;
/**
* web-app
* @Author dearLin
* @Date 2026-03-19 10:27:51
*/
@Component
@AllArgsConstructor
public class ClosedAreaUpdateExe {
private final ClosedAreaGateway closedAreaGateway;
@Transactional(rollbackFor = Exception.class)
public void execute(ClosedAreaUpdateCmd closedAreaUpdateCmd) {
ClosedAreaE closedAreaE = new ClosedAreaE();
BeanUtils.copyProperties(closedAreaUpdateCmd, closedAreaE);
boolean res = closedAreaGateway.update(closedAreaE);
if (!res) {
throw new BizException("修改失败");
}
}
}

View File

@ -0,0 +1,26 @@
package com.zcloud.primeport.command.convertor;
import com.zcloud.primeport.dto.clientobject.ClosedAreaCO;
import com.zcloud.primeport.persistence.dataobject.ClosedAreaDO;
import org.mapstruct.Mapper;
import java.util.List;
/**
* web-app
* @Author dearLin
* @Date 2026-03-19 10:27:50
*/
@Mapper(componentModel = "spring")
public interface ClosedAreaCoConvertor {
/**
* @param closedAreaDOs
* @return
*/
List<ClosedAreaCO> converDOsToCOs(List<ClosedAreaDO> closedAreaDOs);
ClosedAreaCO converDOToCO(ClosedAreaDO closedAreaDO);
}

View File

@ -0,0 +1,29 @@
package com.zcloud.primeport.command.convertor;
import com.zcloud.primeport.dto.clientobject.ClosedAreaPersonApplyCO;
import com.zcloud.primeport.dto.clientobject.UserCo;
import com.zcloud.primeport.persistence.dataobject.ClosedAreaPersonApplyDO;
import com.zcloud.primeport.persistence.dataobject.UserDto;
import org.mapstruct.Mapper;
import java.util.List;
/**
* web-app
* @Author dearLin
* @Date 2026-03-19 13:59:16
*/
@Mapper(componentModel = "spring")
public interface ClosedAreaPersonApplyCoConvertor {
/**
* @param closedAreaPersonApplyDOs
* @return
*/
List<ClosedAreaPersonApplyCO> converDOsToCOs(List<ClosedAreaPersonApplyDO> closedAreaPersonApplyDOs);
List<UserCo> converUserDtosToUserCos(List<UserDto> closedAreaPersonApplyDOs);
ClosedAreaPersonApplyCO converDOToCO(ClosedAreaPersonApplyDO closedAreaPersonApplyDO);
}

View File

@ -0,0 +1,64 @@
package com.zcloud.primeport.command.query;
import com.jjb.saas.framework.auth.utils.AuthContext;
import com.zcloud.primeport.command.convertor.ClosedAreaPersonApplyCoConvertor;
import com.zcloud.primeport.dto.ClosedAreaPersonApplyPageQry;
import com.zcloud.primeport.dto.clientobject.ClosedAreaPersonApplyCO;
import com.zcloud.primeport.dto.clientobject.UserCo;
import com.zcloud.primeport.persistence.dataobject.ClosedAreaPersonApplyDO;
import com.zcloud.primeport.persistence.dataobject.UserDto;
import com.zcloud.primeport.persistence.repository.ClosedAreaPersonApplyRepository;
import com.zcloud.gbscommon.utils.PageQueryHelper;
import com.alibaba.cola.dto.PageResponse;
import lombok.AllArgsConstructor;
import org.springframework.stereotype.Component;
import java.util.List;
import java.util.Map;
/**
* web-app
*
* @Author dearLin
* @Date 2026-03-19 13:59:16
*/
@Component
@AllArgsConstructor
public class ClosedAreaPersonApplyQueryExe {
private final ClosedAreaPersonApplyRepository closedAreaPersonApplyRepository;
private final ClosedAreaPersonApplyCoConvertor closedAreaPersonApplyCoConvertor;
/**
* id
*
* @param id
* @return
*/
public ClosedAreaPersonApplyCO queryById(Long id) {
return closedAreaPersonApplyCoConvertor.converDOToCO(closedAreaPersonApplyRepository.getById(id));
}
/**
*
*
* @param closedAreaPersonApplyPageQry
* @return
*/
public PageResponse<ClosedAreaPersonApplyCO> execute(ClosedAreaPersonApplyPageQry closedAreaPersonApplyPageQry) {
Map<String, Object> params = PageQueryHelper.toHashMap(closedAreaPersonApplyPageQry);
PageResponse<ClosedAreaPersonApplyDO> pageResponse = closedAreaPersonApplyRepository.listPage(params);
List<ClosedAreaPersonApplyCO> examCenterCOS = closedAreaPersonApplyCoConvertor.converDOsToCOs(pageResponse.getData());
return PageResponse.of(examCenterCOS, pageResponse.getTotalCount(), pageResponse.getPageSize(), pageResponse.getPageIndex());
}
public PageResponse<UserCo> getCorpUserList(ClosedAreaPersonApplyPageQry qry) {
Map<String, Object> params = PageQueryHelper.toHashMap(qry);
params.put("corpinfoId", AuthContext.getTenantId());
PageResponse<UserDto> pageResponse = closedAreaPersonApplyRepository.getCorpUserList(params);
List<UserCo> examCenterCOS = closedAreaPersonApplyCoConvertor.converUserDtosToUserCos(pageResponse.getData());
return PageResponse.of(examCenterCOS, pageResponse.getTotalCount(), pageResponse.getPageSize(), pageResponse.getPageIndex());
}
}

View File

@ -0,0 +1,66 @@
package com.zcloud.primeport.command.query;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.zcloud.primeport.command.convertor.ClosedAreaCoConvertor;
import com.zcloud.primeport.dto.ClosedAreaPageQry;
import com.zcloud.primeport.dto.clientobject.ClosedAreaCO;
import com.zcloud.primeport.persistence.dataobject.ClosedAreaDO;
import com.zcloud.primeport.persistence.repository.ClosedAreaRepository;
import com.zcloud.gbscommon.utils.PageQueryHelper;
import com.alibaba.cola.dto.PageResponse;
import lombok.AllArgsConstructor;
import org.springframework.stereotype.Component;
import java.util.List;
import java.util.Map;
/**
* web-app
*
* @Author dearLin
* @Date 2026-03-19 10:27:51
*/
@Component
@AllArgsConstructor
public class ClosedAreaQueryExe {
private final ClosedAreaRepository closedAreaRepository;
private final ClosedAreaCoConvertor closedAreaCoConvertor;
/**
* id
*
* @param id
* @return
*/
public ClosedAreaCO queryById(Long id) {
return closedAreaCoConvertor.converDOToCO(closedAreaRepository.getById(id));
}
/**
*
*
* @param closedAreaPageQry
* @return
*/
public PageResponse<ClosedAreaCO> execute(ClosedAreaPageQry closedAreaPageQry) {
Map<String, Object> params = PageQueryHelper.toHashMap(closedAreaPageQry);
PageResponse<ClosedAreaDO> pageResponse = closedAreaRepository.listPage(params);
List<ClosedAreaCO> examCenterCOS = closedAreaCoConvertor.converDOsToCOs(pageResponse.getData());
return PageResponse.of(examCenterCOS, pageResponse.getTotalCount(), pageResponse.getPageSize(), pageResponse.getPageIndex());
}
public List<ClosedAreaCO> getCountByHgAuthArea() {
List<ClosedAreaDO> dataResList = closedAreaRepository.getCountByHgAuthArea();
List<ClosedAreaCO> examCenterCOS = closedAreaCoConvertor.converDOsToCOs(dataResList);
return examCenterCOS;
}
public List<ClosedAreaCO> listAllByJurisdictionalCorpId(Long id) {
QueryWrapper<ClosedAreaDO> objectQueryWrapper = new QueryWrapper<>();
objectQueryWrapper.eq("jurisdictional_corp_id",id);
List<ClosedAreaDO> list = closedAreaRepository.list(objectQueryWrapper);
return closedAreaCoConvertor.converDOsToCOs(list);
}
}

View File

@ -0,0 +1,78 @@
package com.zcloud.primeport.service;
import com.zcloud.primeport.api.ClosedAreaPersonApplyServiceI;
import com.zcloud.primeport.command.ClosedAreaPersonApplyAddExe;
import com.zcloud.primeport.command.ClosedAreaPersonApplyRemoveExe;
import com.zcloud.primeport.command.ClosedAreaPersonApplyUpdateExe;
import com.zcloud.primeport.command.query.ClosedAreaPersonApplyQueryExe;
import com.zcloud.primeport.dto.*;
import com.zcloud.primeport.dto.clientobject.ClosedAreaPersonApplyCO;
import com.alibaba.cola.dto.PageResponse;
import com.alibaba.cola.dto.SingleResponse;
import com.zcloud.primeport.dto.clientobject.UserCo;
import com.zcloud.primeport.persistence.dataobject.UserDto;
import lombok.AllArgsConstructor;
import org.springframework.stereotype.Service;
/**
* web-app
* @Author dearLin
* @Date 2026-03-19 13:59:16
*/
@Service
@AllArgsConstructor
public class ClosedAreaPersonApplyServiceImpl implements ClosedAreaPersonApplyServiceI {
private final ClosedAreaPersonApplyAddExe closedAreaPersonApplyAddExe;
private final ClosedAreaPersonApplyUpdateExe closedAreaPersonApplyUpdateExe;
private final ClosedAreaPersonApplyRemoveExe closedAreaPersonApplyRemoveExe;
private final ClosedAreaPersonApplyQueryExe closedAreaPersonApplyQueryExe;
@Override
public ClosedAreaPersonApplyCO queryById(Long id){
return closedAreaPersonApplyQueryExe.queryById(id);
}
@Override
public PageResponse<ClosedAreaPersonApplyCO> listPage(ClosedAreaPersonApplyPageQry qry){
return closedAreaPersonApplyQueryExe.execute(qry);
}
@Override
public SingleResponse add(ClosedAreaPersonApplyAddCmd cmd) {
closedAreaPersonApplyAddExe.execute(cmd);
return SingleResponse.buildSuccess();
}
@Override
public void edit(ClosedAreaPersonApplyUpdateCmd closedAreaPersonApplyUpdateCmd) {
closedAreaPersonApplyUpdateExe.execute(closedAreaPersonApplyUpdateCmd);
}
@Override
public void remove(Long id) {
closedAreaPersonApplyRemoveExe.execute(id);
}
@Override
public void removeBatch(Long[] ids) {
closedAreaPersonApplyRemoveExe.execute(ids);
}
@Override
public PageResponse<UserCo> getCorpUserList(ClosedAreaPersonApplyPageQry qry) {
return closedAreaPersonApplyQueryExe.getCorpUserList(qry);
}
@Override
public void auditPersonApply(ClosedAreaPersonApplyAuditCmd auditCmd) {
closedAreaPersonApplyUpdateExe.auditPersonApply(auditCmd);
}
@Override
public void authPerson(ClosedAreaPersonApplyAuthCmd cmd) {
closedAreaPersonApplyUpdateExe.authPerson(cmd);
}
}

View File

@ -0,0 +1,81 @@
package com.zcloud.primeport.service;
import com.alibaba.cola.dto.MultiResponse;
import com.zcloud.primeport.api.ClosedAreaServiceI;
import com.zcloud.primeport.command.ClosedAreaAddExe;
import com.zcloud.primeport.command.ClosedAreaRemoveExe;
import com.zcloud.primeport.command.ClosedAreaUpdateExe;
import com.zcloud.primeport.command.query.ClosedAreaQueryExe;
import com.zcloud.primeport.dto.ClosedAreaAddCmd;
import com.zcloud.primeport.dto.ClosedAreaPageQry;
import com.zcloud.primeport.dto.ClosedAreaUpdateCmd;
import com.zcloud.primeport.dto.clientobject.ClosedAreaCO;
import com.alibaba.cola.dto.PageResponse;
import com.alibaba.cola.dto.SingleResponse;
import lombok.AllArgsConstructor;
import org.springframework.stereotype.Service;
import java.util.ArrayList;
import java.util.List;
/**
* web-app
*
* @Author dearLin
* @Date 2026-03-19 10:27:51
*/
@Service
@AllArgsConstructor
public class ClosedAreaServiceImpl implements ClosedAreaServiceI {
private final ClosedAreaAddExe closedAreaAddExe;
private final ClosedAreaUpdateExe closedAreaUpdateExe;
private final ClosedAreaRemoveExe closedAreaRemoveExe;
private final ClosedAreaQueryExe closedAreaQueryExe;
@Override
public ClosedAreaCO queryById(Long id) {
return closedAreaQueryExe.queryById(id);
}
@Override
public PageResponse<ClosedAreaCO> listPage(ClosedAreaPageQry qry) {
return closedAreaQueryExe.execute(qry);
}
@Override
public SingleResponse add(ClosedAreaAddCmd cmd) {
closedAreaAddExe.execute(cmd);
return SingleResponse.buildSuccess();
}
@Override
public void edit(ClosedAreaUpdateCmd closedAreaUpdateCmd) {
closedAreaUpdateExe.execute(closedAreaUpdateCmd);
}
@Override
public void remove(Long id) {
closedAreaRemoveExe.execute(id);
}
@Override
public void removeBatch(Long[] ids) {
closedAreaRemoveExe.execute(ids);
}
@Override
public MultiResponse<ClosedAreaCO> getCountByHgAuthArea() {
List<ClosedAreaCO> dataList = closedAreaQueryExe.getCountByHgAuthArea();
return MultiResponse.of(dataList);
}
@Override
public MultiResponse<ClosedAreaCO> listAllByJurisdictionalCorpId(Long id) {
List<ClosedAreaCO> dataList = closedAreaQueryExe.listAllByJurisdictionalCorpId(id);
return MultiResponse.of(dataList);
}
}

View File

@ -0,0 +1,34 @@
package com.zcloud.primeport.api;
import com.zcloud.primeport.dto.*;
import com.zcloud.primeport.dto.clientobject.ClosedAreaPersonApplyCO;
import com.alibaba.cola.dto.PageResponse;
import com.alibaba.cola.dto.SingleResponse;
import com.zcloud.primeport.dto.clientobject.UserCo;
/**
* web-client
* @Author dearLin
* @Date 2026-03-19 13:59:16
*/
public interface ClosedAreaPersonApplyServiceI {
ClosedAreaPersonApplyCO queryById(Long id);
PageResponse<ClosedAreaPersonApplyCO> listPage(ClosedAreaPersonApplyPageQry qry);
SingleResponse<ClosedAreaPersonApplyCO> add(ClosedAreaPersonApplyAddCmd cmd);
void edit(ClosedAreaPersonApplyUpdateCmd cmd);
void remove(Long id);
void removeBatch(Long[] ids);
PageResponse<UserCo> getCorpUserList(ClosedAreaPersonApplyPageQry qry);
void auditPersonApply(ClosedAreaPersonApplyAuditCmd auditCmd);
void authPerson(ClosedAreaPersonApplyAuthCmd cmd);
}

View File

@ -0,0 +1,34 @@
package com.zcloud.primeport.api;
import com.alibaba.cola.dto.MultiResponse;
import com.zcloud.primeport.dto.ClosedAreaAddCmd;
import com.zcloud.primeport.dto.ClosedAreaPageQry;
import com.zcloud.primeport.dto.ClosedAreaUpdateCmd;
import com.zcloud.primeport.dto.clientobject.ClosedAreaCO;
import com.alibaba.cola.dto.PageResponse;
import com.alibaba.cola.dto.SingleResponse;
/**
* web-client
* @Author dearLin
* @Date 2026-03-19 10:27:51
*/
public interface ClosedAreaServiceI {
ClosedAreaCO queryById(Long id);
PageResponse<ClosedAreaCO> listPage(ClosedAreaPageQry qry);
SingleResponse<ClosedAreaCO> add(ClosedAreaAddCmd cmd);
void edit(ClosedAreaUpdateCmd cmd);
void remove(Long id);
void removeBatch(Long[] ids);
MultiResponse<ClosedAreaCO> getCountByHgAuthArea();
MultiResponse<ClosedAreaCO> listAllByJurisdictionalCorpId(Long id);
}

View File

@ -0,0 +1,55 @@
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.*;
/**
* web-client
* @Author dearLin
* @Date 2026-03-19 10:27:50
*/
@EqualsAndHashCode(callSuper = true)
@Data
@NoArgsConstructor
@AllArgsConstructor
public class ClosedAreaAddCmd extends Command {
@ApiModelProperty(value = "父id", name = "parentId", required = true)
@NotNull(message = "父id不能为空")
private Long parentId;
@ApiModelProperty(value = "所属港区", name = "hgAuthArea", required = true)
@NotEmpty(message = "所属港区不能为空")
private String hgAuthArea;
@ApiModelProperty(value = "所属港区名称", name = "hgAuthAreaName", required = true)
@NotEmpty(message = "所属港区名称名称不能为空")
private String hgAuthAreaName;
@ApiModelProperty(value = "封闭区域名称", name = "closedAreaName", required = true)
@NotEmpty(message = "封闭区域名称不能为空")
private String closedAreaName;
@ApiModelProperty(value = "区域类型", name = "closedAreaType", required = true)
@NotEmpty(message = "区域类型不能为空")
private String closedAreaType;
@ApiModelProperty(value = "区域类型名称", name = "closedAreaTypeName", required = true)
@NotEmpty(message = "区域类型名称不能为空")
private String closedAreaTypeName;
@ApiModelProperty(value = "管辖单位名id", name = "jurisdictionalCorpId", required = true)
@NotNull(message = "管辖单位名id不能为空")
private Long jurisdictionalCorpId;
@ApiModelProperty(value = "管辖单位名称", name = "jurisdictionalCorpName", required = true)
@NotEmpty(message = "管辖单位名称不能为空")
private String jurisdictionalCorpName;
@ApiModelProperty(value = "区域经纬度", name = "location", required = true)
// @NotEmpty(message = "区域经纬度不能为空")
private String location;
}

View File

@ -0,0 +1,22 @@
package com.zcloud.primeport.dto;
import com.alibaba.cola.dto.PageQuery;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* web-client
*
* @Author dearLin
* @Date 2026-03-19 10:27:51
*/
@Data
public class ClosedAreaPageQry extends PageQuery {
@ApiModelProperty(value = "封闭区域名称",name = "closedAreaName")
private String closedAreaName;
@ApiModelProperty(value = "封闭父节点根节点传0",name = "parentId")
private Long parentId;
}

View File

@ -0,0 +1,109 @@
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.*;
/**
* web-client
* @Author dearLin
* @Date 2026-03-19 13:59:15
*/
@EqualsAndHashCode(callSuper = true)
@Data
@NoArgsConstructor
@AllArgsConstructor
public class ClosedAreaPersonApplyAddCmd extends Command {
@ApiModelProperty(value = "申请归属1股份2分公司3相关方4临时人员", name = "personBelongType", required = true)
@NotNull(message = "申请归属1股份2分公司3相关方4临时人员不能为空")
private Integer personBelongType;
@ApiModelProperty(value = "一级口门id", name = "levelOneMkmjId", required = true)
private Long levelOneMkmjId;
@ApiModelProperty(value = "二级口门id(封闭区域口门)", name = "levelTwoMkmjId", required = true)
private Long levelTwoMkmjId;
@ApiModelProperty(value = "封闭区域id", name = "closedAreaId", required = true)
@NotNull(message = "封闭区域id不能为空")
private Long closedAreaId;
@ApiModelProperty(value = "封闭区域名称", name = "closedAreaName", required = true)
@NotEmpty(message = "封闭区域名称不能为空")
private String closedAreaName;
@ApiModelProperty(value = "访问起始时间", name = "visitStartTime", required = true)
@NotEmpty(message = "访问起始时间不能为空")
private String visitStartTime;
@ApiModelProperty(value = "访问结束时间", name = "visitEndTime", required = true)
@NotEmpty(message = "访问结束时间不能为空")
private String visitEndTime;
@ApiModelProperty(value = "管辖单位名id", name = "jurisdictionalCorpId", required = true)
@NotNull(message = "管辖单位名id不能为空")
private Long jurisdictionalCorpId;
@ApiModelProperty(value = "管辖单位名称", name = "jurisdictionalCorpName", required = true)
@NotEmpty(message = "管辖单位名称不能为空")
private String jurisdictionalCorpName;
@ApiModelProperty(value = "项目id", name = "projectId", required = true)
@NotNull(message = "项目id不能为空")
private Long projectId;
@ApiModelProperty(value = "项目名称", name = "projectName", required = true)
@NotEmpty(message = "项目名称不能为空")
private String projectName;
@ApiModelProperty(value = "申请理由", name = "applyReason", required = true)
@NotEmpty(message = "申请理由不能为空")
private String applyReason;
@ApiModelProperty(value = "随行人员", name = "entourage", required = true)
private String entourage;
@ApiModelProperty(value = "告知签字", name = "informSignId", required = true)
@NotNull(message = "告知签字不能为空")
private Long informSignId;
@ApiModelProperty(value = "审批人员所属企业ID", name = "auditPersonCorpId", required = true)
@NotNull(message = "审批人员所属企业ID不能为空")
private Long auditPersonCorpId;
@ApiModelProperty(value = "审批人员所属企业名称", name = "auditPersonCorpName", required = true)
@NotEmpty(message = "审批人员所属企业名称不能为空")
private String auditPersonCorpName;
@ApiModelProperty(value = "审批人员所属部门id", name = "auditPersonDepartmentId", required = true)
@NotNull(message = "审批人员所属部门id不能为空")
private Long auditPersonDepartmentId;
@ApiModelProperty(value = "审批人员部门名称", name = "auditPersonDepartmentName", required = true)
@NotEmpty(message = "审批人员部门名称不能为空")
private String auditPersonDepartmentName;
@ApiModelProperty(value = "审批人员id", name = "auditPersonUserId", required = true)
@NotNull(message = "审批人员id不能为空")
private Long auditPersonUserId;
@ApiModelProperty(value = "审批人员姓名", name = "auditPersonUserName", required = true)
@NotEmpty(message = "审批人员姓名不能为空")
private String auditPersonUserName;
// 临时访客用
@ApiModelProperty(value = "申请人员姓名", name = "applyPersonUserName", required = true)
private String applyPersonUserName;
@ApiModelProperty(value = "申请人头像", name = "userFaceUrl", required = true)
private String userFaceUrl;
@ApiModelProperty(value = "申请人手机号", name = "userPhone", required = true)
private String userPhone;
@ApiModelProperty(value = "申请人身份证号", name = "userCard", required = true)
private String userCard;
}

View File

@ -0,0 +1,31 @@
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 dearLin
* @Date 2026-03-19 13:59:16
*/
@EqualsAndHashCode(callSuper = true)
@Data
@NoArgsConstructor
@AllArgsConstructor
public class ClosedAreaPersonApplyAuditCmd extends Command {
@ApiModelProperty(value = "主键", name = "id", required = true)
@NotNull(message = "主键不能为空")
private Long id;
@ApiModelProperty(value = "审核状态2审核通过; 3审核驳回", name = "auditFlag", required = true)
private Integer auditFlag;
@ApiModelProperty(value = "驳回原因", name = "refusalReason", required = true)
private String refusalReason;
}

View File

@ -0,0 +1,40 @@
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.NotNull;
import java.util.List;
/**
* web-client
* @Author dearLin
* @Date 2026-03-19 13:59:16
*/
@EqualsAndHashCode(callSuper = true)
@Data
@NoArgsConstructor
@AllArgsConstructor
public class ClosedAreaPersonApplyAuthCmd extends Command {
@ApiModelProperty(value = "用户", name = "userId", required = true)
@NotNull(message = "用户不能为空")
private Long userId;
@ApiModelProperty(value = "权限(1:有 2无)", name = "mkmjPermission", required = true)
@NotNull(message = "权限不能为空")
private Integer mkmjPermission;
@ApiModelProperty(value = "授权范围", name = "areaList")
private List<FgsPersonArea> areaList;
private Long corpId;
private Long departmentId;
@Data
public static class FgsPersonArea {
private Long fgsPersonAuthId;
private Long closedAreaId;
private String closedAreaName;
}
}

View File

@ -0,0 +1,39 @@
package com.zcloud.primeport.dto;
import com.alibaba.cola.dto.PageQuery;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* web-client
*
* @Author dearLin
* @Date 2026-03-19 13:59:16
*/
@Data
public class ClosedAreaPersonApplyPageQry extends PageQuery {
/**
* ,
* - `like`: SQLLIKE
* - `eq`: SQL=
* - `gt`:
* - `lt`:
* - `ge`:
* - `le`:
* - `ne`: SQL!=
*/
@ApiModelProperty(value = "随行人员搜索", name = "name", required = true)
private String name;
@ApiModelProperty(value = "随行人员按部门搜索", name = "deptId", required = true)
private Long deptId;
@ApiModelProperty(value = "1申请中2已审批", name = "processOrRecord", required = true)
private String applyPersonUserName;
@ApiModelProperty(value = "1查本单位申请中本人待审批的数据传入这个2查已审批本单位的申请记录的数据传入这个", name = "processOrRecord", required = true)
private Integer processOrRecord;
@ApiModelProperty(value = "1股份2分公司3相关方4临时人员", name = "personBelongType", required = true)
private Integer personBelongType;
}

View File

@ -0,0 +1,121 @@
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.*;
/**
* web-client
* @Author dearLin
* @Date 2026-03-19 13:59:16
*/
@EqualsAndHashCode(callSuper = true)
@Data
@NoArgsConstructor
@AllArgsConstructor
public class ClosedAreaPersonApplyUpdateCmd extends Command {
@ApiModelProperty(value = "主键", name = "id", required = true)
@NotNull(message = "主键不能为空")
private Long id;
@ApiModelProperty(value = "申请归属1股份2分公司3相关方4临时人员", name = "personBelongType", required = true)
@NotNull(message = "申请归属1股份2分公司3相关方4临时人员不能为空")
private Integer personBelongType;
@ApiModelProperty(value = "一级口门id", name = "levelOneMkmjId", required = true)
@NotNull(message = "一级口门id不能为空")
private Long levelOneMkmjId;
@ApiModelProperty(value = "审核状态(1:审核中;2审核通过; 3审核驳回)", name = "auditFlag", required = true)
@NotNull(message = "审核状态(1:审核中;2审核通过; 3审核驳回)不能为空")
private Integer auditFlag;
@ApiModelProperty(value = "二级口门id(封闭区域口门)", name = "levelTwoMkmjId", required = true)
@NotNull(message = "二级口门id(封闭区域口门)不能为空")
private Long levelTwoMkmjId;
@ApiModelProperty(value = "封闭区域id", name = "closedAreaId", required = true)
@NotNull(message = "封闭区域id不能为空")
private Long closedAreaId;
@ApiModelProperty(value = "封闭区域名称", name = "closedAreaName", required = true)
@NotEmpty(message = "封闭区域名称不能为空")
private String closedAreaName;
@ApiModelProperty(value = "访问起始时间", name = "visitStartTime", required = true)
@NotNull(message = "访问起始时间不能为空")
private String visitStartTime;
@ApiModelProperty(value = "访问结束时间", name = "visitEndTime", required = true)
@NotNull(message = "访问结束时间不能为空")
private String visitEndTime;
@ApiModelProperty(value = "管辖单位名id", name = "jurisdictionalCorpId", required = true)
@NotNull(message = "管辖单位名id不能为空")
private Long jurisdictionalCorpId;
@ApiModelProperty(value = "管辖单位名称", name = "jurisdictionalCorpName", required = true)
@NotEmpty(message = "管辖单位名称不能为空")
private String jurisdictionalCorpName;
@ApiModelProperty(value = "项目id", name = "projectId", required = true)
@NotNull(message = "项目id不能为空")
private Long projectId;
@ApiModelProperty(value = "项目名称", name = "projectName", required = true)
@NotEmpty(message = "项目名称不能为空")
private String projectName;
@ApiModelProperty(value = "申请人员所属企业ID", name = "applyPersonCorpId", required = true)
@NotNull(message = "申请人员所属企业ID不能为空")
private Long applyPersonCorpId;
@ApiModelProperty(value = "申请人员所属企业名称", name = "applyPersonCorpName", required = true)
@NotEmpty(message = "申请人员所属企业名称不能为空")
private String applyPersonCorpName;
@ApiModelProperty(value = "待审批人员所属部门id", name = "applyPersonDepartmentId", required = true)
@NotNull(message = "待审批人员所属部门id不能为空")
private Long applyPersonDepartmentId;
@ApiModelProperty(value = "申请人员部门名称", name = "applyPersonDepartmentName", required = true)
@NotEmpty(message = "申请人员部门名称不能为空")
private String applyPersonDepartmentName;
@ApiModelProperty(value = "申请人员id", name = "applyPersonUserId", required = true)
@NotNull(message = "申请人员id不能为空")
private Long applyPersonUserId;
@ApiModelProperty(value = "申请人员姓名", name = "applyPersonUserName", required = true)
@NotEmpty(message = "申请人员姓名不能为空")
private String applyPersonUserName;
@ApiModelProperty(value = "申请理由", name = "applyReason", required = true)
@NotEmpty(message = "申请理由不能为空")
private String applyReason;
@ApiModelProperty(value = "申请人头像", name = "userFaceUrl", required = true)
@NotEmpty(message = "申请人头像不能为空")
private String userFaceUrl;
@ApiModelProperty(value = "申请人手机号", name = "userPhone", required = true)
@NotEmpty(message = "申请人手机号不能为空")
private String userPhone;
@ApiModelProperty(value = "申请人身份证号码", name = "userCard", required = true)
@NotEmpty(message = "申请人身份证号码不能为空")
private String userCard;
@ApiModelProperty(value = "随行人员", name = "entourage", required = true)
@NotEmpty(message = "随行人员不能为空")
private String entourage;
@ApiModelProperty(value = "告知签字", name = "informSignId", required = true)
@NotNull(message = "告知签字不能为空")
private Long informSignId;
@ApiModelProperty(value = "审批人员所属企业ID", name = "auditPersonCorpId", required = true)
@NotNull(message = "审批人员所属企业ID不能为空")
private Long auditPersonCorpId;
@ApiModelProperty(value = "审批人员所属企业名称", name = "auditPersonCorpName", required = true)
@NotEmpty(message = "审批人员所属企业名称不能为空")
private String auditPersonCorpName;
@ApiModelProperty(value = "审批人员所属部门id", name = "auditPersonDepartmentId", required = true)
@NotNull(message = "审批人员所属部门id不能为空")
private Long auditPersonDepartmentId;
@ApiModelProperty(value = "审批人员部门名称", name = "auditPersonDepartmentName", required = true)
@NotEmpty(message = "审批人员部门名称不能为空")
private String auditPersonDepartmentName;
@ApiModelProperty(value = "审批人员id", name = "auditPersonUserId", required = true)
@NotNull(message = "审批人员id不能为空")
private Long auditPersonUserId;
@ApiModelProperty(value = "审批人员姓名", name = "auditPersonUserName", required = true)
@NotEmpty(message = "审批人员姓名不能为空")
private String auditPersonUserName;
@ApiModelProperty(value = "审批时间", name = "auditTime", required = true)
@NotEmpty(message = "审批时间不能为空")
private String auditTime;
@ApiModelProperty(value = "驳回原因", name = "refusalReason", required = true)
@NotEmpty(message = "驳回原因不能为空")
private String refusalReason;
}

View File

@ -0,0 +1,43 @@
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.*;
/**
* web-client
* @Author dearLin
* @Date 2026-03-19 10:27:51
*/
@EqualsAndHashCode(callSuper = true)
@Data
@NoArgsConstructor
@AllArgsConstructor
public class ClosedAreaUpdateCmd extends Command {
@ApiModelProperty(value = "主键", name = "id", required = true)
@NotNull(message = "主键不能为空")
private Long id;
@ApiModelProperty(value = "封闭区域名称", name = "closedAreaName", required = true)
// @NotEmpty(message = "封闭区域名称不能为空")
private String closedAreaName;
@ApiModelProperty(value = "区域类型", name = "closedAreaType", required = true)
// @NotEmpty(message = "区域类型不能为空")
private String closedAreaType;
@ApiModelProperty(value = "区域类型名称", name = "closedAreaTypeName", required = true)
// @NotEmpty(message = "区域类型名称不能为空")
private String closedAreaTypeName;
@ApiModelProperty(value = "管辖单位名id", name = "jurisdictionalCorpId", required = true)
// @NotNull(message = "管辖单位名id不能为空")
private Long jurisdictionalCorpId;
@ApiModelProperty(value = "管辖单位名称", name = "jurisdictionalCorpName", required = true)
// @NotEmpty(message = "管辖单位名称不能为空")
private String jurisdictionalCorpName;
@ApiModelProperty(value = "区域经纬度", name = "location", required = true)
// @NotEmpty(message = "区域经纬度不能为空")
private String location;
}

View File

@ -50,6 +50,10 @@ public class MkmjAddCmd extends Command {
private Long outDirectionArea;
@ApiModelProperty(value = "出方向区域名称- 二级有用", name = "outDirectionAreaName", required = true)
private Long outDirectionAreaName;
@ApiModelProperty(value = "封闭区域id 二级有用", name = "closedAreaId")
private Long closedAreaId;
@ApiModelProperty(value = "封闭区域进出类型 1离场2离开进入其他区域", name = "outDirectionType")
private Integer outDirectionType;
@ApiModelProperty(value = "经度", name = "longitude", required = true)
private String longitude;
@ApiModelProperty(value = "纬度", name = "latitude", required = true)

View File

@ -30,6 +30,8 @@ public class MkmjPageQry extends PageQuery {
private Integer mkmjStatus;
@ApiModelProperty(value = "口门类型",name = "mkmjType")
private String mkmjType;
@ApiModelProperty(value = "口门级别 1-一级 2-二级",name = "mkmjLevel")
private Integer mkmjLevel;
@ApiModelProperty(value = "所属区域",name = "hgAuthArea")
private String hgAuthArea;
@ApiModelProperty(value = "前端标识")

View File

@ -27,17 +27,12 @@ public class MkmjUpdateCmd extends Command {
@ApiModelProperty(value = "口门名称", name = "mkmjName", required = true)
@NotEmpty(message = "口门名称不能为空")
private String mkmjName;
@ApiModelProperty(value = "口门级别 1-一级 2-二级", name = "mkmjLevel", required = true)
@NotNull(message = "口门级别 1-一级 2-二级不能为空")
private Integer mkmjLevel;
@ApiModelProperty(value = "口门类型", name = "mkmjType", required = true)
@NotEmpty(message = "口门类型")
private String mkmjType;
@ApiModelProperty(value = "所属港区", name = "hgAuthArea", required = true)
@NotEmpty(message = "所属港区不能为空")
private String hgAuthArea;
@ApiModelProperty(value = "所属港区名称", name = "hgAuthAreaName", required = true)
@NotEmpty(message = "所属港区名称不能为空")
private String hgAuthAreaName;
@ApiModelProperty(value = "口门类型名称1-人行 2-车行 3-综合", name = "mkmjTypeName", required = true)
@NotEmpty(message = "口门类型名称1-人行 2-车行 3-综合不能为空")
@ -57,6 +52,9 @@ public class MkmjUpdateCmd extends Command {
private String longitude;
@ApiModelProperty(value = "纬度", name = "latitude", required = true)
private String latitude;
@ApiModelProperty(value = "封闭区域id 二级有用", name = "closedAreaId")
private Long closedAreaId;
@ApiModelProperty(value = "封闭区域进出类型 1离场2离开进入其他区域", name = "outDirectionType")
private Integer outDirectionType;
}

View File

@ -0,0 +1,62 @@
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 dearLin
* @Date 2026-03-19 10:27:50
*/
@Data
public class ClosedAreaCO extends ClientObject {
//主键
@ApiModelProperty(value = "主键")
private Long id;
//父id
@ApiModelProperty(value = "父id")
private Long parentId;
@ApiModelProperty(value = "所属港区")
private String hgAuthArea;
@ApiModelProperty(value = "所属港区名称")
private String hgAuthAreaName;
//封闭区域名称
@ApiModelProperty(value = "封闭区域名称")
private String closedAreaName;
//区域类型
@ApiModelProperty(value = "区域类型")
private String closedAreaType;
//区域类型名称
@ApiModelProperty(value = "区域类型名称")
private String closedAreaTypeName;
//管辖单位名id
@ApiModelProperty(value = "管辖单位名id")
private Long jurisdictionalCorpId;
//管辖单位名称
@ApiModelProperty(value = "管辖单位名称")
private String jurisdictionalCorpName;
//区域经纬度
@ApiModelProperty(value = "区域经纬度")
private String location;
//删除标识true false
@ApiModelProperty(value = "删除标识true false")
private String deleteEnum;
//备注
@ApiModelProperty(value = "备注")
private String remarks;
@ApiModelProperty(value = "封闭区域数")
private Integer totalAreaCount;
@ApiModelProperty(value = "管辖单位数")
private Integer totalCorpCount;
@ApiModelProperty(value = "是否有子集1有2没有")
private Integer hasChild;
}

View File

@ -0,0 +1,125 @@
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 dearLin
* @Date 2026-03-19 13:59:16
*/
@Data
public class ClosedAreaPersonApplyCO extends ClientObject {
//主键
@ApiModelProperty(value = "主键")
private Long id;
//申请归属1股份2分公司3相关方4临时人员
@ApiModelProperty(value = "申请归属1股份2分公司3相关方4临时人员")
private Integer personBelongType;
//一级口门id
@ApiModelProperty(value = "一级口门id")
private Long levelOneMkmjId;
//审核状态(1:审核中;2审核通过; 3审核驳回)
@ApiModelProperty(value = "审核状态(1:审核中;2审核通过; 3审核驳回)")
private Integer auditFlag;
//二级口门id(封闭区域口门)
@ApiModelProperty(value = "二级口门id(封闭区域口门)")
private Long levelTwoMkmjId;
//封闭区域id
@ApiModelProperty(value = "封闭区域id")
private Long closedAreaId;
//封闭区域名称
@ApiModelProperty(value = "封闭区域名称")
private String closedAreaName;
//访问起始时间
@ApiModelProperty(value = "访问起始时间")
private String visitStartTime;
//访问结束时间
@ApiModelProperty(value = "访问结束时间")
private String visitEndTime;
//管辖单位名id
@ApiModelProperty(value = "管辖单位名id")
private Long jurisdictionalCorpId;
//管辖单位名称
@ApiModelProperty(value = "管辖单位名称")
private String jurisdictionalCorpName;
//项目id
@ApiModelProperty(value = "项目id")
private Long projectId;
//项目名称
@ApiModelProperty(value = "项目名称")
private String projectName;
//申请人员所属企业ID
@ApiModelProperty(value = "申请人员所属企业ID")
private Long applyPersonCorpId;
//申请人员所属企业名称
@ApiModelProperty(value = "申请人员所属企业名称")
private String applyPersonCorpName;
//待审批人员所属部门id
@ApiModelProperty(value = "待审批人员所属部门id")
private Long applyPersonDepartmentId;
//申请人员部门名称
@ApiModelProperty(value = "申请人员部门名称")
private String applyPersonDepartmentName;
//申请人员id
@ApiModelProperty(value = "申请人员id")
private Long applyPersonUserId;
//申请人员姓名
@ApiModelProperty(value = "申请人员姓名")
private String applyPersonUserName;
//申请理由
@ApiModelProperty(value = "申请理由")
private String applyReason;
//申请人头像
@ApiModelProperty(value = "申请人头像")
private String userFaceUrl;
//申请人手机号
@ApiModelProperty(value = "申请人手机号")
private String userPhone;
//申请人身份证号码
@ApiModelProperty(value = "申请人身份证号码")
private String userCard;
//随行人员
@ApiModelProperty(value = "随行人员")
private String entourage;
//告知签字
@ApiModelProperty(value = "告知签字")
private Long informSignId;
//审批人员所属企业ID
@ApiModelProperty(value = "审批人员所属企业ID")
private Long auditPersonCorpId;
//审批人员所属企业名称
@ApiModelProperty(value = "审批人员所属企业名称")
private String auditPersonCorpName;
//审批人员所属部门id
@ApiModelProperty(value = "审批人员所属部门id")
private Long auditPersonDepartmentId;
//审批人员部门名称
@ApiModelProperty(value = "审批人员部门名称")
private String auditPersonDepartmentName;
//审批人员id
@ApiModelProperty(value = "审批人员id")
private Long auditPersonUserId;
//审批人员姓名
@ApiModelProperty(value = "审批人员姓名")
private String auditPersonUserName;
//审批时间
@ApiModelProperty(value = "审批时间")
private String auditTime;
//驳回原因
@ApiModelProperty(value = "驳回原因")
private String refusalReason;
//删除标识true false
@ApiModelProperty(value = "删除标识true false")
private String deleteEnum;
@ApiModelProperty(value = "当前用户是否能审核。1能审核2不能审核", name = "currentUserCanAudit")
private Integer currentUserCanAudit;
}

View File

@ -56,5 +56,18 @@ public class MkmjCO extends ClientObject {
private Integer videoCount;
@ApiModelProperty(value = "通道数量")
private Integer passageCount;
@ApiModelProperty(value = "封闭区域id 二级有用", name = "closedAreaId")
private Long closedAreaId;
@ApiModelProperty(value = "封闭区域名称", name = "closedAreaName")
private String closedAreaName;
@ApiModelProperty(value = "管辖单位名id",name = "jurisdictionalCorpId")
private Long jurisdictionalCorpId;
//管辖单位名称
@ApiModelProperty(value = "管辖单位名称",name = "jurisdictionalCorpName")
private String jurisdictionalCorpName;
@ApiModelProperty(value = "封闭区域进出类型 1离场2离开进入其他区域", name = "outDirectionType")
private Integer outDirectionType;
}

View File

@ -0,0 +1,37 @@
package com.zcloud.primeport.dto.clientobject;
import com.alibaba.cola.dto.ClientObject;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
@Data
public class UserCo extends ClientObject {
@ApiModelProperty(value = "企业id",name = "corpId")
private Long corpId;
@ApiModelProperty(value = "企业名称",name = "corpName")
private String corpName;
@ApiModelProperty(value = "部门id",name = "deptId")
private Long deptId;
@ApiModelProperty(value = "部门名称",name = "deptName")
private String deptName;
@ApiModelProperty(value = "用户id",name = "userId")
private Long userId;
@ApiModelProperty(value = "入职状态0-离职, 1-在职, 2-信息变更中, 3-未入职, 4-实习生, 5-实习结束, 6-退休, 7-劳务派遣, 8-劳务派遣结束, 11-入职待审核, 10-离职待审核",name = "employmentFlag")
private Integer employmentFlag;
@ApiModelProperty(value = "手机号",name = "phone")
private String phone;
@ApiModelProperty(value = "姓名",name = "name")
private String name;
@ApiModelProperty(value = "用户名",name = "userName")
private String userName;
@ApiModelProperty(value = "人资状态 是否存在人资系统, 1-是, 0-否",name = "rzFlag")
private Integer rzFlag;
@ApiModelProperty(value = "用户人脸",name = "userFaceUrl")
private String userFaceUrl;
@ApiModelProperty(value = "用户身份证",name = "userIdCard")
private String userIdCard;
@ApiModelProperty(value = "用户审批过的车辆数",name = "vehicleCount")
private Integer vehicleCount;
@ApiModelProperty(value = "用户是否有封闭区域权限(1:有 2无)",name = "mkmjPermission")
private Integer mkmjPermission;
}

View File

@ -123,5 +123,7 @@ public class VehicleAuditCO extends ClientObject {
//变更前信息
@ApiModelProperty(value = "变更前信息", name = "changeBefore")
private String changeBefore;
@ApiModelProperty(value = "申请人名称", name = "applyUserName")
private String applyUserName;
}

View File

@ -0,0 +1,17 @@
package com.zcloud.primeport.domain.gateway;
import com.zcloud.primeport.domain.model.ClosedAreaFgsPersonAreaE;
import java.util.ArrayList;
/**
* web-domain
* @Author dearLin
* @Date 2026-03-19 17:38:37
*/
public interface ClosedAreaFgsPersonAreaGateway {
void removeByFgspersonAuthId(Long id);
void saveBatch(ArrayList<ClosedAreaFgsPersonAreaE> objects);
}

View File

@ -0,0 +1,14 @@
package com.zcloud.primeport.domain.gateway;
import com.zcloud.primeport.domain.model.ClosedAreaFgsPersonAuthE;
/**
* web-domain
* @Author dearLin
* @Date 2026-03-19 17:37:04
*/
public interface ClosedAreaFgsPersonAuthGateway {
void addOrUpdate(ClosedAreaFgsPersonAuthE closedAreaFgsPersonAuthE);
}

View File

@ -0,0 +1,28 @@
package com.zcloud.primeport.domain.gateway;
import com.zcloud.primeport.domain.model.ClosedAreaE;
/**
* web-domain
* @Author dearLin
* @Date 2026-03-19 10:27:51
*/
public interface ClosedAreaGateway {
/**
*
*/
Boolean add(ClosedAreaE closedAreaE) ;
/**
*
*/
Boolean update(ClosedAreaE closedAreaE);
/**
*
*/
Boolean deletedClosedAreaById(Long id);
Boolean deletedClosedAreaByIds(Long[] id);
}

View File

@ -0,0 +1,29 @@
package com.zcloud.primeport.domain.gateway;
import com.zcloud.primeport.domain.model.ClosedAreaPersonApplyE;
/**
* web-domain
* @Author dearLin
* @Date 2026-03-19 13:59:16
*/
public interface ClosedAreaPersonApplyGateway {
/**
*
*/
Boolean add(ClosedAreaPersonApplyE closedAreaPersonApplyE) ;
/**
*
*/
Boolean update(ClosedAreaPersonApplyE closedAreaPersonApplyE);
/**
*
*/
Boolean deletedClosedAreaPersonApplyById(Long id);
Boolean deletedClosedAreaPersonApplyByIds(Long[] id);
}

View File

@ -0,0 +1,33 @@
package com.zcloud.primeport.domain.model;
import com.alibaba.cola.domain.Entity;
import com.jjb.saas.framework.domain.model.BaseE;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
/**
* web-domain
* @Author dearLin
* @Date 2026-03-19 10:27:50
*/
@Data
public class ClosedAreaE extends BaseE {
//父id
private Long parentId;
private String hgAuthArea;
private String hgAuthAreaName;
//封闭区域名称
private String closedAreaName;
//区域类型
private String closedAreaType;
//区域类型名称
private String closedAreaTypeName;
//管辖单位名id
private Long jurisdictionalCorpId;
//管辖单位名称
private String jurisdictionalCorpName;
//区域经纬度
private String location;
}

View File

@ -0,0 +1,18 @@
package com.zcloud.primeport.domain.model;
import com.jjb.saas.framework.domain.model.BaseE;
import lombok.Data;
/**
* web-domain
* @Author dearLin
* @Date 2026-03-19 17:38:37
*/
@Data
public class ClosedAreaFgsPersonAreaE extends BaseE {
//主键
private Long fgsPersonAuthId;
private Long closedAreaId;
private String closedAreaName;
}

View File

@ -0,0 +1,19 @@
package com.zcloud.primeport.domain.model;
import com.jjb.saas.framework.domain.model.BaseE;
import lombok.Data;
/**
* web-domain
* @Author dearLin
* @Date 2026-03-19 17:37:04
*/
@Data
public class ClosedAreaFgsPersonAuthE extends BaseE {
private Long corpId;
private Long departmentId;
private Long userId;
//进出港权限(1:有 2无)
private Integer mkmjPermission;
}

View File

@ -0,0 +1,78 @@
package com.zcloud.primeport.domain.model;
import com.jjb.saas.framework.domain.model.BaseE;
import lombok.Data;
/**
* web-domain
* @Author dearLin
* @Date 2026-03-19 13:59:16
*/
@Data
public class ClosedAreaPersonApplyE extends BaseE {
//申请归属1股份2分公司3相关方4临时人员
private Integer personBelongType;
//一级口门id
private Long levelOneMkmjId;
//审核状态(1:审核中;2审核通过; 3审核驳回)
private Integer auditFlag;
//二级口门id(封闭区域口门)
private Long levelTwoMkmjId;
//封闭区域id
private Long closedAreaId;
//封闭区域名称
private String closedAreaName;
//访问起始时间
private String visitStartTime;
//访问结束时间
private String visitEndTime;
//管辖单位名id
private Long jurisdictionalCorpId;
//管辖单位名称
private String jurisdictionalCorpName;
//项目id
private Long projectId;
//项目名称
private String projectName;
//申请人员所属企业ID
private Long applyPersonCorpId;
//申请人员所属企业名称
private String applyPersonCorpName;
//待审批人员所属部门id
private Long applyPersonDepartmentId;
//申请人员部门名称
private String applyPersonDepartmentName;
//申请人员id
private Long applyPersonUserId;
//申请人员姓名
private String applyPersonUserName;
//申请理由
private String applyReason;
//申请人头像
private String userFaceUrl;
//申请人手机号
private String userPhone;
//申请人身份证号码
private String userCard;
//随行人员
private String entourage;
//告知签字
private Long informSignId;
//审批人员所属企业ID
private Long auditPersonCorpId;
//审批人员所属企业名称
private String auditPersonCorpName;
//审批人员所属部门id
private Long auditPersonDepartmentId;
//审批人员部门名称
private String auditPersonDepartmentName;
//审批人员id
private Long auditPersonUserId;
//审批人员姓名
private String auditPersonUserName;
//审批时间
private String auditTime;
//驳回原因
private String refusalReason;
}

View File

@ -45,5 +45,8 @@ public class MkmjE extends BaseE {
private String longitude;
//纬度
private String latitude;
private Long closedAreaId;
private Integer outDirectionType;
}

View File

@ -0,0 +1,44 @@
package com.zcloud.primeport.gatewayimpl;
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
import com.zcloud.primeport.domain.gateway.ClosedAreaFgsPersonAreaGateway;
import com.zcloud.primeport.domain.gateway.ClosedAreaFgsPersonAuthGateway;
import com.zcloud.primeport.domain.model.ClosedAreaFgsPersonAreaE;
import com.zcloud.primeport.domain.model.ClosedAreaFgsPersonAuthE;
import com.zcloud.primeport.persistence.dataobject.ClosedAreaFgsPersonAreaDO;
import com.zcloud.primeport.persistence.dataobject.ClosedAreaFgsPersonAuthDO;
import com.zcloud.primeport.persistence.repository.ClosedAreaFgsPersonAreaRepository;
import com.zcloud.primeport.persistence.repository.ClosedAreaFgsPersonAuthRepository;
import lombok.AllArgsConstructor;
import org.springframework.beans.BeanUtils;
import org.springframework.stereotype.Service;
import java.util.ArrayList;
@Service
@AllArgsConstructor
public class ClosedAreaFgsPersonAreaGatewayImpl implements ClosedAreaFgsPersonAreaGateway {
private final ClosedAreaFgsPersonAreaRepository closedAreaFgsPersonAreaRepository;
@Override
public void removeByFgspersonAuthId(Long id) {
UpdateWrapper<ClosedAreaFgsPersonAreaDO> objectUpdateWrapper = new UpdateWrapper<>();
objectUpdateWrapper.eq("fgs_person_auth_id",id);
objectUpdateWrapper.set("delete_enum","TRUE");
closedAreaFgsPersonAreaRepository.update(objectUpdateWrapper);
}
@Override
public void saveBatch(ArrayList<ClosedAreaFgsPersonAreaE> objects) {
ArrayList<ClosedAreaFgsPersonAreaDO> closedAreaFgsPersonAreaDOS = new ArrayList<>();
objects.forEach(item ->{
ClosedAreaFgsPersonAreaDO closedAreaFgsPersonAreaDO = new ClosedAreaFgsPersonAreaDO();
closedAreaFgsPersonAreaDO.setClosedAreaId(item.getClosedAreaId());
closedAreaFgsPersonAreaDO.setClosedAreaName(item.getClosedAreaName());
closedAreaFgsPersonAreaDO.setFgsPersonAuthId(item.getFgsPersonAuthId());
closedAreaFgsPersonAreaDOS.add(closedAreaFgsPersonAreaDO);
});
closedAreaFgsPersonAreaRepository.saveBatch(closedAreaFgsPersonAreaDOS);
}
}

View File

@ -0,0 +1,24 @@
package com.zcloud.primeport.gatewayimpl;
import com.zcloud.primeport.domain.gateway.ClosedAreaFgsPersonAuthGateway;
import com.zcloud.primeport.domain.model.ClosedAreaFgsPersonAuthE;
import com.zcloud.primeport.persistence.dataobject.ClosedAreaFgsPersonAuthDO;
import com.zcloud.primeport.persistence.repository.ClosedAreaFgsPersonAuthRepository;
import com.zcloud.primeport.persistence.repository.ClosedAreaRepository;
import lombok.AllArgsConstructor;
import org.springframework.beans.BeanUtils;
import org.springframework.stereotype.Service;
@Service
@AllArgsConstructor
public class ClosedAreaFgsPersonAuthGatewayImpl implements ClosedAreaFgsPersonAuthGateway {
private final ClosedAreaFgsPersonAuthRepository closedAreaFgsPersonAuthRepository;
@Override
public void addOrUpdate(ClosedAreaFgsPersonAuthE closedAreaFgsPersonAuthE) {
ClosedAreaFgsPersonAuthDO closedAreaFgsPersonAuthDO = new ClosedAreaFgsPersonAuthDO();
BeanUtils.copyProperties(closedAreaFgsPersonAuthE, closedAreaFgsPersonAuthDO);
closedAreaFgsPersonAuthRepository.saveOrUpdate(closedAreaFgsPersonAuthDO);
closedAreaFgsPersonAuthE.setUserId(closedAreaFgsPersonAuthDO.getId());
}
}

View File

@ -0,0 +1,56 @@
package com.zcloud.primeport.gatewayimpl;
import com.alibaba.cola.exception.BizException;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.zcloud.primeport.domain.gateway.ClosedAreaGateway;
import com.zcloud.primeport.domain.model.ClosedAreaE;
import com.zcloud.primeport.persistence.dataobject.ClosedAreaDO;
import com.zcloud.primeport.persistence.repository.ClosedAreaRepository;
import lombok.AllArgsConstructor;
import org.springframework.beans.BeanUtils;
import org.springframework.stereotype.Service;
import java.util.Arrays;
/**
* web-infrastructure
* @Author dearLin
* @Date 2026-03-19 10:27:51
*/
@Service
@AllArgsConstructor
public class ClosedAreaGatewayImpl implements ClosedAreaGateway {
private final ClosedAreaRepository closedAreaRepository;
@Override
public Boolean add(ClosedAreaE closedAreaE) {
ClosedAreaDO d = new ClosedAreaDO();
BeanUtils.copyProperties(closedAreaE, d);
closedAreaRepository.save(d);
return true;
}
@Override
public Boolean update(ClosedAreaE closedAreaE) {
ClosedAreaDO d = new ClosedAreaDO();
BeanUtils.copyProperties(closedAreaE, d);
closedAreaRepository.updateById(d);
return true;
}
@Override
public Boolean deletedClosedAreaById(Long id) {
QueryWrapper<ClosedAreaDO> objectQueryWrapper = new QueryWrapper<>();
objectQueryWrapper.eq("parent_id",id);
if (!closedAreaRepository.list(objectQueryWrapper).isEmpty()) {
throw new BizException("当前区域有子区域禁止删除");
}
return closedAreaRepository.removeById(id);
}
@Override
public Boolean deletedClosedAreaByIds(Long[] ids) {
return closedAreaRepository.removeByIds(Arrays.asList(ids));
}
}

View File

@ -0,0 +1,51 @@
package com.zcloud.primeport.gatewayimpl;
import com.zcloud.primeport.domain.gateway.ClosedAreaPersonApplyGateway;
import com.zcloud.primeport.domain.model.ClosedAreaPersonApplyE;
import com.zcloud.primeport.persistence.dataobject.ClosedAreaPersonApplyDO;
import com.zcloud.primeport.persistence.repository.ClosedAreaPersonApplyRepository;
import lombok.AllArgsConstructor;
import org.springframework.beans.BeanUtils;
import org.springframework.stereotype.Service;
import java.util.Arrays;
/**
* web-infrastructure
* @Author dearLin
* @Date 2026-03-19 13:59:16
*/
@Service
@AllArgsConstructor
public class ClosedAreaPersonApplyGatewayImpl implements ClosedAreaPersonApplyGateway {
private final ClosedAreaPersonApplyRepository closedAreaPersonApplyRepository;
@Override
public Boolean add(ClosedAreaPersonApplyE closedAreaPersonApplyE) {
ClosedAreaPersonApplyDO d = new ClosedAreaPersonApplyDO();
BeanUtils.copyProperties(closedAreaPersonApplyE, d);
closedAreaPersonApplyRepository.save(d);
return true;
}
@Override
public Boolean update(ClosedAreaPersonApplyE closedAreaPersonApplyE) {
ClosedAreaPersonApplyDO d = new ClosedAreaPersonApplyDO();
BeanUtils.copyProperties(closedAreaPersonApplyE, d);
closedAreaPersonApplyRepository.updateById(d);
return true;
}
@Override
public Boolean deletedClosedAreaPersonApplyById(Long id) {
return closedAreaPersonApplyRepository.removeById(id);
}
@Override
public Boolean deletedClosedAreaPersonApplyByIds(Long[] ids) {
return closedAreaPersonApplyRepository.removeByIds(Arrays.asList(ids));
}
}

View File

@ -0,0 +1,56 @@
package com.zcloud.primeport.persistence.dataobject;
import com.baomidou.mybatisplus.annotation.TableField;
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 dearLin
* @Date 2026-03-19 10:27:50
*/
@Data
@TableName("closed_area")
@NoArgsConstructor
@EqualsAndHashCode(callSuper = true)
public class ClosedAreaDO extends BaseDO {
//父id
@ApiModelProperty(value = "父id")
private Long parentId;
//封闭区域名称
@ApiModelProperty(value = "所属港区")
private String hgAuthArea;
@ApiModelProperty(value = "所属港区名称")
private String hgAuthAreaName;
@ApiModelProperty(value = "封闭区域名称")
private String closedAreaName;
//区域类型
@ApiModelProperty(value = "区域类型")
private String closedAreaType;
//区域类型名称
@ApiModelProperty(value = "区域类型名称")
private String closedAreaTypeName;
//管辖单位名id
@ApiModelProperty(value = "管辖单位名id")
private Long jurisdictionalCorpId;
//管辖单位名称
@ApiModelProperty(value = "管辖单位名称")
private String jurisdictionalCorpName;
//区域经纬度
@ApiModelProperty(value = "区域经纬度")
private String location;
@ApiModelProperty(value = "封闭区域数")
@TableField(exist = false)
private Integer totalAreaCount;
@ApiModelProperty(value = "管辖单位数")
@TableField(exist = false)
private Integer totalCorpCount;
@TableField(exist = false)
private Integer hasChild;
}

View File

@ -0,0 +1,28 @@
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 dearLin
* @Date 2026-03-19 17:38:37
*/
@Data
@TableName("closed_area_fgs_person_area")
@NoArgsConstructor
@EqualsAndHashCode(callSuper = true)
public class ClosedAreaFgsPersonAreaDO extends BaseDO {
//主键
@ApiModelProperty(value = "主键")
private Long fgsPersonAuthId;
private Long closedAreaId;
private String closedAreaName;
}

View File

@ -0,0 +1,27 @@
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 dearLin
* @Date 2026-03-19 17:37:04
*/
@Data
@TableName("closed_area_fgs_person_auth")
@NoArgsConstructor
@EqualsAndHashCode(callSuper = true)
public class ClosedAreaFgsPersonAuthDO extends BaseDO {
private Long corpId;
private Long departmentId;
private Long userId;
//进出港权限(1:有 2无)
@ApiModelProperty(value = "进出港权限(1:有 2无)")
private Integer mkmjPermission;
}

View File

@ -0,0 +1,120 @@
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 dearLin
* @Date 2026-03-19 13:59:16
*/
@Data
@TableName("closed_area_person_apply")
@NoArgsConstructor
@EqualsAndHashCode(callSuper = true)
public class ClosedAreaPersonApplyDO extends BaseDO {
//申请归属1股份2分公司3相关方4临时人员
@ApiModelProperty(value = "申请归属1股份2分公司3相关方4临时人员")
private Integer personBelongType;
//一级口门id
@ApiModelProperty(value = "一级口门id")
private Long levelOneMkmjId;
//审核状态(1:审核中;2审核通过; 3审核驳回)
@ApiModelProperty(value = "审核状态(1:审核中;2审核通过; 3审核驳回)")
private Integer auditFlag;
//二级口门id(封闭区域口门)
@ApiModelProperty(value = "二级口门id(封闭区域口门)")
private Long levelTwoMkmjId;
//封闭区域id
@ApiModelProperty(value = "封闭区域id")
private Long closedAreaId;
//封闭区域名称
@ApiModelProperty(value = "封闭区域名称")
private String closedAreaName;
//访问起始时间
@ApiModelProperty(value = "访问起始时间")
private String visitStartTime;
//访问结束时间
@ApiModelProperty(value = "访问结束时间")
private String visitEndTime;
//管辖单位名id
@ApiModelProperty(value = "管辖单位名id")
private Long jurisdictionalCorpId;
//管辖单位名称
@ApiModelProperty(value = "管辖单位名称")
private String jurisdictionalCorpName;
//项目id
@ApiModelProperty(value = "项目id")
private Long projectId;
//项目名称
@ApiModelProperty(value = "项目名称")
private String projectName;
//申请人员所属企业ID
@ApiModelProperty(value = "申请人员所属企业ID")
private Long applyPersonCorpId;
//申请人员所属企业名称
@ApiModelProperty(value = "申请人员所属企业名称")
private String applyPersonCorpName;
//待审批人员所属部门id
@ApiModelProperty(value = "待审批人员所属部门id")
private Long applyPersonDepartmentId;
//申请人员部门名称
@ApiModelProperty(value = "申请人员部门名称")
private String applyPersonDepartmentName;
//申请人员id
@ApiModelProperty(value = "申请人员id")
private Long applyPersonUserId;
//申请人员姓名
@ApiModelProperty(value = "申请人员姓名")
private String applyPersonUserName;
//申请理由
@ApiModelProperty(value = "申请理由")
private String applyReason;
//申请人头像
@ApiModelProperty(value = "申请人头像")
private String userFaceUrl;
//申请人手机号
@ApiModelProperty(value = "申请人手机号")
private String userPhone;
//申请人身份证号码
@ApiModelProperty(value = "申请人身份证号码")
private String userCard;
//随行人员
@ApiModelProperty(value = "随行人员")
private String entourage;
//告知签字
@ApiModelProperty(value = "告知签字")
private Long informSignId;
//审批人员所属企业ID
@ApiModelProperty(value = "审批人员所属企业ID")
private Long auditPersonCorpId;
//审批人员所属企业名称
@ApiModelProperty(value = "审批人员所属企业名称")
private String auditPersonCorpName;
//审批人员所属部门id
@ApiModelProperty(value = "审批人员所属部门id")
private Long auditPersonDepartmentId;
//审批人员部门名称
@ApiModelProperty(value = "审批人员部门名称")
private String auditPersonDepartmentName;
//审批人员id
@ApiModelProperty(value = "审批人员id")
private Long auditPersonUserId;
//审批人员姓名
@ApiModelProperty(value = "审批人员姓名")
private String auditPersonUserName;
//审批时间
@ApiModelProperty(value = "审批时间")
private String auditTime;
//驳回原因
@ApiModelProperty(value = "驳回原因")
private String refusalReason;
}

View File

@ -52,6 +52,10 @@ public class MkmjDO extends BaseDO {
//出方向区域名称- 二级有用
@ApiModelProperty(value = "出方向区域名称- 二级有用")
private Long outDirectionAreaName;
@ApiModelProperty(value = "封闭区域id 二级有用", name = "closedAreaId")
private Long closedAreaId;
@ApiModelProperty(value = "封闭区域进出类型 1离场2离开进入其他区域", name = "outDirectionType")
private Integer outDirectionType;
//经度
@ApiModelProperty(value = "经度")
private String longitude;
@ -66,5 +70,9 @@ public class MkmjDO extends BaseDO {
@ApiModelProperty(value = "通道数量")
@TableField(exist = false)
private Integer passageCount;
@TableField(exist = false)
private Long jurisdictionalCorpId;
@TableField(exist = false)
private String jurisdictionalCorpName;
}

View File

@ -0,0 +1,38 @@
package com.zcloud.primeport.persistence.dataobject;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.io.Serializable;
@Data
public class UserDto implements Serializable {
@ApiModelProperty(value = "企业id",name = "corpId")
private Long corpId;
@ApiModelProperty(value = "企业名称",name = "corpName")
private String corpName;
@ApiModelProperty(value = "部门id",name = "deptId")
private Long deptId;
@ApiModelProperty(value = "部门名称",name = "deptName")
private String deptName;
@ApiModelProperty(value = "用户id",name = "userId")
private Long userId;
@ApiModelProperty(value = "入职状态0-离职, 1-在职, 2-信息变更中, 3-未入职, 4-实习生, 5-实习结束, 6-退休, 7-劳务派遣, 8-劳务派遣结束, 11-入职待审核, 10-离职待审核",name = "employmentFlag")
private Integer employmentFlag;
@ApiModelProperty(value = "手机号",name = "phone")
private String phone;
@ApiModelProperty(value = "姓名",name = "name")
private String name;
@ApiModelProperty(value = "用户名",name = "userName")
private String userName;
@ApiModelProperty(value = "人资状态 是否存在人资系统, 1-是, 0-否",name = "rzFlag")
private Integer rzFlag;
@ApiModelProperty(value = "用户人脸",name = "userFaceUrl")
private String userFaceUrl;
@ApiModelProperty(value = "用户身份证",name = "userIdCard")
private String userIdCard;
@ApiModelProperty(value = "用户审批过的车辆数",name = "vehicleCount")
private Integer vehicleCount;
@ApiModelProperty(value = "用户是否有封闭区域权限(1:有 2无)",name = "mkmjPermission")
private Integer mkmjPermission;
}

View File

@ -130,6 +130,8 @@ public class VehicleAuditDO extends BaseDO {
private String lsUserIdcard;
@TableField(exist = false)
private String reasonVisit;
@TableField(exist = false)
private String applyUserName;
}

View File

@ -0,0 +1,16 @@
package com.zcloud.primeport.persistence.mapper;
import com.zcloud.primeport.persistence.dataobject.ClosedAreaFgsPersonAreaDO;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.apache.ibatis.annotations.Mapper;
/**
* web-infrastructure
* @Author dearLin
* @Date 2026-03-19 17:38:37
*/
@Mapper
public interface ClosedAreaFgsPersonAreaMapper extends BaseMapper<ClosedAreaFgsPersonAreaDO> {
}

View File

@ -0,0 +1,16 @@
package com.zcloud.primeport.persistence.mapper;
import com.zcloud.primeport.persistence.dataobject.ClosedAreaFgsPersonAuthDO;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.apache.ibatis.annotations.Mapper;
/**
* web-infrastructure
* @Author dearLin
* @Date 2026-03-19 17:37:04
*/
@Mapper
public interface ClosedAreaFgsPersonAuthMapper extends BaseMapper<ClosedAreaFgsPersonAuthDO> {
}

View File

@ -0,0 +1,24 @@
package com.zcloud.primeport.persistence.mapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.zcloud.primeport.persistence.dataobject.ClosedAreaDO;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.apache.ibatis.annotations.Mapper;
import java.util.List;
import java.util.Map;
/**
* web-infrastructure
*
* @Author dearLin
* @Date 2026-03-19 10:27:51
*/
@Mapper
public interface ClosedAreaMapper extends BaseMapper<ClosedAreaDO> {
List<ClosedAreaDO> getCountByHgAuthArea();
IPage<ClosedAreaDO> listPage(IPage<ClosedAreaDO> iPage, Map<String, Object> params);
}

View File

@ -0,0 +1,24 @@
package com.zcloud.primeport.persistence.mapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.zcloud.primeport.persistence.dataobject.ClosedAreaPersonApplyDO;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.zcloud.primeport.persistence.dataobject.UserDto;
import org.apache.ibatis.annotations.Mapper;
import java.util.Map;
/**
* web-infrastructure
* @Author dearLin
* @Date 2026-03-19 13:59:16
*/
@Mapper
public interface ClosedAreaPersonApplyMapper extends BaseMapper<ClosedAreaPersonApplyDO> {
IPage<UserDto> getCorpUserList(IPage<ClosedAreaPersonApplyDO> iPage, Map<String, Object> params);
IPage<ClosedAreaPersonApplyDO> listPage(Page<Map<String, Object>> page, Map<String, Object> parmas, String menuPerms);
}

View File

@ -0,0 +1,16 @@
package com.zcloud.primeport.persistence.repository;
import com.zcloud.primeport.persistence.dataobject.ClosedAreaFgsPersonAreaDO;
import com.alibaba.cola.dto.PageResponse;
import com.jjb.saas.framework.repository.repo.BaseRepository;
import java.util.Map;
/**
* web-infrastructure
* @Author dearLin
* @Date 2026-03-19 17:38:38
*/
public interface ClosedAreaFgsPersonAreaRepository extends BaseRepository<ClosedAreaFgsPersonAreaDO> {
PageResponse<ClosedAreaFgsPersonAreaDO> listPage(Map<String,Object> params);
}

View File

@ -0,0 +1,16 @@
package com.zcloud.primeport.persistence.repository;
import com.zcloud.primeport.persistence.dataobject.ClosedAreaFgsPersonAuthDO;
import com.alibaba.cola.dto.PageResponse;
import com.jjb.saas.framework.repository.repo.BaseRepository;
import java.util.Map;
/**
* web-infrastructure
* @Author dearLin
* @Date 2026-03-19 17:37:04
*/
public interface ClosedAreaFgsPersonAuthRepository extends BaseRepository<ClosedAreaFgsPersonAuthDO> {
PageResponse<ClosedAreaFgsPersonAuthDO> listPage(Map<String,Object> params);
}

View File

@ -0,0 +1,20 @@
package com.zcloud.primeport.persistence.repository;
import com.zcloud.primeport.persistence.dataobject.ClosedAreaPersonApplyDO;
import com.alibaba.cola.dto.PageResponse;
import com.jjb.saas.framework.repository.repo.BaseRepository;
import com.zcloud.primeport.persistence.dataobject.UserDto;
import java.util.Map;
/**
* web-infrastructure
* @Author dearLin
* @Date 2026-03-19 13:59:16
*/
public interface ClosedAreaPersonApplyRepository extends BaseRepository<ClosedAreaPersonApplyDO> {
PageResponse<ClosedAreaPersonApplyDO> listPage(Map<String,Object> params);
PageResponse<UserDto> getCorpUserList(Map<String, Object> params);
}

View File

@ -0,0 +1,20 @@
package com.zcloud.primeport.persistence.repository;
import com.zcloud.primeport.persistence.dataobject.ClosedAreaDO;
import com.alibaba.cola.dto.PageResponse;
import com.jjb.saas.framework.repository.repo.BaseRepository;
import java.util.List;
import java.util.Map;
/**
* web-infrastructure
* @Author dearLin
* @Date 2026-03-19 10:27:51
*/
public interface ClosedAreaRepository extends BaseRepository<ClosedAreaDO> {
PageResponse<ClosedAreaDO> listPage(Map<String,Object> params);
List<ClosedAreaDO> getCountByHgAuthArea();
}

View File

@ -0,0 +1,37 @@
package com.zcloud.primeport.persistence.repository.impl;
import com.zcloud.primeport.persistence.dataobject.ClosedAreaFgsPersonAuthDO;
import com.zcloud.primeport.persistence.mapper.ClosedAreaFgsPersonAuthMapper;
import com.zcloud.primeport.persistence.repository.ClosedAreaFgsPersonAuthRepository;
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.Map;
/**
* web-infrastructure
* @Author dearLin
* @Date 2026-03-19 17:37:04
*/
@Service
@RequiredArgsConstructor
public class ClosedAreaFgsPersonAuthRepositoryImpl extends BaseRepositoryImpl<ClosedAreaFgsPersonAuthMapper, ClosedAreaFgsPersonAuthDO> implements ClosedAreaFgsPersonAuthRepository {
private final ClosedAreaFgsPersonAuthMapper closedAreaFgsPersonAuthMapper;
@Override
public PageResponse<ClosedAreaFgsPersonAuthDO> listPage(Map<String,Object> params) {
IPage<ClosedAreaFgsPersonAuthDO> iPage = new Query<ClosedAreaFgsPersonAuthDO>().getPage(params);
QueryWrapper<ClosedAreaFgsPersonAuthDO> queryWrapper = new QueryWrapper<>();
queryWrapper = PageQueryHelper.createPageQueryWrapper(queryWrapper, params);
queryWrapper.orderByDesc("create_time");
IPage<ClosedAreaFgsPersonAuthDO> result = closedAreaFgsPersonAuthMapper.selectPage(iPage, queryWrapper);
return PageHelper.pageToResponse(result, result.getRecords());
}
}

View File

@ -0,0 +1,52 @@
package com.zcloud.primeport.persistence.repository.impl;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.zcloud.primeport.domain.enums.MenuEnum;
import com.zcloud.primeport.persistence.dataobject.ClosedAreaPersonApplyDO;
import com.zcloud.primeport.persistence.dataobject.MkmjApprovalUserDO;
import com.zcloud.primeport.persistence.dataobject.UserDto;
import com.zcloud.primeport.persistence.mapper.ClosedAreaPersonApplyMapper;
import com.zcloud.primeport.persistence.repository.ClosedAreaPersonApplyRepository;
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.Map;
/**
* web-infrastructure
*
* @Author dearLin
* @Date 2026-03-19 13:59:16
*/
@Service
@RequiredArgsConstructor
public class ClosedAreaPersonApplyRepositoryImpl extends BaseRepositoryImpl<ClosedAreaPersonApplyMapper, ClosedAreaPersonApplyDO> implements ClosedAreaPersonApplyRepository {
private final ClosedAreaPersonApplyMapper closedAreaPersonApplyMapper;
@Override
public PageResponse<ClosedAreaPersonApplyDO> listPage(Map<String, Object> parmas) {
Page<Map<String, Object>> page = new Page<>(Integer.parseInt(parmas.get("pageIndex").toString()),
Integer.parseInt(parmas.get("pageSize").toString()));
String menuPerms = "";
if (!org.springframework.util.ObjectUtils.isEmpty(parmas.get("menuPath"))) {
menuPerms = MenuEnum.getMenuKeyByPath(parmas.get("menuPath").toString());
}
IPage<ClosedAreaPersonApplyDO> result = closedAreaPersonApplyMapper.listPage(page, parmas,menuPerms);
return PageHelper.pageToResponse(result, result.getRecords());
}
@Override
public PageResponse<UserDto> getCorpUserList(Map<String, Object> params) {
IPage<ClosedAreaPersonApplyDO> iPage = new Query<ClosedAreaPersonApplyDO>().getPage(params);
IPage<UserDto> result = closedAreaPersonApplyMapper.getCorpUserList(iPage, params);
return PageHelper.pageToResponse(result, result.getRecords());
}
}

View File

@ -0,0 +1,44 @@
package com.zcloud.primeport.persistence.repository.impl;
import com.zcloud.primeport.persistence.dataobject.ClosedAreaDO;
import com.zcloud.primeport.persistence.mapper.ClosedAreaMapper;
import com.zcloud.primeport.persistence.repository.ClosedAreaRepository;
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.Collections;
import java.util.List;
import java.util.Map;
/**
* web-infrastructure
*
* @Author dearLin
* @Date 2026-03-19 10:27:51
*/
@Service
@RequiredArgsConstructor
public class ClosedAreaRepositoryImpl extends BaseRepositoryImpl<ClosedAreaMapper, ClosedAreaDO> implements ClosedAreaRepository {
private final ClosedAreaMapper closedAreaMapper;
@Override
public PageResponse<ClosedAreaDO> listPage(Map<String, Object> params) {
IPage<ClosedAreaDO> iPage = new Query<ClosedAreaDO>().getPage(params);
IPage<ClosedAreaDO> result = closedAreaMapper.listPage(iPage, params);
return PageHelper.pageToResponse(result, result.getRecords());
}
@Override
public List<ClosedAreaDO> getCountByHgAuthArea() {
return closedAreaMapper.getCountByHgAuthArea();
}
}

View File

@ -0,0 +1,8 @@
<?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.ClosedAreaFgsPersonAreaMapper">
</mapper>

View File

@ -0,0 +1,8 @@
<?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.ClosedAreaFgsPersonAuthMapper">
</mapper>

View File

@ -0,0 +1,56 @@
<?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.ClosedAreaMapper">
<select id="getCountByHgAuthArea" resultType="com.zcloud.primeport.persistence.dataobject.ClosedAreaDO">
SELECT
dic.dict_label hg_auth_area,
dic.dict_value hg_auth_area_name,
IFNULL(tmp.totalChildAreasCount,0) total_area_count,
IFNULL(tmp.totalCorpCount,0) total_corp_count
FROM
`jjb-saas-config`.`conf_dict_tree` dic
LEFT JOIN (
SELECT
ca.hg_auth_area,
COUNT( ca.id ) totalChildAreasCount,
COUNT( DISTINCT ca.jurisdictional_corp_id ) totalCorpCount
FROM
`closed_area` ca
WHERE
ca.delete_enum = 'FALSE'
GROUP BY
ca.hg_auth_area) tmp on CONVERT(tmp.hg_auth_area USING utf8mb4) = CONVERT( dic.dict_value USING utf8mb4)
WHERE
dic.parent_id = ( SELECT id FROM `jjb-saas-config`.`conf_dict_tree` dicp WHERE dicp.dict_value = 'HG_AUTH_AREA' AND dicp.delete_enum = 'FALSE' )
AND dic.delete_enum = 'FALSE'
ORDER BY dic.id
</select>
<select id="listPage" resultType="com.zcloud.primeport.persistence.dataobject.ClosedAreaDO">
SELECT
c.*,
CASE
WHEN COUNT( child.id ) > 0 THEN
1 ELSE 2
END AS has_child
FROM
closed_area c
LEFT JOIN closed_area child ON c.id = child.parent_id
AND child.delete_enum = 'FALSE'
WHERE
c.delete_enum = 'FALSE'
<if test="parmas.parentId != null">
AND c.parent_id = #{parmas.parentId}
</if>
<if test="parmas.closedAreaName != null and parmas.closedAreaName != ''">
AND C.closed_area_name LIKE CONCAT('%', #{parmas.closedAreaName}, '%')
</if>
GROUP BY
c.id
ORDER BY
c.id
</select>
</mapper>

View File

@ -0,0 +1,78 @@
<?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.ClosedAreaPersonApplyMapper">
<select id="getCorpUserList" resultType="com.zcloud.primeport.persistence.dataobject.UserDto">
SELECT
u.id user_id,
u.username user_name,
u.`name`,
u.corpinfo_id corpId,
c.corp_name,
d.department_id dept_Id,
d.`name` dept_Name,
u.phone,
u.user_avatar_url user_Face_Url,
u.rz_flag,
u.employment_flag,
u.user_id_card,
IFNULL( vehicle_tmp.vehicle_count, 0 ) vehicle_count,
IFNULL(cafpa.mkmj_permission,2) mkmj_permission
FROM
`user` AS u
LEFT JOIN corp_info c ON u.corpinfo_id = c.id
LEFT JOIN department d ON u.department_id = d.id
LEFT JOIN closed_area_fgs_person_auth cafpa on cafpa.user_id = u.user_id and cafpa.delete_enum = 'FALSE'
LEFT JOIN (
SELECT
va.employee_vehicle_user_id,
COUNT( va.id ) vehicle_count
FROM
`vehicle_apply` va
WHERE
va.audit_flag = 2
AND va.vehicle_belong_type = 3
AND va.delete_enum = 'FALSE'
GROUP BY
va.employee_vehicle_user_id
) vehicle_tmp ON u.user_id = vehicle_tmp.employee_vehicle_user_id
WHERE
u.delete_enum = 'FALSE'
AND u.main_corp_flag = 0
AND u.corpinfo_id = #{params.corpinfoId}
<if test="parmas.deptId != null">
AND u.department_id = #{parmas.deptId}
</if>
<if test="parmas.name != null and parmas.name != ''">
AND u.name like CONCAT('%', #{parmas.name}, '%')
</if>
ORDER BY
u.department_id
</select>
<select id="listPage" resultType="com.zcloud.primeport.persistence.dataobject.ClosedAreaPersonApplyDO">
select * from closed_area_person_apply c
where c.delete_enum = 'FALSE'
<if test="parmas.processOrRecord != null">
<if test="parmas.processOrRecord == 1">
AND c.audit_flag = 1
</if>
<if test="parmas.processOrRecord == 2">
AND c.audit_flag != 1
</if>
</if>
<if test="parmas.personBelongType != null">
<if test="parmas.personBelongType == 4">
AND c.person_belong_type = 4
</if>
<if test="parmas.processOrRecord != 4">
AND c.person_belong_type != 4
</if>
</if>
<if test="parmas.applyPersonUserName != null and parmas.applyPersonUserName != ''">
AND c.apply_person_user_name like CONCAT('%', #{parmas.applyPersonUserName}, '%')
</if>
</select>
</mapper>

View File

@ -20,12 +20,17 @@
m.out_direction_area_name,
m.longitude,
m.latitude,
m.closed_area_id,
m.out_direction_type,
ca.jurisdictional_corp_id,
ca.jurisdictional_corp_name,
COUNT(DISTINCT v.id) video_count,
COUNT(DISTINCT p.id) passage_count
FROM
mkmj m
LEFT JOIN video v ON m.id = v.foreign_id AND v.device_type = 1 AND v.delete_enum = 'false'
LEFT JOIN mkmj_passage p ON m.id = p.mkmj_id AND p.delete_enum = 'false'
LEFT JOIN closed_area ca ON m.closed_area_id = ca.id AND ca.delete_enum = 'false'
WHERE
m.delete_enum = 'false'
<if test="parmas.hgAuthArea != null and parmas.hgAuthArea != ''">

View File

@ -20,6 +20,7 @@
a.change_after,
a.change_before,
a.remarks,
va.create_name apply_user_name,
va.licence_type,
va.licence_type_name,
va.licence_no,