From 2b19f6311b19946d43efaa2faf900825ae453cee Mon Sep 17 00:00:00 2001 From: yxt_djz Date: Sat, 3 Dec 2022 16:05:10 +0800 Subject: [PATCH] 2 --- .../ProductInformationVo.java | 2 +- .../portal/api/salesdata/SalesData.java | 17 ++ .../api/salesdata/SalesDataDetailsVo.java | 15 ++ .../portal/api/salesdata/SalesDataDto.java | 15 ++ .../portal/api/salesdata/SalesDataQuery.java | 15 ++ .../portal/api/salesdata/SalesDataVo.java | 15 ++ .../portal/api/storeinfo/StoreInfo.java | 22 +- .../api/storeinfo/StoreInfoDetailsVo.java | 20 +- .../portal/api/storeinfo/StoreInfoDto.java | 20 +- .../portal/api/storeinfo/StoreInfoQuery.java | 20 +- .../portal/api/storeinfo/StoreInfoVo.java | 20 +- .../PurchaseRequisitionService.java | 38 ++- .../PurchaseRequisitionProMapper.java | 4 + .../PurchaseRequisitionProService.java | 8 + .../portal/biz/salesdata/SalesDataMapper.java | 11 +- .../portal/biz/salesdata/SalesDataMapper.xml | 29 +++ .../portal/biz/salesdata/SalesDataRest.java | 14 +- .../biz/salesdata/SalesDataService.java | 238 +++++++++++++++--- .../portal/biz/storeinfo/StoreInfoMapper.java | 6 + .../portal/biz/storeinfo/StoreInfoRest.java | 31 +++ .../biz/storeinfo/StoreInfoService.java | 167 ++++++++++++ 21 files changed, 679 insertions(+), 48 deletions(-) diff --git a/yxt_supervise/supervise-portal/supervise-portal-api/src/main/java/com/yxt/supervise/portal/api/productinformation/ProductInformationVo.java b/yxt_supervise/supervise-portal/supervise-portal-api/src/main/java/com/yxt/supervise/portal/api/productinformation/ProductInformationVo.java index e27bd02e..f4990c17 100644 --- a/yxt_supervise/supervise-portal/supervise-portal-api/src/main/java/com/yxt/supervise/portal/api/productinformation/ProductInformationVo.java +++ b/yxt_supervise/supervise-portal/supervise-portal-api/src/main/java/com/yxt/supervise/portal/api/productinformation/ProductInformationVo.java @@ -52,7 +52,7 @@ import lombok.Data; public class ProductInformationVo implements Vo { private String sid; // sid - + private String id; // sid @ApiModelProperty("记录版本,锁") private String lock_version; // 记录版本,锁 @ApiModelProperty("创建者") diff --git a/yxt_supervise/supervise-portal/supervise-portal-api/src/main/java/com/yxt/supervise/portal/api/salesdata/SalesData.java b/yxt_supervise/supervise-portal/supervise-portal-api/src/main/java/com/yxt/supervise/portal/api/salesdata/SalesData.java index 1098bfb8..89d8ff20 100644 --- a/yxt_supervise/supervise-portal/supervise-portal-api/src/main/java/com/yxt/supervise/portal/api/salesdata/SalesData.java +++ b/yxt_supervise/supervise-portal/supervise-portal-api/src/main/java/com/yxt/supervise/portal/api/salesdata/SalesData.java @@ -76,4 +76,21 @@ public class SalesData extends BaseEntity { private String dataDate; // 数据日期 @ApiModelProperty("类型") private String type; // 类型 + @ApiModelProperty("客户代码") + private String customerCode; // 客户代码 + @ApiModelProperty("客户名称") + private String customerName; // 客户名称 + @ApiModelProperty("品牌代码") + private String brandCode; // 品牌代码 + @ApiModelProperty("品牌名称") + private String brandName; // 品牌名称 + @ApiModelProperty("大类") + private String categoryb; // 大类 + @ApiModelProperty("种类") + private String categorym; // 种类 + @ApiModelProperty("小类") + private String categorys; // 小类 + + + } diff --git a/yxt_supervise/supervise-portal/supervise-portal-api/src/main/java/com/yxt/supervise/portal/api/salesdata/SalesDataDetailsVo.java b/yxt_supervise/supervise-portal/supervise-portal-api/src/main/java/com/yxt/supervise/portal/api/salesdata/SalesDataDetailsVo.java index b9ef09dc..3725ceed 100644 --- a/yxt_supervise/supervise-portal/supervise-portal-api/src/main/java/com/yxt/supervise/portal/api/salesdata/SalesDataDetailsVo.java +++ b/yxt_supervise/supervise-portal/supervise-portal-api/src/main/java/com/yxt/supervise/portal/api/salesdata/SalesDataDetailsVo.java @@ -77,4 +77,19 @@ public class SalesDataDetailsVo implements Vo { private String dataDate; // 数据日期 @ApiModelProperty("类型") private String type; // 类型 + @ApiModelProperty("客户代码") + private String customerCode; // 客户代码 + @ApiModelProperty("客户名称") + private String customerName; // 客户名称 + @ApiModelProperty("品牌代码") + private String brandCode; // 品牌代码 + @ApiModelProperty("品牌名称") + private String brandName; // 品牌名称 + @ApiModelProperty("大类") + private String categoryb; // 大类 + @ApiModelProperty("种类") + private String categorym; // 种类 + @ApiModelProperty("小类") + private String categorys; // 小类 + } \ No newline at end of file diff --git a/yxt_supervise/supervise-portal/supervise-portal-api/src/main/java/com/yxt/supervise/portal/api/salesdata/SalesDataDto.java b/yxt_supervise/supervise-portal/supervise-portal-api/src/main/java/com/yxt/supervise/portal/api/salesdata/SalesDataDto.java index 0275aea8..103c32cd 100644 --- a/yxt_supervise/supervise-portal/supervise-portal-api/src/main/java/com/yxt/supervise/portal/api/salesdata/SalesDataDto.java +++ b/yxt_supervise/supervise-portal/supervise-portal-api/src/main/java/com/yxt/supervise/portal/api/salesdata/SalesDataDto.java @@ -77,4 +77,19 @@ public class SalesDataDto implements Dto { private String dataDate; // 数据日期 @ApiModelProperty("类型") private String type; // 类型 + @ApiModelProperty("客户代码") + private String customerCode; // 客户代码 + @ApiModelProperty("客户名称") + private String customerName; // 客户名称 + @ApiModelProperty("品牌代码") + private String brandCode; // 品牌代码 + @ApiModelProperty("品牌名称") + private String brandName; // 品牌名称 + @ApiModelProperty("大类") + private String categoryb; // 大类 + @ApiModelProperty("种类") + private String categorym; // 种类 + @ApiModelProperty("小类") + private String categorys; // 小类 + } \ No newline at end of file diff --git a/yxt_supervise/supervise-portal/supervise-portal-api/src/main/java/com/yxt/supervise/portal/api/salesdata/SalesDataQuery.java b/yxt_supervise/supervise-portal/supervise-portal-api/src/main/java/com/yxt/supervise/portal/api/salesdata/SalesDataQuery.java index 4768380e..366a7485 100644 --- a/yxt_supervise/supervise-portal/supervise-portal-api/src/main/java/com/yxt/supervise/portal/api/salesdata/SalesDataQuery.java +++ b/yxt_supervise/supervise-portal/supervise-portal-api/src/main/java/com/yxt/supervise/portal/api/salesdata/SalesDataQuery.java @@ -75,4 +75,19 @@ public class SalesDataQuery implements Query { private String dataDate; // 数据日期 @ApiModelProperty("类型") private String type; // 类型 + @ApiModelProperty("客户代码") + private String customerCode; // 客户代码 + @ApiModelProperty("客户名称") + private String customerName; // 客户名称 + @ApiModelProperty("品牌代码") + private String brandCode; // 品牌代码 + @ApiModelProperty("品牌名称") + private String brandName; // 品牌名称 + @ApiModelProperty("大类") + private String categoryb; // 大类 + @ApiModelProperty("种类") + private String categorym; // 种类 + @ApiModelProperty("小类") + private String categorys; // 小类 + } diff --git a/yxt_supervise/supervise-portal/supervise-portal-api/src/main/java/com/yxt/supervise/portal/api/salesdata/SalesDataVo.java b/yxt_supervise/supervise-portal/supervise-portal-api/src/main/java/com/yxt/supervise/portal/api/salesdata/SalesDataVo.java index 825600a8..cb838a3a 100644 --- a/yxt_supervise/supervise-portal/supervise-portal-api/src/main/java/com/yxt/supervise/portal/api/salesdata/SalesDataVo.java +++ b/yxt_supervise/supervise-portal/supervise-portal-api/src/main/java/com/yxt/supervise/portal/api/salesdata/SalesDataVo.java @@ -77,4 +77,19 @@ public class SalesDataVo implements Vo { private String dataDate; // 数据日期 @ApiModelProperty("类型") private String type; // 类型 + @ApiModelProperty("客户代码") + private String customerCode; // 客户代码 + @ApiModelProperty("客户名称") + private String customerName; // 客户名称 + @ApiModelProperty("品牌代码") + private String brandCode; // 品牌代码 + @ApiModelProperty("品牌名称") + private String brandName; // 品牌名称 + @ApiModelProperty("大类") + private String categoryb; // 大类 + @ApiModelProperty("种类") + private String categorym; // 种类 + @ApiModelProperty("小类") + private String categorys; // 小类 + } diff --git a/yxt_supervise/supervise-portal/supervise-portal-api/src/main/java/com/yxt/supervise/portal/api/storeinfo/StoreInfo.java b/yxt_supervise/supervise-portal/supervise-portal-api/src/main/java/com/yxt/supervise/portal/api/storeinfo/StoreInfo.java index a8d401e6..13d20c1f 100644 --- a/yxt_supervise/supervise-portal/supervise-portal-api/src/main/java/com/yxt/supervise/portal/api/storeinfo/StoreInfo.java +++ b/yxt_supervise/supervise-portal/supervise-portal-api/src/main/java/com/yxt/supervise/portal/api/storeinfo/StoreInfo.java @@ -60,11 +60,29 @@ public class StoreInfo extends BaseEntity { private String address; // 地址 @ApiModelProperty("电话") private String telephone; // 电话 - @ApiModelProperty("联系人") + @ApiModelProperty("联系人") private String contacts; // 联系人 + @ApiModelProperty("单位类型") + private String type; // 单位类型 + @ApiModelProperty("配货价") + private String productPrice; // 单位类型 + @ApiModelProperty("区域") + private String region; // 区域 + @ApiModelProperty("门店经营商品方案") + private String programme; + @ApiModelProperty("组代码") + private String groupCode; + @ApiModelProperty("经度") + private String longitude; + @ApiModelProperty("纬度") + private String latitude; @ApiModelProperty("上级") private String parentSid; // 上级 @ApiModelProperty("法人") private String legalPerson; // 法人 - + @ApiModelProperty("是否加盟店0不是,1是") + private String isJoin; +// 是否石家庄内0不是,1是 + @ApiModelProperty("是否石家庄内0不是,1是") + private String isSjz; } diff --git a/yxt_supervise/supervise-portal/supervise-portal-api/src/main/java/com/yxt/supervise/portal/api/storeinfo/StoreInfoDetailsVo.java b/yxt_supervise/supervise-portal/supervise-portal-api/src/main/java/com/yxt/supervise/portal/api/storeinfo/StoreInfoDetailsVo.java index b81b809f..995da4c7 100644 --- a/yxt_supervise/supervise-portal/supervise-portal-api/src/main/java/com/yxt/supervise/portal/api/storeinfo/StoreInfoDetailsVo.java +++ b/yxt_supervise/supervise-portal/supervise-portal-api/src/main/java/com/yxt/supervise/portal/api/storeinfo/StoreInfoDetailsVo.java @@ -85,5 +85,23 @@ public class StoreInfoDetailsVo implements Vo { private String parentSid; // 上级 @ApiModelProperty("法人") private String legalPerson; // 法人 - + @ApiModelProperty("单位类型") + private String type; // 单位类型 + @ApiModelProperty("配货价") + private String productPrice; // 单位类型 + @ApiModelProperty("区域") + private String region; // 区域 + @ApiModelProperty("门店经营商品方案") + private String programme; + @ApiModelProperty("组代码") + private String groupCode; + @ApiModelProperty("经度") + private String longitude; + @ApiModelProperty("纬度") + private String latitude; + @ApiModelProperty("是否加盟店0不是,1是") + private String isJoin; + // 是否石家庄内0不是,1是 + @ApiModelProperty("是否石家庄内0不是,1是") + private String isSjz; } \ No newline at end of file diff --git a/yxt_supervise/supervise-portal/supervise-portal-api/src/main/java/com/yxt/supervise/portal/api/storeinfo/StoreInfoDto.java b/yxt_supervise/supervise-portal/supervise-portal-api/src/main/java/com/yxt/supervise/portal/api/storeinfo/StoreInfoDto.java index 24833c8d..fcd5cb55 100644 --- a/yxt_supervise/supervise-portal/supervise-portal-api/src/main/java/com/yxt/supervise/portal/api/storeinfo/StoreInfoDto.java +++ b/yxt_supervise/supervise-portal/supervise-portal-api/src/main/java/com/yxt/supervise/portal/api/storeinfo/StoreInfoDto.java @@ -85,5 +85,23 @@ public class StoreInfoDto implements Dto { private String parentSid; // 上级 @ApiModelProperty("法人") private String legalPerson; // 法人 - + @ApiModelProperty("单位类型") + private String type; // 单位类型 + @ApiModelProperty("配货价") + private String productPrice; // 单位类型 + @ApiModelProperty("区域") + private String region; // 区域 + @ApiModelProperty("门店经营商品方案") + private String programme; + @ApiModelProperty("组代码") + private String groupCode; + @ApiModelProperty("经度") + private String longitude; + @ApiModelProperty("纬度") + private String latitude; + @ApiModelProperty("是否加盟店0不是,1是") + private String isJoin; + // 是否石家庄内0不是,1是 + @ApiModelProperty("是否石家庄内0不是,1是") + private String isSjz; } \ No newline at end of file diff --git a/yxt_supervise/supervise-portal/supervise-portal-api/src/main/java/com/yxt/supervise/portal/api/storeinfo/StoreInfoQuery.java b/yxt_supervise/supervise-portal/supervise-portal-api/src/main/java/com/yxt/supervise/portal/api/storeinfo/StoreInfoQuery.java index 09b97c6e..90105d7a 100644 --- a/yxt_supervise/supervise-portal/supervise-portal-api/src/main/java/com/yxt/supervise/portal/api/storeinfo/StoreInfoQuery.java +++ b/yxt_supervise/supervise-portal/supervise-portal-api/src/main/java/com/yxt/supervise/portal/api/storeinfo/StoreInfoQuery.java @@ -83,5 +83,23 @@ public class StoreInfoQuery implements Query { private String parentSid; // 上级 @ApiModelProperty("法人") private String legalPerson; // 法人 - + @ApiModelProperty("单位类型") + private String type; // 单位类型 + @ApiModelProperty("配货价") + private String productPrice; // 单位类型 + @ApiModelProperty("区域") + private String region; // 区域 + @ApiModelProperty("门店经营商品方案") + private String programme; + @ApiModelProperty("组代码") + private String groupCode; + @ApiModelProperty("经度") + private String longitude; + @ApiModelProperty("纬度") + private String latitude; + @ApiModelProperty("是否加盟店0不是,1是") + private String isJoin; + // 是否石家庄内0不是,1是 + @ApiModelProperty("是否石家庄内0不是,1是") + private String isSjz; } diff --git a/yxt_supervise/supervise-portal/supervise-portal-api/src/main/java/com/yxt/supervise/portal/api/storeinfo/StoreInfoVo.java b/yxt_supervise/supervise-portal/supervise-portal-api/src/main/java/com/yxt/supervise/portal/api/storeinfo/StoreInfoVo.java index d63c427f..2154d26a 100644 --- a/yxt_supervise/supervise-portal/supervise-portal-api/src/main/java/com/yxt/supervise/portal/api/storeinfo/StoreInfoVo.java +++ b/yxt_supervise/supervise-portal/supervise-portal-api/src/main/java/com/yxt/supervise/portal/api/storeinfo/StoreInfoVo.java @@ -85,5 +85,23 @@ public class StoreInfoVo implements Vo { private String parentSid; // 上级 @ApiModelProperty("法人") private String legalPerson; // 法人 - + @ApiModelProperty("单位类型") + private String type; // 单位类型 + @ApiModelProperty("配货价") + private String productPrice; // 单位类型 + @ApiModelProperty("区域") + private String region; // 区域 + @ApiModelProperty("门店经营商品方案") + private String programme; + @ApiModelProperty("组代码") + private String groupCode; + @ApiModelProperty("经度") + private String longitude; + @ApiModelProperty("纬度") + private String latitude; + @ApiModelProperty("是否加盟店0不是,1是") + private String isJoin; + // 是否石家庄内0不是,1是 + @ApiModelProperty("是否石家庄内0不是,1是") + private String isSjz; } diff --git a/yxt_supervise/supervise-portal/supervise-portal-biz/src/main/java/com/yxt/supervise/portal/biz/purchaserequisition/PurchaseRequisitionService.java b/yxt_supervise/supervise-portal/supervise-portal-biz/src/main/java/com/yxt/supervise/portal/biz/purchaserequisition/PurchaseRequisitionService.java index 31517183..defbccac 100644 --- a/yxt_supervise/supervise-portal/supervise-portal-biz/src/main/java/com/yxt/supervise/portal/biz/purchaserequisition/PurchaseRequisitionService.java +++ b/yxt_supervise/supervise-portal/supervise-portal-biz/src/main/java/com/yxt/supervise/portal/biz/purchaserequisition/PurchaseRequisitionService.java @@ -72,7 +72,34 @@ public class PurchaseRequisitionService extends MybatisBaseService list=purchaseRequisitionProService.getAll(); + for(PurchaseRequisitionPro p: list){ + String packagePrice = p.getPackagePrice();//包装价格 + String packageInsideNumber = p.getPackageInsideNumber(); + BigDecimal v = new BigDecimal(packagePrice).divide(new BigDecimal(packageInsideNumber),4); + ProductInformationVo productInformationVo = productInformationService.selectByCode(p.getProCode()); + // productInformationVo.setLatestPurchasePrice(v.toString()); + productInformationVo.setNewestPurchasePrice(v.toString()); + ProductInformation pif=new ProductInformation(); + BeanUtil.copyProperties(productInformationVo,pif); + log.info("pif:{}",JSONObject.toJSONString(pif)); + productInformationService.updateById(pif); + /* String value= brandIdHSSFCell.getStringCellValue(); + prp.setPackageInsideNumber(value); + BigDecimal v3 = new BigDecimal(value);//包内数量 规格 + String packagePrice = prp.getPackagePrice();//包装价格 + BigDecimal v4 = new BigDecimal(packagePrice); + BigDecimal divide = v4.divide(v3, 4);//单价*/ + } + return 1; + + } public void readBrandPeriodSorXls1(InputStream is, String sid) { + int ii=uddatePrice(); + if(ii==1){ + return; + } HSSFWorkbook hssfWorkbook = null; try { hssfWorkbook = new HSSFWorkbook(is); @@ -161,7 +188,7 @@ public class PurchaseRequisitionService extends MybatisBaseService selectByMainSid(@Param("mainSid") String purchaseRequisitionSid); + @Select("select * from purchase_requisition_pro where proCode=#{proCode}") + List selectByCode(@Param("proCode")String proCode); + @Select("select * from purchase_requisition_pro ") + List getAll(); } diff --git a/yxt_supervise/supervise-portal/supervise-portal-biz/src/main/java/com/yxt/supervise/portal/biz/purchaserequisitionpro/PurchaseRequisitionProService.java b/yxt_supervise/supervise-portal/supervise-portal-biz/src/main/java/com/yxt/supervise/portal/biz/purchaserequisitionpro/PurchaseRequisitionProService.java index 3716b347..b00d1bda 100644 --- a/yxt_supervise/supervise-portal/supervise-portal-biz/src/main/java/com/yxt/supervise/portal/biz/purchaserequisitionpro/PurchaseRequisitionProService.java +++ b/yxt_supervise/supervise-portal/supervise-portal-biz/src/main/java/com/yxt/supervise/portal/biz/purchaserequisitionpro/PurchaseRequisitionProService.java @@ -21,4 +21,12 @@ public class PurchaseRequisitionProService extends MybatisBaseService map1) { baseMapper.deleteByMap(map1); } + + public List selectByCode(String proCode) { + return baseMapper.selectByCode(proCode); + } + + public List getAll() { + return baseMapper.getAll(); + } } diff --git a/yxt_supervise/supervise-portal/supervise-portal-biz/src/main/java/com/yxt/supervise/portal/biz/salesdata/SalesDataMapper.java b/yxt_supervise/supervise-portal/supervise-portal-biz/src/main/java/com/yxt/supervise/portal/biz/salesdata/SalesDataMapper.java index a98637bb..f0258d6e 100644 --- a/yxt_supervise/supervise-portal/supervise-portal-biz/src/main/java/com/yxt/supervise/portal/biz/salesdata/SalesDataMapper.java +++ b/yxt_supervise/supervise-portal/supervise-portal-biz/src/main/java/com/yxt/supervise/portal/biz/salesdata/SalesDataMapper.java @@ -36,6 +36,7 @@ import com.yxt.supervise.portal.api.salesdata.SalesData; import com.yxt.supervise.portal.api.salesdata.SalesDataVo; import java.util.List; +import java.util.Map; /** * Project: yxt-supervise(宇信通监管)
@@ -63,5 +64,13 @@ public interface SalesDataMapper extends BaseMapper { @Select("select * from sales_data") List selectListVo(); @Select("select * from sales_data where dataDate=#{dataDate} ") - List selectByDate(@Param("dataDate") String pc); + List selectByDate(@Param("dataDate") String dataDate); + @Select("select * from sales_data") + List selectAll(); + @Select("select * from sales_data where dataDate=#{dataDate} and storeCode=#{storeCode} ") + List selectByDateAndstoreCode(@Param("dataDate") String dataDate, @Param("storeCode") String storeCode); + @Select("select * from sales_data where storeCode=#{storeCode} ") + List selectByStoreCode( @Param("storeCode") String storeCode); + + void insertStoreInfo(List> listss); } \ No newline at end of file diff --git a/yxt_supervise/supervise-portal/supervise-portal-biz/src/main/java/com/yxt/supervise/portal/biz/salesdata/SalesDataMapper.xml b/yxt_supervise/supervise-portal/supervise-portal-biz/src/main/java/com/yxt/supervise/portal/biz/salesdata/SalesDataMapper.xml index ad442da2..2933f9ca 100644 --- a/yxt_supervise/supervise-portal/supervise-portal-biz/src/main/java/com/yxt/supervise/portal/biz/salesdata/SalesDataMapper.xml +++ b/yxt_supervise/supervise-portal/supervise-portal-biz/src/main/java/com/yxt/supervise/portal/biz/salesdata/SalesDataMapper.xml @@ -10,4 +10,33 @@ + + insert into salestest(t1,t2,t3,t4,t5,t6,t7,t8,t9) values + + (#{item.t1,jdbcType=VARCHAR}, + #{item.t2,jdbcType=VARCHAR}, + #{item.t3,jdbcType=VARCHAR}, + #{item.t4,jdbcType=VARCHAR}, + #{item.t5,jdbcType=VARCHAR}, + #{item.t6,jdbcType=VARCHAR}, + #{item.t7,jdbcType=VARCHAR}, + #{item.t8,jdbcType=VARCHAR}, + #{item.t9,jdbcType=VARCHAR}) + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/yxt_supervise/supervise-portal/supervise-portal-biz/src/main/java/com/yxt/supervise/portal/biz/salesdata/SalesDataRest.java b/yxt_supervise/supervise-portal/supervise-portal-biz/src/main/java/com/yxt/supervise/portal/biz/salesdata/SalesDataRest.java index 4301d23d..b8fef41c 100644 --- a/yxt_supervise/supervise-portal/supervise-portal-biz/src/main/java/com/yxt/supervise/portal/biz/salesdata/SalesDataRest.java +++ b/yxt_supervise/supervise-portal/supervise-portal-biz/src/main/java/com/yxt/supervise/portal/biz/salesdata/SalesDataRest.java @@ -31,6 +31,7 @@ import com.yxt.common.core.vo.PagerVo; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import org.apache.poi.hssf.usermodel.HSSFWorkbook; +import org.apache.poi.xssf.usermodel.XSSFWorkbook; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; @@ -130,21 +131,24 @@ public class SalesDataRest implements SalesDataFeign { } @ApiOperation(" ") @RequestMapping(value = "/analysisSalesData", method = RequestMethod.GET) - public ResultBean products(HttpServletRequest request, HttpServletResponse response){ + public ResultBean products(HttpServletRequest request, HttpServletResponse response) throws IOException { String date=request.getParameter("date"); + String storeCode=request.getParameter("storeCode"); ResultBean rb = ResultBean.fireFail(); //excel标题 //excel文件名 - String fileName = date+"销售数据"+System.currentTimeMillis()+".xls"; - HSSFWorkbook wb = salesDataService.analysisSalesData( date); + String fileName = date+","+storeCode+"销售数据"+System.currentTimeMillis()+".xlsx"; + HSSFWorkbook wb = salesDataService.analysisSalesData( date,storeCode); //响应到客户端 + OutputStream os = null; try { this.setResponseHeader(response, fileName); - OutputStream os = response.getOutputStream(); + os = response.getOutputStream(); wb.write(os); os.flush(); - os.close(); } catch (Exception e) { e.printStackTrace(); + }finally { + os.close(); } return rb; } diff --git a/yxt_supervise/supervise-portal/supervise-portal-biz/src/main/java/com/yxt/supervise/portal/biz/salesdata/SalesDataService.java b/yxt_supervise/supervise-portal/supervise-portal-biz/src/main/java/com/yxt/supervise/portal/biz/salesdata/SalesDataService.java index ddcc661f..3a2dda54 100644 --- a/yxt_supervise/supervise-portal/supervise-portal-biz/src/main/java/com/yxt/supervise/portal/biz/salesdata/SalesDataService.java +++ b/yxt_supervise/supervise-portal/supervise-portal-biz/src/main/java/com/yxt/supervise/portal/biz/salesdata/SalesDataService.java @@ -30,14 +30,22 @@ import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; +import com.yxt.supervise.portal.api.brandinfo.BrandInfo; +import com.yxt.supervise.portal.api.brandinfo.BrandInfoVo; +import com.yxt.supervise.portal.api.dictcommon.DictCommon; +import com.yxt.supervise.portal.api.dictcommon.DictCommonDetailsVo; import com.yxt.supervise.portal.api.productinformation.ProductInformationVo; import com.yxt.supervise.portal.api.productnum.ProductNum; import com.yxt.supervise.portal.api.purchaserequisition.PurchaseRequisition; import com.yxt.supervise.portal.api.purchaserequisitionpro.PurchaseRequisitionPro; import com.yxt.supervise.portal.api.restrictedcategory.RestrictedCategory; import com.yxt.supervise.portal.api.storeinfo.StoreInfo; +import com.yxt.supervise.portal.biz.brandinfo.BrandInfoService; +import com.yxt.supervise.portal.biz.dictcommon.DictCommonService; import com.yxt.supervise.portal.biz.inventoryinformation.InventoryInformationService; import com.yxt.supervise.portal.biz.productinformation.ProductInformationService; +import com.yxt.supervise.portal.biz.purchaserequisition.PurchaseRequisitionService; +import com.yxt.supervise.portal.biz.purchaserequisitionpro.PurchaseRequisitionProService; import com.yxt.supervise.portal.biz.restrictedcategory.RestrictedCategoryService; import com.yxt.supervise.portal.biz.storeinfo.StoreInfoService; import lombok.extern.slf4j.Slf4j; @@ -91,6 +99,14 @@ public class SalesDataService extends MybatisBaseService createQueryWrapper(SalesDataQuery query) { // todo: 这里根据具体业务调整查询条件 // 多字段Like示例:qw.and(wrapper -> wrapper.like("name", query.getName()).or().like("remark", query.getName())); @@ -149,7 +165,7 @@ public class SalesDataService extends MybatisBaseService lisss2=new ArrayList<>(); HSSFSheet hssfSheet = hssfWorkbook.getSheetAt(0); // 循环行Row - for (int rowNum = 2; rowNum <= hssfSheet.getLastRowNum(); rowNum++) { + for (int rowNum = 1; rowNum <= hssfSheet.getLastRowNum(); rowNum++) { SalesData sd=new SalesData(); HSSFRow hssfRow = hssfSheet.getRow(rowNum); int i = 0; @@ -158,7 +174,7 @@ public class SalesDataService extends MybatisBaseService list=new ArrayList<>(); + if(com.yxt.common.base.utils.StringUtils.isNotBlank(pc)&&com.yxt.common.base.utils.StringUtils.isNotBlank(storeCode)){ + list=baseMapper.selectByDateAndstoreCode(pc,storeCode); + }else if(com.yxt.common.base.utils.StringUtils.isNotBlank(pc)&&com.yxt.common.base.utils.StringUtils.isBlank(storeCode)){ + list=baseMapper.selectByDate(pc); + }else if(com.yxt.common.base.utils.StringUtils.isBlank(pc)&&com.yxt.common.base.utils.StringUtils.isBlank(storeCode)){ + list=baseMapper.selectAll(); + }else if(com.yxt.common.base.utils.StringUtils.isBlank(pc)&&com.yxt.common.base.utils.StringUtils.isNotBlank(storeCode)){ + list=baseMapper.selectByStoreCode(storeCode); + } + //创建HSSFWorkbook + addProductNum(list); + List> listss=new ArrayList<>(); + for(SalesData s:list){ + String proCode = s.getProCode(); + //List storeInfos=storeInfoService.selectLimitStores(); + List lps=purchaseRequisitionProService.selectByCode(proCode); + if(lps==null||lps.size()==0){ + continue; + } + if(s.getState()==1){ + BigDecimal multiply = new BigDecimal(s.getSaleNum()).multiply(new BigDecimal(s.getSalePrice())); + StoreInfo storeInfo = storeInfoService.selectByCodeAndLimit(s.getStoreCode()); + if(storeInfo!=null){ + System.out.println( + "[" + +s.getStoreCode()+"]"+storeInfo.getName()+","+s.getType()+"," + +s.getCode()+","+s.getProCode()+","+s.getProName()+","+s.getSaleNum()+"," + +s.getSalePrice()+","+multiply.toString()); + Map map=new HashMap<>(); + map.put("t1","["+s.getStoreCode()+"]"+storeInfo.getName()); + map.put("t2",storeInfo.getName()); + map.put("t3",s.getType()); + map.put("t4",s.getCode()); + map.put("t5",s.getProCode()); + map.put("t6",s.getProName()); + map.put("t7",s.getSaleNum()); + map.put("t8",s.getSalePrice()); + map.put("t9",multiply.toString()); + listss.add(map); + } else { + log.info("SalesData:{}",JSONObject.toJSONString(s)); + } + } + } + baseMapper.insertStoreInfo(listss); + return null; + } + public HSSFWorkbook analysisSalesData2(String pc,String storeCode){ // 企业组织机构代码证 类型 销售订单号 商品编码 商品条码 商品名称 销售数量 销售渠道 销售价格 销售成本 利润 数据日期 String title = "销售数据"; @@ -280,11 +453,21 @@ public class SalesDataService extends MybatisBaseService list=baseMapper.selectByDate(pc); + List list=new ArrayList<>(); + if(com.yxt.common.base.utils.StringUtils.isNotBlank(pc)&&com.yxt.common.base.utils.StringUtils.isNotBlank(storeCode)){ + list=baseMapper.selectByDateAndstoreCode(pc,storeCode); + }else if(com.yxt.common.base.utils.StringUtils.isNotBlank(pc)&&com.yxt.common.base.utils.StringUtils.isBlank(storeCode)){ + list=baseMapper.selectByDate(pc); + }else if(com.yxt.common.base.utils.StringUtils.isBlank(pc)&&com.yxt.common.base.utils.StringUtils.isBlank(storeCode)){ + list=baseMapper.selectAll(); + }else if(com.yxt.common.base.utils.StringUtils.isBlank(pc)&&com.yxt.common.base.utils.StringUtils.isNotBlank(storeCode)){ + list=baseMapper.selectByStoreCode(storeCode); + } + //创建HSSFWorkbook addProductNum(list); // 第一步,创建一个HSSFWorkbook,对应一个Excel文件 - HSSFWorkbook wb = new HSSFWorkbook(); + HSSFWorkbook wb = new HSSFWorkbook (); // 第二步,在workbook中添加一个sheet,对应Excel文件中的sheet HSSFSheet sheet = wb.createSheet(sheetName); // 合并单元格:参数:起始行, 终止行, 起始列, 终止列 @@ -303,12 +486,14 @@ public class SalesDataService extends MybatisBaseService { List selectListVo(); @Select("select * from store_info where code =#{code}") StoreInfo selectByCode(@Param("code")String storeCode); + @Select("select * from store_info where isSjz =1 and(type='连锁内加盟' or type='连网连锁店' or type='配送中心' " + + "or type='连锁外加盟(销配结算)' or type='连锁外加盟(销配结算)')") + List selectLimitStores(); + @Select("select * from store_info where isSjz =1 and code =#{code} and(type='连锁内加盟' or type='连网连锁店' or type='配送中心' " + + "or type='连锁外加盟(销配结算)' or type='连锁外加盟(销配结算)')") + StoreInfo selectByCodeAndLimit(@Param("code")String storeCode); } \ No newline at end of file diff --git a/yxt_supervise/supervise-portal/supervise-portal-biz/src/main/java/com/yxt/supervise/portal/biz/storeinfo/StoreInfoRest.java b/yxt_supervise/supervise-portal/supervise-portal-biz/src/main/java/com/yxt/supervise/portal/biz/storeinfo/StoreInfoRest.java index 88ba22d9..1c37f350 100644 --- a/yxt_supervise/supervise-portal/supervise-portal-biz/src/main/java/com/yxt/supervise/portal/biz/storeinfo/StoreInfoRest.java +++ b/yxt_supervise/supervise-portal/supervise-portal-biz/src/main/java/com/yxt/supervise/portal/biz/storeinfo/StoreInfoRest.java @@ -33,7 +33,13 @@ import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; +import org.springframework.web.multipart.MultipartFile; +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; +import java.io.File; +import java.io.IOException; +import java.io.InputStream; import java.util.List; /** @@ -92,4 +98,29 @@ public class StoreInfoRest implements StoreInfoFeign { StoreInfoDetailsVo vo = storeInfoService.fetchDetailsVoBySid(sid); return rb.success().setData(vo); } + @ApiOperation(" ") + @RequestMapping(value = "/importBrandSort", method = RequestMethod.POST) + public ResultBean importBrandSort(@RequestParam("filename") MultipartFile file, + HttpServletRequest request, HttpServletResponse response){ + ResultBean rb = ResultBean.fireFail(); + String temp = request.getSession().getServletContext() + .getRealPath(File.separator) + + "temp"; // 临时目录 + File tempFile = new File(temp); + if (!tempFile.exists()) { + tempFile.mkdirs(); + } + String name = file.getOriginalFilename();// 获取上传文件名,包括路径 + long size = file.getSize(); + if ((name == null || name.equals("")) && size == 0) + return null; + InputStream in = null; + try { + in = file.getInputStream(); + } catch (IOException e) { + e.printStackTrace(); + } + storeInfoService.readBrandPeriodSorXls1(in,""); + return rb; + } } diff --git a/yxt_supervise/supervise-portal/supervise-portal-biz/src/main/java/com/yxt/supervise/portal/biz/storeinfo/StoreInfoService.java b/yxt_supervise/supervise-portal/supervise-portal-biz/src/main/java/com/yxt/supervise/portal/biz/storeinfo/StoreInfoService.java index c2ba02ac..7619de8e 100644 --- a/yxt_supervise/supervise-portal/supervise-portal-biz/src/main/java/com/yxt/supervise/portal/biz/storeinfo/StoreInfoService.java +++ b/yxt_supervise/supervise-portal/supervise-portal-biz/src/main/java/com/yxt/supervise/portal/biz/storeinfo/StoreInfoService.java @@ -26,9 +26,13 @@ package com.yxt.supervise.portal.biz.storeinfo; import cn.hutool.core.bean.BeanUtil; +import com.alibaba.fastjson.JSON; +import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; +import com.yxt.supervise.portal.api.salesdata.SalesData; import com.yxt.supervise.portal.api.storeinfo.*; +import lombok.extern.slf4j.Slf4j; import org.apache.commons.lang3.StringUtils; import com.yxt.common.base.service.MybatisBaseService; import com.yxt.common.base.utils.PagerUtil; @@ -36,8 +40,16 @@ import com.yxt.common.core.query.PagerQuery; import com.yxt.common.core.result.ResultBean; import com.yxt.common.core.vo.PagerVo; +import org.apache.poi.hssf.usermodel.HSSFCell; +import org.apache.poi.hssf.usermodel.HSSFRow; +import org.apache.poi.hssf.usermodel.HSSFSheet; +import org.apache.poi.hssf.usermodel.HSSFWorkbook; +import org.apache.poi.ss.usermodel.CellType; import org.springframework.stereotype.Service; +import java.io.IOException; +import java.io.InputStream; +import java.util.ArrayList; import java.util.List; /** @@ -53,6 +65,7 @@ import java.util.List; * @version 1.0 * @since 1.0 */ +@Slf4j @Service public class StoreInfoService extends MybatisBaseService { private QueryWrapper createQueryWrapper(StoreInfoQuery query) { @@ -106,4 +119,158 @@ public class StoreInfoService extends MybatisBaseService lisss=new ArrayList<>(); + List lisss2=new ArrayList<>(); + HSSFSheet hssfSheet = hssfWorkbook.getSheetAt(0); + // 循环行Row + for (int rowNum = 1; rowNum <= hssfSheet.getLastRowNum(); rowNum++) { + StoreInfo sd=new StoreInfo(); + HSSFRow hssfRow = hssfSheet.getRow(rowNum); + int i = 0; + try{ + if(rowNum>=1){ + for ( ; i < hssfRow.getLastCellNum(); i++) { + HSSFCell brandIdHSSFCell = hssfRow.getCell(i); + if(brandIdHSSFCell!=null){ + if (i == 1) {//代码 + brandIdHSSFCell.setCellType(CellType.STRING); + if (StringUtils.isNotBlank(brandIdHSSFCell.getStringCellValue())) { + String value = brandIdHSSFCell.getStringCellValue(); + value=value.trim(); + StoreInfo storeInfo = baseMapper.selectByCode(value); + if(storeInfo!=null){ + sd=storeInfo; +// sd.setIsJoin("1"); + sd.setIsSjz("1"); + }else{ + sd.setCode(value); + } + } + } + if (i == 2) {//中文名称 + brandIdHSSFCell.setCellType(CellType.STRING); + if (StringUtils.isNotBlank(brandIdHSSFCell.getStringCellValue())) { + String value = brandIdHSSFCell.getStringCellValue(); + value=value.trim(); + if(value.indexOf("]")>=0){ + String[] split = value.split("]"); + value = split[1]; + } + sd.setName(value); + } + } + if (i == 3) {//单位类型 + brandIdHSSFCell.setCellType(CellType.STRING); + if (StringUtils.isNotBlank(brandIdHSSFCell.getStringCellValue())) { + String value = brandIdHSSFCell.getStringCellValue(); + value=value.trim(); + sd.setType(value); + } + } + if (i == 4) {//联系人 + brandIdHSSFCell.setCellType(CellType.STRING); + if (StringUtils.isNotBlank(brandIdHSSFCell.getStringCellValue())) { + String value = brandIdHSSFCell.getStringCellValue(); + value=value.trim(); + sd.setContacts(value); + } + } + if (i == 5) {//电话 + brandIdHSSFCell.setCellType(CellType.STRING); + if (StringUtils.isNotBlank(brandIdHSSFCell.getStringCellValue())) { + String value = brandIdHSSFCell.getStringCellValue(); + value=value.trim(); + sd.setTelephone(value); + } + } + if (i == 6) {//地址信息1 + brandIdHSSFCell.setCellType(CellType.STRING); + String value = brandIdHSSFCell.getStringCellValue(); + value=value.trim(); + sd.setAddress(value); + } + if (i == 7) {//经度 + brandIdHSSFCell.setCellType(CellType.STRING); + String value = brandIdHSSFCell.getStringCellValue(); + value=value.trim(); + sd.setLongitude(value); + } + if (i == 8) {//纬度 + brandIdHSSFCell.setCellType(CellType.STRING); + String value = brandIdHSSFCell.getStringCellValue(); + value=value.trim(); + sd.setLatitude(value); + } + if (i == 9) {//配货价 + brandIdHSSFCell.setCellType(CellType.STRING); + if (StringUtils.isNotBlank(brandIdHSSFCell.getStringCellValue())) { + String value = brandIdHSSFCell.getStringCellValue(); + value=value.trim(); + sd.setProductPrice(value); + } + } + if (i == 10) {//区域 + brandIdHSSFCell.setCellType(CellType.STRING); + if (StringUtils.isNotBlank(brandIdHSSFCell.getStringCellValue())) { + String value = brandIdHSSFCell.getStringCellValue(); + value=value.trim(); + sd.setRegion(value); + } + } + if (i == 11) {//门店经营商品方案 + brandIdHSSFCell.setCellType(CellType.STRING); + if (StringUtils.isNotBlank(brandIdHSSFCell.getStringCellValue())) { + String value = brandIdHSSFCell.getStringCellValue(); + value=value.trim(); + sd.setProgramme(value); + } + } + if (i == 12) {//组代码 + brandIdHSSFCell.setCellType(CellType.STRING); + if (StringUtils.isNotBlank(brandIdHSSFCell.getStringCellValue())) { + String value = brandIdHSSFCell.getStringCellValue(); + value=value.trim(); + sd.setGroupCode(value); + } + } + }else{ + System.err.println("rowNum="+rowNum+",i="+i+",value=null"); + } + } + } + }catch(Exception e){ + e.printStackTrace(); + System.err.println("i="+i+",value=null"); + } + + lisss.add(rowNum+""); + if(sd.getId()!=null&&sd.getId()!=0){ + baseMapper.updateById(sd); + }else{ + baseMapper.insert(sd); + } + + log.info("productInformation:{}", JSONObject.toJSONString(sd)); + } + String x = JSON.toJSONString(lisss); + System.out.println(x); + String x1 = JSON.toJSONString(lisss2); + System.out.println(x1); + //return message; + } + + public List selectLimitStores() { + return baseMapper.selectLimitStores(); + } + + public StoreInfo selectByCodeAndLimit(String storeCode) { + return baseMapper.selectByCodeAndLimit(storeCode); + } } \ No newline at end of file