Merge remote-tracking branch 'origin/master'

master
x_z 3 years ago
commit c395a84887

@ -37,6 +37,8 @@ import com.glxp.sale.admin.service.info.CompanyProductRelevanceService;
import com.glxp.sale.admin.service.info.CompanyService;
import com.glxp.sale.admin.service.inout.*;
import com.glxp.sale.admin.service.inventory.InvPreInProductDetailService;
import com.glxp.sale.admin.service.inventory.InvPreProductDetailService;
import com.glxp.sale.admin.service.inventory.InvProductDetailService;
import com.glxp.sale.admin.service.inventory.InvWarehouseService;
import com.glxp.sale.admin.service.param.SystemParamConfigService;
import com.glxp.sale.admin.thread.IoTransInoutService;
@ -538,6 +540,12 @@ public class WareHouseController {
return null;
}
@Resource
InvPreProductDetailService invPreProductDetailService;
@Resource
InvProductDetailService invProductDetailService;
//网页端数据上传调用接口
@AuthRuleAnnotation("")
@PostMapping("warehouse/inout/addOrderWeb")
@ -585,7 +593,7 @@ public class WareHouseController {
// String isCheck = systemParamConfigService.selectValueByParamKey("code_fill_check");
//三期校验
if (bussinessTypeEntity.isCodeFillCheck()) {
if (addOrderRequest.isCodeFillCheck()) {
BaseResponse checkOriginCodeRes = checkOriginCode(udiEntity);
if (checkOriginCodeRes != null)
return checkOriginCodeRes;
@ -650,7 +658,20 @@ public class WareHouseController {
}
}
}
}
} else //是否查询库存
if (addOrderRequest.isVailInv()) {
if (bussinessTypeEntity.isAdvanceType()) {
InvProductDetailEntity invProductDetailEntity = invPreProductDetailService.statInvPreInDetail(code);
if (invProductDetailEntity == null) {
addCodeResult.setErrMsg("库存不存在此产品!");
}
} else {
InvProductDetailEntity invProductDetailEntity = invProductDetailService.statInvPreInDetail(code);
if (invProductDetailEntity == null) {
addCodeResult.setErrMsg("库存不存在此产品!");
}
}
}
if (addOrderRequest.getCustomerId() != null && (addOrderRequest.getFromCorpId() == null || "".equals(addOrderRequest.getFromCorpId()))) {
@ -683,19 +704,25 @@ public class WareHouseController {
WarehouseQueryRequest warehouseQueryRequest = new WarehouseQueryRequest();
warehouseQueryRequest.setOrderId(orderId);
warehouseQueryRequest.setCode(code);
// warehouseQueryRequest.setCode(code);
List<WarehouseEntity> warehouseEntitys = codesTempService.findByOrderIdAndCode(warehouseQueryRequest);
WarehouseEntity warehouseEntity = new WarehouseEntity();
WarehouseEntity exitLocalEntity = null;
if (warehouseEntitys.size() > 0) {
warehouseEntity = warehouseEntitys.get(0);
warehouseEntity.setCount(warehouseEntity.getCount() + 1);
if (StringUtils.isBlank(warehouseEntity.getSerialNo())) {
codesTempService.updateById(warehouseEntity);
} else {
return ResultVOUtils.error(ResultEnum.DATA_REPEAT);
exitLocalEntity = isExitLocal(code, warehouseEntitys);
if (exitLocalEntity != null) {
warehouseEntity = exitLocalEntity;
warehouseEntity.setCount(warehouseEntity.getCount() + 1);
if (StringUtils.isBlank(warehouseEntity.getSerialNo())) {
codesTempService.updateById(warehouseEntity);
} else {
return ResultVOUtils.error(ResultEnum.DATA_REPEAT);
}
}
} else {
}
if (exitLocalEntity == null) {
warehouseEntity.setCode(code);
warehouseEntity.setOrderId(orderId);
warehouseEntity.setCorpOrderId(addOrderRequest.getCorpOrderId());
@ -797,6 +824,35 @@ public class WareHouseController {
return ResultVOUtils.success(addCodeResult);
}
//判断本单是否存在
public WarehouseEntity isExitLocal(String code, List<WarehouseEntity> warehouseEntityList) {
UdiEntity udiEntity = FilterUdiUtils.getUdi(code);
for (int i = 0; i < warehouseEntityList.size(); i++) {
WarehouseEntity drugCodeSelectEntity = warehouseEntityList.get(i);
if (warehouseEntityList.get(i).getCode().equals(code)) {
return drugCodeSelectEntity;
}
if (!StrUtil.emptyIfNull(drugCodeSelectEntity.getNameCode()).equals(StrUtil.emptyIfNull(udiEntity.getUdi()))) {
continue;
}
if (!StrUtil.emptyIfNull(drugCodeSelectEntity.getBatchNo()).equals(StrUtil.emptyIfNull(udiEntity.getBatchNo()))) {
continue;
}
if (!StrUtil.emptyIfNull(drugCodeSelectEntity.getProduceDate()).equals(StrUtil.emptyIfNull(udiEntity.getProduceDate()))) {
continue;
}
if (!StrUtil.emptyIfNull(drugCodeSelectEntity.getExpireDate()).equals(StrUtil.emptyIfNull(udiEntity.getExpireDate()))) {
continue;
}
return drugCodeSelectEntity;
}
return null;
}
//校验供应商是否配送此产品
public BaseResponse checkCorp(WarehouseEntity warehouseEntity, BussinessTypeEntity bussinessTypeEntity) {
if (bussinessTypeEntity.getCorpType() == ConstantStatus.CORP_TYPE_OUT) {

@ -182,6 +182,7 @@ public class InvWarehouseController {
AuthAdmin authAdmin = customerService.getUserBean();
if (authAdmin.getCustomerId() != 110) {
filterInvWarehouseRequest.setPcode("0");
filterInvWarehouseRequest.setStatus(1);
invWarehouseEntities = invWarehouseService.filterGroupInvWarehouse(filterInvWarehouseRequest);
} else {
filterInvWarehouseRequest.setUserId(authAdmin.getId().intValue());

@ -29,4 +29,11 @@ public class BussinessLocalTypeEntity {
private String prefix;
private String localPrefix;
private boolean preIn;
private boolean ullageFill;
private boolean scanPreIn;
private boolean vailInv;
private boolean codeFillCheck;
}

@ -64,7 +64,6 @@ public class BussinessTypeEntity {
private boolean ullageFill;
private boolean scanPreIn;
private boolean vailInv;
private boolean codeFillCheck;
}

@ -25,6 +25,10 @@ public class AddOrderRequest {
private boolean ignoreRecentExpire;
private boolean ignoreCode;
private boolean preCheck;
private boolean vailInv;
private boolean codeFillCheck;
private String batchNo;
private String produceDate;
private String expireDate;

@ -349,6 +349,9 @@ public class OrderServiceImpl implements OrderService {
public List<String> getOneOrderById(String id) {
List<String> orderIds = new ArrayList<>();
OrderNoResult orderNo = orderDao.selectOrderNos(id);
if (orderNo == null) {
return orderIds;
}
Field[] fields = ReflectUtil.getFields(OrderNoResult.class);
for (Field field : fields) {
String value = String.valueOf(ReflectUtil.getFieldValue(orderNo, field));
@ -470,10 +473,13 @@ public class OrderServiceImpl implements OrderService {
StockOrderFilterRequest stockOrderFilterRequest = new StockOrderFilterRequest();
stockOrderFilterRequest.setBillNo(orderEntity.getErpFk());
StockOrderEntity stockOrderEntity = stockOrderDao.findOne(stockOrderFilterRequest);
//删除业务单据详情
stockOrderDetailDao.deleteByOrderIdFk(stockOrderEntity.getId());
//删除业务单据
stockOrderDao.deleteById(stockOrderEntity.getId());
if (stockOrderEntity != null) {
//删除业务单据详情
stockOrderDetailDao.deleteByOrderIdFk(stockOrderEntity.getId());
//删除业务单据
stockOrderDao.deleteById(stockOrderEntity.getId());
}
//删除扫码单据详情
orderDetailDao.deleteByOrderId(id);
//删除扫码单据
@ -488,15 +494,17 @@ public class OrderServiceImpl implements OrderService {
try {
orderDao.deleteById(id);
orderDetailDao.deleteByOrderId(id);
//查询业务单据
StockOrderFilterRequest stockOrderFilterRequest = new StockOrderFilterRequest();
stockOrderFilterRequest.setBillNo(orderEntity.getErpFk());
StockOrderEntity stockOrderEntity = stockOrderDao.findOne(stockOrderFilterRequest);
//删除业务单据详情
stockOrderDetailDao.deleteByOrderIdFk(stockOrderEntity.getId());
//删除业务单据
stockOrderDao.deleteById(stockOrderEntity.getId());
if (stockOrderEntity != null) {
//删除业务单据详情
stockOrderDetailDao.deleteByOrderIdFk(stockOrderEntity.getId());
//删除业务单据
stockOrderDao.deleteById(stockOrderEntity.getId());
}
//删除码
codesDao.deleteByOrderId(id);
} catch (Exception e) {

@ -85,7 +85,8 @@
basic_bussiness_type.action,basic_bussiness_type.checkEnable,basic_bustype_local.advanceType,basic_bustype_local.changeEnable,
basic_bustype_local.spUse,basic_bussiness_type.storageCode,basic_bussiness_type.corpType,basic_bussiness_type.mainAction,
basic_bussiness_type.defaultUnit,basic_bussiness_type.genUnit,basic_bustype_origin.action
thirdAction,basic_bustype_origin.thirdSys,basic_bussiness_type.prefix,basic_bustype_local.prefix localPrefix,preIn
thirdAction,basic_bustype_origin.thirdSys,basic_bussiness_type.prefix,basic_bustype_local.prefix localPrefix,preIn,
basic_bussiness_type.ullageFill, basic_bussiness_type.scanPreIn, basic_bussiness_type.vailInv, basic_bussiness_type.codeFillCheck
FROM basic_bustype_local
inner join basic_bussiness_type on basic_bustype_local.action = basic_bussiness_type.localAction
INNER JOIN inv_warehouse_bussiness_type on basic_bussiness_type.action = inv_warehouse_bussiness_type.action

Loading…
Cancel
Save