Quellcode durchsuchen

feat: 导入导出

xdd vor 2 Wochen
Ursprung
Commit
5d384ddf36

+ 32 - 3
fs-admin/src/main/java/com/fs/store/controller/FsStoreHealthOrderController.java

@@ -16,9 +16,15 @@ import com.fs.erp.service.IErpOrderService;
 import com.fs.store.cache.IFsStoreProductCacheService;
 import com.fs.store.cache.IFsWarehouseCacheService;
 import com.fs.store.cache.impl.FsWarehouseCacheServiceImpl;
+import com.fs.store.domain.FsPatient;
+import com.fs.store.domain.FsPrescribe;
 import com.fs.store.domain.FsStoreProduct;
 import com.fs.store.domain.FsWarehouses;
 import com.fs.store.dto.StoreOrderProductDTO;
+import com.fs.store.mapper.FsPatientMapper;
+import com.fs.store.mapper.FsPrescribeMapper;
+import com.fs.store.mapper.FsStoreProductMapper;
+import com.fs.store.mapper.FsWarehousesMapper;
 import com.fs.store.param.FsStoreOrderParam;
 import com.fs.store.service.*;
 import com.fs.store.vo.FsStoreOrderExportVO;
@@ -31,6 +37,7 @@ import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RestController;
 
 import java.util.List;
+import java.util.Map;
 
 @RestController
 @RequestMapping("/store/storeOrder")
