mirror of
http://192.168.1.205:9980/cf_devdept2/cf_imes_server.git
synced 2026-08-12 21:02:08 +08:00
1、混单创建排单提示小板已排单问题修复,创建混单order_plan真实使用大板商品赋值规则修改;2、优化真实大板查询修复;3、订单详情-配件/组件详情列表不显示修复;
This commit is contained in:
+9
@@ -7,6 +7,7 @@ import com.cf.imes.framework.common.enums.PlanStatusEnum;
|
||||
import com.cf.imes.framework.mybatis.core.mapper.BaseMapperX;
|
||||
import com.cf.imes.framework.mybatis.core.query.LambdaQueryWrapperX;
|
||||
import com.cf.imes.module.executor.controller.admin.order.vo.order.OrderStatisticsReqVO;
|
||||
import com.cf.imes.module.executor.controller.admin.plan.vo.OrderGoodsResp;
|
||||
import com.cf.imes.module.executor.controller.admin.plan.vo.OrderPlanPlateStatisticsRespVO;
|
||||
import com.cf.imes.module.executor.controller.admin.plan.vo.OrderPlanStatisticsAreaRespVO;
|
||||
import com.cf.imes.module.executor.controller.admin.plan.vo.OrderPlanStatisticsCountRespVO;
|
||||
@@ -123,6 +124,14 @@ public interface PlanMapper extends BaseMapperX<PlanDO> {
|
||||
|
||||
List<PlanDO> selectIsTopDownPlan(@Param("updateTime") LocalDateTime updateTime,@Param("organId") Long organId);
|
||||
|
||||
/**
|
||||
* 查询排单下的材质、颜色、品牌、厚度分组
|
||||
* @param planId
|
||||
* @param organId
|
||||
* @return
|
||||
*/
|
||||
List<OrderGoodsResp> selectPlanGoodsList(@Param("planId") Long planId, @Param("organId") Long organId);
|
||||
|
||||
/**
|
||||
* 统计涉及移除小板的排单下还存在的排单数量
|
||||
*
|
||||
|
||||
+16
-1
@@ -28,6 +28,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.PageDTO;
|
||||
import com.cf.imes.framework.common.enums.OrderPlateCutStatusEnum;
|
||||
import com.cf.imes.framework.common.enums.OrderStatusEnum;
|
||||
import com.cf.imes.framework.common.enums.PlanStatusEnum;
|
||||
import com.cf.imes.framework.common.enums.PlanTypeEnum;
|
||||
import com.cf.imes.framework.common.exception.ServiceException;
|
||||
import com.cf.imes.framework.common.pojo.PageResult;
|
||||
import com.cf.imes.framework.common.util.Assert.AssertUtils;
|
||||
@@ -51,6 +52,7 @@ import com.cf.imes.module.executor.dal.dataobject.ordermodel.OrderModelDO;
|
||||
import com.cf.imes.module.executor.dal.dataobject.ordermodel.OrderPlateModel;
|
||||
import com.cf.imes.module.executor.dal.dataobject.plan.PlanDO;
|
||||
import com.cf.imes.module.executor.dal.dataobject.plate.PlateDO;
|
||||
import com.cf.imes.module.executor.dal.dataobject.plate.PlateGoodDO;
|
||||
import com.cf.imes.module.executor.dal.dataobject.remainplaten.RemainPlateDO;
|
||||
import com.cf.imes.module.executor.dal.mysql.goods.GoodsMapper;
|
||||
import com.cf.imes.module.executor.dal.mysql.order.OrderMapper;
|
||||
@@ -58,6 +60,7 @@ import com.cf.imes.module.executor.dal.mysql.orderGroup.OrderGroupMapper;
|
||||
import com.cf.imes.module.executor.dal.mysql.orderParts.OrderPartsMapper;
|
||||
import com.cf.imes.module.executor.dal.mysql.plan.PlanMapper;
|
||||
import com.cf.imes.module.executor.dal.mysql.planItem.PlanItemMapper;
|
||||
import com.cf.imes.module.executor.dal.mysql.plate.PlateGoodMapper;
|
||||
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.enums.ErrorCodeConstants;
|
||||
@@ -145,6 +148,9 @@ public class OptimizePlanServiceImpl implements OptimizePlanService {
|
||||
@Resource
|
||||
private PlanItemMapper planItemMapper;
|
||||
|
||||
@Resource
|
||||
private PlateGoodMapper plateGoodMapper;
|
||||
|
||||
private static final String FIELD_ORDER_ID = "orderId";
|
||||
private static final String FIELD_PLATE_ID = "plateId";
|
||||
private static final String FIELD_PLAN_ID = "planId";
|
||||
@@ -398,6 +404,15 @@ public class OptimizePlanServiceImpl implements OptimizePlanService {
|
||||
|
||||
List<OptimizeRemainPlate> optimizeRemainPlates = BeanUtils.toBean(remainPlateDOS, OptimizeRemainPlate.class);
|
||||
|
||||
// 查询混单实际请求大板信息
|
||||
PlanActualGoodsModelDO planActualGoodsModelDO = null;
|
||||
if (planDO.getType().equals(PlanTypeEnum.MIXEDORDERPLAN.getType())) {
|
||||
List<PlateGoodDO> plateGoodDOS = plateGoodMapper.selectGoodsByGoodsId(List.of(planDO.getGoodsId()), getUserOrganId());
|
||||
if (CollUtil.isNotEmpty(plateGoodDOS)) {
|
||||
planActualGoodsModelDO = BeanUtils.toBean(plateGoodDOS.get(0), PlanActualGoodsModelDO.class);
|
||||
planActualGoodsModelDO.setPlanId(planId);
|
||||
}
|
||||
}
|
||||
|
||||
// 查询生产单对应的配件信息
|
||||
List<PrintOrderPartsRespVO> printOrderPartsRespVOS = orderPartsMapper.selectPartList(orderIds, getUserOrganId());
|
||||
@@ -428,7 +443,7 @@ public class OptimizePlanServiceImpl implements OptimizePlanService {
|
||||
.goodsList(goodsDOS)
|
||||
.plateList(plateDetailRespVOS)
|
||||
.plateModels(orderModelDOS)
|
||||
.planActualGoodsModelDO(BeanUtil.copyProperties(goodsDOS.get(0), PlanActualGoodsModelDO.class))
|
||||
.planActualGoodsModelDO(planActualGoodsModelDO)
|
||||
.optimizeRemainPlates(optimizeRemainPlates)
|
||||
.orderPartsRespVOS(printOrderPartsRespVOS)
|
||||
.orderPartsRemarks(orderPartsRemarks)
|
||||
|
||||
+16
-24
@@ -56,7 +56,6 @@ import com.cf.imes.module.executor.util.elasticsearch.EsUtils;
|
||||
import com.cf.imes.module.system.api.systemconfig.SystemConfigApi;
|
||||
import com.cf.imes.module.system.api.systemconfig.dto.SystemConfigRespDTO;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.springframework.aop.framework.AopContext;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
@@ -69,7 +68,6 @@ import java.time.LocalDateTime;
|
||||
import java.util.*;
|
||||
import java.util.concurrent.atomic.AtomicLong;
|
||||
import java.util.stream.Collectors;
|
||||
import java.util.stream.Stream;
|
||||
|
||||
import static com.cf.imes.framework.common.exception.enums.GlobalErrorCodeConstants.DATA_DATA_ERROR;
|
||||
import static com.cf.imes.framework.common.exception.enums.GlobalErrorCodeConstants.ES_DATA_ERROR;
|
||||
@@ -145,6 +143,8 @@ public class PlanServiceImpl implements PlanService {
|
||||
private static final String FIELD_ORDER_DATE = "o.order_date";
|
||||
private static final String FIELD_OP_ID = "op.id";
|
||||
private static final String FIELD_OP_DELETED = "op.deleted";
|
||||
private static final String ES_FIELD_NEWVALUE = "new_value";
|
||||
private static final String ORDER_PLAN_PROCESS_SCHEME_STATUS_UPDATE_ERROR_MSG = "排单加工方案状态更新异常:";
|
||||
|
||||
@Override
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
@@ -340,19 +340,16 @@ public class PlanServiceImpl implements PlanService {
|
||||
.set(PlateDO::getPlanId, 0L)
|
||||
.set(PlateDO::getIsOptimized, false));
|
||||
|
||||
// 排单对应的商品id
|
||||
String goodsId = planDO.getGoodsId();
|
||||
String orderNos = Optional.ofNullable(planDO.getOrderNos()).orElse("[]");
|
||||
|
||||
// 排单下的订单号列表
|
||||
Set<Long> planOrderIds = JSON.parseArray(orderNos).toJavaList(Long.class).stream().collect(Collectors.toSet());
|
||||
orderIds.addAll(planOrderIds);
|
||||
|
||||
if (CollUtil.isNotEmpty(planOrderIds) && StringUtils.isNotEmpty(goodsId)) {
|
||||
if (CollUtil.isNotEmpty(planOrderIds)) {
|
||||
// 查询排单下所有订单材质order_goods
|
||||
List<GoodsDO> goodsDO = goodsMapper.selectList(new LambdaQueryWrapper<GoodsDO>()
|
||||
.in(GoodsDO::getOrderId, planOrderIds)
|
||||
.eq(GoodsDO::getGoodsId, goodsId)
|
||||
.eq(GoodsDO::getOrganId, getUserOrganId())
|
||||
.eq(GoodsDO::getDeleted, false));
|
||||
|
||||
@@ -1334,7 +1331,7 @@ public class PlanServiceImpl implements PlanService {
|
||||
))
|
||||
.script(s -> s.inline(i -> i
|
||||
.source("ctx._source.isNewInsertPlate = params.new_value")
|
||||
.params("new_value", JsonData.of(Boolean.TRUE))
|
||||
.params(ES_FIELD_NEWVALUE, JsonData.of(Boolean.TRUE))
|
||||
));
|
||||
|
||||
UpdateByQueryRequest request = builder.build();
|
||||
@@ -1461,7 +1458,7 @@ public class PlanServiceImpl implements PlanService {
|
||||
|
||||
for (SavePlanPlateList.GoodsItemList item : items) {
|
||||
// 将 material 和 thickness 组合成键
|
||||
String key = item.getMaterial() + "|" + item.getThickness()+ "|" + item.getGoodsId();
|
||||
String key = item.getMaterial() + "|" + item.getThickness();
|
||||
|
||||
// 如果键不存在,初始化一个新的列表
|
||||
groupedItems.putIfAbsent(key, new ArrayList<>());
|
||||
@@ -1478,7 +1475,7 @@ public class PlanServiceImpl implements PlanService {
|
||||
|
||||
for (SavePlanPlateList.GoodsItemList item : items) {
|
||||
// 将 material 和 thickness 组合成键
|
||||
String key = item.getThickness().toString()+ "|" + item.getGoodsId();
|
||||
String key = item.getThickness().toString();
|
||||
|
||||
// 如果键不存在,初始化一个新的列表
|
||||
groupedItems.putIfAbsent(key, new ArrayList<>());
|
||||
@@ -1541,7 +1538,7 @@ public class PlanServiceImpl implements PlanService {
|
||||
|
||||
for (SavePlanPlateList.GoodsItemList item : items) {
|
||||
// 将 material 和 thickness 组合成键
|
||||
String key = item.getMaterial() + "|" + item.getThickness() + "|" + item.getGoodsId();
|
||||
String key = item.getMaterial() + "|" + item.getThickness();
|
||||
|
||||
// 如果键不存在,初始化一个新的列表
|
||||
groupedItems.putIfAbsent(key, new ArrayList<>());
|
||||
@@ -1562,7 +1559,7 @@ public class PlanServiceImpl implements PlanService {
|
||||
|
||||
for (SavePlanPlateList.GoodsItemList item : items) {
|
||||
// 将 material 和 thickness 组合成键
|
||||
String key = item.getThickness().toString()+ "|" + item.getGoodsId();
|
||||
String key = item.getThickness().toString();
|
||||
|
||||
// 如果键不存在,初始化一个新的列表
|
||||
groupedItems.putIfAbsent(key, new ArrayList<>());
|
||||
@@ -1585,7 +1582,7 @@ public class PlanServiceImpl implements PlanService {
|
||||
|
||||
for (SavePlanPlateList.GoodsItemList item : items) {
|
||||
// 将 material 和 thickness 组合成键
|
||||
String key = item.getMaterial() + "|" + item.getThickness() + "|" + item.getColor()+ "|" + item.getBrand() + "|" + item.getGoodsId();
|
||||
String key = item.getMaterial() + "|" + item.getThickness() + "|" + item.getColor()+ "|" + item.getBrand();
|
||||
|
||||
// 如果键不存在,初始化一个新的列表
|
||||
groupedItems.putIfAbsent(key, new ArrayList<>());
|
||||
@@ -1672,7 +1669,7 @@ public class PlanServiceImpl implements PlanService {
|
||||
))
|
||||
.script(s -> s.inline(i -> i
|
||||
.source("ctx._source.isOptimized = params.new_value")
|
||||
.params("new_value", JsonData.of(false))
|
||||
.params(ES_FIELD_NEWVALUE, JsonData.of(false))
|
||||
));
|
||||
|
||||
UpdateByQueryRequest request = builder.build();
|
||||
@@ -1681,7 +1678,7 @@ public class PlanServiceImpl implements PlanService {
|
||||
elasticsearchClient.updateByQuery(request);
|
||||
|
||||
}catch (Exception e){
|
||||
log.error("排单加工方案状态更新异常:" + e.getMessage(), e);
|
||||
log.error(ORDER_PLAN_PROCESS_SCHEME_STATUS_UPDATE_ERROR_MSG + e.getMessage(), e);
|
||||
throw new ServiceException(DATA_DATA_ERROR);
|
||||
|
||||
}
|
||||
@@ -1707,7 +1704,7 @@ public class PlanServiceImpl implements PlanService {
|
||||
))
|
||||
.script(s -> s.inline(i -> i
|
||||
.source("ctx._source.planId = params.new_value")
|
||||
.params("new_value", JsonData.of(planId))
|
||||
.params(ES_FIELD_NEWVALUE, JsonData.of(planId))
|
||||
));
|
||||
|
||||
UpdateByQueryRequest request = builder.build();
|
||||
@@ -1716,7 +1713,7 @@ public class PlanServiceImpl implements PlanService {
|
||||
elasticsearchClient.updateByQuery(request);
|
||||
|
||||
}catch (Exception e){
|
||||
log.error("排单加工方案状态更新异常:"+e.getMessage());
|
||||
log.error(ORDER_PLAN_PROCESS_SCHEME_STATUS_UPDATE_ERROR_MSG + e.getMessage(), e);
|
||||
throw new ServiceException(DATA_DATA_ERROR);
|
||||
|
||||
}
|
||||
@@ -1754,7 +1751,7 @@ public class PlanServiceImpl implements PlanService {
|
||||
))
|
||||
.script(s -> s.inline(i -> i
|
||||
.source("ctx._source.planId = params.new_value")
|
||||
.params("new_value", JsonData.of(0))
|
||||
.params(ES_FIELD_NEWVALUE, JsonData.of(0))
|
||||
));
|
||||
|
||||
UpdateByQueryRequest request = builder.build();
|
||||
@@ -1763,7 +1760,7 @@ public class PlanServiceImpl implements PlanService {
|
||||
elasticsearchClient.updateByQuery(request);
|
||||
|
||||
}catch (Exception e){
|
||||
log.error("排单加工方案状态更新异常:"+e.getMessage());
|
||||
log.error(ORDER_PLAN_PROCESS_SCHEME_STATUS_UPDATE_ERROR_MSG + e.getMessage(), e);
|
||||
throw new ServiceException(DATA_DATA_ERROR);
|
||||
|
||||
}
|
||||
@@ -1919,10 +1916,6 @@ public class PlanServiceImpl implements PlanService {
|
||||
|
||||
Long planId = (Long) identifierGenerator.nextId(null);
|
||||
|
||||
// String key = item.getMaterial() + "|" + item.getThickness() + "|" + item.getColor()+ "|" + item.getBrand() + "|" + item.getGoodsId();
|
||||
// 截取key中的goodsId
|
||||
String goodsId = key.substring(key.lastIndexOf("|") + 1);
|
||||
|
||||
// 创建排单
|
||||
planDOS.add(PlanDO.builder()
|
||||
.id(planId)
|
||||
@@ -1934,7 +1927,6 @@ public class PlanServiceImpl implements PlanService {
|
||||
.status(PlanStatusEnum.NOCUTTING.getStatus())
|
||||
.operator(loginUser.getNickname())
|
||||
.planTime(LocalDateTime.now())
|
||||
.goodsId(goodsId)
|
||||
.build());
|
||||
|
||||
// 更新板件排单id & 统计更新order_goods的数量和面积
|
||||
@@ -1961,7 +1953,7 @@ public class PlanServiceImpl implements PlanService {
|
||||
for (List<Long> plateIdList : batchPlanPlateIdList) {
|
||||
int updatePlateNum = plateMapper.update(new LambdaUpdateWrapper<PlateDO>()
|
||||
.in(PlateDO::getId, plateIdList)
|
||||
.eq(PlateDO::getPlanId, 0L)
|
||||
.eq(PlateDO::getPlanId, 0)
|
||||
.set(PlateDO::getPlanId, planId));
|
||||
if (updatePlateNum != plateIdList.size()) {
|
||||
throw new ServiceException(CREAT_PLAN_PLATE_DATA_ERROR);
|
||||
|
||||
+25
-34
@@ -23,6 +23,7 @@ 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.goods.vo.GoodsSaveReqVO;
|
||||
import com.cf.imes.module.executor.controller.admin.order.vo.order.OrderPlanPlateNumAndAreaRespVO;
|
||||
import com.cf.imes.module.executor.controller.admin.plan.vo.OrderGoodsResp;
|
||||
import com.cf.imes.module.executor.controller.admin.plan.vo.PlateResList;
|
||||
import com.cf.imes.module.executor.controller.admin.plate.vo.*;
|
||||
import com.cf.imes.module.executor.dal.dataobject.goods.GoodsDO;
|
||||
@@ -347,22 +348,17 @@ public class PlateServiceImpl implements PlateService {
|
||||
|
||||
AssertUtils.notEmpty(planDO, PLAN_NOT_EXISTS);
|
||||
|
||||
List<PlateGoodDO> planGoods = plateGoodMapper.selectList(new LambdaQueryWrapper<PlateGoodDO>()
|
||||
.eq(PlateGoodDO::getGoodsId, planDO.getGoodsId())
|
||||
.eq(PlateGoodDO::getOrganId, organId)
|
||||
.eq(PlateGoodDO::getDeleted, false)
|
||||
.orderByAsc(PlateGoodDO::getCreateTime));
|
||||
List<OrderGoodsResp> goodsRespVOS = planMapper.selectPlanGoodsList(planId, organId);
|
||||
|
||||
AssertUtils.notEmpty(planGoods, PLAN_NOT_EXISTS);
|
||||
AssertUtils.notEmpty(goodsRespVOS,PLAN_NOT_EXISTS);
|
||||
|
||||
PlateGoodDO planGood = planGoods.get(0);
|
||||
String material = planGood.getMaterial();
|
||||
List<String> material = goodsRespVOS.stream().map(OrderGoodsResp::getMaterial).distinct().toList();
|
||||
|
||||
String color = planGood.getColor();
|
||||
List<String> color = goodsRespVOS.stream().map(OrderGoodsResp::getColor).distinct().toList();
|
||||
|
||||
String brand = planGood.getBrand();
|
||||
List<String> brand = goodsRespVOS.stream().map(OrderGoodsResp::getBrand).distinct().toList();
|
||||
|
||||
Double thickness = planGood.getThickness();
|
||||
List<BigDecimal> thickness = goodsRespVOS.stream().map(OrderGoodsResp::getThickness).distinct().toList();
|
||||
|
||||
|
||||
// 混单
|
||||
@@ -773,13 +769,11 @@ public class PlateServiceImpl implements PlateService {
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
private void mixedInsertQuery(NoPlanPlatePageReqVO pageReqVO,
|
||||
PlanDO planDO,
|
||||
String material,
|
||||
Double thickness,
|
||||
QueryWrapperX<OrderDO> queryWrapperX){
|
||||
List<String> material,
|
||||
List<BigDecimal> thickness,
|
||||
QueryWrapperX<OrderDO> queryWrapperX) {
|
||||
|
||||
|
||||
|
||||
@@ -791,10 +785,10 @@ public class PlateServiceImpl implements PlateService {
|
||||
if(planDO.getFilter().equals(MixConfigTypeEnum.SAMEMATERIALANDTHICKNESS.getType())){
|
||||
|
||||
queryWrapperX
|
||||
.eqIfPresent(FIELD_OG_MATERIAL,material)
|
||||
.inIfPresent(FIELD_OG_MATERIAL,material)
|
||||
.likeIfPresent(FIELD_OG_BRAND,pageReqVO.getBrand())
|
||||
.likeIfPresent(FIELD_OG_COLOR,pageReqVO.getColor())
|
||||
.eqIfPresent(FIELD_OP_THICKNESS,thickness);
|
||||
.inIfPresent(FIELD_OP_THICKNESS,thickness);
|
||||
|
||||
}
|
||||
// 相同厚度
|
||||
@@ -804,7 +798,7 @@ public class PlateServiceImpl implements PlateService {
|
||||
.likeIfPresent(FIELD_OG_MATERIAL,pageReqVO.getMaterial())
|
||||
.likeIfPresent(FIELD_OG_BRAND,pageReqVO.getBrand())
|
||||
.likeIfPresent(FIELD_OG_COLOR,pageReqVO.getColor())
|
||||
.eqIfPresent(FIELD_OP_THICKNESS,thickness);
|
||||
.inIfPresent(FIELD_OP_THICKNESS,thickness);
|
||||
|
||||
}
|
||||
|
||||
@@ -812,16 +806,13 @@ public class PlateServiceImpl implements PlateService {
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
private void noMixedInsertQuery(NoPlanPlatePageReqVO pageReqVO,
|
||||
PlanDO planDO,
|
||||
String material,
|
||||
String brand,
|
||||
String color,
|
||||
Double thickness,
|
||||
QueryWrapperX<OrderDO> queryWrapperX){
|
||||
List<String> material,
|
||||
List<String> brand,
|
||||
List<String> color,
|
||||
List<BigDecimal> thickness,
|
||||
QueryWrapperX<OrderDO> queryWrapperX) {
|
||||
|
||||
// 是否开启混单
|
||||
if(Boolean.TRUE.equals(pageReqVO.getIsMixed())){
|
||||
@@ -833,10 +824,10 @@ public class PlateServiceImpl implements PlateService {
|
||||
// 相同材质和厚度 混单
|
||||
if(pageReqVO.getMixedType().equals(MixConfigTypeEnum.SAMEMATERIALANDTHICKNESS.getType())){
|
||||
queryWrapperX
|
||||
.eqIfPresent(FIELD_OG_MATERIAL, material)
|
||||
.inIfPresent(FIELD_OG_MATERIAL, material)
|
||||
.likeIfPresent(FIELD_OG_BRAND, pageReqVO.getBrand())
|
||||
.likeIfPresent(FIELD_OG_COLOR, pageReqVO.getColor())
|
||||
.eqIfPresent(FIELD_OP_THICKNESS, thickness);
|
||||
.inIfPresent(FIELD_OP_THICKNESS, thickness);
|
||||
|
||||
}
|
||||
// 相同厚度 混单
|
||||
@@ -845,15 +836,15 @@ public class PlateServiceImpl implements PlateService {
|
||||
.likeIfPresent(FIELD_OG_MATERIAL, pageReqVO.getMaterial())
|
||||
.likeIfPresent(FIELD_OG_BRAND, pageReqVO.getBrand())
|
||||
.likeIfPresent(FIELD_OG_COLOR, pageReqVO.getColor())
|
||||
.eqIfPresent(FIELD_OP_THICKNESS, thickness);
|
||||
.inIfPresent(FIELD_OP_THICKNESS, thickness);
|
||||
|
||||
}
|
||||
}else {
|
||||
queryWrapperX
|
||||
.eqIfPresent(FIELD_OG_MATERIAL, material)
|
||||
.eqIfPresent(FIELD_OG_BRAND, brand)
|
||||
.eqIfPresent(FIELD_OG_COLOR, color)
|
||||
.eqIfPresent(FIELD_OP_THICKNESS, thickness);
|
||||
.inIfPresent(FIELD_OG_MATERIAL, material)
|
||||
.inIfPresent(FIELD_OG_BRAND, brand)
|
||||
.inIfPresent(FIELD_OG_COLOR, color)
|
||||
.inIfPresent(FIELD_OP_THICKNESS, thickness);
|
||||
|
||||
}
|
||||
|
||||
|
||||
+3
-3
@@ -37,11 +37,11 @@
|
||||
og.remark,
|
||||
orp.id as remainId
|
||||
|
||||
from order_plan op
|
||||
join order_goods og on op.organ_id = og.organ_id and op.goods_id = og.goods_id
|
||||
from order_plate op
|
||||
join order_goods og on op.organ_id = og.organ_id and op.goods_id = og.id
|
||||
left join order_remain_plate orp on og.organ_id = orp.organ_id and og.id = orp.goods_id
|
||||
|
||||
where op.organ_id = #{organId} and op.id = #{planId}
|
||||
where op.organ_id = #{organId} and op.plan_id = #{planId}
|
||||
|
||||
|
||||
</select>
|
||||
|
||||
+2
-2
@@ -41,7 +41,7 @@
|
||||
FROM order_item i
|
||||
RIGHT JOIN `order_parts` p ON i.organ_id = p.organ_id AND i.order_id = p.order_id AND i.parts_id = p.id
|
||||
RIGHT JOIN `order_body` ob ON i.organ_id = ob.organ_id AND i.order_id = ob.order_id AND i.body_id = ob.id
|
||||
WHERE i.organ_id = #{organId} AND i.order_id = #{orderId} AND ob.deleted = #{deleted} AND i.group_id = 0
|
||||
WHERE i.organ_id = #{organId} AND i.order_id = #{orderId} AND ob.deleted = #{deleted} AND (i.group_id is null or i.group_id = 0)
|
||||
<if test="roomId != null and roomId.size() > 0">
|
||||
AND i.room_id IN
|
||||
<foreach item="roomIdItem" collection="roomId" open="(" separator="," close=")">
|
||||
@@ -98,7 +98,7 @@
|
||||
FROM `order_item` i
|
||||
RIGHT JOIN `order_parts` p ON i.organ_id = p.organ_id AND i.order_id = p.order_id AND i.parts_id = p.id
|
||||
RIGHT JOIN `order_body` ob ON i.organ_id = ob.organ_id AND i.order_id = ob.order_id AND i.body_id = ob.id
|
||||
WHERE i.organ_id = #{organId} AND i.order_id = #{orderId} AND ob.deleted = #{deleted} AND i.group_id is null AND p.category in
|
||||
WHERE i.organ_id = #{organId} AND i.order_id = #{orderId} AND ob.deleted = #{deleted} AND (i.group_id is null or i.group_id = 0) AND p.category in
|
||||
<foreach item="type" collection="types" open="(" separator="," close=")">
|
||||
#{type}
|
||||
</foreach>
|
||||
|
||||
+12
@@ -260,6 +260,18 @@
|
||||
|
||||
</select>
|
||||
|
||||
<select id="selectPlanGoodsList"
|
||||
resultType="com.cf.imes.module.executor.controller.admin.plan.vo.OrderGoodsResp">
|
||||
select distinct og.thickness as thickness,
|
||||
og.material as material,
|
||||
og.color as color,
|
||||
og.brand as brand
|
||||
from order_plate op
|
||||
left join order_goods og on op.organ_id = og.organ_id and opi.goods_id = og.id
|
||||
where op.organ_id = #{organId}
|
||||
and op.plan_id = #{planId};
|
||||
</select>
|
||||
|
||||
<select id="countDeletePlanPlate" resultType="com.cf.imes.module.executor.controller.admin.plan.vo.OrderPlanPlateStatisticsRespVO">
|
||||
select op.plan_id as planId,
|
||||
count(op.id) as count
|
||||
|
||||
Reference in New Issue
Block a user