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 ssh://192.168.1.205:9922/cf_devdept2/cf_imes_server
This commit is contained in:
+15
-4
@@ -1,5 +1,7 @@
|
||||
package com.cf.imes.module.executor.controller.admin.plan;
|
||||
|
||||
import com.cf.imes.framework.es.core.valid.CreateGroup;
|
||||
import com.cf.imes.framework.es.core.valid.UpdateGroup;
|
||||
import com.cf.imes.module.executor.controller.admin.order.vo.order.OrderRespVO;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
import javax.annotation.Resource;
|
||||
@@ -10,6 +12,7 @@ import io.swagger.v3.oas.annotations.Parameter;
|
||||
import io.swagger.v3.oas.annotations.Operation;
|
||||
import javax.validation.*;
|
||||
import javax.servlet.http.*;
|
||||
import javax.validation.constraints.NotEmpty;
|
||||
import java.util.*;
|
||||
import java.io.IOException;
|
||||
import com.cf.imes.framework.common.pojo.PageParam;
|
||||
@@ -35,14 +38,14 @@ public class PlanController {
|
||||
@PostMapping("/create")
|
||||
@Operation(summary = "创建排单")
|
||||
@PreAuthorize("@ss.hasPermission('executor:plan:create')")
|
||||
public CommonResult<Long> createPlan(@Valid @RequestBody PlanSaveReqVO createReqVO) {
|
||||
public CommonResult<Long> createPlan(@Validated(CreateGroup.class) @RequestBody PlanSaveReqVO createReqVO) {
|
||||
return success(planService.createPlan(createReqVO));
|
||||
}
|
||||
|
||||
@PutMapping("/update")
|
||||
@Operation(summary = "更新排单")
|
||||
@PreAuthorize("@ss.hasPermission('executor:plan:update')")
|
||||
public CommonResult<Boolean> updatePlan(@Valid @RequestBody PlanSaveReqVO updateReqVO) {
|
||||
public CommonResult<Boolean> updatePlan(@Validated(UpdateGroup.class) @RequestBody PlanSaveReqVO updateReqVO) {
|
||||
planService.updatePlan(updateReqVO);
|
||||
return success(true);
|
||||
}
|
||||
@@ -63,6 +66,7 @@ public class PlanController {
|
||||
return success(planService.cancellation(id));
|
||||
}
|
||||
|
||||
|
||||
@GetMapping("/get")
|
||||
@Operation(summary = "获得排单")
|
||||
@Parameter(name = "id", description = "排单id", required = true, example = "1024")
|
||||
@@ -94,17 +98,24 @@ public class PlanController {
|
||||
return success(BeanUtils.toBean(pageResult, PlanRespVO.class));
|
||||
}
|
||||
|
||||
@PostMapping("/setSort")
|
||||
@Operation(summary = "设置排单优先级")
|
||||
@PreAuthorize("@ss.hasPermission('executor:plan:query')")
|
||||
public CommonResult<Boolean> setSort(@Valid @NotEmpty(message = "参数不能空") @RequestBody List<SortVO> list) {
|
||||
return success(planService.setSort(list));
|
||||
}
|
||||
|
||||
@GetMapping("getNotPlanOrderListPage")
|
||||
@Operation(summary = "获取未排单的板材生产单板材分页列表")
|
||||
@PreAuthorize("@ss.hasPermission('executor:plan:query')")
|
||||
public CommonResult<PageResult<OrderRespVOCopy>> getOrderPage(@Valid OrderPageReqVOCopy pageReqVO) {
|
||||
public CommonResult<List<OrderRespVOCopy>> getOrderPage(@Valid OrderPageReqVOCopy pageReqVO) {
|
||||
return success(planService.getOrderPage(pageReqVO));
|
||||
}
|
||||
|
||||
@GetMapping("getNotPlanPlateListPage")
|
||||
@Operation(summary = "获取未排单的板材分页列表")
|
||||
@PreAuthorize("@ss.hasPermission('executor:plan:query')")
|
||||
public CommonResult<PageResult<PlatePage>> getNotPlanPlateListPage(@Valid PlateReqPageVO pageVO) {
|
||||
public CommonResult<List<PlatePage>> getNotPlanPlateListPage(@Valid PlateReqPageVO pageVO) {
|
||||
return success(planService.getNotPlanPlateListPage(pageVO));
|
||||
}
|
||||
|
||||
|
||||
+5
@@ -9,6 +9,7 @@ import lombok.NoArgsConstructor;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
|
||||
import static com.cf.imes.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND;
|
||||
import static com.cf.imes.framework.common.util.date.DateUtils.TIME_ZONE_DEFAULT;
|
||||
@@ -44,6 +45,10 @@ public class OrderRespVOCopy {
|
||||
private String goodsId;
|
||||
@Schema(description = "商品名称")
|
||||
private String goodsName;
|
||||
|
||||
@Schema(description = "订单对应的板件的信息")
|
||||
private List<PlatePage> platePages;
|
||||
|
||||
@Schema(description = "颜色")
|
||||
private String color;
|
||||
@Schema(description = "材质:颗粒板、欧松板、多层板、生态板、禾香板、密度板、实木、铝蜂窝板、铝塑板")
|
||||
|
||||
+28
-12
@@ -1,8 +1,10 @@
|
||||
package com.cf.imes.module.executor.controller.admin.plan.vo;
|
||||
|
||||
import com.cf.imes.framework.es.core.valid.CreateGroup;
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import lombok.*;
|
||||
import java.util.*;
|
||||
import javax.validation.Valid;
|
||||
import javax.validation.constraints.*;
|
||||
import org.springframework.format.annotation.DateTimeFormat;
|
||||
import java.time.LocalDateTime;
|
||||
@@ -14,23 +16,23 @@ public class PlanSaveReqVO {
|
||||
@Schema(description = "ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "12776")
|
||||
private Long id;
|
||||
|
||||
@Schema(description = "排单号", requiredMode = Schema.RequiredMode.REQUIRED)
|
||||
private String planNo;
|
||||
/*@Schema(description = "排单号", requiredMode = Schema.RequiredMode.REQUIRED)
|
||||
private String planNo;*/
|
||||
|
||||
@Schema(description = "排序优先级", requiredMode = Schema.RequiredMode.REQUIRED)
|
||||
@NotNull(message = "排序优先级不能为空")
|
||||
private Integer sort;
|
||||
//@NotNull(groups = CreateGroup.class,message = "排序优先级不能为空")
|
||||
private Long sort;
|
||||
|
||||
@Schema(description = "排单类型:1 混单排单,2 生产单排单", requiredMode = Schema.RequiredMode.REQUIRED, example = "2")
|
||||
@NotNull(message = "排单类型:1 混单排单,2 生产单排单不能为空")
|
||||
@NotNull(message = "排单类型:1 混单排单,2 生产单排单不能为空", groups = CreateGroup.class)
|
||||
private Integer type;
|
||||
|
||||
@Schema(description = "排单状态:0 新单,1 板材已申请,2 开料中,3 已开料", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
|
||||
@NotNull(message = "排单状态:0 新单,1 板材已申请,2 开料中,3 已开料不能为空")
|
||||
@NotNull(message = "排单状态:0 新单,1 板材已申请,2 开料中,3 已开料不能为空", groups = CreateGroup.class)
|
||||
private Integer status;
|
||||
|
||||
@Schema(description = "是否支付:0 否,1 是", requiredMode = Schema.RequiredMode.REQUIRED)
|
||||
@NotNull(message = "是否支付:0 否,1 是不能为空")
|
||||
//@NotNull(message = "是否支付:0 否,1 是不能为空")
|
||||
private Boolean isPay;
|
||||
|
||||
@Schema(description = "机台 ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "16707")
|
||||
@@ -38,23 +40,37 @@ public class PlanSaveReqVO {
|
||||
private Long machineId;
|
||||
|
||||
@Schema(description = "计划时间", requiredMode = Schema.RequiredMode.REQUIRED)
|
||||
@NotNull(message = "计划时间不能为空")
|
||||
@NotNull(message = "计划时间不能为空", groups = CreateGroup.class)
|
||||
private LocalDateTime planTime;
|
||||
|
||||
/*@Schema(description = "生产单id列表", requiredMode = Schema.RequiredMode.REQUIRED)
|
||||
private List<Long> orderIds;*/
|
||||
|
||||
@Schema(description = "板件id列表")
|
||||
private List<Long> plateIds;
|
||||
/*@Schema(description = "板件id列表")
|
||||
private List<Long> plateIds;*/
|
||||
|
||||
@Schema(description = "生产单id与商品id 列表")
|
||||
private List<Item> itemList;
|
||||
|
||||
@Schema(description = "备注", requiredMode = Schema.RequiredMode.REQUIRED, example = "你说的对")
|
||||
private String remark;
|
||||
|
||||
@Schema(description = "生产操作人", requiredMode = Schema.RequiredMode.REQUIRED)
|
||||
@NotEmpty(message = "生产操作人不能为空")
|
||||
@NotEmpty(message = "生产操作人不能为空", groups = CreateGroup.class)
|
||||
private String operator;
|
||||
|
||||
@Schema(description = "生产时间", requiredMode = Schema.RequiredMode.REQUIRED)
|
||||
@NotNull(message = "生产时间不能为空")
|
||||
@NotNull(message = "生产时间不能为空", groups = CreateGroup.class)
|
||||
private LocalDateTime produceTime;
|
||||
|
||||
@Valid
|
||||
@Data
|
||||
public static class Item {
|
||||
@Schema(description = "生产单id")
|
||||
@NotNull
|
||||
private Long orderId;
|
||||
@Schema(description = "商品id")
|
||||
@NotNull
|
||||
private Long goodsId;
|
||||
}
|
||||
}
|
||||
+23
@@ -0,0 +1,23 @@
|
||||
package com.cf.imes.module.executor.controller.admin.plan.vo;
|
||||
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import lombok.Data;
|
||||
|
||||
import javax.validation.Valid;
|
||||
import javax.validation.constraints.NotNull;
|
||||
|
||||
/**
|
||||
* @author Beal
|
||||
*/
|
||||
@Data
|
||||
@Valid
|
||||
public class SortVO {
|
||||
@Schema(description = "排单id")
|
||||
@NotNull(message = "排单id 不能空")
|
||||
private Long planId;
|
||||
|
||||
@Schema(description = "排序")
|
||||
@NotNull(message = "排序不能空")
|
||||
private Long sort;
|
||||
|
||||
}
|
||||
+7
@@ -119,4 +119,11 @@ public class PlateController {
|
||||
return success(plateService.getPlateModelByPlateId(bodyIds));
|
||||
}
|
||||
|
||||
|
||||
@GetMapping("/selectPlate")
|
||||
@Operation(summary = "查看工序对应的板件信息")
|
||||
public CommonResult<List<BodyPlateDetailVO> > selectPlate(@Valid ProcessPlateReqVO reqVO){
|
||||
return success(plateService.selectPlate(reqVO));
|
||||
}
|
||||
|
||||
}
|
||||
+31
@@ -0,0 +1,31 @@
|
||||
package com.cf.imes.module.executor.controller.admin.plate.vo;
|
||||
|
||||
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import lombok.Data;
|
||||
import lombok.ToString;
|
||||
|
||||
@Schema(description = "管理后台 - 查询板件")
|
||||
@Data
|
||||
@ToString(callSuper = true)
|
||||
public class ProcessPlateReqVO {
|
||||
|
||||
|
||||
@Schema(description = "工序类型",requiredMode = Schema.RequiredMode.REQUIRED)
|
||||
private Long processType;
|
||||
|
||||
|
||||
@Schema(description = "生产单号",requiredMode = Schema.RequiredMode.REQUIRED)
|
||||
private Long orderId;
|
||||
|
||||
|
||||
@Schema(description = "工序明细ID",requiredMode = Schema.RequiredMode.REQUIRED)
|
||||
private Long stepItemId;
|
||||
|
||||
|
||||
@Schema(description = "柜体ID")
|
||||
private Long bodyId;
|
||||
|
||||
|
||||
|
||||
}
|
||||
+1
-1
@@ -36,7 +36,7 @@ public class PlanDO extends BaseDO {
|
||||
/**
|
||||
* 排序优先级
|
||||
*/
|
||||
private Integer sort;
|
||||
private Long sort;
|
||||
/**
|
||||
* 排单类型:1 混单排单,2 生产单排单
|
||||
*/
|
||||
|
||||
+44
@@ -0,0 +1,44 @@
|
||||
package com.cf.imes.module.executor.dal.dataobject.processStepItem;
|
||||
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.TableId;
|
||||
import com.baomidou.mybatisplus.annotation.TableName;
|
||||
import lombok.*;
|
||||
|
||||
@TableName(value = "order_process_step_item", autoResultMap = true) // 由于 SQL Server 的 system_user 是关键字,所以使用 system_users
|
||||
@Data
|
||||
@ToString(callSuper = true)
|
||||
@Builder
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
public class OrderProcessStepItemDO {
|
||||
|
||||
@TableId
|
||||
private Long id;
|
||||
|
||||
// 工序项目名
|
||||
private String name;
|
||||
|
||||
// 生产单工序 id
|
||||
private Long orderProcessId;
|
||||
|
||||
// 工序状态
|
||||
private Boolean status;
|
||||
|
||||
// 工序步骤 id
|
||||
private Long processStepId;
|
||||
|
||||
// 工序组名
|
||||
private String groupName;
|
||||
|
||||
|
||||
// 柜体 ID
|
||||
private Long bodyId;
|
||||
|
||||
|
||||
// 加工组 ID
|
||||
private Long groupId;
|
||||
|
||||
|
||||
|
||||
}
|
||||
+1
-1
@@ -49,7 +49,7 @@ public interface OrderMapper extends BaseMapperX<OrderDO> {
|
||||
}
|
||||
|
||||
|
||||
IPage<OrderRespVOCopy> selectOrderPage(@Param("page") IPage page, @Param(Constants.WRAPPER) Wrapper<OrderDO> wrapper);
|
||||
List<OrderRespVOCopy> selectOrderPage(/*@Param("page") IPage page,*/ @Param(Constants.WRAPPER) Wrapper<OrderDO> wrapper);
|
||||
|
||||
default List<OrderDO> selectOrderCheck(OrderPageReqVO reqVO) {
|
||||
MPJLambdaWrapper<OrderDO> wrapper = new MPJLambdaWrapper<OrderDO>()
|
||||
|
||||
+8
@@ -1,6 +1,7 @@
|
||||
package com.cf.imes.module.executor.dal.mysql.orderItem;
|
||||
|
||||
import com.cf.imes.framework.mybatis.core.mapper.BaseMapperX;
|
||||
import com.cf.imes.framework.mybatis.core.query.LambdaQueryWrapperX;
|
||||
import com.cf.imes.module.executor.dal.dataobject.orderItem.OrderItemDO;
|
||||
import com.cf.imes.module.executor.dal.dataobject.orderModuleExtra.OrderModuleExtraDO;
|
||||
import org.apache.ibatis.annotations.Mapper;
|
||||
@@ -18,4 +19,11 @@ public interface OrderItemMapper extends BaseMapperX<OrderItemDO> {
|
||||
|
||||
List<OrderItemDO> selectExtraById(@Param("orderId")Long orderId, @Param("roomId")Long roomId , @Param("bodyId")Long bodyId);
|
||||
|
||||
|
||||
default List<OrderItemDO> selectByOrderId(Long orderId) {
|
||||
return selectList(new LambdaQueryWrapperX<OrderItemDO>()
|
||||
.eqIfPresent(OrderItemDO::getOrderId,orderId));
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
+5
-1
@@ -10,6 +10,7 @@ import com.cf.imes.framework.common.pojo.PageResult;
|
||||
import com.cf.imes.framework.common.util.object.BeanUtils;
|
||||
import com.cf.imes.framework.mybatis.core.query.LambdaQueryWrapperX;
|
||||
import com.cf.imes.framework.mybatis.core.mapper.BaseMapperX;
|
||||
import com.cf.imes.module.executor.controller.admin.plan.vo.PlanSaveReqVO;
|
||||
import com.cf.imes.module.executor.controller.admin.plan.vo.PlatePage;
|
||||
import com.cf.imes.module.executor.controller.admin.plan.vo.PlateParam;
|
||||
import com.cf.imes.module.executor.controller.admin.plan.vo.PlateResList;
|
||||
@@ -64,7 +65,8 @@ public interface PlateMapper extends BaseMapperX<PlateDO> {
|
||||
.orderByDesc(PlateDO::getId));
|
||||
}
|
||||
|
||||
IPage<PlatePage> selectPlatePage(@Param("page") IPage<PlatePage> page, @Param("orderId")Long organId, @Param("goodsId") String goodsId);
|
||||
// IPage<PlatePage> selectPlatePage(@Param("page") IPage<PlatePage> page, @Param("orderId")Long organId, @Param("goodsId") String goodsId);
|
||||
List<PlatePage> selectPlatePage(/*@Param("page") IPage<PlatePage> page,*/ @Param("orderId")Long organId, @Param("goodsId") String goodsId);
|
||||
|
||||
IPage<PlateResList> selectPlateByPlanId(@Param("page") IPage<PlateResList> page, @Param(Constants.WRAPPER) Wrapper<PlateDO> wrapper);
|
||||
|
||||
@@ -88,4 +90,6 @@ public interface PlateMapper extends BaseMapperX<PlateDO> {
|
||||
}
|
||||
|
||||
IPage<PlateRespVO> selectProductList(@Param("page") IPage<PlateRespVO> page , @Param("orderId")Long orderId, @Param("roomId")Long roomId , @Param("bodyId")Long bodyId);
|
||||
|
||||
Set<Long> selectBatchOrderIdsAndGoodsIds(@Param("itemList") List<PlanSaveReqVO.Item> itemList);
|
||||
}
|
||||
+19
@@ -0,0 +1,19 @@
|
||||
package com.cf.imes.module.executor.dal.mysql.processStepItem;
|
||||
|
||||
|
||||
import com.cf.imes.framework.mybatis.core.mapper.BaseMapperX;
|
||||
import com.cf.imes.framework.mybatis.core.query.LambdaQueryWrapperX;
|
||||
import com.cf.imes.module.executor.dal.dataobject.processStepItem.OrderProcessStepItemDO;
|
||||
import org.apache.ibatis.annotations.Mapper;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
@Mapper
|
||||
public interface ProcessStepItemMapper extends BaseMapperX<OrderProcessStepItemDO> {
|
||||
|
||||
default List<OrderProcessStepItemDO> selectBodyIds(Long stepItemId) {
|
||||
return selectList(new LambdaQueryWrapperX<OrderProcessStepItemDO>()
|
||||
.eqIfPresent(OrderProcessStepItemDO::getId,stepItemId));
|
||||
|
||||
}
|
||||
}
|
||||
+4
-2
@@ -53,9 +53,9 @@ public interface PlanService {
|
||||
*/
|
||||
PageResult<PlanRespVO> getPlanPage(PlanPageReqVO pageReqVO);
|
||||
|
||||
PageResult<OrderRespVOCopy> getOrderPage(OrderPageReqVOCopy pageReqVO);
|
||||
List<OrderRespVOCopy> getOrderPage(OrderPageReqVOCopy pageReqVO);
|
||||
|
||||
PageResult<PlatePage> getNotPlanPlateListPage(PlateReqPageVO pageVO);
|
||||
List<PlatePage> getNotPlanPlateListPage(PlateReqPageVO pageVO);
|
||||
|
||||
Boolean addPlate(AddPlateReq req);
|
||||
|
||||
@@ -66,4 +66,6 @@ public interface PlanService {
|
||||
PageResult<OrderRespVO> getOrderByPlanId(PlanOrderPageReqVO pageReqVO);
|
||||
|
||||
PageResult<PlanGoodsVO> getNotPlanGoodsListPageByOrderId( NotPlanGoodsListPageVO pageVO);
|
||||
|
||||
Boolean setSort(List<SortVO> list);
|
||||
}
|
||||
+51
-13
@@ -2,6 +2,7 @@ package com.cf.imes.module.executor.service.plan;
|
||||
|
||||
import cn.hutool.core.collection.CollectionUtil;
|
||||
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
|
||||
import com.baomidou.mybatisplus.core.incrementer.IdentifierGenerator;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.PageDTO;
|
||||
@@ -84,11 +85,18 @@ public class PlanServiceImpl implements PlanService {
|
||||
@Resource
|
||||
private OrderBodyMapper orderBodyMapper;
|
||||
|
||||
@Resource
|
||||
private IdentifierGenerator identifierGenerator;
|
||||
|
||||
@Override
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public Long createPlan(PlanSaveReqVO createReqVO) {
|
||||
// 插入
|
||||
long sort = System.currentTimeMillis();
|
||||
PlanDO plan = BeanUtils.toBean(createReqVO, PlanDO.class);
|
||||
plan.setIsPay(Boolean.FALSE);
|
||||
plan.setSort(sort);
|
||||
plan.setPlanNo(identifierGenerator.nextId(null).toString());
|
||||
planMapper.insert(plan);
|
||||
Long planId = plan.getId();
|
||||
/* List<Long> orderIds = createReqVO.getOrderIds();
|
||||
@@ -102,7 +110,10 @@ public class PlanServiceImpl implements PlanService {
|
||||
}
|
||||
planOrderMapper.insertBatch(planOrderDOS);
|
||||
}*/
|
||||
List<Long> plateIds = createReqVO.getPlateIds();
|
||||
//List<Long> plateIds = createReqVO.getPlateIds();
|
||||
List<PlanSaveReqVO.Item> itemList = createReqVO.getItemList();
|
||||
Set<Long> plateIds = plateMapper.selectBatchOrderIdsAndGoodsIds(itemList);
|
||||
|
||||
if (CollectionUtil.isNotEmpty(plateIds)) {
|
||||
ArrayList<PlanItemDO> planItemDOS = new ArrayList<>();
|
||||
for (Long plateId : plateIds) {
|
||||
@@ -124,11 +135,11 @@ public class PlanServiceImpl implements PlanService {
|
||||
validatePlanExists(updateReqVO.getId());
|
||||
// 更新
|
||||
PlanDO plan = BeanUtils.toBean(updateReqVO, PlanDO.class);
|
||||
plan.setIsPay(Boolean.FALSE);
|
||||
planMapper.updateById(plan);
|
||||
Long planId = plan.getId();
|
||||
|
||||
/*planOrderMapper.delete(new LambdaQueryWrapperX<PlanOrderDO>().eq(PlanOrderDO::getPlanId, planId));*/
|
||||
planItemMapper.delete(new LambdaQueryWrapperX<PlanItemDO>().eq(PlanItemDO::getPlanId, planId));
|
||||
|
||||
/* List<Long> orderIds = updateReqVO.getOrderIds();
|
||||
if (CollectionUtil.isNotEmpty(orderIds)) {
|
||||
@@ -141,6 +152,7 @@ public class PlanServiceImpl implements PlanService {
|
||||
}
|
||||
planOrderMapper.insertBatch(planOrderDOS);
|
||||
}*/
|
||||
/* planItemMapper.delete(new LambdaQueryWrapperX<PlanItemDO>().eq(PlanItemDO::getPlanId, planId));
|
||||
List<Long> plateIds = updateReqVO.getPlateIds();
|
||||
if (CollectionUtil.isNotEmpty(plateIds)) {
|
||||
ArrayList<PlanItemDO> planItemDOS = new ArrayList<>();
|
||||
@@ -151,7 +163,7 @@ public class PlanServiceImpl implements PlanService {
|
||||
.build());
|
||||
}
|
||||
planItemMapper.insertBatch(planItemDOS);
|
||||
}
|
||||
}*/
|
||||
|
||||
}
|
||||
|
||||
@@ -242,8 +254,8 @@ public class PlanServiceImpl implements PlanService {
|
||||
}
|
||||
|
||||
@Override
|
||||
public PageResult<OrderRespVOCopy> getOrderPage(OrderPageReqVOCopy pageReqVO) {
|
||||
PageDTO<OrderRespVOCopy> page = new PageDTO<>(pageReqVO.getPageNo(), pageReqVO.getPageSize());
|
||||
public List<OrderRespVOCopy> getOrderPage(OrderPageReqVOCopy pageReqVO) {
|
||||
// PageDTO<OrderRespVOCopy> page = new PageDTO<>(pageReqVO.getPageNo(), pageReqVO.getPageSize());
|
||||
|
||||
QueryWrapperX<OrderDO> queryWrapperX = new QueryWrapperX<>();
|
||||
queryWrapperX
|
||||
@@ -273,18 +285,30 @@ public class PlanServiceImpl implements PlanService {
|
||||
|
||||
queryWrapperX.inIfPresent("op.filter_type", filterTypes);
|
||||
|
||||
IPage<OrderRespVOCopy> orderDOPageResult = orderMapper.selectOrderPage(page, queryWrapperX);
|
||||
if (CollectionUtil.isEmpty(orderDOPageResult.getRecords())) {
|
||||
return new PageResult<>();
|
||||
List<OrderRespVOCopy> orderRespVOCopies = orderMapper.selectOrderPage(queryWrapperX);
|
||||
|
||||
for (OrderRespVOCopy orderRespVOCopy : orderRespVOCopies) {
|
||||
|
||||
List<PlatePage> platePages = plateMapper.selectPlatePage(orderRespVOCopy.getOrderId(), orderRespVOCopy.getGoodsId());
|
||||
orderRespVOCopy.setPlatePages(platePages);
|
||||
|
||||
}
|
||||
return new PageResult<>(orderDOPageResult.getRecords(), orderDOPageResult.getTotal());
|
||||
return orderRespVOCopies;
|
||||
|
||||
|
||||
// IPage<OrderRespVOCopy> orderDOPageResult = orderMapper.selectOrderPage(queryWrapperX);
|
||||
|
||||
// if (CollectionUtil.isEmpty(orderDOPageResult.getRecords())) {
|
||||
// return new PageResult<>();
|
||||
// }
|
||||
// return new PageResult<>(orderDOPageResult.getRecords(), orderDOPageResult.getTotal());
|
||||
}
|
||||
|
||||
@Override
|
||||
public PageResult<PlatePage> getNotPlanPlateListPage(PlateReqPageVO pageVO) {
|
||||
PageDTO<PlatePage> page = new PageDTO<>(pageVO.getPageNo(), pageVO.getPageSize());
|
||||
IPage<PlatePage> pageRes = plateMapper.selectPlatePage(page, pageVO.getOrderId(), pageVO.getGoodsId());
|
||||
return new PageResult<PlatePage>(pageRes.getRecords(), pageRes.getTotal());
|
||||
public List<PlatePage> getNotPlanPlateListPage(PlateReqPageVO pageVO) {
|
||||
// PageDTO<PlatePage> page = new PageDTO<>(pageVO.getPageNo(), pageVO.getPageSize());
|
||||
List<PlatePage> pageRes = plateMapper.selectPlatePage(/*page, */pageVO.getOrderId(), pageVO.getGoodsId());
|
||||
return pageRes;
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -399,4 +423,18 @@ public class PlanServiceImpl implements PlanService {
|
||||
);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Boolean setSort(List<SortVO> list) {
|
||||
ArrayList<PlanDO> planDOS = new ArrayList<>();
|
||||
list.forEach(e->{
|
||||
planDOS.add(PlanDO.builder()
|
||||
.id(e.getPlanId())
|
||||
.sort(e.getSort())
|
||||
.build());
|
||||
|
||||
});
|
||||
planMapper.updateBatch(planDOS);
|
||||
return Boolean.TRUE;
|
||||
}
|
||||
|
||||
}
|
||||
+3
@@ -90,4 +90,7 @@ public interface PlateService {
|
||||
void updatePlateByRawGoodsId(List<GoodsSaveReqVO> createReqVOS);
|
||||
|
||||
List<BodyPlateDetailVO> getPlateModelByPlateId(List<Long> bodyIds);
|
||||
|
||||
// 查看工序对应的板件信息
|
||||
List<BodyPlateDetailVO> selectPlate(ProcessPlateReqVO reqVO);
|
||||
}
|
||||
+27
@@ -18,7 +18,9 @@ import com.cf.imes.framework.mybatis.core.query.MPJLambdaWrapperX;
|
||||
import com.cf.imes.module.executor.controller.admin.goods.vo.GoodsSaveReqVO;
|
||||
import com.cf.imes.module.executor.dal.dataobject.orderItem.OrderItemDO;
|
||||
import com.cf.imes.module.executor.dal.dataobject.ordermodel.OrderModelDO;
|
||||
import com.cf.imes.module.executor.dal.dataobject.processStepItem.OrderProcessStepItemDO;
|
||||
import com.cf.imes.module.executor.dal.mysql.orderItem.OrderItemMapper;
|
||||
import com.cf.imes.module.executor.dal.mysql.processStepItem.ProcessStepItemMapper;
|
||||
import com.cf.imes.module.executor.util.RandomUtils;
|
||||
import com.cf.imes.module.system.enums.ErrorCodeConstants;
|
||||
import lombok.SneakyThrows;
|
||||
@@ -65,6 +67,9 @@ public class PlateServiceImpl implements PlateService {
|
||||
@Resource
|
||||
private ElasticsearchClient elasticsearchClient;
|
||||
|
||||
@Resource
|
||||
private ProcessStepItemMapper processStepItemMapper;
|
||||
|
||||
@Override
|
||||
public Long createPlate(PlateSaveReqVO createReqVO) {
|
||||
// 插入
|
||||
@@ -189,6 +194,28 @@ public class PlateServiceImpl implements PlateService {
|
||||
}
|
||||
|
||||
|
||||
|
||||
// 查看工序对应的板件信息
|
||||
@Override
|
||||
public List<BodyPlateDetailVO> selectPlate(ProcessPlateReqVO reqVO) {
|
||||
|
||||
if(reqVO.getProcessType() == 7){
|
||||
// 等于 7(组件加工) ,根据明细ID查询对应的柜体ID,再传入方法查询对应的板材信息
|
||||
List<OrderProcessStepItemDO> orderProcessStepItemNDOS = processStepItemMapper.selectBodyIds(reqVO.getStepItemId());
|
||||
List<Long> bodyIds = orderProcessStepItemNDOS.stream().map(item -> item.getBodyId()).collect(Collectors.toList());
|
||||
return getPlateModelByPlateId(bodyIds);
|
||||
|
||||
}
|
||||
|
||||
// 不等于 7(组件加工) ,直接根据订单号查询所有的柜体id,再传入方法查询对应的板材信息
|
||||
List<OrderItemDO> orderItemDOS = orderItemMapper.selectByOrderId(reqVO.getOrderId());
|
||||
List<Long> bodyIds = orderItemDOS.stream().map(item -> item.getBodyId()).collect(Collectors.toList());
|
||||
|
||||
return getPlateModelByPlateId(bodyIds);
|
||||
|
||||
}
|
||||
|
||||
|
||||
private List<OrderModelDO> buildRespByPlateIds(Collection<Long> plateIds, String index) {
|
||||
List<FieldValue> fieldValues = plateIds.stream().map(FieldValue::of).toList();
|
||||
SearchRequest.Builder builder = new SearchRequest.Builder();
|
||||
|
||||
+41
-14
@@ -2,24 +2,43 @@
|
||||
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
|
||||
<mapper namespace="com.cf.imes.module.executor.dal.mysql.plate.PlateMapper">
|
||||
<select id="selectPlatePage" resultType="com.cf.imes.module.executor.controller.admin.plan.vo.PlatePage">
|
||||
<!-- select a.id as plateId, a.name, a.width, a.height, a.thickness, a.area,-->
|
||||
<!-- b.custom_order_no, b.customer, b.address, b.remark, b.id as orderId,-->
|
||||
<!-- c.goods_name, c.material, c.color, c.goods_id-->
|
||||
<!-- from order_plate a-->
|
||||
<!-- LEFT JOIN order_plan_item p on a.id = p.item_id-->
|
||||
<!-- LEFT JOIN order_item oi on p.item_id = oi.id-->
|
||||
<!-- LEFT JOIN `order` b on oi.order_id = b.id-->
|
||||
<!-- LEFT JOIN order_goods c on a.order_id = c.order_id-->
|
||||
<!-- <where>-->
|
||||
<!-- p.id is null-->
|
||||
<!-- and a.is_cancel = 0-->
|
||||
<!-- <if test="orderId !=null">-->
|
||||
<!-- and a.order_id = #{orderId}-->
|
||||
<!-- </if>-->
|
||||
<!-- <if test="goodsId !=null and goodsId != '' ">-->
|
||||
<!-- and c.goods_id = #{goodsId}-->
|
||||
<!-- </if>-->
|
||||
<!-- </where>-->
|
||||
|
||||
select a.id as plateId, a.name, a.width, a.height, a.thickness, a.area,
|
||||
b.custom_order_no, b.customer, b.address, b.remark, b.id as orderId,
|
||||
c.goods_name, c.material, c.color, c.goods_id
|
||||
from order_plate a
|
||||
LEFT JOIN order_plan_item p on a.id = p.item_id
|
||||
LEFT JOIN order_item oi on p.item_id = oi.id
|
||||
LEFT JOIN `order` b on oi.order_id = b.id
|
||||
LEFT JOIN order_goods c on a.order_id = c.order_id
|
||||
<where>
|
||||
p.id is null
|
||||
and a.is_cancel = 0
|
||||
<if test="orderId !=null">
|
||||
and a.order_id = #{orderId}
|
||||
</if>
|
||||
<if test="goodsId !=null and goodsId != '' ">
|
||||
and c.id = #{goodsId}
|
||||
</if>
|
||||
</where>
|
||||
-- LEFT JOIN order_item oi on a.order_id = oi.order_id
|
||||
LEFT JOIN `order` b on a.order_id = b.id
|
||||
LEFT JOIN order_goods c on a.goods_id = c.goods_id
|
||||
<where>
|
||||
a.is_cancel = 0
|
||||
<if test="orderId !=null">
|
||||
and a.order_id = #{orderId}
|
||||
</if>
|
||||
<if test="goodsId !=null and goodsId != '' ">
|
||||
and c.goods_id = #{goodsId}
|
||||
</if>
|
||||
</where>
|
||||
|
||||
|
||||
</select>
|
||||
<select id="selectPlateByPlanId"
|
||||
resultType="com.cf.imes.module.executor.controller.admin.plan.vo.PlateResList">
|
||||
@@ -55,4 +74,12 @@
|
||||
AND (#{bodyId} IS NULL OR b.body_id = #{bodyId})
|
||||
GROUP BY a.id, c.material, c.color;
|
||||
</select>
|
||||
|
||||
<select id="selectBatchOrderIdsAndGoodsIds" resultType="java.lang.Long">
|
||||
select id from order_plate
|
||||
where ( order_id, goods_id ) in
|
||||
<foreach collection="itemList" item="item" open="(" close=")" separator=",">
|
||||
(#{item.orderId},#{item.goodsId})
|
||||
</foreach>
|
||||
</select>
|
||||
</mapper>
|
||||
@@ -173,15 +173,6 @@
|
||||
</dependency>
|
||||
|
||||
|
||||
<dependency>
|
||||
<groupId>org.springframework.cloud</groupId>
|
||||
<artifactId>spring-cloud-starter-bootstrap</artifactId>
|
||||
<version>3.1.0</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>com.cf.imes</groupId>
|
||||
<artifactId>cf-spring-boot-starter-job</artifactId>
|
||||
</dependency>
|
||||
|
||||
|
||||
</dependencies>
|
||||
|
||||
-66
@@ -1,66 +0,0 @@
|
||||
package com.cf.imes.module.manage.config;
|
||||
|
||||
|
||||
import lombok.Data;
|
||||
import org.springframework.boot.context.properties.ConfigurationProperties;
|
||||
import org.springframework.stereotype.Component;
|
||||
|
||||
import javax.validation.constraints.NotEmpty;
|
||||
import javax.validation.constraints.NotNull;
|
||||
|
||||
@Data
|
||||
@Component
|
||||
@ConfigurationProperties(prefix = "job.parameters")
|
||||
public class XxlJobParameter {
|
||||
|
||||
|
||||
/**
|
||||
* 是否开启,默认为 true 关闭
|
||||
*/
|
||||
private Boolean enabled;
|
||||
|
||||
/**
|
||||
* 访问令牌
|
||||
*/
|
||||
private String accessToken;
|
||||
|
||||
/* *//**
|
||||
* 控制器配置
|
||||
*//*
|
||||
@NotNull(message = "控制器配置不能为空")
|
||||
private AdminProperties admin;
|
||||
|
||||
*//**
|
||||
* 执行器配置
|
||||
*//*
|
||||
@NotNull(message = "执行器配置不能为空")
|
||||
private ExecutorProperties executor;*/
|
||||
|
||||
@NotEmpty(message = "调度器地址不能为空")
|
||||
private String addresses;
|
||||
|
||||
/**
|
||||
* 应用名
|
||||
*/
|
||||
@NotEmpty(message = "应用名不能为空")
|
||||
private String appName;
|
||||
/**
|
||||
* 执行器的 IP
|
||||
*/
|
||||
private String ip;
|
||||
/**
|
||||
* 执行器的 Port
|
||||
*/
|
||||
private Long port;
|
||||
/**
|
||||
* 日志地址
|
||||
*/
|
||||
@NotEmpty(message = "日志地址不能为空")
|
||||
private String logPath;
|
||||
/**
|
||||
* 日志保留天数
|
||||
*/
|
||||
private Long logRetentionDays;
|
||||
|
||||
|
||||
}
|
||||
+1
-1
@@ -14,7 +14,7 @@ import lombok.ToString;
|
||||
public class PackPageReqVO extends PageParam {
|
||||
|
||||
|
||||
@Schema(description = "生产状态(2:生产中,3:生产完成)", requiredMode = Schema.RequiredMode.REQUIRED, example = "2")
|
||||
@Schema(description = "生产状态(2:生产中,4:打包完成,默认生产中)", requiredMode = Schema.RequiredMode.REQUIRED, example = "2")
|
||||
private Long status;
|
||||
|
||||
|
||||
|
||||
+25
-15
@@ -7,6 +7,7 @@ import com.cf.imes.module.manage.controller.admin.process.vo.*;
|
||||
import com.cf.imes.module.manage.controller.admin.query.vo.productionStatus.OrderModuleVO;
|
||||
import com.cf.imes.module.manage.controller.admin.query.vo.productionStatus.OrderPlateRespVO;
|
||||
import com.cf.imes.module.manage.controller.admin.query.vo.productionStatus.PlatePageVO;
|
||||
import com.cf.imes.module.manage.dal.dataobject.process.ProcessDO;
|
||||
import com.cf.imes.module.manage.service.process.ProductionProcessService;
|
||||
import com.cf.imes.module.manage.service.query.ProductionStatusService;
|
||||
import io.swagger.v3.oas.annotations.Operation;
|
||||
@@ -36,13 +37,14 @@ public class ProductionProcessController {
|
||||
private ProductionStatusService productionStatusService;
|
||||
|
||||
|
||||
// @GetMapping("/select")
|
||||
// @Operation(summary = "查看登录用户的工序信息")
|
||||
// @Parameter(name = "id", description = "用户ID", required = true, example = "1")
|
||||
//@PreAuthorize("@ss.hasPermission('manage:process:query')")
|
||||
public CommonResult<List<UserProcessRespVO>> getUserPage(@Valid @RequestParam("id") Long id) {
|
||||
|
||||
return success(productionProcessService.getProcess(id));
|
||||
|
||||
@GetMapping("/select")
|
||||
@Operation(summary = "查看组织的工序信息")
|
||||
//@PreAuthorize("@ss.hasPermission('manage:process:query')")
|
||||
public CommonResult<List<ProcessDO>> getUserPage() {
|
||||
|
||||
return success(productionProcessService.getProcess());
|
||||
|
||||
|
||||
}
|
||||
@@ -73,12 +75,21 @@ public class ProductionProcessController {
|
||||
|
||||
|
||||
|
||||
@GetMapping("/selectBodyName")
|
||||
@Operation(summary = "查询生产单对应的柜体名称")
|
||||
public CommonResult<List<OrderBodyRespVo>> selectBodyName(OrderBodyReqVO reqVO){
|
||||
return success(productionProcessService.selectBodyName(reqVO));
|
||||
|
||||
}
|
||||
|
||||
|
||||
@GetMapping("/selectPlateName")
|
||||
@Operation(summary = "查看板材信息的组合名称")
|
||||
@Parameter(name = "stepItemId", description = "工序明细ID", required = true, example = "1")
|
||||
@PreAuthorize("@ss.hasPermission('manage:process:query')")
|
||||
|
||||
|
||||
|
||||
// @GetMapping("/selectPlateName")
|
||||
// @Operation(summary = "查看板材信息的组合名称")
|
||||
// @Parameter(name = "stepItemId", description = "工序明细ID", required = true, example = "1")
|
||||
// @PreAuthorize("@ss.hasPermission('manage:process:query')")
|
||||
public CommonResult<List<OrderModuleVO>> selectPlateName(@Valid @RequestParam("stepItemId") Long stepItemId){
|
||||
|
||||
|
||||
@@ -88,14 +99,13 @@ public class ProductionProcessController {
|
||||
|
||||
|
||||
|
||||
|
||||
@GetMapping("/pagePlate")
|
||||
@Operation(summary = "查看板材信息分页")
|
||||
@PreAuthorize("@ss.hasPermission('manage:process:query')")
|
||||
//
|
||||
// @GetMapping("/pagePlate")
|
||||
// @Operation(summary = "查看板材信息分页")
|
||||
// @PreAuthorize("@ss.hasPermission('manage:process:query')")
|
||||
public CommonResult<PageResult<OrderPlateRespVO>> queryPlate(@Valid PlatePageVO pageReqVO){
|
||||
return success(productionStatusService.getOrderPlatePage(pageReqVO));
|
||||
}
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
+23
@@ -0,0 +1,23 @@
|
||||
package com.cf.imes.module.manage.controller.admin.process.vo;
|
||||
|
||||
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import lombok.Data;
|
||||
import lombok.ToString;
|
||||
|
||||
|
||||
@Schema(description = "管理后台 - 查询柜体信息")
|
||||
@Data
|
||||
@ToString(callSuper = true)
|
||||
public class OrderBodyReqVO {
|
||||
|
||||
|
||||
@Schema(description = "工序类型",requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
|
||||
private Long processType;
|
||||
|
||||
|
||||
@Schema(description = "生产单号",requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
|
||||
private Long orderId;
|
||||
|
||||
|
||||
}
|
||||
+19
@@ -0,0 +1,19 @@
|
||||
package com.cf.imes.module.manage.controller.admin.process.vo;
|
||||
|
||||
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import lombok.Data;
|
||||
|
||||
@Schema(description = "管理后台 - 查看订单柜体信息 Response VO")
|
||||
@Data
|
||||
public class OrderBodyRespVo {
|
||||
|
||||
|
||||
@Schema(description = "柜体ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
|
||||
private Long id;
|
||||
|
||||
@Schema(description = "柜体名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "9822")
|
||||
private String name;
|
||||
|
||||
|
||||
}
|
||||
+2
@@ -53,6 +53,8 @@ public class ProcessRespVO {
|
||||
@Schema(description = "工序明细ID", requiredMode = Schema.RequiredMode.REQUIRED,example = "123")
|
||||
private Long processStepItemId;
|
||||
|
||||
@Schema(description = "工序类型", requiredMode = Schema.RequiredMode.REQUIRED,example = "123")
|
||||
private Long processType;
|
||||
|
||||
@Schema(description = "加工项名称", requiredMode = Schema.RequiredMode.REQUIRED,example = "ABCD")
|
||||
private String name;
|
||||
|
||||
+5
@@ -3,6 +3,8 @@ package com.cf.imes.module.manage.controller.admin.process.vo;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
@Data
|
||||
public class ProcessStepStatus {
|
||||
|
||||
@@ -15,4 +17,7 @@ public class ProcessStepStatus {
|
||||
// 工序步骤表的类型
|
||||
private Long type;
|
||||
|
||||
// 柜体id
|
||||
private List<Long> bodyId;
|
||||
|
||||
}
|
||||
|
||||
+2
-34
@@ -2,8 +2,6 @@ package com.cf.imes.module.manage.controller.admin.test;
|
||||
|
||||
import com.cf.imes.framework.common.util.json.JsonUtils;
|
||||
import com.cf.imes.framework.common.util.object.BeanUtils;
|
||||
import com.cf.imes.framework.quartz.config.XxlJobProperties;
|
||||
import com.cf.imes.module.manage.config.XxlJobParameter;
|
||||
import com.cf.imes.module.manage.controller.admin.patching.vo.PatchingDetailRespVO;
|
||||
import com.cf.imes.module.manage.controller.admin.patching.vo.PatchingPlateRespVO;
|
||||
import com.cf.imes.module.manage.dal.dataobject.process.OrderProcessStepItemNDO;
|
||||
@@ -120,7 +118,7 @@ public class TestController {
|
||||
}
|
||||
}
|
||||
|
||||
private static XxlJobProperties aabb(){
|
||||
/* private static XxlJobProperties aabb(){
|
||||
|
||||
XxlJobParameter xxlJobParameter = new XxlJobParameter();
|
||||
|
||||
@@ -131,7 +129,7 @@ public class TestController {
|
||||
XxlJobProperties bean = BeanUtils.toBean(xxlJobParameter, XxlJobProperties.class);
|
||||
return bean;
|
||||
|
||||
}
|
||||
}*/
|
||||
|
||||
}
|
||||
|
||||
@@ -191,40 +189,10 @@ public class TestController {
|
||||
@TestOnly
|
||||
public static void main(String[] args) {
|
||||
|
||||
// // 创建文件路径集合并添加文件路径
|
||||
// List<String> filePaths = new ArrayList<>();
|
||||
// filePaths.add("E:/BBBBBBB/1.txt");
|
||||
// filePaths.add("E:/BBBBBBB/2.txt");
|
||||
// filePaths.add("E:/BBBBBBB/4.txt");
|
||||
|
||||
List<Integer> filePaths = new ArrayList<>();
|
||||
filePaths.add(aacc());
|
||||
|
||||
System.out.println(filePaths);
|
||||
|
||||
// // 调用 deleteFiles 方法,传入文件路径集合
|
||||
// deleteFiles(filePaths);
|
||||
// System.out.println(JacobTestController.aabb());
|
||||
|
||||
|
||||
|
||||
|
||||
/* PatchingPlateRespVO patchingPlateRespVO = new PatchingPlateRespVO();
|
||||
|
||||
patchingPlateRespVO.setGroupId(11L);
|
||||
patchingPlateRespVO.setArea(11.2);
|
||||
patchingPlateRespVO.setColor("红色");
|
||||
patchingPlateRespVO.setHeight(11.2);
|
||||
|
||||
String jsonString = JsonUtils.toJsonString(patchingPlateRespVO);
|
||||
System.out.println(jsonString);*/
|
||||
|
||||
//
|
||||
/*byte[] 测试测试s = JacobTestController.convertTextToSpeech("测试测试");*/
|
||||
|
||||
// JacobTestController.convertTextToSpeech("测试测试");
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
-42
@@ -1,42 +0,0 @@
|
||||
package com.cf.imes.module.manage.dal.dataobject.process;
|
||||
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.KeySequence;
|
||||
import com.baomidou.mybatisplus.annotation.TableId;
|
||||
import com.baomidou.mybatisplus.annotation.TableName;
|
||||
import com.cf.imes.framework.mybatis.core.dataobject.BaseDO;
|
||||
import lombok.*;
|
||||
|
||||
@TableName(value = "order_process") // 由于 SQL Server 的 system_user 是关键字,所以使用 system_users
|
||||
@Data
|
||||
@EqualsAndHashCode(callSuper = true)
|
||||
@ToString(callSuper = true)
|
||||
@Builder
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
public class OrderProcessNDO extends BaseDO {
|
||||
|
||||
@TableId
|
||||
private Long id;
|
||||
|
||||
// 生产单号
|
||||
private Long orderId;
|
||||
|
||||
// 工序名
|
||||
private String name;
|
||||
|
||||
// 工序状态
|
||||
private Boolean status;
|
||||
|
||||
// 工序组 id
|
||||
private Long groupId;
|
||||
|
||||
// 板材大小
|
||||
private Float size;
|
||||
|
||||
// 下一工序Id
|
||||
private Long nextStepId;
|
||||
|
||||
|
||||
|
||||
}
|
||||
+8
@@ -36,5 +36,13 @@ public class OrderProcessStepItemNDO {
|
||||
private String groupName;
|
||||
|
||||
|
||||
// 柜体 ID
|
||||
private Long bodyId;
|
||||
|
||||
|
||||
// 加工组 ID
|
||||
private Long groupId;
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
+78
@@ -0,0 +1,78 @@
|
||||
package com.cf.imes.module.manage.dal.dataobject.process;
|
||||
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.KeySequence;
|
||||
import com.baomidou.mybatisplus.annotation.TableId;
|
||||
import com.baomidou.mybatisplus.annotation.TableName;
|
||||
import com.cf.imes.framework.mybatis.core.dataobject.BaseDO;
|
||||
import lombok.*;
|
||||
|
||||
@TableName("imes_base.process")
|
||||
@KeySequence("process_seq") // 用于 Oracle、PostgreSQL、Kingbase、DB2、H2 数据库的主键自增。如果是 MySQL 等数据库,可不写。
|
||||
@Data
|
||||
@EqualsAndHashCode(callSuper = true)
|
||||
@ToString(callSuper = true)
|
||||
@Builder
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
public class ProcessDO extends BaseDO {
|
||||
|
||||
/**
|
||||
* 工序 ID
|
||||
*/
|
||||
@TableId
|
||||
private Long id;
|
||||
/**
|
||||
* 工序名称
|
||||
*/
|
||||
private String name;
|
||||
/**
|
||||
* 计件工资
|
||||
*/
|
||||
private Double pieceRate;
|
||||
/**
|
||||
* 计件类型:1 数量 2 长度 3 平方 4 宽 5 高 6 体积 7 生产单金额百分比
|
||||
*/
|
||||
private Integer pieceType;
|
||||
/**
|
||||
* 工序类型:0 全部加工 1 开料 2 部件加工 3 异形封边 4 分堆 5 打包 6 出库 7 组件加工 8 板材
|
||||
*/
|
||||
private Integer type;
|
||||
/**
|
||||
* 是否推送终端客户:0 否 1 是
|
||||
*/
|
||||
private Boolean isCustom;
|
||||
/**
|
||||
* 是否推送经销商:0 否 1 是
|
||||
*/
|
||||
private Boolean isDealer;
|
||||
/**
|
||||
* 排序优先级
|
||||
*/
|
||||
private Short sort;
|
||||
/**
|
||||
* 小时产量
|
||||
*/
|
||||
private Double hourCapacity;
|
||||
/**
|
||||
* 单位
|
||||
*/
|
||||
private String unit;
|
||||
/**
|
||||
* 是否启用:0 否 1 是
|
||||
*/
|
||||
private Boolean isEnabled;
|
||||
/**
|
||||
* 准备时间
|
||||
*/
|
||||
private Double prepareTime;
|
||||
/**
|
||||
* 描述
|
||||
*/
|
||||
private String description;
|
||||
|
||||
/**
|
||||
* 组织id
|
||||
*/
|
||||
private Long organId;
|
||||
}
|
||||
+8
@@ -3,6 +3,7 @@ package com.cf.imes.module.manage.dal.mysql.pack;
|
||||
|
||||
import com.cf.imes.framework.mybatis.core.mapper.BaseMapperX;
|
||||
import com.cf.imes.framework.mybatis.core.query.LambdaQueryWrapperX;
|
||||
import com.cf.imes.module.manage.controller.admin.process.vo.OrderBodyRespVo;
|
||||
import com.cf.imes.module.manage.dal.dataobject.pack.OrderBodyDO;
|
||||
import org.apache.ibatis.annotations.Mapper;
|
||||
|
||||
@@ -11,6 +12,7 @@ import java.util.List;
|
||||
@Mapper
|
||||
public interface OrderBodyMapper extends BaseMapperX<OrderBodyDO> {
|
||||
|
||||
|
||||
default List<OrderBodyDO> selectGroup(Long orderId) {
|
||||
return selectList(new LambdaQueryWrapperX<OrderBodyDO>()
|
||||
.eqIfPresent(OrderBodyDO::getOrderId, orderId)
|
||||
@@ -19,4 +21,10 @@ public interface OrderBodyMapper extends BaseMapperX<OrderBodyDO> {
|
||||
|
||||
|
||||
|
||||
|
||||
default List<OrderBodyDO> selectListBody(Long orderId) {
|
||||
return selectList(new LambdaQueryWrapperX<OrderBodyDO>()
|
||||
.eqIfPresent(OrderBodyDO::getOrderId, orderId));
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
-26
@@ -1,26 +0,0 @@
|
||||
package com.cf.imes.module.manage.dal.mysql.process;
|
||||
|
||||
|
||||
import com.cf.imes.framework.mybatis.core.mapper.BaseMapperX;
|
||||
import com.cf.imes.framework.mybatis.core.query.LambdaQueryWrapperX;
|
||||
import com.cf.imes.module.manage.dal.dataobject.process.OrderProcessNDO;
|
||||
import org.apache.ibatis.annotations.Mapper;
|
||||
import org.apache.ibatis.annotations.Param;
|
||||
import org.apache.ibatis.annotations.Update;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 生产单工序表 order_process_{N} Mapper
|
||||
*
|
||||
* @author 晨丰科技
|
||||
*/
|
||||
@Mapper
|
||||
public interface OrderProcessMapper extends BaseMapperX<OrderProcessNDO> {
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
}
|
||||
+31
@@ -0,0 +1,31 @@
|
||||
package com.cf.imes.module.manage.dal.mysql.process;
|
||||
|
||||
|
||||
import com.cf.imes.framework.mybatis.core.mapper.BaseMapperX;
|
||||
import com.cf.imes.framework.mybatis.core.query.LambdaQueryWrapperX;
|
||||
import com.cf.imes.module.manage.controller.admin.process.vo.UserProcessRespVO;
|
||||
import com.cf.imes.module.manage.dal.dataobject.process.ProcessDO;
|
||||
import org.apache.ibatis.annotations.Mapper;
|
||||
import org.apache.ibatis.annotations.Param;
|
||||
import org.apache.ibatis.annotations.Update;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 生产单工序表 order_process_{N} Mapper
|
||||
*
|
||||
* @author 晨丰科技
|
||||
*/
|
||||
@Mapper
|
||||
public interface ProcessMapper extends BaseMapperX<ProcessDO> {
|
||||
|
||||
|
||||
default List<ProcessDO> selectProcessList(Long organId) {
|
||||
return selectList(new LambdaQueryWrapperX<ProcessDO>()
|
||||
.orderByDesc(ProcessDO::getId)
|
||||
.eqIfPresent(ProcessDO::getOrganId, organId)
|
||||
.eqIfPresent(ProcessDO::getIsEnabled, true));
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
+7
-1
@@ -5,7 +5,6 @@ import com.cf.imes.framework.mybatis.core.mapper.BaseMapperX;
|
||||
import com.cf.imes.framework.mybatis.core.query.LambdaQueryWrapperX;
|
||||
import com.cf.imes.module.manage.controller.admin.process.vo.*;
|
||||
import com.cf.imes.module.manage.controller.admin.query.vo.productionStatus.OrderModuleVO;
|
||||
import com.cf.imes.module.manage.dal.dataobject.process.OrderProcessNDO;
|
||||
import com.cf.imes.module.manage.dal.dataobject.process.OrderProcessStepItemNDO;
|
||||
import org.apache.ibatis.annotations.Mapper;
|
||||
import org.apache.ibatis.annotations.Param;
|
||||
@@ -42,4 +41,11 @@ public interface ProcessStepItemMapper extends BaseMapperX<OrderProcessStepItemN
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
default List<OrderProcessStepItemNDO> selectBodyIds(Long stepItemId) {
|
||||
return selectList(new LambdaQueryWrapperX<OrderProcessStepItemNDO>()
|
||||
.eqIfPresent(OrderProcessStepItemNDO::getId,stepItemId));
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
+11
@@ -3,6 +3,7 @@ package com.cf.imes.module.manage.dal.mysql.query;
|
||||
|
||||
|
||||
import com.cf.imes.framework.mybatis.core.mapper.BaseMapperX;
|
||||
import com.cf.imes.framework.mybatis.core.query.LambdaQueryWrapperX;
|
||||
import com.cf.imes.module.manage.controller.admin.grouping.vo.OrderPlateListRespVO;
|
||||
import com.cf.imes.module.manage.controller.admin.pack.vo.DeleteOtherPartsReqVO;
|
||||
import com.cf.imes.module.manage.controller.admin.pack.vo.PackReqVO;
|
||||
@@ -11,6 +12,7 @@ import com.cf.imes.module.manage.controller.admin.query.vo.pack.PackageDetailsRe
|
||||
import com.cf.imes.module.manage.controller.admin.query.vo.productionStatus.OrderModuleVO;
|
||||
import com.cf.imes.module.manage.controller.admin.query.vo.productionStatus.OrderPlateRespVO;
|
||||
import com.cf.imes.module.manage.controller.admin.query.vo.productionStatus.PlatePageVO;
|
||||
import com.cf.imes.module.manage.dal.dataobject.process.OrderProcessStepItemNDO;
|
||||
import com.cf.imes.module.manage.dal.dataobject.query.OrderItemDO;
|
||||
import org.apache.ibatis.annotations.Mapper;
|
||||
import org.apache.ibatis.annotations.Param;
|
||||
@@ -76,4 +78,13 @@ public interface OrderItemMapper extends BaseMapperX<OrderItemDO> {
|
||||
|
||||
|
||||
String selectBodyName(@Param("plateId") Long plateId);
|
||||
|
||||
|
||||
|
||||
default List<OrderItemDO> selectByOrderId(Long orderId) {
|
||||
return selectList(new LambdaQueryWrapperX<OrderItemDO>()
|
||||
.eqIfPresent(OrderItemDO::getOrderId,orderId));
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
+6
-4
@@ -4,14 +4,16 @@ package com.cf.imes.module.manage.service.process;
|
||||
import com.cf.imes.framework.common.pojo.PageResult;
|
||||
import com.cf.imes.module.manage.controller.admin.process.vo.*;
|
||||
import com.cf.imes.module.manage.controller.admin.query.vo.productionStatus.OrderModuleVO;
|
||||
import com.cf.imes.module.manage.dal.dataobject.process.ProcessDO;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
public interface ProductionProcessService {
|
||||
|
||||
|
||||
// 查看登录用户的工序信息
|
||||
List<UserProcessRespVO> getProcess(Long id);
|
||||
// 查看组织的工序信息
|
||||
List<ProcessDO> getProcess();
|
||||
|
||||
|
||||
// 生产工序单分页查询
|
||||
PageResult<ProcessRespVO> getProcessPage(ProcessPageReqVO pageReqVO);
|
||||
@@ -23,10 +25,10 @@ public interface ProductionProcessService {
|
||||
|
||||
|
||||
|
||||
|
||||
// 查看板材信息的组合名称
|
||||
List<OrderModuleVO> selectPlateName(Long stepItemId);
|
||||
|
||||
|
||||
|
||||
// 查询生产单对应的柜体名称
|
||||
List<OrderBodyRespVo> selectBodyName(OrderBodyReqVO reqVO);
|
||||
}
|
||||
|
||||
+45
-4
@@ -1,31 +1,46 @@
|
||||
package com.cf.imes.module.manage.service.process;
|
||||
|
||||
|
||||
import cn.hutool.core.bean.BeanUtil;
|
||||
import com.cf.imes.framework.common.enums.ProcessingStatusEnum;
|
||||
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;
|
||||
import com.cf.imes.framework.common.util.object.BeanUtils;
|
||||
import com.cf.imes.framework.organ.core.context.OrganContextHolder;
|
||||
import com.cf.imes.module.manage.config.VocieParameters;
|
||||
import com.cf.imes.module.manage.controller.admin.process.vo.*;
|
||||
import com.cf.imes.module.manage.controller.admin.query.vo.productionStatus.OrderModuleVO;
|
||||
import com.cf.imes.module.manage.dal.dataobject.pack.OrderBodyDO;
|
||||
import com.cf.imes.module.manage.dal.dataobject.process.OrderProcessStepItemNDO;
|
||||
import com.cf.imes.module.manage.dal.dataobject.process.OrderProcessStepNDO;
|
||||
import com.cf.imes.module.manage.dal.dataobject.process.ProcessDO;
|
||||
import com.cf.imes.module.manage.dal.dataobject.query.OrderItemDO;
|
||||
import com.cf.imes.module.manage.dal.mysql.pack.OrderBodyMapper;
|
||||
import com.cf.imes.module.manage.dal.mysql.process.ProcessMapper;
|
||||
import com.cf.imes.module.manage.dal.mysql.process.ProcessStepItemMapper;
|
||||
import com.cf.imes.module.manage.dal.mysql.process.ProcessStepMapper;
|
||||
import com.cf.imes.module.manage.dal.mysql.process.ProductionProcessMapper;
|
||||
import com.cf.imes.module.manage.dal.mysql.query.OrderItemMapper;
|
||||
import com.cf.imes.module.manage.util.page.PageHelperUtil;
|
||||
import com.cf.imes.module.system.enums.ErrorCodeConstants;
|
||||
import com.github.pagehelper.PageHelper;
|
||||
import com.github.pagehelper.PageInfo;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.beans.factory.annotation.Qualifier;
|
||||
import org.springframework.security.core.parameters.P;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.validation.annotation.Validated;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import java.io.IOException;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Collection;
|
||||
import java.util.List;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
import static com.baomidou.mybatisplus.core.toolkit.Wrappers.update;
|
||||
import static com.cf.imes.framework.common.exception.enums.GlobalErrorCodeConstants.INTERNAL_SERVER_ERROR;
|
||||
|
||||
|
||||
/**
|
||||
@@ -50,14 +65,23 @@ public class ProductionProcessServiceImpl implements ProductionProcessService {
|
||||
private ProcessMapper processMapper;
|
||||
|
||||
|
||||
@Resource
|
||||
private OrderBodyMapper orderBodyMapper;
|
||||
|
||||
// 查看登录用户的工序信息
|
||||
|
||||
@Resource
|
||||
private OrderItemMapper orderItemMapper;
|
||||
|
||||
|
||||
|
||||
// 查看组织的工序信息
|
||||
@Override
|
||||
public List<UserProcessRespVO> getProcess(Long id) {
|
||||
public List<ProcessDO> getProcess() {
|
||||
|
||||
processMapper.selectProcessByID(id);
|
||||
// 获取组织id
|
||||
Long organId = OrganContextHolder.getOrganId();
|
||||
return processMapper.selectProcessList(organId);
|
||||
|
||||
return null;
|
||||
}
|
||||
|
||||
|
||||
@@ -159,6 +183,23 @@ public class ProductionProcessServiceImpl implements ProductionProcessService {
|
||||
|
||||
|
||||
|
||||
// 查询生产单对应的柜体名称
|
||||
@Override
|
||||
public List<OrderBodyRespVo> selectBodyName(OrderBodyReqVO reqVO) {
|
||||
|
||||
if(reqVO.getProcessType() == 7){
|
||||
// 等于 7(组件加工) ,则不返回柜体信息
|
||||
return null;
|
||||
}
|
||||
|
||||
List<OrderBodyDO> orderBodyDOS = orderBodyMapper.selectListBody(reqVO.getOrderId());
|
||||
|
||||
|
||||
return BeanUtils.toBean(orderBodyDOS, OrderBodyRespVo.class);
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
-5
@@ -5,7 +5,6 @@ import com.cf.imes.framework.common.pojo.PageResult;
|
||||
|
||||
import com.cf.imes.module.manage.controller.admin.pack.vo.OrderPartsReqVO;
|
||||
import com.cf.imes.module.manage.controller.admin.pack.vo.PlateDetailsRespVO;
|
||||
import com.cf.imes.module.manage.controller.admin.query.vo.pack.OrderPackagePageReqVO;
|
||||
import com.cf.imes.module.manage.controller.admin.query.vo.pack.OrderPackageVO;
|
||||
import com.cf.imes.module.manage.controller.admin.query.vo.pack.PackageDetailsRespVO;
|
||||
import com.cf.imes.module.manage.controller.admin.query.vo.pack.PrintOrderRespVO;
|
||||
@@ -60,8 +59,4 @@ public interface ProductionStatusService {
|
||||
|
||||
// 导出缺板
|
||||
PageResult<PlateDetailsRespVO> getMissingBoard(OrderPartsReqVO pageReqVO);
|
||||
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
-5
@@ -27,8 +27,6 @@ import javax.annotation.Resource;
|
||||
import java.util.List;
|
||||
|
||||
|
||||
import static com.sun.xml.bind.WhiteSpaceProcessor.replace;
|
||||
|
||||
@Service
|
||||
@Validated
|
||||
public class ProductionStatusServiceImpl implements ProductionStatusService {
|
||||
@@ -211,7 +209,4 @@ public class ProductionStatusServiceImpl implements ProductionStatusService {
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
-2
@@ -1,9 +1,7 @@
|
||||
package com.cf.imes.module.manage.service.voice;
|
||||
|
||||
|
||||
import com.cf.imes.framework.quartz.config.XxlJobProperties;
|
||||
import com.cf.imes.module.manage.config.VocieParameters;
|
||||
import com.cf.imes.module.manage.config.XxlJobParameter;
|
||||
import com.jacob.activeX.ActiveXComponent;
|
||||
import com.jacob.com.ComThread;
|
||||
import com.jacob.com.Dispatch;
|
||||
|
||||
-43
@@ -1,43 +0,0 @@
|
||||
package com.cf.imes.module.manage.util.xxjJob;
|
||||
|
||||
|
||||
import com.cf.imes.framework.quartz.config.XxlJobProperties;
|
||||
import com.cf.imes.module.manage.config.XxlJobParameter;
|
||||
import com.xxl.job.core.handler.IJobHandler;
|
||||
import com.xxl.job.core.handler.annotation.XxlJob;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
|
||||
public class XxlJobUtil extends IJobHandler {
|
||||
|
||||
@Resource
|
||||
private XxlJobParameter xxlJobParameter;
|
||||
|
||||
|
||||
// 定时删除
|
||||
public void deleteFile(){
|
||||
|
||||
XxlJobProperties xxlJobProperties = new XxlJobProperties();
|
||||
|
||||
xxlJobProperties.setEnabled(xxlJobParameter.getEnabled());
|
||||
xxlJobProperties.setAccessToken(xxlJobParameter.getAccessToken());
|
||||
xxlJobProperties.getAdmin().setAddresses(xxlJobParameter.getAddresses());
|
||||
xxlJobProperties.getExecutor().setAppName(xxlJobParameter.getAppName());
|
||||
xxlJobProperties.getExecutor().setPort(xxlJobParameter.getPort().intValue());
|
||||
xxlJobProperties.getExecutor().setIp(xxlJobParameter.getIp());
|
||||
xxlJobProperties.getExecutor().setLogPath(xxlJobParameter.getLogPath());
|
||||
xxlJobProperties.getExecutor().setLogRetentionDays(xxlJobParameter.getLogRetentionDays().intValue());
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
@XxlJob("demoJobHandler")
|
||||
public void execute() throws Exception {
|
||||
deleteFile();
|
||||
|
||||
System.out.println("定时任务测试");
|
||||
|
||||
}
|
||||
}
|
||||
+4
-2
@@ -26,6 +26,7 @@
|
||||
<result property="manager" column="manager"/>
|
||||
<result property="processStepId" column="processStepId"/>
|
||||
<result property="processID" column="processID"/>
|
||||
<result property="processType" column="processType"/>
|
||||
|
||||
</resultMap>
|
||||
|
||||
@@ -43,13 +44,14 @@
|
||||
ops.Name as processName,
|
||||
ops.manager as manager,
|
||||
ops.id as processStepId,
|
||||
ops.processinfo_id as processID
|
||||
ops.processinfo_id as processID,
|
||||
ops.type as processType
|
||||
from order_process_step ops
|
||||
join `order` o on ops.order_id = o.id
|
||||
join order_process_step_item opsi on ops.id = opsi.process_step_id
|
||||
|
||||
<where>
|
||||
<if test="id != null">
|
||||
<if test="processID != null">
|
||||
and ops.processinfo_id = #{processID}
|
||||
</if>
|
||||
<if test="status != null">
|
||||
|
||||
Reference in New Issue
Block a user