From 0df561aa2c21423f1d4bd78040c4c3507b89e259 Mon Sep 17 00:00:00 2001
From: Helius <wangdoubleone@gmail.com>
Date: Mon, 12 Apr 2021 18:11:59 +0800
Subject: [PATCH] Merge branch 'score_shop' of http://120.27.238.55:7000/r/beauty-erp into score_shop

---
 zq-erp/src/main/java/com/matrix/system/activity/service/ActivitySignWriteoffService.java |   94 +++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 94 insertions(+), 0 deletions(-)

diff --git a/zq-erp/src/main/java/com/matrix/system/activity/service/ActivitySignWriteoffService.java b/zq-erp/src/main/java/com/matrix/system/activity/service/ActivitySignWriteoffService.java
index c8478a8..ed65769 100644
--- a/zq-erp/src/main/java/com/matrix/system/activity/service/ActivitySignWriteoffService.java
+++ b/zq-erp/src/main/java/com/matrix/system/activity/service/ActivitySignWriteoffService.java
@@ -1,5 +1,6 @@
 package com.matrix.system.activity.service;
 
+import cn.hutool.core.collection.CollUtil;
 import cn.hutool.core.util.ObjectUtil;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
@@ -10,25 +11,36 @@
 import com.matrix.system.activity.dao.ActivitySignAwardSetDao;
 import com.matrix.system.activity.dao.ActivitySignReceiveRecordDao;
 import com.matrix.system.activity.dao.ActivitySignWriteoffDao;
+import com.matrix.system.activity.dto.LogisticsSubmitDto;
 import com.matrix.system.activity.dto.SignWriteoffDto;
 import com.matrix.system.activity.dto.SignWriteoffListDto;
 import com.matrix.system.activity.dto.WriteoffCodeSubmitDto;
 import com.matrix.system.activity.entity.ActivitySignAwardSet;
 import com.matrix.system.activity.entity.ActivitySignReceiveRecord;
 import com.matrix.system.activity.entity.ActivitySignWriteoff;
+import com.matrix.system.activity.vo.LogisticsVo;
 import com.matrix.system.activity.vo.SignWriteoffListVo;
 import com.matrix.system.activity.vo.SignWriteoffVo;
 import com.matrix.system.activity.vo.ZjrVo;
 import com.matrix.system.common.bean.SysUsers;
+import com.matrix.system.common.bean.SystemDictionary;
+import com.matrix.system.common.dao.SystemDictionaryDao;
 import com.matrix.system.hive.action.util.QueryUtil;
 import com.matrix.system.hive.dao.SysVipInfoDao;
 import com.matrix.system.shopXcx.bean.ShopActivities;
+import com.matrix.system.shopXcx.bean.ShopDeliveryInfo;
+import com.matrix.system.shopXcx.bean.ShopLogisticsInfo;
 import com.matrix.system.shopXcx.dao.ShopActivitiesDao;
+import com.matrix.system.shopXcx.dao.ShopDeliveryInfoDao;
+import com.matrix.system.shopXcx.dao.ShopLogisticsInfoDao;
+
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 
+import java.util.ArrayList;
 import java.util.Date;
