|
|
|
@ -46,6 +46,7 @@ import com.glxp.api.service.inout.IoAddInoutService;
|
|
|
|
|
import com.glxp.api.service.inout.IoCheckInoutService;
|
|
|
|
|
import com.glxp.api.service.inout.IoOrderDetailBizService;
|
|
|
|
|
import com.glxp.api.service.inout.IoOrderService;
|
|
|
|
|
import com.glxp.api.service.inv.impl.InvProductService;
|
|
|
|
|
import com.glxp.api.service.system.SystemParamConfigService;
|
|
|
|
|
import com.glxp.api.service.thrsys.ThrInvOrderService;
|
|
|
|
|
import com.glxp.api.service.thrsys.ThrSystemBusApiService;
|
|
|
|
@ -61,6 +62,7 @@ import org.springframework.stereotype.Service;
|
|
|
|
|
import org.springframework.transaction.annotation.Transactional;
|
|
|
|
|
|
|
|
|
|
import javax.annotation.Resource;
|
|
|
|
|
import java.math.BigDecimal;
|
|
|
|
|
import java.text.ParseException;
|
|
|
|
|
import java.text.SimpleDateFormat;
|
|
|
|
|
import java.util.*;
|
|
|
|
@ -703,9 +705,10 @@ public class ThrInvOrderServiceImpl implements ThrInvOrderService {
|
|
|
|
|
|
|
|
|
|
//校验产品是否被供应商关联
|
|
|
|
|
CompanyProductRelevanceEntity udiRlSupEntity = udiRlSupService.selOneByRlId(relId);
|
|
|
|
|
if (udiRlSupEntity != null)
|
|
|
|
|
if (udiRlSupEntity != null) {
|
|
|
|
|
item.setPrice(udiRlSupEntity.getPrice());
|
|
|
|
|
item.setSupId(udiRlSupEntity.getCustomerId());
|
|
|
|
|
else
|
|
|
|
|
} else
|
|
|
|
|
exmsg.append(thrCode + "供应商未关联");
|
|
|
|
|
} else {
|
|
|
|
|
exmsg.append(thrCode + ",");
|
|
|
|
@ -870,7 +873,7 @@ public class ThrInvOrderServiceImpl implements ThrInvOrderService {
|
|
|
|
|
AtomicInteger fullGen = new AtomicInteger();
|
|
|
|
|
thrInvOrderDetails.forEach(item -> {
|
|
|
|
|
Long relId = item.getRelId();
|
|
|
|
|
if (ObjectUtil.isNull(relId)) {
|
|
|
|
|
if (ObjectUtil.isNull(relId)) {
|
|
|
|
|
String thrCode = item.getThrCode();
|
|
|
|
|
Integer count = Integer.valueOf(item.getReCount());
|
|
|
|
|
List<BasicSkProjectDetailEntity> skProjectDetailEntityList = basicDestinyRelService.filterDestinyRelListByPId(thrCode);
|
|
|
|
@ -995,7 +998,9 @@ public class ThrInvOrderServiceImpl implements ThrInvOrderService {
|
|
|
|
|
ioOrderEntity.setCorpOrderId(UUID.randomUUID() + "");//单据号
|
|
|
|
|
ioOrderEntity.setThrOrderIdFk(thrInvOrder.getBillNo());//单据号
|
|
|
|
|
ioOrderEntity.setUpdateTime(new Date());
|
|
|
|
|
ioOrderEntity.setCreateTime(new Date());
|
|
|
|
|
if (thrInvOrder.getStartDate() != null) {
|
|
|
|
|
ioOrderEntity.setCreateTime(new Date());
|
|
|
|
|
}
|
|
|
|
|
ioOrderEntity.setCustomerId("110");
|
|
|
|
|
Long userId = 1l;
|
|
|
|
|
// try {
|
|
|
|
@ -1009,7 +1014,7 @@ public class ThrInvOrderServiceImpl implements ThrInvOrderService {
|
|
|
|
|
List<IoOrderDetailBizEntity> newOrderDetailBiz = new ArrayList<>();
|
|
|
|
|
if (entry.getValue().size() > 0) {
|
|
|
|
|
if (!copyOrderDetailBiz(entry.getValue(), newOrderDetailBiz, newBillNo)) {
|
|
|
|
|
continue;
|
|
|
|
|
continue;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
String toBillNo = (thrInvOrder.getToBillNo() == null ? "" : thrInvOrder.getToBillNo()) + ("," + newBillNo);
|
|
|
|
@ -1110,11 +1115,14 @@ public class ThrInvOrderServiceImpl implements ThrInvOrderService {
|
|
|
|
|
item.setRelId(relId);
|
|
|
|
|
item.setHandleStatus(1);
|
|
|
|
|
item.setToBillNo(newBillNo);
|
|
|
|
|
|
|
|
|
|
updateThrInvOrderDetails.add(item);
|
|
|
|
|
//校验产品是否被供应商关联
|
|
|
|
|
CompanyProductRelevanceEntity udiRlSupEntity = udiRlSupService.selOneByRlId(relId);
|
|
|
|
|
if (udiRlSupEntity != null)
|
|
|
|
|
if (udiRlSupEntity != null) {
|
|
|
|
|
item.setSupId(udiRlSupEntity.getCustomerId());
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
} else {
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
@ -1337,6 +1345,7 @@ public class ThrInvOrderServiceImpl implements ThrInvOrderService {
|
|
|
|
|
IoOrderDetailBizEntity ioOrderDetailBizEntity = new IoOrderDetailBizEntity();
|
|
|
|
|
parameterPackag(basicProductsEntity, ioOrderDetailBizEntity, thrInvOrderDetail);
|
|
|
|
|
ioOrderDetailBizEntity.setOrderIdFk(newBillNo);
|
|
|
|
|
ioOrderDetailBizEntity.setBatchNo("/");
|
|
|
|
|
newOrderDetailBiz.add(ioOrderDetailBizEntity);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
@ -1451,6 +1460,10 @@ public class ThrInvOrderServiceImpl implements ThrInvOrderService {
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@Resource
|
|
|
|
|
InvProductService invProductService;
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 将三方的出入库明细列表 转换为 系统的出入库单据明细
|
|
|
|
|
*
|
|
|
|
@ -1487,15 +1500,31 @@ public class ThrInvOrderServiceImpl implements ThrInvOrderService {
|
|
|
|
|
thrInvOrderDetail.setRelId(relId);
|
|
|
|
|
thrInvOrderDetail.setThrCode(thrCode);
|
|
|
|
|
thrInvOrderDetail.setReCount(String.valueOf(count));
|
|
|
|
|
thrInvOrderDetails.add(thrInvOrderDetail);
|
|
|
|
|
if (ObjectUtil.isNull(relId)) {
|
|
|
|
|
exmsg.append(thrCode + ",");
|
|
|
|
|
}
|
|
|
|
|
//校验产品是否被供应商关联
|
|
|
|
|
CompanyProductRelevanceEntity udiRlSupEntity = udiRlSupService.selOneByRlId(relId);
|
|
|
|
|
if (udiRlSupEntity != null)
|
|
|
|
|
thrInvOrderDetail.setSupId(udiRlSupEntity.getCustomerId());
|
|
|
|
|
else
|
|
|
|
|
List<UdiRlSupEntity> udiRlSupEntitys = udiRlSupService.findByUdiRlId(relId);
|
|
|
|
|
if (CollUtil.isNotEmpty(udiRlSupEntitys)) {
|
|
|
|
|
for (UdiRlSupEntity udiRlSupEntity : udiRlSupEntitys) {
|
|
|
|
|
Integer count1 = invProductService.selectExitCount("1000000", Long.parseLong(udiRlSupEntity.getCustomerId()), Long.parseLong(udiRlSupEntity.getUdiRlIdFk()));
|
|
|
|
|
if (IntUtil.value(count1 > 0)) {
|
|
|
|
|
thrInvOrderDetail.setSupId(udiRlSupEntity.getCustomerId());
|
|
|
|
|
if (udiRlSupEntity.getPrice() == null)
|
|
|
|
|
thrInvOrderDetail.setPrice(BigDecimal.ZERO);
|
|
|
|
|
else
|
|
|
|
|
thrInvOrderDetail.setPrice(udiRlSupEntity.getPrice());
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
if (thrInvOrderDetail.getSupId() == null) {
|
|
|
|
|
thrInvOrderDetail.setSupId(udiRlSupEntitys.get(0).getCustomerId());
|
|
|
|
|
if (udiRlSupEntitys.get(0).getPrice() == null)
|
|
|
|
|
thrInvOrderDetail.setPrice(BigDecimal.ZERO);
|
|
|
|
|
else
|
|
|
|
|
thrInvOrderDetail.setPrice(udiRlSupEntitys.get(0).getPrice());
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
} else
|
|
|
|
|
exmsg.append(thrCode + "供应商未关联");
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@ -1518,7 +1547,6 @@ public class ThrInvOrderServiceImpl implements ThrInvOrderService {
|
|
|
|
|
|
|
|
|
|
} else {//走项目组套
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
thrInvOrder.setSkProject(1);
|
|
|
|
|
StringBuilder exmsg = new StringBuilder("");
|
|
|
|
|
list.forEach(item -> {
|
|
|
|
@ -1537,7 +1565,7 @@ public class ThrInvOrderServiceImpl implements ThrInvOrderService {
|
|
|
|
|
|
|
|
|
|
Integer finalCount = count;
|
|
|
|
|
if (IntUtil.value(cpMutiFilter) > 0 && IntUtil.value(finalCount) > 1) {
|
|
|
|
|
log.error(item.getCpmctymc() + "," + item.getThrCode() + "项目关联多个耗材对照,已杯过滤!");
|
|
|
|
|
log.error(item.getCpmctymc() + "," + item.getThrCode() + "项目关联多个耗材对照,已被过滤!");
|
|
|
|
|
} else {
|
|
|
|
|
skProjectDetailEntityList.forEach(sk -> {
|
|
|
|
|
|
|
|
|
@ -1546,6 +1574,10 @@ public class ThrInvOrderServiceImpl implements ThrInvOrderService {
|
|
|
|
|
thrInvOrderDetail.setOrderIdFk(billNo);
|
|
|
|
|
thrInvOrderDetail.setRelId(sk.getRelId());
|
|
|
|
|
thrInvOrderDetail.setSupId(sk.getSupId() + "");
|
|
|
|
|
UdiRlSupEntity udiRlSupEntity = udiRlSupService.findByUdiRlIdUnitFk(thrInvOrderDetail.getRelId() + "", thrInvOrderDetail.getSupId());
|
|
|
|
|
if (udiRlSupEntity != null && udiRlSupEntity.getPrice() != null) {
|
|
|
|
|
thrInvOrderDetail.setPrice(udiRlSupEntity.getPrice());
|
|
|
|
|
}
|
|
|
|
|
Integer skCount = sk.getCount();
|
|
|
|
|
if (skCount != null && skCount > 0) {
|
|
|
|
|
thrInvOrderDetail.setReCount(String.valueOf(skCount * finalCount));
|
|
|
|
|