拆零上货入库数量计算问题,获取下一单据

workplace
anthonywj 11 months ago
parent fccf06cb0e
commit ed03b900fd

@ -1,5 +1,7 @@
package com.glxp.api.controller.collect;
import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.util.ArrayUtil;
import cn.hutool.core.util.StrUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.github.pagehelper.PageInfo;
@ -26,6 +28,7 @@ import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RestController;
import javax.annotation.Resource;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
@ -48,6 +51,28 @@ public class IoCollectOrderController extends BaseController {
return ResultVOUtils.success(pageSimpleResponse);
}
/**
*
*
* @param collectOrderRequest
* @return
*/
@GetMapping("/udiwms/basic/collect/order/next")
public BaseResponse getNextOrder(CollectOrderRequest collectOrderRequest) {
if (StrUtil.isEmpty(collectOrderRequest.getWorkPlaceCode())) {
return ResultVOUtils.error(500, "工位不能为空!");
}
CollectOrderRequest request = new CollectOrderRequest();
request.setLimit(1);
request.setWorkPlaceCode(collectOrderRequest.getWorkPlaceCode());
request.setTagStatusList(List.of(1));
List<IoCollectOrderResponse> orderResponses = collectOrderService.filterList(request);
if (CollUtil.isNotEmpty(orderResponses))
return ResultVOUtils.success(orderResponses.get(0));
return ResultVOUtils.error(500, "未查到待处理单据");
}
@GetMapping("/udiwms/basic/collect/order/detail")
public BaseResponse detail(CollectOrderBizRequest collectOrderBizRequest) {
if (StrUtil.isBlank(collectOrderBizRequest.getOrderIdFk())) {

@ -137,7 +137,7 @@ public class IoSplitController extends BaseController {
}
//未拆零
if (IntUtil.value(collectOrder.getSplitStatus()) != 0) {
if (IntUtil.value(collectOrder.getSplitStatus()) != 2) {
splitCodeService.orderAutoTagCode(collectOrder);
}

@ -1245,7 +1245,7 @@ public class IoCheckInoutService {
}
if (ioSplitFifoCodeEntity != null) {
ioSplitFifoCodeEntity.setScanCount(IntUtil.value(ioSplitFifoCodeEntity.getScanCount()) + IntUtil.value(codeEntity.getCount()));
ioSplitFifoCodeEntity.setTotalCount(IntUtil.value(ioSplitFifoCodeEntity.getTotalCount()) + IntUtil.value(codeEntity.getReCount()));
ioSplitFifoCodeEntity.setTotalCount(ioSplitFifoCodeEntity.getScanCount() * udiCalCountUtil.getSplitActCount(codeEntity.getRelId()));
ioSplitFifoCodeEntity.setUpdateTime(new Date());
splitFifoCodeService.updateById(ioSplitFifoCodeEntity);
} else {
@ -1253,7 +1253,7 @@ public class IoCheckInoutService {
BeanUtils.copyProperties(codeEntity, splitCodeEntity);
splitCodeEntity.setInBactchNo(codeEntity.getInBatchNo());
splitCodeEntity.setScanCount(codeEntity.getCount());
splitCodeEntity.setTotalCount(codeEntity.getReCount());
ioSplitFifoCodeEntity.setTotalCount(ioSplitFifoCodeEntity.getScanCount() * udiCalCountUtil.getSplitActCount(codeEntity.getRelId()));
splitCodeEntity.setSupId(Long.parseLong(codeEntity.getSupId()));
splitCodeEntity.setWorkPlaceCode(orderEntity.getWorkPlaceCode());
splitCodeEntity.setFifoSplit(codeEntity.getFifoSplit());
@ -1273,7 +1273,7 @@ public class IoCheckInoutService {
if (StrUtil.isEmpty(codeEntity.getSerialNo())) {
if (ioSplitFifoCodeEntity != null) {
ioSplitFifoCodeEntity.setScanCount(IntUtil.value(ioSplitFifoCodeEntity.getScanCount()) - IntUtil.value(codeEntity.getCount()));
ioSplitFifoCodeEntity.setTotalCount(IntUtil.value(ioSplitFifoCodeEntity.getTotalCount()) - IntUtil.value(codeEntity.getReCount()));
ioSplitFifoCodeEntity.setTotalCount(ioSplitFifoCodeEntity.getScanCount() * udiCalCountUtil.getSplitActCount(codeEntity.getRelId()));
ioSplitFifoCodeEntity.setUpdateTime(new Date());
splitFifoCodeService.updateById(ioSplitFifoCodeEntity);
}

@ -53,6 +53,57 @@ public class UdiCalCountUtil {
}
}
public int getSplitActCount(UdiRelevanceResponse udiRelevanceResponse) {
//启用使用单元
if (udiRelevanceResponse.getUseDy()) {
if (udiRelevanceResponse.getDiType() == 1) {
if (udiRelevanceResponse.getZxxsbzbhsydysl() == null || udiRelevanceResponse.getZxxsbzbhsydysl() == 0) {
udiRelevanceResponse.setZxxsbzbhsydysl(1);
}
return udiRelevanceResponse.getZxxsbzbhsydysl();
} else if (udiRelevanceResponse.getDiType() == 4) {
if (udiRelevanceResponse.getBhzxxsbzsl() == 0) {
udiRelevanceResponse.setBhzxxsbzsl(1);
}
if (udiRelevanceResponse.getZxxsbzbhsydysl() == null || udiRelevanceResponse.getZxxsbzbhsydysl() == 0) {
udiRelevanceResponse.setZxxsbzbhsydysl(1);
}
return udiRelevanceResponse.getBhzxxsbzsl() * udiRelevanceResponse.getZxxsbzbhsydysl();
} else {
return udiRelevanceResponse.getBhzxxsbzsl();
}
} else {//不启用使用单元
Integer count = 1;
if (udiRelevanceResponse.getDiType() == 1) {
count = 1;
} else if (udiRelevanceResponse.getDiType() == 4) {
if (udiRelevanceResponse.getBhzxxsbzsl() == 0) {
udiRelevanceResponse.setBhzxxsbzsl(1);
}
count = udiRelevanceResponse.getBhzxxsbzsl();
} else {
count = udiRelevanceResponse.getBhzxxsbzsl();
}
if (udiRelevanceResponse.getProductType() == 1) {
//耗材
if (IntUtil.value(udiRelevanceResponse.getUseNum()) > 0) {
count = count * IntUtil.value(udiRelevanceResponse.getUseNum());
}
} else {
//药品
if (IntUtil.value(udiRelevanceResponse.getUseLeverCount()) > 0) {
count = count * IntUtil.value(udiRelevanceResponse.getUseLeverCount());
}
}
return count;
}
}
public int getSplitActCount(Long relId) {
return getSplitActCount(udiRelevanceService.selectGroupById(relId));
}
public int getActCount(IoCodeTempEntity codeTempEntity) {
if (codeTempEntity.getRelId() != null) {
UdiRelevanceResponse udiRelevanceResponse = udiRelevanceService.selectGroupById(codeTempEntity.getRelId());

Loading…
Cancel
Save