diff --git a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/basedata_manage/controller/GroupController.java b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/basedata_manage/controller/GroupController.java index a09069d..79c89da 100644 --- a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/basedata_manage/controller/GroupController.java +++ b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/basedata_manage/controller/GroupController.java @@ -107,8 +107,6 @@ public class GroupController { .list(new LambdaUpdateWrapper().eq(PmFormData::getCode, groupPlate.getExt_code())); if (!CollectionUtils.isEmpty(pmFormDataList)) { - - if(!pmFormDataList.get(0).getMaterial_code().equals(groupPlate.getMaterial_code())){ throw new BadRequestException("组盘的物料编码与单据的物料编码不一致,请核对!"); } @@ -119,7 +117,6 @@ public class GroupController { .set(PmFormData::getUpdate_time, DateUtil.now()) .set(PmFormData::getUpdate_name, SecurityUtils.getCurrentNickName()) .eq(PmFormData::getCode, groupPlate.getExt_code())); - } } //修改点位表中的点位为有料 @@ -130,7 +127,6 @@ public class GroupController { .set(SchBasePoint::getUpdate_name, SecurityUtils.getCurrentNickName()) .eq(SchBasePoint::getVehicle_code, groupPlate.getStoragevehicle_code())); - groupPlate.setSupp_code(supp.getSupp_code()); groupPlate.setSupp_name(supp.getSupp_name()); groupPlate.setGroup_id(IdUtil.getStringId()); diff --git a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/basedata_manage/service/ISectattrService.java b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/basedata_manage/service/ISectattrService.java index 8be2317..78295b4 100644 --- a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/basedata_manage/service/ISectattrService.java +++ b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/basedata_manage/service/ISectattrService.java @@ -28,6 +28,14 @@ public interface ISectattrService extends IService { */ IPage queryAll(Map whereJson, PageQuery page); + /** + * 获取所有数据,不分页 + * + * @param whereJson 条件 + * @return Map + */ + List getAll(Map whereJson); + /** * 根据ID查询 * diff --git a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/basedata_manage/service/IStructattrService.java b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/basedata_manage/service/IStructattrService.java index e85e53b..9be7c5e 100644 --- a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/basedata_manage/service/IStructattrService.java +++ b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/basedata_manage/service/IStructattrService.java @@ -120,4 +120,12 @@ public interface IStructattrService extends IService { * @param changeDto */ void changeStruct(StructattrChangeDto changeDto); + + /** + * 根据仓位编码 + * + * @param vehicleCode 仓位编码 + * @return Structattr + */ + Structattr getByVehicleCode(String vehicleCode); } diff --git a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/basedata_manage/service/dao/MdPbStoragevehicleinfo.java b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/basedata_manage/service/dao/MdPbStoragevehicleinfo.java index 9d91065..e588e85 100644 --- a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/basedata_manage/service/dao/MdPbStoragevehicleinfo.java +++ b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/basedata_manage/service/dao/MdPbStoragevehicleinfo.java @@ -129,4 +129,8 @@ public class MdPbStoragevehicleinfo implements Serializable { */ private String ext_id; + /** + * 推荐库区 + */ + private String recommended_sect_code; } diff --git a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/basedata_manage/service/dao/mapper/MdPbStoragevehicleextMapper.java b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/basedata_manage/service/dao/mapper/MdPbStoragevehicleextMapper.java index 930b0a6..903d297 100644 --- a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/basedata_manage/service/dao/mapper/MdPbStoragevehicleextMapper.java +++ b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/basedata_manage/service/dao/mapper/MdPbStoragevehicleextMapper.java @@ -38,6 +38,13 @@ public interface MdPbStoragevehicleextMapper extends BaseMapper + */ + List queryAll( @Param("param") Map whereJson); + /** * 分页查询 * @param page 分页条件 diff --git a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/basedata_manage/service/dao/mapper/MdPbStoragevehicleextMapper.xml b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/basedata_manage/service/dao/mapper/MdPbStoragevehicleextMapper.xml index 01844ef..d8e60f8 100644 --- a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/basedata_manage/service/dao/mapper/MdPbStoragevehicleextMapper.xml +++ b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/basedata_manage/service/dao/mapper/MdPbStoragevehicleextMapper.xml @@ -66,6 +66,8 @@ ext.frozen_qty, ext.remark, ext.create_time, + ext.supp_code, + ext.supp_name, attr.struct_code, attr.struct_name, attr.stor_name, @@ -88,6 +90,12 @@ attr.sect_id = #{param.sect_id} + + AND + attr.sect_code = #{param.sect_code} + + + AND (attr.struct_code LIKE #{param.struct_code} or @@ -96,8 +104,8 @@ AND - (mater.material_code LIKE #{param.material_code} or - mater.material_name LIKE #{param.material_code} ) + (mater.material_code LIKE CONCAT('%', #{param.material_code},'%') or + mater.material_name LIKE CONCAT('%', #{param.material_code},'%') ) @@ -108,6 +116,67 @@ ORDER BY ext.create_time Desc + + + + + diff --git a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/basedata_manage/service/impl/MdPbStoragevehicleextServiceImpl.java b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/basedata_manage/service/impl/MdPbStoragevehicleextServiceImpl.java index 8df7bb4..f35750f 100644 --- a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/basedata_manage/service/impl/MdPbStoragevehicleextServiceImpl.java +++ b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/basedata_manage/service/impl/MdPbStoragevehicleextServiceImpl.java @@ -31,5 +31,4 @@ public class MdPbStoragevehicleextServiceImpl extends ServiceImpl i return sectattrMapper.queryAllByPage(new Page<>(page.getPage() +1 ,page.getSize()), whereJson); } + @Override + public List getAll(Map whereJson) { + return sectattrMapper.queryAll(whereJson); + } + @Override public Sectattr findById(String sect_id) { diff --git a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/basedata_manage/service/impl/StructattrServiceImpl.java b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/basedata_manage/service/impl/StructattrServiceImpl.java index 52304f1..00a92b9 100644 --- a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/basedata_manage/service/impl/StructattrServiceImpl.java +++ b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/basedata_manage/service/impl/StructattrServiceImpl.java @@ -455,4 +455,16 @@ public class StructattrServiceImpl extends ServiceImpl().lambda() + .eq(Structattr::getStoragevehicle_code, vehicleCode) + ); + if (ObjectUtil.isEmpty(one)) { + throw new BadRequestException("此载具不在仓位上【" + vehicleCode + "】"); + } + return one; + } + } diff --git a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/ext_manage/service/impl/MesToWmsServiceImpl.java b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/ext_manage/service/impl/MesToWmsServiceImpl.java index 509620d..5099aed 100644 --- a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/ext_manage/service/impl/MesToWmsServiceImpl.java +++ b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/ext_manage/service/impl/MesToWmsServiceImpl.java @@ -164,7 +164,7 @@ public class MesToWmsServiceImpl implements MesToWmsService { } // 出库的仓位 - Structattr outStructAttr = structattrService.getByCode(dto.getStruct_code()); + Structattr outStructAttr = structattrService.getByVehicleCode(dto.getStruct_code()); if (ObjectUtil.isEmpty(outStructAttr)) { throw new BadRequestException("仓位【" + dto.getStruct_code() + "】不存在!"); } diff --git a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pda_manage/ios_manage/controller/PdaIosInController.java b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pda_manage/ios_manage/controller/PdaIosInController.java index f35b523..08e1c5f 100644 --- a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pda_manage/ios_manage/controller/PdaIosInController.java +++ b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pda_manage/ios_manage/controller/PdaIosInController.java @@ -11,6 +11,7 @@ import org.nl.common.base.TableDataInfo; import org.nl.common.logging.annotation.Log; import org.nl.wms.basedata_manage.service.dao.MdCsSupplierbase; import org.nl.wms.basedata_manage.service.dao.MdMeMaterialbase; +import org.nl.wms.pda_manage.ios_manage.dto.ZwConfirmCheckParamDto; import org.nl.wms.pda_manage.ios_manage.dto.ZwConfirmInDto; import org.nl.wms.pda_manage.ios_manage.dto.ZwConfirmInParamDto; import org.nl.wms.pda_manage.ios_manage.service.PdaIosCheckService; @@ -94,6 +95,12 @@ public class PdaIosInController { return new ResponseEntity<>(pdaIosInService.getPdaSect(whereJson), HttpStatus.OK); } + @PostMapping("/getPdaCallMaterialSect") + @Log("PDA叫料获取库区") + public ResponseEntity getPdaCallMaterialSect(@RequestBody JSONObject whereJson) { + return new ResponseEntity<>(pdaIosInService.getPdaCallMaterialSect(whereJson), HttpStatus.OK); + } + @PostMapping("/getPdaStruct") @Log("PDA获取库位") @@ -145,17 +152,15 @@ public class PdaIosInController { @PostMapping("/zwConfirmIn") @Log("中钨组盘入库确认") public ResponseEntity zwConfirmIn(@RequestBody ZwConfirmInDto dto) { - if(StringUtils.isEmpty(dto.getForm_data_code())){ - throw new IllegalArgumentException("单据编码不能为空!"); - } if(CollectionUtils.isEmpty(dto.getParam_list())){ throw new IllegalArgumentException("请传入参数!"); } for(ZwConfirmInParamDto paramDto : dto.getParam_list()){ - if(StringUtils.isBlank(paramDto.getVehicle_code()) || StringUtils.isBlank(paramDto.getSite_code())) - throw new IllegalArgumentException("载具且卸货区点位不能为空!"); + if(StringUtils.isBlank(paramDto.getVehicle_code()) || StringUtils.isBlank(paramDto.getSite_code()) + || StringUtils.isBlank(paramDto.getForm_data_code())) + throw new IllegalArgumentException("载具、卸货区点位、单据不能为空!"); } return new ResponseEntity<>(pdaIosInService.zwConfirmIn(dto), HttpStatus.OK); @@ -228,7 +233,7 @@ public class PdaIosInController { @PostMapping("/inCheck") @Log("PDA来料入库校验点位和托盘码") - public ResponseEntity inCheck(@RequestBody ZwConfirmInParamDto dto) { + public ResponseEntity inCheck(@RequestBody ZwConfirmCheckParamDto dto) { return new ResponseEntity<>(pdaIosInService.inCheck(dto), HttpStatus.OK); } diff --git a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pda_manage/ios_manage/controller/PdaIosOutController.java b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pda_manage/ios_manage/controller/PdaIosOutController.java index 90c4523..90f038e 100644 --- a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pda_manage/ios_manage/controller/PdaIosOutController.java +++ b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pda_manage/ios_manage/controller/PdaIosOutController.java @@ -143,5 +143,12 @@ public class PdaIosOutController { return new ResponseEntity<>(pdaIosOutService.getMaterialSuppByVehicleCode(whereJson), HttpStatus.OK); } + @PostMapping("/getStructivtByMaterialAndSectCode") + @Log("根据库区、物料信息获取库存信息") + public ResponseEntity getStructivtByMaterialAndSectCode(@RequestBody JSONObject whereJson) { + assertNotBlankJson(whereJson, "请求参数不能为空", "sect_code"); + return new ResponseEntity<>(pdaIosOutService.getStructivtByMaterialAndSectCode(whereJson), HttpStatus.OK); + } + } diff --git a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pda_manage/ios_manage/dto/ZwConfirmCheckParamDto.java b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pda_manage/ios_manage/dto/ZwConfirmCheckParamDto.java new file mode 100644 index 0000000..7e4506f --- /dev/null +++ b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pda_manage/ios_manage/dto/ZwConfirmCheckParamDto.java @@ -0,0 +1,8 @@ +package org.nl.wms.pda_manage.ios_manage.dto; + +import lombok.Data; + +@Data +public class ZwConfirmCheckParamDto { + private String site_vehicle_code; +} diff --git a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pda_manage/ios_manage/dto/ZwConfirmCheckParamRespondDto.java b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pda_manage/ios_manage/dto/ZwConfirmCheckParamRespondDto.java new file mode 100644 index 0000000..77ac2bb --- /dev/null +++ b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pda_manage/ios_manage/dto/ZwConfirmCheckParamRespondDto.java @@ -0,0 +1,12 @@ +package org.nl.wms.pda_manage.ios_manage.dto; + +import lombok.Data; + +@Data +public class ZwConfirmCheckParamRespondDto { + private String site_code; + private String vehicle_code; + private String material_code; + private String qty; + private String form_data_code; +} diff --git a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pda_manage/ios_manage/dto/ZwConfirmInDto.java b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pda_manage/ios_manage/dto/ZwConfirmInDto.java index 005ea9e..36be40b 100644 --- a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pda_manage/ios_manage/dto/ZwConfirmInDto.java +++ b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pda_manage/ios_manage/dto/ZwConfirmInDto.java @@ -6,6 +6,5 @@ import java.util.List; @Data public class ZwConfirmInDto { - private String form_data_code; private List param_list; } diff --git a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pda_manage/ios_manage/dto/ZwConfirmInParamDto.java b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pda_manage/ios_manage/dto/ZwConfirmInParamDto.java index 63ffa65..d2462ef 100644 --- a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pda_manage/ios_manage/dto/ZwConfirmInParamDto.java +++ b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pda_manage/ios_manage/dto/ZwConfirmInParamDto.java @@ -6,4 +6,5 @@ import lombok.Data; public class ZwConfirmInParamDto { private String site_code; private String vehicle_code; + private String form_data_code; } diff --git a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pda_manage/ios_manage/service/PdaIosInService.java b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pda_manage/ios_manage/service/PdaIosInService.java index 53afa0a..c911931 100644 --- a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pda_manage/ios_manage/service/PdaIosInService.java +++ b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pda_manage/ios_manage/service/PdaIosInService.java @@ -5,6 +5,7 @@ import org.nl.common.base.TableDataInfo; import org.nl.common.domain.vo.SelectItemVo; import org.nl.wms.basedata_manage.service.dao.MdCsSupplierbase; import org.nl.wms.basedata_manage.service.dao.MdMeMaterialbase; +import org.nl.wms.pda_manage.ios_manage.dto.ZwConfirmCheckParamDto; import org.nl.wms.pda_manage.ios_manage.dto.ZwConfirmInDto; import org.nl.wms.pda_manage.ios_manage.dto.ZwConfirmInParamDto; import org.nl.wms.pda_manage.util.PdaResponse; @@ -103,6 +104,13 @@ public interface PdaIosInService { */ PdaResponse getPdaSect(JSONObject whereJson); + /** + * 叫料查询库区 + * + * @return PdaResponse + */ + PdaResponse getPdaCallMaterialSect(JSONObject whereJson); + /** * 查询库位 * @@ -220,7 +228,7 @@ public interface PdaIosInService { - PdaResponse inCheck (ZwConfirmInParamDto dto); + PdaResponse inCheck (ZwConfirmCheckParamDto dto); /** * 通过载具编码获取点位 diff --git a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pda_manage/ios_manage/service/PdaIosOutService.java b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pda_manage/ios_manage/service/PdaIosOutService.java index 19e0aae..4f9de60 100644 --- a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pda_manage/ios_manage/service/PdaIosOutService.java +++ b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pda_manage/ios_manage/service/PdaIosOutService.java @@ -131,4 +131,11 @@ public interface PdaIosOutService { * @return PdaResponse */ PdaResponse getMaterialSuppByVehicleCode(JSONObject whereJson); + + /** + * 查询组盘信息通过载具编号 + * + * @return PdaResponse + */ + PdaResponse getStructivtByMaterialAndSectCode(JSONObject whereJson); } diff --git a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pda_manage/ios_manage/service/impl/PdaIosInServiceImpl.java b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pda_manage/ios_manage/service/impl/PdaIosInServiceImpl.java index e70eff4..4f66fbf 100644 --- a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pda_manage/ios_manage/service/impl/PdaIosInServiceImpl.java +++ b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pda_manage/ios_manage/service/impl/PdaIosInServiceImpl.java @@ -2,7 +2,6 @@ package org.nl.wms.pda_manage.ios_manage.service.impl; import cn.hutool.core.date.DateUtil; import cn.hutool.core.util.ObjectUtil; -import cn.hutool.core.util.StrUtil; import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; @@ -16,17 +15,14 @@ import org.nl.common.base.TableDataInfo; import org.nl.common.domain.query.PageQuery; import org.nl.common.domain.vo.SelectItemVo; import org.nl.common.exception.BadRequestException; -import org.nl.common.utils.CodeUtil; import org.nl.common.utils.IdUtil; import org.nl.common.utils.SecurityUtils; -import org.nl.config.SpringContextHolder; -import org.nl.wms.basedata_manage.enums.BaseDataEnum; import org.nl.wms.basedata_manage.service.*; import org.nl.wms.basedata_manage.service.dao.*; import org.nl.wms.basedata_manage.service.dao.mapper.SectattrMapper; import org.nl.wms.basedata_manage.service.dto.MaterialQuery; -import org.nl.wms.basedata_manage.service.dto.StrategyStructMaterialVO; -import org.nl.wms.basedata_manage.service.dto.StrategyStructParam; +import org.nl.wms.pda_manage.ios_manage.dto.ZwConfirmCheckParamDto; +import org.nl.wms.pda_manage.ios_manage.dto.ZwConfirmCheckParamRespondDto; import org.nl.wms.pda_manage.ios_manage.dto.ZwConfirmInDto; import org.nl.wms.pda_manage.ios_manage.dto.ZwConfirmInParamDto; import org.nl.wms.pda_manage.ios_manage.service.PdaIosInService; @@ -49,15 +45,10 @@ import org.nl.wms.sch_manage.service.dao.SchBaseTask; import org.nl.wms.sch_manage.service.dao.mapper.SchBasePointMapper; import org.nl.wms.sch_manage.service.util.AbstractTask; import org.nl.wms.sch_manage.service.util.tasks.BackInTask; -import org.nl.wms.sch_manage.service.util.tasks.VehicleInTask; -import org.nl.wms.sch_manage.service.util.tasks.VehicleOutTask; -import org.nl.wms.sch_manage.service.util.tasks.zw.InBillTask; import org.nl.wms.system_manage.service.dict.dao.Dict; import org.nl.wms.system_manage.service.dict.dao.mapper.SysDictMapper; -import org.nl.wms.system_manage.service.logicflow.dao.StageImage; import org.nl.wms.warehouse_manage.enums.IOSConstant; import org.nl.wms.warehouse_manage.enums.IOSEnum; -import org.nl.wms.warehouse_manage.inAndOut.service.dao.IOStorInvDis; import org.nl.wms.warehouse_manage.inAndOut.service.dao.mapper.IOStorInvDisMapper; import org.nl.wms.warehouse_manage.service.IMdPbGroupplateService; import org.nl.wms.warehouse_manage.inAndOut.service.IInBillService; @@ -359,6 +350,25 @@ public class PdaIosInServiceImpl implements PdaIosInService { return PdaResponse.requestParamOk(selectList); } + @Override + public PdaResponse getPdaCallMaterialSect(JSONObject whereJson) { + + Map selectMap = new HashMap<>(); + + SchBasePoint schBasePoint = iSchBasePointService.getPointByCode(whereJson.getString("point_code")); + if(schBasePoint != null && StringUtils.isNotBlank(schBasePoint.getRegion_code())){ + selectMap.put("sect_code",schBasePoint.getRegion_code().substring(0,2)); + } + + selectMap.put("stor_code","LT"); + List sectattrList = iSectattrService.getAll(selectMap); + List selectList = new ArrayList<>(); + sectattrList.forEach(r -> + selectList.add(SelectItemVo.builder().text( r.getSect_name()).value(r.getSect_id()).build()) + ); + return PdaResponse.requestParamOk(selectList); + } + @Override public PdaResponse getPdaStruct(JSONObject whereJson) { List structattrList = iStructattrService.list(new LambdaQueryWrapper() @@ -759,208 +769,215 @@ public class PdaIosInServiceImpl implements PdaIosInService { @Override @Transactional - public PdaResponse zwConfirmIn(ZwConfirmInDto dto) { - //校验是否重复 - if (dto.getParam_list().stream() - .map(ZwConfirmInParamDto::getSite_code) - .distinct() - .count() != dto.getParam_list().size() || dto.getParam_list().stream() - .map(ZwConfirmInParamDto::getVehicle_code) - .distinct() - .count() != dto.getParam_list().size()) { - throw new BadRequestException("存在重复的点位或托盘号,请核对!"); - } + public PdaResponse zwConfirmIn(ZwConfirmInDto dtoList) { - //查询字典表 - List dictList = sysDictMapper.selectList(new LambdaQueryWrapper() - .eq(Dict::getCode, "MATERIAL_MODEL_SECT")); + Map> paramMap = dtoList.getParam_list().stream() + .collect(Collectors.groupingBy(ZwConfirmInParamDto::getForm_data_code)); - if (CollectionUtils.isEmpty(dictList)) { - throw new BadRequestException("字典MATERIAL_MODEL_SECT未配置,请核对!"); - } - - List formDataList = iPmFormDataService.list(new LambdaUpdateWrapper() - .eq(PmFormData::getCode, dto.getForm_data_code()) - .eq(PmFormData::getStatus, StatusEnum.FORM_STATUS.code("完成"))); - - if(CollectionUtils.isNotEmpty(formDataList)){ - throw new BadRequestException("单据" +dto.getForm_data_code() +"已完成!"); - } - - //循环判断每个 如果有问题,则抛出异常 - String lastSchBasePoint = null; - Integer taskGroupSeq = 0 ; - String taskGroupId = IdUtil.getStringId(); - List jsonObjectList = new ArrayList<>(); - for (ZwConfirmInParamDto paramDto : dto.getParam_list()) { - - //判断点位和仓位是否有正在执行的任务 - List schBaseTaskList = iSchBaseTaskService.list(new LambdaQueryWrapper() - .eq(SchBaseTask::getIs_delete, IOSConstant.IS_DELETE_NO) - .and(wp -> wp - .eq(SchBaseTask::getPoint_code2, paramDto.getSite_code()) - .or() - .eq(SchBaseTask::getPoint_code3, paramDto.getSite_code()) - .or() - .eq(SchBaseTask::getPoint_code1, paramDto.getSite_code()) - .or() - .eq(SchBaseTask::getPoint_code4, paramDto.getSite_code()) - ) - .le(SchBaseTask::getTask_status, TaskStatus.EXECUTING.getCode())); - - if(CollectionUtils.isNotEmpty(schBaseTaskList)){ - throw new BadRequestException("存在正在执行任务的点位"+paramDto.getSite_code()); + for (Map.Entry> entry : paramMap.entrySet()) { + //校验是否重复 + if (entry.getValue().stream() + .map(ZwConfirmInParamDto::getSite_code) + .distinct() + .count() != entry.getValue().size() || entry.getValue().stream() + .map(ZwConfirmInParamDto::getVehicle_code) + .distinct() + .count() != entry.getValue().size()) { + throw new BadRequestException("存在重复的点位或托盘号,请核对!"); } - taskGroupSeq++; - //当前点位 - String schBasePointString = lastSchBasePoint; - JSONObject whereJson = new JSONObject(); - whereJson.put("vehicle_code", paramDto.getVehicle_code()); - whereJson.put("search", paramDto.getVehicle_code()); + //查询字典表 + List dictList = sysDictMapper.selectList(new LambdaQueryWrapper() + .eq(Dict::getCode, "MATERIAL_MODEL_SECT")); - //起点 - whereJson.put("site_code", paramDto.getSite_code()); - whereJson.put("noEmptyVehicle", "1"); - String material_model = getVehicleMaterial(whereJson).getString("material_model"); - if (StringUtils.isEmpty(material_model)) { - throw new BadRequestException("组盘的物料未配置【物料型号】!"); + if (CollectionUtils.isEmpty(dictList)) { + throw new BadRequestException("字典MATERIAL_MODEL_SECT未配置,请核对!"); } - //判断每个物料是否都已经配置库区 - List dicts = dictList.stream().filter(a -> material_model.equals(a.getPara1())).collect(Collectors.toList()); - if (CollectionUtils.isEmpty(dicts)) { - throw new BadRequestException("字典MATERIAL_MODEL_SECT未配置物料类型" + material_model + "与库区的对应关系,请核对!"); + List formDataList = iPmFormDataService.list(new LambdaUpdateWrapper() + .eq(PmFormData::getCode, entry.getValue().get(0).getForm_data_code()) + .eq(PmFormData::getStatus, StatusEnum.FORM_STATUS.code("完成"))); + + if(CollectionUtils.isNotEmpty(formDataList)){ + throw new BadRequestException("单据" + entry.getValue().get(0).getForm_data_code() +"已完成!"); } - String sect_code = dicts.get(0).getValue(); - //根据库区编码获取库区id sect_id - List sectattrList = sectattrMapper.selectList(new LambdaQueryWrapper() - .eq(Sectattr::getSect_code, sect_code)); + //循环判断每个 如果有问题,则抛出异常 + String lastSchBasePoint = null; + Integer taskGroupSeq = 0 ; + String taskGroupId = IdUtil.getStringId(); + List jsonObjectList = new ArrayList<>(); + for (ZwConfirmInParamDto paramDto : entry.getValue()) { - if (CollectionUtils.isEmpty(sectattrList)) { - throw new BadRequestException("库区" + sect_code + "不存在,请核对!"); - } - - whereJson.put("sect_id",sectattrList.get(0).getSect_id()); - - //获取起点 - SchBasePoint schBasePoint = iSchBasePointService - .getOne(new LambdaQueryWrapper().eq(SchBasePoint::getVehicle_code, whereJson.get("vehicle_code"))); - if (ObjectUtil.isEmpty(schBasePoint)) { - 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)) { - LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(SchBasePoint.class) - .select(SchBasePoint::getPoint_code) - .eq(SchBasePoint::getRegion_code, "YLXCQ") - .eq(SchBasePoint::getIs_used, true) - .eq(SchBasePoint::getPoint_status, 1) - .eq(SchBasePoint::getPoint_type, "1") - .orderByDesc(SchBasePoint::getOut_empty_seq); - - List schBasePointList = schBasePointMapper.selectList(queryWrapper); - - if (CollectionUtils.isEmpty(schBasePointList)) { - throw new BadRequestException("原料卸车区不存在空的点位"); - } - - //剔除任务执行中的点位 - - final List emptyPointStringList = schBasePointList.stream().map(SchBasePoint::getPoint_code) - .collect(Collectors.toList()); - - //找到空点位正在执行的任务(正常来说不应该存在) - List taskingSchBaseTaskList = iSchBaseTaskService.list(new LambdaQueryWrapper() + //判断点位和仓位是否有正在执行的任务 + List schBaseTaskList = iSchBaseTaskService.list(new LambdaQueryWrapper() .eq(SchBaseTask::getIs_delete, IOSConstant.IS_DELETE_NO) .and(wp -> wp - .in(SchBaseTask::getPoint_code1, emptyPointStringList) + .eq(SchBaseTask::getPoint_code2, paramDto.getSite_code()) .or() - .in(SchBaseTask::getPoint_code2, emptyPointStringList) + .eq(SchBaseTask::getPoint_code3, paramDto.getSite_code()) .or() - .in(SchBaseTask::getPoint_code3, emptyPointStringList) + .eq(SchBaseTask::getPoint_code1, paramDto.getSite_code()) .or() - .in(SchBaseTask::getPoint_code4, emptyPointStringList) + .eq(SchBaseTask::getPoint_code4, paramDto.getSite_code()) ) .le(SchBaseTask::getTask_status, TaskStatus.EXECUTING.getCode())); - //如果不存在,则正常执行 - if(CollectionUtils.isEmpty(taskingSchBaseTaskList)){ - schBasePointString = schBasePointList.get(0).getPoint_code(); - } else { - List pointList1 = taskingSchBaseTaskList.stream().map(SchBaseTask::getPoint_code1) - .collect(Collectors.toList()); - List pointList2 = taskingSchBaseTaskList.stream().map(SchBaseTask::getPoint_code2) - .collect(Collectors.toList()); - List pointList3 = taskingSchBaseTaskList.stream().map(SchBaseTask::getPoint_code3) - .collect(Collectors.toList()); - List pointList4 = taskingSchBaseTaskList.stream().map(SchBaseTask::getPoint_code4) - .collect(Collectors.toList()); - - List pointStringList = emptyPointStringList.stream().filter(a -> StringUtils.isNotBlank(a) - && !pointList1.contains(a) - && !pointList2.contains(a) - && !pointList3.contains(a) - && !pointList4.contains(a)) - .collect(Collectors.toList()); - - schBasePointString = pointStringList.get(0); + if(CollectionUtils.isNotEmpty(schBaseTaskList)){ + throw new BadRequestException("存在正在执行任务的点位"+paramDto.getSite_code()); } + + taskGroupSeq++; + //当前点位 + String schBasePointString = lastSchBasePoint; + JSONObject whereJson = new JSONObject(); + whereJson.put("vehicle_code", paramDto.getVehicle_code()); + whereJson.put("search", paramDto.getVehicle_code()); + + //起点 + whereJson.put("site_code", paramDto.getSite_code()); + whereJson.put("noEmptyVehicle", "1"); + String material_model = getVehicleMaterial(whereJson).getString("material_model"); + if (StringUtils.isEmpty(material_model)) { + throw new BadRequestException("组盘的物料未配置【物料型号】!"); + } + + //判断每个物料是否都已经配置库区 + List dicts = dictList.stream().filter(a -> material_model.equals(a.getPara1())).collect(Collectors.toList()); + if (CollectionUtils.isEmpty(dicts)) { + throw new BadRequestException("字典MATERIAL_MODEL_SECT未配置物料类型" + material_model + "与库区的对应关系,请核对!"); + } + + String sect_code = dicts.get(0).getValue(); + //根据库区编码获取库区id sect_id + List sectattrList = sectattrMapper.selectList(new LambdaQueryWrapper() + .eq(Sectattr::getSect_code, sect_code)); + + if (CollectionUtils.isEmpty(sectattrList)) { + throw new BadRequestException("库区" + sect_code + "不存在,请核对!"); + } + + whereJson.put("sect_id",sectattrList.get(0).getSect_id()); + + //获取起点 + SchBasePoint schBasePoint = iSchBasePointService + .getOne(new LambdaQueryWrapper().eq(SchBasePoint::getVehicle_code, whereJson.get("vehicle_code"))); + if (ObjectUtil.isEmpty(schBasePoint)) { + 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)) { + LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(SchBasePoint.class) + .select(SchBasePoint::getPoint_code) + .eq(SchBasePoint::getRegion_code, "YLXCQ") + .eq(SchBasePoint::getIs_used, true) + .eq(SchBasePoint::getPoint_status, 1) + .eq(SchBasePoint::getPoint_type, "1") + .orderByDesc(SchBasePoint::getOut_empty_seq); + + List schBasePointList = schBasePointMapper.selectList(queryWrapper); + + if (CollectionUtils.isEmpty(schBasePointList)) { + throw new BadRequestException("原料卸车区不存在空的点位"); + } + + //剔除任务执行中的点位 + + final List emptyPointStringList = schBasePointList.stream().map(SchBasePoint::getPoint_code) + .collect(Collectors.toList()); + + //找到空点位正在执行的任务(正常来说不应该存在) + List taskingSchBaseTaskList = iSchBaseTaskService.list(new LambdaQueryWrapper() + .eq(SchBaseTask::getIs_delete, IOSConstant.IS_DELETE_NO) + .and(wp -> wp + .in(SchBaseTask::getPoint_code1, emptyPointStringList) + .or() + .in(SchBaseTask::getPoint_code2, emptyPointStringList) + .or() + .in(SchBaseTask::getPoint_code3, emptyPointStringList) + .or() + .in(SchBaseTask::getPoint_code4, emptyPointStringList) + ) + .le(SchBaseTask::getTask_status, TaskStatus.EXECUTING.getCode())); + + //如果不存在,则正常执行 + if(CollectionUtils.isEmpty(taskingSchBaseTaskList)){ + schBasePointString = schBasePointList.get(0).getPoint_code(); + } else { + List pointList1 = taskingSchBaseTaskList.stream().map(SchBaseTask::getPoint_code1) + .collect(Collectors.toList()); + List pointList2 = taskingSchBaseTaskList.stream().map(SchBaseTask::getPoint_code2) + .collect(Collectors.toList()); + List pointList3 = taskingSchBaseTaskList.stream().map(SchBaseTask::getPoint_code3) + .collect(Collectors.toList()); + List pointList4 = taskingSchBaseTaskList.stream().map(SchBaseTask::getPoint_code4) + .collect(Collectors.toList()); + + List pointStringList = emptyPointStringList.stream().filter(a -> StringUtils.isNotBlank(a) + && !pointList1.contains(a) + && !pointList2.contains(a) + && !pointList3.contains(a) + && !pointList4.contains(a)) + .collect(Collectors.toList()); + + schBasePointString = pointStringList.get(0); + } + } + + //point1为库存空托盘点 + //point2为卸货区空托盘应该放置的点 + //point3为入库起始点位 + + //起始点 对于task point3 + whereJson.put ("point_code", whereJson.getString("site_code")); + + //卸货区空托盘应该放置的点,对应task point2 + whereJson.put("sch_base_point", schBasePointString); + whereJson.put("bill_type",StatusEnum.IOBILL_TYPE_IN.code("来料入库")); + whereJson.put("priority","1"); + whereJson.put("task_group_seq",taskGroupSeq); + whereJson.put("task_group_id",taskGroupId); + + whereJson.put("form_data_code", entry.getValue().get(0).getForm_data_code()); + + jsonObjectList.add(whereJson); + //下一个的托盘放置点为本次的起点 + lastSchBasePoint = whereJson.getString("site_code"); } - //point1为库存空托盘点 - //point2为卸货区空托盘应该放置的点 - //point3为入库起始点位 + //校验没有问题,则进行入库世纪操作 + for(JSONObject whereJson:jsonObjectList){ - //起始点 对于task point3 - whereJson.put ("point_code", whereJson.getString("site_code")); - - //卸货区空托盘应该放置的点,对应task point2 - whereJson.put("sch_base_point", schBasePointString); - whereJson.put("bill_type",StatusEnum.IOBILL_TYPE_IN.code("来料入库")); - whereJson.put("priority","1"); - whereJson.put("task_group_seq",taskGroupSeq); - whereJson.put("task_group_id",taskGroupId); - - whereJson.put("form_data_code",dto.getForm_data_code()); - - jsonObjectList.add(whereJson); - //下一个的托盘放置点为本次的起点 - lastSchBasePoint = whereJson.getString("site_code"); + // 预组织出入库单据实体 + Map jsonMst = organizeInsertData(whereJson); + // 调用服务新增出入库单 + String iostorinv_id = iRawAssistIStorService.insertDtl(jsonMst); + // 预组织出入库单据明细的分配数据 + whereJson.put("iostorinv_id", iostorinv_id); + Map jsonDtl = organizeDivData(whereJson); + // 调用分配,默认自动分配库位 + iRawAssistIStorService.zwInDivStruct(new JSONObject(jsonDtl)); + // 下发任务 + sendZwTask(whereJson); + //更新组盘表状态 + mdPbGroupplateMapper.update(new GroupPlate(), new LambdaUpdateWrapper() + .set(GroupPlate::getStatus, IOSEnum.GROUP_PLATE_STATUS.code("入库")) + .eq(GroupPlate::getStoragevehicle_code, whereJson.getString("storagevehicle_code")) + .eq(GroupPlate::getStatus, IOSEnum.GROUP_PLATE_STATUS.code("组盘"))); + } } - //校验没有问题,则进行入库世纪操作 - for(JSONObject whereJson:jsonObjectList){ - // 预组织出入库单据实体 - Map jsonMst = organizeInsertData(whereJson); - // 调用服务新增出入库单 - String iostorinv_id = iRawAssistIStorService.insertDtl(jsonMst); - // 预组织出入库单据明细的分配数据 - whereJson.put("iostorinv_id", iostorinv_id); - Map jsonDtl = organizeDivData(whereJson); - // 调用分配,默认自动分配库位 - iRawAssistIStorService.zwInDivStruct(new JSONObject(jsonDtl)); - // 下发任务 - sendZwTask(whereJson); - //更新组盘表状态 - mdPbGroupplateMapper.update(new GroupPlate(), new LambdaUpdateWrapper() - .set(GroupPlate::getStatus, IOSEnum.GROUP_PLATE_STATUS.code("入库")) - .eq(GroupPlate::getStoragevehicle_code, whereJson.getString("storagevehicle_code")) - .eq(GroupPlate::getStatus, IOSEnum.GROUP_PLATE_STATUS.code("组盘"))); - - } return PdaResponse.requestOk(); } @@ -1323,31 +1340,55 @@ public class PdaIosInServiceImpl implements PdaIosInService { } @Override - public PdaResponse inCheck(ZwConfirmInParamDto dto) { + public PdaResponse inCheck(ZwConfirmCheckParamDto dto) { + + if(StringUtils.isBlank(dto.getSite_vehicle_code())){ + throw new BadRequestException("点位码/托盘码不能为空"); + } + String site_code; + String vehicle_code; + + //查点位表 + SchBasePoint schBasePoint = iSchBasePointService + .getOne(new LambdaQueryWrapper().eq(SchBasePoint::getVehicle_code, dto.getSite_vehicle_code()) + .or() + .eq(SchBasePoint::getPoint_code, dto.getSite_vehicle_code())); + if(null == schBasePoint){ + //存在点位表,说明传入的是点位,则根据点位查询载具 + throw new BadRequestException("未找到载具/点位信息,请检查!"); + } + + if(!"3".equals(schBasePoint.getPoint_status())){ + throw new BadRequestException("系统显示点位"+schBasePoint.getPoint_code()+"不是有料状态,请确认是否组盘!"); + } + + site_code =schBasePoint.getPoint_code(); + vehicle_code =schBasePoint.getVehicle_code(); + //判断点位和仓位是否有正在执行的任务 List schBaseTaskList = iSchBaseTaskService.list(new LambdaQueryWrapper() .eq(SchBaseTask::getIs_delete, IOSConstant.IS_DELETE_NO) .and(wp -> wp - .eq(SchBaseTask::getPoint_code2, dto.getSite_code()) + .eq(SchBaseTask::getPoint_code2, site_code) .or() - .eq(SchBaseTask::getPoint_code3, dto.getSite_code()) + .eq(SchBaseTask::getPoint_code3, site_code) .or() - .eq(SchBaseTask::getPoint_code1, dto.getSite_code()) + .eq(SchBaseTask::getPoint_code1, site_code) .or() - .eq(SchBaseTask::getPoint_code4, dto.getSite_code()) + .eq(SchBaseTask::getPoint_code4, site_code) ) .le(SchBaseTask::getTask_status, TaskStatus.EXECUTING.getCode())); if(CollectionUtils.isNotEmpty(schBaseTaskList)){ - throw new BadRequestException("存在正在执行任务的点位"+dto.getSite_code()); + throw new BadRequestException("存在正在执行任务的点位"+site_code); } JSONObject whereJson = new JSONObject(); - whereJson.put("vehicle_code", dto.getVehicle_code()); - whereJson.put("search", dto.getVehicle_code()); + whereJson.put("vehicle_code", vehicle_code); + whereJson.put("search", vehicle_code); //起点 - whereJson.put("site_code", dto.getSite_code()); + whereJson.put("site_code", site_code); whereJson.put("noEmptyVehicle", "1"); String material_model = getVehicleMaterial(whereJson).getString("material_model"); if (StringUtils.isEmpty(material_model)) { @@ -1355,8 +1396,6 @@ public class PdaIosInServiceImpl implements PdaIosInService { } //判断每个物料是否都已经配置库区 - - //查询字典表 List dictList = sysDictMapper.selectList(new LambdaQueryWrapper() .eq(Dict::getCode, "MATERIAL_MODEL_SECT")); @@ -1377,22 +1416,22 @@ public class PdaIosInServiceImpl implements PdaIosInService { whereJson.put("sect_id",sectattrList.get(0).getSect_id()); - //获取起点 - SchBasePoint schBasePoint = iSchBasePointService - .getOne(new LambdaQueryWrapper().eq(SchBasePoint::getVehicle_code, whereJson.get("vehicle_code"))); - if (ObjectUtil.isEmpty(schBasePoint)) { - throw new BadRequestException("未找到载具所在的点位信息,请检查该载具是否绑定点位"); + //通过载具查找组盘 + List groupPlates = iMdPbGroupplateService.list(new QueryWrapper() + .eq("storagevehicle_code", vehicle_code) + .lt("status", IOSEnum.GROUP_PLATE_STATUS.code("出库"))); + + if(CollectionUtils.isEmpty(groupPlates)) { + throw new BadRequestException("载具" + vehicle_code + "未组盘,请先组盘!"); } - if(!"3".equals(schBasePoint.getPoint_status())){ - throw new BadRequestException("系统显示点位"+schBasePoint.getPoint_code()+"不是有料状态,请确认是否组盘!"); - } - - if (!schBasePoint.getPoint_code().equals(dto.getSite_code())) { - throw new BadRequestException("载具" + dto.getVehicle_code() + "不在" + dto.getSite_code() + "上"); - } - - return PdaResponse.requestOk(); + ZwConfirmCheckParamRespondDto respDto = new ZwConfirmCheckParamRespondDto(); + respDto.setQty(String.valueOf(groupPlates.get(0).getQty())); + respDto.setMaterial_code(groupPlates.get(0).getMaterial_code()); + respDto.setForm_data_code(groupPlates.get(0).getExt_code()); + respDto.setVehicle_code(vehicle_code); + respDto.setSite_code(site_code); + return PdaResponse.requestParamOk(respDto); } @@ -1404,7 +1443,18 @@ public class PdaIosInServiceImpl implements PdaIosInService { if(schBasePointList.isEmpty()){ return PdaResponse.requestOk(); } - return PdaResponse.requestParamOk(schBasePointList.get(0).getPoint_code()); + + JSONObject outJson = new JSONObject(); + //查询托盘的 + MdPbStoragevehicleinfo mdPbStoragevehicleinfo = iMdPbStoragevehicleinfoService.getByCode(whereJson.getString("vehicle_code")); + if(mdPbStoragevehicleinfo != null ){ + + } + + outJson.put("point_code",schBasePointList.get(0).getPoint_code()); + outJson.put("recommended_sect_code",mdPbStoragevehicleinfo.getRecommended_sect_code()); + + return PdaResponse.requestParamOk(outJson); } diff --git a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pda_manage/ios_manage/service/impl/PdaIosOutServiceImpl.java b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pda_manage/ios_manage/service/impl/PdaIosOutServiceImpl.java index 1f92861..fa53869 100644 --- a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pda_manage/ios_manage/service/impl/PdaIosOutServiceImpl.java +++ b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pda_manage/ios_manage/service/impl/PdaIosOutServiceImpl.java @@ -80,6 +80,9 @@ import static org.nl.wms.warehouse_manage.enums.IOSEnum.GROUP_PLATE_STATUS; public class PdaIosOutServiceImpl implements PdaIosOutService { @Autowired private Map applyTaskMap; + + @Autowired + private MdPbStoragevehicleextMapper mdPbStoragevehicleextMapper; /** * 组盘记录mapper */ @@ -110,11 +113,6 @@ public class PdaIosOutServiceImpl implements PdaIosOutService { */ @Autowired private IMdMeMaterialbaseService iMdMeMaterialbaseService; - /** - * 载具扩展属性服务 - */ - @Autowired - private MdPbStoragevehicleextMapper mdPbStoragevehicleextMapper; /** * 点位服务 @@ -421,7 +419,7 @@ public class PdaIosOutServiceImpl implements PdaIosOutService { //查找状态为入库状态的组盘表 List groupPlateList = iMdPbGroupPlateService.list(new QueryWrapper().lambda() - .eq(GroupPlate::getStatus, IOSEnum.GROUP_PLATE_STATUS.code("入库")) + .eq(GroupPlate::getStatus, IOSEnum.GROUP_PLATE_STATUS.code("组盘")) .ne(GroupPlate::getPcsn, "空托盘入库") .eq(GroupPlate::getStoragevehicle_code, whereJson.getString("vehicle_code")) ); @@ -435,7 +433,6 @@ public class PdaIosOutServiceImpl implements PdaIosOutService { throw new BadRequestException("载具组盘信息重复,请核对!"); } - JSONObject outJson = new JSONObject(); //根据物料id获取物料名称等信息 @@ -453,6 +450,11 @@ public class PdaIosOutServiceImpl implements PdaIosOutService { return PdaResponse.requestParamOk(outJson); } + @Override + public PdaResponse getStructivtByMaterialAndSectCode(JSONObject whereJson) { + return PdaResponse.requestParamOk(mdPbStoragevehicleextMapper.queryAll(whereJson)); + } + private String createOutBills(JSONObject whereJson) { String now = DateUtil.now(); diff --git a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch_manage/controller/SchBasePointController.java b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch_manage/controller/SchBasePointController.java index 28875d6..819da67 100644 --- a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch_manage/controller/SchBasePointController.java +++ b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch_manage/controller/SchBasePointController.java @@ -56,6 +56,13 @@ public class SchBasePointController { } + @PostMapping("/getInBillPointList") + @Log("查询入库点位清单") + public ResponseEntity getInBillPointList(@Validated @RequestBody SchBasePoint entity) { + return new ResponseEntity<>(schBasePointService.getInBillPointList(entity),HttpStatus.OK); + } + + @Log("删除点位管理") @DeleteMapping public ResponseEntity delete(@RequestBody Set ids) { diff --git a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch_manage/service/ISchBasePointService.java b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch_manage/service/ISchBasePointService.java index 103d4db..41bf7a2 100644 --- a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch_manage/service/ISchBasePointService.java +++ b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch_manage/service/ISchBasePointService.java @@ -48,6 +48,13 @@ public interface ISchBasePointService extends IService { */ PdaResponse updatePointType(SchBasePoint entity); + /** + * 编辑点位类型 + * + * @param entity / + */ + PdaResponse getInBillPointList(SchBasePoint entity); + /** * 多选删除 * @@ -136,4 +143,6 @@ public interface ISchBasePointService extends IService { List getPointList2(SchBasePoint region); List getPointsByCode(String regions); + + SchBasePoint getPointByCode(String pointCode); } diff --git a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch_manage/service/dao/mapper/SchBasePointMapper.java b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch_manage/service/dao/mapper/SchBasePointMapper.java index fa5c4d6..3bb1912 100644 --- a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch_manage/service/dao/mapper/SchBasePointMapper.java +++ b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch_manage/service/dao/mapper/SchBasePointMapper.java @@ -28,6 +28,13 @@ public interface SchBasePointMapper extends BaseMapper { */ List getAllUnlockAbnormalPoints(); + /** + * 获得原料卸车区所有点位 + * + * @return List + */ + List getInBillPointList(String point_code); + /** * 行锁获取id的点位 * diff --git a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch_manage/service/dao/mapper/SchBasePointMapper.xml b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch_manage/service/dao/mapper/SchBasePointMapper.xml index 6970a84..2b660bc 100644 --- a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch_manage/service/dao/mapper/SchBasePointMapper.xml +++ b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch_manage/service/dao/mapper/SchBasePointMapper.xml @@ -19,6 +19,14 @@ WHERE p.ing_task_code IS NOT NULL AND p.ing_task_code != '' AND (t.task_status = '5' OR t.task_status = '6') +