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:
+1
-1
@@ -8,7 +8,7 @@ import lombok.Getter;
|
|||||||
@Getter
|
@Getter
|
||||||
public enum ProcessProcessingTypeEnum {
|
public enum ProcessProcessingTypeEnum {
|
||||||
|
|
||||||
|
CUTTINGMATERIALS(1,"开料"),
|
||||||
COMPONENTPROCESSING(7,"组件加工"),
|
COMPONENTPROCESSING(7,"组件加工"),
|
||||||
PLATE(8,"板材加工");
|
PLATE(8,"板材加工");
|
||||||
|
|
||||||
|
|||||||
+1
-3
@@ -1,6 +1,4 @@
|
|||||||
package com.cf.imes.module.manage.util.search;
|
package com.cf.imes.framework.common.util.string;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
+25
@@ -0,0 +1,25 @@
|
|||||||
|
package com.cf.imes.module.executor.api.plan;
|
||||||
|
|
||||||
|
|
||||||
|
import com.cf.imes.framework.common.pojo.CommonResult;
|
||||||
|
import com.cf.imes.module.executor.enums.ApiConstants;
|
||||||
|
import io.swagger.v3.oas.annotations.Operation;
|
||||||
|
import io.swagger.v3.oas.annotations.Parameter;
|
||||||
|
import io.swagger.v3.oas.annotations.tags.Tag;
|
||||||
|
import org.springframework.cloud.openfeign.FeignClient;
|
||||||
|
import org.springframework.web.bind.annotation.GetMapping;
|
||||||
|
import org.springframework.web.bind.annotation.RequestParam;
|
||||||
|
|
||||||
|
@FeignClient(name = ApiConstants.NAME) // TODO 晨丰:fallbackFactory =
|
||||||
|
@Tag(name = "RPC 服务 - 多组织")
|
||||||
|
public interface OrderPlanApi {
|
||||||
|
|
||||||
|
String PREFIX = ApiConstants.PREFIX + "/plan";
|
||||||
|
|
||||||
|
|
||||||
|
@GetMapping(PREFIX +"/apiGetOrderPlan")
|
||||||
|
@Operation(summary = "查询当前机台对应的排单是否有使用")
|
||||||
|
@Parameter(name = "machineId", description = "机台ID", required = true, example = "1024")
|
||||||
|
CommonResult<Boolean> getOrderPlan(@RequestParam("machineId") Long id);
|
||||||
|
|
||||||
|
}
|
||||||
+39
@@ -0,0 +1,39 @@
|
|||||||
|
package com.cf.imes.module.executor.api.plan;
|
||||||
|
|
||||||
|
|
||||||
|
import com.cf.imes.framework.common.pojo.CommonResult;
|
||||||
|
import com.cf.imes.module.executor.dal.dataobject.plan.PlanDO;
|
||||||
|
import com.cf.imes.module.executor.dal.mysql.plan.PlanMapper;
|
||||||
|
import org.springframework.validation.annotation.Validated;
|
||||||
|
import org.springframework.web.bind.annotation.RestController;
|
||||||
|
|
||||||
|
import javax.annotation.Resource;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
import static com.cf.imes.framework.security.core.util.SecurityFrameworkUtils.getUserOrganId;
|
||||||
|
|
||||||
|
@RestController // 提供 RESTful API 接口,给 Feign 调用
|
||||||
|
@Validated
|
||||||
|
public class OrderPlanApiImpl implements OrderPlanApi{
|
||||||
|
|
||||||
|
|
||||||
|
@Resource
|
||||||
|
private PlanMapper planMapper;
|
||||||
|
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public CommonResult<Boolean> getOrderPlan(Long machineId) {
|
||||||
|
|
||||||
|
List<PlanDO> planDOS = planMapper.selectByMachineId(machineId, getUserOrganId());
|
||||||
|
|
||||||
|
if(!planDOS.isEmpty()){
|
||||||
|
|
||||||
|
return CommonResult.success(true);
|
||||||
|
}
|
||||||
|
|
||||||
|
return CommonResult.success(false);
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
+20
@@ -0,0 +1,20 @@
|
|||||||
|
package com.cf.imes.module.executor.controller.admin.plan.bo;
|
||||||
|
|
||||||
|
|
||||||
|
import lombok.Builder;
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
import java.math.BigDecimal;
|
||||||
|
|
||||||
|
@Data
|
||||||
|
@Builder
|
||||||
|
public class ProcessStepAreaIds {
|
||||||
|
|
||||||
|
|
||||||
|
// 生产单工序步骤ID
|
||||||
|
private Long processStepId;
|
||||||
|
|
||||||
|
// 生产单工序步骤对应的板件面积
|
||||||
|
private BigDecimal area;
|
||||||
|
|
||||||
|
}
|
||||||
+20
@@ -0,0 +1,20 @@
|
|||||||
|
package com.cf.imes.module.executor.controller.admin.plan.bo;
|
||||||
|
|
||||||
|
|
||||||
|
import lombok.Builder;
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
import java.math.BigDecimal;
|
||||||
|
|
||||||
|
@Data
|
||||||
|
@Builder
|
||||||
|
public class ProcessStepSalaryIds {
|
||||||
|
|
||||||
|
|
||||||
|
// 生产单工序步骤ID
|
||||||
|
private Long processStepId;
|
||||||
|
|
||||||
|
// 生产单工序步骤工资金额
|
||||||
|
private BigDecimal salary;
|
||||||
|
|
||||||
|
}
|
||||||
+8
@@ -77,6 +77,14 @@ public interface PlanMapper extends BaseMapperX<PlanDO> {
|
|||||||
PlanDO selectPlanByOrderIds(@Param("ids") List<Long> ids);
|
PlanDO selectPlanByOrderIds(@Param("ids") List<Long> ids);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
default List<PlanDO> selectByMachineId(Long machineId,Long organId) {
|
||||||
|
return selectList( new LambdaQueryWrapperX<PlanDO>()
|
||||||
|
.eq(PlanDO::getDeleted,false)
|
||||||
|
.eq(PlanDO::getOrganId,organId)
|
||||||
|
.eq(PlanDO::getMachineId,machineId));
|
||||||
|
}
|
||||||
|
|
||||||
//
|
//
|
||||||
// default PlanDO selectByOrderId(Long orderId) {
|
// default PlanDO selectByOrderId(Long orderId) {
|
||||||
// return selectOne(new MPJLambdaWrapperX<PlanDO>()
|
// return selectOne(new MPJLambdaWrapperX<PlanDO>()
|
||||||
|
|||||||
+19
-1
@@ -1,15 +1,18 @@
|
|||||||
package com.cf.imes.module.executor.dal.mysql.processStep;
|
package com.cf.imes.module.executor.dal.mysql.processStep;
|
||||||
|
|
||||||
|
import java.math.BigDecimal;
|
||||||
import java.util.*;
|
import java.util.*;
|
||||||
|
|
||||||
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
|
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
|
||||||
import com.cf.imes.framework.common.pojo.PageResult;
|
import com.cf.imes.framework.common.pojo.PageResult;
|
||||||
import com.cf.imes.framework.mybatis.core.query.LambdaQueryWrapperX;
|
import com.cf.imes.framework.mybatis.core.query.LambdaQueryWrapperX;
|
||||||
import com.cf.imes.framework.mybatis.core.mapper.BaseMapperX;
|
import com.cf.imes.framework.mybatis.core.mapper.BaseMapperX;
|
||||||
import com.cf.imes.module.executor.dal.dataobject.process.OrderProcessDO;
|
import com.cf.imes.module.executor.controller.admin.plan.bo.ProcessStepAreaIds;
|
||||||
|
import com.cf.imes.module.executor.controller.admin.plan.bo.ProcessStepSalaryIds;
|
||||||
import com.cf.imes.module.executor.dal.dataobject.processStep.ProcessStepDO;
|
import com.cf.imes.module.executor.dal.dataobject.processStep.ProcessStepDO;
|
||||||
import org.apache.ibatis.annotations.Mapper;
|
import org.apache.ibatis.annotations.Mapper;
|
||||||
import com.cf.imes.module.executor.controller.admin.processStep.vo.*;
|
import com.cf.imes.module.executor.controller.admin.processStep.vo.*;
|
||||||
|
import org.apache.ibatis.annotations.Param;
|
||||||
|
|
||||||
import static com.cf.imes.framework.security.core.util.SecurityFrameworkUtils.getUserOrganId;
|
import static com.cf.imes.framework.security.core.util.SecurityFrameworkUtils.getUserOrganId;
|
||||||
|
|
||||||
@@ -53,4 +56,19 @@ public interface ProcessStepMapper extends BaseMapperX<ProcessStepDO> {
|
|||||||
wrapper.eq(ProcessStepDO::getDeleted, 1);
|
wrapper.eq(ProcessStepDO::getDeleted, 1);
|
||||||
return update(wrapper);
|
return update(wrapper);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
default List<ProcessStepDO> selectOrderList(List<Long> orderIds,Long organId) {
|
||||||
|
return selectList(new LambdaQueryWrapperX<ProcessStepDO>()
|
||||||
|
.eq(ProcessStepDO::getOrganId, organId)
|
||||||
|
.inIfPresent(ProcessStepDO::getOrderId, orderIds));
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
List<ProcessStepSalaryIds> calculateSalary(@Param("processStepAreaIds") List<ProcessStepAreaIds> processStepAreaIds, @Param("organId") Long organId);
|
||||||
|
|
||||||
|
|
||||||
|
void updateStatus(@Param("processStepSalaryIds") List<ProcessStepSalaryIds> processStepSalaryIds,@Param("nickname") String nickname);
|
||||||
}
|
}
|
||||||
+6
-3
@@ -2,9 +2,7 @@ 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.mapper.BaseMapperX;
|
||||||
import com.cf.imes.framework.mybatis.core.query.LambdaQueryWrapperX;
|
import com.cf.imes.module.executor.controller.admin.plan.bo.ProcessStepAreaIds;
|
||||||
import com.cf.imes.module.executor.controller.admin.plate.vo.BodyPlateDetailVO;
|
|
||||||
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.dataobject.processStepItem.OrderProcessStepItemDO;
|
||||||
import org.apache.ibatis.annotations.Mapper;
|
import org.apache.ibatis.annotations.Mapper;
|
||||||
import org.apache.ibatis.annotations.Param;
|
import org.apache.ibatis.annotations.Param;
|
||||||
@@ -15,4 +13,9 @@ import java.util.List;
|
|||||||
public interface ProcessStepItemMapper extends BaseMapperX<OrderProcessStepItemDO> {
|
public interface ProcessStepItemMapper extends BaseMapperX<OrderProcessStepItemDO> {
|
||||||
|
|
||||||
|
|
||||||
|
List<ProcessStepAreaIds> selectAreaByProcessStepId(@Param("processStepId") List<Long> processStepId, @Param("organId") Long organId);
|
||||||
|
|
||||||
|
|
||||||
|
void updateStatus(@Param("processStepIds") List<Long> processStepIds);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
+2
-1
@@ -4,6 +4,7 @@ import com.cf.imes.module.infra.api.file.FileApi;
|
|||||||
import com.cf.imes.module.system.api.application.ApplicationApi;
|
import com.cf.imes.module.system.api.application.ApplicationApi;
|
||||||
import com.cf.imes.module.system.api.dataSource.DataSourceApi;
|
import com.cf.imes.module.system.api.dataSource.DataSourceApi;
|
||||||
import com.cf.imes.module.system.api.machine.MachineApi;
|
import com.cf.imes.module.system.api.machine.MachineApi;
|
||||||
|
import com.cf.imes.module.system.api.process.ProcessApi;
|
||||||
import com.cf.imes.module.system.api.process.ProcessGroupApi;
|
import com.cf.imes.module.system.api.process.ProcessGroupApi;
|
||||||
import com.cf.imes.module.system.api.user.AdminUserApi;
|
import com.cf.imes.module.system.api.user.AdminUserApi;
|
||||||
import com.cf.imes.module.system.api.dict.DictDataApi;
|
import com.cf.imes.module.system.api.dict.DictDataApi;
|
||||||
@@ -15,6 +16,6 @@ import org.springframework.context.annotation.Configuration;
|
|||||||
*/
|
*/
|
||||||
@Configuration(proxyBeanMethods = false)
|
@Configuration(proxyBeanMethods = false)
|
||||||
@EnableFeignClients(clients = {AdminUserApi.class, MachineApi.class, DictDataApi.class,
|
@EnableFeignClients(clients = {AdminUserApi.class, MachineApi.class, DictDataApi.class,
|
||||||
FileApi.class, ProcessGroupApi.class, FileApi.class, DataSourceApi.class, ApplicationApi.class})
|
FileApi.class, ProcessGroupApi.class, FileApi.class, DataSourceApi.class, ApplicationApi.class, ProcessApi.class})
|
||||||
public class RpcConfiguration {
|
public class RpcConfiguration {
|
||||||
}
|
}
|
||||||
|
|||||||
+73
-6
@@ -9,8 +9,7 @@ import co.elastic.clients.elasticsearch.ElasticsearchClient;
|
|||||||
import co.elastic.clients.elasticsearch._types.FieldValue;
|
import co.elastic.clients.elasticsearch._types.FieldValue;
|
||||||
import co.elastic.clients.elasticsearch.core.*;
|
import co.elastic.clients.elasticsearch.core.*;
|
||||||
import co.elastic.clients.elasticsearch.core.search.Hit;
|
import co.elastic.clients.elasticsearch.core.search.Hit;
|
||||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
import com.alibaba.fastjson.JSON;
|
||||||
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
|
||||||
import com.cf.imes.framework.common.enums.PlanStatusEnum;
|
import com.cf.imes.framework.common.enums.PlanStatusEnum;
|
||||||
import com.cf.imes.framework.common.enums.RemainTypeEnum;
|
import com.cf.imes.framework.common.enums.RemainTypeEnum;
|
||||||
import com.cf.imes.framework.common.exception.ServiceException;
|
import com.cf.imes.framework.common.exception.ServiceException;
|
||||||
@@ -19,10 +18,10 @@ import com.cf.imes.framework.common.util.object.BeanUtils;
|
|||||||
import com.cf.imes.framework.es.core.service.ESDocumentService;
|
import com.cf.imes.framework.es.core.service.ESDocumentService;
|
||||||
import com.cf.imes.framework.mybatis.core.query.LambdaQueryWrapperX;
|
import com.cf.imes.framework.mybatis.core.query.LambdaQueryWrapperX;
|
||||||
import com.cf.imes.framework.mybatis.core.query.MPJLambdaWrapperX;
|
import com.cf.imes.framework.mybatis.core.query.MPJLambdaWrapperX;
|
||||||
import com.cf.imes.framework.mybatis.core.query.QueryWrapperX;
|
import com.cf.imes.framework.security.core.LoginUser;
|
||||||
import com.cf.imes.framework.organ.core.context.OrganContextHolder;
|
|
||||||
import com.cf.imes.framework.security.core.util.SecurityFrameworkUtils;
|
|
||||||
import com.cf.imes.module.executor.controller.admin.plan.bo.OrderSource;
|
import com.cf.imes.module.executor.controller.admin.plan.bo.OrderSource;
|
||||||
|
import com.cf.imes.module.executor.controller.admin.plan.bo.ProcessStepAreaIds;
|
||||||
|
import com.cf.imes.module.executor.controller.admin.plan.bo.ProcessStepSalaryIds;
|
||||||
import com.cf.imes.module.executor.controller.admin.plan.dto.Material;
|
import com.cf.imes.module.executor.controller.admin.plan.dto.Material;
|
||||||
import com.cf.imes.module.executor.controller.admin.plan.saveOptimize.OptimizeRemainPlate;
|
import com.cf.imes.module.executor.controller.admin.plan.saveOptimize.OptimizeRemainPlate;
|
||||||
import com.cf.imes.module.executor.controller.admin.plan.saveOptimize.PrintOrderPackReqVO;
|
import com.cf.imes.module.executor.controller.admin.plan.saveOptimize.PrintOrderPackReqVO;
|
||||||
@@ -38,6 +37,7 @@ import com.cf.imes.module.executor.dal.dataobject.ordermodel.OrderModelDO;
|
|||||||
import com.cf.imes.module.executor.dal.dataobject.plan.PlanDO;
|
import com.cf.imes.module.executor.dal.dataobject.plan.PlanDO;
|
||||||
import com.cf.imes.module.executor.dal.dataobject.planitem.PlanItemDO;
|
import com.cf.imes.module.executor.dal.dataobject.planitem.PlanItemDO;
|
||||||
import com.cf.imes.module.executor.dal.dataobject.plate.PlateDO;
|
import com.cf.imes.module.executor.dal.dataobject.plate.PlateDO;
|
||||||
|
import com.cf.imes.module.executor.dal.dataobject.processStep.ProcessStepDO;
|
||||||
import com.cf.imes.module.executor.dal.dataobject.remainplaten.OutlineDTO;
|
import com.cf.imes.module.executor.dal.dataobject.remainplaten.OutlineDTO;
|
||||||
import com.cf.imes.module.executor.dal.dataobject.remainplaten.PointDTO;
|
import com.cf.imes.module.executor.dal.dataobject.remainplaten.PointDTO;
|
||||||
import com.cf.imes.module.executor.dal.dataobject.remainplaten.RemainPlateDO;
|
import com.cf.imes.module.executor.dal.dataobject.remainplaten.RemainPlateDO;
|
||||||
@@ -47,6 +47,8 @@ import com.cf.imes.module.executor.dal.mysql.orderItem.OrderItemMapper;
|
|||||||
import com.cf.imes.module.executor.dal.mysql.orderParts.OrderPartsMapper;
|
import com.cf.imes.module.executor.dal.mysql.orderParts.OrderPartsMapper;
|
||||||
import com.cf.imes.module.executor.dal.mysql.plan.PlanMapper;
|
import com.cf.imes.module.executor.dal.mysql.plan.PlanMapper;
|
||||||
import com.cf.imes.module.executor.dal.mysql.plate.PlateMapper;
|
import com.cf.imes.module.executor.dal.mysql.plate.PlateMapper;
|
||||||
|
import com.cf.imes.module.executor.dal.mysql.processStep.ProcessStepMapper;
|
||||||
|
import com.cf.imes.module.executor.dal.mysql.processStepItem.ProcessStepItemMapper;
|
||||||
import com.cf.imes.module.executor.dal.mysql.remainplaten.RemainPlateMapper;
|
import com.cf.imes.module.executor.dal.mysql.remainplaten.RemainPlateMapper;
|
||||||
import com.cf.imes.module.executor.enums.ErrorCodeConstants;
|
import com.cf.imes.module.executor.enums.ErrorCodeConstants;
|
||||||
import com.cf.imes.module.executor.util.RandomUtils;
|
import com.cf.imes.module.executor.util.RandomUtils;
|
||||||
@@ -55,6 +57,8 @@ import com.cf.imes.module.infra.api.file.FileApi;
|
|||||||
import com.cf.imes.module.infra.api.file.dto.FileCreateReqDTO;
|
import com.cf.imes.module.infra.api.file.dto.FileCreateReqDTO;
|
||||||
import com.cf.imes.module.system.api.dataSource.DataSourceApi;
|
import com.cf.imes.module.system.api.dataSource.DataSourceApi;
|
||||||
import com.cf.imes.module.system.api.machine.MachineApi;
|
import com.cf.imes.module.system.api.machine.MachineApi;
|
||||||
|
import com.cf.imes.module.system.api.process.ProcessApi;
|
||||||
|
import com.cf.imes.module.system.api.process.dto.ProcessDTO;
|
||||||
import com.github.yulichang.wrapper.MPJLambdaWrapper;
|
import com.github.yulichang.wrapper.MPJLambdaWrapper;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
@@ -62,13 +66,14 @@ import org.springframework.stereotype.Service;
|
|||||||
import javax.annotation.Resource;
|
import javax.annotation.Resource;
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
import java.math.BigDecimal;
|
import java.math.BigDecimal;
|
||||||
|
import java.time.LocalDateTime;
|
||||||
import java.util.*;
|
import java.util.*;
|
||||||
import java.util.stream.Collectors;
|
import java.util.stream.Collectors;
|
||||||
|
|
||||||
import static com.cf.imes.framework.common.exception.enums.GlobalErrorCodeConstants.INTERNAL_SERVER_ERROR;
|
import static com.cf.imes.framework.common.exception.enums.GlobalErrorCodeConstants.INTERNAL_SERVER_ERROR;
|
||||||
import static com.cf.imes.framework.common.exception.enums.GlobalErrorCodeConstants.UNKNOWN;
|
import static com.cf.imes.framework.common.exception.enums.GlobalErrorCodeConstants.UNKNOWN;
|
||||||
import static com.cf.imes.framework.common.exception.util.ServiceExceptionUtil.exception;
|
import static com.cf.imes.framework.common.exception.util.ServiceExceptionUtil.exception;
|
||||||
import static com.cf.imes.framework.organ.core.context.OrganContextHolder.getOrganId;
|
import static com.cf.imes.framework.security.core.util.SecurityFrameworkUtils.getLoginUser;
|
||||||
import static com.cf.imes.framework.security.core.util.SecurityFrameworkUtils.getUserOrganId;
|
import static com.cf.imes.framework.security.core.util.SecurityFrameworkUtils.getUserOrganId;
|
||||||
import static com.cf.imes.module.executor.enums.ErrorCodeConstants.ORDER_NOT_EXISTS;
|
import static com.cf.imes.module.executor.enums.ErrorCodeConstants.ORDER_NOT_EXISTS;
|
||||||
import static com.cf.imes.module.executor.enums.ErrorCodeConstants.PLAN_NOT_EXISTS;
|
import static com.cf.imes.module.executor.enums.ErrorCodeConstants.PLAN_NOT_EXISTS;
|
||||||
@@ -110,6 +115,9 @@ public class OptimizePlanServiceImpl implements OptimizePlanService {
|
|||||||
@Resource
|
@Resource
|
||||||
private MachineApi machineApi;
|
private MachineApi machineApi;
|
||||||
|
|
||||||
|
@Resource
|
||||||
|
private ProcessApi processApi;
|
||||||
|
|
||||||
@Resource
|
@Resource
|
||||||
private ESDocumentService esDocumentService;
|
private ESDocumentService esDocumentService;
|
||||||
|
|
||||||
@@ -119,6 +127,13 @@ public class OptimizePlanServiceImpl implements OptimizePlanService {
|
|||||||
@Resource
|
@Resource
|
||||||
private OrderPartsMapper orderPartsMapper;
|
private OrderPartsMapper orderPartsMapper;
|
||||||
|
|
||||||
|
@Resource
|
||||||
|
private ProcessStepMapper processStepMapper;
|
||||||
|
|
||||||
|
@Resource
|
||||||
|
private ProcessStepItemMapper processStepItemMapper;
|
||||||
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public List<PlateOptimize> getPlateListByPlanId(Long planId) {
|
public List<PlateOptimize> getPlateListByPlanId(Long planId) {
|
||||||
return planMapper.selectPlateListByPlanId(planId,getUserOrganId());
|
return planMapper.selectPlateListByPlanId(planId,getUserOrganId());
|
||||||
@@ -197,6 +212,7 @@ public class OptimizePlanServiceImpl implements OptimizePlanService {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@Transactional(rollbackFor = Exception.class)
|
||||||
public Boolean endCutting(Long planId) {
|
public Boolean endCutting(Long planId) {
|
||||||
PlanDO planDO = planMapper.selectById(planId);
|
PlanDO planDO = planMapper.selectById(planId);
|
||||||
if (Objects.isNull(planDO)) {
|
if (Objects.isNull(planDO)) {
|
||||||
@@ -205,11 +221,62 @@ public class OptimizePlanServiceImpl implements OptimizePlanService {
|
|||||||
planMapper.updateById(PlanDO.builder()
|
planMapper.updateById(PlanDO.builder()
|
||||||
.id(planId)
|
.id(planId)
|
||||||
.status(PlanStatusEnum.OPENEDMATERIAL.getStatus())
|
.status(PlanStatusEnum.OPENEDMATERIAL.getStatus())
|
||||||
|
.produceTime(LocalDateTime.now())
|
||||||
.build());
|
.build());
|
||||||
|
|
||||||
|
LoginUser loginUser = getLoginUser();
|
||||||
|
List<ProcessDTO> userProcess = processApi.getUserProcess(loginUser.getId());
|
||||||
|
|
||||||
|
if(!userProcess.isEmpty()) {
|
||||||
|
|
||||||
|
List<Long> processStepIds = new ArrayList<>();
|
||||||
|
|
||||||
|
List<Long> orderIds = JSON.parseArray(planDO.getOrderNos()).toJavaList(Long.class);
|
||||||
|
|
||||||
|
List<ProcessStepDO> processStepDOS = processStepMapper.selectOrderList(orderIds, getUserOrganId());
|
||||||
|
|
||||||
|
|
||||||
|
for (ProcessDTO process : userProcess) {
|
||||||
|
processStepIds.addAll(processStepDOS.stream().filter(f -> Objects.equals(f.getProcessinfoId(), process.getId()))
|
||||||
|
.map(ProcessStepDO::getId).toList());
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
if(!processStepIds.isEmpty()) {
|
||||||
|
|
||||||
|
List<ProcessStepSalaryIds> processStepSalaryIds = calculateSalary(processStepIds);
|
||||||
|
|
||||||
|
// 修改生产明细表和步骤表的工序状态
|
||||||
|
processStepMapper.updateStatus(processStepSalaryIds, loginUser.getNickname());
|
||||||
|
|
||||||
|
processStepItemMapper.updateStatus(processStepIds);
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
return Boolean.TRUE;
|
return Boolean.TRUE;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
// 计算工资金额
|
||||||
|
public List<ProcessStepSalaryIds> calculateSalary(List<Long> processStepId){
|
||||||
|
|
||||||
|
// 查询当前工序对应的板材的面积
|
||||||
|
List<ProcessStepAreaIds> processStepAreaIds = processStepItemMapper.selectAreaByProcessStepId(processStepId,getUserOrganId());
|
||||||
|
|
||||||
|
|
||||||
|
// 计算当前工序的工资金额
|
||||||
|
List<ProcessStepSalaryIds> salary = processStepMapper.calculateSalary(processStepAreaIds,getUserOrganId());
|
||||||
|
|
||||||
|
return salary;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public OptimizeParamResVO getOptimizeParam(Long planId) {
|
public OptimizeParamResVO getOptimizeParam(Long planId) {
|
||||||
//小板列表
|
//小板列表
|
||||||
|
|||||||
+17
-15
@@ -58,6 +58,7 @@ import com.cf.imes.module.executor.dal.mysql.plan.PlanMapper;
|
|||||||
import static com.cf.imes.framework.common.exception.util.ServiceExceptionUtil.exception;
|
import static com.cf.imes.framework.common.exception.util.ServiceExceptionUtil.exception;
|
||||||
import static com.cf.imes.framework.security.core.util.SecurityFrameworkUtils.getUserOrganId;
|
import static com.cf.imes.framework.security.core.util.SecurityFrameworkUtils.getUserOrganId;
|
||||||
import static com.cf.imes.module.executor.enums.ErrorCodeConstants.*;
|
import static com.cf.imes.module.executor.enums.ErrorCodeConstants.*;
|
||||||
|
import static com.cf.imes.framework.common.util.string.SearchUtil.insertSeparator;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 生产单开料排单 Service 实现类
|
* 生产单开料排单 Service 实现类
|
||||||
@@ -347,18 +348,18 @@ public class PlanServiceImpl implements PlanService {
|
|||||||
.betweenIfPresent("op.width", new BigDecimal[]{pageReqVO.getWidthMinRang(), pageReqVO.getWidthMaxRang()})
|
.betweenIfPresent("op.width", new BigDecimal[]{pageReqVO.getWidthMinRang(), pageReqVO.getWidthMaxRang()})
|
||||||
.groupBy("a.id", " a.order_date", "a.delivery_date", "a.customer", "a.address", "a.custom_order_no","a.create_time","a.update_time")
|
.groupBy("a.id", " a.order_date", "a.delivery_date", "a.customer", "a.address", "a.custom_order_no","a.create_time","a.update_time")
|
||||||
.orderByDesc("a.update_time");
|
.orderByDesc("a.update_time");
|
||||||
List<Integer> filterTypes = new ArrayList<>();
|
String filterTypes = "";
|
||||||
if (Objects.nonNull(pageReqVO.getHoleThrough()) && pageReqVO.getHoleThrough()) {
|
if (Objects.nonNull(pageReqVO.getHoleThrough()) && pageReqVO.getHoleThrough()) {
|
||||||
filterTypes.add(PlanFilterTypeEnum.DIGGINGTHROUGHTHESHAPE.getType());
|
filterTypes += PlanFilterTypeEnum.DIGGINGTHROUGHTHESHAPE.getType().toString();
|
||||||
}
|
}
|
||||||
if (Objects.nonNull(pageReqVO.getBurrow()) && pageReqVO.getBurrow()) {
|
if (Objects.nonNull(pageReqVO.getBurrow()) && pageReqVO.getBurrow()) {
|
||||||
filterTypes.add(PlanFilterTypeEnum.THEREAREPERFORATEDHOLES.getType());
|
filterTypes += PlanFilterTypeEnum.THEREAREPERFORATEDHOLES.getType().toString();
|
||||||
}
|
}
|
||||||
if (Objects.nonNull(pageReqVO.getTwoDimensionalToolPath()) && pageReqVO.getTwoDimensionalToolPath()) {
|
if (Objects.nonNull(pageReqVO.getTwoDimensionalToolPath()) && pageReqVO.getTwoDimensionalToolPath()) {
|
||||||
filterTypes.add(PlanFilterTypeEnum.TWODIMENSIONALCUTTINGPATH.getType());
|
filterTypes += PlanFilterTypeEnum.TWODIMENSIONALCUTTINGPATH.getType().toString();
|
||||||
}
|
}
|
||||||
|
|
||||||
queryWrapperX.inIfPresent("op.filter_type", filterTypes);
|
queryWrapperX.likeIfPresent("op.filter_type", insertSeparator(filterTypes));
|
||||||
|
|
||||||
IPage<OrderRespVOCopy> orderRespVOCopies = orderMapper.selectOrderPage(page, queryWrapperX);
|
IPage<OrderRespVOCopy> orderRespVOCopies = orderMapper.selectOrderPage(page, queryWrapperX);
|
||||||
|
|
||||||
@@ -425,18 +426,18 @@ public class PlanServiceImpl implements PlanService {
|
|||||||
.eqIfPresent("op.is_door", pageReqVO.getIsDoor())
|
.eqIfPresent("op.is_door", pageReqVO.getIsDoor())
|
||||||
.betweenIfPresent("op.height", new BigDecimal[]{pageReqVO.getLongMinRang(), pageReqVO.getLongMaxRang()})
|
.betweenIfPresent("op.height", new BigDecimal[]{pageReqVO.getLongMinRang(), pageReqVO.getLongMaxRang()})
|
||||||
.betweenIfPresent("op.width", new BigDecimal[]{pageReqVO.getWidthMinRang(), pageReqVO.getWidthMaxRang()});
|
.betweenIfPresent("op.width", new BigDecimal[]{pageReqVO.getWidthMinRang(), pageReqVO.getWidthMaxRang()});
|
||||||
List<Integer> filterTypes = new ArrayList<>();
|
String filterTypes = "";
|
||||||
if (Objects.nonNull(pageReqVO.getHoleThrough()) && pageReqVO.getHoleThrough()) {
|
if (Objects.nonNull(pageReqVO.getHoleThrough()) && pageReqVO.getHoleThrough()) {
|
||||||
filterTypes.add(PlanFilterTypeEnum.DIGGINGTHROUGHTHESHAPE.getType());
|
filterTypes += PlanFilterTypeEnum.DIGGINGTHROUGHTHESHAPE.getType().toString();
|
||||||
}
|
}
|
||||||
if (Objects.nonNull(pageReqVO.getBurrow()) && pageReqVO.getBurrow()) {
|
if (Objects.nonNull(pageReqVO.getBurrow()) && pageReqVO.getBurrow()) {
|
||||||
filterTypes.add(PlanFilterTypeEnum.THEREAREPERFORATEDHOLES.getType());
|
filterTypes += PlanFilterTypeEnum.THEREAREPERFORATEDHOLES.getType().toString();
|
||||||
}
|
}
|
||||||
if (Objects.nonNull(pageReqVO.getTwoDimensionalToolPath()) && pageReqVO.getTwoDimensionalToolPath()) {
|
if (Objects.nonNull(pageReqVO.getTwoDimensionalToolPath()) && pageReqVO.getTwoDimensionalToolPath()) {
|
||||||
filterTypes.add(PlanFilterTypeEnum.TWODIMENSIONALCUTTINGPATH.getType());
|
filterTypes += PlanFilterTypeEnum.TWODIMENSIONALCUTTINGPATH.getType().toString();
|
||||||
}
|
}
|
||||||
|
|
||||||
queryWrapperX.inIfPresent("op.filter_type", filterTypes);
|
queryWrapperX.likeIfPresent("op.filter_type", insertSeparator(filterTypes));
|
||||||
|
|
||||||
|
|
||||||
List<Long> orderIds = orderMapper.selectOrderIds(queryWrapperX);
|
List<Long> orderIds = orderMapper.selectOrderIds(queryWrapperX);
|
||||||
@@ -539,15 +540,16 @@ public class PlanServiceImpl implements PlanService {
|
|||||||
validatePlanExists(planId);
|
validatePlanExists(planId);
|
||||||
}
|
}
|
||||||
QueryWrapperX<PlateDO> queryWrapperX = new QueryWrapperX<>();
|
QueryWrapperX<PlateDO> queryWrapperX = new QueryWrapperX<>();
|
||||||
List<Integer> filterTypes = new ArrayList<>();
|
|
||||||
|
String filterTypes = "";
|
||||||
if (Objects.nonNull(vo.getHoleThrough()) && vo.getHoleThrough()) {
|
if (Objects.nonNull(vo.getHoleThrough()) && vo.getHoleThrough()) {
|
||||||
filterTypes.add(PlanFilterTypeEnum.DIGGINGTHROUGHTHESHAPE.getType());
|
filterTypes += PlanFilterTypeEnum.DIGGINGTHROUGHTHESHAPE.getType().toString();
|
||||||
}
|
}
|
||||||
if (Objects.nonNull(vo.getBurrow()) && vo.getBurrow()) {
|
if (Objects.nonNull(vo.getBurrow()) && vo.getBurrow()) {
|
||||||
filterTypes.add(PlanFilterTypeEnum.THEREAREPERFORATEDHOLES.getType());
|
filterTypes += PlanFilterTypeEnum.THEREAREPERFORATEDHOLES.getType().toString();
|
||||||
}
|
}
|
||||||
if (Objects.nonNull(vo.getTwoDimensionalToolPath()) && vo.getTwoDimensionalToolPath()) {
|
if (Objects.nonNull(vo.getTwoDimensionalToolPath()) && vo.getTwoDimensionalToolPath()) {
|
||||||
filterTypes.add(PlanFilterTypeEnum.TWODIMENSIONALCUTTINGPATH.getType());
|
filterTypes += PlanFilterTypeEnum.TWODIMENSIONALCUTTINGPATH.getType().toString();
|
||||||
}
|
}
|
||||||
|
|
||||||
queryWrapperX.in("p.plan_id", vo.getPlanIds())
|
queryWrapperX.in("p.plan_id", vo.getPlanIds())
|
||||||
@@ -558,7 +560,7 @@ public class PlanServiceImpl implements PlanService {
|
|||||||
.eqIfPresent("a.is_sculpt", vo.getSculpt())
|
.eqIfPresent("a.is_sculpt", vo.getSculpt())
|
||||||
.betweenIfPresent("a.width", new BigDecimal[]{vo.getWidthMinRang(), vo.getWidthMaxRang()})
|
.betweenIfPresent("a.width", new BigDecimal[]{vo.getWidthMinRang(), vo.getWidthMaxRang()})
|
||||||
.betweenIfPresent("a.height", new BigDecimal[]{vo.getLongMinRang(), vo.getLongMaxRang()})
|
.betweenIfPresent("a.height", new BigDecimal[]{vo.getLongMinRang(), vo.getLongMaxRang()})
|
||||||
.inIfPresent("a.filter_type", filterTypes)
|
.likeIfPresent("a.filter_type", insertSeparator(filterTypes))
|
||||||
.betweenIfPresent("f.delivery_date", new Date[]{vo.getBeginDate(), vo.getEndDate()})
|
.betweenIfPresent("f.delivery_date", new Date[]{vo.getBeginDate(), vo.getEndDate()})
|
||||||
.orderByDesc("a.order_id")
|
.orderByDesc("a.order_id")
|
||||||
.orderByDesc("a.name");
|
.orderByDesc("a.name");
|
||||||
|
|||||||
+53
@@ -0,0 +1,53 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8" ?>
|
||||||
|
<!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.processStep.ProcessStepMapper">
|
||||||
|
|
||||||
|
<select id="calculateSalary"
|
||||||
|
parameterType="map"
|
||||||
|
resultType="com.cf.imes.module.executor.controller.admin.plan.bo.ProcessStepSalaryIds">
|
||||||
|
|
||||||
|
select distinct ROUND(ops.piece_rate *
|
||||||
|
|
||||||
|
<foreach collection="processStepAreaIds" item="processStepAreaIds" open="(" close=")" separator=",">
|
||||||
|
(#{processStepAreaIds.area})
|
||||||
|
</foreach>,3) as salary,
|
||||||
|
|
||||||
|
ops.id as processStepId
|
||||||
|
from order_process_step ops
|
||||||
|
|
||||||
|
where ops.organ_id = #{organId}
|
||||||
|
and ops.id in
|
||||||
|
<foreach collection="processStepAreaIds" item="processStepAreaIds" open="(" close=")" separator=",">
|
||||||
|
(#{processStepAreaIds.processStepId})
|
||||||
|
</foreach>
|
||||||
|
|
||||||
|
group by ops.piece_rate,ops.id;
|
||||||
|
|
||||||
|
</select>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<update id="updateStatus" parameterType="map">
|
||||||
|
|
||||||
|
|
||||||
|
update order_process_step
|
||||||
|
set status = true,
|
||||||
|
finish_time = now(),
|
||||||
|
manager = #{nickname},
|
||||||
|
salary_amount =
|
||||||
|
<foreach collection="processStepSalaryIds" item="processStepSalaryIds" open="(" close=")" separator=",">
|
||||||
|
(#{processStepSalaryIds.salary})
|
||||||
|
</foreach>
|
||||||
|
|
||||||
|
where id in
|
||||||
|
<foreach collection="processStepSalaryIds" item="processStepSalaryIds" open="(" close=")" separator=",">
|
||||||
|
(#{processStepSalaryIds.processStepId})
|
||||||
|
</foreach>
|
||||||
|
|
||||||
|
|
||||||
|
</update>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</mapper>
|
||||||
+51
@@ -0,0 +1,51 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8" ?>
|
||||||
|
<!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.processStepItem.ProcessStepItemMapper">
|
||||||
|
|
||||||
|
|
||||||
|
<select id="selectAreaByProcessStepId"
|
||||||
|
resultType="com.cf.imes.module.executor.controller.admin.plan.bo.ProcessStepAreaIds">
|
||||||
|
|
||||||
|
|
||||||
|
select distinct
|
||||||
|
sum(op.area) as area,
|
||||||
|
opsi.process_step_id as processStepId
|
||||||
|
|
||||||
|
from order_process_step_item opsi
|
||||||
|
join order_body ob on opsi.body_id = ob.id and opsi.organ_id = ob.organ_id
|
||||||
|
join order_item oi on ob.id = oi.body_id and ob.organ_id = oi.organ_id
|
||||||
|
join order_plate op on oi.plate_id = op.id and oi.organ_id = op.organ_id
|
||||||
|
|
||||||
|
where opsi.organ_id = #{organId}
|
||||||
|
and opsi.process_step_id in
|
||||||
|
|
||||||
|
<foreach item="processStepId" collection="processStepId" open="(" separator="," close=")">
|
||||||
|
#{processStepId}
|
||||||
|
</foreach>
|
||||||
|
|
||||||
|
group by opsi.process_step_id
|
||||||
|
|
||||||
|
|
||||||
|
</select>
|
||||||
|
|
||||||
|
|
||||||
|
<update id="updateStatus">
|
||||||
|
|
||||||
|
|
||||||
|
update order_process_step_item
|
||||||
|
SET status = TRUE
|
||||||
|
|
||||||
|
WHERE process_step_id in
|
||||||
|
|
||||||
|
<foreach item="processStepIds" collection="processStepIds" open="(" separator="," close=")">
|
||||||
|
#{processStepIds}
|
||||||
|
</foreach>
|
||||||
|
|
||||||
|
|
||||||
|
</update>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</mapper>
|
||||||
+8
-8
@@ -85,8 +85,8 @@ public class PackController {
|
|||||||
@Operation(summary = "查看生产订单对应的包裹信息")
|
@Operation(summary = "查看生产订单对应的包裹信息")
|
||||||
@PreAuthorize("@ss.hasPermission('manage:pack:query')")
|
@PreAuthorize("@ss.hasPermission('manage:pack:query')")
|
||||||
public CommonResult<PageResult<OrderPackageVO>> getOrderPack(@Valid PackageDetailsReqVO reqVO) {
|
public CommonResult<PageResult<OrderPackageVO>> getOrderPack(@Valid PackageDetailsReqVO reqVO) {
|
||||||
PageResult<OrderPackageDO> orderPack = packService.getOrderPack(reqVO);
|
|
||||||
return success(BeanUtils.toBean(orderPack,OrderPackageVO.class));
|
return success(packService.getOrderPack(reqVO));
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -122,9 +122,9 @@ public class PackController {
|
|||||||
|
|
||||||
|
|
||||||
@GetMapping("/getParts")
|
@GetMapping("/getParts")
|
||||||
@Operation(summary = "查看配件列表分页")
|
@Operation(summary = "查看配件列表")
|
||||||
@PreAuthorize("@ss.hasPermission('manage:pack-parts:query')")
|
@PreAuthorize("@ss.hasPermission('manage:pack-parts:query')")
|
||||||
public CommonResult<PageResult<OrderPartsRespVO>> getParts(@Valid OrderPartsReqVO reqVO) {
|
public CommonResult<List<OrderPartsRespVO>> getParts(@Valid OrderPartsReqVO reqVO) {
|
||||||
|
|
||||||
return success(packService.getPartsList(reqVO));
|
return success(packService.getPartsList(reqVO));
|
||||||
|
|
||||||
@@ -216,9 +216,9 @@ public class PackController {
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
@PostMapping("/insertParts")
|
// @PostMapping("/insertParts")
|
||||||
@Operation(summary = "新增配件包裹")
|
// @Operation(summary = "新增配件包裹")
|
||||||
@PreAuthorize("@ss.hasPermission('manage:pack:insert')")
|
// @PreAuthorize("@ss.hasPermission('manage:pack:insert')")
|
||||||
public CommonResult<OrderPackRespVO> addNewPartsPack (@Valid @RequestBody OrderPackReqVO reqVO) {
|
public CommonResult<OrderPackRespVO> addNewPartsPack (@Valid @RequestBody OrderPackReqVO reqVO) {
|
||||||
|
|
||||||
return success(packService.addNewPartsPack(reqVO));
|
return success(packService.addNewPartsPack(reqVO));
|
||||||
@@ -250,7 +250,7 @@ public class PackController {
|
|||||||
|
|
||||||
|
|
||||||
@DeleteMapping("/deleteOtherParts")
|
@DeleteMapping("/deleteOtherParts")
|
||||||
@Operation(summary = "删除配件包裹中的配件(删除某一个)")
|
@Operation(summary = "删除包裹中的外部配件")
|
||||||
@PreAuthorize("@ss.hasPermission('manage:pack:delete')")
|
@PreAuthorize("@ss.hasPermission('manage:pack:delete')")
|
||||||
public CommonResult<Boolean> deleteOtherParts (@Valid @RequestBody DeleteOtherPartsReqVO reqVO) {
|
public CommonResult<Boolean> deleteOtherParts (@Valid @RequestBody DeleteOtherPartsReqVO reqVO) {
|
||||||
|
|
||||||
|
|||||||
+1
-1
@@ -23,7 +23,7 @@ public class OrderPartsReqVO extends PageParam {
|
|||||||
@Schema(description = "更新配件时传-包裹ID")
|
@Schema(description = "更新配件时传-包裹ID")
|
||||||
private Long packId;
|
private Long packId;
|
||||||
|
|
||||||
@Schema(description = "更新配件时传-新增的配件ID")
|
@Schema(description = "新增的配件ID")
|
||||||
private List<Long> addPartsIdList;
|
private List<Long> addPartsIdList;
|
||||||
|
|
||||||
@Schema(description = "更新配件时传-删除的配件ID")
|
@Schema(description = "更新配件时传-删除的配件ID")
|
||||||
|
|||||||
+3
@@ -26,6 +26,9 @@ public class PlateDetailsRespVO {
|
|||||||
@Schema(description = "柜体ID", requiredMode = Schema.RequiredMode.REQUIRED)
|
@Schema(description = "柜体ID", requiredMode = Schema.RequiredMode.REQUIRED)
|
||||||
private String bodyId;
|
private String bodyId;
|
||||||
|
|
||||||
|
@Schema(description = "生产单ID", requiredMode = Schema.RequiredMode.REQUIRED)
|
||||||
|
private String orderId;
|
||||||
|
|
||||||
@Schema(description = "板材ID", requiredMode = Schema.RequiredMode.REQUIRED)
|
@Schema(description = "板材ID", requiredMode = Schema.RequiredMode.REQUIRED)
|
||||||
private String plateId;
|
private String plateId;
|
||||||
|
|
||||||
|
|||||||
+3
@@ -18,6 +18,9 @@ public class ProcessStepStatus {
|
|||||||
// 工序明细表的状态
|
// 工序明细表的状态
|
||||||
private Boolean processStepItemStatus;
|
private Boolean processStepItemStatus;
|
||||||
|
|
||||||
|
// 工序ID
|
||||||
|
private Long processId;
|
||||||
|
|
||||||
// 工序步骤表的类型
|
// 工序步骤表的类型
|
||||||
private Integer type;
|
private Integer type;
|
||||||
|
|
||||||
|
|||||||
+17
-2
@@ -18,6 +18,18 @@ public class OrderPackageVO {
|
|||||||
@Schema(description = "生产单号", requiredMode = Schema.RequiredMode.REQUIRED)
|
@Schema(description = "生产单号", requiredMode = Schema.RequiredMode.REQUIRED)
|
||||||
private Long orderId;
|
private Long orderId;
|
||||||
|
|
||||||
|
@Schema(description = "自定义单号")
|
||||||
|
private String customOrderNo;
|
||||||
|
|
||||||
|
@Schema(description = "客户")
|
||||||
|
private String customer;
|
||||||
|
|
||||||
|
@Schema(description = "客户地址")
|
||||||
|
private String address;
|
||||||
|
|
||||||
|
@Schema(description = "经销商")
|
||||||
|
private String dealer;
|
||||||
|
|
||||||
@Schema(description = "包裹编号", requiredMode = Schema.RequiredMode.REQUIRED)
|
@Schema(description = "包裹编号", requiredMode = Schema.RequiredMode.REQUIRED)
|
||||||
private String packageNo;
|
private String packageNo;
|
||||||
|
|
||||||
@@ -33,8 +45,11 @@ public class OrderPackageVO {
|
|||||||
@Schema(description = "创建人", requiredMode = Schema.RequiredMode.REQUIRED)
|
@Schema(description = "创建人", requiredMode = Schema.RequiredMode.REQUIRED)
|
||||||
private String creator;
|
private String creator;
|
||||||
|
|
||||||
@Schema(description = "备注", requiredMode = Schema.RequiredMode.REQUIRED)
|
@Schema(description = "包裹备注", requiredMode = Schema.RequiredMode.REQUIRED)
|
||||||
private String remark;
|
private String packRemark;
|
||||||
|
|
||||||
|
@Schema(description = "生产单备注", requiredMode = Schema.RequiredMode.REQUIRED)
|
||||||
|
private String orderRemark;
|
||||||
|
|
||||||
@Schema(description = "出库人", requiredMode = Schema.RequiredMode.REQUIRED)
|
@Schema(description = "出库人", requiredMode = Schema.RequiredMode.REQUIRED)
|
||||||
private String updater;
|
private String updater;
|
||||||
|
|||||||
+4
@@ -8,6 +8,10 @@ import lombok.Data;
|
|||||||
@Data
|
@Data
|
||||||
public class PackageDetailsRespVO {
|
public class PackageDetailsRespVO {
|
||||||
|
|
||||||
|
|
||||||
|
@Schema(description = "生产单ID", requiredMode = Schema.RequiredMode.REQUIRED)
|
||||||
|
private String orderId;
|
||||||
|
|
||||||
@Schema(description = "房间名称-板材类型显示", requiredMode = Schema.RequiredMode.REQUIRED)
|
@Schema(description = "房间名称-板材类型显示", requiredMode = Schema.RequiredMode.REQUIRED)
|
||||||
private String roomName;
|
private String roomName;
|
||||||
|
|
||||||
|
|||||||
+2
-1
@@ -7,6 +7,7 @@ import com.cf.imes.framework.mybatis.core.query.LambdaQueryWrapperX;
|
|||||||
import com.cf.imes.module.manage.controller.admin.pack.vo.PackRespVO;
|
import com.cf.imes.module.manage.controller.admin.pack.vo.PackRespVO;
|
||||||
import com.cf.imes.module.manage.controller.admin.pack.vo.PackageDetailsReqVO;
|
import com.cf.imes.module.manage.controller.admin.pack.vo.PackageDetailsReqVO;
|
||||||
import com.cf.imes.module.manage.controller.admin.pack.vo.PlateDetailsRespVO;
|
import com.cf.imes.module.manage.controller.admin.pack.vo.PlateDetailsRespVO;
|
||||||
|
import com.cf.imes.module.manage.controller.admin.query.vo.pack.OrderPackageVO;
|
||||||
import com.cf.imes.module.manage.dal.dataobject.query.OrderPackageDO;
|
import com.cf.imes.module.manage.dal.dataobject.query.OrderPackageDO;
|
||||||
import org.apache.ibatis.annotations.Mapper;
|
import org.apache.ibatis.annotations.Mapper;
|
||||||
import org.apache.ibatis.annotations.Param;
|
import org.apache.ibatis.annotations.Param;
|
||||||
@@ -25,7 +26,7 @@ public interface OrderPackageMapper extends BaseMapperX<OrderPackageDO> {
|
|||||||
// }
|
// }
|
||||||
|
|
||||||
|
|
||||||
IPage<OrderPackageDO> selectByOrderNo(@Param("page") IPage page,@Param("reqVO") PackageDetailsReqVO reqVO,@Param("organId") Long organId);
|
IPage<OrderPackageVO> selectByOrderNo(@Param("page") IPage page, @Param("reqVO") PackageDetailsReqVO reqVO, @Param("organId") Long organId);
|
||||||
|
|
||||||
|
|
||||||
default OrderPackageDO selectByPackNo(String packNo,Long organId) {
|
default OrderPackageDO selectByPackNo(String packNo,Long organId) {
|
||||||
|
|||||||
+1
-1
@@ -22,7 +22,7 @@ public interface OrderPartsMapper extends BaseMapperX<OrderPartsNDO> {
|
|||||||
IPage<PackageDetailsRespVO> selectParts(@Param("page") IPage page, @Param("packageId") Long packageId, @Param("organId") Long organId);
|
IPage<PackageDetailsRespVO> selectParts(@Param("page") IPage page, @Param("packageId") Long packageId, @Param("organId") Long organId);
|
||||||
|
|
||||||
|
|
||||||
IPage<OrderPartsRespVO> selectPartsList(@Param("page") IPage page, @Param("orderId") Long orderId , @Param("organId") Long organId);
|
List<OrderPartsRespVO> selectPartsList( @Param("orderId") Long orderId , @Param("organId") Long organId);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
+4
-3
@@ -3,6 +3,7 @@ package com.cf.imes.module.manage.service.pack;
|
|||||||
|
|
||||||
import com.cf.imes.framework.common.pojo.PageResult;
|
import com.cf.imes.framework.common.pojo.PageResult;
|
||||||
import com.cf.imes.module.manage.controller.admin.pack.vo.*;
|
import com.cf.imes.module.manage.controller.admin.pack.vo.*;
|
||||||
|
import com.cf.imes.module.manage.controller.admin.query.vo.pack.OrderPackageVO;
|
||||||
import com.cf.imes.module.manage.controller.admin.query.vo.productionStatus.OrderModuleReqVO;
|
import com.cf.imes.module.manage.controller.admin.query.vo.productionStatus.OrderModuleReqVO;
|
||||||
import com.cf.imes.module.manage.dal.dataobject.query.OrderPackageDO;
|
import com.cf.imes.module.manage.dal.dataobject.query.OrderPackageDO;
|
||||||
|
|
||||||
@@ -16,7 +17,7 @@ public interface PackService {
|
|||||||
|
|
||||||
|
|
||||||
// 查看生产订单对应的包裹信息
|
// 查看生产订单对应的包裹信息
|
||||||
PageResult<OrderPackageDO> getOrderPack(PackageDetailsReqVO reqVO);
|
PageResult<OrderPackageVO> getOrderPack(PackageDetailsReqVO reqVO);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@@ -34,7 +35,7 @@ public interface PackService {
|
|||||||
|
|
||||||
|
|
||||||
// 查看配件列表分页
|
// 查看配件列表分页
|
||||||
PageResult<OrderPartsRespVO> getPartsList(OrderPartsReqVO reqVO);
|
List<OrderPartsRespVO> getPartsList(OrderPartsReqVO reqVO);
|
||||||
|
|
||||||
OrderPackRespVO updateParts(OrderPartsReqVO reqVO);
|
OrderPackRespVO updateParts(OrderPartsReqVO reqVO);
|
||||||
|
|
||||||
@@ -71,7 +72,7 @@ public interface PackService {
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
// 删除配件包裹中的配件(删除某一个)
|
// 删除包裹中的外部配件
|
||||||
void deleteOtherParts(DeleteOtherPartsReqVO reqVO);
|
void deleteOtherParts(DeleteOtherPartsReqVO reqVO);
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
+35
-13
@@ -11,6 +11,7 @@ import com.cf.imes.framework.common.pojo.PageResult;
|
|||||||
import com.cf.imes.framework.common.util.object.BeanUtils;
|
import com.cf.imes.framework.common.util.object.BeanUtils;
|
||||||
import com.cf.imes.module.manage.controller.admin.pack.vo.*;
|
import com.cf.imes.module.manage.controller.admin.pack.vo.*;
|
||||||
import com.cf.imes.module.manage.controller.admin.process.vo.ProcessRespVO;
|
import com.cf.imes.module.manage.controller.admin.process.vo.ProcessRespVO;
|
||||||
|
import com.cf.imes.module.manage.controller.admin.query.vo.pack.OrderPackageVO;
|
||||||
import com.cf.imes.module.manage.controller.admin.query.vo.productionStatus.OrderModuleReqVO;
|
import com.cf.imes.module.manage.controller.admin.query.vo.productionStatus.OrderModuleReqVO;
|
||||||
import com.cf.imes.module.manage.dal.dataobject.pack.OrderBodyDO;
|
import com.cf.imes.module.manage.dal.dataobject.pack.OrderBodyDO;
|
||||||
import com.cf.imes.module.manage.dal.dataobject.process.OrderDO;
|
import com.cf.imes.module.manage.dal.dataobject.process.OrderDO;
|
||||||
@@ -38,8 +39,8 @@ import java.util.Objects;
|
|||||||
import java.util.stream.Collectors;
|
import java.util.stream.Collectors;
|
||||||
|
|
||||||
import static com.cf.imes.framework.common.exception.util.ServiceExceptionUtil.exception;
|
import static com.cf.imes.framework.common.exception.util.ServiceExceptionUtil.exception;
|
||||||
|
import static com.cf.imes.framework.common.util.string.SearchUtil.insertSeparator;
|
||||||
import static com.cf.imes.framework.security.core.util.SecurityFrameworkUtils.getUserOrganId;
|
import static com.cf.imes.framework.security.core.util.SecurityFrameworkUtils.getUserOrganId;
|
||||||
import static com.cf.imes.module.manage.util.search.SearchUtil.insertSeparator;
|
|
||||||
import static com.cf.imes.module.system.enums.ErrorCodeConstants.*;
|
import static com.cf.imes.module.system.enums.ErrorCodeConstants.*;
|
||||||
|
|
||||||
@Service
|
@Service
|
||||||
@@ -139,11 +140,11 @@ public class PackServiceImpl implements PackService {
|
|||||||
|
|
||||||
// 查看生产订单对应的包裹信息
|
// 查看生产订单对应的包裹信息
|
||||||
@Override
|
@Override
|
||||||
public PageResult<OrderPackageDO> getOrderPack(PackageDetailsReqVO reqVO) {
|
public PageResult<OrderPackageVO> getOrderPack(PackageDetailsReqVO reqVO) {
|
||||||
|
|
||||||
PageDTO<OrderPackageDO> page = new PageDTO<>(reqVO.getPageNo(), reqVO.getPageSize());
|
PageDTO<OrderPackageVO> page = new PageDTO<>(reqVO.getPageNo(), reqVO.getPageSize());
|
||||||
|
|
||||||
IPage<OrderPackageDO> orderPackageDOIPage = orderPackageMapper.selectByOrderNo(page,reqVO, getUserOrganId());
|
IPage<OrderPackageVO> orderPackageDOIPage = orderPackageMapper.selectByOrderNo(page,reqVO, getUserOrganId());
|
||||||
|
|
||||||
|
|
||||||
if (CollectionUtil.isEmpty(orderPackageDOIPage.getRecords())) {
|
if (CollectionUtil.isEmpty(orderPackageDOIPage.getRecords())) {
|
||||||
@@ -165,18 +166,14 @@ public class PackServiceImpl implements PackService {
|
|||||||
|
|
||||||
// 查看配件列表分页
|
// 查看配件列表分页
|
||||||
@Override
|
@Override
|
||||||
public PageResult<OrderPartsRespVO> getPartsList(OrderPartsReqVO reqVO) {
|
public List<OrderPartsRespVO> getPartsList(OrderPartsReqVO reqVO) {
|
||||||
|
|
||||||
PageDTO<OrderPartsRespVO> page = new PageDTO<>(reqVO.getPageNo(), reqVO.getPageSize());
|
// PageDTO<OrderPartsRespVO> page = new PageDTO<>(reqVO.getPageNo(), reqVO.getPageSize());
|
||||||
|
|
||||||
IPage<OrderPartsRespVO> orderPartsRespVOS = orderPartsMapper.selectPartsList(page,reqVO.getOrderId(),getUserOrganId());
|
List<OrderPartsRespVO> orderPartsRespVOS = orderPartsMapper.selectPartsList(reqVO.getOrderId(),getUserOrganId());
|
||||||
|
|
||||||
if (CollectionUtil.isEmpty(orderPartsRespVOS.getRecords())) {
|
|
||||||
return new PageResult<>();
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
return new PageResult<>(orderPartsRespVOS.getRecords(), orderPartsRespVOS.getTotal());
|
return orderPartsRespVOS;
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
@@ -188,6 +185,24 @@ public class PackServiceImpl implements PackService {
|
|||||||
@Transactional(rollbackFor = Exception.class)
|
@Transactional(rollbackFor = Exception.class)
|
||||||
public OrderPackRespVO updateParts(OrderPartsReqVO reqVO) {
|
public OrderPackRespVO updateParts(OrderPartsReqVO reqVO) {
|
||||||
|
|
||||||
|
|
||||||
|
// 判断包裹ID是否为空,为空,走新增,不为空,走更新
|
||||||
|
if(reqVO.getPackId()==null){
|
||||||
|
|
||||||
|
OrderPackageDO orderPackageDO = new OrderPackageDO();
|
||||||
|
orderPackageDO.setOrderId(reqVO.getOrderId());
|
||||||
|
orderPackageDO.setType(OrderPackageTypeEnum.PARTS.getType());
|
||||||
|
orderPackageDO.setPackageNo(PackageNoUtil.randomPageNo());
|
||||||
|
orderPackageDO.setStatus((OrderPackageStatusEnum.PACKAGED.getStatus()));
|
||||||
|
orderPackageMapper.insert(orderPackageDO);
|
||||||
|
// 生产单明细表新增包裹 ID
|
||||||
|
if(reqVO.getAddPartsIdList()!=null) {
|
||||||
|
orderItemMapper.insertPartsId( orderPackageDO.getId(),reqVO.getAddPartsIdList());
|
||||||
|
}
|
||||||
|
return typeConversion(orderPackageDO);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
OrderPackageDO orderPackageDO = orderPackageMapper.selectByPackId(reqVO.getPackId(), getUserOrganId());
|
OrderPackageDO orderPackageDO = orderPackageMapper.selectByPackId(reqVO.getPackId(), getUserOrganId());
|
||||||
|
|
||||||
List<OrderItemDO> orderItemDOS = orderItemMapper.selectPackList(reqVO.getPackId(), getUserOrganId());
|
List<OrderItemDO> orderItemDOS = orderItemMapper.selectPackList(reqVO.getPackId(), getUserOrganId());
|
||||||
@@ -433,6 +448,13 @@ public class PackServiceImpl implements PackService {
|
|||||||
throw exception(THE_CURRENT_PACKAGE_TYPE_IS_INCORRECT);
|
throw exception(THE_CURRENT_PACKAGE_TYPE_IS_INCORRECT);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// 判断配件名称是否重复
|
||||||
|
OrderPartsNDO orderPartsNDO = orderPartsMapper.selectOneParts(reqVO.getName(),getUserOrganId());
|
||||||
|
|
||||||
|
if (orderPartsNDO != null) {
|
||||||
|
throw exception(THE_ACCESSORY_NAME_CANNOT_BE_DUPLICATED);
|
||||||
|
}
|
||||||
|
|
||||||
// 配件表新增数据
|
// 配件表新增数据
|
||||||
OrderPartsNDO orderParts = BeanUtils.toBean(reqVO, OrderPartsNDO.class);
|
OrderPartsNDO orderParts = BeanUtils.toBean(reqVO, OrderPartsNDO.class);
|
||||||
// 因为是外部配件,所以配件类型的名称固定为 “ 外部配件”
|
// 因为是外部配件,所以配件类型的名称固定为 “ 外部配件”
|
||||||
@@ -459,7 +481,7 @@ public class PackServiceImpl implements PackService {
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
// 删除配件包裹中的配件(删除某一个)
|
// 删除包裹中的外部配件
|
||||||
@Override
|
@Override
|
||||||
@Transactional(rollbackFor = Exception.class)
|
@Transactional(rollbackFor = Exception.class)
|
||||||
public void deleteOtherParts(DeleteOtherPartsReqVO reqVO) {
|
public void deleteOtherParts(DeleteOtherPartsReqVO reqVO) {
|
||||||
|
|||||||
+9
-8
@@ -34,9 +34,9 @@ import java.math.BigDecimal;
|
|||||||
import java.util.*;
|
import java.util.*;
|
||||||
import java.util.stream.Collectors;
|
import java.util.stream.Collectors;
|
||||||
|
|
||||||
|
import static com.cf.imes.framework.common.util.string.SearchUtil.insertSeparator;
|
||||||
import static com.cf.imes.framework.security.core.util.SecurityFrameworkUtils.getLoginUser;
|
import static com.cf.imes.framework.security.core.util.SecurityFrameworkUtils.getLoginUser;
|
||||||
import static com.cf.imes.framework.security.core.util.SecurityFrameworkUtils.getUserOrganId;
|
import static com.cf.imes.framework.security.core.util.SecurityFrameworkUtils.getUserOrganId;
|
||||||
import static com.cf.imes.module.manage.util.search.SearchUtil.insertSeparator;
|
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -147,7 +147,7 @@ public class ProductionProcessServiceImpl implements ProductionProcessService {
|
|||||||
if(orderProcessStepItemNDOS.isEmpty()){
|
if(orderProcessStepItemNDOS.isEmpty()){
|
||||||
|
|
||||||
// 修改生产单工序步骤表的状态
|
// 修改生产单工序步骤表的状态
|
||||||
BigDecimal salary = calculateSalary(reqVo.getProcessStepId());
|
BigDecimal salary = calculateSalary(reqVo.getProcessStepId(),processStepStatuses.getProcessId());
|
||||||
|
|
||||||
processStepMapper.updateStatusById(reqVo.getProcessStepId(),salary);
|
processStepMapper.updateStatusById(reqVo.getProcessStepId(),salary);
|
||||||
|
|
||||||
@@ -181,7 +181,7 @@ public class ProductionProcessServiceImpl implements ProductionProcessService {
|
|||||||
}
|
}
|
||||||
try {
|
try {
|
||||||
|
|
||||||
BigDecimal salary = calculateSalary(reqVo.getProcessStepId());
|
BigDecimal salary = calculateSalary(reqVo.getProcessStepId(),null);
|
||||||
|
|
||||||
// 修改生产明细表和步骤表的工序状态
|
// 修改生产明细表和步骤表的工序状态
|
||||||
processStepMapper.updateStatus(reqVo.getProcessStepId(),nickname,salary);
|
processStepMapper.updateStatus(reqVo.getProcessStepId(),nickname,salary);
|
||||||
@@ -201,15 +201,16 @@ public class ProductionProcessServiceImpl implements ProductionProcessService {
|
|||||||
|
|
||||||
|
|
||||||
// 计算工资金额
|
// 计算工资金额
|
||||||
public BigDecimal calculateSalary(Long processStepId){
|
public BigDecimal calculateSalary(Long processStepId,Long processId){
|
||||||
|
|
||||||
|
BigDecimal pieceRate = BigDecimal.ZERO;
|
||||||
// 查询当前工序对应的板材的面积
|
// 查询当前工序对应的板材的面积
|
||||||
BigDecimal area = processStepItemMapper.selectAreaByProcessStepId(processStepId,getUserOrganId());
|
BigDecimal area = processStepItemMapper.selectAreaByProcessStepId(processStepId,getUserOrganId());
|
||||||
|
|
||||||
|
if(processId != null){
|
||||||
// 查询组件加工的工资
|
// 查询组件加工的工资
|
||||||
BigDecimal pieceRate = processApi.getProcess();
|
pieceRate = processApi.getProcess(processId);
|
||||||
|
}
|
||||||
|
|
||||||
// 计算当前工序的工资金额
|
// 计算当前工序的工资金额
|
||||||
BigDecimal salary = processStepMapper.calculateSalary(processStepId, area,pieceRate,getUserOrganId());
|
BigDecimal salary = processStepMapper.calculateSalary(processStepId, area,pieceRate,getUserOrganId());
|
||||||
|
|||||||
+18
-2
@@ -134,12 +134,28 @@
|
|||||||
|
|
||||||
|
|
||||||
<select id="selectByOrderNo"
|
<select id="selectByOrderNo"
|
||||||
resultType="com.cf.imes.module.manage.dal.dataobject.query.OrderPackageDO"
|
resultType="com.cf.imes.module.manage.controller.admin.query.vo.pack.OrderPackageVO"
|
||||||
parameterType="map">
|
parameterType="map">
|
||||||
|
|
||||||
select distinct
|
select distinct
|
||||||
opn.*
|
opn.id,
|
||||||
|
opn.order_id,
|
||||||
|
opn.package_no,
|
||||||
|
opn.type,
|
||||||
|
opn.status,
|
||||||
|
opn.organ_id,
|
||||||
|
opn.creator,
|
||||||
|
opn.remark as packRemark,
|
||||||
|
opn.updater,
|
||||||
|
opn.update_time,
|
||||||
|
opn.create_time,
|
||||||
|
o.custom_order_no,
|
||||||
|
o.dealer,
|
||||||
|
o.customer,
|
||||||
|
o.address,
|
||||||
|
o.remark as orderRemark
|
||||||
from order_package opn
|
from order_package opn
|
||||||
|
join orders o on opn.order_id = o.id and opn.organ_id = o.organ_id
|
||||||
join order_item oi on opn.id = oi.package_id and opn.organ_id = oi.organ_id
|
join order_item oi on opn.id = oi.package_id and opn.organ_id = oi.organ_id
|
||||||
left join order_plate op on oi.plate_id = op.id and oi.organ_id = op.organ_id
|
left join order_plate op on oi.plate_id = op.id and oi.organ_id = op.organ_id
|
||||||
|
|
||||||
|
|||||||
+1
@@ -60,6 +60,7 @@
|
|||||||
select distinct
|
select distinct
|
||||||
ops.order_id as orderId,
|
ops.order_id as orderId,
|
||||||
opsi.status as processStepItemStatus,
|
opsi.status as processStepItemStatus,
|
||||||
|
ops.processinfo_id as processId,
|
||||||
ops.status as processStepStatus,
|
ops.status as processStepStatus,
|
||||||
ops.type as type
|
ops.type as type
|
||||||
from order_process_step_item opsi
|
from order_process_step_item opsi
|
||||||
|
|||||||
+7
-2
@@ -4,6 +4,7 @@
|
|||||||
|
|
||||||
|
|
||||||
<resultMap id="orderItemMap" type="com.cf.imes.module.manage.controller.admin.query.vo.pack.PackageDetailsRespVO">
|
<resultMap id="orderItemMap" type="com.cf.imes.module.manage.controller.admin.query.vo.pack.PackageDetailsRespVO">
|
||||||
|
<result property="orderId" column="orderId"/>
|
||||||
<result property="roomName" column="roomName"/>
|
<result property="roomName" column="roomName"/>
|
||||||
<result property="cabinetName" column="bodyName"/>
|
<result property="cabinetName" column="bodyName"/>
|
||||||
<result property="plateId" column="plateId"/>
|
<result property="plateId" column="plateId"/>
|
||||||
@@ -30,6 +31,7 @@
|
|||||||
resultMap="orderItemMap">
|
resultMap="orderItemMap">
|
||||||
|
|
||||||
select distinct
|
select distinct
|
||||||
|
op.order_id as orderId,
|
||||||
og.name as name,
|
og.name as name,
|
||||||
ob.room_name as roomName,
|
ob.room_name as roomName,
|
||||||
ob.name as bodyName,
|
ob.name as bodyName,
|
||||||
@@ -117,6 +119,7 @@
|
|||||||
<result property="cabinetName" column="bodyName"/>
|
<result property="cabinetName" column="bodyName"/>
|
||||||
<result property="plateId" column="plateId"/>
|
<result property="plateId" column="plateId"/>
|
||||||
<result property="plateNo" column="plateNo"/>
|
<result property="plateNo" column="plateNo"/>
|
||||||
|
<result property="orderId" column="orderId"/>
|
||||||
<result property="plateName" column="plateName"/>
|
<result property="plateName" column="plateName"/>
|
||||||
<result property="material" column="plateMaterial"/>
|
<result property="material" column="plateMaterial"/>
|
||||||
<result property="color" column="plateColor"/>
|
<result property="color" column="plateColor"/>
|
||||||
@@ -143,6 +146,7 @@
|
|||||||
op.name as plateName,
|
op.name as plateName,
|
||||||
ogs.material as plateMaterial,
|
ogs.material as plateMaterial,
|
||||||
ogs.color as plateColor,
|
ogs.color as plateColor,
|
||||||
|
op.order_id as orderId,
|
||||||
op.height as plateHeight,
|
op.height as plateHeight,
|
||||||
op.width as plateWidth,
|
op.width as plateWidth,
|
||||||
op.thickness as plateThickness,
|
op.thickness as plateThickness,
|
||||||
@@ -207,13 +211,13 @@
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
<update id="deleteOtherParts"
|
<delete id="deleteOtherParts"
|
||||||
parameterType="java.lang.Long">
|
parameterType="java.lang.Long">
|
||||||
|
|
||||||
DELETE FROM order_item
|
DELETE FROM order_item
|
||||||
WHERE parts_id = #{partsId}
|
WHERE parts_id = #{partsId}
|
||||||
|
|
||||||
</update>
|
</delete>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@@ -425,6 +429,7 @@
|
|||||||
op.name as plateName,
|
op.name as plateName,
|
||||||
ogs.material as plateMaterial,
|
ogs.material as plateMaterial,
|
||||||
ogs.color as plateColor,
|
ogs.color as plateColor,
|
||||||
|
op.order_id as orderId,
|
||||||
op.height as plateHeight,
|
op.height as plateHeight,
|
||||||
op.width as plateWidth,
|
op.width as plateWidth,
|
||||||
op.thickness as plateThickness,
|
op.thickness as plateThickness,
|
||||||
|
|||||||
+2
@@ -4,6 +4,7 @@
|
|||||||
|
|
||||||
<resultMap id="partsMap" type="com.cf.imes.module.manage.controller.admin.query.vo.pack.PackageDetailsRespVO">
|
<resultMap id="partsMap" type="com.cf.imes.module.manage.controller.admin.query.vo.pack.PackageDetailsRespVO">
|
||||||
|
|
||||||
|
<result property="orderId" column="orderId"/>
|
||||||
<result property="partsId" column="partsId"/>
|
<result property="partsId" column="partsId"/>
|
||||||
<result property="name" column="name"/>
|
<result property="name" column="name"/>
|
||||||
<result property="type" column="type"/>
|
<result property="type" column="type"/>
|
||||||
@@ -24,6 +25,7 @@
|
|||||||
|
|
||||||
|
|
||||||
select distinct
|
select distinct
|
||||||
|
op.order_id as orderId,
|
||||||
op.id as partsId,
|
op.id as partsId,
|
||||||
op.name as name,
|
op.name as name,
|
||||||
op.model as model,
|
op.model as model,
|
||||||
|
|||||||
+5
-3
@@ -61,7 +61,7 @@ public class ReportDatasetController {
|
|||||||
|
|
||||||
@GetMapping("/dataset/{id}")
|
@GetMapping("/dataset/{id}")
|
||||||
@Operation(summary = "获得报表数据集")
|
@Operation(summary = "获得报表数据集")
|
||||||
@Parameter(name = "id", description = "编号", required = true, example = "1024")
|
@Parameter(name = "id", description = "编号", required = true, example = "1")
|
||||||
@PreAuthorize("@ss.hasPermission('report:dataset:query')")
|
@PreAuthorize("@ss.hasPermission('report:dataset:query')")
|
||||||
public CommonResult<ReportDatasetRespVO> getDataset(@PathVariable("id") Long id) {
|
public CommonResult<ReportDatasetRespVO> getDataset(@PathVariable("id") Long id) {
|
||||||
ReportDatasetDO dataset = datasetService.getDataset(id);
|
ReportDatasetDO dataset = datasetService.getDataset(id);
|
||||||
@@ -71,7 +71,9 @@ public class ReportDatasetController {
|
|||||||
@GetMapping("/datasets")
|
@GetMapping("/datasets")
|
||||||
@Operation(summary = "获取数据源下的报表数据集列表")
|
@Operation(summary = "获取数据源下的报表数据集列表")
|
||||||
@PreAuthorize("@ss.hasPermission('report:dataset:query')")
|
@PreAuthorize("@ss.hasPermission('report:dataset:query')")
|
||||||
public CommonResult<List<ReportDatasetRespVO>> getDatasetPage(@Valid ReportDatasetReqVO pageReqVO) {
|
public CommonResult<List<ReportDatasetRespVO>> getDatasetPage(@RequestParam(value = "datasourceId") Long datasourceId,
|
||||||
return success(BeanUtils.toBean(datasetService.getDatasetList(pageReqVO), ReportDatasetRespVO.class));
|
@RequestParam(value = "name", required = false) String name) {
|
||||||
|
ReportDatasetReqVO reqVO = new ReportDatasetReqVO(name, datasourceId);
|
||||||
|
return success(BeanUtils.toBean(datasetService.getDatasetList(reqVO), ReportDatasetRespVO.class));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
+5
-2
@@ -71,7 +71,10 @@ public class ReportDatasourceController {
|
|||||||
@GetMapping("/datasources")
|
@GetMapping("/datasources")
|
||||||
@Operation(summary = "获取报表模板下的报表数据源")
|
@Operation(summary = "获取报表模板下的报表数据源")
|
||||||
@PreAuthorize("@ss.hasPermission('report:datasource:query')")
|
@PreAuthorize("@ss.hasPermission('report:datasource:query')")
|
||||||
public CommonResult<List<ReportDatasourceRespVO>> getDatasourcePage(@Valid ReportDatasourceReqVO pageReqVO) {
|
public CommonResult<List<ReportDatasourceRespVO>> getDatasourcePage(@RequestParam(value = "reportId") Long reportId,
|
||||||
return success(BeanUtils.toBean(datasourceService.getTemplateDatasourceList(pageReqVO), ReportDatasourceRespVO.class));
|
@RequestParam(value = "name", required = false) String name,
|
||||||
|
@RequestParam(value = "type", required = false) Integer type) {
|
||||||
|
ReportDatasourceReqVO reqVO = new ReportDatasourceReqVO(reportId, name, type);
|
||||||
|
return success(BeanUtils.toBean(datasourceService.getTemplateDatasourceList(reqVO), ReportDatasourceRespVO.class));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
+4
-5
@@ -16,7 +16,6 @@ import org.springframework.security.access.prepost.PreAuthorize;
|
|||||||
import org.springframework.validation.annotation.Validated;
|
import org.springframework.validation.annotation.Validated;
|
||||||
import org.springframework.web.bind.annotation.*;
|
import org.springframework.web.bind.annotation.*;
|
||||||
|
|
||||||
import javax.annotation.security.PermitAll;
|
|
||||||
import javax.validation.Valid;
|
import javax.validation.Valid;
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
@@ -40,7 +39,6 @@ public class ReportTemplateController {
|
|||||||
@PutMapping("/template")
|
@PutMapping("/template")
|
||||||
@Operation(summary = "创建报表模板信息")
|
@Operation(summary = "创建报表模板信息")
|
||||||
@PreAuthorize("@ss.hasPermission('report:template:create')")
|
@PreAuthorize("@ss.hasPermission('report:template:create')")
|
||||||
@PermitAll
|
|
||||||
public CommonResult<Long> createTemplate(@Valid @RequestBody ReportTemplateSaveReqVO createReqVO) {
|
public CommonResult<Long> createTemplate(@Valid @RequestBody ReportTemplateSaveReqVO createReqVO) {
|
||||||
OrganContextHolder.setOrganId(1L);
|
OrganContextHolder.setOrganId(1L);
|
||||||
return success(templateService.createReportTemplate(createReqVO));
|
return success(templateService.createReportTemplate(createReqVO));
|
||||||
@@ -75,8 +73,9 @@ public class ReportTemplateController {
|
|||||||
@GetMapping("/templates")
|
@GetMapping("/templates")
|
||||||
@Operation(summary = "获得报表模板信息列表")
|
@Operation(summary = "获得报表模板信息列表")
|
||||||
@PreAuthorize("@ss.hasPermission('report:template:query')")
|
@PreAuthorize("@ss.hasPermission('report:template:query')")
|
||||||
@PermitAll
|
public CommonResult<List<ReportTemplateRespVO>> getTemplatePage(@RequestParam(value = "name", required = false) String name,
|
||||||
public CommonResult<List<ReportTemplateRespVO>> getTemplatePage(@Valid ReportTemplateReqVO pageReqVO) {
|
@RequestParam(value = "type", required = false) Integer type) {
|
||||||
return success(BeanUtils.toBean(templateService.getReportTemplateList(pageReqVO), ReportTemplateRespVO.class));
|
ReportTemplateReqVO reqVO = new ReportTemplateReqVO(name, type);
|
||||||
|
return success(BeanUtils.toBean(templateService.getReportTemplateList(reqVO), ReportTemplateRespVO.class));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
+4
@@ -1,7 +1,9 @@
|
|||||||
package com.cf.imes.module.report.controller.admin.template.vo;
|
package com.cf.imes.module.report.controller.admin.template.vo;
|
||||||
|
|
||||||
import io.swagger.v3.oas.annotations.media.Schema;
|
import io.swagger.v3.oas.annotations.media.Schema;
|
||||||
|
import lombok.AllArgsConstructor;
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
|
import lombok.NoArgsConstructor;
|
||||||
import lombok.ToString;
|
import lombok.ToString;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -11,6 +13,8 @@ import lombok.ToString;
|
|||||||
@Schema(description = "管理后台 - 报表数据集 Request VO")
|
@Schema(description = "管理后台 - 报表数据集 Request VO")
|
||||||
@Data
|
@Data
|
||||||
@ToString(callSuper = true)
|
@ToString(callSuper = true)
|
||||||
|
@AllArgsConstructor
|
||||||
|
@NoArgsConstructor
|
||||||
public class ReportDatasetReqVO {
|
public class ReportDatasetReqVO {
|
||||||
@Schema(description = "数据集名称", example = "测试数据集")
|
@Schema(description = "数据集名称", example = "测试数据集")
|
||||||
private String name;
|
private String name;
|
||||||
|
|||||||
+4
@@ -1,7 +1,9 @@
|
|||||||
package com.cf.imes.module.report.controller.admin.template.vo;
|
package com.cf.imes.module.report.controller.admin.template.vo;
|
||||||
|
|
||||||
import io.swagger.v3.oas.annotations.media.Schema;
|
import io.swagger.v3.oas.annotations.media.Schema;
|
||||||
|
import lombok.AllArgsConstructor;
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
|
import lombok.NoArgsConstructor;
|
||||||
|
|
||||||
import java.time.LocalDateTime;
|
import java.time.LocalDateTime;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
@@ -12,6 +14,8 @@ import java.util.List;
|
|||||||
*/
|
*/
|
||||||
@Schema(description = "管理后台 - 报表数据集 Response VO")
|
@Schema(description = "管理后台 - 报表数据集 Response VO")
|
||||||
@Data
|
@Data
|
||||||
|
@AllArgsConstructor
|
||||||
|
@NoArgsConstructor
|
||||||
public class ReportDatasetRespVO {
|
public class ReportDatasetRespVO {
|
||||||
@Schema(description = "数据集id", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
|
@Schema(description = "数据集id", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
|
||||||
private Long id;
|
private Long id;
|
||||||
|
|||||||
+4
@@ -1,8 +1,10 @@
|
|||||||
package com.cf.imes.module.report.controller.admin.template.vo;
|
package com.cf.imes.module.report.controller.admin.template.vo;
|
||||||
|
|
||||||
import io.swagger.v3.oas.annotations.media.Schema;
|
import io.swagger.v3.oas.annotations.media.Schema;
|
||||||
|
import lombok.AllArgsConstructor;
|
||||||
import lombok.Builder;
|
import lombok.Builder;
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
|
import lombok.NoArgsConstructor;
|
||||||
|
|
||||||
import javax.validation.constraints.NotNull;
|
import javax.validation.constraints.NotNull;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
@@ -14,6 +16,8 @@ import java.util.List;
|
|||||||
@Schema(description = "管理后台 - 报表数据集新增/修改 Request VO")
|
@Schema(description = "管理后台 - 报表数据集新增/修改 Request VO")
|
||||||
@Data
|
@Data
|
||||||
@Builder
|
@Builder
|
||||||
|
@AllArgsConstructor
|
||||||
|
@NoArgsConstructor
|
||||||
public class ReportDatasetSaveReqVO {
|
public class ReportDatasetSaveReqVO {
|
||||||
@Schema(description = "数据集id", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
|
@Schema(description = "数据集id", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
|
||||||
private Long id;
|
private Long id;
|
||||||
|
|||||||
+4
@@ -1,7 +1,9 @@
|
|||||||
package com.cf.imes.module.report.controller.admin.template.vo;
|
package com.cf.imes.module.report.controller.admin.template.vo;
|
||||||
|
|
||||||
import io.swagger.v3.oas.annotations.media.Schema;
|
import io.swagger.v3.oas.annotations.media.Schema;
|
||||||
|
import lombok.AllArgsConstructor;
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
|
import lombok.NoArgsConstructor;
|
||||||
import lombok.ToString;
|
import lombok.ToString;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -11,6 +13,8 @@ import lombok.ToString;
|
|||||||
@Schema(description = "管理后台 - 报表数据源 Request VO")
|
@Schema(description = "管理后台 - 报表数据源 Request VO")
|
||||||
@Data
|
@Data
|
||||||
@ToString(callSuper = true)
|
@ToString(callSuper = true)
|
||||||
|
@AllArgsConstructor
|
||||||
|
@NoArgsConstructor
|
||||||
public class ReportDatasourceReqVO {
|
public class ReportDatasourceReqVO {
|
||||||
@Schema(description = "模板id", example = "1", requiredMode = Schema.RequiredMode.REQUIRED)
|
@Schema(description = "模板id", example = "1", requiredMode = Schema.RequiredMode.REQUIRED)
|
||||||
private Long reportId;
|
private Long reportId;
|
||||||
|
|||||||
+4
@@ -1,7 +1,9 @@
|
|||||||
package com.cf.imes.module.report.controller.admin.template.vo;
|
package com.cf.imes.module.report.controller.admin.template.vo;
|
||||||
|
|
||||||
import io.swagger.v3.oas.annotations.media.Schema;
|
import io.swagger.v3.oas.annotations.media.Schema;
|
||||||
|
import lombok.AllArgsConstructor;
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
|
import lombok.NoArgsConstructor;
|
||||||
|
|
||||||
import java.time.LocalDateTime;
|
import java.time.LocalDateTime;
|
||||||
|
|
||||||
@@ -11,6 +13,8 @@ import java.time.LocalDateTime;
|
|||||||
*/
|
*/
|
||||||
@Schema(description = "管理后台 - 报表数据源 Response VO")
|
@Schema(description = "管理后台 - 报表数据源 Response VO")
|
||||||
@Data
|
@Data
|
||||||
|
@AllArgsConstructor
|
||||||
|
@NoArgsConstructor
|
||||||
public class ReportDatasourceRespVO {
|
public class ReportDatasourceRespVO {
|
||||||
|
|
||||||
@Schema(description = "数据源id", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
|
@Schema(description = "数据源id", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
|
||||||
|
|||||||
+5
-1
@@ -1,8 +1,10 @@
|
|||||||
package com.cf.imes.module.report.controller.admin.template.vo;
|
package com.cf.imes.module.report.controller.admin.template.vo;
|
||||||
|
|
||||||
import io.swagger.v3.oas.annotations.media.Schema;
|
import io.swagger.v3.oas.annotations.media.Schema;
|
||||||
|
import lombok.AllArgsConstructor;
|
||||||
import lombok.Builder;
|
import lombok.Builder;
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
|
import lombok.NoArgsConstructor;
|
||||||
|
|
||||||
import javax.validation.constraints.NotNull;
|
import javax.validation.constraints.NotNull;
|
||||||
|
|
||||||
@@ -13,8 +15,10 @@ import javax.validation.constraints.NotNull;
|
|||||||
@Schema(description = "管理后台 - 报表数据源新增/修改 Request VO")
|
@Schema(description = "管理后台 - 报表数据源新增/修改 Request VO")
|
||||||
@Data
|
@Data
|
||||||
@Builder
|
@Builder
|
||||||
|
@AllArgsConstructor
|
||||||
|
@NoArgsConstructor
|
||||||
public class ReportDatasourceSaveReqVO {
|
public class ReportDatasourceSaveReqVO {
|
||||||
@Schema(description = "数据源id", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
|
@Schema(description = "数据源id", example = "1")
|
||||||
private Long id;
|
private Long id;
|
||||||
|
|
||||||
@Schema(description = "模板id", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
|
@Schema(description = "模板id", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
|
||||||
|
|||||||
+4
@@ -1,7 +1,9 @@
|
|||||||
package com.cf.imes.module.report.controller.admin.template.vo;
|
package com.cf.imes.module.report.controller.admin.template.vo;
|
||||||
|
|
||||||
import io.swagger.v3.oas.annotations.media.Schema;
|
import io.swagger.v3.oas.annotations.media.Schema;
|
||||||
|
import lombok.AllArgsConstructor;
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
|
import lombok.NoArgsConstructor;
|
||||||
import lombok.ToString;
|
import lombok.ToString;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -11,6 +13,8 @@ import lombok.ToString;
|
|||||||
@Schema(description = "管理后台 - 报表模板信息列表 Request VO")
|
@Schema(description = "管理后台 - 报表模板信息列表 Request VO")
|
||||||
@Data
|
@Data
|
||||||
@ToString(callSuper = true)
|
@ToString(callSuper = true)
|
||||||
|
@AllArgsConstructor
|
||||||
|
@NoArgsConstructor
|
||||||
public class ReportTemplateReqVO {
|
public class ReportTemplateReqVO {
|
||||||
@Schema(description = "模板名称", example = "生产单模板")
|
@Schema(description = "模板名称", example = "生产单模板")
|
||||||
private String name;
|
private String name;
|
||||||
|
|||||||
+6
-2
@@ -1,7 +1,9 @@
|
|||||||
package com.cf.imes.module.report.controller.admin.template.vo;
|
package com.cf.imes.module.report.controller.admin.template.vo;
|
||||||
|
|
||||||
import io.swagger.v3.oas.annotations.media.Schema;
|
import io.swagger.v3.oas.annotations.media.Schema;
|
||||||
|
import lombok.AllArgsConstructor;
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
|
import lombok.NoArgsConstructor;
|
||||||
|
|
||||||
import java.time.LocalDateTime;
|
import java.time.LocalDateTime;
|
||||||
|
|
||||||
@@ -11,8 +13,10 @@ import java.time.LocalDateTime;
|
|||||||
*/
|
*/
|
||||||
@Schema(description = "管理后台 - 报表模板信息 Response VO")
|
@Schema(description = "管理后台 - 报表模板信息 Response VO")
|
||||||
@Data
|
@Data
|
||||||
|
@AllArgsConstructor
|
||||||
|
@NoArgsConstructor
|
||||||
public class ReportTemplateRespVO {
|
public class ReportTemplateRespVO {
|
||||||
@Schema(description = "主键", requiredMode = Schema.RequiredMode.REQUIRED, example = "15176")
|
@Schema(description = "主键", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
|
||||||
private Long id;
|
private Long id;
|
||||||
|
|
||||||
@Schema(description = "模板名称", example = "生产单模板")
|
@Schema(description = "模板名称", example = "生产单模板")
|
||||||
@@ -21,7 +25,7 @@ public class ReportTemplateRespVO {
|
|||||||
@Schema(description = "报表模板")
|
@Schema(description = "报表模板")
|
||||||
private String template;
|
private String template;
|
||||||
|
|
||||||
@Schema(description = "模板类型,0内置、1自定义", example = "2")
|
@Schema(description = "模板类型,0内置、1自定义", example = "0")
|
||||||
private Long type;
|
private Long type;
|
||||||
|
|
||||||
@Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED)
|
@Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED)
|
||||||
|
|||||||
+8
-2
@@ -1,8 +1,12 @@
|
|||||||
package com.cf.imes.module.report.controller.admin.template.vo;
|
package com.cf.imes.module.report.controller.admin.template.vo;
|
||||||
|
|
||||||
import io.swagger.v3.oas.annotations.media.Schema;
|
import io.swagger.v3.oas.annotations.media.Schema;
|
||||||
|
import lombok.AllArgsConstructor;
|
||||||
import lombok.Builder;
|
import lombok.Builder;
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
|
import lombok.NoArgsConstructor;
|
||||||
|
|
||||||
|
import java.io.Serializable;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @author Gqr
|
* @author Gqr
|
||||||
@@ -11,9 +15,11 @@ import lombok.Data;
|
|||||||
@Schema(description = "管理后台 - 报表模板信息新增/修改 Request VO")
|
@Schema(description = "管理后台 - 报表模板信息新增/修改 Request VO")
|
||||||
@Data
|
@Data
|
||||||
@Builder
|
@Builder
|
||||||
public class ReportTemplateSaveReqVO {
|
@AllArgsConstructor
|
||||||
|
@NoArgsConstructor
|
||||||
|
public class ReportTemplateSaveReqVO {
|
||||||
|
|
||||||
@Schema(description = "主键", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
|
@Schema(description = "主键", example = "1")
|
||||||
private Long id;
|
private Long id;
|
||||||
|
|
||||||
@Schema(description = "模板名称", example = "生产单模板")
|
@Schema(description = "模板名称", example = "生产单模板")
|
||||||
|
|||||||
+1
-1
@@ -67,7 +67,7 @@ public class ReportDatasetServiceImpl implements ReportDatasetService {
|
|||||||
@Override
|
@Override
|
||||||
public List<ReportDatasetDO> getDatasetList(ReportDatasetReqVO reqVO) {
|
public List<ReportDatasetDO> getDatasetList(ReportDatasetReqVO reqVO) {
|
||||||
return datasetMapper.selectList(new LambdaQueryWrapperX<ReportDatasetDO>()
|
return datasetMapper.selectList(new LambdaQueryWrapperX<ReportDatasetDO>()
|
||||||
.eq(ReportDatasetDO::getDatasourceId, reqVO.getDatasourceId())
|
.eqIfPresent(ReportDatasetDO::getDatasourceId, reqVO.getDatasourceId())
|
||||||
.likeIfPresent(ReportDatasetDO::getName, reqVO.getName())
|
.likeIfPresent(ReportDatasetDO::getName, reqVO.getName())
|
||||||
.orderByDesc(ReportDatasetDO::getCreateTime));
|
.orderByDesc(ReportDatasetDO::getCreateTime));
|
||||||
}
|
}
|
||||||
|
|||||||
+2
-2
@@ -72,9 +72,9 @@ public class ReportDatasourceServiceImpl implements ReportDatasourceService {
|
|||||||
@Override
|
@Override
|
||||||
public List<ReportDatasourceDO> getTemplateDatasourceList(ReportDatasourceReqVO reqVO) {
|
public List<ReportDatasourceDO> getTemplateDatasourceList(ReportDatasourceReqVO reqVO) {
|
||||||
return datasourceMapper.selectList(new LambdaQueryWrapperX<ReportDatasourceDO>()
|
return datasourceMapper.selectList(new LambdaQueryWrapperX<ReportDatasourceDO>()
|
||||||
.eq(ReportDatasourceDO::getReportId, reqVO.getReportId())
|
.eqIfPresent(ReportDatasourceDO::getReportId, reqVO.getReportId())
|
||||||
.likeIfPresent(ReportDatasourceDO::getName, reqVO.getName())
|
.likeIfPresent(ReportDatasourceDO::getName, reqVO.getName())
|
||||||
.eq(ReportDatasourceDO::getType, reqVO.getType())
|
.eqIfPresent(ReportDatasourceDO::getType, reqVO.getType())
|
||||||
.orderByDesc(ReportDatasourceDO::getCreateTime));
|
.orderByDesc(ReportDatasourceDO::getCreateTime));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
+4
-2
@@ -1,5 +1,6 @@
|
|||||||
package com.cf.imes.module.report.service.template;
|
package com.cf.imes.module.report.service.template;
|
||||||
|
|
||||||
|
import cn.hutool.core.util.URLUtil;
|
||||||
import com.cf.imes.framework.common.util.object.BeanUtils;
|
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.query.LambdaQueryWrapperX;
|
||||||
import com.cf.imes.module.report.controller.admin.template.vo.ReportTemplateReqVO;
|
import com.cf.imes.module.report.controller.admin.template.vo.ReportTemplateReqVO;
|
||||||
@@ -30,9 +31,10 @@ public class ReportTemplateServiceImpl implements ReportTemplateService {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public Long createReportTemplate(ReportTemplateSaveReqVO createReqVO) {
|
public Long createReportTemplate(ReportTemplateSaveReqVO createReqVO) {
|
||||||
String templateContent = createReqVO.getTemplate();
|
String templateContent = URLUtil.decode(createReqVO.getTemplate());
|
||||||
if(StringUtils.isNotEmpty(templateContent)) {
|
if(StringUtils.isNotEmpty(templateContent)) {
|
||||||
// todo template压缩待完善
|
// todo template压缩待完善
|
||||||
|
createReqVO.setTemplate(templateContent);
|
||||||
}
|
}
|
||||||
// 插入
|
// 插入
|
||||||
ReportTemplateDO template = BeanUtils.toBean(createReqVO, ReportTemplateDO.class);
|
ReportTemplateDO template = BeanUtils.toBean(createReqVO, ReportTemplateDO.class);
|
||||||
@@ -82,7 +84,7 @@ public class ReportTemplateServiceImpl implements ReportTemplateService {
|
|||||||
public List<ReportTemplateDO> getReportTemplateList(ReportTemplateReqVO reqVO) {
|
public List<ReportTemplateDO> getReportTemplateList(ReportTemplateReqVO reqVO) {
|
||||||
return templateMapper.selectList(new LambdaQueryWrapperX<ReportTemplateDO>()
|
return templateMapper.selectList(new LambdaQueryWrapperX<ReportTemplateDO>()
|
||||||
.likeIfPresent(ReportTemplateDO::getName, reqVO.getName())
|
.likeIfPresent(ReportTemplateDO::getName, reqVO.getName())
|
||||||
.eq(ReportTemplateDO::getType, reqVO.getType())
|
.eqIfPresent(ReportTemplateDO::getType, reqVO.getType())
|
||||||
.orderByDesc(ReportTemplateDO::getCreateTime));
|
.orderByDesc(ReportTemplateDO::getCreateTime));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
+8
-2
@@ -1,6 +1,7 @@
|
|||||||
package com.cf.imes.module.system.api.process;
|
package com.cf.imes.module.system.api.process;
|
||||||
|
|
||||||
|
|
||||||
|
import com.cf.imes.module.system.api.process.dto.ProcessDTO;
|
||||||
import com.cf.imes.module.system.enums.ApiConstants;
|
import com.cf.imes.module.system.enums.ApiConstants;
|
||||||
import io.swagger.v3.oas.annotations.Operation;
|
import io.swagger.v3.oas.annotations.Operation;
|
||||||
import io.swagger.v3.oas.annotations.Parameter;
|
import io.swagger.v3.oas.annotations.Parameter;
|
||||||
@@ -10,6 +11,7 @@ import org.springframework.web.bind.annotation.GetMapping;
|
|||||||
import org.springframework.web.bind.annotation.RequestParam;
|
import org.springframework.web.bind.annotation.RequestParam;
|
||||||
|
|
||||||
import java.math.BigDecimal;
|
import java.math.BigDecimal;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
@FeignClient(name = ApiConstants.NAME) // TODO 晨丰:fallbackFactory =
|
@FeignClient(name = ApiConstants.NAME) // TODO 晨丰:fallbackFactory =
|
||||||
@Tag(name = "RPC 服务 - 工序")
|
@Tag(name = "RPC 服务 - 工序")
|
||||||
@@ -21,9 +23,13 @@ public interface ProcessApi {
|
|||||||
|
|
||||||
@GetMapping(PREFIX + "/getProcess")
|
@GetMapping(PREFIX + "/getProcess")
|
||||||
@Operation(summary = "查看当前工序的信息")
|
@Operation(summary = "查看当前工序的信息")
|
||||||
// @Parameter(name = "processId", description = "工序ID", required = true, example = "1024")
|
@Parameter(name = "processId", description = "工序ID", required = true, example = "1024")
|
||||||
BigDecimal getProcess(/*@RequestParam("processId") Long processId*/);
|
BigDecimal getProcess(@RequestParam("processId") Long processId);
|
||||||
|
|
||||||
|
|
||||||
|
@GetMapping(PREFIX + "/getUserProcess")
|
||||||
|
@Operation(summary = "查看当前工序的信息")
|
||||||
|
@Parameter(name = "userId", description = "用户ID", required = true, example = "1")
|
||||||
|
List<ProcessDTO> getUserProcess(@RequestParam("userId") Long userId);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
+28
@@ -0,0 +1,28 @@
|
|||||||
|
package com.cf.imes.module.system.api.process.dto;
|
||||||
|
|
||||||
|
|
||||||
|
import io.swagger.v3.oas.annotations.media.Schema;
|
||||||
|
import lombok.AllArgsConstructor;
|
||||||
|
import lombok.Builder;
|
||||||
|
import lombok.Data;
|
||||||
|
import lombok.NoArgsConstructor;
|
||||||
|
|
||||||
|
import java.time.LocalDateTime;
|
||||||
|
|
||||||
|
@Data
|
||||||
|
@Builder
|
||||||
|
@AllArgsConstructor
|
||||||
|
@NoArgsConstructor
|
||||||
|
public class ProcessDTO {
|
||||||
|
|
||||||
|
@Schema(description = "工序ID")
|
||||||
|
private Long id;
|
||||||
|
|
||||||
|
@Schema(description = "工序名称")
|
||||||
|
private String name;
|
||||||
|
|
||||||
|
@Schema(description = "工序类型")
|
||||||
|
private Integer type;
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
+1
@@ -208,6 +208,7 @@ public interface ErrorCodeConstants {
|
|||||||
ErrorCode DEFAULT_TEMPLATE_NOT_DELETED = new ErrorCode(1_002_029_004, "不能删除默认模板");
|
ErrorCode DEFAULT_TEMPLATE_NOT_DELETED = new ErrorCode(1_002_029_004, "不能删除默认模板");
|
||||||
ErrorCode NOT_TEMPLATE_AUTH = new ErrorCode(1_002_029_005, "该组织无此机台模板权限");
|
ErrorCode NOT_TEMPLATE_AUTH = new ErrorCode(1_002_029_005, "该组织无此机台模板权限");
|
||||||
ErrorCode NOT_MACHINE_AUTH = new ErrorCode(1_002_029_005, "该组织无此机台权限");
|
ErrorCode NOT_MACHINE_AUTH = new ErrorCode(1_002_029_005, "该组织无此机台权限");
|
||||||
|
ErrorCode THE_CURRENT_MACHINE_IS_ALREADY_IN_USE = new ErrorCode(1_002_029_005, "当前机台已使用,禁止删除");
|
||||||
|
|
||||||
// ========== 标签模板 1-002-300-000 ==========
|
// ========== 标签模板 1-002-300-000 ==========
|
||||||
ErrorCode LABEL_TEMPLATE_NOT_EXISTS = new ErrorCode(1_002_300_000, "标签模板不存在");
|
ErrorCode LABEL_TEMPLATE_NOT_EXISTS = new ErrorCode(1_002_300_000, "标签模板不存在");
|
||||||
|
|||||||
+17
-2
@@ -2,6 +2,9 @@ package com.cf.imes.module.system.api.process;
|
|||||||
|
|
||||||
|
|
||||||
import com.cf.imes.framework.common.enums.ProcessProcessingTypeEnum;
|
import com.cf.imes.framework.common.enums.ProcessProcessingTypeEnum;
|
||||||
|
import com.cf.imes.framework.common.util.object.BeanUtils;
|
||||||
|
import com.cf.imes.framework.organ.core.context.OrganContextHolder;
|
||||||
|
import com.cf.imes.module.system.api.process.dto.ProcessDTO;
|
||||||
import com.cf.imes.module.system.dal.dataobject.process.ProcessDO;
|
import com.cf.imes.module.system.dal.dataobject.process.ProcessDO;
|
||||||
import com.cf.imes.module.system.dal.mysql.process.ProcessMapper;
|
import com.cf.imes.module.system.dal.mysql.process.ProcessMapper;
|
||||||
import org.springframework.validation.annotation.Validated;
|
import org.springframework.validation.annotation.Validated;
|
||||||
@@ -10,6 +13,7 @@ import org.springframework.web.bind.annotation.RestController;
|
|||||||
import javax.annotation.Resource;
|
import javax.annotation.Resource;
|
||||||
import java.math.BigDecimal;
|
import java.math.BigDecimal;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
import java.util.Objects;
|
||||||
import java.util.stream.Collectors;
|
import java.util.stream.Collectors;
|
||||||
|
|
||||||
import static com.cf.imes.framework.security.core.util.SecurityFrameworkUtils.getUserOrganId;
|
import static com.cf.imes.framework.security.core.util.SecurityFrameworkUtils.getUserOrganId;
|
||||||
@@ -27,9 +31,9 @@ public class ProcessApiImpl implements ProcessApi {
|
|||||||
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public BigDecimal getProcess() {
|
public BigDecimal getProcess(Long processId) {
|
||||||
|
|
||||||
ProcessDO processDO = processMapper.selectByType(ProcessProcessingTypeEnum.COMPONENTPROCESSING.getNumber(),getUserOrganId());
|
ProcessDO processDO = processMapper.selectByType(processId,getUserOrganId());
|
||||||
|
|
||||||
|
|
||||||
return processDO == null ? BigDecimal.ZERO : processDO.getPieceRate();
|
return processDO == null ? BigDecimal.ZERO : processDO.getPieceRate();
|
||||||
@@ -37,5 +41,16 @@ public class ProcessApiImpl implements ProcessApi {
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public List<ProcessDTO> getUserProcess(Long userId) {
|
||||||
|
|
||||||
|
List<ProcessDO> processDOS = processMapper.selectProcessList(getUserOrganId(), userId)
|
||||||
|
.stream()
|
||||||
|
.filter(f-> Objects.equals(f.getType(),ProcessProcessingTypeEnum.CUTTINGMATERIALS.getNumber()))
|
||||||
|
.toList();
|
||||||
|
|
||||||
|
return BeanUtils.toBean(processDOS,ProcessDTO.class);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
+2
-2
@@ -69,10 +69,10 @@ public interface ProcessMapper extends BaseMapperX<ProcessDO> {
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
default ProcessDO selectByType(Integer number,Long organId) {
|
default ProcessDO selectByType(Long processId,Long organId) {
|
||||||
return selectOne(new MPJLambdaWrapperX<ProcessDO>()
|
return selectOne(new MPJLambdaWrapperX<ProcessDO>()
|
||||||
.eq(ProcessDO::getOrganId, organId)
|
.eq(ProcessDO::getOrganId, organId)
|
||||||
.eqIfPresent(ProcessDO::getType,number));
|
.eqIfPresent(ProcessDO::getId,processId));
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
+2
-1
@@ -1,12 +1,13 @@
|
|||||||
package com.cf.imes.module.system.framework.rpc.config;
|
package com.cf.imes.module.system.framework.rpc.config;
|
||||||
|
|
||||||
import com.cf.imes.module.executor.api.orderProcess.OrderProcessApi;
|
import com.cf.imes.module.executor.api.orderProcess.OrderProcessApi;
|
||||||
|
import com.cf.imes.module.executor.api.plan.OrderPlanApi;
|
||||||
import com.cf.imes.module.infra.api.file.FileApi;
|
import com.cf.imes.module.infra.api.file.FileApi;
|
||||||
import com.cf.imes.module.infra.api.websocket.WebSocketSenderApi;
|
import com.cf.imes.module.infra.api.websocket.WebSocketSenderApi;
|
||||||
import org.springframework.cloud.openfeign.EnableFeignClients;
|
import org.springframework.cloud.openfeign.EnableFeignClients;
|
||||||
import org.springframework.context.annotation.Configuration;
|
import org.springframework.context.annotation.Configuration;
|
||||||
|
|
||||||
@Configuration(proxyBeanMethods = false)
|
@Configuration(proxyBeanMethods = false)
|
||||||
@EnableFeignClients(clients = {FileApi.class, WebSocketSenderApi.class, OrderProcessApi.class})
|
@EnableFeignClients(clients = {FileApi.class, WebSocketSenderApi.class, OrderProcessApi.class, OrderPlanApi.class})
|
||||||
public class RpcConfiguration {
|
public class RpcConfiguration {
|
||||||
}
|
}
|
||||||
|
|||||||
+8
@@ -17,6 +17,7 @@ import com.cf.imes.framework.mybatis.core.query.LambdaQueryWrapperX;
|
|||||||
import com.cf.imes.framework.organ.core.aop.OrganIgnore;
|
import com.cf.imes.framework.organ.core.aop.OrganIgnore;
|
||||||
import com.cf.imes.framework.security.core.LoginUser;
|
import com.cf.imes.framework.security.core.LoginUser;
|
||||||
import com.cf.imes.framework.security.core.util.SecurityFrameworkUtils;
|
import com.cf.imes.framework.security.core.util.SecurityFrameworkUtils;
|
||||||
|
import com.cf.imes.module.executor.api.plan.OrderPlanApi;
|
||||||
import com.cf.imes.module.system.controller.admin.machine.vo.*;
|
import com.cf.imes.module.system.controller.admin.machine.vo.*;
|
||||||
import com.cf.imes.module.system.convert.machine.MachineConvert;
|
import com.cf.imes.module.system.convert.machine.MachineConvert;
|
||||||
import com.cf.imes.module.system.dal.dataobject.machine.DrillSettingDO;
|
import com.cf.imes.module.system.dal.dataobject.machine.DrillSettingDO;
|
||||||
@@ -77,6 +78,9 @@ public class MachineServiceImpl implements MachineService {
|
|||||||
@Resource
|
@Resource
|
||||||
private MachineTemplateLimitMapper machineTemplateLimitMapper;
|
private MachineTemplateLimitMapper machineTemplateLimitMapper;
|
||||||
|
|
||||||
|
@Resource
|
||||||
|
private OrderPlanApi orderPlanApi;
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@Transactional(rollbackFor = Exception.class)
|
@Transactional(rollbackFor = Exception.class)
|
||||||
public Long createCutting(CuttingSaveReqVO createReqVO) {
|
public Long createCutting(CuttingSaveReqVO createReqVO) {
|
||||||
@@ -119,6 +123,10 @@ public class MachineServiceImpl implements MachineService {
|
|||||||
if (machineDO == null) {
|
if (machineDO == null) {
|
||||||
throw exception(MACHINE_NOT_EXISTS);
|
throw exception(MACHINE_NOT_EXISTS);
|
||||||
}
|
}
|
||||||
|
// 校验当前机台是否使用
|
||||||
|
if(orderPlanApi.getOrderPlan(id).getData()){
|
||||||
|
throw exception(THE_CURRENT_MACHINE_IS_ALREADY_IN_USE);
|
||||||
|
}
|
||||||
machineMapper.deleteById(id);
|
machineMapper.deleteById(id);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
+6
-1
@@ -3,6 +3,7 @@ package com.cf.imes.module.system.service.process;
|
|||||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||||
import com.baomidou.mybatisplus.extension.plugins.pagination.PageDTO;;
|
import com.baomidou.mybatisplus.extension.plugins.pagination.PageDTO;;
|
||||||
|
import com.cf.imes.framework.common.enums.ProcessProcessingTypeEnum;
|
||||||
import com.cf.imes.framework.common.exception.util.ServiceExceptionUtil;
|
import com.cf.imes.framework.common.exception.util.ServiceExceptionUtil;
|
||||||
import com.cf.imes.framework.organ.core.context.OrganContextHolder;
|
import com.cf.imes.framework.organ.core.context.OrganContextHolder;
|
||||||
import com.cf.imes.module.system.controller.admin.process.vo.process.*;
|
import com.cf.imes.module.system.controller.admin.process.vo.process.*;
|
||||||
@@ -233,7 +234,11 @@ public class ProcessServiceImpl implements ProcessService {
|
|||||||
|
|
||||||
// 获取组织id
|
// 获取组织id
|
||||||
Long organId = OrganContextHolder.getOrganId();
|
Long organId = OrganContextHolder.getOrganId();
|
||||||
return processMapper.selectProcessList(organId,userId);
|
return processMapper.selectProcessList(organId,userId)
|
||||||
|
.stream()
|
||||||
|
.filter(f-> (!Objects.equals(f.getType(), ProcessProcessingTypeEnum.CUTTINGMATERIALS.getNumber())))
|
||||||
|
.toList();
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user