Jelajahi Sumber

商品导出新增字段

zouxuan 1 tahun lalu
induk
melakukan
42becff0b5

+ 5 - 5
mec-application/src/main/java/com/ym/mec/web/controller/ExportController.java

@@ -521,16 +521,16 @@ public class ExportController extends BaseController {
     public void exportGoods(HttpServletResponse response, GoodsQueryInfo queryInfo) throws IOException {
         queryInfo.setPage(1);
         queryInfo.setRows(49999);
-        List<Goods> rows = goodsService.queryPage(queryInfo).getRows();
+        List<Goods> rows = goodsService.exportGoods(queryInfo);
         OutputStream outputStream = response.getOutputStream();
         try {
-            HSSFWorkbook workbook = POIUtil.exportExcel(new String[]{"商品编号", "货号", "品牌", "商品名称",
+            HSSFWorkbook workbook = POIUtil.exportExcel(new String[]{"分部", "分部成本", "商品编号", "货号", "品牌", "商品名称",
                     "是否组合商品", "商品类型", "商品分类", "具体型号", "内部库存", "税务库存", "库存类型", "市场价(元)",
-                    "零售价(元)", "商品团购价(元)", "商品描述", "商品详情", "是否上下架"}, new String[]{
-                    "id", "sn", "brand", "name",
+                    "零售价(元)", "商品团购价(元)", "商品描述", "商品详情", "是否上下架","子商品编号","子商品名称","子商品成本","子商品货号"}, new String[]{
+                    "organName", "organCostPrice", "id", "sn", "brand", "name",
                     "complementGoodsIdList == null || complementGoodsIdList == '' ? '否':'是'",
                     "type.desc", "goodsCategoryName", "specification", "stockCount", "taxStockCount", "stockType.msg", "marketPrice",
-                    "discountPrice", "groupPurchasePrice", "brief", "desc", "status.msg"}, rows);
+                    "discountPrice", "groupPurchasePrice", "brief", "desc", "status.msg","childId","childName","childOrganCostPrice","childSn"}, rows);
             response.setContentType("application/octet-stream");
             response.setHeader("Content-Disposition", "attac:wq" +
                     "hment;filename=goods-" + DateUtil.getDate(new Date()) + ".xls");

+ 3 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/dao/GoodsDao.java

@@ -5,6 +5,7 @@ import com.ym.mec.biz.dal.dto.MusicGroupGoodsAndDiscountDto;
 import com.ym.mec.biz.dal.entity.Goods;
 import com.ym.mec.biz.dal.entity.ReplacementInstrument;
 import com.ym.mec.biz.dal.page.GoodsQuery;
+import com.ym.mec.biz.dal.page.GoodsQueryInfo;
 import com.ym.mec.common.dal.BaseDAO;
 import org.apache.ibatis.annotations.Param;
 
@@ -199,4 +200,6 @@ public interface GoodsDao extends BaseDAO<Integer, Goods> {
     Integer getReplacementInstrumentCount(Map<String, Object> params);
 
     BigDecimal getOrganCostPrice(@Param("complementGoodsIdList") String complementGoodsIdList);
+
+    List<Goods> exportGoods(@Param("queryInfo") GoodsQueryInfo queryInfo);
 }

+ 8 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/entity/Goods.java

@@ -177,6 +177,14 @@ public class Goods {
 
 	private Integer tenantId = TenantContextHolder.getTenantId();
 
+	private String childId;
+
+	private String childName;
+
+	private String childSn;
+
+	private String childOrganCostPrice;
+
 	@Override
 	public String toString() {
 		return ToStringBuilder.reflectionToString(this);

+ 4 - 0
mec-biz/src/main/java/com/ym/mec/biz/service/GoodsService.java

@@ -2,6 +2,8 @@ package com.ym.mec.biz.service;
 
 import java.util.List;
 
+import com.ym.mec.biz.dal.page.GoodsQueryInfo;
+import com.ym.mec.common.page.PageInfo;
 import org.springframework.web.multipart.MultipartFile;
 
 import com.ym.mec.biz.dal.dto.GoodsSellDto;
@@ -14,6 +16,8 @@ import com.ym.mec.common.service.BaseService;
 
 public interface GoodsService extends BaseService<Integer, Goods> {
 
+    List<Goods> exportGoods(GoodsQueryInfo queryInfo);
+
     void addGoods(Goods goods, Integer operatorId);
 
     void addGoodsProcurement(GoodsProcurement goodsProcurement);

+ 10 - 0
mec-biz/src/main/java/com/ym/mec/biz/service/impl/GoodsServiceImpl.java

@@ -10,6 +10,7 @@ import com.ym.mec.biz.dal.entity.GoodsProcurement;
 import com.ym.mec.biz.dal.entity.SellOrder;
 import com.ym.mec.biz.dal.enums.*;
 import com.ym.mec.biz.dal.page.GoodsQuery;
+import com.ym.mec.biz.dal.page.GoodsQueryInfo;
 import com.ym.mec.biz.service.*;
 import com.ym.mec.common.dal.BaseDAO;
 import com.ym.mec.common.entity.UploadReturnBean;
@@ -69,6 +70,15 @@ public class GoodsServiceImpl extends BaseServiceImpl<Integer, Goods>  implement
 	}
 
 	@Override
+	public List<Goods> exportGoods(GoodsQueryInfo queryInfo) {
+		List<Goods> rows = goodsDao.exportGoods(queryInfo);
+		if (CollectionUtils.isEmpty(rows)) {
+			throw new BizException("没有查询到商品信息");
+		}
+		return rows;
+	}
+
+	@Override
 	@Transactional(rollbackFor = Exception.class,isolation = Isolation.READ_COMMITTED)
 	public void addGoods(Goods goods, Integer operatorId) {
 		if(StringUtils.isBlank(goods.getSn())){

+ 13 - 0
mec-biz/src/main/resources/config/mybatis/GoodsMapper.xml

@@ -50,6 +50,10 @@
         <result column="free_fee_show_organ_id_" property="freeFeeShowOrganId"/>
         <result column="free_fee_show_organ_name_" property="freeFeeShowOrganName"/>
         <result column="tenant_id_" property="tenantId"/>
+        <result column="child_id_" property="childId"/>
+        <result column="child_goods_name_" property="childName"/>
+        <result column="child_sn_" property="childSn"/>
+        <result column="child_organ_cost_price_" property="childOrganCostPrice"/>
     </resultMap>
 
     <!-- 根据主键查询一条记录 -->
@@ -551,6 +555,15 @@
     <select id="getOrganCostPrice" resultType="java.math.BigDecimal">
         select SUM(organ_cost_price_) from goods where FIND_IN_SET(id_,#{complementGoodsIdList});
     </select>
+    <select id="exportGoods" resultMap="Goods">
+        SELECT g.*,gc.name_ goods_category_name_,
+        GROUP_CONCAT(gs.name_) child_name_,GROUP_CONCAT(gs.sn_) child_sn_,
+        GROUP_CONCAT(gs.id_) child_id_,GROUP_CONCAT(gs.organ_cost_price_) child_organ_cost_price_ FROM goods g
+        LEFT JOIN goods_category gc ON g.goods_category_id_ = gc.id_
+        left join goods gs ON FIND_IN_SET(gs.id_,g.complement_goods_id_list_)
+        <include refid="queryGoodsPageSql"/>
+        ORDER BY g.id_ DESC
+    </select>
 
     <sql id="replacementQuerySql">
         <where>