diff --git a/src/main/java/com/glxp/api/constant/Constant.java b/src/main/java/com/glxp/api/constant/Constant.java index 8a76726f..ef466a05 100644 --- a/src/main/java/com/glxp/api/constant/Constant.java +++ b/src/main/java/com/glxp/api/constant/Constant.java @@ -21,8 +21,6 @@ public class Constant { public static final String TH_ORDER = "TH"; //退货 - - /** * 盘点单据前缀 */ @@ -215,4 +213,20 @@ public class Constant { public static final String ORDER_STATUS_SUP_SEARCH = "supSearch"; + /**前端页面查询相关单据类型标识*/ + + + /** + * 送货管理界面: supDelivery + * 到货单管理界面: supArrival + * 退货单管理界面: supReturned + * 采购入库单界面: supPurchase + * 发票登记界面: supInvoice + * 出入库明细账 norDetail + * 寄售出入库明细账 preDetail + */ + + public static final String ORDER_ACTION_NOR_DETAIL = "norDetail"; + public static final String ORDER_ACTION_PRE_DETAIL = "preDetail"; + } diff --git a/src/main/java/com/glxp/api/controller/inout/IoOrderController.java b/src/main/java/com/glxp/api/controller/inout/IoOrderController.java index d75ca54e..d7ca9598 100644 --- a/src/main/java/com/glxp/api/controller/inout/IoOrderController.java +++ b/src/main/java/com/glxp/api/controller/inout/IoOrderController.java @@ -73,6 +73,11 @@ public class IoOrderController extends BaseController { if (StrUtil.isNotBlank(filterOrderRequest.getStatusType())) { orderService.setFilterStatus(filterOrderRequest); } + if (StrUtil.isNotBlank(filterOrderRequest.getActionType())) { + orderService.setActions(filterOrderRequest); + } + + String customerId = getCustomerId(); if (!customerId.equals("110")) { filterOrderRequest.setFromCorp(customerId); @@ -226,9 +231,6 @@ public class IoOrderController extends BaseController { } - - - @Resource IoCodeService codeService; diff --git a/src/main/java/com/glxp/api/controller/inout/IoOrderDetailResultController.java b/src/main/java/com/glxp/api/controller/inout/IoOrderDetailResultController.java index 4021dffd..5c5ffcdf 100644 --- a/src/main/java/com/glxp/api/controller/inout/IoOrderDetailResultController.java +++ b/src/main/java/com/glxp/api/controller/inout/IoOrderDetailResultController.java @@ -1,5 +1,6 @@ package com.glxp.api.controller.inout; +import cn.hutool.core.collection.CollUtil; import cn.hutool.core.util.StrUtil; import com.github.pagehelper.PageInfo; import com.glxp.api.annotation.AuthRuleAnnotation; @@ -13,6 +14,7 @@ import com.glxp.api.entity.inout.IoOrderDetailCodeEntity; import com.glxp.api.entity.inout.IoOrderEntity; import com.glxp.api.req.inout.FilterCodeRequest; import com.glxp.api.req.inout.FilterOrderDetailResultRequest; +import com.glxp.api.req.inout.FilterOrderRequest; import com.glxp.api.res.inout.IoCodeResponse; import com.glxp.api.res.inout.IoOrderDetailResultResponse; import com.glxp.api.service.basic.IBasicBussinessTypeService; @@ -67,7 +69,13 @@ public class IoOrderDetailResultController extends BaseController { } else { orderDetailResultRequest.setFromCorp(getCustomerId()); } - + FilterOrderRequest filterOrderRequest = new FilterOrderRequest(); + filterOrderRequest.setActionType(orderDetailResultRequest.getActionType()); + List actions = orderService.setActions(filterOrderRequest); + if (CollUtil.isEmpty(actions)) { + return ResultVOUtils.success(""); + } + orderDetailResultRequest.setActions(actions); List list = orderDetailResultService.filterOrderList(orderDetailResultRequest); // for (IoOrderDetailResultResponse orderDetailResultResponse : list) { 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 3ce45f2e..87f8bf47 100644 --- a/src/main/java/com/glxp/api/controller/inv/InvProductController.java +++ b/src/main/java/com/glxp/api/controller/inv/InvProductController.java @@ -8,6 +8,7 @@ import com.glxp.api.annotation.AuthRuleAnnotation; 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.controller.BaseController; import com.glxp.api.entity.inv.InvProductDetailEntity; import com.glxp.api.entity.inv.InvProductEntity; import com.glxp.api.req.inv.FilterInvProductDetailRequest; @@ -39,7 +40,7 @@ import java.util.List; */ @Slf4j @RestController -public class InvProductController { +public class InvProductController extends BaseController { @Resource private InvProductService invProductService; @@ -51,7 +52,6 @@ public class InvProductController { private CustomerService customerService; - /** * 库存列表查询接口 * @@ -65,6 +65,7 @@ public class InvProductController { filterInvProductRequest.setNameCode(FilterUdiUtils.getDiStr(filterInvProductRequest.getUdiCode())); } + if (StrUtil.isBlank(filterInvProductRequest.getInvCode())) { List invCodes = warehouseUserService.selectCodeByUser(customerService.getUserIdStr()); if (CollUtil.isNotEmpty(invCodes)) { @@ -72,6 +73,13 @@ public class InvProductController { } } + if (isHosUser()) { + + } else { + filterInvProductRequest.setSupId(getCustomerId()); + } + + List list = invProductService.filterListProduct(filterInvProductRequest); PageInfo pageInfo = new PageInfo<>(list); InvProductPageResponse pageResponse = new InvProductPageResponse(); diff --git a/src/main/java/com/glxp/api/dao/basic/BasicBussinessTypeDao.java b/src/main/java/com/glxp/api/dao/basic/BasicBussinessTypeDao.java index 6d45a452..36dce29a 100644 --- a/src/main/java/com/glxp/api/dao/basic/BasicBussinessTypeDao.java +++ b/src/main/java/com/glxp/api/dao/basic/BasicBussinessTypeDao.java @@ -1,6 +1,7 @@ package com.glxp.api.dao.basic; import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.glxp.api.dao.BaseMapperPlus; import com.glxp.api.entity.basic.BasicBussinessTypeEntity; import com.glxp.api.req.basic.FilterBussinessTypeRequest; import com.glxp.api.res.basic.BasicBussinessTypeResponse; @@ -10,7 +11,7 @@ import org.apache.ibatis.annotations.Param; import java.util.List; @Mapper -public interface BasicBussinessTypeDao extends BaseMapper { +public interface BasicBussinessTypeDao extends BaseMapperPlus { /** diff --git a/src/main/java/com/glxp/api/entity/basic/BasicBussinessTypeEntity.java b/src/main/java/com/glxp/api/entity/basic/BasicBussinessTypeEntity.java index 1385bb46..2d1404c7 100644 --- a/src/main/java/com/glxp/api/entity/basic/BasicBussinessTypeEntity.java +++ b/src/main/java/com/glxp/api/entity/basic/BasicBussinessTypeEntity.java @@ -358,7 +358,7 @@ public class BasicBussinessTypeEntity { @TableField(value = "busType") private Integer busType; //1:正常;2:送货;3.到货,4:退货 - @TableField(value = "inStock") + @TableField(value = "inStock") //是否更改库存,1:是;0:否 private boolean inStock; diff --git a/src/main/java/com/glxp/api/req/inout/FilterOrderDetailResultRequest.java b/src/main/java/com/glxp/api/req/inout/FilterOrderDetailResultRequest.java index 303bdb1c..fe9c1b53 100644 --- a/src/main/java/com/glxp/api/req/inout/FilterOrderDetailResultRequest.java +++ b/src/main/java/com/glxp/api/req/inout/FilterOrderDetailResultRequest.java @@ -3,6 +3,8 @@ package com.glxp.api.req.inout; import com.glxp.api.util.page.ListPageRequest; import lombok.Data; +import java.util.List; + /** * 单据扫码明细查询参数 */ @@ -40,6 +42,6 @@ public class FilterOrderDetailResultRequest extends ListPageRequest { private String startAduditTime; //起始日期 private String endAduditTime; //结束日期 private String fromCorp; - - + private String actionType; + private List actions; } diff --git a/src/main/java/com/glxp/api/req/inout/FilterOrderRequest.java b/src/main/java/com/glxp/api/req/inout/FilterOrderRequest.java index 3ced6ef1..d6fbc06a 100644 --- a/src/main/java/com/glxp/api/req/inout/FilterOrderRequest.java +++ b/src/main/java/com/glxp/api/req/inout/FilterOrderRequest.java @@ -145,7 +145,8 @@ public class FilterOrderRequest extends ListPageRequest { * 退货单管理界面: supReturned * 采购入库单界面: supPurchase * 发票登记界面: supInvoice - * 出入库明细账 norDetail + * 出入库明细账 norDetail + * 寄售出入库明细账 preDetail */ private String actionType; @@ -153,6 +154,11 @@ public class FilterOrderRequest extends ListPageRequest { private Integer orderType; private Integer syncStatus; + /** + * 单据类型集合 + */ + private List actions; + /** * 单据状态集合 */ diff --git a/src/main/java/com/glxp/api/res/inv/InvPreinDetailResponse.java b/src/main/java/com/glxp/api/res/inv/InvPreinDetailResponse.java index 9b60912f..bc8e413a 100644 --- a/src/main/java/com/glxp/api/res/inv/InvPreinDetailResponse.java +++ b/src/main/java/com/glxp/api/res/inv/InvPreinDetailResponse.java @@ -71,6 +71,8 @@ public class InvPreinDetailResponse { private String auditTime; private String billNo; private String invName; + private String measname; + private String fromName; } diff --git a/src/main/java/com/glxp/api/service/inout/IoOrderService.java b/src/main/java/com/glxp/api/service/inout/IoOrderService.java index 51a244f0..735112a9 100644 --- a/src/main/java/com/glxp/api/service/inout/IoOrderService.java +++ b/src/main/java/com/glxp/api/service/inout/IoOrderService.java @@ -74,6 +74,8 @@ public interface IoOrderService { */ void setFilterStatus(FilterOrderRequest filterOrderRequest); + List setActions(FilterOrderRequest filterOrderRequest); + /** * 查询单号关联的所有单据数据 * diff --git a/src/main/java/com/glxp/api/service/inout/impl/IoOrderServiceImpl.java b/src/main/java/com/glxp/api/service/inout/impl/IoOrderServiceImpl.java index 693eed94..76b530e1 100644 --- a/src/main/java/com/glxp/api/service/inout/impl/IoOrderServiceImpl.java +++ b/src/main/java/com/glxp/api/service/inout/impl/IoOrderServiceImpl.java @@ -526,7 +526,7 @@ public class IoOrderServiceImpl implements IoOrderService { break; case Constant.ORDER_STATUS_AUDITED: filterOrderRequest.setStatuses(Arrays.asList(7)); - filterOrderRequest.setDealStatuses(Arrays.asList(3,4)); + filterOrderRequest.setDealStatuses(Arrays.asList(3, 4)); break; case Constant.ORDER_STATUS_SUP_SEARCH: filterOrderRequest.setStatuses(Arrays.asList(5, 7)); @@ -537,6 +537,36 @@ public class IoOrderServiceImpl implements IoOrderService { } } + + @Override + public List setActions(FilterOrderRequest filterOrderRequest) { + List bussinessTypeEntities; + List actions = null; + if (filterOrderRequest.getActionType() == null) + return null; + switch (filterOrderRequest.getActionType()) { + + case Constant.ORDER_ACTION_NOR_DETAIL: + bussinessTypeEntities = basicBussinessTypeDao.selectList(new QueryWrapper() + .eq("actionType", 1).eq("inStock", true)); + actions = bussinessTypeEntities.stream().map(BasicBussinessTypeEntity::getAction).collect(Collectors.toList()); + filterOrderRequest.setActions(actions); + break; + + case Constant.ORDER_ACTION_PRE_DETAIL: + bussinessTypeEntities = basicBussinessTypeDao.selectList(new QueryWrapper() + .eq("actionType", 3).eq("inStock", true)); + actions = bussinessTypeEntities.stream().map(BasicBussinessTypeEntity::getAction).collect(Collectors.toList()); + filterOrderRequest.setActions(actions); + break; + + default: + break; + } + ; + return actions; + } + @Override public List filterOrderTrace(String billNo) { IoOrderEntity order = orderDao.selectOne(new QueryWrapper().eq("billNo", billNo)); diff --git a/src/main/resources/mybatis/mapper/inout/IoOrderDao.xml b/src/main/resources/mybatis/mapper/inout/IoOrderDao.xml index 9d590e3f..d90193a2 100644 --- a/src/main/resources/mybatis/mapper/inout/IoOrderDao.xml +++ b/src/main/resources/mybatis/mapper/inout/IoOrderDao.xml @@ -52,6 +52,13 @@ AND date_format(auditTime, '%Y-%m-%d') between date_format(#{startAduditTime}, '%Y-%m-%d') and date_format(#{endAduditTime}, '%Y-%m-%d') + + AND `action` in + + #{item} + + + AND status in diff --git a/src/main/resources/mybatis/mapper/inout/IoOrderDetailResultDao.xml b/src/main/resources/mybatis/mapper/inout/IoOrderDetailResultDao.xml index db4506b4..c29a8ef6 100644 --- a/src/main/resources/mybatis/mapper/inout/IoOrderDetailResultDao.xml +++ b/src/main/resources/mybatis/mapper/inout/IoOrderDetailResultDao.xml @@ -24,7 +24,8 @@ diff --git a/src/main/resources/mybatis/mapper/inv/InvPreinDetailDao.xml b/src/main/resources/mybatis/mapper/inv/InvPreinDetailDao.xml index e7f7944c..48cc3e72 100644 --- a/src/main/resources/mybatis/mapper/inv/InvPreinDetailDao.xml +++ b/src/main/resources/mybatis/mapper/inv/InvPreinDetailDao.xml @@ -8,14 +8,17 @@ bp.ggxh, bp.manufactory, bp.zczbhhzbapzbh, + bp.measname, inv_prein_order.auditTime, inv_prein_order.billNo, - aw.name invName + aw.name invName, + bc.name fromName from inv_prein_detail ic inner join inv_prein_order on orderId = inv_prein_order.billNo left join basic_udirel bu on bu.id = ic.relId left join basic_products bp on bu.uuid = bp.uuid left join auth_warehouse aw on inv_prein_order.invCode = aw.code + left join basic_corp bc on inv_prein_order.fromCorp = bc.erpId AND ic.orderId = #{orderId}