1.新增用户模板授权分页列表接口,2.mock获取优化排单参数接口

This commit is contained in:
yangsb
2024-03-28 17:03:42 +08:00
parent 0f67ea72cb
commit 6f4e8938d6
14 changed files with 237 additions and 38 deletions
@@ -3,6 +3,7 @@ package com.cf.imes.module.executor.controller.admin.plan;
import cn.hutool.core.util.RandomUtil;
import com.cf.imes.framework.common.pojo.CommonResult;
import com.cf.imes.framework.operatelog.core.annotations.OperateLog;
import com.cf.imes.module.executor.controller.admin.plan.dto.Metrial;
import com.cf.imes.module.executor.controller.admin.plan.vo.*;
import com.cf.imes.module.executor.service.optimizeplan.OptimizePlanService;
import com.cf.imes.module.executor.util.RandomUtils;
@@ -17,6 +18,7 @@ import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
import javax.validation.Valid;
import javax.validation.constraints.NotNull;
import java.util.ArrayList;
import java.util.List;
/**
@@ -77,14 +79,15 @@ public class OptimizePlanController {
}
@GetMapping("/getOptimizePlanParam")
@Operation(summary = "获取优化排单参数 (未完成)")
@Operation(summary = "获取优化排单参数 (mock)")
@PreAuthorize("@ss.hasPermission('executor:optimize-plate:create')")
@Parameter(name = "planId", description = "排单id", required = false)
public CommonResult<OptimizeParamRespVO> getOptimizePlanParam (@RequestParam (required = false) Long planId) {
OptimizeParamRespVO data = RandomUtils.randomPojo(OptimizeParamRespVO.class);
return CommonResult.success(data);
/* OptimizeParamRespVO data = RandomUtils.randomPojo(OptimizeParamRespVO.class);
return CommonResult.success(data);*/
//todo
//return CommonResult.success(optimizePlanService.getOptimizePlanParam(planId));
OptimizeParamRespVO optimizePlanParam = optimizePlanService.getOptimizePlanParam(planId);
return CommonResult.success(optimizePlanParam);
}
}
@@ -5,8 +5,10 @@ import com.cf.imes.module.executor.controller.admin.plan.dto.Metrial;
import com.cf.imes.module.executor.controller.admin.plate.vo.PlateRespVO;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.time.LocalDateTime;
import java.util.Date;
@@ -20,6 +22,8 @@ import static com.cf.imes.framework.common.util.date.DateUtils.TIME_ZONE_DEFAULT
*/
@Data
@Builder
@AllArgsConstructor
@NoArgsConstructor
public class OptimizeParamRespVO {
@Schema(description = "排单id")
private Long planId;
@@ -1,11 +1,14 @@
package com.cf.imes.module.executor.service.optimizeplan;
import cn.hutool.core.collection.CollectionUtil;
import cn.hutool.core.util.RandomUtil;
import cn.hutool.core.util.StrUtil;
import com.cf.imes.framework.common.util.json.JsonUtils;
import com.cf.imes.framework.mybatis.core.query.LambdaQueryWrapperX;
import com.cf.imes.framework.mybatis.core.query.MPJLambdaWrapperX;
import com.cf.imes.module.executor.controller.admin.plan.dto.Metrial;
import com.cf.imes.module.executor.controller.admin.plan.vo.*;
import com.cf.imes.module.executor.controller.admin.plate.vo.PlateDetailVO;
import com.cf.imes.module.executor.dal.dataobject.goods.GoodsDO;
import com.cf.imes.module.executor.dal.dataobject.orderItem.OrderItemDO;
import com.cf.imes.module.executor.dal.dataobject.plan.PlanDO;
@@ -18,6 +21,7 @@ import com.cf.imes.module.executor.dal.mysql.goods.GoodsMapper;
import com.cf.imes.module.executor.dal.mysql.plan.PlanMapper;
import com.cf.imes.module.executor.dal.mysql.plate.PlateMapper;
import com.cf.imes.module.executor.dal.mysql.remainplaten.RemainPlateMapper;
import com.cf.imes.module.executor.util.RandomUtils;
import com.cf.imes.module.executor.util.RectangleChecker;
import com.cf.imes.module.infra.api.file.FileApi;
import com.cf.imes.module.infra.api.file.dto.FileCreateReqDTO;
@@ -205,6 +209,21 @@ public class OptimizePlanServiceImpl implements OptimizePlanService {
OptimizeParamRespVO optimizePlanParam = planMapper.getOptimizePlanParam(planId);
if(Objects.isNull(optimizePlanParam)) {
return RandomUtils.randomPojo(OptimizeParamRespVO.class);
}
//暂时先mock
ArrayList<Metrial> list = new ArrayList<>();
list.add(RandomUtils.randomPojo(Metrial.class));
list.add(RandomUtils.randomPojo(Metrial.class));
ArrayList<PlateDetailVO> plateDetailVOS = new ArrayList<>();
plateDetailVOS.add(RandomUtils.randomPojo(PlateDetailVO.class));
plateDetailVOS.add(RandomUtils.randomPojo(PlateDetailVO.class));
plateDetailVOS.add(RandomUtils.randomPojo(PlateDetailVO.class));
if( CollectionUtil.isNotEmpty(optimizePlanParam.getPlateList())) {
optimizePlanParam.getPlateList().get(0).setPlateDetailList(plateDetailVOS);
}
optimizePlanParam.setMetrialList(list);
return optimizePlanParam;
}
@@ -20,25 +20,26 @@
</resultMap>
<resultMap id="optimizeMap" type="com.cf.imes.module.executor.controller.admin.plan.vo.OptimizeParamRespVO">
<result column="planId" property="planId"/>
<result column="plan_id" property="planId"/>
<result column="plan_no" property="planNo"/>
<result column="sort" property="sort"/>
<result column="type" property="type"/>
<result column="status" property="status"/>
<result column="is_pay" property="isPay"/>
<result column="op_type" property="type"/>
<result column="op_status" property="status"/>
<result column="machine_id" property="machineId"/>
<result column="plan_time" property="planTime"/>
<result column="remark" property="remark"/>
<collection property="goodsList" javaType="java.util.List" ofType="com.cf.imes.module.executor.controller.admin.goods.vo.GoodsRespVO"/>
<collection property="orderList" javaType="java.util.List" ofType="com.cf.imes.module.executor.controller.admin.plan.vo.OrderResp"/>
<result column="op_remark" property="remark"/>
<result column="produce_time" property="produceTime" />
<result column="operator" property="operator"/>
<collection property="plateList" javaType="java.util.List" ofType="com.cf.imes.module.executor.controller.admin.plate.vo.PlateRespVO" >
<result column="plateId" property="id"/>
<result column="plan_no" property="plateNo"/>
<result column="type" property="type"/>
<result column="goods_id" property="goodsId"/>
<result column="width" property="width"/>
<result column="height" property="height"/>
<result column="thickness" property="thickness"/>
<result column="opl_order_id" property="orderId"/>
<result column="opl_type" property="type"/>
<result column="opl_name" property="name"/>
<result column="opl_goods_id" property="goodsId"/>
<result column="opl_width" property="width"/>
<result column="opl_height" property="height"/>
<result column="opl_thickness" property="thickness"/>
<result column="split_width" property="splitWidth"/>
<result column="split_height" property="splitHeight"/>
<result column="split_thickness" property="splitThickness"/>
@@ -54,21 +55,58 @@
<result property="frontHoleCount" column="front_hole_count"/>
<result property="backHoleCount" column="back_hole_count"/>
<result property="sideHoleCount" column="side_hole_count"/>
<result property="frontModelCount" column="front_model_count"/>
<result property="backModelCount" column="back_model_count"/>
<result property="isDoor" column="is_door"/>
<result property="openDoorType" column="open_door_type"/>
<result property="offsetX" column="offset_x"/>
<result property="offsetY" column="offset_y"/>
<result property="isArcAcross" column="is_arc_across"/>
<result property="moduleTypeId" column="module_typeId"/>
<result property="filterType" column="filter_type"/>
<result property="moduleTypeId" column="module_type_id"/>
<result property="filterType" column="filter_type"/>
<result property="isCancel" column="is_cancel"/>
<result property="createTime" column="create_time"/>
<result property="remark" column="opl_remark"/>
<result property="createTime" column="opl_create_time"/>
</collection>
<collection property="orderList" javaType="java.util.List" ofType="com.cf.imes.module.executor.controller.admin.plan.vo.OrderResp">
<result property="orderId" column="o_id"/>
<result property="type" column="o_type"/>
<result property="status" column="o_status"/>
<result property="dataType" column="data_type"/>
<result property="customOrderNo" column="custom_order_no"/>
<result column="customer" property="customer"/>
<result column="address" property="address"/>
<result column="phone_number" property="phoneNumber"/>
<result column="dealer" property="dealer"/>
<result column="dealer_phone_number" property="dealerPhoneNumber"/>
<result column="salesman" property="salesman"/>
<result column="splitter" property="splitter"/>
<result column="o_status" property="status"/>
<result column="delivery_date" property="deliveryDate"/>
<result column="o_remark" property="remark"/>
</collection>
</resultMap>
<select id="getOptimizePlanParam" resultMap="optimizeMap">
select op.id as plan_id, op.plan_no, op.type as op_type, op.status as op_status, op.machine_id, op.plan_time, op.produce_time, op.remark as op_remark, op.operator,
oi.order_id, opl.id as plateId, opl.order_id opl_order_id, opl.name opl_name, opl.plate_no, opl.type as opl_type, opl.goods_id as opl_goods_id, opl.width opl_width,
opl.height opl_height, opl.thickness as opl_thickness, opl.split_width, opl.split_height, opl.split_thickness, opl.seal_left, opl.seal_right,
opl.seal_up, opl.seal_down, opl.area, opl.texture, opl.hole_face, opl.hole_arrange, opl.unregular_point_count, opl.front_hole_count,
opl.back_hole_count, opl.side_hole_count, opl.front_model_count, opl.back_model_count, opl.is_door, opl.open_door_type, opl.offset_x, opl.offset_y,
opl.is_arc_across, opl.module_type_id, opl.filter_type, opl.remark opl_remark, opl.is_cancel, opl.create_time as opl_create_time,
o.id as o_id, o.type as o_type, o.data_type, o.status o_status, o.custom_order_no, o.customer,
o.address, o.phone_number, o.dealer, o.dealer_phone_number, o.salesman, o.splitter, o.remark as o_remark, o.delivery_date
from order_plan op
left JOIN order_plan_item opi on op.id = opi.plan_id
left join order_item oi on opi.item_id = oi.id
left join order_plate opl on oi.plate_id = opl.id
left join `order` o on oi.order_id = o.id
where op.id = #{planId}
</select>
<select id="selectPlateListByPlanId"
resultType="com.cf.imes.module.executor.controller.admin.plan.vo.PlateOptimize">
select a.goods_id, a.goods_name, a.material, a.color, a.width, a.height, a.thickness, count(b.id) as plateNum, d.*
@@ -81,14 +119,4 @@
</select>
<select id="getOptimizePlanParam" resultMap="optimizeMap">
select op.*, oi.order_id, opl.id as plateId, opl.*, og.*
from order_plan op
left JOIN order_plan_item opi on op.id = opi.plan_id
left join order_item oi on opi.item_id = oi.id
left join order_plate opl on oi.plate_id = opl.id
left join order_goods og on opl.goods_id = og.goods_id
where op.id = #{planId}
</select>
</mapper>