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

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()))
).collect(Collectors.toList());
resultList.addAll(preInList);
return ResultVOUtils.success(list);
return ResultVOUtils.success(resultList);
}
return ResultVOUtils.success(list);
}

@ -803,9 +803,14 @@ public class IoCodeTempController extends BaseController {
public BaseResponse checkInv(BasicBussinessTypeEntity bussinessTypeEntity, IoCodeTempEntity codeTempEntity, boolean isEdit) {
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;
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) {
count = invProductDetailService.vailStockCount(codeTempEntity.getRelId(), codeTempEntity.getBatchNo(), codeTempEntity.getSupId(), codeTempEntity.getDeptCode(), codeTempEntity.getInvCode(), codeTempEntity.getWarehouseCode());
} else if (bussinessTypeEntity.getSpaceOut() == ConstantStatus.SPACE_OUT_CODE) {

@ -1269,9 +1269,14 @@ public class IoOrderController extends BaseController {
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;
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 == -1) {
return ResultVOUtils.error(500, "该产品未入库");

@ -241,8 +241,14 @@ public class IoOrderDetailBizController extends BaseController {
IoOrderEntity orderEntity = orderService.findByBillNo(orderDetailBizEntity.getOrderIdFk());
BasicBussinessTypeEntity bussinessTypeEntity = basicBussinessTypeService.findByAction(orderEntity.getAction());
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();
if (count <= 0) {

@ -1,5 +1,6 @@
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.InvProductService;
import org.springframework.beans.BeanUtils;
@ -309,7 +310,14 @@ public class InvProductController extends BaseController {
BasicBussinessTypeEntity bussinessTypeEntity = basicBussinessTypeService.findByAction(codeTempEntity.getAction());
int count = 0;
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) {
count = invProductDetailService.vailStockCount(codeTempEntity.getRelId(), codeTempEntity.getBatchNo(), codeTempEntity.getSupId(), codeTempEntity.getDeptCode(), codeTempEntity.getInvCode(), codeTempEntity.getWarehouseCode());
} else if (bussinessTypeEntity.getSpaceOut() == ConstantStatus.SPACE_OUT_CODE) {

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

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

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

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

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

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

@ -103,4 +103,7 @@ public interface InvWarehouseService extends IService<InvWarehouseEntity> {
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.InvWarehouseThirdSysResponse;
import com.glxp.api.service.auth.InvWarehouseService;
import com.glxp.api.util.IntUtil;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
@ -286,4 +287,21 @@ public class InvWarehouseServiceImpl extends ServiceImpl<InvWarehouseDao, InvWar
public List<InvWarehouseEntity> selectLowWarehouseAll(String 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 { //校验普通库存
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) {
int count = 0;
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) {
count = invProductDetailService.vailStockCount(orderDetailCodeEntity.getBindRlFk(), orderDetailCodeEntity.getBatchNo(), orderDetailCodeEntity.getSupId(), orderEntity.getDeptCode(), orderEntity.getInvCode(), orderEntity.getCurSpaceCode());
}
@ -958,7 +963,6 @@ public class IoAddInoutService {
}
}
}
return null;
}

@ -760,7 +760,7 @@ public class IoOrderServiceImpl implements IoOrderService {
}
if (filterOrderRequest.getInPreInBack() != null) {
bussinessTypeEntities = bussinessTypeEntities.stream()
.filter(item -> item.getInPreInBack().equals(filterOrderRequest.getInPreInBack()))
.filter(item -> IntUtil.value(item.getInPreInBack()) == filterOrderRequest.getInPreInBack())
.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 =
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)
.and(StrUtil.isEmpty(batchNo), i -> i.isNull("batchNo").or().eq("batchNo", ""))
);

@ -4,7 +4,7 @@ server:
spring:
datasource:
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
password: 123456
hikari:
@ -15,7 +15,7 @@ spring:
redis:
database: 8
host: 127.0.0.19991
host: 127.0.0.1
port: 6379
# password: 123456
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', 'invCode', 'varchar(255)', 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`,

Loading…
Cancel
Save