From 52f27786aaf39d9ba27030f75d0f1e2b938d1845 Mon Sep 17 00:00:00 2001 From: x_z Date: Thu, 9 Feb 2023 14:59:36 +0800 Subject: [PATCH] =?UTF-8?q?1.=E5=AE=8C=E5=96=84=E5=BA=93=E5=AD=98=E8=AF=A6?= =?UTF-8?q?=E6=83=85=E6=9F=A5=E8=AF=A2=E6=8E=A5=E5=8F=A3=E9=80=BB=E8=BE=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/inv/InvProductController.java | 13 +++----- .../api/res/inv/InvProductDetailResponse.java | 10 ++++++ .../service/inv/InvProductDetailService.java | 8 +++++ .../inv/impl/InvProductDetailServiceImpl.java | 32 ++++++++++++++++++- src/main/java/com/glxp/api/util/DateUtil.java | 25 +++++++++++++++ 5 files changed, 79 insertions(+), 9 deletions(-) diff --git a/src/main/java/com/glxp/api/controller/inv/InvProductController.java b/src/main/java/com/glxp/api/controller/inv/InvProductController.java index 731c862ea..d5dece44f 100644 --- a/src/main/java/com/glxp/api/controller/inv/InvProductController.java +++ b/src/main/java/com/glxp/api/controller/inv/InvProductController.java @@ -7,7 +7,6 @@ import com.github.pagehelper.PageInfo; import com.glxp.api.common.enums.ResultEnum; import com.glxp.api.common.res.BaseResponse; import com.glxp.api.common.util.ResultVOUtils; -import com.glxp.api.constant.ConstantType; import com.glxp.api.entity.inv.InvProductDetailEntity; import com.glxp.api.entity.inv.InvProductEntity; import com.glxp.api.req.inv.FilterInvProductDetailRequest; @@ -19,6 +18,7 @@ import com.glxp.api.res.inv.InvProductPageResponse; import com.glxp.api.res.inv.InvProductResponse; import com.glxp.api.service.auth.CustomerService; import com.glxp.api.service.auth.WarehouseUserService; +import com.glxp.api.service.basic.IBasicBussinessTypeService; import com.glxp.api.service.inv.InvProductDetailService; import com.glxp.api.service.inv.InvProductService; import com.glxp.api.util.udi.FilterUdiUtils; @@ -48,6 +48,8 @@ public class InvProductController { private WarehouseUserService warehouseUserService; @Resource private CustomerService customerService; + @Resource + private IBasicBussinessTypeService bussinessTypeService; /** * 库存列表查询接口 @@ -98,13 +100,8 @@ public class InvProductController { invProductDetailEntities.forEach(invProductDetailEntity -> { InvProductDetailResponse response = new InvProductDetailResponse(); BeanUtil.copyProperties(invProductDetailEntity, response); - if (invProductDetailEntity.getMainAction().equals(ConstantType.TYPE_OUT)) { - response.setMainActionStr("出库"); - response.setOutCount(invProductDetailEntity.getCount()); - } else { - response.setMainActionStr("入库"); - response.setInCount(invProductDetailEntity.getCount()); - } + //设置单据类型名称等单据相关参数 + invProductDetailService.setOrderInfo(response); list.add(response); }); } diff --git a/src/main/java/com/glxp/api/res/inv/InvProductDetailResponse.java b/src/main/java/com/glxp/api/res/inv/InvProductDetailResponse.java index 5a9238526..8aeb691aa 100644 --- a/src/main/java/com/glxp/api/res/inv/InvProductDetailResponse.java +++ b/src/main/java/com/glxp/api/res/inv/InvProductDetailResponse.java @@ -107,6 +107,11 @@ public class InvProductDetailResponse { */ private String action; + /** + * 单据类型名称 + */ + private String actionName; + /** * 出入库类型中文字符串 */ @@ -121,4 +126,9 @@ public class InvProductDetailResponse { * 出库数量 */ private Integer outCount; + + /** + * 单据日期 + */ + private String orderTime; } diff --git a/src/main/java/com/glxp/api/service/inv/InvProductDetailService.java b/src/main/java/com/glxp/api/service/inv/InvProductDetailService.java index 8df090251..6d68e19d2 100644 --- a/src/main/java/com/glxp/api/service/inv/InvProductDetailService.java +++ b/src/main/java/com/glxp/api/service/inv/InvProductDetailService.java @@ -2,6 +2,7 @@ package com.glxp.api.service.inv; import com.glxp.api.entity.inv.InvProductDetailEntity; import com.glxp.api.req.inv.FilterInvProductDetailRequest; +import com.glxp.api.res.inv.InvProductDetailResponse; import java.util.List; @@ -24,4 +25,11 @@ public interface InvProductDetailService { List filterInvProductDetailList(FilterInvProductDetailRequest filterInvProductDetailRequest); boolean deleteInvProductDetail(FilterInvProductDetailRequest detailRequest); + + /** + * 库存详情封装单据相关信息 + * + * @param response + */ + void setOrderInfo(InvProductDetailResponse response); } diff --git a/src/main/java/com/glxp/api/service/inv/impl/InvProductDetailServiceImpl.java b/src/main/java/com/glxp/api/service/inv/impl/InvProductDetailServiceImpl.java index 1e61f48e8..daaafcc45 100644 --- a/src/main/java/com/glxp/api/service/inv/impl/InvProductDetailServiceImpl.java +++ b/src/main/java/com/glxp/api/service/inv/impl/InvProductDetailServiceImpl.java @@ -3,10 +3,17 @@ package com.glxp.api.service.inv.impl; import cn.hutool.core.collection.CollUtil; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.github.pagehelper.PageHelper; +import com.glxp.api.constant.ConstantType; +import com.glxp.api.dao.basic.BasicBussinessTypeDao; +import com.glxp.api.dao.inout.IoOrderDao; import com.glxp.api.dao.inv.InvProductDetailDao; +import com.glxp.api.entity.basic.BasicBussinessTypeEntity; +import com.glxp.api.entity.inout.IoOrderEntity; import com.glxp.api.entity.inv.InvProductDetailEntity; import com.glxp.api.req.inv.FilterInvProductDetailRequest; +import com.glxp.api.res.inv.InvProductDetailResponse; import com.glxp.api.service.inv.InvProductDetailService; +import com.glxp.api.util.DateUtil; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; @@ -19,7 +26,12 @@ import java.util.List; public class InvProductDetailServiceImpl implements InvProductDetailService { @Resource - InvProductDetailDao invProductDetailDao; + private InvProductDetailDao invProductDetailDao; + @Resource + private BasicBussinessTypeDao bussinessTypeDao; + @Resource + private IoOrderDao orderDao; + @Override public int insert(InvProductDetailEntity invProductDetailEntity) { @@ -61,4 +73,22 @@ public class InvProductDetailServiceImpl implements InvProductDetailService { public boolean deleteInvProductDetail(FilterInvProductDetailRequest detailRequest) { return invProductDetailDao.deleteInvProductDetail(detailRequest); } + + @Override + public void setOrderInfo(InvProductDetailResponse response) { + //设置出入库中文及出入库数量 + if (response.getMainAction().equals(ConstantType.TYPE_OUT)) { + response.setMainActionStr("出库"); + response.setOutCount(response.getCount()); + } else { + response.setMainActionStr("入库"); + response.setInCount(response.getCount()); + } + //设置单据类型名称 + BasicBussinessTypeEntity busType = bussinessTypeDao.selectOne(new QueryWrapper().select("name").eq("action", response.getAction())); + response.setActionName(busType.getName()); + //设置单据日期 + IoOrderEntity order = orderDao.selectOne(new QueryWrapper().select("createTime").eq("billNo", response.getOrderId())); + response.setOrderTime(DateUtil.toDateStr(order.getCreateTime(), "yyyy-MM-dd HH:mm:ss")); + } } diff --git a/src/main/java/com/glxp/api/util/DateUtil.java b/src/main/java/com/glxp/api/util/DateUtil.java index 7843e85d8..a83dd1944 100644 --- a/src/main/java/com/glxp/api/util/DateUtil.java +++ b/src/main/java/com/glxp/api/util/DateUtil.java @@ -1,6 +1,8 @@ package com.glxp.api.util; +import cn.hutool.core.util.StrUtil; import com.glxp.api.entity.inout.IoOrderEntity; +import lombok.extern.slf4j.Slf4j; import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.time.DateUtils; import org.apache.commons.lang3.time.FastDateFormat; @@ -11,6 +13,7 @@ import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.*; +@Slf4j public class DateUtil extends DateUtils { private static String[] parsePatterns = { @@ -579,4 +582,26 @@ public class DateUtil extends DateUtils { } return time; } + + /** + * 将Date类型转换为指定格式字符串 + * + * @param date + * @return + */ + public static String toDateStr(Date date, String format) { + if (null != date) { + try { + //如果未指定格式,则使用默认格式 + if (StrUtil.isBlank(format)) { + format = "yyyy-MM-dd HH:mm:ss"; + } + return cn.hutool.core.date.DateUtil.date(date).toString(format); + } catch (Exception e) { + log.error("日期类型转字符串异常,日期参数:{}, 格式:{}, 异常信息:{}", date, format, e); + } + } + log.error("日期类型转字符串异常,日期数据为空"); + return null; + } } \ No newline at end of file