Merge branch 'main' of ssh://192.168.1.205:9922/cf_devdept2/cf_imes_server

This commit is contained in:
lym
2024-04-28 16:14:14 +08:00
146 changed files with 7612 additions and 84 deletions
@@ -1,5 +1,8 @@
package com.cf.imes.module.executor.controller.admin.plan;
import com.cf.imes.module.executor.controller.admin.order.vo.order.OrderPageReqVO;
import com.cf.imes.module.executor.controller.admin.order.vo.order.OrderRespVO;
import com.cf.imes.module.executor.dal.dataobject.order.OrderDO;
import com.cf.imes.module.executor.service.order.OrderInputProcessor;
import com.cf.imes.module.executor.util.RandomUtils;
import com.cf.imes.module.executor.util.deviseData.Detail;
@@ -85,12 +88,18 @@ public class PlanController {
@GetMapping("getPlateByPlanId")
@Operation(summary = "根据排单id获取板材列表")
@Parameter(name = "id", description = "排单id", required = true, example = "1024")
@PreAuthorize("@ss.hasPermission('executor:plan:query')")
public CommonResult<List<PlateResList>> getPlateByPlanId(@Valid GetPlateByPlanIdVO vo) {
return success(planService.getPlateByPlanId(vo));
}
@GetMapping("getOrderByPlan")
@Operation(summary = "根据排单获取生产单分页")
@PreAuthorize("@ss.hasPermission('executor:plan:query')")
public CommonResult<PageResult<OrderRespVO>> getOrderByPlanId(@Valid PlanOrderPageReqVO pageReqVO) {
return success(planService.getOrderByPlanId(pageReqVO));
}
@GetMapping("/page")
@Operation(summary = "获得排单分页")
@PreAuthorize("@ss.hasPermission('executor:plan:query')")
@@ -0,0 +1,66 @@
package com.cf.imes.module.executor.controller.admin.plan.vo;
import com.cf.imes.framework.common.pojo.PageParam;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;
import javax.validation.constraints.NotNull;
import java.time.LocalDateTime;
import static com.cf.imes.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND;
/**
* @author Beal
*/
@Data
public class PlanOrderPageReqVO extends PageParam {
@Schema(description = "排单id")
@NotNull(message = "排单id不能空")
private Long planId;
/*@Schema(description = "交付日期")
@DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
private LocalDateTime[] deliveryDate;
@Schema(description = "生产单类型,1主单 2子单", example = "1")
private Boolean type;
@Schema(description = "生产单排序号")
private Integer sort;
@Schema(description = "CAD数据类型,1CAD 2WebCAD 3Excel", example = "1")
private Integer dataType;
@Schema(description = "订单状态,0未排单1已排单2生产中3加工完成4打包完成5入库完成6出库完成", example = "1")
private Integer status;
@Schema(description = "自定义单号")
private String customOrderNo;
@Schema(description = "客户")
private String customer;
@Schema(description = "客户地址")
private String address;
@Schema(description = "客户电话")
private String phoneNumber;
@Schema(description = "经销商")
private String dealer;
@Schema(description = "经销商电话")
private String dealerPhoneNumber;
@Schema(description = "业务员")
private String salesman;
@Schema(description = "拆单员")
private String splitter;
@Schema(description = "创建时间")
@DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
private LocalDateTime[] createTime;*/
}
@@ -40,6 +40,9 @@ public class PlanPageReqVO extends PageParam {
@Schema(description = "生产单号")
private String orderNos;
@Schema(description = "生产单客户")
private String customer;
@Schema(description = "备注", example = "你说的对")
private String remark;
@@ -60,6 +60,10 @@ public class PlanRespVO {
@ExcelProperty("备注")
private String remark;
@Schema(description = "创建人")
@ExcelProperty("创建人")
private String creator;
@Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED)
@ExcelProperty("创建时间")
private LocalDateTime createTime;
@@ -34,6 +34,9 @@ public class PlateInfoVO {
@Schema(description = "面积")
private BigDecimal area;
@Schema(description = "颜色")
private String color;
@Schema(description = "数量")
private Integer count;
@@ -2,10 +2,15 @@ package com.cf.imes.module.executor.dal.mysql.plan;
import java.util.*;
import cn.hutool.core.util.StrUtil;
import com.cf.imes.framework.common.pojo.PageResult;
import com.cf.imes.framework.mybatis.core.query.LambdaQueryWrapperX;
import com.cf.imes.framework.mybatis.core.mapper.BaseMapperX;
import com.cf.imes.framework.mybatis.core.query.MPJLambdaWrapperX;
import com.cf.imes.module.executor.dal.dataobject.order.OrderDO;
import com.cf.imes.module.executor.dal.dataobject.orderItem.OrderItemDO;
import com.cf.imes.module.executor.dal.dataobject.plan.PlanDO;
import com.cf.imes.module.executor.dal.dataobject.planitem.PlanItemDO;
import org.apache.ibatis.annotations.Mapper;
import com.cf.imes.module.executor.controller.admin.plan.vo.*;
@@ -18,6 +23,29 @@ import com.cf.imes.module.executor.controller.admin.plan.vo.*;
public interface PlanMapper extends BaseMapperX<PlanDO> {
default PageResult<PlanDO> selectPage(PlanPageReqVO reqVO) {
if(StrUtil.isNotBlank(reqVO.getCustomer())) {
return selectJoinPage(reqVO, PlanDO.class, new MPJLambdaWrapperX<PlanDO>()
.eqIfPresent(PlanDO::getPlanNo, reqVO.getPlanNo())
.eqIfPresent(PlanDO::getSort, reqVO.getSort())
.eqIfPresent(PlanDO::getType, reqVO.getType())
.eqIfPresent(PlanDO::getStatus, reqVO.getStatus())
.eqIfPresent(PlanDO::getIsPay, reqVO.getIsPay())
.eqIfPresent(PlanDO::getMachineId, reqVO.getMachineId())
.betweenIfPresent(PlanDO::getPlanTime, reqVO.getPlanTime())
.eqIfPresent(PlanDO::getOrderNos, reqVO.getOrderNos())
.eqIfPresent(PlanDO::getRemark, reqVO.getRemark())
.betweenIfPresent(PlanDO::getCreateTime, reqVO.getCreateTime())
.eqIfPresent(PlanDO::getOperator, reqVO.getOperator())
.betweenIfPresent(PlanDO::getProduceTime, reqVO.getProduceTime())
.leftJoin(PlanItemDO.class, PlanItemDO::getPlanId, PlanDO::getId)
.leftJoin(OrderItemDO.class, OrderItemDO::getId, PlanItemDO::getItemId)
.leftJoin(OrderDO.class, OrderDO::getId, OrderItemDO::getOrderId)
.like(OrderDO::getCustomer, reqVO.getCustomer())
.orderByAsc(PlanDO::getSort)
.orderByDesc(PlanDO::getId)
);
}
return selectPage(reqVO, new LambdaQueryWrapperX<PlanDO>()
.eqIfPresent(PlanDO::getPlanNo, reqVO.getPlanNo())
.eqIfPresent(PlanDO::getSort, reqVO.getSort())
@@ -31,6 +59,7 @@ public interface PlanMapper extends BaseMapperX<PlanDO> {
.betweenIfPresent(PlanDO::getCreateTime, reqVO.getCreateTime())
.eqIfPresent(PlanDO::getOperator, reqVO.getOperator())
.betweenIfPresent(PlanDO::getProduceTime, reqVO.getProduceTime())
.orderByAsc(PlanDO::getSort)
.orderByDesc(PlanDO::getId));
}
@@ -2,8 +2,11 @@ package com.cf.imes.module.executor.service.plan;
import java.util.*;
import javax.validation.*;
import com.cf.imes.module.executor.controller.admin.order.vo.order.OrderRespVO;
import com.cf.imes.module.executor.controller.admin.plan.vo.*;
import com.cf.imes.framework.common.pojo.PageResult;
import com.cf.imes.module.executor.dal.dataobject.order.OrderDO;
/**
* 生产单开料排单 Service 接口
@@ -59,4 +62,6 @@ public interface PlanService {
Boolean cancellation(Long id);
List<PlateResList> getPlateByPlanId(GetPlateByPlanIdVO vo);
PageResult<OrderRespVO> getOrderByPlanId(PlanOrderPageReqVO pageReqVO);
}
@@ -7,6 +7,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.PageDTO;
import com.cf.imes.framework.mybatis.core.query.LambdaQueryWrapperX;
import com.cf.imes.framework.mybatis.core.query.MPJLambdaWrapperX;
import com.cf.imes.framework.mybatis.core.query.QueryWrapperX;
import com.cf.imes.module.executor.controller.admin.order.vo.order.OrderRespVO;
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.orderBody.OrderBodyDO;
@@ -225,6 +226,7 @@ public class PlanServiceImpl implements PlanService {
.width(p.getWidth())
.height(p.getHeight())
.thickness(p.getThickness())
.color(p.getColor())
.area(p.getHeight().multiply(p.getWidth()).setScale(2, RoundingMode.HALF_UP))
.count(plateDOS.stream().filter(f -> Objects.equals(f.getGoodsId(), p.getGoodsId())).collect(Collectors.toSet()).size())
.build())
@@ -338,7 +340,7 @@ public class PlanServiceImpl implements PlanService {
List<PlateResList> list = plateMapper.selectPlateByPlanId(queryWrapperX);
Set<Long> bodyIds = list.stream().map(PlateResList::getBodyId).collect(Collectors.toSet());
Set<Long> roomIds = list.stream().map(PlateResList::getRoomId).collect(Collectors.toSet());
if(CollectionUtil.isNotEmpty(bodyIds)) {
if (CollectionUtil.isNotEmpty(bodyIds)) {
List<OrderBodyDO> orderBodyDOS = orderBodyMapper.selectBatchIds(bodyIds);
for (PlateResList resList : list) {
resList.setBodyName(orderBodyDOS.stream().filter(e -> Objects.equals(e.getId(), resList.getBodyId())).map(OrderBodyDO::getName).findAny().orElse(null));
@@ -356,4 +358,15 @@ public class PlanServiceImpl implements PlanService {
return list;
}
@Override
public PageResult<OrderRespVO> getOrderByPlanId(PlanOrderPageReqVO pageReqVO) {
MPJLambdaWrapperX<OrderDO> lambdaWrapperX = new MPJLambdaWrapperX<>();
lambdaWrapperX.leftJoin(OrderItemDO.class, OrderItemDO::getOrderId, OrderDO::getId)
.leftJoin(PlanItemDO.class, PlanItemDO::getItemId, OrderItemDO::getId)
.eq(PlanItemDO::getPlanId, pageReqVO.getPlanId());
PageResult<OrderDO> pageResult = orderMapper.selectJoinPage(pageReqVO, OrderDO.class, lambdaWrapperX);
return BeanUtils.toBean(pageResult, OrderRespVO.class);
}
}
@@ -7,7 +7,8 @@
c.goods_name, c.material, c.color, c.goods_id
from order_plate a
LEFT JOIN order_plan_item p on a.id = p.item_id
LEFT JOIN `order` b on a.order_id = b.id
LEFT JOIN order_item oi on p.item_id = oi.id
LEFT JOIN `order` b on oi.order_id = b.id
LEFT JOIN order_goods c on a.order_id = c.order_id
<where>
p.id is null