稽核区域配置

This commit is contained in:
zhangchenbiao
2023-07-19 16:04:17 +08:00
parent 4517f2e770
commit fc0aedae7a
28 changed files with 1185 additions and 29 deletions

View File

@@ -0,0 +1,23 @@
package com.cool.store.dto.inspection.setting;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.List;
/**
* @author zhangchenbiao
* @FileName: DeleteInspectionSettingDTO
* @Description: 删除稽核区域设置
* @date 2023-07-17 14:41
*/
@Data
public class CheckInspectionSettingDTO {
@ApiModelProperty("id")
private Long inspectionSettingId;
@ApiModelProperty("归属地ids")
private List<Long> openAreaMappingIds;
}

View File

@@ -0,0 +1,44 @@
package com.cool.store.entity;
import io.swagger.annotations.ApiModelProperty;
import java.io.Serializable;
import java.util.Date;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
/**
*
* @author zhangchenbiao
* @date 2023-07-18 04:27
*/
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class HyInspectionSettingDO implements Serializable {
@ApiModelProperty("主键id")
private Long id;
@ApiModelProperty("区域名称")
private String zoneName;
@ApiModelProperty("关联稽核人user_id")
private String inspectionUserId;
@ApiModelProperty("新建人ID")
private String createUserId;
@ApiModelProperty("更新人ID")
private String updateUserId;
@ApiModelProperty("创建时间")
private Date createTime;
@ApiModelProperty("修改时间")
private Date updateTime;
@ApiModelProperty("删除标识")
private Boolean deleted;
}

View File

@@ -0,0 +1,38 @@
package com.cool.store.entity;
import io.swagger.annotations.ApiModelProperty;
import java.io.Serializable;
import java.util.Date;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
/**
*
* @author zhangchenbiao
* @date 2023-07-18 04:28
*/
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class HyInspectionSettingMappingDO implements Serializable {
@ApiModelProperty("主键id")
private Long id;
@ApiModelProperty("稽核区域配置表id,hy_inspection_setting.id")
private Long inspectionSettingId;
@ApiModelProperty("hy_open_area_info.id")
private Long openAreaMappingId;
@ApiModelProperty("创建时间")
private Date createTime;
@ApiModelProperty("修改时间")
private Date updateTime;
@ApiModelProperty("删除标识")
private Boolean deleted;
}

View File

@@ -0,0 +1,52 @@
package com.cool.store.vo.inspection.setting;
import com.cool.store.entity.HyInspectionSettingDO;
import com.cool.store.entity.HyInspectionSettingMappingDO;
import com.google.common.collect.Lists;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.apache.commons.collections4.CollectionUtils;
import java.util.*;
import java.util.function.Function;
import java.util.stream.Collectors;
/**
* @author zhangchenbiao
* @FileName: InspectionSettingPageVO
* @Description:
* @date 2023-07-17 14:32
*/
@Data
public class InspectionSettingCheckVO {
@ApiModelProperty("区域名称")
private String zoneName;
@ApiModelProperty("省市区")
private String areaName;
@ApiModelProperty("稽核人名称")
private String inspectionUsername;
public static List<InspectionSettingCheckVO> convertVO(List<HyInspectionSettingMappingDO> conflictInspectionSetting, List<HyInspectionSettingDO> inspectionSettingList, Map<String, String> userNameMap, Map<Long, String> areaNameMap){
if(CollectionUtils.isEmpty(conflictInspectionSetting) || CollectionUtils.isEmpty(inspectionSettingList)){
return Lists.newArrayList();
}
Map<Long, HyInspectionSettingDO> inspectionSettingMap = inspectionSettingList.stream().collect(Collectors.toMap(k -> k.getId(), Function.identity()));
List<InspectionSettingCheckVO> resultList = new ArrayList<>();
for (HyInspectionSettingMappingDO hyInspectionSettingMapping : conflictInspectionSetting) {
HyInspectionSettingDO inspectionSetting = inspectionSettingMap.get(hyInspectionSettingMapping.getInspectionSettingId());
if(Objects.isNull(inspectionSetting)){
continue;
}
InspectionSettingCheckVO inspectionSettingCheck = new InspectionSettingCheckVO();
inspectionSettingCheck.setInspectionUsername(userNameMap.get(inspectionSetting.getInspectionUserId()));
inspectionSettingCheck.setZoneName(inspectionSetting.getZoneName());
inspectionSettingCheck.setAreaName(areaNameMap.get(hyInspectionSettingMapping.getOpenAreaMappingId()));
resultList.add(inspectionSettingCheck);
}
return resultList;
}
}

View File

