mirror of
http://192.168.1.205:9980/cf_devdept2/cf_imes_server.git
synced 2026-08-12 12:52:07 +08:00
贴皮管理查询对于已排贴皮的限制和过滤
This commit is contained in:
+9
-9
@@ -39,7 +39,7 @@ public class VeneerManageController {
|
||||
private VeneerManageService veneerManageService;
|
||||
|
||||
/**
|
||||
* 分页查询存在已分解贴皮板件的订单。
|
||||
* 分页查询存在可维护未排单贴皮的订单。
|
||||
*
|
||||
* @param req 分页及筛选条件
|
||||
* @return 订单分页列表
|
||||
@@ -53,7 +53,7 @@ public class VeneerManageController {
|
||||
}
|
||||
|
||||
/**
|
||||
* 分页查询存在已分解贴皮板件的板材。
|
||||
* 分页查询存在可维护未排单贴皮的板材。
|
||||
*
|
||||
* @param req 分页及筛选条件
|
||||
* @return 板材分页列表
|
||||
@@ -67,13 +67,13 @@ public class VeneerManageController {
|
||||
}
|
||||
|
||||
/**
|
||||
* 按订单查询已分解板件贴皮列表。
|
||||
* 按订单查询可维护的未排单板件贴皮列表。
|
||||
*
|
||||
* @param req 查询条件,必须包含订单ID列表,可按房间和柜体筛选
|
||||
* @return 已分解板件贴皮列表
|
||||
* @return 未排单板件贴皮列表
|
||||
*/
|
||||
@PostMapping("/order/plate/list")
|
||||
@Operation(summary = "按订单获取已分解板件贴皮列表")
|
||||
@Operation(summary = "按订单获取可维护的未排单板件贴皮列表")
|
||||
@PreAuthorize("@ss.hasPermission('unplannedOrders:query')")
|
||||
public CommonResult<List<VeneerManagePlateRespVO>> getVeneerManageOrderPlateList(
|
||||
@Valid @RequestBody VeneerManagePlateListReqVO req) {
|
||||
@@ -81,13 +81,13 @@ public class VeneerManageController {
|
||||
}
|
||||
|
||||
/**
|
||||
* 按板材查询已分解板件贴皮列表。
|
||||
* 按板材查询可维护的未排单板件贴皮列表。
|
||||
*
|
||||
* @param req 查询条件,必须包含板材商品编码列表
|
||||
* @return 已分解板件贴皮列表
|
||||
* @return 未排单板件贴皮列表
|
||||
*/
|
||||
@PostMapping("/goods/plate/list")
|
||||
@Operation(summary = "按板材获取已分解板件贴皮列表")
|
||||
@Operation(summary = "按板材获取可维护的未排单板件贴皮列表")
|
||||
@PreAuthorize("@ss.hasPermission('unplannedOrders:query')")
|
||||
public CommonResult<List<VeneerManagePlateRespVO>> getVeneerManageGoodsPlateList(
|
||||
@Valid @RequestBody VeneerManagePlateListReqVO req) {
|
||||
@@ -95,7 +95,7 @@ public class VeneerManageController {
|
||||
}
|
||||
|
||||
/**
|
||||
* 批量为已分解板件贴皮重新选择贴皮库数据。
|
||||
* 批量为未排单板件贴皮重新选择贴皮库数据。
|
||||
*
|
||||
* @param req 板件贴皮记录ID及新贴皮库ID
|
||||
* @return 是否成功
|
||||
|
||||
+2
-2
@@ -6,7 +6,7 @@ import lombok.Data;
|
||||
import java.math.BigDecimal;
|
||||
|
||||
/**
|
||||
* 已分解板件贴皮响应参数。
|
||||
* 可维护未排单板件贴皮响应参数。
|
||||
*/
|
||||
@Data
|
||||
public class VeneerManagePlateRespVO {
|
||||
@@ -32,7 +32,7 @@ public class VeneerManagePlateRespVO {
|
||||
@Schema(description = "原板件厚(mm)")
|
||||
private BigDecimal thickness;
|
||||
|
||||
@Schema(description = "贴皮排单ID,0表示未排单")
|
||||
@Schema(description = "贴皮排单ID,贴皮管理列表中固定为0")
|
||||
private Long planId;
|
||||
|
||||
@Schema(description = "贴皮商品号")
|
||||
|
||||
+7
-7
@@ -23,7 +23,7 @@ import java.util.List;
|
||||
public interface VeneerManageMapper {
|
||||
|
||||
/**
|
||||
* 分页查询存在已分解贴皮板件的根订单 ID。
|
||||
* 分页查询存在可维护未排单贴皮的根订单 ID。
|
||||
*
|
||||
* @param page 分页参数
|
||||
* @param req 订单查询条件
|
||||
@@ -45,7 +45,7 @@ public interface VeneerManageMapper {
|
||||
@Param("rootIds") List<Long> rootIds);
|
||||
|
||||
/**
|
||||
* 查询当前页根订单下存在已分解贴皮板件的子订单。
|
||||
* 查询当前页根订单下存在可维护未排单贴皮的子订单。
|
||||
*
|
||||
* @param rootIds 根订单ID列表
|
||||
* @param req 订单查询条件
|
||||
@@ -58,7 +58,7 @@ public interface VeneerManageMapper {
|
||||
@Param("orderDateTime") LocalDateTime[] orderDateTime);
|
||||
|
||||
/**
|
||||
* 分页查询存在已分解贴皮板件的板材。
|
||||
* 分页查询存在可维护未排单贴皮的板材。
|
||||
*
|
||||
* @param page 分页参数
|
||||
* @param req 板材查询条件
|
||||
@@ -105,18 +105,18 @@ public interface VeneerManageMapper {
|
||||
@Param("req") VeneerManageGoodsPageReqVO req);
|
||||
|
||||
/**
|
||||
* 按订单查询已分解板件贴皮列表。
|
||||
* 按订单查询可维护的未排单板件贴皮列表。
|
||||
*
|
||||
* @param req 订单、房间及柜体查询条件
|
||||
* @return 已分解板件贴皮列表
|
||||
* @return 未排单板件贴皮列表
|
||||
*/
|
||||
List<VeneerManagePlateRespVO> selectOrderPlateList(@Param("req") VeneerManagePlateListReqVO req);
|
||||
|
||||
/**
|
||||
* 按板材商品编码查询已分解板件贴皮列表。
|
||||
* 按板材商品编码查询可维护的未排单板件贴皮列表。
|
||||
*
|
||||
* @param goodsIds 板材商品编码列表
|
||||
* @return 已分解板件贴皮列表
|
||||
* @return 未排单板件贴皮列表
|
||||
*/
|
||||
List<VeneerManagePlateRespVO> selectGoodsPlateList(@Param("goodsIds") List<String> goodsIds);
|
||||
|
||||
|
||||
+7
-7
@@ -20,7 +20,7 @@ import java.util.List;
|
||||
public interface VeneerManageService {
|
||||
|
||||
/**
|
||||
* 分页查询存在已分解贴皮板件的订单。
|
||||
* 分页查询存在可维护未排单贴皮的订单。
|
||||
*
|
||||
* @param req 订单查询条件
|
||||
* @return 订单分页结果
|
||||
@@ -28,7 +28,7 @@ public interface VeneerManageService {
|
||||
PageResult<VeneerManageOrderRespVO> getOrderPage(VeneerManageOrderPageReqVO req);
|
||||
|
||||
/**
|
||||
* 分页查询存在已分解贴皮板件的板材。
|
||||
* 分页查询存在可维护未排单贴皮的板材。
|
||||
*
|
||||
* @param req 板材查询条件
|
||||
* @return 板材分页结果
|
||||
@@ -52,18 +52,18 @@ public interface VeneerManageService {
|
||||
PageResult<VeneerManageGoodsRespVO> getUnplannedGoodsPage(VeneerManageGoodsPageReqVO req);
|
||||
|
||||
/**
|
||||
* 按订单查询已分解板件贴皮列表。
|
||||
* 按订单查询可维护的未排单板件贴皮列表。
|
||||
*
|
||||
* @param req 查询条件,必须包含订单ID列表,可按房间和柜体筛选
|
||||
* @return 已分解板件贴皮列表
|
||||
* @return 未排单板件贴皮列表
|
||||
*/
|
||||
List<VeneerManagePlateRespVO> getOrderPlateList(VeneerManagePlateListReqVO req);
|
||||
|
||||
/**
|
||||
* 按板材查询已分解板件贴皮列表。
|
||||
* 按板材查询可维护的未排单板件贴皮列表。
|
||||
*
|
||||
* @param req 查询条件,必须包含板材商品编码列表
|
||||
* @return 已分解板件贴皮列表
|
||||
* @return 未排单板件贴皮列表
|
||||
*/
|
||||
List<VeneerManagePlateRespVO> getGoodsPlateList(VeneerManagePlateListReqVO req);
|
||||
|
||||
@@ -76,7 +76,7 @@ public interface VeneerManageService {
|
||||
UnplannedVeneerPlateDataRespVO getUnplannedPlateData(UnplannedVeneerPlateDataReqVO req);
|
||||
|
||||
/**
|
||||
* 批量为已分解板件贴皮重新选择贴皮库数据。
|
||||
* 批量为未排单板件贴皮重新选择贴皮库数据。
|
||||
*
|
||||
* @param req 板件贴皮记录ID及新贴皮库ID
|
||||
*/
|
||||
|
||||
+5
-3
@@ -296,7 +296,7 @@ public class VeneerManageServiceImpl implements VeneerManageService {
|
||||
}
|
||||
|
||||
/**
|
||||
* 批量重选贴皮,仅替换所选 A/B 面记录的贴皮库关联及贴皮属性快照。
|
||||
* 批量重选未排单贴皮,仅替换所选 A/B 面记录的贴皮库关联及贴皮属性快照。
|
||||
*
|
||||
* @param req 批量重选贴皮参数
|
||||
*/
|
||||
@@ -326,18 +326,20 @@ public class VeneerManageServiceImpl implements VeneerManageService {
|
||||
}
|
||||
|
||||
for (List<Long> idBatch : CollUtil.split(ids, RESELECT_BATCH_SIZE)) {
|
||||
// 查询本批有效记录,提前校验所选数据是否已删除或发生变化。
|
||||
// 仅查询未排单记录;已删除、已排单或状态发生变化时统一按并发冲突处理。
|
||||
List<OrderPlateVeneerDO> records = orderPlateVeneerMapper.selectList(
|
||||
new LambdaQueryWrapper<OrderPlateVeneerDO>()
|
||||
.select(OrderPlateVeneerDO::getId)
|
||||
.eq(OrderPlateVeneerDO::getPlanId, 0L)
|
||||
.in(OrderPlateVeneerDO::getId, idBatch));
|
||||
if (records.size() != idBatch.size()) {
|
||||
throw new ServiceException(VENEER_RESELECT_RECORD_STATUS_CHANGED);
|
||||
}
|
||||
|
||||
// 生成贴皮编号及原板信息保持不变,只替换贴皮库关联和五个展示快照字段。
|
||||
// 更新时再次限制未排单状态,避免查询后被其他用户排单仍可重选贴皮。
|
||||
int updated = orderPlateVeneerMapper.update(
|
||||
new LambdaUpdateWrapper<OrderPlateVeneerDO>()
|
||||
.eq(OrderPlateVeneerDO::getPlanId, 0L)
|
||||
.in(OrderPlateVeneerDO::getId, idBatch)
|
||||
.set(OrderPlateVeneerDO::getSourceVeneerId, veneer.getId())
|
||||
.set(OrderPlateVeneerDO::getSourceVeneerNo, veneer.getVeneerNo())
|
||||
|
||||
+8
-3
@@ -56,7 +56,8 @@
|
||||
SELECT o.root_id
|
||||
FROM orders o
|
||||
WHERE o.deleted = false
|
||||
AND IFNULL(o.decomposed_veneer_plate_num, 0) > 0
|
||||
AND IFNULL(o.decomposed_veneer_plate_num, 0)
|
||||
> IFNULL(o.planned_veneer_plate_num, 0)
|
||||
<if test="req.orderId != null and req.orderId != ''">
|
||||
AND CAST(o.id AS CHAR) LIKE CONCAT('%', #{req.orderId}, '%')
|
||||
</if>
|
||||
@@ -110,7 +111,8 @@
|
||||
o.area AS area
|
||||
FROM orders o
|
||||
WHERE o.deleted = false
|
||||
AND IFNULL(o.decomposed_veneer_plate_num, 0) > 0
|
||||
AND IFNULL(o.decomposed_veneer_plate_num, 0)
|
||||
> IFNULL(o.planned_veneer_plate_num, 0)
|
||||
AND o.parent_id IN
|
||||
<foreach collection="rootIds" item="id" open="(" close=")" separator=",">
|
||||
#{id}
|
||||
@@ -149,7 +151,8 @@
|
||||
WHERE o.deleted = false
|
||||
AND o.status IN (1, 2, 3)
|
||||
AND og.deleted = false
|
||||
AND IFNULL(og.decomposed_veneer_plate_num, 0) > 0
|
||||
AND IFNULL(og.decomposed_veneer_plate_num, 0)
|
||||
> IFNULL(og.planned_veneer_plate_num, 0)
|
||||
<if test="req.goodsName != null and req.goodsName != ''">
|
||||
AND og.goods_name LIKE CONCAT('%', #{req.goodsName}, '%')
|
||||
</if>
|
||||
@@ -310,6 +313,7 @@
|
||||
<include refid="PlateVeneerColumns"/>
|
||||
FROM order_plate_veneer opv
|
||||
WHERE opv.deleted = false
|
||||
AND opv.plan_id = 0
|
||||
AND opv.order_id IN
|
||||
<foreach collection="req.orderIds" item="orderId" open="(" close=")" separator=",">
|
||||
#{orderId}
|
||||
@@ -346,6 +350,7 @@
|
||||
JOIN order_goods og ON og.order_id = opv.order_id
|
||||
AND og.id = opv.order_goods_id
|
||||
WHERE opv.deleted = false
|
||||
AND opv.plan_id = 0
|
||||
AND og.deleted = false
|
||||
AND og.goods_id IN
|
||||
<foreach collection="goodsIds" item="goodsId" open="(" close=")" separator=",">
|
||||
|
||||
Reference in New Issue
Block a user