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() + "该产品未指定供应商!"); return ResultVOUtils.error(500, orderDetailBizEntity.getCoName() + "该产品未指定供应商!");
} }
if (orderDetailBizEntity.getCount() == 0) { 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()); IoOrderEntity orderEntity = orderService.findByBillNo(addOrderRequest.getBillNo());
ioAddInoutService.dealBusProcess(orderEntity); ioAddInoutService.dealBusProcess(orderEntity);
return ResultVOUtils.success("提交成功!"); return ResultVOUtils.success("提交成功!");
@ -167,7 +168,7 @@ public class IoOrderController extends BaseController {
List<IoOrderDetailCodeEntity> orderDetailCodeEntities = orderDetailCodeService.findByOrderId(addOrderRequest.getBillNo()); List<IoOrderDetailCodeEntity> orderDetailCodeEntities = orderDetailCodeService.findByOrderId(addOrderRequest.getBillNo());
if (CollUtil.isEmpty(orderDetailCodeEntities)) { if (CollUtil.isEmpty(orderDetailCodeEntities)) {
return ResultVOUtils.error(500, "单据还未扫码"); return ResultVOUtils.error(500, "单据还未扫码或UDI码存在异常无法提交");
} }
if (checkInoutService.checkManual(addOrderRequest.getBillNo())) { 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.res.BaseResponse;
import com.glxp.api.common.util.ResultVOUtils; import com.glxp.api.common.util.ResultVOUtils;
import com.glxp.api.controller.BaseController; 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.FilterInvPreinDetailRequest;
import com.glxp.api.req.inv.FilterInvPreinRequest; 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.req.system.DeleteRequest;
import com.glxp.api.res.inv.InvPreinDetailResponse; import com.glxp.api.res.inv.InvPreinDetailResponse;
import com.glxp.api.res.inv.InvPreinOrderResponse; import com.glxp.api.res.inv.InvPreinOrderResponse;
import com.glxp.api.service.inv.InvPreProductDetailService; import com.glxp.api.service.inv.InvPreProductDetailService;
import com.glxp.api.service.inv.InvPreinDetailService; import com.glxp.api.service.inv.InvPreinDetailService;
import com.glxp.api.service.inv.InvPreinOrderService; import com.glxp.api.service.inv.InvPreinOrderService;
import com.glxp.api.util.udi.FilterUdiUtils;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.apache.regexp.RE; import org.apache.regexp.RE;
import org.springframework.web.bind.annotation.GetMapping; 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("") @AuthRuleAnnotation("")
@GetMapping("spms/inv/products/vailInvCount") @GetMapping("spms/inv/products/vailInvCount")
public BaseResponse vailInvCount(FilterInvProductDetailRequest filterInvProductDetailRequest) { 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); 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.TableField;
import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName; import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonIgnore;
import lombok.Data; import lombok.Data;
import java.io.Serializable;
import java.util.Date; import java.util.Date;
@Data @Data
@TableName(value = "io_code") @TableName(value = "io_code")
public class IoCodeEntity { public class IoCodeEntity implements Serializable {
@TableId(value = "id", type = IdType.AUTO) @TableId(value = "id", type = IdType.AUTO)
private Integer id; private Integer id;
@ -140,12 +142,13 @@ public class IoCodeEntity {
private int scanCount; private int scanCount;
@JsonIgnore
public int getMyCount() { public int getMyCount() {
if (count == null) if (count == null)
return 0; return 0;
return count; return count;
} }
@JsonIgnore
public int getMyReCount() { public int getMyReCount() {
if (reCount == null) { if (reCount == null) {
return 0; return 0;

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

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

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

Loading…
Cancel
Save