fix:新增分配数量 处理数量逻辑
This commit is contained in:
@@ -4,9 +4,12 @@ package org.nl.wms.basedata_manage.controller;
|
|||||||
import cn.hutool.core.date.DateUtil;
|
import cn.hutool.core.date.DateUtil;
|
||||||
import cn.hutool.core.util.ObjectUtil;
|
import cn.hutool.core.util.ObjectUtil;
|
||||||
import com.alibaba.fastjson.JSONObject;
|
import com.alibaba.fastjson.JSONObject;
|
||||||
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||||
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
|
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
|
||||||
|
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
|
||||||
import lombok.RequiredArgsConstructor;
|
import lombok.RequiredArgsConstructor;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
|
import org.apache.commons.lang3.StringUtils;
|
||||||
import org.checkerframework.checker.units.qual.A;
|
import org.checkerframework.checker.units.qual.A;
|
||||||
import org.nl.common.base.TableDataInfo;
|
import org.nl.common.base.TableDataInfo;
|
||||||
import org.nl.common.domain.query.PageQuery;
|
import org.nl.common.domain.query.PageQuery;
|
||||||
@@ -18,16 +21,24 @@ import org.nl.wms.basedata_manage.service.IMdCsSupplierbaseService;
|
|||||||
import org.nl.wms.basedata_manage.service.IMdPbStoragevehicleinfoService;
|
import org.nl.wms.basedata_manage.service.IMdPbStoragevehicleinfoService;
|
||||||
import org.nl.wms.basedata_manage.service.dao.MdCsSupplierbase;
|
import org.nl.wms.basedata_manage.service.dao.MdCsSupplierbase;
|
||||||
import org.nl.wms.basedata_manage.service.dao.MdPbStoragevehicleinfo;
|
import org.nl.wms.basedata_manage.service.dao.MdPbStoragevehicleinfo;
|
||||||
|
import org.nl.wms.pm_manage.service.IPmFormDataService;
|
||||||
|
import org.nl.wms.pm_manage.service.dao.PmFormData;
|
||||||
|
import org.nl.wms.sch_manage.enums.PointStatusEnum;
|
||||||
|
import org.nl.wms.sch_manage.service.ISchBasePointService;
|
||||||
|
import org.nl.wms.sch_manage.service.dao.SchBasePoint;
|
||||||
import org.nl.wms.warehouse_manage.enums.IOSEnum;
|
import org.nl.wms.warehouse_manage.enums.IOSEnum;
|
||||||
import org.nl.wms.warehouse_manage.service.IMdPbGroupplateService;
|
import org.nl.wms.warehouse_manage.service.IMdPbGroupplateService;
|
||||||
import org.nl.wms.warehouse_manage.service.dao.GroupPlate;
|
import org.nl.wms.warehouse_manage.service.dao.GroupPlate;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
import org.springframework.http.HttpStatus;
|
import org.springframework.http.HttpStatus;
|
||||||
import org.springframework.http.ResponseEntity;
|
import org.springframework.http.ResponseEntity;
|
||||||
|
import org.springframework.transaction.annotation.Transactional;
|
||||||
import org.springframework.util.Assert;
|
import org.springframework.util.Assert;
|
||||||
|
import org.springframework.util.CollectionUtils;
|
||||||
import org.springframework.web.bind.annotation.*;
|
import org.springframework.web.bind.annotation.*;
|
||||||
|
|
||||||
import javax.annotation.Resource;
|
import javax.annotation.Resource;
|
||||||
|
import java.util.List;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
import java.util.Set;
|
import java.util.Set;
|
||||||
|
|
||||||
@@ -52,6 +63,13 @@ public class GroupController {
|
|||||||
private final IMdPbStoragevehicleinfoService iMdPbStoragevehicleinfoService;
|
private final IMdPbStoragevehicleinfoService iMdPbStoragevehicleinfoService;
|
||||||
@Autowired
|
@Autowired
|
||||||
private IMdCsSupplierbaseService supplierbaseService;
|
private IMdCsSupplierbaseService supplierbaseService;
|
||||||
|
@Autowired
|
||||||
|
private IPmFormDataService iPmFormDataService;
|
||||||
|
/**
|
||||||
|
* 点位服务
|
||||||
|
*/
|
||||||
|
@Autowired
|
||||||
|
private ISchBasePointService iSchBasePointService;
|
||||||
|
|
||||||
@GetMapping
|
@GetMapping
|
||||||
@Log("分页查询")
|
@Log("分页查询")
|
||||||
@@ -62,8 +80,9 @@ public class GroupController {
|
|||||||
|
|
||||||
@PostMapping
|
@PostMapping
|
||||||
@Log("新增组盘组盘")
|
@Log("新增组盘组盘")
|
||||||
|
@Transactional
|
||||||
public ResponseEntity<Object> create(@RequestBody JSONObject group) {
|
public ResponseEntity<Object> create(@RequestBody JSONObject group) {
|
||||||
Assert.noNullElements(new Object[]{group,group.get("material_id"),group.get("storagevehicle_code"),group.get("qty")},"请求参数不能为空");
|
Assert.noNullElements(new Object[]{group, group.get("material_id"), group.get("storagevehicle_code"), group.get("qty")}, "请求参数不能为空");
|
||||||
GroupPlate groupPlate = group.toJavaObject(GroupPlate.class);
|
GroupPlate groupPlate = group.toJavaObject(GroupPlate.class);
|
||||||
String storagevehicleCode = groupPlate.getStoragevehicle_code();
|
String storagevehicleCode = groupPlate.getStoragevehicle_code();
|
||||||
{
|
{
|
||||||
@@ -71,7 +90,7 @@ public class GroupController {
|
|||||||
int has = iMdPbGroupplateService.count(new LambdaUpdateWrapper<GroupPlate>()
|
int has = iMdPbGroupplateService.count(new LambdaUpdateWrapper<GroupPlate>()
|
||||||
.eq(GroupPlate::getStoragevehicle_code, groupPlate.getStoragevehicle_code())
|
.eq(GroupPlate::getStoragevehicle_code, groupPlate.getStoragevehicle_code())
|
||||||
.lt(GroupPlate::getStatus, IOSEnum.GROUP_PLATE_STATUS.code("出库")));
|
.lt(GroupPlate::getStatus, IOSEnum.GROUP_PLATE_STATUS.code("出库")));
|
||||||
if (has>0){
|
if (has > 0) {
|
||||||
throw new BadRequestException("当前载具组盘信息已存在");
|
throw new BadRequestException("当前载具组盘信息已存在");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -79,6 +98,50 @@ public class GroupController {
|
|||||||
if (ObjectUtil.isEmpty(supp)) {
|
if (ObjectUtil.isEmpty(supp)) {
|
||||||
throw new BadRequestException("供应商信息不存在!");
|
throw new BadRequestException("供应商信息不存在!");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//修改单据已分配数
|
||||||
|
if (StringUtils.isNotEmpty(groupPlate.getExt_code())) {
|
||||||
|
List<PmFormData> pmFormDataList = iPmFormDataService
|
||||||
|
.list(new LambdaUpdateWrapper<PmFormData>().eq(PmFormData::getCode, groupPlate.getExt_code()));
|
||||||
|
|
||||||
|
if (!CollectionUtils.isEmpty(pmFormDataList)) {
|
||||||
|
|
||||||
|
if(groupPlate.getQty().compareTo(pmFormDataList.get(0).getQty().subtract(pmFormDataList.get(0).getAssign_qty())) > 0){
|
||||||
|
throw new BadRequestException("组盘数量大于单据剩余数量,请核对!");
|
||||||
|
}
|
||||||
|
|
||||||
|
if(!pmFormDataList.get(0).getMaterial_code().equals(groupPlate.getMaterial_code())){
|
||||||
|
throw new BadRequestException("组盘的物料编码与单据的物料编码不一致,请核对!");
|
||||||
|
}
|
||||||
|
|
||||||
|
if (groupPlate.getQty().compareTo(pmFormDataList.get(0).getQty().subtract(pmFormDataList.get(0).getAssign_qty())) == 0) {
|
||||||
|
iPmFormDataService.update(
|
||||||
|
new LambdaUpdateWrapper<PmFormData>()
|
||||||
|
.set(PmFormData::getStatus, IOSEnum.BILL_STATUS.code("分配完"))
|
||||||
|
.set(PmFormData::getAssign_qty, pmFormDataList.get(0).getAssign_qty().add(groupPlate.getQty()))
|
||||||
|
.set(PmFormData::getUpdate_time, DateUtil.now())
|
||||||
|
.set(PmFormData::getUpdate_name, SecurityUtils.getCurrentNickName())
|
||||||
|
.eq(PmFormData::getCode, groupPlate.getExt_code()));
|
||||||
|
} else {
|
||||||
|
iPmFormDataService.update(
|
||||||
|
new LambdaUpdateWrapper<PmFormData>()
|
||||||
|
.set(PmFormData::getAssign_qty, pmFormDataList.get(0).getAssign_qty().add(groupPlate.getQty()))
|
||||||
|
.set(PmFormData::getStatus, IOSEnum.BILL_STATUS.code("分配中"))
|
||||||
|
.set(PmFormData::getUpdate_time, DateUtil.now())
|
||||||
|
.set(PmFormData::getUpdate_name, SecurityUtils.getCurrentNickName())
|
||||||
|
.eq(PmFormData::getCode, groupPlate.getExt_code()));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
//修改点位表中的点位为有料
|
||||||
|
iSchBasePointService.update(
|
||||||
|
new LambdaUpdateWrapper<SchBasePoint>()
|
||||||
|
.set(SchBasePoint::getPoint_status, PointStatusEnum.FULL_POINT.getCode())
|
||||||
|
.set(SchBasePoint::getUpdate_time, DateUtil.now())
|
||||||
|
.set(SchBasePoint::getUpdate_name, SecurityUtils.getCurrentNickName())
|
||||||
|
.eq(SchBasePoint::getVehicle_code, groupPlate.getStoragevehicle_code()));
|
||||||
|
|
||||||
|
|
||||||
groupPlate.setSupp_code(supp.getSupp_code());
|
groupPlate.setSupp_code(supp.getSupp_code());
|
||||||
groupPlate.setSupp_name(supp.getSupp_name());
|
groupPlate.setSupp_name(supp.getSupp_name());
|
||||||
groupPlate.setGroup_id(IdUtil.getStringId());
|
groupPlate.setGroup_id(IdUtil.getStringId());
|
||||||
@@ -92,7 +155,24 @@ public class GroupController {
|
|||||||
|
|
||||||
@DeleteMapping
|
@DeleteMapping
|
||||||
@Log("删除组盘")
|
@Log("删除组盘")
|
||||||
|
@Transactional
|
||||||
public ResponseEntity<Object> delete(@RequestBody Set<String> ids) {
|
public ResponseEntity<Object> delete(@RequestBody Set<String> ids) {
|
||||||
|
List<GroupPlate> groupPlateList = iMdPbGroupplateService.list(new QueryWrapper<GroupPlate>().lambda()
|
||||||
|
.in(GroupPlate::getGroup_id, ids));
|
||||||
|
//修改单据已分配数
|
||||||
|
//查询PmFormData
|
||||||
|
for (GroupPlate groupPlate : groupPlateList) {
|
||||||
|
iPmFormDataService.update(
|
||||||
|
new LambdaUpdateWrapper<PmFormData>().setSql("assign_qty = assign_qty - " + groupPlate.getQty())
|
||||||
|
.eq(PmFormData::getCode, groupPlate.getExt_code()));
|
||||||
|
|
||||||
|
//修改点位表中的点位为空载具
|
||||||
|
iSchBasePointService.update(new LambdaUpdateWrapper<SchBasePoint>()
|
||||||
|
.set(SchBasePoint::getPoint_status, PointStatusEnum.EMPTY_VEHICLE.getCode())
|
||||||
|
.eq(SchBasePoint::getPoint_code, groupPlate.getStoragevehicle_code())
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
iMdPbGroupplateService.delete(ids);
|
iMdPbGroupplateService.delete(ids);
|
||||||
return new ResponseEntity<>(HttpStatus.OK);
|
return new ResponseEntity<>(HttpStatus.OK);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -34,6 +34,7 @@ import org.nl.wms.pda_manage.ios_manage.service.PdaIosOutService;
|
|||||||
import org.nl.wms.pda_manage.util.PdaResponse;
|
import org.nl.wms.pda_manage.util.PdaResponse;
|
||||||
import org.nl.wms.pm_manage.service.IPmFormDataService;
|
import org.nl.wms.pm_manage.service.IPmFormDataService;
|
||||||
import org.nl.wms.pm_manage.service.dao.PmFormData;
|
import org.nl.wms.pm_manage.service.dao.PmFormData;
|
||||||
|
import org.nl.wms.sch_manage.enums.PointStatusEnum;
|
||||||
import org.nl.wms.sch_manage.enums.StatusEnum;
|
import org.nl.wms.sch_manage.enums.StatusEnum;
|
||||||
import org.nl.wms.sch_manage.enums.TaskEnum;
|
import org.nl.wms.sch_manage.enums.TaskEnum;
|
||||||
import org.nl.wms.sch_manage.enums.TaskStatus;
|
import org.nl.wms.sch_manage.enums.TaskStatus;
|
||||||
@@ -228,6 +229,7 @@ public class PdaIosInServiceImpl implements PdaIosInService {
|
|||||||
if (count > 0) {
|
if (count > 0) {
|
||||||
throw new BadRequestException("载具编码:" + vehicleDao.getStoragevehicle_code() + "已存在库内,请对数据进行核实!");
|
throw new BadRequestException("载具编码:" + vehicleDao.getStoragevehicle_code() + "已存在库内,请对数据进行核实!");
|
||||||
}
|
}
|
||||||
|
|
||||||
GroupPlate groupDao = GroupPlate.builder()
|
GroupPlate groupDao = GroupPlate.builder()
|
||||||
.group_id(IdUtil.getStringId())
|
.group_id(IdUtil.getStringId())
|
||||||
.material_id(materDao.getMaterial_code())
|
.material_id(materDao.getMaterial_code())
|
||||||
@@ -242,6 +244,50 @@ public class PdaIosInServiceImpl implements PdaIosInService {
|
|||||||
.create_name(SecurityUtils.getCurrentNickName())
|
.create_name(SecurityUtils.getCurrentNickName())
|
||||||
.create_time(DateUtil.now())
|
.create_time(DateUtil.now())
|
||||||
.build();
|
.build();
|
||||||
|
|
||||||
|
|
||||||
|
//修改单据已分配数
|
||||||
|
if (StringUtils.isNotEmpty(groupDao.getExt_code())) {
|
||||||
|
List<PmFormData> pmFormDataList = iPmFormDataService
|
||||||
|
.list(new LambdaUpdateWrapper<PmFormData>().eq(PmFormData::getCode, groupDao.getExt_code()));
|
||||||
|
|
||||||
|
if (!org.springframework.util.CollectionUtils.isEmpty(pmFormDataList)) {
|
||||||
|
|
||||||
|
if(groupDao.getQty().compareTo(pmFormDataList.get(0).getQty().subtract(pmFormDataList.get(0).getAssign_qty())) > 0){
|
||||||
|
throw new BadRequestException("组盘数量大于单据剩余数量,请核对!");
|
||||||
|
}
|
||||||
|
|
||||||
|
if(!pmFormDataList.get(0).getMaterial_code().equals(groupDao.getMaterial_code())){
|
||||||
|
throw new BadRequestException("组盘的物料编码与单据的物料编码不一致,请核对!");
|
||||||
|
}
|
||||||
|
|
||||||
|
if (groupDao.getQty().compareTo(pmFormDataList.get(0).getQty().subtract(pmFormDataList.get(0).getAssign_qty())) == 0) {
|
||||||
|
iPmFormDataService.update(
|
||||||
|
new LambdaUpdateWrapper<PmFormData>()
|
||||||
|
.set(PmFormData::getStatus, IOSEnum.BILL_STATUS.code("分配完"))
|
||||||
|
.set(PmFormData::getAssign_qty, pmFormDataList.get(0).getAssign_qty().add(groupDao.getQty()))
|
||||||
|
.set(PmFormData::getUpdate_time, DateUtil.now())
|
||||||
|
.set(PmFormData::getUpdate_name, SecurityUtils.getCurrentNickName())
|
||||||
|
.eq(PmFormData::getCode, groupDao.getExt_code()));
|
||||||
|
} else {
|
||||||
|
iPmFormDataService.update(
|
||||||
|
new LambdaUpdateWrapper<PmFormData>()
|
||||||
|
.set(PmFormData::getAssign_qty, pmFormDataList.get(0).getAssign_qty().add(groupDao.getQty()))
|
||||||
|
.set(PmFormData::getStatus, IOSEnum.BILL_STATUS.code("分配中"))
|
||||||
|
.set(PmFormData::getUpdate_time, DateUtil.now())
|
||||||
|
.set(PmFormData::getUpdate_name, SecurityUtils.getCurrentNickName())
|
||||||
|
.eq(PmFormData::getCode, groupDao.getExt_code()));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
//修改点位表中的点位为有料
|
||||||
|
iSchBasePointService.update( new LambdaUpdateWrapper<SchBasePoint>()
|
||||||
|
.set(SchBasePoint::getUpdate_time, DateUtil.now())
|
||||||
|
.set(SchBasePoint::getUpdate_name, SecurityUtils.getCurrentNickName())
|
||||||
|
.set(SchBasePoint::getPoint_status, PointStatusEnum.FULL_POINT.getCode())
|
||||||
|
.eq(SchBasePoint::getVehicle_code, groupDao.getStoragevehicle_code()));
|
||||||
|
|
||||||
|
|
||||||
iMdPbGroupplateService.save(groupDao);
|
iMdPbGroupplateService.save(groupDao);
|
||||||
return PdaResponse.requestOk();
|
return PdaResponse.requestOk();
|
||||||
}
|
}
|
||||||
@@ -624,6 +670,14 @@ public class PdaIosInServiceImpl implements PdaIosInService {
|
|||||||
throw new BadRequestException("未找到载具所在的点位信息,请检查该载具是否绑定点位");
|
throw new BadRequestException("未找到载具所在的点位信息,请检查该载具是否绑定点位");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if(!"3".equals(schBasePoint.getPoint_status())){
|
||||||
|
throw new BadRequestException("系统显示点位"+schBasePoint.getPoint_code()+"不是有料状态,请确认是否组盘!");
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!schBasePoint.getPoint_code().equals(paramDto.getSite_code())) {
|
||||||
|
throw new BadRequestException("载具" + paramDto.getVehicle_code() + "不在" + paramDto.getSite_code() + "上");
|
||||||
|
}
|
||||||
|
|
||||||
//如果是第一个,则不知道搬出来的托盘应该放哪里,因此需要计算得出,其他的则是【上一个点位】
|
//如果是第一个,则不知道搬出来的托盘应该放哪里,因此需要计算得出,其他的则是【上一个点位】
|
||||||
if (StringUtils.isBlank(lastSchBasePoint)) {
|
if (StringUtils.isBlank(lastSchBasePoint)) {
|
||||||
LambdaQueryWrapper<SchBasePoint> queryWrapper = new LambdaQueryWrapper<>(SchBasePoint.class)
|
LambdaQueryWrapper<SchBasePoint> queryWrapper = new LambdaQueryWrapper<>(SchBasePoint.class)
|
||||||
@@ -672,7 +726,7 @@ public class PdaIosInServiceImpl implements PdaIosInService {
|
|||||||
List<String> pointList4 = taskingSchBaseTaskList.stream().map(SchBaseTask::getPoint_code4)
|
List<String> pointList4 = taskingSchBaseTaskList.stream().map(SchBaseTask::getPoint_code4)
|
||||||
.collect(Collectors.toList());
|
.collect(Collectors.toList());
|
||||||
|
|
||||||
List <String> pointStringList = emptyPointStringList.stream().filter(a->StringUtils.isNotBlank(a)
|
List<String> pointStringList = emptyPointStringList.stream().filter(a -> StringUtils.isNotBlank(a)
|
||||||
&& !pointList1.contains(a)
|
&& !pointList1.contains(a)
|
||||||
&& !pointList2.contains(a)
|
&& !pointList2.contains(a)
|
||||||
&& !pointList3.contains(a)
|
&& !pointList3.contains(a)
|
||||||
|
|||||||
@@ -85,6 +85,11 @@ public class PmFormData extends Model<PmFormData> {
|
|||||||
*/
|
*/
|
||||||
private BigDecimal assign_qty;
|
private BigDecimal assign_qty;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 实际数量
|
||||||
|
*/
|
||||||
|
private BigDecimal actual_qty;
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 数量单位
|
* 数量单位
|
||||||
|
|||||||
@@ -17,7 +17,7 @@ import java.util.List;
|
|||||||
@Data
|
@Data
|
||||||
@EqualsAndHashCode(callSuper = false)
|
@EqualsAndHashCode(callSuper = false)
|
||||||
@TableName("sch_base_point")
|
@TableName("sch_base_point")
|
||||||
public class SchBasePoint implements Serializable {
|
public class SchBasePoint implements Serializable {
|
||||||
|
|
||||||
private static final long serialVersionUID = 1L;
|
private static final long serialVersionUID = 1L;
|
||||||
|
|
||||||
|
|||||||
@@ -5,6 +5,7 @@ import cn.hutool.core.util.ObjectUtil;
|
|||||||
import com.alibaba.fastjson.JSONObject;
|
import com.alibaba.fastjson.JSONObject;
|
||||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
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 org.apache.commons.collections4.CollectionUtils;
|
import org.apache.commons.collections4.CollectionUtils;
|
||||||
import org.nl.common.exception.BadRequestException;
|
import org.nl.common.exception.BadRequestException;
|
||||||
import org.nl.common.utils.SecurityUtils;
|
import org.nl.common.utils.SecurityUtils;
|
||||||
@@ -41,6 +42,7 @@ import java.util.List;
|
|||||||
* @Description: 来料入库
|
* @Description: 来料入库
|
||||||
* @Date: 2025年7月24日13:19:24
|
* @Date: 2025年7月24日13:19:24
|
||||||
*/
|
*/
|
||||||
|
@Slf4j
|
||||||
@Component(value = "InBillTask")
|
@Component(value = "InBillTask")
|
||||||
@TaskType("InBillTask")
|
@TaskType("InBillTask")
|
||||||
public class InBillTask extends AbstractTask {
|
public class InBillTask extends AbstractTask {
|
||||||
@@ -180,6 +182,7 @@ public class InBillTask extends AbstractTask {
|
|||||||
pointService.update(new LambdaUpdateWrapper<SchBasePoint>()
|
pointService.update(new LambdaUpdateWrapper<SchBasePoint>()
|
||||||
.set(SchBasePoint::getVehicle_code, taskObj.getVehicle_code())
|
.set(SchBasePoint::getVehicle_code, taskObj.getVehicle_code())
|
||||||
.set(SchBasePoint::getPoint_status, "2")
|
.set(SchBasePoint::getPoint_status, "2")
|
||||||
|
.set(SchBasePoint::getVehicle_qty,1)
|
||||||
.set(SchBasePoint::getUpdate_id, SecurityUtils.getCurrentUserId())
|
.set(SchBasePoint::getUpdate_id, SecurityUtils.getCurrentUserId())
|
||||||
.set(SchBasePoint::getUpdate_name, SecurityUtils.getCurrentNickName())
|
.set(SchBasePoint::getUpdate_name, SecurityUtils.getCurrentNickName())
|
||||||
.set(SchBasePoint::getUpdate_time, DateUtil.now())
|
.set(SchBasePoint::getUpdate_time, DateUtil.now())
|
||||||
@@ -201,16 +204,44 @@ public class InBillTask extends AbstractTask {
|
|||||||
.set(Structattr::getUpdate_time, DateUtil.now())
|
.set(Structattr::getUpdate_time, DateUtil.now())
|
||||||
.eq(Structattr::getStruct_code, taskObj.getPoint_code1()));
|
.eq(Structattr::getStruct_code, taskObj.getPoint_code1()));
|
||||||
|
|
||||||
List<SchBaseTask> noFinishTask = taskService.list(new LambdaQueryWrapper<>(SchBaseTask.class)
|
|
||||||
.eq(SchBaseTask::getForm_data_code,taskObj.getForm_data_code())
|
//更新formdata
|
||||||
.eq(SchBaseTask::getIs_delete, BaseDataEnum.IS_YES_NOT.code("否"))
|
updateFormData(taskObj);
|
||||||
.ne(SchBaseTask::getTask_status, TaskStatus.FINISHED.getCode()));
|
}
|
||||||
//判断单据编号下的任务是否已经全部完成 即没有未完成数据
|
|
||||||
if(CollectionUtils.isEmpty(noFinishTask)){
|
private void updateFormData(SchBaseTask taskObj) {
|
||||||
|
//根据当前task获取组盘详情
|
||||||
|
GroupPlate groupPlate = iMdPbGroupplateService.getById(taskObj.getGroup_id());
|
||||||
|
|
||||||
|
if (ObjectUtil.isEmpty(groupPlate)) {
|
||||||
|
log.error("来料入库异常,找不到组盘id=【{}】的组盘信息", taskObj.getGroup_id());
|
||||||
|
throw new BadRequestException("来料入库异常,找不到组盘id=【" + taskObj.getGroup_id() + "】的组盘信息");
|
||||||
|
}
|
||||||
|
|
||||||
|
//查询单据号中
|
||||||
|
List<PmFormData> pmFormDataList = iPmFormDataService
|
||||||
|
.list(new LambdaUpdateWrapper<PmFormData>().eq(PmFormData::getCode, taskObj.getForm_data_code()));
|
||||||
|
|
||||||
|
if(CollectionUtils.isEmpty(pmFormDataList)){
|
||||||
|
log.error("来料入库异常,找不到单据=【{}】的信息", taskObj.getForm_data_code());
|
||||||
|
throw new BadRequestException("来料入库异常,找不到单据=【" + taskObj.getForm_data_code() + "】的信息");
|
||||||
|
}
|
||||||
|
|
||||||
|
//判断单据剩余数量(总数量-已完成数量)与组盘数量的差距
|
||||||
|
//todo 判断已经完成数量是否是actual_qty,如果后期调整,可以更改此处
|
||||||
|
if( groupPlate.getQty().compareTo(pmFormDataList.get(0).getQty().subtract(pmFormDataList.get(0).getActual_qty())) ==0){
|
||||||
iPmFormDataService.update(
|
iPmFormDataService.update(
|
||||||
new LambdaUpdateWrapper<PmFormData>()
|
new LambdaUpdateWrapper<PmFormData>()
|
||||||
.set(PmFormData::getStatus,IOSEnum.BILL_STATUS.code("完成"))
|
.set(PmFormData::getStatus,IOSEnum.BILL_STATUS.code("完成"))
|
||||||
.set(PmFormData::getIs_finish, 1)
|
.set(PmFormData::getIs_finish, 1)
|
||||||
|
.set(PmFormData::getActual_qty,pmFormDataList.get(0).getActual_qty().add(groupPlate.getQty()))
|
||||||
|
.set(PmFormData::getUpdate_time,DateUtil.now())
|
||||||
|
.set(PmFormData::getUpdate_name, "task")
|
||||||
|
.eq(PmFormData::getCode, taskObj.getForm_data_code()));
|
||||||
|
} else {
|
||||||
|
iPmFormDataService.update(
|
||||||
|
new LambdaUpdateWrapper<PmFormData>()
|
||||||
|
.set(PmFormData::getActual_qty,pmFormDataList.get(0).getActual_qty().add(groupPlate.getQty()))
|
||||||
.set(PmFormData::getUpdate_time,DateUtil.now())
|
.set(PmFormData::getUpdate_time,DateUtil.now())
|
||||||
.set(PmFormData::getUpdate_name, "task")
|
.set(PmFormData::getUpdate_name, "task")
|
||||||
.eq(PmFormData::getCode, taskObj.getForm_data_code()));
|
.eq(PmFormData::getCode, taskObj.getForm_data_code()));
|
||||||
|
|||||||
@@ -244,8 +244,8 @@
|
|||||||
<el-table-column prop="material_name" label="物料名称" show-overflow-tooltip width="180" />
|
<el-table-column prop="material_name" label="物料名称" show-overflow-tooltip width="180" />
|
||||||
<el-table-column prop="material_spec" label="物料规格" show-overflow-tooltip width="180" />
|
<el-table-column prop="material_spec" label="物料规格" show-overflow-tooltip width="180" />
|
||||||
<el-table-column prop="qty" label="计划数量" show-overflow-tooltip />
|
<el-table-column prop="qty" label="计划数量" show-overflow-tooltip />
|
||||||
<el-table-column prop="actual_qty" label="分配数量" show-overflow-tooltip width="120" />
|
<el-table-column prop="assign_qty" label="分配数量" show-overflow-tooltip width="120" />
|
||||||
<el-table-column prop="actual_qty" label="处理处理" show-overflow-tooltip width="120" />
|
<el-table-column prop="actual_qty" label="处理数量" show-overflow-tooltip width="120" />
|
||||||
<el-table-column prop="pcsn" label="批次" show-overflow-tooltip width="120" />
|
<el-table-column prop="pcsn" label="批次" show-overflow-tooltip width="120" />
|
||||||
<el-table-column prop="unit_name" label="单位" show-overflow-tooltip width="120" />
|
<el-table-column prop="unit_name" label="单位" show-overflow-tooltip width="120" />
|
||||||
<el-table-column prop="source_form_date" label="源单日期" show-overflow-tooltip width="120" />
|
<el-table-column prop="source_form_date" label="源单日期" show-overflow-tooltip width="120" />
|
||||||
|
|||||||
Reference in New Issue
Block a user