师傅售后单list展示

This commit is contained in:
clunt 2022-09-25 22:35:27 +08:00
parent 220605efea
commit e4db217b0c
5 changed files with 125 additions and 1 deletions

View File

@ -1,6 +1,9 @@
package com.ghy.web.controller.order; package com.ghy.web.controller.order;
import java.util.List; import java.util.List;
import java.util.stream.Collectors;
import com.ghy.order.service.OrderDetailService;
import org.apache.shiro.authz.annotation.RequiresPermissions; import org.apache.shiro.authz.annotation.RequiresPermissions;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller; import org.springframework.stereotype.Controller;
@ -30,6 +33,9 @@ public class AfterServiceRecordController extends BaseController
@Autowired @Autowired
private IAfterServiceRecordService afterServiceRecordService; private IAfterServiceRecordService afterServiceRecordService;
@Autowired
private OrderDetailService orderDetailService;
@RequiresPermissions("worker:record:view") @RequiresPermissions("worker:record:view")
@GetMapping() @GetMapping()
public String record() public String record()
@ -37,6 +43,17 @@ public class AfterServiceRecordController extends BaseController
return prefix + "/record"; return prefix + "/record";
} }
@PostMapping("/all/list")
@ResponseBody
public TableDataInfo allList(AfterServiceRecord afterServiceRecord){
List<AfterServiceRecord> list = afterServiceRecordService.selectAfterServiceRecordList(afterServiceRecord);
List<Long> orderDetailIds = list.stream().map(AfterServiceRecord::getOrderDetailId).collect(Collectors.toList());
startPage();
return getDataTable(list);
}
/** /**
* 查询售后记录列表 * 查询售后记录列表
*/ */

View File

@ -20,10 +20,12 @@ import com.ghy.goods.domain.GoodsStandard;
import com.ghy.goods.service.GoodsImgsService; import com.ghy.goods.service.GoodsImgsService;
import com.ghy.goods.service.GoodsService; import com.ghy.goods.service.GoodsService;
import com.ghy.goods.service.GoodsStandardService; import com.ghy.goods.service.GoodsStandardService;
import com.ghy.order.domain.AfterServiceRecord;
import com.ghy.order.domain.OrderDetail; import com.ghy.order.domain.OrderDetail;
import com.ghy.order.domain.OrderGoods; import com.ghy.order.domain.OrderGoods;
import com.ghy.order.domain.OrderMaster; import com.ghy.order.domain.OrderMaster;
import com.ghy.order.request.OrderProcessRequest; import com.ghy.order.request.OrderProcessRequest;
import com.ghy.order.service.IAfterServiceRecordService;
import com.ghy.order.service.OrderDetailService; import com.ghy.order.service.OrderDetailService;
import com.ghy.order.service.OrderGoodsService; import com.ghy.order.service.OrderGoodsService;
import com.ghy.order.service.OrderMasterService; import com.ghy.order.service.OrderMasterService;
@ -90,6 +92,8 @@ public class OrderDetailController extends BaseController {
private FinancialDetailService financialDetailService; private FinancialDetailService financialDetailService;
@Autowired @Autowired
private OrderFineRecordService orderFineRecordService; private OrderFineRecordService orderFineRecordService;
@Autowired
private IAfterServiceRecordService afterServiceRecordService;
@RequiresPermissions("order:detail:view") @RequiresPermissions("order:detail:view")
@GetMapping() @GetMapping()
@ -282,6 +286,100 @@ public class OrderDetailController extends BaseController {
return voDataTable(orderListResponses, list); return voDataTable(orderListResponses, list);
} }
@PostMapping("/after/list")
@ResponseBody
public TableDataInfo afterServiceList(@RequestBody OrderDetail orderDetail) {
List<AfterServiceRecord> afterServiceRecordList = afterServiceRecordService.selectAfterServiceRecordList(new AfterServiceRecord());
// 踢重后的子单ids
List<Long> detailIds = afterServiceRecordList.stream().map(AfterServiceRecord::getOrderDetailId).distinct().collect(Collectors.toList());
StringBuilder orderDetailIds = new StringBuilder();
detailIds.forEach(id->{
orderDetailIds.append(id).append(",");
});
String ids = orderDetailIds.toString();
if(ids.length() > 0){
orderDetail.setOrderDetailIds(ids);
}
startPage();
List<OrderListResponse> orderListResponses = new ArrayList<>();
List<OrderDetail> list = orderDetailService.selectOrderDetailList(orderDetail);
list.forEach(detail -> {
// 主单信息
OrderMaster orderMaster = orderMasterService.selectById(detail.getOrderMasterId());
// 初始化属性
OrderListResponse orderListResponse = new OrderListResponse();
List<OrderStandard> standardList = new ArrayList<>();
// 师傅信息
Worker worker = workerService.selectById(detail.getWorkerId());
// 消费者信息
// Customer customer = customerService.selectByCustomerId(detail.getCustomerId());
// 商品规格及信息
List<OrderGoods> orderStandardList = orderGoodsService.selectByOrderDetailId(detail.getId());
// 商品信息
GoodsStandard goodsStandard = goodsStandardService.selectById(orderStandardList.get(0).getGoodsStandardId());
Goods goods = goodsService.selectById(goodsStandard.getGoodsId());
// 财务信息
FinancialDetail financialDetail = financialDetailService.selectByOrderDetailId(detail.getId());
// 地址信息
CustomerAddress customerAddress = addressService.selectByCustomerAddressId(orderMaster.getAddressId());
SysArea sysArea = sysAreaService.selectById(customerAddress.getCountryId());
String completeAddress = sysArea.getMergerName().replaceAll(",", "") + customerAddress.getAddress();
for (OrderGoods orderGoods : orderStandardList) {
OrderStandard orderStandard = new OrderStandard();
orderStandard.setStandardName(orderGoods.getGoodsName());
orderStandard.setStandardNum(orderGoods.getGoodsNum());
orderStandard.setServerNum(orderGoods.getServerGoodsNum());
orderStandard.setFinishTime(orderGoods.getFinishTime());
orderStandard.setWaitServerNum(orderGoods.getGoodsNum() - orderGoods.getServerGoodsNum());
standardList.add(orderStandard);
}
// 查询是否超时
OrderTimeoutRecord orderTimeoutRecord = orderFineRecordService.selectByDetailIdAndStatus(detail.getId(), detail.getOrderStatus());
Boolean isOverTime = orderTimeoutRecord == null ? false : true;
// 编辑返回属性
orderListResponse.setOrderDetailId(detail.getId());
orderListResponse.setOrderDetailCode(detail.getCode());
orderListResponse.setOrderMasterId(detail.getOrderMasterId());
orderListResponse.setOrderMasterCode(detail.getOrderMasterCode());
orderListResponse.setGoodsName(goods.getGoodsName());
orderListResponse.setGoodsLogoUrl(goods.getGoodsImgUrl());
orderListResponse.setDiscountMoney(financialDetail.getDiscountMoney());
orderListResponse.setTotalMoney(financialDetail.getTotalMoney());
orderListResponse.setPayMoney(financialDetail.getPayMoney());
orderListResponse.setWorkerName(worker.getName());
orderListResponse.setWorkerPhone(worker.getPhone());
orderListResponse.setCustomerName(customerAddress.getName());
orderListResponse.setCustomerPhone(customerAddress.getPhone());
orderListResponse.setOrderStatus(detail.getOrderStatus());
orderListResponse.setPayStatus(orderMaster.getPayStatus());
orderListResponse.setPayType(orderMaster.getPayType());
orderListResponse.setStandardList(standardList);
orderListResponse.setAddress(completeAddress);
orderListResponse.setServerTime(detail.getRevTime());
orderListResponse.setExpectTimeStart(detail.getExpectTimeStart());
orderListResponse.setExpectTimeEnd(detail.getExpectTimeEnd());
orderListResponse.setWorkBeginTime(detail.getWorkBeginTime());
orderListResponse.setWorkFinishTime(detail.getWorkFinishTime());
orderListResponse.setRemark(goods.getRemark());
orderListResponse.setCustomerRemark(orderMaster.getRemark());
orderListResponse.setOrderType(detail.getOrderType());
orderListResponse.setIsOverTime(isOverTime);
orderListResponses.add(orderListResponse);
});
return voDataTable(orderListResponses, list);
}
@Log(title = "详细订单管理", businessType = BusinessType.EXPORT) @Log(title = "详细订单管理", businessType = BusinessType.EXPORT)
@RequiresPermissions("order:detail:export") @RequiresPermissions("order:detail:export")
@PostMapping("/export") @PostMapping("/export")

