移动端督导代写

This commit is contained in:
shuo.wang
2025-05-20 14:11:22 +08:00
parent 36f2b04b17
commit 795f8efee7
8 changed files with 118 additions and 18 deletions

View File

@@ -64,6 +64,8 @@ public enum UserRoleEnum {
OWN_SHOP_OFFICE(480000000L,"自有店财务"), OWN_SHOP_OFFICE(480000000L,"自有店财务"),
BRAND_HEAD(490000000L,"品牌负责人"), BRAND_HEAD(490000000L,"品牌负责人"),
QW_SUPERVISION(1725431698852L,"企微督导"),
; ;
private Long code; private Long code;

View File

@@ -87,4 +87,10 @@ public class LicenseTransactDO {
private Integer syncFlag; private Integer syncFlag;
@Column(name = "legal_is_same_partner") @Column(name = "legal_is_same_partner")
private Boolean legalIsSamePartner; private Boolean legalIsSamePartner;
@Column(name = "single_shop")
private Boolean singleShop;
@Column(name = "commitment_url")
private String commitmentUrl;
@Column(name = "food_shop_list_url")
private String foodShopListUrl;
} }

View File

@@ -75,6 +75,16 @@ public class BusinessLicenseRequest {
//@NotBlank(message = "法人手机号不能为空") //@NotBlank(message = "法人手机号不能为空")
private String licenseLegalMobile; private String licenseLegalMobile;
@ApiModelProperty("是否单店使用")
@NotNull(message = "是否单店使用不能为空")
private Boolean singleShop;
@ApiModelProperty("美食城承诺书")
private String commitmentUrl;
@ApiModelProperty("美食城档口列表")
private String foodShopListUrl;
public LicenseTransactDO toLicenseTransactDO(LicenseTransactDO licenseTransactDO) { public LicenseTransactDO toLicenseTransactDO(LicenseTransactDO licenseTransactDO) {
if (Objects.isNull(licenseTransactDO)){ if (Objects.isNull(licenseTransactDO)){
licenseTransactDO = new LicenseTransactDO(); licenseTransactDO = new LicenseTransactDO();
@@ -99,6 +109,9 @@ public class BusinessLicenseRequest {
}else if (this.validityType == 1){ }else if (this.validityType == 1){
licenseTransactDO.setValidity(this.validity); licenseTransactDO.setValidity(this.validity);
} }
licenseTransactDO.setSingleShop(this.singleShop);
licenseTransactDO.setCommitmentUrl(this.commitmentUrl);
licenseTransactDO.setFoodShopListUrl(this.foodShopListUrl);
return licenseTransactDO; return licenseTransactDO;
} }

View File

@@ -10,6 +10,7 @@ import io.swagger.annotations.ApiModelProperty;
import lombok.Data; import lombok.Data;
import javax.validation.constraints.NotBlank; import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import java.util.Date; import java.util.Date;
import java.util.List; import java.util.List;
import java.util.Objects; import java.util.Objects;
@@ -122,7 +123,14 @@ public class SubmitLicenseResponse {
private StoreDocument storeDocument; private StoreDocument storeDocument;
@ApiModelProperty("二证合一标识0否 1 是") @ApiModelProperty("二证合一标识0否 1 是")
private Integer twoCertificatesOne; private Integer twoCertificatesOne;
@ApiModelProperty("是否单店使用")
private Boolean singleShop;
@ApiModelProperty("美食城承诺书")
private String commitmentUrl;
@ApiModelProperty("美食城档口列表")
private String foodShopListUrl;
@Data @Data
public static class StoreDocument { public static class StoreDocument {
@ApiModelProperty("营业执照拍照上传") @ApiModelProperty("营业执照拍照上传")
@@ -227,6 +235,9 @@ public class SubmitLicenseResponse {
return new SubmitLicenseResponse(); return new SubmitLicenseResponse();
} }
SubmitLicenseResponse submitLicenseResponse = new SubmitLicenseResponse(); SubmitLicenseResponse submitLicenseResponse = new SubmitLicenseResponse();
submitLicenseResponse.setSingleShop(licenseTransactDO.getSingleShop());
submitLicenseResponse.setCommitmentUrl(licenseTransactDO.getCommitmentUrl());
submitLicenseResponse.setFoodShopListUrl(licenseTransactDO.getFoodShopListUrl());
submitLicenseResponse.setLegalIsSamePartner(licenseTransactDO.getLegalIsSamePartner()); submitLicenseResponse.setLegalIsSamePartner(licenseTransactDO.getLegalIsSamePartner());
submitLicenseResponse.setLicenseLegalIdCardNo(licenseTransactDO.getLicenseLegalIdCardNo()); submitLicenseResponse.setLicenseLegalIdCardNo(licenseTransactDO.getLicenseLegalIdCardNo());
submitLicenseResponse.setLicenseLegalIdCardFront(licenseTransactDO.getLicenseLegalIdCardFront()); submitLicenseResponse.setLicenseLegalIdCardFront(licenseTransactDO.getLicenseLegalIdCardFront());

View File

@@ -186,4 +186,13 @@ public interface DeskService {
*/ */
PageInfo<PreparationCommonPendingVO> measurePendingList(Integer pageNum, Integer pageSize, LoginUserInfo user); PageInfo<PreparationCommonPendingVO> measurePendingList(Integer pageNum, Integer pageSize, LoginUserInfo user);
/**
* 营业执照
*/
PageInfo<PreparationCommonPendingVO> businessLicensePendingList(Integer pageNum, Integer pageSize, LoginUserInfo user);
/**
* 食品安全许可证
*/
PageInfo<PreparationCommonPendingVO> foodLicensePendingList(Integer pageNum, Integer pageSize, LoginUserInfo user);
} }

View File

@@ -53,7 +53,7 @@ import static com.cool.store.utils.poi.DateUtils.YYYY_MM_DD_HH_MM_SS;
public class DeskServiceImpl implements DeskService { public class DeskServiceImpl implements DeskService {
@Resource @Resource
private SignFranchiseDAO signFranchiseDAO; private SignFranchiseDAO signFranchiseDAO;
@Resource @Resource
DecorationMeasureDAO decorationMeasureDAO; DecorationMeasureDAO decorationMeasureDAO;
@Resource @Resource
@@ -241,15 +241,21 @@ public class DeskServiceImpl implements DeskService {
PageInfo<PreparationCommonPendingVO> pageInfo = new PageInfo<>(); PageInfo<PreparationCommonPendingVO> pageInfo = new PageInfo<>();
List<Integer> subStageStatusList = new ArrayList<>(); List<Integer> subStageStatusList = new ArrayList<>();
if (CollectionUtils.isNotEmpty(userRoleIds)) { if (CollectionUtils.isNotEmpty(userRoleIds)) {
if (userRoleIds.contains(UserRoleEnum.JOIN_OFFICE.getCode()) || userRoleIds.contains(UserRoleEnum.REGION_OFFICE.getCode())) { //督导代填
subStageStatusList.add(SHOP_SUB_STAGE_STATUS_70.getShopSubStageStatus()); if (userRoleIds.contains(UserRoleEnum.QW_SUPERVISION.getCode()) || userRoleIds.contains(UserRoleEnum.SUPERVISION.getCode())) {
}
if (userRoleIds.contains(UserRoleEnum.BRANCH_OFFICE.getCode()) || userRoleIds.contains(UserRoleEnum.REGION_OFFICE.getCode())) {
subStageStatusList.add(SHOP_SUB_STAGE_STATUS_72.getShopSubStageStatus());
}
if (!subStageStatusList.isEmpty()) {
pageInfo = commonPendingVOPageInfo(pageNum, pageSize, user, ShopSubStageEnum.SHOP_STAGE_7, pageInfo = commonPendingVOPageInfo(pageNum, pageSize, user, ShopSubStageEnum.SHOP_STAGE_7,
subStageStatusList, Boolean.TRUE); Collections.singletonList(SHOP_SUB_STAGE_STATUS_71.getShopSubStageStatus()), Boolean.FALSE);
} else {
if (userRoleIds.contains(UserRoleEnum.JOIN_OFFICE.getCode()) || userRoleIds.contains(UserRoleEnum.REGION_OFFICE.getCode())) {
subStageStatusList.add(SHOP_SUB_STAGE_STATUS_70.getShopSubStageStatus());
}
if (userRoleIds.contains(UserRoleEnum.BRANCH_OFFICE.getCode()) || userRoleIds.contains(UserRoleEnum.REGION_OFFICE.getCode())) {
subStageStatusList.add(SHOP_SUB_STAGE_STATUS_72.getShopSubStageStatus());
}
if (!subStageStatusList.isEmpty()) {
pageInfo = commonPendingVOPageInfo(pageNum, pageSize, user, ShopSubStageEnum.SHOP_STAGE_7,
subStageStatusList, Boolean.TRUE);
}
} }
} }
List<PreparationCommonPendingVO> list = pageInfo.getList(); List<PreparationCommonPendingVO> list = pageInfo.getList();
@@ -421,7 +427,7 @@ public class DeskServiceImpl implements DeskService {
List<LineInfoDO> lineInfoDOS = lineInfoDAO.getByLineIds(lineIds); List<LineInfoDO> lineInfoDOS = lineInfoDAO.getByLineIds(lineIds);
Map<Long, LineInfoDO> lineMap = lineInfoDOS.stream().collect(Collectors.toMap(LineInfoDO::getId, line -> line)); Map<Long, LineInfoDO> lineMap = lineInfoDOS.stream().collect(Collectors.toMap(LineInfoDO::getId, line -> line));
List<SignFranchiseDO> signType = signFranchiseDAO.getSignType(shopIds); List<SignFranchiseDO> signType = signFranchiseDAO.getSignType(shopIds);
Map<Long,SignFranchiseDO> signTypeMap = signType.stream().collect(Collectors.toMap(SignFranchiseDO::getShopId, dto -> dto)); Map<Long, SignFranchiseDO> signTypeMap = signType.stream().collect(Collectors.toMap(SignFranchiseDO::getShopId, dto -> dto));
Set<Long> regionIdSet = list.stream().map(PreparationCommonPendingVO::getRegionId).collect(Collectors.toSet()); Set<Long> regionIdSet = list.stream().map(PreparationCommonPendingVO::getRegionId).collect(Collectors.toSet());
Map<Long, String> regionNameMap = regionService.getBelongWarRegionNameMap(new ArrayList<>(regionIdSet)); Map<Long, String> regionNameMap = regionService.getBelongWarRegionNameMap(new ArrayList<>(regionIdSet));
@@ -434,7 +440,7 @@ public class DeskServiceImpl implements DeskService {
if (lineInfoDO == null) { if (lineInfoDO == null) {
continue; continue;
} }
SignFranchiseDO signFranchiseDO = signTypeMap.getOrDefault(preparationCommonPendingVO.getShopId(),new SignFranchiseDO()); SignFranchiseDO signFranchiseDO = signTypeMap.getOrDefault(preparationCommonPendingVO.getShopId(), new SignFranchiseDO());
preparationCommonPendingVO.setSignType(signFranchiseDO.getSignType()); preparationCommonPendingVO.setSignType(signFranchiseDO.getSignType());
preparationCommonPendingVO.setPartnerName(lineInfoDO.getUsername()); preparationCommonPendingVO.setPartnerName(lineInfoDO.getUsername());
preparationCommonPendingVO.setPartnerPhone(lineInfoDO.getMobile()); preparationCommonPendingVO.setPartnerPhone(lineInfoDO.getMobile());
@@ -558,6 +564,10 @@ public class DeskServiceImpl implements DeskService {
@Override @Override
public PageInfo<PreparationCommonPendingVO> buildInformationPendingList(Integer pageNum, Integer pageSize, LoginUserInfo user) { public PageInfo<PreparationCommonPendingVO> buildInformationPendingList(Integer pageNum, Integer pageSize, LoginUserInfo user) {
List<Long> userRoleIds = enterpriseUserRoleMapper.getUserRoleIds(user.getUserId()); List<Long> userRoleIds = enterpriseUserRoleMapper.getUserRoleIds(user.getUserId());
if (userRoleIds.contains(UserRoleEnum.QW_SUPERVISION.getCode()) || userRoleIds.contains(UserRoleEnum.SUPERVISION.getCode())) {
return commonPendingVOPageInfo(pageNum, pageSize, user, ShopSubStageEnum.SHOP_STAGE_15,
Collections.singletonList(ShopSubStageStatusEnum.SHOP_SUB_STAGE_STATUS_151.getShopSubStageStatus()), Boolean.FALSE );
}
List<Integer> subStageStatusList = new ArrayList<>(); List<Integer> subStageStatusList = new ArrayList<>();
if (userRoleIds.contains(UserRoleEnum.LOGISTICS.getCode())) { if (userRoleIds.contains(UserRoleEnum.LOGISTICS.getCode())) {
subStageStatusList.add(ShopSubStageStatusEnum.SHOP_SUB_STAGE_STATUS_151.getShopSubStageStatus()); subStageStatusList.add(ShopSubStageStatusEnum.SHOP_SUB_STAGE_STATUS_151.getShopSubStageStatus());
@@ -610,7 +620,7 @@ public class DeskServiceImpl implements DeskService {
List<LineInfoDO> lineInfoDOS = lineInfoDAO.getByLineIds(lineIds); List<LineInfoDO> lineInfoDOS = lineInfoDAO.getByLineIds(lineIds);
Map<Long, LineInfoDO> lineMap = lineInfoDOS.stream().collect(Collectors.toMap(LineInfoDO::getId, line -> line)); Map<Long, LineInfoDO> lineMap = lineInfoDOS.stream().collect(Collectors.toMap(LineInfoDO::getId, line -> line));
List<SignFranchiseDO> signType = signFranchiseDAO.getSignType(shopIds); List<SignFranchiseDO> signType = signFranchiseDAO.getSignType(shopIds);
Map<Long,SignFranchiseDO> signTypeMap = signType.stream().collect(Collectors.toMap(SignFranchiseDO::getShopId, dto -> dto)); Map<Long, SignFranchiseDO> signTypeMap = signType.stream().collect(Collectors.toMap(SignFranchiseDO::getShopId, dto -> dto));
Set<Long> regionIdSet = list.stream().map(PreparationCommonPendingVO::getRegionId).collect(Collectors.toSet()); Set<Long> regionIdSet = list.stream().map(PreparationCommonPendingVO::getRegionId).collect(Collectors.toSet());
Map<Long, String> regionNameMap = regionService.getBelongWarRegionNameMap(new ArrayList<>(regionIdSet)); Map<Long, String> regionNameMap = regionService.getBelongWarRegionNameMap(new ArrayList<>(regionIdSet));
@@ -635,6 +645,18 @@ public class DeskServiceImpl implements DeskService {
return new PageInfo<>(); return new PageInfo<>();
} }
@Override
public PageInfo<PreparationCommonPendingVO> businessLicensePendingList(Integer pageNum, Integer pageSize, LoginUserInfo user) {
return commonPendingVOPageInfo(pageNum, pageSize, user, ShopSubStageEnum.SHOP_STAGE_3,
Collections.singletonList(ShopSubStageStatusEnum.SHOP_SUB_STAGE_STATUS_30.getShopSubStageStatus()), Boolean.FALSE );
}
@Override
public PageInfo<PreparationCommonPendingVO> foodLicensePendingList(Integer pageNum, Integer pageSize, LoginUserInfo user) {
return commonPendingVOPageInfo(pageNum, pageSize, user, ShopSubStageEnum.SHOP_STAGE_4,
Collections.singletonList(ShopSubStageStatusEnum.SHOP_SUB_STAGE_STATUS_40.getShopSubStageStatus()), Boolean.FALSE );
}
/** /**
* 通用查询 * 通用查询
* *
@@ -663,7 +685,7 @@ public class DeskServiceImpl implements DeskService {
List<PlanLineDTO> lines = lineInfoDAO.getLines(lineIds); List<PlanLineDTO> lines = lineInfoDAO.getLines(lineIds);
List<SignFranchiseDO> signType = signFranchiseDAO.getSignType(shopIds); List<SignFranchiseDO> signType = signFranchiseDAO.getSignType(shopIds);
Map<Long,SignFranchiseDO> signTypeMap = signType.stream().collect(Collectors.toMap(SignFranchiseDO::getShopId, dto -> dto)); Map<Long, SignFranchiseDO> signTypeMap = signType.stream().collect(Collectors.toMap(SignFranchiseDO::getShopId, dto -> dto));
//将shopInfoList 转为map //将shopInfoList 转为map
Map<Long, ShopInfoDO> shopInfoMap = shopInfoList.stream().collect(Collectors.toMap(ShopInfoDO::getId, shop -> shop)); Map<Long, ShopInfoDO> shopInfoMap = shopInfoList.stream().collect(Collectors.toMap(ShopInfoDO::getId, shop -> shop));
//将lines 转为map //将lines 转为map
@@ -709,6 +731,7 @@ public class DeskServiceImpl implements DeskService {
preparationCommonPendingVO.setPartnerPhone(planLineDTO.getMobile()); preparationCommonPendingVO.setPartnerPhone(planLineDTO.getMobile());
preparationCommonPendingVO.setShopManagerUserName(userNameMap.getOrDefault(shopInfoDO.getShopManagerUserId(), "")); preparationCommonPendingVO.setShopManagerUserName(userNameMap.getOrDefault(shopInfoDO.getShopManagerUserId(), ""));
preparationCommonPendingVO.setRegionNodeName(regionNameMap.getOrDefault(shopInfoDO.getRegionId(), "")); preparationCommonPendingVO.setRegionNodeName(regionNameMap.getOrDefault(shopInfoDO.getRegionId(), ""));
preparationCommonPendingVO.setSubmitTime(DateUtils.parseDateToStr(SPECIAL_DATE_START, x.getUpdateTime()));
list.add(preparationCommonPendingVO); list.add(preparationCommonPendingVO);
}); });
result.setList(list); result.setList(list);
@@ -758,7 +781,7 @@ public class DeskServiceImpl implements DeskService {
Map<Long, PlanLineDTO> lineMap = lines.stream().collect(Collectors.toMap(PlanLineDTO::getLineId, line -> line)); Map<Long, PlanLineDTO> lineMap = lines.stream().collect(Collectors.toMap(PlanLineDTO::getLineId, line -> line));
List<SignFranchiseDO> signType = signFranchiseDAO.getSignType(shopIds); List<SignFranchiseDO> signType = signFranchiseDAO.getSignType(shopIds);
Map<Long,SignFranchiseDO> signTypeMap = signType.stream().collect(Collectors.toMap(SignFranchiseDO::getShopId, dto -> dto)); Map<Long, SignFranchiseDO> signTypeMap = signType.stream().collect(Collectors.toMap(SignFranchiseDO::getShopId, dto -> dto));
List<Long> regionIds = shopInfoList.stream().map(ShopInfoDO::getRegionId).distinct().collect(Collectors.toList()); List<Long> regionIds = shopInfoList.stream().map(ShopInfoDO::getRegionId).distinct().collect(Collectors.toList());
List<String> developmentManagers = shopInfoList.stream().filter(x -> StringUtil.isNotEmpty(x.getShopManagerUserId())).map(ShopInfoDO::getShopManagerUserId).distinct().collect(Collectors.toList()); List<String> developmentManagers = shopInfoList.stream().filter(x -> StringUtil.isNotEmpty(x.getShopManagerUserId())).map(ShopInfoDO::getShopManagerUserId).distinct().collect(Collectors.toList());

View File

@@ -212,4 +212,20 @@ public class DeskController {
LoginUserInfo userInfo = CurrentUserHolder.getUser(); LoginUserInfo userInfo = CurrentUserHolder.getUser();
return ResponseResult.success(deskService.measurePendingList(pageNumber,pageSize,userInfo)); return ResponseResult.success(deskService.measurePendingList(pageNumber,pageSize,userInfo));
} }
@ApiOperation("待处理-营业执照")
@GetMapping("/businessLicensePendingList")
public ResponseResult<PageInfo<PreparationCommonPendingVO>> businessLicensePendingList(@RequestParam(value = "pageNumber",required = true,defaultValue = "1")Integer pageNumber,
@RequestParam(value = "pageSize",required = true,defaultValue = "10")Integer pageSize) {
LoginUserInfo userInfo = CurrentUserHolder.getUser();
return ResponseResult.success(deskService.businessLicensePendingList(pageNumber,pageSize,userInfo));
}
@ApiOperation("待处理-食品许可证")
@GetMapping("/foodLicensePendingList")
public ResponseResult<PageInfo<PreparationCommonPendingVO>> foodLicensePendingList(@RequestParam(value = "pageNumber",required = true,defaultValue = "1")Integer pageNumber,
@RequestParam(value = "pageSize",required = true,defaultValue = "10")Integer pageSize) {
LoginUserInfo userInfo = CurrentUserHolder.getUser();
return ResponseResult.success(deskService.foodLicensePendingList(pageNumber,pageSize,userInfo));
}
} }

View File

@@ -2,19 +2,21 @@ package com.cool.store.controller.webb;
import com.cool.store.context.CurrentUserHolder; import com.cool.store.context.CurrentUserHolder;
import com.cool.store.context.LoginUserInfo; import com.cool.store.context.LoginUserInfo;
import com.cool.store.context.PartnerUserHolder;
import com.cool.store.request.LicenseListRequest; import com.cool.store.request.LicenseListRequest;
import com.cool.store.request.license.BusinessLicenseRequest;
import com.cool.store.request.license.FoodLicenseRequest;
import com.cool.store.response.LicenseListResponse; import com.cool.store.response.LicenseListResponse;
import com.cool.store.response.ResponseResult; import com.cool.store.response.ResponseResult;
import com.cool.store.response.SubmitLicenseResponse; import com.cool.store.response.SubmitLicenseResponse;
import com.cool.store.service.ApplyLicenseService; import com.cool.store.service.ApplyLicenseService;
import com.cool.store.vo.PartnerUserInfoVO;
import com.github.pagehelper.PageInfo; import com.github.pagehelper.PageInfo;
import io.swagger.annotations.Api; import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.springframework.web.bind.annotation.GetMapping; import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.*;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import javax.annotation.Resource; import javax.annotation.Resource;
@@ -60,4 +62,22 @@ public class PCApplyLicenseController {
LoginUserInfo user = CurrentUserHolder.getUser(); LoginUserInfo user = CurrentUserHolder.getUser();
return ResponseResult.success(applyLicenseService.licenseExamine(shopId, status, result, user)); return ResponseResult.success(applyLicenseService.licenseExamine(shopId, status, result, user));
} }
@ApiOperation("证照办理提交-营业执照")
@PostMapping("/submitBusinessLicense")
public ResponseResult submitBusinessLicense(@RequestBody @Validated BusinessLicenseRequest request) {
PartnerUserInfoVO user = PartnerUserHolder.getUser();
return ResponseResult.success(applyLicenseService.submitBusinessLicense(request,user));
}
@ApiOperation("证照办理提交-食品许可证")
@PostMapping("/submitFoodLicense")
public ResponseResult submitFoodLicense(@RequestBody FoodLicenseRequest request) {
PartnerUserInfoVO user = PartnerUserHolder.getUser();
return ResponseResult.success(applyLicenseService.submitFoodLicense(request,user));
}
} }