|
|
|
@ -30,6 +30,7 @@ import org.springframework.stereotype.Service;
|
|
|
|
|
import org.springframework.transaction.annotation.Transactional;
|
|
|
|
|
|
|
|
|
|
import javax.annotation.Resource;
|
|
|
|
|
import java.util.ArrayList;
|
|
|
|
|
import java.util.Collections;
|
|
|
|
|
import java.util.Date;
|
|
|
|
|
import java.util.List;
|
|
|
|
@ -187,7 +188,7 @@ public class InvPlaceOrderServiceImpl implements InvPlaceOrderService {
|
|
|
|
|
invPlaceOrderDetailEntity.setId(IdUtil.getSnowflakeNextId());
|
|
|
|
|
invPlaceOrderDetailEntity.setRecordId(recordId);
|
|
|
|
|
invPlaceOrderDetailEntity.setBatchNo(batchNo);
|
|
|
|
|
invPlaceOrderDetailEntity.setRelId(relId+"");
|
|
|
|
|
invPlaceOrderDetailEntity.setRelId(relId + "");
|
|
|
|
|
invPlaceOrderDetailEntity.setNameCode(nameCode);
|
|
|
|
|
invPlaceOrderDetailEntity.setExpireDate(expireDate);
|
|
|
|
|
invPlaceOrderDetailEntity.setProduceDate(produceDate);
|
|
|
|
@ -215,7 +216,7 @@ public class InvPlaceOrderServiceImpl implements InvPlaceOrderService {
|
|
|
|
|
invPlaceOrderDetailEntity.setRecordId(bindInvSpaceRequest.getOrderId());
|
|
|
|
|
invPlaceOrderDetailEntity.setInvCode(bindInvSpaceRequest.getInvCode());
|
|
|
|
|
invPlaceOrderDetailEntity.setBatchNo(batchNo);
|
|
|
|
|
invPlaceOrderDetailEntity.setRelId(relId+"");
|
|
|
|
|
invPlaceOrderDetailEntity.setRelId(relId + "");
|
|
|
|
|
invPlaceOrderDetailEntity.setNameCode(nameCode);
|
|
|
|
|
invPlaceOrderDetailEntity.setExpireDate(expireDate);
|
|
|
|
|
invPlaceOrderDetailEntity.setProduceDate(produceDate);
|
|
|
|
@ -232,6 +233,131 @@ public class InvPlaceOrderServiceImpl implements InvPlaceOrderService {
|
|
|
|
|
return ResultVOUtils.success(recordId);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@Override
|
|
|
|
|
public BaseResponse bindInvSpaceAll(BindInvSpaceRequest bindInvSpaceRequest) {
|
|
|
|
|
|
|
|
|
|
List<FilterInvPlaceOrderRequest> filterInvPlaceOrderRequestList = new ArrayList<>();
|
|
|
|
|
InvWarehouseEntity invWarehouseEntity = invWarehouseDao.selectOne(new QueryWrapper<InvWarehouseEntity>().eq("code", bindInvSpaceRequest.getInvCode()));
|
|
|
|
|
if (invWarehouseEntity.getAdvanceType() == ConstantStatus.ACTION_TYPE_PREIN) {
|
|
|
|
|
QueryWrapper<InvPreInProductDetailEntity> ew = new QueryWrapper<>();
|
|
|
|
|
ew.eq("orderId", bindInvSpaceRequest.getOId());
|
|
|
|
|
ew.eq("mainAction", "WareHouseIn");
|
|
|
|
|
List<InvPreInProductDetailEntity> invPreInProductDetailEntityList = invPreInProductDetailDao.selectList(ew);
|
|
|
|
|
if (invPreInProductDetailEntityList.size() == 0) {
|
|
|
|
|
return ResultVOUtils.error(999, "该单号不存在可以上架产品!");
|
|
|
|
|
}
|
|
|
|
|
for (InvPreInProductDetailEntity invPreInProductDetailEntity : invPreInProductDetailEntityList) {
|
|
|
|
|
FilterInvPlaceOrderRequest filterInvPlaceOrderRequest = new FilterInvPlaceOrderRequest();
|
|
|
|
|
filterInvPlaceOrderRequest.setBatchNo(invPreInProductDetailEntity.getBatchNo());
|
|
|
|
|
filterInvPlaceOrderRequest.setCount(invPreInProductDetailEntity.getReCount());
|
|
|
|
|
filterInvPlaceOrderRequest.setExpireDate(invPreInProductDetailEntity.getExpireDate());
|
|
|
|
|
filterInvPlaceOrderRequest.setRelId(invPreInProductDetailEntity.getRelId());
|
|
|
|
|
filterInvPlaceOrderRequest.setNameCode(invPreInProductDetailEntity.getNameCode());
|
|
|
|
|
filterInvPlaceOrderRequest.setSerialNo(invPreInProductDetailEntity.getSerialNo());
|
|
|
|
|
filterInvPlaceOrderRequest.setProduceDate(invPreInProductDetailEntity.getProduceDate());
|
|
|
|
|
filterInvPlaceOrderRequest.setSupId(invPreInProductDetailEntity.getSupId());
|
|
|
|
|
filterInvPlaceOrderRequest.setCode(invPreInProductDetailEntity.getCode());
|
|
|
|
|
filterInvPlaceOrderRequestList.add(filterInvPlaceOrderRequest);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
} else if (invWarehouseEntity.getAdvanceType() == ConstantStatus.ACTION_TYPE_ADVANCE) {
|
|
|
|
|
QueryWrapper<InvPreProductDetailEntity> ew = new QueryWrapper<>();
|
|
|
|
|
ew.eq("orderId", bindInvSpaceRequest.getOId());
|
|
|
|
|
ew.eq("mainAction", "WareHouseIn");
|
|
|
|
|
List<InvPreProductDetailEntity> invPreProductDetailEntityList = invPreProductDetailDao.selectList(ew);
|
|
|
|
|
for (InvPreProductDetailEntity invPreProductDetailEntity : invPreProductDetailEntityList) {
|
|
|
|
|
FilterInvPlaceOrderRequest filterInvPlaceOrderRequest = new FilterInvPlaceOrderRequest();
|
|
|
|
|
filterInvPlaceOrderRequest.setBatchNo(invPreProductDetailEntity.getBatchNo());
|
|
|
|
|
filterInvPlaceOrderRequest.setExpireDate(invPreProductDetailEntity.getExpireDate());
|
|
|
|
|
filterInvPlaceOrderRequest.setRelId(invPreProductDetailEntity.getRelId());
|
|
|
|
|
filterInvPlaceOrderRequest.setNameCode(invPreProductDetailEntity.getNameCode());
|
|
|
|
|
filterInvPlaceOrderRequest.setSerialNo(invPreProductDetailEntity.getSerialNo());
|
|
|
|
|
filterInvPlaceOrderRequest.setProduceDate(invPreProductDetailEntity.getProduceDate());
|
|
|
|
|
filterInvPlaceOrderRequest.setCount(invPreProductDetailEntity.getReCount());
|
|
|
|
|
filterInvPlaceOrderRequest.setSupId(invPreProductDetailEntity.getSupId());
|
|
|
|
|
filterInvPlaceOrderRequest.setCode(invPreProductDetailEntity.getCode());
|
|
|
|
|
filterInvPlaceOrderRequestList.add(filterInvPlaceOrderRequest);
|
|
|
|
|
}
|
|
|
|
|
} else if (invWarehouseEntity.getAdvanceType() == ConstantStatus.ACTION_TYPE_NORMAL) {
|
|
|
|
|
QueryWrapper<InvProductDetailEntity> ew = new QueryWrapper<>();
|
|
|
|
|
ew.eq("orderId", bindInvSpaceRequest.getOId());
|
|
|
|
|
ew.eq("mainAction", "WareHouseIn");
|
|
|
|
|
List<InvProductDetailEntity> invProductDetailEntityList = invProductDetailDao.selectList(ew);
|
|
|
|
|
for (InvProductDetailEntity invProductDetailEntity : invProductDetailEntityList) {
|
|
|
|
|
FilterInvPlaceOrderRequest filterInvPlaceOrderRequest = new FilterInvPlaceOrderRequest();
|
|
|
|
|
filterInvPlaceOrderRequest.setBatchNo(invProductDetailEntity.getBatchNo());
|
|
|
|
|
filterInvPlaceOrderRequest.setExpireDate(invProductDetailEntity.getExpireDate());
|
|
|
|
|
filterInvPlaceOrderRequest.setRelId(invProductDetailEntity.getRelId());
|
|
|
|
|
filterInvPlaceOrderRequest.setNameCode(invProductDetailEntity.getNameCode());
|
|
|
|
|
filterInvPlaceOrderRequest.setCount(invProductDetailEntity.getReCount());
|
|
|
|
|
filterInvPlaceOrderRequest.setSerialNo(invProductDetailEntity.getSerialNo());
|
|
|
|
|
filterInvPlaceOrderRequest.setProduceDate(invProductDetailEntity.getProduceDate());
|
|
|
|
|
filterInvPlaceOrderRequest.setSupId(invProductDetailEntity.getSupId());
|
|
|
|
|
filterInvPlaceOrderRequest.setCode(invProductDetailEntity.getCode());
|
|
|
|
|
filterInvPlaceOrderRequestList.add(filterInvPlaceOrderRequest);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
//判断是不是第一次进行添加 是就插入一条主表
|
|
|
|
|
String recordId = "";
|
|
|
|
|
if (StrUtil.isEmpty(bindInvSpaceRequest.getOrderId())) {
|
|
|
|
|
//操作人ID
|
|
|
|
|
String userId = customerService.getUserIdStr();
|
|
|
|
|
|
|
|
|
|
recordId = gennerOrderUtils.createInvPlaceOrderNo(new OrderNoTypeBean(Constant.INV_PLACE_ORDER, "yyyyMMdd"));
|
|
|
|
|
InvPlaceOrderEntity orderEntity = new InvPlaceOrderEntity();
|
|
|
|
|
orderEntity.setId(IdUtil.getSnowflakeNextId());
|
|
|
|
|
orderEntity.setRecordId(recordId);
|
|
|
|
|
orderEntity.setType(2);
|
|
|
|
|
orderEntity.setOrderId(bindInvSpaceRequest.getOId());
|
|
|
|
|
orderEntity.setCreateUser(userId);
|
|
|
|
|
orderEntity.setCreateTime(new Date());
|
|
|
|
|
orderEntity.setUpdateTime(new Date());
|
|
|
|
|
invPlaceOrderDao.insert(orderEntity);
|
|
|
|
|
//插入附表
|
|
|
|
|
for (FilterInvPlaceOrderRequest filterInvPlaceOrderRequest : filterInvPlaceOrderRequestList) {
|
|
|
|
|
InvPlaceOrderDetailEntity invPlaceOrderDetailEntity = new InvPlaceOrderDetailEntity();
|
|
|
|
|
invPlaceOrderDetailEntity.setId(IdUtil.getSnowflakeNextId());
|
|
|
|
|
invPlaceOrderDetailEntity.setRecordId(recordId);
|
|
|
|
|
invPlaceOrderDetailEntity.setBatchNo(filterInvPlaceOrderRequest.getBatchNo());
|
|
|
|
|
invPlaceOrderDetailEntity.setCode(filterInvPlaceOrderRequest.getCode());
|
|
|
|
|
invPlaceOrderDetailEntity.setRelId(filterInvPlaceOrderRequest.getRelId()+"");
|
|
|
|
|
invPlaceOrderDetailEntity.setNameCode(filterInvPlaceOrderRequest.getNameCode());
|
|
|
|
|
invPlaceOrderDetailEntity.setExpireDate(filterInvPlaceOrderRequest.getExpireDate());
|
|
|
|
|
invPlaceOrderDetailEntity.setProduceDate(filterInvPlaceOrderRequest.getProduceDate());
|
|
|
|
|
invPlaceOrderDetailEntity.setSupId(filterInvPlaceOrderRequest.getSupId());
|
|
|
|
|
invPlaceOrderDetailEntity.setInvCode(bindInvSpaceRequest.getInvCode());
|
|
|
|
|
invPlaceOrderDetailEntity.setInvSpaceCode(bindInvSpaceRequest.getInvSpaceCode());
|
|
|
|
|
invPlaceOrderDetailEntity.setSerialNo(filterInvPlaceOrderRequest.getSerialNo());
|
|
|
|
|
invPlaceOrderDetailEntity.setCount(filterInvPlaceOrderRequest.getCount());
|
|
|
|
|
invPlaceOrderDetailDao.insert(invPlaceOrderDetailEntity);
|
|
|
|
|
}
|
|
|
|
|
} else {
|
|
|
|
|
//插入附表
|
|
|
|
|
for (FilterInvPlaceOrderRequest filterInvPlaceOrderRequest : filterInvPlaceOrderRequestList) {
|
|
|
|
|
InvPlaceOrderDetailEntity invPlaceOrderDetailEntity = new InvPlaceOrderDetailEntity();
|
|
|
|
|
invPlaceOrderDetailEntity.setId(IdUtil.getSnowflakeNextId());
|
|
|
|
|
invPlaceOrderDetailEntity.setRecordId(recordId);
|
|
|
|
|
invPlaceOrderDetailEntity.setCode(filterInvPlaceOrderRequest.getCode());
|
|
|
|
|
invPlaceOrderDetailEntity.setBatchNo(filterInvPlaceOrderRequest.getBatchNo());
|
|
|
|
|
invPlaceOrderDetailEntity.setRelId(filterInvPlaceOrderRequest.getRelId()+"");
|
|
|
|
|
invPlaceOrderDetailEntity.setNameCode(filterInvPlaceOrderRequest.getNameCode());
|
|
|
|
|
invPlaceOrderDetailEntity.setExpireDate(filterInvPlaceOrderRequest.getExpireDate());
|
|
|
|
|
invPlaceOrderDetailEntity.setProduceDate(filterInvPlaceOrderRequest.getProduceDate());
|
|
|
|
|
invPlaceOrderDetailEntity.setSupId(filterInvPlaceOrderRequest.getSupId());
|
|
|
|
|
invPlaceOrderDetailEntity.setInvCode(bindInvSpaceRequest.getInvCode());
|
|
|
|
|
invPlaceOrderDetailEntity.setInvSpaceCode(bindInvSpaceRequest.getInvSpaceCode());
|
|
|
|
|
invPlaceOrderDetailEntity.setSerialNo(filterInvPlaceOrderRequest.getSerialNo());
|
|
|
|
|
invPlaceOrderDetailEntity.setCount(filterInvPlaceOrderRequest.getCount());
|
|
|
|
|
invPlaceOrderDetailDao.insert(invPlaceOrderDetailEntity);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
return ResultVOUtils.success(recordId);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@Override
|
|
|
|
|
public List<InvPlaceOrderDetailResponse> filterInvPlaceOrderDetailList(FilterInvPlaceOrderRequest filterInvPlaceOrderRequest) {
|
|
|
|
|
if (null == filterInvPlaceOrderRequest) {
|
|
|
|
|