新增工单页面批量选择工单物料进行出库

This commit is contained in:
psh
2024-04-09 16:05:41 +08:00
parent e31579cea6
commit 3b0b5bc2cf
16 changed files with 663 additions and 26 deletions

View File

@@ -0,0 +1,66 @@
package org.nl.wms.pdm.controller;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j;
import org.nl.common.base.TableDataInfo;
import org.nl.common.domain.query.PageQuery;
import org.nl.common.logging.annotation.Log;
import org.nl.wms.pdm.service.IPdmBdWorkorderService;
import org.nl.wms.pdm.service.dao.PdmBdWorkorder;
import org.nl.wms.pdm.service.dto.PdmBdWorkorderQuery;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.HttpStatus;
import org.springframework.http.ResponseEntity;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import java.util.Set;
/**
* @author lyd
* @date 2023-05-05
**/
@Slf4j
@RestController
@Api(tags = "工单管理管理")
@RequestMapping("/api/pdmBdWorkorder")
public class PdmBdWorkorderController {
@Autowired
private IPdmBdWorkorderService pdmBdWorkorderService;
@GetMapping
@Log("查询工单管理")
@ApiOperation("查询工单管理")
//@SaCheckPermission("@el.check('pdmBdWorkorder:list')")
public ResponseEntity<Object> query(PdmBdWorkorderQuery query, PageQuery page){
return new ResponseEntity<>(TableDataInfo.build(pdmBdWorkorderService.queryAll(query,page)),HttpStatus.OK);
}
@PostMapping
@Log("新增工单管理")
@ApiOperation("新增工单管理")
//@SaCheckPermission("@el.check('pdmBdWorkorder:add')")
public ResponseEntity<Object> create(@Validated @RequestBody PdmBdWorkorder entity){
pdmBdWorkorderService.create(entity);
return new ResponseEntity<>(HttpStatus.CREATED);
}
@PutMapping
@Log("修改工单管理")
@ApiOperation("修改工单管理")
//@SaCheckPermission("@el.check('pdmBdWorkorder:edit')")
public ResponseEntity<Object> update(@Validated @RequestBody PdmBdWorkorder entity){
pdmBdWorkorderService.update(entity);
return new ResponseEntity<>(HttpStatus.NO_CONTENT);
}
@Log("删除工单管理")
@ApiOperation("删除工单管理")
//@SaCheckPermission("@el.check('pdmBdWorkorder:del')")
@DeleteMapping
public ResponseEntity<Object> delete(@RequestBody Set<String> ids) {
pdmBdWorkorderService.deleteAll(ids);
return new ResponseEntity<>(HttpStatus.OK);
}
}

View File

@@ -0,0 +1,47 @@
package org.nl.wms.pdm.controller;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j;
import org.nl.common.base.TableDataInfo;
import org.nl.common.domain.query.PageQuery;
import org.nl.common.logging.annotation.Log;
import org.nl.wms.pdm.service.IPdmBdWorkorderService;
import org.nl.wms.pdm.service.dao.PdmBdWorkorder;
import org.nl.wms.pdm.service.dao.PdmBdWorkorderDetail;
import org.nl.wms.pdm.service.dto.PdmBdWorkorderQuery;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.HttpStatus;
import org.springframework.http.ResponseEntity;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import java.util.Set;
@Slf4j
@RestController
@Api(tags = "工单详情管理")
@RequestMapping("/api/pdmBdWorkorderDetail")
public class PdmBdWorkorderDetailController {
@Autowired
private IPdmBdWorkorderService pdmBdWorkorderService;
@GetMapping
@Log("查询工单详情管理")
@ApiOperation("查询工单详情管理")
//@SaCheckPermission("@el.check('pdmBdWorkorder:list')")
public ResponseEntity<Object> query(PdmBdWorkorderQuery query, PageQuery page){
return new ResponseEntity<>(TableDataInfo.build(pdmBdWorkorderService.queryAllDetail(query,page)),HttpStatus.OK);
}
@GetMapping
@Log("根据物料查询点位库存")
@ApiOperation("根据物料查询点位库存")
//@SaCheckPermission("@el.check('pdmBdWorkorder:list')")
public ResponseEntity<Object> queryPointDetail(String PalletSN, PageQuery page){
return new ResponseEntity<>(TableDataInfo.build(pdmBdWorkorderService.queryPointDetail(PalletSN,page)),HttpStatus.OK);
}
}