@@ -43,6 +50,14 @@ public class FsStoreHealthOrderController extends BaseController {
     @Autowired
     private IFsStoreProductCacheService fsStoreProductCacheService;
 
+    @Autowired
+    private FsWarehousesMapper warehousesMapper;
+
+    @Autowired
+    private FsPrescribeMapper fsPrescribeMapper;
+
+    @Autowired
+    private FsPatientMapper fsPatientMapper;
     /**
      * 查询健康商城订单列表
      */
@@ -146,14 +161,28 @@ public class FsStoreHealthOrderController extends BaseController {
         }
         param.setIsHealth("1");
         List<FsStoreOrderItemExportVO> list = orderItemService.selectFsStoreOrderItemListExportVO(param);
+        Map<Long, FsWarehouses> longFsWarehousesMap = warehousesMapper.queryAllWarehouses();
+        Map<Long, FsPrescribe> orderMapping = fsPrescribeMapper.queryOrderMapping();
+        Map<Long, FsPatient> patientMapping = fsPatientMapper.queryAllMapping();
         //对手机号脱敏
         if (list != null) {
             for (FsStoreOrderItemExportVO vo : list) {
                 // 设置仓库名称
                 if(ObjectUtil.isNotNull(vo.getProductId())){
-                    String warehouseCode = fsStoreProductCacheService.getWarehouseCodeByProductId(vo.getProductId());
-                    if(StringUtils.isNotBlank(warehouseCode)){
-                        vo.setWarehouseCode(warehouseCode);
+                    FsWarehouses fsWarehouses = longFsWarehousesMap.get(vo.getProductId());
+                    if(ObjectUtil.isNotNull(fsWarehouses)){
+                        vo.setWarehouseCode(fsWarehouses.getWarehouseCode());
+                    }
+                }
+                // 设置患者姓名和身份证号码
+                if(ObjectUtil.isNotNull(vo.getOrderId())) {
+                    FsPrescribe fsPrescribe = orderMapping.get(vo.getOrderId());
+                    if(ObjectUtil.isNotNull(fsPrescribe)){
+                        FsPatient fsPatient = patientMapping.get(fsPrescribe.getPatientId());
+                        if(ObjectUtil.isNotNull(fsPatient)){
+                            vo.setPatientName(fsPatient.getPatientName());
+                            vo.setIdCard(fsPatient.getIdCard());
+                        }
                     }
                 }
                 if (vo.getUserPhone() != null) {

+ 35 - 0
fs-admin/src/main/java/com/fs/store/controller/FsStoreOrderController.java

@@ -2,6 +2,7 @@ package com.fs.store.controller;
 
 import java.util.ArrayList;
 import java.util.List;
+import java.util.Map;
 
 import cn.hutool.core.bean.BeanUtil;
 import cn.hutool.core.util.ObjectUtil;
@@ -25,6 +26,8 @@ import com.fs.store.cache.IFsStoreProductCacheService;
 import com.fs.store.domain.*;
 import com.fs.store.dto.*;
 import com.fs.store.enums.ShipperCodeEnum;
+import com.fs.store.mapper.FsPatientMapper;
+import com.fs.store.mapper.FsPrescribeMapper;
 import com.fs.store.mapper.FsStoreOrderMapper;
 import com.fs.store.mapper.FsWarehousesMapper;
 import com.fs.store.param.*;
@@ -86,6 +89,17 @@ public class FsStoreOrderController extends BaseController {
 
     @Autowired
     private FsStoreOrderMapper fsStoreOrderMapper;
+
+
+    @Autowired
+    private FsWarehousesMapper warehousesMapper;
+
+    @Autowired
+    private FsPrescribeMapper fsPrescribeMapper;
+
+    @Autowired
+    private FsPatientMapper fsPatientMapper;
+
     /**
      * 查询订单列表
      */
@@ -252,9 +266,30 @@ public class FsStoreOrderController extends BaseController {
         }
         param.setNotHealth(1);
         List<FsStoreOrderItemExportVO> list = orderItemService.selectFsStoreOrderItemListExportVO(param);
+        Map<Long, FsWarehouses> longFsWarehousesMap = warehousesMapper.queryAllWarehouses();
+        Map<Long, FsPrescribe> orderMapping = fsPrescribeMapper.queryOrderMapping();
+        Map<Long, FsPatient> patientMapping = fsPatientMapper.queryAllMapping();
         //对手机号脱敏
         if (list != null) {
             for (FsStoreOrderItemExportVO vo : list) {
+                // 设置仓库名称
+                if(ObjectUtil.isNotNull(vo.getProductId())){
+                    FsWarehouses fsWarehouses = longFsWarehousesMap.get(vo.getProductId());
+                    if(ObjectUtil.isNotNull(fsWarehouses)){
+                        vo.setWarehouseCode(fsWarehouses.getWarehouseCode());
+                    }
+                }
+                // 设置患者姓名和身份证号码
+                if(ObjectUtil.isNotNull(vo.getOrderId())) {
+                    FsPrescribe fsPrescribe = orderMapping.get(vo.getOrderId());
+                    if(ObjectUtil.isNotNull(fsPrescribe)){
+                        FsPatient fsPatient = patientMapping.get(fsPrescribe.getPatientId());
+                        if(ObjectUtil.isNotNull(fsPatient)){
+                            vo.setPatientName(fsPatient.getPatientName());
+                            vo.setIdCard(fsPatient.getIdCard());
+                        }
+                    }
+                }
                 if (vo.getUserPhone() != null) {
                     String phone = vo.getUserPhone().replaceAll("(\\d{3})\\d*(\\d{1})", "$1****$2");
                     vo.setUserPhone(phone);

+ 16 - 8
fs-service-system/src/main/java/com/fs/store/mapper/FsPatientMapper.java

@@ -1,22 +1,25 @@
 package com.fs.store.mapper;
 
 import java.util.List;
+import java.util.Map;
+
 import com.fs.store.domain.FsPatient;
 import com.fs.store.param.FsPatientParam;
+import org.apache.ibatis.annotations.MapKey;
 import org.apache.ibatis.annotations.Param;
 import org.apache.ibatis.annotations.Select;
 
 /**
  * 病人Mapper接口
- * 
+ *
  * @author fs
  * @date 2022-03-23
  */
-public interface FsPatientMapper 
+public interface FsPatientMapper
 {
     /**
      * 查询病人
-     * 
+     *
      * @param patientId 病人ID
      * @return 病人
      */
@@ -24,7 +27,7 @@ public interface FsPatientMapper
 
     /**
      * 查询病人列表
-     * 
+     *
      * @param fsPatient 病人
      * @return 病人集合
      */
@@ -32,7 +35,7 @@ public interface FsPatientMapper
 
     /**
      * 新增病人
-     * 
+     *
      * @param fsPatient 病人
      * @return 结果
      */
@@ -40,7 +43,7 @@ public interface FsPatientMapper
 
     /**
      * 修改病人
-     * 
+     *
      * @param fsPatient 病人
      * @return 结果
      */
@@ -48,7 +51,7 @@ public interface FsPatientMapper
 
     /**
      * 删除病人
-     * 
+     *
      * @param patientId 病人ID
      * @return 结果
      */
@@ -56,7 +59,7 @@ public interface FsPatientMapper
 
     /**
      * 批量删除病人
-     * 
+     *
      * @param patientIds 需要删除的数据ID
      * @return 结果
      */
@@ -75,4 +78,9 @@ public interface FsPatientMapper
             " order by patient_id desc "+
             "</script>"})
     List<FsPatient> selectFsPatientListByDoctor(@Param("maps")FsPatientParam param);
+
+    @Select("select patient_id,patient_name,id_card from fs_patient")
+    @MapKey("patientId")
+    Map<Long, FsPatient> queryAllMapping();
+
 }

+ 6 - 0
fs-service-system/src/main/java/com/fs/store/mapper/FsPrescribeMapper.java

@@ -1,10 +1,13 @@
 package com.fs.store.mapper;
 
 import java.util.List;
+import java.util.Map;
+
 import com.fs.store.domain.FsPrescribe;
 import com.fs.store.param.FsPrescribeQueryParam;
 import com.fs.store.param.FsPrescribeVOParam;
 import com.fs.store.vo.FsPrescribeVO;
+import org.apache.ibatis.annotations.MapKey;
 import org.apache.ibatis.annotations.Param;
 import org.apache.ibatis.annotations.Select;
 
@@ -106,4 +109,7 @@ public interface FsPrescribeMapper
     @Select("select * from fs_prescribe where status=1 and ifnull(generate_status,0)=1")
     List<FsPrescribe> selectPenddingData();
 
+    @Select("select order_id,patient_id from fs_prescribe")
+    @MapKey("orderId")
+    Map<Long, FsPrescribe> queryOrderMapping();
 }

+ 1 - 1
fs-service-system/src/main/java/com/fs/store/mapper/FsStoreOrderItemMapper.java

@@ -71,7 +71,7 @@ public interface FsStoreOrderItemMapper
     List<FsStoreOrderItemVO> selectMyFsStoreOrderItemListByOrderId(Long id);
 
     @Select({"<script> " +
-            "select i.*,o.user_id,o.status,p.cate_id, 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   " +
+            "select i.*,o.user_id,o.status,p.cate_id,o.id as order_id, 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,deliver.deliver_id as delivery_code,cts.name as scheduleName from fs_store_order_item i left join fs_store_order o on o.id=i.order_id left join fs_user u on o.user_id=u.user_id  " +
             " left join fs_store_product_package p on o.package_id=p.package_id " +
             " left join company c on c.company_id=o.company_id " +

+ 1 - 1
fs-service-system/src/main/java/com/fs/store/mapper/FsStoreProductMapper.java

@@ -200,7 +200,7 @@ public interface FsStoreProductMapper
             " p.vip_price, p.ot_price, p.postage,p.unit_name,p.sort,p.sales,p.is_show,p.is_hot,p.is_benefit,p.is_best,p.is_new,p.description," +
             " p.create_time,p.update_time,p.is_postage,p.is_del,p.give_integral, p.cost,p.is_good,p.browse,p.code_path,p.temp_id,p.spec_type,p.is_integral,p.integral," +
             " p.product_type,p.prescribe_code,p.prescribe_spec,p.prescribe_factory,p.prescribe_name,ave.sku,ave.stock,ave.price,ave.bar_code,ave.group_bar_code,ave.weight,ave.volume," +
-            "ave.brokerage,ave.brokerage_two,ave.brokerage_three,ave.agent_price  FROM fs_store_product p " +
+            "ave.brokerage,ave.brokerage_two,ave.brokerage_three,ave.agent_price,p.warehouse_code,p.usage_method,p.frequency,p.dosage  FROM fs_store_product p " +
             "  LEFT JOIN fs_store_product_attr_value ave on p.product_id=ave.product_id WHERE  p.product_id is not null " +
             "</script>"})
     List<FsStoreProductExportVO> selectFsStoreProductExportList(@Param("maps")FsStoreProduct fsStoreProduct);

+ 7 - 0
fs-service-system/src/main/java/com/fs/store/mapper/FsWarehousesMapper.java

@@ -1,10 +1,12 @@
 package com.fs.store.mapper;
 
 import com.fs.store.domain.FsWarehouses;
+import org.apache.ibatis.annotations.MapKey;
 import org.apache.ibatis.annotations.Param;
 import org.apache.ibatis.annotations.Select;
 
 import java.util.List;
+import java.util.Map;
 
 /**
  * 仓库Mapper接口
@@ -64,4 +66,9 @@ public interface FsWarehousesMapper
 
     @Select("select erp from fs_warehouses where warehouse_code=#{warehouseCode} limit 1")
     String selectErpByCode(@Param("warehouseCode") String warehouseCode);
+
+
+    @Select("select id,warehouse_code from fs_warehouses")
+    @MapKey("id")
+    Map<Long,FsWarehouses> queryAllWarehouses();
 }

+ 10 - 0
fs-service-system/src/main/java/com/fs/store/service/impl/FsStoreProductServiceImpl.java

@@ -698,6 +698,16 @@ public class FsStoreProductServiceImpl implements IFsStoreProductService
                 p.setBrokerageTwo(productVO.getBrokerageTwo());
                 p.setBrokerageThree(productVO.getBrokerageThree());
                 p.setAgentPrice(productVO.getAgentPrice());
+
+                if(productVO.getUsageMethod()!=null){
+                    p.setUsageMethod(productVO.getUsageMethod());
+                }
+                if(productVO.getFrequency() != null) {
+                    p.setFrequency(productVO.getFrequency());
+                }
+                if(productVO.getDosage() != null) {
+                    p.setDosage(productVO.getDosage());
+                }
                 fsStoreProductAttrValueMapper.insertFsStoreProductAttrValue(p);
 
                 fsStoreProductAttrMapper.clear(product.getProductId());

+ 7 - 0
fs-service-system/src/main/java/com/fs/store/vo/FsStoreOrderItemExportVO.java

@@ -18,6 +18,8 @@ public class FsStoreOrderItemExportVO implements Serializable
     @Excel(name = "订单号")
     private String orderCode;
 
+    private Long orderId;
+
     @Excel(name = "订单状态", dictType = "store_order_status")
     private String status;
 
@@ -111,4 +113,9 @@ public class FsStoreOrderItemExportVO implements Serializable
      */
     private Long productId;
 
+    @Excel(name = "患者姓名")
+    private String patientName;
+
+    @Excel(name = "身份证号码")
+    private String idCard;
 }

+ 16 - 0
fs-service-system/src/main/java/com/fs/store/vo/FsStoreProductExportVO.java

@@ -195,4 +195,20 @@ public class FsStoreProductExportVO implements Serializable {
      */
     @Excel(name = "仓库代码")
     private String warehouseCode;
+
+    /**
+     * 服用方法
+     */
+    @Excel(name = "服用方法")
+    private String usageMethod;
+    /**
+     * 一日几次
+     */
+    @Excel(name = "一日几次")
+    private String frequency;
+    /**
+     * 用药数量
+     */
+    @Excel(name = "用药数量")
+    private String dosage;
 }