新增工位剔除接口

dev_2.5_optimize
yewj 5 months ago
parent c63a3eb5c6
commit 12154b85ab

@ -48,8 +48,7 @@ public class IoCollectOrderCodeAutoController extends BaseController {
* @return * @return
*/ */
@GetMapping("/udiwms/ioSplit/collect/auto/code/filter") @GetMapping("/udiwms/ioSplit/collect/auto/code/filter")
public BaseResponse filterByCode(IoSplitCodeRequest splitCodeRequest, public BaseResponse filterByCode(IoSplitCodeRequest splitCodeRequest, BindingResult bindingResult) {
BindingResult bindingResult) {
if (bindingResult.hasErrors()) { if (bindingResult.hasErrors()) {
return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, bindingResult.getFieldError().getDefaultMessage()); return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, bindingResult.getFieldError().getDefaultMessage());
} }
@ -67,8 +66,7 @@ public class IoCollectOrderCodeAutoController extends BaseController {
* @return * @return
*/ */
@GetMapping("/udiwms/ioSplit/collect/auto/order/filter") @GetMapping("/udiwms/ioSplit/collect/auto/order/filter")
public BaseResponse filterByBillNo(CollectOrderCodeAutoRequest collectOrderCodeAutoRequest, public BaseResponse filterByBillNo(CollectOrderCodeAutoRequest collectOrderCodeAutoRequest, BindingResult bindingResult) {
BindingResult bindingResult) {
if (bindingResult.hasErrors()) { if (bindingResult.hasErrors()) {
return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, bindingResult.getFieldError().getDefaultMessage()); return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, bindingResult.getFieldError().getDefaultMessage());
} }
@ -89,8 +87,7 @@ public class IoCollectOrderCodeAutoController extends BaseController {
* @return * @return
*/ */
@GetMapping("/udiwms/ioSplit/collect/auto/order/result") @GetMapping("/udiwms/ioSplit/collect/auto/order/result")
public BaseResponse filterResultByBillNo(CollectOrderBizRequest collectOrderBizRequest, public BaseResponse filterResultByBillNo(CollectOrderBizRequest collectOrderBizRequest, BindingResult bindingResult) {
BindingResult bindingResult) {
if (bindingResult.hasErrors()) { if (bindingResult.hasErrors()) {
return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, bindingResult.getFieldError().getDefaultMessage()); return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, bindingResult.getFieldError().getDefaultMessage());
} }
@ -101,8 +98,7 @@ public class IoCollectOrderCodeAutoController extends BaseController {
CollectOrderBizResponse collectOrderBizResponse = new CollectOrderBizResponse(); CollectOrderBizResponse collectOrderBizResponse = new CollectOrderBizResponse();
BeanUtils.copyProperties(collectOrderBiz, collectOrderBizResponse); BeanUtils.copyProperties(collectOrderBiz, collectOrderBizResponse);
for (IoCollectOrderCodeAuto collectOrderCodeAuto : collectOrderCodeAutos) { for (IoCollectOrderCodeAuto collectOrderCodeAuto : collectOrderCodeAutos) {
if (collectOrderCodeAuto.getRelId().equals(collectOrderBiz.getRelId()) && if (collectOrderCodeAuto.getRelId().equals(collectOrderBiz.getRelId()) && (StrUtil.isNotEmpty(collectOrderCodeAuto.getBatchNo()) && StrUtil.emptyIfNull(collectOrderBiz.getBatchNo()).equals(collectOrderCodeAuto.getBatchNo()))) {
(StrUtil.isNotEmpty(collectOrderCodeAuto.getBatchNo()) && StrUtil.emptyIfNull(collectOrderBiz.getBatchNo()).equals(collectOrderCodeAuto.getBatchNo()))) {
collectOrderBizResponse.setUdiCode(StrUtil.trimToEmpty(collectOrderBizResponse.getUdiCode()) + "," + collectOrderCodeAuto.getUdiCode()); collectOrderBizResponse.setUdiCode(StrUtil.trimToEmpty(collectOrderBizResponse.getUdiCode()) + "," + collectOrderCodeAuto.getUdiCode());
} else if (collectOrderCodeAuto.getRelId().equals(collectOrderBiz.getRelId())) { } else if (collectOrderCodeAuto.getRelId().equals(collectOrderBiz.getRelId())) {
collectOrderBizResponse.setUdiCode(StrUtil.trimToEmpty(collectOrderBizResponse.getUdiCode()) + "," + collectOrderCodeAuto.getUdiCode()); collectOrderBizResponse.setUdiCode(StrUtil.trimToEmpty(collectOrderBizResponse.getUdiCode()) + "," + collectOrderCodeAuto.getUdiCode());
@ -127,8 +123,7 @@ public class IoCollectOrderCodeAutoController extends BaseController {
* @return * @return
*/ */
@GetMapping("/udiwms/ioSplit/collect/code/filter") @GetMapping("/udiwms/ioSplit/collect/code/filter")
public BaseResponse filterByTagCode(CollectOrderCodeAutoRequest collectOrderCodeAutoRequest, public BaseResponse filterByTagCode(CollectOrderCodeAutoRequest collectOrderCodeAutoRequest, BindingResult bindingResult) {
BindingResult bindingResult) {
if (bindingResult.hasErrors()) { if (bindingResult.hasErrors()) {
return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, bindingResult.getFieldError().getDefaultMessage()); return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, bindingResult.getFieldError().getDefaultMessage());
} }

@ -165,4 +165,8 @@ public class IoFifoDesOrderController extends BaseController {
return ResultVOUtils.success("损耗出库成功"); return ResultVOUtils.success("损耗出库成功");
} }
} }

@ -8,6 +8,7 @@ import com.glxp.api.entity.auth.SysWorkplace;
import com.glxp.api.entity.basic.*; import com.glxp.api.entity.basic.*;
import com.glxp.api.entity.collect.*; import com.glxp.api.entity.collect.*;
import com.glxp.api.exception.JsonException; import com.glxp.api.exception.JsonException;
import com.glxp.api.req.collect.AddInvDesDetaiRequest;
import com.glxp.api.req.collect.CollectOrderBizRequest; import com.glxp.api.req.collect.CollectOrderBizRequest;
import com.glxp.api.req.collect.CollectOrderRequest; import com.glxp.api.req.collect.CollectOrderRequest;
import com.glxp.api.res.collect.CollectOrderBizResponse; import com.glxp.api.res.collect.CollectOrderBizResponse;
@ -1363,7 +1364,6 @@ public class IoCodeTempController extends BaseController {
RelCodeBatchService relCodeBatchService; RelCodeBatchService relCodeBatchService;
// @Transactional(rollbackFor = Exception.class) // @Transactional(rollbackFor = Exception.class)
public BaseResponse addDrugOrder(AddOrderRequest addOrderRequest, UdiEntity udiEntity, String code, Integer groupNumber) { public BaseResponse addDrugOrder(AddOrderRequest addOrderRequest, UdiEntity udiEntity, String code, Integer groupNumber) {
AddCodeResult addCodeResult = new AddCodeResult(); AddCodeResult addCodeResult = new AddCodeResult();
@ -1942,14 +1942,12 @@ public class IoCodeTempController extends BaseController {
} }
public Integer getMaxGroupNumber() { public Integer getMaxGroupNumber() {
Integer groupNumber = codeTempService.selectMaxGroupNumber(); Integer groupNumber = codeTempService.selectMaxGroupNumber();
return groupNumber; return groupNumber;
} }
public void updateRelCode(BasicBussinessTypeEntity bussinessTypeEntity, String code) { public void updateRelCode(BasicBussinessTypeEntity bussinessTypeEntity, String code) {
if (!(bussinessTypeEntity.getAction().equals(ConstantType.SPLIT_OUT) || bussinessTypeEntity.getAction().equals(ConstantType.SPLIT_RETURN))) if (!(bussinessTypeEntity.getAction().equals(ConstantType.SPLIT_OUT) || bussinessTypeEntity.getAction().equals(ConstantType.SPLIT_RETURN)))
relCodeBatchService.threadUpdateIoCodeTempEntity(code); relCodeBatchService.threadUpdateIoCodeTempEntity(code);
@ -3094,7 +3092,6 @@ public class IoCodeTempController extends BaseController {
for (IoCodeTempResponse ioSplitCodeResponse : list) { for (IoCodeTempResponse ioSplitCodeResponse : list) {
if (StrUtil.isEmpty(ioSplitCodeResponse.getGgxh())) { if (StrUtil.isEmpty(ioSplitCodeResponse.getGgxh())) {
ioSplitCodeResponse.setGgxh(ioSplitCodeResponse.getBzgg()); ioSplitCodeResponse.setGgxh(ioSplitCodeResponse.getBzgg());
} }
} }
// if (list.size() == 0 || list == null) { // if (list.size() == 0 || list == null) {
@ -3107,4 +3104,21 @@ public class IoCodeTempController extends BaseController {
return ResultVOUtils.success(pageSimpleResponse); return ResultVOUtils.success(pageSimpleResponse);
} }
/**
*
*
* @param bindingResult
* @return
*/
@PostMapping("/udiwms/warehouse/inout/removeCodes")
public BaseResponse removeCodes(@RequestBody FilterCodeRequest filterCodeRequest,
BindingResult bindingResult) {
if (bindingResult.hasErrors()) {
return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, bindingResult.getFieldError().getDefaultMessage());
}
ioSplitFifoInvService.removeByCodes(filterCodeRequest.getCodeList(), filterCodeRequest.getWorkPlaceCode());
return ResultVOUtils.success("损耗出库成功");
}
} }

@ -72,4 +72,9 @@ public class FilterCodeRequest extends ListPageRequest {
* *
*/ */
private List<String> codeList; private List<String> codeList;
/**
*
*/
private Long workPlaceCode;
} }

@ -122,30 +122,7 @@ public class IoSplitFifoInvService extends ServiceImpl<IoSplitFifoInvMapper, IoS
splitFifoInv.setAvailableCount(IntUtil.value(splitFifoInv.getAvailableCount()) + IntUtil.value(ioSplitFifoCodeEntity.getTotalCount())); splitFifoInv.setAvailableCount(IntUtil.value(splitFifoInv.getAvailableCount()) + IntUtil.value(ioSplitFifoCodeEntity.getTotalCount()));
updateById(splitFifoInv); updateById(splitFifoInv);
} else { } else {
splitFifoInv = IoSplitFifoInv.builder() splitFifoInv = IoSplitFifoInv.builder().id(IdUtil.getSnowflakeNextId()).workPlaceCode(ioSplitFifoCodeEntity.getWorkPlaceCode()).deptCode(ioSplitFifoCodeEntity.getDeptCode()).invCode(ioSplitFifoCodeEntity.getInvCode()).productType(ioSplitFifoCodeEntity.getProductType()).fifoSplit(ioSplitFifoCodeEntity.getFifoSplit()).relId(ioSplitFifoCodeEntity.getRelId()).inCodeCount(ioSplitFifoCodeEntity.getScanCount()).batchNo(ioSplitFifoCodeEntity.getBatchNo()).produceDate(ioSplitFifoCodeEntity.getProduceDate()).expireDate(ioSplitFifoCodeEntity.getExpireDate()).supId(ioSplitFifoCodeEntity.getSupId()).inCount(ioSplitFifoCodeEntity.getTotalCount()).outCount(0).reCount(IntUtil.value(ioSplitFifoCodeEntity.getTotalCount())).availableCount(IntUtil.value(ioSplitFifoCodeEntity.getTotalCount())).lockCount(0).createTime(new Date()).updateTime(new Date()).remark(null).enableRemind(false).invRemindCount(0).workPlaceQueueCode(orderEntity.getWorkPlaceQueueCode() == null ? setQueueCode(ioSplitFifoCodeEntity.getWorkPlaceCode(), orderEntity.getCreateUser()) : orderEntity.getWorkPlaceQueueCode()).build();
.id(IdUtil.getSnowflakeNextId())
.workPlaceCode(ioSplitFifoCodeEntity.getWorkPlaceCode())
.deptCode(ioSplitFifoCodeEntity.getDeptCode())
.invCode(ioSplitFifoCodeEntity.getInvCode())
.productType(ioSplitFifoCodeEntity.getProductType())
.fifoSplit(ioSplitFifoCodeEntity.getFifoSplit())
.relId(ioSplitFifoCodeEntity.getRelId())
.inCodeCount(ioSplitFifoCodeEntity.getScanCount())
.batchNo(ioSplitFifoCodeEntity.getBatchNo())
.produceDate(ioSplitFifoCodeEntity.getProduceDate())
.expireDate(ioSplitFifoCodeEntity.getExpireDate())
.supId(ioSplitFifoCodeEntity.getSupId())
.inCount(ioSplitFifoCodeEntity.getTotalCount())
.outCount(0)
.reCount(IntUtil.value(ioSplitFifoCodeEntity.getTotalCount()))
.availableCount(IntUtil.value(ioSplitFifoCodeEntity.getTotalCount()))
.lockCount(0)
.createTime(new Date())
.updateTime(new Date())
.remark(null)
.enableRemind(false)
.invRemindCount(0)
.workPlaceQueueCode(orderEntity.getWorkPlaceQueueCode() == null ? setQueueCode(ioSplitFifoCodeEntity.getWorkPlaceCode(), orderEntity.getCreateUser()) : orderEntity.getWorkPlaceQueueCode()).build();
// if (isOnlyInv) { // if (isOnlyInv) {
// splitFifoInv.setBusType(ioSplitFifoCodeEntity.getBusType()); // splitFifoInv.setBusType(ioSplitFifoCodeEntity.getBusType());
// } // }
@ -184,16 +161,10 @@ public class IoSplitFifoInvService extends ServiceImpl<IoSplitFifoInvMapper, IoS
} }
SysWorkplaceQueue workplaceQueue = queues.get(0); SysWorkplaceQueue workplaceQueue = queues.get(0);
// 使用流来过滤掉匹配的元素 // 使用流来过滤掉匹配的元素
List<SysWorkplaceQueue> filteredQueues = queues.stream() List<SysWorkplaceQueue> filteredQueues = queues.stream().filter(queue -> {
.filter(queue -> { IoSplitFifoInv one = getOne(new LambdaQueryWrapper<IoSplitFifoInv>().eq(IoSplitFifoInv::getWorkPlaceQueueCode, queue.getCode()));
IoSplitFifoInv one = getOne(
new LambdaQueryWrapper<IoSplitFifoInv>()
.eq(IoSplitFifoInv::getWorkPlaceQueueCode, queue.getCode())
);
return one == null; // 只保留那些没有匹配的槽位 return one == null; // 只保留那些没有匹配的槽位
}) }).sorted((queue1, queue2) -> queue1.getCode().compareTo(queue2.getCode())).collect(Collectors.toList());
.sorted((queue1, queue2) -> queue1.getCode().compareTo(queue2.getCode()))
.collect(Collectors.toList());
if (filteredQueues.size() > 0) { if (filteredQueues.size() > 0) {
//还有剩余的槽位 可分配 //还有剩余的槽位 可分配
SysWorkplaceQueue sysWorkplaceQueue = filteredQueues.get(0); SysWorkplaceQueue sysWorkplaceQueue = filteredQueues.get(0);
@ -248,11 +219,36 @@ public class IoSplitFifoInvService extends ServiceImpl<IoSplitFifoInvMapper, IoS
} }
} }
} else { } else {
if (ioSplitFifoCodeEntity != null) if (ioSplitFifoCodeEntity != null) splitCodeEntities.add(ioSplitFifoCodeEntity);
splitCodeEntities.add(ioSplitFifoCodeEntity); }
}
}
splitFifoCodeService.removeBatchByIds(splitCodeEntities);
for (IoSplitFifoCodeEntity ioSplitFifoCodeEntity : splitCodeEntities) {
IoSplitFifoInv splitFifoInv = findByFifoCode(ioSplitFifoCodeEntity);
if (splitFifoInv != null) {
splitFifoInv.setOutCount(IntUtil.value(splitFifoInv.getOutCount()) + IntUtil.value(ioSplitFifoCodeEntity.getTotalCount()));
splitFifoInv.setOutCodeCount(IntUtil.value(splitFifoInv.getOutCodeCount()) + 1);
splitFifoInv.setReCount(IntUtil.value(splitFifoInv.getInCount()) - IntUtil.value(splitFifoInv.getOutCount()));
splitFifoInv.setReCodeCount(IntUtil.value(splitFifoInv.getInCodeCount()) - IntUtil.value(splitFifoInv.getOutCodeCount()));
splitFifoInv.setAvailableCount(IntUtil.value(splitFifoInv.getInCount()) - IntUtil.value(splitFifoInv.getOutCount()) - IntUtil.value(splitFifoInv.getLockCount()));
updateById(splitFifoInv);
} }
} }
} }
@Transactional(rollbackFor = Exception.class)
public void removeByCodes(List<String> codes, Long workPlaceCode) {
List<IoSplitFifoCodeEntity> splitCodeEntities = new ArrayList<>();
for (String code : codes) {
IoSplitFifoCodeEntity ioSplitFifoCodeEntity = splitFifoCodeService.findByCode(code, workPlaceCode);
if (ioSplitFifoCodeEntity == null) {
throw new JsonException(500, "工位队列不存在!");
}
splitCodeEntities.add(ioSplitFifoCodeEntity);
}
if (CollUtil.isNotEmpty(splitCodeEntities)) {
splitFifoCodeService.removeBatchByIds(splitCodeEntities); splitFifoCodeService.removeBatchByIds(splitCodeEntities);
for (IoSplitFifoCodeEntity ioSplitFifoCodeEntity : splitCodeEntities) { for (IoSplitFifoCodeEntity ioSplitFifoCodeEntity : splitCodeEntities) {
IoSplitFifoInv splitFifoInv = findByFifoCode(ioSplitFifoCodeEntity); IoSplitFifoInv splitFifoInv = findByFifoCode(ioSplitFifoCodeEntity);
@ -265,17 +261,14 @@ public class IoSplitFifoInvService extends ServiceImpl<IoSplitFifoInvMapper, IoS
updateById(splitFifoInv); updateById(splitFifoInv);
} }
} }
}
} }
public IoSplitFifoInv findByFifoCode(IoSplitFifoCodeEntity ioSplitFifoCodeEntity) { public IoSplitFifoInv findByFifoCode(IoSplitFifoCodeEntity ioSplitFifoCodeEntity) {
// Boolean isOnlyInv = sysWorkplaceDocumentService.isOnlyInv(ioSplitFifoCodeEntity.getWorkPlaceCode(), ioSplitFifoCodeEntity.getBusType()); // Boolean isOnlyInv = sysWorkplaceDocumentService.isOnlyInv(ioSplitFifoCodeEntity.getWorkPlaceCode(), ioSplitFifoCodeEntity.getBusType());
IoSplitFifoInv splitFifoInv = getOne(new LambdaQueryWrapper<IoSplitFifoInv>() IoSplitFifoInv splitFifoInv = getOne(new LambdaQueryWrapper<IoSplitFifoInv>().eq(IoSplitFifoInv::getRelId, ioSplitFifoCodeEntity.getRelId()).eq(IoSplitFifoInv::getWorkPlaceCode, ioSplitFifoCodeEntity.getWorkPlaceCode()).eq(StrUtil.isNotEmpty(ioSplitFifoCodeEntity.getBatchNo()), IoSplitFifoInv::getBatchNo, ioSplitFifoCodeEntity.getBatchNo()).eq(ioSplitFifoCodeEntity.getSupId() != null, IoSplitFifoInv::getSupId, ioSplitFifoCodeEntity.getSupId()).last("limit 1"));
.eq(IoSplitFifoInv::getRelId, ioSplitFifoCodeEntity.getRelId())
.eq(IoSplitFifoInv::getWorkPlaceCode, ioSplitFifoCodeEntity.getWorkPlaceCode())
.eq(StrUtil.isNotEmpty(ioSplitFifoCodeEntity.getBatchNo()), IoSplitFifoInv::getBatchNo, ioSplitFifoCodeEntity.getBatchNo())
.eq(ioSplitFifoCodeEntity.getSupId() != null, IoSplitFifoInv::getSupId, ioSplitFifoCodeEntity.getSupId()).last("limit 1"));
// .eq(StrUtil.isNotEmpty(ioSplitFifoCodeEntity.getBusType()) && isOnlyInv, IoSplitFifoInv::getBusType, ioSplitFifoCodeEntity.getBusType()) // .eq(StrUtil.isNotEmpty(ioSplitFifoCodeEntity.getBusType()) && isOnlyInv, IoSplitFifoInv::getBusType, ioSplitFifoCodeEntity.getBusType())
return splitFifoInv; return splitFifoInv;
} }
@ -357,12 +350,7 @@ public class IoSplitFifoInvService extends ServiceImpl<IoSplitFifoInvMapper, IoS
Assert.notNull(ioSplitFifoInvRequest.getId(), "Id不能为空"); Assert.notNull(ioSplitFifoInvRequest.getId(), "Id不能为空");
IoSplitFifoInv old = this.getById(ioSplitFifoInvRequest.getId()); IoSplitFifoInv old = this.getById(ioSplitFifoInvRequest.getId());
Assert.notNull(old, "不存在该库存预警设置"); Assert.notNull(old, "不存在该库存预警设置");
this.lambdaUpdate() this.lambdaUpdate().set(ioSplitFifoInvRequest.getEnableRemind() != null, IoSplitFifoInv::getEnableRemind, ioSplitFifoInvRequest.getEnableRemind() ? 1 : 0).set(ioSplitFifoInvRequest.getInvRemindCount() != null, IoSplitFifoInv::getInvRemindCount, ioSplitFifoInvRequest.getInvRemindCount()).set(IoSplitFifoInv::getUpdateTime, new Date()).eq(IoSplitFifoInv::getId, ioSplitFifoInvRequest.getId()).update();
.set(ioSplitFifoInvRequest.getEnableRemind() != null, IoSplitFifoInv::getEnableRemind, ioSplitFifoInvRequest.getEnableRemind() ? 1 : 0)
.set(ioSplitFifoInvRequest.getInvRemindCount() != null, IoSplitFifoInv::getInvRemindCount, ioSplitFifoInvRequest.getInvRemindCount())
.set(IoSplitFifoInv::getUpdateTime, new Date())
.eq(IoSplitFifoInv::getId, ioSplitFifoInvRequest.getId())
.update();
} }
} }

Loading…
Cancel
Save