Merge branch 'master' into cc_20250515_handle
This commit is contained in:
@@ -148,7 +148,7 @@ public enum ErrorCodeEnum {
|
||||
LINE_ALREADY_EXISTS(10211163, "该线索已存在,跟进人为{0}", null),
|
||||
LINE_EXISTS_IN_PUBLIC_SEA(10211164, "该线索已存在,请前往公海认领", null),
|
||||
CONTENT_DUPLICATED(10211200, "动态标题重复!", null),
|
||||
SIGN_FAIL(600000, "验签失败", null),
|
||||
SIGN_FAIL(600000, "验签失败=>{0}", null),
|
||||
GET_ACCESSTOKEN_ERROR(600001, "获取小程序TOKEN错误!", null),
|
||||
NEW_MOBILE_HAS_EXIST(600002,"加盟商用户信息已存在",null),
|
||||
INSPECTION_USER_OCCUPY(600003,"当前稽核人已经配置其他战区",null),
|
||||
@@ -195,7 +195,7 @@ public enum ErrorCodeEnum {
|
||||
AUDIT_RESULT_FALSE(109012, "意向加盟合同API本次调用结果与上一次不一致", null),
|
||||
|
||||
|
||||
TIME_NULL_FALSE(109013, "有时间为空", null),
|
||||
TIME_NULL_FALSE(109013, "完成时间不能为空", null),
|
||||
|
||||
UNISSUED_STATEMENT_2(109014, "该门店已发布账单", null),
|
||||
|
||||
@@ -257,6 +257,7 @@ public enum ErrorCodeEnum {
|
||||
|
||||
BANK_EXIST(151007,"当前银行已存在,请直接选择!",null),
|
||||
EXPORT_LIMIT_5000(151008,"导出数据不能超过5000条,请增加筛选条件,减少导出数量",null),
|
||||
REGION_INTERSECTION_IS_NULL(151011,"所选所属大区/分公司,不在所选集团下",null),
|
||||
;
|
||||
|
||||
|
||||
|
||||
@@ -20,7 +20,9 @@ public enum FileTypeEnum {
|
||||
EXPORT_PROGRESS("exportProgress","进度确认"),
|
||||
IMPORT_OA_OLD_SHOP_DATA_ERROR("OaOldShopDataError", "导入OA旧数据错误列表"),
|
||||
IMPORT_OA_OLD_SHOP_DATA("importOaOldShopData", "导入OA旧数据"),
|
||||
|
||||
ZXJP_OPEN_SHOP_REPORT("zxjpOpenShopReport","正新鸡排开店"),
|
||||
IMPORT_OA_OLD_SHOP_STAGE_DATA("importOaOldShopStageData", "导入OA旧数据"),
|
||||
IMPORT_OA_OLD_SHOP_STAGE_DATA_ERROR("OaOldShopStageDataError", "导入OA旧数据阶段错误列表"),
|
||||
;
|
||||
private String fileType;
|
||||
private String desc;
|
||||
|
||||
@@ -60,6 +60,8 @@ public enum UserRoleEnum {
|
||||
HEAD_OF_DESIGN(450000000L,"设计组长"),
|
||||
|
||||
QUOTATION_OFFICE(470000000L,"报价员"),
|
||||
|
||||
OWN_SHOP_OFFICE(480000000L,"自有店财务"),
|
||||
;
|
||||
|
||||
private Long code;
|
||||
|
||||
@@ -95,7 +95,7 @@ public enum ShopSubStageStatusEnum {
|
||||
SHOP_SUB_STAGE_STATUS_163(ShopSubStageEnum.SHOP_STAGE_16, 1630, "已完成", Boolean.TRUE),
|
||||
|
||||
//订货系统
|
||||
SHOP_SUB_STAGE_STATUS_170(ShopSubStageEnum.SHOP_STAGE_17, 1700, "待【信息部】提交", Boolean.FALSE),
|
||||
SHOP_SUB_STAGE_STATUS_170(ShopSubStageEnum.SHOP_STAGE_17, 1700, "待【IT部】提交", Boolean.FALSE),
|
||||
SHOP_SUB_STAGE_STATUS_173(ShopSubStageEnum.SHOP_STAGE_17, 1730, "已完成", Boolean.TRUE),
|
||||
|
||||
//抖音
|
||||
@@ -132,11 +132,11 @@ public enum ShopSubStageStatusEnum {
|
||||
|
||||
|
||||
//信发系统开通
|
||||
SHOP_SUB_STAGE_STATUS_230(ShopSubStageEnum.SHOP_STAGE_23, 2300, "待【信息部】提交", Boolean.FALSE),
|
||||
SHOP_SUB_STAGE_STATUS_230(ShopSubStageEnum.SHOP_STAGE_23, 2300, "待【火码】提交", Boolean.FALSE),
|
||||
SHOP_SUB_STAGE_STATUS_235(ShopSubStageEnum.SHOP_STAGE_23, 2350, "已完成", Boolean.TRUE),
|
||||
|
||||
//营帐通开通
|
||||
SHOP_SUB_STAGE_STATUS_240(ShopSubStageEnum.SHOP_STAGE_24, 2400, "待【信息部】提交", Boolean.FALSE),
|
||||
SHOP_SUB_STAGE_STATUS_240(ShopSubStageEnum.SHOP_STAGE_24, 2400, "待【火码】提交", Boolean.FALSE),
|
||||
SHOP_SUB_STAGE_STATUS_244(ShopSubStageEnum.SHOP_STAGE_24, 2440, "无需开通", Boolean.TRUE),
|
||||
SHOP_SUB_STAGE_STATUS_245(ShopSubStageEnum.SHOP_STAGE_24, 2450, "已完成", Boolean.TRUE),
|
||||
|
||||
|
||||
@@ -11,6 +11,7 @@ import javax.annotation.Resource;
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
import java.util.Objects;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
/**
|
||||
* @Auther: WangShuo
|
||||
@@ -57,4 +58,14 @@ public class AcceptanceInfoDAO {
|
||||
public List<AcceptanceInfoDO> selectByEntryTimeNull(){
|
||||
return acceptanceInfoMapper.selectByEntryTimeNull();
|
||||
}
|
||||
|
||||
public List<Long> getAllShopIds(){
|
||||
List<AcceptanceInfoDO> acceptanceInfoDOList = acceptanceInfoMapper.selectAll();
|
||||
|
||||
return acceptanceInfoDOList.stream().map(AcceptanceInfoDO::getShopId).collect(Collectors.toList());
|
||||
}
|
||||
|
||||
public Integer initAcceptanceInfo(List<Long> shopIds){
|
||||
return acceptanceInfoMapper.initAcceptanceInfo(shopIds);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -5,10 +5,14 @@ import com.cool.store.entity.BigRegionDO;
|
||||
import com.cool.store.enums.ErrorCodeEnum;
|
||||
import com.cool.store.exception.ServiceException;
|
||||
import com.cool.store.mapper.BigRegionMapper;
|
||||
import com.cool.store.request.QueryBigRegionRequest;
|
||||
import org.apache.commons.collections4.CollectionUtils;
|
||||
import org.springframework.stereotype.Repository;
|
||||
import tk.mybatis.mapper.entity.Example;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import java.util.List;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
/**
|
||||
* @Author suzhuhong
|
||||
@@ -32,4 +36,33 @@ public class BigRegionDAO {
|
||||
return bigRegionMapper.queryOrgInfoByBigRegionAndJoinMode(regionId,joinMode);
|
||||
}
|
||||
|
||||
public List<Long> getRegionIdByGroupName(List<String> groupNameList){
|
||||
if (CollectionUtils.isEmpty(groupNameList)){
|
||||
return null;
|
||||
}
|
||||
Example example = new Example(BigRegionDO.class);
|
||||
example.createCriteria().andIn("groupName", groupNameList);
|
||||
List<BigRegionDO> bigRegionDOS = bigRegionMapper.selectByExample(example);
|
||||
if (CollectionUtils.isEmpty(bigRegionDOS)){
|
||||
return null;
|
||||
}
|
||||
return bigRegionDOS.stream().map(BigRegionDO::getRegionId).collect(Collectors.toList());
|
||||
}
|
||||
public List<BigRegionDO> getByRegionIdList(List<Long> regionIdList){
|
||||
if (CollectionUtils.isEmpty(regionIdList)){
|
||||
return null;
|
||||
}
|
||||
Example example = new Example(BigRegionDO.class);
|
||||
example.createCriteria().andIn("regionId", regionIdList).andEqualTo("joinMode",0);
|
||||
return bigRegionMapper.selectByExample(example);
|
||||
}
|
||||
/**
|
||||
* @Auther: wangshuo
|
||||
* @Date: 2025/5/15
|
||||
* @description:只查询joinMode = 0
|
||||
*/
|
||||
public List<BigRegionDTO> queryBigRegion(QueryBigRegionRequest queryBigRegionRequest){
|
||||
return bigRegionMapper.queryBigRegion(queryBigRegionRequest);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
package com.cool.store.dao;
|
||||
|
||||
import com.cool.store.constants.CommonConstants;
|
||||
import com.cool.store.dto.FranchiseReportDTO;
|
||||
import com.cool.store.dto.LicenseSyncDTO;
|
||||
import com.cool.store.dto.Preparation.PreparationDTO;
|
||||
import com.cool.store.dto.openPreparation.OpenPlanShopInfoDTO;
|
||||
@@ -12,11 +13,7 @@ import com.cool.store.enums.ErrorCodeEnum;
|
||||
import com.cool.store.enums.point.ShopStatusEnum;
|
||||
import com.cool.store.exception.ServiceException;
|
||||
import com.cool.store.mapper.ShopInfoMapper;
|
||||
import com.cool.store.request.BranchShopRequest;
|
||||
import com.cool.store.request.PlanListRequest;
|
||||
import com.cool.store.request.PointLinePageRequest;
|
||||
import com.cool.store.request.PreparationRequest;
|
||||
import com.cool.store.request.platformBuildListRequest;
|
||||
import com.cool.store.request.*;
|
||||
import com.cool.store.response.MiniShopsResponse;
|
||||
import com.cool.store.response.PlatformBuildListResponse;
|
||||
import com.cool.store.vo.shop.StageShopCountVO;
|
||||
@@ -290,4 +287,8 @@ public class ShopInfoDAO {
|
||||
example.createCriteria().andIn("shopCode", shopCodeList).andEqualTo("deleted", false);
|
||||
return shopInfoMapper.selectByExample(example);
|
||||
}
|
||||
|
||||
public List<FranchiseReportDTO> getShopFranchiseReportList(FranchiseReportRequest request){
|
||||
return shopInfoMapper.getShopFranchiseReportList(request);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -457,4 +457,13 @@ public class ShopStageInfoDAO {
|
||||
boolean isTerminated = shopStageInfo.isTerminated();
|
||||
return shopStageInfoMapper.dataUpdateAcceptanceStatus(list, shopStageInfo.getShopSubStageEnum().getShopSubStage(), shopStageInfo.getShopSubStageStatus(), isTerminated, remark);
|
||||
}
|
||||
|
||||
public List<ShopStageInfoDO> getStageByShopStage(List<Long> shopIds, Integer shopStage){
|
||||
if (CollectionUtils.isEmpty(shopIds) || shopStage == null){
|
||||
return null;
|
||||
}
|
||||
Example example = new Example(ShopStageInfoDO.class);
|
||||
example.createCriteria().andIn("shopId",shopIds).andEqualTo("shopStage",shopStage);
|
||||
return shopStageInfoMapper.selectByExample(example);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -7,6 +7,7 @@ import org.apache.ibatis.annotations.Param;
|
||||
import org.springframework.stereotype.Repository;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
@@ -26,4 +27,11 @@ public class SignFranchiseDAO {
|
||||
}
|
||||
return signFranchiseMapper.updateSpecific(list);
|
||||
}
|
||||
|
||||
public List<SignFranchiseDO> getSignType(List<Long> shopIds){
|
||||
if (CollectionUtils.isEmpty(shopIds)){
|
||||
return new ArrayList<>();
|
||||
}
|
||||
return signFranchiseMapper.getSignType(shopIds);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -36,4 +36,7 @@ public interface AcceptanceInfoMapper extends Mapper<AcceptanceInfoDO> {
|
||||
* @description:查询进场时间为空的数据
|
||||
*/
|
||||
List<AcceptanceInfoDO> selectByEntryTimeNull();
|
||||
|
||||
|
||||
Integer initAcceptanceInfo(@Param("list") List<Long> shopIds);
|
||||
}
|
||||
@@ -2,6 +2,8 @@ package com.cool.store.mapper;
|
||||
|
||||
import com.cool.store.dto.region.BigRegionDTO;
|
||||
import com.cool.store.entity.BigRegionDO;
|
||||
import com.cool.store.request.QueryBigRegionRequest;
|
||||
import org.apache.ibatis.annotations.Param;
|
||||
import tk.mybatis.mapper.common.Mapper;
|
||||
|
||||
import java.util.List;
|
||||
@@ -24,5 +26,5 @@ public interface BigRegionMapper extends Mapper<BigRegionDO> {
|
||||
*/
|
||||
BigRegionDO queryOrgInfoByBigRegionAndJoinMode(Long regionId,Integer joinMode);
|
||||
|
||||
|
||||
List<BigRegionDTO> queryBigRegion(@Param("request") QueryBigRegionRequest queryBigRegionRequest);
|
||||
}
|
||||
@@ -1,5 +1,6 @@
|
||||
package com.cool.store.mapper;
|
||||
|
||||
import com.cool.store.dto.FranchiseReportDTO;
|
||||
import com.cool.store.dto.LicenseSyncDTO;
|
||||
import com.cool.store.dto.Preparation.PreparationDTO;
|
||||
import com.cool.store.dto.openPreparation.OpenPlanShopInfoDTO;
|
||||
@@ -7,11 +8,7 @@ import com.cool.store.dto.point.LineCountDTO;
|
||||
import com.cool.store.dto.point.ShopPointDTO;
|
||||
import com.cool.store.entity.PointInfoDO;
|
||||
import com.cool.store.entity.ShopInfoDO;
|
||||
import com.cool.store.request.BranchShopRequest;
|
||||
import com.cool.store.request.PlanListRequest;
|
||||
import com.cool.store.request.PointLinePageRequest;
|
||||
import com.cool.store.request.PreparationRequest;
|
||||
import com.cool.store.request.platformBuildListRequest;
|
||||
import com.cool.store.request.*;
|
||||
import com.cool.store.response.MiniShopsResponse;
|
||||
import com.cool.store.response.PlatformBuildListResponse;
|
||||
import com.cool.store.vo.shop.StageShopCountVO;
|
||||
@@ -101,6 +98,9 @@ public interface ShopInfoMapper extends Mapper<ShopInfoDO> {
|
||||
*/
|
||||
List<ShopInfoDO> selectShopListByRegionId(@Param("regionIds") List<Long> regionIds,@Param("shopSubStage") Integer shopSubStage,@Param("subStageStatus")List<Integer> subStageStatus,@Param("keyWord")String keyWord);
|
||||
|
||||
List<ShopInfoDO> selectShopListByUser(@Param("userId") String userId,@Param("shopSubStage") Integer shopSubStage,@Param("subStageStatus")List<Integer> subStageStatus,@Param("keyWord")String keyWord);
|
||||
|
||||
|
||||
|
||||
List<ShopInfoDO> selectByIdOrSelectAll(@Param("shopId") Long shopId);
|
||||
|
||||
@@ -114,7 +114,7 @@ public interface ShopInfoMapper extends Mapper<ShopInfoDO> {
|
||||
|
||||
/**
|
||||
* selectAllDataOrByShopId
|
||||
* @param shopId
|
||||
* @param
|
||||
* @return
|
||||
*/
|
||||
List<ShopInfoDO> selectAllDataOrByLineId(@Param("lineId") Long lineId);
|
||||
@@ -141,4 +141,5 @@ public interface ShopInfoMapper extends Mapper<ShopInfoDO> {
|
||||
|
||||
Integer updateShopCity(@Param("list") List<ShopInfoDO> list);
|
||||
|
||||
List<FranchiseReportDTO> getShopFranchiseReportList(@Param("request") FranchiseReportRequest request);
|
||||
}
|
||||
|
||||
@@ -23,4 +23,6 @@ public interface SignFranchiseMapper extends Mapper<SignFranchiseDO> {
|
||||
* @description:数据处理用修改特定字段
|
||||
*/
|
||||
Integer updateSpecific(@Param("list") List<SignFranchiseDO> list);
|
||||
|
||||
List<SignFranchiseDO> getSignType(@Param("list") List<Long> shopIds);
|
||||
}
|
||||
|
||||
@@ -36,6 +36,12 @@
|
||||
create_time,update_time,deleted,plan_acceptance_time,actual_acceptance_time,booking_user,plan_exit_time,
|
||||
ks_account,verification_mobile,shop_location_screenshots,shop_doorway_photo,shop_interior_photo
|
||||
</sql>
|
||||
<insert id="initAcceptanceInfo">
|
||||
<foreach collection="list" index="index" item="item" separator=";">
|
||||
insert into xfsg_acceptance_info (shop_id,create_time,update_time,deleted)
|
||||
values (#{item},now(),now(),0)
|
||||
</foreach>
|
||||
</insert>
|
||||
<update id="updateByShopIDSelective">
|
||||
update xfsg_acceptance_info
|
||||
<set>
|
||||
|
||||
@@ -14,6 +14,7 @@
|
||||
<result column="join_mode" jdbcType="TINYINT" property="joinMode" />
|
||||
<result column="create_time" jdbcType="TIMESTAMP" property="createTime" />
|
||||
<result column="update_time" jdbcType="TIMESTAMP" property="updateTime" />
|
||||
<result column="group_name" jdbcType="VARCHAR" property="groupName" />
|
||||
</resultMap>
|
||||
|
||||
|
||||
@@ -41,4 +42,18 @@
|
||||
</if>
|
||||
</where>
|
||||
</select>
|
||||
<select id="queryBigRegion" resultType="com.cool.store.dto.region.BigRegionDTO">
|
||||
select *
|
||||
from `xfsg_big_region`
|
||||
where join_mode = 0
|
||||
<if test="request.keyword!=null and request.keyword !=''">
|
||||
and region_name like CONCAT('%',#{request.keyword},'%')
|
||||
</if>
|
||||
<if test="request.groupNameList!=null and request.groupNameList.size()>0">
|
||||
and group_name in
|
||||
<foreach item="item" collection="request.groupNameList" index="index" open="(" close=")" separator=",">
|
||||
#{item}
|
||||
</foreach>
|
||||
</if>
|
||||
</select>
|
||||
</mapper>
|
||||
@@ -482,6 +482,54 @@
|
||||
a.create_time >= '2025-04-19 00:00:00'
|
||||
and b.downstream_system_salting is null;
|
||||
</select>
|
||||
<select id="getShopFranchiseReportList" resultType="com.cool.store.dto.FranchiseReportDTO">
|
||||
select
|
||||
a.id as shopId,
|
||||
a.region_id as regionId,
|
||||
a.store_type as storeType
|
||||
from xfsg_shop_info a
|
||||
left join xfsg_shop_stage_info b on a.id = b.shop_id
|
||||
where
|
||||
a.deleted = 0 and a.shop_status != 2 and a.franchise_brand = 1
|
||||
and b.shop_sub_stage = 150 and b.is_terminated = 1
|
||||
<if test = "request.regionIds !=null and request.regionIds.size >0">
|
||||
and a.region_id in
|
||||
<foreach collection="request.regionIds" item="regionId" index="index" open="(" separator="," close=")">
|
||||
#{regionId}
|
||||
</foreach>
|
||||
</if>
|
||||
<if test = "request.storeTypes !=null and request.storeTypes.size >0">
|
||||
and a.store_type in
|
||||
<foreach collection="request.storeTypes" item="storeType" index="index" open="(" separator="," close=")">
|
||||
#{storeType}
|
||||
</foreach>
|
||||
</if>
|
||||
and b.actual_complete_time >= #{request.buildStartTime} and b.actual_complete_time <= #{request.buildEndTime}
|
||||
</select>
|
||||
<select id="selectShopListByUser" resultType="com.cool.store.entity.ShopInfoDO">
|
||||
select
|
||||
xsi.id,xsi.line_id as lineId,xsi.region_id as regionId,xsi.shop_name as shopName,xsi.store_num as
|
||||
storeNum,xsi.shop_code as shopCode
|
||||
from xfsg_shop_info xsi
|
||||
left join xfsg_shop_stage_info xssi on xssi.shop_id = xsi.id
|
||||
where
|
||||
xsi.deleted = 0
|
||||
AND xssi.shop_sub_stage_status != -100
|
||||
and xssi.shop_sub_stage = #{shopSubStage}
|
||||
<if test="userId!=null and userId!= ''">
|
||||
and xsi.investment_manager = #{userId}
|
||||
</if>
|
||||
|
||||
<if test="subStageStatus != null and subStageStatus.size()>0">
|
||||
and xssi.shop_sub_stage_status in
|
||||
<foreach collection="subStageStatus" item="item" index="index" open="(" separator="," close=")">
|
||||
#{item}
|
||||
</foreach>
|
||||
</if>
|
||||
<if test="keyWord != null and keyWord != '' ">
|
||||
and xsi.shop_name Like concat("%",#{keyWord},"%") or xsi.store_num Like concat("%",#{keyWord},"%")
|
||||
</if>
|
||||
</select>
|
||||
|
||||
<update id="batchUpdate" parameterType="list">
|
||||
<foreach collection="list" item="item" index="index" open="" close="" separator=";">
|
||||
|
||||
@@ -75,4 +75,12 @@
|
||||
#{item}
|
||||
</foreach>
|
||||
</select>
|
||||
<select id="getSignType" resultType="com.cool.store.entity.SignFranchiseDO">
|
||||
select shop_id as shopId, sign_type as signType from xfsg_sign_franchise
|
||||
where
|
||||
shop_id in
|
||||
<foreach collection="list" separator="," item="item" index="index" open="(" close=")">
|
||||
#{item}
|
||||
</foreach>
|
||||
</select>
|
||||
</mapper>
|
||||
@@ -0,0 +1,19 @@
|
||||
package com.cool.store.dto;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
/**
|
||||
* @Author: WangShuo
|
||||
* @Date: 2025/05/13/15:59
|
||||
* @Version 1.0
|
||||
* @注释:
|
||||
*/
|
||||
@Data
|
||||
public class FranchiseReportDTO {
|
||||
|
||||
private Long shopId;
|
||||
|
||||
private Long regionId;
|
||||
|
||||
private Integer storeType;
|
||||
}
|
||||
@@ -57,6 +57,17 @@ public class BigRegionDO {
|
||||
@Column(name = "update_time")
|
||||
private Date updateTime;
|
||||
|
||||
//集团名称
|
||||
@Column(name = "group_name")
|
||||
private String groupName;
|
||||
|
||||
public String getGroupName() {
|
||||
return groupName;
|
||||
}
|
||||
|
||||
public void setGroupName(String groupName) {
|
||||
this.groupName = groupName;
|
||||
}
|
||||
/**
|
||||
* @return id
|
||||
*/
|
||||
|
||||
@@ -0,0 +1,33 @@
|
||||
package com.cool.store.request;
|
||||
|
||||
import io.swagger.annotations.Api;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* @Author: WangShuo
|
||||
* @Date: 2025/05/13/15:27
|
||||
* @Version 1.0
|
||||
* @注释:
|
||||
*/
|
||||
@Data
|
||||
public class FranchiseReportRequest {
|
||||
|
||||
@ApiModelProperty(value = "加盟集团")
|
||||
private List<String> joinGroupName;
|
||||
|
||||
@ApiModelProperty(value = "加盟分部/片区")
|
||||
private List<Long> regionIds;
|
||||
|
||||
@ApiModelProperty(value = "门店类型")
|
||||
private List<Integer> storeTypes;
|
||||
|
||||
@ApiModelProperty(value = "建店完成开始 时间格式 2025-05-01 00:00:00")
|
||||
private String buildStartTime;
|
||||
|
||||
@ApiModelProperty(value = "建店完成结束时间 时间格式 2025-05-01 23:59:59")
|
||||
private String buildEndTime;
|
||||
}
|
||||
@@ -1,7 +1,9 @@
|
||||
package com.cool.store.request;
|
||||
|
||||
import com.cool.store.entity.OrderSysInfoDO;
|
||||
import com.cool.store.enums.JoinModeEnum;
|
||||
import com.cool.store.enums.OrderSysTypeEnum;
|
||||
import com.cool.store.enums.SignTypeEnum;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
@@ -115,13 +117,17 @@ public class OrderSysInfoRequest {
|
||||
|
||||
return orderSysInfoDO;
|
||||
}
|
||||
public Boolean check(){
|
||||
public Boolean check(Integer joinMode){
|
||||
if (Objects.equals(this.type, OrderSysTypeEnum.ORDER_SYS_TYPE_1.getType())){
|
||||
if (StringUtils.isAnyBlank(this.xgjRegionId,this.xgjVicePresident,this.declareGoodsDate,this.declareGoodsLogisticsWarehouse,this.declareGoodsType)){
|
||||
return false;
|
||||
}
|
||||
}
|
||||
if (Objects.equals(this.type, OrderSysTypeEnum.ORDER_SYS_TYPE_2.getType())){
|
||||
//自由店只需要门店编码
|
||||
if (Objects.equals(joinMode, JoinModeEnum.OWN_STORE.getCode())&&this.shopCode!=null){
|
||||
return true;
|
||||
}
|
||||
if (StringUtils.isAnyBlank(this.receivingFirmName,this.receivingMsBankAccount,this.receivingMsBankBranch,this.bankUnionPayAccount,this.shopCode)){
|
||||
return false;
|
||||
}
|
||||
|
||||
@@ -0,0 +1,18 @@
|
||||
package com.cool.store.request;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* @Author: WangShuo
|
||||
* @Date: 2025/05/15/10:15
|
||||
* @Version 1.0
|
||||
* @注释:
|
||||
*/
|
||||
@Data
|
||||
public class QueryBigRegionRequest{
|
||||
private String keyword;
|
||||
|
||||
private List<String> groupNameList;
|
||||
}
|
||||
@@ -0,0 +1,94 @@
|
||||
package com.cool.store.response;
|
||||
|
||||
import com.alibaba.excel.annotation.ExcelIgnore;
|
||||
import com.alibaba.excel.annotation.ExcelProperty;
|
||||
import com.alibaba.excel.annotation.write.style.ColumnWidth;
|
||||
import com.cool.store.annotation.Excel;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
|
||||
/**
|
||||
* @Author: WangShuo
|
||||
* @Date: 2025/05/13/15:30
|
||||
* @Version 1.0
|
||||
* @注释:
|
||||
*/
|
||||
@Data
|
||||
public class FranchiseReportResponse {
|
||||
|
||||
@ApiModelProperty(value = "加盟集团")
|
||||
@ExcelProperty(value = "加盟集团",order = 1)
|
||||
@ColumnWidth(25)
|
||||
private String joinGroupName;
|
||||
|
||||
@ApiModelProperty(value = "加盟分部/片区")
|
||||
@ExcelProperty(value = "加盟分部/片区",order = 2)
|
||||
@ColumnWidth(20)
|
||||
private String regionName;
|
||||
|
||||
@ApiModelProperty(value = "门店数")
|
||||
@ExcelProperty(value = "门店数",order = 3)
|
||||
@ColumnWidth(15)
|
||||
private Integer storeNum = 0;
|
||||
|
||||
@ApiModelProperty(value = "鸡排普通店")
|
||||
@ExcelProperty(value = "鸡排普通店",order = 4)
|
||||
@ColumnWidth(20)
|
||||
private Integer normalStoreNum = 0;
|
||||
|
||||
@ApiModelProperty(value = "鸡排餐厅店")
|
||||
@ExcelProperty(value = "鸡排餐厅店",order = 5)
|
||||
@ColumnWidth(20)
|
||||
private Integer restaurantStoreNum = 0;
|
||||
|
||||
@ApiModelProperty(value = "鸡排无展示门店")
|
||||
@ExcelProperty(value = "鸡排无展示门店",order = 6)
|
||||
@ColumnWidth(25)
|
||||
private Integer noShowStoreNum = 0;
|
||||
|
||||
@ApiModelProperty(value = "加盟费")
|
||||
@ExcelProperty(value = "加盟费",order = 7)
|
||||
@ColumnWidth(20)
|
||||
private BigDecimal franchiseFeeTotal = BigDecimal.ZERO;
|
||||
|
||||
@ApiModelProperty(value = "品牌费")
|
||||
@ExcelProperty(value = "品牌费",order = 8)
|
||||
@ColumnWidth(20)
|
||||
private BigDecimal firstYearBrandingFeeTotal = BigDecimal.ZERO;
|
||||
|
||||
@ApiModelProperty(value = "管理费")
|
||||
@ExcelProperty(value = "管理费",order = 9)
|
||||
@ColumnWidth(20)
|
||||
private BigDecimal firstYearManagementFeeTotal = BigDecimal.ZERO;
|
||||
|
||||
@ApiModelProperty(value = "设计费")
|
||||
@ExcelProperty(value = "设计费",order = 10)
|
||||
@ColumnWidth(20)
|
||||
private BigDecimal performanceBondTotal = BigDecimal.ZERO;
|
||||
|
||||
@ApiModelProperty(value = "管理/品牌/设计费")
|
||||
@ExcelProperty(value = "管理/品牌/设计费",order = 11)
|
||||
@ColumnWidth(25)
|
||||
private BigDecimal managementBrandingDesignFeeTotal = BigDecimal.ZERO;
|
||||
|
||||
@ApiModelProperty(value = "保证金")
|
||||
@ExcelProperty(value = "保证金",order = 12)
|
||||
@ColumnWidth(20)
|
||||
private BigDecimal loanMarginTotal = BigDecimal.ZERO;
|
||||
|
||||
@ApiModelProperty(value = "昨日日期")
|
||||
@ExcelProperty(value = "昨日日期",order = 13)
|
||||
@ColumnWidth(15)
|
||||
private String yesterdayDate;
|
||||
|
||||
@ApiModelProperty(value = "昨天门店数")
|
||||
@ExcelProperty(value = "昨天门店数",order = 14)
|
||||
@ColumnWidth(15)
|
||||
private Integer yesterdayStoreNum = 0;
|
||||
@ExcelIgnore
|
||||
private Long regionId;
|
||||
|
||||
|
||||
}
|
||||
@@ -49,5 +49,7 @@ public class PreparationCommonPendingVO {
|
||||
private Integer joinMode;
|
||||
private Long regionId;
|
||||
private Date updateTime;
|
||||
@ApiModelProperty("签约类型")
|
||||
private Integer signType;
|
||||
|
||||
}
|
||||
|
||||
@@ -0,0 +1,40 @@
|
||||
package com.cool.store.handler;
|
||||
|
||||
import com.alibaba.excel.metadata.CellData;
|
||||
import com.alibaba.excel.metadata.Head;
|
||||
import com.alibaba.excel.write.handler.CellWriteHandler;
|
||||
import com.alibaba.excel.write.metadata.holder.WriteSheetHolder;
|
||||
import com.alibaba.excel.write.metadata.holder.WriteTableHolder;
|
||||
import org.apache.poi.ss.usermodel.*;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
public class CenterAlignHandler implements CellWriteHandler {
|
||||
@Override
|
||||
public void beforeCellCreate(WriteSheetHolder writeSheetHolder, WriteTableHolder writeTableHolder, Row row, Head head, Integer integer, Integer integer1, Boolean aBoolean) {
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void afterCellCreate(WriteSheetHolder writeSheetHolder, WriteTableHolder writeTableHolder, Cell cell,
|
||||
Head head, Integer relativeRowIndex, Boolean isHead) {
|
||||
// 行号从0开始,所以第3行及以后的行号>=2
|
||||
if (cell.getRowIndex() >= 3) {
|
||||
Workbook workbook = writeSheetHolder.getSheet().getWorkbook();
|
||||
CellStyle cellStyle = workbook.createCellStyle();
|
||||
cellStyle.setAlignment(HorizontalAlignment.CENTER);
|
||||
cellStyle.setVerticalAlignment(VerticalAlignment.CENTER);
|
||||
cell.setCellStyle(cellStyle);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void afterCellDataConverted(WriteSheetHolder writeSheetHolder, WriteTableHolder writeTableHolder, CellData cellData, Cell cell, Head head, Integer integer, Boolean aBoolean) {
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void afterCellDispose(WriteSheetHolder writeSheetHolder, WriteTableHolder writeTableHolder, List<CellData> list, Cell cell, Head head, Integer integer, Boolean aBoolean) {
|
||||
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,54 @@
|
||||
package com.cool.store.handler;
|
||||
|
||||
import com.alibaba.excel.write.metadata.holder.WriteTableHolder;
|
||||
import org.apache.poi.ss.usermodel.Cell;
|
||||
import org.apache.poi.ss.usermodel.CellStyle;
|
||||
import org.apache.poi.ss.usermodel.Font;
|
||||
import org.apache.poi.ss.usermodel.HorizontalAlignment;
|
||||
import org.apache.poi.ss.usermodel.Row;
|
||||
import org.apache.poi.ss.usermodel.Sheet;
|
||||
import org.apache.poi.ss.usermodel.VerticalAlignment;
|
||||
import org.apache.poi.ss.usermodel.Workbook;
|
||||
import org.apache.poi.ss.util.CellRangeAddress;
|
||||
|
||||
import com.alibaba.excel.write.handler.SheetWriteHandler;
|
||||
import com.alibaba.excel.write.metadata.holder.WriteSheetHolder;
|
||||
import com.alibaba.excel.write.metadata.holder.WriteWorkbookHolder;
|
||||
|
||||
/**
|
||||
* 第一行 拦截器
|
||||
*/
|
||||
public class ImplProgressReportSheetWriteHandler implements SheetWriteHandler {
|
||||
|
||||
private final String title;
|
||||
|
||||
public ImplProgressReportSheetWriteHandler(String title) {
|
||||
this.title = title;
|
||||
}
|
||||
@Override
|
||||
public void beforeSheetCreate(WriteWorkbookHolder writeWorkbookHolder, WriteSheetHolder writeSheetHolder) {
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void afterSheetCreate(WriteWorkbookHolder writeWorkbookHolder, WriteSheetHolder writeSheetHolder) {
|
||||
Workbook workbook = writeWorkbookHolder.getWorkbook();
|
||||
Sheet sheet = workbook.getSheetAt(0);
|
||||
// 设置第一行标题
|
||||
Row row1 = sheet.createRow(0);
|
||||
row1.setHeight((short) 300);
|
||||
Cell row1Cell1 = row1.createCell(0);
|
||||
row1Cell1.setCellValue(title);
|
||||
CellStyle row1CellStyle = workbook.createCellStyle();
|
||||
row1CellStyle.setVerticalAlignment(VerticalAlignment.CENTER);
|
||||
row1CellStyle.setAlignment(HorizontalAlignment.LEFT);
|
||||
Font row1Font = workbook.createFont();
|
||||
row1Font.setBold(true);
|
||||
row1Font.setFontName("方正小标宋_GBK");
|
||||
row1Font.setFontHeightInPoints((short) 10);
|
||||
row1CellStyle.setFont(row1Font);
|
||||
row1Cell1.setCellStyle(row1CellStyle);
|
||||
//合并单元格,起始行,结束行,起始列,结束列
|
||||
sheet.addMergedRegionUnsafe(new CellRangeAddress(0, 1, 0, 17));
|
||||
}
|
||||
}
|
||||
@@ -4,6 +4,7 @@ import com.cool.store.dto.region.BigRegionDTO;
|
||||
import com.cool.store.entity.BigRegionDO;
|
||||
import com.cool.store.enums.ErrorCodeEnum;
|
||||
import com.cool.store.exception.ServiceException;
|
||||
import com.cool.store.request.QueryBigRegionRequest;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
@@ -31,5 +32,7 @@ public interface BigRegionService {
|
||||
*/
|
||||
BigRegionDO queryOrgInfoByBigRegionAndJoinMode(Long regionId, Integer joinMode);
|
||||
|
||||
List<BigRegionDTO> queryBigRegion(QueryBigRegionRequest queryBigRegionRequest);
|
||||
|
||||
|
||||
}
|
||||
|
||||
@@ -22,4 +22,9 @@ public interface DataHandlerServer {
|
||||
Boolean importOaOldShopData(List<Map<String, Object>> dataMapList, String originalFilename, LoginUserInfo user,
|
||||
ImportTaskDO task);
|
||||
|
||||
//数据处理阶段完成 某些阶段数据处理
|
||||
Boolean dataStageHandler(List<Map<String, Object>> dataMapList, String originalFilename, LoginUserInfo user, ImportTaskDO task,Boolean flag);
|
||||
|
||||
//装修数据初始化
|
||||
Boolean decorationDataInit();
|
||||
}
|
||||
|
||||
@@ -4,7 +4,9 @@ import com.cool.store.dto.Preparation.PreparationDTO;
|
||||
import com.cool.store.entity.ImportTaskDO;
|
||||
import com.cool.store.entity.LineInfoDO;
|
||||
import com.cool.store.entity.PointInfoDO;
|
||||
import com.cool.store.request.FranchiseReportRequest;
|
||||
import com.cool.store.response.BranchShopResponse;
|
||||
import com.cool.store.response.FranchiseReportResponse;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
@@ -24,4 +26,6 @@ public interface ExportRealizeService {
|
||||
void exportJoinShop(List<BranchShopResponse> list,ImportTaskDO importTaskDO);
|
||||
|
||||
void exportProgress(List<BranchShopResponse> list,ImportTaskDO importTaskDO);
|
||||
|
||||
void exportZxjpOpenShopReport(List<FranchiseReportResponse> list, ImportTaskDO importTaskDO, FranchiseReportRequest request);
|
||||
}
|
||||
|
||||
@@ -18,5 +18,8 @@ public interface ExportService {
|
||||
//财务导出 //加盟开店申请 //进度确认
|
||||
Long exportProgressBase(BranchShopRequest request, LoginUserInfo user, FileTypeEnum fileTypeEnum);
|
||||
|
||||
//正新加盟报表导出
|
||||
Long exportZxjpOpenShopReport(FranchiseReportRequest request, LoginUserInfo user);
|
||||
|
||||
|
||||
}
|
||||
|
||||
@@ -0,0 +1,18 @@
|
||||
package com.cool.store.service;
|
||||
|
||||
import com.cool.store.request.FranchiseReportRequest;
|
||||
import com.cool.store.response.FranchiseReportResponse;
|
||||
import com.github.pagehelper.PageInfo;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* @Author: WangShuo
|
||||
* @Date: 2025/05/13/15:22
|
||||
* @Version 1.0
|
||||
* @注释:
|
||||
*/
|
||||
public interface FranchiseReportService {
|
||||
|
||||
List<FranchiseReportResponse> zxjpOpenShopReport(FranchiseReportRequest request);
|
||||
}
|
||||
@@ -5,10 +5,12 @@ import com.cool.store.dto.region.BigRegionDTO;
|
||||
import com.cool.store.entity.BigRegionDO;
|
||||
import com.cool.store.enums.ErrorCodeEnum;
|
||||
import com.cool.store.exception.ServiceException;
|
||||
import com.cool.store.request.QueryBigRegionRequest;
|
||||
import com.cool.store.service.BigRegionService;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import java.util.Collections;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
@@ -35,4 +37,9 @@ public class BigRegionServiceImpl implements BigRegionService {
|
||||
return bigRegionDAO.queryOrgInfoByBigRegionAndJoinMode(regionId,joinMode);
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<BigRegionDTO> queryBigRegion(QueryBigRegionRequest queryBigRegionRequest) {
|
||||
return bigRegionDAO.queryBigRegion(queryBigRegionRequest);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -5,11 +5,14 @@ import com.cool.store.context.LoginUserInfo;
|
||||
import com.cool.store.dao.*;
|
||||
import com.cool.store.dto.*;
|
||||
import com.cool.store.entity.*;
|
||||
import com.cool.store.enums.ErrorCodeEnum;
|
||||
import com.cool.store.enums.FileTypeEnum;
|
||||
import com.cool.store.enums.ImportTaskStatusEnum;
|
||||
import com.cool.store.enums.PosAndOrderEnum;
|
||||
import com.cool.store.enums.point.ShopStageEnum;
|
||||
import com.cool.store.enums.point.ShopSubStageEnum;
|
||||
import com.cool.store.enums.point.ShopSubStageStatusEnum;
|
||||
import com.cool.store.exception.ServiceException;
|
||||
import com.cool.store.mapper.*;
|
||||
import com.cool.store.service.DataHandlerServer;
|
||||
import com.cool.store.service.FranchiseFeeService;
|
||||
@@ -41,6 +44,8 @@ import static com.cool.store.utils.poi.DateUtils.YYYY_MM_DD;
|
||||
@Service
|
||||
@Slf4j
|
||||
public class DataHandlerServerImpl implements DataHandlerServer {
|
||||
@Resource
|
||||
private AcceptanceInfoDAO acceptanceInfoDAO;
|
||||
@Resource
|
||||
private ImportTaskMapper importTaskMapper;
|
||||
@Resource
|
||||
@@ -60,7 +65,7 @@ public class DataHandlerServerImpl implements DataHandlerServer {
|
||||
@Resource
|
||||
private FranchiseFeeMapper franchiseFeeMapper;
|
||||
@Resource
|
||||
private FranchiseFeeDAO franchiseFeeDAO;
|
||||
private FranchiseFeeDAO franchiseFeeDAO;
|
||||
@Resource
|
||||
private WarehouseInfoMapper warehouseInfoMapper;
|
||||
@Resource
|
||||
@@ -77,6 +82,7 @@ public class DataHandlerServerImpl implements DataHandlerServer {
|
||||
private SignFranchiseDAO signFranchiseDAO;
|
||||
@Value("${mybatis.configuration.variables.enterpriseId}")
|
||||
private String eid;
|
||||
|
||||
@Override
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public Boolean importOaOldShopData(List<Map<String, Object>> dataMapList, String originalFilename, LoginUserInfo user, ImportTaskDO task) {
|
||||
@@ -92,14 +98,14 @@ public class DataHandlerServerImpl implements DataHandlerServer {
|
||||
}
|
||||
});
|
||||
log.info("导入数据条数:{}", list.size());
|
||||
if (CollectionUtils.isEmpty(list)){
|
||||
if (CollectionUtils.isEmpty(list)) {
|
||||
log.info("导入数据转化为空");
|
||||
return false;
|
||||
}
|
||||
List<String> shopCodeList = list.stream().map(ImportOaOldShopDataDTO::getShopCode).collect(Collectors.toList());
|
||||
Map<String, ImportOaOldShopDataDTO> dotMap = list.stream().collect(Collectors.toMap(ImportOaOldShopDataDTO::getShopCode, item -> item));
|
||||
List<ShopInfoDO> shopInfoList = shopInfoDAO.selectByShopCodeList(shopCodeList);
|
||||
if (CollectionUtils.isEmpty(shopInfoList)){
|
||||
if (CollectionUtils.isEmpty(shopInfoList)) {
|
||||
log.info("导入数据根据shopCode 未找到数据");
|
||||
}
|
||||
Map<String, ShopInfoDO> shopInfoByCodeMap = shopInfoList.stream().collect(Collectors.toMap(ShopInfoDO::getShopCode, item -> item));
|
||||
@@ -155,7 +161,7 @@ public class DataHandlerServerImpl implements DataHandlerServer {
|
||||
//建店阶段完成时间
|
||||
List<BuildStageDTO> updateBuildStageList = new ArrayList<>();
|
||||
for (ImportOaOldShopDataDTO dto : list) {
|
||||
if( !check(dto,errorList)){
|
||||
if (!check(dto, errorList)) {
|
||||
continue;
|
||||
}
|
||||
ShopInfoDO shopInfoDO = shopInfoByCodeMap.get(dto.getShopCode().trim());
|
||||
@@ -187,7 +193,7 @@ public class DataHandlerServerImpl implements DataHandlerServer {
|
||||
continue;
|
||||
}
|
||||
Date buildEndTime = DateUtils.toDate(YYYY_MM_DD, dto.getBuildEndTime());
|
||||
if (Objects.isNull(buildEndTime)){
|
||||
if (Objects.isNull(buildEndTime)) {
|
||||
ImportOaOldShopDataErrorDTO errorDTO = new ImportOaOldShopDataErrorDTO();
|
||||
errorDTO.setShopCode(dto.getShopCode());
|
||||
errorDTO.setErrorReason("建店资料时间转化失败");
|
||||
@@ -196,7 +202,7 @@ public class DataHandlerServerImpl implements DataHandlerServer {
|
||||
}
|
||||
//合同
|
||||
SignFranchiseDO signFranchiseDO = signFranchiseMap.get(shopId);
|
||||
if (signFranchiseDO==null){
|
||||
if (signFranchiseDO == null) {
|
||||
ImportOaOldShopDataErrorDTO errorDTO = new ImportOaOldShopDataErrorDTO();
|
||||
errorDTO.setShopCode(dto.getShopCode());
|
||||
errorDTO.setErrorReason("合同DO不存在");
|
||||
@@ -204,7 +210,7 @@ public class DataHandlerServerImpl implements DataHandlerServer {
|
||||
continue;
|
||||
}
|
||||
FranchiseFeeDO franchiseFeeDO = franchiseFeeMap.get(shopId);
|
||||
if (franchiseFeeDO==null){
|
||||
if (franchiseFeeDO == null) {
|
||||
ImportOaOldShopDataErrorDTO errorDTO = new ImportOaOldShopDataErrorDTO();
|
||||
errorDTO.setShopCode(dto.getShopCode());
|
||||
errorDTO.setErrorReason("加盟费DO不存在");
|
||||
@@ -235,7 +241,7 @@ public class DataHandlerServerImpl implements DataHandlerServer {
|
||||
if (StringUtil.isNotBlank(dto.getIntroductionAward())) {
|
||||
signFranchiseDO.setIntroductionAward(dto.getIntroductionAward());
|
||||
}
|
||||
if (StringUtil.isNotBlank(dto.getContractCode()) && dto.getContractCode().trim().startsWith("ZX") && dto.getContractCode().trim()!="0") {
|
||||
if (StringUtil.isNotBlank(dto.getContractCode()) && dto.getContractCode().trim().startsWith("ZX") && dto.getContractCode().trim() != "0") {
|
||||
signFranchiseDO.setContractCode(dto.getContractCode().trim());
|
||||
}
|
||||
if (StringUtil.isNotBlank(dto.getProtectionDistance())) {
|
||||
@@ -245,7 +251,7 @@ public class DataHandlerServerImpl implements DataHandlerServer {
|
||||
//建店资料未完成
|
||||
BuildStageDTO buildStageDTO = new BuildStageDTO();
|
||||
buildStageDTO.setShopId(shopId);
|
||||
buildStageDTO.setEndTime(dto.getBuildEndTime()+" 00:00:00");
|
||||
buildStageDTO.setEndTime(dto.getBuildEndTime() + " 00:00:00");
|
||||
updateBuildStageList.add(buildStageDTO);
|
||||
//建店资料阶段处理
|
||||
shopStageInfoDAO.dataUpdateShopStageInfo(Collections.singletonList(buildStageDTO), ShopSubStageStatusEnum.SHOP_SUB_STAGE_STATUS_156);
|
||||
@@ -257,7 +263,7 @@ public class DataHandlerServerImpl implements DataHandlerServer {
|
||||
preparationService.selectSiteAndBuildStoreComplete(shopId);
|
||||
preparationService.buildStoreComplete(shopId);
|
||||
}
|
||||
if (buildEndTime.before(new Date(1745164800000L))){
|
||||
if (buildEndTime.before(new Date(1745164800000L))) {
|
||||
fitmentFhopIdList.add(shopId);
|
||||
}
|
||||
BuildInformationDO buildInformationDO = buildInformationMap.get(shopId);
|
||||
@@ -321,11 +327,11 @@ public class DataHandlerServerImpl implements DataHandlerServer {
|
||||
}
|
||||
//pos
|
||||
PosAndOrderInfoDO posDO = posSysInfoDOMap.get(shopId);
|
||||
if (Objects.isNull(posDO)){
|
||||
if (Objects.isNull(posDO)) {
|
||||
posDO = new PosAndOrderInfoDO();
|
||||
posDO.setShopId(shopId);
|
||||
posDO.setType(PosAndOrderEnum.POS.getCode());
|
||||
posDO.setAccount(lineMobileMap.getOrDefault(shopInfoDO.getLineId(),""));
|
||||
posDO.setAccount(lineMobileMap.getOrDefault(shopInfoDO.getLineId(), ""));
|
||||
posDO.setRemark("已为您开通POS系统账号和密码");
|
||||
posDO.setCreateTime(new Date());
|
||||
addPosAndOrderInfoList.add(posDO);
|
||||
@@ -340,7 +346,7 @@ public class DataHandlerServerImpl implements DataHandlerServer {
|
||||
orderSysInfoDAO.batchInsertSpecific(addOrderSysInfoList);
|
||||
franchiseFeeDAO.updateBill(franchiseFeeByShopIds);
|
||||
buildInformationDAO.batchInsertSpecific(addBuildList);
|
||||
if (CollectionUtils.isNotEmpty(updateBuildStageList)){
|
||||
if (CollectionUtils.isNotEmpty(updateBuildStageList)) {
|
||||
List<Long> updateStageShopIds = updateBuildStageList.stream().map(BuildStageDTO::getShopId).collect(Collectors.toList());
|
||||
//pos阶段完成
|
||||
shopStageInfoDAO.dataUpdateStatus(updateStageShopIds, ShopSubStageStatusEnum.SHOP_SUB_STAGE_STATUS_163);
|
||||
@@ -357,13 +363,13 @@ public class DataHandlerServerImpl implements DataHandlerServer {
|
||||
shopStageInfoDAO.dataUpdateAcceptanceStatus(fitmentFhopIdList, ShopSubStageStatusEnum.SHOP_SUB_STAGE_STATUS_121);
|
||||
if (!errorList.isEmpty()) {
|
||||
task.setStatus(ImportTaskStatusEnum.ERROR.getCode());
|
||||
String url = null ;
|
||||
String url = null;
|
||||
try {
|
||||
url = easyExcelUtil.exportExcel(ImportOaOldShopDataErrorDTO.class, errorList, null,
|
||||
url = easyExcelUtil.exportExcel(ImportOaOldShopDataErrorDTO.class, errorList, null,
|
||||
FileTypeEnum.IMPORT_OA_OLD_SHOP_DATA_ERROR.getDesc() + DateUtils.parseDateToStr(SPECIAL_DATE_START_1, new Date()),
|
||||
FileTypeEnum.IMPORT_OA_OLD_SHOP_DATA_ERROR.getDesc() + DateUtils.parseDateToStr(SPECIAL_DATE_START_1, new Date()));
|
||||
} catch (Exception e) {
|
||||
log.info("导出失败列表失败 errorList:{}",JSONObject.toJSONString(errorList));
|
||||
log.info("导出失败列表失败 errorList:{}", JSONObject.toJSONString(errorList));
|
||||
}
|
||||
task.setFileUrl(url);
|
||||
} else {
|
||||
@@ -371,138 +377,319 @@ public class DataHandlerServerImpl implements DataHandlerServer {
|
||||
}
|
||||
task.setTotalNum(dataMapList.size());
|
||||
task.setSuccessNum(dataMapList.size() - errorList.size());
|
||||
importTaskMapper.update(eid,task);
|
||||
importTaskMapper.update(eid, task);
|
||||
return null;
|
||||
}
|
||||
|
||||
private static boolean check(ImportOaOldShopDataDTO dto,List<ImportOaOldShopDataErrorDTO> errorList){
|
||||
if (StringUtil.isBlank(dto.getShopCode())){
|
||||
@Override
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public Boolean dataStageHandler(List<Map<String, Object>> dataMapList, String originalFilename, LoginUserInfo user, ImportTaskDO task, Boolean flag) {
|
||||
List<String> shopCodeList = new ArrayList<>();
|
||||
ListUtils.emptyIfNull(dataMapList)
|
||||
.forEach(data -> {
|
||||
try {
|
||||
shopCodeList.add(String.valueOf(data.get("门店编码")).trim());
|
||||
} catch (Exception e) {
|
||||
log.info("importOaOldShopData 转化dto error:{}", JSONObject.toJSONString(data));
|
||||
}
|
||||
});
|
||||
if (CollectionUtils.isEmpty(shopCodeList)) {
|
||||
log.info("数据处理 门店编码为空");
|
||||
return null;
|
||||
}
|
||||
List<ShopInfoDO> shopInfoList = shopInfoDAO.selectByShopCodeList(shopCodeList);
|
||||
if (CollectionUtils.isEmpty(shopInfoList)) {
|
||||
log.info("数据处理 门店未找到对应数据");
|
||||
return null;
|
||||
}
|
||||
List<ImportOaOldShopDataErrorDTO> errorList = new ArrayList<>();
|
||||
List<Long> shopIds = shopInfoList.stream().map(ShopInfoDO::getId).collect(Collectors.toList());
|
||||
Map<String, ShopInfoDO> shopInfoMap = shopInfoList.stream().collect(Collectors.toMap(ShopInfoDO::getShopCode, x -> x));
|
||||
List<Long> lineIdList = shopInfoList.stream().map(ShopInfoDO::getLineId).collect(Collectors.toList());
|
||||
|
||||
//手机号
|
||||
Map<Long, String> lineMobileMap = lineInfoDAO.getLineMobileMap(lineIdList);
|
||||
List<ShopStageInfoDO> stageByShopStage = shopStageInfoDAO.getStageByShopStage(shopIds, ShopStageEnum.SHOP_STAGE_2.getShopStage());
|
||||
Map<Long, List<ShopStageInfoDO>> shopStageInfoMap = stageByShopStage.stream().collect(Collectors.groupingBy(ShopStageInfoDO::getShopId));
|
||||
//培训和开业完成
|
||||
List<Long> trainShopIdList = new ArrayList<>();
|
||||
//建店大阶段完成
|
||||
List<Long> buildShopIdList = new ArrayList<>();
|
||||
List<OpeningOperationPlanDO> addOpeningOperationPlanDO = new ArrayList<>();
|
||||
List<PosAndOrderInfoDO> addPosAndOrderInfoList = new ArrayList<>();
|
||||
for (String shopCode : shopCodeList) {
|
||||
ShopInfoDO shop = shopInfoMap.get(shopCode);
|
||||
if (shop == null) {
|
||||
ImportOaOldShopDataErrorDTO errorDTO = new ImportOaOldShopDataErrorDTO();
|
||||
errorDTO.setShopCode(shopCode);
|
||||
errorDTO.setErrorReason("code未找到对应门店数据");
|
||||
errorList.add(errorDTO);
|
||||
continue;
|
||||
}
|
||||
Long shopId = shop.getId();
|
||||
List<ShopStageInfoDO> shopStageInfoList = shopStageInfoMap.get(shopId);
|
||||
if (CollectionUtils.isEmpty(shopStageInfoList)) {
|
||||
ImportOaOldShopDataErrorDTO errorDTO = new ImportOaOldShopDataErrorDTO();
|
||||
errorDTO.setShopCode(shop.getShopCode());
|
||||
errorDTO.setErrorReason("门店未找到对应阶段数据");
|
||||
errorList.add(errorDTO);
|
||||
continue;
|
||||
}
|
||||
Map<Integer, ShopStageInfoDO> stageMap = shopStageInfoList.stream().collect(Collectors.toMap(ShopStageInfoDO::getShopSubStage, Function.identity()));
|
||||
if (!ShopSubStageStatusEnum.SHOP_SUB_STAGE_STATUS_84.getShopSubStageStatus()
|
||||
.equals(stageMap.get(ShopSubStageEnum.SHOP_STAGE_8.getShopSubStage()).getShopSubStageStatus())) {
|
||||
ImportOaOldShopDataErrorDTO errorDTO = new ImportOaOldShopDataErrorDTO();
|
||||
errorDTO.setShopCode(shop.getShopCode());
|
||||
errorDTO.setErrorReason("合同未完成");
|
||||
errorList.add(errorDTO);
|
||||
continue;
|
||||
}
|
||||
trainShopIdList.add(shopId);
|
||||
if (!ShopSubStageStatusEnum.SHOP_SUB_STAGE_STATUS_143.getShopSubStageStatus()
|
||||
.equals(stageMap.get(ShopSubStageEnum.SHOP_STAGE_14.getShopSubStage()).getShopSubStageStatus())) {
|
||||
OpeningOperationPlanDO openingOperationPlanDO = new OpeningOperationPlanDO();
|
||||
openingOperationPlanDO.setShopId(shopId);
|
||||
openingOperationPlanDO.setCreateTime(new Date());
|
||||
addOpeningOperationPlanDO.add(openingOperationPlanDO);
|
||||
}
|
||||
if (!ShopSubStageStatusEnum.SHOP_SUB_STAGE_STATUS_156.getShopSubStageStatus()
|
||||
.equals(stageMap.get(ShopSubStageEnum.SHOP_STAGE_15.getShopSubStage()).getShopSubStageStatus())) {
|
||||
ImportOaOldShopDataErrorDTO errorDTO = new ImportOaOldShopDataErrorDTO();
|
||||
errorDTO.setShopCode(shop.getShopCode());
|
||||
errorDTO.setErrorReason("建店资料未完成");
|
||||
errorList.add(errorDTO);
|
||||
continue;
|
||||
}
|
||||
buildShopIdList.add(shopId);
|
||||
if (!ShopSubStageStatusEnum.SHOP_SUB_STAGE_STATUS_173.getShopSubStageStatus()
|
||||
.equals(stageMap.get(ShopSubStageEnum.SHOP_STAGE_17.getShopSubStage()).getShopSubStageStatus())) {
|
||||
PosAndOrderInfoDO posDO = new PosAndOrderInfoDO();
|
||||
posDO.setShopId(shopId);
|
||||
posDO.setAccount("ZXA8_" + shop.getShopCode());
|
||||
posDO.setPassword("888888");
|
||||
posDO.setType(PosAndOrderEnum.ORDER.getCode());
|
||||
posDO.setRemark("已为您开通订货系统账号和密码,密码已加密,初始密码为888888,可通过加盟小程序修改密码!");
|
||||
posDO.setCreateTime(new Date());
|
||||
addPosAndOrderInfoList.add(posDO);
|
||||
}
|
||||
if (!ShopSubStageStatusEnum.SHOP_SUB_STAGE_STATUS_163.getShopSubStageStatus()
|
||||
.equals(stageMap.get(ShopSubStageEnum.SHOP_STAGE_16.getShopSubStage()).getShopSubStageStatus())) {
|
||||
PosAndOrderInfoDO posDO = new PosAndOrderInfoDO();
|
||||
posDO.setShopId(shopId);
|
||||
posDO.setAccount(lineMobileMap.get(shop.getLineId()));
|
||||
posDO.setType(PosAndOrderEnum.POS.getCode());
|
||||
posDO.setRemark("已为您开通POS系统账号和密码");
|
||||
posDO.setCreateTime(new Date());
|
||||
addPosAndOrderInfoList.add(posDO);
|
||||
}
|
||||
if (!ShopSubStageStatusEnum.SHOP_SUB_STAGE_STATUS_235.getShopSubStageStatus()
|
||||
.equals(stageMap.get(ShopSubStageEnum.SHOP_STAGE_23.getShopSubStage()).getShopSubStageStatus())) {
|
||||
PosAndOrderInfoDO posDO = new PosAndOrderInfoDO();
|
||||
posDO.setShopId(shopId);
|
||||
posDO.setAccount(shop.getShopCode());
|
||||
posDO.setType(PosAndOrderEnum.XIN_FA_SYS.getCode());
|
||||
posDO.setCreateTime(new Date());
|
||||
addPosAndOrderInfoList.add(posDO);
|
||||
}
|
||||
if (!ShopSubStageStatusEnum.SHOP_SUB_STAGE_STATUS_245.getShopSubStageStatus()
|
||||
.equals(stageMap.get(ShopSubStageEnum.SHOP_STAGE_24.getShopSubStage()).getShopSubStageStatus())
|
||||
&& !ShopSubStageStatusEnum.SHOP_SUB_STAGE_STATUS_244.getShopSubStageStatus()
|
||||
.equals(stageMap.get(ShopSubStageEnum.SHOP_STAGE_24.getShopSubStage()).getShopSubStageStatus())) {
|
||||
PosAndOrderInfoDO posDO = new PosAndOrderInfoDO();
|
||||
posDO.setShopId(shopId);
|
||||
posDO.setType(PosAndOrderEnum.TENT_PASS.getCode());
|
||||
posDO.setCreateTime(new Date());
|
||||
addPosAndOrderInfoList.add(posDO);
|
||||
}
|
||||
}
|
||||
if (flag) {
|
||||
//装修大阶段
|
||||
shopStageInfoDAO.dataUpdateStatus(trainShopIdList, ShopSubStageStatusEnum.SHOP_SUB_STAGE_STATUS_863);
|
||||
shopStageInfoDAO.dataUpdateStatus(trainShopIdList, ShopSubStageStatusEnum.SHOP_SUB_STAGE_STATUS_91);
|
||||
shopStageInfoDAO.dataUpdateStatus(trainShopIdList, ShopSubStageStatusEnum.SHOP_SUB_STAGE_STATUS_112);
|
||||
shopStageInfoDAO.dataUpdateStatus(trainShopIdList, ShopSubStageStatusEnum.SHOP_SUB_STAGE_STATUS_123);
|
||||
}
|
||||
//培训
|
||||
shopStageInfoDAO.dataUpdateStatus(trainShopIdList, ShopSubStageStatusEnum.SHOP_SUB_STAGE_STATUS_51);
|
||||
//开业方案
|
||||
shopStageInfoDAO.dataUpdateStatus(trainShopIdList, ShopSubStageStatusEnum.SHOP_SUB_STAGE_STATUS_143);
|
||||
//营帐通
|
||||
shopStageInfoDAO.dataUpdateStatus(buildShopIdList, ShopSubStageStatusEnum.SHOP_SUB_STAGE_STATUS_245);
|
||||
//新发
|
||||
shopStageInfoDAO.dataUpdateStatus(buildShopIdList, ShopSubStageStatusEnum.SHOP_SUB_STAGE_STATUS_235);
|
||||
//pos
|
||||
shopStageInfoDAO.dataUpdateStatus(buildShopIdList, ShopSubStageStatusEnum.SHOP_SUB_STAGE_STATUS_163);
|
||||
if (!errorList.isEmpty()) {
|
||||
task.setStatus(ImportTaskStatusEnum.ERROR.getCode());
|
||||
String url = null;
|
||||
try {
|
||||
url = easyExcelUtil.exportExcel(ImportOaOldShopDataErrorDTO.class, errorList, null,
|
||||
FileTypeEnum.IMPORT_OA_OLD_SHOP_STAGE_DATA_ERROR.getDesc() + DateUtils.parseDateToStr(SPECIAL_DATE_START_1, new Date()),
|
||||
FileTypeEnum.IMPORT_OA_OLD_SHOP_STAGE_DATA_ERROR.getDesc() + DateUtils.parseDateToStr(SPECIAL_DATE_START_1, new Date()));
|
||||
} catch (Exception e) {
|
||||
log.info("导出失败列表失败 errorList:{}", JSONObject.toJSONString(errorList));
|
||||
}
|
||||
task.setFileUrl(url);
|
||||
} else {
|
||||
task.setStatus(ImportTaskStatusEnum.SUCCESS.getCode());
|
||||
}
|
||||
task.setTotalNum(dataMapList.size());
|
||||
task.setSuccessNum(dataMapList.size() - errorList.size());
|
||||
importTaskMapper.update(eid, task);
|
||||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public Boolean decorationDataInit() {
|
||||
|
||||
//施工阶段
|
||||
List<ShopStageInfoDO> subStages = shopStageInfoDAO.getSubStages(ShopSubStageEnum.SHOP_STAGE_11.getShopSubStage());
|
||||
List<Long> allShopIds = acceptanceInfoDAO.getAllShopIds();
|
||||
//需要处理的门店
|
||||
List<Long> addShopIds = new ArrayList<>();
|
||||
for (ShopStageInfoDO subStage : subStages){
|
||||
if (ShopSubStageStatusEnum.SHOP_SUB_STAGE_STATUS_112.getShopSubStageStatus().equals(subStage.getShopSubStageStatus())){
|
||||
if (!allShopIds.contains(subStage.getShopId())){
|
||||
addShopIds.add(subStage.getShopId());
|
||||
}
|
||||
}
|
||||
}
|
||||
if (CollectionUtils.isEmpty(addShopIds)){
|
||||
throw new ServiceException(ErrorCodeEnum.PARAMS_VALIDATE_ERROR);
|
||||
}
|
||||
acceptanceInfoDAO.initAcceptanceInfo(addShopIds);
|
||||
return true;
|
||||
}
|
||||
|
||||
private static boolean check(ImportOaOldShopDataDTO dto, List<ImportOaOldShopDataErrorDTO> errorList) {
|
||||
if (StringUtil.isBlank(dto.getShopCode())) {
|
||||
ImportOaOldShopDataErrorDTO errorDTO = new ImportOaOldShopDataErrorDTO();
|
||||
errorDTO.setShopCode(dto.getShopCode());
|
||||
errorDTO.setErrorReason("门店编码不能为空");
|
||||
errorList.add(errorDTO);
|
||||
return false;
|
||||
}
|
||||
if (StringUtil.isBlank(dto.getShopName())){
|
||||
if (StringUtil.isBlank(dto.getShopName())) {
|
||||
ImportOaOldShopDataErrorDTO errorDTO = new ImportOaOldShopDataErrorDTO();
|
||||
errorDTO.setShopCode(dto.getShopCode());
|
||||
errorDTO.setErrorReason("门店名称不能为空");
|
||||
errorList.add(errorDTO);
|
||||
return false;
|
||||
}
|
||||
if (StringUtil.isBlank(dto.getProvince())){
|
||||
if (StringUtil.isBlank(dto.getProvince())) {
|
||||
ImportOaOldShopDataErrorDTO errorDTO = new ImportOaOldShopDataErrorDTO();
|
||||
errorDTO.setShopCode(dto.getShopCode());
|
||||
errorDTO.setErrorReason("省不能为空");
|
||||
errorList.add(errorDTO);
|
||||
return false;
|
||||
}
|
||||
if (StringUtil.isBlank(dto.getCity())){
|
||||
if (StringUtil.isBlank(dto.getCity())) {
|
||||
ImportOaOldShopDataErrorDTO errorDTO = new ImportOaOldShopDataErrorDTO();
|
||||
errorDTO.setShopCode(dto.getShopCode());
|
||||
errorDTO.setErrorReason("市不能为空");
|
||||
errorList.add(errorDTO);
|
||||
return false;
|
||||
}
|
||||
if (StringUtil.isBlank(dto.getDistrict())){
|
||||
if (StringUtil.isBlank(dto.getDistrict())) {
|
||||
ImportOaOldShopDataErrorDTO errorDTO = new ImportOaOldShopDataErrorDTO();
|
||||
errorDTO.setShopCode(dto.getShopCode());
|
||||
errorDTO.setErrorReason("区不能为空");
|
||||
errorList.add(errorDTO);
|
||||
return false;
|
||||
}
|
||||
if (StringUtil.isBlank(dto.getShopAddress())){
|
||||
if (StringUtil.isBlank(dto.getShopAddress())) {
|
||||
ImportOaOldShopDataErrorDTO errorDTO = new ImportOaOldShopDataErrorDTO();
|
||||
errorDTO.setShopCode(dto.getShopCode());
|
||||
errorDTO.setErrorReason("门店地址不能为空");
|
||||
errorList.add(errorDTO);
|
||||
return false;
|
||||
}
|
||||
if (StringUtil.isBlank(dto.getBuildEndTime())){
|
||||
if (StringUtil.isBlank(dto.getBuildEndTime())) {
|
||||
ImportOaOldShopDataErrorDTO errorDTO = new ImportOaOldShopDataErrorDTO();
|
||||
errorDTO.setShopCode(dto.getShopCode());
|
||||
errorDTO.setErrorReason("建店资料完成时间不能为空");
|
||||
errorList.add(errorDTO);
|
||||
return false;
|
||||
}
|
||||
if (StringUtil.isBlank(dto.getMonthRent())){
|
||||
if (StringUtil.isBlank(dto.getMonthRent())) {
|
||||
ImportOaOldShopDataErrorDTO errorDTO = new ImportOaOldShopDataErrorDTO();
|
||||
errorDTO.setShopCode(dto.getShopCode());
|
||||
errorDTO.setErrorReason("租金不能为空");
|
||||
errorList.add(errorDTO);
|
||||
return false;
|
||||
}
|
||||
if (StringUtil.isBlank(dto.getPointArea())){
|
||||
if (StringUtil.isBlank(dto.getPointArea())) {
|
||||
ImportOaOldShopDataErrorDTO errorDTO = new ImportOaOldShopDataErrorDTO();
|
||||
errorDTO.setShopCode(dto.getShopCode());
|
||||
errorDTO.setErrorReason("场地实际面积不能为空");
|
||||
errorList.add(errorDTO);
|
||||
return false;
|
||||
}
|
||||
if (StringUtil.isBlank(dto.getContractStartDate())){
|
||||
if (StringUtil.isBlank(dto.getContractStartDate())) {
|
||||
ImportOaOldShopDataErrorDTO errorDTO = new ImportOaOldShopDataErrorDTO();
|
||||
errorDTO.setShopCode(dto.getShopCode());
|
||||
errorDTO.setErrorReason("合同开始时间不能为空");
|
||||
errorList.add(errorDTO);
|
||||
return false;
|
||||
}
|
||||
if (StringUtil.isBlank(dto.getContractEndDate())){
|
||||
if (StringUtil.isBlank(dto.getContractEndDate())) {
|
||||
ImportOaOldShopDataErrorDTO errorDTO = new ImportOaOldShopDataErrorDTO();
|
||||
errorDTO.setShopCode(dto.getShopCode());
|
||||
errorDTO.setErrorReason("合同结束时间不能为空");
|
||||
errorList.add(errorDTO);
|
||||
return false;
|
||||
}
|
||||
if (StringUtil.isBlank(dto.getYearFranchiseFee())){
|
||||
if (StringUtil.isBlank(dto.getYearFranchiseFee())) {
|
||||
ImportOaOldShopDataErrorDTO errorDTO = new ImportOaOldShopDataErrorDTO();
|
||||
errorDTO.setShopCode(dto.getShopCode());
|
||||
errorDTO.setErrorReason("加盟费不能为空");
|
||||
errorList.add(errorDTO);
|
||||
return false;
|
||||
}
|
||||
if (StringUtil.isBlank(dto.getFirstYearManageFee())){
|
||||
if (StringUtil.isBlank(dto.getFirstYearManageFee())) {
|
||||
ImportOaOldShopDataErrorDTO errorDTO = new ImportOaOldShopDataErrorDTO();
|
||||
errorDTO.setShopCode(dto.getShopCode());
|
||||
errorDTO.setErrorReason("管理费 不能为空");
|
||||
errorList.add(errorDTO);
|
||||
return false;
|
||||
}
|
||||
if (StringUtil.isBlank(dto.getFirstYearFee())){
|
||||
if (StringUtil.isBlank(dto.getFirstYearFee())) {
|
||||
ImportOaOldShopDataErrorDTO errorDTO = new ImportOaOldShopDataErrorDTO();
|
||||
errorDTO.setShopCode(dto.getShopCode());
|
||||
errorDTO.setErrorReason("品牌使用管理费不能为空");
|
||||
errorList.add(errorDTO);
|
||||
return false;
|
||||
}
|
||||
if (StringUtil.isBlank(dto.getPerformanceBond())){
|
||||
if (StringUtil.isBlank(dto.getPerformanceBond())) {
|
||||
ImportOaOldShopDataErrorDTO errorDTO = new ImportOaOldShopDataErrorDTO();
|
||||
errorDTO.setShopCode(dto.getShopCode());
|
||||
errorDTO.setErrorReason("设计费不能为空");
|
||||
errorList.add(errorDTO);
|
||||
return false;
|
||||
return false;
|
||||
}
|
||||
if (StringUtil.isBlank(dto.getLoanMargin())){
|
||||
if (StringUtil.isBlank(dto.getLoanMargin())) {
|
||||
ImportOaOldShopDataErrorDTO errorDTO = new ImportOaOldShopDataErrorDTO();
|
||||
errorDTO.setShopCode(dto.getShopCode());
|
||||
errorDTO.setErrorReason("保证金不能为空");
|
||||
errorList.add(errorDTO);
|
||||
return false;
|
||||
}
|
||||
if (StringUtil.isBlank(dto.getDiscountReason())){
|
||||
if (StringUtil.isBlank(dto.getDiscountReason())) {
|
||||
ImportOaOldShopDataErrorDTO errorDTO = new ImportOaOldShopDataErrorDTO();
|
||||
errorDTO.setShopCode(dto.getShopCode());
|
||||
errorDTO.setErrorReason("加盟费优惠原因不能为空");
|
||||
errorList.add(errorDTO);
|
||||
return false;
|
||||
}
|
||||
if (StringUtil.isBlank(dto.getDeclareGoodsLogisticsWarehouseName())){
|
||||
if (StringUtil.isBlank(dto.getDeclareGoodsLogisticsWarehouseName())) {
|
||||
ImportOaOldShopDataErrorDTO errorDTO = new ImportOaOldShopDataErrorDTO();
|
||||
errorDTO.setShopCode(dto.getShopCode());
|
||||
errorDTO.setErrorReason("报货物流仓库不能为空");
|
||||
errorList.add(errorDTO);
|
||||
return false;
|
||||
}
|
||||
if (StringUtil.isBlank(dto.getContractCode())){
|
||||
if (StringUtil.isBlank(dto.getContractCode())) {
|
||||
ImportOaOldShopDataErrorDTO errorDTO = new ImportOaOldShopDataErrorDTO();
|
||||
errorDTO.setShopCode(dto.getShopCode());
|
||||
errorDTO.setErrorReason("合同编号不能为空");
|
||||
@@ -532,63 +719,67 @@ public class DataHandlerServerImpl implements DataHandlerServer {
|
||||
importOaOldShopDataDTO.setDistrict(String.valueOf(data.get("区")));
|
||||
importOaOldShopDataDTO.setShopAddress(String.valueOf(data.get("门店地址")));
|
||||
importOaOldShopDataDTO.setBuildEndTime(String.valueOf(data.get("建店资料完成时间")));
|
||||
if (Objects.nonNull(data.get("店面租金"))){
|
||||
importOaOldShopDataDTO.setMonthRent(String.valueOf(data.get("店面租金")));}
|
||||
if (Objects.nonNull(data.get("场地实际面积"))){
|
||||
importOaOldShopDataDTO.setPointArea(String.valueOf(data.get("场地实际面积")));}
|
||||
if (Objects.nonNull(data.get("签约人2姓名"))){
|
||||
importOaOldShopDataDTO.setPartnershipSignatorySecond(String.valueOf(data.get("签约人2姓名")));}
|
||||
if (Objects.nonNull(data.get("签约人2电话"))){
|
||||
importOaOldShopDataDTO.setPartnershipSignatorySecondMobile(String.valueOf(data.get("签约人2电话")));}
|
||||
if (Objects.nonNull(data.get("签约人2身份证号码"))){
|
||||
if (Objects.nonNull(data.get("店面租金"))) {
|
||||
importOaOldShopDataDTO.setMonthRent(String.valueOf(data.get("店面租金")));
|
||||
}
|
||||
if (Objects.nonNull(data.get("场地实际面积"))) {
|
||||
importOaOldShopDataDTO.setPointArea(String.valueOf(data.get("场地实际面积")));
|
||||
}
|
||||
if (Objects.nonNull(data.get("签约人2姓名"))) {
|
||||
importOaOldShopDataDTO.setPartnershipSignatorySecond(String.valueOf(data.get("签约人2姓名")));
|
||||
}
|
||||
if (Objects.nonNull(data.get("签约人2电话"))) {
|
||||
importOaOldShopDataDTO.setPartnershipSignatorySecondMobile(String.valueOf(data.get("签约人2电话")));
|
||||
}
|
||||
if (Objects.nonNull(data.get("签约人2身份证号码"))) {
|
||||
importOaOldShopDataDTO.setPartnershipSignatorySecondIdNumber(String.valueOf(data.get("签约人2身份证号码")));
|
||||
}
|
||||
if (Objects.nonNull(data.get("合同开始日期"))){
|
||||
if (Objects.nonNull(data.get("合同开始日期"))) {
|
||||
importOaOldShopDataDTO.setContractStartDate(String.valueOf(data.get("合同开始日期")));
|
||||
}
|
||||
if (Objects.nonNull(data.get("合同结束日期"))){
|
||||
if (Objects.nonNull(data.get("合同结束日期"))) {
|
||||
importOaOldShopDataDTO.setContractEndDate(String.valueOf(data.get("合同结束日期")));
|
||||
}
|
||||
if (Objects.nonNull(data.get("合同编号"))){
|
||||
if (Objects.nonNull(data.get("合同编号"))) {
|
||||
importOaOldShopDataDTO.setContractCode(String.valueOf(data.get("合同编号")));
|
||||
}
|
||||
if (Objects.nonNull(data.get("保护距离(米)"))){
|
||||
if (Objects.nonNull(data.get("保护距离(米)"))) {
|
||||
importOaOldShopDataDTO.setProtectionDistance(String.valueOf(data.get("保护距离(米)")));
|
||||
}
|
||||
if (Objects.nonNull(data.get("介绍人"))){
|
||||
if (Objects.nonNull(data.get("介绍人"))) {
|
||||
importOaOldShopDataDTO.setIntroducer(String.valueOf(data.get("介绍人")));
|
||||
}
|
||||
if (Objects.nonNull(data.get("介绍门店"))){
|
||||
if (Objects.nonNull(data.get("介绍门店"))) {
|
||||
importOaOldShopDataDTO.setIntroduceStore(String.valueOf(data.get("介绍门店")));
|
||||
}
|
||||
if (Objects.nonNull(data.get("介绍奖"))){
|
||||
if (Objects.nonNull(data.get("介绍奖"))) {
|
||||
importOaOldShopDataDTO.setIntroductionAward(String.valueOf(data.get("介绍奖")));
|
||||
}
|
||||
if (Objects.nonNull(data.get("报货物流仓库"))){
|
||||
if (Objects.nonNull(data.get("报货物流仓库"))) {
|
||||
importOaOldShopDataDTO.setDeclareGoodsLogisticsWarehouseName(String.valueOf(data.get("报货物流仓库")));
|
||||
}
|
||||
if (Objects.nonNull(data.get("收款公司民生银行账号"))){
|
||||
if (Objects.nonNull(data.get("收款公司民生银行账号"))) {
|
||||
importOaOldShopDataDTO.setReceivingMsBankAccount(String.valueOf(data.get("收款公司民生银行账号")));
|
||||
}
|
||||
if (Objects.nonNull(data.get("云流水账号"))){
|
||||
if (Objects.nonNull(data.get("云流水账号"))) {
|
||||
importOaOldShopDataDTO.setYlsAccount(String.valueOf(data.get("云流水账号")));
|
||||
}
|
||||
if (Objects.nonNull(data.get("加盟费"))){
|
||||
if (Objects.nonNull(data.get("加盟费"))) {
|
||||
importOaOldShopDataDTO.setYearFranchiseFee(String.valueOf(data.get("加盟费")));
|
||||
}
|
||||
if (Objects.nonNull(data.get("加盟费优惠原因"))){
|
||||
if (Objects.nonNull(data.get("加盟费优惠原因"))) {
|
||||
importOaOldShopDataDTO.setDiscountReason(String.valueOf(data.get("加盟费优惠原因")));
|
||||
}
|
||||
if (Objects.nonNull(data.get("管理费"))){
|
||||
if (Objects.nonNull(data.get("管理费"))) {
|
||||
importOaOldShopDataDTO.setFirstYearManageFee(String.valueOf(data.get("管理费")));
|
||||
}
|
||||
if (Objects.nonNull(data.get("设计费"))){
|
||||
if (Objects.nonNull(data.get("设计费"))) {
|
||||
importOaOldShopDataDTO.setPerformanceBond(String.valueOf(data.get("设计费")));
|
||||
}
|
||||
if (Objects.nonNull(data.get("保证金"))){
|
||||
if (Objects.nonNull(data.get("保证金"))) {
|
||||
importOaOldShopDataDTO.setLoanMargin(String.valueOf(data.get("保证金")));
|
||||
}
|
||||
if (Objects.nonNull(data.get("品牌使用管理费"))){
|
||||
if (Objects.nonNull(data.get("品牌使用管理费"))) {
|
||||
importOaOldShopDataDTO.setFirstYearFee(String.valueOf(data.get("品牌使用管理费")));
|
||||
}
|
||||
return importOaOldShopDataDTO;
|
||||
|
||||
@@ -388,10 +388,11 @@ public class DecorationServiceImpl implements DecorationService {
|
||||
return new PageInfo<>();
|
||||
}
|
||||
}
|
||||
// //判断是否是管理员
|
||||
// Boolean isAdmin = sysRoleService.checkIsAdmin(user.getUserId());
|
||||
PageHelper.startPage(request.getPageNum(), request.getPageSize());
|
||||
List<fitmentCheckVO> fitmentCheckVOList = new ArrayList<>();
|
||||
//shopId,lineid,regionid,shopname,storenum,
|
||||
|
||||
List<ShopInfoDO> shopInfoDOS = shopInfoMapper.selectShopListByRegionId(regions, ShopSubStageEnum.SHOP_STAGE_12.getShopSubStage(), request.getSubStageStatus(), null);
|
||||
PageInfo pageInfo = new PageInfo<>(shopInfoDOS);
|
||||
if (shopInfoDOS.isEmpty()) {
|
||||
|
||||
@@ -52,6 +52,8 @@ import static com.cool.store.utils.poi.DateUtils.YYYY_MM_DD_HH_MM_SS;
|
||||
@Service
|
||||
public class DeskServiceImpl implements DeskService {
|
||||
|
||||
@Resource
|
||||
private SignFranchiseDAO signFranchiseDAO;
|
||||
@Resource
|
||||
DecorationMeasureDAO decorationMeasureDAO;
|
||||
@Resource
|
||||
@@ -418,6 +420,8 @@ public class DeskServiceImpl implements DeskService {
|
||||
List<Long> lineIds = list.stream().map(PreparationCommonPendingVO::getLineId).collect(Collectors.toList());
|
||||
List<LineInfoDO> lineInfoDOS = lineInfoDAO.getByLineIds(lineIds);
|
||||
Map<Long, LineInfoDO> lineMap = lineInfoDOS.stream().collect(Collectors.toMap(LineInfoDO::getId, line -> line));
|
||||
List<SignFranchiseDO> signType = signFranchiseDAO.getSignType(shopIds);
|
||||
Map<Long,SignFranchiseDO> signTypeMap = signType.stream().collect(Collectors.toMap(SignFranchiseDO::getShopId, dto -> dto));
|
||||
|
||||
Set<Long> regionIdSet = list.stream().map(PreparationCommonPendingVO::getRegionId).collect(Collectors.toSet());
|
||||
Map<Long, String> regionNameMap = regionService.getBelongWarRegionNameMap(new ArrayList<>(regionIdSet));
|
||||
@@ -430,6 +434,8 @@ public class DeskServiceImpl implements DeskService {
|
||||
if (lineInfoDO == null) {
|
||||
continue;
|
||||
}
|
||||
SignFranchiseDO signFranchiseDO = signTypeMap.getOrDefault(preparationCommonPendingVO.getShopId(),new SignFranchiseDO());
|
||||
preparationCommonPendingVO.setSignType(signFranchiseDO.getSignType());
|
||||
preparationCommonPendingVO.setPartnerName(lineInfoDO.getUsername());
|
||||
preparationCommonPendingVO.setPartnerPhone(lineInfoDO.getMobile());
|
||||
preparationCommonPendingVO.setRegionNodeName(regionNameMap.getOrDefault(preparationCommonPendingVO.getRegionId(), ""));
|
||||
@@ -603,6 +609,8 @@ public class DeskServiceImpl implements DeskService {
|
||||
List<Long> lineIds = list.stream().map(PreparationCommonPendingVO::getLineId).collect(Collectors.toList());
|
||||
List<LineInfoDO> lineInfoDOS = lineInfoDAO.getByLineIds(lineIds);
|
||||
Map<Long, LineInfoDO> lineMap = lineInfoDOS.stream().collect(Collectors.toMap(LineInfoDO::getId, line -> line));
|
||||
List<SignFranchiseDO> signType = signFranchiseDAO.getSignType(shopIds);
|
||||
Map<Long,SignFranchiseDO> signTypeMap = signType.stream().collect(Collectors.toMap(SignFranchiseDO::getShopId, dto -> dto));
|
||||
|
||||
Set<Long> regionIdSet = list.stream().map(PreparationCommonPendingVO::getRegionId).collect(Collectors.toSet());
|
||||
Map<Long, String> regionNameMap = regionService.getBelongWarRegionNameMap(new ArrayList<>(regionIdSet));
|
||||
@@ -615,6 +623,7 @@ public class DeskServiceImpl implements DeskService {
|
||||
if (lineInfoDO == null) {
|
||||
continue;
|
||||
}
|
||||
preparationCommonPendingVO.setSignType(signTypeMap.getOrDefault(preparationCommonPendingVO.getShopId(), new SignFranchiseDO()).getSignType());
|
||||
preparationCommonPendingVO.setPartnerName(lineInfoDO.getUsername());
|
||||
preparationCommonPendingVO.setPartnerPhone(lineInfoDO.getMobile());
|
||||
preparationCommonPendingVO.setRegionNodeName(regionNameMap.getOrDefault(preparationCommonPendingVO.getRegionId(), ""));
|
||||
@@ -653,6 +662,8 @@ public class DeskServiceImpl implements DeskService {
|
||||
List<ShopInfoDO> shopInfoList = shopInfoDAO.getShopListByIds(shopIds);
|
||||
List<PlanLineDTO> lines = lineInfoDAO.getLines(lineIds);
|
||||
|
||||
List<SignFranchiseDO> signType = signFranchiseDAO.getSignType(shopIds);
|
||||
Map<Long,SignFranchiseDO> signTypeMap = signType.stream().collect(Collectors.toMap(SignFranchiseDO::getShopId, dto -> dto));
|
||||
//将shopInfoList 转为map
|
||||
Map<Long, ShopInfoDO> shopInfoMap = shopInfoList.stream().collect(Collectors.toMap(ShopInfoDO::getId, shop -> shop));
|
||||
//将lines 转为map
|
||||
@@ -682,6 +693,10 @@ public class DeskServiceImpl implements DeskService {
|
||||
preparationCommonPendingVO.setShopAddress(pointInfoDO.getAddress());
|
||||
}
|
||||
}
|
||||
SignFranchiseDO signFranchiseDO = signTypeMap.get(x.getShopId());
|
||||
if (signFranchiseDO != null) {
|
||||
preparationCommonPendingVO.setSignType(signFranchiseDO.getSignType());
|
||||
}
|
||||
preparationCommonPendingVO.setShopCode(shopInfoDO.getShopCode());
|
||||
preparationCommonPendingVO.setJoinMode(shopInfoDO.getJoinMode());
|
||||
preparationCommonPendingVO.setInvestmentManager(lineMap.getOrDefault(x.getLineId(), new PlanLineDTO()).getInvestmentManagerName());
|
||||
@@ -742,6 +757,9 @@ public class DeskServiceImpl implements DeskService {
|
||||
//将lines 转为map
|
||||
Map<Long, PlanLineDTO> lineMap = lines.stream().collect(Collectors.toMap(PlanLineDTO::getLineId, line -> line));
|
||||
|
||||
List<SignFranchiseDO> signType = signFranchiseDAO.getSignType(shopIds);
|
||||
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<String> developmentManagers = shopInfoList.stream().filter(x -> StringUtil.isNotEmpty(x.getShopManagerUserId())).map(ShopInfoDO::getShopManagerUserId).distinct().collect(Collectors.toList());
|
||||
Map<String, String> userNameMap = enterpriseUserDAO.getUserNameMap(developmentManagers);
|
||||
@@ -754,6 +772,7 @@ public class DeskServiceImpl implements DeskService {
|
||||
preparationCommonPendingVO.setStoreType(shopInfoDO.getStoreType());
|
||||
preparationCommonPendingVO.setJoinMode(shopInfoDO.getJoinMode());
|
||||
preparationCommonPendingVO.setShopAddress(shopInfoDO.getDetailAddress());
|
||||
preparationCommonPendingVO.setSignType(signTypeMap.getOrDefault(x.getShopId(), new SignFranchiseDO()).getSignType());
|
||||
preparationCommonPendingVO.setShopCode(shopInfoDO.getShopCode());
|
||||
preparationCommonPendingVO.setLineId(shopInfoDO.getLineId());
|
||||
preparationCommonPendingVO.setShopId(x.getShopId());
|
||||
|
||||
@@ -14,8 +14,10 @@ import com.cool.store.enums.*;
|
||||
import com.cool.store.enums.point.*;
|
||||
import com.cool.store.exception.ServiceException;
|
||||
import com.cool.store.mapper.*;
|
||||
import com.cool.store.request.FranchiseReportRequest;
|
||||
import com.cool.store.request.InitiatingRequest;
|
||||
import com.cool.store.response.BranchShopResponse;
|
||||
import com.cool.store.response.FranchiseReportResponse;
|
||||
import com.cool.store.service.*;
|
||||
import com.cool.store.utils.JSONUtils;
|
||||
import com.cool.store.utils.RedisUtilPool;
|
||||
@@ -413,7 +415,7 @@ public class ExportRealizeServiceImpl implements ExportRealizeService {
|
||||
Map<Long, FranchiseFeeDTO> franchiseFeeDTOMap = franchiseFees.stream().filter(o -> o.getShopId() != null)
|
||||
.collect(Collectors.toMap(FranchiseFeeDTO::getShopId, Function.identity()));
|
||||
Set<Long> lineIds = list.stream().map(BranchShopResponse::getLineId).collect(Collectors.toSet());
|
||||
List<LineInfoDO> lineInfoDOS = lineInfoDAO.getByLineIds( new ArrayList<>(lineIds));
|
||||
List<LineInfoDO> lineInfoDOS = lineInfoDAO.getByLineIds(new ArrayList<>(lineIds));
|
||||
Map<Long, LineInfoDO> lineMap = lineInfoDOS.stream().collect(Collectors.toMap(LineInfoDO::getId, Function.identity()));
|
||||
List<QualificationsInfoDO> qualificationsInfoDOList = qualificationsInfoDAO.getByLineIds(new ArrayList<>(lineIds));
|
||||
Map<Long, QualificationsInfoDO> qualificationsInfoDOMap = qualificationsInfoDOList.stream().collect(Collectors.toMap(QualificationsInfoDO::getLineId, Function.identity()));
|
||||
@@ -627,6 +629,24 @@ public class ExportRealizeServiceImpl implements ExportRealizeService {
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void exportZxjpOpenShopReport(List<FranchiseReportResponse> list, ImportTaskDO importTaskDO, FranchiseReportRequest request) {
|
||||
String url = "";
|
||||
try {
|
||||
url = easyExcelUtil.exportExcelSpecial(FranchiseReportResponse.class, list, null,
|
||||
FileTypeEnum.ZXJP_OPEN_SHOP_REPORT.getDesc() + DateUtils.parseDateToStr(SPECIAL_DATE_START_1, new Date()),
|
||||
FileTypeEnum.ZXJP_OPEN_SHOP_REPORT.getDesc() + DateUtils.parseDateToStr(SPECIAL_DATE_START_1, new Date()),
|
||||
"建店资料完成日期:",request.getBuildStartTime(),request.getBuildEndTime());
|
||||
} catch (Throwable e) {
|
||||
log.error("fileUpload upload err, originFileName={}", FileTypeEnum.ZXJP_OPEN_SHOP_REPORT.getDesc(), e);
|
||||
throw new ServiceException(ErrorCodeEnum.INTERNAL_SERVER_ERROR);
|
||||
} finally {
|
||||
importTaskDO.setStatus(ImportStatusEnum.success.getCode());
|
||||
importTaskDO.setFileUrl(url);
|
||||
importTaskMapper.update(eid, importTaskDO);
|
||||
}
|
||||
}
|
||||
|
||||
private String toString(Object o) {
|
||||
if (o == null) {
|
||||
return "";
|
||||
|
||||
@@ -19,6 +19,7 @@ import com.cool.store.mapper.ImportTaskMapper;
|
||||
import com.cool.store.mapper.PointInfoMapper;
|
||||
import com.cool.store.request.*;
|
||||
import com.cool.store.response.BranchShopResponse;
|
||||
import com.cool.store.response.FranchiseReportResponse;
|
||||
import com.cool.store.service.*;
|
||||
import com.cool.store.utils.easyExcel.EasyExcelUtil;
|
||||
import com.cool.store.utils.poi.DateUtils;
|
||||
@@ -71,6 +72,9 @@ public class ExportServiceImpl implements ExportService {
|
||||
private ShopInfoDAO shopInfoDAO;
|
||||
@Autowired
|
||||
private ShopService shopService;
|
||||
@Resource
|
||||
private FranchiseReportService franchiseReportService;
|
||||
|
||||
|
||||
|
||||
@Override
|
||||
@@ -109,7 +113,7 @@ public class ExportServiceImpl implements ExportService {
|
||||
if (total == CommonConstants.ZERO) {
|
||||
return CommonConstants.ZERO_LONG;
|
||||
} else if (total > CommonConstants.FIVE_SECONDS) {
|
||||
throw new ServiceException(ErrorCodeEnum.EXPORT_LIMIT_5000);
|
||||
throw new ServiceException(ErrorCodeEnum.EXPORT_LIMIT_5000);
|
||||
}
|
||||
ImportTaskDO importTaskDO = new ImportTaskDO();
|
||||
importTaskDO.setStatus(ImportStatusEnum.Ongoing.getCode());
|
||||
@@ -137,5 +141,25 @@ public class ExportServiceImpl implements ExportService {
|
||||
return total;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Long exportZxjpOpenShopReport(FranchiseReportRequest request, LoginUserInfo user) {
|
||||
List<FranchiseReportResponse> franchiseReport = franchiseReportService.zxjpOpenShopReport(request);
|
||||
if (CollectionUtils.isEmpty(franchiseReport)){
|
||||
log.error("导出数据为空");
|
||||
return 0L;
|
||||
}
|
||||
ImportTaskDO importTaskDO = new ImportTaskDO();
|
||||
importTaskDO.setStatus(ImportStatusEnum.Ongoing.getCode());
|
||||
importTaskDO.setFileName(FileTypeEnum.ZXJP_OPEN_SHOP_REPORT.getDesc() + DateUtils.parseDateToStr(DateUtils.SPECIAL_DATE_START_1, new Date()));
|
||||
importTaskDO.setIsImport(Boolean.FALSE);
|
||||
importTaskDO.setFileType(FileTypeEnum.ZXJP_OPEN_SHOP_REPORT.getFileType());
|
||||
importTaskDO.setCreateUserId(user.getUserId());
|
||||
importTaskDO.setCreateTime(new Date().getTime());
|
||||
importTaskDO.setCreateName(user.getName());
|
||||
importTaskMapper.insert(eid, importTaskDO);
|
||||
exportRealizeService.exportZxjpOpenShopReport(franchiseReport, importTaskDO,request);
|
||||
return (long) franchiseReport.size();
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
@@ -0,0 +1,187 @@
|
||||
package com.cool.store.service.impl;
|
||||
|
||||
import com.cool.store.dao.BigRegionDAO;
|
||||
import com.cool.store.dao.FranchiseFeeDAO;
|
||||
import com.cool.store.dao.ShopInfoDAO;
|
||||
import com.cool.store.dto.FranchiseReportDTO;
|
||||
import com.cool.store.entity.BigRegionDO;
|
||||
import com.cool.store.entity.FranchiseFeeDO;
|
||||
import com.cool.store.enums.ErrorCodeEnum;
|
||||
import com.cool.store.enums.StoreTypeEnum;
|
||||
import com.cool.store.exception.ServiceException;
|
||||
import com.cool.store.mapper.FranchiseFeeMapper;
|
||||
import com.cool.store.request.FranchiseReportRequest;
|
||||
import com.cool.store.response.FranchiseReportResponse;
|
||||
import com.cool.store.service.FranchiseReportService;
|
||||
import com.cool.store.utils.poi.StringUtils;
|
||||
import com.github.pagehelper.PageInfo;
|
||||
import groovy.util.logging.Log4j;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.apache.commons.collections4.CollectionUtils;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import java.math.BigDecimal;
|
||||
import java.time.LocalDate;
|
||||
import java.time.LocalDateTime;
|
||||
import java.time.format.DateTimeFormatter;
|
||||
import java.util.*;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
/**
|
||||
* @Author: WangShuo
|
||||
* @Date: 2025/05/13/15:22
|
||||
* @Version 1.0
|
||||
* @注释:
|
||||
*/
|
||||
@Slf4j
|
||||
@Service
|
||||
public class FranchiseReportServiceImpl implements FranchiseReportService {
|
||||
@Resource
|
||||
private BigRegionDAO bigRegionDAO;
|
||||
@Resource
|
||||
private ShopInfoDAO shopInfoDAO;
|
||||
@Resource
|
||||
private FranchiseFeeMapper franchiseFeeMapper;
|
||||
|
||||
@Override
|
||||
public List<FranchiseReportResponse> zxjpOpenShopReport(FranchiseReportRequest request) {
|
||||
if (StringUtils.isBlank(request.getBuildStartTime()) || StringUtils.isBlank(request.getBuildEndTime())) {
|
||||
throw new ServiceException(ErrorCodeEnum.TIME_NULL_FALSE);
|
||||
}
|
||||
//集团查大区
|
||||
List<Long> regionIdByGroupName = bigRegionDAO.getRegionIdByGroupName(request.getJoinGroupName());
|
||||
if (CollectionUtils.isNotEmpty(regionIdByGroupName)) {
|
||||
if (CollectionUtils.isEmpty(request.getRegionIds())) {
|
||||
request.setRegionIds(regionIdByGroupName);
|
||||
} else {
|
||||
request.getRegionIds().retainAll(regionIdByGroupName);
|
||||
if (CollectionUtils.isEmpty(request.getRegionIds())){
|
||||
throw new ServiceException(ErrorCodeEnum.REGION_INTERSECTION_IS_NULL);
|
||||
}
|
||||
}
|
||||
}
|
||||
List<FranchiseReportDTO> shopFranchiseReportList = shopInfoDAO.getShopFranchiseReportList(request);
|
||||
if (CollectionUtils.isEmpty(shopFranchiseReportList)) {
|
||||
log.info("查询门店数据为空");
|
||||
return null;
|
||||
}
|
||||
List<Long> shopIds = shopFranchiseReportList.stream().map(FranchiseReportDTO::getShopId).collect(Collectors.toList());
|
||||
Set<Long> regionSet = shopFranchiseReportList.stream().map(FranchiseReportDTO::getRegionId).collect(Collectors.toSet());
|
||||
//加盟费账单
|
||||
List<FranchiseFeeDO> franchiseFeeList = franchiseFeeMapper.getFranchiseFeeByShopIds(shopIds);
|
||||
Map<Long, FranchiseFeeDO> franchiseFeeMap = franchiseFeeList.stream().collect(Collectors.toMap(FranchiseFeeDO::getShopId, franchiseFeeDO -> franchiseFeeDO));
|
||||
List<BigRegionDO> bigRegionDOList = bigRegionDAO.getByRegionIdList(new ArrayList<>(regionSet));
|
||||
Map<Long, BigRegionDO> bigRegionDOMap = bigRegionDOList.stream().collect(Collectors.toMap(BigRegionDO::getRegionId, bigRegionDO -> bigRegionDO));
|
||||
Map<Long, FranchiseReportResponse> responseByRegionIdMap = new HashMap<>();
|
||||
|
||||
for (FranchiseReportDTO shopFranchiseReportDTO : shopFranchiseReportList) {
|
||||
FranchiseReportResponse response = responseByRegionIdMap.get(shopFranchiseReportDTO.getRegionId());
|
||||
if (response == null) {
|
||||
response = new FranchiseReportResponse();
|
||||
response.setRegionId(shopFranchiseReportDTO.getRegionId());
|
||||
response.setRegionName(bigRegionDOMap.getOrDefault(shopFranchiseReportDTO.getRegionId(), new BigRegionDO()).getRegionName());
|
||||
String groupName = bigRegionDOMap.getOrDefault(shopFranchiseReportDTO.getRegionId(), new BigRegionDO()).getGroupName();
|
||||
if (StringUtils.isBlank(groupName)) {
|
||||
continue;
|
||||
}
|
||||
response.setJoinGroupName(groupName);
|
||||
}
|
||||
if (StoreTypeEnum.NO_SHOW_STORE.getCode().equals(shopFranchiseReportDTO.getStoreType())) {
|
||||
response.setNoShowStoreNum(response.getNoShowStoreNum() + 1);
|
||||
} else if (StoreTypeEnum.ORDINARY_STORE.getCode().equals(shopFranchiseReportDTO.getStoreType())) {
|
||||
response.setNormalStoreNum(response.getNormalStoreNum() + 1);
|
||||
} else if (StoreTypeEnum.RESTAURANT_STORE.getCode().equals(shopFranchiseReportDTO.getStoreType())) {
|
||||
response.setRestaurantStoreNum(response.getRestaurantStoreNum() + 1);
|
||||
}
|
||||
response.setStoreNum(response.getStoreNum() + 1);
|
||||
FranchiseFeeDO franchiseFeeDO = franchiseFeeMap.get(shopFranchiseReportDTO.getShopId());
|
||||
if (franchiseFeeDO != null) {
|
||||
response.setFranchiseFeeTotal(response.getFranchiseFeeTotal().add(new BigDecimal(franchiseFeeDO.getYearFranchiseFee())));
|
||||
response.setLoanMarginTotal(response.getLoanMarginTotal().add(new BigDecimal(franchiseFeeDO.getLoanMargin())));
|
||||
response.setFirstYearManagementFeeTotal(response.getFirstYearManagementFeeTotal().add(new BigDecimal(franchiseFeeDO.getFirstYearManageFee())));
|
||||
response.setFirstYearBrandingFeeTotal(response.getFirstYearBrandingFeeTotal().add(new BigDecimal(franchiseFeeDO.getFirstYearFee())));
|
||||
response.setPerformanceBondTotal(response.getPerformanceBondTotal().add(new BigDecimal(franchiseFeeDO.getPerformanceBond())));
|
||||
response.setManagementBrandingDesignFeeTotal(response.getManagementBrandingDesignFeeTotal()
|
||||
.add(new BigDecimal(franchiseFeeDO.getFirstYearManageFee()))
|
||||
.add(new BigDecimal(franchiseFeeDO.getFirstYearFee()))
|
||||
.add(new BigDecimal(franchiseFeeDO.getPerformanceBond())));
|
||||
}
|
||||
responseByRegionIdMap.put(shopFranchiseReportDTO.getRegionId(), response);
|
||||
}
|
||||
FranchiseReportRequest yesterdayRequest = new FranchiseReportRequest();
|
||||
yesterdayRequest.setRegionIds(request.getRegionIds());
|
||||
yesterdayRequest.setStoreTypes(request.getStoreTypes());
|
||||
LocalDate now = LocalDate.now();
|
||||
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
|
||||
//昨日 00:00:00
|
||||
LocalDateTime yesterdayStartDate = now.minusDays(1).atStartOfDay();
|
||||
String yesterdayStartTime = yesterdayStartDate.format(formatter);
|
||||
//昨日 23:59:59
|
||||
LocalDateTime yesterdayEndDate = now.minusDays(1).atTime(23, 59, 59);
|
||||
String yesterdayEndTime = yesterdayEndDate.format(formatter);
|
||||
yesterdayRequest.setBuildStartTime(yesterdayStartTime);
|
||||
yesterdayRequest.setBuildEndTime(yesterdayEndTime);
|
||||
List<FranchiseReportDTO> yesterdayShopFranchiseReportList = shopInfoDAO.getShopFranchiseReportList(yesterdayRequest);
|
||||
DateTimeFormatter formatter1 = DateTimeFormatter.ofPattern("yyyy-MM-dd");
|
||||
if (CollectionUtils.isNotEmpty(yesterdayShopFranchiseReportList)) {
|
||||
Map<Long, List<FranchiseReportDTO>> yesterdayMap = yesterdayShopFranchiseReportList.stream().collect(Collectors.groupingBy(FranchiseReportDTO::getRegionId));
|
||||
for (Long regionId : responseByRegionIdMap.keySet()) {
|
||||
FranchiseReportResponse response = responseByRegionIdMap.get(regionId);
|
||||
if (Objects.isNull(response)) {
|
||||
continue;
|
||||
}
|
||||
List<FranchiseReportDTO> yesterdayList = yesterdayMap.get(regionId);
|
||||
response.setYesterdayDate(yesterdayStartDate.format(formatter1));
|
||||
response.setYesterdayStoreNum(CollectionUtils.isEmpty(yesterdayList) ? 0 : yesterdayList.size());
|
||||
responseByRegionIdMap.put(regionId, response);
|
||||
}
|
||||
}
|
||||
|
||||
List<FranchiseReportResponse> list = new ArrayList<>(responseByRegionIdMap.values());
|
||||
if (CollectionUtils.isEmpty(list)) {
|
||||
log.info("数据为空");
|
||||
return Collections.emptyList();
|
||||
}
|
||||
sortByName(list);
|
||||
return list;
|
||||
}
|
||||
|
||||
public static void sortByName(List<FranchiseReportResponse> list) {
|
||||
list.sort(Comparator.comparingInt(f -> extractNumberFromName(f.getJoinGroupName())));
|
||||
}
|
||||
|
||||
private static int extractNumberFromName(String name) {
|
||||
try {
|
||||
|
||||
if (name.contains("第一加盟集团")) {
|
||||
return 1;
|
||||
}
|
||||
if (name.contains("第二加盟集团")) {
|
||||
return 2;
|
||||
}
|
||||
if (name.contains("第三加盟集团")) {
|
||||
return 3;
|
||||
}
|
||||
if (name.contains("第四加盟集团")) {
|
||||
return 4;
|
||||
}
|
||||
if (name.contains("第五加盟集团")) {
|
||||
return 5;
|
||||
}
|
||||
if (name.contains("第六加盟集团")) {
|
||||
return 6;
|
||||
}
|
||||
if (name.contains("第七加盟集团")) {
|
||||
return 7;
|
||||
}
|
||||
if (name.contains("第八加盟集团")) {
|
||||
return 8;
|
||||
}
|
||||
return Integer.MAX_VALUE;
|
||||
} catch (Exception e) {
|
||||
return Integer.MAX_VALUE;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -9,10 +9,12 @@ import com.cool.store.enums.point.ShopSubStageEnum;
|
||||
import com.cool.store.enums.point.ShopSubStageStatusEnum;
|
||||
import com.cool.store.exception.ServiceException;
|
||||
import com.cool.store.mapper.FranchiseFeeMapper;
|
||||
import com.cool.store.mapper.SignFranchiseMapper;
|
||||
import com.cool.store.request.AuditRequest;
|
||||
import com.cool.store.request.OrderSysInfoRequest;
|
||||
import com.cool.store.service.OperationLogService;
|
||||
import com.cool.store.service.OrderSysInfoService;
|
||||
import com.cool.store.service.SignFranchiseService;
|
||||
import com.cool.store.service.UserAuthMappingService;
|
||||
import com.cool.store.utils.poi.StringUtils;
|
||||
import org.apache.commons.collections4.CollectionUtils;
|
||||
@@ -73,7 +75,8 @@ public class OrderSysInfoServiceImpl implements OrderSysInfoService {
|
||||
String curUserId = user.getUserId();
|
||||
String curName = user.getName();
|
||||
//参数校验
|
||||
if (!request.check()) {
|
||||
ShopInfoDO shopInfo = shopInfoDAO.getShopInfo(request.getShopId());
|
||||
if (!request.check(shopInfo.getJoinMode())) {
|
||||
throw new ServiceException(ErrorCodeEnum.THE_DATA_IS_NOT_FILLED);
|
||||
}
|
||||
OrderSysInfoDO orderSysInfoDO = orderSysInfoDAO.selectByShopId(request.getShopId());
|
||||
@@ -105,7 +108,12 @@ public class OrderSysInfoServiceImpl implements OrderSysInfoService {
|
||||
map.put("partnerUsername", lineInfoDO.getUsername());
|
||||
map.put("partnerMobile", lineInfoDO.getMobile());
|
||||
map.put("storeName", shopInfoDO.getShopName());
|
||||
List<EnterpriseUserDO> itList = userAuthMappingService.getAllUserByRoleEnumAndRegionId(UserRoleEnum.FINANCE, shopInfoDO.getRegionId());
|
||||
//自有店财务
|
||||
UserRoleEnum finance = UserRoleEnum.FINANCE;
|
||||
if (JoinModeEnum.OWN_STORE.equals(shopInfo.getJoinMode())){
|
||||
finance = UserRoleEnum.OWN_SHOP_OFFICE;
|
||||
}
|
||||
List<EnterpriseUserDO> itList = userAuthMappingService.getAllUserByRoleEnumAndRegionId(finance, shopInfoDO.getRegionId());
|
||||
List<String> itUsers = new ArrayList<>();
|
||||
if (Objects.nonNull(itList)) {
|
||||
itUsers.addAll(itList.stream().map(EnterpriseUserDO::getUserId).collect(Collectors.toList()));
|
||||
|
||||
@@ -3,8 +3,10 @@ package com.cool.store.service.impl;
|
||||
|
||||
import com.cool.store.dao.EnterpriseUserDAO;
|
||||
import com.cool.store.dao.PosAndOrderInfoDAO;
|
||||
import com.cool.store.dao.ShopInfoDAO;
|
||||
import com.cool.store.dao.ShopStageInfoDAO;
|
||||
import com.cool.store.entity.PosAndOrderInfoDO;
|
||||
import com.cool.store.entity.ShopInfoDO;
|
||||
import com.cool.store.entity.ShopStageInfoDO;
|
||||
import com.cool.store.enums.ErrorCodeEnum;
|
||||
import com.cool.store.enums.PosAndOrderEnum;
|
||||
@@ -32,6 +34,8 @@ import java.util.Objects;
|
||||
@Service
|
||||
public class PosAndOrderInfoServiceImpl implements PosAndOrderInfoService {
|
||||
|
||||
@Resource
|
||||
private ShopInfoDAO shopInfoDAO;
|
||||
@Resource
|
||||
private PosAndOrderInfoDAO posAndOrderInfoDAO;
|
||||
@Autowired
|
||||
@@ -68,6 +72,7 @@ public class PosAndOrderInfoServiceImpl implements PosAndOrderInfoService {
|
||||
public PosAndOrderResponse get(Long shopId, Integer type) {
|
||||
PosAndOrderResponse response = new PosAndOrderResponse();
|
||||
PosAndOrderInfoDO posAndOrderInfoDO = posAndOrderInfoDAO.selectOneByShopId(shopId, type);
|
||||
ShopInfoDO shopInfo = shopInfoDAO.getShopInfo(shopId);
|
||||
if (Objects.nonNull(posAndOrderInfoDO)) {
|
||||
response.setShopId(posAndOrderInfoDO.getShopId());
|
||||
response.setAccount(posAndOrderInfoDO.getAccount());
|
||||
@@ -77,6 +82,9 @@ public class PosAndOrderInfoServiceImpl implements PosAndOrderInfoService {
|
||||
response.setCreateTime(posAndOrderInfoDO.getCreateTime());
|
||||
response.setCreateUser(enterpriseUserDAO.getUserName(posAndOrderInfoDO.getCreateUser()));
|
||||
}
|
||||
else{
|
||||
response.setAccount(shopInfo.getShopCode());
|
||||
}
|
||||
return response;
|
||||
}
|
||||
|
||||
|
||||
@@ -218,7 +218,7 @@ public class SyncDataServiceImpl implements SyncDataService {
|
||||
request.setShopProvince(pointInfo.getProvince());
|
||||
request.setShopCity(pointInfo.getCity());
|
||||
}
|
||||
|
||||
log.info("/pushData 数据 :{}",JSONObject.toJSONString(request));
|
||||
return request;
|
||||
}
|
||||
|
||||
|
||||
@@ -3,6 +3,9 @@ package com.cool.store.utils.easyExcel;
|
||||
import cn.hutool.core.date.DateUtil;
|
||||
import com.alibaba.excel.EasyExcel;
|
||||
import com.alibaba.excel.write.style.row.SimpleRowHeightStyleStrategy;
|
||||
|
||||
import com.cool.store.handler.CenterAlignHandler;
|
||||
import com.cool.store.handler.ImplProgressReportSheetWriteHandler;
|
||||
import com.cool.store.mapper.ImportTaskMapper;
|
||||
import com.cool.store.oss.OssClientService;
|
||||
import com.cool.store.utils.UUIDUtils;
|
||||
@@ -42,24 +45,51 @@ public class EasyExcelUtil {
|
||||
* @throws IOException 异常捕获
|
||||
*/
|
||||
public String exportExcel( Class head, List list, Set<String> set, String sheetName, String fileName) throws Exception {
|
||||
ByteArrayOutputStream outputStream = new ByteArrayOutputStream();
|
||||
if (set == null) {
|
||||
EasyExcel.write(outputStream, head)
|
||||
.autoCloseStream(true)
|
||||
.registerWriteHandler(new SimpleRowHeightStyleStrategy((short)25,(short)25))
|
||||
.sheet(sheetName)
|
||||
.doWrite(list);
|
||||
} else {
|
||||
EasyExcel.write(outputStream, head).autoCloseStream(true).includeColumnFiledNames(set).sheet(sheetName)
|
||||
.doWrite(list);
|
||||
}
|
||||
byte[] bytes = outputStream.toByteArray();
|
||||
long size = bytes.length;
|
||||
InputStream is = new ByteArrayInputStream(bytes);
|
||||
if (StringUtils.isNotBlank(fileName) && fileName.contains(".")) {
|
||||
fileName = fileName.substring(0, fileName.lastIndexOf("."));
|
||||
}
|
||||
String file = getUploadPath(eid) + fileName + "_" + UUIDUtils.get32UUID() + EXCEL_SUFFIX;
|
||||
ByteArrayOutputStream outputStream = new ByteArrayOutputStream();
|
||||
if (set == null) {
|
||||
EasyExcel.write(outputStream, head)
|
||||
.autoCloseStream(true)
|
||||
.registerWriteHandler(new SimpleRowHeightStyleStrategy((short)25,(short)25))
|
||||
.sheet(sheetName)
|
||||
.doWrite(list);
|
||||
} else {
|
||||
EasyExcel.write(outputStream, head).autoCloseStream(true).includeColumnFiledNames(set).sheet(sheetName)
|
||||
.doWrite(list);
|
||||
}
|
||||
byte[] bytes = outputStream.toByteArray();
|
||||
long size = bytes.length;
|
||||
InputStream is = new ByteArrayInputStream(bytes);
|
||||
if (StringUtils.isNotBlank(fileName) && fileName.contains(".")) {
|
||||
fileName = fileName.substring(0, fileName.lastIndexOf("."));
|
||||
}
|
||||
String file = getUploadPath(eid) + fileName + "_" + UUIDUtils.get32UUID() + EXCEL_SUFFIX;
|
||||
return ossClientService.putObject(file, is, size, CONTENT_TYPE);
|
||||
|
||||
}
|
||||
|
||||
//表头从第二行开始,第一行显示日期
|
||||
public String exportExcelSpecial( Class head, List list, Set<String> set, String sheetName, String fileName,String firstTitle,String startTime,String endTime) throws Exception {
|
||||
ByteArrayOutputStream outputStream = new ByteArrayOutputStream();
|
||||
if (set == null) {
|
||||
EasyExcel.write(outputStream)
|
||||
.head(head)
|
||||
.autoCloseStream(true)
|
||||
.registerWriteHandler( new ImplProgressReportSheetWriteHandler(firstTitle+" "+startTime+" 至 "+endTime))
|
||||
.registerWriteHandler(new CenterAlignHandler())
|
||||
.sheet(sheetName)
|
||||
.useDefaultStyle(false).relativeHeadRowIndex(2)
|
||||
.doWrite(list);
|
||||
} else {
|
||||
EasyExcel.write(outputStream, head).autoCloseStream(true).includeColumnFiledNames(set).sheet(sheetName)
|
||||
.doWrite(list);
|
||||
}
|
||||
byte[] bytes = outputStream.toByteArray();
|
||||
long size = bytes.length;
|
||||
InputStream is = new ByteArrayInputStream(bytes);
|
||||
if (StringUtils.isNotBlank(fileName) && fileName.contains(".")) {
|
||||
fileName = fileName.substring(0, fileName.lastIndexOf("."));
|
||||
}
|
||||
String file = getUploadPath(eid) + fileName + "_" + UUIDUtils.get32UUID() + EXCEL_SUFFIX;
|
||||
return ossClientService.putObject(file, is, size, CONTENT_TYPE);
|
||||
|
||||
}
|
||||
|
||||
@@ -3,6 +3,7 @@ package com.cool.store.controller.webb;
|
||||
import com.cool.store.dto.content.ContentQueryDetailDto;
|
||||
import com.cool.store.dto.region.BigRegionDTO;
|
||||
import com.cool.store.entity.HyContentInfoDO;
|
||||
import com.cool.store.request.QueryBigRegionRequest;
|
||||
import com.cool.store.response.ResponseResult;
|
||||
import com.cool.store.service.BigRegionService;
|
||||
import io.swagger.annotations.Api;
|
||||
@@ -31,5 +32,10 @@ public class BigRegionController {
|
||||
return ResponseResult.success(bigRegionService.queryAllBigRegion(keyword));
|
||||
}
|
||||
|
||||
@PostMapping("/queryBigRegion")
|
||||
@ApiOperation("获取可选择的大区joinMode = 0")
|
||||
public ResponseResult<List<BigRegionDTO>> queryBigRegion(@RequestBody QueryBigRegionRequest queryBigRegionRequest) {
|
||||
return ResponseResult.success(bigRegionService.queryBigRegion(queryBigRegionRequest));
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -13,9 +13,7 @@ import io.swagger.annotations.Api;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.beans.factory.annotation.Value;
|
||||
import org.springframework.web.bind.annotation.PostMapping;
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
import org.springframework.web.bind.annotation.RestController;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
import org.springframework.web.multipart.MultipartFile;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
@@ -43,6 +41,7 @@ public class DataHandlerController {
|
||||
|
||||
@Value("${mybatis.configuration.variables.enterpriseId}")
|
||||
private String eid;
|
||||
|
||||
@PostMapping("/importOaOldShopData")
|
||||
@ApiOperation("导入OA旧数据")
|
||||
public ResponseResult<Boolean> importOaOldShopData(MultipartFile file) {
|
||||
@@ -53,7 +52,7 @@ public class DataHandlerController {
|
||||
log.error("read file error:", e);
|
||||
}
|
||||
assert reader != null;
|
||||
log.info("----------------------:{}",file.getOriginalFilename());
|
||||
log.info("----------------------:{}", file.getOriginalFilename());
|
||||
List<Map<String, Object>> dataMapList = reader.read(0, 1, Integer.MAX_VALUE);
|
||||
ImportTaskDO importTaskDO = new ImportTaskDO();
|
||||
importTaskDO.setFileName(file.getOriginalFilename());
|
||||
@@ -63,10 +62,41 @@ public class DataHandlerController {
|
||||
importTaskDO.setCreateUserId(CurrentUserHolder.getUserId());
|
||||
importTaskDO.setCreateName(CurrentUserHolder.getUser().getName());
|
||||
importTaskDO.setCreateTime(System.currentTimeMillis());
|
||||
importTaskMapper.insert(eid ,importTaskDO);
|
||||
importTaskMapper.insert(eid, importTaskDO);
|
||||
dataHandlerServer.importOaOldShopData(dataMapList, file.getOriginalFilename(), CurrentUserHolder.getUser(), importTaskDO);
|
||||
return ResponseResult.success(true);
|
||||
}
|
||||
|
||||
@PostMapping("/dataStageHandler")
|
||||
@ApiOperation("阶段处理")
|
||||
public ResponseResult<Boolean> importOaOldShopData(MultipartFile file, @RequestParam("flag") Boolean flag) {
|
||||
ExcelReader reader = null;
|
||||
try {
|
||||
reader = ExcelUtil.getReader(file.getInputStream());
|
||||
} catch (IOException e) {
|
||||
log.error("read file error:", e);
|
||||
}
|
||||
assert reader != null;
|
||||
log.info("----------------------:{}", file.getOriginalFilename());
|
||||
List<Map<String, Object>> dataMapList = reader.read(0, 1, Integer.MAX_VALUE);
|
||||
ImportTaskDO importTaskDO = new ImportTaskDO();
|
||||
importTaskDO.setFileName(file.getOriginalFilename());
|
||||
importTaskDO.setFileType(FileTypeEnum.IMPORT_OA_OLD_SHOP_STAGE_DATA.getFileType());
|
||||
importTaskDO.setIsImport(true);
|
||||
importTaskDO.setStatus(ImportTaskStatusEnum.PROGRESS.getCode());
|
||||
importTaskDO.setCreateUserId(CurrentUserHolder.getUserId());
|
||||
importTaskDO.setCreateName(CurrentUserHolder.getUser().getName());
|
||||
importTaskDO.setCreateTime(System.currentTimeMillis());
|
||||
importTaskMapper.insert(eid, importTaskDO);
|
||||
dataHandlerServer.dataStageHandler(dataMapList, file.getOriginalFilename(), CurrentUserHolder.getUser(), importTaskDO, flag);
|
||||
return ResponseResult.success(true);
|
||||
}
|
||||
|
||||
|
||||
@GetMapping("/decorationDataInit")
|
||||
@ApiOperation("装修数据初始化")
|
||||
public ResponseResult decorationDataInit() {
|
||||
dataHandlerServer.decorationDataInit();
|
||||
return ResponseResult.success(true);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -56,4 +56,10 @@ public class ExportController {
|
||||
public ResponseResult exportProgress(@RequestBody BranchShopRequest request) {
|
||||
return ResponseResult.success(exportService.exportProgressBase(request, CurrentUserHolder.getUser(), FileTypeEnum.EXPORT_PROGRESS));
|
||||
}
|
||||
|
||||
@PostMapping("/zxjpOpenShopReport")
|
||||
@ApiOperation("正新鸡排开店")
|
||||
public ResponseResult zxjpOpenShopReport(@RequestBody FranchiseReportRequest request) {
|
||||
return ResponseResult.success(exportService.exportZxjpOpenShopReport(request, CurrentUserHolder.getUser()));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -0,0 +1,34 @@
|
||||
package com.cool.store.controller.webb;
|
||||
|
||||
import com.cool.store.request.FranchiseReportRequest;
|
||||
import com.cool.store.response.FranchiseReportResponse;
|
||||
import com.cool.store.response.ResponseResult;
|
||||
import com.cool.store.service.FranchiseReportService;
|
||||
import io.swagger.annotations.Api;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
import org.springframework.web.bind.annotation.RequestBody;
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
import org.springframework.web.bind.annotation.RestController;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* @Author: WangShuo
|
||||
* @Date: 2025/05/13/15:46
|
||||
* @Version 1.0
|
||||
* @注释:
|
||||
*/
|
||||
@RestController
|
||||
@RequestMapping("/pc/franchiseReport")
|
||||
@Api(tags = "PC端加盟报表")
|
||||
public class PCFranchiseReportController {
|
||||
@Resource
|
||||
private FranchiseReportService franchiseReportService;
|
||||
|
||||
@RequestMapping("/getZxjpOpenShopReport")
|
||||
@ApiOperation("正新鸡排开店")
|
||||
public ResponseResult<List<FranchiseReportResponse>> getList(@RequestBody FranchiseReportRequest request) {
|
||||
return ResponseResult.success( franchiseReportService.zxjpOpenShopReport(request));
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user