新增库存出库模式,总库库存,上级库存,当前库存

20231126-yw
anthonywj 2 years ago
parent 6d0090c058
commit be1475a5da

@ -162,7 +162,7 @@ public class InvWarehouseController extends BaseController {
preInList.stream().anyMatch(preIn -> !preIn.getCode().equals(invWarehouseEntity.getCode())) preInList.stream().anyMatch(preIn -> !preIn.getCode().equals(invWarehouseEntity.getCode()))
).collect(Collectors.toList()); ).collect(Collectors.toList());
resultList.addAll(preInList); resultList.addAll(preInList);
return ResultVOUtils.success(list); return ResultVOUtils.success(resultList);
} }
return ResultVOUtils.success(list); return ResultVOUtils.success(list);
} }

@ -803,9 +803,14 @@ public class IoCodeTempController extends BaseController {
public BaseResponse checkInv(BasicBussinessTypeEntity bussinessTypeEntity, IoCodeTempEntity codeTempEntity, boolean isEdit) { public BaseResponse checkInv(BasicBussinessTypeEntity bussinessTypeEntity, IoCodeTempEntity codeTempEntity, boolean isEdit) {
if (bussinessTypeEntity.isVailInv() && bussinessTypeEntity.getMainAction().equals(ConstantType.TYPE_OUT)) { if (bussinessTypeEntity.isVailInv() && bussinessTypeEntity.getMainAction().equals(ConstantType.TYPE_OUT)) {
String outInvCode = codeTempEntity.getInvCode();
InvWarehouseEntity invWarehouseEntity = invWarehouseService.findNoInvTypeInv(bussinessTypeEntity.getDeptNoInvType(), outInvCode);
if (invWarehouseEntity != null) {
outInvCode = invWarehouseEntity.getCode();
}
int count = 0; int count = 0;
if (bussinessTypeEntity.getSpaceOut() == ConstantStatus.SPACE_OUT_NULL) { if (bussinessTypeEntity.getSpaceOut() == ConstantStatus.SPACE_OUT_NULL) {
count = invProductDetailService.vailStockCount(codeTempEntity.getRelId(), codeTempEntity.getBatchNo(), codeTempEntity.getSupId(), codeTempEntity.getDeptCode(), codeTempEntity.getInvCode(), null); count = invProductDetailService.vailStockCount(codeTempEntity.getRelId(), codeTempEntity.getBatchNo(), codeTempEntity.getSupId(), null, outInvCode, null);
} else if (bussinessTypeEntity.getSpaceOut() == ConstantStatus.SPACE_OUT_SET) { } else if (bussinessTypeEntity.getSpaceOut() == ConstantStatus.SPACE_OUT_SET) {
count = invProductDetailService.vailStockCount(codeTempEntity.getRelId(), codeTempEntity.getBatchNo(), codeTempEntity.getSupId(), codeTempEntity.getDeptCode(), codeTempEntity.getInvCode(), codeTempEntity.getWarehouseCode()); count = invProductDetailService.vailStockCount(codeTempEntity.getRelId(), codeTempEntity.getBatchNo(), codeTempEntity.getSupId(), codeTempEntity.getDeptCode(), codeTempEntity.getInvCode(), codeTempEntity.getWarehouseCode());
} else if (bussinessTypeEntity.getSpaceOut() == ConstantStatus.SPACE_OUT_CODE) { } else if (bussinessTypeEntity.getSpaceOut() == ConstantStatus.SPACE_OUT_CODE) {

@ -1269,9 +1269,14 @@ public class IoOrderController extends BaseController {
public BaseResponse checkInv(IoOrderDetailBizEntity bizEntity, IoOrderEntity orderEntity) { public BaseResponse checkInv(IoOrderDetailBizEntity bizEntity, IoOrderEntity orderEntity) {
BasicBussinessTypeEntity bussinessTypeEntity = basicBussinessTypeService.findByAction(orderEntity.getAction());
String outInvCode = orderEntity.getInvCode();
InvWarehouseEntity invWarehouseEntity = invWarehouseService.findNoInvTypeInv(bussinessTypeEntity.getDeptNoInvType(), outInvCode);
if (invWarehouseEntity != null) {
outInvCode = invWarehouseEntity.getCode();
}
int count = 0; int count = 0;
count = invProductDetailService.vailStockCount(bizEntity.getBindRlFk(), bizEntity.getBatchNo(), bizEntity.getSupId(), orderEntity.getDeptCode(), orderEntity.getInvCode(), null); count = invProductDetailService.vailStockCount(bizEntity.getBindRlFk(), bizEntity.getBatchNo(), bizEntity.getSupId(), null, outInvCode, null);
if (count <= 0) { if (count <= 0) {
if (count == -1) { if (count == -1) {
return ResultVOUtils.error(500, "该产品未入库"); return ResultVOUtils.error(500, "该产品未入库");

@ -241,8 +241,14 @@ public class IoOrderDetailBizController extends BaseController {
IoOrderEntity orderEntity = orderService.findByBillNo(orderDetailBizEntity.getOrderIdFk()); IoOrderEntity orderEntity = orderService.findByBillNo(orderDetailBizEntity.getOrderIdFk());
BasicBussinessTypeEntity bussinessTypeEntity = basicBussinessTypeService.findByAction(orderEntity.getAction()); BasicBussinessTypeEntity bussinessTypeEntity = basicBussinessTypeService.findByAction(orderEntity.getAction());
if (bussinessTypeEntity.getCheckWebNew() == 4 && bussinessTypeEntity.getMainAction().equals(ConstantType.TYPE_OUT)) { if (bussinessTypeEntity.getCheckWebNew() == 4 && bussinessTypeEntity.getMainAction().equals(ConstantType.TYPE_OUT)) {
Integer count = invProductDetailService.vailStockCount(orderDetailBizEntity.getBindRlFk(), orderDetailBizEntity.getBatchNo(), orderDetailBizEntity.getSupId(), orderEntity.getDeptCode(), orderEntity.getInvCode(), null);
String outInvCode = orderEntity.getInvCode();
InvWarehouseEntity invWarehouseEntity = invWarehouseService.findNoInvTypeInv(bussinessTypeEntity.getDeptNoInvType(), outInvCode);
if (invWarehouseEntity != null) {
outInvCode = invWarehouseEntity.getCode();
}
Integer count = invProductDetailService.vailStockCount(orderDetailBizEntity.getBindRlFk(), orderDetailBizEntity.getBatchNo(), orderDetailBizEntity.getSupId(), null, outInvCode, null);
count = IntUtil.value(count) - orderDetailBizEntity.getCount(); count = IntUtil.value(count) - orderDetailBizEntity.getCount();
if (count <= 0) { if (count <= 0) {

@ -1,5 +1,6 @@
package com.glxp.api.controller.inv; package com.glxp.api.controller.inv;
import com.glxp.api.entity.auth.InvWarehouseEntity;
import com.glxp.api.service.inv.impl.InvProductDetailService; import com.glxp.api.service.inv.impl.InvProductDetailService;
import com.glxp.api.service.inv.impl.InvProductService; import com.glxp.api.service.inv.impl.InvProductService;
import org.springframework.beans.BeanUtils; import org.springframework.beans.BeanUtils;
@ -309,7 +310,14 @@ public class InvProductController extends BaseController {
BasicBussinessTypeEntity bussinessTypeEntity = basicBussinessTypeService.findByAction(codeTempEntity.getAction()); BasicBussinessTypeEntity bussinessTypeEntity = basicBussinessTypeService.findByAction(codeTempEntity.getAction());
int count = 0; int count = 0;
if (bussinessTypeEntity.getSpaceOut() == ConstantStatus.SPACE_OUT_NULL) { if (bussinessTypeEntity.getSpaceOut() == ConstantStatus.SPACE_OUT_NULL) {
count = invProductDetailService.vailStockCount(codeTempEntity.getRelId(), codeTempEntity.getBatchNo(), codeTempEntity.getSupId(), codeTempEntity.getDeptCode(), codeTempEntity.getInvCode(), null);
String outInvCode = codeTempEntity.getInvCode();
InvWarehouseEntity invWarehouseEntity = invWarehouseService.findNoInvTypeInv(bussinessTypeEntity.getDeptNoInvType(), outInvCode);
if (invWarehouseEntity != null) {
outInvCode = invWarehouseEntity.getCode();
}
count = invProductDetailService.vailStockCount(codeTempEntity.getRelId(), codeTempEntity.getBatchNo(), codeTempEntity.getSupId(), null, outInvCode, null);
} else if (bussinessTypeEntity.getSpaceOut() == ConstantStatus.SPACE_OUT_SET) { } else if (bussinessTypeEntity.getSpaceOut() == ConstantStatus.SPACE_OUT_SET) {
count = invProductDetailService.vailStockCount(codeTempEntity.getRelId(), codeTempEntity.getBatchNo(), codeTempEntity.getSupId(), codeTempEntity.getDeptCode(), codeTempEntity.getInvCode(), codeTempEntity.getWarehouseCode()); count = invProductDetailService.vailStockCount(codeTempEntity.getRelId(), codeTempEntity.getBatchNo(), codeTempEntity.getSupId(), codeTempEntity.getDeptCode(), codeTempEntity.getInvCode(), codeTempEntity.getWarehouseCode());
} else if (bussinessTypeEntity.getSpaceOut() == ConstantStatus.SPACE_OUT_CODE) { } else if (bussinessTypeEntity.getSpaceOut() == ConstantStatus.SPACE_OUT_CODE) {

@ -25,8 +25,6 @@ public interface InvWarehouseDao extends BaseMapperPlus<InvWarehouseDao, InvWare
boolean insertInvSubWarehouse(InvWarehouseEntity invWarehouseEntity); boolean insertInvSubWarehouse(InvWarehouseEntity invWarehouseEntity);
boolean updateInvSubWarehouse(InvWarehouseEntity invWarehouseEntity);
void importInvSubWarehouse(@Param("invWarehouseEntities") List<InvWarehouseEntity> invSubWarehouseEntities); void importInvSubWarehouse(@Param("invWarehouseEntities") List<InvWarehouseEntity> invSubWarehouseEntities);
boolean deleteByParentCode(@Param("code") String code); boolean deleteByParentCode(@Param("code") String code);

@ -453,5 +453,11 @@ public class BasicBussinessTypeEntity {
@TableField(value = "inPreInBack") @TableField(value = "inPreInBack")
private Integer inPreInBack; private Integer inPreInBack;
/**
* 0:12:
*/
@TableField(value = "deptNoInvType")
private Integer deptNoInvType;
} }

@ -309,5 +309,8 @@ public class BussinessTypeSaveRequest {
private Boolean advancePreIn; private Boolean advancePreIn;
private int spaceOut; private int spaceOut;
private Integer inPreInBack; private Integer inPreInBack;
/**
* 0:1
*/
private Integer deptNoInvType;
} }

@ -125,7 +125,10 @@ public class FilterBussinessTypeRequest extends ListPageRequest {
private String deptCode; private String deptCode;
private Integer inPreInBack; private Integer inPreInBack;
/**
* 0:1
*/
private Integer deptNoInvType;
/** /**
* *
*/ */

@ -205,6 +205,9 @@ public class FilterOrderRequest extends ListPageRequest {
private List<String> inOrders; private List<String> inOrders;
private String keyWord; private String keyWord;
/**
* 0:1
*/
private Integer deptNoInvType;
private Integer inPreInBack; private Integer inPreInBack;
} }

@ -184,4 +184,9 @@ public class BasicBussinessTypeResponse {
private Integer editType; private Integer editType;
private Integer inPreInBack; private Integer inPreInBack;
/**
* 0:1
*/
private Integer deptNoInvType;
} }

@ -103,4 +103,7 @@ public interface InvWarehouseService extends IService<InvWarehouseEntity> {
List<InvWarehouseEntity> selectLowWarehouseAll(String pCode); List<InvWarehouseEntity> selectLowWarehouseAll(String pCode);
InvWarehouseEntity findNoInvTypeInv(Integer noInvType, String invCode);
} }

@ -17,6 +17,7 @@ import com.glxp.api.req.thrsys.FilterBasicThirdSysRequest;
import com.glxp.api.res.auth.InvSubWarehouseResponse; import com.glxp.api.res.auth.InvSubWarehouseResponse;
import com.glxp.api.res.auth.InvWarehouseThirdSysResponse; import com.glxp.api.res.auth.InvWarehouseThirdSysResponse;
import com.glxp.api.service.auth.InvWarehouseService; import com.glxp.api.service.auth.InvWarehouseService;
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;
@ -286,4 +287,21 @@ public class InvWarehouseServiceImpl extends ServiceImpl<InvWarehouseDao, InvWar
public List<InvWarehouseEntity> selectLowWarehouseAll(String pCode) { public List<InvWarehouseEntity> selectLowWarehouseAll(String pCode) {
return invWarehouseDao.selectLowWarehouseAll(pCode); return invWarehouseDao.selectLowWarehouseAll(pCode);
} }
@Override
public InvWarehouseEntity findNoInvTypeInv(Integer noInvType, String invCode) {
InvWarehouseEntity invWarehouseEntity = findByInvSubByCode(invCode);
if (IntUtil.value(noInvType) == 1) {
if (StrUtil.isEmpty(invWarehouseEntity.getParentCode()))
return invWarehouseEntity;
else return findByInvSubByCode(invWarehouseEntity.getParentCode());
} else {
while (StrUtil.isNotEmpty(invWarehouseEntity.getParentCode())) {
invWarehouseEntity = invWarehouseDao.selectOne(
new QueryWrapper<InvWarehouseEntity>().eq("code", invWarehouseEntity.getParentCode()).last("limit 1"));
}
}
return invWarehouseEntity;
}
} }

@ -945,10 +945,15 @@ public class IoAddInoutService {
} else { //校验普通库存 } else { //校验普通库存
if (bussinessTypeEntity.isVailInv() && bussinessTypeEntity.getMainAction().equals(ConstantType.TYPE_OUT)) { if (bussinessTypeEntity.isVailInv() && bussinessTypeEntity.getMainAction().equals(ConstantType.TYPE_OUT)) {
String outInvCode = orderEntity.getInvCode();
InvWarehouseEntity invWarehouseEntity = invWarehouseService.findNoInvTypeInv(bussinessTypeEntity.getDeptNoInvType(), outInvCode);
if (invWarehouseEntity != null) {
outInvCode = invWarehouseEntity.getCode();
}
for (IoOrderDetailBizEntity orderDetailCodeEntity : orderDetailBizEntities) { for (IoOrderDetailBizEntity orderDetailCodeEntity : orderDetailBizEntities) {
int count = 0; int count = 0;
if (bussinessTypeEntity.getSpaceOut() == ConstantStatus.SPACE_OUT_NULL) { if (bussinessTypeEntity.getSpaceOut() == ConstantStatus.SPACE_OUT_NULL) {
count = invProductDetailService.vailStockCount(orderDetailCodeEntity.getBindRlFk(), orderDetailCodeEntity.getBatchNo(), orderDetailCodeEntity.getSupId(), orderEntity.getDeptCode(), orderEntity.getInvCode(), null); count = invProductDetailService.vailStockCount(orderDetailCodeEntity.getBindRlFk(), orderDetailCodeEntity.getBatchNo(), orderDetailCodeEntity.getSupId(), null, outInvCode, null);
} else if (bussinessTypeEntity.getSpaceOut() == ConstantStatus.SPACE_OUT_SET) { } else if (bussinessTypeEntity.getSpaceOut() == ConstantStatus.SPACE_OUT_SET) {
count = invProductDetailService.vailStockCount(orderDetailCodeEntity.getBindRlFk(), orderDetailCodeEntity.getBatchNo(), orderDetailCodeEntity.getSupId(), orderEntity.getDeptCode(), orderEntity.getInvCode(), orderEntity.getCurSpaceCode()); count = invProductDetailService.vailStockCount(orderDetailCodeEntity.getBindRlFk(), orderDetailCodeEntity.getBatchNo(), orderDetailCodeEntity.getSupId(), orderEntity.getDeptCode(), orderEntity.getInvCode(), orderEntity.getCurSpaceCode());
} }
@ -958,7 +963,6 @@ public class IoAddInoutService {
} }
} }
} }
return null; return null;
} }

@ -760,7 +760,7 @@ public class IoOrderServiceImpl implements IoOrderService {
} }
if (filterOrderRequest.getInPreInBack() != null) { if (filterOrderRequest.getInPreInBack() != null) {
bussinessTypeEntities = bussinessTypeEntities.stream() bussinessTypeEntities = bussinessTypeEntities.stream()
.filter(item -> item.getInPreInBack().equals(filterOrderRequest.getInPreInBack())) .filter(item -> IntUtil.value(item.getInPreInBack()) == filterOrderRequest.getInPreInBack())
.collect(Collectors.toList()); .collect(Collectors.toList());
} }
actions = bussinessTypeEntities.stream().map(BasicBussinessTypeEntity::getAction).collect(Collectors.toList()); actions = bussinessTypeEntities.stream().map(BasicBussinessTypeEntity::getAction).collect(Collectors.toList());

@ -186,7 +186,7 @@ public class InvProductDetailService extends ServiceImpl<InvProductDetailDao, In
} }
List<InvProductDetailEntity> datas = List<InvProductDetailEntity> datas =
invProductDetailDao.selectList(new QueryWrapper<InvProductDetailEntity>().eq("relId", relId).eq(StrUtil.isNotEmpty(batchNo), "batchNo", batchNo) invProductDetailDao.selectList(new QueryWrapper<InvProductDetailEntity>().eq("relId", relId).eq(StrUtil.isNotEmpty(batchNo), "batchNo", batchNo)
.eq(StrUtil.isNotEmpty(supId), "supId", supId).eq("deptCode", deptCode).eq("invCode", invCode) .eq(StrUtil.isNotEmpty(supId), "supId", supId).eq(StrUtil.isNotEmpty(deptCode), "deptCode", deptCode).eq("invCode", invCode)
.eq(StrUtil.isNotEmpty(invSpaceCode), "invSpaceCode", invSpaceCode) .eq(StrUtil.isNotEmpty(invSpaceCode), "invSpaceCode", invSpaceCode)
.and(StrUtil.isEmpty(batchNo), i -> i.isNull("batchNo").or().eq("batchNo", "")) .and(StrUtil.isEmpty(batchNo), i -> i.isNull("batchNo").or().eq("batchNo", ""))
); );

@ -4,7 +4,7 @@ server:
spring: spring:
datasource: datasource:
driver-class-name: com.p6spy.engine.spy.P6SpyDriver driver-class-name: com.p6spy.engine.spy.P6SpyDriver
jdbc-url: jdbc:p6spy:mysql://127.0.0.1:3306/udi_wms_ct?allowMultiQueries=true&serverTimezone=Asia/Shanghai&useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=false&allowPublicKeyRetrieval=true jdbc-url: jdbc:p6spy:mysql://127.0.0.1:3306/udi_wms_pt?allowMultiQueries=true&serverTimezone=Asia/Shanghai&useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=false&allowPublicKeyRetrieval=true
username: root username: root
password: 123456 password: 123456
hikari: hikari:
@ -15,7 +15,7 @@ spring:
redis: redis:
database: 8 database: 8
host: 127.0.0.19991 host: 127.0.0.1
port: 6379 port: 6379
# password: 123456 # password: 123456
timeout: 300 timeout: 300

@ -83,6 +83,7 @@ VALUES (1, 'udi_wms_new', '3.0.6', 306, 'UDI扫码终端', '2023-10-30 18:42:24'
CALL Pro_Temp_ColumnWork('basic_product_category', 'deptCode', 'varchar(255)', 1); CALL Pro_Temp_ColumnWork('basic_product_category', 'deptCode', 'varchar(255)', 1);
CALL Pro_Temp_ColumnWork('basic_product_category', 'invCode', 'varchar(255)', 1); CALL Pro_Temp_ColumnWork('basic_product_category', 'invCode', 'varchar(255)', 1);
CALL Pro_Temp_ColumnWork('basic_bussiness_type', 'inPreInBack', 'tinyint', 1); CALL Pro_Temp_ColumnWork('basic_bussiness_type', 'inPreInBack', 'tinyint', 1);
CALL Pro_Temp_ColumnWork('basic_bussiness_type', 'deptNoInvType', 'tinyint', 1);
INSERT ignore INTO sys_param_config(`id`, `parentId`, `paramName`, `paramKey`, `paramValue`, `paramStatus`, INSERT ignore INTO sys_param_config(`id`, `parentId`, `paramName`, `paramKey`, `paramValue`, `paramStatus`,

Loading…
Cancel
Save