View File

@@ -0,0 +1,50 @@
package org.nl.wms.pdm.service.dto;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import lombok.EqualsAndHashCode;
import java.io.Serializable;
import java.math.BigDecimal;
@Data
@EqualsAndHashCode(callSuper = false)
@TableName("sch_base_material")
public class PdmBdWorkorderDetail implements Serializable {
/** 工单编号 */
private String workorder_code;
/** 实际数量 */
private BigDecimal real_qty;
/** 订单行项目编号 **/
private String POSNR;
/** 预留行项目编号 **/
private String RSPOS;
/** 移动类型 **/
private String BWART;
/** 物料编码 **/
private String MATNR;
/** 物料名称 **/
private String MAKTX;
/** 产品类别 **/
private String MTYPE;
/** 产品类别描述 **/
private String MTYTXT;
/** 数量 **/
private String BDMNG;
/** 计量单位 **/
private String MEINS;
/** 物料供应标识 **/
private String BEIKZ;
/** 预留字段11 **/
private String ZRSV11;
/** 预留字段12 **/
private String ZRSV12;
/** 预留字段13 **/
private String ZRSV13;
/** 预留字段14 **/
private String ZRSV14;
/** 预留字段15 **/
private String ZRSV15;
}

View File

@@ -0,0 +1,2 @@
package org.nl.wms.pdm.service.dao;public class PointDetail {
}

View File

@@ -0,0 +1,11 @@
package org.nl.wms.pdm.service.dao;
import lombok.Data;
@Data
public class PointDetail {
private String point_code;
private String productName;
private String PalletSN;
private String qty;
}

View File

@@ -0,0 +1,13 @@
package org.nl.wms.pdm.service.dao.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import org.nl.wms.pdm.service.dao.PdmBdWorkorder;
import org.nl.wms.pdm.service.dao.PdmBdWorkorderDetail;
import org.nl.wms.pdm.service.dao.PointDetail;
import org.nl.wms.pdm.service.dto.PdmBdWorkorderQuery;
public interface PdmBdWorkorderDetailMapper extends BaseMapper<PdmBdWorkorderDetail> {
IPage<PointDetail> selectPointDetail(IPage<PointDetail> pages, String productname);
}

View File

@@ -0,0 +1,10 @@
<?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="org.nl.wms.pdm.service.dao.mapper.PdmBdWorkorderDetailMapper">
<select id="selectPointDetail" resultType="org.nl.wms.pdm.service.dao.PointDetail">
select p.point_code,productName,PalletSN,qty from sch_base_point p left join
(select productName,PalletSN,sum(qty) as qty from sch_base_material GROUP BY productName,PalletSN ) m
on p.vehicle_code2=m.PalletSN
where p.region_code='YL' and p.ing_task_code is not null and m.productname=#{productname}
</select>
</mapper>

View File

@@ -3,7 +3,9 @@ package org.nl.wms.pdm.service.impl;
import cn.hutool.core.date.DateUtil;
import cn.hutool.core.util.IdUtil;
import cn.hutool.core.util.ObjectUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.StringUtils;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import lombok.extern.slf4j.Slf4j;
@@ -13,6 +15,9 @@ import org.nl.common.utils.CodeUtil;
import org.nl.common.utils.SecurityUtils;
import org.nl.wms.pdm.service.IPdmBdWorkorderService;
import org.nl.wms.pdm.service.dao.PdmBdWorkorder;
import org.nl.wms.pdm.service.dao.PdmBdWorkorderDetail;
import org.nl.wms.pdm.service.dao.PointDetail;
import org.nl.wms.pdm.service.dao.mapper.PdmBdWorkorderDetailMapper;
import org.nl.wms.pdm.service.dao.mapper.PdmBdWorkorderMapper;
import org.nl.wms.pdm.service.dto.PdmBdWorkorderQuery;
import org.springframework.beans.factory.annotation.Autowired;
@@ -32,6 +37,8 @@ public class PdmBdWorkorderServiceImpl extends ServiceImpl<PdmBdWorkorderMapper,
@Autowired
private PdmBdWorkorderMapper pdmBdWorkorderMapper;
@Autowired
private PdmBdWorkorderDetailMapper pdmBdWorkorderDetailMapper;
@Override
public IPage<PdmBdWorkorder> queryAll(PdmBdWorkorderQuery query, PageQuery page){
@@ -82,4 +89,23 @@ public class PdmBdWorkorderServiceImpl extends ServiceImpl<PdmBdWorkorderMapper,
pdmBdWorkorderMapper.deleteBatchIds(ids);
}
@Override
public void createDetail(PdmBdWorkorderDetail entity) {
pdmBdWorkorderDetailMapper.insert(entity);
}
@Override
public IPage<PdmBdWorkorderDetail> queryAllDetail(PdmBdWorkorderQuery query, PageQuery page){
IPage<PdmBdWorkorderDetail> pages = new Page<>(page.getPage() + 1, page.getSize());
LambdaQueryWrapper<PdmBdWorkorderDetail> wrapper = new LambdaQueryWrapper<>();
wrapper.eq(PdmBdWorkorderDetail::getWorkorder_code,query.getWorkorder_code());
pages = pdmBdWorkorderDetailMapper.selectPage(pages,wrapper);
return pages;
}
@Override
public IPage<PointDetail> queryPointDetail(String productname, PageQuery page){
IPage<PointDetail> pages = new Page<>(page.getPage() + 1, page.getSize());
pages = pdmBdWorkorderDetailMapper.selectPointDetail(pages, productname);
return pages;
}
}

