|
|
@@ -12,11 +12,7 @@ import com.uas.platform.b2c.common.base.dao.CommonDao;
|
|
|
import com.uas.platform.b2c.common.search.rpc.service.SearchService;
|
|
|
import com.uas.platform.b2c.common.search.util.SPage;
|
|
|
import com.uas.platform.b2c.core.config.SysConf;
|
|
|
-import com.uas.platform.b2c.core.constant.IntegerConstant;
|
|
|
-import com.uas.platform.b2c.core.constant.ReleaseStatus;
|
|
|
-import com.uas.platform.b2c.core.constant.ShortConstant;
|
|
|
-import com.uas.platform.b2c.core.constant.SplitChar;
|
|
|
-import com.uas.platform.b2c.core.constant.Status;
|
|
|
+import com.uas.platform.b2c.core.constant.*;
|
|
|
import com.uas.platform.b2c.core.support.SystemSession;
|
|
|
import com.uas.platform.b2c.core.support.log.UsageBufferedLogger;
|
|
|
import com.uas.platform.b2c.core.utils.*;
|
|
|
@@ -25,6 +21,7 @@ import com.uas.platform.b2c.prod.commodity.constant.ErrorInfoConstant;
|
|
|
import com.uas.platform.b2c.prod.commodity.constant.PublicProductUrl;
|
|
|
import com.uas.platform.b2c.prod.commodity.constant.StringConstant;
|
|
|
import com.uas.platform.b2c.prod.commodity.constant.UploadConstant;
|
|
|
+import com.uas.platform.b2c.prod.commodity.controller.GoodsController;
|
|
|
import com.uas.platform.b2c.prod.commodity.dao.CommodityInOutboundDao;
|
|
|
import com.uas.platform.b2c.prod.commodity.dao.GoodsDao;
|
|
|
import com.uas.platform.b2c.prod.commodity.dao.GoodsHistoryDao;
|
|
|
@@ -98,6 +95,10 @@ import javassist.NotFoundException;
|
|
|
import org.apache.commons.beanutils.ConvertUtils;
|
|
|
import org.apache.commons.collections.CollectionUtils;
|
|
|
import org.apache.commons.collections.map.HashedMap;
|
|
|
+import org.apache.poi.ss.usermodel.Row;
|
|
|
+import org.apache.poi.ss.usermodel.Sheet;
|
|
|
+import org.slf4j.Logger;
|
|
|
+import org.slf4j.LoggerFactory;
|
|
|
import org.springframework.beans.BeanUtils;
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
|
import org.springframework.beans.factory.annotation.Value;
|
|
|
@@ -155,7 +156,7 @@ public class ProductServiceImpl implements ProductService {
|
|
|
/**
|
|
|
* 系统操作日志
|
|
|
*/
|
|
|
- private static final UsageBufferedLogger LOGGER = BufferedLoggerManager.getLogger(UsageBufferedLogger.class);
|
|
|
+ private final Logger logger = LoggerFactory.getLogger(ProductServiceImpl.class);
|
|
|
|
|
|
@Autowired
|
|
|
private ProductDao productDao;
|
|
|
@@ -2550,7 +2551,7 @@ public class ProductServiceImpl implements ProductService {
|
|
|
detail.setCommodityInOutbound(inOutbound);
|
|
|
}
|
|
|
inOutbound = commodityInOutboundDao.save(inOutbound);
|
|
|
- LOGGER.log("出入库历史", "卖家中心单个物料上传进行入库操作", inOutbound.getType(), "", inOutbound.getId());
|
|
|
+ logger.info("出入库历史", "卖家中心单个物料上传进行入库操作", inOutbound.getType(), "", inOutbound.getId());
|
|
|
}
|
|
|
// 添加到个人物料库
|
|
|
bindToPerson(productInfo, userUU, enUU);
|
|
|
@@ -2587,7 +2588,7 @@ public class ProductServiceImpl implements ProductService {
|
|
|
goods.setReserve(productInfo.getErpReserve());
|
|
|
goodsService.setGoodsDefault(goods);
|
|
|
goods = goodsDao.save(goods);
|
|
|
- LOGGER.log("上架商品库存操作", "卖家中心单个物料上传进行入库操作", "增加库存: " + productInfo.getErpReserve(), goods.getCode(), goods.getId());
|
|
|
+ logger.info("上架商品库存操作", "卖家中心单个物料上传进行入库操作", "增加库存: " + productInfo.getErpReserve(), goods.getCode(), goods.getId());
|
|
|
CommodityInOutbound inOutbound = new CommodityInOutbound(InOutBoundType.OTHER_INBOUND);
|
|
|
String inOutboundId = createNumberService.generateOrderNumber(com.uas.platform.b2c.core.constant.EncodingRulesConstant.INOUTBOUND_NUM, "trade$commodity_in_outbound", 8);
|
|
|
inOutbound.setInOutId(inOutboundId);
|
|
|
@@ -2747,7 +2748,7 @@ public class ProductServiceImpl implements ProductService {
|
|
|
Double reserve = goods.getReserve() != null ? goods.getReserve() : 0D + addQty;
|
|
|
goods.setReserve(reserve);
|
|
|
goods = goodsDao.save(goods);
|
|
|
- LOGGER.log("上架商品库存操作", "卖家中心单个物料上传进行入库操作", "增加库存: " + addQty, goods.getCode(), goods.getId());
|
|
|
+ logger.info("上架商品库存操作", "卖家中心单个物料上传进行入库操作", "增加库存: " + addQty, goods.getCode(), goods.getId());
|
|
|
} else if (InOutBoundType.OTHER_OUTBOUND.equals(type)) {
|
|
|
// 出库
|
|
|
int index = goodsList.size() - 1;
|
|
|
@@ -2764,7 +2765,7 @@ public class ProductServiceImpl implements ProductService {
|
|
|
Double reserve = subQty >= 0 ? 0 : subQty;
|
|
|
goods.setReserve(Math.abs(reserve));
|
|
|
goods = goodsDao.save(goods);
|
|
|
- LOGGER.log("上架商品库存操作", "卖家中心单个物料上传进行出库操作", existQty + "->" + goods.getReserve(), goods.getCode(), goods.getId());
|
|
|
+ logger.info("上架商品库存操作", "卖家中心单个物料上传进行出库操作", existQty + "->" + goods.getReserve(), goods.getCode(), goods.getId());
|
|
|
if (reserve <= 0) {
|
|
|
break;
|
|
|
}
|
|
|
@@ -2807,7 +2808,7 @@ public class ProductServiceImpl implements ProductService {
|
|
|
if (CollectionUtils.isEmpty(productPersonList)) {
|
|
|
ProductPerson productPerson = new ProductPerson(enUU, userUU, productInfo.getId());
|
|
|
productPerson = productPersonDao.save(productPerson);
|
|
|
- LOGGER.log("个人物料", "新增个人物料", "通过卖家中心单个物料上传绑定个人物料", productInfo.getProdNum(), productPerson.getId());
|
|
|
+ logger.info("个人物料", "新增个人物料", "通过卖家中心单个物料上传绑定个人物料", productInfo.getProdNum(), productPerson.getId());
|
|
|
}
|
|
|
}
|
|
|
|
|
|
@@ -2871,9 +2872,9 @@ public class ProductServiceImpl implements ProductService {
|
|
|
goodsHistory = goodsHistoryService.converTGoodsHist(goods, type, false);
|
|
|
}
|
|
|
goodsHistory = goodsHistoryService.save(goodsHistory);
|
|
|
- LOGGER.log("库存操作", "单个物料上传更新库存操作", "操作方式-> " + type, goodsHistory.getCode(), goodsHistory.getId());
|
|
|
+ logger.info("库存操作", "单个物料上传更新库存操作", "操作方式-> " + type, goodsHistory.getCode(), goodsHistory.getId());
|
|
|
goods = goodsDao.save(goods);
|
|
|
- LOGGER.log("上架商品", "新增上架商品", "通过卖家中心单个物料上传新增上架商品", goods.getCode(), goods.getId());
|
|
|
+ logger.info("上架商品", "新增上架商品", "通过卖家中心单个物料上传新增上架商品", goods.getCode(), goods.getId());
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
@@ -2950,12 +2951,82 @@ public class ProductServiceImpl implements ProductService {
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
- public void exportToWebSite(HttpServletResponse response) {
|
|
|
+ public void exportToWebSite(HttpServletResponse response) throws Exception {
|
|
|
+ logger.info("批量导出", System.currentTimeMillis() + "开始时间");
|
|
|
String[] titles = {"物料编号", "型号", "物料名称", "uuid", "英文品牌", "包装方式", "创建时间", "库存", "图片地址", "enuu", "封装", "类目", "规格"};
|
|
|
String sql = "select count(pr_id) from products where pr_enuu = %d";
|
|
|
- String url = String.format(sql, 10041559L);
|
|
|
- PoiUtil.exportExcelToWebsite(response, totalRowCount, "测试export", "", new WriteExcelDataDelegated() {
|
|
|
+ Integer totalRowCount = jdbcTemplate.queryForObject(String.format(sql, 10041559L), Integer.class);
|
|
|
+
|
|
|
+ String paramsSql = "select pr_code,pr_pcmpcode,pr_title,pr_cmpuuid,pr_pbranden,pr_packaging,pr_create_time,pr_reserve,pr_cmpimg,pr_enuu,pr_encapsulation,pr_kinden,pr_spec " +
|
|
|
+ "from products where pr_enuu = %d order by pr_id desc limit %d, %d";
|
|
|
+ PoiUtil.exportExcelToWebsite(response, totalRowCount, "测试export", titles, new WriteExcelDataDelegated() {
|
|
|
+ /**
|
|
|
+ * EXCEL写数据委托类 针对不同的情况自行实现
|
|
|
+ *
|
|
|
+ * @param eachSheet 指定SHEET
|
|
|
+ * @param startRowCount 开始行
|
|
|
+ * @param endRowCount 结束行
|
|
|
+ * @param currentPage 分批查询开始页
|
|
|
+ * @param pageSize 分批查询数据量
|
|
|
+ * @throws Exception
|
|
|
+ */
|
|
|
+ @Override
|
|
|
+ public void writeExcelData(Sheet eachSheet, Integer startRowCount, Integer endRowCount, Integer currentPage, Integer pageSize) throws Exception {
|
|
|
+ Integer startNumber = (currentPage - 1) * ExcelConstant.PER_WRITE_ROW_COUNT;
|
|
|
+ // 68136条数据
|
|
|
+ List<Map<String, Object>> queryForList = jdbcTemplate.queryForList(String.format(paramsSql, 10041559L, startNumber, pageSize));
|
|
|
|
|
|
- }
|
|
|
+ if (!CollectionUtils.isEmpty(queryForList)) {
|
|
|
+
|
|
|
+ // -------------- 这一块变量照着抄就行 强迫症 后期也封装起来 ----------------------
|
|
|
+ for (int i = startRowCount; i <= endRowCount; i++) {
|
|
|
+ Row eachDataRow = eachSheet.createRow(i);
|
|
|
+ if ((i - startRowCount) < queryForList.size()) {
|
|
|
+ Map<String, Object> map = queryForList.get(i - startRowCount);
|
|
|
+
|
|
|
+
|
|
|
+ Object pr_code = map.get("pr_code");
|
|
|
+ eachDataRow.createCell(0).setCellValue(StringUtilB2C.getStr(pr_code));
|
|
|
+
|
|
|
+ Object prPcmpcode = map.get("pr_pcmpcode");
|
|
|
+ eachDataRow.createCell(1).setCellValue(StringUtilB2C.getStr(prPcmpcode));
|
|
|
+ Object pr_title = map.get("pr_title");
|
|
|
+ eachDataRow.createCell(2).setCellValue(StringUtilB2C.getStr(pr_title));
|
|
|
+
|
|
|
+ Object pr_cmpuuid = map.get("pr_cmpuuid");
|
|
|
+ eachDataRow.createCell(3).setCellValue(StringUtilB2C.getStr(pr_cmpuuid));
|
|
|
+
|
|
|
+ Object pr_pbranden = map.get("pr_pbranden");
|
|
|
+ eachDataRow.createCell(4).setCellValue(StringUtilB2C.getStr(pr_pbranden));
|
|
|
+
|
|
|
+ Object pr_packaging = map.get("pr_packaging");
|
|
|
+ eachDataRow.createCell(5).setCellValue(StringUtilB2C.getStr(pr_packaging));
|
|
|
+
|
|
|
+ //createTime
|
|
|
+
|
|
|
+ Object pr_reserve = map.get("pr_reserve");
|
|
|
+ String doul = StringUtilB2C.getStr(pr_reserve).equals("") ? "0" : StringUtilB2C.getStr(pr_reserve);
|
|
|
+ eachDataRow.createCell(7).setCellValue(Double.valueOf(doul));
|
|
|
+
|
|
|
+ Object pr_cmpimg = map.get("pr_cmpimg");
|
|
|
+ eachDataRow.createCell(8).setCellValue(StringUtilB2C.getStr(pr_cmpimg));
|
|
|
+
|
|
|
+ Object pr_enuu = map.get("pr_enuu");
|
|
|
+ eachDataRow.createCell(9).setCellValue(Long.valueOf(StringUtilB2C.getStr(pr_enuu)));
|
|
|
+
|
|
|
+ Object pr_encapsulation = map.get("pr_encapsulation");
|
|
|
+ eachDataRow.createCell(10).setCellValue(StringUtilB2C.getStr(pr_encapsulation));
|
|
|
+
|
|
|
+ Object pr_kinden = map.get("pr_kinden");
|
|
|
+ eachDataRow.createCell(11).setCellValue(StringUtilB2C.getStr(pr_kinden));
|
|
|
+
|
|
|
+ Object pr_spec = map.get("pr_spec");
|
|
|
+ eachDataRow.createCell(12).setCellValue(StringUtilB2C.getStr(pr_spec));
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ });
|
|
|
+ logger.info("批量导出", System.currentTimeMillis() + "结束时间");
|
|
|
}
|
|
|
}
|