opt:pda工单查询,工单组盘优化
This commit is contained in:
@@ -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
|
||||||
|
|||||||
@@ -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());
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -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);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 新增工单
|
* 新增工单
|
||||||
|
|||||||
@@ -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> {
|
||||||
|
}
|
||||||
@@ -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);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 保存工单
|
* 保存工单
|
||||||
|
|||||||
@@ -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 < 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>
|
||||||
|
|
||||||
|
|||||||
@@ -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;
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user