|
@@ -3,27 +3,39 @@ package com.gree.mall.manager.logic.material.base;
|
|
import cn.hutool.core.collection.CollectionUtil;
|
|
import cn.hutool.core.collection.CollectionUtil;
|
|
import com.baomidou.mybatisplus.core.metadata.IPage;
|
|
import com.baomidou.mybatisplus.core.metadata.IPage;
|
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
|
|
|
+import com.gree.mall.manager.bean.ExcelData;
|
|
import com.gree.mall.manager.bean.admin.AdminUserCom;
|
|
import com.gree.mall.manager.bean.admin.AdminUserCom;
|
|
import com.gree.mall.manager.bean.material.base.WorkerGoodsBean;
|
|
import com.gree.mall.manager.bean.material.base.WorkerGoodsBean;
|
|
|
|
+import com.gree.mall.manager.bean.material.base.WorkerGoodsRelaExportBean;
|
|
import com.gree.mall.manager.bean.material.base.WorkerGoodsVO;
|
|
import com.gree.mall.manager.bean.material.base.WorkerGoodsVO;
|
|
import com.gree.mall.manager.commonmapper.MaterialMapper;
|
|
import com.gree.mall.manager.commonmapper.MaterialMapper;
|
|
|
|
+import com.gree.mall.manager.enums.IsYesNoEnum;
|
|
|
|
+import com.gree.mall.manager.enums.base.BaseEnum;
|
|
|
|
+import com.gree.mall.manager.enums.material.StateEnum;
|
|
import com.gree.mall.manager.exception.RemoteServiceException;
|
|
import com.gree.mall.manager.exception.RemoteServiceException;
|
|
import com.gree.mall.manager.logic.common.CommonLogic;
|
|
import com.gree.mall.manager.logic.common.CommonLogic;
|
|
import com.gree.mall.manager.plus.entity.MaterialConfig;
|
|
import com.gree.mall.manager.plus.entity.MaterialConfig;
|
|
|
|
+import com.gree.mall.manager.plus.entity.WebsitGoodsCategory;
|
|
import com.gree.mall.manager.plus.entity.WorkerGoods;
|
|
import com.gree.mall.manager.plus.entity.WorkerGoods;
|
|
import com.gree.mall.manager.plus.entity.WorkerGoodsRela;
|
|
import com.gree.mall.manager.plus.entity.WorkerGoodsRela;
|
|
import com.gree.mall.manager.plus.service.MaterialConfigService;
|
|
import com.gree.mall.manager.plus.service.MaterialConfigService;
|
|
|
|
+import com.gree.mall.manager.plus.service.WebsitGoodsCategoryService;
|
|
import com.gree.mall.manager.plus.service.WorkerGoodsRelaService;
|
|
import com.gree.mall.manager.plus.service.WorkerGoodsRelaService;
|
|
import com.gree.mall.manager.plus.service.WorkerGoodsService;
|
|
import com.gree.mall.manager.plus.service.WorkerGoodsService;
|
|
import com.gree.mall.manager.zfire.bean.ZfireParamBean;
|
|
import com.gree.mall.manager.zfire.bean.ZfireParamBean;
|
|
import com.gree.mall.manager.zfire.util.FieldUtils;
|
|
import com.gree.mall.manager.zfire.util.FieldUtils;
|
|
import lombok.RequiredArgsConstructor;
|
|
import lombok.RequiredArgsConstructor;
|
|
import lombok.extern.slf4j.Slf4j;
|
|
import lombok.extern.slf4j.Slf4j;
|
|
|
|
+import org.apache.commons.lang3.StringUtils;
|
|
import org.springframework.beans.BeanUtils;
|
|
import org.springframework.beans.BeanUtils;
|
|
import org.springframework.stereotype.Service;
|
|
import org.springframework.stereotype.Service;
|
|
import org.springframework.transaction.annotation.Transactional;
|
|
import org.springframework.transaction.annotation.Transactional;
|
|
|
|
|
|
|
|
+import java.util.ArrayList;
|
|
|
|
+import java.util.Arrays;
|
|
import java.util.List;
|
|
import java.util.List;
|
|
|
|
+import java.util.Map;
|
|
|
|
+import java.util.stream.Collectors;
|
|
|
|
|
|
@Slf4j
|
|
@Slf4j
|
|
@Service
|
|
@Service
|
|
@@ -35,6 +47,7 @@ public class WorkerGoodsLogic {
|
|
private final WorkerGoodsService workerGoodsService;
|
|
private final WorkerGoodsService workerGoodsService;
|
|
private final WorkerGoodsRelaService workerGoodsRelaService;
|
|
private final WorkerGoodsRelaService workerGoodsRelaService;
|
|
private final MaterialConfigService materialConfigService;
|
|
private final MaterialConfigService materialConfigService;
|
|
|
|
+ private final WebsitGoodsCategoryService websitGoodsCategoryService;
|
|
|
|
|
|
public IPage<WorkerGoodsVO> page(ZfireParamBean zfireParamBean) {
|
|
public IPage<WorkerGoodsVO> page(ZfireParamBean zfireParamBean) {
|
|
AdminUserCom adminUser = commonLogic.getAdminUser();
|
|
AdminUserCom adminUser = commonLogic.getAdminUser();
|
|
@@ -64,9 +77,15 @@ public class WorkerGoodsLogic {
|
|
bean.setGoodsId(null);
|
|
bean.setGoodsId(null);
|
|
bean.setCompanyWechatId(adminUser.getCompanyWechatId());
|
|
bean.setCompanyWechatId(adminUser.getCompanyWechatId());
|
|
|
|
|
|
|
|
+ final WebsitGoodsCategory category = websitGoodsCategoryService.getById(bean.getCategoryId());
|
|
|
|
+
|
|
WorkerGoods workerGoods = new WorkerGoods();
|
|
WorkerGoods workerGoods = new WorkerGoods();
|
|
BeanUtils.copyProperties(bean, workerGoods);
|
|
BeanUtils.copyProperties(bean, workerGoods);
|
|
- workerGoods.setGoodsId("W" + incrId);
|
|
|
|
|
|
+ workerGoods.setGoodsId("W" + incrId)
|
|
|
|
+ .setParentCategoryId(category.getParentCategoryId())
|
|
|
|
+ .setParentCategoryName(category.getParentCategoryName())
|
|
|
|
+ .setGoodsCategoryId(category.getCategoryId())
|
|
|
|
+ .setGoodsCategoryName(category.getCategoryName());
|
|
workerGoods.insert();
|
|
workerGoods.insert();
|
|
|
|
|
|
config.setWorkerGoodsIncrId(incrId + 1)
|
|
config.setWorkerGoodsIncrId(incrId + 1)
|
|
@@ -98,6 +117,12 @@ public class WorkerGoodsLogic {
|
|
WorkerGoods workerGoods = new WorkerGoods();
|
|
WorkerGoods workerGoods = new WorkerGoods();
|
|
BeanUtils.copyProperties(bean, workerGoods);
|
|
BeanUtils.copyProperties(bean, workerGoods);
|
|
|
|
|
|
|
|
+ final WebsitGoodsCategory category = websitGoodsCategoryService.getById(bean.getCategoryId());
|
|
|
|
+ workerGoods.setParentCategoryId(category.getParentCategoryId())
|
|
|
|
+ .setParentCategoryName(category.getParentCategoryName())
|
|
|
|
+ .setGoodsCategoryId(category.getCategoryId())
|
|
|
|
+ .setGoodsCategoryName(category.getCategoryName());
|
|
|
|
+
|
|
workerGoods.updateById();
|
|
workerGoods.updateById();
|
|
|
|
|
|
if (CollectionUtil.isNotEmpty(bean.getItems())) {
|
|
if (CollectionUtil.isNotEmpty(bean.getItems())) {
|
|
@@ -119,4 +144,61 @@ public class WorkerGoodsLogic {
|
|
workerGoodsRelaService.saveBatch(bean.getItems());
|
|
workerGoodsRelaService.saveBatch(bean.getItems());
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
+
|
|
|
|
+ public ExcelData relaExport() throws Exception {
|
|
|
|
+ AdminUserCom adminUser = commonLogic.getAdminUser();
|
|
|
|
+ final List<WorkerGoodsRelaExportBean> beans = materialMapper.exportWorkerMaterialRela(adminUser.getCompanyWechatId());
|
|
|
|
+
|
|
|
|
+ String[] titles = new String[]{"商户名称", "小类名称", "师傅辅材编号", "师傅辅材名称", "是否小件", "状态", "网点辅材小类"
|
|
|
|
+ , "网点辅材编号", "网点辅材名称", "规格", "转换系数", "是否入师傅库存", "网点辅材状态"};
|
|
|
|
+ List<List<Object>> rows = new ArrayList<>();
|
|
|
|
+
|
|
|
|
+ final Map<String, List<WorkerGoodsRelaExportBean>> beanMap = beans.stream().collect(Collectors.groupingBy(v -> v.getCompanyWechatId() + v.getGoodsId()));
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+ for (Map.Entry<String, List<WorkerGoodsRelaExportBean>> entry : beanMap.entrySet()) {
|
|
|
|
+ List<Object> row = new ArrayList<>();
|
|
|
|
+ final List<WorkerGoodsRelaExportBean> entryValue = entry.getValue();
|
|
|
|
+ final WorkerGoodsRelaExportBean exportBean = entryValue.get(0);
|
|
|
|
+
|
|
|
|
+ row.add(exportBean.getCompanyWechatName());
|
|
|
|
+ row.add(exportBean.getGoodsCategoryName());
|
|
|
|
+ row.add(exportBean.getGoodsId());
|
|
|
|
+ row.add(exportBean.getGoodsName());
|
|
|
|
+ row.add(exportBean.getIsSmall() ? "是" : "否");
|
|
|
|
+ row.add(StringUtils.isNotBlank(exportBean.getStatus()) ? BaseEnum.valueToEnum(StateEnum.class, exportBean.getStatus()).getRemark() : "");
|
|
|
|
+ row.add(exportBean.getWebsitCategoryName());
|
|
|
|
+ row.add(exportBean.getWebsitGoodsId());
|
|
|
|
+ row.add(exportBean.getWebsitGoodsName());
|
|
|
|
+ row.add(exportBean.getSpecification());
|
|
|
|
+ row.add(exportBean.getGoodsSalesConvertQty());
|
|
|
|
+ row.add(StringUtils.isNotBlank(exportBean.getManageWorkerStock()) ?BaseEnum.valueToEnum(IsYesNoEnum.class, exportBean.getManageWorkerStock()).getRemark() : "");
|
|
|
|
+ row.add(StringUtils.isNotBlank(exportBean.getWebsitGoodsStatus()) ?BaseEnum.valueToEnum(StateEnum.class, exportBean.getWebsitGoodsStatus()).getRemark() : "");
|
|
|
|
+ rows.add(row);
|
|
|
|
+
|
|
|
|
+ if (entryValue.size() > 1) {
|
|
|
|
+ for (int i = 1; i < entryValue.size(); i++) {
|
|
|
|
+ row.add("");
|
|
|
|
+ row.add("");
|
|
|
|
+ row.add("");
|
|
|
|
+ row.add("");
|
|
|
|
+ row.add("");
|
|
|
|
+ row.add("");
|
|
|
|
+ row.add(exportBean.getWebsitCategoryName());
|
|
|
|
+ row.add(exportBean.getWebsitGoodsId());
|
|
|
|
+ row.add(exportBean.getWebsitGoodsName());
|
|
|
|
+ row.add(exportBean.getSpecification());
|
|
|
|
+ row.add(exportBean.getGoodsSalesConvertQty());
|
|
|
|
+ row.add(StringUtils.isNotBlank(exportBean.getManageWorkerStock()) ?BaseEnum.valueToEnum(IsYesNoEnum.class, exportBean.getManageWorkerStock()).getRemark() : "");
|
|
|
|
+ row.add(StringUtils.isNotBlank(exportBean.getWebsitGoodsStatus()) ?BaseEnum.valueToEnum(StateEnum.class, exportBean.getWebsitGoodsStatus()).getRemark() : "");
|
|
|
|
+ rows.add(row);
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ ExcelData excelData = new ExcelData();
|
|
|
|
+ excelData.setRows(rows);
|
|
|
|
+ excelData.setTitles(Arrays.asList(titles));
|
|
|
|
+ return excelData;
|
|
|
|
+ }
|
|
}
|
|
}
|