Browse Source

1.优化互医订单同步聚水潭发货信息 2.处方订单返回ERP类型 3.优化益寿缘互医采集进度数

wjj 1 week ago
parent
commit
695895427e

+ 3 - 0
fs-admin/src/main/java/com/fs/his/controller/FsStoreOrderController.java

@@ -147,6 +147,9 @@ public class FsStoreOrderController extends BaseController
                     if (StringUtils.isNotEmpty(vo.getTagNames())) {
                     if (StringUtils.isNotEmpty(vo.getTagNames())) {
                         vo.setTags(JSON.parseArray(vo.getTagNames(), String.class));
                         vo.setTags(JSON.parseArray(vo.getTagNames(), String.class));
                     }
                     }
+                    if (vo.getErpType() == null) {
+                        vo.setErpType(1);
+                    }
                 }
                 }
             }
             }
         }
         }

+ 15 - 0
fs-company/src/main/java/com/fs/company/controller/store/FsStoreOrderController.java

@@ -37,6 +37,7 @@ import io.swagger.annotations.ApiOperation;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Qualifier;
 import org.springframework.beans.factory.annotation.Qualifier;
 import org.springframework.security.access.prepost.PreAuthorize;
 import org.springframework.security.access.prepost.PreAuthorize;
+import org.springframework.util.CollectionUtils;
 import org.springframework.web.bind.annotation.*;
 import org.springframework.web.bind.annotation.*;
 import org.springframework.web.multipart.MultipartFile;
 import org.springframework.web.multipart.MultipartFile;
 
 
@@ -79,6 +80,13 @@ public class FsStoreOrderController extends BaseController
             fsStoreOrder.setUserPhone(encryptPhone(fsStoreOrder.getUserPhoneMk()));
             fsStoreOrder.setUserPhone(encryptPhone(fsStoreOrder.getUserPhoneMk()));
         }
         }
         List<FsStoreOrderListVO> list = fsStoreOrderService.selectFsStoreOrderListVO(fsStoreOrder);
         List<FsStoreOrderListVO> list = fsStoreOrderService.selectFsStoreOrderListVO(fsStoreOrder);
+        if (!CollectionUtils.isEmpty(list)) {
+            for(FsStoreOrderListVO vo : list) {
+                if (vo.getErpType() == null) {
+                    vo.setErpType(1);
+                }
+            }
+        }
         return getDataTable(list);
         return getDataTable(list);
     }
     }
 
 
@@ -94,6 +102,13 @@ public class FsStoreOrderController extends BaseController
             fsStoreOrder.setUserPhone(encryptPhone(fsStoreOrder.getUserPhoneMk()));
             fsStoreOrder.setUserPhone(encryptPhone(fsStoreOrder.getUserPhoneMk()));
         }
         }
         List<FsStoreOrderListVO> list = fsStoreOrderService.selectFsStoreOrderListVO(fsStoreOrder);
         List<FsStoreOrderListVO> list = fsStoreOrderService.selectFsStoreOrderListVO(fsStoreOrder);
