出入库扫码相关bug修改

pro
anthonywj 2 years ago
parent 2178f1ca37
commit ea3c82f475

@ -98,6 +98,10 @@ public class UdiRelevanceController extends BaseController {
} }
List<UdiRelevanceResponse> udiRelevanceResponses = null; List<UdiRelevanceResponse> udiRelevanceResponses = null;
if(StrUtil.isNotEmpty(filterUdiRelRequest.getUdiCode())){
filterUdiRelRequest.setNameCode(FilterUdiUtils.getUdi(filterUdiRelRequest.getUdiCode()).getUdi());
}
if (StrUtil.isNotEmpty(filterUdiRelRequest.getBindRlIds())) { if (StrUtil.isNotEmpty(filterUdiRelRequest.getBindRlIds())) {
String[] datas = filterUdiRelRequest.getBindRlIds().split(","); String[] datas = filterUdiRelRequest.getBindRlIds().split(",");
List<String> list = Arrays.asList(datas); List<String> list = Arrays.asList(datas);

@ -622,6 +622,7 @@ public class IoCodeTempController extends BaseController {
codeEnttity.setWarehouseCode(addOrderRequest.getCurSpaceCode()); codeEnttity.setWarehouseCode(addOrderRequest.getCurSpaceCode());
codeEnttity.setPreSpaceCode(addOrderRequest.getPreCurSpaceCode()); codeEnttity.setPreSpaceCode(addOrderRequest.getPreCurSpaceCode());
codeEnttity.setPreInSpaceCode(addOrderRequest.getCheckPreInSpaceCode()); codeEnttity.setPreInSpaceCode(addOrderRequest.getCheckPreInSpaceCode());
codeEnttity.setRelId(addOrderRequest.getRelId());
codeEnttity.setCount(1); codeEnttity.setCount(1);
String unitFk = null; String unitFk = null;
if (bussinessTypeEntity.getCorpType() == ConstantStatus.CORP_TYPE_OUT) { if (bussinessTypeEntity.getCorpType() == ConstantStatus.CORP_TYPE_OUT) {
@ -946,10 +947,10 @@ public class IoCodeTempController extends BaseController {
List<UdiRelevanceResponse> udiRelevanceEntities = udiRelevanceService.selectAllByNameCode(codeEnttity.getNameCode(), unitFk); List<UdiRelevanceResponse> udiRelevanceEntities = udiRelevanceService.selectAllByNameCode(codeEnttity.getNameCode(), unitFk);
if (udiRelevanceEntities != null && udiRelevanceEntities.size() > 1 && codeEnttity.getRelId() == null) {//同一个DI绑定多个产品西信息 if (udiRelevanceEntities != null && udiRelevanceEntities.size() > 1 && codeEnttity.getRelId() == null) {//同一个DI绑定多个产品西信息
codeEnttity.setRelId(null); // codeEnttity.setRelId(null);
codeEnttity.setStatus(ConstantStatus.ORDER_DETAIL_DI_MUTI); // codeEnttity.setStatus(ConstantStatus.ORDER_DETAIL_DI_MUTI);
codeTempService.insert(codeEnttity); // codeTempService.insert(codeEnttity);
codeEnttity = codeTempService.findByUnique(codeEnttity.getOrderId(), codeEnttity.getCode()); // codeEnttity = codeTempService.findByUnique(codeEnttity.getOrderId(), codeEnttity.getCode());
BaseResponse baseResponse = ResultVOUtils.error(502, "DI绑定多个产品ID,请指定对应产品"); BaseResponse baseResponse = ResultVOUtils.error(502, "DI绑定多个产品ID,请指定对应产品");
baseResponse.setData(codeEnttity); baseResponse.setData(codeEnttity);
return baseResponse; return baseResponse;

@ -438,7 +438,7 @@ public class IoOrderController extends BaseController {
@Log(title = "单据管理", businessType = BusinessType.DELETE) @Log(title = "单据管理", businessType = BusinessType.DELETE)
public BaseResponse deletById(@RequestBody DeleteRequest deleteRequest) { public BaseResponse deletById(@RequestBody DeleteRequest deleteRequest) {
IoOrderEntity orderEntity = orderService.findByBillNo(deleteRequest.getBillNo()); IoOrderEntity orderEntity = orderService.findByBillNo(deleteRequest.getBillNo());
if (orderEntity.getStatus() != 1 && orderEntity.getStatus() != 3 && orderEntity.getStatus() != 4 && orderEntity.getStatus() != 6) { if (orderEntity.getStatus() != 1 && orderEntity.getStatus() != 3 && orderEntity.getStatus() != 4 && orderEntity.getStatus() != 6 && orderEntity.getStatus() != 10) {
return ResultVOUtils.error(500, "单据已提交无法删除!"); return ResultVOUtils.error(500, "单据已提交无法删除!");
} }
orderService.deleteByBillNo(deleteRequest.getBillNo()); orderService.deleteByBillNo(deleteRequest.getBillNo());

@ -29,6 +29,7 @@ public class AddOrderRequest {
private String remark; private String remark;
private String checkPreInOrders; private String checkPreInOrders;
private String selectSupId; private String selectSupId;
private Long relId;
// 预验收货位 // 预验收货位
private String checkPreInSpaceCode; private String checkPreInSpaceCode;

@ -334,80 +334,89 @@ public class IoOrderServiceImpl implements IoOrderService {
if (basicBussinessTypeEntity.getActionType() == ConstantStatus.ACTION_TYPE_PREIN) { if (basicBussinessTypeEntity.getActionType() == ConstantStatus.ACTION_TYPE_PREIN) {
InvPreInProductDetailEntity invProductDetailEntity = invPreinProductDetailService.selectByCode(billNo, code); InvPreInProductDetailEntity invProductDetailEntity = invPreinProductDetailService.selectByCode(billNo, code);
int count = invProductDetailEntity.getCount() - 1; if (invProductDetailEntity != null) {
int reCount = udiCalCountUtil.getActCount(invProductDetailEntity.getNameCode()); int count = invProductDetailEntity.getCount() - 1;
if (count == 0) { int reCount = udiCalCountUtil.getActCount(invProductDetailEntity.getNameCode());
invPreinProductDetailService.deleteById(invProductDetailEntity.getId() + ""); if (count == 0) {
} else { invPreinProductDetailService.deleteById(invProductDetailEntity.getId() + "");
//更新详情表 } else {
invProductDetailEntity.setCount(count); //更新详情表
invProductDetailEntity.setReCount(invProductDetailEntity.getReCount() - reCount); invProductDetailEntity.setCount(count);
invPreinProductDetailService.update(invProductDetailEntity); invProductDetailEntity.setReCount(invProductDetailEntity.getReCount() - reCount);
} invPreinProductDetailService.update(invProductDetailEntity);
//更新产品表
InvPreinProductEntity invProductEntity = invPreinProductService.selectByUnique(invProductDetailEntity.getRelId(), invProductDetailEntity.getBatchNo(), invProductDetailEntity.getSupId(), invProductDetailEntity.getDeptCode(), invProductDetailEntity.getInvCode());
if (invProductEntity != null) {
if (ConstantType.TYPE_PUT.equals(invProductDetailEntity.getMainAction())) {
int inCount = invProductEntity.getInCount() - reCount;
invProductEntity.setInCount(inCount);
} else if (ConstantType.TYPE_OUT.equals(invProductDetailEntity.getMainAction())) {
int outCount = invProductEntity.getOutCount() - reCount;
invProductEntity.setOutCount(outCount);
} }
invProductEntity.setReCount(invProductEntity.getInCount() - invProductEntity.getOutCount()); //更新产品表
InvPreinProductEntity invProductEntity = invPreinProductService.selectByUnique(invProductDetailEntity.getRelId(), invProductDetailEntity.getBatchNo(), invProductDetailEntity.getSupId(), invProductDetailEntity.getDeptCode(), invProductDetailEntity.getInvCode());
if (invProductEntity != null) {
if (ConstantType.TYPE_PUT.equals(invProductDetailEntity.getMainAction())) {
int inCount = invProductEntity.getInCount() - reCount;
invProductEntity.setInCount(inCount);
} else if (ConstantType.TYPE_OUT.equals(invProductDetailEntity.getMainAction())) {
int outCount = invProductEntity.getOutCount() - reCount;
invProductEntity.setOutCount(outCount);
}
invProductEntity.setReCount(invProductEntity.getInCount() - invProductEntity.getOutCount());
}
invPreinProductService.update(invProductEntity);
} }
invPreinProductService.update(invProductEntity);
} else if (basicBussinessTypeEntity.getActionType() == ConstantStatus.ACTION_TYPE_ADVANCE) { //寄售库存 } else if (basicBussinessTypeEntity.getActionType() == ConstantStatus.ACTION_TYPE_ADVANCE) { //寄售库存
InvPreProductDetailEntity invProductDetailEntity = invPreProductDetailService.selectByCode(billNo, code); InvPreProductDetailEntity invProductDetailEntity = invPreProductDetailService.selectByCode(billNo, code);
int count = invProductDetailEntity.getCount() - 1; if (invProductDetailEntity != null) {
int reCount = udiCalCountUtil.getActCount(invProductDetailEntity.getNameCode()); int count = invProductDetailEntity.getCount() - 1;
if (count == 0) { int reCount = udiCalCountUtil.getActCount(invProductDetailEntity.getNameCode());
invPreProductService.deleteById(invProductDetailEntity.getId()); if (count == 0) {
} else { invPreProductService.deleteById(invProductDetailEntity.getId());
//更新详情表 } else {
invProductDetailEntity.setCount(count); //更新详情表
invProductDetailEntity.setReCount(invProductDetailEntity.getReCount() - reCount); invProductDetailEntity.setCount(count);
invPreProductDetailService.update(invProductDetailEntity); invProductDetailEntity.setReCount(invProductDetailEntity.getReCount() - reCount);
} invPreProductDetailService.update(invProductDetailEntity);
//更新产品表 }
InvPreProductEntity invProductEntity = invPreProductService.selectByUnique(invProductDetailEntity.getRelId(), invProductDetailEntity.getBatchNo(), invProductDetailEntity.getSupId(), invProductDetailEntity.getDeptCode(), invProductDetailEntity.getInvCode()); //更新产品表
if (invProductEntity != null) { InvPreProductEntity invProductEntity = invPreProductService.selectByUnique(invProductDetailEntity.getRelId(), invProductDetailEntity.getBatchNo(), invProductDetailEntity.getSupId(), invProductDetailEntity.getDeptCode(), invProductDetailEntity.getInvCode());
if (ConstantType.TYPE_PUT.equals(invProductDetailEntity.getMainAction())) { if (invProductEntity != null) {
int inCount = invProductEntity.getInCount() - reCount; if (ConstantType.TYPE_PUT.equals(invProductDetailEntity.getMainAction())) {
invProductEntity.setInCount(inCount); int inCount = invProductEntity.getInCount() - reCount;
} else if (ConstantType.TYPE_OUT.equals(invProductDetailEntity.getMainAction())) { invProductEntity.setInCount(inCount);
int outCount = invProductEntity.getOutCount() - reCount; } else if (ConstantType.TYPE_OUT.equals(invProductDetailEntity.getMainAction())) {
invProductEntity.setOutCount(outCount); int outCount = invProductEntity.getOutCount() - reCount;
invProductEntity.setOutCount(outCount);
}
invProductEntity.setReCount(invProductEntity.getInCount() - invProductEntity.getOutCount());
} }
invProductEntity.setReCount(invProductEntity.getInCount() - invProductEntity.getOutCount()); invPreProductService.update(invProductEntity);
} }
invPreProductService.update(invProductEntity);
} else { //普通库存 } else { //普通库存
InvProductDetailEntity invProductDetailEntity = invProductDetailService.selectByCode(billNo, code); InvProductDetailEntity invProductDetailEntity = invProductDetailService.selectByCode(billNo, code);
int count = invProductDetailEntity.getCount() - 1;
int reCount = udiCalCountUtil.getActCount(invProductDetailEntity.getNameCode()); if (invProductDetailEntity != null) {
if (count == 0) { int count = invProductDetailEntity.getCount() - 1;
invProductDetailService.deleteById(invProductDetailEntity.getId()); int reCount = udiCalCountUtil.getActCount(invProductDetailEntity.getNameCode());
} else { if (count == 0) {
//更新详情表 invProductDetailService.deleteById(invProductDetailEntity.getId());
invProductDetailEntity.setCount(count); } else {
invProductDetailEntity.setReCount(invProductDetailEntity.getReCount() - reCount); //更新详情表
invProductDetailService.update(invProductDetailEntity); invProductDetailEntity.setCount(count);
} invProductDetailEntity.setReCount(invProductDetailEntity.getReCount() - reCount);
//更新产品表 invProductDetailService.update(invProductDetailEntity);
InvProductEntity invProductEntity = invProductService.selectByUnique(invProductDetailEntity.getRelId(), invProductDetailEntity.getBatchNo(), invProductDetailEntity.getSupId(), invProductDetailEntity.getDeptCode(), invProductDetailEntity.getInvCode()); }
if (invProductEntity != null) { //更新产品表
if (ConstantType.TYPE_PUT.equals(invProductDetailEntity.getMainAction())) { InvProductEntity invProductEntity = invProductService.selectByUnique(invProductDetailEntity.getRelId(), invProductDetailEntity.getBatchNo(), invProductDetailEntity.getSupId(), invProductDetailEntity.getDeptCode(), invProductDetailEntity.getInvCode());
int inCount = invProductEntity.getInCount() - reCount; if (invProductEntity != null) {
invProductEntity.setInCount(inCount); if (ConstantType.TYPE_PUT.equals(invProductDetailEntity.getMainAction())) {
} else if (ConstantType.TYPE_OUT.equals(invProductDetailEntity.getMainAction())) { int inCount = invProductEntity.getInCount() - reCount;
int outCount = invProductEntity.getOutCount() - reCount; invProductEntity.setInCount(inCount);
invProductEntity.setOutCount(outCount); } else if (ConstantType.TYPE_OUT.equals(invProductDetailEntity.getMainAction())) {
int outCount = invProductEntity.getOutCount() - reCount;
invProductEntity.setOutCount(outCount);
}
invProductEntity.setReCount(invProductEntity.getInCount() - invProductEntity.getOutCount());
} }
invProductEntity.setReCount(invProductEntity.getInCount() - invProductEntity.getOutCount()); invProductService.update(invProductEntity);
} }
invProductService.update(invProductEntity);
} }

@ -20,6 +20,7 @@ import com.glxp.api.res.inv.InvProductDetailResponse;
import com.glxp.api.service.auth.InvSpaceService; import com.glxp.api.service.auth.InvSpaceService;
import com.glxp.api.service.inv.InvProductDetailService; import com.glxp.api.service.inv.InvProductDetailService;
import com.glxp.api.util.DateUtil; import com.glxp.api.util.DateUtil;
import com.glxp.api.util.IntUtil;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
@ -64,9 +65,14 @@ public class InvProductDetailServiceImpl implements InvProductDetailService {
public InvProductDetailEntity selectByCode(String billNo, String code) { public InvProductDetailEntity selectByCode(String billNo, String code) {
List<InvProductDetailEntity> invProductDetailEntities = invProductDetailDao.selectList List<InvProductDetailEntity> invProductDetailEntities = invProductDetailDao.selectList
(new QueryWrapper<InvProductDetailEntity>().eq("code", code).eq("orderId", billNo)); (new QueryWrapper<InvProductDetailEntity>().eq("code", code).eq("orderId", billNo));
if (CollUtil.isNotEmpty(invProductDetailEntities)) if (CollUtil.isNotEmpty(invProductDetailEntities)) {
for (InvProductDetailEntity invProductDetailEntity : invProductDetailEntities) {
if (IntUtil.value(invProductDetailEntity.getReCount()) > 0) {
return invProductDetailEntity;
}
}
return invProductDetailEntities.get(0); return invProductDetailEntities.get(0);
else } else
return null; return null;
} }

Loading…
Cancel
Save