@@ -1,10 +1,12 @@
package com.cool.store.vo.inspection.setting;
import com.cool.store.entity.HyInspectionSettingDO;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.Date;
import java.util.List;
import java.util.Objects;
/**
* @author zhangchenbiao
@@ -25,9 +27,22 @@ public class InspectionSettingDetailVO {
private String inspectionUserId;
@ApiModelProperty("稽核人名称")
private String inspectionUsername;
private String inspectionUserName;
@ApiModelProperty("归属地ids")
private List<Long> openAreaMappingIds;
public static InspectionSettingDetailVO convertVO(HyInspectionSettingDO param, String inspectionUserName, List<Long> openAreaMappingIds){
if(Objects.isNull(param)){
return null;
}
InspectionSettingDetailVO result = new InspectionSettingDetailVO();
result.setInspectionSettingId(param.getId());
result.setZoneName(param.getZoneName());
result.setInspectionUserId(param.getInspectionUserId());
result.setInspectionUserName(inspectionUserName);
result.setOpenAreaMappingIds(openAreaMappingIds);
return result;
}
}

View File

@@ -1,9 +1,16 @@
package com.cool.store.vo.inspection.setting;
import com.cool.store.entity.HyInspectionSettingDO;
import com.github.pagehelper.Page;
import com.google.common.collect.Lists;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.apache.commons.collections4.CollectionUtils;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import java.util.Map;
/**
* @author zhangchenbiao
@@ -24,7 +31,7 @@ public class InspectionSettingPageVO {
private String inspectionUserId;
@ApiModelProperty("稽核人名称")
private String inspectionUsername;
private String inspectionUserName;
@ApiModelProperty("更新时间")
private Date updateTime;
@@ -32,4 +39,28 @@ public class InspectionSettingPageVO {
@ApiModelProperty("更新人名称")
private String updateUsername;
/**
* dto转vo
* @param pageList
* @param userNameMap
* @return
*/
public static List<InspectionSettingPageVO> convert(Page<HyInspectionSettingDO> pageList, Map<String, String> userNameMap){
if(CollectionUtils.isEmpty(pageList)){
return Lists.newArrayList();
}
List<InspectionSettingPageVO> resultList = new ArrayList<>();
for (HyInspectionSettingDO inspectionSetting : pageList) {
InspectionSettingPageVO result = new InspectionSettingPageVO();
result.setInspectionSettingId(inspectionSetting.getId());
result.setZoneName(inspectionSetting.getZoneName());
result.setInspectionUserId(inspectionSetting.getInspectionUserId());
result.setInspectionUserName(userNameMap.get(inspectionSetting.getInspectionUserId()));
result.setUpdateTime(inspectionSetting.getUpdateTime());
result.setUpdateUsername(userNameMap.get(inspectionSetting.getUpdateUserId()));
resultList.add(result);
}
return resultList;
}
}

View File

@@ -0,0 +1,89 @@
package com.cool.store.vo.region;
import com.cool.store.entity.EnterpriseUserDO;
import com.cool.store.entity.RegionDO;
import com.google.common.collect.Lists;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.List;
import java.util.Map;
import java.util.Objects;
/**
* @author zhangchenbiao
* @FileName: RegionUserAndSubRegionVO
* @Description:
* @date 2023-07-17 19:34
*/
@Data
public class RegionUserAndSubRegionVO {
@ApiModelProperty("区域列表")
private List<RegionInfo> regionList;
@ApiModelProperty("用户列表")
private List<UserInfo> userList;
public RegionUserAndSubRegionVO(List<RegionInfo> regionList, List<UserInfo> userList) {
this.regionList = regionList;
this.userList = userList;
}
public RegionUserAndSubRegionVO() {
this.regionList = Lists.newArrayList();
this.userList = Lists.newArrayList();
}
@Data
public static class RegionInfo{
@ApiModelProperty("区域id")
private String regionId;
@ApiModelProperty("区域名称")
private String name;
}
@Data
public static class UserInfo{
@ApiModelProperty("用户id")
private String userId;
@ApiModelProperty("用户名")
private String username;
@ApiModelProperty("手机号")
private String mobile;
@ApiModelProperty("头像url")
private String avatar;
}
public static RegionUserAndSubRegionVO convertVO(List<RegionDO> subRegionList, List<String> userIds, Map<String, EnterpriseUserDO> userMap){
List<RegionInfo> regionList = Lists.newArrayList();
List<UserInfo> userList = Lists.newArrayList();
for (RegionDO regionDO : subRegionList) {
RegionInfo region = new RegionInfo();
region.setRegionId(regionDO.getRegionId());
region.setName(regionDO.getName());
regionList.add(region);
}
for (String userId : userIds) {
EnterpriseUserDO enterpriseUser = userMap.get(userId);
if(Objects.isNull(enterpriseUser)){
continue;
}
UserInfo userInfo = new UserInfo();
userInfo.setUserId(userId);
userInfo.setUsername(enterpriseUser.getName());
userInfo.setMobile(enterpriseUser.getMobile());
userInfo.setAvatar(enterpriseUser.getAvatar());
userList.add(userInfo);
}
return new RegionUserAndSubRegionVO(regionList, userList);
}
}