mirror of
http://192.168.1.205:9980/cf_devdept2/cf_imes_server.git
synced 2026-08-12 21:02:08 +08:00
Merge branch 'main' of http://192.168.1.205:9980/cf_devdept2/cf_imes_server
This commit is contained in:
+26
@@ -0,0 +1,26 @@
|
|||||||
|
package com.cf.imes.framework.common.enums;
|
||||||
|
|
||||||
|
|
||||||
|
import lombok.AllArgsConstructor;
|
||||||
|
import lombok.Getter;
|
||||||
|
|
||||||
|
@AllArgsConstructor
|
||||||
|
@Getter
|
||||||
|
public enum MixConfigTypeEnum {
|
||||||
|
|
||||||
|
SAMEMATERIALANDTHICKNESS(1,"相同材质和厚度"),
|
||||||
|
SAMETHICKNESS(2,"相同厚度");
|
||||||
|
|
||||||
|
|
||||||
|
private Integer type;
|
||||||
|
private String filterName;
|
||||||
|
|
||||||
|
public boolean equals(Integer type) {
|
||||||
|
return this.type .equals(type) ;
|
||||||
|
}
|
||||||
|
|
||||||
|
public boolean equals(MixConfigTypeEnum enableStatusEnum) {
|
||||||
|
return enableStatusEnum != null && enableStatusEnum.type .equals(this.getType()) ;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
+1
-1
@@ -140,7 +140,7 @@ public class OrderPlanApiImpl implements OrderPlanApi{
|
|||||||
|
|
||||||
List<Long> planIds = planItemDOS.stream().map(PlanItemDO::getPlanId).distinct().toList();
|
List<Long> planIds = planItemDOS.stream().map(PlanItemDO::getPlanId).distinct().toList();
|
||||||
|
|
||||||
List<Long> planDOS = planMapper.selectPLanList(planIds,getUserOrganId());
|
List<Long> planDOS = planMapper.selectPlanList(planIds,getUserOrganId());
|
||||||
|
|
||||||
if(CollUtil.isEmpty(planDOS)){
|
if(CollUtil.isEmpty(planDOS)){
|
||||||
return CommonResult.success(true);
|
return CommonResult.success(true);
|
||||||
|
|||||||
+5
-2
@@ -111,8 +111,11 @@ public class PlanController {
|
|||||||
@PostMapping("/setSort")
|
@PostMapping("/setSort")
|
||||||
@Operation(summary = "设置排单优先级")
|
@Operation(summary = "设置排单优先级")
|
||||||
@PreAuthorize("@ss.hasPermission('placeorder:priority')")
|
@PreAuthorize("@ss.hasPermission('placeorder:priority')")
|
||||||
public CommonResult<Boolean> setSort(@Valid @NotEmpty(message = "参数不能空") @RequestBody List<SortVO> sortVos) {
|
public CommonResult<Boolean> setSort(@Valid @NotEmpty(message = "参数不能空") @Size(max = 2,message = "做多两条数据") @RequestBody List<SortVO> sortVos) {
|
||||||
return success(planService.setSort(sortVos));
|
|
||||||
|
planService.setSort(sortVos);
|
||||||
|
|
||||||
|
return success(Boolean.TRUE);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
-19
@@ -1,19 +0,0 @@
|
|||||||
package com.cf.imes.module.executor.controller.admin.plan.bo;
|
|
||||||
|
|
||||||
|
|
||||||
import io.swagger.v3.oas.annotations.media.Schema;
|
|
||||||
import lombok.Builder;
|
|
||||||
import lombok.Data;
|
|
||||||
|
|
||||||
@Data
|
|
||||||
@Builder
|
|
||||||
public class GoodsNum {
|
|
||||||
|
|
||||||
@Schema(description = "生产单ID")
|
|
||||||
private Long orderId;
|
|
||||||
|
|
||||||
|
|
||||||
@Schema(description = "商品数量")
|
|
||||||
private Long goodsNum;
|
|
||||||
|
|
||||||
}
|
|
||||||
+4
-1
@@ -7,6 +7,7 @@ import com.cf.imes.module.executor.controller.admin.plan.saveOptimize.PrintOrder
|
|||||||
import com.cf.imes.module.executor.controller.admin.plan.vo.GoodsReqVO;
|
import com.cf.imes.module.executor.controller.admin.plan.vo.GoodsReqVO;
|
||||||
import com.cf.imes.module.executor.controller.admin.plan.vo.PlateDetailRespVO;
|
import com.cf.imes.module.executor.controller.admin.plan.vo.PlateDetailRespVO;
|
||||||
import com.cf.imes.module.executor.dal.dataobject.goods.OptimizeBoardModelDO;
|
import com.cf.imes.module.executor.dal.dataobject.goods.OptimizeBoardModelDO;
|
||||||
|
import com.cf.imes.module.executor.dal.dataobject.goods.PlanActualGoodsModelDO;
|
||||||
import com.cf.imes.module.executor.dal.dataobject.order.OrderDO;
|
import com.cf.imes.module.executor.dal.dataobject.order.OrderDO;
|
||||||
import com.cf.imes.module.executor.dal.dataobject.ordermodel.OrderModelDO;
|
import com.cf.imes.module.executor.dal.dataobject.ordermodel.OrderModelDO;
|
||||||
import com.cf.imes.module.executor.dal.dataobject.plan.PlanDO;
|
import com.cf.imes.module.executor.dal.dataobject.plan.PlanDO;
|
||||||
@@ -64,11 +65,13 @@ public class OrderSource {
|
|||||||
private List<OrderPartsRemark> orderPartsRemarks;
|
private List<OrderPartsRemark> orderPartsRemarks;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@Schema(description = "生产单包裹信息")
|
@Schema(description = "生产单包裹信息")
|
||||||
private List<PrintOrderPackReqVO> orderPackReqVOS;
|
private List<PrintOrderPackReqVO> orderPackReqVOS;
|
||||||
|
|
||||||
|
|
||||||
|
@Schema(description = "混单时选择的实际的大板信息")
|
||||||
|
private PlanActualGoodsModelDO planActualGoodsModelDO;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
+18
@@ -0,0 +1,18 @@
|
|||||||
|
package com.cf.imes.module.executor.controller.admin.plan.vo;
|
||||||
|
|
||||||
|
|
||||||
|
import io.swagger.v3.oas.annotations.media.Schema;
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
@Data
|
||||||
|
public class MixConfig {
|
||||||
|
|
||||||
|
|
||||||
|
@Schema(description = "是否开启混单,true 开启 false 关闭")
|
||||||
|
private Boolean isMixed;
|
||||||
|
|
||||||
|
|
||||||
|
@Schema(description = "混单方式 1 相同材质和厚度 2 相同厚度")
|
||||||
|
private Integer mixedType;
|
||||||
|
|
||||||
|
}
|
||||||
+27
@@ -0,0 +1,27 @@
|
|||||||
|
package com.cf.imes.module.executor.controller.admin.plan.vo;
|
||||||
|
|
||||||
|
|
||||||
|
import com.cf.imes.module.executor.dal.dataobject.goods.PlanActualGoodsModelDO;
|
||||||
|
import io.swagger.v3.oas.annotations.media.Schema;
|
||||||
|
import lombok.AllArgsConstructor;
|
||||||
|
import lombok.Builder;
|
||||||
|
import lombok.Data;
|
||||||
|
import lombok.NoArgsConstructor;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
@Data
|
||||||
|
@Builder
|
||||||
|
@AllArgsConstructor
|
||||||
|
@NoArgsConstructor
|
||||||
|
public class PlanActualGoodsList {
|
||||||
|
|
||||||
|
@Schema(description = "大板的分类ID")
|
||||||
|
private List<Long> ids;
|
||||||
|
|
||||||
|
@Schema(description = "混单时选择的实际的大板信息")
|
||||||
|
private PlanActualGoodsModelDO planActualGoodsModelDO;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
+29
@@ -0,0 +1,29 @@
|
|||||||
|
package com.cf.imes.module.executor.controller.admin.plan.vo;
|
||||||
|
|
||||||
|
|
||||||
|
import com.cf.imes.module.executor.controller.admin.goods.vo.GoodsRespVO;
|
||||||
|
import io.swagger.v3.oas.annotations.media.Schema;
|
||||||
|
import lombok.AllArgsConstructor;
|
||||||
|
import lombok.Builder;
|
||||||
|
import lombok.Data;
|
||||||
|
import lombok.NoArgsConstructor;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
|
||||||
|
@Data
|
||||||
|
@Builder
|
||||||
|
@AllArgsConstructor
|
||||||
|
@NoArgsConstructor
|
||||||
|
public class PlanActualGoodsResp {
|
||||||
|
|
||||||
|
|
||||||
|
@Schema(description = "大板的分类ID")
|
||||||
|
private List<Long> ids;
|
||||||
|
|
||||||
|
|
||||||
|
@Schema(description = "页面显示的大板信息")
|
||||||
|
private List<GoodsRespVO> goodsRespVOS;
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
+6
-1
@@ -26,7 +26,8 @@ public class PlanSaveReqVO {
|
|||||||
@Schema(description = "是否已投产")
|
@Schema(description = "是否已投产")
|
||||||
private Boolean isScheduled;
|
private Boolean isScheduled;
|
||||||
|
|
||||||
@Schema(description = "需要进行排单的板材信息")
|
|
||||||
|
@Schema(description = "需要进行排单的板材信息-数据不改变")
|
||||||
private SavePlanPlateList savePlanPlateList;
|
private SavePlanPlateList savePlanPlateList;
|
||||||
|
|
||||||
|
|
||||||
@@ -42,4 +43,8 @@ public class PlanSaveReqVO {
|
|||||||
private List<OrderPlateIds> deleteOrderPlateIds;
|
private List<OrderPlateIds> deleteOrderPlateIds;
|
||||||
|
|
||||||
|
|
||||||
|
@Schema(description = "混单创建排单时选择的实际的大板信息")
|
||||||
|
private List<PlanActualGoodsList> planActualGoodsListList;
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
+2
@@ -60,6 +60,8 @@ public class PlateResList {
|
|||||||
private String material;
|
private String material;
|
||||||
@Schema(description = "纹路")
|
@Schema(description = "纹路")
|
||||||
private Integer texture;
|
private Integer texture;
|
||||||
|
@Schema(description = "品牌")
|
||||||
|
private String brand;
|
||||||
@Schema(description = "备注")
|
@Schema(description = "备注")
|
||||||
private String remark;
|
private String remark;
|
||||||
}
|
}
|
||||||
|
|||||||
+6
@@ -16,6 +16,9 @@ import java.util.List;
|
|||||||
public class SavePlanPlateList {
|
public class SavePlanPlateList {
|
||||||
|
|
||||||
|
|
||||||
|
@Schema(description = "混单的配置项",requiredMode = Schema.RequiredMode.REQUIRED)
|
||||||
|
private MixConfig mixConfig;
|
||||||
|
|
||||||
|
|
||||||
@Schema(description = "小板的信息列表",requiredMode = Schema.RequiredMode.REQUIRED)
|
@Schema(description = "小板的信息列表",requiredMode = Schema.RequiredMode.REQUIRED)
|
||||||
@Valid
|
@Valid
|
||||||
@@ -74,6 +77,9 @@ public class SavePlanPlateList {
|
|||||||
private String color;
|
private String color;
|
||||||
|
|
||||||
|
|
||||||
|
@Schema(description = "大板的品牌")
|
||||||
|
private String brand;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
+8
-1
@@ -12,6 +12,8 @@ import javax.validation.constraints.NotNull;
|
|||||||
@Data
|
@Data
|
||||||
@Valid
|
@Valid
|
||||||
public class SortVO {
|
public class SortVO {
|
||||||
|
|
||||||
|
|
||||||
@Schema(description = "排单id", requiredMode = Schema.RequiredMode.REQUIRED)
|
@Schema(description = "排单id", requiredMode = Schema.RequiredMode.REQUIRED)
|
||||||
@NotNull(message = "排单id 不能空")
|
@NotNull(message = "排单id 不能空")
|
||||||
private Long planId;
|
private Long planId;
|
||||||
@@ -20,8 +22,13 @@ public class SortVO {
|
|||||||
@NotNull(message = "排序不能空")
|
@NotNull(message = "排序不能空")
|
||||||
private Long sort;
|
private Long sort;
|
||||||
|
|
||||||
|
|
||||||
@Schema(description = "是否置顶", requiredMode = Schema.RequiredMode.REQUIRED,example = "false")
|
@Schema(description = "是否置顶", requiredMode = Schema.RequiredMode.REQUIRED,example = "false")
|
||||||
// @NotNull(message = "是否置顶不能空")
|
|
||||||
private Boolean isTopUp;
|
private Boolean isTopUp;
|
||||||
|
|
||||||
|
|
||||||
|
@Schema(description = "是否第一条数据",example = "false")
|
||||||
|
private Boolean isOnePlan;
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
+3
-3
@@ -22,12 +22,12 @@ public class GoodsPlateFilterPageReqVO extends PageParam {
|
|||||||
|
|
||||||
|
|
||||||
@Schema(description = "排单ID",requiredMode = Schema.RequiredMode.REQUIRED)
|
@Schema(description = "排单ID",requiredMode = Schema.RequiredMode.REQUIRED)
|
||||||
@NotNull(message = "排单ID不能为空")
|
// @NotNull(message = "排单ID不能为空")
|
||||||
private Long planId;
|
private Long planId;
|
||||||
|
|
||||||
|
|
||||||
@Schema(description = "厚度",requiredMode = Schema.RequiredMode.REQUIRED)
|
@Schema(description = "厚度",requiredMode = Schema.RequiredMode.REQUIRED)
|
||||||
@NotNull(message = "厚度不能为空")
|
// @NotNull(message = "厚度不能为空")
|
||||||
private BigDecimal thickness;
|
private BigDecimal thickness;
|
||||||
|
|
||||||
|
|
||||||
@@ -37,7 +37,7 @@ public class GoodsPlateFilterPageReqVO extends PageParam {
|
|||||||
|
|
||||||
|
|
||||||
@Schema(description = "颜色",requiredMode = Schema.RequiredMode.REQUIRED)
|
@Schema(description = "颜色",requiredMode = Schema.RequiredMode.REQUIRED)
|
||||||
@NotNull(message = "颜色不能为空")
|
// @NotNull(message = "颜色不能为空")
|
||||||
private String color;
|
private String color;
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
+56
@@ -0,0 +1,56 @@
|
|||||||
|
package com.cf.imes.module.executor.dal.dataobject.goods;
|
||||||
|
|
||||||
|
|
||||||
|
import com.cf.imes.framework.es.core.dal.ESDocument;
|
||||||
|
import io.swagger.v3.oas.annotations.media.Schema;
|
||||||
|
import lombok.AllArgsConstructor;
|
||||||
|
import lombok.Builder;
|
||||||
|
import lombok.Data;
|
||||||
|
import lombok.NoArgsConstructor;
|
||||||
|
|
||||||
|
import java.math.BigDecimal;
|
||||||
|
|
||||||
|
@Data
|
||||||
|
@Builder
|
||||||
|
@AllArgsConstructor
|
||||||
|
@NoArgsConstructor
|
||||||
|
@Schema(description = "混单选择的实际的大板信息")
|
||||||
|
public class PlanActualGoodsModelDO extends ESDocument {
|
||||||
|
|
||||||
|
|
||||||
|
@Schema(description = "排单ID")
|
||||||
|
private Long planId;
|
||||||
|
|
||||||
|
@Schema(description = "商品 ID")
|
||||||
|
private String goodsId;
|
||||||
|
|
||||||
|
@Schema(description = "商品名称")
|
||||||
|
private String goodsName;
|
||||||
|
|
||||||
|
@Schema(description = "材质:颗粒板、欧松板、多层板、生态板、禾香板、密度板、实木、铝蜂窝板、铝塑板")
|
||||||
|
private String material;
|
||||||
|
|
||||||
|
@Schema(description = "颜色")
|
||||||
|
private String color;
|
||||||
|
|
||||||
|
@Schema(description = "品牌")
|
||||||
|
private String brand;
|
||||||
|
|
||||||
|
@Schema(description = "厚度")
|
||||||
|
private BigDecimal thickness;
|
||||||
|
|
||||||
|
|
||||||
|
// @Schema(description = "纹路")
|
||||||
|
// private Integer texture;
|
||||||
|
//
|
||||||
|
// @Schema(description = "宽度")
|
||||||
|
// private BigDecimal width;
|
||||||
|
//
|
||||||
|
// @Schema(description = "高度")
|
||||||
|
// private BigDecimal height;
|
||||||
|
//
|
||||||
|
// @Schema(description = "规格")
|
||||||
|
// private String spec;
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
+5
@@ -43,6 +43,11 @@ public class PlanDO extends BaseDO {
|
|||||||
*/
|
*/
|
||||||
private Integer status;
|
private Integer status;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 是否置顶,0 未置顶 1 已置顶
|
||||||
|
*/
|
||||||
|
private Boolean isTop;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 是否已投产:0未投产,1已投产
|
* 是否已投产:0未投产,1已投产
|
||||||
*/
|
*/
|
||||||
|
|||||||
+3
@@ -8,6 +8,7 @@ import com.cf.imes.framework.common.pojo.PageResult;
|
|||||||
import com.cf.imes.framework.mybatis.core.mapper.BaseMapperX;
|
import com.cf.imes.framework.mybatis.core.mapper.BaseMapperX;
|
||||||
import com.cf.imes.framework.mybatis.core.query.LambdaQueryWrapperX;
|
import com.cf.imes.framework.mybatis.core.query.LambdaQueryWrapperX;
|
||||||
import com.cf.imes.module.executor.controller.admin.goods.vo.GoodsPageReqVO;
|
import com.cf.imes.module.executor.controller.admin.goods.vo.GoodsPageReqVO;
|
||||||
|
import com.cf.imes.module.executor.controller.admin.goods.vo.GoodsRespVO;
|
||||||
import com.cf.imes.module.executor.controller.admin.order.vo.order.OrderGoodsPlateIds;
|
import com.cf.imes.module.executor.controller.admin.order.vo.order.OrderGoodsPlateIds;
|
||||||
import com.cf.imes.module.executor.controller.admin.plan.bo.OrderRoomBodyList;
|
import com.cf.imes.module.executor.controller.admin.plan.bo.OrderRoomBodyList;
|
||||||
import com.cf.imes.module.executor.controller.admin.plan.vo.GoodsReqVO;
|
import com.cf.imes.module.executor.controller.admin.plan.vo.GoodsReqVO;
|
||||||
@@ -200,6 +201,8 @@ public interface GoodsMapper extends BaseMapperX<GoodsDO> {
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
List<GoodsRespVO> selectNoOrderPlanGoods(@Param("ids") List<Long> ids, @Param("organId") Long organId);
|
||||||
|
|
||||||
List<Long> selectInsertGoodsIds(@Param("orderIds") List<Long> orderIds,@Param("goodsIds") List<Long> goodsIds,@Param("organId") Long organId);
|
List<Long> selectInsertGoodsIds(@Param("orderIds") List<Long> orderIds,@Param("goodsIds") List<Long> goodsIds,@Param("organId") Long organId);
|
||||||
|
|
||||||
// 通过orderId查找板材
|
// 通过orderId查找板材
|
||||||
|
|||||||
+66
-59
@@ -1,25 +1,20 @@
|
|||||||
package com.cf.imes.module.executor.dal.mysql.plan;
|
package com.cf.imes.module.executor.dal.mysql.plan;
|
||||||
|
|
||||||
import com.cf.imes.framework.common.pojo.PageResult;
|
import com.baomidou.mybatisplus.core.conditions.Wrapper;
|
||||||
|
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||||
|
import com.baomidou.mybatisplus.core.toolkit.Constants;
|
||||||
import com.cf.imes.framework.mybatis.core.mapper.BaseMapperX;
|
import com.cf.imes.framework.mybatis.core.mapper.BaseMapperX;
|
||||||
import com.cf.imes.framework.mybatis.core.query.LambdaQueryWrapperX;
|
import com.cf.imes.framework.mybatis.core.query.LambdaQueryWrapperX;
|
||||||
import com.cf.imes.framework.mybatis.core.query.MPJLambdaWrapperX;
|
|
||||||
import com.cf.imes.module.executor.controller.admin.order.vo.order.OrderStatisticsReqVO;
|
import com.cf.imes.module.executor.controller.admin.order.vo.order.OrderStatisticsReqVO;
|
||||||
import com.cf.imes.module.executor.controller.admin.plan.vo.OrderPlanStatisticsAreaRespVO;
|
import com.cf.imes.module.executor.controller.admin.plan.vo.OrderPlanStatisticsAreaRespVO;
|
||||||
import com.cf.imes.module.executor.controller.admin.plan.vo.OrderPlanStatisticsCountRespVO;
|
import com.cf.imes.module.executor.controller.admin.plan.vo.OrderPlanStatisticsCountRespVO;
|
||||||
import com.cf.imes.module.executor.controller.admin.plan.vo.PlanPageReqVO;
|
|
||||||
import com.cf.imes.module.executor.controller.admin.plan.vo.PlateOptimize;
|
import com.cf.imes.module.executor.controller.admin.plan.vo.PlateOptimize;
|
||||||
import com.cf.imes.module.executor.dal.dataobject.order.OrderDO;
|
|
||||||
import com.cf.imes.module.executor.dal.dataobject.plan.PlanDO;
|
import com.cf.imes.module.executor.dal.dataobject.plan.PlanDO;
|
||||||
import com.cf.imes.module.executor.dal.dataobject.planitem.PlanItemDO;
|
|
||||||
import org.apache.commons.lang3.StringUtils;
|
|
||||||
import org.apache.ibatis.annotations.Mapper;
|
import org.apache.ibatis.annotations.Mapper;
|
||||||
import org.apache.ibatis.annotations.Param;
|
import org.apache.ibatis.annotations.Param;
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
import static com.cf.imes.framework.security.core.util.SecurityFrameworkUtils.getUserOrganId;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 生产单开料排单 Mapper
|
* 生产单开料排单 Mapper
|
||||||
*
|
*
|
||||||
@@ -28,48 +23,52 @@ import static com.cf.imes.framework.security.core.util.SecurityFrameworkUtils.ge
|
|||||||
@Mapper
|
@Mapper
|
||||||
public interface PlanMapper extends BaseMapperX<PlanDO> {
|
public interface PlanMapper extends BaseMapperX<PlanDO> {
|
||||||
|
|
||||||
default PageResult<PlanDO> selectPage(PlanPageReqVO reqVO) {
|
|
||||||
if(StringUtils.isNotBlank(reqVO.getCustomer())) {
|
|
||||||
return selectJoinPage(reqVO, PlanDO.class, new MPJLambdaWrapperX<PlanDO>()
|
|
||||||
.eq(PlanDO::getDeleted,false)
|
|
||||||
.eq(PlanDO::getOrganId,getUserOrganId())
|
|
||||||
.eqIfPresent(PlanDO::getIsScheduled,reqVO.getIsScheduled())
|
|
||||||
.eqIfPresent(PlanDO::getId, reqVO.getId())
|
|
||||||
.eqIfPresent(PlanDO::getSort, reqVO.getSort())
|
|
||||||
.eqIfPresent(PlanDO::getType, reqVO.getType())
|
|
||||||
.inIfPresent(PlanDO::getStatus, reqVO.getStatus())
|
|
||||||
.eqIfPresent(PlanDO::getMachineId, reqVO.getMachineId())
|
|
||||||
.betweenIfPresent(PlanDO::getPlanTime, reqVO.getPlanTime())
|
|
||||||
.likeIfPresent(PlanDO::getOrderNos, reqVO.getOrderNos())
|
|
||||||
.eqIfPresent(PlanDO::getRemark, reqVO.getRemark())
|
|
||||||
.betweenIfPresent(PlanDO::getCreateTime, reqVO.getCreateTime())
|
|
||||||
.eqIfPresent(PlanDO::getOperator, reqVO.getOperator())
|
|
||||||
.betweenIfPresent(PlanDO::getProduceTime, reqVO.getProduceTime())
|
|
||||||
.leftJoin(PlanItemDO.class, PlanItemDO::getPlanId, PlanDO::getId)
|
|
||||||
.leftJoin(OrderDO.class, OrderDO::getId, PlanItemDO::getOrderId)
|
|
||||||
.like(OrderDO::getCustomer, reqVO.getCustomer())
|
|
||||||
.orderByDesc(PlanDO::getCreateTime)
|
|
||||||
.distinct()
|
|
||||||
);
|
|
||||||
}
|
|
||||||
|
|
||||||
return selectPage(reqVO, new LambdaQueryWrapperX<PlanDO>()
|
IPage<PlanDO> selectPlanPageList(@Param("page") IPage page,@Param(Constants.WRAPPER) Wrapper<PlanDO> wrapper);
|
||||||
.eq(PlanDO::getDeleted,false)
|
|
||||||
.eq(PlanDO::getOrganId,getUserOrganId())
|
|
||||||
.eqIfPresent(PlanDO::getIsScheduled,reqVO.getIsScheduled())
|
// default PageResult<PlanDO> selectPage(PlanPageReqVO reqVO) {
|
||||||
.eqIfPresent(PlanDO::getId, reqVO.getId())
|
// if(StringUtils.isNotBlank(reqVO.getCustomer())) {
|
||||||
.eqIfPresent(PlanDO::getSort, reqVO.getSort())
|
// return selectJoinPage(reqVO, PlanDO.class, new MPJLambdaWrapperX<PlanDO>()
|
||||||
.eqIfPresent(PlanDO::getType, reqVO.getType())
|
// .eq(PlanDO::getDeleted,false)
|
||||||
.inIfPresent(PlanDO::getStatus, reqVO.getStatus())
|
// .eq(PlanDO::getOrganId,getUserOrganId())
|
||||||
.eqIfPresent(PlanDO::getMachineId, reqVO.getMachineId())
|
// .eqIfPresent(PlanDO::getIsScheduled,reqVO.getIsScheduled())
|
||||||
.betweenIfPresent(PlanDO::getPlanTime, reqVO.getPlanTime())
|
// .eqIfPresent(PlanDO::getId, reqVO.getId())
|
||||||
.likeIfPresent(PlanDO::getOrderNos, reqVO.getOrderNos())
|
// .eqIfPresent(PlanDO::getSort, reqVO.getSort())
|
||||||
.eqIfPresent(PlanDO::getRemark, reqVO.getRemark())
|
// .eqIfPresent(PlanDO::getType, reqVO.getType())
|
||||||
.betweenIfPresent(PlanDO::getCreateTime, reqVO.getCreateTime())
|
// .inIfPresent(PlanDO::getStatus, reqVO.getStatus())
|
||||||
.eqIfPresent(PlanDO::getOperator, reqVO.getOperator())
|
// .eqIfPresent(PlanDO::getMachineId, reqVO.getMachineId())
|
||||||
.betweenIfPresent(PlanDO::getProduceTime, reqVO.getProduceTime())
|
// .betweenIfPresent(PlanDO::getPlanTime, reqVO.getPlanTime())
|
||||||
.orderByDesc(PlanDO::getCreateTime));
|
// .likeIfPresent(PlanDO::getOrderNos, reqVO.getOrderNos())
|
||||||
}
|
// .eqIfPresent(PlanDO::getRemark, reqVO.getRemark())
|
||||||
|
// .betweenIfPresent(PlanDO::getCreateTime, reqVO.getCreateTime())
|
||||||
|
// .eqIfPresent(PlanDO::getOperator, reqVO.getOperator())
|
||||||
|
// .betweenIfPresent(PlanDO::getProduceTime, reqVO.getProduceTime())
|
||||||
|
// .leftJoin(PlanItemDO.class, PlanItemDO::getPlanId, PlanDO::getId)
|
||||||
|
// .leftJoin(OrderDO.class, OrderDO::getId, PlanItemDO::getOrderId)
|
||||||
|
// .like(OrderDO::getCustomer, reqVO.getCustomer())
|
||||||
|
// .orderByDesc(PlanDO::getCreateTime)
|
||||||
|
// .distinct()
|
||||||
|
// );
|
||||||
|
// }
|
||||||
|
//
|
||||||
|
// return selectPage(reqVO, new LambdaQueryWrapperX<PlanDO>()
|
||||||
|
// .eq(PlanDO::getDeleted,false)
|
||||||
|
// .eq(PlanDO::getOrganId,getUserOrganId())
|
||||||
|
// .eqIfPresent(PlanDO::getIsScheduled,reqVO.getIsScheduled())
|
||||||
|
// .eqIfPresent(PlanDO::getId, reqVO.getId())
|
||||||
|
// .eqIfPresent(PlanDO::getSort, reqVO.getSort())
|
||||||
|
// .eqIfPresent(PlanDO::getType, reqVO.getType())
|
||||||
|
// .inIfPresent(PlanDO::getStatus, reqVO.getStatus())
|
||||||
|
// .eqIfPresent(PlanDO::getMachineId, reqVO.getMachineId())
|
||||||
|
// .betweenIfPresent(PlanDO::getPlanTime, reqVO.getPlanTime())
|
||||||
|
// .likeIfPresent(PlanDO::getOrderNos, reqVO.getOrderNos())
|
||||||
|
// .eqIfPresent(PlanDO::getRemark, reqVO.getRemark())
|
||||||
|
// .betweenIfPresent(PlanDO::getCreateTime, reqVO.getCreateTime())
|
||||||
|
// .eqIfPresent(PlanDO::getOperator, reqVO.getOperator())
|
||||||
|
// .betweenIfPresent(PlanDO::getProduceTime, reqVO.getProduceTime())
|
||||||
|
// .orderByDesc(PlanDO::getCreateTime));
|
||||||
|
// }
|
||||||
|
|
||||||
List<PlateOptimize> selectPlateListByPlanId(@Param("planId") Long planId, @Param("organId") Long organId);
|
List<PlateOptimize> selectPlateListByPlanId(@Param("planId") Long planId, @Param("organId") Long organId);
|
||||||
|
|
||||||
@@ -103,11 +102,11 @@ public interface PlanMapper extends BaseMapperX<PlanDO> {
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
List<PlanDO> selectPlanIds(@Param("createTime") String createTime,@Param("sort") Long sort,@Param("organId") Long organId,@Param("planId") Long planId);
|
List<PlanDO> selectPlanIds(@Param("sort") Long sort,@Param("organId") Long organId);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
List<PlanDO> selectPlanIdsFalse(@Param("createTime") String createTime,@Param("sort") Long sort,@Param("organId") Long organId,@Param("planId") Long planId);
|
List<PlanDO> selectPlanIdsFalse(@Param("sort") Long sort,@Param("organId") Long organId);
|
||||||
|
|
||||||
|
|
||||||
List<PlanDO> selectPlanStatus(@Param("planIds") List<Long> planIds,@Param("organId") Long organId);
|
List<PlanDO> selectPlanStatus(@Param("planIds") List<Long> planIds,@Param("organId") Long organId);
|
||||||
@@ -116,7 +115,7 @@ public interface PlanMapper extends BaseMapperX<PlanDO> {
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
List<Long> selectPLanList(@Param("planIds") List<Long> planIds, @Param("organId") Long organId);
|
List<Long> selectPlanList(@Param("planIds") List<Long> planIds, @Param("organId") Long organId);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@@ -129,13 +128,7 @@ public interface PlanMapper extends BaseMapperX<PlanDO> {
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
default List<PlanDO> selectPlanSortList(List<Integer> status,Long organId) {
|
List<PlanDO> selectPlanSortList(@Param("status") List<Integer> status,@Param("organId") Long organId);
|
||||||
return selectList( new LambdaQueryWrapperX<PlanDO>()
|
|
||||||
.eq(PlanDO::getOrganId,organId)
|
|
||||||
.eq(PlanDO::getDeleted,false)
|
|
||||||
.in(PlanDO::getStatus,status)
|
|
||||||
.orderByAsc(PlanDO::getSort));
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@@ -147,4 +140,18 @@ public interface PlanMapper extends BaseMapperX<PlanDO> {
|
|||||||
.select(PlanDO::getId));
|
.select(PlanDO::getId));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
PlanDO selectSortOnePlan(@Param("sort") Long sort, @Param("organId") Long organId);
|
||||||
|
|
||||||
|
|
||||||
|
PlanDO selectLostPlan(@Param("sort") Long sort, @Param("organId") Long organId);
|
||||||
|
|
||||||
|
|
||||||
|
default List<PlanDO> selectIsTopPlanList(Long organId) {
|
||||||
|
return selectList( new LambdaQueryWrapperX<PlanDO>()
|
||||||
|
.eq(PlanDO::getOrganId,organId)
|
||||||
|
.eq(PlanDO::getDeleted,false)
|
||||||
|
.eq(PlanDO::getIsTop,true)
|
||||||
|
.orderByAsc(PlanDO::getUpdateTime));
|
||||||
|
}
|
||||||
}
|
}
|
||||||
+3
-3
@@ -45,11 +45,11 @@ public interface PlanItemMapper extends BaseMapperX<PlanItemDO> {
|
|||||||
|
|
||||||
IPage<PlateResList> selectPlateListByPlateIds(@Param("page") IPage<PlateResList> page, @Param(Constants.WRAPPER) Wrapper<PlanItemDO> wrapper);
|
IPage<PlateResList> selectPlateListByPlateIds(@Param("page") IPage<PlateResList> page, @Param(Constants.WRAPPER) Wrapper<PlanItemDO> wrapper);
|
||||||
|
|
||||||
IPage<OrderGoodsResp> selectNoPlanGoodsByRoomAndBodyIds(@Param("page") IPage page, @Param(Constants.WRAPPER) Wrapper<PlanItemDO> wrapper);
|
IPage<OrderGoodsResp> selectNoPlanGoodsByRoomAndBodyIds(@Param("page") IPage page, @Param(Constants.WRAPPER) Wrapper<PlanItemDO> wrapper,@Param("organId") Long organId);
|
||||||
|
|
||||||
IPage<OrderGoodsResp> selectNoPlanGoodsList(@Param("page") IPage page, @Param(Constants.WRAPPER) Wrapper<PlanItemDO> wrapper);
|
IPage<OrderGoodsResp> selectNoPlanGoodsList(@Param("page") IPage page, @Param(Constants.WRAPPER) Wrapper<PlanItemDO> wrapper,@Param("organId") Long organId);
|
||||||
|
|
||||||
List<OrderGoodsResp> selectNoOrderGoodsIdList(@Param(Constants.WRAPPER) Wrapper<PlanItemDO> wrapper);
|
List<OrderGoodsResp> selectNoOrderGoodsIdList(@Param(Constants.WRAPPER) Wrapper<PlanItemDO> wrapper,@Param("organId") Long organId);
|
||||||
|
|
||||||
List<OrderPlateIds> selectPlanIncrementPlate(@Param("noPlanIds") List<Long> noPlanIds,@Param("organId") Long organId);
|
List<OrderPlateIds> selectPlanIncrementPlate(@Param("noPlanIds") List<Long> noPlanIds,@Param("organId") Long organId);
|
||||||
|
|
||||||
|
|||||||
+2
@@ -20,6 +20,8 @@ public interface OptimizePlanService {
|
|||||||
|
|
||||||
String PLAN_PROCESS_SCHEME_OPTIMIZE_MODEL = "imes_plan_process_scheme_optimize_model";
|
String PLAN_PROCESS_SCHEME_OPTIMIZE_MODEL = "imes_plan_process_scheme_optimize_model";
|
||||||
|
|
||||||
|
String PLAN_ACTUAL_GOODS_MODEL = "imes_plan_actual_goods_model";
|
||||||
|
|
||||||
|
|
||||||
List<PlateOptimize> getPlateListByPlanId(Long planId);
|
List<PlateOptimize> getPlateListByPlanId(Long planId);
|
||||||
|
|
||||||
|
|||||||
+20
-4
@@ -37,6 +37,7 @@ 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.controller.admin.plan.vo.*;
|
||||||
import com.cf.imes.module.executor.dal.dataobject.goods.CutedBoardInfo;
|
import com.cf.imes.module.executor.dal.dataobject.goods.CutedBoardInfo;
|
||||||
import com.cf.imes.module.executor.dal.dataobject.goods.OptimizeBoardModelDO;
|
import com.cf.imes.module.executor.dal.dataobject.goods.OptimizeBoardModelDO;
|
||||||
|
import com.cf.imes.module.executor.dal.dataobject.goods.PlanActualGoodsModelDO;
|
||||||
import com.cf.imes.module.executor.dal.dataobject.order.OrderDO;
|
import com.cf.imes.module.executor.dal.dataobject.order.OrderDO;
|
||||||
import com.cf.imes.module.executor.dal.dataobject.orderGroup.OrderGroupDO;
|
import com.cf.imes.module.executor.dal.dataobject.orderGroup.OrderGroupDO;
|
||||||
import com.cf.imes.module.executor.dal.dataobject.ordermodel.OrderModelDO;
|
import com.cf.imes.module.executor.dal.dataobject.ordermodel.OrderModelDO;
|
||||||
@@ -567,7 +568,11 @@ public class OptimizePlanServiceImpl implements OptimizePlanService {
|
|||||||
|
|
||||||
AssertUtils.notEmpty(goodsDOS,PLAN_GOODS_DATA_ERROR);
|
AssertUtils.notEmpty(goodsDOS,PLAN_GOODS_DATA_ERROR);
|
||||||
|
|
||||||
List<Long> orderIds = goodsDOS.stream().map(GoodsReqVO::getOrderId).distinct().toList();
|
String orderNos = Optional.ofNullable(planDO.getOrderNos()).orElse("[]");
|
||||||
|
|
||||||
|
List<Long> orderIds = JSON.parseArray(orderNos).toJavaList(Long.class).stream().distinct().toList();
|
||||||
|
|
||||||
|
// List<Long> orderIds = goodsDOS.stream().map(GoodsReqVO::getOrderId).distinct().toList();
|
||||||
|
|
||||||
List<Long> ids = goodsDOS.stream().map(GoodsReqVO::getId).toList();
|
List<Long> ids = goodsDOS.stream().map(GoodsReqVO::getId).toList();
|
||||||
|
|
||||||
@@ -614,6 +619,16 @@ public class OptimizePlanServiceImpl implements OptimizePlanService {
|
|||||||
List<OptimizeRemainPlate> optimizeRemainPlates = BeanUtils.toBean(remainPlateDOS, OptimizeRemainPlate.class);
|
List<OptimizeRemainPlate> optimizeRemainPlates = BeanUtils.toBean(remainPlateDOS, OptimizeRemainPlate.class);
|
||||||
|
|
||||||
|
|
||||||
|
// 获取混单时选择的实际开料的大板信息
|
||||||
|
List<PlanActualGoodsModelDO> planActualGoodsModelDOS = esUtils.getEsDocument(FIELD_PLAN_ID, planId, PLAN_ACTUAL_GOODS_MODEL, PlanActualGoodsModelDO.class);
|
||||||
|
|
||||||
|
// PlanActualGoodsModelDO planActualGoodsModelDO = new PlanActualGoodsModelDO();
|
||||||
|
//
|
||||||
|
// if(CollUtil.isNotEmpty(planActualGoodsModelDOS)){
|
||||||
|
//
|
||||||
|
// planActualGoodsModelDO = planActualGoodsModelDOS.get(0);
|
||||||
|
// }
|
||||||
|
|
||||||
// 查询生产单对应的配件信息
|
// 查询生产单对应的配件信息
|
||||||
List<PrintOrderPartsRespVO> printOrderPartsRespVOS = orderPartsMapper.selectPartList(orderIds, getUserOrganId());
|
List<PrintOrderPartsRespVO> printOrderPartsRespVOS = orderPartsMapper.selectPartList(orderIds, getUserOrganId());
|
||||||
|
|
||||||
@@ -643,6 +658,7 @@ public class OptimizePlanServiceImpl implements OptimizePlanService {
|
|||||||
.goodsList(goodsDOS)
|
.goodsList(goodsDOS)
|
||||||
.plateList(plateDetailRespVOS)
|
.plateList(plateDetailRespVOS)
|
||||||
.plateModels(orderModelDOS)
|
.plateModels(orderModelDOS)
|
||||||
|
.planActualGoodsModelDO(CollUtil.isNotEmpty(planActualGoodsModelDOS) ? planActualGoodsModelDOS.get(0) : null)
|
||||||
.optimizeRemainPlates(optimizeRemainPlates)
|
.optimizeRemainPlates(optimizeRemainPlates)
|
||||||
.orderPartsRespVOS(printOrderPartsRespVOS)
|
.orderPartsRespVOS(printOrderPartsRespVOS)
|
||||||
.orderPartsRemarks(orderPartsRemarks)
|
.orderPartsRemarks(orderPartsRemarks)
|
||||||
@@ -661,9 +677,9 @@ public class OptimizePlanServiceImpl implements OptimizePlanService {
|
|||||||
|
|
||||||
Long processId = req.getProcessId();
|
Long processId = req.getProcessId();
|
||||||
|
|
||||||
List<ActualGoodsList> actualGoodsLists = Optional.ofNullable(boardModelDO.getActualGoodsList()).orElse(new ArrayList<>());
|
// List<ActualGoodsList> actualGoodsLists = Optional.ofNullable(boardModelDO.getActualGoodsList()).orElse(new ArrayList<>());
|
||||||
|
//
|
||||||
AssertUtils.notEmpty(actualGoodsLists,PLAN_NO_ACTUAL_PLATE);
|
// AssertUtils.notEmpty(actualGoodsLists,PLAN_NO_ACTUAL_PLATE);
|
||||||
|
|
||||||
Long planId = boardModelDO.getPlanId();
|
Long planId = boardModelDO.getPlanId();
|
||||||
|
|
||||||
|
|||||||
+2
-1
@@ -64,11 +64,12 @@ public interface PlanService {
|
|||||||
|
|
||||||
PageResult<OrderRespVO> getOrderByPlanId(PlanOrderPageReqVO pageReqVO);
|
PageResult<OrderRespVO> getOrderByPlanId(PlanOrderPageReqVO pageReqVO);
|
||||||
|
|
||||||
Boolean setSort(List<SortVO> sortVos);
|
void setSort(List<SortVO> sortVos);
|
||||||
|
|
||||||
List<PlateResList> getPlateList(List<Long> planIds);
|
List<PlateResList> getPlateList(List<Long> planIds);
|
||||||
|
|
||||||
|
|
||||||
List<OrderRoomBodyList> getOrderRoomBody(List<Long> orderIds);
|
List<OrderRoomBodyList> getOrderRoomBody(List<Long> orderIds);
|
||||||
|
|
||||||
|
List<PlanActualGoodsResp> getPlanGoodsList(SavePlanPlateList savePlanPlateList);
|
||||||
}
|
}
|
||||||
+400
-114
@@ -6,6 +6,7 @@ import co.elastic.clients.elasticsearch._types.FieldValue;
|
|||||||
import co.elastic.clients.elasticsearch.core.UpdateByQueryRequest;
|
import co.elastic.clients.elasticsearch.core.UpdateByQueryRequest;
|
||||||
import co.elastic.clients.json.JsonData;
|
import co.elastic.clients.json.JsonData;
|
||||||
import com.alibaba.fastjson.JSON;
|
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.incrementer.IdentifierGenerator;
|
||||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||||
import com.baomidou.mybatisplus.extension.plugins.pagination.PageDTO;
|
import com.baomidou.mybatisplus.extension.plugins.pagination.PageDTO;
|
||||||
@@ -19,6 +20,7 @@ import com.cf.imes.framework.mybatis.core.query.LambdaQueryWrapperX;
|
|||||||
import com.cf.imes.framework.mybatis.core.query.QueryWrapperX;
|
import com.cf.imes.framework.mybatis.core.query.QueryWrapperX;
|
||||||
import com.cf.imes.framework.security.core.LoginUser;
|
import com.cf.imes.framework.security.core.LoginUser;
|
||||||
import com.cf.imes.framework.security.core.util.SecurityFrameworkUtils;
|
import com.cf.imes.framework.security.core.util.SecurityFrameworkUtils;
|
||||||
|
import com.cf.imes.module.executor.controller.admin.goods.vo.GoodsRespVO;
|
||||||
import com.cf.imes.module.executor.controller.admin.order.vo.order.OrderRespVO;
|
import com.cf.imes.module.executor.controller.admin.order.vo.order.OrderRespVO;
|
||||||
import com.cf.imes.module.executor.controller.admin.plan.bo.OrderRoomBodyList;
|
import com.cf.imes.module.executor.controller.admin.plan.bo.OrderRoomBodyList;
|
||||||
import com.cf.imes.module.executor.controller.admin.plan.saveOptimize.PlatePlaceInfo;
|
import com.cf.imes.module.executor.controller.admin.plan.saveOptimize.PlatePlaceInfo;
|
||||||
@@ -27,6 +29,7 @@ import com.cf.imes.module.executor.controller.admin.plan.vo.*;
|
|||||||
import com.cf.imes.module.executor.controller.admin.plate.vo.OrderPlateIds;
|
import com.cf.imes.module.executor.controller.admin.plate.vo.OrderPlateIds;
|
||||||
import com.cf.imes.module.executor.dal.dataobject.goods.GoodsDO;
|
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.goods.OptimizeBoardModelDO;
|
||||||
|
import com.cf.imes.module.executor.dal.dataobject.goods.PlanActualGoodsModelDO;
|
||||||
import com.cf.imes.module.executor.dal.dataobject.order.OrderDO;
|
import com.cf.imes.module.executor.dal.dataobject.order.OrderDO;
|
||||||
import com.cf.imes.module.executor.dal.dataobject.orderBody.OrderBodyDO;
|
import com.cf.imes.module.executor.dal.dataobject.orderBody.OrderBodyDO;
|
||||||
import com.cf.imes.module.executor.dal.dataobject.orderItem.OrderItemDO;
|
import com.cf.imes.module.executor.dal.dataobject.orderItem.OrderItemDO;
|
||||||
@@ -116,6 +119,8 @@ public class PlanServiceImpl implements PlanService {
|
|||||||
|
|
||||||
private static final String PLAN_PROCESS_SCHEME_OPTIMIZE_MODEL = "imes_plan_process_scheme_optimize_model";
|
private static final String PLAN_PROCESS_SCHEME_OPTIMIZE_MODEL = "imes_plan_process_scheme_optimize_model";
|
||||||
|
|
||||||
|
private static final String PLAN_ACTUAL_GOODS_MODEL = "imes_plan_actual_goods_model";
|
||||||
|
|
||||||
@Resource
|
@Resource
|
||||||
private ElasticsearchClient elasticsearchClient;
|
private ElasticsearchClient elasticsearchClient;
|
||||||
|
|
||||||
@@ -151,9 +156,7 @@ public class PlanServiceImpl implements PlanService {
|
|||||||
|
|
||||||
Long processId = systemConfigRespDTO.getId();
|
Long processId = systemConfigRespDTO.getId();
|
||||||
|
|
||||||
Boolean isMix = systemConfigApi.getMultiColorConfigStatus().getCheckedData();
|
List<PlanDO> planDOS = new ArrayList<>();
|
||||||
|
|
||||||
ArrayList<PlanDO> planDOS = new ArrayList<>();
|
|
||||||
|
|
||||||
List<Long> ids = new ArrayList<>();
|
List<Long> ids = new ArrayList<>();
|
||||||
|
|
||||||
@@ -163,54 +166,56 @@ public class PlanServiceImpl implements PlanService {
|
|||||||
|
|
||||||
List<PlanItemDO> planItemDOS = new ArrayList<>();
|
List<PlanItemDO> planItemDOS = new ArrayList<>();
|
||||||
|
|
||||||
|
List<PlanActualGoodsModelDO> planActualGoodsModelDOS = new ArrayList<>();
|
||||||
|
|
||||||
SavePlanPlateList savePlanPlateList = Optional.ofNullable(createReqVO.getSavePlanPlateList()).orElseThrow(()-> new ServiceException(PLAN_PLATE_DATA_ERROR));
|
SavePlanPlateList savePlanPlateList = Optional.ofNullable(createReqVO.getSavePlanPlateList()).orElseThrow(()-> new ServiceException(PLAN_PLATE_DATA_ERROR));
|
||||||
|
|
||||||
|
|
||||||
if (Boolean.TRUE.equals(isMix)) {
|
if (savePlanPlateList.getMixConfig() != null && Boolean.TRUE.equals(savePlanPlateList.getMixConfig().getIsMixed())) {
|
||||||
|
|
||||||
|
Integer mixedType = Optional.ofNullable(savePlanPlateList.getMixConfig().getMixedType()).orElse(MixConfigTypeEnum.SAMEMATERIALANDTHICKNESS.getType());
|
||||||
|
|
||||||
// 混单时走的逻辑
|
// 混单时走的逻辑
|
||||||
List<SavePlanPlateList.PlateItemList> plateItemList = Optional.ofNullable(savePlanPlateList.getPlateItemList()).orElseThrow(()-> new ServiceException(PLAN_PLATE_DATA_ERROR));
|
List<SavePlanPlateList.PlateItemList> plateItemList = Optional.ofNullable(savePlanPlateList.getPlateItemList()).orElseThrow(()-> new ServiceException(PLAN_PLATE_DATA_ERROR));
|
||||||
|
|
||||||
List<SavePlanPlateList.GoodsItemList> goodsItemList = Optional.ofNullable(savePlanPlateList.getGoodsItemList()).orElseThrow(()-> new ServiceException(PLAN_PLATE_DATA_ERROR));
|
List<SavePlanPlateList.GoodsItemList> goodsItemList = Optional.ofNullable(savePlanPlateList.getGoodsItemList()).orElseThrow(()-> new ServiceException(PLAN_PLATE_DATA_ERROR));
|
||||||
|
|
||||||
// 查找材质和厚度相同的大板
|
List<PlanActualGoodsList> planActualGoodsLists = Optional.ofNullable(createReqVO.getPlanActualGoodsListList()).orElse(new ArrayList<>());
|
||||||
Map<String, List<Long>> grouped = groupByMaterialAndThickness(goodsItemList);
|
|
||||||
|
|
||||||
// 进行数据处理:value 里为 大板的分类ID
|
Map<String, List<Long>> grouped = new HashMap<>();
|
||||||
grouped.forEach((key, value) -> {
|
|
||||||
|
|
||||||
// 查找和大板分类ID相同的小板的数据
|
if(CollUtil.isNotEmpty(planActualGoodsLists)) {
|
||||||
List<SavePlanPlateList.PlateItemList> plateList = plateItemList.stream().filter(p -> value.contains(p.getId())).toList();
|
|
||||||
|
|
||||||
List<Long> orderIdList = plateList.stream().map(SavePlanPlateList.PlateItemList::getOrderId).distinct().toList();
|
getCreatePlanMultipleGoodsList(planActualGoodsLists,planItemDOS,plateItemList,planActualGoodsModelDOS,planDOS,processId,loginUser);
|
||||||
|
|
||||||
AtomicLong sort = new AtomicLong(System.currentTimeMillis());
|
if(MixConfigTypeEnum.SAMEMATERIALANDTHICKNESS.equals(mixedType)){
|
||||||
sort.addAndGet(1);
|
// 筛选出材质和厚度相同的大板
|
||||||
|
grouped = groupByMaterialAndThicknessEqualToOne(goodsItemList);
|
||||||
|
|
||||||
Long planId = (Long) identifierGenerator.nextId(null);
|
}else {
|
||||||
|
|
||||||
// 创建排单
|
grouped = groupByThicknessEqualToOne(goodsItemList);
|
||||||
planDOS.add(PlanDO.builder()
|
}
|
||||||
.id(planId)
|
|
||||||
.sort(sort.get())
|
|
||||||
.type(PlanTypeEnum.MIXEDORDERPLAN.getType())
|
|
||||||
.processId(processId)
|
|
||||||
.orderNos(orderIdList.toString())
|
|
||||||
.produceTime(null)
|
|
||||||
.status(PlanStatusEnum.NOCUTTING.getStatus())
|
|
||||||
.operator(loginUser.getNickname())
|
|
||||||
.planTime(LocalDateTime.now())
|
|
||||||
.build());
|
|
||||||
|
|
||||||
plateList.forEach(i ->
|
if(CollUtil.isNotEmpty(grouped)) {
|
||||||
planItemDOS.add(PlanItemDO.builder()
|
createPlanAndPlateDataList(grouped,planItemDOS,plateItemList,planDOS,processId,loginUser);
|
||||||
.planId(planId)
|
}
|
||||||
.plateId(i.getPlateId())
|
|
||||||
.orderId(i.getOrderId())
|
|
||||||
.goodsId(i.getId())
|
|
||||||
.build()));
|
|
||||||
|
|
||||||
});
|
}else {
|
||||||
|
|
||||||
|
if(MixConfigTypeEnum.SAMEMATERIALANDTHICKNESS.equals(mixedType)){
|
||||||
|
// 筛选出材质和厚度相同的大板
|
||||||
|
grouped = groupByMaterialAndThickness(goodsItemList);
|
||||||
|
|
||||||
|
}else {
|
||||||
|
// 筛选出厚度相同的大板
|
||||||
|
grouped = groupByThickness(goodsItemList);
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
createPlanAndPlateDataList(grouped,planItemDOS,plateItemList,planDOS,processId,loginUser);
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
// 获取所有的大板ID
|
// 获取所有的大板ID
|
||||||
ids.addAll(goodsItemList.stream().map(SavePlanPlateList.GoodsItemList::getId).distinct().toList());
|
ids.addAll(goodsItemList.stream().map(SavePlanPlateList.GoodsItemList::getId).distinct().toList());
|
||||||
@@ -227,45 +232,9 @@ public class PlanServiceImpl implements PlanService {
|
|||||||
|
|
||||||
List<SavePlanPlateList.GoodsItemList> goodsItemList = Optional.ofNullable(savePlanPlateList.getGoodsItemList()).orElseThrow(()-> new ServiceException(PLAN_PLATE_DATA_ERROR));
|
List<SavePlanPlateList.GoodsItemList> goodsItemList = Optional.ofNullable(savePlanPlateList.getGoodsItemList()).orElseThrow(()-> new ServiceException(PLAN_PLATE_DATA_ERROR));
|
||||||
// 查找材质和厚度和颜色相同的大板
|
// 查找材质和厚度和颜色相同的大板
|
||||||
Map<String, List<Long>> grouped = groupByMaterialAndThicknessAndColor(goodsItemList);
|
Map<String, List<Long>> grouped = groupByMaterialAndThicknessAndColorAndBrand(goodsItemList);
|
||||||
|
|
||||||
// 进行数据处理:value 里为 大板的分类ID
|
|
||||||
grouped.forEach((key, value) -> {
|
|
||||||
|
|
||||||
// 查找和大板分类ID相同的小板的数据
|
|
||||||
List<SavePlanPlateList.PlateItemList> plateList = plateItemList.stream().filter(p -> value.contains(p.getId())).toList();
|
|
||||||
|
|
||||||
List<Long> orderIdList = plateList.stream().map(SavePlanPlateList.PlateItemList::getOrderId).distinct().toList();
|
|
||||||
|
|
||||||
AtomicLong sort = new AtomicLong(System.currentTimeMillis());
|
|
||||||
sort.addAndGet(1);
|
|
||||||
|
|
||||||
Long planId = (Long) identifierGenerator.nextId(null);
|
|
||||||
|
|
||||||
// 创建排单
|
|
||||||
planDOS.add(PlanDO.builder()
|
|
||||||
.id(planId)
|
|
||||||
.sort(sort.get())
|
|
||||||
.type(PlanTypeEnum.MIXEDORDERPLAN.getType())
|
|
||||||
.processId(processId)
|
|
||||||
.orderNos(orderIdList.toString())
|
|
||||||
.produceTime(null)
|
|
||||||
.status(PlanStatusEnum.NOCUTTING.getStatus())
|
|
||||||
.operator(loginUser.getNickname())
|
|
||||||
.planTime(LocalDateTime.now())
|
|
||||||
.build());
|
|
||||||
|
|
||||||
plateList.forEach(i -> {
|
|
||||||
|
|
||||||
planItemDOS.add(PlanItemDO.builder()
|
|
||||||
.planId(planId)
|
|
||||||
.plateId(i.getPlateId())
|
|
||||||
.orderId(i.getOrderId())
|
|
||||||
.goodsId(i.getId())
|
|
||||||
.build());
|
|
||||||
});
|
|
||||||
});
|
|
||||||
|
|
||||||
|
createPlanAndPlateDataList(grouped,planItemDOS,plateItemList,planDOS,processId,loginUser);
|
||||||
|
|
||||||
// 获取所有的大板ID
|
// 获取所有的大板ID
|
||||||
ids.addAll(goodsItemList.stream().map(SavePlanPlateList.GoodsItemList::getId).distinct().toList());
|
ids.addAll(goodsItemList.stream().map(SavePlanPlateList.GoodsItemList::getId).distinct().toList());
|
||||||
@@ -294,13 +263,13 @@ public class PlanServiceImpl implements PlanService {
|
|||||||
|
|
||||||
planMapper.insertBatch(planDOS);
|
planMapper.insertBatch(planDOS);
|
||||||
|
|
||||||
|
|
||||||
// plateMapper.updatePlateIsOptimized(orderIds, ids, plateIds, getUserOrganId());
|
|
||||||
|
|
||||||
|
|
||||||
planItemMapper.insertBatch(planItemDOS, planItemDOS.size());
|
planItemMapper.insertBatch(planItemDOS, planItemDOS.size());
|
||||||
|
|
||||||
|
|
||||||
|
if(CollUtil.isNotEmpty(planActualGoodsModelDOS)) {
|
||||||
|
esUtils.saveEsDocument(PLAN_ACTUAL_GOODS_MODEL, planActualGoodsModelDOS);
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@@ -483,8 +452,9 @@ public class PlanServiceImpl implements PlanService {
|
|||||||
@Override
|
@Override
|
||||||
public PageResult<PlanRespVO> getPlanPage(PlanPageReqVO pageReqVO) {
|
public PageResult<PlanRespVO> getPlanPage(PlanPageReqVO pageReqVO) {
|
||||||
|
|
||||||
PageResult<PlanDO> planDOPageResult = new PageResult<>();
|
PageDTO<PlanDO> page = new PageDTO<>(pageReqVO.getPageNo(), pageReqVO.getPageSize());
|
||||||
|
|
||||||
|
IPage<PlanDO> planDOPageResult = new PageDTO<>();
|
||||||
|
|
||||||
if(pageReqVO.getIsUp() != null) {
|
if(pageReqVO.getIsUp() != null) {
|
||||||
|
|
||||||
@@ -492,32 +462,66 @@ public class PlanServiceImpl implements PlanService {
|
|||||||
|
|
||||||
AssertUtils.notEmpty(planDO,ORDER_PLAN_DATE_ERROR);
|
AssertUtils.notEmpty(planDO,ORDER_PLAN_DATE_ERROR);
|
||||||
|
|
||||||
List<PlanDO> plan = pageReqVO.getIsUp() ?
|
|
||||||
planMapper.selectPlanIds(planDO.getCreateTime().toString(),planDO.getSort(), getUserOrganId(), planDO.getId()) :
|
|
||||||
|
|
||||||
planMapper.selectPlanIdsFalse(planDO.getCreateTime().toString(),planDO.getSort(), getUserOrganId(), planDO.getId());
|
if(planDO.getIsTop()){
|
||||||
|
|
||||||
if (plan.isEmpty()) {
|
|
||||||
|
|
||||||
throw exception(NO_PRODUCTION_ORDER_INFORMATION_AVAILABLE, pageReqVO.getIsUp() ? "第" : "最后");
|
|
||||||
|
|
||||||
|
}else {
|
||||||
|
|
||||||
|
List<PlanDO> plan = pageReqVO.getIsUp() ?
|
||||||
|
planMapper.selectPlanIds(planDO.getSort(), getUserOrganId()) :
|
||||||
|
|
||||||
|
planMapper.selectPlanIdsFalse(planDO.getSort(), getUserOrganId());
|
||||||
|
|
||||||
|
if (plan.isEmpty()) {
|
||||||
|
|
||||||
|
List<PlanDO> planDOS = planMapper.selectIsTopPlanList(getUserOrganId());
|
||||||
|
|
||||||
|
if(CollUtil.isEmpty(planDOS)) {
|
||||||
|
throw exception(NO_PRODUCTION_ORDER_INFORMATION_AVAILABLE, pageReqVO.getIsUp() ? "第" : "最后");
|
||||||
|
}
|
||||||
|
|
||||||
|
plan.add(planDOS.get(0));
|
||||||
|
}
|
||||||
|
|
||||||
|
planDOPageResult.setRecords(plan);
|
||||||
|
planDOPageResult.setTotal(1L);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
planDOPageResult.setList(plan);
|
|
||||||
planDOPageResult.setTotal(1L);
|
|
||||||
|
|
||||||
}else {
|
}else {
|
||||||
|
|
||||||
planDOPageResult = planMapper.selectPage(pageReqVO);
|
|
||||||
if (CollUtil.isEmpty(planDOPageResult.getList())) {
|
QueryWrapperX<PlanDO> queryWrapperX = new QueryWrapperX<>();
|
||||||
|
queryWrapperX
|
||||||
|
.eq("op.organ_id",getUserOrganId())
|
||||||
|
.eq(FIELD_OP_DELETED,false)
|
||||||
|
.eqIfPresent("op.is_scheduled",pageReqVO.getIsScheduled())
|
||||||
|
.eqIfPresent(FIELD_OP_ID, pageReqVO.getId())
|
||||||
|
.eqIfPresent("op.sort", pageReqVO.getSort())
|
||||||
|
.eqIfPresent("op.type", pageReqVO.getType())
|
||||||
|
.inIfPresent("op.status", pageReqVO.getStatus())
|
||||||
|
.betweenIfPresent("op.plan_time", pageReqVO.getPlanTime())
|
||||||
|
.likeIfPresent("op.order_nos", pageReqVO.getOrderNos())
|
||||||
|
.likeIfPresent(FIELD_CUSTOMER, pageReqVO.getCustomer());
|
||||||
|
|
||||||
|
|
||||||
|
planDOPageResult = planMapper.selectPlanPageList(page,queryWrapperX);
|
||||||
|
|
||||||
|
if (CollUtil.isEmpty(planDOPageResult.getRecords())) {
|
||||||
return new PageResult<>();
|
return new PageResult<>();
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
List<Long> processIds = planDOPageResult.getList().stream().map(PlanDO::getProcessId).distinct().toList();
|
List<Long> processIds = planDOPageResult.getRecords().stream().map(PlanDO::getProcessId).distinct().toList();
|
||||||
|
|
||||||
List<Long> planIds = planDOPageResult.getList().stream().map(PlanDO::getId).toList();
|
List<Long> planIds = planDOPageResult.getRecords().stream().map(PlanDO::getId).toList();
|
||||||
|
|
||||||
|
|
||||||
List<SystemConfigRespDTO> configDOS = systemConfigApi.getProcessByIds(processIds).getData();
|
List<SystemConfigRespDTO> configDOS = systemConfigApi.getProcessByIds(processIds).getData();
|
||||||
@@ -548,11 +552,10 @@ public class PlanServiceImpl implements PlanService {
|
|||||||
List<PlanOrderRespVO> planOrderRespVOS = orderMapper.selectPlanOrderList(planIds, getUserOrganId());
|
List<PlanOrderRespVO> planOrderRespVOS = orderMapper.selectPlanOrderList(planIds, getUserOrganId());
|
||||||
|
|
||||||
|
|
||||||
PageResult<PlanRespVO> planRespVOPageResult = BeanUtils.toBean(planDOPageResult, PlanRespVO.class);
|
List<PlanRespVO> planRespVOPageResult = BeanUtils.toBean(planDOPageResult.getRecords(), PlanRespVO.class);
|
||||||
|
|
||||||
|
|
||||||
|
planRespVOPageResult.forEach(e -> {
|
||||||
planRespVOPageResult.getList().forEach(e -> {
|
|
||||||
// 方案信息
|
// 方案信息
|
||||||
e.setProcessName(getProcessName(e.getProcessId(), configDOS));
|
e.setProcessName(getProcessName(e.getProcessId(), configDOS));
|
||||||
// 大板信息列表
|
// 大板信息列表
|
||||||
@@ -572,7 +575,7 @@ public class PlanServiceImpl implements PlanService {
|
|||||||
});
|
});
|
||||||
|
|
||||||
|
|
||||||
return planRespVOPageResult;
|
return new PageResult<>(planRespVOPageResult, planDOPageResult.getTotal());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@@ -762,7 +765,7 @@ public class PlanServiceImpl implements PlanService {
|
|||||||
.likeIfPresent(FIELD_ADDRESS, pageReqVO.getConsigneeAddress())
|
.likeIfPresent(FIELD_ADDRESS, pageReqVO.getConsigneeAddress())
|
||||||
.betweenIfPresent(FIELD_ORDER_DATE, pageReqVO.getCreateTime());
|
.betweenIfPresent(FIELD_ORDER_DATE, pageReqVO.getCreateTime());
|
||||||
|
|
||||||
orderGoodsResps = planItemMapper.selectNoPlanGoodsByRoomAndBodyIds(page,queryWrapperX);
|
orderGoodsResps = planItemMapper.selectNoPlanGoodsByRoomAndBodyIds(page,queryWrapperX,getUserOrganId());
|
||||||
|
|
||||||
}else {
|
}else {
|
||||||
|
|
||||||
@@ -781,7 +784,7 @@ public class PlanServiceImpl implements PlanService {
|
|||||||
.likeIfPresent(FIELD_ADDRESS, pageReqVO.getConsigneeAddress())
|
.likeIfPresent(FIELD_ADDRESS, pageReqVO.getConsigneeAddress())
|
||||||
.betweenIfPresent(FIELD_ORDER_DATE, pageReqVO.getCreateTime());
|
.betweenIfPresent(FIELD_ORDER_DATE, pageReqVO.getCreateTime());
|
||||||
|
|
||||||
orderGoodsResps = planItemMapper.selectNoPlanGoodsList(page,queryWrapperX);
|
orderGoodsResps = planItemMapper.selectNoPlanGoodsList(page,queryWrapperX,getUserOrganId());
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -812,7 +815,7 @@ public class PlanServiceImpl implements PlanService {
|
|||||||
.inIfPresent("og.thickness",thickness)
|
.inIfPresent("og.thickness",thickness)
|
||||||
.inIfPresent("og.brand",brand);
|
.inIfPresent("og.brand",brand);
|
||||||
|
|
||||||
List<OrderGoodsResp> orderGoodsIdList = planItemMapper.selectNoOrderGoodsIdList(queryWrapperX);
|
List<OrderGoodsResp> orderGoodsIdList = planItemMapper.selectNoOrderGoodsIdList(queryWrapperX,getUserOrganId());
|
||||||
|
|
||||||
mergeOrderGoodsLists(records,orderGoodsIdList);
|
mergeOrderGoodsLists(records,orderGoodsIdList);
|
||||||
|
|
||||||
@@ -889,39 +892,74 @@ public class PlanServiceImpl implements PlanService {
|
|||||||
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public Boolean setSort(List<SortVO> sortVos) {
|
@Transactional(rollbackFor = Exception.class)
|
||||||
|
public void setSort(List<SortVO> sortVos) {
|
||||||
|
|
||||||
ArrayList<PlanDO> planDOS = new ArrayList<>();
|
List<Long> planIds = sortVos.stream().map(SortVO::getPlanId).toList();
|
||||||
|
|
||||||
Boolean isTopUp = sortVos.get(0).getIsTopUp();
|
for (Long planId : planIds) {
|
||||||
|
|
||||||
if(Boolean.TRUE.equals(isTopUp)){
|
PlanDO planDO = planMapper.selectById(planId);
|
||||||
|
|
||||||
List<Integer> status = Arrays.asList(PlanStatusEnum.NOCUTTING.getStatus(),PlanStatusEnum.OPENING.getStatus());
|
if(planDO == null){
|
||||||
|
throw exception(PLAN_NOT_DATA_EXISTS,planId);
|
||||||
// 后续的查询需要加上 是否置顶 的判断条件
|
|
||||||
List<PlanDO> planDOList = planMapper.selectPlanSortList(status, getUserOrganId());
|
|
||||||
if(CollUtil.isNotEmpty(planDOList)) {
|
|
||||||
// 修改为 未置顶
|
|
||||||
// planDOList.forEach(f->f);
|
|
||||||
|
|
||||||
planDOS.addAll(planDOList);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
if(sortVos.size() == 1){
|
||||||
|
|
||||||
|
SortVO sortVO = sortVos.get(0);
|
||||||
|
|
||||||
|
if(sortVO.getIsOnePlan() != null){
|
||||||
|
|
||||||
|
PlanDO planDO = planMapper.selectById(sortVO.getPlanId());
|
||||||
|
|
||||||
|
Long sort = planDO.getSort();
|
||||||
|
|
||||||
|
PlanDO plan = Boolean.TRUE.equals(sortVO.getIsOnePlan()) ?
|
||||||
|
planMapper.selectSortOnePlan(sort, getUserOrganId()) :
|
||||||
|
planMapper.selectLostPlan(sort, getUserOrganId());
|
||||||
|
|
||||||
|
|
||||||
|
AssertUtils.notEmpty(plan,PLAN_SORT_DATA_ERROR);
|
||||||
|
|
||||||
|
planDO.setSort(plan.getSort());
|
||||||
|
|
||||||
|
plan.setSort(sort);
|
||||||
|
|
||||||
|
planMapper.updateById(planDO);
|
||||||
|
planMapper.updateById(plan);
|
||||||
|
|
||||||
|
return;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
planMapper.update(new LambdaUpdateWrapper<PlanDO>()
|
||||||
|
.eq(PlanDO::getOrganId, getUserOrganId())
|
||||||
|
.eq(PlanDO::getDeleted,false)
|
||||||
|
.eq(PlanDO::getId,sortVO.getPlanId())
|
||||||
|
.set(PlanDO::getIsTop,sortVO.getIsTopUp()));
|
||||||
|
|
||||||
|
return;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
ArrayList<PlanDO> planDOS = new ArrayList<>();
|
||||||
|
|
||||||
sortVos.forEach(e -> {
|
sortVos.forEach(e -> {
|
||||||
planDOS.add(PlanDO.builder()
|
planDOS.add(PlanDO.builder()
|
||||||
.id(e.getPlanId())
|
.id(e.getPlanId())
|
||||||
.sort(e.getSort())
|
.sort(e.getSort())
|
||||||
// .isTopUp(e.getIsTopUp())
|
|
||||||
.build());
|
.build());
|
||||||
|
|
||||||
});
|
});
|
||||||
|
|
||||||
planMapper.updateBatch(planDOS);
|
planMapper.updateBatch(planDOS);
|
||||||
return Boolean.TRUE;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@@ -968,6 +1006,48 @@ public class PlanServiceImpl implements PlanService {
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public List<PlanActualGoodsResp> getPlanGoodsList(SavePlanPlateList savePlanPlateList) {
|
||||||
|
|
||||||
|
if(savePlanPlateList.getMixConfig() == null){
|
||||||
|
return new ArrayList<>();
|
||||||
|
}
|
||||||
|
|
||||||
|
Integer mixedType = Optional.ofNullable(savePlanPlateList.getMixConfig().getMixedType()).orElse(MixConfigTypeEnum.SAMEMATERIALANDTHICKNESS.getType());
|
||||||
|
|
||||||
|
List<SavePlanPlateList.GoodsItemList> goodsItemListList = Optional.ofNullable(savePlanPlateList.getGoodsItemList()).orElseThrow(()-> new ServiceException(PLAN_PLATE_DATA_ERROR));
|
||||||
|
|
||||||
|
List<PlanActualGoodsResp> planActualGoodsResps = new ArrayList<>();
|
||||||
|
|
||||||
|
Map<String, List<Long>> grouped;
|
||||||
|
|
||||||
|
if(MixConfigTypeEnum.SAMEMATERIALANDTHICKNESS.getType().equals(mixedType)){
|
||||||
|
|
||||||
|
grouped = groupByMaterialAndThicknessFilterLessThanOne(goodsItemListList);
|
||||||
|
|
||||||
|
}else {
|
||||||
|
|
||||||
|
grouped = groupByThicknessFilterLessThanOne(goodsItemListList);
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
grouped.forEach((key,value) ->{
|
||||||
|
|
||||||
|
List<GoodsRespVO> goodsRespVOS = goodsMapper.selectNoOrderPlanGoods(value, getUserOrganId());
|
||||||
|
|
||||||
|
planActualGoodsResps.add(
|
||||||
|
PlanActualGoodsResp.builder()
|
||||||
|
.ids(value)
|
||||||
|
.goodsRespVOS(goodsRespVOS)
|
||||||
|
.build()
|
||||||
|
);
|
||||||
|
|
||||||
|
});
|
||||||
|
|
||||||
|
return planActualGoodsResps;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
private PlanDO validatePlan(Long id) {
|
private PlanDO validatePlan(Long id) {
|
||||||
|
|
||||||
@@ -1311,14 +1391,119 @@ public class PlanServiceImpl implements PlanService {
|
|||||||
return groupedItems;
|
return groupedItems;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public static Map<String, List<Long>> groupByThickness(List<SavePlanPlateList.GoodsItemList> items) {
|
||||||
|
|
||||||
public static Map<String, List<Long>> groupByMaterialAndThicknessAndColor(List<SavePlanPlateList.GoodsItemList> items) {
|
|
||||||
Map<String, List<Long>> groupedItems = new HashMap<>();
|
Map<String, List<Long>> groupedItems = new HashMap<>();
|
||||||
|
|
||||||
for (SavePlanPlateList.GoodsItemList item : items) {
|
for (SavePlanPlateList.GoodsItemList item : items) {
|
||||||
// 将 material 和 thickness 组合成键
|
// 将 material 和 thickness 组合成键
|
||||||
String key = item.getMaterial() + "|" + item.getThickness() + "|" + item.getColor();
|
String key = item.getThickness().toString();
|
||||||
|
|
||||||
|
// 如果键不存在,初始化一个新的列表
|
||||||
|
groupedItems.putIfAbsent(key, new ArrayList<>());
|
||||||
|
|
||||||
|
// 添加当前项的 id 到对应的分组
|
||||||
|
groupedItems.get(key).add(item.getId());
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
return groupedItems;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
public static Map<String, List<Long>> groupByMaterialAndThicknessFilterLessThanOne(List<SavePlanPlateList.GoodsItemList> items) {
|
||||||
|
Map<String, List<Long>> groupedItems = new HashMap<>();
|
||||||
|
|
||||||
|
for (SavePlanPlateList.GoodsItemList item : items) {
|
||||||
|
// 将 material 和 thickness 组合成键
|
||||||
|
String key = item.getMaterial() + "|" + item.getThickness();
|
||||||
|
|
||||||
|
// 如果键不存在,初始化一个新的列表
|
||||||
|
groupedItems.putIfAbsent(key, new ArrayList<>());
|
||||||
|
|
||||||
|
// 添加当前项的 id 到对应的分组
|
||||||
|
groupedItems.get(key).add(item.getId());
|
||||||
|
}
|
||||||
|
|
||||||
|
// 过滤掉只包含一个 id 的分组(可选,视需求)
|
||||||
|
groupedItems.entrySet().removeIf(entry -> entry.getValue().size() < 2);
|
||||||
|
|
||||||
|
return groupedItems;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
public static Map<String, List<Long>> groupByThicknessFilterLessThanOne(List<SavePlanPlateList.GoodsItemList> items) {
|
||||||
|
Map<String, List<Long>> groupedItems = new HashMap<>();
|
||||||
|
|
||||||
|
for (SavePlanPlateList.GoodsItemList item : items) {
|
||||||
|
// 将 material 和 thickness 组合成键
|
||||||
|
String key = item.getThickness().toString();
|
||||||
|
|
||||||
|
// 如果键不存在,初始化一个新的列表
|
||||||
|
groupedItems.putIfAbsent(key, new ArrayList<>());
|
||||||
|
|
||||||
|
// 添加当前项的 id 到对应的分组
|
||||||
|
groupedItems.get(key).add(item.getId());
|
||||||
|
}
|
||||||
|
|
||||||
|
// 过滤掉只包含一个 id 的分组(可选,视需求)
|
||||||
|
groupedItems.entrySet().removeIf(entry -> entry.getValue().size() < 2);
|
||||||
|
|
||||||
|
return groupedItems;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
public static Map<String, List<Long>> groupByMaterialAndThicknessEqualToOne(List<SavePlanPlateList.GoodsItemList> items) {
|
||||||
|
Map<String, List<Long>> groupedItems = new HashMap<>();
|
||||||
|
|
||||||
|
for (SavePlanPlateList.GoodsItemList item : items) {
|
||||||
|
// 将 material 和 thickness 组合成键
|
||||||
|
String key = item.getMaterial() + "|" + item.getThickness();
|
||||||
|
|
||||||
|
// 如果键不存在,初始化一个新的列表
|
||||||
|
groupedItems.putIfAbsent(key, new ArrayList<>());
|
||||||
|
|
||||||
|
// 添加当前项的 id 到对应的分组
|
||||||
|
groupedItems.get(key).add(item.getId());
|
||||||
|
}
|
||||||
|
|
||||||
|
// 过滤掉只包含一个 id 的分组(可选,视需求)
|
||||||
|
groupedItems.entrySet().removeIf(entry -> entry.getValue().size() > 1);
|
||||||
|
|
||||||
|
return groupedItems;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
public static Map<String, List<Long>> groupByThicknessEqualToOne(List<SavePlanPlateList.GoodsItemList> items) {
|
||||||
|
Map<String, List<Long>> groupedItems = new HashMap<>();
|
||||||
|
|
||||||
|
for (SavePlanPlateList.GoodsItemList item : items) {
|
||||||
|
// 将 material 和 thickness 组合成键
|
||||||
|
String key = item.getThickness().toString();
|
||||||
|
|
||||||
|
// 如果键不存在,初始化一个新的列表
|
||||||
|
groupedItems.putIfAbsent(key, new ArrayList<>());
|
||||||
|
|
||||||
|
// 添加当前项的 id 到对应的分组
|
||||||
|
groupedItems.get(key).add(item.getId());
|
||||||
|
}
|
||||||
|
|
||||||
|
// 过滤掉只包含一个 id 的分组(可选,视需求)
|
||||||
|
groupedItems.entrySet().removeIf(entry -> entry.getValue().size() > 1);
|
||||||
|
|
||||||
|
return groupedItems;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
public static Map<String, List<Long>> groupByMaterialAndThicknessAndColorAndBrand(List<SavePlanPlateList.GoodsItemList> items) {
|
||||||
|
Map<String, List<Long>> groupedItems = new HashMap<>();
|
||||||
|
|
||||||
|
for (SavePlanPlateList.GoodsItemList item : items) {
|
||||||
|
// 将 material 和 thickness 组合成键
|
||||||
|
String key = item.getMaterial() + "|" + item.getThickness() + "|" + item.getColor()+ "|" + item.getBrand();
|
||||||
|
|
||||||
// 如果键不存在,初始化一个新的列表
|
// 如果键不存在,初始化一个新的列表
|
||||||
groupedItems.putIfAbsent(key, new ArrayList<>());
|
groupedItems.putIfAbsent(key, new ArrayList<>());
|
||||||
@@ -1432,6 +1617,107 @@ public class PlanServiceImpl implements PlanService {
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
private void getCreatePlanMultipleGoodsList(List<PlanActualGoodsList> planActualGoodsLists,
|
||||||
|
List<PlanItemDO> planItemDOS,
|
||||||
|
List<SavePlanPlateList.PlateItemList> plateItemList,
|
||||||
|
List<PlanActualGoodsModelDO> planActualGoodsModelDOS ,
|
||||||
|
List<PlanDO> planDOS,
|
||||||
|
Long processId,
|
||||||
|
LoginUser loginUser) {
|
||||||
|
|
||||||
|
|
||||||
|
planActualGoodsLists.forEach(f -> {
|
||||||
|
|
||||||
|
// 查找和大板分类ID相同的小板的数据
|
||||||
|
List<SavePlanPlateList.PlateItemList> plateList = plateItemList.stream().filter(p -> f.getIds().contains(p.getId())).toList();
|
||||||
|
|
||||||
|
List<Long> orderIdList = plateList.stream().map(SavePlanPlateList.PlateItemList::getOrderId).distinct().toList();
|
||||||
|
|
||||||
|
AtomicLong sort = new AtomicLong(System.currentTimeMillis());
|
||||||
|
sort.addAndGet(1);
|
||||||
|
|
||||||
|
Long planId = (Long) identifierGenerator.nextId(null);
|
||||||
|
|
||||||
|
// 创建排单
|
||||||
|
planDOS.add(PlanDO.builder()
|
||||||
|
.id(planId)
|
||||||
|
.sort(sort.get())
|
||||||
|
.type(PlanTypeEnum.MIXEDORDERPLAN.getType())
|
||||||
|
.processId(processId)
|
||||||
|
.orderNos(orderIdList.toString())
|
||||||
|
.produceTime(null)
|
||||||
|
.status(PlanStatusEnum.NOCUTTING.getStatus())
|
||||||
|
.operator(loginUser.getNickname())
|
||||||
|
.planTime(LocalDateTime.now())
|
||||||
|
.build());
|
||||||
|
|
||||||
|
plateList.forEach(i ->
|
||||||
|
planItemDOS.add(PlanItemDO.builder()
|
||||||
|
.planId(planId)
|
||||||
|
.plateId(i.getPlateId())
|
||||||
|
.orderId(i.getOrderId())
|
||||||
|
.goodsId(i.getId())
|
||||||
|
.build()));
|
||||||
|
|
||||||
|
if (f.getPlanActualGoodsModelDO() != null) {
|
||||||
|
|
||||||
|
planActualGoodsModelDOS.add(f.getPlanActualGoodsModelDO().setPlanId(planId));
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
});
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
private void createPlanAndPlateDataList(Map<String, List<Long>> grouped,
|
||||||
|
List<PlanItemDO> planItemDOS,
|
||||||
|
List<SavePlanPlateList.PlateItemList> plateItemList,
|
||||||
|
List<PlanDO> planDOS,
|
||||||
|
Long processId,
|
||||||
|
LoginUser loginUser){
|
||||||
|
|
||||||
|
AtomicLong sort = new AtomicLong(System.currentTimeMillis());
|
||||||
|
|
||||||
|
// 进行数据处理:value 里为 大板的分类ID
|
||||||
|
grouped.forEach((key, value) -> {
|
||||||
|
|
||||||
|
// 查找和大板分类ID相同的小板的数据
|
||||||
|
List<SavePlanPlateList.PlateItemList> plateList = plateItemList.stream().filter(p -> value.contains(p.getId())).toList();
|
||||||
|
|
||||||
|
List<Long> orderIdList = plateList.stream().map(SavePlanPlateList.PlateItemList::getOrderId).distinct().toList();
|
||||||
|
|
||||||
|
sort.addAndGet(1);
|
||||||
|
|
||||||
|
Long planId = (Long) identifierGenerator.nextId(null);
|
||||||
|
|
||||||
|
// 创建排单
|
||||||
|
planDOS.add(PlanDO.builder()
|
||||||
|
.id(planId)
|
||||||
|
.sort(sort.get())
|
||||||
|
.type(PlanTypeEnum.MIXEDORDERPLAN.getType())
|
||||||
|
.processId(processId)
|
||||||
|
.orderNos(orderIdList.toString())
|
||||||
|
.produceTime(null)
|
||||||
|
.status(PlanStatusEnum.NOCUTTING.getStatus())
|
||||||
|
.operator(loginUser.getNickname())
|
||||||
|
.planTime(LocalDateTime.now())
|
||||||
|
.build());
|
||||||
|
|
||||||
|
plateList.forEach(i ->
|
||||||
|
planItemDOS.add(PlanItemDO.builder()
|
||||||
|
.planId(planId)
|
||||||
|
.plateId(i.getPlateId())
|
||||||
|
.orderId(i.getOrderId())
|
||||||
|
.goodsId(i.getId())
|
||||||
|
.build()));
|
||||||
|
|
||||||
|
});
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
+20
-23
@@ -12,8 +12,6 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
|
|||||||
import com.baomidou.mybatisplus.extension.plugins.pagination.PageDTO;
|
import com.baomidou.mybatisplus.extension.plugins.pagination.PageDTO;
|
||||||
import com.cf.imes.framework.common.enums.OrderPlateCutStatusEnum;
|
import com.cf.imes.framework.common.enums.OrderPlateCutStatusEnum;
|
||||||
import com.cf.imes.framework.common.enums.OrderPlateTypeEnum;
|
import com.cf.imes.framework.common.enums.OrderPlateTypeEnum;
|
||||||
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.exception.ServiceException;
|
||||||
import com.cf.imes.framework.common.exception.util.ServiceExceptionUtil;
|
import com.cf.imes.framework.common.exception.util.ServiceExceptionUtil;
|
||||||
import com.cf.imes.framework.common.pojo.PageResult;
|
import com.cf.imes.framework.common.pojo.PageResult;
|
||||||
@@ -67,7 +65,6 @@ import java.util.stream.Collectors;
|
|||||||
import static com.cf.imes.framework.common.exception.enums.GlobalErrorCodeConstants.INTERNAL_SERVER_ERROR;
|
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.common.exception.util.ServiceExceptionUtil.exception;
|
||||||
import static com.cf.imes.framework.security.core.util.SecurityFrameworkUtils.getUserOrganId;
|
import static com.cf.imes.framework.security.core.util.SecurityFrameworkUtils.getUserOrganId;
|
||||||
import static com.cf.imes.module.executor.enums.ErrorCodeConstants.PLAN_NOT_EXISTS;
|
|
||||||
import static com.cf.imes.module.system.enums.ErrorCodeConstants.*;
|
import static com.cf.imes.module.system.enums.ErrorCodeConstants.*;
|
||||||
/**
|
/**
|
||||||
* 生产单板件 Service 实现类
|
* 生产单板件 Service 实现类
|
||||||
@@ -273,26 +270,26 @@ public class PlateServiceImpl implements PlateService {
|
|||||||
@Override
|
@Override
|
||||||
public PageResult<PlateGoodDO> getGoodsPlate(GoodsPlateFilterPageReqVO pageReqVO) {
|
public PageResult<PlateGoodDO> getGoodsPlate(GoodsPlateFilterPageReqVO pageReqVO) {
|
||||||
|
|
||||||
PlanDO planDO = planMapper.selectById(pageReqVO.getPlanId());
|
// PlanDO planDO = planMapper.selectById(pageReqVO.getPlanId());
|
||||||
|
//
|
||||||
AssertUtils.notEmpty(planDO,PLAN_NOT_EXISTS);
|
// AssertUtils.notEmpty(planDO,PLAN_NOT_EXISTS);
|
||||||
|
//
|
||||||
if(planDO.getStatus().equals(PlanStatusEnum.OPENED.getStatus())){
|
// if(planDO.getStatus().equals(PlanStatusEnum.OPENED.getStatus())){
|
||||||
throw exception(THIS_PLAN_PLATE_OPTIMIZE_IS_ALL);
|
// throw exception(THIS_PLAN_PLATE_OPTIMIZE_IS_ALL);
|
||||||
}
|
// }
|
||||||
|
//
|
||||||
|
//
|
||||||
if (planDO.getType().equals(PlanTypeEnum.MIXEDORDERPLAN.getType())) {
|
// if (planDO.getType().equals(PlanTypeEnum.MIXEDORDERPLAN.getType())) {
|
||||||
|
//
|
||||||
pageReqVO.setColor(null);
|
// pageReqVO.setColor(null);
|
||||||
|
//
|
||||||
}
|
// }
|
||||||
|
//
|
||||||
|
//
|
||||||
if(planDO.getType().equals(PlanTypeEnum.ORDERPLAN.getType()) && pageReqVO.getFilterColor() != null){
|
// if(planDO.getType().equals(PlanTypeEnum.ORDERPLAN.getType()) && pageReqVO.getFilterColor() != null){
|
||||||
throw exception(PLAN_GOODS_IS_FILTER_DATA_ERROR);
|
// throw exception(PLAN_GOODS_IS_FILTER_DATA_ERROR);
|
||||||
|
//
|
||||||
}
|
// }
|
||||||
|
|
||||||
return plateGoodMapper.selectGoodsPage(pageReqVO, getUserOrganId());
|
return plateGoodMapper.selectGoodsPage(pageReqVO, getUserOrganId());
|
||||||
|
|
||||||
|
|||||||
+26
-10
@@ -28,18 +28,11 @@
|
|||||||
resultType="com.cf.imes.module.executor.controller.admin.plan.vo.GoodsReqVO">
|
resultType="com.cf.imes.module.executor.controller.admin.plan.vo.GoodsReqVO">
|
||||||
|
|
||||||
select distinct
|
select distinct
|
||||||
og.order_id,
|
|
||||||
og.raw_goods_id,
|
|
||||||
og.goods_id,
|
og.goods_id,
|
||||||
og.goods_name,
|
og.goods_name,
|
||||||
og.material,
|
og.material,
|
||||||
og.color,
|
og.color,
|
||||||
og.texture,
|
|
||||||
og.width,
|
|
||||||
og.height,
|
|
||||||
og.thickness,
|
og.thickness,
|
||||||
og.price,
|
|
||||||
og.spec,
|
|
||||||
og.brand,
|
og.brand,
|
||||||
og.remark,
|
og.remark,
|
||||||
orp.id as remainId
|
orp.id as remainId
|
||||||
@@ -316,9 +309,9 @@
|
|||||||
|
|
||||||
from order_body ob
|
from order_body ob
|
||||||
|
|
||||||
left join order_item oi on ob.organ_id = oi.organ_id and ob.order_id = oi.order_id and ob.id = oi.body_id
|
left join order_item oi on ob.organ_id = oi.organ_id and ob.order_id = oi.order_id and ob.id = oi.body_id and oi.organ_id = #{organId}
|
||||||
left join order_plate op on oi.organ_id = op.organ_id and oi.order_id = op.order_id and oi.plate_id = op.id
|
left join order_plate op on oi.organ_id = op.organ_id and oi.order_id = op.order_id and oi.plate_id = op.id and op.organ_id = #{organId}
|
||||||
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_plan_item opi on op.organ_id = opi.organ_id and op.order_id = opi.order_id and op.id = opi.plate_id and opi.organ_id = #{organId}
|
||||||
|
|
||||||
where ob.organ_id = #{organId}
|
where ob.organ_id = #{organId}
|
||||||
and ob.order_id in
|
and ob.order_id in
|
||||||
@@ -554,6 +547,29 @@
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</select>
|
||||||
|
|
||||||
|
<select id="selectNoOrderPlanGoods"
|
||||||
|
resultType="com.cf.imes.module.executor.controller.admin.goods.vo.GoodsRespVO">
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
select distinct
|
||||||
|
goods_name,
|
||||||
|
material,
|
||||||
|
color,
|
||||||
|
thickness,
|
||||||
|
brand
|
||||||
|
|
||||||
|
from order_goods
|
||||||
|
where organ_id = #{organId}
|
||||||
|
and deleted = false
|
||||||
|
and id in
|
||||||
|
<foreach collection="ids" item="ids" open="(" close=")" separator=",">
|
||||||
|
#{ids}
|
||||||
|
</foreach>
|
||||||
|
|
||||||
|
|
||||||
</select>
|
</select>
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
+1
@@ -439,6 +439,7 @@
|
|||||||
og.material as material,
|
og.material as material,
|
||||||
og.color as color,
|
og.color as color,
|
||||||
og.goods_id as goodsId,
|
og.goods_id as goodsId,
|
||||||
|
og.brand as brand,
|
||||||
op.name as plateName,
|
op.name as plateName,
|
||||||
op.height as height,
|
op.height as height,
|
||||||
op.width as width,
|
op.width as width,
|
||||||
|
|||||||
+84
-14
@@ -10,6 +10,23 @@
|
|||||||
-->
|
-->
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<select id="selectPlanPageList" resultType="com.cf.imes.module.executor.dal.dataobject.plan.PlanDO">
|
||||||
|
|
||||||
|
select distinct op.*
|
||||||
|
from order_plan op
|
||||||
|
left join order_plan_item opi on op.organ_id = opi.organ_id and op.id = opi.plan_id
|
||||||
|
left join orders o on opi.organ_id = o.organ_id and opi.order_id = o.id
|
||||||
|
|
||||||
|
${ew.customSqlSegment}
|
||||||
|
|
||||||
|
ORDER BY op.is_top DESC,
|
||||||
|
CASE WHEN op.is_top = true THEN op.update_time END DESC,
|
||||||
|
CASE WHEN op.is_top = false THEN op.sort END ;
|
||||||
|
</select>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<select id="selectPlateListByPlanId"
|
<select id="selectPlateListByPlanId"
|
||||||
resultType="com.cf.imes.module.executor.controller.admin.plan.vo.PlateOptimize"
|
resultType="com.cf.imes.module.executor.controller.admin.plan.vo.PlateOptimize"
|
||||||
parameterType="java.lang.Long">
|
parameterType="java.lang.Long">
|
||||||
@@ -81,13 +98,14 @@
|
|||||||
<select id="selectPlanIds" resultType="com.cf.imes.module.executor.dal.dataobject.plan.PlanDO">
|
<select id="selectPlanIds" resultType="com.cf.imes.module.executor.dal.dataobject.plan.PlanDO">
|
||||||
|
|
||||||
|
|
||||||
select * from order_plan where
|
SELECT *
|
||||||
organ_id = #{organId}
|
FROM order_plan
|
||||||
and deleted = false
|
|
||||||
and create_time >= #{createTime}
|
|
||||||
and id != #{planId}
|
|
||||||
|
|
||||||
ORDER BY create_time
|
WHERE organ_id = #{organId}
|
||||||
|
AND deleted = false
|
||||||
|
and is_top = false
|
||||||
|
and sort < #{sort}
|
||||||
|
ORDER BY sort desc
|
||||||
limit 1;
|
limit 1;
|
||||||
|
|
||||||
|
|
||||||
@@ -96,17 +114,19 @@
|
|||||||
|
|
||||||
<select id="selectPlanIdsFalse" resultType="com.cf.imes.module.executor.dal.dataobject.plan.PlanDO">
|
<select id="selectPlanIdsFalse" resultType="com.cf.imes.module.executor.dal.dataobject.plan.PlanDO">
|
||||||
|
|
||||||
select * from order_plan where
|
SELECT *
|
||||||
organ_id = #{organId}
|
FROM order_plan
|
||||||
and deleted = false
|
|
||||||
and create_time <= #{createTime}
|
|
||||||
and id != #{planId}
|
|
||||||
|
|
||||||
ORDER BY create_time desc
|
WHERE organ_id = #{organId}
|
||||||
|
AND deleted = false
|
||||||
|
and is_top = false
|
||||||
|
and sort > #{sort}
|
||||||
|
ORDER BY sort
|
||||||
limit 1;
|
limit 1;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
</select>
|
</select>
|
||||||
|
|
||||||
<select id="selectPlanStatus" resultType="com.cf.imes.module.executor.dal.dataobject.plan.PlanDO">
|
<select id="selectPlanStatus" resultType="com.cf.imes.module.executor.dal.dataobject.plan.PlanDO">
|
||||||
@@ -123,7 +143,7 @@
|
|||||||
|
|
||||||
|
|
||||||
</select>
|
</select>
|
||||||
<select id="selectPLanList" resultType="java.lang.Long">
|
<select id="selectPlanList" resultType="java.lang.Long">
|
||||||
|
|
||||||
select id
|
select id
|
||||||
from order_plan
|
from order_plan
|
||||||
@@ -138,7 +158,6 @@
|
|||||||
|
|
||||||
</select>
|
</select>
|
||||||
|
|
||||||
|
|
||||||
<update id="updatePlanStatus">
|
<update id="updatePlanStatus">
|
||||||
|
|
||||||
UPDATE order_plan
|
UPDATE order_plan
|
||||||
@@ -154,5 +173,56 @@
|
|||||||
</update>
|
</update>
|
||||||
|
|
||||||
|
|
||||||
|
<select id="selectSortOnePlan" resultType="com.cf.imes.module.executor.dal.dataobject.plan.PlanDO">
|
||||||
|
|
||||||
|
|
||||||
|
SELECT *
|
||||||
|
FROM order_plan
|
||||||
|
WHERE organ_id = #{organId}
|
||||||
|
AND deleted = false
|
||||||
|
and is_top = false
|
||||||
|
and sort < #{sort}
|
||||||
|
ORDER BY sort desc
|
||||||
|
limit 1;
|
||||||
|
|
||||||
|
|
||||||
|
</select>
|
||||||
|
|
||||||
|
|
||||||
|
<select id="selectLostPlan" resultType="com.cf.imes.module.executor.dal.dataobject.plan.PlanDO">
|
||||||
|
|
||||||
|
|
||||||
|
SELECT *
|
||||||
|
FROM order_plan
|
||||||
|
WHERE organ_id = #{organId}
|
||||||
|
AND deleted = false
|
||||||
|
and is_top = false
|
||||||
|
and sort > #{sort}
|
||||||
|
ORDER BY sort
|
||||||
|
limit 1;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</select>
|
||||||
|
|
||||||
|
|
||||||
|
<select id="selectPlanSortList" resultType="com.cf.imes.module.executor.dal.dataobject.plan.PlanDO">
|
||||||
|
|
||||||
|
SELECT *
|
||||||
|
FROM order_plan
|
||||||
|
WHERE organ_id = #{organId}
|
||||||
|
AND deleted = false
|
||||||
|
and status in
|
||||||
|
<foreach item="status" collection="status" open="(" separator="," close=")">
|
||||||
|
#{status}
|
||||||
|
</foreach>
|
||||||
|
|
||||||
|
ORDER BY is_top DESC,
|
||||||
|
CASE WHEN is_top = true THEN update_time END DESC,
|
||||||
|
CASE WHEN is_top = false THEN sort END ;
|
||||||
|
|
||||||
|
|
||||||
|
</select>
|
||||||
|
|
||||||
|
|
||||||
</mapper>
|
</mapper>
|
||||||
+11
-11
@@ -168,10 +168,10 @@
|
|||||||
og.brand as brand
|
og.brand as brand
|
||||||
|
|
||||||
from orders o
|
from orders o
|
||||||
left join order_goods og on o.organ_id = og.organ_id and o.id = og.order_id
|
left join order_goods og on o.organ_id = og.organ_id and o.id = og.order_id and og.organ_id = #{organId}
|
||||||
left join order_plate op on og.organ_id = op.organ_id and og.order_id = op.order_id and og.id = op.goods_id
|
left join order_plate op on og.organ_id = op.organ_id and og.order_id = op.order_id and og.id = op.goods_id and op.organ_id = #{organId}
|
||||||
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_item oi on op.organ_id = oi.organ_id and op.order_id = oi.order_id and op.id = oi.plate_id and oi.organ_id = #{organId}
|
||||||
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_plan_item opi on op.organ_id = opi.organ_id and op.order_id = opi.order_id and op.id = opi.plate_id and opi.organ_id = #{organId}
|
||||||
|
|
||||||
${ew.customSqlSegment}
|
${ew.customSqlSegment}
|
||||||
|
|
||||||
@@ -193,9 +193,9 @@
|
|||||||
og.brand as brand
|
og.brand as brand
|
||||||
|
|
||||||
from orders o
|
from orders o
|
||||||
left join order_goods og on o.organ_id = og.organ_id and o.id = og.order_id
|
left join order_goods og on o.organ_id = og.organ_id and o.id = og.order_id and og.organ_id = #{organId}
|
||||||
left join order_plate op on og.organ_id = op.organ_id and og.order_id = op.order_id and og.id = op.goods_id
|
left join order_plate op on og.organ_id = op.organ_id and og.order_id = op.order_id and og.id = op.goods_id and op.organ_id = #{organId}
|
||||||
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_plan_item opi on op.organ_id = opi.organ_id and op.order_id = opi.order_id and op.id = opi.plate_id and opi.organ_id = #{organId}
|
||||||
|
|
||||||
${ew.customSqlSegment}
|
${ew.customSqlSegment}
|
||||||
|
|
||||||
@@ -221,10 +221,10 @@
|
|||||||
og.order_id as orderId
|
og.order_id as orderId
|
||||||
|
|
||||||
from orders o
|
from orders o
|
||||||
left join order_goods og on o.organ_id = og.organ_id and o.id = og.order_id
|
left join order_goods og on o.organ_id = og.organ_id and o.id = og.order_id and og.organ_id = #{organId}
|
||||||
left join order_plate op on og.organ_id = op.organ_id and og.order_id = op.order_id and og.id = op.goods_id
|
left join order_plate op on og.organ_id = op.organ_id and og.order_id = op.order_id and og.id = op.goods_id and op.organ_id = #{organId}
|
||||||
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_item oi on op.organ_id = oi.organ_id and op.order_id = oi.order_id and op.id = oi.plate_id and oi.organ_id = #{organId}
|
||||||
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_plan_item opi on op.organ_id = opi.organ_id and op.order_id = opi.order_id and op.id = opi.plate_id and opi.organ_id = #{organId}
|
||||||
|
|
||||||
${ew.customSqlSegment}
|
${ew.customSqlSegment}
|
||||||
|
|
||||||
|
|||||||
+14
@@ -7,6 +7,7 @@ import lombok.Data;
|
|||||||
import lombok.NoArgsConstructor;
|
import lombok.NoArgsConstructor;
|
||||||
|
|
||||||
import java.io.Serializable;
|
import java.io.Serializable;
|
||||||
|
import java.time.LocalDateTime;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @author 加工方案组配置
|
* @author 加工方案组配置
|
||||||
@@ -40,6 +41,10 @@ public class ProcessSchemeDTO implements Serializable {
|
|||||||
private String processLineConfigSetting;
|
private String processLineConfigSetting;
|
||||||
|
|
||||||
|
|
||||||
|
@Schema(description = "加工分线的更新时间", requiredMode = Schema.RequiredMode.REQUIRED)
|
||||||
|
private LocalDateTime processLineUpdateTime;
|
||||||
|
|
||||||
|
|
||||||
@Schema(description = "数据优化配置ID", requiredMode = Schema.RequiredMode.REQUIRED)
|
@Schema(description = "数据优化配置ID", requiredMode = Schema.RequiredMode.REQUIRED)
|
||||||
private Long optimizationConfig;
|
private Long optimizationConfig;
|
||||||
|
|
||||||
@@ -52,6 +57,10 @@ public class ProcessSchemeDTO implements Serializable {
|
|||||||
private String optimizationConfigSetting;
|
private String optimizationConfigSetting;
|
||||||
|
|
||||||
|
|
||||||
|
@Schema(description = "数据优化配置的更新时间", requiredMode = Schema.RequiredMode.REQUIRED)
|
||||||
|
private LocalDateTime optimizationUpdateTime;
|
||||||
|
|
||||||
|
|
||||||
@Schema(description = "解析器配置ID", requiredMode = Schema.RequiredMode.REQUIRED)
|
@Schema(description = "解析器配置ID", requiredMode = Schema.RequiredMode.REQUIRED)
|
||||||
private Long analyzer;
|
private Long analyzer;
|
||||||
|
|
||||||
@@ -63,6 +72,11 @@ public class ProcessSchemeDTO implements Serializable {
|
|||||||
@Schema(description = "解析器配置-机台的配置", requiredMode = Schema.RequiredMode.REQUIRED)
|
@Schema(description = "解析器配置-机台的配置", requiredMode = Schema.RequiredMode.REQUIRED)
|
||||||
private String analyzerConfigSetting;
|
private String analyzerConfigSetting;
|
||||||
|
|
||||||
|
|
||||||
|
@Schema(description = "解析器配置-机台的配置的更新时间", requiredMode = Schema.RequiredMode.REQUIRED)
|
||||||
|
private LocalDateTime analyzerUpdateTime;
|
||||||
|
|
||||||
|
|
||||||
@Schema(description = "机台类型", requiredMode = Schema.RequiredMode.REQUIRED)
|
@Schema(description = "机台类型", requiredMode = Schema.RequiredMode.REQUIRED)
|
||||||
private Integer machineType;
|
private Integer machineType;
|
||||||
|
|
||||||
|
|||||||
+2
-4
@@ -335,10 +335,8 @@ public class ErrorCodeConstants {
|
|||||||
public static final ErrorCode THIS_PLAN_PLATE_IS_CUT = new ErrorCode(1_002_041_045, "当前排单已有板材开料,无法修改");
|
public static final ErrorCode THIS_PLAN_PLATE_IS_CUT = new ErrorCode(1_002_041_045, "当前排单已有板材开料,无法修改");
|
||||||
public static final ErrorCode THIS_ORDER_NOT_PLATE_DATA = new ErrorCode(1_002_041_046, "当前生产单无板材数据,无法进行用板量计算");
|
public static final ErrorCode THIS_ORDER_NOT_PLATE_DATA = new ErrorCode(1_002_041_046, "当前生产单无板材数据,无法进行用板量计算");
|
||||||
public static final ErrorCode THIS_PLAN_SCHEME_DATA_ERROR = new ErrorCode(1_002_041_047, "当前方案组的优化信息有误,请重新选择方案组或重新导入排单再进行优化");
|
public static final ErrorCode THIS_PLAN_SCHEME_DATA_ERROR = new ErrorCode(1_002_041_047, "当前方案组的优化信息有误,请重新选择方案组或重新导入排单再进行优化");
|
||||||
|
public static final ErrorCode PLAN_SORT_DATA_ERROR = new ErrorCode(1_002_041_048, "已无可进行排序的数据,无法进行排序");
|
||||||
|
public static final ErrorCode THIS_PLATE_IS_OPTIMIZE = new ErrorCode(1_002_041_049, "小板:{},已开料,无法删除,请重新选择小板再删除");
|
||||||
public static final ErrorCode THIS_PLAN_PLATE_OPTIMIZE_IS_ALL = new ErrorCode(1_002_041_046, "当前排单已全部开料,无法进行选择");
|
|
||||||
public static final ErrorCode THIS_PLATE_IS_OPTIMIZE = new ErrorCode(1_002_041_046, "小板:{},已开料,无法删除,请重新选择小板再删除");
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
+20
-6
@@ -209,32 +209,46 @@ public class SystemConfigApiImpl implements SystemConfigApi {
|
|||||||
|
|
||||||
f.setProcessLineConfigName(processLineConfigList.stream()
|
f.setProcessLineConfigName(processLineConfigList.stream()
|
||||||
.filter(p->f.getProcessLineConfig().equals(p.getId()))
|
.filter(p->f.getProcessLineConfig().equals(p.getId()))
|
||||||
.map(SystemConfigDO::getName)
|
.map(SystemConfigProcessDO::getName)
|
||||||
.toList().get(0)
|
.toList().get(0)
|
||||||
);
|
);
|
||||||
f.setProcessLineConfigSetting(
|
f.setProcessLineConfigSetting(
|
||||||
processLineConfigList.stream()
|
processLineConfigList.stream()
|
||||||
.filter(p->f.getProcessLineConfig().equals(p.getId()))
|
.filter(p->f.getProcessLineConfig().equals(p.getId()))
|
||||||
.map(SystemConfigDO::getSetting)
|
.map(SystemConfigProcessDO::getSetting)
|
||||||
|
.toList().get(0)
|
||||||
|
);
|
||||||
|
f.setProcessLineUpdateTime(
|
||||||
|
processLineConfigList.stream()
|
||||||
|
.filter(p->f.getProcessLineConfig().equals(p.getId()))
|
||||||
|
.map(SystemConfigProcessDO::getUpdateTime)
|
||||||
.toList().get(0)
|
.toList().get(0)
|
||||||
);
|
);
|
||||||
|
|
||||||
f.setOptimizationConfigName(processLineConfigList.stream()
|
f.setOptimizationConfigName(optimizationConfigList.stream()
|
||||||
.filter(p->f.getProcessLineConfig().equals(p.getId()))
|
.filter(p->f.getOptimizationConfig().equals(p.getId()))
|
||||||
.map(SystemConfigDO::getName)
|
.map(SystemConfigDataDO::getName)
|
||||||
.toList().get(0)
|
.toList().get(0)
|
||||||
);
|
);
|
||||||
f.setOptimizationConfigSetting(
|
f.setOptimizationConfigSetting(
|
||||||
optimizationConfigList.stream()
|
optimizationConfigList.stream()
|
||||||
.filter(p->f.getOptimizationConfig().equals(p.getId()))
|
.filter(p->f.getOptimizationConfig().equals(p.getId()))
|
||||||
.map(SystemConfigDO::getSetting)
|
.map(SystemConfigDataDO::getSetting)
|
||||||
.toList().get(0)
|
.toList().get(0)
|
||||||
);
|
);
|
||||||
|
f.setOptimizationUpdateTime(
|
||||||
|
optimizationConfigList.stream()
|
||||||
|
.filter(p->f.getOptimizationConfig().equals(p.getId()))
|
||||||
|
.map(SystemConfigDataDO::getUpdateTime)
|
||||||
|
.toList().get(0)
|
||||||
|
);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
MachineDO machineDO = analyzerList.stream().filter(p -> f.getAnalyzer().equals(p.getId())).toList().get(0);
|
MachineDO machineDO = analyzerList.stream().filter(p -> f.getAnalyzer().equals(p.getId())).toList().get(0);
|
||||||
f.setAnalyzerConfigName(machineDO.getName());
|
f.setAnalyzerConfigName(machineDO.getName());
|
||||||
f.setAnalyzerConfigSetting(unzipString(machineDO.getSetting()));
|
f.setAnalyzerConfigSetting(unzipString(machineDO.getSetting()));
|
||||||
|
f.setAnalyzerUpdateTime(machineDO.getUpdateTime());
|
||||||
f.setMachineType(machineDO.getMachineType());
|
f.setMachineType(machineDO.getMachineType());
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
+8
@@ -27,6 +27,7 @@ import java.io.IOException;
|
|||||||
import java.util.Collections;
|
import java.util.Collections;
|
||||||
import java.util.Comparator;
|
import java.util.Comparator;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
import java.util.concurrent.atomic.AtomicLong;
|
||||||
|
|
||||||
import static com.cf.imes.framework.common.pojo.CommonResult.success;
|
import static com.cf.imes.framework.common.pojo.CommonResult.success;
|
||||||
import static com.cf.imes.framework.operatelog.core.enums.OperateTypeEnum.EXPORT;
|
import static com.cf.imes.framework.operatelog.core.enums.OperateTypeEnum.EXPORT;
|
||||||
@@ -98,6 +99,13 @@ public class PostController {
|
|||||||
public void export(HttpServletResponse response, @Validated PostPageReqVO reqVO) throws IOException {
|
public void export(HttpServletResponse response, @Validated PostPageReqVO reqVO) throws IOException {
|
||||||
reqVO.setPageSize(PageParam.PAGE_SIZE_NONE);
|
reqVO.setPageSize(PageParam.PAGE_SIZE_NONE);
|
||||||
List<PostDO> list = postService.getPostPage(reqVO).getList();
|
List<PostDO> list = postService.getPostPage(reqVO).getList();
|
||||||
|
|
||||||
|
AtomicLong sort = new AtomicLong();
|
||||||
|
list.forEach(f->{
|
||||||
|
sort.addAndGet(1);
|
||||||
|
f.setId(sort.get());
|
||||||
|
});
|
||||||
|
|
||||||
// 输出
|
// 输出
|
||||||
ExcelUtils.write(response, "岗位数据.xls", "岗位列表", PostRespVO.class,
|
ExcelUtils.write(response, "岗位数据.xls", "岗位列表", PostRespVO.class,
|
||||||
BeanUtils.toBean(list, PostRespVO.class));
|
BeanUtils.toBean(list, PostRespVO.class));
|
||||||
|
|||||||
+1
-1
@@ -17,7 +17,7 @@ import java.time.LocalDateTime;
|
|||||||
public class PostRespVO {
|
public class PostRespVO {
|
||||||
|
|
||||||
@Schema(description = "岗位编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024")
|
@Schema(description = "岗位编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024")
|
||||||
@ExcelProperty("岗位编号")
|
@ExcelProperty("序号")
|
||||||
private Long id;
|
private Long id;
|
||||||
|
|
||||||
@Schema(description = "岗位名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "小土豆")
|
@Schema(description = "岗位名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "小土豆")
|
||||||
|
|||||||
-14
@@ -7,7 +7,6 @@ import com.cf.imes.framework.organ.core.context.OrganContextHolder;
|
|||||||
import com.cf.imes.framework.security.core.LoginUser;
|
import com.cf.imes.framework.security.core.LoginUser;
|
||||||
import com.cf.imes.framework.security.core.util.SecurityFrameworkUtils;
|
import com.cf.imes.framework.security.core.util.SecurityFrameworkUtils;
|
||||||
import com.cf.imes.module.system.controller.admin.dept.vo.post.PostPageReqVO;
|
import com.cf.imes.module.system.controller.admin.dept.vo.post.PostPageReqVO;
|
||||||
import com.cf.imes.module.system.dal.dataobject.dept.DeptDO;
|
|
||||||
import com.cf.imes.module.system.dal.dataobject.dept.PostDO;
|
import com.cf.imes.module.system.dal.dataobject.dept.PostDO;
|
||||||
import org.apache.ibatis.annotations.Mapper;
|
import org.apache.ibatis.annotations.Mapper;
|
||||||
|
|
||||||
@@ -35,19 +34,6 @@ public interface PostMapper extends BaseMapperX<PostDO> {
|
|||||||
}else{
|
}else{
|
||||||
lambdaQueryWrapperX.eqIfPresent(PostDO::getOrganId, loginUser.getOrganId());
|
lambdaQueryWrapperX.eqIfPresent(PostDO::getOrganId, loginUser.getOrganId());
|
||||||
}
|
}
|
||||||
// 获取分页结果
|
|
||||||
// PageResult<PostDO> pageResult = selectPage(reqVO, lambdaQueryWrapperX
|
|
||||||
// .likeIfPresent(PostDO::getCode, reqVO.getCode())
|
|
||||||
// .likeIfPresent(PostDO::getName, reqVO.getName())
|
|
||||||
// .eqIfPresent(PostDO::getStatus, reqVO.getStatus())
|
|
||||||
// .orderByDesc(PostDO::getSort));
|
|
||||||
|
|
||||||
// 重新设置 id 值
|
|
||||||
// List<PostDO> records = pageResult.getList();
|
|
||||||
// for (int i = 0; i < records.size(); i++) {
|
|
||||||
// PostDO postDO = records.get(i);
|
|
||||||
// postDO.setId((long) (i + 1));
|
|
||||||
// }
|
|
||||||
|
|
||||||
lambdaQueryWrapperX.likeIfPresent(PostDO::getCode, reqVO.getCode())
|
lambdaQueryWrapperX.likeIfPresent(PostDO::getCode, reqVO.getCode())
|
||||||
.likeIfPresent(PostDO::getName, reqVO.getName())
|
.likeIfPresent(PostDO::getName, reqVO.getName())
|
||||||
|
|||||||
+1
-1
@@ -36,7 +36,7 @@ public enum SystemConfigTypeEnum {
|
|||||||
/**
|
/**
|
||||||
* 数据处理
|
* 数据处理
|
||||||
*/
|
*/
|
||||||
DATA_PROCESSING(5, "优化数据配置"),
|
DATA_PROCESSING(5, "数据处理"),
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 加工方案
|
* 加工方案
|
||||||
|
|||||||
+1
@@ -343,6 +343,7 @@ public class MachineServiceImpl implements MachineService {
|
|||||||
// 更新
|
// 更新
|
||||||
MachineDO updateObj = MachineConvert.convert(updateReqVO);
|
MachineDO updateObj = MachineConvert.convert(updateReqVO);
|
||||||
|
|
||||||
|
updateObj.setUpdateTime(LocalDateTime.now());
|
||||||
|
|
||||||
// 判断传入的机台配置是否存在,如果存在,压缩数据后更新
|
// 判断传入的机台配置是否存在,如果存在,压缩数据后更新
|
||||||
if (!updateReqVO.getMachineSettingDO().isEmpty()) {
|
if (!updateReqVO.getMachineSettingDO().isEmpty()) {
|
||||||
|
|||||||
+1
-1
@@ -120,7 +120,7 @@ public class OAuth2TokenServiceImpl implements OAuth2TokenService {
|
|||||||
// 校验组织的有效性
|
// 校验组织的有效性
|
||||||
organService.validOrgan(accessTokenDO.getOrganId());
|
organService.validOrgan(accessTokenDO.getOrganId());
|
||||||
// 有令牌的校验,代表有接口访问,延长令牌的过期时间(30分钟)
|
// 有令牌的校验,代表有接口访问,延长令牌的过期时间(30分钟)
|
||||||
oauth2AccessTokenRedisDAO.expire(accessToken, 1800, TimeUnit.SECONDS);
|
oauth2AccessTokenRedisDAO.expire(accessToken, 1, TimeUnit.DAYS);
|
||||||
}
|
}
|
||||||
return accessTokenDO;
|
return accessTokenDO;
|
||||||
}
|
}
|
||||||
|
|||||||
+3
@@ -15,6 +15,7 @@ import lombok.extern.slf4j.Slf4j;
|
|||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
|
|
||||||
import javax.annotation.Resource;
|
import javax.annotation.Resource;
|
||||||
|
import java.time.LocalDateTime;
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
@@ -135,6 +136,8 @@ public class DataProcessServiceHandler extends AbstractSystemConfigServiceHandle
|
|||||||
systemConfigDataDO.setSetting(reqVO.getSetting());
|
systemConfigDataDO.setSetting(reqVO.getSetting());
|
||||||
// 覆盖名称
|
// 覆盖名称
|
||||||
systemConfigDataDO.setName(reqVO.getName());
|
systemConfigDataDO.setName(reqVO.getName());
|
||||||
|
// 更新时间
|
||||||
|
systemConfigDataDO.setUpdateTime(LocalDateTime.now());
|
||||||
// 更新
|
// 更新
|
||||||
systemConfigDataMapper.updateById(systemConfigDataDO);
|
systemConfigDataMapper.updateById(systemConfigDataDO);
|
||||||
} else {
|
} else {
|
||||||
|
|||||||
+3
@@ -15,6 +15,7 @@ import com.cf.imes.module.system.service.systemconfig.factory.service.AbstractSy
|
|||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
|
|
||||||
import javax.annotation.Resource;
|
import javax.annotation.Resource;
|
||||||
|
import java.time.LocalDateTime;
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
@@ -153,6 +154,8 @@ public class IntellectBranchingService extends AbstractSystemConfigServiceHandle
|
|||||||
systemConfigFilterDO.setSetting(reqVO.getSetting());
|
systemConfigFilterDO.setSetting(reqVO.getSetting());
|
||||||
// 覆盖名称
|
// 覆盖名称
|
||||||
systemConfigFilterDO.setName(reqVO.getName());
|
systemConfigFilterDO.setName(reqVO.getName());
|
||||||
|
// 更新时间
|
||||||
|
systemConfigFilterDO.setUpdateTime(LocalDateTime.now());
|
||||||
// 更新
|
// 更新
|
||||||
systemConfigFilterMapper.updateById(systemConfigFilterDO);
|
systemConfigFilterMapper.updateById(systemConfigFilterDO);
|
||||||
} else {
|
} else {
|
||||||
|
|||||||
+3
@@ -14,6 +14,7 @@ import lombok.extern.slf4j.Slf4j;
|
|||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
|
|
||||||
import javax.annotation.Resource;
|
import javax.annotation.Resource;
|
||||||
|
import java.time.LocalDateTime;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
import static com.cf.imes.framework.common.exception.util.ServiceExceptionUtil.exception;
|
import static com.cf.imes.framework.common.exception.util.ServiceExceptionUtil.exception;
|
||||||
@@ -123,6 +124,8 @@ public class MultiColorOrderPlanServiceHandler extends AbstractSystemConfigServi
|
|||||||
systemConfigDO.setSetting(reqVO.getSetting());
|
systemConfigDO.setSetting(reqVO.getSetting());
|
||||||
// 覆盖名称
|
// 覆盖名称
|
||||||
systemConfigDO.setName(reqVO.getName());
|
systemConfigDO.setName(reqVO.getName());
|
||||||
|
// 更新时间
|
||||||
|
systemConfigDO.setUpdateTime(LocalDateTime.now());
|
||||||
// 更新
|
// 更新
|
||||||
systemConfigMapper.updateById(systemConfigDO);
|
systemConfigMapper.updateById(systemConfigDO);
|
||||||
} else {
|
} else {
|
||||||
|
|||||||
+3
@@ -18,6 +18,7 @@ import lombok.extern.slf4j.Slf4j;
|
|||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
|
|
||||||
import javax.annotation.Resource;
|
import javax.annotation.Resource;
|
||||||
|
import java.time.LocalDateTime;
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Optional;
|
import java.util.Optional;
|
||||||
@@ -208,6 +209,8 @@ public class ProcessSchemeServiceHandler extends AbstractSystemConfigServiceHand
|
|||||||
systemConfigSchemeDO.setSetting(reqVO.getSetting());
|
systemConfigSchemeDO.setSetting(reqVO.getSetting());
|
||||||
// 覆盖名称
|
// 覆盖名称
|
||||||
systemConfigSchemeDO.setName(reqVO.getName());
|
systemConfigSchemeDO.setName(reqVO.getName());
|
||||||
|
// 更新时间
|
||||||
|
systemConfigSchemeDO.setUpdateTime(LocalDateTime.now());
|
||||||
// 更新
|
// 更新
|
||||||
systemConfigSchemeMapper.updateById(systemConfigSchemeDO);
|
systemConfigSchemeMapper.updateById(systemConfigSchemeDO);
|
||||||
} else {
|
} else {
|
||||||
|
|||||||
+3
@@ -15,6 +15,7 @@ import lombok.extern.slf4j.Slf4j;
|
|||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
|
|
||||||
import javax.annotation.Resource;
|
import javax.annotation.Resource;
|
||||||
|
import java.time.LocalDateTime;
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
@@ -136,6 +137,8 @@ public class ProcessScreeningServiceHandler extends AbstractSystemConfigServiceH
|
|||||||
systemConfigProcessDO.setSetting(reqVO.getSetting());
|
systemConfigProcessDO.setSetting(reqVO.getSetting());
|
||||||
// 覆盖名称
|
// 覆盖名称
|
||||||
systemConfigProcessDO.setName(reqVO.getName());
|
systemConfigProcessDO.setName(reqVO.getName());
|
||||||
|
// 更新时间
|
||||||
|
systemConfigProcessDO.setUpdateTime(LocalDateTime.now());
|
||||||
// 更新
|
// 更新
|
||||||
systemConfigProcessMapper.updateById(systemConfigProcessDO);
|
systemConfigProcessMapper.updateById(systemConfigProcessDO);
|
||||||
} else {
|
} else {
|
||||||
|
|||||||
Reference in New Issue
Block a user