feat:完善门禁审批人功能

koumen
dearLin 2026-01-06 13:51:12 +08:00
parent 429446edb7
commit 5dadfc06f1
47 changed files with 1107 additions and 183 deletions

View File

@ -20,6 +20,13 @@
<artifactId>zcloud_gbscommon</artifactId>
<version>1.0.0-SNAPSHOT</version>
</dependency>
<!-- PostgreSQL驱动 -->
<dependency>
<groupId>org.postgresql</groupId>
<artifactId>postgresql</artifactId>
<version>42.6.0</version>
</dependency>
</dependencies>
<dependencyManagement>
<dependencies>

View File

@ -2,6 +2,8 @@ package com.zcloud.primeport;
import com.jjb.saas.base.starter.bootstart.JJBSpringbootApplication;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.actuate.autoconfigure.jdbc.DataSourceHealthContributorAutoConfiguration;
import org.springframework.boot.autoconfigure.SpringBootApplication;
/**
* Spring Boot Starter
@ -12,7 +14,6 @@ import org.springframework.boot.SpringApplication;
mapperPackages = {"com.zcloud.primeport.persistence.mapper"}
)
public class Application {
public static void main(String[] args) {
SpringApplication.run(Application.class, args);
}

View File

@ -4,3 +4,4 @@ spring:
- classpath:nacos.yml
- classpath:sdk.yml
- classpath:swagger.yml
# - classpath:ds.yml

View File

@ -31,6 +31,8 @@ spring:
- config-actuator.yml
- config-job.yml
- config-mysql.yml
# - config-pgsql.yml
# - config-mysql-copy.yml
- config-redis.yml
- config-cache.yml
- config-spring.yml

View File

@ -0,0 +1,72 @@
package com.zcloud.primeport.web;
import com.alibaba.cola.dto.PageResponse;
import com.alibaba.cola.dto.Response;
import com.alibaba.cola.dto.SingleResponse;
import com.zcloud.primeport.api.GatePersonAuthLevelOneServiceI;
import com.zcloud.primeport.dto.GatePersonAuthLevelOneAddCmd;
import com.zcloud.primeport.dto.GatePersonAuthLevelOnePageQry;
import com.zcloud.primeport.dto.GatePersonAuthLevelOneUpdateCmd;
import com.zcloud.primeport.dto.clientobject.GatePersonAuthLevelOneCO;
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 2025-12-31 10:51:44
*/
@Api(tags = "进出港信息管理-人员及车辆")
@RequestMapping("/${application.gateway}/gatePersonAuthLevelOne")
@RestController
@AllArgsConstructor
public class GatePersonAuthLevelOneController {
private final GatePersonAuthLevelOneServiceI gatePersonAuthLevelOneService;
@ApiOperation("新增")
@PostMapping("/save")
public SingleResponse<GatePersonAuthLevelOneCO> add(@Validated @RequestBody GatePersonAuthLevelOneAddCmd cmd) {
return gatePersonAuthLevelOneService.add(cmd);
}
@ApiOperation("分页")
@GetMapping("/list")
public PageResponse<GatePersonAuthLevelOneCO> page(GatePersonAuthLevelOnePageQry qry) {
return gatePersonAuthLevelOneService.listPage(qry);
}
@ApiOperation("人员进出记录")
@GetMapping("/personnelEntryAndExitRecords")
public PageResponse<GatePersonAuthLevelOneCO> personnelEntryAndExitRecords(GatePersonAuthLevelOnePageQry qry) {
return gatePersonAuthLevelOneService.listPage(qry);
}
@ApiOperation("详情")
@GetMapping("/{id}")
public SingleResponse<GatePersonAuthLevelOneCO> getInfoById(@PathVariable("id") Long id) {
return SingleResponse.of(gatePersonAuthLevelOneService.getInfoById(id));
}
@ApiOperation("删除")
@DeleteMapping("/{id}")
public Response remove(@PathVariable("id") Long id) {
gatePersonAuthLevelOneService.remove(id);
return SingleResponse.buildSuccess();
}
@ApiOperation("修改")
@PutMapping("/edit")
public SingleResponse edit(@Validated @RequestBody GatePersonAuthLevelOneUpdateCmd gatePersonAuthLevelOneUpdateCmd) {
gatePersonAuthLevelOneService.edit(gatePersonAuthLevelOneUpdateCmd);
return SingleResponse.buildSuccess();
}
}

View File

@ -9,16 +9,22 @@ import com.jjb.saas.framework.auth.utils.AuthContext;
import com.zcloud.primeport.api.MkmjApprovalUserServiceI;
import com.zcloud.primeport.dto.MkmjApprovalUserAddCmd;
import com.zcloud.primeport.dto.MkmjApprovalUserPageQry;
import com.zcloud.primeport.dto.MkmjApprovalUserQry;
import com.zcloud.primeport.dto.MkmjApprovalUserUpdateCmd;
import com.zcloud.primeport.dto.clientobject.MkmjApprovalUserCO;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.AllArgsConstructor;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.context.ApplicationContext;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import javax.sql.DataSource;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
/**
* web-adapter
@ -37,16 +43,21 @@ public class MkmjApprovalUserController {
public SingleResponse<MkmjApprovalUserCO> add(@Validated @RequestBody MkmjApprovalUserAddCmd cmd) {
return mkmjApprovalUserService.add(cmd);
}
@ApiOperation("审批人列表-根据部门查询")
@GetMapping("/listDeptUser")
public MultiResponse<MkmjApprovalUserCO> listDeptUser(MkmjApprovalUserQry qry) {
return mkmjApprovalUserService.listDeptUser(qry);
}
@ApiOperation("分页")
@PostMapping("/list")
public PageResponse<MkmjApprovalUserCO> page(@RequestBody MkmjApprovalUserPageQry qry) {
@GetMapping("/list")
public PageResponse<MkmjApprovalUserCO> page(MkmjApprovalUserPageQry qry) {
return mkmjApprovalUserService.listPage(qry);
}
@ApiOperation("所有数据")
@GetMapping("/listAll")
public MultiResponse<MkmjApprovalUserCO> listAll(@RequestBody MkmjApprovalUserPageQry qry) {
public MultiResponse<MkmjApprovalUserCO> listAll(MkmjApprovalUserPageQry qry) {
List<MkmjApprovalUserCO> mkmjApprovalUserCOS = mkmjApprovalUserService.listAll(qry);
return MultiResponse.of(mkmjApprovalUserCOS);
}
@ -58,5 +69,12 @@ public class MkmjApprovalUserController {
mkmjApprovalUserService.remove(id);
return SingleResponse.buildSuccess();
}
@Autowired
private ApplicationContext applicationContext;
@GetMapping("/getDataSource")
public Response getDataSource() {
Map<String, DataSource> dataSources = applicationContext.getBeansOfType(DataSource.class);
return SingleResponse.buildSuccess();
}
}

View File

@ -81,15 +81,11 @@ public class VehicleMessageController {
public PageResponse<VehicleCountByCorpCO> listFromCorp(@RequestBody VehicleMessagePageQry qry) {
return vehicleMessageService.listFromCorp(qry);
}
@ApiOperation("根据车牌号获取车辆信息")
@GetMapping("/{licenceNo}")
public SingleResponse<VehicleMessageCO> getInfoByLicenceNo(@PathVariable("licenceNo") String licenceNo) {
VehicleMessageCO infoById = vehicleMessageService.infoByLicenceNo(licenceNo);
return SingleResponse.of(infoById);
}
}

View File

@ -0,0 +1,41 @@
package com.zcloud.primeport.command;
import com.alibaba.cola.exception.BizException;
import com.zcloud.primeport.domain.gateway.GatePersonAuthLevelOneGateway;
import com.zcloud.primeport.domain.model.GatePersonAuthLevelOneE;
import com.zcloud.primeport.dto.GatePersonAuthLevelOneAddCmd;
import lombok.AllArgsConstructor;
import org.springframework.beans.BeanUtils;
import org.springframework.stereotype.Component;
import org.springframework.transaction.annotation.Transactional;
/**
* web-app
* @Author dearLin
* @Date 2025-12-31 10:51:44
*/
@Component
@AllArgsConstructor
public class GatePersonAuthLevelOneAddExe {
private final GatePersonAuthLevelOneGateway gatePersonAuthLevelOneGateway;
@Transactional(rollbackFor = Exception.class)
public boolean execute(GatePersonAuthLevelOneAddCmd cmd) {
GatePersonAuthLevelOneE examTypeE = new GatePersonAuthLevelOneE();
BeanUtils.copyProperties(cmd, examTypeE);
boolean res = false;
try {
res = gatePersonAuthLevelOneGateway.add(examTypeE);
} catch (Exception e) {
throw new RuntimeException(e);
}
if (!res) {
throw new BizException("保存失败");
}
return true;
}
}

