diff --git a/yxt_supervise/supervise-portal/supervise-portal-biz/src/main/java/com/yxt/supervise/portal/biz/gdinstorage/GdInstorageRest.java b/yxt_supervise/supervise-portal/supervise-portal-biz/src/main/java/com/yxt/supervise/portal/biz/gdinstorage/GdInstorageRest.java index 2b728e4b..13d11ac6 100644 --- a/yxt_supervise/supervise-portal/supervise-portal-biz/src/main/java/com/yxt/supervise/portal/biz/gdinstorage/GdInstorageRest.java +++ b/yxt_supervise/supervise-portal/supervise-portal-biz/src/main/java/com/yxt/supervise/portal/biz/gdinstorage/GdInstorageRest.java @@ -6,19 +6,19 @@ *** o8888888o *** * 88" . "88 * * (| -_- |) * - * 0\ = /0 * - * ___/`---'\___ * + * 0/ = /0 * + * ___/`---'/___ * * .' /| |// '. * - * / /||| : |||// \ * - * / _||||| -:- |||||- \ * - * | | /\ - /// | | * - * | \_| ''\---/'' |_/ | * - * \ .-\__ '-' ___/-. / * - * ___'. .' /--.--\ `. .'___ * - * ."" '< `.___\_<|>_/___.' >' "". * - * | | : `- \`.;`\ _ /`;.`/ - ` : | | * - * \ \ `_. \_ __\ /__ _/ .-` / / * - * =====`-.____`.___ \_____/___.-`___.-'===== * + * / /||| : |||// / * + * / _||||| -:- |||||- / * + * | | // - /// | | * + * | /_| ''/---/'' |_/ | * + * / .-/__ '-' ___/-. / * + * ___'. .' /--.--/ `. .'___ * + * ."" '< `.___/_<|>_/___.' >' "". * + * | | : `- /`.;`/ _ /`;.`/ - ` : | | * + * / / `_. /_ __/ /__ _/ .-` / / * + * =====`-.____`.___ /_____/___.-`___.-'===== * * `=---=' * * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ * *********__佛祖保佑__永无BUG__验收通过__钞票多多__********* @@ -53,21 +53,21 @@ public class GdInstorageRest { @GetMapping("/test") public ResultBean test() { - // gdInstorageService.doimp("D:/works/projects/javaee/lzh/niejinyi/yunyan/docs/sheji/wx20221202/23/23汇融银行_入库明细表.xlsx"); - // gdInstorageService.doimp("D:/works/projects/javaee/lzh/niejinyi/yunyan/docs/sheji/wx20221202/23/24汇融银行_入库明细表.xlsx"); - // gdInstorageService.doimp("D:/works/projects/javaee/lzh/niejinyi/yunyan/docs/sheji/wx20221202/23/25汇融银行_入库明细表.xlsx"); - // gdInstorageService.doimp("D:/works/projects/javaee/lzh/niejinyi/yunyan/docs/sheji/wx20221202/23/26汇融银行_入库明细表.xlsx"); - // gdInstorageService.doimp("D:/works/projects/javaee/lzh/niejinyi/yunyan/docs/sheji/wx20221202/23/27汇融银行_入库明细表.xlsx"); - // gdInstorageService.doimp("D:/works/projects/javaee/lzh/niejinyi/yunyan/docs/sheji/wx20221202/23/28汇融银行_入库明细表.xlsx"); - // gdInstorageService.doimp("D:/works/projects/javaee/lzh/niejinyi/yunyan/docs/sheji/wx20221202/23/29汇融银行_入库明细表.xlsx"); - // gdInstorageService.doimp("D:/works/projects/javaee/lzh/niejinyi/yunyan/docs/sheji/wx20221202/23/30汇融银行_入库明细表.xlsx"); - // gdInstorageService.doimp("D:/works/projects/javaee/lzh/niejinyi/yunyan/docs/sheji/wx20221202/23/12-1汇融银行_入库明细表.xlsx"); - // gdInstorageService.doimp("D:/works/projects/javaee/lzh/niejinyi/yunyan/docs/sheji/wx20221204/2汇融银行_入库明细表.xlsx"); - // gdInstorageService.doimp("D:/works/projects/javaee/lzh/niejinyi/yunyan/docs/sheji/wx20221204/3汇融银行_入库明细表.xlsx"); - // // gdInstorageService.doimp("D:/works/projects/javaee/lzh/niejinyi/yunyan/docs/sheji/wx20221204/4汇融银行_入库明细表.xlsx"); - // gdInstorageService.doimp("D:/works/projects/javaee/lzh/niejinyi/yunyan/docs/sheji/wx20221206/4汇融银行_入库明细表.xlsx"); - // gdInstorageService.doimp("D:/works/projects/javaee/lzh/niejinyi/yunyan/docs/sheji/wx20221206/05汇融银行_入库明细表.xlsx"); - gdInstorageService.doimp("D:/works/projects/javaee/lzh/niejinyi/yunyan/docs/sheji/wx20221207/06汇融银行_入库明细表.xlsx"); + gdInstorageService.doimp("D:/works/projects/idea/lzh/niejinyi/yunyan/docs/sheji/wx20221202/23/23汇融银行_入库明细表.xlsx"); + gdInstorageService.doimp("D:/works/projects/idea/lzh/niejinyi/yunyan/docs/sheji/wx20221202/23/24汇融银行_入库明细表.xlsx"); + gdInstorageService.doimp("D:/works/projects/idea/lzh/niejinyi/yunyan/docs/sheji/wx20221202/23/25汇融银行_入库明细表.xlsx"); + gdInstorageService.doimp("D:/works/projects/idea/lzh/niejinyi/yunyan/docs/sheji/wx20221202/23/26汇融银行_入库明细表.xlsx"); + gdInstorageService.doimp("D:/works/projects/idea/lzh/niejinyi/yunyan/docs/sheji/wx20221202/23/27汇融银行_入库明细表.xlsx"); + gdInstorageService.doimp("D:/works/projects/idea/lzh/niejinyi/yunyan/docs/sheji/wx20221202/23/28汇融银行_入库明细表.xlsx"); + gdInstorageService.doimp("D:/works/projects/idea/lzh/niejinyi/yunyan/docs/sheji/wx20221202/23/29汇融银行_入库明细表.xlsx"); + gdInstorageService.doimp("D:/works/projects/idea/lzh/niejinyi/yunyan/docs/sheji/wx20221202/23/30汇融银行_入库明细表.xlsx"); + gdInstorageService.doimp("D:/works/projects/idea/lzh/niejinyi/yunyan/docs/sheji/wx20221202/23/12-1汇融银行_入库明细表.xlsx"); + gdInstorageService.doimp("D:/works/projects/idea/lzh/niejinyi/yunyan/docs/sheji/wx20221204/2汇融银行_入库明细表.xlsx"); + gdInstorageService.doimp("D:/works/projects/idea/lzh/niejinyi/yunyan/docs/sheji/wx20221204/3汇融银行_入库明细表.xlsx"); + // gdInstorageService.doimp("D:/works/projects/javaee/lzh/niejinyi/yunyan/docs/sheji/wx20221204/4汇融银行_入库明细表.xlsx"); + gdInstorageService.doimp("D:/works/projects/idea/lzh/niejinyi/yunyan/docs/sheji/wx20221206/4汇融银行_入库明细表.xlsx"); + gdInstorageService.doimp("D:/works/projects/idea/lzh/niejinyi/yunyan/docs/sheji/wx20221206/05汇融银行_入库明细表.xlsx"); + gdInstorageService.doimp("D:/works/projects/idea/lzh/niejinyi/yunyan/docs/sheji/wx20221207/06汇融银行_入库明细表.xlsx"); return ResultBean.fireSuccess(); } diff --git a/yxt_supervise/supervise-portal/supervise-portal-biz/src/main/java/com/yxt/supervise/portal/biz/gdinventory/GdInventoryLog.java b/yxt_supervise/supervise-portal/supervise-portal-biz/src/main/java/com/yxt/supervise/portal/biz/gdinventory/GdInventoryLog.java new file mode 100644 index 00000000..fc3063ab --- /dev/null +++ b/yxt_supervise/supervise-portal/supervise-portal-biz/src/main/java/com/yxt/supervise/portal/biz/gdinventory/GdInventoryLog.java @@ -0,0 +1,30 @@ +package com.yxt.supervise.portal.biz.gdinventory; + +import com.baomidou.mybatisplus.annotation.TableName; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.yxt.common.core.domain.EntityWithId; +import lombok.Data; + +import java.util.Date; + +@Data +@TableName("gd_inventory_log") +public class GdInventoryLog extends EntityWithId { + + public GdInventoryLog() { + } + + public GdInventoryLog(String fileFullPath) { + this.fileFullPath = fileFullPath; + } + + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") + private Date createTime = new Date(); // 记录创建时间/ + private String remarks; // 备注说明/ + private String fileFullPath; // 文件完整路径/ +// private String outfile; //输出文件名 + private int allNum; // 总记录数/ + private int validNum; // 有效记录数/ + private long durations; // 程序运行时长/ + private int errRowNum; // 出错的条数/ +} diff --git a/yxt_supervise/supervise-portal/supervise-portal-biz/src/main/java/com/yxt/supervise/portal/biz/gdinventory/GdInventoryLogErr.java b/yxt_supervise/supervise-portal/supervise-portal-biz/src/main/java/com/yxt/supervise/portal/biz/gdinventory/GdInventoryLogErr.java new file mode 100644 index 00000000..861d7998 --- /dev/null +++ b/yxt_supervise/supervise-portal/supervise-portal-biz/src/main/java/com/yxt/supervise/portal/biz/gdinventory/GdInventoryLogErr.java @@ -0,0 +1,18 @@ +package com.yxt.supervise.portal.biz.gdinventory; + +import com.baomidou.mybatisplus.annotation.TableName; +import com.yxt.common.core.domain.EntityWithId; +import lombok.Data; + +import java.util.Date; + +@Data +@TableName("gd_inventory_log_err") +public class GdInventoryLogErr extends EntityWithId { + private Date createTime = new Date(); // 记录创建时间', + private String remarks; // 备注说明', + private String fileFullPath; // 文件完整路径', + private String errInfo; // 异常信息', + private String rowContent; // 原记录内容', + private int rowNum; // 出错行数', +} diff --git a/yxt_supervise/supervise-portal/supervise-portal-biz/src/main/java/com/yxt/supervise/portal/biz/gdinventory/GdInventoryLogErrMapper.java b/yxt_supervise/supervise-portal/supervise-portal-biz/src/main/java/com/yxt/supervise/portal/biz/gdinventory/GdInventoryLogErrMapper.java new file mode 100644 index 00000000..0a13c6ec --- /dev/null +++ b/yxt_supervise/supervise-portal/supervise-portal-biz/src/main/java/com/yxt/supervise/portal/biz/gdinventory/GdInventoryLogErrMapper.java @@ -0,0 +1,8 @@ +package com.yxt.supervise.portal.biz.gdinventory; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.apache.ibatis.annotations.Mapper; + +@Mapper +public interface GdInventoryLogErrMapper extends BaseMapper { +} diff --git a/yxt_supervise/supervise-portal/supervise-portal-biz/src/main/java/com/yxt/supervise/portal/biz/gdinventory/GdInventoryLogErrService.java b/yxt_supervise/supervise-portal/supervise-portal-biz/src/main/java/com/yxt/supervise/portal/biz/gdinventory/GdInventoryLogErrService.java new file mode 100644 index 00000000..ad154284 --- /dev/null +++ b/yxt_supervise/supervise-portal/supervise-portal-biz/src/main/java/com/yxt/supervise/portal/biz/gdinventory/GdInventoryLogErrService.java @@ -0,0 +1,8 @@ +package com.yxt.supervise.portal.biz.gdinventory; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import org.springframework.stereotype.Service; + +@Service +public class GdInventoryLogErrService extends ServiceImpl { +} diff --git a/yxt_supervise/supervise-portal/supervise-portal-biz/src/main/java/com/yxt/supervise/portal/biz/gdinventory/GdInventoryLogMapper.java b/yxt_supervise/supervise-portal/supervise-portal-biz/src/main/java/com/yxt/supervise/portal/biz/gdinventory/GdInventoryLogMapper.java new file mode 100644 index 00000000..d8db06a1 --- /dev/null +++ b/yxt_supervise/supervise-portal/supervise-portal-biz/src/main/java/com/yxt/supervise/portal/biz/gdinventory/GdInventoryLogMapper.java @@ -0,0 +1,8 @@ +package com.yxt.supervise.portal.biz.gdinventory; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.apache.ibatis.annotations.Mapper; + +@Mapper +public interface GdInventoryLogMapper extends BaseMapper { +} diff --git a/yxt_supervise/supervise-portal/supervise-portal-biz/src/main/java/com/yxt/supervise/portal/biz/gdinventory/GdInventoryLogService.java b/yxt_supervise/supervise-portal/supervise-portal-biz/src/main/java/com/yxt/supervise/portal/biz/gdinventory/GdInventoryLogService.java new file mode 100644 index 00000000..28f16a46 --- /dev/null +++ b/yxt_supervise/supervise-portal/supervise-portal-biz/src/main/java/com/yxt/supervise/portal/biz/gdinventory/GdInventoryLogService.java @@ -0,0 +1,8 @@ +package com.yxt.supervise.portal.biz.gdinventory; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import org.springframework.stereotype.Service; + +@Service +public class GdInventoryLogService extends ServiceImpl { +} diff --git a/yxt_supervise/supervise-portal/supervise-portal-biz/src/main/java/com/yxt/supervise/portal/biz/gdinventory/GdInventoryOkMapper.java b/yxt_supervise/supervise-portal/supervise-portal-biz/src/main/java/com/yxt/supervise/portal/biz/gdinventory/GdInventoryOkMapper.java index b6903fbd..f3ffd07f 100644 --- a/yxt_supervise/supervise-portal/supervise-portal-biz/src/main/java/com/yxt/supervise/portal/biz/gdinventory/GdInventoryOkMapper.java +++ b/yxt_supervise/supervise-portal/supervise-portal-biz/src/main/java/com/yxt/supervise/portal/biz/gdinventory/GdInventoryOkMapper.java @@ -26,7 +26,9 @@ package com.yxt.supervise.portal.biz.gdinventory; import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.apache.ibatis.annotations.Delete; import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Select; /** * Project: yxt_supervise
@@ -43,4 +45,22 @@ import org.apache.ibatis.annotations.Mapper; */ @Mapper public interface GdInventoryOkMapper extends BaseMapper { + + @Delete("delete from gd_inventory_ok where 1=1") + void clearData(); + + @Select("select count(1) from (select warehouseCode from gd_inventory_ok where warehouseType='1' and warehouseCode<>'112' group by warehouseCode) t ") + int countWarehouseType1Not112(); + + @Select("select count(1) from (select warehouseCode from gd_inventory_ok where warehouseType='2' group by warehouseCode) t ") + int countWarehouseType2(); + + @Select("select count(1) from gd_inventory_ok where warehouseCode='112'") + int countProd112(); + + @Select("select count(1) from gd_inventory_ok where warehouseType='1' and warehouseCode<>'112'") + int countProd1Not112(); + + @Select("select count(1) from gd_inventory_ok where warehouseType='2'") + int countProd2(); } diff --git a/yxt_supervise/supervise-portal/supervise-portal-biz/src/main/java/com/yxt/supervise/portal/biz/gdinventory/GdInventoryOkService.java b/yxt_supervise/supervise-portal/supervise-portal-biz/src/main/java/com/yxt/supervise/portal/biz/gdinventory/GdInventoryOkService.java index b3ad0899..fc846e1d 100644 --- a/yxt_supervise/supervise-portal/supervise-portal-biz/src/main/java/com/yxt/supervise/portal/biz/gdinventory/GdInventoryOkService.java +++ b/yxt_supervise/supervise-portal/supervise-portal-biz/src/main/java/com/yxt/supervise/portal/biz/gdinventory/GdInventoryOkService.java @@ -26,6 +26,7 @@ package com.yxt.supervise.portal.biz.gdinventory; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.yxt.common.core.result.ResultBean; import org.springframework.stereotype.Service; /** @@ -42,5 +43,18 @@ import org.springframework.stereotype.Service; * @since 1.0 */ @Service -public class GdInventoryOkService extends ServiceImpl { +public class GdInventoryOkService extends ServiceImpl { + public void clearData() { + baseMapper.clearData(); + } + + public ResultBean kchz() { + + int type1 = baseMapper.countWarehouseType1Not112(); + int type2 = baseMapper.countWarehouseType2(); + int prod112 = baseMapper.countProd112(); + int prod1Not112 = baseMapper.countProd1Not112(); + int prod2 = baseMapper.countProd2(); + return ResultBean.fireSuccess(); + } } diff --git a/yxt_supervise/supervise-portal/supervise-portal-biz/src/main/java/com/yxt/supervise/portal/biz/gdinventory/GdInventoryRest.java b/yxt_supervise/supervise-portal/supervise-portal-biz/src/main/java/com/yxt/supervise/portal/biz/gdinventory/GdInventoryRest.java index c7d9a1fc..c916b208 100644 --- a/yxt_supervise/supervise-portal/supervise-portal-biz/src/main/java/com/yxt/supervise/portal/biz/gdinventory/GdInventoryRest.java +++ b/yxt_supervise/supervise-portal/supervise-portal-biz/src/main/java/com/yxt/supervise/portal/biz/gdinventory/GdInventoryRest.java @@ -25,14 +25,11 @@ *********************************************************/ package com.yxt.supervise.portal.biz.gdinventory; -import com.yxt.common.base.config.component.FileUploadComponent; import com.yxt.common.core.result.ResultBean; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; import org.springframework.web.multipart.MultipartFile; -import java.io.Console; - /** * Project: yxt_supervise
* File: GdInventoryRest.java
@@ -52,6 +49,8 @@ public class GdInventoryRest { @Autowired private GdInventoryService gdInventoryService; + @Autowired + private GdInventoryOkService gdInventoryOkService; @GetMapping("/implgd") public ResultBean implInventory() { @@ -64,10 +63,14 @@ public class GdInventoryRest { return ResultBean.fireSuccess(); } - @PostMapping("/upToCount") - public ResultBean upToCount(@RequestParam("file") MultipartFile file) { - ResultBean rb = gdInventoryService.importAndCount(file); - return ResultBean.fireSuccess(); + @PostMapping("/uploadGdData") + public ResultBean uploadGdData(@RequestParam("file") MultipartFile file) { + return gdInventoryService.uploadAndResetData(file); + } + + @GetMapping("/kchz") + public ResultBean kchz() { + return gdInventoryOkService.kchz(); } } diff --git a/yxt_supervise/supervise-portal/supervise-portal-biz/src/main/java/com/yxt/supervise/portal/biz/gdinventory/GdInventoryService.java b/yxt_supervise/supervise-portal/supervise-portal-biz/src/main/java/com/yxt/supervise/portal/biz/gdinventory/GdInventoryService.java index 26f89d09..35bd2a06 100644 --- a/yxt_supervise/supervise-portal/supervise-portal-biz/src/main/java/com/yxt/supervise/portal/biz/gdinventory/GdInventoryService.java +++ b/yxt_supervise/supervise-portal/supervise-portal-biz/src/main/java/com/yxt/supervise/portal/biz/gdinventory/GdInventoryService.java @@ -27,9 +27,8 @@ package com.yxt.supervise.portal.biz.gdinventory; import cn.hutool.core.bean.BeanUtil; import cn.hutool.core.io.FileUtil; -import cn.hutool.core.map.MapUtil; import cn.hutool.core.text.csv.*; -import cn.hutool.poi.excel.ExcelReader; +import cn.hutool.json.JSONUtil; import cn.hutool.poi.excel.ExcelUtil; import cn.hutool.poi.excel.sax.handler.RowHandler; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; @@ -38,7 +37,6 @@ import com.yxt.common.core.result.FileUploadResult; import com.yxt.common.core.result.ResultBean; import com.yxt.supervise.portal.biz.storeindex.StoreIndexService; import com.yxt.supervise.portal.extexcel.CsvTool; -import com.yxt.supervise.portal.extexcel.ExcelTool; import org.apache.poi.ss.usermodel.CellStyle; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; @@ -46,7 +44,6 @@ import org.springframework.web.multipart.MultipartFile; import java.io.FileNotFoundException; import java.io.IOException; -import java.io.InputStream; import java.nio.charset.Charset; import java.nio.file.Paths; import java.util.*; @@ -74,6 +71,10 @@ public class GdInventoryService extends ServiceImpl toInsertList = new ArrayList<>(); - private int x = 0, y = 0; + private List errList = new ArrayList<>(); + private int x = 0, y = 0, errnum = 0; private int num = 0; @Override - public void handle(int i, long l, List r) { - if (l > 0) { + public void handle(int sheetIndex, long rowIndex, List r) { + if (rowIndex > 0) { String prodCode = "" + r.get(3); String warehouseCode = "" + r.get(1); @@ -309,9 +312,21 @@ public class GdInventoryService extends ServiceImpl uploadAndResetData(MultipartFile file) { + ResultBean rb = ResultBean.fireFail(); ResultBean fub = fileUploadComponent.uploadFile(file, "kcxxcx"); String filePath = fub.getData().getFilePath(); String fp = fileUploadComponent.getUploadPath() + filePath; long millis = System.currentTimeMillis(); - ExcelUtil.read07BySax(fp, -1, createRowHandler()); - System.out.println("用时:" + (System.currentTimeMillis() - millis)); - return ResultBean.fireSuccess(); + gdInventoryOkService.clearData(); + GdInventoryLog gdlog = new GdInventoryLog(fp); + ExcelUtil.read07BySax(fp, -1, createRowHandler(gdlog)); +// System.out.println("用时:" + (System.currentTimeMillis() - millis)); + gdlog.setDurations(System.currentTimeMillis() - millis); + gdInventoryLogService.save(gdlog); + + return rb.success().setData(gdlog); } }