diff --git a/blade-biz-common/src/main/java/org/springblade/common/constant/RabbitConstant.java b/blade-biz-common/src/main/java/org/springblade/common/constant/RabbitConstant.java index 9cc654405..ecb45b6f5 100644 --- a/blade-biz-common/src/main/java/org/springblade/common/constant/RabbitConstant.java +++ b/blade-biz-common/src/main/java/org/springblade/common/constant/RabbitConstant.java @@ -56,6 +56,10 @@ public interface RabbitConstant { String OUPAI_RECEIVING_EXCHANGE = "oupai_receiving_exchange"; String OUPAI_RECEIVING_ROUTING = "oupai_receiving_routing"; + String OUPAI_SIGN_QUEUE = "oupai_sign_queue"; + String OUPAI_SIGN_EXCHANGE = "oupai_sign_exchange"; + String OUPAI_SIGN_ROUTING = "oupai_sign_routing"; + //----------------------distribution--------------------- //备货消费失败队列 String DISTRIBUTION_ERROR_QUEUE = "distribution_error_queue"; diff --git a/blade-service-api/logpm-factory-api/src/main/java/com/logpm/factory/oupai/entity/FactoryOrderEntity.java b/blade-service-api/logpm-factory-api/src/main/java/com/logpm/factory/oupai/entity/FactoryOrderEntity.java index ab41659d9..c6792de06 100644 --- a/blade-service-api/logpm-factory-api/src/main/java/com/logpm/factory/oupai/entity/FactoryOrderEntity.java +++ b/blade-service-api/logpm-factory-api/src/main/java/com/logpm/factory/oupai/entity/FactoryOrderEntity.java @@ -249,4 +249,17 @@ public class FactoryOrderEntity extends BaseEntity { */ @ApiModelProperty(name = "转发状态 1转送 0未转送", notes = "") private Integer turnStatus; + + /** + * 商场编码 + */ + @ApiModelProperty(name = "商场编码", notes = "") + private String shopCode; + + /** + * 商场名称 + */ + @ApiModelProperty(name = "商场名称", notes = "") + private String shopName; + } diff --git a/blade-service-api/logpm-factory-api/src/main/java/com/logpm/factory/oupai/entity/OpOutGoingOrderEntity.java b/blade-service-api/logpm-factory-api/src/main/java/com/logpm/factory/oupai/entity/OpOutGoingOrderEntity.java new file mode 100644 index 000000000..796f6a55f --- /dev/null +++ b/blade-service-api/logpm-factory-api/src/main/java/com/logpm/factory/oupai/entity/OpOutGoingOrderEntity.java @@ -0,0 +1,73 @@ +package com.logpm.factory.oupai.entity; + +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; +import org.springblade.core.mp.base.BaseEntity; + +import java.util.Date; + +@Data +@TableName("op_out_going_order") +@ApiModel(value = "OpOutGoingOrder对象", description = "欧派工厂配送单") +@EqualsAndHashCode(callSuper = true) +public class OpOutGoingOrderEntity extends BaseEntity { + + /** 预留1 */ + @ApiModelProperty(name = "预留1",notes = "") + private String reserve1 ; + /** 预留2 */ + @ApiModelProperty(name = "预留2",notes = "") + private String reserve2 ; + /** 预留3 */ + @ApiModelProperty(name = "预留3",notes = "") + private String reserve3 ; + /** 预留4 */ + @ApiModelProperty(name = "预留4",notes = "") + private String reserve4 ; + /** 预留5 */ + @ApiModelProperty(name = "预留5",notes = "") + private String reserve5 ; + + /** 配送单编码 */ + @ApiModelProperty(name = "配送单编码",notes = "") + private String code ; + /** 配送单状态 */ + @ApiModelProperty(name = "配送单状态",notes = "") + private Integer outGoingOrderStatus ; + /** 配送仓库编码 */ + @ApiModelProperty(name = "配送仓库编码",notes = "") + private String warehouseCode ; + /** 配送仓库名称 */ + @ApiModelProperty(name = "配送仓库名称",notes = "") + private String warehouseName ; + /** 配送仓库地址 */ + @ApiModelProperty(name = "配送仓库地址",notes = "") + private String warehouseAddress ; + /** 配送车牌号 */ + @ApiModelProperty(name = "配送车牌号",notes = "") + private String truckPlate ; + /** 配送日期 */ + @ApiModelProperty(name = "配送日期",notes = "") + private Date deliveryDate ; + /** 创建者 */ + @ApiModelProperty(name = "创建者",notes = "") + private String creator ; + /** 创建时间 */ + @ApiModelProperty(name = "创建时间",notes = "") + private Date createTime ; + @ApiModelProperty(name = "门店编码",notes = "") + private String storeCode; + @ApiModelProperty(name = "门店名称",notes = "") + private String storeName; + @ApiModelProperty(name = "商场编码",notes = "") + private String shopCode; + @ApiModelProperty(name = "商场名称",notes = "") + private String shopName; + /** 发货时间 */ + @ApiModelProperty(name = "发货时间",notes = "") + private Date sendTime ; + +} diff --git a/blade-service-api/logpm-factory-api/src/main/java/com/logpm/factory/oupai/entity/OpSignBillEntity.java b/blade-service-api/logpm-factory-api/src/main/java/com/logpm/factory/oupai/entity/OpSignBillEntity.java new file mode 100644 index 000000000..cea482740 --- /dev/null +++ b/blade-service-api/logpm-factory-api/src/main/java/com/logpm/factory/oupai/entity/OpSignBillEntity.java @@ -0,0 +1,89 @@ +package com.logpm.factory.oupai.entity; + +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; +import org.springblade.core.mp.base.BaseEntity; + +import java.math.BigDecimal; +import java.util.Date; + +@Data +@TableName("op_sign_bill") +@ApiModel(value = "OpSignBill对象", description = "欧派工厂签收单") +@EqualsAndHashCode(callSuper = true) +public class OpSignBillEntity extends BaseEntity { + + /** 预留1 */ + @ApiModelProperty(name = "预留1",notes = "") + private String reserve1 ; + /** 预留2 */ + @ApiModelProperty(name = "预留2",notes = "") + private String reserve2 ; + /** 预留3 */ + @ApiModelProperty(name = "预留3",notes = "") + private String reserve3 ; + /** 预留4 */ + @ApiModelProperty(name = "预留4",notes = "") + private String reserve4 ; + /** 预留5 */ + @ApiModelProperty(name = "预留5",notes = "") + private String reserve5 ; + + @ApiModelProperty(name = "配送单id",notes = "") + private Long outGoingOrderId ; + @ApiModelProperty(name = "签收单号",notes = "") + private String code ; + /** + * 新建:0 + * + * 已签收:1 + * + * 部分签收:2 + */ + @ApiModelProperty(name = "状态",notes = "") + private Integer signBillStatus ; + @ApiModelProperty(name = "签收人",notes = "") + private String signPerson ; + @ApiModelProperty(name = "签收人电话",notes = "") + private String signPhone ; + @ApiModelProperty(name = "签收人地址",notes = "") + private String signAddress ; + @ApiModelProperty(name = "签收时间",notes = "") + private Date signTime ; + @ApiModelProperty(name = "签收说明",notes = "") + private String remark; + @ApiModelProperty(name = "配送单号",notes = "") + private String outGoingOrderCode; + @ApiModelProperty(name = "再投原因",notes = "") + private String againsendReason; + @ApiModelProperty(name = "再投描述",notes = "") + private String description; + @ApiModelProperty(name = "是否再投",notes = "") + private Integer isAgainsend;//0否1是 + @ApiModelProperty(name = "创建者",notes = "") + private String creator; + @ApiModelProperty(name = "创建时间",notes = "") + private Date createTime ; + @ApiModelProperty(name = "顾客评分",notes = "") + private BigDecimal customerRate ; + @ApiModelProperty(name = "顾客反馈",notes = "") + private String customerFeedback; + @ApiModelProperty(name = "门店编码",notes = "") + private String storeCode; + @ApiModelProperty(name = "门店名称",notes = "") + private String storeName; + @ApiModelProperty(name = "商场编码",notes = "") + private String shopCode; + @ApiModelProperty(name = "商场名称",notes = "") + private String shopName; + @ApiModelProperty(name = "司机电话",notes = "") + private String driverPhone; + @ApiModelProperty(name = "司机名称",notes = "") + private String driverName; + @ApiModelProperty(name = "配送日期",notes = "") + private Date deliveryTime; + +} diff --git a/blade-service-api/logpm-factory-api/src/main/java/com/logpm/factory/oupai/entity/OpSignPackageEntity.java b/blade-service-api/logpm-factory-api/src/main/java/com/logpm/factory/oupai/entity/OpSignPackageEntity.java new file mode 100644 index 000000000..88a4e20da --- /dev/null +++ b/blade-service-api/logpm-factory-api/src/main/java/com/logpm/factory/oupai/entity/OpSignPackageEntity.java @@ -0,0 +1,44 @@ +package com.logpm.factory.oupai.entity; + +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; +import org.springblade.core.mp.base.BaseEntity; + +@Data +@TableName("op_sign_package") +@ApiModel(value = "OpSignPackage对象", description = "欧派工厂签收包件") +@EqualsAndHashCode(callSuper = true) +public class OpSignPackageEntity extends BaseEntity { + + /** 预留1 */ + @ApiModelProperty(name = "预留1",notes = "") + private String reserve1 ; + /** 预留2 */ + @ApiModelProperty(name = "预留2",notes = "") + private String reserve2 ; + /** 预留3 */ + @ApiModelProperty(name = "预留3",notes = "") + private String reserve3 ; + /** 预留4 */ + @ApiModelProperty(name = "预留4",notes = "") + private String reserve4 ; + /** 预留5 */ + @ApiModelProperty(name = "预留5",notes = "") + private String reserve5 ; + + + private Long signBillId; + /** 包件码 */ + @ApiModelProperty(name = "包件码",notes = "") + private String orderPackageCode ; + /** 签收状态 */ + @ApiModelProperty(name = "签收状态",notes = "") + private Integer packageStatus ; + /** 是否是库存品 */ + @ApiModelProperty(name = "是否是库存品",notes = "") + private Integer isInventory ;//0否 1是 + +} diff --git a/blade-service/logpm-factory/src/main/java/com/logpm/factory/config/RabbitMqConfiguration.java b/blade-service/logpm-factory/src/main/java/com/logpm/factory/config/RabbitMqConfiguration.java index aed756fd9..941315bd0 100644 --- a/blade-service/logpm-factory/src/main/java/com/logpm/factory/config/RabbitMqConfiguration.java +++ b/blade-service/logpm-factory/src/main/java/com/logpm/factory/config/RabbitMqConfiguration.java @@ -230,6 +230,24 @@ public class RabbitMqConfiguration { } + @Bean + public Queue oupaiSignQueue() { + return new Queue(RabbitConstant.OUPAI_SIGN_QUEUE, true); + } + + @Bean + public CustomExchange oupaiSignExchange() { + Map args = Maps.newHashMap(); + args.put("x-delayed-type", "direct"); + return new CustomExchange(RabbitConstant.OUPAI_SIGN_EXCHANGE, "x-delayed-message", true, false, args); + } + + @Bean + public Binding oupaiSignBinding(Queue oupaiSignQueue, CustomExchange oupaiSignExchange) { + return BindingBuilder.bind(oupaiSignQueue).to(oupaiSignExchange).with(RabbitConstant.OUPAI_SIGN_ROUTING).noargs(); + } + + } diff --git a/blade-service/logpm-factory/src/main/java/com/logpm/factory/oupai/mapper/OpOutGoingOrderMapper.java b/blade-service/logpm-factory/src/main/java/com/logpm/factory/oupai/mapper/OpOutGoingOrderMapper.java new file mode 100644 index 000000000..04c8efc79 --- /dev/null +++ b/blade-service/logpm-factory/src/main/java/com/logpm/factory/oupai/mapper/OpOutGoingOrderMapper.java @@ -0,0 +1,12 @@ +package com.logpm.factory.oupai.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.logpm.factory.oupai.entity.OpOutGoingOrderEntity; +import org.apache.ibatis.annotations.Mapper; + +@Mapper +public interface OpOutGoingOrderMapper extends BaseMapper { + + + +} diff --git a/blade-service/logpm-factory/src/main/java/com/logpm/factory/oupai/mapper/OpOutGoingOrderMapper.xml b/blade-service/logpm-factory/src/main/java/com/logpm/factory/oupai/mapper/OpOutGoingOrderMapper.xml new file mode 100644 index 000000000..b7fe4cb9e --- /dev/null +++ b/blade-service/logpm-factory/src/main/java/com/logpm/factory/oupai/mapper/OpOutGoingOrderMapper.xml @@ -0,0 +1,5 @@ + + + + + diff --git a/blade-service/logpm-factory/src/main/java/com/logpm/factory/oupai/mapper/OpSignBillMapper.java b/blade-service/logpm-factory/src/main/java/com/logpm/factory/oupai/mapper/OpSignBillMapper.java new file mode 100644 index 000000000..29f06fe9c --- /dev/null +++ b/blade-service/logpm-factory/src/main/java/com/logpm/factory/oupai/mapper/OpSignBillMapper.java @@ -0,0 +1,9 @@ +package com.logpm.factory.oupai.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.logpm.factory.oupai.entity.OpSignBillEntity; +import org.apache.ibatis.annotations.Mapper; + +@Mapper +public interface OpSignBillMapper extends BaseMapper { +} diff --git a/blade-service/logpm-factory/src/main/java/com/logpm/factory/oupai/mapper/OpSignBillMapper.xml b/blade-service/logpm-factory/src/main/java/com/logpm/factory/oupai/mapper/OpSignBillMapper.xml new file mode 100644 index 000000000..04e281fd1 --- /dev/null +++ b/blade-service/logpm-factory/src/main/java/com/logpm/factory/oupai/mapper/OpSignBillMapper.xml @@ -0,0 +1,5 @@ + + + + + diff --git a/blade-service/logpm-factory/src/main/java/com/logpm/factory/oupai/mapper/OpSignPackageMapper.java b/blade-service/logpm-factory/src/main/java/com/logpm/factory/oupai/mapper/OpSignPackageMapper.java new file mode 100644 index 000000000..2c03cc983 --- /dev/null +++ b/blade-service/logpm-factory/src/main/java/com/logpm/factory/oupai/mapper/OpSignPackageMapper.java @@ -0,0 +1,9 @@ +package com.logpm.factory.oupai.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.logpm.factory.oupai.entity.OpSignPackageEntity; +import org.apache.ibatis.annotations.Mapper; + +@Mapper +public interface OpSignPackageMapper extends BaseMapper { +} diff --git a/blade-service/logpm-factory/src/main/java/com/logpm/factory/oupai/mapper/OpSignPackageMapper.xml b/blade-service/logpm-factory/src/main/java/com/logpm/factory/oupai/mapper/OpSignPackageMapper.xml new file mode 100644 index 000000000..1b6760639 --- /dev/null +++ b/blade-service/logpm-factory/src/main/java/com/logpm/factory/oupai/mapper/OpSignPackageMapper.xml @@ -0,0 +1,5 @@ + + + + + diff --git a/blade-service/logpm-factory/src/main/java/com/logpm/factory/oupai/receiver/OpSignDataHandler.java b/blade-service/logpm-factory/src/main/java/com/logpm/factory/oupai/receiver/OpSignDataHandler.java new file mode 100644 index 000000000..b36cc81df --- /dev/null +++ b/blade-service/logpm-factory/src/main/java/com/logpm/factory/oupai/receiver/OpSignDataHandler.java @@ -0,0 +1,274 @@ +package com.logpm.factory.oupai.receiver; + +import com.alibaba.fastjson.JSONArray; +import com.alibaba.fastjson.JSONObject; +import com.logpm.factory.oupai.entity.OpOrderStatusLogEntity; +import com.logpm.factory.oupai.entity.OpOutGoingOrderEntity; +import com.logpm.factory.oupai.entity.OpSignBillEntity; +import com.logpm.factory.oupai.entity.OpSignPackageEntity; +import com.logpm.factory.oupai.service.IOpOutGoingOrderService; +import com.logpm.factory.oupai.service.IOpSignBillService; +import com.logpm.factory.oupai.service.IOpSignPackageService; +import com.rabbitmq.client.Channel; +import lombok.extern.slf4j.Slf4j; +import org.springblade.common.constant.RabbitConstant; +import org.springblade.common.utils.CommonUtil; +import org.springframework.amqp.core.Message; +import org.springframework.amqp.rabbit.annotation.RabbitHandler; +import org.springframework.amqp.rabbit.annotation.RabbitListener; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Component; + +import java.io.IOException; +import java.util.Map; +import java.util.Objects; + + +/** + * 获取订单数据 处理器 + * + * @author yangkai.shen + */ +@Slf4j +@RabbitListener(queues = RabbitConstant.OUPAI_SIGN_QUEUE) +@Component +public class OpSignDataHandler { + + @Autowired + private IOpOutGoingOrderService opOutGoingOrderService; + @Autowired + private IOpSignBillService opSignBillService; + @Autowired + private IOpSignPackageService opSignPackageService; + + + @RabbitHandler + public void opSignDataHandler(Map map, Message message, Channel channel) throws IOException { + // 如果手动ACK,消息会被监听消费,但是消息在队列中依旧存在,如果 未配置 acknowledge-mode 默认是会在消费完毕后自动ACK掉 + log.info("##################opSignDataHandler: 处理欧派收货数据到新系统"); + OpOrderStatusLogEntity opOrderStatusLogEntity = (OpOrderStatusLogEntity) map.get("messageData"); + String args = opOrderStatusLogEntity.getArgs(); + JSONObject jsonObject = JSONObject.parseObject(args); + JSONArray jsonArray = jsonObject.getJSONArray("value"); + for (int i = 0; i < jsonArray.size(); i++) { + JSONObject valueObject = jsonArray.getJSONObject(i); + JSONObject outGoingOrder = valueObject.getJSONObject("OutGoingOrder"); + String outGoingOrderCode = outGoingOrder.getString("Code"); + JSONObject store = valueObject.getJSONObject("Store"); + JSONArray packages = valueObject.getJSONArray("Packages"); + String status = outGoingOrder.getString("Status"); + //先查询是否已经有数据存在系统中 + OpOutGoingOrderEntity opOutGoingOrderEntity = opOutGoingOrderService.getEntityByCode(outGoingOrderCode); + Long outGoingOrderId = null; + if(Objects.isNull(opOutGoingOrderEntity)){ + //如果是空则新增 + opOutGoingOrderEntity = new OpOutGoingOrderEntity(); + opOutGoingOrderEntity.setCode(outGoingOrderCode); + if("新建".equals(status)){ + opOutGoingOrderEntity.setOutGoingOrderStatus(0); + }else if("已调度".equals(status)){ + opOutGoingOrderEntity.setOutGoingOrderStatus(1); + }else if("已发运".equals(status)){ + opOutGoingOrderEntity.setOutGoingOrderStatus(2); + }else if("已签收".equals(status)){ + opOutGoingOrderEntity.setOutGoingOrderStatus(3); + }else if("部分签收".equals(status)){ + opOutGoingOrderEntity.setOutGoingOrderStatus(4); + }else if("待处理".equals(status)){ + opOutGoingOrderEntity.setOutGoingOrderStatus(5); + } + JSONObject warehouse = outGoingOrder.getJSONObject("Warehouse"); + if(!Objects.isNull(warehouse)){ + opOutGoingOrderEntity.setWarehouseCode(warehouse.getString("Code")); + opOutGoingOrderEntity.setWarehouseName(warehouse.getString("Name")); + opOutGoingOrderEntity.setWarehouseAddress(warehouse.getString("Address")); + } + JSONObject truck = outGoingOrder.getJSONObject("Truck"); + if(!Objects.isNull(truck)){ + opOutGoingOrderEntity.setTruckPlate(truck.getString("Plate")); + } + opOutGoingOrderEntity.setDeliveryDate(CommonUtil.StringToDate(outGoingOrder.getString("DeliveryDate"))); + opOutGoingOrderEntity.setCreator(outGoingOrder.getString("Creator")); + opOutGoingOrderEntity.setCreateTime(CommonUtil.StringToDate(outGoingOrder.getString("CreateTime"))); + + if (!Objects.isNull(store)) { + JSONObject shop = store.getJSONObject("Shop"); + if(!Objects.isNull(shop)){ + opOutGoingOrderEntity.setShopCode(shop.getString("Code")); + opOutGoingOrderEntity.setShopName(shop.getString("Name")); + } + opOutGoingOrderEntity.setStoreCode(store.getString("Code")); + opOutGoingOrderEntity.setStoreName(store.getString("Name")); + } + opOutGoingOrderEntity.setSendTime(CommonUtil.StringToDate(outGoingOrder.getString("SendTime"))); + opOutGoingOrderService.save(opOutGoingOrderEntity); + outGoingOrderId = opOutGoingOrderEntity.getId(); + }else{ + if("新建".equals(status)){ + opOutGoingOrderEntity.setOutGoingOrderStatus(0); + }else if("已调度".equals(status)){ + opOutGoingOrderEntity.setOutGoingOrderStatus(1); + }else if("已发运".equals(status)){ + opOutGoingOrderEntity.setOutGoingOrderStatus(2); + }else if("已签收".equals(status)){ + opOutGoingOrderEntity.setOutGoingOrderStatus(3); + }else if("部分签收".equals(status)){ + opOutGoingOrderEntity.setOutGoingOrderStatus(4); + }else if("待处理".equals(status)){ + opOutGoingOrderEntity.setOutGoingOrderStatus(5); + } + opOutGoingOrderService.updateById(opOutGoingOrderEntity); + outGoingOrderId = opOutGoingOrderEntity.getId(); + } + + //处理签收单数据 + Long signBillId = null; + String recevierCode = valueObject.getString("Code"); + String SignBillStatus = valueObject.getString("Status"); + OpSignBillEntity signBillEntity = opSignBillService.findEntityByCode(recevierCode); + if(Objects.isNull(signBillEntity)){ + signBillEntity = new OpSignBillEntity(); + signBillEntity.setOutGoingOrderId(outGoingOrderId); + signBillEntity.setCode(recevierCode); + if("新建".equals(SignBillStatus)){ + signBillEntity.setSignBillStatus(0); + }else if("已签收".equals(SignBillStatus)){ + signBillEntity.setSignBillStatus(1); + }else if("部分签收".equals(SignBillStatus)){ + signBillEntity.setSignBillStatus(2); + } + signBillEntity.setSignPerson(valueObject.getString("SignPerson")); + signBillEntity.setSignPhone(valueObject.getString("SignPhone")); + signBillEntity.setSignAddress(valueObject.getString("SignAddress")); + signBillEntity.setSignTime(CommonUtil.StringToDate(valueObject.getString("SignTime"))); + signBillEntity.setRemark(valueObject.getString("Remark")); + signBillEntity.setOutGoingOrderCode(outGoingOrderCode); + signBillEntity.setAgainsendReason(valueObject.getString("AgainsendReason")); + signBillEntity.setDescription(valueObject.getString("Description")); + Boolean isAgainsend = valueObject.getBoolean("IsAgainsend"); + if(isAgainsend){ + signBillEntity.setIsAgainsend(1); + }else{ + signBillEntity.setIsAgainsend(0); + } + signBillEntity.setCreator(valueObject.getString("Creator")); + signBillEntity.setCreateTime(CommonUtil.StringToDate(valueObject.getString("CreateTime"))); + signBillEntity.setCustomerRate(valueObject.getBigDecimal("CustomerRate")); + signBillEntity.setCustomerFeedback(valueObject.getString("CustomerFeedback")); + if (!Objects.isNull(store)) { + JSONObject shop = store.getJSONObject("Shop"); + if(!Objects.isNull(shop)){ + signBillEntity.setShopCode(shop.getString("Code")); + signBillEntity.setShopName(shop.getString("Name")); + } + signBillEntity.setStoreCode(store.getString("Code")); + signBillEntity.setStoreName(store.getString("Name")); + } + signBillEntity.setDriverPhone(valueObject.getString("DriverPhone")); + signBillEntity.setDriverName(valueObject.getString("DriverName")); + signBillEntity.setDeliveryTime(CommonUtil.StringToDate(valueObject.getString("DeliveryTime"))); + opSignBillService.save(signBillEntity); + signBillId = signBillEntity.getId(); + }else{ + if("新建".equals(SignBillStatus)){ + signBillEntity.setSignBillStatus(0); + }else if("已签收".equals(SignBillStatus)){ + signBillEntity.setSignBillStatus(1); + }else if("部分签收".equals(SignBillStatus)){ + signBillEntity.setSignBillStatus(2); + } + opSignBillService.updateById(signBillEntity); + signBillId = signBillEntity.getId(); + } + + //存入包件数据 + for (int j = 0; j { + + OpOutGoingOrderEntity getEntityByCode(String outGoingOrderCode); +} diff --git a/blade-service/logpm-factory/src/main/java/com/logpm/factory/oupai/service/IOpSignBillService.java b/blade-service/logpm-factory/src/main/java/com/logpm/factory/oupai/service/IOpSignBillService.java new file mode 100644 index 000000000..0a5ef4746 --- /dev/null +++ b/blade-service/logpm-factory/src/main/java/com/logpm/factory/oupai/service/IOpSignBillService.java @@ -0,0 +1,8 @@ +package com.logpm.factory.oupai.service; + +import com.logpm.factory.oupai.entity.OpSignBillEntity; +import org.springblade.core.mp.base.BaseService; + +public interface IOpSignBillService extends BaseService { + OpSignBillEntity findEntityByCode(String recevierCode); +} diff --git a/blade-service/logpm-factory/src/main/java/com/logpm/factory/oupai/service/IOpSignPackageService.java b/blade-service/logpm-factory/src/main/java/com/logpm/factory/oupai/service/IOpSignPackageService.java new file mode 100644 index 000000000..01cc6d7d0 --- /dev/null +++ b/blade-service/logpm-factory/src/main/java/com/logpm/factory/oupai/service/IOpSignPackageService.java @@ -0,0 +1,8 @@ +package com.logpm.factory.oupai.service; + +import com.logpm.factory.oupai.entity.OpSignPackageEntity; +import org.springblade.core.mp.base.BaseService; + +public interface IOpSignPackageService extends BaseService { + OpSignPackageEntity findEntityByOrderPackageCode(String code); +} diff --git a/blade-service/logpm-factory/src/main/java/com/logpm/factory/oupai/service/impl/OpOutGoingOrderServiceImpl.java b/blade-service/logpm-factory/src/main/java/com/logpm/factory/oupai/service/impl/OpOutGoingOrderServiceImpl.java new file mode 100644 index 000000000..96fb7df70 --- /dev/null +++ b/blade-service/logpm-factory/src/main/java/com/logpm/factory/oupai/service/impl/OpOutGoingOrderServiceImpl.java @@ -0,0 +1,21 @@ +package com.logpm.factory.oupai.service.impl; + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.logpm.factory.oupai.entity.OpOutGoingOrderEntity; +import com.logpm.factory.oupai.mapper.OpOutGoingOrderMapper; +import com.logpm.factory.oupai.service.IOpOutGoingOrderService; +import lombok.AllArgsConstructor; +import org.springblade.core.mp.base.BaseServiceImpl; +import org.springframework.stereotype.Service; + +@Service +@AllArgsConstructor +public class OpOutGoingOrderServiceImpl extends BaseServiceImpl implements IOpOutGoingOrderService { + @Override + public OpOutGoingOrderEntity getEntityByCode(String outGoingOrderCode) { + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("code",outGoingOrderCode) + .eq("is_deleted",0); + return baseMapper.selectOne(queryWrapper); + } +} diff --git a/blade-service/logpm-factory/src/main/java/com/logpm/factory/oupai/service/impl/OpSignBillServiceImpl.java b/blade-service/logpm-factory/src/main/java/com/logpm/factory/oupai/service/impl/OpSignBillServiceImpl.java new file mode 100644 index 000000000..9c182b12a --- /dev/null +++ b/blade-service/logpm-factory/src/main/java/com/logpm/factory/oupai/service/impl/OpSignBillServiceImpl.java @@ -0,0 +1,21 @@ +package com.logpm.factory.oupai.service.impl; + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.logpm.factory.oupai.entity.OpSignBillEntity; +import com.logpm.factory.oupai.mapper.OpSignBillMapper; +import com.logpm.factory.oupai.service.IOpSignBillService; +import lombok.AllArgsConstructor; +import org.springblade.core.mp.base.BaseServiceImpl; +import org.springframework.stereotype.Service; + +@Service +@AllArgsConstructor +public class OpSignBillServiceImpl extends BaseServiceImpl implements IOpSignBillService { + @Override + public OpSignBillEntity findEntityByCode(String recevierCode) { + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("code",recevierCode) + .eq("is_deleted",0); + return baseMapper.selectOne(queryWrapper); + } +} diff --git a/blade-service/logpm-factory/src/main/java/com/logpm/factory/oupai/service/impl/OpSignPackageServiceImpl.java b/blade-service/logpm-factory/src/main/java/com/logpm/factory/oupai/service/impl/OpSignPackageServiceImpl.java new file mode 100644 index 000000000..f4f522181 --- /dev/null +++ b/blade-service/logpm-factory/src/main/java/com/logpm/factory/oupai/service/impl/OpSignPackageServiceImpl.java @@ -0,0 +1,21 @@ +package com.logpm.factory.oupai.service.impl; + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.logpm.factory.oupai.entity.OpSignPackageEntity; +import com.logpm.factory.oupai.mapper.OpSignPackageMapper; +import com.logpm.factory.oupai.service.IOpSignPackageService; +import lombok.AllArgsConstructor; +import org.springblade.core.mp.base.BaseServiceImpl; +import org.springframework.stereotype.Service; + +@Service +@AllArgsConstructor +public class OpSignPackageServiceImpl extends BaseServiceImpl implements IOpSignPackageService { + @Override + public OpSignPackageEntity findEntityByOrderPackageCode(String code) { + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("order_package_code",code) + .eq("is_deleted",0); + return baseMapper.selectOne(queryWrapper); + } +} diff --git a/blade-service/logpm-factory/src/main/java/com/logpm/factory/oupai/service/impl/OuPaiFactoryServiceImpl.java b/blade-service/logpm-factory/src/main/java/com/logpm/factory/oupai/service/impl/OuPaiFactoryServiceImpl.java index fc38249af..fc3a49bf8 100644 --- a/blade-service/logpm-factory/src/main/java/com/logpm/factory/oupai/service/impl/OuPaiFactoryServiceImpl.java +++ b/blade-service/logpm-factory/src/main/java/com/logpm/factory/oupai/service/impl/OuPaiFactoryServiceImpl.java @@ -116,8 +116,9 @@ public class OuPaiFactoryServiceImpl implements IOuPaiFactoryService { public String savaOuPaiSignBillByCode(String orderCode, Integer event) { // String url = ouPaiProperties.getUri() + "tims_odata_api/api/odata/SignBill?$filter=Code eq '" + orderCode + "'" + - "&$select=Code,Status,SignPerson,SignPhone,SignAddress,SignTime,Remark," + - "&$expand=OutGoingOrder($select=Code,Status&$expand=OutGoingOrderDetails($select=))&$expand=Packages($select=Code,FirstClassName,PackageStatus)&$expand=SignPictures($select=)"; + "&$expand=OutGoingOrder($expand=Warehouse&$expand=Truck)" + + "&$expand=Store($select=Code,Name;$expand=Shop($select=Code,Name))" + + "&$expand=Packages($select=Code,PackageStatus,IsInventory)"; handleSignBillData(url, event); return orderCode; @@ -128,19 +129,30 @@ public class OuPaiFactoryServiceImpl implements IOuPaiFactoryService { // 保存需要解析的数据 // 获取返回内容 +// try { +// JSONObject jsonObject = JSONObject.parseObject(opOrderStatusLogEntity.getArgs()); +// JSONArray resultArray = jsonObject.getJSONArray("value"); +// log.info("############handlePackageData: 数据处理开始"); +// +// //TODO 这里需要添加处理签收单的逻辑 +// +// opOrderStatusLogEntity.setDataStatus(1); +// } catch (Exception e) { +// log.error("############handlePackageData: {}", e.getMessage()); +// opOrderStatusLogEntity.setDataStatus(2); +// } +// opOrderStatusLogService.saveOrUpdate(opOrderStatusLogEntity); + Map map = new HashMap<>(); + map.put("messageId", CommonUtil.getUUID()); + map.put("type", "Push"); + map.put("messageData", opOrderStatusLogEntity); + map.put("createTime", new Date().getTime()); try { - JSONObject jsonObject = JSONObject.parseObject(opOrderStatusLogEntity.getArgs()); - JSONArray resultArray = jsonObject.getJSONArray("value"); - log.info("############handlePackageData: 数据处理开始"); - - //TODO 这里需要添加处理签收单的逻辑 - - opOrderStatusLogEntity.setDataStatus(1); + rabbitTemplate.convertAndSend(RabbitConstant.OUPAI_SIGN_EXCHANGE, RabbitConstant.OUPAI_SIGN_ROUTING, map); } catch (Exception e) { log.error("############handlePackageData: {}", e.getMessage()); - opOrderStatusLogEntity.setDataStatus(2); } - opOrderStatusLogService.saveOrUpdate(opOrderStatusLogEntity); + } private void handleOutGoingOrderData(String url, Integer event) { @@ -366,6 +378,12 @@ public class OuPaiFactoryServiceImpl implements IOuPaiFactoryService { if (!Objects.isNull(store)) { factoryOrderEntity.setStoreCode(store.getString("Code")); factoryOrderEntity.setStoreName(store.getString("Name")); + JSONObject shop = store.getJSONObject("Shop"); + if(!Objects.isNull(shop)){ + factoryOrderEntity.setShopCode(shop.getString("Code")); + factoryOrderEntity.setShopName(shop.getString("Name")); + } + } factoryOrderEntity.setMatingCode(orderEntity.getString("MatingCode")); @@ -543,7 +561,7 @@ public class OuPaiFactoryServiceImpl implements IOuPaiFactoryService { "Packages($select=Code,PdaNumber,FirstClassCode,FirstClassName,SecondClassCode,SecondClassName,ThirdClassCode,ThirdClassName,BuyIn,CosourcingCode,CosourcingUnit,SortingCenter,DistributionCenter,Length,Width,Height,Weight,OrderDetail,Order,PathIndex,PathDetail,DeliveryOrders,ReceivingOrders,LPN,LpnSerialNum,IsEntruck,ReservationOrder,OutGoingOrderDetail,SignBill,IsInventory,Inventories,InventoryInDetails,Freeze,OutGoingOrderDetailInventoryDetail,From,Creator,CreateTime,ShipTime,CarNumber,DeliveryMethod,DeliveryReceiver,DeliveryReceiverPhone,ReturnNumber,GroupType,CarrierCode,CarrierName,PackageDetailNames,ReceivingTime,SendTime,ExceptionSignRemark,Descript,SignTime,OutOrder,IsReceiveByHand,PackageStatus,PackageDetailNames;" + "$expand=Order($select=" + "Code,SelfCode,ContractNumber,ServiceNumber,OrderClass,OrderType,Status,FactoryShipStatus,FactorySendQty,WarehouseReceiveStatus,WarehouseReceiveQty,ReservationStatus,Store,MatingCode,IsMating,FirstClassCode,Leave,Customer,Province,City,CustomerAddress,CustomerPhone,ShopReceiver,BrandCode,BrandName,From,OutGoingTime,CreateTime,Freeze,FirstShipTime,MatingShipTime,FirstReceiveTime,MatingReceiveTime;\n" + - "$expand=Store($select=Name,Code))" + + "$expand=Store($select=Name,Code;$expand=Shop))" + "&$expand=PackageDetails($select=Code,Name,Type,Unit,OrgCode)" + "&$expand=CurrentWarehouse($select=Name,Code)" + "&$expand=SendWarehouse($select=Name,Code)" +