出库单导入;
This commit is contained in:
+6
-6
@@ -72,14 +72,14 @@ public class StockOutOrderApplicationService {
|
|||||||
|
|
||||||
public List<StockOutOrderPO> queryList(StockOutOrderDO stockOutOrderDO) {
|
public List<StockOutOrderPO> queryList(StockOutOrderDO stockOutOrderDO) {
|
||||||
LoginUser loginUser = SecurityUtils.getLoginUser();
|
LoginUser loginUser = SecurityUtils.getLoginUser();
|
||||||
if (loginUser != null){
|
/*if (loginUser != null){
|
||||||
Long topOrganizationId = loginUser.getUserPo().getTopOrganizationId();
|
Long topOrganizationId = loginUser.getUserPo().getTopOrganizationId();
|
||||||
if (topOrganizationId != null && topOrganizationId != 1){
|
if (topOrganizationId != null && topOrganizationId != 1){
|
||||||
stockOutOrderDO.setTopOrganizationId(loginUser.getUserPo().getTopOrganizationId());
|
stockOutOrderDO.setTopOrganizationId(loginUser.getUserPo().getTopOrganizationId());
|
||||||
}
|
}
|
||||||
AssociationWarehouseCacheDO associationWarehouseCacheDO = SystemServiceCacheUtil.getAssociationWarehouseCache(loginUser.getUserid());
|
AssociationWarehouseCacheDO associationWarehouseCacheDO = SystemServiceCacheUtil.getAssociationWarehouseCache(loginUser.getUserid());
|
||||||
stockOutOrderDO.setWarehouseId(associationWarehouseCacheDO.getWarehouseId());
|
stockOutOrderDO.setWarehouseId(associationWarehouseCacheDO.getWarehouseId());
|
||||||
}
|
}*/
|
||||||
return stockOutOrderDomainService.queryList(stockOutOrderDO);
|
return stockOutOrderDomainService.queryList(stockOutOrderDO);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -89,13 +89,13 @@ public class StockOutOrderApplicationService {
|
|||||||
*/
|
*/
|
||||||
public Boolean insert(StockOutOrderDO stockOutOrderDO) {
|
public Boolean insert(StockOutOrderDO stockOutOrderDO) {
|
||||||
//设置仓库
|
//设置仓库
|
||||||
setWarehouseInfo(stockOutOrderDO);
|
//setWarehouseInfo(stockOutOrderDO);
|
||||||
//设置货主信息
|
//设置货主信息
|
||||||
shipperParam(stockOutOrderDO);
|
//shipperParam(stockOutOrderDO);
|
||||||
//设置客户信息
|
//设置客户信息
|
||||||
customerParam(stockOutOrderDO);
|
//customerParam(stockOutOrderDO);
|
||||||
//设置数据字典键值
|
//设置数据字典键值
|
||||||
setDataDict(stockOutOrderDO);
|
//setDataDict(stockOutOrderDO);
|
||||||
return stockOutOrderDomainService.insert(stockOutOrderDO);
|
return stockOutOrderDomainService.insert(stockOutOrderDO);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -1,6 +1,7 @@
|
|||||||
package com.mhd.wms.domain.stockOutOrder.entity;
|
package com.mhd.wms.domain.stockOutOrder.entity;
|
||||||
|
|
||||||
import com.baomidou.mybatisplus.annotation.IdType;
|
import com.baomidou.mybatisplus.annotation.IdType;
|
||||||
|
import com.baomidou.mybatisplus.annotation.TableField;
|
||||||
import com.baomidou.mybatisplus.annotation.TableId;
|
import com.baomidou.mybatisplus.annotation.TableId;
|
||||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||||
import com.mhd.common.core.annotation.Excel;
|
import com.mhd.common.core.annotation.Excel;
|
||||||
@@ -265,6 +266,7 @@ public class StockOutOrder extends BaseVOEntity {
|
|||||||
|
|
||||||
@ApiModelProperty("to")
|
@ApiModelProperty("to")
|
||||||
@Excel(name = "to")
|
@Excel(name = "to")
|
||||||
|
@TableField(value = "\"TO\"")
|
||||||
private String to;
|
private String to;
|
||||||
|
|
||||||
@ApiModelProperty("联系人")
|
@ApiModelProperty("联系人")
|
||||||
|
|||||||
+8
-1
@@ -4,8 +4,11 @@ import com.alibaba.excel.EasyExcel;
|
|||||||
import com.alibaba.excel.ExcelReader;
|
import com.alibaba.excel.ExcelReader;
|
||||||
import com.alibaba.excel.read.builder.ExcelReaderBuilder;
|
import com.alibaba.excel.read.builder.ExcelReaderBuilder;
|
||||||
import com.alibaba.excel.read.metadata.ReadSheet;
|
import com.alibaba.excel.read.metadata.ReadSheet;
|
||||||
|
import com.mhd.wms.application.service.stockOutOrder.StockOutOrderApplicationService;
|
||||||
import com.mhd.wms.domain.stockOutOrder.entity.StockOutOrder;
|
import com.mhd.wms.domain.stockOutOrder.entity.StockOutOrder;
|
||||||
|
import com.mhd.wms.domain.stockOutOrder.repository.facade.IStockOutOrderService;
|
||||||
import com.mhd.wms.domain.stockOutOrder.repository.todo.StockOutOrderDO;
|
import com.mhd.wms.domain.stockOutOrder.repository.todo.StockOutOrderDO;
|
||||||
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
import org.springframework.web.multipart.MultipartFile;
|
import org.springframework.web.multipart.MultipartFile;
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
@@ -18,6 +21,10 @@ import java.util.Map;
|
|||||||
@Service
|
@Service
|
||||||
public class ExcelParseService {
|
public class ExcelParseService {
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
private IStockOutOrderService stockOutOrderService;
|
||||||
|
@Autowired
|
||||||
|
private StockOutOrderApplicationService stockOutOrderApplicationService;
|
||||||
/**
|
/**
|
||||||
* 解析出仓委托单Excel
|
* 解析出仓委托单Excel
|
||||||
* @param file 上传的Excel文件
|
* @param file 上传的Excel文件
|
||||||
@@ -67,7 +74,7 @@ public class ExcelParseService {
|
|||||||
// 3. 组装完整的出仓委托单
|
// 3. 组装完整的出仓委托单
|
||||||
StockOutOrderDO stockOutOrder = headerListener.getStockOutOrder();
|
StockOutOrderDO stockOutOrder = headerListener.getStockOutOrder();
|
||||||
stockOutOrder.setMaterialDetailList(itemListener.getItemList());
|
stockOutOrder.setMaterialDetailList(itemListener.getItemList());
|
||||||
|
stockOutOrderApplicationService.insert(stockOutOrder);
|
||||||
return stockOutOrder;
|
return stockOutOrder;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
+3
-3
@@ -52,7 +52,7 @@ public class HeaderListener extends AnalysisEventListener<Map<Integer, Object>>
|
|||||||
// 将LocalDate转换为Date
|
// 将LocalDate转换为Date
|
||||||
LocalDate localDate = parseDate(getStringValue(rowData[2]));
|
LocalDate localDate = parseDate(getStringValue(rowData[2]));
|
||||||
if (localDate != null) {
|
if (localDate != null) {
|
||||||
Date date = Date.from(localDate.atStartOfDay(ZoneId.systemDefault()).toInstant());
|
Date date = Date.from(localDate.atStartOfDay(ZoneId.of("UTC")).toInstant());
|
||||||
stockOutOrder.setOutboundDate(date);
|
stockOutOrder.setOutboundDate(date);
|
||||||
}
|
}
|
||||||
stockOutOrder.setFax(getStringValue(rowData[4]));
|
stockOutOrder.setFax(getStringValue(rowData[4]));
|
||||||
@@ -65,7 +65,7 @@ public class HeaderListener extends AnalysisEventListener<Map<Integer, Object>>
|
|||||||
stockOutOrder.setCustomsDeclarerInfo(getStringValue(rowData[11]));
|
stockOutOrder.setCustomsDeclarerInfo(getStringValue(rowData[11]));
|
||||||
LocalDate CompleteTime = parseDate(getStringValue(rowData[15]));
|
LocalDate CompleteTime = parseDate(getStringValue(rowData[15]));
|
||||||
if (CompleteTime != null) {
|
if (CompleteTime != null) {
|
||||||
Date date = Date.from(CompleteTime.atStartOfDay(ZoneId.systemDefault()).toInstant());
|
Date date = Date.from(CompleteTime.atStartOfDay(ZoneId.of("UTC")).toInstant());
|
||||||
stockOutOrder.setCompleteTime(date);
|
stockOutOrder.setCompleteTime(date);
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
@@ -78,7 +78,7 @@ public class HeaderListener extends AnalysisEventListener<Map<Integer, Object>>
|
|||||||
case 9: // 第10行:下单日期、起运国
|
case 9: // 第10行:下单日期、起运国
|
||||||
LocalDate orderDate = parseDate(getStringValue(rowData[2]));
|
LocalDate orderDate = parseDate(getStringValue(rowData[2]));
|
||||||
if (orderDate != null) {
|
if (orderDate != null) {
|
||||||
Date date = Date.from(orderDate.atStartOfDay(ZoneId.systemDefault()).toInstant());
|
Date date = Date.from(orderDate.atStartOfDay(ZoneId.of("UTC")).toInstant());
|
||||||
stockOutOrder.setOrderDate(date);
|
stockOutOrder.setOrderDate(date);
|
||||||
}
|
}
|
||||||
stockOutOrder.setDepartureArrivalCountry(getStringValue(rowData[4]));
|
stockOutOrder.setDepartureArrivalCountry(getStringValue(rowData[4]));
|
||||||
|
|||||||
+22
-21
@@ -42,29 +42,30 @@ public class ItemListener extends AnalysisEventListener<Map<Integer, Object>> {
|
|||||||
//(KG)" 总毛重 (KG) "总体积
|
//(KG)" 总毛重 (KG) "总体积
|
||||||
//(CBM)" 总面积(SQM) Batch Ref NO's Sheet Ref NO's 原产国 箱号/卡板号 总价 币制 备注
|
//(CBM)" 总面积(SQM) Batch Ref NO's Sheet Ref NO's 原产国 箱号/卡板号 总价 币制 备注
|
||||||
item.setCommodityName(getStringValue(rowData[1]));
|
item.setCommodityName(getStringValue(rowData[1]));
|
||||||
item.setSpecificationModel(getStringValue(rowData[2]));
|
item.setMaterialNo(getStringValue(rowData[2]));
|
||||||
item.setSkucode(getStringValue(rowData[3]));
|
item.setSpecificationModel(getStringValue(rowData[3]));
|
||||||
item.setInvoiceNo(getStringValue(rowData[4]));
|
item.setSkucode(getStringValue(rowData[4]));
|
||||||
item.setDeclareQuantity(parseBigDecimal(rowData[5]).doubleValue());
|
item.setInvoiceNo(getStringValue(rowData[5]));
|
||||||
item.setDeclareUnit(getStringValue(rowData[6]));
|
item.setDeclareQuantity(parseBigDecimal(rowData[6]).doubleValue());
|
||||||
item.setLiter(getStringValue(rowData[7]));
|
item.setDeclareUnit(getStringValue(rowData[7]));
|
||||||
item.setCaseCount(parseInteger(rowData[8]).doubleValue());
|
item.setLiter(getStringValue(rowData[8]));
|
||||||
item.setPieceCount(parseInteger(rowData[9]).doubleValue());
|
item.setCaseCount(parseInteger(rowData[9]).doubleValue());
|
||||||
item.setSize(getStringValue(rowData[10]));
|
item.setPieceCount(parseInteger(rowData[10]).doubleValue());
|
||||||
|
item.setSize(getStringValue(rowData[11]));
|
||||||
//仓库数量 出库数量?
|
//仓库数量 出库数量?
|
||||||
item.setOutboundQuantity(parseBigDecimal(rowData[11]).doubleValue());
|
item.setOutboundQuantity(parseBigDecimal(rowData[12]).doubleValue());
|
||||||
item.setTotalNetWeight(parseBigDecimal(rowData[12]).doubleValue());
|
item.setTotalNetWeight(parseBigDecimal(rowData[13]).doubleValue());
|
||||||
item.setTotalGrossWeight(parseBigDecimal(rowData[13]).doubleValue());
|
item.setTotalGrossWeight(parseBigDecimal(rowData[14]).doubleValue());
|
||||||
item.setTotalVolume(parseBigDecimal(rowData[14]).doubleValue());
|
item.setTotalVolume(parseBigDecimal(rowData[15]).doubleValue());
|
||||||
item.setTotalArea(parseBigDecimal(rowData[15]).doubleValue());
|
item.setTotalArea(parseBigDecimal(rowData[16]).doubleValue());
|
||||||
item.setBatchRefNo(getStringValue(rowData[16]));
|
item.setBatchRefNo(getStringValue(rowData[17]));
|
||||||
item.setSheetRefNo(getStringValue(rowData[17]));
|
item.setSheetRefNo(getStringValue(rowData[18]));
|
||||||
item.setCountryOfOrigin(getStringValue(rowData[18]));
|
item.setCountryOfOrigin(getStringValue(rowData[19]));
|
||||||
|
|
||||||
item.setCasePalletNo(getStringValue(rowData[19]));
|
item.setCasePalletNo(getStringValue(rowData[20]));
|
||||||
item.setTotalAmount(parseBigDecimal(rowData[20]).doubleValue());
|
item.setTotalAmount(parseBigDecimal(rowData[21]).doubleValue());
|
||||||
item.setCurrency(getStringValue(rowData[21]));
|
item.setCurrency(getStringValue(rowData[22]));
|
||||||
item.setRemark(getStringValue(rowData[22]));
|
item.setRemark(getStringValue(rowData[23]));
|
||||||
|
|
||||||
itemList.add(item);
|
itemList.add(item);
|
||||||
}
|
}
|
||||||
|
|||||||
+8
-8
@@ -124,18 +124,18 @@ public class StockOutOrderDomainService {
|
|||||||
public Boolean insert(StockOutOrderDO stockOutOrderDO) {
|
public Boolean insert(StockOutOrderDO stockOutOrderDO) {
|
||||||
stockOutOrderDO.setOutOrderNumber(OrderSequence.getOrderCode("CK"));
|
stockOutOrderDO.setOutOrderNumber(OrderSequence.getOrderCode("CK"));
|
||||||
//设置物料信息
|
//设置物料信息
|
||||||
setMaterialDetailInfo(stockOutOrderDO);
|
//setMaterialDetailInfo(stockOutOrderDO);
|
||||||
//统计种类
|
//统计种类
|
||||||
stockOutOrderDO.setMaterialQuantity(stockOutOrderDO.getMaterialDetailList().size());
|
//stockOutOrderDO.setMaterialQuantity(stockOutOrderDO.getMaterialDetailList().size());
|
||||||
//统计总数量
|
//统计总数量
|
||||||
BigDecimal quantity = stockOutOrderDO.getMaterialDetailList().stream().map(OutMaterialDetailDO::getQuantity).reduce(BigDecimal.ZERO, BigDecimal::add);
|
//BigDecimal quantity = stockOutOrderDO.getMaterialDetailList().stream().map(OutMaterialDetailDO::getQuantity).reduce(BigDecimal.ZERO, BigDecimal::add);
|
||||||
stockOutOrderDO.setQuantity(quantity);
|
//stockOutOrderDO.setQuantity(quantity);
|
||||||
//统计总重量
|
//统计总重量
|
||||||
BigDecimal weightLimit = stockOutOrderDO.getMaterialDetailList().stream().map(OutMaterialDetailDO::getWeightLimit).filter(Objects::nonNull).reduce(BigDecimal.ZERO, BigDecimal::add);
|
// BigDecimal weightLimit = stockOutOrderDO.getMaterialDetailList().stream().map(OutMaterialDetailDO::getWeightLimit).filter(Objects::nonNull).reduce(BigDecimal.ZERO, BigDecimal::add);
|
||||||
stockOutOrderDO.setWeightLimit(weightLimit);
|
// stockOutOrderDO.setWeightLimit(weightLimit);
|
||||||
//统计总体积
|
//统计总体积
|
||||||
BigDecimal volumeLimit = stockOutOrderDO.getMaterialDetailList().stream().map(OutMaterialDetailDO::getVolumeLimit).filter(Objects::nonNull).reduce(BigDecimal.ZERO, BigDecimal::add);
|
//BigDecimal volumeLimit = stockOutOrderDO.getMaterialDetailList().stream().map(OutMaterialDetailDO::getVolumeLimit).filter(Objects::nonNull).reduce(BigDecimal.ZERO, BigDecimal::add);
|
||||||
stockOutOrderDO.setVolumeLimit(volumeLimit);
|
//stockOutOrderDO.setVolumeLimit(volumeLimit);
|
||||||
stockOutOrderService.insert(stockOutOrderDO);
|
stockOutOrderService.insert(stockOutOrderDO);
|
||||||
return outMaterialDetailService.batchInsert(stockOutOrderDO.getOutOrderNumber(), stockOutOrderDO.getMaterialDetailList());
|
return outMaterialDetailService.batchInsert(stockOutOrderDO.getOutOrderNumber(), stockOutOrderDO.getMaterialDetailList());
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user