View File

@ -5,6 +5,7 @@ import com.ghy.common.core.domain.BaseEntity;
import lombok.Data; import lombok.Data;
import java.util.Date; import java.util.Date;
import java.util.List;
/** /**
* @author clunt * @author clunt
@ -64,4 +65,9 @@ public class OrderDetail extends BaseEntity {
private Long countryId; private Long countryId;
private Boolean isOverTime; private Boolean isOverTime;
private List<AfterServiceRecord> afterServiceRecordList;
private String orderDetailIds;
} }

View File

@ -33,7 +33,6 @@ public interface OrderDetailService {
*/ */
List<OrderDetail> selectOrderDetailList(OrderDetail orderDetail); List<OrderDetail> selectOrderDetailList(OrderDetail orderDetail);
/** /**
* @param orderDetailId 详细订单id * @param orderDetailId 详细订单id
* @return 详细订单 * @return 详细订单
@ -131,4 +130,5 @@ public interface OrderDetailService {
int sureChange(Long financialChangeRecordId); int sureChange(Long financialChangeRecordId);
FinancialChangeRecord getChangedPriceRecord(Long orderDetailId); FinancialChangeRecord getChangedPriceRecord(Long orderDetailId);
} }

View File

@ -105,6 +105,9 @@
<if test="expectTimeEnd != null"> <if test="expectTimeEnd != null">
AND od.expect_time_end &lt;= #{expectTimeEnd} AND od.expect_time_end &lt;= #{expectTimeEnd}
</if> </if>
<if test="orderDetailIds != null">
AND od.id in ( #{orderDetailIds} )
</if>
</where> </where>
order by od.create_time order by od.create_time
<trim suffixOverrides=","> <trim suffixOverrides=",">