diff --git a/bd-business/bd-business-sale/src/main/java/com/hzs/sale/deliver/controller/manage/SaDeliverController.java b/bd-business/bd-business-sale/src/main/java/com/hzs/sale/deliver/controller/manage/SaDeliverController.java index 4a46dd72..328e1ae6 100644 --- a/bd-business/bd-business-sale/src/main/java/com/hzs/sale/deliver/controller/manage/SaDeliverController.java +++ b/bd-business/bd-business-sale/src/main/java/com/hzs/sale/deliver/controller/manage/SaDeliverController.java @@ -215,23 +215,25 @@ public class SaDeliverController extends BaseController { public AjaxResult batchDeliverImport(MultipartFile file, @RequestParam("idList") List idList) throws Exception { ExcelUtil util = new ExcelUtil<>(DeliverTemplateParam.class); List deliverTemplateParamList = util.importExcel(file.getInputStream()); - Map templateParamMap = deliverTemplateParamList.stream().collect(Collectors.toMap(DeliverTemplateParam::getDeliverCode, val -> val)); // 返回数据 List resultList = new ArrayList<>(idList.size()); // 查询发货单信息 - List saDeliverList = iSaDeliverService.listDataBatch(idList); + List saDeliverList = iSaDeliverService.listByIds(idList); for (SaDeliver saDeliver : saDeliverList) { - DeliverTemplateParam deliverTemplate = templateParamMap.get(saDeliver.getDeliverCode()); - if (null != deliverTemplate) { - // 发货单号相同 ,则进行返回 - resultList.add(DeliverTemplateVO.builder() - .pkId(saDeliver.getPkId()) - .logisticsCompany(deliverTemplate.getLogisticsCompany().trim()) - .logisticsCode(deliverTemplate.getLogisticsCode().trim()) - .build()); + // 遍历导入数据,匹配发货单发货数据,如果相同则封装返回发货信息 + for (DeliverTemplateParam deliverTemplate : deliverTemplateParamList) { + if (saDeliver.getDeliverCode().equals(deliverTemplate.getDeliverCode())) { + // 物流单号相同,进行返回 + resultList.add(DeliverTemplateVO.builder() + .pkId(saDeliver.getPkId()) + .logisticsCompany(deliverTemplate.getLogisticsCompany().trim()) + .logisticsCode(deliverTemplate.getLogisticsCode().trim()) + .build()); + break; + } } } return AjaxResult.success(resultList); diff --git a/bd-business/bd-business-sale/src/main/java/com/hzs/sale/deliver/controller/manage/SaDeliverHandledController.java b/bd-business/bd-business-sale/src/main/java/com/hzs/sale/deliver/controller/manage/SaDeliverHandledController.java index c4dfe5e9..2334a220 100644 --- a/bd-business/bd-business-sale/src/main/java/com/hzs/sale/deliver/controller/manage/SaDeliverHandledController.java +++ b/bd-business/bd-business-sale/src/main/java/com/hzs/sale/deliver/controller/manage/SaDeliverHandledController.java @@ -3,6 +3,7 @@ package com.hzs.sale.deliver.controller.manage; import cn.hutool.core.bean.BeanUtil; import cn.hutool.core.collection.CollectionUtil; import cn.hutool.core.util.DesensitizedUtil; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.hzs.common.core.annotation.AccessPermissions; import com.hzs.common.core.annotation.Log; import com.hzs.common.core.annotation.RepeatSubmitSimple; @@ -18,6 +19,7 @@ import com.hzs.common.core.web.controller.BaseController; import com.hzs.common.core.web.domain.AjaxResult; import com.hzs.common.core.web.page.TableDataInfo; import com.hzs.common.domain.sale.deliver.SaDeliver; +import com.hzs.common.domain.sale.deliver.SaDeliverBarCode; import com.hzs.common.security.utils.SecurityUtils; import com.hzs.common.service.ITransactionCommonService; import com.hzs.common.util.TransactionUtils; @@ -43,11 +45,7 @@ import java.util.*; import java.util.stream.Collectors; /** - * @Description: 发货清单已合单控制器 - * @Author: jiang chao - * @Time: 2022/10/19 16:43 - * @Classname: SaDeliverController - * @PackageName: com.hzs.sale.order.controller.manager + * 发货清单已合单控制器 */ @RestController @RequestMapping("/manage/deliver-handled") @@ -162,6 +160,74 @@ public class SaDeliverHandledController extends BaseController { util.exportExcel(response, resultList, "发货清单已合单导出"); } + /** + * 仓储导出 + * + * @param response + * @param param + */ + @PostMapping("/wms-export") + public void wmsExport(HttpServletResponse response, DeliverHandledParam param) { + DateUtils.handTimeStartAndEnd(param.getCreationTime()); + DateUtils.handTimeStartAndEnd(param.getPayTime()); + + // 国家ID + Integer pkCountry = SecurityUtils.getPkCountry(); + + List voList = new ArrayList<>(); + + // 获取管理员权限(角色地区范围、体系列表、团队列表) + UserAuthorityDTO userAuthorityDTO = iUserServiceApi.getUserAuthority(SecurityUtils.getUserId()).getData(); + param.setAreaScopeList(userAuthorityDTO.getRoleAreaScopeList()); + param.setVertexIdList(userAuthorityDTO.getVertexIdList()); + param.setTeamList(userAuthorityDTO.getUserTeamList()); + + List resultList = iSaDeliverService.queryDeliverHandledList(param, pkCountry); + + // 当查询有数据才进行处理 + if (resultList.size() > 0) { + // 获取行政区划map + Map areaMap = iAreaServiceApi.getAreaMap(pkCountry).getData(); + + String deliverCode = ""; + DeliverWmsVO vo = null; + // 合并 key: 发货单号 + 仓储编号 + 规格,一样的累计数量 + String key = null; + for (DeliverHandledVO deliverHandled : resultList) { + if (null == key || !key.equals(deliverHandled.getDeliverCode() + "-" + deliverHandled.getWmsCode() + "-" + deliverHandled.getSpecsName())) { + // key: 发货单号 + 仓储编号 + 规格,一样的累计数量 + key = deliverHandled.getDeliverCode() + "-" + deliverHandled.getWmsCode() + "-" + deliverHandled.getSpecsName(); + + vo = DeliverWmsVO.builder() + .wmsCode(deliverHandled.getWmsCode()) + .productName(deliverHandled.getProductName()) + .specsName(deliverHandled.getSpecsName()) + .quantity(deliverHandled.getQuantity()) + .price(BigDecimal.ZERO) + .build(); + if (!deliverCode.equals(deliverHandled.getDeliverCode())) { + deliverCode = deliverHandled.getDeliverCode(); + vo.setDeliverCode(deliverHandled.getDeliverCode()); + vo.setRecName(deliverHandled.getRecName()); + vo.setRecPhone(deliverHandled.getRecPhone()); + + // 省市区处理 + OrderUtil.handleOrderAddress(areaMap, deliverHandled); + String address = deliverHandled.getRecProvinceVal() + + (StringUtils.isNotEmpty(deliverHandled.getRecCityVal()) ? deliverHandled.getRecCityVal() : "") + + (StringUtils.isNotEmpty(deliverHandled.getRecCountyVal()) ? deliverHandled.getRecCountyVal() : "") + + deliverHandled.getRecAddress(); + vo.setRecAddress(address); + } + voList.add(vo); + } else { + vo.setQuantity(vo.getQuantity() + deliverHandled.getQuantity()); + } + } + } + ExcelUtil util = new ExcelUtil<>(DeliverWmsVO.class); + util.exportExcel(response, voList, "发货清单已合单导出"); + } /** * 打印货单 diff --git a/bd-business/bd-business-sale/src/main/java/com/hzs/sale/deliver/param/DeliverTemplateParam.java b/bd-business/bd-business-sale/src/main/java/com/hzs/sale/deliver/param/DeliverTemplateParam.java index 60b4f395..ce783341 100644 --- a/bd-business/bd-business-sale/src/main/java/com/hzs/sale/deliver/param/DeliverTemplateParam.java +++ b/bd-business/bd-business-sale/src/main/java/com/hzs/sale/deliver/param/DeliverTemplateParam.java @@ -4,48 +4,45 @@ import com.hzs.common.core.annotation.Excel; import lombok.Data; /** - * @Description: 导入发货数据参数 - * @Author: jiang chao - * @Time: 2022/10/31 10:00 - * @Classname: BatchDeliverVO - * @PackageName: com.hzs.sale.deliver.vo + * 导入发货数据参数 */ @Data public class DeliverTemplateParam { - /** - * 收货姓名 - */ - @Excel(name = "收货姓名") - private String recName; +// /** +// * 收货姓名 +// */ +// @Excel(name = "收货姓名") +// private String recName; +// +// /** +// * 收货电话 +// */ +// @Excel(name = "收货电话") +// private String recPhone; +// +// /** +// * 收货地址 +// */ +// @Excel(name = "收货地址") +// private String recAddress; - /** - * 收货电话 - */ - @Excel(name = "收货电话") - private String recPhone; - - /** - * 收货地址 - */ - @Excel(name = "收货地址") - private String recAddress; /** * 发货单号 */ - @Excel(name = "发货单号") + @Excel(name = "订单号") private String deliverCode; /** * 物流公司 */ - @Excel(name = "物流公司") + @Excel(name = "快递公司") private String logisticsCompany; /** * 物流单号 */ - @Excel(name = "物流单号") + @Excel(name = "快递单号") private String logisticsCode; } diff --git a/bd-business/bd-business-sale/src/main/java/com/hzs/sale/deliver/vo/DeliverHandledVO.java b/bd-business/bd-business-sale/src/main/java/com/hzs/sale/deliver/vo/DeliverHandledVO.java index 18cba58e..6e53ffc5 100644 --- a/bd-business/bd-business-sale/src/main/java/com/hzs/sale/deliver/vo/DeliverHandledVO.java +++ b/bd-business/bd-business-sale/src/main/java/com/hzs/sale/deliver/vo/DeliverHandledVO.java @@ -10,11 +10,7 @@ import lombok.Data; import java.util.Date; /** - * @Description: 发货单已合并列表VO - * @Author: jiang chao - * @Time: 2022/11/5 15:51 - * @Classname: DeliverHandledVO - * @PackageName: com.hzs.sale.deliver.vo + * 发货单已合并列表VO */ @Data public class DeliverHandledVO { @@ -68,7 +64,7 @@ public class DeliverHandledVO { * 订单类型显示 */ @Excel(name = "订单类型") - private String orderTypeVal; + private String orderTypeVal; /** * 订单状态(EOrderStatus) @@ -102,6 +98,13 @@ public class DeliverHandledVO { */ @Excel(name = "产品编号") private String productCode; + + /** + * 产品编号 + */ + @Excel(name = "仓储编号") + private String wmsCode; + /** * 产品名称 */ diff --git a/bd-business/bd-business-sale/src/main/java/com/hzs/sale/deliver/vo/DeliverUnhandledVO.java b/bd-business/bd-business-sale/src/main/java/com/hzs/sale/deliver/vo/DeliverUnhandledVO.java index d0d01ac3..d602ba53 100644 --- a/bd-business/bd-business-sale/src/main/java/com/hzs/sale/deliver/vo/DeliverUnhandledVO.java +++ b/bd-business/bd-business-sale/src/main/java/com/hzs/sale/deliver/vo/DeliverUnhandledVO.java @@ -11,11 +11,7 @@ import java.math.BigDecimal; import java.util.Date; /** - * @Description: 发货单未合并列表VO - * @Author: jiang chao - * @Time: 2022/11/4 11:29 - * @Classname: DeliverUnhandledVO - * @PackageName: com.hzs.sale.deliver.vo + * 发货单未合并列表VO */ @Data public class DeliverUnhandledVO { diff --git a/bd-business/bd-business-sale/src/main/java/com/hzs/sale/deliver/vo/DeliverWmsVO.java b/bd-business/bd-business-sale/src/main/java/com/hzs/sale/deliver/vo/DeliverWmsVO.java new file mode 100644 index 00000000..0d66a917 --- /dev/null +++ b/bd-business/bd-business-sale/src/main/java/com/hzs/sale/deliver/vo/DeliverWmsVO.java @@ -0,0 +1,106 @@ +package com.hzs.sale.deliver.vo; + +import com.hzs.common.core.annotation.Excel; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; + +import java.io.Serializable; +import java.math.BigDecimal; + +/** + * 发货单WMS导出VO + */ +@Builder +@AllArgsConstructor +@NoArgsConstructor +@Data +public class DeliverWmsVO implements Serializable { + + @Excel(name = "<必填>订单号") + private String deliverCode; + + @Excel(name = "下单时间") + private String createTime; + @Excel(name = "付款时间") + private String payTime; + + @Excel(name = "交易类型") + private String payType; + @Excel(name = "业务员") + private String peopleName; + @Excel(name = "备注") + private String orderRemark; + @Excel(name = "买家留言") + private String buyRemark; + @Excel(name = "系统备注") + private String sysRemark; + @Excel(name = "仓库") + private String storeName; + @Excel(name = "总金额") + private BigDecimal totalAmount; + @Excel(name = "运费") + private String postAmount; + @Excel(name = "实付总额") + private String realTotalAmount; + @Excel(name = "本次收款") + private String receiveAmount; + @Excel(name = "结算账户") + private String settleAccount; + + @Excel(name = "<必填>收货人姓名") + private String recName; + + @Excel(name = "手机") + private String recPhone; + + @Excel(name = "固话") + private String fixedPhone; + + @Excel(name = "<必填>地址") + private String recAddress; + + @Excel(name = "邮编") + private String postal; + + @Excel(name = "电子邮箱") + private String email; + + @Excel(name = "<必填>商品编码") + private String wmsCode; + + @Excel(name = "产品名称") + private String productName; + + @Excel(name = "规格名称") + private String specsName; + + @Excel(name = "<必填>数量") + private Integer quantity; + + @Excel(name = "单价") + private BigDecimal price; + + @Excel(name = "实付") + private BigDecimal realPay; + + @Excel(name = "配送方式") + private String delivery; + + @Excel(name = "明细备注") + private String remark; + + @Excel(name = "批次号") + private String batchNo; + + @Excel(name = "生产日期") + private String produceDate; + + @Excel(name = "过期日期") + private String expireDate; + + + + +} diff --git a/bd-business/bd-business-sale/src/main/java/com/hzs/sale/product/controller/manage/params/ProductParams.java b/bd-business/bd-business-sale/src/main/java/com/hzs/sale/product/controller/manage/params/ProductParams.java index f7e31bac..143b509a 100644 --- a/bd-business/bd-business-sale/src/main/java/com/hzs/sale/product/controller/manage/params/ProductParams.java +++ b/bd-business/bd-business-sale/src/main/java/com/hzs/sale/product/controller/manage/params/ProductParams.java @@ -251,4 +251,9 @@ public class ProductParams implements Serializable { */ private Date removalTime; + /** + * 仓储产品编号 + */ + private String wmsCode; + } diff --git a/bd-business/bd-business-sale/src/main/java/com/hzs/sale/product/mapper/BdProductMapper.java b/bd-business/bd-business-sale/src/main/java/com/hzs/sale/product/mapper/BdProductMapper.java index 6b9cbe73..e46173b8 100644 --- a/bd-business/bd-business-sale/src/main/java/com/hzs/sale/product/mapper/BdProductMapper.java +++ b/bd-business/bd-business-sale/src/main/java/com/hzs/sale/product/mapper/BdProductMapper.java @@ -13,11 +13,7 @@ import org.apache.ibatis.annotations.Param; import java.util.List; /** - * @Description: 产品相关mapper - * @Author: yuhui - * @Time: 2022/8/29 10:59 - * @Classname: BdProductMapper - * @PackageName: com.hzs.sale.product.mapper + * 产品相关mapper */ public interface BdProductMapper extends BaseMapper { @@ -37,10 +33,7 @@ public interface BdProductMapper extends BaseMapper { List selectByQueryList(ProductParams productParams); /* - * @description: 根据规格、主键查询产品 - * @author: sui q - * @date: 2023/11/27 15:52 - * @param: null null + * 根据规格、主键查询产品 **/ List queryProductExtBySpecsId(@Param("productSpecsList") List productSpecsList, @Param("pkCountry") Integer pkCountry); diff --git a/bd-business/bd-business-sale/src/main/java/com/hzs/sale/product/service/impl/BdProductServiceImpl.java b/bd-business/bd-business-sale/src/main/java/com/hzs/sale/product/service/impl/BdProductServiceImpl.java index 702c59fc..7e2e96c2 100644 --- a/bd-business/bd-business-sale/src/main/java/com/hzs/sale/product/service/impl/BdProductServiceImpl.java +++ b/bd-business/bd-business-sale/src/main/java/com/hzs/sale/product/service/impl/BdProductServiceImpl.java @@ -108,6 +108,10 @@ public class BdProductServiceImpl extends ServiceImpl pkProductBasList) { - productBasSpecsServiceApi.removeByPkProductBasList(pkProductBasList); - } - @Override @Transactional(rollbackFor = Exception.class) public void updateProduct(ProductParams productParams, LoginUser loginUser) { @@ -243,6 +237,10 @@ public class BdProductServiceImpl extends ServiceImpl + @@ -75,6 +76,7 @@ +