diff --git a/web-adapter/src/main/java/com/zcloud/primeport/web/PersonApplyController.java b/web-adapter/src/main/java/com/zcloud/primeport/web/PersonApplyController.java index f89b753..71e125a 100644 --- a/web-adapter/src/main/java/com/zcloud/primeport/web/PersonApplyController.java +++ b/web-adapter/src/main/java/com/zcloud/primeport/web/PersonApplyController.java @@ -5,6 +5,7 @@ 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.alibaba.cola.exception.BizException; import com.jjb.saas.framework.auth.model.SSOUser; import com.jjb.saas.framework.auth.utils.AuthContext; import com.zcloud.primeport.api.PersonApplyServiceI; @@ -39,23 +40,26 @@ public class PersonApplyController { } @ApiOperation("待审批的相关方申请列表-同已审批记录") @PostMapping("/xgfPersonAuditList") - public PageResponse xgfPersonAuditList(@Validated @RequestBody XgfApplyPersonPageQry qry) { + public PageResponse xgfPersonAuditList(@RequestBody XgfApplyPersonPageQry qry) { return personApplyService.xgfPersonAuditList(qry); } @ApiOperation("相关方人员入场申请列表") @PostMapping("/xgfPersonApplyList") - public PageResponse xgfPersonApplyList(@Validated @RequestBody XgfApplyPersonPageQry qry) { + public PageResponse xgfPersonApplyList(@RequestBody XgfApplyPersonPageQry qry) { return personApplyService.xgfPersonApplyList(qry); } @ApiOperation("临时访客人员入场申请列表-H5") @PostMapping("/tmpPersonApplyH5List") - public PageResponse tmpPersonApplyH5List(@Validated @RequestBody XgfApplyPersonPageQry qry) { - return personApplyService.xgfPersonApplyList(qry); + public PageResponse tmpPersonApplyH5List(@RequestBody XgfApplyPersonPageQry qry) { + return personApplyService.tmpPersonApplyH5List(qry); } @ApiOperation("相关方、临时-人员申请审批") @PostMapping("/xgfPersonAudit") - public Response xgfPersonAudit(@Validated @RequestBody XgfPersonApplyAddCmd cmd) { - personApplyService.xgfPersonSave(cmd); + public Response xgfPersonAudit(@Validated @RequestBody XgfPersonApplyAuditCmd cmd) { + if (!(cmd.getAuditFlag().equals(2) || cmd.getAuditFlag().equals(3))) { + throw new BizException("审批状态必须是通过或不通过"); + } + personApplyService.xgfPersonAudit(cmd); return SingleResponse.buildSuccess(); } diff --git a/web-app/src/main/java/com/zcloud/primeport/command/PersonApplyUpdateExe.java b/web-app/src/main/java/com/zcloud/primeport/command/PersonApplyUpdateExe.java index e54b462..3de5e96 100644 --- a/web-app/src/main/java/com/zcloud/primeport/command/PersonApplyUpdateExe.java +++ b/web-app/src/main/java/com/zcloud/primeport/command/PersonApplyUpdateExe.java @@ -3,7 +3,9 @@ package com.zcloud.primeport.command; import com.alibaba.cola.exception.BizException; import com.zcloud.primeport.domain.gateway.PersonApplyGateway; import com.zcloud.primeport.domain.model.PersonApplyE; +import com.zcloud.primeport.domain.model.XgfApplyPersonE; import com.zcloud.primeport.dto.PersonApplyUpdateCmd; +import com.zcloud.primeport.dto.XgfPersonApplyAuditCmd; import lombok.AllArgsConstructor; import org.springframework.beans.BeanUtils; import org.springframework.stereotype.Component; @@ -30,5 +32,13 @@ public class PersonApplyUpdateExe { throw new BizException("修改失败"); } } + + public void xgfPersonAudit(XgfPersonApplyAuditCmd cmd) { + XgfApplyPersonE build = XgfApplyPersonE.builder() + .auditFlag(cmd.getAuditFlag()) + .reasonsRefusal(cmd.getReasonsRefusal()).build(); + build.setId(cmd.getId()); + personApplyGateway.xgfPersonAudit(build); + } } diff --git a/web-app/src/main/java/com/zcloud/primeport/command/query/PersonApplyQueryExe.java b/web-app/src/main/java/com/zcloud/primeport/command/query/PersonApplyQueryExe.java index c24f570..7fcda50 100644 --- a/web-app/src/main/java/com/zcloud/primeport/command/query/PersonApplyQueryExe.java +++ b/web-app/src/main/java/com/zcloud/primeport/command/query/PersonApplyQueryExe.java @@ -69,5 +69,14 @@ public class PersonApplyQueryExe { List examCenterCOS = xgfApplyPersonCoConvertor.converDOsToCOs(pageResponse.getData()); return PageResponse.of(examCenterCOS, pageResponse.getTotalCount(), pageResponse.getPageSize(), pageResponse.getPageIndex()); } + + public PageResponse tmpPersonApplyH5List(XgfApplyPersonPageQry qry) { + Map parmas = PageQueryHelper.toHashMap(qry); + parmas.put("person_belong_type", 4); + PageResponse pageResponse = personApplyRepository.listPage(parmas); + List examCenterCOS = personApplyCoConvertor.converDOsToCOs(pageResponse.getData()); + return PageResponse.of(examCenterCOS, pageResponse.getTotalCount(), pageResponse.getPageSize(), pageResponse.getPageIndex()); + + } } diff --git a/web-app/src/main/java/com/zcloud/primeport/service/PersonApplyServiceImpl.java b/web-app/src/main/java/com/zcloud/primeport/service/PersonApplyServiceImpl.java index 26c4151..389f5ff 100644 --- a/web-app/src/main/java/com/zcloud/primeport/service/PersonApplyServiceImpl.java +++ b/web-app/src/main/java/com/zcloud/primeport/service/PersonApplyServiceImpl.java @@ -69,5 +69,15 @@ public class PersonApplyServiceImpl implements PersonApplyServiceI { public PageResponse xgfPersonApplyList(XgfApplyPersonPageQry qry) { return personApplyQueryExe.xgfPersonApplyList(qry); } + + @Override + public PageResponse tmpPersonApplyH5List(XgfApplyPersonPageQry qry) { + return personApplyQueryExe.tmpPersonApplyH5List(qry); + } + + @Override + public void xgfPersonAudit(XgfPersonApplyAuditCmd cmd) { + personApplyUpdateExe.xgfPersonAudit(cmd); + } } diff --git a/web-client/src/main/java/com/zcloud/primeport/api/PersonApplyServiceI.java b/web-client/src/main/java/com/zcloud/primeport/api/PersonApplyServiceI.java index b263bd3..cf5010e 100644 --- a/web-client/src/main/java/com/zcloud/primeport/api/PersonApplyServiceI.java +++ b/web-client/src/main/java/com/zcloud/primeport/api/PersonApplyServiceI.java @@ -28,5 +28,9 @@ public interface PersonApplyServiceI { PageResponse xgfPersonAuditList(XgfApplyPersonPageQry qry); PageResponse xgfPersonApplyList(XgfApplyPersonPageQry qry); + + PageResponse tmpPersonApplyH5List(XgfApplyPersonPageQry qry); + + void xgfPersonAudit(XgfPersonApplyAuditCmd cmd); } diff --git a/web-client/src/main/java/com/zcloud/primeport/dto/XgfApplyPersonPageQry.java b/web-client/src/main/java/com/zcloud/primeport/dto/XgfApplyPersonPageQry.java index 7039334..e05af7a 100644 --- a/web-client/src/main/java/com/zcloud/primeport/dto/XgfApplyPersonPageQry.java +++ b/web-client/src/main/java/com/zcloud/primeport/dto/XgfApplyPersonPageQry.java @@ -22,5 +22,9 @@ public class XgfApplyPersonPageQry extends PageQuery { private String applyCorpName; @ApiModelProperty(name = "auditFlag", value = "审核状态(1:审核中;2审核通过; 3:审核驳回)") private Integer auditFlag; + + + @ApiModelProperty(name = "userCard", value = "临时访客h5二维码用根据身份证号查询申请记录") + private String userCard; } diff --git a/web-client/src/main/java/com/zcloud/primeport/dto/XgfPersonApplyAuditCmd.java b/web-client/src/main/java/com/zcloud/primeport/dto/XgfPersonApplyAuditCmd.java new file mode 100644 index 0000000..1e65766 --- /dev/null +++ b/web-client/src/main/java/com/zcloud/primeport/dto/XgfPersonApplyAuditCmd.java @@ -0,0 +1,34 @@ +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; +import java.util.List; + +/** + * web-client + * + * @Author makejava + * @Date 2026-03-05 11:33:21 + */ +@EqualsAndHashCode(callSuper = true) +@Data +@NoArgsConstructor +@AllArgsConstructor +public class XgfPersonApplyAuditCmd extends Command { + @ApiModelProperty(value = "主键", name = "id") + @NotNull(message = "主键不能为空") + private Long id; + @ApiModelProperty(value = "审核标志2审核通过; 3:审核驳回", name = "auditFlag") + @NotNull(message = "审核标志不能为空") + private Integer auditFlag; + @ApiModelProperty(value = "驳回理由", name = "reasonsRefusal") + private String reasonsRefusal; +} + diff --git a/web-client/src/main/java/com/zcloud/primeport/dto/clientobject/PersonApplyCO.java b/web-client/src/main/java/com/zcloud/primeport/dto/clientobject/PersonApplyCO.java index 4be9dfb..ca58bb8 100644 --- a/web-client/src/main/java/com/zcloud/primeport/dto/clientobject/PersonApplyCO.java +++ b/web-client/src/main/java/com/zcloud/primeport/dto/clientobject/PersonApplyCO.java @@ -18,6 +18,8 @@ public class PersonApplyCO extends ClientObject { //id @ApiModelProperty(value = "id") private Long id; + @ApiModelProperty(value = "相关方申请id",name = "xgfApplyPersonId") + private Long xgfApplyPersonId; //1股份2分公司3相关方4临时人员 @ApiModelProperty(value = "1股份2分公司3相关方4临时人员") private Integer personBelongType; @@ -63,8 +65,10 @@ public class PersonApplyCO extends ClientObject { //项目名称 @ApiModelProperty(value = "项目名称") private String projectName; - //来访事由 驳回原因 - @ApiModelProperty(value = "来访事由") - private String remarks; + + @ApiModelProperty(value = "访问口门id",name = "mkmjId") + private Long mkmjId; + @ApiModelProperty(value = "访问口门名称",name = "mkmjId") + private String mkmjName; } diff --git a/web-client/src/main/java/com/zcloud/primeport/dto/clientobject/VehicleApplyCO.java b/web-client/src/main/java/com/zcloud/primeport/dto/clientobject/VehicleApplyCO.java index ca8e2c7..e05826f 100644 --- a/web-client/src/main/java/com/zcloud/primeport/dto/clientobject/VehicleApplyCO.java +++ b/web-client/src/main/java/com/zcloud/primeport/dto/clientobject/VehicleApplyCO.java @@ -100,7 +100,5 @@ public class VehicleApplyCO extends ClientObject { private Long auditUserId; @ApiModelProperty(value = "currentUserId", name = "当前用户") private Long currentUserId; - - } diff --git a/web-client/src/main/java/com/zcloud/primeport/dto/clientobject/XgfPersonApplyCO.java b/web-client/src/main/java/com/zcloud/primeport/dto/clientobject/XgfPersonApplyCO.java index 77d3829..263bd3f 100644 --- a/web-client/src/main/java/com/zcloud/primeport/dto/clientobject/XgfPersonApplyCO.java +++ b/web-client/src/main/java/com/zcloud/primeport/dto/clientobject/XgfPersonApplyCO.java @@ -40,6 +40,10 @@ public class XgfPersonApplyCO extends ClientObject { //项目id @ApiModelProperty(value = "项目id",name = "projectId") private Long projectId; + @ApiModelProperty(value = "访问口门id",name = "mkmjId") + private Long mkmjId; + @ApiModelProperty(value = "访问口门名称",name = "mkmjId") + private String mkmjName; //项目名称 @ApiModelProperty(value = "项目名称",name = "projectName") private String projectName; diff --git a/web-domain/src/main/java/com/zcloud/primeport/domain/gateway/PersonApplyGateway.java b/web-domain/src/main/java/com/zcloud/primeport/domain/gateway/PersonApplyGateway.java index 2356990..e93cd2c 100644 --- a/web-domain/src/main/java/com/zcloud/primeport/domain/gateway/PersonApplyGateway.java +++ b/web-domain/src/main/java/com/zcloud/primeport/domain/gateway/PersonApplyGateway.java @@ -1,6 +1,7 @@ package com.zcloud.primeport.domain.gateway; import com.zcloud.primeport.domain.model.PersonApplyE; +import com.zcloud.primeport.domain.model.XgfApplyPersonE; import java.util.ArrayList; @@ -30,5 +31,7 @@ public interface PersonApplyGateway { Boolean deletedPersonApplyByIds(Long[] id); void saveBatch(ArrayList personApplyES); + + void xgfPersonAudit(XgfApplyPersonE build); } diff --git a/web-domain/src/main/java/com/zcloud/primeport/domain/model/XgfApplyPersonE.java b/web-domain/src/main/java/com/zcloud/primeport/domain/model/XgfApplyPersonE.java index 852fa7b..e125cfc 100644 --- a/web-domain/src/main/java/com/zcloud/primeport/domain/model/XgfApplyPersonE.java +++ b/web-domain/src/main/java/com/zcloud/primeport/domain/model/XgfApplyPersonE.java @@ -43,5 +43,7 @@ public class XgfApplyPersonE extends BaseE { private String auditDeptName; private Long auditUserId; private String auditUserName; + private String reasonsRefusal; + private String reasonVisit; } diff --git a/web-infrastructure/src/main/java/com/zcloud/primeport/gatewayimpl/PersonApplyGatewayImpl.java b/web-infrastructure/src/main/java/com/zcloud/primeport/gatewayimpl/PersonApplyGatewayImpl.java index 3987726..004d2ee 100644 --- a/web-infrastructure/src/main/java/com/zcloud/primeport/gatewayimpl/PersonApplyGatewayImpl.java +++ b/web-infrastructure/src/main/java/com/zcloud/primeport/gatewayimpl/PersonApplyGatewayImpl.java @@ -1,15 +1,22 @@ package com.zcloud.primeport.gatewayimpl; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.zcloud.primeport.domain.gateway.PersonApplyGateway; import com.zcloud.primeport.domain.model.PersonApplyE; +import com.zcloud.primeport.domain.model.XgfApplyPersonE; import com.zcloud.primeport.persistence.dataobject.PersonApplyDO; +import com.zcloud.primeport.persistence.dataobject.PersonMessageDO; +import com.zcloud.primeport.persistence.dataobject.XgfApplyPersonDO; import com.zcloud.primeport.persistence.repository.PersonApplyRepository; +import com.zcloud.primeport.persistence.repository.PersonMessageRepository; +import com.zcloud.primeport.persistence.repository.XgfApplyPersonRepository; import lombok.AllArgsConstructor; import org.springframework.beans.BeanUtils; import org.springframework.stereotype.Service; import java.util.ArrayList; import java.util.Collections; +import java.util.List; /** * web-infrastructure @@ -21,6 +28,8 @@ import java.util.Collections; @AllArgsConstructor public class PersonApplyGatewayImpl implements PersonApplyGateway { private final PersonApplyRepository personApplyRepository; + private final XgfApplyPersonRepository xgfApplyPersonRepository; + private final PersonMessageRepository personMessageRepository; @Override public Boolean add(PersonApplyE personApplyE) { @@ -58,5 +67,33 @@ public class PersonApplyGatewayImpl implements PersonApplyGateway { }); personApplyRepository.saveBatch(d); } + + @Override + public void xgfPersonAudit(XgfApplyPersonE build) { + XgfApplyPersonDO d = new XgfApplyPersonDO(); + BeanUtils.copyProperties(build, d); + xgfApplyPersonRepository.updateById(d); + if (build.getAuditFlag().equals(2)) { + // 审核通过后添加人员信息 + XgfApplyPersonDO byId = xgfApplyPersonRepository.getById(d.getId()); + QueryWrapper personApplyDOQueryWrapper = new QueryWrapper<>(); + personApplyDOQueryWrapper.eq("xgf_apply_person_id", d.getId()); + List list = personApplyRepository.list(personApplyDOQueryWrapper); + ArrayList personMessageDOS = new ArrayList<>(); + list.forEach( item ->{ + PersonMessageDO messageDO = new PersonMessageDO(); + messageDO.setPersonBelongType(byId.getPersonBelongType()); + messageDO.setPersonApplyId(d.getId()); + messageDO.setSyncStatus(2); + messageDO.setGateLevelAuthArea(byId.getGateLevelAuthArea()); + messageDO.setUserFaceUrl(item.getUserFaceUrl()); + messageDO.setUserCard(item.getUserCard()); + messageDO.setVisitStartTime(byId.getVisitStartTime()); + messageDO.setVisitEndTime(byId.getVisitEndTime()); + personMessageDOS.add(messageDO); + }); + personMessageRepository.saveBatch(personMessageDOS); + } + } } diff --git a/web-infrastructure/src/main/java/com/zcloud/primeport/persistence/dataobject/PersonApplyDO.java b/web-infrastructure/src/main/java/com/zcloud/primeport/persistence/dataobject/PersonApplyDO.java index 6030de2..f4d6707 100644 --- a/web-infrastructure/src/main/java/com/zcloud/primeport/persistence/dataobject/PersonApplyDO.java +++ b/web-infrastructure/src/main/java/com/zcloud/primeport/persistence/dataobject/PersonApplyDO.java @@ -1,6 +1,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; @@ -47,5 +48,20 @@ public class PersonApplyDO extends BaseDO { //身份证号码 @ApiModelProperty(value = "身份证号码") private String userCard; + @TableField(exist = false) + private String reasonsRefusal; + @TableField(exist = false) + private String reasonVisit; + @TableField(exist = false) + private String visitStartTime; + //访问结束时间 + @TableField(exist = false) + private String visitEndTime; + @TableField(exist = false) + private Long mkmjId; + @TableField(exist = false) + private Long mkmjName; + @TableField(exist = false) + private Integer personBelongType; } diff --git a/web-infrastructure/src/main/java/com/zcloud/primeport/persistence/dataobject/XgfApplyPersonDO.java b/web-infrastructure/src/main/java/com/zcloud/primeport/persistence/dataobject/XgfApplyPersonDO.java index 82683c0..103cad4 100644 --- a/web-infrastructure/src/main/java/com/zcloud/primeport/persistence/dataobject/XgfApplyPersonDO.java +++ b/web-infrastructure/src/main/java/com/zcloud/primeport/persistence/dataobject/XgfApplyPersonDO.java @@ -1,5 +1,6 @@ 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; @@ -36,6 +37,8 @@ public class XgfApplyPersonDO extends BaseDO { @ApiModelProperty(value = "告知签字") private Long informSignId; private Long mkmjId; + @TableField(exist = false) + private Long mkmjName; //项目id @ApiModelProperty(value = "项目id") private Long projectId; @@ -49,5 +52,7 @@ public class XgfApplyPersonDO extends BaseDO { private String auditDeptName; private Long auditUserId; private String auditUserName; + private String reasonsRefusal; + private String reasonVisit; } diff --git a/web-infrastructure/src/main/java/com/zcloud/primeport/persistence/mapper/PersonApplyMapper.java b/web-infrastructure/src/main/java/com/zcloud/primeport/persistence/mapper/PersonApplyMapper.java index 6b14ab9..7068ce9 100644 --- a/web-infrastructure/src/main/java/com/zcloud/primeport/persistence/mapper/PersonApplyMapper.java +++ b/web-infrastructure/src/main/java/com/zcloud/primeport/persistence/mapper/PersonApplyMapper.java @@ -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.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.zcloud.primeport.persistence.dataobject.PersonApplyDO; import org.apache.ibatis.annotations.Mapper; +import java.util.Map; + /** * web-infrastructure * @@ -13,5 +17,6 @@ import org.apache.ibatis.annotations.Mapper; @Mapper public interface PersonApplyMapper extends BaseMapper { + IPage listPage(Page> page, Map parmas, String menuPerms); } diff --git a/web-infrastructure/src/main/java/com/zcloud/primeport/persistence/repository/impl/PersonApplyRepositoryImpl.java b/web-infrastructure/src/main/java/com/zcloud/primeport/persistence/repository/impl/PersonApplyRepositoryImpl.java index d4c445a..15b9576 100644 --- a/web-infrastructure/src/main/java/com/zcloud/primeport/persistence/repository/impl/PersonApplyRepositoryImpl.java +++ b/web-infrastructure/src/main/java/com/zcloud/primeport/persistence/repository/impl/PersonApplyRepositoryImpl.java @@ -3,8 +3,11 @@ 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.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.jjb.saas.framework.repository.repo.impl.BaseRepositoryImpl; import com.zcloud.gbscommon.utils.PageQueryHelper; +import com.zcloud.primeport.domain.enums.MenuEnum; +import com.zcloud.primeport.persistence.dataobject.MkmjDO; import com.zcloud.primeport.persistence.dataobject.PersonApplyDO; import com.zcloud.primeport.persistence.mapper.PersonApplyMapper; import com.zcloud.primeport.persistence.repository.PersonApplyRepository; @@ -12,8 +15,10 @@ import lombok.RequiredArgsConstructor; import org.springframework.stereotype.Service; import java.util.Map; + import com.zcloud.gbscommon.utils.Query; import com.jjb.saas.framework.repository.common.PageHelper; + /** * web-infrastructure * @@ -27,12 +32,15 @@ public class PersonApplyRepositoryImpl extends BaseRepositoryImpl listPage(Map parmas) { - IPage iPage = new Query().getPage(parmas); - QueryWrapper queryWrapper = new QueryWrapper<>(); - queryWrapper = PageQueryHelper.createPageQueryWrapper(queryWrapper, parmas); - queryWrapper.orderByDesc("create_time"); - IPage result = personApplyMapper.selectPage(iPage, queryWrapper); - return PageHelper.pageToResponse(result, result.getRecords()); + + Page> 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 iPage = personApplyMapper.listPage(page, parmas, menuPerms); + return PageHelper.pageToResponse(iPage, iPage.getRecords()); } } diff --git a/web-infrastructure/src/main/resources/mapper/PersonApplyDO.xml b/web-infrastructure/src/main/resources/mapper/PersonApplyDO.xml index b631d70..cfedd51 100644 --- a/web-infrastructure/src/main/resources/mapper/PersonApplyDO.xml +++ b/web-infrastructure/src/main/resources/mapper/PersonApplyDO.xml @@ -4,5 +4,49 @@ +