View File

@ -0,0 +1,40 @@
package com.zcloud.primeport.command;
import com.alibaba.cola.exception.BizException;
import com.zcloud.primeport.domain.gateway.GatePersonAuthLevelOneGateway;
import lombok.AllArgsConstructor;
import org.springframework.stereotype.Component;
import org.springframework.transaction.annotation.Transactional;
/**
* web-app
* @Author dearLin
* @Date 2025-12-31 10:51:44
*/
@Component
@AllArgsConstructor
public class GatePersonAuthLevelOneRemoveExe {
private final GatePersonAuthLevelOneGateway gatePersonAuthLevelOneGateway;
@Transactional(rollbackFor = Exception.class)
public boolean execute(Long id) {
boolean res = gatePersonAuthLevelOneGateway.deletedGatePersonAuthLevelOneById(id);
if(!res){
throw new BizException("删除失败");
}
return true;
}
@Transactional(rollbackFor = Exception.class)
public boolean execute(Long[] ids) {
boolean res = gatePersonAuthLevelOneGateway.deletedGatePersonAuthLevelOneByIds(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.GatePersonAuthLevelOneGateway;
import com.zcloud.primeport.domain.model.GatePersonAuthLevelOneE;
import com.zcloud.primeport.dto.GatePersonAuthLevelOneUpdateCmd;
import lombok.AllArgsConstructor;
import org.springframework.beans.BeanUtils;
import org.springframework.stereotype.Component;
import org.springframework.transaction.annotation.Transactional;
/**
* web-app
* @Author dearLin
* @Date 2025-12-31 10:51:45
*/
@Component
@AllArgsConstructor
public class GatePersonAuthLevelOneUpdateExe {
private final GatePersonAuthLevelOneGateway gatePersonAuthLevelOneGateway;
@Transactional(rollbackFor = Exception.class)
public void execute(GatePersonAuthLevelOneUpdateCmd gatePersonAuthLevelOneUpdateCmd) {
GatePersonAuthLevelOneE gatePersonAuthLevelOneE = new GatePersonAuthLevelOneE();
BeanUtils.copyProperties(gatePersonAuthLevelOneUpdateCmd, gatePersonAuthLevelOneE);
boolean res = gatePersonAuthLevelOneGateway.update(gatePersonAuthLevelOneE);
if (!res) {
throw new BizException("修改失败");
}
}
}

View File

@ -24,6 +24,8 @@ public class MkmjApprovalUserAddExe {
@Transactional(rollbackFor = Exception.class)
public boolean execute(MkmjApprovalUserAddCmd cmd) {
// 查询下当前人是否已经存在,如存在无法新增
MkmjApprovalUserE examTypeE = new MkmjApprovalUserE();
BeanUtils.copyProperties(cmd, examTypeE);
boolean res = false;

View File

@ -7,7 +7,7 @@ import com.zcloud.primeport.domain.gateway.VehicleBlackGateway;
import com.zcloud.primeport.domain.gateway.VehicleMessageGateway;
import com.zcloud.primeport.domain.model.VehicleAuditLogE;
import com.zcloud.primeport.domain.model.VehicleMessageE;
import com.zcloud.primeport.dto.VehicleAddCheckResultDTO;
//import com.zcloud.primeport.dto.VehicleAddCheckResultDTO;
import com.zcloud.primeport.dto.VehicleMessageAddCmd;
import com.zcloud.primeport.dto.VehicleMessageForCorpAddCmd;
import lombok.AllArgsConstructor;
@ -17,20 +17,19 @@ import org.springframework.stereotype.Component;
import org.springframework.transaction.annotation.Transactional;
/**
* web-app
* @Author guoyuepeng
* @Date 2025-11-15 11:41:21
*/
* web-app
*
* @Author guoyuepeng
* @Date 2025-11-15 11:41:21
*/
@Component
@AllArgsConstructor
public class VehicleMessageAddExe {
private final VehicleMessageGateway vehicleMessageGateway;
private final VehicleAuditLogGateway vehicleAuditLogGateway;
private final VehicleBlackGateway vehicleBlackGateway;
@Transactional(rollbackFor = Exception.class)
public boolean execute(VehicleMessageAddCmd cmd) {
VehicleMessageE examTypeE = new VehicleMessageE();
@ -66,18 +65,18 @@ public class VehicleMessageAddExe {
// if (infoByLicenceNo != null){
// throw new BizException("车辆已存在");
// }
Integer licenceNoCount = vehicleMessageGateway.countEnabledByLicenceNo(examTypeE.getLicenceNo());
if (licenceNoCount > 0){
throw new BizException("车辆已存在");
}
// Integer licenceNoCount = vehicleMessageGateway.countEnabledByLicenceNo(examTypeE.getLicenceNo());
// if (licenceNoCount > 0){
// throw new BizException("车辆已存在");
// }
VehicleMessageE add = vehicleMessageGateway.add(examTypeE);
if (!Tools.isEmpty(cmd.getApprovalUserId())){
VehicleAuditLogE vehicleAuditLogE = new VehicleAuditLogE();
BeanUtils.copyProperties(cmd, vehicleAuditLogE);
vehicleAuditLogE.addFroVehicleLog(vehicleAuditLogE,add.getId(),1); // 添加审批信息
res = vehicleAuditLogGateway.add(vehicleAuditLogE); // 添加审批信息
}
if (Tools.isEmpty(cmd.getApprovalUserId())) throw new BizException("请选择审批人");
VehicleAuditLogE vehicleAuditLogE = new VehicleAuditLogE();
BeanUtils.copyProperties(cmd, vehicleAuditLogE);
vehicleAuditLogE.addFroVehicleLog(vehicleAuditLogE, add.getId(), 1);
// 添加审批信息
res = vehicleAuditLogGateway.add(vehicleAuditLogE);
// 添加审批信息
} catch (Exception e) {
throw new RuntimeException(e);
}

View File

@ -0,0 +1,25 @@
package com.zcloud.primeport.command.convertor;
import com.zcloud.primeport.dto.clientobject.GatePersonAuthLevelOneCO;
import com.zcloud.primeport.persistence.dataobject.GatePersonAuthLevelOneDO;
import org.mapstruct.Mapper;
import java.util.List;
/**
* web-app
* @Author dearLin
* @Date 2025-12-31 10:51:44
*/
@Mapper(componentModel = "spring")
public interface GatePersonAuthLevelOneCoConvertor {
/**
* @param gatePersonAuthLevelOneDOs
* @return
*/
List<GatePersonAuthLevelOneCO> converDOsToCOs(List<GatePersonAuthLevelOneDO> gatePersonAuthLevelOneDOs);
GatePersonAuthLevelOneCO converDOToCO(GatePersonAuthLevelOneDO gatePersonAuthLevelOneDOs);
}

View File

@ -0,0 +1,47 @@
package com.zcloud.primeport.command.query;
import com.alibaba.cola.dto.PageResponse;
import com.zcloud.gbscommon.utils.PageQueryHelper;
import com.zcloud.primeport.command.convertor.GatePersonAuthLevelOneCoConvertor;
import com.zcloud.primeport.dto.GatePersonAuthLevelOnePageQry;
import com.zcloud.primeport.dto.clientobject.GatePersonAuthLevelOneCO;
import com.zcloud.primeport.persistence.dataobject.GatePersonAuthLevelOneDO;
import com.zcloud.primeport.persistence.repository.GatePersonAuthLevelOneRepository;
import lombok.AllArgsConstructor;
import org.springframework.stereotype.Component;
import java.util.List;
import java.util.Map;
/**
* web-app
*
* @Author dearLin
* @Date 2025-12-31 10:51:44
*/
@Component
@AllArgsConstructor
public class GatePersonAuthLevelOneQueryExe {
private final GatePersonAuthLevelOneRepository gatePersonAuthLevelOneRepository;
private final GatePersonAuthLevelOneCoConvertor gatePersonAuthLevelOneCoConvertor;
/**
*
*
* @param gatePersonAuthLevelOnePageQry
* @return
*/
public PageResponse<GatePersonAuthLevelOneCO> execute(GatePersonAuthLevelOnePageQry gatePersonAuthLevelOnePageQry) {
Map<String, Object> parmas = PageQueryHelper.toHashMap(gatePersonAuthLevelOnePageQry);
PageResponse<GatePersonAuthLevelOneDO> pageResponse = gatePersonAuthLevelOneRepository.listPage(parmas);
List<GatePersonAuthLevelOneCO> examCenterCOS = gatePersonAuthLevelOneCoConvertor.converDOsToCOs(pageResponse.getData());
return PageResponse.of(examCenterCOS, pageResponse.getTotalCount(), pageResponse.getPageSize(), pageResponse.getPageIndex());
}
public GatePersonAuthLevelOneCO getInfoById(Long id) {
GatePersonAuthLevelOneDO byId = gatePersonAuthLevelOneRepository.getById(id);
return gatePersonAuthLevelOneCoConvertor.converDOToCO(byId);
}
}

View File

@ -1,26 +1,29 @@
package com.zcloud.primeport.command.query;
import com.alibaba.cola.dto.MultiResponse;
import com.alibaba.cola.dto.PageResponse;
import com.baomidou.mybatisplus.core.conditions.Wrapper;
import com.zcloud.gbscommon.utils.PageQueryHelper;
import com.zcloud.primeport.command.convertor.MkmjApprovalUserCoConvertor;
import com.zcloud.primeport.dto.MkmjApprovalUserPageQry;
import com.zcloud.primeport.dto.MkmjApprovalUserQry;
import com.zcloud.primeport.dto.clientobject.MkmjApprovalUserCO;
import com.zcloud.primeport.persistence.dataobject.MkmjApprovalUserDO;
import com.zcloud.primeport.persistence.repository.MkmjApprovalUserRepository;
import lombok.AllArgsConstructor;
import org.springframework.stereotype.Component;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
/**
* web-app
* @Author guoyuepeng
* @Date 2025-11-14 10:09:22
*/
* web-app
*
* @Author guoyuepeng
* @Date 2025-11-14 10:09:22
*/
@Component
@AllArgsConstructor
public class MkmjApprovalUserQueryExe {
@ -28,24 +31,32 @@ public class MkmjApprovalUserQueryExe {
private final MkmjApprovalUserCoConvertor mkmjApprovalUserCoConvertor;
/**
*
*
* @param mkmjApprovalUserPageQry
* @return
*/
*
*
* @param mkmjApprovalUserPageQry
* @return
*/
public PageResponse<MkmjApprovalUserCO> execute(MkmjApprovalUserPageQry mkmjApprovalUserPageQry) {
Map<String,Object> parmas = PageQueryHelper.toHashMap(mkmjApprovalUserPageQry);
Map<String, Object> parmas = PageQueryHelper.toHashMap(mkmjApprovalUserPageQry);
PageResponse<MkmjApprovalUserDO> pageResponse = mkmjApprovalUserRepository.listPage(parmas);
List<MkmjApprovalUserCO> examCenterCOS = mkmjApprovalUserCoConvertor.converDOsToCOs(pageResponse.getData());
return PageResponse.of(examCenterCOS, pageResponse.getTotalCount(), pageResponse.getPageSize(), pageResponse.getPageIndex());
List<MkmjApprovalUserCO> examCenterCOS = mkmjApprovalUserCoConvertor.converDOsToCOs(pageResponse.getData());
return PageResponse.of(examCenterCOS, pageResponse.getTotalCount(), pageResponse.getPageSize(), pageResponse.getPageIndex());
}
public List<MkmjApprovalUserCO> executeList(MkmjApprovalUserPageQry mkmjApprovalUserPageQry) {
Map<String,Object> parmas = PageQueryHelper.toHashMap(mkmjApprovalUserPageQry);
List<MkmjApprovalUserDO> examCenterDOs = mkmjApprovalUserRepository.listAll( parmas);
Map<String, Object> parmas = PageQueryHelper.toHashMap(mkmjApprovalUserPageQry);
List<MkmjApprovalUserDO> examCenterDOs = mkmjApprovalUserRepository.listAll(parmas);
List<MkmjApprovalUserCO> examCenterCOS = mkmjApprovalUserCoConvertor.converDOsToCOs(examCenterDOs);
return examCenterCOS;
}
public List<MkmjApprovalUserCO> listDeptUser(MkmjApprovalUserQry qry) {
HashMap<String, Object> parmasMap = new HashMap<>();
parmasMap.put("department_id",qry.getDepartmentId());
List<MkmjApprovalUserDO> dataList = mkmjApprovalUserRepository.listDeptUser(parmasMap);
List<MkmjApprovalUserCO> mkmjApprovalUserCOS = mkmjApprovalUserCoConvertor.converDOsToCOs(dataList);
return mkmjApprovalUserCOS;
}
}

View File

@ -0,0 +1,62 @@
package com.zcloud.primeport.service;
import com.alibaba.cola.dto.PageResponse;
import com.alibaba.cola.dto.SingleResponse;
import com.zcloud.primeport.api.GatePersonAuthLevelOneServiceI;
import com.zcloud.primeport.command.GatePersonAuthLevelOneAddExe;
import com.zcloud.primeport.command.GatePersonAuthLevelOneRemoveExe;
import com.zcloud.primeport.command.GatePersonAuthLevelOneUpdateExe;
import com.zcloud.primeport.command.query.GatePersonAuthLevelOneQueryExe;
import com.zcloud.primeport.dto.GatePersonAuthLevelOneAddCmd;
import com.zcloud.primeport.dto.GatePersonAuthLevelOnePageQry;
import com.zcloud.primeport.dto.GatePersonAuthLevelOneUpdateCmd;
import com.zcloud.primeport.dto.clientobject.GatePersonAuthLevelOneCO;
import lombok.AllArgsConstructor;
import org.springframework.stereotype.Service;
/**
* web-app
* @Author dearLin
* @Date 2025-12-31 10:51:44
*/
@Service
@AllArgsConstructor
public class GatePersonAuthLevelOneServiceImpl implements GatePersonAuthLevelOneServiceI {
private final GatePersonAuthLevelOneAddExe gatePersonAuthLevelOneAddExe;
private final GatePersonAuthLevelOneUpdateExe gatePersonAuthLevelOneUpdateExe;
private final GatePersonAuthLevelOneRemoveExe gatePersonAuthLevelOneRemoveExe;
private final GatePersonAuthLevelOneQueryExe gatePersonAuthLevelOneQueryExe;
@Override
public PageResponse<GatePersonAuthLevelOneCO> listPage(GatePersonAuthLevelOnePageQry qry){
return gatePersonAuthLevelOneQueryExe.execute(qry);
}
@Override
public SingleResponse add(GatePersonAuthLevelOneAddCmd cmd) {
gatePersonAuthLevelOneAddExe.execute(cmd);
return SingleResponse.buildSuccess();
}
@Override
public void edit(GatePersonAuthLevelOneUpdateCmd gatePersonAuthLevelOneUpdateCmd) {
gatePersonAuthLevelOneUpdateExe.execute(gatePersonAuthLevelOneUpdateCmd);
}
@Override
public void remove(Long id) {
gatePersonAuthLevelOneRemoveExe.execute(id);
}
@Override
public void removeBatch(Long[] ids) {
gatePersonAuthLevelOneRemoveExe.execute(ids);
}
@Override
public GatePersonAuthLevelOneCO getInfoById(Long id) {
return gatePersonAuthLevelOneQueryExe.getInfoById(id);
}
}

View File

@ -1,5 +1,6 @@
package com.zcloud.primeport.service;
import com.alibaba.cola.dto.MultiResponse;
import com.alibaba.cola.dto.PageResponse;
import com.alibaba.cola.dto.SingleResponse;
import com.zcloud.primeport.api.MkmjApprovalUserServiceI;
@ -9,6 +10,7 @@ import com.zcloud.primeport.command.MkmjApprovalUserUpdateExe;
import com.zcloud.primeport.command.query.MkmjApprovalUserQueryExe;
import com.zcloud.primeport.dto.MkmjApprovalUserAddCmd;
import com.zcloud.primeport.dto.MkmjApprovalUserPageQry;
import com.zcloud.primeport.dto.MkmjApprovalUserQry;
import com.zcloud.primeport.dto.MkmjApprovalUserUpdateCmd;
import com.zcloud.primeport.dto.clientobject.MkmjApprovalUserCO;
import lombok.AllArgsConstructor;
@ -17,10 +19,11 @@ import org.springframework.stereotype.Service;
import java.util.List;
/**
* web-app
* @Author guoyuepeng
* @Date 2025-11-14 10:09:22
*/
* web-app
*
* @Author guoyuepeng
* @Date 2025-11-14 10:09:22
*/
@Service
@AllArgsConstructor
public class MkmjApprovalUserServiceImpl implements MkmjApprovalUserServiceI {
@ -30,14 +33,13 @@ public class MkmjApprovalUserServiceImpl implements MkmjApprovalUserServiceI {
private final MkmjApprovalUserQueryExe mkmjApprovalUserQueryExe;
@Override
public PageResponse<MkmjApprovalUserCO> listPage(MkmjApprovalUserPageQry qry){
public PageResponse<MkmjApprovalUserCO> listPage(MkmjApprovalUserPageQry qry) {
return mkmjApprovalUserQueryExe.execute(qry);
}
@Override
public SingleResponse add(MkmjApprovalUserAddCmd cmd) {
mkmjApprovalUserAddExe.execute(cmd);
return SingleResponse.buildSuccess();
}
@ -62,5 +64,11 @@ public class MkmjApprovalUserServiceImpl implements MkmjApprovalUserServiceI {
return mkmjApprovalUserQueryExe.executeList(qry);
}
@Override
public MultiResponse<MkmjApprovalUserCO> listDeptUser(MkmjApprovalUserQry qry) {
List<MkmjApprovalUserCO> mkmjApprovalUserCOS = mkmjApprovalUserQueryExe.listDeptUser(qry);
return MultiResponse.of(mkmjApprovalUserCOS);
}
}

View File

@ -0,0 +1,28 @@
package com.zcloud.primeport.api;
import com.alibaba.cola.dto.PageResponse;
import com.alibaba.cola.dto.SingleResponse;
import com.zcloud.primeport.dto.GatePersonAuthLevelOneAddCmd;
import com.zcloud.primeport.dto.GatePersonAuthLevelOnePageQry;
import com.zcloud.primeport.dto.GatePersonAuthLevelOneUpdateCmd;
import com.zcloud.primeport.dto.clientobject.GatePersonAuthLevelOneCO;
/**
* web-client
* @Author dearLin
* @Date 2025-12-31 10:51:44
*/
public interface GatePersonAuthLevelOneServiceI {
PageResponse<GatePersonAuthLevelOneCO> listPage(GatePersonAuthLevelOnePageQry qry);
SingleResponse<GatePersonAuthLevelOneCO> add(GatePersonAuthLevelOneAddCmd cmd);
void edit(GatePersonAuthLevelOneUpdateCmd cmd);
void remove(Long id);
void removeBatch(Long[] ids);
GatePersonAuthLevelOneCO getInfoById(Long id);
}

View File

@ -1,8 +1,10 @@
package com.zcloud.primeport.api;
import com.alibaba.cola.dto.MultiResponse;
import com.alibaba.cola.dto.PageResponse;
import com.alibaba.cola.dto.SingleResponse;
import com.zcloud.primeport.dto.MkmjApprovalUserAddCmd;
import com.zcloud.primeport.dto.MkmjApprovalUserPageQry;
import com.zcloud.primeport.dto.MkmjApprovalUserQry;
import com.zcloud.primeport.dto.MkmjApprovalUserUpdateCmd;
import com.zcloud.primeport.dto.clientobject.MkmjApprovalUserCO;
@ -26,5 +28,6 @@ public interface MkmjApprovalUserServiceI {
List<MkmjApprovalUserCO> listAll(MkmjApprovalUserPageQry qry);
MultiResponse<MkmjApprovalUserCO> listDeptUser(MkmjApprovalUserQry qry);
}

View File

@ -0,0 +1,42 @@
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;
/**
* web-client
* @Author dearLin
* @Date 2025-12-31 10:51:44
*/
@EqualsAndHashCode(callSuper = true)
@Data
@NoArgsConstructor
@AllArgsConstructor
public class GatePersonAuthLevelOneAddCmd extends Command {
@ApiModelProperty(value = "用户身份证号", name = "userCard", required = true)
@NotEmpty(message = "用户身份证号不能为空")
private String userCard;
@ApiModelProperty(value = "用户id", name = "userId")
private Long userId;
@ApiModelProperty(value = "相关方项目id")
private Long projectId;
@ApiModelProperty(value = "门禁头像", name = "userFacePic", required = true)
@NotEmpty(message = "门禁头像不能为空")
private String userFacePic;
@ApiModelProperty(value = "授权范围港区与区域", name = "gateLevelAuthArea", required = true)
@NotEmpty(message = "授权范围港区与区域不能为空")
private String gateLevelAuthArea;
@ApiModelProperty(value = "授权时间范围开始时间", name = "gateAuthTimeStart", required = true)
@NotEmpty(message = "授权时间范围开始时间不能为空")
private String gateAuthTimeStart;
@ApiModelProperty(value = "授权时间范围结束时间", name = "gateAuthTimeEnd", required = true)
@NotEmpty(message = "授权时间范围结束时间不能为空")
private String gateAuthTimeEnd;
}

View File

@ -0,0 +1,28 @@
package com.zcloud.primeport.dto;
import com.alibaba.cola.dto.PageQuery;
import lombok.Data;
/**
* web-client
*
* @Author dearLin
* @Date 2025-12-31 10:51:44
*/
@Data
public class GatePersonAuthLevelOnePageQry extends PageQuery {
/**
* ,
* - `like`: SQLLIKE
* - `eq`: SQL=
* - `gt`:
* - `lt`:
* - `ge`:
* - `le`:
* - `ne`: SQL!=
*/
private String likeUserCard;
}

View File

@ -0,0 +1,42 @@
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 2025-12-31 10:51:45
*/
@EqualsAndHashCode(callSuper = true)
@Data
@NoArgsConstructor
@AllArgsConstructor
public class GatePersonAuthLevelOneUpdateCmd extends Command {
@ApiModelProperty(value = "id", name = "id", required = true)
@NotNull(message = "id不能为空")
private Long id;
@ApiModelProperty(value = "门禁头像", name = "userFacePic")
// @NotEmpty(message = "门禁头像不能为空")
private String userFacePic;
@ApiModelProperty(value = "口门授权状态0没有1有", name = "gateLevelAuthFlag")
@NotNull(message = "口门授权状态0没有1有不能为空")
private Integer gateLevelAuthFlag;
@ApiModelProperty(value = "授权范围港区与区域", name = "gateLevelAuthArea")
// @NotEmpty(message = "授权范围港区与区域不能为空")
private String gateLevelAuthArea;
@ApiModelProperty(value = "授权时间范围开始时间", name = "gateAuthTimeStart")
// @NotEmpty(message = "授权时间范围开始时间不能为空")
private String gateAuthTimeStart;
@ApiModelProperty(value = "授权时间范围结束时间", name = "gateAuthTimeEnd")
// @NotEmpty(message = "授权时间范围结束时间不能为空")
private String gateAuthTimeEnd;
}

View File

@ -22,42 +22,17 @@ import java.util.Date;
@NoArgsConstructor
@AllArgsConstructor
public class MkmjApprovalUserAddCmd extends Command {
@ApiModelProperty(value = "审批人部门ID", name = "deptName", required = true)
@NotEmpty(message = "审批人部门ID不能为空")
private String deptName;
@ApiModelProperty(value = "审批人部门", name = "deptId", required = true)
@NotNull(message = "审批人部门不能为空")
private Long deptId;
@ApiModelProperty(value = "审批人姓名", name = "name", required = true)
@NotEmpty(message = "审批人姓名不能为空")
private String name;
@ApiModelProperty(value = "审批人", name = "userName", required = true)
@NotEmpty(message = "审批人不能为空")
private String userName;
@ApiModelProperty(value = "审批人名字", name = "userId", required = true)
@NotNull(message = "审批人名字不能为空")
@ApiModelProperty(value = "审批人", name = "userId", required = true)
@NotNull(message = "审批人不能为空")
private Long userId;
@ApiModelProperty(value = "岗位名称", name = "postName", required = true)
@NotEmpty(message = "岗位名称不能为空")
private String postName;
@ApiModelProperty(value = "岗位id", name = "postId", required = true)
@NotNull(message = "岗位id不能为空")
private Long postId;
@ApiModelProperty(value = "企业id", name = "corpId", required = true)
@NotNull(message = "企业id不能为空")
private Long corpId;
@ApiModelProperty( name = "isPersonnelPermission")
@NotEmpty(message = "人员审核权限")
Integer isPersonnelPermission;
@NotNull(message = "人员审核权限")
private Integer isPersonnelPermission;
@ApiModelProperty( name = "isVehiclePermission")
@NotEmpty(message = "车辆审核权限")
Integer isVehiclePermission;
@NotNull(message = "车辆审核权限")
private Integer isVehiclePermission;
@ApiModelProperty( name = "isTemporaryPermission")
@NotEmpty(message = "临时审核权限")
Integer isTemporaryPermission;
@NotNull(message = "临时审核权限")
private Integer isTemporaryPermission;
}

View File

@ -5,25 +5,15 @@ import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* web-client
* @Author guoyuepeng
* @Date 2025-11-14 10:09:22
*/
* web-client
*
* @Author guoyuepeng
* @Date 2025-11-14 10:09:22
*/
@Data
public class MkmjApprovalUserPageQry extends PageQuery {
/**
* ,
* - `like`: SQLLIKE
* - `eq`: SQL=
* - `gt`:
* - `lt`:
* - `ge`:
* - `le`:
* - `ne`: SQL!=
*/
private String likeDeptName;
public String likeUserName;
@ -33,4 +23,10 @@ public class MkmjApprovalUserPageQry extends PageQuery {
public String eqDeptId;
public String eqCorpId;
public String deptId;
public String name;
public Integer isPersonnelPermission;
public Integer isVehiclePermission;
public Integer isTemporaryPermission;
}

View File

@ -0,0 +1,19 @@
package com.zcloud.primeport.dto;
import com.alibaba.cola.dto.PageQuery;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
*
*
* @Author guoyuepeng
* @Date 2025-11-14 10:09:22
*/
@Data
public class MkmjApprovalUserQry extends PageQuery {
@ApiModelProperty(value = "部门ID",required = true)
private Long departmentId;
}

View File

@ -22,69 +22,58 @@ import javax.validation.constraints.NotNull;
@NoArgsConstructor
@AllArgsConstructor
public class VehicleMessageForCorpAddCmd extends Command {
@ApiModelProperty(value = "车辆所属类型 0-员工车辆 1- 单位车辆 2-外部车辆3货运车辆", name = "vehicleBelongType", required = true)
@NotNull(message = "车辆所属类型 0-员工车辆 1- 单位车辆 2-外部车辆3货运车辆不能为空")
private Integer vehicleBelongType;
@ApiModelProperty(value = "车辆所属部门id", name = "vehicleDepartmentId", required = true)
@NotNull(message = "车辆所属部门id不能为空")
private Long vehicleDepartmentId;
@ApiModelProperty(value = "车辆所属部门名称", name = "vehicleDepartmentName", required = true)
@NotEmpty(message = "车辆所属部门名称不能为空")
private String vehicleDepartmentName;
@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 = "employeeVehicleUserId", required = true)
// @NotEmpty(message = "车辆所属人id(员工车辆)不能为空")
private Long employeeVehicleUserId;
@ApiModelProperty(value = "车辆所属人姓名(员工车辆)", name = "employeeVehicleUserName", required = true)
// @NotEmpty(message = "车辆所属人姓名(员工车辆)不能为空")
private String employeeVehicleUserName;
@ApiModelProperty(value = "车牌类型 0-白牌 1- 蓝牌 2-黄牌 3-绿牌 4-黑牌", name = "licenceType", required = true)
@NotNull(message = "车牌类型 0-白牌 1- 蓝牌 2-黄牌 3-绿牌 4-黑牌不能为空")
private Integer licenceType;
@ApiModelProperty(value = "车牌号", name = "licenceNo", required = true)
@NotEmpty(message = "车牌号不能为空")
private String licenceNo;
@ApiModelProperty(value = "车辆类型", name = "vehicleType", required = true)
@NotEmpty(message = "车辆类型")
private String vehicleType;
@ApiModelProperty(value = "车辆类型-名字", name = "vehicleTypeName", required = true)
@NotEmpty(message = "车辆类型不能为空-名字")
private String vehicleTypeName;
@ApiModelProperty(value = "通行港区(0-全部 1-东港区 2-西港区)", name = "portId", required = true)
@NotNull(message = "通行港区(0-全部 1-东港区 2-西港区)不能为空")
private Integer portId;
@ApiModelProperty(value = "企业ID", name = "corpinfoId", required = true)
// @NotNull(message = "企业ID不能为空")
private Long corpId;
@ApiModelProperty(value = "附件地址", name = "attachmentUrl", required = true)
private String attachmentUrl;
@ApiModelProperty(value = "行驶证照片", name = "drivingLicenseId", required = true)
private Long drivingLicenseId;
@ApiModelProperty(value = "车辆照片", name = "attachmentUrl", required = true)
private Long attachmentUrl;
/**
*
*/
@ApiModelProperty(value = "审核人ID", name = "approvalUserId")
@NotNull(message = "审核人不能为空")
public Long approvalUserId;
@ApiModelProperty(value = "审核人名字", name = "approvalUserName")
public String approvalUserName;
@ApiModelProperty(value = "审核人部门ID", name = "approvalDeptId")
public Long approvalDeptId;
@ApiModelProperty(value = "审核人部门名字", name = "approvalDeptName")
public String approvalDeptName;
public void addLongiUserCorp( String tenantParentIds){
if (tenantParentIds != null){
String [] corpIds = tenantParentIds.split(",");

View File

@ -0,0 +1,61 @@
package com.zcloud.primeport.dto.clientobject;
import com.alibaba.cola.dto.ClientObject;
import com.baomidou.mybatisplus.annotation.TableField;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* web-client
* @Author dearLin
* @Date 2025-12-31 10:51:44
*/
@Data
public class GatePersonAuthLevelOneCO extends ClientObject {
private Long id;
//用户身份证号
@ApiModelProperty(value = "用户身份证号")
private String userCard;
//0临时人员1长期人员。临时人没有userid
@ApiModelProperty(value = "0临时人员1长期人员。临时人没有userid")
private Integer userType;
//用户id
@ApiModelProperty(value = "用户id")
private Long userId;
//门禁头像
@ApiModelProperty(value = "门禁头像")
private String userFacePic;
//口门授权状态0没有1有
@ApiModelProperty(value = "口门授权状态0没有1有")
private Integer gateLevelAuthFlag;
//授权范围港区与区域
@ApiModelProperty(value = "授权范围港区与区域")
private String gateLevelAuthArea;
//授权时间范围开始时间
@ApiModelProperty(value = "授权时间范围开始时间")
private String gateAuthTimeStart;
//授权时间范围结束时间
@ApiModelProperty(value = "授权时间范围结束时间")
private String gateAuthTimeEnd;
//三方系统id用于对接
@ApiModelProperty(value = "三方系统id用于对接")
private String gateId;
@ApiModelProperty(value = "部门名")
private String departmentName;
@ApiModelProperty(value = "岗位名")
private String postName;
@ApiModelProperty(value = "用户名")
private String userName;
@ApiModelProperty(value = "手机号")
private String phone;
@ApiModelProperty(value = "车辆数")
private Integer carCount;
@ApiModelProperty(value = "相关方id")
private Integer projectId;
@ApiModelProperty(value = "相关方名称")
private String projectName;
}

View File

@ -19,10 +19,10 @@ public class MkmjApprovalUserCO extends ClientObject {
private Long id;
//审批人部门ID
@ApiModelProperty(value = "审批人部门ID")
private String deptName;
private String departmentName;
//审批人部门
@ApiModelProperty(value = "审批人部门")
private Long deptId;
private Long departmentId;
//审批人姓名
@ApiModelProperty(value = "审批人姓名")
private String name;
@ -40,7 +40,7 @@ public class MkmjApprovalUserCO extends ClientObject {
private Long postId;
//企业id
@ApiModelProperty(value = "企业id")
private Long corpId;
private Long corpinfoId;
//删除标识
@ApiModelProperty(value = "删除标识")
private String deleteEnum;
@ -53,5 +53,6 @@ public class MkmjApprovalUserCO extends ClientObject {
//临时审核权限(0-无权限,1-有权限)
@ApiModelProperty(value = "临时审核权限(0-无权限,1-有权限)")
private Integer isTemporaryPermission;
@ApiModelProperty(value = "待审批数量")
private Integer pendingApprovalQuantity;
}

View File

@ -0,0 +1,28 @@
package com.zcloud.primeport.domain.gateway;
import com.zcloud.primeport.domain.model.GatePersonAuthLevelOneE;
/**
* web-domain
* @Author dearLin
* @Date 2025-12-31 10:51:44
*/
public interface GatePersonAuthLevelOneGateway {
/**
*
*/
Boolean add(GatePersonAuthLevelOneE gatePersonAuthLevelOneE) ;
/**
*
*/
Boolean update(GatePersonAuthLevelOneE gatePersonAuthLevelOneE);
/**
*
*/
Boolean deletedGatePersonAuthLevelOneById(Long id);
Boolean deletedGatePersonAuthLevelOneByIds(Long[] id);
}

View File

@ -1,7 +1,6 @@
package com.zcloud.primeport.domain.gateway;
import com.zcloud.primeport.domain.model.VehicleMessageE;
import com.zcloud.primeport.dto.VehicleAddCheckResultDTO;
/**
* web-domain

View File

@ -0,0 +1,34 @@
package com.zcloud.primeport.domain.model;
import com.jjb.saas.framework.domain.model.BaseE;
import lombok.Data;
/**
* web-domain
* @Author dearLin
* @Date 2025-12-31 10:51:44
*/
@Data
public class GatePersonAuthLevelOneE extends BaseE {
private Long id;
//用户身份证号
private String userCard;
//0临时人员1长期人员。临时人没有userid
private Integer userType;
//用户id
private Long userId;
//门禁头像
private String userFacePic;
//口门授权状态0没有1有
private Integer gateLevelAuthFlag;
//授权范围港区与区域
private String gateLevelAuthArea;
//授权时间范围开始时间
private String gateAuthTimeStart;
//授权时间范围结束时间
private String gateAuthTimeEnd;
//三方系统id用于对接
private String gateId;
}

View File

@ -28,7 +28,7 @@ public class MkmjApprovalUserE extends BaseE {
//岗位id
private Long postId;
//企业id
private Long corpId;
private Long corpinfoId;
//删除标识
private String deleteEnum;
//人员审核权限(0-无权限,1-有权限)

View File

@ -52,11 +52,13 @@ public class VehicleAuditLogE extends BaseE {
public Long approvalDeptId;
public String approvalDeptName;
/**
/**
*
* ,.
*
* @param examTypeE
*/
public void addFroVehicleLog ( VehicleAuditLogE examTypeE,Long vehicleMessageId,Integer batchState) {
public void addFroVehicleLog(VehicleAuditLogE examTypeE, Long vehicleMessageId, Integer batchState) {
this.userId = approvalUserId;
this.userName = approvalUserName;
this.deptId = approvalDeptId;
@ -70,12 +72,13 @@ public class VehicleAuditLogE extends BaseE {
}
public VehicleAuditLogE approvalTongguo (Long id) {
public VehicleAuditLogE approvalTongguo(Long id) {
this.id = id;
this.status = 2;
return this;
}
public VehicleAuditLogE approvalNoTongguo (Long id, String comments) {
public VehicleAuditLogE approvalNoTongguo(Long id, String comments) {
this.id = id;
this.status = 3;
this.comments = comments;

View File

@ -0,0 +1,58 @@
package com.zcloud.primeport.gatewayimpl;
import com.zcloud.gbscommon.utils.Tools;
import com.zcloud.primeport.domain.gateway.GatePersonAuthLevelOneGateway;
import com.zcloud.primeport.domain.model.GatePersonAuthLevelOneE;
import com.zcloud.primeport.persistence.dataobject.GatePersonAuthLevelOneDO;
import com.zcloud.primeport.persistence.repository.GatePersonAuthLevelOneRepository;
import lombok.AllArgsConstructor;
import org.springframework.beans.BeanUtils;
import org.springframework.stereotype.Service;
import java.util.Arrays;
/**
* web-infrastructure
*
* @Author dearLin
* @Date 2025-12-31 10:51:44
*/
@Service
@AllArgsConstructor
public class GatePersonAuthLevelOneGatewayImpl implements GatePersonAuthLevelOneGateway {
private final GatePersonAuthLevelOneRepository gatePersonAuthLevelOneRepository;
@Override
public Boolean add(GatePersonAuthLevelOneE gatePersonAuthLevelOneE) {
GatePersonAuthLevelOneDO d = new GatePersonAuthLevelOneDO();
BeanUtils.copyProperties(gatePersonAuthLevelOneE, d);
// 口门授权状态0没有1有
d.setGateLevelAuthFlag(1);
// 0临时人员1长期人员
d.setUserType(1);
if (Tools.isEmpty(d.getUserId())) {
d.setUserType(0);
}
gatePersonAuthLevelOneRepository.save(d);
return true;
}
@Override
public Boolean update(GatePersonAuthLevelOneE gatePersonAuthLevelOneE) {
GatePersonAuthLevelOneDO d = new GatePersonAuthLevelOneDO();
BeanUtils.copyProperties(gatePersonAuthLevelOneE, d);
gatePersonAuthLevelOneRepository.updateById(d);
return true;
}
@Override
public Boolean deletedGatePersonAuthLevelOneById(Long id) {
return gatePersonAuthLevelOneRepository.removeById(id);
}
@Override
public Boolean deletedGatePersonAuthLevelOneByIds(Long[] ids) {
return gatePersonAuthLevelOneRepository.removeByIds(Arrays.asList(ids));
}
}

View File

@ -1,5 +1,7 @@
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.MkmjApprovalUserGateway;
import com.zcloud.primeport.domain.model.MkmjApprovalUserE;
import com.zcloud.primeport.persistence.dataobject.MkmjApprovalUserDO;
@ -9,6 +11,7 @@ import org.springframework.beans.BeanUtils;
import org.springframework.stereotype.Service;
import java.util.Arrays;
import java.util.List;
/**
* web-infrastructure
@ -24,6 +27,12 @@ public class MkmjApprovalUserGatewayImpl implements MkmjApprovalUserGateway {
@Override
public Boolean add(MkmjApprovalUserE mkmjApprovalUserE) {
MkmjApprovalUserDO d = new MkmjApprovalUserDO();
QueryWrapper<MkmjApprovalUserDO> objectQueryWrapper = new QueryWrapper<>();
objectQueryWrapper.eq("user_id",mkmjApprovalUserE.getUserId());
List<MkmjApprovalUserDO> list = mkmjApprovalUserRepository.list(objectQueryWrapper);
if (!list.isEmpty()) {
throw new BizException("该审批人已存在。");
}
BeanUtils.copyProperties(mkmjApprovalUserE, d);
mkmjApprovalUserRepository.save(d);
return true;

View File

@ -2,7 +2,6 @@ package com.zcloud.primeport.gatewayimpl;
import com.zcloud.primeport.domain.gateway.VehicleMessageGateway;
import com.zcloud.primeport.domain.model.VehicleMessageE;
import com.zcloud.primeport.dto.VehicleAddCheckResultDTO;
import com.zcloud.primeport.persistence.dataobject.VehicleMessageDO;
import com.zcloud.primeport.persistence.repository.VehicleMessageRepository;
import lombok.AllArgsConstructor;

View File

@ -0,0 +1,62 @@
package com.zcloud.primeport.persistence.dataobject;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
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;
/**
* web-infrastructure
*
* @Author dearLin
* @Date 2025-12-31 10:51:44
*/
@Data
@TableName("gate_person_auth_level_one")
@EqualsAndHashCode(callSuper = true)
public class GatePersonAuthLevelOneDO extends BaseDO {
//用户身份证号
@ApiModelProperty(value = "用户身份证号")
private String userCard;
//0临时人员1长期人员。临时人没有userid
@ApiModelProperty(value = "0临时人员1长期人员。临时人没有userid")
private Integer userType;
//用户id
@ApiModelProperty(value = "用户id")
private Long userId;
//门禁头像
@ApiModelProperty(value = "门禁头像")
private String userFacePic;
//口门授权状态0没有1有
@ApiModelProperty(value = "口门授权状态0没有1有")
private Integer gateLevelAuthFlag;
//授权范围港区与区域
@ApiModelProperty(value = "授权范围港区与区域")
private String gateLevelAuthArea;
//授权时间范围开始时间
@ApiModelProperty(value = "授权时间范围开始时间")
private String gateAuthTimeStart;
//授权时间范围结束时间
@ApiModelProperty(value = "授权时间范围结束时间")
private String gateAuthTimeEnd;
//三方系统id用于对接
@ApiModelProperty(value = "三方系统id用于对接")
private String gateId;
@TableField(exist = false)
private String departmentName;
@TableField(exist = false)
private String postName;
@TableField(exist = false)
private String userName;
@TableField(exist = false)
private String phone;
@TableField(exist = false)
@ApiModelProperty(value = "车辆数")
private Integer carCount;
}

View File

@ -2,6 +2,7 @@ package com.zcloud.primeport.persistence.dataobject;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.jjb.saas.framework.repository.basedo.BaseDO;
@ -21,34 +22,37 @@ import java.util.Date;
@TableName("mkmj_approval_user")
@EqualsAndHashCode(callSuper = true)
public class MkmjApprovalUserDO extends BaseDO {
//主键ID
@ApiModelProperty(value = "主键ID")
@TableId(type = IdType.ASSIGN_ID)
private Long id;
//审批人部门ID
@ApiModelProperty(value = "审批人部门ID")
private String deptName;
@TableField(exist = false)
private String departmentName;
//审批人部门
@ApiModelProperty(value = "审批人部门")
private Long deptId;
@TableField(exist = false)
private Long departmentId;
//审批人姓名
@ApiModelProperty(value = "审批人姓名")
@TableField(exist = false)
private String name;
//审批人
@ApiModelProperty(value = "审批人")
@TableField(exist = false)
private String userName;
//审批人名字
@ApiModelProperty(value = "审批人名字")
private Long userId;
//岗位名称
@ApiModelProperty(value = "岗位名称")
@TableField(exist = false)
private String postName;
//岗位id
@ApiModelProperty(value = "岗位id")
@TableField(exist = false)
private Long postId;
//企业id
@ApiModelProperty(value = "企业id")
private Long corpId;
@TableField(exist = false)
private Long corpinfoId;
//人员审核权限(0-无权限,1-有权限)
@ApiModelProperty(value = "人员审核权限(0-无权限,1-有权限)")
private Integer isPersonnelPermission;
@ -61,7 +65,7 @@ public class MkmjApprovalUserDO extends BaseDO {
//删除标识
@ApiModelProperty(value = "删除标识")
private String deleteEnum;
@TableField(exist = false)
@ApiModelProperty(value = "待审批的数量")
private Integer pendingApprovalQuantity;
}

View File

@ -7,6 +7,8 @@ import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;
import java.util.Date;
/**
* web-infrastructure
* UserDO
@ -90,39 +92,35 @@ public class UserViewDO extends BaseDO {
@ApiModelProperty(value = "版本")
private Integer version;
@ApiModelProperty(value = "创建人ID")
private Long createId;
@ApiModelProperty(value = "创建人姓名")
private String createName;
@ApiModelProperty(value = "创建时间")
private java.util.Date createTime;
@ApiModelProperty(value = "更新人ID")
private Long updateId;
@ApiModelProperty(value = "更新人姓名")
private String updateName;
@ApiModelProperty(value = "更新时间")
private java.util.Date updateTime;
@ApiModelProperty(value = "备注")
private String remarks;
@ApiModelProperty(value = "删除标识")
private String deleteEnum;
@ApiModelProperty(value = "租户ID")
private String tenantId;
@ApiModelProperty(value = "组织ID")
private String orgId;
@ApiModelProperty(value = "环境")
private String env;
//
// @ApiModelProperty(value = "创建人ID")
// private Long createId;
//
// @ApiModelProperty(value = "创建人姓名")
// private String createName;
//
//
// @ApiModelProperty(value = "更新人ID")
// private Long updateId;
//
// @ApiModelProperty(value = "更新人姓名")
// private String updateName;
//
//
// @ApiModelProperty(value = "备注")
// private String remarks;
//
// @ApiModelProperty(value = "删除标识")
// private String deleteEnum;
//
// @ApiModelProperty(value = "租户ID")
// private String tenantId;
//
// @ApiModelProperty(value = "组织ID")
// private String orgId;
//
// @ApiModelProperty(value = "环境")
// private String env;
@ApiModelProperty(value = "部门负责人标识")
private String departmentLeaderFlag;

View File

@ -0,0 +1,24 @@
package com.zcloud.primeport.persistence.mapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.zcloud.primeport.persistence.dataobject.GatePersonAuthLevelOneDO;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import java.util.Map;
/**
* web-infrastructure
*
* @Author dearLin
* @Date 2025-12-31 10:51:44
*/
@Mapper
public interface GatePersonAuthLevelOneMapper extends BaseMapper<GatePersonAuthLevelOneDO> {
IPage<GatePersonAuthLevelOneDO> listPage(IPage<GatePersonAuthLevelOneDO> page, @Param("parmas") Map<String, Object> parmas);
}

View File

@ -1,9 +1,13 @@
package com.zcloud.primeport.persistence.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.zcloud.primeport.persistence.dataobject.MkmjApprovalUserDO;
import org.apache.ibatis.annotations.Mapper;
import java.util.List;
import java.util.Map;
/**
* web-infrastructure
*
@ -13,5 +17,8 @@ import org.apache.ibatis.annotations.Mapper;
@Mapper
public interface MkmjApprovalUserMapper extends BaseMapper<MkmjApprovalUserDO> {
List<MkmjApprovalUserDO> listDeptUser(Map<String, Object> qry);
IPage<MkmjApprovalUserDO> listPage(IPage<MkmjApprovalUserDO> iPage, Map<String, Object> parmas);
}

View File

@ -0,0 +1,18 @@
package com.zcloud.primeport.persistence.repository;
import com.alibaba.cola.dto.PageResponse;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.jjb.saas.framework.repository.repo.BaseRepository;
import com.zcloud.primeport.persistence.dataobject.GatePersonAuthLevelOneDO;
import java.util.Map;
/**
* web-infrastructure
* @Author dearLin
* @Date 2025-12-31 10:51:44
*/
public interface GatePersonAuthLevelOneRepository extends BaseRepository<GatePersonAuthLevelOneDO> {
PageResponse<GatePersonAuthLevelOneDO> listPage(Map<String,Object> parmas);
}

View File

@ -16,5 +16,7 @@ public interface MkmjApprovalUserRepository extends BaseRepository<MkmjApprovalU
PageResponse<MkmjApprovalUserDO> listPage(Map<String,Object> parmas);
List<MkmjApprovalUserDO> listAll(Map<String,Object> parmas);
List<MkmjApprovalUserDO> listDeptUser(Map<String,Object> qry);
}

View File

@ -0,0 +1,40 @@
package com.zcloud.primeport.persistence.repository.impl;
import com.alibaba.cola.dto.PageResponse;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.jjb.saas.framework.repository.common.PageHelper;
import com.jjb.saas.framework.repository.repo.impl.BaseRepositoryImpl;
import com.zcloud.gbscommon.utils.PageQueryHelper;
import com.zcloud.gbscommon.utils.Query;
import com.zcloud.primeport.persistence.dataobject.GatePersonAuthLevelOneDO;
import com.zcloud.primeport.persistence.mapper.GatePersonAuthLevelOneMapper;
import com.zcloud.primeport.persistence.repository.GatePersonAuthLevelOneRepository;
import lombok.RequiredArgsConstructor;
import org.springframework.stereotype.Service;
import java.util.Map;
/**
* web-infrastructure
*
* @Author dearLin
* @Date 2025-12-31 10:51:44
*/
@Service
@RequiredArgsConstructor
public class GatePersonAuthLevelOneRepositoryImpl extends BaseRepositoryImpl<GatePersonAuthLevelOneMapper, GatePersonAuthLevelOneDO> implements GatePersonAuthLevelOneRepository {
private final GatePersonAuthLevelOneMapper gatePersonAuthLevelOneMapper;
@Override
public PageResponse<GatePersonAuthLevelOneDO> listPage(Map<String, Object> parmas) {
IPage<GatePersonAuthLevelOneDO> iPage = new Query<GatePersonAuthLevelOneDO>().getPage(parmas);
QueryWrapper<GatePersonAuthLevelOneDO> queryWrapper = new QueryWrapper<>();
queryWrapper = PageQueryHelper.createPageQueryWrapper(queryWrapper, parmas);
queryWrapper.orderByDesc("create_time");
// IPage<GatePersonAuthLevelOneDO> result = gatePersonAuthLevelOneMapper.selectPage(iPage, queryWrapper);
IPage<GatePersonAuthLevelOneDO> result = gatePersonAuthLevelOneMapper.listPage(iPage,parmas);
return PageHelper.pageToResponse(result, result.getRecords());
}
}

View File

@ -3,37 +3,42 @@ package com.zcloud.primeport.persistence.repository.impl;
import com.alibaba.cola.dto.PageResponse;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.jjb.saas.framework.auth.utils.AuthContext;
import com.jjb.saas.framework.repository.common.PageHelper;
import com.jjb.saas.framework.repository.repo.impl.BaseRepositoryImpl;
import com.zcloud.gbscommon.utils.PageQueryHelper;
import com.zcloud.gbscommon.utils.Query;
import com.zcloud.gbscommon.utils.Tools;
import com.zcloud.primeport.persistence.dataobject.MkmjApprovalUserDO;
import com.zcloud.primeport.persistence.mapper.MkmjApprovalUserMapper;
import com.zcloud.primeport.persistence.repository.MkmjApprovalUserRepository;
import lombok.RequiredArgsConstructor;
import org.springframework.stereotype.Service;
import java.util.Collections;
import java.util.List;
import java.util.Map;
/**
* web-infrastructure
* @Author guoyuepeng
* @Date 2025-11-14 10:09:22
*/
* web-infrastructure
*
* @Author guoyuepeng
* @Date 2025-11-14 10:09:22
*/
@Service
@RequiredArgsConstructor
public class MkmjApprovalUserRepositoryImpl extends BaseRepositoryImpl<MkmjApprovalUserMapper, MkmjApprovalUserDO> implements MkmjApprovalUserRepository {
private final MkmjApprovalUserMapper mkmjApprovalUserMapper;
@Override
public PageResponse<MkmjApprovalUserDO> listPage(Map<String,Object> parmas) {
IPage<MkmjApprovalUserDO> iPage = new Query<MkmjApprovalUserDO>().getPage(parmas);
QueryWrapper<MkmjApprovalUserDO> queryWrapper = new QueryWrapper<>();
queryWrapper = PageQueryHelper.createPageQueryWrapper(queryWrapper, parmas);
queryWrapper.orderByDesc("dept_id");
queryWrapper.orderByDesc("create_time");
IPage<MkmjApprovalUserDO> result = mkmjApprovalUserMapper.selectPage(iPage, queryWrapper);
public PageResponse<MkmjApprovalUserDO> listPage(Map<String, Object> parmas) {
IPage<MkmjApprovalUserDO> iPage = new Query<MkmjApprovalUserDO>().getPage(parmas);
// QueryWrapper<MkmjApprovalUserDO> queryWrapper = new QueryWrapper<>();
// queryWrapper = PageQueryHelper.createPageQueryWrapper(queryWrapper, parmas);
// queryWrapper.orderByDesc("dept_id");
// queryWrapper.orderByDesc("create_time");
IPage<MkmjApprovalUserDO> result = mkmjApprovalUserMapper.listPage(iPage, parmas);
// IPage<MkmjApprovalUserDO> result = mkmjApprovalUserMapper.selectPage(iPage, queryWrapper);
return PageHelper.pageToResponse(result, result.getRecords());
}
@ -41,9 +46,27 @@ public class MkmjApprovalUserRepositoryImpl extends BaseRepositoryImpl<MkmjAppro
public List<MkmjApprovalUserDO> listAll(Map<String, Object> parmas) {
QueryWrapper<MkmjApprovalUserDO> queryWrapper = new QueryWrapper<>();
queryWrapper = PageQueryHelper.createPageQueryWrapper(queryWrapper, parmas);
queryWrapper.eq("tenant_id", AuthContext.getTenantId());
if (Tools.notEmpty(String.valueOf(parmas.get("isPersonnelPermission")))) {
queryWrapper.eq("is_personnel_permission", parmas.get("isPersonnelPermission"));
}
if (Tools.notEmpty(String.valueOf(parmas.get("isVehiclePermission")))) {
queryWrapper.eq("is_vehicle_permission", parmas.get("isVehiclePermission"));
}
if (Tools.notEmpty(String.valueOf(parmas.get("isTemporaryPermission")))) {
queryWrapper.eq("is_temporary_permission", parmas.get("isTemporaryPermission"));
}
queryWrapper.eq("tenant_id", AuthContext.getTenantId());
queryWrapper.orderByDesc("dept_id");
queryWrapper.orderByDesc("create_time");
return mkmjApprovalUserMapper.selectList(queryWrapper);
}
@Override
public List<MkmjApprovalUserDO> listDeptUser(Map<String, Object> qry) {
List<MkmjApprovalUserDO> data = mkmjApprovalUserMapper.listDeptUser(qry);
return data;
}
}

View File

@ -0,0 +1,28 @@
<?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.GatePersonAuthLevelOneMapper">
<select id="listPage" resultType="com.zcloud.primeport.persistence.dataobject.GatePersonAuthLevelOneDO">
SELECT
u.id user_id,
u.name,
u.user_id_card user_card,
u.username phone,
u.department_name,
u.user_avatar_url user_face_pic,
u.post_name,
1 car_count,
gpalo.id,
gpalo.gate_id,
gpalo.gate_level_auth_flag,
gpalo.gate_level_auth_area,
gpalo.gate_auth_time_start,
gpalo.gate_auth_time_end
FROM
`user` u
LEFT JOIN gate_person_auth_level_one gpalo ON gpalo.user_id = u.id and gpalo.delete_enum = 'FALSE'
</select>
</mapper>

View File

@ -4,5 +4,42 @@
<mapper namespace="com.zcloud.primeport.persistence.mapper.MkmjApprovalUserMapper">
<select id="listDeptUser" resultType="com.zcloud.primeport.persistence.dataobject.MkmjApprovalUserDO">
SELECT vu.id user_id,vu.username,vu.`name`,vu.department_id,vu.department_name,vu.post_id,vu.post_name from user vu WHERE vu.department_id = #{department_id} and vu.id not in (
SELECT
mau.user_id
FROM
`mkmj_approval_user` mau
WHERE mau.delete_enum = 'false'
)
</select>
<select id="listPage" resultType="com.zcloud.primeport.persistence.dataobject.MkmjApprovalUserDO">
SELECT
au.id,
au.user_id,
au.is_personnel_permission,
au.is_vehicle_permission,
au.is_temporary_permission,
vu.username,
vu.`name`,
vu.corpinfo_id,
vu.department_id,
vu.department_name,
vu.post_id,
vu.post_name,
0 pending_approval_quantity
FROM
mkmj_approval_user au
LEFT JOIN `user` vu on au.user_id = vu.id
WHERE
au.delete_enum = 'FALSE'
<if test="parmas.deptId != null and parmas.deptId != ''">
and vu.dept_id = #{deptId}
</if>
<if test="parmas.name != null and parmas.name != ''">
and vu.name like concat('%',#{parmas.name},'%')
</if>
order by vu.department_id, au.create_time desc
</select>
</mapper>