Selaa lähdekoodia

1.优化医生拒方退款,销售信息采集终止-->聚水潭发货取消 2.修改销售后台制单订单来源枚举类型

wjj 1 viikko sitten
vanhempi
commit
25cb68b230

+ 1 - 1
fs-admin/src/main/java/com/fs/his/task/Task.java

@@ -1970,7 +1970,7 @@ public class Task {
         if (ObjectUtil.isNotEmpty(collections)) {
             for(FsUserInformationCollection collection :collections) {
                 try {
-                    userInformationCollectionService.autoRefund(collection);
+                    userInformationCollectionService.autoRefund(collection,null);
                     Thread.sleep(2000);
                 } catch (Exception e) {
                     logger.info("自动退款失败,订单号:{},退款失败原因:{}", collection.getPackageOrderCode(),e.getMessage());

+ 1 - 1
fs-company/src/main/java/com/fs/hisStore/controller/FsUserInformationCollectionController.java

@@ -128,7 +128,7 @@ public class FsUserInformationCollectionController extends BaseController
     @PutMapping("/stop")
     public R stop(@RequestBody FsUserInformationCollectionSchedule param){
         LoginUser loginUser = SecurityUtils.getLoginUser();
-        return fsUserInformationCollectionService.stopCollection(param,loginUser.getUser().getUserId());
+        return fsUserInformationCollectionService.stopCollection(param,loginUser.getUser().getUserId(),1);
     }
 
 

+ 2 - 0
fs-service/src/main/java/com/fs/his/enums/FsStoreOrderLogEnum.java

@@ -34,6 +34,8 @@ public enum FsStoreOrderLogEnum {
     WAREHOUSE_REVIEW_SALES("WAREHOUSE_REVIEW_SALES","仓库已审核"),
     FINANCE_REVIEW_SALES("FINANCE_REVIEW_SALES","财务已审核"),
     PLATFORM_REVIEW_CANCEL("PLATFORM_REVIEW_CANCEL","平台已取消售后"),
+    CUSTOMER_SERVICE_STOP("CUSTOMER_SERVICE_STOP","销售终止信息采集退款"),
+    DOCTOR_STOP("DOCTOR_STOP","医生拒方退款"),
 
     SET_PUSH_MOBILE("SET_PUSH_MOBILE","设置推送手机号"),
     SET_PUSH_ACCOUNT("SET_PUSH_ACCOUNT","数据分拣"),

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

@@ -2048,7 +2048,7 @@ public class FsPackageOrderServiceImpl implements IFsPackageOrderService
         order.setPayPrice(fsPackage.getTotalPrice());
         order.setPayMoney(fsPackage.getTotalPrice());
         order.setIsPay(0);
-        order.setSource(4);
+        order.setSource(999);
         order.setPackageSecondName(fsPackage.getSecondName());
         order.setDoctorRemark(fsPackage.getDoctorRemark());
         order.setFollowTempId(fsPackage.getFollowTempId());

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

@@ -1484,7 +1484,7 @@ public class FsPrescribeServiceImpl implements IFsPrescribeService
             paramCondition.setRemark("医生拒访:"+rejectDTO.getRemark());
             paramCondition.setCollectionId(collectionId);
             paramCondition.setOrderCode(orderCode);
-            fsUserInformationCollectionService.stopCollection(paramCondition,rejectDTO.getTerminatedBy());//包含退款操作
+            fsUserInformationCollectionService.stopCollection(paramCondition,rejectDTO.getTerminatedBy(),2);//包含退款操作
         }
 
     }

+ 3 - 2
fs-service/src/main/java/com/fs/hisStore/service/IFsUserInformationCollectionService.java

@@ -88,11 +88,12 @@ public interface IFsUserInformationCollectionService extends IService<FsUserInfo
     R userConfirm(CollectionInfoConfirmParam param);
 
     //自动退款
-    void autoRefund(FsUserInformationCollection collection);
+    void autoRefund(FsUserInformationCollection collection,Integer operateType);
 
     FsUserInformationCollectionVO getCollectionByUserId(Long userId);
 
-    R stopCollection(FsUserInformationCollectionSchedule param, Long operateId);
+    //1-终止 2-拒方
+    R stopCollection(FsUserInformationCollectionSchedule param, Long operateId,Integer operateType);
 
     //销售帮助客户二次确认
     R salesHelpConfirm(Long collectionId, Long operateId);

+ 85 - 3
fs-service/src/main/java/com/fs/hisStore/service/impl/FsUserInformationCollectionServiceImpl.java

@@ -35,9 +35,12 @@ import com.fs.course.param.CollectionInfoConfirmParam;
 import com.fs.course.vo.FsUserInfoCollectionUVO;
 import com.fs.doctor.domain.DoctorMsg;
 import com.fs.doctor.mapper.DoctorMsgMapper;
+import com.fs.erp.dto.ErpRefundUpdateRequest;
+import com.fs.erp.service.IErpOrderService;
 import com.fs.his.config.FsSysConfig;
 import com.fs.his.domain.*;
 import com.fs.his.enums.CollectionTaskStatusEnum;
+import com.fs.his.enums.FsStoreOrderLogEnum;
 import com.fs.his.enums.FsStoreOrderStatusEnum;
 import com.fs.his.enums.PrescriptionTaskStepEnum;
 import com.fs.his.mapper.*;
@@ -84,6 +87,7 @@ import org.jetbrains.annotations.NotNull;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.beans.factory.annotation.Qualifier;
 import org.springframework.stereotype.Service;
 import com.fs.hisStore.mapper.FsUserInformationCollectionMapper;
 import com.fs.hisStore.domain.FsUserInformationCollection;
@@ -181,6 +185,34 @@ public class FsUserInformationCollectionServiceImpl extends ServiceImpl<FsUserIn
 
     @Autowired
     private ICompanyUserCacheService companyUserCacheService;
+
+    @Autowired
+    @Qualifier("hzOMSErpOrderServiceImpl")
+    private IErpOrderService hzOMSerpOrderService;
+
+    @Autowired
+    @Qualifier("dfOrderServiceImpl")
+    private IErpOrderService dfOrderService;
+
+    @Autowired
+    @Qualifier("wdtErpOrderServiceImpl")
+    private IErpOrderService wdtErpOrderService;
+
+    @Autowired
+    @Qualifier("JSTErpOrderServiceImpl")
+    private IErpOrderService jSTOrderService;
+    @Autowired
+    @Qualifier("k9OrderScrmServiceImpl")
+    private IErpOrderService k9OrderService;
+
+    @Autowired
+    private IErpOrderService erpOrderService;
+
+    @Autowired
+    private IFsStoreOrderLogsService fsStoreOrderLogsService;
+
+
+
     /**
      * 查询用户信息采集
      *
@@ -790,7 +822,7 @@ public class FsUserInformationCollectionServiceImpl extends ServiceImpl<FsUserIn
 
     @Override
     @Transactional
-    public void autoRefund(FsUserInformationCollection collection) {
+    public void autoRefund(FsUserInformationCollection collection,Integer operateType) {
 
         //清空订单号
         fsUserInformationCollectionMapper.collectionOderCodeNULL(collection.getId());
@@ -818,6 +850,22 @@ public class FsUserInformationCollectionServiceImpl extends ServiceImpl<FsUserIn
         mapStoreOrder.setRefundTime(DateUtils.getNowDate());
         storeOrderService.updateFsStoreOrder(mapStoreOrder);
 
+        //退款日志
+        String status = null;
+        String msg = null;
+        if (operateType == 1) {
+            CompanyUser companyUser = companyUserMapper.selectCompanyUserById(fsStoreOrder.getCompanyUserId());
+            status = FsStoreOrderLogEnum.CUSTOMER_SERVICE_STOP.getValue();
+            msg = companyUser.getNickName() + " " + FsStoreOrderLogEnum.CUSTOMER_SERVICE_STOP.getDesc();
+        } else if (operateType == 2) {
+            FsDoctor doctor = doctorMapper.selectFsDoctorByDoctorId(fsStoreOrder.getDoctorId());
+            status = FsStoreOrderLogEnum.DOCTOR_STOP.getValue();
+            msg = doctor.getDoctorName() + " " + FsStoreOrderLogEnum.DOCTOR_STOP.getDesc();
+        }
+        //添加订单日志
+        fsStoreOrderLogsService.create(fsStoreOrder.getOrderId(), status,
+                msg);
+
         //订单日志
         FsStoreOrderLogs Logs = new FsStoreOrderLogs();
         Logs.setChangeMessage(FsStoreOrderStatusEnum.REFUND_STATUS_2.getDesc());
@@ -954,6 +1002,40 @@ public class FsUserInformationCollectionServiceImpl extends ServiceImpl<FsUserIn
                     refund(payment, orderType, orderId);
                 }
             }
+            //erpType== null 兼容之前订单没有设值 erpType==2人工在兔灵作废
+            if (fsStoreOrder.getErpType() == null || fsStoreOrder.getErpType() == 1) {
+                try {
+                    //管易作废
+                    if (StringUtils.isNotEmpty(fsStoreOrder.getExtendOrderId())) {
+                        if (!fsStoreOrder.getExtendOrderId().equals("HIS")) {
+                            ErpRefundUpdateRequest request = new ErpRefundUpdateRequest();
+                            request.setTid(fsStoreOrder.getOrderCode());
+                            request.setOid(fsStoreOrder.getOrderCode());
+                            request.setRefund_state(1);
+                            //request.setStoreAfterSalesId(fsStoreAfterSales.getId());
+                            FsSysConfig sysConfig = configUtil.getSysConfig();
+                            Integer erpType = sysConfig.getErpType();
+                            if (erpType == 1) {
+                                erpOrderService.refundUpdate(request);
+                            }else if (erpType == 2) {
+                                //旺店通
+                                wdtErpOrderService.refundUpdate(request);
+                            } else if (erpType == 3) {
+                                //瀚智
+                                hzOMSerpOrderService.refundUpdate(request);
+                            }  else if (erpType == 4) {
+                                dfOrderService.refundUpdate(request);
+                            }else if(erpType == 5){
+                                jSTOrderService.refundUpdate(request);
+                            }else if(erpType == 6){
+                                k9OrderService.refundUpdate(request);
+                            }
+                        }
+                    }
+                } catch (Exception e) {
+//                throw new RuntimeException(e);
+                }
+            }
         } else {
             //处理支付金额是0元的订单
             if (fsStoreOrder.getPayMoney() == null || fsStoreOrder.getPayMoney().compareTo(BigDecimal.ZERO) != 0) {
@@ -1002,7 +1084,7 @@ public class FsUserInformationCollectionServiceImpl extends ServiceImpl<FsUserIn
 
     @Override
     @Transactional(rollbackFor = Exception.class)
-    public R stopCollection(FsUserInformationCollectionSchedule param, Long operateId) {
+    public R stopCollection(FsUserInformationCollectionSchedule param, Long operateId,Integer operateType) {
         FsUserInformationCollection collection = fsUserInformationCollectionMapper.selectFsUserInformationCollectionById(param.getCollectionId());
         if (collection == null) {
             return R.error("未找到采集信息");
@@ -1042,7 +1124,7 @@ public class FsUserInformationCollectionServiceImpl extends ServiceImpl<FsUserIn
                 if (fsStoreOrder != null&&"0".equals(fsStoreOrder.getRefundStatus())&&( fsStoreOrder.getStatus()==2||fsStoreOrder.getStatus()==3)){
                     //如果传入订单号不为空则在终止时需要执行退款操作
                     map.setPackageOrderCode(param.getOrderCode());
-                    autoRefund(map);
+                    autoRefund(map,operateType);
                 }
 
             }

+ 1 - 1
fs-user-app/src/main/java/com/fs/app/controller/UserInfoCollectionController.java

@@ -145,7 +145,7 @@ public class UserInfoCollectionController extends AppBaseController {
     @PutMapping("/schedule/stop")
     public R stop(@RequestBody FsUserInformationCollectionSchedule param){
         FsUser user=userService.selectFsUserByUserId(Long.parseLong(getUserId()));
-        return userInformationCollectionService.stopCollection(param,user.getCompanyUserId());
+        return userInformationCollectionService.stopCollection(param,user.getCompanyUserId(),1);
     }
     /**
      * 微信小程序获取用户信息采集任务流程步骤枚举列表