From 10a5a089562c01fdee33d90ec186d3569110e07c Mon Sep 17 00:00:00 2001 From: lzh Date: Thu, 24 Nov 2022 01:21:47 +0800 Subject: [PATCH] =?UTF-8?q?=E5=87=BA=E5=BA=93=E5=8D=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- docs/databases/storein.sql | 4 +- .../汇融银行_出库明细表.xls | Bin 0 -> 30720 bytes .../汇融银行_出库明细表.xlsx | Bin 0 -> 4862 bytes .../portal/api/storein/StoreInItem.java | 16 +- .../portal/api/storeout/StoreOut.java | 59 +++++++ .../api/storeout/StoreOutAndItemDto.java | 50 ++++++ .../portal/api/storeout/StoreOutItem.java | 73 ++++++++ .../portal/biz/storein/StoreInItemMapper.java | 1 + .../portal/biz/storein/StoreInRest.java | 2 +- .../portal/biz/storein/StoreInService.java | 68 +++++++- .../biz/storeout/StoreOutItemMapper.java | 48 ++++++ .../biz/storeout/StoreOutItemService.java | 47 +++++ .../portal/biz/storeout/StoreOutMapper.java | 47 +++++ .../portal/biz/storeout/StoreOutRest.java | 63 +++++++ .../portal/biz/storeout/StoreOutService.java | 163 ++++++++++++++++++ .../yxt/supervise/portal/utils/ExcelUtil.java | 46 +++++ .../src/main/resources/application.yml | 2 +- 17 files changed, 668 insertions(+), 21 deletions(-) create mode 100644 docs/demofiles/汇融银行_出库明细表.xls create mode 100644 docs/demofiles/汇融银行_出库明细表.xlsx create mode 100644 yxt_supervise/supervise-portal/supervise-portal-api/src/main/java/com/yxt/supervise/portal/api/storeout/StoreOut.java create mode 100644 yxt_supervise/supervise-portal/supervise-portal-api/src/main/java/com/yxt/supervise/portal/api/storeout/StoreOutAndItemDto.java create mode 100644 yxt_supervise/supervise-portal/supervise-portal-api/src/main/java/com/yxt/supervise/portal/api/storeout/StoreOutItem.java create mode 100644 yxt_supervise/supervise-portal/supervise-portal-biz/src/main/java/com/yxt/supervise/portal/biz/storeout/StoreOutItemMapper.java create mode 100644 yxt_supervise/supervise-portal/supervise-portal-biz/src/main/java/com/yxt/supervise/portal/biz/storeout/StoreOutItemService.java create mode 100644 yxt_supervise/supervise-portal/supervise-portal-biz/src/main/java/com/yxt/supervise/portal/biz/storeout/StoreOutMapper.java create mode 100644 yxt_supervise/supervise-portal/supervise-portal-biz/src/main/java/com/yxt/supervise/portal/biz/storeout/StoreOutRest.java create mode 100644 yxt_supervise/supervise-portal/supervise-portal-biz/src/main/java/com/yxt/supervise/portal/biz/storeout/StoreOutService.java diff --git a/docs/databases/storein.sql b/docs/databases/storein.sql index 7bcfe7df..c0e3295d 100644 --- a/docs/databases/storein.sql +++ b/docs/databases/storein.sql @@ -40,7 +40,7 @@ CREATE TABLE `storein_item` ( `billNo` VARCHAR(100) NULL DEFAULT NULL COMMENT '单据号', `supplierSid` VARCHAR(64) NULL DEFAULT NULL COMMENT '供应商SID', - `storeinCode` VARCHAR(64) NULL DEFAULT NULL COMMENT '供应商代码', + `supplierCode` VARCHAR(64) NULL DEFAULT NULL COMMENT '供应商代码', `supplierName` VARCHAR(100) NULL DEFAULT NULL COMMENT '供应商名称', `productCode` VARCHAR(100) NULL DEFAULT NULL COMMENT '货号', @@ -105,7 +105,7 @@ CREATE TABLE `storeout_item` ( `billNo` VARCHAR(100) NULL DEFAULT NULL COMMENT '单据号', `supplierSid` VARCHAR(64) NULL DEFAULT NULL COMMENT '供应商SID', - `storeinCode` VARCHAR(64) NULL DEFAULT NULL COMMENT '供应商代码', + `supplierCode` VARCHAR(64) NULL DEFAULT NULL COMMENT '供应商代码', `supplierName` VARCHAR(100) NULL DEFAULT NULL COMMENT '供应商名称', `productCode` VARCHAR(100) NULL DEFAULT NULL COMMENT '货号', diff --git a/docs/demofiles/汇融银行_出库明细表.xls b/docs/demofiles/汇融银行_出库明细表.xls new file mode 100644 index 0000000000000000000000000000000000000000..f02a87c42f15d6a5127f538227af75bb6f30d530 GIT binary patch literal 30720 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 KakC?%|GxlGge}DY literal 0 HcmV?d00001 diff --git a/docs/demofiles/汇融银行_出库明细表.xlsx b/docs/demofiles/汇融银行_出库明细表.xlsx new file mode 100644 index 0000000000000000000000000000000000000000..8b61549074b3a3844b225058390a74f28fc351c7 GIT binary patch literal 4862 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 Fe*p#`6bk?V literal 0 HcmV?d00001 diff --git a/yxt_supervise/supervise-portal/supervise-portal-api/src/main/java/com/yxt/supervise/portal/api/storein/StoreInItem.java b/yxt_supervise/supervise-portal/supervise-portal-api/src/main/java/com/yxt/supervise/portal/api/storein/StoreInItem.java index 547f20c1..329a3388 100644 --- a/yxt_supervise/supervise-portal/supervise-portal-api/src/main/java/com/yxt/supervise/portal/api/storein/StoreInItem.java +++ b/yxt_supervise/supervise-portal/supervise-portal-api/src/main/java/com/yxt/supervise/portal/api/storein/StoreInItem.java @@ -15,21 +15,21 @@ public class StoreInItem extends BaseEntity { private String storeinSid; // 入库单SID private String billNo; // 单据号 private String supplierSid; // 供应商SID - private String storeinCode; // 供应商代码 + private String supplierCode; // 供应商代码 private String supplierName; // 供应商名称 private String productCode; // 货号 private String productName; // 商品名称 private Date productDate; // 商品生产日期 - private int productQualityGuaranteePeriod; //商品保质期(天) + private Integer productQualityGuaranteePeriod; //商品保质期(天) private String productSpecifications; // 商品规格 private String categoryKey; // 类别编号 private String category; // 类别名称 private String categoryOne; // 一级类别名称 private String categoryTwo; // 二级类别名称 - private double inPrice; // 入库金额 - private int inNumber; // 入库数量 - private double costPrice; // 成本金额 - private double costTaxPrice; // 成本税额 - private double notTaxPrice; // 不含税成本 - private int inputTaxRate; // 进项税率 + private Double inPrice; // 入库金额 + private Integer inNumber; // 入库数量 + private Double costPrice; // 成本金额 + private Double costTaxPrice; // 成本税额 + private Double notTaxPrice; // 不含税成本 + private Integer inputTaxRate; // 进项税率 } diff --git a/yxt_supervise/supervise-portal/supervise-portal-api/src/main/java/com/yxt/supervise/portal/api/storeout/StoreOut.java b/yxt_supervise/supervise-portal/supervise-portal-api/src/main/java/com/yxt/supervise/portal/api/storeout/StoreOut.java new file mode 100644 index 00000000..91ab6721 --- /dev/null +++ b/yxt_supervise/supervise-portal/supervise-portal-api/src/main/java/com/yxt/supervise/portal/api/storeout/StoreOut.java @@ -0,0 +1,59 @@ +/********************************************************* + ********************************************************* + ******************** ******************* + ************* ************ + ******* _oo0oo_ ******* + *** o8888888o *** + * 88" . "88 * + * (| -_- |) * + * 0\ = /0 * + * ___/`---'\___ * + * .' \\| |// '. * + * / \\||| : |||// \ * + * / _||||| -:- |||||- \ * + * | | \\\ - /// | | * + * | \_| ''\---/'' |_/ | * + * \ .-\__ '-' ___/-. / * + * ___'. .' /--.--\ `. .'___ * + * ."" '< `.___\_<|>_/___.' >' "". * + * | | : `- \`.;`\ _ /`;.`/ - ` : | | * + * \ \ `_. \_ __\ /__ _/ .-` / / * + * =====`-.____`.___ \_____/___.-`___.-'===== * + * `=---=' * + * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ * + *********__佛祖保佑__永无BUG__验收通过__钞票多多__********* + *********************************************************/ +package com.yxt.supervise.portal.api.storeout; + +import com.baomidou.mybatisplus.annotation.TableName; +import com.yxt.common.core.domain.BaseEntity; +import io.swagger.annotations.ApiModel; +import lombok.Data; + +import java.util.Date; + +/** + * Project: yxt_supervise
+ * File: StoreOut.java
+ * Class: com.yxt.supervise.portal.api.StoreOut
+ * Description: <描述类的功能>.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2022/11/24 0:40
+ * + * @author liupopo + * @version 1.0 + * @since 1.0 + */ +@Data +@ApiModel(value = "出库单", description = "出库单") +@TableName("storeout") +public class StoreOut extends BaseEntity { + + private String orgCode; // 企业组织机构代码证 + private String storeCode; // 仓库/门店编号 + private String storeName; // 仓库/门店名称 + private Date outTime; //出库时间 + private String billNo; // 单据号 + private String billType; // 单据类型 +} diff --git a/yxt_supervise/supervise-portal/supervise-portal-api/src/main/java/com/yxt/supervise/portal/api/storeout/StoreOutAndItemDto.java b/yxt_supervise/supervise-portal/supervise-portal-api/src/main/java/com/yxt/supervise/portal/api/storeout/StoreOutAndItemDto.java new file mode 100644 index 00000000..00b5188b --- /dev/null +++ b/yxt_supervise/supervise-portal/supervise-portal-api/src/main/java/com/yxt/supervise/portal/api/storeout/StoreOutAndItemDto.java @@ -0,0 +1,50 @@ +/********************************************************* + ********************************************************* + ******************** ******************* + ************* ************ + ******* _oo0oo_ ******* + *** o8888888o *** + * 88" . "88 * + * (| -_- |) * + * 0\ = /0 * + * ___/`---'\___ * + * .' \\| |// '. * + * / \\||| : |||// \ * + * / _||||| -:- |||||- \ * + * | | \\\ - /// | | * + * | \_| ''\---/'' |_/ | * + * \ .-\__ '-' ___/-. / * + * ___'. .' /--.--\ `. .'___ * + * ."" '< `.___\_<|>_/___.' >' "". * + * | | : `- \`.;`\ _ /`;.`/ - ` : | | * + * \ \ `_. \_ __\ /__ _/ .-` / / * + * =====`-.____`.___ \_____/___.-`___.-'===== * + * `=---=' * + * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ * + *********__佛祖保佑__永无BUG__验收通过__钞票多多__********* + *********************************************************/ +package com.yxt.supervise.portal.api.storeout; + +import lombok.Data; + +import java.util.ArrayList; +import java.util.List; + +/** + * Project: yxt_supervise
+ * File: StoreOutAndItemDto.java
+ * Class: com.yxt.supervise.portal.api.storeout.StoreOutAndItemDto
+ * Description: <描述类的功能>.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2022/11/24 1:01
+ * + * @author liupopo + * @version 1.0 + * @since 1.0 + */ +@Data +public class StoreOutAndItemDto { + private StoreOut storeOut; + private List itemList = new ArrayList<>(); +} diff --git a/yxt_supervise/supervise-portal/supervise-portal-api/src/main/java/com/yxt/supervise/portal/api/storeout/StoreOutItem.java b/yxt_supervise/supervise-portal/supervise-portal-api/src/main/java/com/yxt/supervise/portal/api/storeout/StoreOutItem.java new file mode 100644 index 00000000..7fccdc58 --- /dev/null +++ b/yxt_supervise/supervise-portal/supervise-portal-api/src/main/java/com/yxt/supervise/portal/api/storeout/StoreOutItem.java @@ -0,0 +1,73 @@ +/********************************************************* + ********************************************************* + ******************** ******************* + ************* ************ + ******* _oo0oo_ ******* + *** o8888888o *** + * 88" . "88 * + * (| -_- |) * + * 0\ = /0 * + * ___/`---'\___ * + * .' \\| |// '. * + * / \\||| : |||// \ * + * / _||||| -:- |||||- \ * + * | | \\\ - /// | | * + * | \_| ''\---/'' |_/ | * + * \ .-\__ '-' ___/-. / * + * ___'. .' /--.--\ `. .'___ * + * ."" '< `.___\_<|>_/___.' >' "". * + * | | : `- \`.;`\ _ /`;.`/ - ` : | | * + * \ \ `_. \_ __\ /__ _/ .-` / / * + * =====`-.____`.___ \_____/___.-`___.-'===== * + * `=---=' * + * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ * + *********__佛祖保佑__永无BUG__验收通过__钞票多多__********* + *********************************************************/ +package com.yxt.supervise.portal.api.storeout; + +import com.baomidou.mybatisplus.annotation.TableName; +import com.yxt.common.core.domain.BaseEntity; +import io.swagger.annotations.ApiModel; +import lombok.Data; + +import java.util.Date; + +/** + * Project: yxt_supervise
+ * File: StoreOutItem.java
+ * Class: com.yxt.supervise.portal.api.storeout.StoreOutItem
+ * Description: <描述类的功能>.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2022/11/24 0:52
+ * + * @author liupopo + * @version 1.0 + * @since 1.0 + */ +@Data +@ApiModel(value = "出库明细", description = "出库明细") +@TableName("storeout_item") +public class StoreOutItem extends BaseEntity { + + private String storeoutSid; // '出库单SID' + private String billNo; // 单据号 + private String supplierSid; // 供应商SID + private String supplierCode; // 供应商代码 + private String supplierName; // 供应商名称 + private String productCode; // 货号 + private String productName; // 商品名称 + private Date productDate; // 商品生产日期 + private Integer productQualityGuaranteePeriod; //商品保质期(天) + private String productSpecifications; // 商品规格 + private String categoryKey; // 类别编号 + private String category; // 类别名称 + private String categoryOne; // 一级类别名称 + private String categoryTwo; // 二级类别名称 + private Double outPrice; // '出库金额' + private Integer outNumber; // '出库数量' + private Double costPrice; // 成本金额 + private Double costTaxPrice; // 成本税额 + private Double notTaxPrice; // 不含税成本 + private Integer inputTaxRate; // 进项税率 +} diff --git a/yxt_supervise/supervise-portal/supervise-portal-biz/src/main/java/com/yxt/supervise/portal/biz/storein/StoreInItemMapper.java b/yxt_supervise/supervise-portal/supervise-portal-biz/src/main/java/com/yxt/supervise/portal/biz/storein/StoreInItemMapper.java index eb13df12..30fbc72f 100644 --- a/yxt_supervise/supervise-portal/supervise-portal-biz/src/main/java/com/yxt/supervise/portal/biz/storein/StoreInItemMapper.java +++ b/yxt_supervise/supervise-portal/supervise-portal-biz/src/main/java/com/yxt/supervise/portal/biz/storein/StoreInItemMapper.java @@ -2,6 +2,7 @@ package com.yxt.supervise.portal.biz.storein; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.yxt.supervise.portal.api.storein.StoreInItem; +import com.yxt.supervise.portal.api.storeout.StoreOutItem; import org.apache.ibatis.annotations.Mapper; @Mapper diff --git a/yxt_supervise/supervise-portal/supervise-portal-biz/src/main/java/com/yxt/supervise/portal/biz/storein/StoreInRest.java b/yxt_supervise/supervise-portal/supervise-portal-biz/src/main/java/com/yxt/supervise/portal/biz/storein/StoreInRest.java index 910e6213..8a87be68 100644 --- a/yxt_supervise/supervise-portal/supervise-portal-biz/src/main/java/com/yxt/supervise/portal/biz/storein/StoreInRest.java +++ b/yxt_supervise/supervise-portal/supervise-portal-biz/src/main/java/com/yxt/supervise/portal/biz/storein/StoreInRest.java @@ -18,7 +18,7 @@ public class StoreInRest { ResultBean rb = ResultBean.fireFail(); - storeInService.importXlsFromFilePath("E:/lzh/projects/supervise/docs/demofiles/汇融银行_入库明细表.xls"); + storeInService.importXlsFromFilePath("D:/works/projects/javaee/yxtgit/supervise/docs/demofiles/汇融银行_入库明细表.xls"); return rb.success(); } } diff --git a/yxt_supervise/supervise-portal/supervise-portal-biz/src/main/java/com/yxt/supervise/portal/biz/storein/StoreInService.java b/yxt_supervise/supervise-portal/supervise-portal-biz/src/main/java/com/yxt/supervise/portal/biz/storein/StoreInService.java index fdd57463..f8e1d9ab 100644 --- a/yxt_supervise/supervise-portal/supervise-portal-biz/src/main/java/com/yxt/supervise/portal/biz/storein/StoreInService.java +++ b/yxt_supervise/supervise-portal/supervise-portal-biz/src/main/java/com/yxt/supervise/portal/biz/storein/StoreInService.java @@ -40,7 +40,6 @@ public class StoreInService extends MybatisBaseService { Map map = new HashMap<>(); - for (int rowNum = 1; rowNum <= sheet.getLastRowNum(); rowNum++) { HSSFRow row = sheet.getRow(rowNum); String c_f = ExcelUtil.readStringFromHSSFRow(row, 5); // 单据号 @@ -53,22 +52,73 @@ public class StoreInService extends MybatisBaseService { } StoreInItem item = createStoreInItemFromRow(row); dto.getItemList().add(item); - } - + for (String key : map.keySet()) { + StoreInWithItemDto dto = map.get(key); + baseMapper.insert(dto.getStoreIn()); + storeInItemService.saveBatch(dto.getItemList()); + } return rb.success(); } - private StoreInItem createStoreInItemFromRow(HSSFRow row) { - StoreInItem item = new StoreInItem(); - - return item; - } - private StoreIn createStoreInFromRow(HSSFRow row) { + // `orgCode` VARCHAR(100) NULL DEFAULT NULL COMMENT '企业组织机构代码证', + // `storeCode` VARCHAR(100) NULL DEFAULT NULL COMMENT '仓库/门店编号', + // `storeName` VARCHAR(100) NULL DEFAULT NULL COMMENT '仓库/门店名称', + // `receiptTime` DATETIME NULL DEFAULT NULL COMMENT '收货时间', + // `billNo` VARCHAR(100) NULL DEFAULT NULL COMMENT '单据号', + // `billType` VARCHAR(100) NULL DEFAULT NULL COMMENT '单据类型', StoreIn si = new StoreIn(); + si.setOrgCode(ExcelUtil.readStringFromHSSFRow(row, 0)); + si.setStoreCode(ExcelUtil.readStringFromHSSFRow(row, 1)); + si.setStoreName(ExcelUtil.readStringFromHSSFRow(row, 2)); + si.setReceiptTime(ExcelUtil.readDateTimeFromHSSFRow(row, 3)); + si.setBillNo(ExcelUtil.readStringFromHSSFRow(row, 5)); + si.setBillType(ExcelUtil.readStringFromHSSFRow(row, 6)); return si; } + + private StoreInItem createStoreInItemFromRow(HSSFRow row) { + // `storeinSid` VARCHAR(64) NULL DEFAULT NULL COMMENT '入库单SID', + // `billNo` VARCHAR(100) NULL DEFAULT NULL COMMENT '单据号', + // `supplierSid` VARCHAR(64) NULL DEFAULT NULL COMMENT '供应商SID', + // `storeinCode` VARCHAR(64) NULL DEFAULT NULL COMMENT '供应商代码', + // `supplierName` VARCHAR(100) NULL DEFAULT NULL COMMENT '供应商名称', + // `productCode` VARCHAR(100) NULL DEFAULT NULL COMMENT '货号', + // `productName` VARCHAR(100) NULL DEFAULT NULL COMMENT '商品名称', + // `productDate` DATE NULL DEFAULT NULL COMMENT '商品生产日期', + // `productQualityGuaranteePeriod` int(11) NULL DEFAULT NULL COMMENT '商品保质期(天)', + // `productSpecifications` VARCHAR(100) NULL DEFAULT NULL COMMENT '商品规格', + // `categoryKey` VARCHAR(100) NULL DEFAULT NULL COMMENT '类别编号', + // `category` VARCHAR(100) NULL DEFAULT NULL COMMENT '类别名称', + // `categoryOne` VARCHAR(100) NULL DEFAULT NULL COMMENT '一级类别名称', + // `categoryTwo` VARCHAR(100) NULL DEFAULT NULL COMMENT '二级类别名称', + // `inPrice` double(10,2) NULL DEFAULT NULL COMMENT '入库金额', + // `inNumber` int(11) NULL DEFAULT NULL COMMENT '入库数量', + // `costPrice` double(10,2) NULL DEFAULT NULL COMMENT '成本金额', + // `costTaxPrice` double(10,2) NULL DEFAULT NULL COMMENT '成本税额', + // `notTaxPrice` double(10,2) NULL DEFAULT NULL COMMENT '不含税成本', + // `inputTaxRate` int(11) NULL DEFAULT NULL COMMENT '进项税率', + StoreInItem item = new StoreInItem(); + item.setBillNo(ExcelUtil.readStringFromHSSFRow(row, 5)); + item.setSupplierName(ExcelUtil.readStringFromHSSFRow(row, 4)); + item.setProductCode(ExcelUtil.readStringFromHSSFRow(row, 7)); + item.setProductName(ExcelUtil.readStringFromHSSFRow(row, 8)); + item.setProductDate(ExcelUtil.readDateFromHSSFRow(row, 9)); + item.setProductQualityGuaranteePeriod(ExcelUtil.readIntFromHSSFRow(row, 10)); + item.setProductSpecifications(ExcelUtil.readStringFromHSSFRow(row, 11)); + item.setCategoryKey(ExcelUtil.readStringFromHSSFRow(row, 12)); + item.setCategory(ExcelUtil.readStringFromHSSFRow(row, 13)); + item.setCategoryOne(ExcelUtil.readStringFromHSSFRow(row, 14)); + item.setCategoryTwo(ExcelUtil.readStringFromHSSFRow(row, 15)); + item.setInPrice(ExcelUtil.readDoubleFromHSSFRow(row, 16)); + item.setInNumber(ExcelUtil.readIntFromHSSFRow(row, 17)); + item.setCostPrice(ExcelUtil.readDoubleFromHSSFRow(row, 18)); + item.setCostTaxPrice(ExcelUtil.readDoubleFromHSSFRow(row, 19)); + item.setNotTaxPrice(ExcelUtil.readDoubleFromHSSFRow(row, 20)); + item.setInputTaxRate(ExcelUtil.readIntFromHSSFRow(row, 21)); + return item; + } } diff --git a/yxt_supervise/supervise-portal/supervise-portal-biz/src/main/java/com/yxt/supervise/portal/biz/storeout/StoreOutItemMapper.java b/yxt_supervise/supervise-portal/supervise-portal-biz/src/main/java/com/yxt/supervise/portal/biz/storeout/StoreOutItemMapper.java new file mode 100644 index 00000000..323da355 --- /dev/null +++ b/yxt_supervise/supervise-portal/supervise-portal-biz/src/main/java/com/yxt/supervise/portal/biz/storeout/StoreOutItemMapper.java @@ -0,0 +1,48 @@ +/********************************************************* + ********************************************************* + ******************** ******************* + ************* ************ + ******* _oo0oo_ ******* + *** o8888888o *** + * 88" . "88 * + * (| -_- |) * + * 0\ = /0 * + * ___/`---'\___ * + * .' \\| |// '. * + * / \\||| : |||// \ * + * / _||||| -:- |||||- \ * + * | | \\\ - /// | | * + * | \_| ''\---/'' |_/ | * + * \ .-\__ '-' ___/-. / * + * ___'. .' /--.--\ `. .'___ * + * ."" '< `.___\_<|>_/___.' >' "". * + * | | : `- \`.;`\ _ /`;.`/ - ` : | | * + * \ \ `_. \_ __\ /__ _/ .-` / / * + * =====`-.____`.___ \_____/___.-`___.-'===== * + * `=---=' * + * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ * + *********__佛祖保佑__永无BUG__验收通过__钞票多多__********* + *********************************************************/ +package com.yxt.supervise.portal.biz.storeout; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.yxt.supervise.portal.api.storein.StoreInItem; +import com.yxt.supervise.portal.api.storeout.StoreOutItem; +import org.apache.ibatis.annotations.Mapper; + +/** + * Project: yxt_supervise
+ * File: StoreOutItemMapper.java
+ * Class: com.yxt.supervise.portal.biz.storeout.StoreOutItemMapper
+ * Description: <描述类的功能>.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2022/11/24 1:05
+ * + * @author liupopo + * @version 1.0 + * @since 1.0 + */ +@Mapper +public interface StoreOutItemMapper extends BaseMapper { +} diff --git a/yxt_supervise/supervise-portal/supervise-portal-biz/src/main/java/com/yxt/supervise/portal/biz/storeout/StoreOutItemService.java b/yxt_supervise/supervise-portal/supervise-portal-biz/src/main/java/com/yxt/supervise/portal/biz/storeout/StoreOutItemService.java new file mode 100644 index 00000000..3b5202de --- /dev/null +++ b/yxt_supervise/supervise-portal/supervise-portal-biz/src/main/java/com/yxt/supervise/portal/biz/storeout/StoreOutItemService.java @@ -0,0 +1,47 @@ +/********************************************************* + ********************************************************* + ******************** ******************* + ************* ************ + ******* _oo0oo_ ******* + *** o8888888o *** + * 88" . "88 * + * (| -_- |) * + * 0\ = /0 * + * ___/`---'\___ * + * .' \\| |// '. * + * / \\||| : |||// \ * + * / _||||| -:- |||||- \ * + * | | \\\ - /// | | * + * | \_| ''\---/'' |_/ | * + * \ .-\__ '-' ___/-. / * + * ___'. .' /--.--\ `. .'___ * + * ."" '< `.___\_<|>_/___.' >' "". * + * | | : `- \`.;`\ _ /`;.`/ - ` : | | * + * \ \ `_. \_ __\ /__ _/ .-` / / * + * =====`-.____`.___ \_____/___.-`___.-'===== * + * `=---=' * + * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ * + *********__佛祖保佑__永无BUG__验收通过__钞票多多__********* + *********************************************************/ +package com.yxt.supervise.portal.biz.storeout; + +import com.yxt.common.base.service.MybatisBaseService; +import com.yxt.supervise.portal.api.storeout.StoreOutItem; +import org.springframework.stereotype.Service; + +/** + * Project: yxt_supervise
+ * File: StoreOutItemService.java
+ * Class: com.yxt.supervise.portal.biz.storeout.StoreOutItemService
+ * Description: <描述类的功能>.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2022/11/24 1:06
+ * + * @author liupopo + * @version 1.0 + * @since 1.0 + */ +@Service +public class StoreOutItemService extends MybatisBaseService { +} diff --git a/yxt_supervise/supervise-portal/supervise-portal-biz/src/main/java/com/yxt/supervise/portal/biz/storeout/StoreOutMapper.java b/yxt_supervise/supervise-portal/supervise-portal-biz/src/main/java/com/yxt/supervise/portal/biz/storeout/StoreOutMapper.java new file mode 100644 index 00000000..603faa7d --- /dev/null +++ b/yxt_supervise/supervise-portal/supervise-portal-biz/src/main/java/com/yxt/supervise/portal/biz/storeout/StoreOutMapper.java @@ -0,0 +1,47 @@ +/********************************************************* + ********************************************************* + ******************** ******************* + ************* ************ + ******* _oo0oo_ ******* + *** o8888888o *** + * 88" . "88 * + * (| -_- |) * + * 0\ = /0 * + * ___/`---'\___ * + * .' \\| |// '. * + * / \\||| : |||// \ * + * / _||||| -:- |||||- \ * + * | | \\\ - /// | | * + * | \_| ''\---/'' |_/ | * + * \ .-\__ '-' ___/-. / * + * ___'. .' /--.--\ `. .'___ * + * ."" '< `.___\_<|>_/___.' >' "". * + * | | : `- \`.;`\ _ /`;.`/ - ` : | | * + * \ \ `_. \_ __\ /__ _/ .-` / / * + * =====`-.____`.___ \_____/___.-`___.-'===== * + * `=---=' * + * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ * + *********__佛祖保佑__永无BUG__验收通过__钞票多多__********* + *********************************************************/ +package com.yxt.supervise.portal.biz.storeout; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.yxt.supervise.portal.api.storeout.StoreOut; +import org.apache.ibatis.annotations.Mapper; + +/** + * Project: yxt_supervise
+ * File: StoreOutMapper.java
+ * Class: com.yxt.supervise.portal.biz.storeout.StoreOutMapper
+ * Description: <描述类的功能>.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2022/11/24 1:09
+ * + * @author liupopo + * @version 1.0 + * @since 1.0 + */ +@Mapper +public interface StoreOutMapper extends BaseMapper { +} diff --git a/yxt_supervise/supervise-portal/supervise-portal-biz/src/main/java/com/yxt/supervise/portal/biz/storeout/StoreOutRest.java b/yxt_supervise/supervise-portal/supervise-portal-biz/src/main/java/com/yxt/supervise/portal/biz/storeout/StoreOutRest.java new file mode 100644 index 00000000..948d64b0 --- /dev/null +++ b/yxt_supervise/supervise-portal/supervise-portal-biz/src/main/java/com/yxt/supervise/portal/biz/storeout/StoreOutRest.java @@ -0,0 +1,63 @@ +/********************************************************* + ********************************************************* + ******************** ******************* + ************* ************ + ******* _oo0oo_ ******* + *** o8888888o *** + * 88" . "88 * + * (| -_- |) * + * 0\ = /0 * + * ___/`---'\___ * + * .' \\| |// '. * + * / \\||| : |||// \ * + * / _||||| -:- |||||- \ * + * | | \\\ - /// | | * + * | \_| ''\---/'' |_/ | * + * \ .-\__ '-' ___/-. / * + * ___'. .' /--.--\ `. .'___ * + * ."" '< `.___\_<|>_/___.' >' "". * + * | | : `- \`.;`\ _ /`;.`/ - ` : | | * + * \ \ `_. \_ __\ /__ _/ .-` / / * + * =====`-.____`.___ \_____/___.-`___.-'===== * + * `=---=' * + * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ * + *********__佛祖保佑__永无BUG__验收通过__钞票多多__********* + *********************************************************/ +package com.yxt.supervise.portal.biz.storeout; + +import com.yxt.common.core.result.ResultBean; +import com.yxt.supervise.portal.api.storeout.StoreOut; +import com.yxt.supervise.portal.biz.storein.StoreInService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + * Project: yxt_supervise
+ * File: StoreOutRest.java
+ * Class: com.yxt.supervise.portal.biz.storeout.StoreOutRest
+ * Description: <描述类的功能>.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2022/11/24 1:03
+ * + * @author liupopo + * @version 1.0 + * @since 1.0 + */ +@RestController("com.yxt.supervise.portal.biz.storeout.StoreOutRest") +@RequestMapping("/storeout") +public class StoreOutRest { + + @Autowired + private StoreOutService storeOutService; + + @GetMapping("/testimport") + public ResultBean testimport(){ + ResultBean rb = ResultBean.fireFail(); + + storeOutService.importXlsFromFilePath("D:/works/projects/javaee/yxtgit/supervise/docs/demofiles/汇融银行_出库明细表.xls"); + return rb.success(); + } +} diff --git a/yxt_supervise/supervise-portal/supervise-portal-biz/src/main/java/com/yxt/supervise/portal/biz/storeout/StoreOutService.java b/yxt_supervise/supervise-portal/supervise-portal-biz/src/main/java/com/yxt/supervise/portal/biz/storeout/StoreOutService.java new file mode 100644 index 00000000..916bfc6a --- /dev/null +++ b/yxt_supervise/supervise-portal/supervise-portal-biz/src/main/java/com/yxt/supervise/portal/biz/storeout/StoreOutService.java @@ -0,0 +1,163 @@ +/********************************************************* + ********************************************************* + ******************** ******************* + ************* ************ + ******* _oo0oo_ ******* + *** o8888888o *** + * 88" . "88 * + * (| -_- |) * + * 0\ = /0 * + * ___/`---'\___ * + * .' \\| |// '. * + * / \\||| : |||// \ * + * / _||||| -:- |||||- \ * + * | | \\\ - /// | | * + * | \_| ''\---/'' |_/ | * + * \ .-\__ '-' ___/-. / * + * ___'. .' /--.--\ `. .'___ * + * ."" '< `.___\_<|>_/___.' >' "". * + * | | : `- \`.;`\ _ /`;.`/ - ` : | | * + * \ \ `_. \_ __\ /__ _/ .-` / / * + * =====`-.____`.___ \_____/___.-`___.-'===== * + * `=---=' * + * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ * + *********__佛祖保佑__永无BUG__验收通过__钞票多多__********* + *********************************************************/ +package com.yxt.supervise.portal.biz.storeout; + +import cn.hutool.core.io.FileUtil; +import com.yxt.common.base.service.MybatisBaseService; +import com.yxt.common.core.result.ResultBean; +import com.yxt.supervise.portal.api.storein.StoreInItem; +import com.yxt.supervise.portal.api.storein.StoreInWithItemDto; +import com.yxt.supervise.portal.api.storeout.StoreOut; +import com.yxt.supervise.portal.api.storeout.StoreOutAndItemDto; +import com.yxt.supervise.portal.api.storeout.StoreOutItem; +import com.yxt.supervise.portal.utils.ExcelUtil; +import org.apache.poi.hssf.usermodel.HSSFRow; +import org.apache.poi.hssf.usermodel.HSSFSheet; +import org.apache.poi.hssf.usermodel.HSSFWorkbook; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.io.BufferedInputStream; +import java.io.IOException; +import java.util.HashMap; +import java.util.Map; + +/** + * Project: yxt_supervise
+ * File: StoreOutService.java
+ * Class: com.yxt.supervise.portal.biz.storeout.StoreOutService
+ * Description: <描述类的功能>.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2022/11/24 1:10
+ * + * @author liupopo + * @version 1.0 + * @since 1.0 + */ +@Service +public class StoreOutService extends MybatisBaseService { + + @Autowired + private StoreOutItemService storeOutItemService; + + public ResultBean importXlsFromFilePath(String xlsFilePath) { + ResultBean rb = ResultBean.fireFail(); + + HSSFWorkbook hssfWorkbook = null; + try { + BufferedInputStream is = FileUtil.getInputStream(xlsFilePath); + hssfWorkbook = new HSSFWorkbook(is); + } catch (IOException e) { + e.printStackTrace(); + } + + HSSFSheet sheet = hssfWorkbook.getSheetAt(0); + + Map map = new HashMap<>(); + + for (int rowNum = 1; rowNum <= sheet.getLastRowNum(); rowNum++) { + HSSFRow row = sheet.getRow(rowNum); + String c_f = ExcelUtil.readStringFromHSSFRow(row, 5); // 单据号 + StoreOutAndItemDto dto = map.get(c_f); + if (dto == null) { + dto = new StoreOutAndItemDto(); + StoreOut si = createStoreOutFromRow(row); + dto.setStoreOut(si); + map.put(c_f, dto); + } + StoreOutItem item = createStoreOutItemFromRow(row); + dto.getItemList().add(item); + } + + for (String key : map.keySet()) { + StoreOutAndItemDto dto = map.get(key); + baseMapper.insert(dto.getStoreOut()); + storeOutItemService.saveBatch(dto.getItemList()); + } + return rb.success(); + } + + private StoreOut createStoreOutFromRow(HSSFRow row) { + // `orgCode` VARCHAR(100) NULL DEFAULT NULL COMMENT '企业组织机构代码证', + // `storeCode` VARCHAR(100) NULL DEFAULT NULL COMMENT '仓库/门店编号', + // `storeName` VARCHAR(100) NULL DEFAULT NULL COMMENT '仓库/门店名称', + // `receiptTime` DATETIME NULL DEFAULT NULL COMMENT '收货时间', + // `billNo` VARCHAR(100) NULL DEFAULT NULL COMMENT '单据号', + // `billType` VARCHAR(100) NULL DEFAULT NULL COMMENT '单据类型', + StoreOut si = new StoreOut(); + si.setOrgCode(ExcelUtil.readStringFromHSSFRow(row, 0)); + si.setStoreCode(ExcelUtil.readStringFromHSSFRow(row, 1)); + si.setStoreName(ExcelUtil.readStringFromHSSFRow(row, 2)); + si.setOutTime(ExcelUtil.readDateTimeFromHSSFRow(row, 3)); + si.setBillNo(ExcelUtil.readStringFromHSSFRow(row, 5)); + si.setBillType(ExcelUtil.readStringFromHSSFRow(row, 6)); + + return si; + } + + private StoreOutItem createStoreOutItemFromRow(HSSFRow row) { + // `storeinSid` VARCHAR(64) NULL DEFAULT NULL COMMENT '入库单SID', + // `billNo` VARCHAR(100) NULL DEFAULT NULL COMMENT '单据号', + // `supplierSid` VARCHAR(64) NULL DEFAULT NULL COMMENT '供应商SID', + // `storeinCode` VARCHAR(64) NULL DEFAULT NULL COMMENT '供应商代码', + // `supplierName` VARCHAR(100) NULL DEFAULT NULL COMMENT '供应商名称', + // `productCode` VARCHAR(100) NULL DEFAULT NULL COMMENT '货号', + // `productName` VARCHAR(100) NULL DEFAULT NULL COMMENT '商品名称', + // `productDate` DATE NULL DEFAULT NULL COMMENT '商品生产日期', + // `productQualityGuaranteePeriod` int(11) NULL DEFAULT NULL COMMENT '商品保质期(天)', + // `productSpecifications` VARCHAR(100) NULL DEFAULT NULL COMMENT '商品规格', + // `categoryKey` VARCHAR(100) NULL DEFAULT NULL COMMENT '类别编号', + // `category` VARCHAR(100) NULL DEFAULT NULL COMMENT '类别名称', + // `categoryOne` VARCHAR(100) NULL DEFAULT NULL COMMENT '一级类别名称', + // `categoryTwo` VARCHAR(100) NULL DEFAULT NULL COMMENT '二级类别名称', + // `inPrice` double(10,2) NULL DEFAULT NULL COMMENT '入库金额', + // `inNumber` int(11) NULL DEFAULT NULL COMMENT '入库数量', + // `costPrice` double(10,2) NULL DEFAULT NULL COMMENT '成本金额', + // `costTaxPrice` double(10,2) NULL DEFAULT NULL COMMENT '成本税额', + // `notTaxPrice` double(10,2) NULL DEFAULT NULL COMMENT '不含税成本', + // `inputTaxRate` int(11) NULL DEFAULT NULL COMMENT '进项税率', + StoreOutItem item = new StoreOutItem(); + item.setBillNo(ExcelUtil.readStringFromHSSFRow(row, 5)); + item.setSupplierName(ExcelUtil.readStringFromHSSFRow(row, 4)); + item.setProductCode(ExcelUtil.readStringFromHSSFRow(row, 7)); + item.setProductName(ExcelUtil.readStringFromHSSFRow(row, 8)); + item.setProductDate(ExcelUtil.readDateFromHSSFRow(row, 9)); + item.setProductQualityGuaranteePeriod(ExcelUtil.readIntFromHSSFRow(row, 10)); + item.setProductSpecifications(ExcelUtil.readStringFromHSSFRow(row, 11)); + item.setCategoryKey(ExcelUtil.readStringFromHSSFRow(row, 12)); + item.setCategory(ExcelUtil.readStringFromHSSFRow(row, 13)); + item.setCategoryOne(ExcelUtil.readStringFromHSSFRow(row, 14)); + item.setCategoryTwo(ExcelUtil.readStringFromHSSFRow(row, 15)); + item.setOutPrice(ExcelUtil.readDoubleFromHSSFRow(row, 16)); + item.setOutNumber(ExcelUtil.readIntFromHSSFRow(row, 17)); + item.setCostPrice(ExcelUtil.readDoubleFromHSSFRow(row, 18)); + item.setCostTaxPrice(ExcelUtil.readDoubleFromHSSFRow(row, 19)); + item.setNotTaxPrice(ExcelUtil.readDoubleFromHSSFRow(row, 20)); + item.setInputTaxRate(ExcelUtil.readIntFromHSSFRow(row, 21)); + return item; + } +} diff --git a/yxt_supervise/supervise-portal/supervise-portal-biz/src/main/java/com/yxt/supervise/portal/utils/ExcelUtil.java b/yxt_supervise/supervise-portal/supervise-portal-biz/src/main/java/com/yxt/supervise/portal/utils/ExcelUtil.java index 5e4e7e69..6609ff76 100644 --- a/yxt_supervise/supervise-portal/supervise-portal-biz/src/main/java/com/yxt/supervise/portal/utils/ExcelUtil.java +++ b/yxt_supervise/supervise-portal/supervise-portal-biz/src/main/java/com/yxt/supervise/portal/utils/ExcelUtil.java @@ -1,11 +1,15 @@ package com.yxt.supervise.portal.utils; +import cn.hutool.core.date.DateTime; +import cn.hutool.core.date.DateUtil; import org.apache.commons.lang3.StringUtils; 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.ss.usermodel.CellType; +import java.util.Date; + public class ExcelUtil { public static String readStringFromHSSFRow(HSSFRow row, int col) { @@ -16,4 +20,46 @@ public class ExcelUtil { return ""; return cellValue; } + + public static Date readDateTimeFromHSSFRow(HSSFRow row, int col) { + String s = readStringFromHSSFRow(row, col); + if (StringUtils.isBlank(s)) + return null; + DateTime parse = DateUtil.parse(s, "yyyy-MM-dd HH:mm:ss"); + return parse; + } + + public static Date readDateFromHSSFRow(HSSFRow row, int col) { + String s = readStringFromHSSFRow(row, col); + if (StringUtils.isBlank(s)) + return null; + DateTime parse = DateUtil.parse(s, "HH:mm:ss"); + return parse; + } + + public static Integer readIntFromHSSFRow(HSSFRow row, int col) { + String s = readStringFromHSSFRow(row, col); + if (StringUtils.isBlank(s)) + return null; + Integer rs = null; + try { + rs = Integer.valueOf(s); + } catch (Exception e) { + e.printStackTrace(); + } + return rs; + } + + public static Double readDoubleFromHSSFRow(HSSFRow row, int col) { + String s = readStringFromHSSFRow(row, col); + if (StringUtils.isBlank(s)) + return null; + Double rs = null; + try { + rs = Double.valueOf(s); + } catch (Exception e) { + e.printStackTrace(); + } + return rs; + } } diff --git a/yxt_supervise/supervise-portal/supervise-portal-biz/src/main/resources/application.yml b/yxt_supervise/supervise-portal/supervise-portal-biz/src/main/resources/application.yml index 704c366d..868d86f0 100644 --- a/yxt_supervise/supervise-portal/supervise-portal-biz/src/main/resources/application.yml +++ b/yxt_supervise/supervise-portal/supervise-portal-biz/src/main/resources/application.yml @@ -2,7 +2,7 @@ spring: application: name: supervise-portal profiles: - active: devv + active: test messages: # 国际化资源文件路径 basename: i18n/messages