Browse Source

出库、定时任务、库存信息excel

master
fkf 2 years ago
parent
commit
417f20978b
  1. 26
      yxt-supervise-gf-biz/src/main/java/com/yxt/supervise/gf/biz/inventory/InventoryService.java
  2. 6
      yxt-supervise-gf-biz/src/main/java/com/yxt/supervise/gf/biz/outstock/OutStockMapper.java
  3. 14
      yxt-supervise-gf-biz/src/main/java/com/yxt/supervise/gf/biz/outstock/OutStockMapper.xml
  4. 11
      yxt-supervise-gf-biz/src/main/java/com/yxt/supervise/gf/biz/outstock/OutStockRest.java
  5. 20
      yxt-supervise-gf-biz/src/main/java/com/yxt/supervise/gf/biz/outstock/OutStockService.java
  6. 23
      yxt-supervise-gf-biz/src/main/java/com/yxt/supervise/gf/shanhai/timedtask/ShanHaiTimedTask.java
  7. 4
      yxt-supervise-gf-biz/src/test/java/demo/tool/SecurTest.java

26
yxt-supervise-gf-biz/src/main/java/com/yxt/supervise/gf/biz/inventory/InventoryService.java

@ -4,7 +4,6 @@ import cn.hutool.core.bean.BeanUtil;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.sun.org.apache.bcel.internal.generic.NEW;
import com.yxt.common.base.utils.PagerUtil; import com.yxt.common.base.utils.PagerUtil;
import com.yxt.common.core.query.PagerQuery; import com.yxt.common.core.query.PagerQuery;
import com.yxt.common.core.result.ResultBean; import com.yxt.common.core.result.ResultBean;
@ -19,7 +18,6 @@ import com.yxt.supervise.gf.shanhai.resp.BaseResponseListObj;
import org.apache.poi.ss.usermodel.*; import org.apache.poi.ss.usermodel.*;
import org.apache.poi.ss.util.CellRangeAddress; import org.apache.poi.ss.util.CellRangeAddress;
import org.apache.poi.xssf.usermodel.XSSFWorkbook; import org.apache.poi.xssf.usermodel.XSSFWorkbook;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value; import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
@ -27,7 +25,6 @@ import javax.servlet.http.HttpServletResponse;
import java.io.File; import java.io.File;
import java.io.FileOutputStream; import java.io.FileOutputStream;
import java.io.OutputStream; import java.io.OutputStream;
import java.math.BigDecimal;
import java.net.URLEncoder; import java.net.URLEncoder;
import java.text.DecimalFormat; import java.text.DecimalFormat;
import java.text.SimpleDateFormat; import java.text.SimpleDateFormat;
@ -43,8 +40,6 @@ public class InventoryService extends ServiceImpl<InventoryMapper, Inventory> {
@Value("${import.filePath}") @Value("${import.filePath}")
private String filePath; private String filePath;
@Autowired
private HttpServletResponse response;
public ResultBean save(InventoryIndex inventoryIndex){ public ResultBean save(InventoryIndex inventoryIndex){
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
@ -52,17 +47,17 @@ public class InventoryService extends ServiceImpl<InventoryMapper, Inventory> {
ResultBean rb = ResultBean.fireFail(); ResultBean rb = ResultBean.fireFail();
BaseResponse<BaseResponseListObj<com.yxt.supervise.gf.shanhai.resp.Inventory>> api$system$inventory$index = ShRequester.getApi$system$inventory$index(inventoryIndex); BaseResponse<BaseResponseListObj<com.yxt.supervise.gf.shanhai.resp.Inventory>> api$system$inventory$index = ShRequester.getApi$system$inventory$index(inventoryIndex);
List<com.yxt.supervise.gf.shanhai.resp.Inventory> list = api$system$inventory$index.getData().getList(); List<com.yxt.supervise.gf.shanhai.resp.Inventory> list = api$system$inventory$index.getData().getList();
try {
exportExcel(response,list);
}catch (Exception e){
e.printStackTrace();
}
for (com.yxt.supervise.gf.shanhai.resp.Inventory inventory : list) { for (com.yxt.supervise.gf.shanhai.resp.Inventory inventory : list) {
Inventory inventory1 = new Inventory(); Inventory inventory1 = new Inventory();
BeanUtil.copyProperties(inventory,inventory1); BeanUtil.copyProperties(inventory,inventory1);
inventory1.setTime(sdf.format(date)); inventory1.setTime(sdf.format(date));
baseMapper.insert(inventory1); baseMapper.insert(inventory1);
} }
try {
exportExcel(list);
}catch (Exception e){
e.printStackTrace();
}
return rb.success().setMsg("添加成功"); return rb.success().setMsg("添加成功");
} }
@ -71,13 +66,22 @@ public class InventoryService extends ServiceImpl<InventoryMapper, Inventory> {
* @param list 导出数据 * @param list 导出数据
* @throws Exception * @throws Exception
*/ */
public void exportExcel(HttpServletResponse response, List<com.yxt.supervise.gf.shanhai.resp.Inventory> list) throws Exception { public void exportExcel(List<com.yxt.supervise.gf.shanhai.resp.Inventory> list) throws Exception {
SimpleDateFormat sdf1 = new SimpleDateFormat("yyyy-MM-dd"); SimpleDateFormat sdf1 = new SimpleDateFormat("yyyy-MM-dd");
Date date = new Date(); Date date = new Date();
XSSFWorkbook wb = new XSSFWorkbook(); XSSFWorkbook wb = new XSSFWorkbook();
Map<String, List<com.yxt.supervise.gf.shanhai.resp.Inventory>> listMap = list.stream().collect(Collectors.groupingBy(it -> it.getStorehouse_name())); Map<String, List<com.yxt.supervise.gf.shanhai.resp.Inventory>> listMap = list.stream().collect(Collectors.groupingBy(it -> it.getStorehouse_name()));
List<Map<String, Object>> listMap1 = new ArrayList<>();//存储汇总数据 List<Map<String, Object>> listMap1 = new ArrayList<>();//存储汇总数据
Map<String, List<com.yxt.supervise.gf.shanhai.resp.Inventory>> map1 = new HashMap<>();
for (Map.Entry<String, List<com.yxt.supervise.gf.shanhai.resp.Inventory>> stringListEntry : listMap.entrySet()) { for (Map.Entry<String, List<com.yxt.supervise.gf.shanhai.resp.Inventory>> stringListEntry : listMap.entrySet()) {
List<com.yxt.supervise.gf.shanhai.resp.Inventory> value = stringListEntry.getValue();
List<com.yxt.supervise.gf.shanhai.resp.Inventory> filterValue = null;
filterValue = value.stream().filter(t -> t.getMateriel_group_text().equals("组件") || t.getMateriel_group_text().equals("逆变器")).collect(Collectors.toList());
if (filterValue.size() != 0){
map1.put(stringListEntry.getKey(),filterValue);
}
}
for (Map.Entry<String, List<com.yxt.supervise.gf.shanhai.resp.Inventory>> stringListEntry : map1.entrySet()) {
Map<String, Object> map = new HashMap<>(); Map<String, Object> map = new HashMap<>();
//标题行抽出字段 //标题行抽出字段
String[] head = {"序号","库存数量","仓库编码", "物料id", "物料编码", "物料组id", "物料品牌", "物料名称", "物料单价(成本价)", "最后更新时间", "物料组明文", "最后更新时间明文", "仓库名称","货值"}; String[] head = {"序号","库存数量","仓库编码", "物料id", "物料编码", "物料组id", "物料品牌", "物料名称", "物料单价(成本价)", "最后更新时间", "物料组明文", "最后更新时间明文", "仓库名称","货值"};

6
yxt-supervise-gf-biz/src/main/java/com/yxt/supervise/gf/biz/outstock/OutStockMapper.java

@ -1,8 +1,13 @@
package com.yxt.supervise.gf.biz.outstock; package com.yxt.supervise.gf.biz.outstock;
import com.baomidou.mybatisplus.core.conditions.Wrapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.Constants;
import com.yxt.supervise.gf.api.outstock.OutStock; import com.yxt.supervise.gf.api.outstock.OutStock;
import com.yxt.supervise.gf.api.outstock.OutStockVo;
import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
/** /**
* @author feikefei * @author feikefei
@ -10,4 +15,5 @@ import org.apache.ibatis.annotations.Mapper;
*/ */
@Mapper @Mapper
public interface OutStockMapper extends BaseMapper<OutStock> { public interface OutStockMapper extends BaseMapper<OutStock> {
IPage<OutStockVo> selectPageVo(IPage<OutStock> page, @Param(Constants.WRAPPER) Wrapper<OutStock> qw);
} }

14
yxt-supervise-gf-biz/src/main/java/com/yxt/supervise/gf/biz/outstock/OutStockMapper.xml

@ -0,0 +1,14 @@
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.yxt.supervise.gf.biz.outstock.OutStockMapper">
<select id="selectPageVo" resultType="com.yxt.supervise.gf.api.outstock.OutStockVo">
SELECT
*
FROM
out_stock
<where>
${ew.sqlSegment}
</where>
</select>
</mapper>

11
yxt-supervise-gf-biz/src/main/java/com/yxt/supervise/gf/biz/outstock/OutStockRest.java

@ -1,6 +1,10 @@
package com.yxt.supervise.gf.biz.outstock; package com.yxt.supervise.gf.biz.outstock;
import com.yxt.common.core.query.PagerQuery;
import com.yxt.common.core.result.ResultBean; import com.yxt.common.core.result.ResultBean;
import com.yxt.common.core.vo.PagerVo;
import com.yxt.supervise.gf.api.outstock.OutStockQuery;
import com.yxt.supervise.gf.api.outstock.OutStockVo;
import com.yxt.supervise.gf.shanhai.req.Out_stockGetRecordMaterielList; import com.yxt.supervise.gf.shanhai.req.Out_stockGetRecordMaterielList;
import io.swagger.annotations.Api; import io.swagger.annotations.Api;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
@ -25,4 +29,11 @@ public class OutStockRest {
public ResultBean save(@RequestBody Out_stockGetRecordMaterielList reqParams){ public ResultBean save(@RequestBody Out_stockGetRecordMaterielList reqParams){
return outStockService.save(reqParams); return outStockService.save(reqParams);
} }
@PostMapping("/listPage")
public ResultBean listPage(@RequestBody PagerQuery<OutStockQuery> pq){
ResultBean rb = ResultBean.fireFail();
PagerVo<OutStockVo> pagerVo = outStockService.listPage(pq);
return rb.success().setData(pagerVo);
}
} }

20
yxt-supervise-gf-biz/src/main/java/com/yxt/supervise/gf/biz/outstock/OutStockService.java

@ -1,14 +1,20 @@
package com.yxt.supervise.gf.biz.outstock; package com.yxt.supervise.gf.biz.outstock;
import cn.hutool.core.bean.BeanUtil; import cn.hutool.core.bean.BeanUtil;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.yxt.common.base.utils.PagerUtil;
import com.yxt.common.core.query.PagerQuery;
import com.yxt.common.core.result.ResultBean; import com.yxt.common.core.result.ResultBean;
import com.yxt.common.core.vo.PagerVo;
import com.yxt.supervise.gf.api.outstock.OutStock; import com.yxt.supervise.gf.api.outstock.OutStock;
import com.yxt.supervise.gf.api.outstock.OutStockQuery;
import com.yxt.supervise.gf.api.outstock.OutStockVo;
import com.yxt.supervise.gf.shanhai.ShRequester; import com.yxt.supervise.gf.shanhai.ShRequester;
import com.yxt.supervise.gf.shanhai.req.Out_stockGetRecordMaterielList; import com.yxt.supervise.gf.shanhai.req.Out_stockGetRecordMaterielList;
import com.yxt.supervise.gf.shanhai.resp.BaseResponse; import com.yxt.supervise.gf.shanhai.resp.BaseResponse;
import com.yxt.supervise.gf.shanhai.resp.BaseResponseListObj; import com.yxt.supervise.gf.shanhai.resp.BaseResponseListObj;
import com.yxt.supervise.gf.shanhai.resp.InStockGetRecordMaterielList;
import com.yxt.supervise.gf.shanhai.resp.RecordMaterielList; import com.yxt.supervise.gf.shanhai.resp.RecordMaterielList;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
@ -32,4 +38,16 @@ public class OutStockService extends ServiceImpl<OutStockMapper, OutStock> {
} }
return rb.success().setMsg("添加成功"); return rb.success().setMsg("添加成功");
} }
public PagerVo<OutStockVo> listPage(PagerQuery<OutStockQuery> pq){
OutStockQuery params = pq.getParams();
QueryWrapper<OutStock> wq = new QueryWrapper<>();
if (params!=null){
}
IPage<OutStock> page = PagerUtil.queryToPage(pq);
IPage<OutStockVo> outStockVoIPage = baseMapper.selectPageVo(page, wq);
PagerVo<OutStockVo> vo = PagerUtil.pageToVo(outStockVoIPage, null);
return vo;
}
} }

23
yxt-supervise-gf-biz/src/main/java/com/yxt/supervise/gf/shanhai/timedtask/ShanHaiTimedTask.java

@ -1,11 +1,12 @@
package com.yxt.supervise.gf.shanhai.timedtask; package com.yxt.supervise.gf.shanhai.timedtask;
import com.yxt.common.core.result.ResultBean; import com.yxt.common.core.result.ResultBean;
import com.yxt.supervise.gf.biz.instock.InStockService;
import com.yxt.supervise.gf.biz.inventory.InventoryService; import com.yxt.supervise.gf.biz.inventory.InventoryService;
import com.yxt.supervise.gf.shanhai.req.In_stockGetRecordMaterielList;
import com.yxt.supervise.gf.shanhai.req.InventoryIndex; import com.yxt.supervise.gf.shanhai.req.InventoryIndex;
import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModel;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.scheduling.annotation.Scheduled; import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;
@ -19,10 +20,28 @@ public class ShanHaiTimedTask {
@Autowired @Autowired
private InventoryService inventoryService; private InventoryService inventoryService;
@Autowired
private InStockService inStockService;
/**
* @Description //描述: 定时抓取并添加到本地库存管理信息并生成Excel文件到指定位置
* @Param []
* @return void
**/
// @Scheduled(cron = "0 0 3 * * ?") // @Scheduled(cron = "0 0 3 * * ?")
public void timedTask(){ public void inventoryTimedTask(){
InventoryIndex inventoryIndex = new InventoryIndex(); InventoryIndex inventoryIndex = new InventoryIndex();
inventoryService.save(inventoryIndex); inventoryService.save(inventoryIndex);
} }
/**
* @Description //描述: 定时抓取并添加到本地入库记录信息
* @Param []
* @return void
**/
// @Scheduled(cron = "0 1 3 * * ?")
public void inStockTimedTask(){
In_stockGetRecordMaterielList list = new In_stockGetRecordMaterielList();
inStockService.save(list);
}
} }

4
yxt-supervise-gf-biz/src/test/java/demo/tool/SecurTest.java

@ -146,8 +146,8 @@ public class SecurTest {
// BaseResponse<BaseResponseListObj<StorehouseIndex>> api$system$storehouse$index = ShRequester.getApi$system$storehouse$index(null, null); BaseResponse<BaseResponseListObj<StorehouseIndex>> api$system$storehouse$index = ShRequester.getApi$system$storehouse$index(null, null);
// System.out.println(api$system$storehouse$index); System.out.println(api$system$storehouse$index);
// BaseResponse<BaseResponseListObj<SupplierIndex>> api$system$supplier$index = ShRequester.getApi$system$supplier$index(); // BaseResponse<BaseResponseListObj<SupplierIndex>> api$system$supplier$index = ShRequester.getApi$system$supplier$index();
// System.out.println(api$system$supplier$index); // System.out.println(api$system$supplier$index);

Loading…
Cancel
Save