opt:pda工单查询,工单组盘优化

This commit is contained in:
zhaoyf
2026-07-06 17:23:48 +08:00
parent 0a4b1ad2e3
commit 09bba0589b
7 changed files with 38 additions and 39 deletions

View File

@@ -40,8 +40,8 @@ public class WorkOrderController {
} }
@GetMapping("/getListPda") @GetMapping("/getListPda")
public ResponseEntity getListPda(Map query, PageQuery page){ public ResponseEntity getListPda(@RequestParam Map query){
return new ResponseEntity<>(TableDataInfo.build(iWorkOrderService.queryList(page,query)),HttpStatus.OK); return new ResponseEntity<>(iWorkOrderService.queryList(query),HttpStatus.OK);
} }
@PostMapping @PostMapping

View File

@@ -1,6 +1,7 @@
package org.nl.wms.welding_manage.service.product_group.impl; package org.nl.wms.welding_manage.service.product_group.impl;
import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.nl.common.utils.IdUtil; import org.nl.common.utils.IdUtil;
@@ -11,6 +12,8 @@ import org.nl.wms.welding_manage.enums.work_order.StatusEnum;
import org.nl.wms.welding_manage.service.product_group.IProductGroupService; import org.nl.wms.welding_manage.service.product_group.IProductGroupService;
import org.nl.wms.welding_manage.service.product_group.dto.GroupPalletDto; import org.nl.wms.welding_manage.service.product_group.dto.GroupPalletDto;
import org.nl.wms.welding_manage.service.work_order.IWorkOrderService; import org.nl.wms.welding_manage.service.work_order.IWorkOrderService;
import org.nl.wms.welding_manage.service.work_order.dao.WorkOrderBomDao;
import org.nl.wms.welding_manage.service.work_order.dao.mapper.WorkOrderBomMapper;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
@@ -30,6 +33,9 @@ public class ProductGroupServiceImpl implements IProductGroupService {
@Autowired @Autowired
private IWorkOrderService workOrderService; private IWorkOrderService workOrderService;
@Autowired
private WorkOrderBomMapper workOrderBomMapper;
@Autowired @Autowired
private MdPbGroupplateMapper GroupPlateMapper; private MdPbGroupplateMapper GroupPlateMapper;
@@ -93,5 +99,13 @@ public class ProductGroupServiceImpl implements IProductGroupService {
schBasePointService.update(new LambdaUpdateWrapper<SchBasePoint>() schBasePointService.update(new LambdaUpdateWrapper<SchBasePoint>()
.set(SchBasePoint::getVehicle_code, dto.getPalletCode()) .set(SchBasePoint::getVehicle_code, dto.getPalletCode())
.eq(SchBasePoint::getPoint_code, dto.getPointCode())); .eq(SchBasePoint::getPoint_code, dto.getPointCode()));
//更新工单单据状态
List<WorkOrderBomDao> items = workOrderBomMapper.selectList(new LambdaQueryWrapper<WorkOrderBomDao>()
.eq(WorkOrderBomDao::getWork_order_code, dto.getWorkOrder()));
if (items.stream().noneMatch(item -> item.getBom_qty().compareTo(item.getUse_bom_qty()) != 0)){
workOrderService.updateWorkOrderStatus(dto.getWorkOrder(), StatusEnum.WORK_ORDER_FINISH.getCode());
}
} }
} }

View File

