mirror of
http://192.168.1.205:9980/cf_devdept2/cf_imes_server.git
synced 2026-08-13 05:12:07 +08:00
Merge branch 'main' of http://192.168.1.205:9980/cf_devdept2/cf_imes_server
This commit is contained in:
+1
@@ -31,6 +31,7 @@ public class CuttingStatusRespVO {
|
||||
private Integer cutedType;
|
||||
|
||||
@Schema(description = "取消开料的大板编号")
|
||||
@NotNull(message = "取消开料的大板编号不能为空")
|
||||
private List<Integer> goodsNo;
|
||||
|
||||
}
|
||||
|
||||
-18
@@ -16,10 +16,6 @@ import java.util.List;
|
||||
public class NoPlanFilterPlateReqVO {
|
||||
|
||||
|
||||
// @Schema(description = "机台ID",requiredMode = Schema.RequiredMode.REQUIRED)
|
||||
// private Long machineId;
|
||||
|
||||
|
||||
@Schema(description = "生产单ID",requiredMode = Schema.RequiredMode.REQUIRED)
|
||||
@NotEmpty(message = "生产单ID不能为空")
|
||||
private List<Long> orderIds;
|
||||
@@ -30,18 +26,4 @@ public class NoPlanFilterPlateReqVO {
|
||||
private List<String> goodsIdList;
|
||||
|
||||
|
||||
// @Schema(description = "实际优化的大板ID-这个只用于混单传入实际优化的大板ID")
|
||||
// private String goodsId;
|
||||
//
|
||||
//
|
||||
// @Schema(description = "板材过滤条件-传没有勾选的")
|
||||
// @Size(max = 7,message = "板材过滤条件数量不正确")
|
||||
// private List<String> filter;
|
||||
//
|
||||
//
|
||||
// @Schema(description = "是否混单", requiredMode = Schema.RequiredMode.REQUIRED, example = "false")
|
||||
// @NotNull(message = "混单的判断条件不能为空")
|
||||
// private Boolean isMix;
|
||||
|
||||
|
||||
}
|
||||
|
||||
+1
-13
@@ -149,7 +149,7 @@ public interface GoodsMapper extends BaseMapperX<GoodsDO> {
|
||||
|
||||
IPage<PlateResList> selectPlanGoodsListByPlanId(@Param("page") IPage<PlateResList> page, @Param(Constants.WRAPPER) Wrapper<GoodsDO> wrapper);
|
||||
|
||||
List<GoodsReqVO> selectGoodsAndRemainPlate(@Param("ids") List<Long> ids,@Param("organId") Long organId);
|
||||
List<GoodsReqVO> selectGoodsAndRemainPlate(@Param("orderIds") List<Long> orderIds,@Param("goodsIdList") List<String> goodsIdList,@Param("organId") Long organId);
|
||||
|
||||
|
||||
|
||||
@@ -206,16 +206,4 @@ public interface GoodsMapper extends BaseMapperX<GoodsDO> {
|
||||
|
||||
List<OrderGoodsPlateIds> selectPlateGoodIds(@Param("orderIds") List<Long> orderIds, @Param("organId") Long organId);
|
||||
|
||||
|
||||
default List<GoodsDO> selectOrderGoodsList(List<Long> orderIds, List<String> goodsIds, Long organId) {
|
||||
return selectList(new LambdaQueryWrapperX<GoodsDO>()
|
||||
.eq(GoodsDO::getOrganId, organId)
|
||||
.eq(GoodsDO::getDeleted, false)
|
||||
// .eq(GoodsDO::getPlanId,0)
|
||||
.in(GoodsDO::getOrderId,orderIds)
|
||||
.in(GoodsDO::getGoodsId,goodsIds)
|
||||
.select(GoodsDO::getId));
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
+2
@@ -176,6 +176,8 @@ public interface PlateMapper extends BaseMapperX<PlateDO> {
|
||||
|
||||
List<PlateDetailRespVO> selectPlateListByGoodsIds(@Param("orderIds") List<Long> orderIds,@Param("goodsIdList") List<Long> goodsIdList, @Param("organId") Long organId);
|
||||
|
||||
List<PlateDetailRespVO> selectNoPlanPlate(@Param("orderIds") List<Long> orderIds, @Param("organId") Long organId);
|
||||
|
||||
|
||||
// 批量删除
|
||||
default int deleteBatch(Collection<?> orderId) {
|
||||
|
||||
+25
-14
@@ -4,6 +4,7 @@ import cn.hutool.core.collection.CollUtil;
|
||||
import cn.hutool.core.text.CharSequenceUtil;
|
||||
import cn.hutool.core.util.ObjectUtil;
|
||||
import co.elastic.clients.elasticsearch.ElasticsearchClient;
|
||||
import co.elastic.clients.elasticsearch._types.ElasticsearchException;
|
||||
import co.elastic.clients.elasticsearch._types.SortOrder;
|
||||
import co.elastic.clients.elasticsearch._types.aggregations.Aggregate;
|
||||
import co.elastic.clients.elasticsearch.core.SearchRequest;
|
||||
@@ -27,11 +28,13 @@ import com.cf.imes.framework.common.util.object.BeanUtils;
|
||||
import com.cf.imes.framework.es.core.service.ESDocumentService;
|
||||
import com.cf.imes.framework.mybatis.core.query.QueryWrapperX;
|
||||
import com.cf.imes.module.executor.controller.admin.orderParts.vo.OrderPartsRemark;
|
||||
import com.cf.imes.module.executor.controller.admin.plan.bo.*;
|
||||
import com.cf.imes.module.executor.controller.admin.plan.bo.OrderIds;
|
||||
import com.cf.imes.module.executor.controller.admin.plan.bo.OrderSource;
|
||||
import com.cf.imes.module.executor.controller.admin.plan.bo.PlanProcessSchemeList;
|
||||
import com.cf.imes.module.executor.controller.admin.plan.bo.ProcessGroupList;
|
||||
import com.cf.imes.module.executor.controller.admin.plan.saveOptimize.*;
|
||||
import com.cf.imes.module.executor.controller.admin.plan.vo.*;
|
||||
import com.cf.imes.module.executor.dal.dataobject.goods.CutedBoardInfo;
|
||||
import com.cf.imes.module.executor.dal.dataobject.goods.GoodsDO;
|
||||
import com.cf.imes.module.executor.dal.dataobject.goods.OptimizeBoardModelDO;
|
||||
import com.cf.imes.module.executor.dal.dataobject.order.OrderDO;
|
||||
import com.cf.imes.module.executor.dal.dataobject.orderGroup.OrderGroupDO;
|
||||
@@ -448,9 +451,10 @@ public class OptimizePlanServiceImpl implements OptimizePlanService {
|
||||
if(OrderPlateCutStatusEnum.NOCUTTING.getStatus().equals(cutedType)){
|
||||
|
||||
planDO.setStatus(PlanStatusEnum.OPENING.getStatus());
|
||||
planDO.setProduceTime(null);
|
||||
|
||||
if(goodsNum.equals(0L)){
|
||||
planDO.setStatus(PlanStatusEnum.PUTINTOPRODUCTION.getStatus());
|
||||
planDO.setStatus(PlanStatusEnum.NOCUTTING.getStatus());
|
||||
}
|
||||
|
||||
planMapper.updateById(planDO);
|
||||
@@ -461,7 +465,10 @@ public class OptimizePlanServiceImpl implements OptimizePlanService {
|
||||
orderIds.removeAll(orderIdList);
|
||||
|
||||
if(CollUtil.isNotEmpty(orderIds)){
|
||||
|
||||
List<OrderDO> orderDOS = orderMapper.selectBatchIds(orderIds);
|
||||
AssertUtils.notEmpty(orderDOS,ORDER_PLAN_ERROR);
|
||||
|
||||
orderDOS.forEach(f->f.setStatus(OrderStatusEnum.SORTED.getStatus()));
|
||||
orderMapper.updateBatch(orderDOS);
|
||||
}
|
||||
@@ -477,6 +484,8 @@ public class OptimizePlanServiceImpl implements OptimizePlanService {
|
||||
planDO.setStatus(PlanStatusEnum.OPENING.getStatus());
|
||||
|
||||
List<OrderDO> orderDOS = orderMapper.selectBatchIds(orderIds);
|
||||
AssertUtils.notEmpty(orderDOS,ORDER_PLAN_ERROR);
|
||||
|
||||
orderDOS.forEach(f->f.setStatus(OrderStatusEnum.IN_PRODUCTION.getStatus()));
|
||||
|
||||
planMapper.updateById(planDO);
|
||||
@@ -914,23 +923,20 @@ public class OptimizePlanServiceImpl implements OptimizePlanService {
|
||||
@Override
|
||||
public OrderSource getNoPlanPlateData(NoPlanFilterPlateReqVO reqVO) {
|
||||
|
||||
List<Long> orderIds = reqVO.getOrderIds();
|
||||
List<Long> orderIds = Optional.ofNullable(reqVO.getOrderIds()).orElseThrow(() -> new ServiceException(THIS_ORDER_PLATE_DATA_ERROR));
|
||||
|
||||
List<GoodsDO> goodsDOS = goodsMapper.selectOrderGoodsList(orderIds, reqVO.getGoodsIdList(), getUserOrganId());
|
||||
List<String> goodsIdList = Optional.ofNullable(reqVO.getGoodsIdList()).orElseThrow(() -> new ServiceException(THIS_ORDER_PLATE_DATA_ERROR));
|
||||
|
||||
AssertUtils.notEmpty(goodsDOS,ORDER_GOODS_DATA_ERROR);
|
||||
|
||||
|
||||
List<Long> ids = goodsDOS.stream().map(GoodsDO::getId).toList();
|
||||
|
||||
List<GoodsReqVO> goodsReqVOS = goodsMapper.selectGoodsAndRemainPlate(ids, getUserOrganId());
|
||||
List<GoodsReqVO> goodsReqVOS = goodsMapper.selectGoodsAndRemainPlate(orderIds,goodsIdList, getUserOrganId());
|
||||
|
||||
AssertUtils.notEmpty(goodsReqVOS,ORDER_GOODS_DATA_ERROR);
|
||||
|
||||
|
||||
List<OrderDO> orderDOS = orderMapper.selectBatchIds(orderIds);
|
||||
|
||||
List<PlateDetailRespVO> plateDetailRespVOS = plateMapper.selectPlateListByGoodsIds(orderIds,ids,getUserOrganId());
|
||||
|
||||
List<PlateDetailRespVO> plateDetailRespVOS = plateMapper.selectNoPlanPlate(orderIds,getUserOrganId());
|
||||
|
||||
|
||||
for (PlateDetailRespVO plateDetailsRespVO : plateDetailRespVOS) {
|
||||
StringBuilder name = new StringBuilder();
|
||||
@@ -1476,9 +1482,10 @@ public class OptimizePlanServiceImpl implements OptimizePlanService {
|
||||
|
||||
if(OrderPlateCutStatusEnum.NOCUTTING.getStatus().equals(cutedType)){
|
||||
|
||||
|
||||
// 开料的大板数量
|
||||
Long cutedBoardNumber = Optional.ofNullable(optimizeBoardModelDO.getCutedBoardNumber()).orElseThrow(()-> new ServiceException(UPDATE_NO_PLAN_PLATE_DATA_ERROR));
|
||||
|
||||
// 开料的小板数量
|
||||
Long cutedBlockNumber = Optional.ofNullable(optimizeBoardModelDO.getCutedBlockNumber()).orElseThrow(()-> new ServiceException(UPDATE_NO_PLAN_PLATE_DATA_ERROR));
|
||||
|
||||
cutedBoardNumber -= goodsNo.size();
|
||||
@@ -1496,8 +1503,10 @@ public class OptimizePlanServiceImpl implements OptimizePlanService {
|
||||
|
||||
if(OrderPlateCutStatusEnum.OPENED.getStatus().equals(cutedType)){
|
||||
|
||||
// 开料的大板数量
|
||||
long cutedBoardNumber = Optional.ofNullable(optimizeBoardModelDO.getCutedBoardNumber()).orElse(0L);
|
||||
|
||||
// 开料的小板数量
|
||||
long cutedBlockNumber = Optional.ofNullable(optimizeBoardModelDO.getCutedBlockNumber()).orElse(0L);
|
||||
|
||||
cutedBoardNumber += goodsNo.size();
|
||||
@@ -1519,7 +1528,7 @@ public class OptimizePlanServiceImpl implements OptimizePlanService {
|
||||
|
||||
esDocumentService.updateById(ORDER_OPTIMIZE_PLATE_MODEL, optimizeBoardModelDO.getId(), HashMap.class, objectObjectHashMap);
|
||||
|
||||
} catch (IOException e) {
|
||||
} catch (IOException | ElasticsearchException e) {
|
||||
log.error(e.getMessage());
|
||||
throw new ServiceException(ES_DATA_ERROR);
|
||||
}
|
||||
@@ -1527,6 +1536,8 @@ public class OptimizePlanServiceImpl implements OptimizePlanService {
|
||||
|
||||
List<PlateDO> plateDOS = plateMapper.selectPlateByPlateNo(orderIds, planNo, getUserOrganId());
|
||||
|
||||
AssertUtils.notEmpty(plateDOS,THIS_PLAN_PLATE_DATA_ERROR);
|
||||
|
||||
plateDOS.forEach(f->{
|
||||
f.setIsCutted(cutedType);
|
||||
});
|
||||
|
||||
+9
-6
@@ -204,18 +204,21 @@
|
||||
resultType="com.cf.imes.module.executor.controller.admin.plan.vo.GoodsReqVO">
|
||||
|
||||
select
|
||||
og.*,
|
||||
orp.id as remainId
|
||||
og.*
|
||||
|
||||
from order_goods og
|
||||
left join order_remain_plate orp on og.organ_id = orp.organ_id and og.id = orp.goods_id
|
||||
|
||||
where og.organ_id = #{organId}
|
||||
and og.deleted = false
|
||||
and og.id in
|
||||
<foreach collection="ids" item="ids" open="(" close=")" separator=",">
|
||||
#{ids}
|
||||
and og.order_id in
|
||||
<foreach collection="orderIds" item="orderIds" open="(" close=")" separator=",">
|
||||
#{orderIds}
|
||||
</foreach>
|
||||
and og.goods_id in
|
||||
<foreach collection="goodsIdList" item="goodsIdList" open="(" close=")" separator=",">
|
||||
#{goodsIdList}
|
||||
</foreach>
|
||||
|
||||
|
||||
</select>
|
||||
|
||||
|
||||
+1
-1
@@ -456,8 +456,8 @@
|
||||
|
||||
from orders o
|
||||
left join order_plate op on o.organ_id = op.organ_id and o.id = op.order_id
|
||||
left join order_plan_item opi on op.organ_id = opi.organ_id and op.order_id = opi.order_id and op.id = opi.plate_id
|
||||
left join order_goods og on op.organ_id = og.organ_id and op.order_id = og.order_id and op.goods_id = og.id
|
||||
left join order_plan_item opi on op.organ_id = opi.organ_id and op.order_id = opi.order_id and op.id = opi.plate_id
|
||||
|
||||
${ew.customSqlSegment}
|
||||
|
||||
|
||||
+88
@@ -454,6 +454,94 @@
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<select id="selectNoPlanPlate" resultMap="PlateDetialMap">
|
||||
|
||||
|
||||
select distinct
|
||||
|
||||
oi.body_id as bodyId,
|
||||
oi.group_id as groupId,
|
||||
oi.room_id as roomId,
|
||||
og.name as groupName,
|
||||
ob.name as bodyName,
|
||||
ob.room_name as roomName,
|
||||
ogs.goods_id as plateGoodsId,
|
||||
ogs.goods_name as goodsName,
|
||||
|
||||
ogs.color as color,
|
||||
ogs.material as material,
|
||||
op.id as plateId,
|
||||
op.order_id as orderId,
|
||||
op.name as name,
|
||||
op.plate_no as plateNo,
|
||||
op.custom_plate_no as customPlateNo,
|
||||
op.type as type,
|
||||
op.goods_id as goodsId,
|
||||
op.width as width,
|
||||
op.height as height,
|
||||
op.thickness as thickness,
|
||||
op.split_width as splitWidth,
|
||||
op.split_height as splitHeight,
|
||||
op.split_thickness as splitThickness,
|
||||
op.seal_left as sealLeft,
|
||||
op.seal_right as sealRight,
|
||||
op.seal_up as sealUp,
|
||||
op.seal_down as sealDown,
|
||||
op.area as area,
|
||||
op.texture as texture,
|
||||
op.hole_face as holeFace,
|
||||
op.hole_arrange as holeArrange,
|
||||
op.unregular_point_count as unregularPointCount,
|
||||
op.front_hole_count as frontHoleCount,
|
||||
op.back_hole_count as backHoleCount,
|
||||
op.side_hole_count as sideHoleCount,
|
||||
op.front_model_count as frontModelCount,
|
||||
op.back_model_count as backModelCount,
|
||||
op.is_door as isDoor,
|
||||
op.open_door_type as openDoorType,
|
||||
op.offset_x as offsetX,
|
||||
op.offset_y as offsetY,
|
||||
op.is_arc_across as isArcAcross,
|
||||
op.module_type_id as moduleTypeId,
|
||||
op.is_special_shaped as isSpecialShaped,
|
||||
op.is_sculpt as isSculpt,
|
||||
op.is_row_hole as hasHole,
|
||||
op.remark as remark,
|
||||
op.filter_type as filterType,
|
||||
op.is_cancel as isCancel,
|
||||
op.is_row_hole as hasHole
|
||||
|
||||
from order_plate op
|
||||
left join order_goods ogs on op.organ_id = ogs.organ_id and op.order_id = ogs.order_id and op.goods_id = ogs.id
|
||||
left join order_item oi on op.organ_id = oi.organ_id and op.order_id = oi.order_id and op.id = oi.plate_id
|
||||
left join order_group og on oi.organ_id = og.organ_id and oi.order_id = og.order_id and oi.group_id = og.id
|
||||
left join order_body ob on oi.organ_id = ob.organ_id and oi.order_id = ob.order_id and oi.body_id = ob.id
|
||||
left join order_plan_item opi on op.organ_id = opi.organ_id and op.order_id = opi.order_id and op.id = opi.plate_id
|
||||
|
||||
where op.organ_id = #{organId}
|
||||
and op.deleted = false
|
||||
|
||||
and op.order_id in
|
||||
<foreach collection="orderIds" item="orderIds" open="(" close=")" separator=",">
|
||||
#{orderIds}
|
||||
</foreach>
|
||||
|
||||
and opi.plan_id is null
|
||||
|
||||
|
||||
</select>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<resultMap id="PlatePageMap" type="com.cf.imes.module.executor.controller.admin.plan.vo.PlatePage">
|
||||
|
||||
<result property="orderId" column="orderId"/>
|
||||
|
||||
Reference in New Issue
Block a user