|
|
@@ -11,6 +11,8 @@ import com.sckw.core.web.context.LoginUserHolder;
|
|
|
import com.sckw.core.web.response.HttpResult;
|
|
|
import com.sckw.mongo.enums.BusinessTypeEnum;
|
|
|
import com.sckw.mongo.model.SckwLogisticsOrder;
|
|
|
+import com.sckw.product.api.dubbo.GoodsInfoService;
|
|
|
+import com.sckw.product.api.model.KwpGoods;
|
|
|
import com.sckw.stream.model.SckwBusSum;
|
|
|
import com.sckw.system.api.RemoteSystemService;
|
|
|
import com.sckw.transport.common.enums.LogisticsOrderEnum;
|
|
|
@@ -44,6 +46,9 @@ public class LogisticsConsignmentService {
|
|
|
@DubboReference(version = "2.0.0", group = "design", check = false)
|
|
|
RemoteSystemService remoteSystemService;
|
|
|
|
|
|
+ @DubboReference(version = "2.0.0", group = "design", check = false)
|
|
|
+ GoodsInfoService goodsInfoService;
|
|
|
+
|
|
|
@Autowired
|
|
|
public KwoTradeOrderMapper kwoTradeOrderMapper;
|
|
|
|
|
|
@@ -98,32 +103,31 @@ public class LogisticsConsignmentService {
|
|
|
order.setAmount(new BigDecimal(NumberConstant.ZERO));
|
|
|
order.setSubcontractAmount(new BigDecimal(NumberConstant.ZERO));
|
|
|
}
|
|
|
- String waybillNo = "waybillNo";
|
|
|
+ String lOrderNo = com.sckw.transport.utils.StringUtils.getLOrderNo();
|
|
|
Long orderId = new IdWorker(NumberConstant.ONE).nextId();
|
|
|
- insertLogisticsGoods(bo, waybillNo, orderId);
|
|
|
- insertLogisticsOrder(bo, waybillNo, order, tradeOrder, orderId);
|
|
|
+ insertLogisticsGoods(bo, lOrderNo, orderId);
|
|
|
+ insertLogisticsOrder(bo, lOrderNo, order, tradeOrder, orderId);
|
|
|
insertLogisticsOrderContract(bo, orderId);
|
|
|
- insertLogisticsOrderUnit(bo, waybillNo, orderId);
|
|
|
- insertLogisticsOrderAddress(bo, waybillNo, orderId);
|
|
|
- insertLogisticsOrderTrack(bo, waybillNo, orderId);
|
|
|
- sendMongoDB(waybillNo, orderId, bo, tradeOrder);
|
|
|
-
|
|
|
+ insertLogisticsOrderUnit(bo, orderId);
|
|
|
+ insertLogisticsOrderAddress(bo, orderId);
|
|
|
+ insertLogisticsOrderTrack(bo, orderId);
|
|
|
+ sendMongoDB(lOrderNo, orderId, bo, tradeOrder);
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
* 组装数据发送至mongoDb
|
|
|
*
|
|
|
- * @param waybillNo
|
|
|
+ * @param lOrderNo
|
|
|
* @param orderId
|
|
|
* @param bo
|
|
|
*/
|
|
|
- private void sendMongoDB(String waybillNo, Long orderId, LogisticsConsignmentParam bo, KwoTradeOrder tradeOrder) {
|
|
|
+ private void sendMongoDB(String lOrderNo, Long orderId, LogisticsConsignmentParam bo, KwoTradeOrder tradeOrder) {
|
|
|
SckwLogisticsOrder logisticsOrder = new SckwLogisticsOrder();
|
|
|
logisticsOrder.setLOrderId(orderId);
|
|
|
- logisticsOrder.setLOrderNo(waybillNo);
|
|
|
+ logisticsOrder.setLOrderNo(lOrderNo);
|
|
|
logisticsOrder.setLOrderPid(null);
|
|
|
logisticsOrder.setTOrderId(tradeOrder.getId());
|
|
|
- logisticsOrder.setTOrderNo("D" + waybillNo);
|
|
|
+ logisticsOrder.setTOrderNo("D" + com.sckw.transport.utils.StringUtils.getWaybillNoUtil());
|
|
|
logisticsOrder.setSettlementCycle(bo.getSettlementCycle());
|
|
|
logisticsOrder.setPrice(new BigDecimal(bo.getPrice()));
|
|
|
logisticsOrder.setPriceType(remoteSystemService.queryDictByTypeAndValue(DictEnum.PRICE_TYPE_0.getType(), bo.getPriceType()) == null ?
|
|
|
@@ -148,21 +152,23 @@ public class LogisticsConsignmentService {
|
|
|
// logisticsOrder.setUnloadTime();
|
|
|
// logisticsOrder.setLoadTime();
|
|
|
// logisticsOrder.setWOrderNo();
|
|
|
- logisticsOrder.setSubcontractAmount(new BigDecimal(NumberConstant.ZERO));
|
|
|
- logisticsOrder.setEntrustAmount(new BigDecimal(NumberConstant.ZERO));
|
|
|
- logisticsOrder.setUnloadAmount(new BigDecimal(NumberConstant.ZERO));
|
|
|
- logisticsOrder.setLoadAmount(new BigDecimal(NumberConstant.ZERO));
|
|
|
- logisticsOrder.setIgnoreAmount(new BigDecimal(NumberConstant.ZERO));
|
|
|
- logisticsOrder.setDeficitPrice(new BigDecimal(NumberConstant.ZERO));
|
|
|
+ BigDecimal decimal = new BigDecimal(NumberConstant.ZERO);
|
|
|
+ logisticsOrder.setSubcontractAmount(decimal);
|
|
|
+ logisticsOrder.setEntrustAmount(decimal);
|
|
|
+ logisticsOrder.setUnloadAmount(decimal);
|
|
|
+ logisticsOrder.setLoadAmount(decimal);
|
|
|
+ logisticsOrder.setIgnoreAmount(decimal);
|
|
|
+ logisticsOrder.setDeficitPrice(decimal);
|
|
|
logisticsOrder.setPayment(Long.parseLong(bo.getPayment()));
|
|
|
logisticsOrder.setTaxRate(bo.getTaxRate() == null ? null : new BigDecimal(bo.getTaxRate()));
|
|
|
logisticsOrder.setRemark(bo.getRemark());
|
|
|
logisticsOrder.setEntId(LoginUserHolder.getEntId());
|
|
|
logisticsOrder.setFirmName(remoteSystemService.queryEntCacheById(LoginUserHolder.getEntId()).getFirmName());
|
|
|
logisticsOrder.setGoodsId(Integer.parseInt(bo.getGoodsId()));
|
|
|
- //todo dubbo调用订单服务
|
|
|
-// logisticsOrder.setGoodsType();
|
|
|
-// logisticsOrder.setGoodsSpec();
|
|
|
+ //todo dubbo调用商品服务
|
|
|
+ KwpGoods goods = goodsInfoService.getGoodsById(Long.parseLong(bo.getGoodsId()));
|
|
|
+ logisticsOrder.setGoodsType(goods == null ? null : goods.getGoodsType());
|
|
|
+ logisticsOrder.setGoodsSpec(goods == null ? null : goods.getSpec());
|
|
|
logisticsOrder.setContractId(Integer.parseInt(bo.getContractId()));
|
|
|
logisticsOrder.setContractNo(bo.getContractNo());
|
|
|
logisticsOrder.setContractName(bo.getContractName());
|
|
|
@@ -212,11 +218,10 @@ public class LogisticsConsignmentService {
|
|
|
|
|
|
/**
|
|
|
* 物流订单-企业信息
|
|
|
- *
|
|
|
* @param bo
|
|
|
- * @param waybillNo
|
|
|
+ * @param orderId
|
|
|
*/
|
|
|
- private void insertLogisticsOrderUnit(LogisticsConsignmentParam bo, String waybillNo, Long orderId) {
|
|
|
+ private void insertLogisticsOrderUnit(LogisticsConsignmentParam bo, Long orderId) {
|
|
|
KwtLogisticsOrderUnit checkUnit = new KwtLogisticsOrderUnit()
|
|
|
.setLOrderId(orderId)
|
|
|
.setId(new IdWorker(NumberConstant.ONE).nextId())
|
|
|
@@ -250,11 +255,10 @@ public class LogisticsConsignmentService {
|
|
|
|
|
|
/**
|
|
|
* 物流订单-状态
|
|
|
- *
|
|
|
* @param bo
|
|
|
- * @param waybillNo
|
|
|
+ * @param orderId
|
|
|
*/
|
|
|
- private void insertLogisticsOrderTrack(LogisticsConsignmentParam bo, String waybillNo, Long orderId) {
|
|
|
+ private void insertLogisticsOrderTrack(LogisticsConsignmentParam bo,Long orderId) {
|
|
|
KwtLogisticsOrderTrack entity = new KwtLogisticsOrderTrack();
|
|
|
entity.setId(new IdWorker(NumberConstant.ONE).nextId());
|
|
|
entity.setLOrderId(orderId);
|
|
|
@@ -271,16 +275,16 @@ public class LogisticsConsignmentService {
|
|
|
* 物流订单-商品信息
|
|
|
*
|
|
|
* @param bo
|
|
|
- * @param waybillNo
|
|
|
+ * @param lOrderNo
|
|
|
*/
|
|
|
- private void insertLogisticsGoods(LogisticsConsignmentParam bo, String waybillNo, Long orderId) {
|
|
|
+ private void insertLogisticsGoods(LogisticsConsignmentParam bo, String lOrderNo, Long orderId) {
|
|
|
KwtLogisticsOrderGoods kwtLogisticsOrderGoods = new KwtLogisticsOrderGoods();
|
|
|
kwtLogisticsOrderGoods.setId(new IdWorker(NumberConstant.ONE).nextId());
|
|
|
kwtLogisticsOrderGoods.setGoodsId(Long.parseLong(bo.getGoodsId()));
|
|
|
kwtLogisticsOrderGoods.setGoodsName(bo.getGoodsName());
|
|
|
kwtLogisticsOrderGoods.setSkuId(StringUtils.isBlank(bo.getSkuId()) ? null : Long.parseLong(bo.getSkuId()));
|
|
|
kwtLogisticsOrderGoods.setLOrderId(orderId);
|
|
|
- kwtLogisticsOrderGoods.setLOrderNo(waybillNo);
|
|
|
+ kwtLogisticsOrderGoods.setLOrderNo(lOrderNo);
|
|
|
kwtLogisticsOrderGoods.setUpdateBy(LoginUserHolder.getUserId());
|
|
|
kwtLogisticsOrderGoods.setUpdateTime(new Date());
|
|
|
kwtLogisticsOrderGoods.setCreateBy(LoginUserHolder.getUserId());
|
|
|
@@ -292,16 +296,16 @@ public class LogisticsConsignmentService {
|
|
|
* 物流订单-主体
|
|
|
*
|
|
|
* @param bo
|
|
|
- * @param waybillNo
|
|
|
+ * @param lOrderNo
|
|
|
* @param order
|
|
|
* @param tradeOrder
|
|
|
*/
|
|
|
- private void insertLogisticsOrder(LogisticsConsignmentParam bo, String waybillNo, KwtLogisticsOrder order, KwoTradeOrder tradeOrder, Long orderId) {
|
|
|
+ private void insertLogisticsOrder(LogisticsConsignmentParam bo, String lOrderNo, KwtLogisticsOrder order, KwoTradeOrder tradeOrder, Long orderId) {
|
|
|
order.setId(orderId);
|
|
|
order.setEntId(LoginUserHolder.getEntId());
|
|
|
order.setTOrderId(Long.parseLong(bo.getLOrderId()));
|
|
|
order.setTOrderNo(bo.getLOrderNo());
|
|
|
- order.setLOrderNo(waybillNo);
|
|
|
+ order.setLOrderNo(lOrderNo);
|
|
|
order.setPid(null);
|
|
|
order.setSettlementCycle(bo.getSettlementCycle());
|
|
|
order.setPrice(new BigDecimal(bo.getPrice()));
|
|
|
@@ -352,11 +356,10 @@ public class LogisticsConsignmentService {
|
|
|
|
|
|
/**
|
|
|
* 物流订单-装卸货地址
|
|
|
- *
|
|
|
* @param bo
|
|
|
- * @param waybillNo
|
|
|
+ * @param orderId
|
|
|
*/
|
|
|
- private void insertLogisticsOrderAddress(LogisticsConsignmentParam bo, String waybillNo, Long orderId) {
|
|
|
+ private void insertLogisticsOrderAddress(LogisticsConsignmentParam bo, Long orderId) {
|
|
|
KwtLogisticsOrderAddress loadOrderAddress = new KwtLogisticsOrderAddress();
|
|
|
KwtLogisticsOrderAddress unloadOrderAddress = new KwtLogisticsOrderAddress();
|
|
|
//todo 装卸货地址 通过dubbo查询
|