executor模块查询新增组织ID,删除排单接口逻辑修改

This commit is contained in:
liuzhaotian
2024-06-14 15:46:25 +08:00
parent e8e2052be6
commit 350c6c940a
41 changed files with 350 additions and 360 deletions
@@ -9,6 +9,8 @@ import com.cf.imes.module.executor.dal.dataobject.module.ModuleDO;
import org.apache.ibatis.annotations.Mapper;
import com.cf.imes.module.executor.controller.admin.module.vo.*;
import static com.cf.imes.framework.security.core.util.SecurityFrameworkUtils.getUserOrganId;
/**
* 生产单模块 Mapper
*
@@ -19,6 +21,7 @@ public interface ModuleMapper extends BaseMapperX<ModuleDO> {
default PageResult<ModuleDO> selectPage(ModulePageReqVO reqVO) {
return selectPage(reqVO, new LambdaQueryWrapperX<ModuleDO>()
.eq(ModuleDO::getOrganId,getUserOrganId())
.eqIfPresent(ModuleDO::getOrderId, reqVO.getOrderId())
.likeIfPresent(ModuleDO::getName, reqVO.getName())
.eqIfPresent(ModuleDO::getParentId, reqVO.getParentId())
@@ -34,10 +34,10 @@ public interface OrderItemMapper extends BaseMapperX<OrderItemDO> {
List<OrderPlatesDetailRespVO> selectPartsByOrderId(@Param("orderId") Long orderId);
List<PlateRespVO> selectPlateList(PlateDetailReqVO reqVO);
List<PlateRespVO> selectPlateList( @Param("reqVO") PlateDetailReqVO reqVO,@Param("organId") Long organId);
PlateDetailRespVO selectPlateNumList(@Param("orderId") Long orderId);
PlateDetailRespVO selectPlateNumList(@Param("orderId") Long orderId,@Param("organId") Long organId);
void deleteByPlateId(@Param("deletePlateIds") List<Long> deletePlateIds);
@@ -16,6 +16,8 @@ import com.cf.imes.module.executor.controller.admin.orderParts.vo.*;
import org.apache.ibatis.annotations.Param;
import org.apache.poi.ss.formula.functions.T;
import static com.cf.imes.framework.security.core.util.SecurityFrameworkUtils.getUserOrganId;
/**
* 生产单配件表 order_parts_{N} Mapper
*
@@ -26,6 +28,7 @@ public interface OrderPartsMapper extends BaseMapperX<OrderPartsDO> {
default PageResult<OrderPartsDO> selectPage(OrderPartsPageReqVO reqVO) {
return selectPage(reqVO, new LambdaQueryWrapperX<OrderPartsDO>()
.eq(OrderPartsDO::getOrganId,getUserOrganId())
.eqIfPresent(OrderPartsDO::getOrderId, reqVO.getOrderId())
.eqIfPresent(OrderPartsDO::getGoodsId, reqVO.getGoodsId())
.likeIfPresent(OrderPartsDO::getName, reqVO.getName())
@@ -60,7 +63,7 @@ public interface OrderPartsMapper extends BaseMapperX<OrderPartsDO> {
return respVO;
}
IPage<OrderPartsRespVO> selectProductList(@Param("page") IPage<OrderPartsRespVO> page , @Param("orderId")Long orderId, @Param("roomId")Long roomId , @Param("bodyId")Long bodyId);
IPage<OrderPartsRespVO> selectProductList(@Param("page") IPage<OrderPartsRespVO> page , @Param("orderId")Long orderId, @Param("roomId")Long roomId , @Param("bodyId")Long bodyId,@Param("organId")Long organId);
List<PartGoodsRespVO> selectPartDetail(@Param("orderId") Long orderId, @Param("organId") Long organId);// 配件明细
@@ -13,6 +13,9 @@ import com.cf.imes.module.executor.dal.dataobject.plan.PlanDO;
import com.cf.imes.module.executor.dal.dataobject.planitem.PlanItemDO;
import org.apache.ibatis.annotations.Mapper;
import com.cf.imes.module.executor.controller.admin.plan.vo.*;
import org.apache.ibatis.annotations.Param;
import static com.cf.imes.framework.security.core.util.SecurityFrameworkUtils.getUserOrganId;
/**
* 生产单开料排单 Mapper
@@ -25,6 +28,7 @@ public interface PlanMapper extends BaseMapperX<PlanDO> {
default PageResult<PlanDO> selectPage(PlanPageReqVO reqVO) {
if(StrUtil.isNotBlank(reqVO.getCustomer())) {
return selectJoinPage(reqVO, PlanDO.class, new MPJLambdaWrapperX<PlanDO>()
.eq(PlanDO::getOrganId,getUserOrganId())
.eqIfPresent(PlanDO::getPlanNo, reqVO.getPlanNo())
.eqIfPresent(PlanDO::getSort, reqVO.getSort())
.eqIfPresent(PlanDO::getType, reqVO.getType())
@@ -47,6 +51,7 @@ public interface PlanMapper extends BaseMapperX<PlanDO> {
}
return selectPage(reqVO, new LambdaQueryWrapperX<PlanDO>()
.eq(PlanDO::getOrganId,getUserOrganId())
.eqIfPresent(PlanDO::getPlanNo, reqVO.getPlanNo())
.eqIfPresent(PlanDO::getSort, reqVO.getSort())
.eqIfPresent(PlanDO::getType, reqVO.getType())
@@ -63,7 +68,7 @@ public interface PlanMapper extends BaseMapperX<PlanDO> {
// .orderByDesc(PlanDO::getId));
}
List<PlateOptimize> selectPlateListByPlanId(Long planId);
List<PlateOptimize> selectPlateListByPlanId(@Param("planId") Long planId, @Param("organId") Long organId);
OptimizeParamRespVO getOptimizePlanParam(Long planId);
@@ -19,5 +19,5 @@ import org.apache.ibatis.annotations.Param;
public interface PlanItemMapper extends BaseMapperX<PlanItemDO> {
List<PlateInfoVO> selectGoodsList(@Param("planIds") List<Long> planIds);
List<PlateInfoVO> selectGoodsList(@Param("planIds") List<Long> planIds, @Param("organId") Long organId);
}
@@ -16,6 +16,8 @@ import org.apache.ibatis.annotations.Mapper;
import com.cf.imes.module.executor.controller.admin.plate.vo.*;
import org.apache.ibatis.annotations.Param;
import static com.cf.imes.framework.security.core.util.SecurityFrameworkUtils.getUserOrganId;
/**
* 生产单板件 Mapper
*
@@ -26,6 +28,7 @@ public interface PlateMapper extends BaseMapperX<PlateDO> {
default PageResult<PlateDO> selectPage(PlatePageReqVO reqVO) {
return selectPage(reqVO, new LambdaQueryWrapperX<PlateDO>()
.eq(PlateDO::getOrganId,getUserOrganId())
.eqIfPresent(PlateDO::getOrderId, reqVO.getOrderId())
.likeIfPresent(PlateDO::getName, reqVO.getName())
.eqIfPresent(PlateDO::getType, reqVO.getType())
@@ -63,7 +66,7 @@ public interface PlateMapper extends BaseMapperX<PlateDO> {
}
// IPage<PlatePage> selectPlatePage(@Param("page") IPage<PlatePage> page, @Param("orderId")Long organId, @Param("goodsId") String goodsId);
List<PlatePage> selectPlatePage(/*@Param("page") IPage<PlatePage> page,*/ @Param("orderId")Long organId/*, @Param("goodsId") String goodsId*/);
List<PlatePage> selectPlatePage(/*@Param("page") IPage<PlatePage> page,*/ @Param("orderId")Long orderId,@Param("organId") Long organId/*, @Param("goodsId") String goodsId*/);
IPage<PlateResList> selectPlateByPlanId(@Param("page") IPage<PlateResList> page, @Param(Constants.WRAPPER) Wrapper<PlateDO> wrapper);
@@ -86,16 +89,16 @@ public interface PlateMapper extends BaseMapperX<PlateDO> {
return respVO;
}
IPage<PlateRespVO> selectProductList(@Param("page") IPage<PlateRespVO> page , @Param("orderId")Long orderId, @Param("roomId")Long roomId , @Param("bodyId")Long bodyId);
IPage<PlateRespVO> selectProductList(@Param("page") IPage<PlateRespVO> page , @Param("orderId")Long orderId, @Param("roomId")Long roomId , @Param("bodyId")Long bodyId,@Param("organId") Long organId);
Set<Long> selectBatchOrderIdsAndGoodsIds(@Param("itemList") List<PlanSaveReqVO.Item> itemList);
Set<Long> selectBatchOrderIdsAndGoodsIds(@Param("itemList") List<PlanSaveReqVO.Item> itemList, @Param("organId") Long organId );
// PlateDetailRespVO selectPlateNumList(PlateDetailReqVO reqVO);
List<PlateDetialRespVO> selectPlateDetialList(@Param("orderId") Long orderId);
List<PlateDetialRespVO> selectPlateDetialList(@Param("orderId") Long orderId,@Param("organId") Long organId);
List<PlateDetialRespVO> selectPlateDetialListByIds(@Param("orderIds") List<Long> orderIds);
List<PlateDetialRespVO> selectPlateDetialListByIds(@Param("orderIds") List<Long> orderIds,@Param("organId") Long organId);
@@ -9,6 +9,8 @@ import com.cf.imes.module.executor.dal.dataobject.processStep.ProcessStepDO;
import org.apache.ibatis.annotations.Mapper;
import com.cf.imes.module.executor.controller.admin.processStep.vo.*;
import static com.cf.imes.framework.security.core.util.SecurityFrameworkUtils.getUserOrganId;
/**
* 生产单工序步骤 Mapper
*
@@ -19,6 +21,7 @@ public interface ProcessStepMapper extends BaseMapperX<ProcessStepDO> {
default PageResult<ProcessStepDO> selectPage(ProcessStepPageReqVO reqVO) {
return selectPage(reqVO, new LambdaQueryWrapperX<ProcessStepDO>()
.eq(ProcessStepDO::getOrganId,getUserOrganId())
.eqIfPresent(ProcessStepDO::getOrderId, reqVO.getOrderNo())
.betweenIfPresent(ProcessStepDO::getFinishTime, reqVO.getFinishTime())
.eqIfPresent(ProcessStepDO::getStatus, reqVO.getStatus())
@@ -12,6 +12,8 @@ import com.cf.imes.module.executor.controller.admin.rawgoods.vo.RawGoodsSaveReqV
import com.cf.imes.module.executor.dal.dataobject.rawgoods.RawGoodsDO;
import org.apache.ibatis.annotations.Mapper;
import static com.cf.imes.framework.security.core.util.SecurityFrameworkUtils.getUserOrganId;
/**
* 生产单设计商品表 order_raw_goods_{N} Mapper
*
@@ -22,6 +24,7 @@ public interface RawGoodsMapper extends BaseMapperX<RawGoodsDO> {
default PageResult<RawGoodsDO> selectPage(RawGoodsPageReqVO reqVO) {
return selectPage(reqVO, new LambdaQueryWrapperX<RawGoodsDO>()
.eq(RawGoodsDO::getOrganId,getUserOrganId())
.eqIfPresent(RawGoodsDO::getOrderId, reqVO.getOrderId())
.eqIfPresent(RawGoodsDO::getRawGoodsId, reqVO.getRawGoodsId())
.likeIfPresent(RawGoodsDO::getGoodsName, reqVO.getGoodsName())
@@ -10,11 +10,14 @@ import org.apache.ibatis.annotations.Mapper;
import java.util.List;
import static com.cf.imes.framework.security.core.util.SecurityFrameworkUtils.getUserOrganId;
@Mapper
public interface RemainPlateMapper extends BaseMapperX<RemainPlateDO> {
default PageResult<RemainPlateDO> selectPage(RemainPlatePageReqVO reqVO) {
return selectPage(reqVO, new LambdaQueryWrapperX<RemainPlateDO>()
.eq(RemainPlateDO::getOrganId,getUserOrganId())
.eqIfPresent(RemainPlateDO::getPlanId, reqVO.getPlanId())
.eqIfPresent(RemainPlateDO::getInitPlanId, reqVO.getInitPlanId())
.eqIfPresent(RemainPlateDO::getStatus, reqVO.getStatus())
@@ -41,8 +44,8 @@ public interface RemainPlateMapper extends BaseMapperX<RemainPlateDO> {
default List<RemainPlateDO> selectByPlanId(Long planId, Long userOrganId) {
return selectList( new LambdaQueryWrapperX<RemainPlateDO>()
.eq(RemainPlateDO::getPlanId, planId)
.eq(RemainPlateDO::getOrganId, userOrganId));
.eq(RemainPlateDO::getOrganId, userOrganId)
.eq(RemainPlateDO::getPlanId, planId));
}
@@ -9,6 +9,8 @@ import com.cf.imes.module.executor.service.rawgoods.RawGoodsService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.validation.annotation.Validated;
import java.util.*;
@@ -47,6 +49,7 @@ public class GoodsServiceImpl implements GoodsService {
private OrderMapper orderMapper;
@Override
@Transactional(rollbackFor = Exception.class)
public Boolean createCorrespondsGoods(List<GoodsSaveReqVO> createReqVOS) {
List<Long> longs = new ArrayList<>();
// 校验生产单是否存在
@@ -115,7 +115,7 @@ public class OptimizePlanServiceImpl implements OptimizePlanService {
@Override
public List<PlateOptimize> getPlateListByPlanId(Long planId) {
return planMapper.selectPlateListByPlanId(planId);
return planMapper.selectPlateListByPlanId(planId,getUserOrganId());
}
@Override
@@ -324,11 +324,11 @@ public class OptimizePlanServiceImpl implements OptimizePlanService {
// .eq(GoodsDO::getOrderId, orderId)
// );
List<GoodsReqVO> goodsDOS = goodsMapper.selectGoodsList(orderId);
List<GoodsReqVO> goodsDOS = goodsMapper.selectGoodsList(orderId,getUserOrganId());
// PlanDO planDO = planMapper.selectByOrderId(orderId);
List<PlateDetialRespVO> plateDOS = plateMapper.selectPlateDetialList(orderId);
List<PlateDetialRespVO> plateDOS = plateMapper.selectPlateDetialList(orderId,getUserOrganId());
// 造型数据的尺寸长度
@@ -376,9 +376,9 @@ public class OptimizePlanServiceImpl implements OptimizePlanService {
// List<GoodsDO> goodsDOS = goodsMapper.selectList(new LambdaQueryWrapperX<GoodsDO>().in(GoodsDO::getOrderId, orderIds));
List<GoodsReqVO> goodsDOS = goodsMapper.selectGoodsListByOrderIds(orderIds);
List<GoodsReqVO> goodsDOS = goodsMapper.selectGoodsListByOrderIds(orderIds,getUserOrganId());
List<PlateDetialRespVO> plateDOS = plateMapper.selectPlateDetialListByIds(orderIds);
List<PlateDetialRespVO> plateDOS = plateMapper.selectPlateDetialListByIds(orderIds,getUserOrganId());
// 造型数据的尺寸长度
Integer orderModelSize = plateDOS.size();
@@ -29,6 +29,7 @@ import com.cf.imes.framework.common.util.object.BeanUtils;
import com.cf.imes.module.executor.dal.mysql.orderParts.OrderPartsMapper;
import static com.cf.imes.framework.common.exception.util.ServiceExceptionUtil.exception;
import static com.cf.imes.framework.security.core.util.SecurityFrameworkUtils.getUserOrganId;
import static com.cf.imes.module.executor.enums.ErrorCodeConstants.*;
/**
@@ -108,7 +109,7 @@ public class OrderPartsServiceImpl implements OrderPartsService {
@Override
public PageResult<OrderPartsRespVO> getPartsPageByTerms(PlateTermsPageReqVO pageReqVO) {
PageDTO<OrderPartsRespVO> page = new PageDTO<>(pageReqVO.getPageNo(), pageReqVO.getPageSize());
IPage<OrderPartsRespVO> pageRes = orderPartsMapper.selectProductList(page, pageReqVO.getOrderId(), pageReqVO.getRoomId(), pageReqVO.getBodyId());
IPage<OrderPartsRespVO> pageRes = orderPartsMapper.selectProductList(page, pageReqVO.getOrderId(), pageReqVO.getRoomId(), pageReqVO.getBodyId(),getUserOrganId());
return new PageResult<OrderPartsRespVO>(pageRes.getRecords(), pageRes.getTotal());
}
@@ -1,6 +1,7 @@
package com.cf.imes.module.executor.service.plan;
import cn.hutool.core.collection.CollectionUtil;
import com.alibaba.fastjson.JSON;
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
import com.baomidou.mybatisplus.core.incrementer.IdentifierGenerator;
import com.baomidou.mybatisplus.core.metadata.IPage;
@@ -50,6 +51,7 @@ import com.cf.imes.framework.common.util.object.BeanUtils;
import com.cf.imes.module.executor.dal.mysql.plan.PlanMapper;
import static com.cf.imes.framework.common.exception.util.ServiceExceptionUtil.exception;
import static com.cf.imes.framework.security.core.util.SecurityFrameworkUtils.getUserOrganId;
import static com.cf.imes.module.executor.enums.ErrorCodeConstants.*;
/**
@@ -104,6 +106,12 @@ public class PlanServiceImpl implements PlanService {
String orderNos = itemList.stream().map(i -> i.getOrderId()).distinct().collect(Collectors.toList()).toString();
plan.setOrderNos(orderNos);
planMapper.insert(plan);
// 修改对应的生产单的状态为 生产中
List<Long> orderIds = JSON.parseArray(orderNos).toJavaList(Long.class);
List<OrderDO> orderDOS = orderMapper.selectBatchIds(orderIds).stream().map(m -> m.setStatus(3)).collect(Collectors.toList());
orderMapper.updateBatch(orderDOS);
Long planId = plan.getId();
/* List<Long> orderIds = createReqVO.getOrderIds();
if (CollectionUtil.isNotEmpty(orderIds)) {
@@ -119,7 +127,7 @@ public class PlanServiceImpl implements PlanService {
//List<Long> plateIds = createReqVO.getPlateIds();
Set<Long> itemIds = plateMapper.selectBatchOrderIdsAndGoodsIds(itemList);
Set<Long> itemIds = plateMapper.selectBatchOrderIdsAndGoodsIds(itemList,getUserOrganId());
if (CollectionUtil.isNotEmpty(itemIds)) {
ArrayList<PlanItemDO> planItemDOS = new ArrayList<>();
@@ -189,6 +197,12 @@ public class PlanServiceImpl implements PlanService {
planMapper.deleteById(id);
/*planOrderMapper.delete(new LambdaQueryWrapperX<PlanOrderDO>().eq(PlanOrderDO::getPlanId, id));*/
planItemMapper.delete(new LambdaQueryWrapperX<PlanItemDO>().eq(PlanItemDO::getPlanId, id));
// 修改生产单的状态为待排单
List<Long> orderIds = JSON.parseArray(planDO.getOrderNos()).toJavaList(Long.class);
List<OrderDO> orderDOS = orderMapper.selectBatchIds(orderIds).stream().map(m -> m.setStatus(2)).collect(Collectors.toList());
orderMapper.updateBatch(orderDOS);
return Boolean.TRUE;
}
@@ -211,8 +225,12 @@ public class PlanServiceImpl implements PlanService {
.map(e -> e.getOrderId())
.collect(Collectors.toSet());*/
PlanRespVO respVO = BeanUtils.toBean(planDO, PlanRespVO.class);
List<GoodsDO> goodsDOS = goodsMapper.selectList(new LambdaQueryWrapperX<GoodsDO>().in(GoodsDO::getOrderId, orderIds));
List<PlateDO> plateDOS = plateMapper.selectList(new LambdaQueryWrapperX<PlateDO>().in(PlateDO::getGoodsId, goodsDOS.stream().map(GoodsDO::getGoodsId).collect(Collectors.toSet())));
List<GoodsDO> goodsDOS = goodsMapper.selectList(new LambdaQueryWrapperX<GoodsDO>()
.eq(GoodsDO::getOrganId,getUserOrganId())
.in(GoodsDO::getOrderId, orderIds));
List<PlateDO> plateDOS = plateMapper.selectList(new LambdaQueryWrapperX<PlateDO>()
.eq(PlateDO::getOrganId,getUserOrganId())
.in(PlateDO::getGoodsId, goodsDOS.stream().map(GoodsDO::getGoodsId).collect(Collectors.toSet())));
List<PlateInfoVO> plateInfoVOS = goodsDOS.stream().map(e -> PlateInfoVO.builder()
.material(e.getMaterial())
.width(e.getWidth())
@@ -247,7 +265,7 @@ public class PlanServiceImpl implements PlanService {
//
// List<PlateDO> plateDOS = plateMapper.selectList(new LambdaQueryWrapperX<PlateDO>().in(PlateDO::getGoodsId,longs ));
List<PlateInfoVO> plateInfoVOS = planItemMapper.selectGoodsList(planIds);
List<PlateInfoVO> plateInfoVOS = planItemMapper.selectGoodsList(planIds,getUserOrganId());
PageResult<PlanRespVO> planRespVOPageResult = BeanUtils.toBean(planDOPageResult, PlanRespVO.class);
@@ -290,6 +308,8 @@ public class PlanServiceImpl implements PlanService {
QueryWrapperX<OrderDO> queryWrapperX = new QueryWrapperX<>();
queryWrapperX
.eq("a.organ_id",getUserOrganId())
.eq("a.status",2)
.eqIfPresent("a.id", pageReqVO.getOrderId())
.isNull("opi.item_id")
.eqIfPresent("a.customer", pageReqVO.getConsignee())
@@ -321,7 +341,7 @@ public class PlanServiceImpl implements PlanService {
List<OrderRespVOCopy> records = orderRespVOCopies.getRecords();
for (OrderRespVOCopy orderRespVOCopy : records) {
List<PlatePage> platePages = plateMapper.selectPlatePage(orderRespVOCopy.getOrderId()/*, orderRespVOCopy.getGoodsId()*/);
List<PlatePage> platePages = plateMapper.selectPlatePage(orderRespVOCopy.getOrderId(),getUserOrganId()/*, orderRespVOCopy.getGoodsId()*/);
orderRespVOCopy.setPlatePages(platePages);
}
@@ -345,7 +365,7 @@ public class PlanServiceImpl implements PlanService {
@Override
public List<PlatePage> getNotPlanPlateListPage(PlateReqPageVO pageVO) {
// PageDTO<PlatePage> page = new PageDTO<>(pageVO.getPageNo(), pageVO.getPageSize());
List<PlatePage> pageRes = plateMapper.selectPlatePage(/*page, */pageVO.getOrderId()/*, pageVO.getGoodsId()*/);
List<PlatePage> pageRes = plateMapper.selectPlatePage(/*page, */pageVO.getOrderId(),getUserOrganId()/*, pageVO.getGoodsId()*/);
return pageRes;
}
@@ -382,7 +402,9 @@ public class PlanServiceImpl implements PlanService {
if (planDO.getStatus().equals(PlanStatusEnum.NEWORDER.getStatus()) || planDO.getStatus().equals(PlanStatusEnum.BOARDHASBEENAPPLIEDFOR.getStatus())) {
throw exception(PLAN_NOT_ALLOW_CANCEL);
}
Set<Long> itemIds = planItemMapper.selectList(new LambdaQueryWrapperX<PlanItemDO>().eq(PlanItemDO::getPlanId, id))
Set<Long> itemIds = planItemMapper.selectList(new LambdaQueryWrapperX<PlanItemDO>()
.eq(PlanItemDO::getOrganId,getUserOrganId())
.eq(PlanItemDO::getPlanId, id))
.stream().map(PlanItemDO::getItemId)
.collect(Collectors.toSet());
plateMapper.update(new LambdaUpdateWrapper<PlateDO>().in(PlateDO::getId, itemIds).set(PlateDO::getIsCancel, Boolean.TRUE));
@@ -405,6 +427,7 @@ public class PlanServiceImpl implements PlanService {
}
queryWrapperX.eq("p.plan_id", vo.getPlanId())
.eq("a.organ_id",getUserOrganId())
.eqIfPresent("a.is_door", vo.getIsDoor())
.eqIfPresent("a.is_special_shaped", vo.getSpecialShaped())
.eqIfPresent("a.is_sculpt", vo.getSculpt())
@@ -431,6 +454,7 @@ public class PlanServiceImpl implements PlanService {
MPJLambdaWrapperX<OrderDO> lambdaWrapperX = new MPJLambdaWrapperX<>();
lambdaWrapperX.leftJoin(OrderItemDO.class, OrderItemDO::getOrderId, OrderDO::getId)
.leftJoin(PlanItemDO.class, PlanItemDO::getItemId, OrderItemDO::getId)
.eq(PlanItemDO::getOrganId,getUserOrganId())
.eq(PlanItemDO::getPlanId, pageReqVO.getPlanId());
PageResult<OrderDO> pageResult = orderMapper.selectJoinPage(pageReqVO, OrderDO.class, lambdaWrapperX);
@@ -447,6 +471,7 @@ public class PlanServiceImpl implements PlanService {
.selectSum(PlateDO::getArea, "area")
.selectCount(PlateDO::getId, "num")
.isNotNull(PlanItemDO::getId)
.eq(GoodsDO::getOrganId,getUserOrganId())
.eq(GoodsDO::getOrderId, pageVO.getOrderId())
.groupBy(GoodsDO::getId)
);
@@ -53,6 +53,7 @@ import com.cf.imes.module.executor.dal.mysql.plate.PlateMapper;
import static com.cf.imes.framework.common.exception.enums.GlobalErrorCodeConstants.INTERNAL_SERVER_ERROR;
import static com.cf.imes.framework.common.exception.util.ServiceExceptionUtil.exception;
import static com.cf.imes.framework.security.core.util.SecurityFrameworkUtils.getUserOrganId;
import static com.cf.imes.module.executor.service.optimizeplan.OptimizePlanService.ORDER_PLATE_MODEL;
import static com.cf.imes.module.system.enums.ErrorCodeConstants.PLATE_NOT_EXISTS;
@@ -117,14 +118,14 @@ public class PlateServiceImpl implements PlateService {
LoginUser loginUser = SecurityFrameworkUtils.getLoginUser();
// 查询生产单下的大板,余料板,排单状态的信息
PlateDetailRespVO plateDetailRespVO = orderItemMapper.selectPlateNumList(reqVO.getOrderId());
PlateDetailRespVO plateDetailRespVO = orderItemMapper.selectPlateNumList(reqVO.getOrderId(),getUserOrganId());
// PlateDetailRespVO plateDetailRespVO = plateMapper.selectPlateNumList(reqVO);
plateDetailRespVO.setCompanyId(loginUser.getId());
// PlateRespVO plateRespVO = BeanUtil.toBean(plateDetailRespVO, PlateRespVO.class);
// 查询生产单下的板材详细信息
List<PlateRespVO> plateRespVOS = orderItemMapper.selectPlateList(reqVO);
List<PlateRespVO> plateRespVOS = orderItemMapper.selectPlateList(reqVO,getUserOrganId());
// List<PlateRespVO> plateRespVOS2 = plateRespVOS
// .stream()
@@ -171,6 +172,7 @@ public class PlateServiceImpl implements PlateService {
}
@Override
@Transactional(rollbackFor = Exception.class)
public void deletePlates(Set<Long> ids) {
plateMapper.deleteBatchIds(ids);
}
@@ -184,7 +186,7 @@ public class PlateServiceImpl implements PlateService {
@Override
public PageResult<PlateRespVO> getPlatePageByTerms(PlateTermsPageReqVO pageReqVO) {
PageDTO<PlateRespVO> page = new PageDTO<>(pageReqVO.getPageNo(), pageReqVO.getPageSize());
IPage<PlateRespVO> pageRes = plateMapper.selectProductList(page, pageReqVO.getOrderId(), pageReqVO.getRoomId(), pageReqVO.getBodyId());
IPage<PlateRespVO> pageRes = plateMapper.selectProductList(page, pageReqVO.getOrderId(), pageReqVO.getRoomId(), pageReqVO.getBodyId(),getUserOrganId());
return new PageResult<PlateRespVO>(pageRes.getRecords(), pageRes.getTotal());
}
@@ -210,6 +212,7 @@ public class PlateServiceImpl implements PlateService {
List<BodyPlateIdDTO> list = plateMapper.selectJoinList(BodyPlateIdDTO.class, new MPJLambdaWrapperX<PlateDO>()
.selectAs(PlateDO::getId, "plateId")
.leftJoin(OrderItemDO.class, OrderItemDO::getPlateId, PlateDO::getId)
.eq(OrderItemDO::getOrganId,getUserOrganId())
.in(OrderItemDO::getBodyId, bodyIds)
.select(OrderItemDO::getBodyId)
);
@@ -223,9 +226,7 @@ public class PlateServiceImpl implements PlateService {
List<List<List<Object>>> data = new ArrayList<>();
map.entrySet().forEach(e->{
bodyPlateDetailVOS.add(BodyPlateDetailVO.builder()
// 将造型的数据转换成 抽取后的数据结构
.orderModelList(e.getValue())
// .orderModelList(e.getValue())
.bodyId(e.getKey())
.build()
);
@@ -1,6 +1,7 @@
package com.cf.imes.module.executor.service.process;
import com.baomidou.mybatisplus.core.incrementer.IdentifierGenerator;
import com.cf.imes.framework.common.enums.ProcessProcessingTypeEnum;
import com.cf.imes.framework.security.core.util.SecurityFrameworkUtils;
import com.cf.imes.module.executor.dal.dataobject.orderBody.OrderBodyDO;
import com.cf.imes.module.executor.dal.dataobject.orderGroup.OrderGroupDO;
@@ -33,6 +34,7 @@ import java.util.ArrayList;
import java.util.List;
import static com.cf.imes.framework.common.exception.util.ServiceExceptionUtil.exception;
import static com.cf.imes.framework.security.core.util.SecurityFrameworkUtils.getUserOrganId;
import static com.cf.imes.module.executor.enums.ErrorCodeConstants.*;
/**
@@ -69,7 +71,7 @@ public class OrderProcessServiceImpl implements OrderProcessService {
private OrderBodyMapper orderBodyMapper;
@Override
@Transactional
@Transactional(rollbackFor = Exception.class)
public Long createOrderProcess(OrderProcessSaveReqVO createReqVO) {
// 当生产不为删除时,校验生产单存在
if (orderMapper.selectOrder(createReqVO.getOrderId(), SecurityFrameworkUtils.getLoginUser().getOrganId()).isEmpty()) {
@@ -101,7 +103,7 @@ public class OrderProcessServiceImpl implements OrderProcessService {
;// 计划日期没有填写
processStepDOS.add(processStepDO);
// 生产单中是否存在加工组,若存在加工组,需要逐条加工组信息写入到生产单工序步骤表
if (processRespDTO.getType() == 7) {
if (processRespDTO.getType().equals(ProcessProcessingTypeEnum.COMPONENTPROCESSING.getNumber())) {
List<OrderGroupDO> orderGroupDOS = orderGroupMapper.getOrderGroupByOrderId(createReqVO.getOrderId(), SecurityFrameworkUtils.getLoginUser().getOrganId());
if (orderGroupDOS.size() != 0) { // 有加工组
for (int i = 0; i < orderGroupDOS.size(); i++) {
@@ -147,6 +149,7 @@ public class OrderProcessServiceImpl implements OrderProcessService {
}
@Override
@Transactional(rollbackFor = Exception.class)
public void updateOrderProcess(OrderProcessSaveReqVO updateReqVO) {
// 校验存在
validateOrderProcessExists(updateReqVO.getId());
@@ -156,6 +159,7 @@ public class OrderProcessServiceImpl implements OrderProcessService {
}
@Override
@Transactional(rollbackFor = Exception.class)
public void deleteOrderProcess(Long id) {
// 校验存在
validateOrderProcessExists(id);
@@ -176,12 +180,12 @@ public class OrderProcessServiceImpl implements OrderProcessService {
@Override
public OrderProcessDO getOrderProcess(Long orderId) {
return orderProcessMapper.selectOne("order_id", orderId);
return orderProcessMapper.selectOne("order_id", orderId ,"organ_id",getUserOrganId());
}
@Override
public OrderProcessDO getOrderProcessByProcessGroupId(Long processGroupId) {
return orderProcessMapper.selectOne("group_id", processGroupId);
return orderProcessMapper.selectOne("group_id", processGroupId,"organ_id",getUserOrganId());
}
}
@@ -30,6 +30,7 @@ public class ProcessStepServiceImpl implements ProcessStepService {
private ProcessStepMapper processStepMapper;
@Override
@Transactional(rollbackFor = Exception.class)
public Long createProcessStep(ProcessStepSaveReqVO createReqVO) {
// 插入
ProcessStepDO processStep = BeanUtils.toBean(createReqVO, ProcessStepDO.class);
@@ -39,6 +40,7 @@ public class ProcessStepServiceImpl implements ProcessStepService {
}
@Override
@Transactional(rollbackFor = Exception.class)
public void updateProcessStep(ProcessStepSaveReqVO updateReqVO) {
// 校验存在
validateProcessStepExists(updateReqVO.getId());
@@ -48,6 +50,7 @@ public class ProcessStepServiceImpl implements ProcessStepService {
}
@Override
@Transactional(rollbackFor = Exception.class)
public void deleteProcessStep(Long id) {
// 校验存在
validateProcessStepExists(id);
@@ -21,6 +21,7 @@ import com.cf.imes.framework.common.util.object.BeanUtils;
import com.cf.imes.module.executor.dal.mysql.rawgoods.RawGoodsMapper;
import static com.cf.imes.framework.common.exception.util.ServiceExceptionUtil.exception;
import static com.cf.imes.framework.security.core.util.SecurityFrameworkUtils.getUserOrganId;
import static com.cf.imes.module.system.enums.ErrorCodeConstants.RAW_GOODS_NOT_EXISTS;
/**
@@ -100,6 +101,6 @@ public class RawGoodsServiceImpl implements RawGoodsService {
@Override
public List<RawGoodsDO> getRawGoodsByOrder(Long orderId) {
return rawGoodsMapper.selectList(RawGoodsDO::getOrderId, orderId);
return rawGoodsMapper.selectList(RawGoodsDO::getOrderId, orderId,RawGoodsDO::getOrganId,getUserOrganId());
}
}
@@ -17,8 +17,8 @@
og.*,
orp.id as remainId
from order_goods og
left join order_remain_plate orp on og.id = orp.goods_id
where og.order_id = #{orderId}
left join order_remain_plate orp on og.id = orp.goods_id and og.organ_id = orp.organ_id
where og.order_id = #{orderId} and og.organ_id = #{organId}
</select>
@@ -31,8 +31,8 @@
og.*,
orp.id as remainId
from order_goods og
left join order_remain_plate orp on og.id = orp.goods_id
where og.order_id in
left join order_remain_plate orp on og.id = orp.goods_id and og.organ_id = orp.organ_id
where og.organ_id =#{organId} and og.order_id in
<foreach item="id" collection="orderIds" open="(" separator="," close=")">
#{id}
@@ -4,12 +4,12 @@
<select id="selectOrderPage" resultType="com.cf.imes.module.executor.controller.admin.plan.vo.OrderRespVOCopy">
select a.id as orderId, a.order_date, a.delivery_date, a.customer, a.address, a.custom_order_no as defineId,
count(op.id) as num, sum(op.area) as area
count(op.id) as num, sum(op.area) as area
from `order` a
left join order_item oi on a.id = oi.order_id
inner join order_plate op on oi.plate_id = op.id
inner join order_goods og on op.goods_id = og.id
left join order_plan_item opi on oi.id = opi.item_id
left join order_item oi on a.id = oi.order_id and a.organ_id = oi.organ_id
inner join order_plate op on oi.plate_id = op.id and oi.organ_id = op.organ_id
inner join order_goods og on op.goods_id = og.id and op.organ_id = og.organ_id
left join order_plan_item opi on oi.id = opi.item_id and oi.organ_id = opi.organ_id
${ew.customSqlSegment}
@@ -63,38 +63,38 @@
</resultMap>
<select id="selectPlateList"
resultMap="PlateListMap"
parameterType="com.cf.imes.module.executor.controller.admin.plate.vo.PlateDetailReqVO">
parameterType="map">
select distinct
op.*,
og.color as color,
og.material as material,
ob.name as bodyName,
ob.room_name as roomName,
oi.id as itemId,
oi.group_id as processGroupId,
og.brand as brand,
(case
when p.texture = '' then '是'
else '否' end ) as hasTexture,
og.height as bigPlateLength,
og.width as bigPlateWidth,
og.spec as spec
op.*,
og.color as color,
og.material as material,
ob.name as bodyName,
ob.room_name as roomName,
oi.id as itemId,
oi.group_id as processGroupId,
og.brand as brand,
(case
when p.texture = '' then '是'
else '否' end ) as hasTexture,
og.height as bigPlateLength,
og.width as bigPlateWidth,
og.spec as spec
from order_item oi
join order_plate op on oi.plate_id = op.id
join order_body ob on oi.body_id = ob.id
join order_goods og on op.goods_id = og.id
join plate p on og.goods_id = p.id
join order_plate op on oi.plate_id = op.id and oi.organ_id = op.organ_id
join order_body ob on oi.body_id = ob.id and oi.organ_id = ob.organ_id
join order_goods og on op.goods_id = og.id and op.organ_id = og.organ_id
join plate p on og.goods_id = p.id and og.organ_id = p.organ_id
<where>
<if test="orderId != null and orderId != ''">
AND oi.order_id = #{orderId}
oi.organ_id = #{organId}
<if test="reqVO.orderId != null and reqVO.orderId != ''">
AND oi.order_id = #{reqVO.orderId}
</if>
<if test="bodyId != null and bodyId != ''">
AND oi.body_id = #{bodyId}
<if test="reqVO.bodyId != null and reqVO.bodyId != ''">
AND oi.body_id = #{reqVO.bodyId}
</if>
<if test="plateId != null and plateId != ''">
AND oi.plate_id = #{plateId}
<if test="reqVO.plateId != null and reqVO.plateId != ''">
AND oi.plate_id = #{reqVO.plateId}
</if>
</where>
@@ -119,11 +119,11 @@
op.status as planStatus,
sum(orp.count )as remainPlateNum
from order_item oi
join order_plan_item opi on oi.id = opi.item_id
join order_plan op on opi.plan_id = op.id
left join order_remain_plate orp on orp.plan_id = op.id
join order_goods og on oi.order_id = og.order_id
where oi.order_id = #{orderId}
join order_plan_item opi on oi.id = opi.item_id and oi.organ_id = opi.organ_id
join order_plan op on opi.plan_id = op.id and opi.organ_id = op.organ_id
left join order_remain_plate orp on orp.plan_id = op.id and orp.organ_id = op.organ_id
join order_goods og on oi.order_id = og.order_id and oi.organ_id = og.organ_id
where oi.organ_id = #{organId} and oi.order_id = #{orderId}
group by planStatus;
</select>
@@ -7,8 +7,8 @@
SELECT a.id, a.goods_id, a.name, a.material, a.type, a.model, a.spec, a.brand, a.factory,
a.unit, a.price, a.is_composite, a.remark, b.num
FROM order_parts a
LEFT JOIN order_item b ON a.id = b.parts_id
WHERE b.order_id = #{orderId}
LEFT JOIN order_item b ON a.id = b.parts_id and a.organ_id = b.organ_id
WHERE b.organ_id =#{organId} and b.order_id = #{orderId}
AND (#{roomId} IS NULL OR b.room_id = #{roomId})
AND (#{bodyId} IS NULL OR b.body_id = #{bodyId})
@@ -108,14 +108,16 @@
</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.*
resultType="com.cf.imes.module.executor.controller.admin.plan.vo.PlateOptimize"
parameterType="java.lang.Long">
select a.id, a.goods_name, a.material, a.color, a.width, a.height, a.thickness, count(b.id) as plateNum, d.*
from order_goods a
left join order_plate b on a.goods_id = b.goods_id
left join order_item c on c.order_id = b.order_id
left join order_remain_plate d on a.goods_id = d.goods_id and d.plan_id = c.plan_id
where c.plan_id = #{planId}
GROUP BY a.id, d.id
left join order_plate b on a.id = b.goods_id and a.organ_id = b.organ_id
left join order_item c on c.order_id = b.order_id and c.organ_id = b.organ_id
left join order_remain_plate d on a.id = d.goods_id and d.plan_id = c.plan_id and a.organ_id = d.organ_id
where c.plan_id = #{planId} and c.organ_id = #{organId}
GROUP BY a.id, a.goods_name, a.material, a.color, a.width, a.height, a.thickness,d.id
</select>
@@ -17,18 +17,21 @@
<select id="selectGoodsList" resultMap="GoodsListMap">
select og.material as material,
og.width as width,
og.height as height,
og.thickness as thickness ,
og.color as color,
count(oi.plate_id) as plateNum,
ROUND(og.height * og.width , 2) as area
from order_plan_item opi
join order_item oi on opi.item_id = oi.id
join order_goods og on oi.order_id = og.order_id
select distinct
og.material as material,
og.width as width,
og.height as height,
og.thickness as thickness ,
og.color as color,
count(oi.plate_id) as plateNum,
ROUND(og.height * og.width , 2) as area
where opi.plan_id in
from order_plan_item opi
join order_item oi on opi.item_id = oi.id and opi.organ_id = oi.organ_id
join order_goods og on oi.order_id = og.order_id and oi.organ_id = og.organ_id
where opi.organ_id = #{organId}
opi.plan_id in
<foreach collection="planIds" item="ids" open="(" close=")" separator=",">
#{ids}
</foreach>
@@ -10,12 +10,13 @@
c.goods_name, c.material, c.color, a.goods_id,oi.num,a.is_special_shaped as specialShaped,a.is_sculpt as profiling
from order_plate a
LEFT JOIN order_item oi on a.id = oi.plate_id and a.order_id = oi.order_id
LEFT JOIN `order` b on a.order_id = b.id
LEFT JOIN order_goods c on a.goods_id = c.id
left join order_plan_item opi on oi.id = opi.item_id
LEFT JOIN order_item oi on a.id = oi.plate_id and a.order_id = oi.order_id and a.organ_id = oi.organ_id
LEFT JOIN `order` b on a.order_id = b.id and a.organ_id = b.organ_id
LEFT JOIN order_goods c on a.goods_id = c.id and a.organ_id = c.organ_id
left join order_plan_item opi on oi.id = opi.item_id and oi.organ_id = opi.organ_id
<where>
a.is_cancel = 0
a.organ_id = #{organId}
and a.is_cancel = 0
and opi.item_id is null
<if test="orderId !=null">
and a.order_id = #{orderId}
@@ -30,9 +31,9 @@
resultType="com.cf.imes.module.executor.controller.admin.plan.vo.PlateResList">
select a.order_id, a.plate_no , a.name as plateName,a.is_special_shaped,a.is_sculpt, e.material, e.color, e.width, e.height, e.thickness, b.room_id, b.body_id
from order_plate a
LEFT JOIN order_item b ON a.id = b.plate_id AND a.order_id = b.order_id
LEFT JOIN order_goods e ON e.id = a.goods_id AND e.order_id = a.order_id
LEFT JOIN order_plan_item p ON b.id = p.item_id
LEFT JOIN order_item b ON a.id = b.plate_id AND a.order_id = b.order_id and a.organ_id = b.organ_id
LEFT JOIN order_goods e ON e.id = a.goods_id AND e.order_id = a.order_id and e.organ_id = a.organ_id
LEFT JOIN order_plan_item p ON b.id = p.item_id and b.organ_id = p.organ_id
${ew.customSqlSegment}
@@ -53,9 +54,9 @@
a.seal_up, a.seal_down, a.texture, a.hole_face, a.hole_arrange, a.unregular_point_count, a.front_hole_count, a.back_hole_count,
a.side_hole_count, a.front_model_count, a.back_model_count, a.remark, c.material, c.color
FROM order_plate a
LEFT JOIN order_goods c ON a.goods_id = c.goods_id AND a.order_id = c.order_id
LEFT JOIN order_item b ON a.id = b.plate_id
WHERE b.order_id = #{orderId}
LEFT JOIN order_goods c ON a.goods_id = c.id AND a.order_id = c.order_id and a.organ_id = c.organ_id
LEFT JOIN order_item b ON a.id = b.plate_id and a.organ_id = b.organ_id
WHERE b.organ_id = #{organId} and b.order_id = #{orderId}
AND (#{roomId} IS NULL OR b.room_id = #{roomId})
AND (#{bodyId} IS NULL OR b.body_id = #{bodyId})
GROUP BY a.id, c.material, c.color;
@@ -63,8 +64,8 @@
<select id="selectBatchOrderIdsAndGoodsIds" resultType="java.lang.Long">
select oi.id from order_plate op
join order_item oi on op.id = oi.plate_id and op.order_id = oi.order_id
where op.order_id in
join order_item oi on op.id = oi.plate_id and op.order_id = oi.order_id and op.organ_id = oi.organ_id
where op.organ_id = #{organId} and op.order_id in
<foreach collection="itemList" item="item" open="(" close=")" separator=",">
(#{item.orderId})
</foreach>
@@ -141,11 +142,11 @@
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
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_body ob on oi.body_id = ob.id
left join order_group og on oi.group_id = og.id
where op.order_id = #{orderId}
left join order_goods ogs on op.goods_id = ogs.id and op.organ_id = ogs.organ_id
join order_item oi on op.id = oi.plate_id and op.organ_id = oi.organ_id
join order_body ob on oi.body_id = ob.id and oi.organ_id = ob.organ_id
left join order_group og on oi.group_id = og.id and oi.organ_id = og.organ_id
where op.order_id =#{orderId} and op.organ_id = #{organId}
</select>
@@ -162,12 +163,12 @@
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
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_body ob on oi.body_id = ob.id
left join order_group og on oi.group_id = og.id
left join order_goods ogs on op.goods_id = ogs.id and op.organ_id = ogs.organ_id
join order_item oi on op.id = oi.plate_id and op.organ_id = oi.organ_id
join order_body ob on oi.body_id = ob.id and oi.organ_id = ob.organ_id
left join order_group og on oi.group_id = og.id = oi.organ_id = og.organ_id
where op.order_id in
where op.organ_id = #{organId} and op.order_id in
<foreach collection="orderIds" item="orderIds" open="(" close=")" separator=",">