executor模块查询新增组织ID,删除排单接口逻辑修改

This commit is contained in:
liuzhaotian
2024-06-14 15:46:25 +08:00
parent e8e2052be6
commit 350c6c940a
41 changed files with 350 additions and 360 deletions
@@ -7,11 +7,9 @@ import com.cf.imes.module.manage.controller.admin.process.vo.*;
import com.cf.imes.module.manage.controller.admin.query.vo.productionStatus.OrderModuleVO;
import com.cf.imes.module.manage.controller.admin.query.vo.productionStatus.OrderPlateRespVO;
import com.cf.imes.module.manage.controller.admin.query.vo.productionStatus.PlatePageVO;
import com.cf.imes.module.manage.dal.dataobject.process.ProcessDO;
import com.cf.imes.module.manage.service.process.ProductionProcessService;
import com.cf.imes.module.manage.service.query.ProductionStatusService;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.Parameter;
import io.swagger.v3.oas.annotations.tags.Tag;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.validation.annotation.Validated;
@@ -39,18 +37,6 @@ public class ProductionProcessController {
@GetMapping("/select")
@Operation(summary = "查看当前登录用户的组织的工序信息")
@Parameter(name = "userId", description = "当前登录的用户ID", required = true, example = "1")
@PreAuthorize("@ss.hasPermission('manage:process:select')")
public CommonResult<List<ProcessDO>> getUserPage(@Valid @RequestParam("userId") Long userId) {
return success(productionProcessService.getProcess(userId));
}
@GetMapping("/page")
@Operation(summary = "查看生产工序分页")
@@ -1,77 +0,0 @@
package com.cf.imes.module.manage.dal.dataobject.process;
import com.baomidou.mybatisplus.annotation.*;
import com.cf.imes.framework.mybatis.core.dataobject.BaseDO;
import lombok.*;
@TableName("imes_base.process")
@KeySequence("process_seq") // 用于 Oracle、PostgreSQL、Kingbase、DB2、H2 数据库的主键自增。如果是 MySQL 等数据库,可不写。
@Data
@EqualsAndHashCode(callSuper = true)
@ToString(callSuper = true)
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class ProcessDO extends BaseDO {
/**
* 工序 ID
*/
@TableId
private Long id;
/**
* 工序名称
*/
private String name;
/**
* 计件工资
*/
private Double pieceRate;
/**
* 计件类型:1 数量 2 长度 3 平方 4 宽 5 高 6 体积 7 生产单金额百分比
*/
private Integer pieceType;
/**
* 工序类型:0 全部加工 1 开料 2 部件加工 3 异形封边 4 分堆 5 打包 6 出库 7 组件加工 8 板材
*/
private Integer type;
/**
* 是否推送终端客户:0 否 1 是
*/
private Boolean isCustom;
/**
* 是否推送经销商:0 否 1 是
*/
private Boolean isDealer;
/**
* 排序优先级
*/
private Short sort;
/**
* 小时产量
*/
private Double hourCapacity;
/**
* 单位
*/
private String unit;
/**
* 是否启用:0 否 1 是
*/
private Boolean isEnabled;
/**
* 准备时间
*/
private Double prepareTime;
/**
* 描述
*/
private String description;
/**
* 组织id
*/
@TableField(fill = FieldFill.INSERT_UPDATE)
private Long organId;
}
@@ -1,32 +0,0 @@
package com.cf.imes.module.manage.dal.dataobject.process;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.*;
@TableName("imes_base.process_user")
@Data
@ToString(callSuper = true)
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class ProcessUserDO {
/**
* 工序 ID
*/
@TableId
private Long organId;
/**
* 工序ID
*/
private Long processId;
/**
* 用户ID
*/
private Long userId;
}
@@ -1,36 +0,0 @@
package com.cf.imes.module.manage.dal.mysql.process;
import com.cf.imes.framework.mybatis.core.mapper.BaseMapperX;
import com.cf.imes.framework.mybatis.core.query.LambdaQueryWrapperX;
import com.cf.imes.framework.mybatis.core.query.MPJLambdaWrapperX;
import com.cf.imes.module.manage.controller.admin.process.vo.UserProcessRespVO;
import com.cf.imes.module.manage.dal.dataobject.process.ProcessDO;
import com.cf.imes.module.manage.dal.dataobject.process.ProcessUserDO;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Update;
import java.util.List;
/**
* 生产单工序表 order_process_{N} Mapper
*
* @author 晨丰科技
*/
@Mapper
public interface ProcessMapper extends BaseMapperX<ProcessDO> {
default List<ProcessDO> selectProcessList(Long organId,Long userId) {
return selectJoinList(ProcessDO.class, new MPJLambdaWrapperX<ProcessDO>()
.leftJoin(ProcessUserDO.class, ProcessUserDO::getProcessId, ProcessDO::getId)
.eq(ProcessUserDO::getUserId, userId)
.eq(ProcessDO::getOrganId, organId)
.eq(ProcessDO::getIsEnabled,true)
.selectAll(ProcessDO.class)
.orderByDesc(ProcessDO::getId));
}
}
@@ -1,12 +0,0 @@
package com.cf.imes.module.manage.dal.mysql.process;
import com.cf.imes.framework.mybatis.core.mapper.BaseMapperX;
import com.cf.imes.module.manage.dal.dataobject.process.ProcessUserDO;
import org.apache.ibatis.annotations.Mapper;
@Mapper
public interface ProcessUserMapper extends BaseMapperX<ProcessUserDO> {
}
@@ -37,6 +37,7 @@ import java.util.stream.Collectors;
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.manage.util.search.SearchUtil.insertSeparator;
import static com.cf.imes.module.system.enums.ErrorCodeConstants.*;
@Service
@@ -64,11 +65,18 @@ public class PackServiceImpl implements PackService {
@Override
public PageResult<PackRespVO> getPackPage(PackPageReqVO pageReqVO) {
pageReqVO.setCustomer(insertSeparator(pageReqVO.getCustomer()));
pageReqVO.setCustomOrderNo(insertSeparator(pageReqVO.getCustomOrderNo()));
pageReqVO.setAddress(insertSeparator(pageReqVO.getAddress()));
PageDTO<PackRespVO> page = new PageDTO<>(pageReqVO.getPageNo(), pageReqVO.getPageSize());
// 根据生产状态查询生产单号
List<Long> collect = productionStatusMapper.selectPackPage(pageReqVO,getUserOrganId()).stream().map(OrderDO::getId).collect(Collectors.toList());
if(collect.isEmpty()){
return null;
}
// 查询打包首页分页数据信息,包裹数,板件数量信息
IPage<PackRespVO> packRespVOS = productionStatusMapper.selectOrderPlate(page,collect,getUserOrganId());
@@ -4,15 +4,12 @@ package com.cf.imes.module.manage.service.process;
import com.cf.imes.framework.common.pojo.PageResult;
import com.cf.imes.module.manage.controller.admin.process.vo.*;
import com.cf.imes.module.manage.controller.admin.query.vo.productionStatus.OrderModuleVO;
import com.cf.imes.module.manage.dal.dataobject.process.ProcessDO;
import java.util.List;
public interface ProductionProcessService {
// 查看组织的工序信息
List<ProcessDO> getProcess(Long userId);
// 生产工序单分页查询
@@ -1,50 +1,34 @@
package com.cf.imes.module.manage.service.process;
import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.collection.CollectionUtil;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.PageDTO;
import com.cf.imes.framework.common.enums.ProcessProcessingTypeEnum;
import com.cf.imes.framework.common.enums.ProcessingStatusEnum;
import com.cf.imes.framework.common.exception.ServiceException;
import com.cf.imes.framework.common.exception.util.ServiceExceptionUtil;
import com.cf.imes.framework.common.pojo.PageResult;
import com.cf.imes.framework.common.util.object.BeanUtils;
import com.cf.imes.framework.organ.core.context.OrganContextHolder;
import com.cf.imes.module.manage.config.VocieParameters;
import com.cf.imes.module.manage.controller.admin.pack.vo.PackRespVO;
import com.cf.imes.module.manage.controller.admin.process.vo.*;
import com.cf.imes.module.manage.controller.admin.query.vo.productionStatus.OrderModuleVO;
import com.cf.imes.module.manage.dal.dataobject.pack.OrderBodyDO;
import com.cf.imes.module.manage.dal.dataobject.process.OrderProcessStepItemNDO;
import com.cf.imes.module.manage.dal.dataobject.process.OrderProcessStepNDO;
import com.cf.imes.module.manage.dal.dataobject.process.ProcessDO;
import com.cf.imes.module.manage.dal.dataobject.query.OrderItemDO;
import com.cf.imes.module.manage.dal.mysql.pack.OrderBodyMapper;
import com.cf.imes.module.manage.dal.mysql.plate.OrderPlateMapper;
import com.cf.imes.module.manage.dal.mysql.process.*;
import com.cf.imes.module.manage.dal.mysql.query.OrderItemMapper;
import com.cf.imes.module.manage.util.page.PageHelperUtil;
import com.cf.imes.module.system.enums.ErrorCodeConstants;
import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.security.core.parameters.P;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.validation.annotation.Validated;
import javax.annotation.Resource;
import java.io.IOException;
import java.util.*;
import java.util.stream.Collectors;
import static com.baomidou.mybatisplus.core.toolkit.Wrappers.update;
import static com.cf.imes.framework.common.exception.enums.GlobalErrorCodeConstants.INTERNAL_SERVER_ERROR;
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.manage.util.search.SearchUtil.insertSeparator;
/**
@@ -65,8 +49,7 @@ public class ProductionProcessServiceImpl implements ProductionProcessService {
@Resource
private ProcessStepItemMapper processStepItemMapper;
@Resource
private ProcessMapper processMapper;
@Resource
@@ -81,15 +64,6 @@ public class ProductionProcessServiceImpl implements ProductionProcessService {
// 查看组织的工序信息
@Override
public List<ProcessDO> getProcess(Long userId) {
// 获取组织id
Long organId = OrganContextHolder.getOrganId();
return processMapper.selectProcessList(organId,userId);
}
@@ -97,6 +71,11 @@ public class ProductionProcessServiceImpl implements ProductionProcessService {
@Override
public PageResult<ProcessRespVO> getProcessPage(ProcessPageReqVO pageReqVO) {
pageReqVO.setCustomer(insertSeparator(pageReqVO.getCustomer()));
pageReqVO.setCustomOrderNo(insertSeparator(pageReqVO.getCustomOrderNo()));
pageReqVO.setAddress(insertSeparator(pageReqVO.getAddress()));
PageDTO<ProcessRespVO> page = new PageDTO<>(pageReqVO.getPageNo(), pageReqVO.getPageSize());
IPage<ProcessRespVO> processRespVOS = processStepMapper.selectOrder(page,pageReqVO,getUserOrganId());
@@ -120,6 +99,9 @@ public class ProductionProcessServiceImpl implements ProductionProcessService {
// 修改工序明细表的工序状态
@Override
@Transactional(rollbackFor = Exception.class)
@@ -0,0 +1,42 @@
package com.cf.imes.module.manage.util.search;
/**
* 模糊搜索 工具类
*
* @author 晨丰科技
*/
public class SearchUtil {
/**
* 拼接需要模糊搜索的字符串
*
*
*/
public static String insertSeparator(String input) {
// 如果输入字符串为空,直接返回空字符串
if (input == null || input.isEmpty()) {
return input;
}
// 使用StringBuilder进行字符串拼接
StringBuilder result = new StringBuilder();
// 遍历输入字符串的每个字符
for (int i = 0; i < input.length(); i++) {
result.append(input.charAt(i));
// 如果不是最后一个字符,添加分隔符
if (i < input.length() - 1) {
result.append("%");
}
}
// 返回拼接后的字符串
return result.toString();
}
}
@@ -60,10 +60,10 @@
and opsi.status = #{pageReqVO.processStatus}
</if>
<if test="pageReqVO.orderId != null">
and o.id = #{pageReqVO.orderId}
and ops.order_id = #{pageReqVO.orderId}
</if>
<if test="pageReqVO.customOrderNo != null">
and o.custom_order_no = #{pageReqVO.customOrderNo}
and o.custom_order_no like concat('%', #{pageReqVO.customOrderNo},'%')
</if>
<if test="pageReqVO.customer != null">
and o.customer like concat('%',#{pageReqVO.customer},'%')
@@ -153,11 +153,11 @@
ops.status as status,
ops.manager as manager,
ops.finish_time as processDate,
opsi.group_name as groupName,
op.name as groupName,
ops.sort
from order_process_step ops
join order_process_step_item opsi on ops.id = opsi.process_step_id and ops.organ_id = opsi.organ_id
join order_process op on ops.order_process_id = op.id and ops.organ_id = op.organ_id
where ops.order_id = #{orderNo} and ops.organ_id = #{organId}
order by ops.sort ;