|
|
|
@ -23,6 +23,7 @@ import com.glxp.api.entity.inout.IoOrderDetailBizEntity;
|
|
|
|
|
import com.glxp.api.entity.inout.IoOrderEntity;
|
|
|
|
|
import com.glxp.api.entity.system.SystemParamConfigEntity;
|
|
|
|
|
import com.glxp.api.entity.thrsys.*;
|
|
|
|
|
import com.glxp.api.exception.JsonException;
|
|
|
|
|
import com.glxp.api.http.ErpInvClient;
|
|
|
|
|
import com.glxp.api.req.inv.FilterInvProductRequest;
|
|
|
|
|
import com.glxp.api.req.thrsys.FilterDownloadInvOrderRequest;
|
|
|
|
@ -168,6 +169,15 @@ public class ThrInvOrderServiceImpl implements ThrInvOrderService {
|
|
|
|
|
if (CollectionUtil.isNotEmpty(thrInvOrderDetails)) {
|
|
|
|
|
handleExternalConvertThrInvOrder(billNo, filterInvProductRequest, thrInvOrder, list.get(0), Constant.THR_INV_PH_ORDER_TYPE);
|
|
|
|
|
|
|
|
|
|
//是否自动生成出入库单据
|
|
|
|
|
if (IntUtil.value(systemParamConfigService.selectValueByParamKey("fee_out_auto_gen")) > 0) {
|
|
|
|
|
GenerateOrderRequest generateOrderRequest = new GenerateOrderRequest();
|
|
|
|
|
generateOrderRequest.setBillNo(thrInvOrder.getBillNo());
|
|
|
|
|
generateOrderRequest.setAction(thrInvOrder.getBillType());
|
|
|
|
|
generateOrderRequest.setFromCorp(thrInvOrder.getFromCorp());
|
|
|
|
|
generateOrder(generateOrderRequest);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
//保存数据
|
|
|
|
|
thrInvOrderMapper.insert(thrInvOrder);
|
|
|
|
|
thrInvOrderDetailMapper.insertBatch(thrInvOrderDetails);
|
|
|
|
@ -391,7 +401,7 @@ public class ThrInvOrderServiceImpl implements ThrInvOrderService {
|
|
|
|
|
if (CollectionUtil.isEmpty(thrInvOrderDetails)) return false;
|
|
|
|
|
|
|
|
|
|
//校验单据的relId有null不生成单据
|
|
|
|
|
if (!inspectionDocuments(thrInvOrderDetails)) return false;
|
|
|
|
|
// if (!inspectionDocuments(thrInvOrderDetails)) return false;
|
|
|
|
|
|
|
|
|
|
BasicBussinessTypeEntity bussinessTypeEntity = bussinessTypeService.findByAction(generateOrderRequest.getAction());
|
|
|
|
|
|
|
|
|
@ -421,7 +431,8 @@ public class ThrInvOrderServiceImpl implements ThrInvOrderService {
|
|
|
|
|
ioOrderEntity.setFromType(ConstantStatus.FROM_WEBNEW);//网页新增
|
|
|
|
|
ioOrderEntity.setStatus(ConstantStatus.ORDER_STATUS_TEMP_SAVE);//草稿
|
|
|
|
|
ioOrderEntity.setDealStatus(ConstantStatus.ORDER_DEAL_DRAFT);//草稿
|
|
|
|
|
ioOrderEntity.setCorpOrderId(billNo);//单据号
|
|
|
|
|
ioOrderEntity.setCorpOrderId(UUID.randomUUID()+"");//单据号
|
|
|
|
|
ioOrderEntity.setThrOrderIdFk(billNo);//单据号
|
|
|
|
|
ioOrderEntity.setUpdateTime(new Date());
|
|
|
|
|
ioOrderEntity.setCustomerId("110");
|
|
|
|
|
ioOrderEntity.setCreateTime(new Date());
|
|
|
|
@ -435,6 +446,15 @@ public class ThrInvOrderServiceImpl implements ThrInvOrderService {
|
|
|
|
|
return false;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
//更新三方明细列表为已处理
|
|
|
|
|
List<ThrInvOrderDetail> value = entry.getValue();
|
|
|
|
|
List<ThrInvOrderDetail> updateThrInvOrderDetails = new ArrayList<>(value.size());
|
|
|
|
|
value.forEach( x -> {
|
|
|
|
|
x.setHandleStatus(1);
|
|
|
|
|
updateThrInvOrderDetails.add(x);
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
thrInvOrderDetailMapper.updateBatchById(updateThrInvOrderDetails);
|
|
|
|
|
ioOrderService.insertOrder(ioOrderEntity);
|
|
|
|
|
thrInvOrder.setStatus(ConstantStatus.SFIO_CFMD);//已确认
|
|
|
|
|
thrInvOrder.setUpdateTime(new Date());
|
|
|
|
@ -474,7 +494,7 @@ public class ThrInvOrderServiceImpl implements ThrInvOrderService {
|
|
|
|
|
if (CollectionUtil.isEmpty(thrInvOrderDetails)) return false;
|
|
|
|
|
|
|
|
|
|
//校验单据的relId有null不生成单据
|
|
|
|
|
if (!inspectionDocuments(thrInvOrderDetails)) return false;
|
|
|
|
|
// if (!inspectionDocuments(thrInvOrderDetails)) return false;
|
|
|
|
|
|
|
|
|
|
BasicBussinessTypeEntity bussinessTypeEntity = bussinessTypeService.findByAction(generateOrderRequest.getAction());
|
|
|
|
|
Map<String, List<ThrInvOrderDetail>> grouped = new HashMap<>();
|
|
|
|
@ -500,7 +520,8 @@ public class ThrInvOrderServiceImpl implements ThrInvOrderService {
|
|
|
|
|
ioOrderEntity.setFromType(ConstantStatus.FROM_WEBNEW);//网页新增
|
|
|
|
|
ioOrderEntity.setStatus(ConstantStatus.ORDER_STATUS_TEMP_SAVE);//草稿
|
|
|
|
|
ioOrderEntity.setDealStatus(ConstantStatus.ORDER_DEAL_DRAFT);//草稿
|
|
|
|
|
ioOrderEntity.setCorpOrderId(billNo);//单据号
|
|
|
|
|
ioOrderEntity.setCorpOrderId(UUID.randomUUID()+"");//单据号
|
|
|
|
|
ioOrderEntity.setThrOrderIdFk(billNo);//单据号
|
|
|
|
|
ioOrderEntity.setUpdateTime(new Date());
|
|
|
|
|
ioOrderEntity.setCreateTime(new Date());
|
|
|
|
|
ioOrderEntity.setCustomerId("110");
|
|
|
|
@ -520,6 +541,15 @@ public class ThrInvOrderServiceImpl implements ThrInvOrderService {
|
|
|
|
|
return false;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
//更新三方明细列表为已处理
|
|
|
|
|
List<ThrInvOrderDetail> value = entry.getValue();
|
|
|
|
|
List<ThrInvOrderDetail> updateThrInvOrderDetails = new ArrayList<>(value.size());
|
|
|
|
|
value.forEach( x -> {
|
|
|
|
|
x.setHandleStatus(1);
|
|
|
|
|
updateThrInvOrderDetails.add(x);
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
thrInvOrderDetailMapper.updateBatchById(updateThrInvOrderDetails);
|
|
|
|
|
ioOrderService.insertOrder(ioOrderEntity);
|
|
|
|
|
thrInvOrder.setStatus(ConstantStatus.SFIO_CFMD);//已确认
|
|
|
|
|
thrInvOrder.setUpdateTime(new Date());
|
|
|
|
@ -757,6 +787,259 @@ public class ThrInvOrderServiceImpl implements ThrInvOrderService {
|
|
|
|
|
log.info("手动抓取第三方普耗出入库明细生成单据定时任务结束");
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@Override
|
|
|
|
|
public void scanInvSfOrderGenerateSfOrder() {
|
|
|
|
|
log.info("扫描处理第三方收费明细生成单据定时任务开始");
|
|
|
|
|
List<ThrInvOrderDetail> list = thrInvOrderDetailMapper.selectSourceTypeList(Constant.THR_INV_SF_ORDER_TYPE);
|
|
|
|
|
/**
|
|
|
|
|
* 1、根据 外检单号 进行 分组
|
|
|
|
|
* 2、遍历不同分组 在分组的列表再次进行匹配
|
|
|
|
|
* 3、匹配到的列表 不为空 进行 新增关联的单据 插入明细操作
|
|
|
|
|
* 4、需要 回写三方的明细表 标记已处理
|
|
|
|
|
*/
|
|
|
|
|
if (CollectionUtil.isEmpty(list)) return;
|
|
|
|
|
Map<String, List<ThrInvOrderDetail>> grouped = list.stream()
|
|
|
|
|
.collect(Collectors.groupingBy(ThrInvOrderDetail::getOrderIdFk));
|
|
|
|
|
for (Map.Entry<String, List<ThrInvOrderDetail>> entry : grouped.entrySet()) {
|
|
|
|
|
String orderIdFk = entry.getKey();
|
|
|
|
|
List<ThrInvOrderDetail> thrInvOrderDetails = entry.getValue();
|
|
|
|
|
List<ThrInvOrderDetail> generatethrInvOrderDetails = new ArrayList<>(entry.getValue().size());//需要生成的明细
|
|
|
|
|
|
|
|
|
|
thrInvOrderDetails.forEach(item -> {
|
|
|
|
|
Long relId = item.getRelId();
|
|
|
|
|
if (ObjectUtil.isNull(relId)) {
|
|
|
|
|
String nameCode = item.getNameCode();
|
|
|
|
|
List<BasicProductsEntity> productsEntities = udiRelevanceDao.getProductsEntitiesByNameCode(nameCode);
|
|
|
|
|
if (CollectionUtil.isNotEmpty(productsEntities)) {
|
|
|
|
|
BasicProductsEntity basicProductsEntity = productsEntities.get(0);
|
|
|
|
|
item.setRelId(basicProductsEntity.getId());
|
|
|
|
|
item.setHandleStatus(1);
|
|
|
|
|
generatethrInvOrderDetails.add(item);
|
|
|
|
|
} else {
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
if (generatethrInvOrderDetails.size() >0 ){
|
|
|
|
|
thrInvOrderDetailMapper.updateBatchById(generatethrInvOrderDetails);//先进行 回写已处理状态
|
|
|
|
|
|
|
|
|
|
//通过单号获取单据信息
|
|
|
|
|
QueryWrapper<ThrInvOrder> qw = new QueryWrapper<>();
|
|
|
|
|
qw.eq("billNo", orderIdFk);
|
|
|
|
|
ThrInvOrder thrInvOrder = thrInvOrderMapper.selectOne(qw);
|
|
|
|
|
BasicBussinessTypeEntity bussinessTypeEntity = bussinessTypeService.findByAction(thrInvOrder.getBillType());
|
|
|
|
|
|
|
|
|
|
//新单号
|
|
|
|
|
String newBillNo = gennerOrderUtils.createScOrderNo(new OrderNoTypeBean(Constant.SCAN_ORDER, "yyyyMMdd"));
|
|
|
|
|
IoOrderEntity ioOrderEntity = new IoOrderEntity();
|
|
|
|
|
ioOrderEntity.setBillNo(newBillNo);
|
|
|
|
|
ioOrderEntity.setMainAction(thrInvOrder.getMainAction());
|
|
|
|
|
ioOrderEntity.setFromCorp(thrInvOrder.getFromCorp());
|
|
|
|
|
ioOrderEntity.setInvCode(thrInvOrder.getInvCode());
|
|
|
|
|
ioOrderEntity.setDeptCode(thrInvOrder.getDeptCode());
|
|
|
|
|
ioOrderEntity.setAction(thrInvOrder.getBillType());
|
|
|
|
|
|
|
|
|
|
ioOrderEntity.setFromType(ConstantStatus.FROM_WEBNEW);//网页新增
|
|
|
|
|
ioOrderEntity.setStatus(ConstantStatus.ORDER_STATUS_TEMP_SAVE);//草稿
|
|
|
|
|
ioOrderEntity.setDealStatus(ConstantStatus.ORDER_DEAL_DRAFT);//草稿
|
|
|
|
|
ioOrderEntity.setCorpOrderId(UUID.randomUUID()+"");//单据号
|
|
|
|
|
ioOrderEntity.setThrOrderIdFk(thrInvOrder.getBillNo());//单据号
|
|
|
|
|
ioOrderEntity.setUpdateTime(new Date());
|
|
|
|
|
ioOrderEntity.setCreateTime(new Date());
|
|
|
|
|
ioOrderEntity.setCustomerId("110");
|
|
|
|
|
Long userId = customerService.getUserId();
|
|
|
|
|
ioOrderEntity.setCreateUser(userId + "");
|
|
|
|
|
ioOrderEntity.setUpdateUser(userId + "");
|
|
|
|
|
ioOrderEntity.setOrderType(ConstantStatus.ORDER_TYPE_SCAN);//正常单据处理
|
|
|
|
|
|
|
|
|
|
List<IoOrderDetailBizEntity> newOrderDetailBiz = new ArrayList<>(generatethrInvOrderDetails.size());
|
|
|
|
|
if (!copyOrderDetailBiz(generatethrInvOrderDetails, newOrderDetailBiz, newBillNo)) {
|
|
|
|
|
throw new JsonException("第三方收费明细自动转化单据异常");
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
thrInvOrderDetailMapper.updateBatchById(generatethrInvOrderDetails);
|
|
|
|
|
ioOrderService.insertOrder(ioOrderEntity);
|
|
|
|
|
ioOrderDetailBizService.batchInsertBizs(newOrderDetailBiz);
|
|
|
|
|
|
|
|
|
|
//自动处理业务单据
|
|
|
|
|
ioAddInoutService.dealBusProcess(ioOrderEntity, bussinessTypeEntity);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
log.info("扫描处理第三方收费明细生成单据定时任务结束");
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@Override
|
|
|
|
|
public void scanInvPhOrderGeneratePhOrder() {
|
|
|
|
|
log.info("扫描处理第三方普耗明细生成单据定时任务开始");
|
|
|
|
|
List<ThrInvOrderDetail> list = thrInvOrderDetailMapper.selectSourceTypeList(Constant.THR_INV_PH_ORDER_TYPE);
|
|
|
|
|
/**
|
|
|
|
|
* 1、根据 外检单号 进行 分组
|
|
|
|
|
* 2、遍历不同分组 在分组的列表再次进行匹配
|
|
|
|
|
* 3、匹配到的列表 不为空 进行 新增关联的单据 插入明细操作
|
|
|
|
|
* 4、需要 回写三方的明细表 标记已处理
|
|
|
|
|
*/
|
|
|
|
|
if (CollectionUtil.isEmpty(list)) return;
|
|
|
|
|
Map<String, List<ThrInvOrderDetail>> grouped = list.stream()
|
|
|
|
|
.collect(Collectors.groupingBy(ThrInvOrderDetail::getOrderIdFk));
|
|
|
|
|
for (Map.Entry<String, List<ThrInvOrderDetail>> entry : grouped.entrySet()) {
|
|
|
|
|
String orderIdFk = entry.getKey();
|
|
|
|
|
List<ThrInvOrderDetail> thrInvOrderDetails = entry.getValue();
|
|
|
|
|
List<ThrInvOrderDetail> generatethrInvOrderDetails = new ArrayList<>(entry.getValue().size());//需要生成的明细
|
|
|
|
|
|
|
|
|
|
thrInvOrderDetails.forEach(item -> {
|
|
|
|
|
Long relId = item.getRelId();
|
|
|
|
|
if (ObjectUtil.isNull(relId)) {
|
|
|
|
|
String nameCode = item.getNameCode();
|
|
|
|
|
List<BasicProductsEntity> productsEntities = udiRelevanceDao.getProductsEntitiesByNameCode(nameCode);
|
|
|
|
|
if (CollectionUtil.isNotEmpty(productsEntities)) {
|
|
|
|
|
BasicProductsEntity basicProductsEntity = productsEntities.get(0);
|
|
|
|
|
item.setRelId(basicProductsEntity.getId());
|
|
|
|
|
item.setHandleStatus(1);
|
|
|
|
|
generatethrInvOrderDetails.add(item);
|
|
|
|
|
} else {
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
if (generatethrInvOrderDetails.size() > 0) {
|
|
|
|
|
thrInvOrderDetailMapper.updateBatchById(generatethrInvOrderDetails);//先进行 回写已处理状态
|
|
|
|
|
|
|
|
|
|
//通过单号获取单据信息
|
|
|
|
|
QueryWrapper<ThrInvOrder> qw = new QueryWrapper<>();
|
|
|
|
|
qw.eq("billNo", orderIdFk);
|
|
|
|
|
ThrInvOrder thrInvOrder = thrInvOrderMapper.selectOne(qw);
|
|
|
|
|
BasicBussinessTypeEntity bussinessTypeEntity = bussinessTypeService.findByAction(thrInvOrder.getBillType());
|
|
|
|
|
|
|
|
|
|
//新单号
|
|
|
|
|
String newBillNo = gennerOrderUtils.createScOrderNo(new OrderNoTypeBean(Constant.SCAN_ORDER, "yyyyMMdd"));
|
|
|
|
|
IoOrderEntity ioOrderEntity = new IoOrderEntity();
|
|
|
|
|
ioOrderEntity.setBillNo(newBillNo);
|
|
|
|
|
ioOrderEntity.setMainAction(thrInvOrder.getMainAction());
|
|
|
|
|
ioOrderEntity.setFromCorp(thrInvOrder.getFromCorp());
|
|
|
|
|
ioOrderEntity.setInvCode(thrInvOrder.getInvCode());
|
|
|
|
|
ioOrderEntity.setDeptCode(thrInvOrder.getDeptCode());
|
|
|
|
|
ioOrderEntity.setAction(thrInvOrder.getBillType());
|
|
|
|
|
|
|
|
|
|
ioOrderEntity.setFromType(ConstantStatus.FROM_WEBNEW);//网页新增
|
|
|
|
|
ioOrderEntity.setStatus(ConstantStatus.ORDER_STATUS_TEMP_SAVE);//草稿
|
|
|
|
|
ioOrderEntity.setDealStatus(ConstantStatus.ORDER_DEAL_DRAFT);//草稿
|
|
|
|
|
ioOrderEntity.setCorpOrderId(UUID.randomUUID() + "");//单据号
|
|
|
|
|
ioOrderEntity.setThrOrderIdFk(thrInvOrder.getBillNo());//单据号
|
|
|
|
|
ioOrderEntity.setUpdateTime(new Date());
|
|
|
|
|
ioOrderEntity.setCreateTime(new Date());
|
|
|
|
|
ioOrderEntity.setCustomerId("110");
|
|
|
|
|
Long userId = customerService.getUserId();
|
|
|
|
|
ioOrderEntity.setCreateUser(userId + "");
|
|
|
|
|
ioOrderEntity.setUpdateUser(userId + "");
|
|
|
|
|
ioOrderEntity.setOrderType(ConstantStatus.ORDER_TYPE_SCAN);//正常单据处理
|
|
|
|
|
|
|
|
|
|
List<IoOrderDetailBizEntity> newOrderDetailBiz = new ArrayList<>(generatethrInvOrderDetails.size());
|
|
|
|
|
if (!copyOrderDetailBiz(generatethrInvOrderDetails, newOrderDetailBiz, newBillNo)) {
|
|
|
|
|
throw new JsonException("第三方普耗明细自动转化单据异常");
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
thrInvOrderDetailMapper.updateBatchById(generatethrInvOrderDetails);
|
|
|
|
|
ioOrderService.insertOrder(ioOrderEntity);
|
|
|
|
|
ioOrderDetailBizService.batchInsertBizs(newOrderDetailBiz);
|
|
|
|
|
|
|
|
|
|
//自动处理业务单据
|
|
|
|
|
ioAddInoutService.dealBusProcess(ioOrderEntity, bussinessTypeEntity);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
log.info("扫描处理第三方普耗明细生成单据定时任务结束");
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@Override
|
|
|
|
|
public void scanInvGhOrderGenerateGhOrder() {
|
|
|
|
|
log.info("扫描处理第三方高耗明细生成单据定时任务开始");
|
|
|
|
|
List<ThrInvOrderDetail> list = thrInvOrderDetailMapper.selectSourceTypeList(Constant.THR_INV_GH_ORDER_TYPE);
|
|
|
|
|
/**
|
|
|
|
|
* 1、根据 外检单号 进行 分组
|
|
|
|
|
* 2、遍历不同分组 在分组的列表再次进行匹配
|
|
|
|
|
* 3、匹配到的列表 不为空 进行 新增关联的单据 插入明细操作
|
|
|
|
|
* 4、需要 回写三方的明细表 标记已处理
|
|
|
|
|
*/
|
|
|
|
|
if (CollectionUtil.isEmpty(list)) return;
|
|
|
|
|
Map<String, List<ThrInvOrderDetail>> grouped = list.stream()
|
|
|
|
|
.collect(Collectors.groupingBy(ThrInvOrderDetail::getOrderIdFk));
|
|
|
|
|
for (Map.Entry<String, List<ThrInvOrderDetail>> entry : grouped.entrySet()) {
|
|
|
|
|
String orderIdFk = entry.getKey();
|
|
|
|
|
List<ThrInvOrderDetail> thrInvOrderDetails = entry.getValue();
|
|
|
|
|
List<ThrInvOrderDetail> generatethrInvOrderDetails = new ArrayList<>(entry.getValue().size());//需要生成的明细
|
|
|
|
|
|
|
|
|
|
thrInvOrderDetails.forEach(item -> {
|
|
|
|
|
Long relId = item.getRelId();
|
|
|
|
|
if (ObjectUtil.isNull(relId)) {
|
|
|
|
|
String nameCode = item.getNameCode();
|
|
|
|
|
List<BasicProductsEntity> productsEntities = udiRelevanceDao.getProductsEntitiesByNameCode(nameCode);
|
|
|
|
|
if (CollectionUtil.isNotEmpty(productsEntities)) {
|
|
|
|
|
BasicProductsEntity basicProductsEntity = productsEntities.get(0);
|
|
|
|
|
item.setRelId(basicProductsEntity.getId());
|
|
|
|
|
item.setHandleStatus(1);
|
|
|
|
|
generatethrInvOrderDetails.add(item);
|
|
|
|
|
} else {
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
if (generatethrInvOrderDetails.size() >0 ) {
|
|
|
|
|
thrInvOrderDetailMapper.updateBatchById(generatethrInvOrderDetails);//先进行 回写已处理状态
|
|
|
|
|
|
|
|
|
|
//通过单号获取单据信息
|
|
|
|
|
QueryWrapper<ThrInvOrder> qw = new QueryWrapper<>();
|
|
|
|
|
qw.eq("billNo", orderIdFk);
|
|
|
|
|
ThrInvOrder thrInvOrder = thrInvOrderMapper.selectOne(qw);
|
|
|
|
|
|
|
|
|
|
//新单号
|
|
|
|
|
String newBillNo = gennerOrderUtils.createScOrderNo(new OrderNoTypeBean(Constant.SCAN_ORDER, "yyyyMMdd"));
|
|
|
|
|
IoOrderEntity ioOrderEntity = new IoOrderEntity();
|
|
|
|
|
ioOrderEntity.setBillNo(newBillNo);
|
|
|
|
|
ioOrderEntity.setMainAction(thrInvOrder.getMainAction());
|
|
|
|
|
ioOrderEntity.setFromCorp(thrInvOrder.getFromCorp());
|
|
|
|
|
ioOrderEntity.setInvCode(thrInvOrder.getInvCode());
|
|
|
|
|
ioOrderEntity.setDeptCode(thrInvOrder.getDeptCode());
|
|
|
|
|
ioOrderEntity.setAction(thrInvOrder.getBillType());
|
|
|
|
|
|
|
|
|
|
ioOrderEntity.setFromType(ConstantStatus.FROM_WEBNEW);//网页新增
|
|
|
|
|
ioOrderEntity.setStatus(ConstantStatus.ORDER_STATUS_TEMP_SAVE);//草稿
|
|
|
|
|
ioOrderEntity.setDealStatus(ConstantStatus.ORDER_DEAL_DRAFT);//草稿
|
|
|
|
|
ioOrderEntity.setCorpOrderId(UUID.randomUUID() + "");//单据号
|
|
|
|
|
ioOrderEntity.setThrOrderIdFk(thrInvOrder.getBillNo());//单据号
|
|
|
|
|
ioOrderEntity.setUpdateTime(new Date());
|
|
|
|
|
ioOrderEntity.setCreateTime(new Date());
|
|
|
|
|
ioOrderEntity.setCustomerId("110");
|
|
|
|
|
Long userId = customerService.getUserId();
|
|
|
|
|
ioOrderEntity.setCreateUser(userId + "");
|
|
|
|
|
ioOrderEntity.setUpdateUser(userId + "");
|
|
|
|
|
ioOrderEntity.setOrderType(ConstantStatus.ORDER_TYPE_SCAN);//正常单据处理
|
|
|
|
|
|
|
|
|
|
List<IoCodeTempEntity> newIoCodeTemps = new ArrayList<>(thrInvOrderDetails.size());
|
|
|
|
|
GenerateOrderRequest generateOrderRequest = new GenerateOrderRequest();
|
|
|
|
|
generateOrderRequest.setAction(thrInvOrder.getBillType());
|
|
|
|
|
if (!copyIoCodeTemps(entry.getValue(), newIoCodeTemps, newBillNo, generateOrderRequest)) {
|
|
|
|
|
throw new JsonException("第三方高耗明细自动转化单据异常");
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
thrInvOrderDetailMapper.updateBatchById(generatethrInvOrderDetails);
|
|
|
|
|
ioOrderService.insertOrder(ioOrderEntity);
|
|
|
|
|
ioCodeTempDao.insertBatch(newIoCodeTemps);
|
|
|
|
|
for (IoCodeTempEntity codeTempEntity : newIoCodeTemps) {
|
|
|
|
|
addInoutService.genOrderDetailCode(ioOrderEntity, codeTempEntity);
|
|
|
|
|
}
|
|
|
|
|
ioAddInoutService.dealProcess(ioOrderEntity);
|
|
|
|
|
if (!ioCheckInoutService.checkManual(ioOrderEntity.getBillNo())) {
|
|
|
|
|
ioCheckInoutService.check(ioOrderEntity.getBillNo());
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
log.info("扫描处理第三方高耗明细生成单据定时任务结束");
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 校验relId字段有空返回false
|
|
|
|
|
*
|
|
|
|
|