bug修改

master
anthonywj 2 years ago
parent c3ad3cdbd1
commit d1d10bbd8f

@ -95,12 +95,13 @@ public class IoOrderController extends BaseController {
return ResultVOUtils.error(500, orderDetailBizEntity.getCoName() + "该产品未指定供应商!");
}
if (orderDetailBizEntity.getCount() == 0) {
return ResultVOUtils.error(500, orderDetailBizEntity.getCoName() + "产品数量不能为0");
return ResultVOUtils.error(500, orderDetailBizEntity.getCoName() + "产品数量不能为0");
}
if (StrUtil.isEmpty(orderDetailBizEntity.getBatchNo()) && StrUtil.isEmpty(orderDetailBizEntity.getProductDate()) && StrUtil.isEmpty(orderDetailBizEntity.getExpireDate())) {
return ResultVOUtils.error(500, orderDetailBizEntity.getCoName() + "三期不能全为空!");
}
// if(orderDetailBizEntity.)
}
IoOrderEntity orderEntity = orderService.findByBillNo(addOrderRequest.getBillNo());
ioAddInoutService.dealBusProcess(orderEntity);
return ResultVOUtils.success("提交成功!");
@ -167,7 +168,7 @@ public class IoOrderController extends BaseController {
List<IoOrderDetailCodeEntity> orderDetailCodeEntities = orderDetailCodeService.findByOrderId(addOrderRequest.getBillNo());
if (CollUtil.isEmpty(orderDetailCodeEntities)) {
return ResultVOUtils.error(500, "单据还未扫码");
return ResultVOUtils.error(500, "单据还未扫码或UDI码存在异常无法提交");
}
if (checkInoutService.checkManual(addOrderRequest.getBillNo())) {

@ -6,14 +6,20 @@ import com.glxp.api.annotation.AuthRuleAnnotation;
import com.glxp.api.common.res.BaseResponse;
import com.glxp.api.common.util.ResultVOUtils;
import com.glxp.api.controller.BaseController;
import com.glxp.api.entity.basic.UdiEntity;
import com.glxp.api.entity.inout.IoCodeTempEntity;
import com.glxp.api.entity.inv.InvPreinDetailEntity;
import com.glxp.api.entity.inv.InvProductDetailEntity;
import com.glxp.api.req.inv.FilterInvPreinDetailRequest;
import com.glxp.api.req.inv.FilterInvPreinRequest;
import com.glxp.api.req.inv.FilterInvProductDetailRequest;
import com.glxp.api.req.system.DeleteRequest;
import com.glxp.api.res.inv.InvPreinDetailResponse;
import com.glxp.api.res.inv.InvPreinOrderResponse;
import com.glxp.api.service.inv.InvPreProductDetailService;
import com.glxp.api.service.inv.InvPreinDetailService;
import com.glxp.api.service.inv.InvPreinOrderService;
import com.glxp.api.util.udi.FilterUdiUtils;
import lombok.extern.slf4j.Slf4j;
import org.apache.regexp.RE;
import org.springframework.web.bind.annotation.GetMapping;
@ -62,4 +68,36 @@ public class InvPreinOrderController extends BaseController {
}
@AuthRuleAnnotation("")
@GetMapping("spms/prein/inv/products/getDetaiByCode")
public BaseResponse getDetaiByCode(FilterInvProductDetailRequest filterInvProductDetailRequest) {
InvPreinDetailEntity invProductDetailEntity = invPreinDetailService.findOneByCode(filterInvProductDetailRequest.getCode());
if (invProductDetailEntity == null) {
return ResultVOUtils.error(500, "预验收库存未存在此产品!");
} else {
if (StrUtil.isNotEmpty(invProductDetailEntity.getBatchNo()) && StrUtil.isNotEmpty(filterInvProductDetailRequest.getBatchNo())
&& !invProductDetailEntity.getBatchNo().equals(filterInvProductDetailRequest.getBatchNo())) {
return ResultVOUtils.error(500, "当前批次号与预验收录入批次号不匹配!");
}
UdiEntity udiEntity = FilterUdiUtils.getUdi(filterInvProductDetailRequest.getCode());
if (StrUtil.isEmpty(udiEntity.getSerialNo())) {//该单据已有该产品
//无序列号,则可能存在多个预验收入库单
List<InvPreinDetailEntity> invPreinDetailEntities = invPreinDetailService.findByCode(filterInvProductDetailRequest.getCode());
int count = 0;
for (InvPreinDetailEntity temp : invPreinDetailEntities) {
count = count + temp.getCount();
}
invPreinDetailEntities.get(0).setCount(count);
return ResultVOUtils.success(invPreinDetailEntities.get(0));
} else {
if (invProductDetailEntity.getCount() < 1) {
return ResultVOUtils.error(500, "超出预验收库存数量");
}
}
}
return ResultVOUtils.success(invProductDetailEntity);
}
}

@ -223,9 +223,14 @@ public class InvProductController {
@AuthRuleAnnotation("")
@GetMapping("spms/inv/products/vailInvCount")
public BaseResponse vailInvCount(FilterInvProductDetailRequest filterInvProductDetailRequest) {
int count = 0;
// invProductDetailService.vailStockCount(filterInvProductDetailRequest.getCode());
if (StrUtil.isEmpty(filterInvProductDetailRequest.getRelId())) {
return ResultVOUtils.error(500, "产品ID不能为空");
}
if (StrUtil.isEmpty(filterInvProductDetailRequest.getInvCode())) {
return ResultVOUtils.error(500, "当前仓库号不能为空");
}
int count = invProductDetailService.vailStockCount(Long.parseLong(filterInvProductDetailRequest.getRelId()), filterInvProductDetailRequest.getBatchNo(), filterInvProductDetailRequest.getSupId(), filterInvProductDetailRequest.getDeptCode(), filterInvProductDetailRequest.getInvCode(), null);
return ResultVOUtils.success(count);
}

@ -4,13 +4,15 @@ import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonIgnore;
import lombok.Data;
import java.io.Serializable;
import java.util.Date;
@Data
@TableName(value = "io_code")
public class IoCodeEntity {
public class IoCodeEntity implements Serializable {
@TableId(value = "id", type = IdType.AUTO)
private Integer id;
@ -140,12 +142,13 @@ public class IoCodeEntity {
private int scanCount;
@JsonIgnore
public int getMyCount() {
if (count == null)
return 0;
return count;
}
@JsonIgnore
public int getMyReCount() {
if (reCount == null) {
return 0;

@ -66,6 +66,8 @@ public class IoAddInoutService {
IoCheckInoutService ioCheckInoutService;
@Resource
SystemParamConfigService systemParamConfigService;
@Resource
IoOrderDetailBizService orderDetailBizService;
//新增扫码单据处理
public void dealProcess(IoOrderEntity orderEntity) {
@ -268,7 +270,6 @@ public class IoAddInoutService {
if (StrUtil.isEmpty(orderDetailBizEntity.getSupId())) {
errMsg = errMsg + orderDetailBizEntity.getCoName() + "未绑定供应商;";
}
if (orderDetailBizEntity.getBindRlFk() == null) {
errMsg = errMsg + orderDetailBizEntity.getCoName() + "未绑定耗材字典编码;";
}
@ -291,8 +292,6 @@ public class IoAddInoutService {
}
@Resource
IoOrderDetailBizService orderDetailBizService;
//生成扫码单据详情
public void genOrderDetailCode(IoOrderEntity orderEntity, IoCodeTempEntity codeTempEntity) {

@ -609,7 +609,6 @@ public class IoCheckInoutService {
//预验收不删除单号,方便后续查询
if (bussinessTypeEntity.isPreInBack()) { //预验收如果带回,则清空相关预验收库存;
// invPreinOrderService.deleteByOrderId(preInEntity.getBillNo());
invPreinDetailService.deleteByOrderId(preInEntity.getBillNo());
} else { //预验收如果不带回,则清除已出库相关库存
for (IoCodeEntity codeEntity : codeList) {
@ -617,19 +616,22 @@ public class IoCheckInoutService {
InvPreinDetailEntity invPreinDetailEntity = invPreinDetailService.findByCode(key, codeEntity.getCode());
if (invPreinDetailEntity != null) {
int count = invPreinDetailEntity.getCount() - 1;
if (count == 0) {
invPreinDetailService.deleteByCode(key, codeEntity.getCode());
} else {
invPreinDetailEntity.setCount(count);
invPreinDetailService.update(invPreinDetailEntity);
}
int reCount = invPreinDetailEntity.getReCount() - codeEntity.getMyReCount();
if (reCount == 0) {
invPreinDetailService.deleteByCode(key, codeEntity.getCode());
} else {
invPreinDetailEntity.setReCount(reCount);
invPreinDetailService.update(invPreinDetailEntity);
if (count >= 0) {
if (count == 0) {
invPreinDetailService.deleteByCode(key, codeEntity.getCode());
} else {
invPreinDetailEntity.setCount(count);
invPreinDetailService.update(invPreinDetailEntity);
}
int reCount = invPreinDetailEntity.getReCount() - codeEntity.getMyReCount();
if (reCount == 0) {
invPreinDetailService.deleteByCode(key, codeEntity.getCode());
} else {
invPreinDetailEntity.setReCount(reCount);
invPreinDetailService.update(invPreinDetailEntity);
}
}
}
} else {

@ -381,27 +381,28 @@ public class IoOrderServiceImpl implements IoOrderService {
if (bussinessTypeEntity.isPreIn()) {
invPreinOrderService.deleteByOrderId(billNo);
invPreinDetailService.deleteByOrderId(billNo);
return true;
}
List<InvProductDetailEntity> invProductDetailEntities = invProductDetailService.selectByOrderIdFk(billNo);
if (CollUtil.isNotEmpty(invProductDetailEntities)) {
for (InvProductDetailEntity invProductDetailEntity : invProductDetailEntities) {
InvProductEntity invProductEntity = invProductService.selectByUnique(invProductDetailEntity.getRelId(), invProductDetailEntity.getBatchNo(), invProductDetailEntity.getSupId(),
invProductDetailEntity.getDeptCode(), invProductDetailEntity.getInvCode());
if (ConstantType.TYPE_PUT.equals(invProductDetailEntity.getMainAction())) {
int count = invProductEntity.getInCount() - invProductDetailEntity.getReCount();
invProductEntity.setInCount(count);
} else if (ConstantType.TYPE_OUT.equals(invProductDetailEntity.getMainAction())) {
int count = invProductEntity.getOutCount() - invProductDetailEntity.getReCount();
invProductEntity.setOutCount(count);
}else {
List<InvProductDetailEntity> invProductDetailEntities = invProductDetailService.selectByOrderIdFk(billNo);
if (CollUtil.isNotEmpty(invProductDetailEntities)) {
for (InvProductDetailEntity invProductDetailEntity : invProductDetailEntities) {
InvProductEntity invProductEntity = invProductService.selectByUnique(invProductDetailEntity.getRelId(), invProductDetailEntity.getBatchNo(), invProductDetailEntity.getSupId(),
invProductDetailEntity.getDeptCode(), invProductDetailEntity.getInvCode());
if (ConstantType.TYPE_PUT.equals(invProductDetailEntity.getMainAction())) {
int count = invProductEntity.getInCount() - invProductDetailEntity.getReCount();
invProductEntity.setInCount(count);
} else if (ConstantType.TYPE_OUT.equals(invProductDetailEntity.getMainAction())) {
int count = invProductEntity.getOutCount() - invProductDetailEntity.getReCount();
invProductEntity.setOutCount(count);
}
invProductService.update(invProductEntity);
}
invProductService.update(invProductEntity);
invProductDetailService.deleteByOrderId(billNo);
}
invProductDetailService.deleteByOrderId(billNo);
}
orderEntity.setDealStatus(ConstantStatus.ORDER_DEAL_POST);
orderEntity.setStatus(ConstantStatus.ORDER_STATUS_CHECK_SUCCESS);
orderEntity.setUpdateTime(new Date());
@ -509,6 +510,7 @@ public class IoOrderServiceImpl implements IoOrderService {
case Constant.ORDER_STATUS_NEW_ORDER:
filterOrderRequest.setStatuses(Arrays.asList(1, 2, 4));
filterOrderRequest.setDealStatuses(Arrays.asList(1, 2));
filterOrderRequest.setOrderType(ConstantStatus.ORDER_TYPE_NORMAL);
break;
case Constant.ORDER_STATUS_UN_CHECK:
filterOrderRequest.setStatuses(Arrays.asList(3));

Loading…
Cancel
Save