Ver código fonte

中康erp只推药品

ct 4 dias atrás
pai
commit
afd3508620

+ 23 - 7
fs-service/src/main/java/com/fs/erp/service/impl/K9OrderScrmServiceImpl.java

@@ -5,6 +5,7 @@ import cn.hutool.http.HttpUtil;
 import cn.hutool.json.JSONObject;
 import cn.hutool.json.JSONUtil;
 import com.fs.common.exception.ServiceException;
+import com.fs.common.utils.CloudHostUtils;
 import com.fs.common.utils.StringUtils;
 import com.fs.erp.domain.*;
 import com.fs.erp.dto.*;
@@ -20,6 +21,7 @@ import com.fs.hisStore.dto.FsStoreCartDTO;
 import com.fs.hisStore.mapper.FsStoreOrderScrmMapper;
 import com.fs.hisStore.mapper.FsStoreProductScrmMapper;
 import com.fs.hisStore.service.IFsStoreOrderItemScrmService;
+import com.fs.hisStore.vo.FsStoreOrderItemVO;
 import lombok.extern.slf4j.Slf4j;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
@@ -336,13 +338,27 @@ public class K9OrderScrmServiceImpl implements IErpOrderService {
 
     private List<KingbosOrderD1Data> buildOrderDetailData(FsStoreOrderScrm order, String orderId) {
         logger.debug("【金博网络订单】开始构建订单明细,订单号: {}", order.getOrderCode());
-        FsStoreOrderItemScrm query = new FsStoreOrderItemScrm();
-        query.setOrderId(order.getId());
-        List<FsStoreOrderItemScrm> orderItems = storeOrderItemService.selectFsStoreOrderItemList(query);
+//        FsStoreOrderItemScrm query = new FsStoreOrderItemScrm();
+//        query.setOrderId(order.getId());
+//        List<FsStoreOrderItemScrm> orderItems = storeOrderItemService.selectFsStoreOrderItemList(query);
+
+//        List<KingbosOrderD1Data> d1Datas = orderItems.stream()
+//                .map(item -> buildOrderDetailItem(item, orderId))
+//                .collect(Collectors.toList());
+
+
+        List<FsStoreOrderItemVO> orderItems = storeOrderItemService.selectFsStoreOrderItemListAndProductByOrderId(order.getId());
+        //2025.09.19 中康需求只推非药品
+        List<KingbosOrderD1Data> d1Datas = orderItems.stream().filter(item->{
+                    if (CloudHostUtils.hasCloudHostName("中康")){
+                        return item.getIsDrug() == null || item.getIsDrug() == 1;
+                    } else {
+                        return true;
+                    }
+                })
+                .map(item -> buildOrderDetailItem(item, orderId))
+                .collect(Collectors.toList());
 
-        List<KingbosOrderD1Data> d1Datas = orderItems.stream()
-            .map(item -> buildOrderDetailItem(item, orderId))
-            .collect(Collectors.toList());
 
         logger.debug("【金博网络订单】订单明细构建完成,订单号: {}, 明细数量: {}", order.getOrderCode(), d1Datas.size());
         return d1Datas;
@@ -355,7 +371,7 @@ public class K9OrderScrmServiceImpl implements IErpOrderService {
         return item;
     }
 
-    private KingbosOrderD1Data buildOrderDetailItem(FsStoreOrderItemScrm orderItem, String orderId) {
+    private KingbosOrderD1Data buildOrderDetailItem(FsStoreOrderItemVO orderItem, String orderId) {
         FsStoreCartDTO cartDTO = JSONUtil.toBean(orderItem.getJsonInfo(), FsStoreCartDTO.class);
         BigDecimal quantity = new BigDecimal(orderItem.getNum());
 

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

@@ -1402,7 +1402,7 @@ public class FsPackageOrderServiceImpl implements IFsPackageOrderService
             CompletableFuture<Void> future = CompletableFuture.runAsync(() -> {
                 FsStorePayment fsStorePayment = fsStorePaymentMapper.selectLastByBusinessCode(vo.getOrderSn());
                 if (fsStorePayment != null) {
-                    vo.setBusinessCode("package-" + fsStorePayment.getBusinessCode());
+                    vo.setBusinessCode("package-" + fsStorePayment.getPayCode());
                 }
             });
             futures.add(future);

+ 2 - 0
fs-service/src/main/java/com/fs/hisStore/mapper/FsStoreOrderItemScrmMapper.java

@@ -72,6 +72,8 @@ public interface FsStoreOrderItemScrmMapper
     @Select("select * from fs_store_order_item_scrm where order_id=#{orderId}")
     List<FsStoreOrderItemVO> selectMyFsStoreOrderItemListByOrderId(Long id);
 
+    List<FsStoreOrderItemVO> selectFsStoreOrderItemListAndProductByOrderId(Long id);
+
     @Select({"<script> " +
             "select i.*,o.user_id,o.status, o.real_name,o.user_phone,o.user_address,o.create_time,o.pay_time,o.delivery_sn,o.delivery_name,o.delivery_id, c.company_name ,cu.nick_name as company_user_nick_name ,cu.phonenumber as company_usere_phonenumber,o.upload_time ,CASE WHEN o.certificates IS NULL OR o.certificates = '' THEN 0 ELSE 1 END AS is_upload   " +
             " ,p.title as package_name,cts.name as scheduleName from fs_store_order_item_scrm i left join fs_store_order_scrm o on o.id=i.order_id left join fs_user u on o.user_id=u.user_id  " +

+ 2 - 0
fs-service/src/main/java/com/fs/hisStore/service/IFsStoreOrderItemScrmService.java

@@ -66,6 +66,8 @@ public interface IFsStoreOrderItemScrmService
 
     List<FsStoreOrderItemVO> selectFsStoreOrderItemListByOrderId(Long ordreId);
 
+    List<FsStoreOrderItemVO> selectFsStoreOrderItemListAndProductByOrderId(Long orderId);
+
     List<FsStoreOrderItemExportVO> selectFsStoreOrderItemListExportVO(FsStoreOrderParam fsStoreOrder);
 
     Long countFsStoreOrderItemListExportVO(FsStoreOrderParam fsStoreOrder);

+ 5 - 0
fs-service/src/main/java/com/fs/hisStore/service/impl/FsStoreOrderItemScrmServiceImpl.java

@@ -102,6 +102,11 @@ public class FsStoreOrderItemScrmServiceImpl implements IFsStoreOrderItemScrmSer
         return fsStoreOrderItemMapper.selectFsStoreOrderItemListByOrderId(ordreId);
     }
 
+    @Override
+    public List<FsStoreOrderItemVO> selectFsStoreOrderItemListAndProductByOrderId(Long orderId) {
+        return fsStoreOrderItemMapper.selectFsStoreOrderItemListAndProductByOrderId(orderId);
+    }
+
     @Override
     public List<FsStoreOrderItemExportVO> selectFsStoreOrderItemListExportVO(FsStoreOrderParam fsStoreOrder) {
         return fsStoreOrderItemMapper.selectFsStoreOrderItemListExportVO(fsStoreOrder);

+ 2 - 0
fs-service/src/main/java/com/fs/hisStore/vo/FsStoreOrderItemVO.java

@@ -46,4 +46,6 @@ public class FsStoreOrderItemVO  implements Serializable
     @Excel(name = "是否为处方")
     private Integer isPrescribe;
 
+    private Integer isDrug; //是否为药品
+
 }

+ 12 - 6
fs-service/src/main/resources/mapper/hisStore/FsStoreOrderItemScrmMapper.xml

@@ -3,7 +3,7 @@
 PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
 "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
 <mapper namespace="com.fs.hisStore.mapper.FsStoreOrderItemScrmMapper">
-    
+
     <resultMap type="FsStoreOrderItemScrm" id="FsStoreOrderItemResult">
         <result property="itemId"    column="item_id"    />
         <result property="orderId"    column="order_id"    />
@@ -22,7 +22,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
 
     <select id="selectFsStoreOrderItemList" parameterType="FsStoreOrderItemScrm" resultMap="FsStoreOrderItemResult">
         <include refid="selectFsStoreOrderItemVo"/>
-        <where>  
+        <where>
             <if test="orderId != null "> and order_id = #{orderId}</if>
             <if test="orderCode != null  and orderCode != ''"> and order_code = #{orderCode}</if>
             <if test="cartId != null "> and cart_id = #{cartId}</if>
@@ -33,12 +33,18 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
             <if test="isPrescribe != null "> and is_prescribe = #{isPrescribe}</if>
         </where>
     </select>
-    
+
     <select id="selectFsStoreOrderItemById" parameterType="Long" resultMap="FsStoreOrderItemResult">
         <include refid="selectFsStoreOrderItemVo"/>
         where item_id = #{itemId}
     </select>
-        
+    <select id="selectFsStoreOrderItemListAndProductByOrderId"
+            resultType="com.fs.hisStore.vo.FsStoreOrderItemVO">
+        select i.*,p.is_drug from fs_store_order_item_scrm i
+                 left join fs_store_product_scrm p on i.product_id = p.product_id
+                 where i.order_id=#{orderId}
+    </select>
+
     <insert id="insertFsStoreOrderItem" parameterType="FsStoreOrderItemScrm" useGeneratedKeys="true" keyProperty="itemId">
         insert into fs_store_order_item_scrm
         <trim prefix="(" suffix=")" suffixOverrides=",">
@@ -88,5 +94,5 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
             #{itemId}
         </foreach>
     </delete>
-    
-</mapper>
+
+</mapper>