fix:1、新增根据单据获取物料详情接口 2、修改组盘实际数量和分配数量更新规则
This commit is contained in:
@@ -39,6 +39,7 @@ import org.springframework.util.CollectionUtils;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import java.math.BigDecimal;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.Set;
|
||||
@@ -107,7 +108,7 @@ public class GroupController {
|
||||
|
||||
if (!CollectionUtils.isEmpty(pmFormDataList)) {
|
||||
|
||||
if(groupPlate.getQty().compareTo(pmFormDataList.get(0).getQty().subtract(pmFormDataList.get(0).getAssign_qty())) > 0){
|
||||
if((new BigDecimal(1)).compareTo(pmFormDataList.get(0).getQty().subtract(pmFormDataList.get(0).getAssign_qty())) > 0){
|
||||
throw new BadRequestException("组盘数量大于单据剩余数量,请核对!");
|
||||
}
|
||||
|
||||
@@ -115,18 +116,18 @@ public class GroupController {
|
||||
throw new BadRequestException("组盘的物料编码与单据的物料编码不一致,请核对!");
|
||||
}
|
||||
|
||||
if (groupPlate.getQty().compareTo(pmFormDataList.get(0).getQty().subtract(pmFormDataList.get(0).getAssign_qty())) == 0) {
|
||||
if ((new BigDecimal(1)).compareTo(pmFormDataList.get(0).getQty().subtract(pmFormDataList.get(0).getAssign_qty())) == 0) {
|
||||
iPmFormDataService.update(
|
||||
new LambdaUpdateWrapper<PmFormData>()
|
||||
.set(PmFormData::getStatus, StatusEnum.FORM_STATUS.code("已分配"))
|
||||
.set(PmFormData::getAssign_qty, pmFormDataList.get(0).getAssign_qty().add(groupPlate.getQty()))
|
||||
.set(PmFormData::getAssign_qty, pmFormDataList.get(0).getAssign_qty().add(new BigDecimal(1)))
|
||||
.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::getAssign_qty, pmFormDataList.get(0).getAssign_qty().add(new BigDecimal(1)))
|
||||
.set(PmFormData::getStatus, StatusEnum.FORM_STATUS.code("执行中"))
|
||||
.set(PmFormData::getUpdate_time, DateUtil.now())
|
||||
.set(PmFormData::getUpdate_name, SecurityUtils.getCurrentNickName())
|
||||
@@ -164,7 +165,7 @@ public class GroupController {
|
||||
//查询PmFormData
|
||||
for (GroupPlate groupPlate : groupPlateList) {
|
||||
iPmFormDataService.update(
|
||||
new LambdaUpdateWrapper<PmFormData>().setSql("assign_qty = assign_qty - " + groupPlate.getQty())
|
||||
new LambdaUpdateWrapper<PmFormData>().setSql("assign_qty = assign_qty - " + 1)
|
||||
.eq(PmFormData::getCode, groupPlate.getExt_code()));
|
||||
|
||||
//修改点位表中的点位为空载具
|
||||
|
||||
@@ -151,6 +151,15 @@ public class PdaIosInController {
|
||||
return new ResponseEntity<>(pdaIosInService.getFormDataList(whereJson), HttpStatus.OK);
|
||||
}
|
||||
|
||||
/**
|
||||
* 中钨单据查询
|
||||
*/
|
||||
@PostMapping("/getFormMaterial")
|
||||
@Log("中钨根据单据查询物料")
|
||||
public ResponseEntity<Object> getFormMaterial(@RequestBody JSONObject whereJson) {
|
||||
return new ResponseEntity<>(pdaIosInService.getFormMaterial(whereJson), HttpStatus.OK);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 拣选余料回库物料查询
|
||||
|
||||
@@ -110,6 +110,14 @@ public interface PdaIosInService {
|
||||
*/
|
||||
PdaResponse getFormDataList(Map whereJson);
|
||||
|
||||
|
||||
/**
|
||||
* 查询单据w物料
|
||||
*
|
||||
* @return PdaResponse
|
||||
*/
|
||||
PdaResponse getFormMaterial(JSONObject whereJson);
|
||||
|
||||
/**
|
||||
* 入库确认
|
||||
*
|
||||
|
||||
@@ -35,6 +35,7 @@ import org.nl.wms.pda_manage.util.PdaResponse;
|
||||
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.PmFormDataSelectDto;
|
||||
import org.nl.wms.pm_manage.service.dao.PmFormMaterialDto;
|
||||
import org.nl.wms.sch_manage.enums.PointStatusEnum;
|
||||
import org.nl.wms.sch_manage.enums.StatusEnum;
|
||||
import org.nl.wms.sch_manage.enums.TaskEnum;
|
||||
@@ -65,6 +66,7 @@ import org.nl.wms.warehouse_manage.inAndOut.service.dao.IOStorInvDtl;
|
||||
import org.nl.wms.warehouse_manage.inAndOut.service.dao.mapper.IOStorInvDtlMapper;
|
||||
import org.nl.wms.warehouse_manage.service.dao.mapper.MdPbGroupplateMapper;
|
||||
import org.nl.wms.warehouse_manage.inAndOut.service.dto.IOStorInvDisDto;
|
||||
import org.springframework.beans.BeanUtils;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
@@ -259,7 +261,7 @@ public class PdaIosInServiceImpl implements PdaIosInService {
|
||||
if (!org.springframework.util.CollectionUtils.isEmpty(pmFormDataList)) {
|
||||
|
||||
groupDao.setPcsn(pmFormDataList.get(0).getPcsn());
|
||||
if(groupDao.getQty().compareTo(pmFormDataList.get(0).getQty().subtract(pmFormDataList.get(0).getAssign_qty())) > 0){
|
||||
if((new BigDecimal(1)).compareTo(pmFormDataList.get(0).getQty().subtract(pmFormDataList.get(0).getAssign_qty())) > 0){
|
||||
throw new BadRequestException("组盘数量大于单据剩余数量,请核对!");
|
||||
}
|
||||
|
||||
@@ -267,18 +269,18 @@ public class PdaIosInServiceImpl implements PdaIosInService {
|
||||
throw new BadRequestException("组盘的物料编码与单据的物料编码不一致,请核对!");
|
||||
}
|
||||
|
||||
if (groupDao.getQty().compareTo(pmFormDataList.get(0).getQty().subtract(pmFormDataList.get(0).getAssign_qty())) == 0) {
|
||||
if ((new BigDecimal(1)).compareTo(pmFormDataList.get(0).getQty().subtract(pmFormDataList.get(0).getAssign_qty())) == 0) {
|
||||
iPmFormDataService.update(
|
||||
new LambdaUpdateWrapper<PmFormData>()
|
||||
.set(PmFormData::getStatus, StatusEnum.FORM_STATUS.code("已分配"))
|
||||
.set(PmFormData::getAssign_qty, pmFormDataList.get(0).getAssign_qty().add(groupDao.getQty()))
|
||||
.set(PmFormData::getAssign_qty, pmFormDataList.get(0).getAssign_qty().add(new BigDecimal(1)))
|
||||
.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::getAssign_qty, pmFormDataList.get(0).getAssign_qty().add(new BigDecimal(1)))
|
||||
.set(PmFormData::getStatus,StatusEnum.FORM_STATUS.code("执行中"))
|
||||
.set(PmFormData::getUpdate_time, DateUtil.now())
|
||||
.set(PmFormData::getUpdate_name, SecurityUtils.getCurrentNickName())
|
||||
@@ -366,6 +368,28 @@ public class PdaIosInServiceImpl implements PdaIosInService {
|
||||
return PdaResponse.requestParamOk(regionList.getRecords());
|
||||
}
|
||||
|
||||
@Override
|
||||
public PdaResponse getFormMaterial(JSONObject whereJson) {
|
||||
|
||||
String ext_code = whereJson.getString("ext_code");
|
||||
List<PmFormData> pmFormDataList = iPmFormDataService.list(new LambdaUpdateWrapper<PmFormData>()
|
||||
.eq(PmFormData::getCode, ext_code)
|
||||
);
|
||||
|
||||
if(CollectionUtils.isEmpty(pmFormDataList)){
|
||||
return PdaResponse.requestOk();
|
||||
}
|
||||
|
||||
MdMeMaterialbase mdMeMaterialbase = iMdMeMaterialbaseService.getByCode(pmFormDataList.get(0).getMaterial_code(),false);
|
||||
if(null == mdMeMaterialbase){
|
||||
return PdaResponse.requestOk();
|
||||
}
|
||||
PmFormMaterialDto pmFormMaterialDto = new PmFormMaterialDto();
|
||||
BeanUtils.copyProperties(mdMeMaterialbase,pmFormMaterialDto);
|
||||
pmFormMaterialDto.setExt_code(ext_code);
|
||||
return PdaResponse.requestParamOk(pmFormMaterialDto);
|
||||
}
|
||||
|
||||
@Override
|
||||
public PdaResponse getFormDataList(Map whereJson) {
|
||||
List<Dict> dictList = sysDictMapper.selectList(new LambdaQueryWrapper<Dict>()
|
||||
|
||||
@@ -0,0 +1,29 @@
|
||||
package org.nl.wms.pm_manage.service.dao;
|
||||
|
||||
import com.baomidou.mybatisplus.extension.activerecord.Model;
|
||||
import lombok.Data;
|
||||
|
||||
|
||||
/**
|
||||
* {@code @Description:} 表单物料信息
|
||||
* {@code @Author:} zhengxuming
|
||||
*
|
||||
* @since 2025年8月11日16:38:03
|
||||
*/
|
||||
@Data
|
||||
public class PmFormMaterialDto extends Model<PmFormMaterialDto> {
|
||||
|
||||
private String material_id;
|
||||
|
||||
private String material_model;
|
||||
|
||||
private String material_name;
|
||||
|
||||
private String material_spec;
|
||||
|
||||
private String ext_code;
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -35,6 +35,7 @@ import org.springframework.stereotype.Component;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import java.math.BigDecimal;
|
||||
import java.util.List;
|
||||
|
||||
|
||||
@@ -230,19 +231,19 @@ public class InBillTask extends AbstractTask {
|
||||
|
||||
//判断单据剩余数量(总数量-已完成数量)与组盘数量的差距
|
||||
//todo 判断已经完成数量是否是actual_qty,如果后期调整,可以更改此处
|
||||
if( groupPlate.getQty().compareTo(pmFormDataList.get(0).getQty().subtract(pmFormDataList.get(0).getActual_qty())) ==0){
|
||||
if( (new BigDecimal(1)).compareTo(pmFormDataList.get(0).getQty().subtract(pmFormDataList.get(0).getActual_qty())) ==0){
|
||||
iPmFormDataService.update(
|
||||
new LambdaUpdateWrapper<PmFormData>()
|
||||
.set(PmFormData::getStatus, StatusEnum.FORM_STATUS.code("完成"))
|
||||
.set(PmFormData::getIs_finish, 1)
|
||||
.set(PmFormData::getActual_qty,pmFormDataList.get(0).getActual_qty().add(groupPlate.getQty()))
|
||||
.set(PmFormData::getActual_qty,pmFormDataList.get(0).getActual_qty().add(new BigDecimal(1)))
|
||||
.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::getActual_qty,pmFormDataList.get(0).getActual_qty().add(new BigDecimal(1)))
|
||||
.set(PmFormData::getUpdate_time,DateUtil.now())
|
||||
.set(PmFormData::getUpdate_name, "task")
|
||||
.eq(PmFormData::getCode, taskObj.getForm_data_code()));
|
||||
|
||||
Reference in New Issue
Block a user