@@ -1,8 +1,6 @@
package org.nl.wms.welding_manage.service.work_order; package org.nl.wms.welding_manage.service.work_order;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.IService; import com.baomidou.mybatisplus.extension.service.IService;
import org.nl.common.domain.query.PageQuery;
import org.nl.wms.welding_manage.service.work_order.dao.WorkOrderBomDao; import org.nl.wms.welding_manage.service.work_order.dao.WorkOrderBomDao;
import org.nl.wms.welding_manage.service.work_order.dao.WorkOrderDao; import org.nl.wms.welding_manage.service.work_order.dao.WorkOrderDao;
import org.nl.wms.welding_manage.service.work_order.dto.WorkOrderDto; import org.nl.wms.welding_manage.service.work_order.dto.WorkOrderDto;
@@ -14,12 +12,11 @@ import java.util.Map;
public interface IWorkOrderService extends IService<WorkOrderDao> { public interface IWorkOrderService extends IService<WorkOrderDao> {
/** /**
* 分页查询工单详情 * 查询工单详情
* @param pageable
* @param params * @param params
* @return * @return
*/ */
IPage<WorkOrderDto.WorkOrderDataDto> queryList(PageQuery pageable, Map params); List<WorkOrderDto.WorkOrderDataDto> queryList(Map params);
/** /**
* 新增工单 * 新增工单

View File

@@ -0,0 +1,9 @@
package org.nl.wms.welding_manage.service.work_order.dao.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.apache.ibatis.annotations.Mapper;
import org.nl.wms.welding_manage.service.work_order.dao.WorkOrderBomDao;
@Mapper
public interface WorkOrderBomMapper extends BaseMapper<WorkOrderBomDao> {
}

View File

@@ -1,8 +1,6 @@
package org.nl.wms.welding_manage.service.work_order.dao.mapper; package org.nl.wms.welding_manage.service.work_order.dao.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import io.lettuce.core.dynamic.annotation.Param; import io.lettuce.core.dynamic.annotation.Param;
import org.apache.ibatis.annotations.Select; import org.apache.ibatis.annotations.Select;
import org.nl.wms.welding_manage.service.work_order.dao.WorkOrderBomDao; import org.nl.wms.welding_manage.service.work_order.dao.WorkOrderBomDao;
@@ -20,11 +18,10 @@ public interface WorkOrderMapper extends BaseMapper<WorkOrderDao> {
/** /**
* 分页查询工单 * 分页查询工单
* @param page
* @param params * @param params
* @return * @return
*/ */
IPage<WorkOrderDto.WorkOrderDataDto> queryList(Page<WorkOrderDto.WorkOrderDataDto> page, @Param("params") Map params); List<WorkOrderDto.WorkOrderDataDto> queryList(@Param("params") Map params);
/** /**
* 保存工单 * 保存工单

View File

@@ -58,23 +58,7 @@
<!--查询工单列表--> <!--查询工单列表-->
<select id="queryList" resultMap="workOrderList"> <select id="queryList" resultMap="workOrderList">
SELECT * FROM md_work_order SELECT * FROM md_work_order
<where> where status &lt; 3
<if test="params.orderCode != null and params.orderCode != ''" >
AND order_code LIKE CONCAT('%', #{params.orderCode}, '%')
</if>
<if test="params.productName" >
AND product_name = #{params.productName}
</if>
<if test="params.bomCode != null" >
AND bom_code = #{params.bomCode}
</if>
<if test="params.workArea != null" >
AND work_area = #{params.workArea}
</if>
<if test="params.status" >
AND `status` = #{params.status}
</if>
</where>
ORDER BY `plan_started_on` Desc ORDER BY `plan_started_on` Desc
</select> </select>

View File

@@ -1,18 +1,15 @@
package org.nl.wms.welding_manage.service.work_order.impl; package org.nl.wms.welding_manage.service.work_order.impl;
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.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
import org.nl.common.domain.query.PageQuery;
import org.nl.common.exception.BadRequestException; import org.nl.common.exception.BadRequestException;
import org.nl.wms.welding_manage.service.work_order.IWorkOrderService;
import org.nl.wms.welding_manage.service.work_order.dao.WorkOrderBomDao; import org.nl.wms.welding_manage.service.work_order.dao.WorkOrderBomDao;
import org.nl.wms.welding_manage.service.work_order.dao.WorkOrderDao; import org.nl.wms.welding_manage.service.work_order.dao.WorkOrderDao;
import org.nl.wms.welding_manage.service.work_order.dao.mapper.WorkOrderMapper; import org.nl.wms.welding_manage.service.work_order.dao.mapper.WorkOrderMapper;
import org.nl.wms.welding_manage.service.work_order.dto.WorkOrderDto; import org.nl.wms.welding_manage.service.work_order.dto.WorkOrderDto;
import org.nl.wms.welding_manage.service.work_order.IWorkOrderService;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
@@ -20,7 +17,10 @@ import org.springframework.transaction.annotation.Transactional;
import java.math.BigDecimal; import java.math.BigDecimal;
import java.time.LocalDateTime; import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter; import java.time.format.DateTimeFormatter;
import java.util.*; import java.util.Arrays;
import java.util.List;
import java.util.Map;
import java.util.Objects;
import java.util.stream.Collectors; import java.util.stream.Collectors;
@Slf4j @Slf4j
@@ -31,12 +31,11 @@ public class WorkOrderServiceImpl extends ServiceImpl<WorkOrderMapper, WorkOrder
private WorkOrderMapper workOrderMapper; private WorkOrderMapper workOrderMapper;
@Override @Override
public IPage<WorkOrderDto.WorkOrderDataDto> queryList(PageQuery page, Map params) { public List<WorkOrderDto.WorkOrderDataDto> queryList(Map params) {
IPage<WorkOrderDto.WorkOrderDataDto> workOrderDataDtoIPage = workOrderMapper.queryList(new Page<>(page.getPage() + 1, page.getSize()), params); List<WorkOrderDto.WorkOrderDataDto> workOrderDataDtoIPage = workOrderMapper.queryList(params);
List<WorkOrderDto.WorkOrderDataDto> records = workOrderDataDtoIPage.getRecords(); if (workOrderDataDtoIPage != null && !workOrderDataDtoIPage.isEmpty()) {
if (records != null && !records.isEmpty()) { for (WorkOrderDto.WorkOrderDataDto record : workOrderDataDtoIPage) {
for (WorkOrderDto.WorkOrderDataDto record : records) {
//获取PortList并去重 //获取PortList并去重
List<WorkOrderDto.WorkOrderDataDto.WorkOrderBomDto> workOrderBomList = record.getWorkOrderBomList(); List<WorkOrderDto.WorkOrderDataDto.WorkOrderBomDto> workOrderBomList = record.getWorkOrderBomList();
@@ -69,7 +68,6 @@ public class WorkOrderServiceImpl extends ServiceImpl<WorkOrderMapper, WorkOrder
} }
} }
workOrderDataDtoIPage.setRecords(records);
return workOrderDataDtoIPage; return workOrderDataDtoIPage;
} }