View File

@@ -198,7 +198,7 @@ public class KJRKTask extends AbstractTask {
vehiclematerialgroupService.save(groupEntity);
// 任务完成
taskObj.setTask_status(TaskStatus.FINISHED.getCode());
taskObj.setGroup_id(groupEntity.getGroup_id());
taskObj.setGroup_id(ObjectUtil.isNotEmpty(groupEntity)?groupEntity.getGroup_id():null);
taskObj.setRemark("任务完成");
try {
//todo 入库成功后上报mes

View File

@@ -189,7 +189,7 @@ public class POINTTask extends AbstractTask {
pointService.updateById(startPointObj);
// 任务完成
taskObj.setTask_status(TaskStatus.FINISHED.getCode());
taskObj.setGroup_id(one.getGroup_id());
taskObj.setGroup_id(ObjectUtil.isNotEmpty(one)?one.getGroup_id():null);
taskObj.setRemark("任务完成");
}
if (status.equals(TaskStatus.CANCELED)) { // 取消

View File

@@ -197,7 +197,7 @@ public class SSXBKJTask extends AbstractTask {
vehiclematerialgroupService.save(groupEntity);
// 任务完成
taskObj.setTask_status(TaskStatus.FINISHED.getCode());
taskObj.setGroup_id(groupEntity.getGroup_id());
taskObj.setGroup_id(ObjectUtil.isNotEmpty(groupEntity)?groupEntity.getGroup_id():null);
taskObj.setRemark("任务完成");
try {
//todo 入库成功后上报mes

View File

@@ -114,10 +114,10 @@ public class YCLCKTask extends AbstractTask {
taskService.update(task);
//发起任务时先把点位占用,防止发起重复任务
// point.setIng_task_code(task.getTask_code());
point.setIng_task_code(task.getTask_code());
// point.setVehicle_qty(point.getVehicle_qty() - 1);
// point.setVehicle_type(materialType);
// pointService.update(point);
pointService.update(point);
//下发
this.renotifyAcs(task);
@@ -224,7 +224,7 @@ public class YCLCKTask extends AbstractTask {
pointService.updateById(startPointObj);
// 任务完成
taskObj.setTask_status(TaskStatus.FINISHED.getCode());
taskObj.setGroup_id(one.getGroup_id());
taskObj.setGroup_id(ObjectUtil.isNotEmpty(one)?one.getGroup_id():null);
taskObj.setRemark("任务完成");
try {
//todo 待确认具体传值

View File

@@ -201,7 +201,7 @@ public class YCLRKTask extends AbstractTask {
vehiclematerialgroupService.save(groupEntity);
// 任务完成
taskObj.setTask_status(TaskStatus.FINISHED.getCode());
taskObj.setGroup_id(groupEntity.getGroup_id());
taskObj.setGroup_id(ObjectUtil.isNotEmpty(groupEntity)?groupEntity.getGroup_id():null);
taskObj.setRemark("任务完成");
try {
//todo 待确认具体传值