|
|
@@ -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);
|
|
|
}
|
|
|
|
|
|
}
|