+        if (!CollectionUtils.isEmpty(list)) {
+            for(FsStoreOrderListVO vo : list) {
+                if (vo.getErpType() == null) {
+                    vo.setErpType(1);
+                }
+            }
+        }
         return getDataTable(list);
         return getDataTable(list);
     }
     }
     /**
     /**

+ 46 - 12
fs-service/src/main/java/com/fs/erp/service/impl/JSTErpOrderServiceImpl.java

@@ -6,6 +6,7 @@ import cn.hutool.http.HttpResponse;
 import com.alibaba.fastjson.JSON;
 import com.alibaba.fastjson.JSON;
 import com.alibaba.fastjson.JSONObject;
 import com.alibaba.fastjson.JSONObject;
 import com.alibaba.fastjson.TypeReference;
 import com.alibaba.fastjson.TypeReference;
+import com.fs.common.exception.CustomException;
 import com.fs.erp.constant.AfterSalesOrderStatusEnum;
 import com.fs.erp.constant.AfterSalesOrderStatusEnum;
 import com.fs.erp.constant.ErpQueryOrderStatusEnum;
 import com.fs.erp.constant.ErpQueryOrderStatusEnum;
 import com.fs.erp.constant.OrderStatusEnum;
 import com.fs.erp.constant.OrderStatusEnum;
@@ -374,6 +375,7 @@ public class JSTErpOrderServiceImpl implements IErpOrderService {
 
 
         // 2. 调用ERP服务查询订单
         // 2. 调用ERP服务查询订单
         OrderQueryResponseDTO query = jstErpHttpService.query(requestDTO);
         OrderQueryResponseDTO query = jstErpHttpService.query(requestDTO);
+        log.info("查询聚水潭订单数据{}",query.getOrders());
         // 3. 构建响应对象
         // 3. 构建响应对象
         ErpOrderQueryResponse response = new ErpOrderQueryResponse();
         ErpOrderQueryResponse response = new ErpOrderQueryResponse();
 
 
@@ -445,9 +447,25 @@ public class JSTErpOrderServiceImpl implements IErpOrderService {
      */
      */
     private ErpOrderQuery convertToErpOrderQuery(OrderQueryResponseDTO.Order order) {
     private ErpOrderQuery convertToErpOrderQuery(OrderQueryResponseDTO.Order order) {
         ErpOrderQuery erpOrder = new ErpOrderQuery();
         ErpOrderQuery erpOrder = new ErpOrderQuery();
-
+        String userName;
+        String userPhone;
+        String address;
         FsStoreOrder fsStoreOrder = fsStoreOrderService.selectFsStoreOrderByOrderCode(order.getSoId());
         FsStoreOrder fsStoreOrder = fsStoreOrderService.selectFsStoreOrderByOrderCode(order.getSoId());
-        Asserts.notNull(fsStoreOrder,"该订单号没有找到!");
+        if (fsStoreOrder == null) {
+            FsStoreOrderScrm fsStoreOrderScrm = fsStoreOrderService.selectFsStoreOrderScrmByOrderCode(order.getSoId());
+            if (fsStoreOrderScrm != null) {
+                userName = fsStoreOrderScrm.getRealName();
+                userPhone = fsStoreOrderScrm.getUserPhone();
+                address = fsStoreOrderScrm.getUserAddress();
+            } else {
+                throw new CustomException("该订单号没有找到!销售订单号:"+order.getSoId()+",ERP订单号:"+order.getOId());
+            }
+        } else {
+            userName = fsStoreOrder.getUserName();
+            userPhone = fsStoreOrder.getUserPhone();
+            address = fsStoreOrder.getUserAddress();
+        }
+        //Asserts.notNull(fsStoreOrder,"该订单号没有找到!销售订单号:"+order.getSoId()+",ERP订单号:"+order.getOId());
 
 
         // 设置基本订单信息
         // 设置基本订单信息
         erpOrder.setCode(order.getSoId());
         erpOrder.setCode(order.getSoId());
@@ -489,12 +507,12 @@ public class JSTErpOrderServiceImpl implements IErpOrderService {
 
 
         // 设置收件人信息
         // 设置收件人信息
 //        erpOrder.setReceiver_name(fsStoreOrder.getRealName());
 //        erpOrder.setReceiver_name(fsStoreOrder.getRealName());
-        erpOrder.setReceiver_name(fsStoreOrder.getUserName());
-        erpOrder.setReceiver_phone(fsStoreOrder.getUserPhone());
-        erpOrder.setReceiver_mobile(fsStoreOrder.getUserPhone());
+        erpOrder.setReceiver_name(userName);
+        erpOrder.setReceiver_phone(userPhone);
+        erpOrder.setReceiver_mobile(userPhone);
 
 
         // 构建完整地址
         // 构建完整地址
-        erpOrder.setReceiver_address(fsStoreOrder.getUserAddress());
+        erpOrder.setReceiver_address(address);
 
 
         // 如果是已发货
         // 如果是已发货
         if(ObjectUtil.equal(order.getStatus(), ErpQueryOrderStatusEnum.SENT.getCode())){
         if(ObjectUtil.equal(order.getStatus(), ErpQueryOrderStatusEnum.SENT.getCode())){
@@ -525,9 +543,25 @@ public class JSTErpOrderServiceImpl implements IErpOrderService {
 
 
     private ErpOrderQuery convertToErpOrderQueryScrm(OrderQueryResponseDTO.Order order) {
     private ErpOrderQuery convertToErpOrderQueryScrm(OrderQueryResponseDTO.Order order) {
         ErpOrderQuery erpOrder = new ErpOrderQuery();
         ErpOrderQuery erpOrder = new ErpOrderQuery();
-
+        String userName;
+        String userPhone;
+        String address;
         FsStoreOrderScrm fsStoreOrder = fsStoreOrderService.selectFsStoreOrderScrmByOrderCode(order.getSoId());
         FsStoreOrderScrm fsStoreOrder = fsStoreOrderService.selectFsStoreOrderScrmByOrderCode(order.getSoId());
-        Asserts.notNull(fsStoreOrder,"该订单号没有找到!");
+        if (fsStoreOrder == null) {
+            FsStoreOrder storeOrder = fsStoreOrderService.selectFsStoreOrderByOrderCode(order.getSoId());
+            if (storeOrder != null) {
+                userName = storeOrder.getUserName();
+                userPhone = storeOrder.getUserPhone();
+                address = storeOrder.getUserAddress();
+            } else {
+                throw new CustomException("该订单号没有找到!销售订单号:"+order.getSoId()+",ERP订单号:"+order.getOId());
+            }
+        } else {
+            userName = fsStoreOrder.getRealName();
+            userPhone = fsStoreOrder.getUserPhone();
+            address = fsStoreOrder.getUserAddress();
+        }
+        //Asserts.notNull(fsStoreOrder,"该订单号没有找到!");
 
 
         // 设置基本订单信息
         // 设置基本订单信息
         erpOrder.setCode(order.getSoId());
         erpOrder.setCode(order.getSoId());
@@ -569,12 +603,12 @@ public class JSTErpOrderServiceImpl implements IErpOrderService {
 
 
         // 设置收件人信息
         // 设置收件人信息
 //        erpOrder.setReceiver_name(fsStoreOrder.getRealName());
 //        erpOrder.setReceiver_name(fsStoreOrder.getRealName());
-        erpOrder.setReceiver_name(fsStoreOrder.getRealName());
-        erpOrder.setReceiver_phone(fsStoreOrder.getUserPhone());
-        erpOrder.setReceiver_mobile(fsStoreOrder.getUserPhone());
+        erpOrder.setReceiver_name(userName);
+        erpOrder.setReceiver_phone(userPhone);
+        erpOrder.setReceiver_mobile(userPhone);
 
 
         // 构建完整地址
         // 构建完整地址
-        erpOrder.setReceiver_address(fsStoreOrder.getUserAddress());
+        erpOrder.setReceiver_address(address);
 
 
         // 如果是已发货
         // 如果是已发货
         if(ObjectUtil.equal(order.getStatus(), ErpQueryOrderStatusEnum.SENT.getCode())){
         if(ObjectUtil.equal(order.getStatus(), ErpQueryOrderStatusEnum.SENT.getCode())){

+ 1 - 0
fs-service/src/main/java/com/fs/his/domain/FsUserInformationCollectionSchedule.java

@@ -48,6 +48,7 @@ public class FsUserInformationCollectionSchedule extends BaseEntity{
     private Integer status;
     private Integer status;
 
 
     /** 创建时间 */
     /** 创建时间 */
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
     private Date createTime;
     private Date createTime;
 
 
     /** 完成时间 */
     /** 完成时间 */

+ 1 - 1
fs-service/src/main/java/com/fs/his/service/impl/FsStoreOrderServiceImpl.java

@@ -1901,7 +1901,7 @@ public class FsStoreOrderServiceImpl implements IFsStoreOrderService {
     @Override
     @Override
     public void deliveryOrder(String orderCode, String deliveryId, String deliverCode, String deliverName,String sendDate) {
     public void deliveryOrder(String orderCode, String deliveryId, String deliverCode, String deliverName,String sendDate) {
         FsStoreOrder order = fsStoreOrderMapper.selectFsStoreOrderByOrderCode(orderCode);
         FsStoreOrder order = fsStoreOrderMapper.selectFsStoreOrderByOrderCode(orderCode);
-        if (order!= null && order.getErpType() == 2) {
+        if (order!= null && order.getErpType() != null && order.getErpType() == 2) {
             //兔灵存在撤回重发问题
             //兔灵存在撤回重发问题
             if (order.getStatus() == 2 || order.getStatus() == 3) {
             if (order.getStatus() == 2 || order.getStatus() == 3) {
                 FsExpress express = expressService.selectFsExpressByOmsCode(deliverCode);
                 FsExpress express = expressService.selectFsExpressByOmsCode(deliverCode);

+ 1 - 0
fs-service/src/main/java/com/fs/his/vo/FsStoreOrderListVO.java

@@ -77,4 +77,5 @@ public class FsStoreOrderListVO {
 
 
     //档期标签名称
     //档期标签名称
     private List<String> tags;
     private List<String> tags;
+    private Integer erpType;
 }
 }