MyCat分表Organ_Id字段自动添加-获得生产单数据源参数添加

This commit is contained in:
liuzhaotian
2024-05-20 17:32:00 +08:00
parent 27eea2dd24
commit f2d7b6dc30
41 changed files with 278 additions and 33 deletions
@@ -5,9 +5,12 @@ import com.cf.imes.framework.web.core.util.WebFrameworkUtils;
import com.baomidou.mybatisplus.core.handlers.MetaObjectHandler; import com.baomidou.mybatisplus.core.handlers.MetaObjectHandler;
import org.apache.ibatis.reflection.MetaObject; import org.apache.ibatis.reflection.MetaObject;
import org.springframework.beans.factory.annotation.Autowired;
import javax.servlet.http.HttpServletRequest;
import java.time.LocalDateTime; import java.time.LocalDateTime;
import java.util.Objects; import java.util.Objects;
/** /**
* 通用参数填充实现类 * 通用参数填充实现类
* *
@@ -17,6 +20,10 @@ import java.util.Objects;
*/ */
public class DefaultDBFieldHandler implements MetaObjectHandler { public class DefaultDBFieldHandler implements MetaObjectHandler {
@Autowired
private HttpServletRequest request;
@Override @Override
public void insertFill(MetaObject metaObject) { public void insertFill(MetaObject metaObject) {
if (Objects.nonNull(metaObject) && metaObject.getOriginalObject() instanceof BaseDO) { if (Objects.nonNull(metaObject) && metaObject.getOriginalObject() instanceof BaseDO) {
@@ -34,6 +41,7 @@ public class DefaultDBFieldHandler implements MetaObjectHandler {
//Long userId = WebFrameworkUtils.getLoginUserId(); //Long userId = WebFrameworkUtils.getLoginUserId();
String loginUserName = WebFrameworkUtils.getLoginUserName(); String loginUserName = WebFrameworkUtils.getLoginUserName();
// 当前登录用户不为空,创建人为空,则当前登录用户为创建人 // 当前登录用户不为空,创建人为空,则当前登录用户为创建人
if (Objects.nonNull(loginUserName) && Objects.isNull(baseDO.getCreator())) { if (Objects.nonNull(loginUserName) && Objects.isNull(baseDO.getCreator())) {
baseDO.setCreator(loginUserName); baseDO.setCreator(loginUserName);
@@ -42,9 +50,20 @@ public class DefaultDBFieldHandler implements MetaObjectHandler {
if (Objects.nonNull(loginUserName) && Objects.isNull(baseDO.getUpdater())) { if (Objects.nonNull(loginUserName) && Objects.isNull(baseDO.getUpdater())) {
baseDO.setUpdater(loginUserName); baseDO.setUpdater(loginUserName);
} }
} }
// 获取当前用户登录的组织ID
Long organId = WebFrameworkUtils.getOrganId(request);
this.strictInsertFill(metaObject, "organId", Long.class, organId);
} }
@Override @Override
public void updateFill(MetaObject metaObject) { public void updateFill(MetaObject metaObject) {
// 更新时间为空,则以当前时间为更新时间 // 更新时间为空,则以当前时间为更新时间
@@ -60,5 +79,10 @@ public class DefaultDBFieldHandler implements MetaObjectHandler {
if (Objects.nonNull(loginUserName) && Objects.isNull(modifier)) { if (Objects.nonNull(loginUserName) && Objects.isNull(modifier)) {
setFieldValByName("updater", loginUserName, metaObject); setFieldValByName("updater", loginUserName, metaObject);
} }
// 获取当前用户登录的组织ID
Long organId = WebFrameworkUtils.getOrganId(request);
this.strictUpdateFill(metaObject, "organId", Long.class, organId);
} }
} }
@@ -1,6 +1,7 @@
package com.cf.imes.module.executor.controller.admin.plan.bo; package com.cf.imes.module.executor.controller.admin.plan.bo;
import com.cf.imes.module.executor.controller.admin.plan.vo.OptimizeParamRespVO; import com.cf.imes.module.executor.controller.admin.plan.vo.OptimizeParamRespVO;
import com.cf.imes.module.executor.controller.admin.plan.vo.OptimizePlateDetialRespVO;
import com.cf.imes.module.executor.controller.admin.plan.vo.PlateDetialRespVO; import com.cf.imes.module.executor.controller.admin.plan.vo.PlateDetialRespVO;
import com.cf.imes.module.executor.controller.admin.plate.vo.PlateDetailVO; 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.goods.GoodsDO;
@@ -26,6 +27,10 @@ import java.util.List;
@AllArgsConstructor @AllArgsConstructor
@NoArgsConstructor @NoArgsConstructor
public class OrderSource { public class OrderSource {
@Schema(description = "优化时数据")
private List<OptimizePlateDetialRespVO> optimizePlateDetialRespVO;
@Schema(description = "机台数据") @Schema(description = "机台数据")
private MachineDTO machineDTO; private MachineDTO machineDTO;
@@ -0,0 +1,46 @@
package com.cf.imes.module.executor.controller.admin.plan.vo;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
@Schema(description = "管理后台 - 优化时对应的数据")
@Data
public class OptimizePlateDetialRespVO {
@Schema(description = "大板名称", requiredMode = Schema.RequiredMode.REQUIRED)
private String plateName;
@Schema(description = "材料", requiredMode = Schema.RequiredMode.REQUIRED)
private String material;
@Schema(description = "颜色", requiredMode = Schema.RequiredMode.REQUIRED)
private String color;
@Schema(description = "纹路", requiredMode = Schema.RequiredMode.REQUIRED)
private Boolean texture;
@Schema(description = "厚度", requiredMode = Schema.RequiredMode.REQUIRED)
private Double thickness;
@Schema(description = "小板数量", requiredMode = Schema.RequiredMode.REQUIRED)
private Long plateNum;
@Schema(description = "大板数量", requiredMode = Schema.RequiredMode.REQUIRED)
private Long boardNum;
@Schema(description = "余料板数量", requiredMode = Schema.RequiredMode.REQUIRED)
private String remainPlateNum;
@Schema(description = "前N", requiredMode = Schema.RequiredMode.REQUIRED)
private Double topN;
@Schema(description = "最后", requiredMode = Schema.RequiredMode.REQUIRED)
private Double eventually;
@Schema(description = "开料刀", requiredMode = Schema.RequiredMode.REQUIRED)
private String knifeName;
@Schema(description = "尺寸规格", requiredMode = Schema.RequiredMode.REQUIRED)
private String spec;
}
@@ -26,6 +26,9 @@ public class PlateDetialRespVO {
@Schema(description = "商品ID", requiredMode = Schema.RequiredMode.REQUIRED) @Schema(description = "商品ID", requiredMode = Schema.RequiredMode.REQUIRED)
private Long goodsId; private Long goodsId;
@Schema(description = "商品名称", requiredMode = Schema.RequiredMode.REQUIRED)
private String goodsName;
@Schema(description = "板编号", requiredMode = Schema.RequiredMode.REQUIRED) @Schema(description = "板编号", requiredMode = Schema.RequiredMode.REQUIRED)
private String plateNo; private String plateNo;
@@ -1,5 +1,6 @@
package com.cf.imes.module.executor.dal.dataobject.goods; package com.cf.imes.module.executor.dal.dataobject.goods;
import com.cf.imes.framework.organ.core.db.OrganBaseDO;
import lombok.*; import lombok.*;
import java.math.BigDecimal; import java.math.BigDecimal;
@@ -29,6 +30,9 @@ public class GoodsDO extends BaseDO {
*/ */
@TableId @TableId
private Long id; private Long id;
// 组织 ID
@TableField(fill = FieldFill.INSERT_UPDATE)
private Long organId;
/** /**
* 生产单号 * 生产单号
*/ */
@@ -1,9 +1,8 @@
package com.cf.imes.module.executor.dal.dataobject.managePlate; package com.cf.imes.module.executor.dal.dataobject.managePlate;
import com.baomidou.mybatisplus.annotation.KeySequence; import com.baomidou.mybatisplus.annotation.*;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.cf.imes.framework.mybatis.core.dataobject.BaseDO; import com.cf.imes.framework.mybatis.core.dataobject.BaseDO;
import com.cf.imes.framework.organ.core.db.OrganBaseDO;
import lombok.*; import lombok.*;
import java.math.BigDecimal; import java.math.BigDecimal;
@@ -73,9 +72,8 @@ public class ManagePlateDO extends BaseDO {
*/ */
private String remark; private String remark;
/** // 组织 ID
* 组织id @TableField(fill = FieldFill.INSERT_UPDATE)
*/
private Long organId; private Long organId;
} }
@@ -1,5 +1,6 @@
package com.cf.imes.module.executor.dal.dataobject.module; package com.cf.imes.module.executor.dal.dataobject.module;
import com.cf.imes.framework.organ.core.db.OrganBaseDO;
import lombok.*; import lombok.*;
import java.util.*; import java.util.*;
import java.time.LocalDateTime; import java.time.LocalDateTime;
@@ -27,6 +28,9 @@ public class ModuleDO extends BaseDO {
*/ */
@TableId @TableId
private Long id; private Long id;
// 组织 ID
@TableField(fill = FieldFill.INSERT_UPDATE)
private Long organId;
/** /**
* 生产单号 * 生产单号
*/ */
@@ -1,5 +1,6 @@
package com.cf.imes.module.executor.dal.dataobject.moduleitem; package com.cf.imes.module.executor.dal.dataobject.moduleitem;
import com.cf.imes.framework.organ.core.db.OrganBaseDO;
import lombok.*; import lombok.*;
import java.util.*; import java.util.*;
import com.baomidou.mybatisplus.annotation.*; import com.baomidou.mybatisplus.annotation.*;
@@ -25,6 +26,9 @@ public class ModuleItemDO extends BaseDO {
*/ */
@TableId @TableId
private Long id; private Long id;
// 组织 ID
@TableField(fill = FieldFill.INSERT_UPDATE)
private Long organId;
/** /**
* 生产单号 * 生产单号
*/ */
@@ -22,13 +22,17 @@ import com.cf.imes.framework.mybatis.core.dataobject.BaseDO;
@Builder @Builder
@NoArgsConstructor @NoArgsConstructor
@AllArgsConstructor @AllArgsConstructor
public class OrderDO extends OrganBaseDO { public class OrderDO extends BaseDO {
/** /**
* 生产单号,主键 * 生产单号,主键
*/ */
@TableId @TableId
private Long id; private Long id;
// 组织 ID
@TableField(fill = FieldFill.INSERT_UPDATE)
private Long organId;
/** /**
* 父单号 * 父单号
*/ */
@@ -50,7 +54,7 @@ public class OrderDO extends OrganBaseDO {
*/ */
private Integer orderSort; private Integer orderSort;
/** /**
* 数据类型,1文件导入 2API 3数据源 * 数据类型,0文件导入 1API 2数据源
*/ */
private Integer dataType; private Integer dataType;
/** /**
@@ -1,5 +1,6 @@
package com.cf.imes.module.executor.dal.dataobject.orderBody; package com.cf.imes.module.executor.dal.dataobject.orderBody;
import com.cf.imes.framework.organ.core.db.OrganBaseDO;
import lombok.*; import lombok.*;
import com.baomidou.mybatisplus.annotation.*; import com.baomidou.mybatisplus.annotation.*;
import com.cf.imes.framework.mybatis.core.dataobject.BaseDO; import com.cf.imes.framework.mybatis.core.dataobject.BaseDO;
@@ -24,6 +25,10 @@ public class OrderBodyDO extends BaseDO {
*/ */
@TableId @TableId
private Long id; private Long id;
// 组织 ID
@TableField(fill = FieldFill.INSERT_UPDATE)
private Long organId;
/** /**
* 生产单号 * 生产单号
*/ */
@@ -1,5 +1,6 @@
package com.cf.imes.module.executor.dal.dataobject.orderGroup; package com.cf.imes.module.executor.dal.dataobject.orderGroup;
import com.cf.imes.framework.organ.core.db.OrganBaseDO;
import lombok.*; import lombok.*;
import com.baomidou.mybatisplus.annotation.*; import com.baomidou.mybatisplus.annotation.*;
import com.cf.imes.framework.mybatis.core.dataobject.BaseDO; import com.cf.imes.framework.mybatis.core.dataobject.BaseDO;
@@ -26,6 +27,9 @@ public class OrderGroupDO extends BaseDO {
*/ */
@TableId @TableId
private Long id; private Long id;
// 组织 ID
@TableField(fill = FieldFill.INSERT_UPDATE)
private Long organId;
/** /**
* 生产单号 * 生产单号
*/ */
@@ -1,5 +1,6 @@
package com.cf.imes.module.executor.dal.dataobject.orderItem; package com.cf.imes.module.executor.dal.dataobject.orderItem;
import com.cf.imes.framework.organ.core.db.OrganBaseDO;
import lombok.*; import lombok.*;
import java.util.*; import java.util.*;
import com.baomidou.mybatisplus.annotation.*; import com.baomidou.mybatisplus.annotation.*;
@@ -24,6 +25,7 @@ public class OrderItemDO {
*/ */
@TableId @TableId
private Long id; private Long id;
/** /**
* 生产单号 * 生产单号
*/ */
@@ -64,9 +66,8 @@ public class OrderItemDO {
* 部件数量 * 部件数量
*/ */
private Double num; private Double num;
/** // 组织 ID
* 组织id @TableField(fill = FieldFill.INSERT_UPDATE)
*/
private Long organId; private Long organId;
} }
@@ -47,6 +47,7 @@ public class OrderModuleExtraDO{
/** /**
* 组织数据 * 组织数据
*/ */
@TableField(fill = FieldFill.INSERT_UPDATE)
private Long organId; private Long organId;
} }
@@ -1,6 +1,7 @@
package com.cf.imes.module.executor.dal.dataobject.orderParts; package com.cf.imes.module.executor.dal.dataobject.orderParts;
import com.cf.imes.framework.mybatis.core.type.JsonLongSetTypeHandler; import com.cf.imes.framework.mybatis.core.type.JsonLongSetTypeHandler;
import com.cf.imes.framework.organ.core.db.OrganBaseDO;
import lombok.*; import lombok.*;
import java.util.*; import java.util.*;
import java.time.LocalDateTime; import java.time.LocalDateTime;
@@ -27,6 +28,9 @@ public class OrderPartsDO extends BaseDO {
*/ */
@TableId @TableId
private Long id; private Long id;
// 组织 ID
@TableField(fill = FieldFill.INSERT_UPDATE)
private Long organId;
/** /**
* 生产单号 * 生产单号
*/ */
@@ -1,5 +1,6 @@
package com.cf.imes.module.executor.dal.dataobject.plan; package com.cf.imes.module.executor.dal.dataobject.plan;
import com.cf.imes.framework.organ.core.db.OrganBaseDO;
import lombok.*; import lombok.*;
import java.util.*; import java.util.*;
import java.time.LocalDateTime; import java.time.LocalDateTime;
@@ -29,6 +30,9 @@ public class PlanDO extends BaseDO {
*/ */
@TableId @TableId
private Long id; private Long id;
// 组织 ID
@TableField(fill = FieldFill.INSERT_UPDATE)
private Long organId;
/** /**
* 排单号 * 排单号
*/ */
@@ -35,6 +35,7 @@ public class PlanItemDO {
/** /**
* 组织id * 组织id
*/ */
@TableField(fill = FieldFill.INSERT_UPDATE)
private Long organId; private Long organId;
} }
@@ -1,5 +1,6 @@
package com.cf.imes.module.executor.dal.dataobject.plate; package com.cf.imes.module.executor.dal.dataobject.plate;
import com.cf.imes.framework.organ.core.db.OrganBaseDO;
import lombok.*; import lombok.*;
import java.util.*; import java.util.*;
import java.math.BigDecimal; import java.math.BigDecimal;
@@ -38,6 +39,9 @@ public class PlateDO extends BaseDO {
*/ */
@TableId @TableId
private Long id; private Long id;
// 组织 ID
@TableField(fill = FieldFill.INSERT_UPDATE)
private Long organId;
/** /**
* 生产单号 * 生产单号
*/ */
@@ -1,8 +1,6 @@
package com.cf.imes.module.executor.dal.dataobject.plate; package com.cf.imes.module.executor.dal.dataobject.plate;
import com.baomidou.mybatisplus.annotation.KeySequence; import com.baomidou.mybatisplus.annotation.*;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.cf.imes.framework.mybatis.core.dataobject.BaseDO; import com.cf.imes.framework.mybatis.core.dataobject.BaseDO;
import lombok.*; import lombok.*;
@@ -78,6 +76,7 @@ public class PlateGoodDO extends BaseDO {
/** /**
* 组织id * 组织id
*/ */
@TableField(fill = FieldFill.INSERT_UPDATE)
private Long organId; private Long organId;
} }
@@ -1,5 +1,6 @@
package com.cf.imes.module.executor.dal.dataobject.process; package com.cf.imes.module.executor.dal.dataobject.process;
import com.cf.imes.framework.organ.core.db.OrganBaseDO;
import lombok.*; import lombok.*;
import java.util.*; import java.util.*;
import java.time.LocalDateTime; import java.time.LocalDateTime;
@@ -27,6 +28,9 @@ public class OrderProcessDO extends BaseDO {
*/ */
@TableId @TableId
private Long id; private Long id;
// 组织 ID
@TableField(fill = FieldFill.INSERT_UPDATE)
private Long organId;
/** /**
* 生产单号 * 生产单号
*/ */
@@ -1,5 +1,6 @@
package com.cf.imes.module.executor.dal.dataobject.processStep; package com.cf.imes.module.executor.dal.dataobject.processStep;
import com.cf.imes.framework.organ.core.db.OrganBaseDO;
import lombok.*; import lombok.*;
import java.util.*; import java.util.*;
import java.time.LocalDateTime; import java.time.LocalDateTime;
@@ -30,6 +31,9 @@ public class ProcessStepDO extends BaseDO {
*/ */
@TableId @TableId
private Long id; private Long id;
// 组织 ID
@TableField(fill = FieldFill.INSERT_UPDATE)
private Long organId;
/** /**
* 生产单号 * 生产单号
*/ */
@@ -1,8 +1,12 @@
package com.cf.imes.module.executor.dal.dataobject.processStepItem; package com.cf.imes.module.executor.dal.dataobject.processStepItem;
import com.baomidou.mybatisplus.annotation.FieldFill;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName; import com.baomidou.mybatisplus.annotation.TableName;
import com.cf.imes.framework.mybatis.core.dataobject.BaseDO;
import com.cf.imes.framework.organ.core.db.OrganBaseDO;
import lombok.*; import lombok.*;
@TableName(value = "order_process_step_item", autoResultMap = true) // 由于 SQL Server 的 system_user 是关键字,所以使用 system_users @TableName(value = "order_process_step_item", autoResultMap = true) // 由于 SQL Server 的 system_user 是关键字,所以使用 system_users
@@ -16,6 +20,10 @@ public class OrderProcessStepItemDO {
@TableId @TableId
private Long id; private Long id;
// 组织 ID
@TableField(fill = FieldFill.INSERT_UPDATE)
private Long organId;
// 工序项目名 // 工序项目名
private String name; private String name;
@@ -1,5 +1,6 @@
package com.cf.imes.module.executor.dal.dataobject.rawgoods; package com.cf.imes.module.executor.dal.dataobject.rawgoods;
import com.cf.imes.framework.organ.core.db.OrganBaseDO;
import lombok.*; import lombok.*;
import java.util.*; import java.util.*;
import java.time.LocalDateTime; import java.time.LocalDateTime;
@@ -27,6 +28,9 @@ public class RawGoodsDO extends BaseDO {
*/ */
@TableId @TableId
private Long id; private Long id;
// 组织 ID
@TableField(fill = FieldFill.INSERT_UPDATE)
private Long organId;
/** /**
* 生产单号 * 生产单号
*/ */
@@ -96,4 +96,9 @@ public interface PlateMapper extends BaseMapperX<PlateDO> {
List<PlateDetialRespVO> selectPlateDetialListByIds(@Param("orderIds") List<Long> orderIds); List<PlateDetialRespVO> selectPlateDetialListByIds(@Param("orderIds") List<Long> orderIds);
List<OptimizePlateDetialRespVO> selectPlate(@Param("orderId") Long orderId);
List<OptimizePlateDetialRespVO> selectPlateListByOrderIds(@Param("orderIds") List<Long> orderIds);
} }
@@ -301,6 +301,8 @@ public class OptimizePlanServiceImpl implements OptimizePlanService {
} }
OrderSource orderSource = new OrderSource(); OrderSource orderSource = new OrderSource();
List<OptimizePlateDetialRespVO> optimizePlateDetialRespVO = plateMapper.selectPlate(orderId);
List<GoodsDO> goodsDOS = goodsMapper.selectList(new LambdaQueryWrapperX<GoodsDO>() List<GoodsDO> goodsDOS = goodsMapper.selectList(new LambdaQueryWrapperX<GoodsDO>()
.eq(GoodsDO::getOrderId, orderId) .eq(GoodsDO::getOrderId, orderId)
); );
@@ -311,6 +313,7 @@ public class OptimizePlanServiceImpl implements OptimizePlanService {
List<OrderModelDO> orderModelDOS = buildRespByOrderId(orderId, ORDER_PLATE_MODEL); List<OrderModelDO> orderModelDOS = buildRespByOrderId(orderId, ORDER_PLATE_MODEL);
orderSource.setOptimizePlateDetialRespVO(optimizePlateDetialRespVO);
orderSource.setPlan(planDO); orderSource.setPlan(planDO);
orderSource.setOrderList(Collections.singletonList(orderDO)); orderSource.setOrderList(Collections.singletonList(orderDO));
orderSource.setPlateList(plateDOS); orderSource.setPlateList(plateDOS);
@@ -336,6 +339,8 @@ public class OptimizePlanServiceImpl implements OptimizePlanService {
List<OrderItemDO> orderItemDOS = orderItemMapper.selectJoinList(OrderItemDO.class, wrapper); List<OrderItemDO> orderItemDOS = orderItemMapper.selectJoinList(OrderItemDO.class, wrapper);
List<Long> orderIds = orderItemDOS.stream().map(OrderItemDO::getOrderId).collect(Collectors.toList()); List<Long> orderIds = orderItemDOS.stream().map(OrderItemDO::getOrderId).collect(Collectors.toList());
List<OptimizePlateDetialRespVO> optimizePlateDetialRespVOS = plateMapper.selectPlateListByOrderIds(orderIds);
List<OrderDO> orderDOS = orderMapper.selectBatchIds(orderIds); List<OrderDO> orderDOS = orderMapper.selectBatchIds(orderIds);
List<GoodsDO> goodsDOS = goodsMapper.selectList(new LambdaQueryWrapperX<GoodsDO>().in(GoodsDO::getOrderId, orderIds)); List<GoodsDO> goodsDOS = goodsMapper.selectList(new LambdaQueryWrapperX<GoodsDO>().in(GoodsDO::getOrderId, orderIds));
@@ -344,6 +349,7 @@ public class OptimizePlanServiceImpl implements OptimizePlanService {
List<OrderModelDO> orderModelDOS = buildRespByOrderIds(orderIds, ORDER_PLATE_MODEL); List<OrderModelDO> orderModelDOS = buildRespByOrderIds(orderIds, ORDER_PLATE_MODEL);
return OrderSource.builder() return OrderSource.builder()
.optimizePlateDetialRespVO(optimizePlateDetialRespVOS)
.orderList(orderDOS) .orderList(orderDOS)
.plan(planDO) .plan(planDO)
.goodsList(goodsDOS) .goodsList(goodsDOS)
@@ -111,7 +111,7 @@ public class PlateServiceImpl implements PlateService {
// 获取到当前登录用户的信息 // 获取到当前登录用户的信息
LoginUser loginUser = SecurityFrameworkUtils.getLoginUser(); LoginUser loginUser = SecurityFrameworkUtils.getLoginUser();
// 查询生产单下的大板余料板,排单状态的信息 // 查询生产单下的大板,余料板,排单状态的信息
PlateDetailRespVO plateDetailRespVO = plateMapper.selectPlateNumList(reqVO); PlateDetailRespVO plateDetailRespVO = plateMapper.selectPlateNumList(reqVO);
plateDetailRespVO.setCompanyId(loginUser.getId()); plateDetailRespVO.setCompanyId(loginUser.getId());
@@ -116,6 +116,7 @@
<resultMap id="PlateDetialMap" type="com.cf.imes.module.executor.controller.admin.plan.vo.PlateDetialRespVO"> <resultMap id="PlateDetialMap" type="com.cf.imes.module.executor.controller.admin.plan.vo.PlateDetialRespVO">
<result property="itemId" column="itemId"/> <result property="itemId" column="itemId"/>
<result property="goodsName" column="goodsName"/>
<result property="bodyName" column="bodyName"/> <result property="bodyName" column="bodyName"/>
<result property="roomName" column="roomName"/> <result property="roomName" column="roomName"/>
<result property="processGroupName" column="processGroupName"/> <result property="processGroupName" column="processGroupName"/>
@@ -128,11 +129,13 @@
select distinct op.*, select distinct op.*,
oi.id as itemId, oi.id as itemId,
ogs.goods_name as goodsName,
ob.name as bodyName, ob.name as bodyName,
ob.room_name as roomName, ob.room_name as roomName,
og.name as processGroupName, og.name as processGroupName,
CASE WHEN op.unregular_point_count = 0 and op.front_hole_count = 0 and op.back_hole_count = 0 and op.side_hole_count = 0 THEN false ELSE true END AS hasHole CASE WHEN op.unregular_point_count = 0 and op.front_hole_count = 0 and op.back_hole_count = 0 and op.side_hole_count = 0 THEN false ELSE true END AS hasHole
from order_plate op from order_plate op
left join order_goods ogs on op.goods_id = ogs.id
join order_item oi on op.id = oi.plate_id join order_item oi on op.id = oi.plate_id
join order_body ob on oi.body_id = ob.id join order_body ob on oi.body_id = ob.id
left join order_group og on oi.group_id = og.id left join order_group og on oi.group_id = og.id
@@ -147,11 +150,13 @@
select distinct op.*, select distinct op.*,
oi.id as itemId, oi.id as itemId,
ogs.goods_name as goodsName,
ob.name as bodyName, ob.name as bodyName,
ob.room_name as roomName, ob.room_name as roomName,
og.name as processGroupName, og.name as processGroupName,
CASE WHEN op.unregular_point_count = 0 and op.front_hole_count = 0 and op.back_hole_count = 0 and op.side_hole_count = 0 THEN false ELSE true END AS hasHole CASE WHEN op.unregular_point_count = 0 and op.front_hole_count = 0 and op.back_hole_count = 0 and op.side_hole_count = 0 THEN false ELSE true END AS hasHole
from order_plate op from order_plate op
left join order_goods ogs on op.goods_id = ogs.id
join order_item oi on op.id = oi.plate_id join order_item oi on op.id = oi.plate_id
join order_body ob on oi.body_id = ob.id join order_body ob on oi.body_id = ob.id
left join order_group og on oi.group_id = og.id left join order_group og on oi.group_id = og.id
@@ -167,4 +172,71 @@
</select> </select>
<resultMap id="PlateMap" type="com.cf.imes.module.executor.controller.admin.plan.vo.OptimizePlateDetialRespVO">
<result property="boardNum" column="boardNum"/>
<result property="plateNum" column="plateNum"/>
<result property="texture" column="texture"/>
<result property="plateName" column="plateName"/>
<result property="material" column="material"/>
<result property="color" column="color"/>
<result property="thickness" column="thickness"/>
<result property="spec" column="spec"/>
<result property="remainPlateNum" column="remainPlateNum"/>
</resultMap>
<select id="selectPlate"
resultMap="PlateMap"
parameterType="java.lang.Long">
select count(distinct og.id) as boardNum,
count(distinct op.id) as plateNum,
(case
when p.texture = null then false else true end ) as texture,
og.goods_name as plateName,
og.material as material,
og.color as color,
og.thickness as thickness,
og.spec as spec,
orp.count as remainPlateNum
from order_goods og
left join order_plate op on og.id = op.goods_id
left join plate p on og.goods_id = p.id
left join order_remain_plate orp on op.id = orp.plan_id
where og.order_id = #{orderId}
group by plateName,material,color,thickness,spec,remainPlateNum,texture;
</select>
<select id="selectPlateListByOrderIds"
resultMap="PlateMap"
parameterType="java.lang.Long">
select count(distinct og.id) as boardNum,
count(distinct op.id) as plateNum,
(case
when p.texture = null then false else true end ) as texture,
og.goods_name as plateName,
og.material as material,
og.color as color,
og.thickness as thickness,
og.spec as spec,
orp.count as remainPlateNum
from order_goods og
left join order_plate op on og.id = op.goods_id
left join plate p on og.goods_id = p.id
left join order_remain_plate orp on op.id = orp.plan_id
where og.order_id in
<foreach collection="orderIds" item="orderIds" open="(" close=")" separator=",">
#{orderIds}
</foreach>
group by plateName,material,color,thickness,spec,remainPlateNum,texture;
</select>
</mapper> </mapper>
@@ -1,6 +1,8 @@
package com.cf.imes.module.manage.dal.dataobject.pack; package com.cf.imes.module.manage.dal.dataobject.pack;
import com.baomidou.mybatisplus.annotation.FieldFill;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName; import com.baomidou.mybatisplus.annotation.TableName;
import com.cf.imes.framework.mybatis.core.dataobject.BaseDO; import com.cf.imes.framework.mybatis.core.dataobject.BaseDO;
@@ -23,6 +25,7 @@ public class OrderBodyDO extends BaseDO {
private Long orderId; private Long orderId;
// 组织 ID,默认为1 // 组织 ID,默认为1
@TableField(fill = FieldFill.INSERT_UPDATE)
private Long organId; private Long organId;
// 房间ID // 房间ID
@@ -1,9 +1,7 @@
package com.cf.imes.module.manage.dal.dataobject.patching; package com.cf.imes.module.manage.dal.dataobject.patching;
import com.baomidou.mybatisplus.annotation.KeySequence; import com.baomidou.mybatisplus.annotation.*;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.cf.imes.framework.mybatis.core.dataobject.BaseDO; import com.cf.imes.framework.mybatis.core.dataobject.BaseDO;
import com.cf.imes.framework.organ.core.db.OrganBaseDO; import com.cf.imes.framework.organ.core.db.OrganBaseDO;
import lombok.*; import lombok.*;
@@ -15,7 +13,7 @@ import lombok.*;
@Builder @Builder
@NoArgsConstructor @NoArgsConstructor
@AllArgsConstructor @AllArgsConstructor
public class PatchDetailDO extends OrganBaseDO { public class PatchDetailDO extends BaseDO {
// 补板ID // 补板ID
@@ -25,7 +23,8 @@ public class PatchDetailDO extends OrganBaseDO {
// 生产单号 // 生产单号
private Long orderId; private Long orderId;
// 组织 ID // 组织 ID,默认为1
@TableField(fill = FieldFill.INSERT_UPDATE)
private Long organId; private Long organId;
// 总面积 // 总面积
@@ -1,6 +1,8 @@
package com.cf.imes.module.manage.dal.dataobject.plate; package com.cf.imes.module.manage.dal.dataobject.plate;
import com.baomidou.mybatisplus.annotation.FieldFill;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName; import com.baomidou.mybatisplus.annotation.TableName;
import com.cf.imes.framework.mybatis.core.dataobject.BaseDO; import com.cf.imes.framework.mybatis.core.dataobject.BaseDO;
@@ -24,6 +26,7 @@ public class OrderPlateDO extends BaseDO {
private Long orderId; private Long orderId;
// 组织 ID // 组织 ID
@TableField(fill = FieldFill.INSERT_UPDATE)
private Long organId; private Long organId;
// 板名称 // 板名称
@@ -77,6 +77,7 @@ public class PlateDO extends BaseDO {
/** /**
* 组织id * 组织id
*/ */
@TableField(fill = FieldFill.INSERT_UPDATE)
private Long organId; private Long organId;
} }
@@ -1,6 +1,8 @@
package com.cf.imes.module.manage.dal.dataobject.process; package com.cf.imes.module.manage.dal.dataobject.process;
import com.baomidou.mybatisplus.annotation.FieldFill;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName; import com.baomidou.mybatisplus.annotation.TableName;
import com.cf.imes.framework.mybatis.core.dataobject.BaseDO; import com.cf.imes.framework.mybatis.core.dataobject.BaseDO;
@@ -35,6 +37,7 @@ public class OrderDO extends BaseDO {
private String phoneNumber; private String phoneNumber;
// 组织 id // 组织 id
@TableField(fill = FieldFill.INSERT_UPDATE)
private Long organId; private Long organId;
// 经销商 // 经销商
@@ -1,11 +1,9 @@
package com.cf.imes.module.manage.dal.dataobject.process; package com.cf.imes.module.manage.dal.dataobject.process;
import com.baomidou.mybatisplus.annotation.KeySequence; import com.baomidou.mybatisplus.annotation.*;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableLogic;
import com.baomidou.mybatisplus.annotation.TableName;
import com.cf.imes.framework.mybatis.core.dataobject.BaseDO; import com.cf.imes.framework.mybatis.core.dataobject.BaseDO;
import com.cf.imes.framework.organ.core.db.OrganBaseDO;
import lombok.*; import lombok.*;
@TableName(value = "order_process_step_item", autoResultMap = true) // 由于 SQL Server 的 system_user 是关键字,所以使用 system_users @TableName(value = "order_process_step_item", autoResultMap = true) // 由于 SQL Server 的 system_user 是关键字,所以使用 system_users
@@ -20,6 +18,10 @@ public class OrderProcessStepItemNDO {
@TableId @TableId
private Long id; private Long id;
// 组织 ID
@TableField(fill = FieldFill.INSERT_UPDATE)
private Long organId;
// 工序项目名 // 工序项目名
private String name; private String name;
@@ -1,9 +1,7 @@
package com.cf.imes.module.manage.dal.dataobject.process; package com.cf.imes.module.manage.dal.dataobject.process;
import com.baomidou.mybatisplus.annotation.KeySequence; import com.baomidou.mybatisplus.annotation.*;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.cf.imes.framework.mybatis.core.dataobject.BaseDO; import com.cf.imes.framework.mybatis.core.dataobject.BaseDO;
import lombok.AllArgsConstructor; import lombok.AllArgsConstructor;
import lombok.Builder; import lombok.Builder;
@@ -27,6 +25,7 @@ public class OrderProcessStepNDO extends BaseDO {
private Long orderId; private Long orderId;
//组织ID //组织ID
@TableField(fill = FieldFill.INSERT_UPDATE)
private Long organId; private Long organId;
// 完成时间 // 完成时间
@@ -1,9 +1,7 @@
package com.cf.imes.module.manage.dal.dataobject.process; package com.cf.imes.module.manage.dal.dataobject.process;
import com.baomidou.mybatisplus.annotation.KeySequence; import com.baomidou.mybatisplus.annotation.*;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.cf.imes.framework.mybatis.core.dataobject.BaseDO; import com.cf.imes.framework.mybatis.core.dataobject.BaseDO;
import lombok.*; import lombok.*;
@@ -74,5 +72,6 @@ public class ProcessDO extends BaseDO {
/** /**
* 组织id * 组织id
*/ */
@TableField(fill = FieldFill.INSERT_UPDATE)
private Long organId; private Long organId;
} }
@@ -1,6 +1,8 @@
package com.cf.imes.module.manage.dal.dataobject.query; package com.cf.imes.module.manage.dal.dataobject.query;
import com.baomidou.mybatisplus.annotation.FieldFill;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName; import com.baomidou.mybatisplus.annotation.TableName;
import lombok.*; import lombok.*;
@@ -45,6 +47,7 @@ public class OrderItemDO {
private Float num; private Float num;
// 组织 ID // 组织 ID
@TableField(fill = FieldFill.INSERT_UPDATE)
private Long organId; private Long organId;
@@ -1,9 +1,12 @@
package com.cf.imes.module.manage.dal.dataobject.query; package com.cf.imes.module.manage.dal.dataobject.query;
import com.baomidou.mybatisplus.annotation.FieldFill;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName; import com.baomidou.mybatisplus.annotation.TableName;
import com.cf.imes.framework.mybatis.core.dataobject.BaseDO; import com.cf.imes.framework.mybatis.core.dataobject.BaseDO;
import com.cf.imes.framework.organ.core.db.OrganBaseDO;
import lombok.*; import lombok.*;
@TableName("order_package_n") @TableName("order_package_n")
@@ -20,6 +23,10 @@ public class OrderPackageDO extends BaseDO {
@TableId @TableId
private Long id; private Long id;
// 组织 ID
@TableField(fill = FieldFill.INSERT_UPDATE)
private Long organId;
// 生产单号 // 生产单号
private Long orderNo; private Long orderNo;
@@ -35,8 +42,6 @@ public class OrderPackageDO extends BaseDO {
// 包裹状态,0未封包,1已封包,2已入库,3已出库 // 包裹状态,0未封包,1已封包,2已入库,3已出库
private Integer status; private Integer status;
// 组织ID
private Long organId;
// 备注 // 备注
private String remark; private String remark;
@@ -1,6 +1,8 @@
package com.cf.imes.module.manage.dal.dataobject.query; package com.cf.imes.module.manage.dal.dataobject.query;
import com.baomidou.mybatisplus.annotation.FieldFill;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName; import com.baomidou.mybatisplus.annotation.TableName;
import com.cf.imes.framework.mybatis.core.dataobject.BaseDO; import com.cf.imes.framework.mybatis.core.dataobject.BaseDO;
@@ -23,6 +25,7 @@ public class OrderPartsNDO extends BaseDO {
private Long orderId; private Long orderId;
// 组织 ID // 组织 ID
@TableField(fill = FieldFill.INSERT_UPDATE)
private Long organId; private Long organId;
// 商品ID // 商品ID
@@ -1,5 +1,6 @@
package com.cf.imes.module.manage.dal.dataobject.remainplaten; package com.cf.imes.module.manage.dal.dataobject.remainplaten;
import com.cf.imes.framework.organ.core.db.OrganBaseDO;
import lombok.*; import lombok.*;
import com.baomidou.mybatisplus.annotation.*; import com.baomidou.mybatisplus.annotation.*;
import com.cf.imes.framework.mybatis.core.dataobject.BaseDO; import com.cf.imes.framework.mybatis.core.dataobject.BaseDO;
@@ -26,6 +27,9 @@ public class RemainPlateDO extends BaseDO {
*/ */
@TableId @TableId
private Long id; private Long id;
// 组织 ID
@TableField(fill = FieldFill.INSERT_UPDATE)
private Long organId;
/** /**
* 排单 ID * 排单 ID
*/ */
@@ -79,5 +79,6 @@ public class ProcessDO extends BaseDO {
/** /**
* 组织id * 组织id
*/ */
@TableField(fill = FieldFill.INSERT_UPDATE)
private Long organId; private Long organId;
} }
@@ -27,6 +27,7 @@ public class ProcessGroupDO extends BaseDO {
/** /**
* 组织id * 组织id
*/ */
@TableField(fill = FieldFill.INSERT_UPDATE)
private Long organId; private Long organId;
/** /**
* 工序组名称 * 工序组名称
@@ -23,6 +23,7 @@ public class ProcessUserDO {
/** /**
* 组织 ID * 组织 ID
*/ */
@TableField(fill = FieldFill.INSERT_UPDATE)
private Long organId; private Long organId;
/** /**
* 工序 ID * 工序 ID