Merge remote-tracking branch 'origin/main'

# Conflicts:
#	cf-module-prod-manage/cf-module-prod-manage-biz/pom.xml
#	cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/controller/admin/test/TestController.java
This commit is contained in:
liuzhaotian
2024-05-08 18:04:01 +08:00
5 changed files with 151 additions and 5 deletions
@@ -4,6 +4,7 @@ import com.cf.imes.framework.es.core.valid.CreateGroup;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.*;
import java.util.*;
import javax.validation.Valid;
import javax.validation.constraints.*;
import org.springframework.format.annotation.DateTimeFormat;
import java.time.LocalDateTime;
@@ -15,8 +16,8 @@ public class PlanSaveReqVO {
@Schema(description = "ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "12776")
private Long id;
@Schema(description = "排单号", requiredMode = Schema.RequiredMode.REQUIRED)
private String planNo;
/*@Schema(description = "排单号", requiredMode = Schema.RequiredMode.REQUIRED)
private String planNo;*/
@Schema(description = "排序优先级", requiredMode = Schema.RequiredMode.REQUIRED)
//@NotNull(groups = CreateGroup.class,message = "排序优先级不能为空")
@@ -45,8 +46,11 @@ public class PlanSaveReqVO {
/*@Schema(description = "生产单id列表", requiredMode = Schema.RequiredMode.REQUIRED)
private List<Long> orderIds;*/
@Schema(description = "板件id列表")
private List<Long> plateIds;
/*@Schema(description = "板件id列表")
private List<Long> plateIds;*/
@Schema(description = "生产单id与商品id 列表")
private List<Item> itemList;
@Schema(description = "备注", requiredMode = Schema.RequiredMode.REQUIRED, example = "你说的对")
private String remark;
@@ -58,4 +62,15 @@ public class PlanSaveReqVO {
@Schema(description = "生产时间", requiredMode = Schema.RequiredMode.REQUIRED)
@NotNull(message = "生产时间不能为空", groups = CreateGroup.class)
private LocalDateTime produceTime;
@Valid
@Data
public static class Item {
@Schema(description = "生产单id")
@NotNull
private Long orderId;
@Schema(description = "商品id")
@NotNull
private Long goodsId;
}
}
@@ -10,6 +10,7 @@ import com.cf.imes.framework.common.pojo.PageResult;
import com.cf.imes.framework.common.util.object.BeanUtils;
import com.cf.imes.framework.mybatis.core.query.LambdaQueryWrapperX;
import com.cf.imes.framework.mybatis.core.mapper.BaseMapperX;
import com.cf.imes.module.executor.controller.admin.plan.vo.PlanSaveReqVO;
import com.cf.imes.module.executor.controller.admin.plan.vo.PlatePage;
import com.cf.imes.module.executor.controller.admin.plan.vo.PlateParam;
import com.cf.imes.module.executor.controller.admin.plan.vo.PlateResList;
@@ -88,4 +89,6 @@ public interface PlateMapper extends BaseMapperX<PlateDO> {
}
IPage<PlateRespVO> selectProductList(@Param("page") IPage<PlateRespVO> page , @Param("orderId")Long orderId, @Param("roomId")Long roomId , @Param("bodyId")Long bodyId);
Set<Long> selectBatchOrderIdsAndGoodsIds(@Param("itemList") List<PlanSaveReqVO.Item> itemList);
}
@@ -2,6 +2,7 @@ package com.cf.imes.module.executor.service.plan;
import cn.hutool.core.collection.CollectionUtil;
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
import com.baomidou.mybatisplus.core.incrementer.IdentifierGenerator;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.plugins.pagination.PageDTO;
@@ -84,6 +85,9 @@ public class PlanServiceImpl implements PlanService {
@Resource
private OrderBodyMapper orderBodyMapper;
@Resource
private IdentifierGenerator identifierGenerator;
@Override
@Transactional(rollbackFor = Exception.class)
public Long createPlan(PlanSaveReqVO createReqVO) {
@@ -92,6 +96,7 @@ public class PlanServiceImpl implements PlanService {
PlanDO plan = BeanUtils.toBean(createReqVO, PlanDO.class);
plan.setIsPay(Boolean.FALSE);
plan.setSort(sort);
plan.setPlanNo(identifierGenerator.nextId(null).toString());
planMapper.insert(plan);
Long planId = plan.getId();
/* List<Long> orderIds = createReqVO.getOrderIds();
@@ -105,7 +110,10 @@ public class PlanServiceImpl implements PlanService {
}
planOrderMapper.insertBatch(planOrderDOS);
}*/
List<Long> plateIds = createReqVO.getPlateIds();
//List<Long> plateIds = createReqVO.getPlateIds();
List<PlanSaveReqVO.Item> itemList = createReqVO.getItemList();
Set<Long> plateIds = plateMapper.selectBatchOrderIdsAndGoodsIds(itemList);
if (CollectionUtil.isNotEmpty(plateIds)) {
ArrayList<PlanItemDO> planItemDOS = new ArrayList<>();
for (Long plateId : plateIds) {
@@ -55,4 +55,12 @@
AND (#{bodyId} IS NULL OR b.body_id = #{bodyId})
GROUP BY a.id, c.material, c.color;
</select>
<select id="selectBatchOrderIdsAndGoodsIds" resultType="java.lang.Long">
select id from order_plate
where ( order_id, goods_id ) in
<foreach collection="itemList" item="item" open="(" close=")" separator=",">
(#{item.orderId},#{item.goodsId})
</foreach>
</select>
</mapper>