mirror of
http://192.168.1.205:9980/cf_devdept2/cf_imes_server.git
synced 2026-08-12 21:02:08 +08:00
Merge branch 'main' of ssh://192.168.1.205:9922/cf_devdept2/cf_imes_server
This commit is contained in:
+1
-1
@@ -80,7 +80,7 @@ public class PlanController {
|
||||
}
|
||||
|
||||
@GetMapping("getOrderPageByPlanId")
|
||||
@Operation(summary = "获取生产单分页")
|
||||
@Operation(summary = "获取未排单的板材生产单板材分页列表")
|
||||
@PreAuthorize("@ss.hasPermission('executor:plan:query')")
|
||||
public CommonResult<PageResult<OrderRespVO>> getOrderPage(@Valid OrderPageReqVO pageReqVO) {
|
||||
return success(planService.getOrderPage(pageReqVO));
|
||||
|
||||
+8
-2
@@ -34,7 +34,13 @@ public class OrderRespVO {
|
||||
@JsonFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND, timezone = TIME_ZONE_DEFAULT)
|
||||
private Date deliveryDate;
|
||||
@Schema(description = "片数")
|
||||
private Integer num;
|
||||
private int num;
|
||||
@Schema(description = "平方")
|
||||
private BigDecimal area;
|
||||
private BigDecimal area = new BigDecimal("0");
|
||||
@Schema(description = "商品名称")
|
||||
private String goodsName;
|
||||
@Schema(description = "颜色")
|
||||
private String color;
|
||||
@Schema(description = "材质:颗粒板、欧松板、多层板、生态板、禾香板、密度板、实木、铝蜂窝板、铝塑板")
|
||||
private String material;
|
||||
}
|
||||
-1
@@ -15,7 +15,6 @@ public class PlanSaveReqVO {
|
||||
private Long id;
|
||||
|
||||
@Schema(description = "排单号", requiredMode = Schema.RequiredMode.REQUIRED)
|
||||
@NotEmpty(message = "排单号不能为空")
|
||||
private String planNo;
|
||||
|
||||
@Schema(description = "排序优先级", requiredMode = Schema.RequiredMode.REQUIRED)
|
||||
|
||||
+4
-1
@@ -2,7 +2,9 @@ package com.cf.imes.module.executor.dal.mysql.order;
|
||||
|
||||
import java.util.*;
|
||||
|
||||
import com.baomidou.mybatisplus.core.conditions.Wrapper;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.baomidou.mybatisplus.core.toolkit.Constants;
|
||||
import com.cf.imes.framework.common.pojo.PageResult;
|
||||
import com.cf.imes.framework.mybatis.core.mapper.BaseMapperX;
|
||||
import com.cf.imes.framework.mybatis.core.query.LambdaQueryWrapperX;
|
||||
@@ -10,6 +12,7 @@ import com.cf.imes.module.executor.controller.admin.plan.vo.OrderPageReqVO;
|
||||
import com.cf.imes.module.executor.controller.admin.plan.vo.OrderRespVO;
|
||||
import com.cf.imes.module.executor.dal.dataobject.order.OrderDO;
|
||||
import org.apache.ibatis.annotations.Mapper;
|
||||
import org.apache.ibatis.annotations.Param;
|
||||
|
||||
/**
|
||||
* 生产单表 order_{N} Mapper
|
||||
@@ -40,5 +43,5 @@ public interface OrderMapper extends BaseMapperX<OrderDO> {
|
||||
.orderByDesc(OrderDO::getId));
|
||||
}
|
||||
|
||||
IPage<OrderRespVO> selectOrderPage(IPage page, OrderPageReqVO pageReqVO);
|
||||
IPage<OrderRespVO> selectOrderPage(@Param("page") IPage page, @Param(Constants.WRAPPER) Wrapper<OrderDO> wrapper);
|
||||
}
|
||||
|
||||
+52
-39
@@ -8,6 +8,7 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.PageDTO;
|
||||
import com.cf.imes.framework.common.util.date.LocalDateTimeUtils;
|
||||
import com.cf.imes.framework.mybatis.core.query.LambdaQueryWrapperX;
|
||||
import com.cf.imes.framework.mybatis.core.query.QueryWrapperX;
|
||||
import com.cf.imes.module.executor.dal.dataobject.goods.GoodsDO;
|
||||
import com.cf.imes.module.executor.dal.dataobject.order.OrderDO;
|
||||
import com.cf.imes.module.executor.dal.dataobject.orderItem.OrderItemDO;
|
||||
@@ -21,7 +22,9 @@ import com.cf.imes.module.executor.dal.mysql.planitem.PlanItemMapper;
|
||||
import com.cf.imes.module.executor.dal.mysql.planorder.PlanOrderMapper;
|
||||
import com.cf.imes.module.executor.dal.mysql.plate.PlateMapper;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
|
||||
import org.springframework.validation.annotation.Validated;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
@@ -64,7 +67,7 @@ public class PlanServiceImpl implements PlanService {
|
||||
|
||||
@Resource
|
||||
private OrderItemMapper orderItemMapper;
|
||||
|
||||
|
||||
@Resource
|
||||
private OrderMapper orderMapper;
|
||||
|
||||
@@ -79,10 +82,10 @@ public class PlanServiceImpl implements PlanService {
|
||||
planMapper.insert(plan);
|
||||
Long planId = plan.getId();
|
||||
List<Long> orderIds = createReqVO.getOrderIds();
|
||||
if(CollectionUtil.isNotEmpty(orderIds)) {
|
||||
if (CollectionUtil.isNotEmpty(orderIds)) {
|
||||
ArrayList<PlanOrderDO> planOrderDOS = new ArrayList<>();
|
||||
for (Long orderId : orderIds) {
|
||||
planOrderDOS.add( PlanOrderDO.builder()
|
||||
planOrderDOS.add(PlanOrderDO.builder()
|
||||
.planId(planId)
|
||||
.orderId(orderId)
|
||||
.build());
|
||||
@@ -90,10 +93,10 @@ public class PlanServiceImpl implements PlanService {
|
||||
planOrderMapper.insertBatch(planOrderDOS);
|
||||
}
|
||||
List<Long> plateIds = createReqVO.getPlateIds();
|
||||
if(CollectionUtil.isNotEmpty(plateIds)) {
|
||||
if (CollectionUtil.isNotEmpty(plateIds)) {
|
||||
ArrayList<PlanItemDO> planItemDOS = new ArrayList<>();
|
||||
for (Long plateId : plateIds) {
|
||||
planItemDOS.add( PlanItemDO.builder()
|
||||
planItemDOS.add(PlanItemDO.builder()
|
||||
.planId(planId)
|
||||
.itemId(plateId)
|
||||
.build());
|
||||
@@ -118,10 +121,10 @@ public class PlanServiceImpl implements PlanService {
|
||||
planItemMapper.delete(new LambdaQueryWrapperX<PlanItemDO>().eq(PlanItemDO::getPlanId, planId));
|
||||
|
||||
List<Long> orderIds = updateReqVO.getOrderIds();
|
||||
if(CollectionUtil.isNotEmpty(orderIds)) {
|
||||
if (CollectionUtil.isNotEmpty(orderIds)) {
|
||||
ArrayList<PlanOrderDO> planOrderDOS = new ArrayList<>();
|
||||
for (Long orderId : orderIds) {
|
||||
planOrderDOS.add( PlanOrderDO.builder()
|
||||
planOrderDOS.add(PlanOrderDO.builder()
|
||||
.planId(planId)
|
||||
.orderId(orderId)
|
||||
.build());
|
||||
@@ -129,10 +132,10 @@ public class PlanServiceImpl implements PlanService {
|
||||
planOrderMapper.insertBatch(planOrderDOS);
|
||||
}
|
||||
List<Long> plateIds = updateReqVO.getPlateIds();
|
||||
if(CollectionUtil.isNotEmpty(plateIds)) {
|
||||
if (CollectionUtil.isNotEmpty(plateIds)) {
|
||||
ArrayList<PlanItemDO> planItemDOS = new ArrayList<>();
|
||||
for (Long plateId : plateIds) {
|
||||
planItemDOS.add( PlanItemDO.builder()
|
||||
planItemDOS.add(PlanItemDO.builder()
|
||||
.planId(planId)
|
||||
.itemId(plateId)
|
||||
.build());
|
||||
@@ -180,9 +183,9 @@ public class PlanServiceImpl implements PlanService {
|
||||
Set<Long> ids = planDOPageResult.getList().stream().map(e -> e.getId()).collect(Collectors.toSet());
|
||||
List<GoodsDO> goodsDOS = goodsMapper.selectList(new LambdaQueryWrapperX<GoodsDO>().in(GoodsDO::getOrderNo, ids));
|
||||
PageResult<PlanRespVO> planRespVOPageResult = BeanUtils.toBean(planDOPageResult, PlanRespVO.class);
|
||||
planRespVOPageResult.getList().stream().forEach(e->{
|
||||
planRespVOPageResult.getList().stream().forEach(e -> {
|
||||
e.setPlateInfoList(goodsDOS.stream()
|
||||
.filter(f->Objects.equals(f.getOrderNo(), e.getId()))
|
||||
.filter(f -> Objects.equals(f.getOrderNo(), e.getId()))
|
||||
.map(p -> PlateInfoVO.builder()
|
||||
.width(p.getWidth())
|
||||
.height(p.getHeight())
|
||||
@@ -197,42 +200,52 @@ public class PlanServiceImpl implements PlanService {
|
||||
@Override
|
||||
public PageResult<OrderRespVO> getOrderPage(OrderPageReqVO pageReqVO) {
|
||||
PageDTO<OrderRespVO> page = new PageDTO<>(pageReqVO.getPageNo(), pageReqVO.getPageSize());
|
||||
orderMapper.selectOrderPage(page, pageReqVO);
|
||||
PageResult<OrderDO> orderDOPageResult = orderMapper.selectPage(pageReqVO, new LambdaQueryWrapperX<OrderDO>()
|
||||
|
||||
QueryWrapperX<OrderDO> queryWrapperX = new QueryWrapperX<>();
|
||||
queryWrapperX
|
||||
.eqIfPresent("customer", pageReqVO.getConsignee())
|
||||
.eqIfPresent("address", pageReqVO.getConsigneeAddress())
|
||||
.eqIfPresent("custom_order_no", pageReqVO.getDefaultId())
|
||||
.betweenIfPresent("delivery_date" ,new Date[]{pageReqVO.getBeginDate(), pageReqVO.getEndDate()})
|
||||
.isNull("d.order_id")
|
||||
;
|
||||
|
||||
LambdaQueryWrapperX<OrderDO> wrapper = new LambdaQueryWrapperX<OrderDO>()
|
||||
.eqIfPresent(OrderDO::getId, pageReqVO.getOrderId())
|
||||
.eqIfPresent(OrderDO::getCustomer, pageReqVO.getConsignee())
|
||||
.eqIfPresent(OrderDO::getAddress, pageReqVO.getConsigneeAddress())
|
||||
.eqIfPresent(OrderDO::getCustomOrderNo, pageReqVO.getDefaultId())
|
||||
.betweenIfPresent(OrderDO::getDeliveryDate, new Date[]{pageReqVO.getBeginDate(), pageReqVO.getEndDate()})
|
||||
);
|
||||
Set<Long> orderIds = orderDOPageResult.getList().stream().map(e -> e.getId()).collect(Collectors.toSet());
|
||||
;
|
||||
|
||||
Set<Long> dataIds = orderItemMapper.selectList(new LambdaQueryWrapperX<OrderItemDO>().in(OrderItemDO::getOrderId, orderIds))
|
||||
IPage<OrderRespVO> orderDOPageResult = orderMapper.selectOrderPage(page, queryWrapperX);
|
||||
if (CollectionUtil.isEmpty(orderDOPageResult.getRecords())) {
|
||||
return new PageResult<>();
|
||||
}
|
||||
//TODO 获取面积
|
||||
/*
|
||||
Set<Long> orderIds = orderDOPageResult.getRecords().stream().map(e -> e.getOrderId()).collect(Collectors.toSet());
|
||||
|
||||
Set<Long> dataIds = orderItemMapper.selectList(new LambdaQueryWrapperX<OrderItemDO>().notIn(OrderItemDO::getOrderId, orderIds))
|
||||
.stream().map(e -> e.getDataId()).collect(Collectors.toSet());
|
||||
List<PlateDO> plateDOS = plateMapper.selectList(new LambdaQueryWrapperX<PlateDO>().in(PlateDO::getId, dataIds));
|
||||
|
||||
List<OrderRespVO> list = orderDOPageResult.getList().stream().map(e -> {
|
||||
List<PlateDO> plateDOList = plateDOS.stream().filter(f -> Objects.equals(e.getOrganId(), e.getId())).collect(Collectors.toList());
|
||||
BigDecimal area = new BigDecimal("0");
|
||||
if(CollectionUtil.isNotEmpty(plateDOList)) {
|
||||
for (PlateDO plateDO : plateDOList) {
|
||||
area.add( plateDO.getWidth().multiply(plateDO.getHeight()));
|
||||
}
|
||||
}
|
||||
area.setScale(2, RoundingMode.HALF_UP);
|
||||
return OrderRespVO.builder()
|
||||
.orderId(e.getId())
|
||||
.address(e.getAddress())
|
||||
.customer(e.getCustomer())
|
||||
.defineId(e.getCustomOrderNo())
|
||||
.deliveryDate(DateUtil.date(e.getDeliveryDate()))
|
||||
.num(plateDOList.size())
|
||||
.area(area)
|
||||
.build();
|
||||
}
|
||||
).collect(Collectors.toList());
|
||||
return new PageResult<>(list, orderDOPageResult.getTotal());
|
||||
|
||||
if (CollectionUtil.isNotEmpty(dataIds)) {
|
||||
List<PlateDO> plateDOS = plateMapper.selectList(new LambdaQueryWrapperX<PlateDO>().in(PlateDO::getId, dataIds));
|
||||
orderDOPageResult.getRecords().stream().forEach(e -> {
|
||||
List<PlateDO> plateDOList = plateDOS.stream().filter(f -> Objects.equals(e.getOrderId(), f.getId())).collect(Collectors.toList());
|
||||
BigDecimal area = new BigDecimal("0");
|
||||
if (CollectionUtil.isNotEmpty(plateDOList)) {
|
||||
for (PlateDO plateDO : plateDOList) {
|
||||
area.add(plateDO.getWidth().multiply(plateDO.getHeight()));
|
||||
}
|
||||
}
|
||||
area.setScale(2, RoundingMode.HALF_UP);
|
||||
e.setArea(area);
|
||||
}
|
||||
);
|
||||
}*/
|
||||
// return new PageResult<>(list, orderDOPageResult.getTotal());
|
||||
return new PageResult<>(orderDOPageResult.getRecords(), orderDOPageResult.getTotal());
|
||||
}
|
||||
|
||||
}
|
||||
+4
@@ -166,3 +166,7 @@ justauth:
|
||||
type: REDIS
|
||||
prefix: 'social_auth_state:' # 缓存前缀,目前只对 Redis 缓存生效,默认 JUSTAUTH::STATE::
|
||||
timeout: 24h # 超时时长,目前只对 Redis 缓存生效,默认 3 分钟
|
||||
|
||||
mybatis-plus:
|
||||
configuration:
|
||||
log-impl: org.apache.ibatis.logging.stdout.StdOutImpl #开启sql日志
|
||||
+4
@@ -135,3 +135,7 @@ chenfeng:
|
||||
error-code: # 错误码相关配置项
|
||||
enable: false
|
||||
demo: false # 关闭演示模式
|
||||
|
||||
mybatis-plus:
|
||||
configuration:
|
||||
log-impl: org.apache.ibatis.logging.stdout.StdOutImpl #开启sql日志
|
||||
+7
-6
@@ -2,13 +2,14 @@
|
||||
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
|
||||
<mapper namespace="com.cf.imes.module.executor.dal.mysql.order.OrderMapper">
|
||||
|
||||
|
||||
<select id="selectOrderPage" resultType="com.cf.imes.module.executor.controller.admin.plan.vo.OrderRespVO">
|
||||
select a.id as orderId, a.delivery_date, a.customer, a.address, a.custom_order_no
|
||||
select a.id as orderId, a.delivery_date, a.customer, a.address, a.custom_order_no as defineId,
|
||||
count(c.id) as num, sum(c.area) as area, p.goods_name, p.color, p.material
|
||||
from `order` a
|
||||
left join prod_plan_order b on a.id = b.order_id
|
||||
left join order_plate c on a.id = c.order_id
|
||||
left join order_item d on a.id = d.order_id
|
||||
where d.order_id is null
|
||||
left join order_plate c ON a.id = c.order_id
|
||||
left join plate p on c.goods_id = p.goods_id
|
||||
left join order_item d ON c.order_id = d.order_id
|
||||
${ew.customSqlSegment}
|
||||
group by orderId, p.id
|
||||
</select>
|
||||
</mapper>
|
||||
+4
@@ -166,3 +166,7 @@ justauth:
|
||||
type: REDIS
|
||||
prefix: 'social_auth_state:' # 缓存前缀,目前只对 Redis 缓存生效,默认 JUSTAUTH::STATE::
|
||||
timeout: 24h # 超时时长,目前只对 Redis 缓存生效,默认 3 分钟
|
||||
|
||||
mybatis-plus:
|
||||
configuration:
|
||||
log-impl: org.apache.ibatis.logging.stdout.StdOutImpl #开启sql日志
|
||||
+4
@@ -133,3 +133,7 @@ chenfeng:
|
||||
error-code: # 错误码相关配置项
|
||||
enable: false
|
||||
demo: false # 关闭演示模式
|
||||
|
||||
mybatis-plus:
|
||||
configuration:
|
||||
log-impl: org.apache.ibatis.logging.stdout.StdOutImpl #开启sql日志
|
||||
@@ -166,3 +166,7 @@ justauth:
|
||||
type: REDIS
|
||||
prefix: 'social_auth_state:' # 缓存前缀,目前只对 Redis 缓存生效,默认 JUSTAUTH::STATE::
|
||||
timeout: 24h # 超时时长,目前只对 Redis 缓存生效,默认 3 分钟
|
||||
|
||||
mybatis-plus:
|
||||
configuration:
|
||||
log-impl: org.apache.ibatis.logging.stdout.StdOutImpl #开启sql日志
|
||||
@@ -135,3 +135,7 @@ chenfeng:
|
||||
error-code: # 错误码相关配置项
|
||||
enable: false
|
||||
demo: false # 关闭演示模式
|
||||
|
||||
mybatis-plus:
|
||||
configuration:
|
||||
log-impl: org.apache.ibatis.logging.stdout.StdOutImpl #开启sql日志
|
||||
Reference in New Issue
Block a user