mirror of
http://192.168.1.205:9980/cf_devdept2/cf_imes_server.git
synced 2026-08-12 21:02:08 +08:00
机台删除,工序加工,排单加工时间,排单数据筛选Bug修改
This commit is contained in:
+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);
|
||||
|
||||
|
||||
|
||||
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) {
|
||||
// return selectOne(new MPJLambdaWrapperX<PlanDO>()
|
||||
|
||||
+19
-1
@@ -1,15 +1,18 @@
|
||||
package com.cf.imes.module.executor.dal.mysql.processStep;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.util.*;
|
||||
|
||||
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
|
||||
import com.cf.imes.framework.common.pojo.PageResult;
|
||||
import com.cf.imes.framework.mybatis.core.query.LambdaQueryWrapperX;
|
||||
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 org.apache.ibatis.annotations.Mapper;
|
||||
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;
|
||||
|
||||
@@ -53,4 +56,19 @@ public interface ProcessStepMapper extends BaseMapperX<ProcessStepDO> {
|
||||
wrapper.eq(ProcessStepDO::getDeleted, 1);
|
||||
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.query.LambdaQueryWrapperX;
|
||||
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.controller.admin.plan.bo.ProcessStepAreaIds;
|
||||
import com.cf.imes.module.executor.dal.dataobject.processStepItem.OrderProcessStepItemDO;
|
||||
import org.apache.ibatis.annotations.Mapper;
|
||||
import org.apache.ibatis.annotations.Param;
|
||||
@@ -15,4 +13,9 @@ import java.util.List;
|
||||
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.dataSource.DataSourceApi;
|
||||
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.user.AdminUserApi;
|
||||
import com.cf.imes.module.system.api.dict.DictDataApi;
|
||||
@@ -15,6 +16,6 @@ import org.springframework.context.annotation.Configuration;
|
||||
*/
|
||||
@Configuration(proxyBeanMethods = false)
|
||||
@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 {
|
||||
}
|
||||
|
||||
+73
-6
@@ -9,8 +9,7 @@ import co.elastic.clients.elasticsearch.ElasticsearchClient;
|
||||
import co.elastic.clients.elasticsearch._types.FieldValue;
|
||||
import co.elastic.clients.elasticsearch.core.*;
|
||||
import co.elastic.clients.elasticsearch.core.search.Hit;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
||||
import com.alibaba.fastjson.JSON;
|
||||
import com.cf.imes.framework.common.enums.PlanStatusEnum;
|
||||
import com.cf.imes.framework.common.enums.RemainTypeEnum;
|
||||
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.mybatis.core.query.LambdaQueryWrapperX;
|
||||
import com.cf.imes.framework.mybatis.core.query.MPJLambdaWrapperX;
|
||||
import com.cf.imes.framework.mybatis.core.query.QueryWrapperX;
|
||||
import com.cf.imes.framework.organ.core.context.OrganContextHolder;
|
||||
import com.cf.imes.framework.security.core.util.SecurityFrameworkUtils;
|
||||
import com.cf.imes.framework.security.core.LoginUser;
|
||||
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.saveOptimize.OptimizeRemainPlate;
|
||||
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.planitem.PlanItemDO;
|
||||
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.PointDTO;
|
||||
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.plan.PlanMapper;
|
||||
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.enums.ErrorCodeConstants;
|
||||
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.system.api.dataSource.DataSourceApi;
|
||||
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 lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.stereotype.Service;
|
||||
@@ -62,13 +66,14 @@ import org.springframework.stereotype.Service;
|
||||
import javax.annotation.Resource;
|
||||
import java.io.IOException;
|
||||
import java.math.BigDecimal;
|
||||
import java.time.LocalDateTime;
|
||||
import java.util.*;
|
||||
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.UNKNOWN;
|
||||
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.module.executor.enums.ErrorCodeConstants.ORDER_NOT_EXISTS;
|
||||
import static com.cf.imes.module.executor.enums.ErrorCodeConstants.PLAN_NOT_EXISTS;
|
||||
@@ -110,6 +115,9 @@ public class OptimizePlanServiceImpl implements OptimizePlanService {
|
||||
@Resource
|
||||
private MachineApi machineApi;
|
||||
|
||||
@Resource
|
||||
private ProcessApi processApi;
|
||||
|
||||
@Resource
|
||||
private ESDocumentService esDocumentService;
|
||||
|
||||
@@ -119,6 +127,13 @@ public class OptimizePlanServiceImpl implements OptimizePlanService {
|
||||
@Resource
|
||||
private OrderPartsMapper orderPartsMapper;
|
||||
|
||||
@Resource
|
||||
private ProcessStepMapper processStepMapper;
|
||||
|
||||
@Resource
|
||||
private ProcessStepItemMapper processStepItemMapper;
|
||||
|
||||
|
||||
@Override
|
||||
public List<PlateOptimize> getPlateListByPlanId(Long planId) {
|
||||
return planMapper.selectPlateListByPlanId(planId,getUserOrganId());
|
||||
@@ -197,6 +212,7 @@ public class OptimizePlanServiceImpl implements OptimizePlanService {
|
||||
}
|
||||
|
||||
@Override
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public Boolean endCutting(Long planId) {
|
||||
PlanDO planDO = planMapper.selectById(planId);
|
||||
if (Objects.isNull(planDO)) {
|
||||
@@ -205,11 +221,62 @@ public class OptimizePlanServiceImpl implements OptimizePlanService {
|
||||
planMapper.updateById(PlanDO.builder()
|
||||
.id(planId)
|
||||
.status(PlanStatusEnum.OPENEDMATERIAL.getStatus())
|
||||
.produceTime(LocalDateTime.now())
|
||||
.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;
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
// 计算工资金额
|
||||
public List<ProcessStepSalaryIds> calculateSalary(List<Long> processStepId){
|
||||
|
||||
// 查询当前工序对应的板材的面积
|
||||
List<ProcessStepAreaIds> processStepAreaIds = processStepItemMapper.selectAreaByProcessStepId(processStepId,getUserOrganId());
|
||||
|
||||
|
||||
// 计算当前工序的工资金额
|
||||
List<ProcessStepSalaryIds> salary = processStepMapper.calculateSalary(processStepAreaIds,getUserOrganId());
|
||||
|
||||
return salary;
|
||||
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
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.security.core.util.SecurityFrameworkUtils.getUserOrganId;
|
||||
import static com.cf.imes.module.executor.enums.ErrorCodeConstants.*;
|
||||
import static com.cf.imes.framework.common.util.string.SearchUtil.insertSeparator;
|
||||
|
||||
/**
|
||||
* 生产单开料排单 Service 实现类
|
||||
@@ -347,18 +348,18 @@ public class PlanServiceImpl implements PlanService {
|
||||
.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")
|
||||
.orderByDesc("a.update_time");
|
||||
List<Integer> filterTypes = new ArrayList<>();
|
||||
String filterTypes = "";
|
||||
if (Objects.nonNull(pageReqVO.getHoleThrough()) && pageReqVO.getHoleThrough()) {
|
||||
filterTypes.add(PlanFilterTypeEnum.DIGGINGTHROUGHTHESHAPE.getType());
|
||||
filterTypes += PlanFilterTypeEnum.DIGGINGTHROUGHTHESHAPE.getType().toString();
|
||||
}
|
||||
if (Objects.nonNull(pageReqVO.getBurrow()) && pageReqVO.getBurrow()) {
|
||||
filterTypes.add(PlanFilterTypeEnum.THEREAREPERFORATEDHOLES.getType());
|
||||
filterTypes += PlanFilterTypeEnum.THEREAREPERFORATEDHOLES.getType().toString();
|
||||
}
|
||||
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);
|
||||
|
||||
@@ -425,18 +426,18 @@ public class PlanServiceImpl implements PlanService {
|
||||
.eqIfPresent("op.is_door", pageReqVO.getIsDoor())
|
||||
.betweenIfPresent("op.height", new BigDecimal[]{pageReqVO.getLongMinRang(), pageReqVO.getLongMaxRang()})
|
||||
.betweenIfPresent("op.width", new BigDecimal[]{pageReqVO.getWidthMinRang(), pageReqVO.getWidthMaxRang()});
|
||||
List<Integer> filterTypes = new ArrayList<>();
|
||||
String filterTypes = "";
|
||||
if (Objects.nonNull(pageReqVO.getHoleThrough()) && pageReqVO.getHoleThrough()) {
|
||||
filterTypes.add(PlanFilterTypeEnum.DIGGINGTHROUGHTHESHAPE.getType());
|
||||
filterTypes += PlanFilterTypeEnum.DIGGINGTHROUGHTHESHAPE.getType().toString();
|
||||
}
|
||||
if (Objects.nonNull(pageReqVO.getBurrow()) && pageReqVO.getBurrow()) {
|
||||
filterTypes.add(PlanFilterTypeEnum.THEREAREPERFORATEDHOLES.getType());
|
||||
filterTypes += PlanFilterTypeEnum.THEREAREPERFORATEDHOLES.getType().toString();
|
||||
}
|
||||
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);
|
||||
@@ -539,15 +540,16 @@ public class PlanServiceImpl implements PlanService {
|
||||
validatePlanExists(planId);
|
||||
}
|
||||
QueryWrapperX<PlateDO> queryWrapperX = new QueryWrapperX<>();
|
||||
List<Integer> filterTypes = new ArrayList<>();
|
||||
|
||||
String filterTypes = "";
|
||||
if (Objects.nonNull(vo.getHoleThrough()) && vo.getHoleThrough()) {
|
||||
filterTypes.add(PlanFilterTypeEnum.DIGGINGTHROUGHTHESHAPE.getType());
|
||||
filterTypes += PlanFilterTypeEnum.DIGGINGTHROUGHTHESHAPE.getType().toString();
|
||||
}
|
||||
if (Objects.nonNull(vo.getBurrow()) && vo.getBurrow()) {
|
||||
filterTypes.add(PlanFilterTypeEnum.THEREAREPERFORATEDHOLES.getType());
|
||||
filterTypes += PlanFilterTypeEnum.THEREAREPERFORATEDHOLES.getType().toString();
|
||||
}
|
||||
if (Objects.nonNull(vo.getTwoDimensionalToolPath()) && vo.getTwoDimensionalToolPath()) {
|
||||
filterTypes.add(PlanFilterTypeEnum.TWODIMENSIONALCUTTINGPATH.getType());
|
||||
filterTypes += PlanFilterTypeEnum.TWODIMENSIONALCUTTINGPATH.getType().toString();
|
||||
}
|
||||
|
||||
queryWrapperX.in("p.plan_id", vo.getPlanIds())
|
||||
@@ -558,7 +560,7 @@ public class PlanServiceImpl implements PlanService {
|
||||
.eqIfPresent("a.is_sculpt", vo.getSculpt())
|
||||
.betweenIfPresent("a.width", new BigDecimal[]{vo.getWidthMinRang(), vo.getWidthMaxRang()})
|
||||
.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()})
|
||||
.orderByDesc("a.order_id")
|
||||
.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>
|
||||
Reference in New Issue
Block a user