+import java.util.List;
 
 /**
  * @description 核销记录
@@ -48,6 +60,12 @@
 	ActivitySignReceiveRecordDao activitySignReceiveRecordDao;
 	@Autowired
 	SysVipInfoDao sysVipInfoDao;
+	@Autowired
+	SystemDictionaryDao systemDictionaryDao;
+	@Autowired
+	ShopDeliveryInfoDao shopDeliveryInfoDao;
+	@Autowired
+	ShopLogisticsInfoDao shopLogisticsInfoDao;
 
 	public IPage<SignWriteoffListVo> findSignWriteoffList(Page<SignWriteoffListVo> page,
 			SignWriteoffListDto signWriteoffListDto) {
@@ -79,6 +97,33 @@
         	ShopActivities shopActivities = shopActivitiesDao.selectById(activitySignWriteoff.getActId());
         	signWriteoffVo.setHdmc(shopActivities.getActName());
         	signWriteoffVo.setHdbh(shopActivities.getActCode());
+        	//获取收货地址信息
+        	int awardWay = activitySignAwardSet.getAwardWay();
+        	if(ActivitySignAwardSet.AWARDWAY_TWO == awardWay) {
+        		ActivitySignWriteoff activitySignWriteoffLogistics = activitySignWriteoffDao.selectById(writeoffId);
+        		Long receiveId = activitySignWriteoffLogistics.getReceiveId();
+        		ActivitySignReceiveRecord activitySignReceiveRecordLogistic = activitySignReceiveRecordDao.selectById(receiveId);
+        		signWriteoffVo.setConsignee(activitySignReceiveRecordLogistic.getConsignee());
+        		signWriteoffVo.setConsigneePhone(activitySignReceiveRecordLogistic.getConsigneePhone());
+        		signWriteoffVo.setConsigneeAddress(activitySignReceiveRecordLogistic.getConsigneeAddress());
+        		
+        		//物流跟踪
+        		Integer logisticsId = activitySignWriteoffLogistics.getLogisticsId();
+        		if(ObjectUtil.isNotEmpty(logisticsId)) {
+        			List<ShopLogisticsInfo> shopLogisticsInfos = shopLogisticsInfoDao.selectByDelieryId(logisticsId);
+        			if(CollUtil.isNotEmpty(shopLogisticsInfos)) {
+        				ArrayList<LogisticsVo> logisticsVos = new ArrayList<>();
+        				for(ShopLogisticsInfo shopLogistics : shopLogisticsInfos) {
+        					LogisticsVo logisticsVo = new LogisticsVo();
+        					logisticsVo.setContent(shopLogistics.getDescribe());
+        					logisticsVo.setTimestamp(shopLogistics.getLogisticsTime());
+        					logisticsVos.add(logisticsVo);
+        				}
+        				signWriteoffVo.setActivities(logisticsVos);
+        			}
+        		}
+        		
+        	}
         }
         result.putInMap("signWriteoffVo", signWriteoffVo);
         return result;
@@ -118,6 +163,55 @@
         return new AjaxResult(AjaxResult.STATUS_SUCCESS, "核销成功");
 	}
 
+	@Transactional
+	public AjaxResult logisticsSubmit(LogisticsSubmitDto logisticsSubmitDto) {
+		//设置用户公司ID
+        QueryUtil.setQueryLimitCom(logisticsSubmitDto);
+        SysUsers sysUsers = (SysUsers) WebUtil.getSession().getAttribute(MatrixConstance.LOGIN_KEY);
+        Long writeoffId = logisticsSubmitDto.getWriteoffId();
+        /**
+         * 更新领取记录表的收货信息和状态
+         * 更新核销记录表的状态和物流ID
+         */
+        ActivitySignWriteoff activitySignWriteoff = activitySignWriteoffDao.selectById(writeoffId);
+        //新增一条物流信息
+        ShopDeliveryInfo shopDeliveryInfo = new ShopDeliveryInfo();
+        Long receiveId = activitySignWriteoff.getReceiveId();
+        SystemDictionary systemDictionary = systemDictionaryDao.selectByCode(logisticsSubmitDto.getKdgs());
+        if (ObjectUtil.isEmpty(systemDictionary)) {
+            return new AjaxResult(AjaxResult.STATUS_FAIL, "没有找到物流公司信息!");
+        }
+        shopDeliveryInfo.setUserId(activitySignWriteoff.getUserId());
+        shopDeliveryInfo.setReceiveId(receiveId);
+        shopDeliveryInfo.setReceiveAddress(logisticsSubmitDto.getShdz());
+
+        shopDeliveryInfo.setLogisticsCompany(systemDictionary.getName());
+        shopDeliveryInfo.setLogisticsCompanyCode(systemDictionary.getCode());
+        shopDeliveryInfo.setDeliveryWay("物流配送");
+
+        shopDeliveryInfo.setWaybillNo(logisticsSubmitDto.getKddh());
+        shopDeliveryInfo.setUpdateBy(sysUsers.getSuName());
+        shopDeliveryInfo.setCreateBy(sysUsers.getSuName());
+
+        shopDeliveryInfo.setDeliveryTime(new Date());
+        shopDeliveryInfoDao.insert(shopDeliveryInfo);
+        //更新核销记录
+        activitySignWriteoff.setState(ActivitySignWriteoff.STATE_THREE);
+        activitySignWriteoff.setWriteoffTime(new Date());
+        activitySignWriteoff.setWriteoffUser(sysUsers.getSuName());
+        activitySignWriteoff.setWriteoffUserid(sysUsers.getSuId());
+        activitySignWriteoff.setLogisticsId(shopDeliveryInfo.getId());
+        activitySignWriteoffDao.updateById(activitySignWriteoff);
+        //更新领取记录
+        ActivitySignReceiveRecord activitySignReceiveRecord = activitySignReceiveRecordDao.selectById(receiveId);
+        activitySignReceiveRecord.setState(ActivitySignReceiveRecord.STATE_DONE);
+        activitySignReceiveRecord.setConsignee(logisticsSubmitDto.getShr());
+        activitySignReceiveRecord.setConsigneeAddress(logisticsSubmitDto.getShdz());
+        activitySignReceiveRecord.setConsigneePhone(logisticsSubmitDto.getLxdh());
+        activitySignReceiveRecordDao.updateById(activitySignReceiveRecord);
+        return new AjaxResult(AjaxResult.STATUS_SUCCESS, "发货成功");
+	}
+
 
 
 

--
Gitblit v1.9.1