feat:二级封闭区域申请,一级临时人

koumen
dearLin 2026-03-23 09:46:18 +08:00
parent 7c5765e0c8
commit 4b7207820e
16 changed files with 105 additions and 31 deletions

View File

@ -8,6 +8,7 @@ import com.zcloud.primeport.api.MkmjServiceI;
import com.zcloud.primeport.dto.MkmjAddCmd; import com.zcloud.primeport.dto.MkmjAddCmd;
import com.zcloud.primeport.dto.MkmjPageQry; import com.zcloud.primeport.dto.MkmjPageQry;
import com.zcloud.primeport.dto.MkmjUpdateCmd; import com.zcloud.primeport.dto.MkmjUpdateCmd;
import com.zcloud.primeport.dto.MkmjUpdateStatusCmd;
import com.zcloud.primeport.dto.clientobject.MkmjCO; import com.zcloud.primeport.dto.clientobject.MkmjCO;
import com.zcloud.primeport.dto.clientobject.VehicleMessageCO; import com.zcloud.primeport.dto.clientobject.VehicleMessageCO;
import io.swagger.annotations.Api; import io.swagger.annotations.Api;
@ -58,6 +59,16 @@ public class MkmjController {
return SingleResponse.buildSuccess(); return SingleResponse.buildSuccess();
} }
@ApiOperation("停用启用")
@PutMapping("/editStatus")
public SingleResponse editStatus(@Validated @RequestBody MkmjUpdateStatusCmd mkmjUpdateCmd) {
MkmjUpdateCmd mkmjUpdateCmd1 = new MkmjUpdateCmd();
mkmjUpdateCmd1.setId(mkmjUpdateCmd.getId());
mkmjUpdateCmd1.setMkmjStatus(mkmjUpdateCmd.getMkmjStatus());
mkmjService.edit(mkmjUpdateCmd1);
return SingleResponse.buildSuccess();
}
@ApiOperation("修改") @ApiOperation("修改")
@PutMapping("/edit") @PutMapping("/edit")
public SingleResponse edit(@Validated @RequestBody MkmjUpdateCmd mkmjUpdateCmd) { public SingleResponse edit(@Validated @RequestBody MkmjUpdateCmd mkmjUpdateCmd) {

View File

@ -35,8 +35,8 @@ public class ClosedAreaController {
@ApiOperation("树级结构") @ApiOperation("树级结构")
@GetMapping("/listTree") @GetMapping("/listTree")
public MultiResponse<ClosedAreaCO> listTree() { public MultiResponse<ClosedAreaCO> listTree(ClosedAreaPageQry qry) {
return closedAreaService.listTree(); return closedAreaService.listTree(qry);
} }
@ApiOperation("统计港区里所有的封闭区域数与管辖单位数") @ApiOperation("统计港区里所有的封闭区域数与管辖单位数")
@GetMapping("/getCountByHgAuthArea") @GetMapping("/getCountByHgAuthArea")

View File

@ -5,21 +5,21 @@ import com.alibaba.cola.dto.PageResponse;
import com.alibaba.cola.dto.Response; import com.alibaba.cola.dto.Response;
import com.alibaba.cola.dto.SingleResponse; import com.alibaba.cola.dto.SingleResponse;
import com.alibaba.cola.exception.BizException; import com.alibaba.cola.exception.BizException;
import com.alibaba.fastjson.JSON;
import com.zcloud.primeport.api.ClosedAreaCarApplyServiceI; import com.zcloud.primeport.api.ClosedAreaCarApplyServiceI;
import com.zcloud.primeport.api.ClosedAreaPersonApplyServiceI; import com.zcloud.primeport.api.ClosedAreaPersonApplyServiceI;
import com.zcloud.primeport.api.PersonApplyServiceI; import com.zcloud.primeport.api.PersonApplyServiceI;
import com.zcloud.primeport.domain.enums.TmpApplyEnum; import com.zcloud.primeport.domain.enums.TmpApplyEnum;
import com.zcloud.primeport.dto.ClosedAreaCarApplyAddCmd; import com.zcloud.primeport.dto.*;
import com.zcloud.primeport.dto.ClosedAreaCarApplyAuditCmd;
import com.zcloud.primeport.dto.ClosedAreaCarApplyPageQry;
import com.zcloud.primeport.dto.ClosedTmpApplyAddCmd;
import com.zcloud.primeport.dto.clientobject.ClosedAreaCarApplyCO; import com.zcloud.primeport.dto.clientobject.ClosedAreaCarApplyCO;
import io.swagger.annotations.Api; import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiOperation;
import lombok.AllArgsConstructor; import lombok.AllArgsConstructor;
import org.springframework.beans.BeanUtils;
import org.springframework.validation.annotation.Validated; import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
import java.util.ArrayList;
import java.util.HashMap; import java.util.HashMap;
/** /**
@ -46,7 +46,33 @@ public class ClosedTmpApplyController {
id = closedAreaPersonApplyServiceI.saveTmpPersonApply(cmd); id = closedAreaPersonApplyServiceI.saveTmpPersonApply(cmd);
} }
if (cmd.getTmpMkmjType().equals(TmpApplyEnum.ONE_LEVEL_PERSON_APPLY.getCode())) { if (cmd.getTmpMkmjType().equals(TmpApplyEnum.ONE_LEVEL_PERSON_APPLY.getCode())) {
personApplyServiceI.xgfPersonSave(); XgfPersonApplyAddCmd xgf = new XgfPersonApplyAddCmd();
BeanUtils.copyProperties(cmd, xgf);
xgf.setPersonBelongType(4);
HashMap<String, Object> stringObjectHashMap = new HashMap<>();
ArrayList<HashMap<String, Object>> hashMaps = new ArrayList<>();
stringObjectHashMap.put("bianma", cmd.getHgAuthArea());
stringObjectHashMap.put("value", cmd.getHgAuthAreaName());
hashMaps.add(stringObjectHashMap);
HashMap<String, Object> stringObjectHashMap2 = new HashMap<>();
stringObjectHashMap2.put("area", stringObjectHashMap);
xgf.setGateLevelAuthArea(JSON.toJSONString(stringObjectHashMap2));
xgf.setAuditCorpId(cmd.getAuditPersonCorpId());
xgf.setAuditCorpName(cmd.getAuditPersonCorpName());
xgf.setAuditDeptId(cmd.getAuditPersonDepartmentId());
xgf.setAuditDeptName(cmd.getAuditPersonDepartmentName());
xgf.setAuditUserId(cmd.getAuditPersonUserId());
xgf.setAuditUserName(cmd.getAuditPersonUserName());
xgf.setReasonVisit(cmd.getApplyReason());
XgfPersonApplyAddCmd.PersonApplyAddCmdExt personApplyAddCmdExt = new XgfPersonApplyAddCmd.PersonApplyAddCmdExt();
personApplyAddCmdExt.setEmployeePersonUserName(cmd.getApplyPersonUserName());
personApplyAddCmdExt.setUserFaceUrl(cmd.getUserFaceUrl());
personApplyAddCmdExt.setUserPhone(cmd.getUserPhone());
personApplyAddCmdExt.setUserCard(cmd.getUserPhone());
ArrayList<XgfPersonApplyAddCmd.PersonApplyAddCmdExt> personApplyAddCmdExts = new ArrayList<>();
personApplyAddCmdExts.add(personApplyAddCmdExt);
xgf.setPersonApplyList(personApplyAddCmdExts);
id = personApplyServiceI.xgfPersonSave(xgf);
} }
} }
if (cmd.getTmpApplyType().equals(TmpApplyEnum.CAR_APPLY.getCode())) { if (cmd.getTmpApplyType().equals(TmpApplyEnum.CAR_APPLY.getCode())) {

View File

@ -14,6 +14,7 @@ import com.zcloud.primeport.dto.XgfApplyPersonPageQry;
import com.zcloud.primeport.dto.XgfPersonApplyAddCmd; import com.zcloud.primeport.dto.XgfPersonApplyAddCmd;
import com.zcloud.primeport.dto.clientobject.PersonApplyCO; import com.zcloud.primeport.dto.clientobject.PersonApplyCO;
import com.zcloud.primeport.dto.clientobject.XgfPersonApplyCO; import com.zcloud.primeport.dto.clientobject.XgfPersonApplyCO;
import jodd.util.Base64;
import lombok.AllArgsConstructor; import lombok.AllArgsConstructor;
import org.springframework.beans.BeanUtils; import org.springframework.beans.BeanUtils;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;
@ -51,7 +52,7 @@ public class PersonApplyAddExe {
return true; return true;
} }
public SingleResponse<PersonApplyCO> xgfPersonSave(XgfPersonApplyAddCmd cmd) { public Long xgfPersonSave(XgfPersonApplyAddCmd cmd) {
// 先进行相关方申请的保存 // 先进行相关方申请的保存
XgfApplyPersonE build = XgfApplyPersonE.builder().personBelongType(cmd.getPersonBelongType()) XgfApplyPersonE build = XgfApplyPersonE.builder().personBelongType(cmd.getPersonBelongType())
.gateLevelAuthArea(cmd.getGateLevelAuthArea()) .gateLevelAuthArea(cmd.getGateLevelAuthArea())
@ -73,10 +74,11 @@ public class PersonApplyAddExe {
BeanUtils.copyProperties(personApply, personApplyE); BeanUtils.copyProperties(personApply, personApplyE);
personApplyE.setXgfApplyPersonId(build.getId()); personApplyE.setXgfApplyPersonId(build.getId());
personApplyE.setMkmjPermission((cmd.getPersonBelongType() == 1 || cmd.getPersonBelongType() == 2) ? 1 : 2); personApplyE.setMkmjPermission((cmd.getPersonBelongType() == 1 || cmd.getPersonBelongType() == 2) ? 1 : 2);
personApplyE.setUserCard(Base64.encodeToString(personApply.getUserCard()));
personApplyES.add(personApplyE); personApplyES.add(personApplyE);
}); });
personApplyGateway.saveBatch(personApplyES); personApplyGateway.saveBatch(personApplyES);
return SingleResponse.buildSuccess(); return build.getId();
} }
public void authorization(PersonAuthCmd cmd) { public void authorization(PersonAuthCmd cmd) {

View File

@ -2,6 +2,7 @@ package com.zcloud.primeport.command.query;
import com.alibaba.cola.dto.MultiResponse; import com.alibaba.cola.dto.MultiResponse;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.zcloud.gbscommon.utils.Tools;
import com.zcloud.primeport.command.convertor.ClosedAreaCoConvertor; import com.zcloud.primeport.command.convertor.ClosedAreaCoConvertor;
import com.zcloud.primeport.dto.ClosedAreaPageQry; import com.zcloud.primeport.dto.ClosedAreaPageQry;
import com.zcloud.primeport.dto.clientobject.ClosedAreaCO; import com.zcloud.primeport.dto.clientobject.ClosedAreaCO;
@ -65,8 +66,11 @@ public class ClosedAreaQueryExe {
return closedAreaCoConvertor.converDOsToCOs(list); return closedAreaCoConvertor.converDOsToCOs(list);
} }
public MultiResponse<ClosedAreaCO> listTree() { public MultiResponse<ClosedAreaCO> listTree(ClosedAreaPageQry qry) {
List<ClosedAreaDO> list = closedAreaRepository.list(); QueryWrapper<ClosedAreaDO> objectQueryWrapper = new QueryWrapper<>();
objectQueryWrapper.eq(Tools.notEmpty(qry.getHgAuthArea()), "hg_auth_area", qry.getHgAuthArea());
objectQueryWrapper.eq(qry.getParentId() != null, "parent_id", qry.getParentId());
List<ClosedAreaDO> list = closedAreaRepository.list(objectQueryWrapper);
ArrayList<ClosedAreaCO> closedAreaDOS = new ArrayList<>(); ArrayList<ClosedAreaCO> closedAreaDOS = new ArrayList<>();
for (ClosedAreaDO closedAreaDO : list) { for (ClosedAreaDO closedAreaDO : list) {
if (closedAreaDO.getParentId().equals(0L)) { if (closedAreaDO.getParentId().equals(0L)) {
@ -78,6 +82,7 @@ public class ClosedAreaQueryExe {
} }
return MultiResponse.of(closedAreaDOS); return MultiResponse.of(closedAreaDOS);
} }
private List<ClosedAreaCO> treeChildren(Long parentId, List<ClosedAreaDO> closedAreaDOS) { private List<ClosedAreaCO> treeChildren(Long parentId, List<ClosedAreaDO> closedAreaDOS) {
List<ClosedAreaCO> childList = new ArrayList<>(); List<ClosedAreaCO> childList = new ArrayList<>();
for (ClosedAreaDO closedAreaDO : closedAreaDOS) { for (ClosedAreaDO closedAreaDO : closedAreaDOS) {

View File

@ -79,8 +79,8 @@ public class ClosedAreaServiceImpl implements ClosedAreaServiceI {
} }
@Override @Override
public MultiResponse<ClosedAreaCO> listTree() { public MultiResponse<ClosedAreaCO> listTree(ClosedAreaPageQry qry) {
return closedAreaQueryExe.listTree(); return closedAreaQueryExe.listTree(qry);
} }
} }

View File

@ -57,8 +57,8 @@ public class PersonApplyServiceImpl implements PersonApplyServiceI {
} }
@Override @Override
public void xgfPersonSave(XgfPersonApplyAddCmd cmd) { public Long xgfPersonSave(XgfPersonApplyAddCmd cmd) {
personApplyAddExe.xgfPersonSave(cmd); return personApplyAddExe.xgfPersonSave(cmd);
} }
@Override @Override

View File

@ -31,6 +31,6 @@ public interface ClosedAreaServiceI {
MultiResponse<ClosedAreaCO> listAllByJurisdictionalCorpId(Long id); MultiResponse<ClosedAreaCO> listAllByJurisdictionalCorpId(Long id);
MultiResponse<ClosedAreaCO> listTree(); MultiResponse<ClosedAreaCO> listTree(ClosedAreaPageQry qry);
} }

View File

@ -24,8 +24,7 @@ public interface PersonApplyServiceI {
void removeBatch(Long[] ids); void removeBatch(Long[] ids);
void xgfPersonSave(XgfPersonApplyAddCmd cmd); Long xgfPersonSave(XgfPersonApplyAddCmd cmd);
void xgfTmpPersonSave(XgfPersonApplyAddCmd cmd);
PageResponse<XgfPersonApplyCO> xgfPersonAuditList(XgfApplyPersonPageQry qry); PageResponse<XgfPersonApplyCO> xgfPersonAuditList(XgfApplyPersonPageQry qry);

View File

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

View File

@ -37,7 +37,7 @@ public class MkmjPassageUpdateCmd extends Command {
@NotNull(message = "通道状态 1-停用 2-正常不能为空") @NotNull(message = "通道状态 1-停用 2-正常不能为空")
private Integer passageStatus; private Integer passageStatus;
@ApiModelProperty(value = "口门区域id", name = "mkmjId") @ApiModelProperty(value = "口门区域id", name = "mkmjId")
@NotEmpty(message = "口门区域id不能为空") @NotNull(message = "口门区域id不能为空")
private Long mkmjId; private Long mkmjId;
@ApiModelProperty(value = "经度", name = "longitude") @ApiModelProperty(value = "经度", name = "longitude")
private String longitude; private String longitude;

View File

@ -43,11 +43,11 @@ public class MkmjUpdateCmd extends Command {
@ApiModelProperty(value = "入方向区域- 二级有用", name = "inDirectionArea", required = true) @ApiModelProperty(value = "入方向区域- 二级有用", name = "inDirectionArea", required = true)
private Long inDirectionArea; private Long inDirectionArea;
@ApiModelProperty(value = "入方向区域名称- 二级有用", name = "inDirectionAreaName", required = true) @ApiModelProperty(value = "入方向区域名称- 二级有用", name = "inDirectionAreaName", required = true)
private Long inDirectionAreaName; private String inDirectionAreaName;
@ApiModelProperty(value = "出方向区域- 二级有用", name = "outDirectionArea", required = true) @ApiModelProperty(value = "出方向区域- 二级有用", name = "outDirectionArea", required = true)
private Long outDirectionArea; private Long outDirectionArea;
@ApiModelProperty(value = "出方向区域名称- 二级有用", name = "outDirectionAreaName", required = true) @ApiModelProperty(value = "出方向区域名称- 二级有用", name = "outDirectionAreaName", required = true)
private Long outDirectionAreaName; private String outDirectionAreaName;
@ApiModelProperty(value = "经度", name = "longitude", required = true) @ApiModelProperty(value = "经度", name = "longitude", required = true)
private String longitude; private String longitude;
@ApiModelProperty(value = "纬度", name = "latitude", required = true) @ApiModelProperty(value = "纬度", name = "latitude", required = true)

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 makejava
* @Date 2026-03-05 11:33:16
*/
@EqualsAndHashCode(callSuper = true)
@Data
@NoArgsConstructor
@AllArgsConstructor
public class MkmjUpdateStatusCmd extends Command {
@ApiModelProperty(value = "主键", name = "id", required = true)
@NotNull(message = "主键不能为空")
private Long id;
@ApiModelProperty(value = "口门状态 1-停用 2-正常", name = "mkmjStatus", required = true)
@NotNull(message = "口门状态 1-停用 2-正常不能为空")
private Integer mkmjStatus;
}

View File

@ -38,13 +38,13 @@ public class MkmjCO extends ClientObject {
private Long inDirectionArea; private Long inDirectionArea;
//入方向区域名称- 二级有用 //入方向区域名称- 二级有用
@ApiModelProperty(value = "入方向区域名称- 二级有用") @ApiModelProperty(value = "入方向区域名称- 二级有用")
private Long inDirectionAreaName; private String inDirectionAreaName;
//出方向区域- 二级有用 //出方向区域- 二级有用
@ApiModelProperty(value = "出方向区域- 二级有用") @ApiModelProperty(value = "出方向区域- 二级有用")
private Long outDirectionArea; private Long outDirectionArea;
//出方向区域名称- 二级有用 //出方向区域名称- 二级有用
@ApiModelProperty(value = "出方向区域名称- 二级有用") @ApiModelProperty(value = "出方向区域名称- 二级有用")
private Long outDirectionAreaName; private String outDirectionAreaName;
//经度 //经度
@ApiModelProperty(value = "经度") @ApiModelProperty(value = "经度")
private String longitude; private String longitude;

View File

@ -36,11 +36,11 @@ public class MkmjE extends BaseE {
//入方向区域- 二级有用 //入方向区域- 二级有用
private Long inDirectionArea; private Long inDirectionArea;
//入方向区域名称- 二级有用 //入方向区域名称- 二级有用
private Long inDirectionAreaName; private String inDirectionAreaName;
//出方向区域- 二级有用 //出方向区域- 二级有用
private Long outDirectionArea; private Long outDirectionArea;
//出方向区域名称- 二级有用 //出方向区域名称- 二级有用
private Long outDirectionAreaName; private String outDirectionAreaName;
//经度 //经度
private String longitude; private String longitude;
//纬度 //纬度

View File

@ -45,13 +45,13 @@ public class MkmjDO extends BaseDO {
private Long inDirectionArea; private Long inDirectionArea;
//入方向区域名称- 二级有用 //入方向区域名称- 二级有用
@ApiModelProperty(value = "入方向区域名称- 二级有用") @ApiModelProperty(value = "入方向区域名称- 二级有用")
private Long inDirectionAreaName; private String inDirectionAreaName;
//出方向区域- 二级有用 //出方向区域- 二级有用
@ApiModelProperty(value = "出方向区域- 二级有用") @ApiModelProperty(value = "出方向区域- 二级有用")
private Long outDirectionArea; private Long outDirectionArea;
//出方向区域名称- 二级有用 //出方向区域名称- 二级有用
@ApiModelProperty(value = "出方向区域名称- 二级有用") @ApiModelProperty(value = "出方向区域名称- 二级有用")
private Long outDirectionAreaName; private String outDirectionAreaName;
@ApiModelProperty(value = "封闭区域id 二级有用", name = "closedAreaId") @ApiModelProperty(value = "封闭区域id 二级有用", name = "closedAreaId")
private Long closedAreaId; private Long closedAreaId;
@ApiModelProperty(value = "封闭区域进出类型 1离场2离开进入其他区域", name = "outDirectionType") @ApiModelProperty(value = "封闭区域进出类型 1离场2离开进入其他区域", name = "outDirectionType")