mirror of
http://192.168.1.205:9980/cf_devdept2/cf_imes_server.git
synced 2026-08-12 21:02:08 +08:00
未排单创建排单新需求接口逻辑更改,相关接口逻辑更改,排单排序接口修改
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> planDOS = planMapper.selectPLanList(planIds,getUserOrganId());
|
||||
List<Long> planDOS = planMapper.selectPlanList(planIds,getUserOrganId());
|
||||
|
||||
if(CollUtil.isEmpty(planDOS)){
|
||||
return CommonResult.success(true);
|
||||
|
||||
+5
-2
@@ -111,8 +111,11 @@ public class PlanController {
|
||||
@PostMapping("/setSort")
|
||||
@Operation(summary = "设置排单优先级")
|
||||
@PreAuthorize("@ss.hasPermission('placeorder:priority')")
|
||||
public CommonResult<Boolean> setSort(@Valid @NotEmpty(message = "参数不能空") @RequestBody List<SortVO> sortVos) {
|
||||
return success(planService.setSort(sortVos));
|
||||
public CommonResult<Boolean> setSort(@Valid @NotEmpty(message = "参数不能空") @Size(max = 2,message = "做多两条数据") @RequestBody List<SortVO> 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.PlateDetailRespVO;
|
||||
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.ordermodel.OrderModelDO;
|
||||
import com.cf.imes.module.executor.dal.dataobject.plan.PlanDO;
|
||||
@@ -64,11 +65,13 @@ public class OrderSource {
|
||||
private List<OrderPartsRemark> orderPartsRemarks;
|
||||
|
||||
|
||||
|
||||
@Schema(description = "生产单包裹信息")
|
||||
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 = "是否已投产")
|
||||
private Boolean isScheduled;
|
||||
|
||||
@Schema(description = "需要进行排单的板材信息")
|
||||
|
||||
@Schema(description = "需要进行排单的板材信息-数据不改变")
|
||||
private SavePlanPlateList savePlanPlateList;
|
||||
|
||||
|
||||
@@ -42,4 +43,8 @@ public class PlanSaveReqVO {
|
||||
private List<OrderPlateIds> deleteOrderPlateIds;
|
||||
|
||||
|
||||
@Schema(description = "混单创建排单时选择的实际的大板信息")
|
||||
private List<PlanActualGoodsList> planActualGoodsListList;
|
||||
|
||||
|
||||
}
|
||||
+2
@@ -60,6 +60,8 @@ public class PlateResList {
|
||||
private String material;
|
||||
@Schema(description = "纹路")
|
||||
private Integer texture;
|
||||
@Schema(description = "品牌")
|
||||
private String brand;
|
||||
@Schema(description = "备注")
|
||||
private String remark;
|
||||
}
|
||||
|
||||
+6
@@ -16,6 +16,9 @@ import java.util.List;
|
||||
public class SavePlanPlateList {
|
||||
|
||||
|
||||
@Schema(description = "混单的配置项",requiredMode = Schema.RequiredMode.REQUIRED)
|
||||
private MixConfig mixConfig;
|
||||
|
||||
|
||||
@Schema(description = "小板的信息列表",requiredMode = Schema.RequiredMode.REQUIRED)
|
||||
@Valid
|
||||
@@ -74,6 +77,9 @@ public class SavePlanPlateList {
|
||||
private String color;
|
||||
|
||||
|
||||
@Schema(description = "大板的品牌")
|
||||
private String brand;
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
+8
-1
@@ -12,6 +12,8 @@ import javax.validation.constraints.NotNull;
|
||||
@Data
|
||||
@Valid
|
||||
public class SortVO {
|
||||
|
||||
|
||||
@Schema(description = "排单id", requiredMode = Schema.RequiredMode.REQUIRED)
|
||||
@NotNull(message = "排单id 不能空")
|
||||
private Long planId;
|
||||
@@ -20,8 +22,13 @@ public class SortVO {
|
||||
@NotNull(message = "排序不能空")
|
||||
private Long sort;
|
||||
|
||||
|
||||
@Schema(description = "是否置顶", requiredMode = Schema.RequiredMode.REQUIRED,example = "false")
|
||||
// @NotNull(message = "是否置顶不能空")
|
||||
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)
|
||||
@NotNull(message = "排单ID不能为空")
|
||||
// @NotNull(message = "排单ID不能为空")
|
||||
private Long planId;
|
||||
|
||||
|
||||
@Schema(description = "厚度",requiredMode = Schema.RequiredMode.REQUIRED)
|
||||
@NotNull(message = "厚度不能为空")
|
||||
// @NotNull(message = "厚度不能为空")
|
||||
private BigDecimal thickness;
|
||||
|
||||
|
||||
@@ -37,7 +37,7 @@ public class GoodsPlateFilterPageReqVO extends PageParam {
|
||||
|
||||
|
||||
@Schema(description = "颜色",requiredMode = Schema.RequiredMode.REQUIRED)
|
||||
@NotNull(message = "颜色不能为空")
|
||||
// @NotNull(message = "颜色不能为空")
|
||||
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;
|
||||
|
||||
/**
|
||||
* 是否置顶,0 未置顶 1 已置顶
|
||||
*/
|
||||
private Boolean isTop;
|
||||
|
||||
/**
|
||||
* 是否已投产: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.query.LambdaQueryWrapperX;
|
||||
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.plan.bo.OrderRoomBodyList;
|
||||
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);
|
||||
|
||||
// 通过orderId查找板材
|
||||
|
||||
+66
-59
@@ -1,25 +1,20 @@
|
||||
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.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.plan.vo.OrderPlanStatisticsAreaRespVO;
|
||||
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.dal.dataobject.order.OrderDO;
|
||||
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.Param;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import static com.cf.imes.framework.security.core.util.SecurityFrameworkUtils.getUserOrganId;
|
||||
|
||||
/**
|
||||
* 生产单开料排单 Mapper
|
||||
*
|
||||
@@ -28,48 +23,52 @@ import static com.cf.imes.framework.security.core.util.SecurityFrameworkUtils.ge
|
||||
@Mapper
|
||||
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>()
|
||||
.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));
|
||||
}
|
||||
IPage<PlanDO> selectPlanPageList(@Param("page") IPage page,@Param(Constants.WRAPPER) Wrapper<PlanDO> wrapper);
|
||||
|
||||
|
||||
// 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>()
|
||||
// .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);
|
||||
|
||||
@@ -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);
|
||||
@@ -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) {
|
||||
return selectList( new LambdaQueryWrapperX<PlanDO>()
|
||||
.eq(PlanDO::getOrganId,organId)
|
||||
.eq(PlanDO::getDeleted,false)
|
||||
.in(PlanDO::getStatus,status)
|
||||
.orderByAsc(PlanDO::getSort));
|
||||
}
|
||||
List<PlanDO> selectPlanSortList(@Param("status") List<Integer> status,@Param("organId") Long organId);
|
||||
|
||||
|
||||
|
||||
@@ -147,4 +140,18 @@ public interface PlanMapper extends BaseMapperX<PlanDO> {
|
||||
.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<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);
|
||||
|
||||
|
||||
+2
@@ -20,6 +20,8 @@ public interface OptimizePlanService {
|
||||
|
||||
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);
|
||||
|
||||
|
||||
+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.dal.dataobject.goods.CutedBoardInfo;
|
||||
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.orderGroup.OrderGroupDO;
|
||||
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);
|
||||
|
||||
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();
|
||||
|
||||
@@ -614,6 +619,16 @@ public class OptimizePlanServiceImpl implements OptimizePlanService {
|
||||
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());
|
||||
|
||||
@@ -643,6 +658,7 @@ public class OptimizePlanServiceImpl implements OptimizePlanService {
|
||||
.goodsList(goodsDOS)
|
||||
.plateList(plateDetailRespVOS)
|
||||
.plateModels(orderModelDOS)
|
||||
.planActualGoodsModelDO(CollUtil.isNotEmpty(planActualGoodsModelDOS) ? planActualGoodsModelDOS.get(0) : null)
|
||||
.optimizeRemainPlates(optimizeRemainPlates)
|
||||
.orderPartsRespVOS(printOrderPartsRespVOS)
|
||||
.orderPartsRemarks(orderPartsRemarks)
|
||||
@@ -661,9 +677,9 @@ public class OptimizePlanServiceImpl implements OptimizePlanService {
|
||||
|
||||
Long processId = req.getProcessId();
|
||||
|
||||
List<ActualGoodsList> actualGoodsLists = Optional.ofNullable(boardModelDO.getActualGoodsList()).orElse(new ArrayList<>());
|
||||
|
||||
AssertUtils.notEmpty(actualGoodsLists,PLAN_NO_ACTUAL_PLATE);
|
||||
// List<ActualGoodsList> actualGoodsLists = Optional.ofNullable(boardModelDO.getActualGoodsList()).orElse(new ArrayList<>());
|
||||
//
|
||||
// AssertUtils.notEmpty(actualGoodsLists,PLAN_NO_ACTUAL_PLATE);
|
||||
|
||||
Long planId = boardModelDO.getPlanId();
|
||||
|
||||
|
||||
+2
-1
@@ -64,11 +64,12 @@ public interface PlanService {
|
||||
|
||||
PageResult<OrderRespVO> getOrderByPlanId(PlanOrderPageReqVO pageReqVO);
|
||||
|
||||
Boolean setSort(List<SortVO> sortVos);
|
||||
void setSort(List<SortVO> sortVos);
|
||||
|
||||
List<PlateResList> getPlateList(List<Long> planIds);
|
||||
|
||||
|
||||
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.json.JsonData;
|
||||
import com.alibaba.fastjson.JSON;
|
||||
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
|
||||
import com.baomidou.mybatisplus.core.incrementer.IdentifierGenerator;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
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.security.core.LoginUser;
|
||||
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.plan.bo.OrderRoomBodyList;
|
||||
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.dal.dataobject.goods.GoodsDO;
|
||||
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.orderBody.OrderBodyDO;
|
||||
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_ACTUAL_GOODS_MODEL = "imes_plan_actual_goods_model";
|
||||
|
||||
@Resource
|
||||
private ElasticsearchClient elasticsearchClient;
|
||||
|
||||
@@ -151,9 +156,7 @@ public class PlanServiceImpl implements PlanService {
|
||||
|
||||
Long processId = systemConfigRespDTO.getId();
|
||||
|
||||
Boolean isMix = systemConfigApi.getMultiColorConfigStatus().getCheckedData();
|
||||
|
||||
ArrayList<PlanDO> planDOS = new ArrayList<>();
|
||||
List<PlanDO> planDOS = new ArrayList<>();
|
||||
|
||||
List<Long> ids = new ArrayList<>();
|
||||
|
||||
@@ -163,54 +166,56 @@ public class PlanServiceImpl implements PlanService {
|
||||
|
||||
List<PlanItemDO> planItemDOS = new ArrayList<>();
|
||||
|
||||
List<PlanActualGoodsModelDO> planActualGoodsModelDOS = new ArrayList<>();
|
||||
|
||||
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.GoodsItemList> goodsItemList = Optional.ofNullable(savePlanPlateList.getGoodsItemList()).orElseThrow(()-> new ServiceException(PLAN_PLATE_DATA_ERROR));
|
||||
|
||||
// 查找材质和厚度相同的大板
|
||||
Map<String, List<Long>> grouped = groupByMaterialAndThickness(goodsItemList);
|
||||
List<PlanActualGoodsList> planActualGoodsLists = Optional.ofNullable(createReqVO.getPlanActualGoodsListList()).orElse(new ArrayList<>());
|
||||
|
||||
// 进行数据处理:value 里为 大板的分类ID
|
||||
grouped.forEach((key, value) -> {
|
||||
Map<String, List<Long>> grouped = new HashMap<>();
|
||||
|
||||
// 查找和大板分类ID相同的小板的数据
|
||||
List<SavePlanPlateList.PlateItemList> plateList = plateItemList.stream().filter(p -> value.contains(p.getId())).toList();
|
||||
if(CollUtil.isNotEmpty(planActualGoodsLists)) {
|
||||
|
||||
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());
|
||||
sort.addAndGet(1);
|
||||
if(MixConfigTypeEnum.SAMEMATERIALANDTHICKNESS.equals(mixedType)){
|
||||
// 筛选出材质和厚度相同的大板
|
||||
grouped = groupByMaterialAndThicknessEqualToOne(goodsItemList);
|
||||
|
||||
Long planId = (Long) identifierGenerator.nextId(null);
|
||||
}else {
|
||||
|
||||
// 创建排单
|
||||
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());
|
||||
grouped = groupByThicknessEqualToOne(goodsItemList);
|
||||
}
|
||||
|
||||
plateList.forEach(i ->
|
||||
planItemDOS.add(PlanItemDO.builder()
|
||||
.planId(planId)
|
||||
.plateId(i.getPlateId())
|
||||
.orderId(i.getOrderId())
|
||||
.goodsId(i.getId())
|
||||
.build()));
|
||||
if(CollUtil.isNotEmpty(grouped)) {
|
||||
createPlanAndPlateDataList(grouped,planItemDOS,plateItemList,planDOS,processId,loginUser);
|
||||
}
|
||||
|
||||
});
|
||||
}else {
|
||||
|
||||
if(MixConfigTypeEnum.SAMEMATERIALANDTHICKNESS.equals(mixedType)){
|
||||
// 筛选出材质和厚度相同的大板
|
||||
grouped = groupByMaterialAndThickness(goodsItemList);
|
||||
|
||||
}else {
|
||||
// 筛选出厚度相同的大板
|
||||
grouped = groupByThickness(goodsItemList);
|
||||
|
||||
}
|
||||
|
||||
createPlanAndPlateDataList(grouped,planItemDOS,plateItemList,planDOS,processId,loginUser);
|
||||
|
||||
}
|
||||
|
||||
// 获取所有的大板ID
|
||||
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));
|
||||
// 查找材质和厚度和颜色相同的大板
|
||||
Map<String, List<Long>> grouped = groupByMaterialAndThicknessAndColor(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());
|
||||
});
|
||||
});
|
||||
Map<String, List<Long>> grouped = groupByMaterialAndThicknessAndColorAndBrand(goodsItemList);
|
||||
|
||||
createPlanAndPlateDataList(grouped,planItemDOS,plateItemList,planDOS,processId,loginUser);
|
||||
|
||||
// 获取所有的大板ID
|
||||
ids.addAll(goodsItemList.stream().map(SavePlanPlateList.GoodsItemList::getId).distinct().toList());
|
||||
@@ -294,13 +263,13 @@ public class PlanServiceImpl implements PlanService {
|
||||
|
||||
planMapper.insertBatch(planDOS);
|
||||
|
||||
|
||||
// plateMapper.updatePlateIsOptimized(orderIds, ids, plateIds, getUserOrganId());
|
||||
|
||||
|
||||
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
|
||||
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) {
|
||||
|
||||
@@ -492,32 +462,66 @@ public class PlanServiceImpl implements PlanService {
|
||||
|
||||
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 {
|
||||
|
||||
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<>();
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
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();
|
||||
@@ -548,11 +552,10 @@ public class PlanServiceImpl implements PlanService {
|
||||
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.getList().forEach(e -> {
|
||||
planRespVOPageResult.forEach(e -> {
|
||||
// 方案信息
|
||||
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())
|
||||
.betweenIfPresent(FIELD_ORDER_DATE, pageReqVO.getCreateTime());
|
||||
|
||||
orderGoodsResps = planItemMapper.selectNoPlanGoodsByRoomAndBodyIds(page,queryWrapperX);
|
||||
orderGoodsResps = planItemMapper.selectNoPlanGoodsByRoomAndBodyIds(page,queryWrapperX,getUserOrganId());
|
||||
|
||||
}else {
|
||||
|
||||
@@ -781,7 +784,7 @@ public class PlanServiceImpl implements PlanService {
|
||||
.likeIfPresent(FIELD_ADDRESS, pageReqVO.getConsigneeAddress())
|
||||
.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.brand",brand);
|
||||
|
||||
List<OrderGoodsResp> orderGoodsIdList = planItemMapper.selectNoOrderGoodsIdList(queryWrapperX);
|
||||
List<OrderGoodsResp> orderGoodsIdList = planItemMapper.selectNoOrderGoodsIdList(queryWrapperX,getUserOrganId());
|
||||
|
||||
mergeOrderGoodsLists(records,orderGoodsIdList);
|
||||
|
||||
@@ -889,39 +892,74 @@ public class PlanServiceImpl implements PlanService {
|
||||
|
||||
|
||||
@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());
|
||||
|
||||
// 后续的查询需要加上 是否置顶 的判断条件
|
||||
List<PlanDO> planDOList = planMapper.selectPlanSortList(status, getUserOrganId());
|
||||
if(CollUtil.isNotEmpty(planDOList)) {
|
||||
// 修改为 未置顶
|
||||
// planDOList.forEach(f->f);
|
||||
|
||||
planDOS.addAll(planDOList);
|
||||
if(planDO == null){
|
||||
throw exception(PLAN_NOT_DATA_EXISTS,planId);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
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 -> {
|
||||
planDOS.add(PlanDO.builder()
|
||||
.id(e.getPlanId())
|
||||
.sort(e.getSort())
|
||||
// .isTopUp(e.getIsTopUp())
|
||||
.build());
|
||||
|
||||
});
|
||||
|
||||
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) {
|
||||
|
||||
@@ -1311,14 +1391,119 @@ public class PlanServiceImpl implements PlanService {
|
||||
return groupedItems;
|
||||
}
|
||||
|
||||
|
||||
|
||||
public static Map<String, List<Long>> groupByMaterialAndThicknessAndColor(List<SavePlanPlateList.GoodsItemList> items) {
|
||||
public static Map<String, List<Long>> groupByThickness(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();
|
||||
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<>());
|
||||
@@ -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.cf.imes.framework.common.enums.OrderPlateCutStatusEnum;
|
||||
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.util.ServiceExceptionUtil;
|
||||
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.util.ServiceExceptionUtil.exception;
|
||||
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.*;
|
||||
/**
|
||||
* 生产单板件 Service 实现类
|
||||
@@ -273,26 +270,26 @@ public class PlateServiceImpl implements PlateService {
|
||||
@Override
|
||||
public PageResult<PlateGoodDO> getGoodsPlate(GoodsPlateFilterPageReqVO pageReqVO) {
|
||||
|
||||
PlanDO planDO = planMapper.selectById(pageReqVO.getPlanId());
|
||||
|
||||
AssertUtils.notEmpty(planDO,PLAN_NOT_EXISTS);
|
||||
|
||||
if(planDO.getStatus().equals(PlanStatusEnum.OPENED.getStatus())){
|
||||
throw exception(THIS_PLAN_PLATE_OPTIMIZE_IS_ALL);
|
||||
}
|
||||
|
||||
|
||||
if (planDO.getType().equals(PlanTypeEnum.MIXEDORDERPLAN.getType())) {
|
||||
|
||||
pageReqVO.setColor(null);
|
||||
|
||||
}
|
||||
|
||||
|
||||
if(planDO.getType().equals(PlanTypeEnum.ORDERPLAN.getType()) && pageReqVO.getFilterColor() != null){
|
||||
throw exception(PLAN_GOODS_IS_FILTER_DATA_ERROR);
|
||||
|
||||
}
|
||||
// PlanDO planDO = planMapper.selectById(pageReqVO.getPlanId());
|
||||
//
|
||||
// AssertUtils.notEmpty(planDO,PLAN_NOT_EXISTS);
|
||||
//
|
||||
// if(planDO.getStatus().equals(PlanStatusEnum.OPENED.getStatus())){
|
||||
// throw exception(THIS_PLAN_PLATE_OPTIMIZE_IS_ALL);
|
||||
// }
|
||||
//
|
||||
//
|
||||
// if (planDO.getType().equals(PlanTypeEnum.MIXEDORDERPLAN.getType())) {
|
||||
//
|
||||
// pageReqVO.setColor(null);
|
||||
//
|
||||
// }
|
||||
//
|
||||
//
|
||||
// if(planDO.getType().equals(PlanTypeEnum.ORDERPLAN.getType()) && pageReqVO.getFilterColor() != null){
|
||||
// throw exception(PLAN_GOODS_IS_FILTER_DATA_ERROR);
|
||||
//
|
||||
// }
|
||||
|
||||
return plateGoodMapper.selectGoodsPage(pageReqVO, getUserOrganId());
|
||||
|
||||
|
||||
+26
-10
@@ -28,18 +28,11 @@
|
||||
resultType="com.cf.imes.module.executor.controller.admin.plan.vo.GoodsReqVO">
|
||||
|
||||
select distinct
|
||||
og.order_id,
|
||||
og.raw_goods_id,
|
||||
og.goods_id,
|
||||
og.goods_name,
|
||||
og.material,
|
||||
og.color,
|
||||
og.texture,
|
||||
og.width,
|
||||
og.height,
|
||||
og.thickness,
|
||||
og.price,
|
||||
og.spec,
|
||||
og.brand,
|
||||
og.remark,
|
||||
orp.id as remainId
|
||||
@@ -316,9 +309,9 @@
|
||||
|
||||
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_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_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_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 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 and opi.organ_id = #{organId}
|
||||
|
||||
where ob.organ_id = #{organId}
|
||||
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>
|
||||
|
||||
|
||||
|
||||
+1
@@ -439,6 +439,7 @@
|
||||
og.material as material,
|
||||
og.color as color,
|
||||
og.goods_id as goodsId,
|
||||
og.brand as brand,
|
||||
op.name as plateName,
|
||||
op.height as height,
|
||||
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"
|
||||
resultType="com.cf.imes.module.executor.controller.admin.plan.vo.PlateOptimize"
|
||||
parameterType="java.lang.Long">
|
||||
@@ -81,13 +98,14 @@
|
||||
<select id="selectPlanIds" resultType="com.cf.imes.module.executor.dal.dataobject.plan.PlanDO">
|
||||
|
||||
|
||||
select * from order_plan where
|
||||
organ_id = #{organId}
|
||||
and deleted = false
|
||||
and create_time >= #{createTime}
|
||||
and id != #{planId}
|
||||
SELECT *
|
||||
FROM order_plan
|
||||
|
||||
ORDER BY create_time
|
||||
WHERE organ_id = #{organId}
|
||||
AND deleted = false
|
||||
and is_top = false
|
||||
and sort < #{sort}
|
||||
ORDER BY sort desc
|
||||
limit 1;
|
||||
|
||||
|
||||
@@ -96,17 +114,19 @@
|
||||
|
||||
<select id="selectPlanIdsFalse" resultType="com.cf.imes.module.executor.dal.dataobject.plan.PlanDO">
|
||||
|
||||
select * from order_plan where
|
||||
organ_id = #{organId}
|
||||
and deleted = false
|
||||
and create_time <= #{createTime}
|
||||
and id != #{planId}
|
||||
SELECT *
|
||||
FROM order_plan
|
||||
|
||||
ORDER BY create_time desc
|
||||
WHERE organ_id = #{organId}
|
||||
AND deleted = false
|
||||
and is_top = false
|
||||
and sort > #{sort}
|
||||
ORDER BY sort
|
||||
limit 1;
|
||||
|
||||
|
||||
|
||||
|
||||
</select>
|
||||
|
||||
<select id="selectPlanStatus" resultType="com.cf.imes.module.executor.dal.dataobject.plan.PlanDO">
|
||||
@@ -123,7 +143,7 @@
|
||||
|
||||
|
||||
</select>
|
||||
<select id="selectPLanList" resultType="java.lang.Long">
|
||||
<select id="selectPlanList" resultType="java.lang.Long">
|
||||
|
||||
select id
|
||||
from order_plan
|
||||
@@ -138,7 +158,6 @@
|
||||
|
||||
</select>
|
||||
|
||||
|
||||
<update id="updatePlanStatus">
|
||||
|
||||
UPDATE order_plan
|
||||
@@ -154,5 +173,56 @@
|
||||
</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>
|
||||
+11
-11
@@ -168,10 +168,10 @@
|
||||
og.brand as brand
|
||||
|
||||
from orders o
|
||||
left join order_goods og on o.organ_id = og.organ_id and o.id = og.order_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
|
||||
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_plan_item opi on op.organ_id = opi.organ_id and op.order_id = opi.order_id and op.id = opi.plate_id
|
||||
left join order_goods og on 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 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 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 and opi.organ_id = #{organId}
|
||||
|
||||
${ew.customSqlSegment}
|
||||
|
||||
@@ -193,9 +193,9 @@
|
||||
og.brand as brand
|
||||
|
||||
from orders o
|
||||
left join order_goods og on o.organ_id = og.organ_id and o.id = og.order_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
|
||||
left join order_plan_item opi on op.organ_id = opi.organ_id and op.order_id = opi.order_id and op.id = opi.plate_id
|
||||
left join order_goods og on 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 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 and opi.organ_id = #{organId}
|
||||
|
||||
${ew.customSqlSegment}
|
||||
|
||||
@@ -221,10 +221,10 @@
|
||||
og.order_id as orderId
|
||||
|
||||
from orders o
|
||||
left join order_goods og on o.organ_id = og.organ_id and o.id = og.order_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
|
||||
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_plan_item opi on op.organ_id = opi.organ_id and op.order_id = opi.order_id and op.id = opi.plate_id
|
||||
left join order_goods og on 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 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 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 and opi.organ_id = #{organId}
|
||||
|
||||
${ew.customSqlSegment}
|
||||
|
||||
|
||||
+14
@@ -7,6 +7,7 @@ import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.time.LocalDateTime;
|
||||
|
||||
/**
|
||||
* @author 加工方案组配置
|
||||
@@ -40,6 +41,10 @@ public class ProcessSchemeDTO implements Serializable {
|
||||
private String processLineConfigSetting;
|
||||
|
||||
|
||||
@Schema(description = "加工分线的更新时间", requiredMode = Schema.RequiredMode.REQUIRED)
|
||||
private LocalDateTime processLineUpdateTime;
|
||||
|
||||
|
||||
@Schema(description = "数据优化配置ID", requiredMode = Schema.RequiredMode.REQUIRED)
|
||||
private Long optimizationConfig;
|
||||
|
||||
@@ -52,6 +57,10 @@ public class ProcessSchemeDTO implements Serializable {
|
||||
private String optimizationConfigSetting;
|
||||
|
||||
|
||||
@Schema(description = "数据优化配置的更新时间", requiredMode = Schema.RequiredMode.REQUIRED)
|
||||
private LocalDateTime optimizationUpdateTime;
|
||||
|
||||
|
||||
@Schema(description = "解析器配置ID", requiredMode = Schema.RequiredMode.REQUIRED)
|
||||
private Long analyzer;
|
||||
|
||||
@@ -63,6 +72,11 @@ public class ProcessSchemeDTO implements Serializable {
|
||||
@Schema(description = "解析器配置-机台的配置", requiredMode = Schema.RequiredMode.REQUIRED)
|
||||
private String analyzerConfigSetting;
|
||||
|
||||
|
||||
@Schema(description = "解析器配置-机台的配置的更新时间", requiredMode = Schema.RequiredMode.REQUIRED)
|
||||
private LocalDateTime analyzerUpdateTime;
|
||||
|
||||
|
||||
@Schema(description = "机台类型", requiredMode = Schema.RequiredMode.REQUIRED)
|
||||
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_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_PLATE_OPTIMIZE_IS_ALL = new ErrorCode(1_002_041_046, "当前排单已全部开料,无法进行选择");
|
||||
public static final ErrorCode THIS_PLATE_IS_OPTIMIZE = new ErrorCode(1_002_041_046, "小板:{},已开料,无法删除,请重新选择小板再删除");
|
||||
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, "小板:{},已开料,无法删除,请重新选择小板再删除");
|
||||
|
||||
|
||||
|
||||
|
||||
+20
-6
@@ -209,32 +209,46 @@ public class SystemConfigApiImpl implements SystemConfigApi {
|
||||
|
||||
f.setProcessLineConfigName(processLineConfigList.stream()
|
||||
.filter(p->f.getProcessLineConfig().equals(p.getId()))
|
||||
.map(SystemConfigDO::getName)
|
||||
.map(SystemConfigProcessDO::getName)
|
||||
.toList().get(0)
|
||||
);
|
||||
f.setProcessLineConfigSetting(
|
||||
processLineConfigList.stream()
|
||||
.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)
|
||||
);
|
||||
|
||||
f.setOptimizationConfigName(processLineConfigList.stream()
|
||||
.filter(p->f.getProcessLineConfig().equals(p.getId()))
|
||||
.map(SystemConfigDO::getName)
|
||||
f.setOptimizationConfigName(optimizationConfigList.stream()
|
||||
.filter(p->f.getOptimizationConfig().equals(p.getId()))
|
||||
.map(SystemConfigDataDO::getName)
|
||||
.toList().get(0)
|
||||
);
|
||||
f.setOptimizationConfigSetting(
|
||||
optimizationConfigList.stream()
|
||||
.filter(p->f.getOptimizationConfig().equals(p.getId()))
|
||||
.map(SystemConfigDO::getSetting)
|
||||
.map(SystemConfigDataDO::getSetting)
|
||||
.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);
|
||||
f.setAnalyzerConfigName(machineDO.getName());
|
||||
f.setAnalyzerConfigSetting(unzipString(machineDO.getSetting()));
|
||||
f.setAnalyzerUpdateTime(machineDO.getUpdateTime());
|
||||
f.setMachineType(machineDO.getMachineType());
|
||||
|
||||
|
||||
|
||||
+8
@@ -27,6 +27,7 @@ import java.io.IOException;
|
||||
import java.util.Collections;
|
||||
import java.util.Comparator;
|
||||
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.operatelog.core.enums.OperateTypeEnum.EXPORT;
|
||||
@@ -98,6 +99,13 @@ public class PostController {
|
||||
public void export(HttpServletResponse response, @Validated PostPageReqVO reqVO) throws IOException {
|
||||
reqVO.setPageSize(PageParam.PAGE_SIZE_NONE);
|
||||
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,
|
||||
BeanUtils.toBean(list, PostRespVO.class));
|
||||
|
||||
+1
-1
@@ -17,7 +17,7 @@ import java.time.LocalDateTime;
|
||||
public class PostRespVO {
|
||||
|
||||
@Schema(description = "岗位编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024")
|
||||
@ExcelProperty("岗位编号")
|
||||
@ExcelProperty("序号")
|
||||
private Long id;
|
||||
|
||||
@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.util.SecurityFrameworkUtils;
|
||||
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 org.apache.ibatis.annotations.Mapper;
|
||||
|
||||
@@ -35,19 +34,6 @@ public interface PostMapper extends BaseMapperX<PostDO> {
|
||||
}else{
|
||||
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())
|
||||
.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);
|
||||
|
||||
updateObj.setUpdateTime(LocalDateTime.now());
|
||||
|
||||
// 判断传入的机台配置是否存在,如果存在,压缩数据后更新
|
||||
if (!updateReqVO.getMachineSettingDO().isEmpty()) {
|
||||
|
||||
+1
-1
@@ -120,7 +120,7 @@ public class OAuth2TokenServiceImpl implements OAuth2TokenService {
|
||||
// 校验组织的有效性
|
||||
organService.validOrgan(accessTokenDO.getOrganId());
|
||||
// 有令牌的校验,代表有接口访问,延长令牌的过期时间(30分钟)
|
||||
oauth2AccessTokenRedisDAO.expire(accessToken, 1800, TimeUnit.SECONDS);
|
||||
oauth2AccessTokenRedisDAO.expire(accessToken, 1, TimeUnit.DAYS);
|
||||
}
|
||||
return accessTokenDO;
|
||||
}
|
||||
|
||||
+3
@@ -15,6 +15,7 @@ import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import java.time.LocalDateTime;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
@@ -135,6 +136,8 @@ public class DataProcessServiceHandler extends AbstractSystemConfigServiceHandle
|
||||
systemConfigDataDO.setSetting(reqVO.getSetting());
|
||||
// 覆盖名称
|
||||
systemConfigDataDO.setName(reqVO.getName());
|
||||
// 更新时间
|
||||
systemConfigDataDO.setUpdateTime(LocalDateTime.now());
|
||||
// 更新
|
||||
systemConfigDataMapper.updateById(systemConfigDataDO);
|
||||
} else {
|
||||
|
||||
+3
@@ -15,6 +15,7 @@ import com.cf.imes.module.system.service.systemconfig.factory.service.AbstractSy
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import java.time.LocalDateTime;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
@@ -153,6 +154,8 @@ public class IntellectBranchingService extends AbstractSystemConfigServiceHandle
|
||||
systemConfigFilterDO.setSetting(reqVO.getSetting());
|
||||
// 覆盖名称
|
||||
systemConfigFilterDO.setName(reqVO.getName());
|
||||
// 更新时间
|
||||
systemConfigFilterDO.setUpdateTime(LocalDateTime.now());
|
||||
// 更新
|
||||
systemConfigFilterMapper.updateById(systemConfigFilterDO);
|
||||
} else {
|
||||
|
||||
+3
@@ -14,6 +14,7 @@ import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import java.time.LocalDateTime;
|
||||
import java.util.List;
|
||||
|
||||
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.setName(reqVO.getName());
|
||||
// 更新时间
|
||||
systemConfigDO.setUpdateTime(LocalDateTime.now());
|
||||
// 更新
|
||||
systemConfigMapper.updateById(systemConfigDO);
|
||||
} else {
|
||||
|
||||
+3
@@ -18,6 +18,7 @@ import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import java.time.LocalDateTime;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import java.util.Optional;
|
||||
@@ -208,6 +209,8 @@ public class ProcessSchemeServiceHandler extends AbstractSystemConfigServiceHand
|
||||
systemConfigSchemeDO.setSetting(reqVO.getSetting());
|
||||
// 覆盖名称
|
||||
systemConfigSchemeDO.setName(reqVO.getName());
|
||||
// 更新时间
|
||||
systemConfigSchemeDO.setUpdateTime(LocalDateTime.now());
|
||||
// 更新
|
||||
systemConfigSchemeMapper.updateById(systemConfigSchemeDO);
|
||||
} else {
|
||||
|
||||
+3
@@ -15,6 +15,7 @@ import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import java.time.LocalDateTime;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
@@ -136,6 +137,8 @@ public class ProcessScreeningServiceHandler extends AbstractSystemConfigServiceH
|
||||
systemConfigProcessDO.setSetting(reqVO.getSetting());
|
||||
// 覆盖名称
|
||||
systemConfigProcessDO.setName(reqVO.getName());
|
||||
// 更新时间
|
||||
systemConfigProcessDO.setUpdateTime(LocalDateTime.now());
|
||||
// 更新
|
||||
systemConfigProcessMapper.updateById(systemConfigProcessDO);
|
||||
} else {
|
||||
|
||||
Reference in New Issue
Block a user