|
@@ -22,12 +22,10 @@ import com.fjhx.customer.entity.customer.po.Customer;
|
|
|
import com.fjhx.customer.service.customer.CustomerService;
|
|
|
import com.fjhx.file.utils.ObsFileUtil;
|
|
|
import com.fjhx.item.entity.product.IssueImportExcelBo;
|
|
|
+import com.fjhx.item.entity.product.ProductExportExcelBo;
|
|
|
import com.fjhx.item.entity.product.dto.ProductInfoDto;
|
|
|
import com.fjhx.item.entity.product.dto.ProductInfoSelectDto;
|
|
|
-import com.fjhx.item.entity.product.po.ProductClassify;
|
|
|
-import com.fjhx.item.entity.product.po.ProductInfo;
|
|
|
-import com.fjhx.item.entity.product.po.ProductInfoEhsdExcel;
|
|
|
-import com.fjhx.item.entity.product.po.ProductInfoEhsdJson;
|
|
|
+import com.fjhx.item.entity.product.po.*;
|
|
|
import com.fjhx.item.entity.product.vo.ProductInfoVo;
|
|
|
import com.fjhx.item.mapper.product.ProductInfoMapper;
|
|
|
import com.fjhx.item.service.product.ProductClassifyService;
|
|
@@ -39,6 +37,7 @@ import com.fjhx.tenant.entity.dict.dto.DictTenantDataSelectDto;
|
|
|
import com.fjhx.tenant.entity.dict.po.DictTenantData;
|
|
|
import com.fjhx.tenant.entity.dict.vo.DictTenantDataVo;
|
|
|
import com.fjhx.tenant.service.dict.DictTenantDataService;
|
|
|
+import com.fjhx.tenant.utils.DeptUtils;
|
|
|
import com.fjhx.tenant.utils.DictUtils;
|
|
|
import com.ruoyi.common.core.domain.BaseIdPo;
|
|
|
import com.ruoyi.common.core.domain.entity.SysDept;
|
|
@@ -54,6 +53,7 @@ import org.springframework.beans.factory.annotation.Autowired;
|
|
|
import org.springframework.stereotype.Service;
|
|
|
import org.springframework.web.multipart.MultipartFile;
|
|
|
|
|
|
+import javax.servlet.http.HttpServletResponse;
|
|
|
import java.math.BigDecimal;
|
|
|
import java.text.ParseException;
|
|
|
import java.text.SimpleDateFormat;
|
|
@@ -86,9 +86,7 @@ public class ProductInfoServiceImpl extends ServiceImpl<ProductInfoMapper, Produ
|
|
|
@Autowired
|
|
|
private DictTenantDataService dictTenantDataService;
|
|
|
|
|
|
- @Override
|
|
|
- public Page<ProductInfoVo> getPage(ProductInfoSelectDto dto) {
|
|
|
- IWrapper<ProductInfo> wrapper = getWrapper();
|
|
|
+ private void setPageWrapper(ProductInfoSelectDto dto, IWrapper<ProductInfo> wrapper) {
|
|
|
wrapper.orderByDesc("pi", ProductInfo::getId);
|
|
|
wrapper.eq("pi", ProductInfo::getType, dto.getType());
|
|
|
wrapper.eq("pi", ProductInfo::getDefinition, dto.getDefinition());
|
|
@@ -117,13 +115,28 @@ public class ProductInfoServiceImpl extends ServiceImpl<ProductInfoMapper, Produ
|
|
|
wrapper.eq("json_unquote( victoriatourist_json -> '$.combination' )", dto.getCombination());
|
|
|
//销售状态过滤
|
|
|
wrapper.eq("json_unquote( victoriatourist_json -> '$.salesStatus' )", dto.getSalesStatus());
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public Page<ProductInfoVo> getPage(ProductInfoSelectDto dto) {
|
|
|
+ IWrapper<ProductInfo> wrapper = getWrapper();
|
|
|
+
|
|
|
+ //设置条件
|
|
|
+ setPageWrapper(dto, wrapper);
|
|
|
|
|
|
Page<ProductInfoVo> page = this.baseMapper.getPage(dto.getPage(), wrapper);
|
|
|
|
|
|
List<ProductInfoVo> records = page.getRecords();
|
|
|
|
|
|
+ //赋值详情
|
|
|
+ setPageInfo(records);
|
|
|
+
|
|
|
+ return page;
|
|
|
+ }
|
|
|
+
|
|
|
+ private void setPageInfo(List<ProductInfoVo> records) {
|
|
|
if (records.size() == 0) {
|
|
|
- return page;
|
|
|
+ return;
|
|
|
}
|
|
|
|
|
|
List<ProductClassify> productClassifyList = productClassifyService.list();
|
|
@@ -147,8 +160,6 @@ public class ProductInfoServiceImpl extends ServiceImpl<ProductInfoMapper, Produ
|
|
|
record.setClassifyNameGroup(classifyNameGroup);
|
|
|
|
|
|
}
|
|
|
-
|
|
|
- return page;
|
|
|
}
|
|
|
|
|
|
|
|
@@ -1157,4 +1168,57 @@ public class ProductInfoServiceImpl extends ServiceImpl<ProductInfoMapper, Produ
|
|
|
return excelBoList;
|
|
|
}
|
|
|
|
|
|
+ @Override
|
|
|
+ public void exportExcel(HttpServletResponse httpServletResponse, ProductInfoSelectDto dto) {
|
|
|
+ IWrapper<ProductInfo> wrapper = getWrapper();
|
|
|
+ setPageWrapper(dto, wrapper);
|
|
|
+ List<ProductInfoVo> list = baseMapper.getPage(wrapper);
|
|
|
+ setPageInfo(list);
|
|
|
+
|
|
|
+ DynamicDataSourceContextHolder.push(SourceConstant.BASE);
|
|
|
+ Map<String, String> productTypeMap = DictUtils.getDictMap("product_type");
|
|
|
+ Map<String, String> salesStatusMap = DictUtils.getDictMap("sales_status");
|
|
|
+ Map<String, String> unitMap = DictUtils.getDictMap("unit");
|
|
|
+ Map<Long, String> deptNameMap = DeptUtils.getDeptNameMap();
|
|
|
+ DynamicDataSourceContextHolder.poll();
|
|
|
+
|
|
|
+ ArrayList<ProductExportExcelBo> outList = new ArrayList<>();
|
|
|
+ for (ProductInfoVo vo : list) {
|
|
|
+ ProductExportExcelBo productExportExcelBo = BeanUtil.copyProperties(vo, ProductExportExcelBo.class);
|
|
|
+ ProductInfoWdlyJson wdlyJson = JSONObject.parseObject(ObjectUtil.isEmpty(vo.getVictoriatouristJson()) ? "{}" : vo.getVictoriatouristJson(), ProductInfoWdlyJson.class);
|
|
|
+
|
|
|
+ //产品类型处理
|
|
|
+ productExportExcelBo.setType(productTypeMap.get(vo.getType()));
|
|
|
+ //是否组合
|
|
|
+ productExportExcelBo.setCombination(ObjectUtil.equals(wdlyJson.getCombination(), "1") ? "是" : "否");
|
|
|
+ //销售状态
|
|
|
+ productExportExcelBo.setSalesStatus(salesStatusMap.get(wdlyJson.getSalesStatus()));
|
|
|
+ //单位
|
|
|
+ productExportExcelBo.setUnit(unitMap.get(vo.getUnit()));
|
|
|
+ //材质
|
|
|
+ productExportExcelBo.setMaterialQuality(wdlyJson.getMaterialQuality());
|
|
|
+ //重量
|
|
|
+ productExportExcelBo.setWeight(wdlyJson.getWeight());
|
|
|
+ //适用温度
|
|
|
+ productExportExcelBo.setApplicableTemp(wdlyJson.getApplicableTemp());
|
|
|
+ //管理部门
|
|
|
+ productExportExcelBo.setDeptName(deptNameMap.get(vo.getDeptId()));
|
|
|
+ //生命周期
|
|
|
+ productExportExcelBo.setLifeCycle(vo.getLifeCycle() == 1 ? "新品" : vo.getLifeCycle() == 2 ? "成长" : vo.getLifeCycle() == 3 ? "成熟" : String.valueOf(vo.getLifeCycle()));
|
|
|
+ //库存清空期限
|
|
|
+ productExportExcelBo.setClearancePeriod(wdlyJson.getClearancePeriod());
|
|
|
+ //京东供价
|
|
|
+ productExportExcelBo.setJdPurchasePrice(wdlyJson.getJdPurchasePrice());
|
|
|
+ //新品期
|
|
|
+ productExportExcelBo.setNewProductsDay(wdlyJson.getNewProductsDay());
|
|
|
+ //成长期
|
|
|
+ productExportExcelBo.setGrowUpDay(wdlyJson.getGrowUpDay());
|
|
|
+
|
|
|
+ outList.add(productExportExcelBo);
|
|
|
+ }
|
|
|
+
|
|
|
+ ExcelUtil.export(httpServletResponse, outList, ProductExportExcelBo.class);
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
}
|