|
|
@ -8,6 +8,7 @@ import com.glxp.api.common.util.ResultVOUtils;
|
|
|
|
import com.glxp.api.constant.Constant;
|
|
|
|
import com.glxp.api.constant.Constant;
|
|
|
|
import com.glxp.api.constant.ConstantStatus;
|
|
|
|
import com.glxp.api.constant.ConstantStatus;
|
|
|
|
import com.glxp.api.constant.ConstantType;
|
|
|
|
import com.glxp.api.constant.ConstantType;
|
|
|
|
|
|
|
|
import com.glxp.api.entity.auth.InvWarehouseEntity;
|
|
|
|
import com.glxp.api.entity.basic.BasicBussinessTypeEntity;
|
|
|
|
import com.glxp.api.entity.basic.BasicBussinessTypeEntity;
|
|
|
|
import com.glxp.api.entity.basic.UdiEntity;
|
|
|
|
import com.glxp.api.entity.basic.UdiEntity;
|
|
|
|
import com.glxp.api.entity.inout.*;
|
|
|
|
import com.glxp.api.entity.inout.*;
|
|
|
@ -16,6 +17,7 @@ import com.glxp.api.entity.inv.InvPreinDetailEntity;
|
|
|
|
import com.glxp.api.res.inout.IoOrderCheckResultResponse;
|
|
|
|
import com.glxp.api.res.inout.IoOrderCheckResultResponse;
|
|
|
|
import com.glxp.api.res.inout.IoOrderDetailBizResponse;
|
|
|
|
import com.glxp.api.res.inout.IoOrderDetailBizResponse;
|
|
|
|
import com.glxp.api.res.inout.IoOrderDetailCodeResponse;
|
|
|
|
import com.glxp.api.res.inout.IoOrderDetailCodeResponse;
|
|
|
|
|
|
|
|
import com.glxp.api.service.auth.InvWarehouseService;
|
|
|
|
import com.glxp.api.service.basic.IBasicBussinessTypeService;
|
|
|
|
import com.glxp.api.service.basic.IBasicBussinessTypeService;
|
|
|
|
import com.glxp.api.service.inv.InvPreinDetailService;
|
|
|
|
import com.glxp.api.service.inv.InvPreinDetailService;
|
|
|
|
import com.glxp.api.service.inv.InvPreinOrderService;
|
|
|
|
import com.glxp.api.service.inv.InvPreinOrderService;
|
|
|
@ -729,6 +731,7 @@ public class IoCheckInoutService {
|
|
|
|
orderEntity.setUpdateTime(new Date());
|
|
|
|
orderEntity.setUpdateTime(new Date());
|
|
|
|
orderEntity.setAuditTime(new Date());
|
|
|
|
orderEntity.setAuditTime(new Date());
|
|
|
|
orderService.update(orderEntity);
|
|
|
|
orderService.update(orderEntity);
|
|
|
|
|
|
|
|
List<IoCodeEntity> codeEntities = codeService.findByOrderId(orderEntity.getBillNo());
|
|
|
|
genInv(orderEntity, bussinessTypeEntity);
|
|
|
|
genInv(orderEntity, bussinessTypeEntity);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
@ -744,13 +747,13 @@ public class IoCheckInoutService {
|
|
|
|
public void genInv(IoOrderEntity orderEntity, BasicBussinessTypeEntity bussinessTypeEntity) {
|
|
|
|
public void genInv(IoOrderEntity orderEntity, BasicBussinessTypeEntity bussinessTypeEntity) {
|
|
|
|
|
|
|
|
|
|
|
|
if (bussinessTypeEntity.getMainAction().equals(ConstantType.TYPE_OUT) && bussinessTypeEntity.isScanPreIn()) {
|
|
|
|
if (bussinessTypeEntity.getMainAction().equals(ConstantType.TYPE_OUT) && bussinessTypeEntity.isScanPreIn()) {
|
|
|
|
ThreadUtil.execAsync(() -> {
|
|
|
|
// ThreadUtil.execAsync(() -> {
|
|
|
|
if (StrUtil.isNotEmpty(bussinessTypeEntity.getPreInBackAction())) {
|
|
|
|
if (StrUtil.isNotEmpty(bussinessTypeEntity.getPreInBackAction())) {
|
|
|
|
if (bussinessTypeEntity.getBackPreinType() == 1) { //按单退货
|
|
|
|
if (bussinessTypeEntity.getBackPreinType() == 1) { //按单退货
|
|
|
|
|
|
|
|
|
|
|
|
String orderIds = bussinessTypeEntity.getCheckPreInOrders();
|
|
|
|
String orderIds = orderEntity.getCheckPreInOrders();
|
|
|
|
if (StrUtil.isNotEmpty(orderIds)) {
|
|
|
|
if (StrUtil.isNotEmpty(orderIds)) {
|
|
|
|
String[] orderIdArray = StringUtils.split(",");
|
|
|
|
String[] orderIdArray = orderIds.split(",");
|
|
|
|
List<String> orderList = CollUtil.toList(orderIdArray);
|
|
|
|
List<String> orderList = CollUtil.toList(orderIdArray);
|
|
|
|
List<IoCodeEntity> outCodeEntitys = codeService.findByOrderId(orderEntity.getBillNo());
|
|
|
|
List<IoCodeEntity> outCodeEntitys = codeService.findByOrderId(orderEntity.getBillNo());
|
|
|
|
List<IoCodeEntity> preInCodeEntities = codeService.findByOrderIds(orderList, null);
|
|
|
|
List<IoCodeEntity> preInCodeEntities = codeService.findByOrderIds(orderList, null);
|
|
|
@ -809,11 +812,10 @@ public class IoCheckInoutService {
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
});
|
|
|
|
// });
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
//校验是否是不入库存单据
|
|
|
|
//校验是否是不入库存单据
|
|
|
|
if (bussinessTypeEntity.isInStock()) {
|
|
|
|
if (bussinessTypeEntity.isInStock()) {
|
|
|
|
//生成库存
|
|
|
|
//生成库存
|
|
|
@ -830,6 +832,8 @@ public class IoCheckInoutService {
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@Resource
|
|
|
|
|
|
|
|
InvWarehouseService invWarehouseService;
|
|
|
|
|
|
|
|
|
|
|
|
public void genBackOrder(IoOrderEntity orderEntity, List<IoCodeEntity> backCodeList) {
|
|
|
|
public void genBackOrder(IoOrderEntity orderEntity, List<IoCodeEntity> backCodeList) {
|
|
|
|
if (CollUtil.isEmpty(backCodeList))
|
|
|
|
if (CollUtil.isEmpty(backCodeList))
|
|
|
@ -837,9 +841,14 @@ public class IoCheckInoutService {
|
|
|
|
BasicBussinessTypeEntity basicBussinessTypeEntity = basicBussinessTypeService.findByAction(orderEntity.getAction());
|
|
|
|
BasicBussinessTypeEntity basicBussinessTypeEntity = basicBussinessTypeService.findByAction(orderEntity.getAction());
|
|
|
|
if (StrUtil.isNotEmpty(basicBussinessTypeEntity.getPreInBackAction())) {
|
|
|
|
if (StrUtil.isNotEmpty(basicBussinessTypeEntity.getPreInBackAction())) {
|
|
|
|
IoOrderEntity outOrder = new IoOrderEntity();
|
|
|
|
IoOrderEntity outOrder = new IoOrderEntity();
|
|
|
|
|
|
|
|
IoCodeEntity codeEntity = backCodeList.get(0);
|
|
|
|
outOrder.setId(null);
|
|
|
|
outOrder.setId(null);
|
|
|
|
outOrder.setMainAction(ConstantType.TYPE_OUT);
|
|
|
|
outOrder.setMainAction(ConstantType.TYPE_OUT);
|
|
|
|
outOrder.setAction(basicBussinessTypeEntity.getAction());
|
|
|
|
outOrder.setAction(basicBussinessTypeEntity.getPreInBackAction());
|
|
|
|
|
|
|
|
InvWarehouseEntity invWarehouseEntity = invWarehouseService.findByInvSubByCode(Constant.INV_PRE_IN_CODE);
|
|
|
|
|
|
|
|
outOrder.setInvCode(invWarehouseEntity.getCode());
|
|
|
|
|
|
|
|
outOrder.setDeptCode(invWarehouseEntity.getParentId());
|
|
|
|
|
|
|
|
outOrder.setFromCorp(codeEntity.getSupId());
|
|
|
|
outOrder.setCreateTime(new Date());
|
|
|
|
outOrder.setCreateTime(new Date());
|
|
|
|
outOrder.setFromType(ConstantStatus.FROM_BACK);
|
|
|
|
outOrder.setFromType(ConstantStatus.FROM_BACK);
|
|
|
|
String orderNo = gennerOrderUtils.createScOrderNo(new OrderNoTypeBean(Constant.SCAN_ORDER + StrUtil.trimToEmpty(basicBussinessTypeEntity.getPrefix()), "yyyyMMdd"));
|
|
|
|
String orderNo = gennerOrderUtils.createScOrderNo(new OrderNoTypeBean(Constant.SCAN_ORDER + StrUtil.trimToEmpty(basicBussinessTypeEntity.getPrefix()), "yyyyMMdd"));
|
|
|
|