|
@@ -16,6 +16,8 @@ import com.gree.mall.manager.bean.listvo.param.WorkOrderZfireParam;
|
|
|
import com.gree.mall.manager.bean.listvo.workorder.OrderBase2VO;
|
|
|
import com.gree.mall.manager.bean.listvo.workorder.OrderBaseAppraiseVO;
|
|
|
import com.gree.mall.manager.bean.listvo.workorder.OrderBaseVO;
|
|
|
+import com.gree.mall.manager.bean.order.PgOrderBaseDetail;
|
|
|
+import com.gree.mall.manager.bean.websit.SettlementOrderDetail;
|
|
|
import com.gree.mall.manager.bean.workorder.OrderAddBean2DTO;
|
|
|
import com.gree.mall.manager.bean.workorder.OrderAddBeanDTO;
|
|
|
import com.gree.mall.manager.commonmapper.CommonMapper;
|
|
@@ -101,6 +103,9 @@ public class OrderBaseLogic {
|
|
|
private final PgAppraiseConfigService pgAppraiseConfigService;
|
|
|
private final ElasticsearchRestTemplate elasticsearchRestTemplate;
|
|
|
private final WebsitDispatchService websitDispatchService;
|
|
|
+ private final PgOrderOperatorLogService pgOrderOperatorLogService;
|
|
|
+ private final SettlementOrderService settlementOrderService;
|
|
|
+ private final SettlementOrderItemService settlementOrderItemService;
|
|
|
|
|
|
/**
|
|
|
* 工单列表
|
|
@@ -127,7 +132,7 @@ public class OrderBaseLogic {
|
|
|
|
|
|
List<String> orderBaseId = new ArrayList<>();
|
|
|
|
|
|
- if (zfireParamBean.getIsWait() != null && zfireParamBean.getIsWait()){
|
|
|
+ if (zfireParamBean.getIsWait() != null && zfireParamBean.getIsWait()) {
|
|
|
List<String> collect = workerOrderService.lambdaQuery()
|
|
|
.eq(WorkerOrder::getPayStatus, "WAIT")
|
|
|
.ne(WorkerOrder::getWorkerOrderId, "").select(WorkerOrder::getWorkerOrderId)
|
|
@@ -147,7 +152,7 @@ public class OrderBaseLogic {
|
|
|
zfireParamBean.setAdminWebsitIds(zfireParamBean.getAdminWebsitIds());
|
|
|
|
|
|
IPage<OrderBaseVO> page = commonMapper.orderBaseList(new Page(zfireParamBean.getPageNum(), zfireParamBean.getPageSize()),
|
|
|
- zfireParamBean, adminUser.getType(),adminUser.getType().equals(1)?adminUser.getCompanyWechatId():null,orderBaseId);
|
|
|
+ zfireParamBean, adminUser.getType(), adminUser.getType().equals(1) ? adminUser.getCompanyWechatId() : null, orderBaseId);
|
|
|
|
|
|
//服务单标识
|
|
|
if (zfireParamBean.getPageSize() != -1 && page.getTotal() > 0) {
|
|
@@ -258,10 +263,10 @@ public class OrderBaseLogic {
|
|
|
*
|
|
|
* @return
|
|
|
*/
|
|
|
- public List<Map<String, Object>> countStatus(String startTime,String endTime,String orderSmallType, String orderSmallTypeText) {
|
|
|
+ public List<Map<String, Object>> countStatus(String startTime, String endTime, String orderSmallType, String orderSmallTypeText) {
|
|
|
AdminUserCom adminUser = commonLogic.getAdminUser();
|
|
|
List<Map<String, Object>> maps = orderBaseCMapper.countOrderStatus(adminUser.getCompanyWechatId(), adminUser.getAdminWebsitIds(),
|
|
|
- adminUser.getType(), orderSmallType, orderSmallTypeText,startTime,endTime);
|
|
|
+ adminUser.getType(), orderSmallType, orderSmallTypeText, startTime, endTime);
|
|
|
|
|
|
BoolQueryBuilder queryBuilder = QueryBuilders.boolQuery();
|
|
|
|
|
@@ -286,18 +291,19 @@ public class OrderBaseLogic {
|
|
|
.withQuery(queryBuilder)
|
|
|
.withPageable(PageRequest.of(1, 1))
|
|
|
.addAggregation(this.getAggs(AggregationBuilders.filter("DZF", QueryBuilders.boolQuery()
|
|
|
- .must(QueryBuilders.termsQuery("id",orderBaseId))
|
|
|
+ .must(QueryBuilders.termsQuery("id", orderBaseId))
|
|
|
)))
|
|
|
.build();
|
|
|
SearchHits responseDZF = elasticsearchRestTemplate.search(searchQueryDZF, OrderBaseEs.class);
|
|
|
- DZF.put("total",this.getWorkerOrderCountResult(responseDZF.getAggregations(),"DZF"));
|
|
|
- DZF.put("orderStatus","DZF");
|
|
|
+ DZF.put("total", this.getWorkerOrderCountResult(responseDZF.getAggregations(), "DZF"));
|
|
|
+ DZF.put("orderStatus", "DZF");
|
|
|
|
|
|
maps.add(DZF);
|
|
|
|
|
|
}
|
|
|
return maps;
|
|
|
}
|
|
|
+
|
|
|
public AbstractAggregationBuilder<?> getAggs(FilterAggregationBuilder filter) {
|
|
|
return filter.subAggregation(AggregationBuilders.sum("total_mac_sum").field("total_num"))
|
|
|
.subAggregation(AggregationBuilders.terms("order_type_group").field("order_type")
|
|
@@ -354,8 +360,8 @@ public class OrderBaseLogic {
|
|
|
orderBase.setIsQd(orderAddBeanDTO.getIsQd());
|
|
|
orderBase.setIsQdNotice(true);
|
|
|
orderBase.setId(orderBaseId);
|
|
|
- orderBase.setIsImportExcel(orderBase.getIsImportExcel() != null?old.getIsImportExcel():false);
|
|
|
- orderBase.setIsMeet(orderBase.getIsImportExcel()?orderAddBeanDTO.getIsMeet():true);
|
|
|
+ orderBase.setIsImportExcel(orderBase.getIsImportExcel() != null ? old.getIsImportExcel() : false);
|
|
|
+ orderBase.setIsMeet(orderBase.getIsImportExcel() ? orderAddBeanDTO.getIsMeet() : true);
|
|
|
|
|
|
|
|
|
//是否变更了师傅
|
|
@@ -411,7 +417,7 @@ public class OrderBaseLogic {
|
|
|
orderBase.insertOrUpdate();
|
|
|
|
|
|
|
|
|
- orderFlagLogic.saveOrderFlag(Lists.newArrayList(orderBase.getId()),OrderFlagEnum.ORDER);
|
|
|
+ orderFlagLogic.saveOrderFlag(Lists.newArrayList(orderBase.getId()), OrderFlagEnum.ORDER);
|
|
|
|
|
|
//日志记录
|
|
|
if (addFlag) {
|
|
@@ -1400,7 +1406,7 @@ public class OrderBaseLogic {
|
|
|
orderLogLogic.addLog(pgOrderBase.getId(), "创建工单", "创建工单-家盛茂商城api", websitName);
|
|
|
//派工网点
|
|
|
if (StringUtils.isNotBlank(pgOrderBase.getWebsitId())) {
|
|
|
- orderLogLogic.addLog(pgOrderBase.getId(), "指派网点", "派工给网点【" +(pgOrderBase.getWebsitId())+ pgOrderBase.getWebsitName() + "】", websitName);
|
|
|
+ orderLogLogic.addLog(pgOrderBase.getId(), "指派网点", "派工给网点【" + (pgOrderBase.getWebsitId()) + pgOrderBase.getWebsitName() + "】", websitName);
|
|
|
}
|
|
|
//派工给师傅
|
|
|
if (StringUtils.isNotBlank(pgOrderBase.getWorkerId())) {
|
|
@@ -1418,9 +1424,10 @@ public class OrderBaseLogic {
|
|
|
String format1 = sdf3.format(pgOrderBase.getAppointmentEndTime());
|
|
|
|
|
|
String s2 = StringUtils.isNotBlank(pgOrderBase.getAppointmentRemark()) ? "备注:" + pgOrderBase.getAppointmentRemark() : "";
|
|
|
- orderLogLogic.addLog(pgOrderBase.getId(), "用户预约", "预约时间:" + sdf.format(pgOrderBase.getAppointmentTime())+" "+format+"-"+format1 + " " + "," + s2, websitName);
|
|
|
+ orderLogLogic.addLog(pgOrderBase.getId(), "用户预约", "预约时间:" + sdf.format(pgOrderBase.getAppointmentTime()) + " " + format + "-" + format1 + " " + "," + s2, websitName);
|
|
|
}
|
|
|
}
|
|
|
+
|
|
|
/**
|
|
|
* 生成过程反馈
|
|
|
*
|
|
@@ -1432,7 +1439,7 @@ public class OrderBaseLogic {
|
|
|
orderLogLogic.addLog(pgOrderBase.getId(), "创建工单", "创建工单-自建工单", websitName);
|
|
|
//派工网点
|
|
|
if (StringUtils.isNotBlank(pgOrderBase.getWebsitId())) {
|
|
|
- orderLogLogic.addLog(pgOrderBase.getId(), "指派网点", "派工给网点【" +(pgOrderBase.getWebsitId())+ pgOrderBase.getWebsitName() + "】", websitName);
|
|
|
+ orderLogLogic.addLog(pgOrderBase.getId(), "指派网点", "派工给网点【" + (pgOrderBase.getWebsitId()) + pgOrderBase.getWebsitName() + "】", websitName);
|
|
|
}
|
|
|
//派工给师傅
|
|
|
if (StringUtils.isNotBlank(pgOrderBase.getWorkerId())) {
|
|
@@ -1450,13 +1457,13 @@ public class OrderBaseLogic {
|
|
|
String format1 = sdf3.format(pgOrderBase.getAppointmentEndTime());
|
|
|
|
|
|
String s2 = StringUtils.isNotBlank(pgOrderBase.getAppointmentRemark()) ? "备注:" + pgOrderBase.getAppointmentRemark() : "";
|
|
|
- orderLogLogic.addLog(pgOrderBase.getId(), "用户预约", "预约时间:" + sdf.format(pgOrderBase.getAppointmentTime())+" "+format+"-"+format1 + " " + "," + s2, websitName);
|
|
|
+ orderLogLogic.addLog(pgOrderBase.getId(), "用户预约", "预约时间:" + sdf.format(pgOrderBase.getAppointmentTime()) + " " + format + "-" + format1 + " " + "," + s2, websitName);
|
|
|
}
|
|
|
}
|
|
|
|
|
|
public Region getRegion(String province, String city, String area, String street) {
|
|
|
Region one = regionService.lambdaQuery()
|
|
|
- .like(Region::getProvinceName,province).eq(Region::getCityName,city).eq(Region::getAreaName,area).eq(Region::getName,street).last("limit 1").one();
|
|
|
+ .like(Region::getProvinceName, province).eq(Region::getCityName, city).eq(Region::getAreaName, area).eq(Region::getName, street).last("limit 1").one();
|
|
|
return one;
|
|
|
}
|
|
|
|
|
@@ -1877,7 +1884,6 @@ public class OrderBaseLogic {
|
|
|
PgOrderBase pgOrderBase = pgOrderBaseService.getById(orderBaseId);
|
|
|
|
|
|
|
|
|
-
|
|
|
ItfGreeSynDownloadRec itfGreeSynDownloadRec = new ItfGreeSynDownloadRec();
|
|
|
itfGreeSynDownloadRec.setSynReqTime(new Date());
|
|
|
itfGreeSynDownloadRec.setGreeStatSynStatus(0);
|
|
@@ -1921,8 +1927,8 @@ public class OrderBaseLogic {
|
|
|
orderBase.setIsQd(orderAddBeanDTO.getIsQd());
|
|
|
orderBase.setIsQdNotice(true);
|
|
|
orderBase.setId(orderBaseId);
|
|
|
- orderBase.setIsImportExcel(orderBase.getIsImportExcel() != null?old.getIsImportExcel():false);
|
|
|
- orderBase.setIsMeet(orderBase.getIsImportExcel()?orderAddBeanDTO.getIsMeet():true);
|
|
|
+ orderBase.setIsImportExcel(orderBase.getIsImportExcel() != null ? old.getIsImportExcel() : false);
|
|
|
+ orderBase.setIsMeet(orderBase.getIsImportExcel() ? orderAddBeanDTO.getIsMeet() : true);
|
|
|
|
|
|
|
|
|
//是否变更了师傅
|
|
@@ -1978,7 +1984,7 @@ public class OrderBaseLogic {
|
|
|
orderBase.insertOrUpdate();
|
|
|
|
|
|
|
|
|
- orderFlagLogic.saveOrderFlag(Lists.newArrayList(orderBase.getId()),OrderFlagEnum.ORDER);
|
|
|
+ orderFlagLogic.saveOrderFlag(Lists.newArrayList(orderBase.getId()), OrderFlagEnum.ORDER);
|
|
|
|
|
|
//日志记录
|
|
|
if (addFlag) {
|
|
@@ -2137,48 +2143,48 @@ public class OrderBaseLogic {
|
|
|
OrderBaseStatusEnum orderBaseStatusEnum = OrderBaseStatusEnum.DSHPG;
|
|
|
AdminWebsit adminWebsit = null;
|
|
|
//网点
|
|
|
+
|
|
|
if (StringUtils.isNotBlank(orderAddBeanDTO.getWebsitId())) {
|
|
|
adminWebsit = adminWebsitService.getById(orderAddBeanDTO.getWebsitId());
|
|
|
+ }
|
|
|
+ if (adminWebsit == null) {
|
|
|
|
|
|
+ WebsitDispatch websitDispatch = websitDispatchService.lambdaQuery()
|
|
|
+ .eq(WebsitDispatch::getStreetCode, pgOrderBase.getStreetId())
|
|
|
+ .eq(WebsitDispatch::getSaleTypeId, pgOrderBase.getSaleType())
|
|
|
+ .eq(WebsitDispatch::getCategoryId, orderAddBeanDTO.getOrderProducts().get(0).getMainId())
|
|
|
+ .eq(WebsitDispatch::getOrderSmallId, orderAddBeanDTO.getOrderSmallType())
|
|
|
+ .last("limit 1").one();
|
|
|
|
|
|
- if (adminWebsit == null) {
|
|
|
-
|
|
|
- WebsitDispatch websitDispatch = websitDispatchService.lambdaQuery()
|
|
|
- .eq(WebsitDispatch::getStreetCode, pgOrderBase.getStreetId())
|
|
|
- .eq(WebsitDispatch::getSaleTypeId, pgOrderBase.getSaleType())
|
|
|
- .eq(WebsitDispatch::getCategoryId, orderAddBeanDTO.getOrderProducts().get(0).getMainId())
|
|
|
- .eq(WebsitDispatch::getOrderSmallId, pgOrderBase.getOrderSmallType())
|
|
|
- .last("limit 1").one();
|
|
|
-
|
|
|
- if (websitDispatch != null) {
|
|
|
-
|
|
|
- adminWebsit = adminWebsitService.getById(websitDispatch.getWebsitId());
|
|
|
- }
|
|
|
+ if (websitDispatch != null) {
|
|
|
|
|
|
+ adminWebsit = adminWebsitService.getById(websitDispatch.getWebsitId());
|
|
|
}
|
|
|
- if (adminWebsit == null) {
|
|
|
+
|
|
|
+ }
|
|
|
+ if (adminWebsit == null) {
|
|
|
+ orderBaseStatusEnum = OrderBaseStatusEnum.DSHPG;
|
|
|
+ } else {
|
|
|
+ if (adminWebsit.getType().equals(AdminWebsitTypeEnum.B.getKey())) {
|
|
|
orderBaseStatusEnum = OrderBaseStatusEnum.DSHPG;
|
|
|
- }else {
|
|
|
- if (adminWebsit.getType().equals(AdminWebsitTypeEnum.B.getKey())) {
|
|
|
- orderBaseStatusEnum = OrderBaseStatusEnum.DSHPG;
|
|
|
- }
|
|
|
- if (adminWebsit.getType().equals(AdminWebsitTypeEnum.C.getKey())
|
|
|
- && (orderBaseStatusEnum == OrderBaseStatusEnum.DSHPG || orderBaseStatusEnum == OrderBaseStatusEnum.DWDPG || orderBaseStatusEnum == OrderBaseStatusEnum.DQD)) {
|
|
|
- orderBaseStatusEnum = OrderBaseStatusEnum.DWDPG;
|
|
|
- if (pgOrderBase.getIsQd() != null && pgOrderBase.getIsQd()) {
|
|
|
- orderBaseStatusEnum = OrderBaseStatusEnum.DQD;
|
|
|
- }
|
|
|
- }
|
|
|
- pgOrderBase.setWebsitId(adminWebsit.getWebsitId());
|
|
|
- pgOrderBase.setWebsitName(adminWebsit.getName());
|
|
|
- pgOrderBase.setWebsitPhone(adminWebsit.getWebsitPhone());
|
|
|
- //只记录第一次
|
|
|
- if (pgOrderBase.getDispatchWebsitTime() == null) {
|
|
|
- pgOrderBase.setDispatchWebsitTime(new Date());
|
|
|
+ }
|
|
|
+ if (adminWebsit.getType().equals(AdminWebsitTypeEnum.C.getKey())
|
|
|
+ && (orderBaseStatusEnum == OrderBaseStatusEnum.DSHPG || orderBaseStatusEnum == OrderBaseStatusEnum.DWDPG || orderBaseStatusEnum == OrderBaseStatusEnum.DQD)) {
|
|
|
+ orderBaseStatusEnum = OrderBaseStatusEnum.DWDPG;
|
|
|
+ if (pgOrderBase.getIsQd() != null && pgOrderBase.getIsQd()) {
|
|
|
+ orderBaseStatusEnum = OrderBaseStatusEnum.DQD;
|
|
|
}
|
|
|
}
|
|
|
-
|
|
|
+ pgOrderBase.setWebsitId(adminWebsit.getWebsitId());
|
|
|
+ pgOrderBase.setWebsitName(adminWebsit.getName());
|
|
|
+ pgOrderBase.setWebsitPhone(adminWebsit.getWebsitPhone());
|
|
|
+ //只记录第一次
|
|
|
+ if (pgOrderBase.getDispatchWebsitTime() == null) {
|
|
|
+ pgOrderBase.setDispatchWebsitTime(new Date());
|
|
|
+ }
|
|
|
}
|
|
|
+
|
|
|
+
|
|
|
//师傅
|
|
|
String workerIdsStr = "";
|
|
|
if (CollectionUtils.isNotEmpty(orderAddBeanDTO.getOrderWorkers())) {
|
|
@@ -2271,10 +2277,10 @@ public class OrderBaseLogic {
|
|
|
|
|
|
PgOrderBase pgOrderBase = pgOrderBaseService.getById(orderBaseId);
|
|
|
if (pgOrderBase == null) {
|
|
|
- return;
|
|
|
+ return;
|
|
|
}
|
|
|
if (OrderBaseStatusEnum.isOver().contains(pgOrderBase.getOrderStatus())) {
|
|
|
- return;
|
|
|
+ return;
|
|
|
}
|
|
|
pgOrderBase.setOrderStatus(OrderBaseStatusEnum.YQX.getKey());
|
|
|
pgOrderBase.setOrderStatusText(OrderBaseStatusEnum.YQX.getRemark());
|
|
@@ -2282,4 +2288,38 @@ public class OrderBaseLogic {
|
|
|
|
|
|
orderLogLogic.addLog(orderBaseId, "取消工单", "取消工单-家盛茂商城api", "");
|
|
|
}
|
|
|
+
|
|
|
+ public List<PgOrderBaseDetail> orderDetailJsm(String saleOrderId) {
|
|
|
+ List<PgOrderBase> pgOrderBases = pgOrderBaseService.lambdaQuery().eq(PgOrderBase::getSaleOrderId, saleOrderId)
|
|
|
+ .list();
|
|
|
+
|
|
|
+ List<PgOrderBaseDetail> pgOrderBaseDetails = new ArrayList<>();
|
|
|
+
|
|
|
+ for (PgOrderBase pgOrderBase : pgOrderBases) {
|
|
|
+ PgOrderBaseDetail pgOrderBaseDetail = BeanUtil.toBean(pgOrderBase, PgOrderBaseDetail.class);
|
|
|
+
|
|
|
+ List<PgOrderOperatorLog> pgOrderOperatorLogs = pgOrderOperatorLogService.lambdaQuery().eq(PgOrderOperatorLog::getOrderBaseId, pgOrderBase.getId()).list();
|
|
|
+
|
|
|
+ List<SettlementOrder> settlementOrderList = settlementOrderService.lambdaQuery().eq(SettlementOrder::getWorkerOrderId, pgOrderBase.getId()).list();
|
|
|
+
|
|
|
+ List<SettlementOrderDetail> settlementOrderDetails = new ArrayList<>();
|
|
|
+ for (SettlementOrder settlementOrder : settlementOrderList) {
|
|
|
+ SettlementOrderDetail settlementOrderDetail = BeanUtil.toBean(settlementOrder, SettlementOrderDetail.class);
|
|
|
+
|
|
|
+ List<SettlementOrderItem> settlementOrderItems = settlementOrderItemService.lambdaQuery().eq(SettlementOrderItem::getSettlementOrderId, settlementOrder.getSettlementOrderId())
|
|
|
+ .list();
|
|
|
+
|
|
|
+ settlementOrderDetail.setSettlementOrderItemList(settlementOrderItems);
|
|
|
+
|
|
|
+ settlementOrderDetails.add(settlementOrderDetail);
|
|
|
+ }
|
|
|
+ pgOrderBaseDetail.setPgOrderOperatorLogs(pgOrderOperatorLogs);
|
|
|
+ pgOrderBaseDetail.setSettlementOrderDetails(settlementOrderDetails);
|
|
|
+
|
|
|
+ pgOrderBaseDetails.add(pgOrderBaseDetail);
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
+ return pgOrderBaseDetails;
|
|
|
+ }
|
|
|
}
|