From 136a5cf39b311bc1374f4a611e6252d69831726c Mon Sep 17 00:00:00 2001
From: Helius <wangdoubleone@gmail.com>
Date: Sun, 27 Dec 2020 12:18:45 +0800
Subject: [PATCH] finish service order detail

---
 zq-erp/src/main/java/com/matrix/system/app/action/ApiServiceOrderAction.java               |   20 +++++++++
 zq-erp/src/main/java/com/matrix/system/app/mapper/SysBeauticianStateMapper.java            |   11 +++++
 zq-erp/src/main/java/com/matrix/system/hive/service/SysBeauticianStateService.java         |    2 
 zq-erp/src/main/java/com/matrix/system/app/mapper/SysProjServiceMapper.java                |   22 +++++++++++
 zq-erp/src/main/java/com/matrix/system/hive/service/imp/SysBeauticianStateServiceImpl.java |    8 ++-
 zq-erp/src/main/java/com/matrix/system/app/vo/ServiceOrderDetailItemVo.java                |   14 ++++--
 6 files changed, 67 insertions(+), 10 deletions(-)

diff --git a/zq-erp/src/main/java/com/matrix/system/app/action/ApiServiceOrderAction.java b/zq-erp/src/main/java/com/matrix/system/app/action/ApiServiceOrderAction.java
index 03a4459..3c022ec 100644
--- a/zq-erp/src/main/java/com/matrix/system/app/action/ApiServiceOrderAction.java
+++ b/zq-erp/src/main/java/com/matrix/system/app/action/ApiServiceOrderAction.java
@@ -10,6 +10,7 @@
 import com.matrix.system.app.dto.CreateServiceOrderDto;
 import com.matrix.system.app.dto.ServiceOrderListDto;
 import com.matrix.system.app.mapper.SysBeauticianStateMapper;
+import com.matrix.system.app.mapper.SysProjServiceMapper;
 import com.matrix.system.app.mapper.SysProjUseMapper;
 import com.matrix.system.app.vo.*;
 import com.matrix.system.common.bean.SysUsers;
@@ -19,6 +20,7 @@
 import com.matrix.system.hive.bean.SysProjUse;
 import com.matrix.system.hive.bean.SysVipInfo;
 import com.matrix.system.hive.plugin.util.CollectionUtils;
+import com.matrix.system.hive.service.SysBeauticianStateService;
 import com.matrix.system.hive.service.SysProjServicesService;
 import com.matrix.system.hive.service.SysProjUseService;
 import com.matrix.system.hive.service.SysVipInfoService;
@@ -51,6 +53,9 @@
 
     @Autowired
     private SysProjServicesService projServicesService;
+
+    @Autowired
+    private SysBeauticianStateService sysBeauticianStateService;
 
     @ApiOperation(value ="获取用户项目/套餐列表", notes = "获取用户项目/套餐列表")
     @ApiResponses({
@@ -159,6 +164,19 @@
     })
     @GetMapping(value = "/findServiceOrderDetail/{id}")
     public AjaxResult findServiceOrderDetail(@PathVariable("id") Long id) {
-        return null;
+        SysProjServices projServices = projServicesService.findById(id);
+        if (projServices == null) {
+            return AjaxResult.buildFailInstance("服务单不存在");
+        }
+
+        ServiceOrderDetailVo detailVo = SysProjServiceMapper.INSTANCE.projServiceToDetailVo(projServices);
+
+        List<SysBeauticianState> beauticianStates = sysBeauticianStateService.findBySerId(projServices.getId());
+        List<ServiceOrderDetailItemVo> items = SysBeauticianStateMapper.INSTANCE.entitiesToDetailItemsVo(beauticianStates);
+        detailVo.setItems(items);
+
+        AjaxResult ajaxResult = AjaxResult.buildSuccessInstance("获取成功");
+        ajaxResult.putInMap("detail", detailVo);
+        return ajaxResult;
     }
 }
diff --git a/zq-erp/src/main/java/com/matrix/system/app/mapper/SysBeauticianStateMapper.java b/zq-erp/src/main/java/com/matrix/system/app/mapper/SysBeauticianStateMapper.java
index 571a397..fc9f600 100644
--- a/zq-erp/src/main/java/com/matrix/system/app/mapper/SysBeauticianStateMapper.java
+++ b/zq-erp/src/main/java/com/matrix/system/app/mapper/SysBeauticianStateMapper.java
@@ -1,8 +1,10 @@
 package com.matrix.system.app.mapper;
 
 import com.matrix.system.app.dto.CreateServiceOrderItemDto;
+import com.matrix.system.app.vo.ServiceOrderDetailItemVo;
 import com.matrix.system.hive.bean.SysBeauticianState;
 import org.mapstruct.Mapper;
+import org.mapstruct.Mapping;
 import org.mapstruct.factory.Mappers;
 
 import java.util.List;
@@ -20,4 +22,13 @@
 
     public abstract List<SysBeauticianState> orderItmesVoToEntityList(List<CreateServiceOrderItemDto> dtoList);
 
+    @Mapping(source = "projUse.price", target = "price")
+    @Mapping(source = "projInfo.name", target = "name")
+    @Mapping(source = "projInfo.timeLength", target = "timeLength")
+    @Mapping(source = "beautiStaffInfo.suName", target = "beautyName")
+    @Mapping(source = "extract", target = "commission")
+    public abstract ServiceOrderDetailItemVo entityToDetailItemVo(SysBeauticianState sysBeauticianState);
+
+    public abstract List<ServiceOrderDetailItemVo> entitiesToDetailItemsVo(List<SysBeauticianState> list);
+
 }
diff --git a/zq-erp/src/main/java/com/matrix/system/app/mapper/SysProjServiceMapper.java b/zq-erp/src/main/java/com/matrix/system/app/mapper/SysProjServiceMapper.java
new file mode 100644
index 0000000..9e5adc5
--- /dev/null
+++ b/zq-erp/src/main/java/com/matrix/system/app/mapper/SysProjServiceMapper.java
@@ -0,0 +1,22 @@
+package com.matrix.system.app.mapper;
+
+import com.matrix.system.app.vo.ServiceOrderDetailVo;
+import com.matrix.system.hive.bean.SysProjServices;
+import org.mapstruct.Mapper;
+import org.mapstruct.Mapping;
+import org.mapstruct.factory.Mappers;
+
+/**
+ * @author wzy
+ * @date 2020-12-27
+ **/
+@Mapper
+public abstract class SysProjServiceMapper {
+    public static final SysProjServiceMapper INSTANCE = Mappers.getMapper(SysProjServiceMapper.class);
+
+    @Mapping(source = "state", target = "status")
+    @Mapping(source = "vipInfo.vipName", target = "vipName")
+    @Mapping(source = "vipInfo.phone", target = "phone")
+    @Mapping(source = "createStaffName", target = "staffName")
+    public abstract ServiceOrderDetailVo projServiceToDetailVo(SysProjServices projServices);
+}
diff --git a/zq-erp/src/main/java/com/matrix/system/app/vo/ServiceOrderDetailItemVo.java b/zq-erp/src/main/java/com/matrix/system/app/vo/ServiceOrderDetailItemVo.java
index ddccddf..18220b4 100644
--- a/zq-erp/src/main/java/com/matrix/system/app/vo/ServiceOrderDetailItemVo.java
+++ b/zq-erp/src/main/java/com/matrix/system/app/vo/ServiceOrderDetailItemVo.java
@@ -1,5 +1,7 @@
 package com.matrix.system.app.vo;
 
+import com.fasterxml.jackson.annotation.JsonFormat;
+import com.matrix.core.tools.DateUtil;
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
 
@@ -22,9 +24,11 @@
     @ApiModelProperty(value = "价格")
     private BigDecimal price;
 
+    @JsonFormat(pattern = DateUtil.DATE_FORMAT_MM, timezone = "GMT+8")
     @ApiModelProperty(value = "服务开始时间")
-    private Date startTime;
+    private Date beginTime;
 
+    @JsonFormat(pattern = DateUtil.DATE_FORMAT_MM, timezone = "GMT+8")
     @ApiModelProperty(value = "服务结束时间")
     private Date endTime;
 
@@ -61,12 +65,12 @@
         this.price = price;
     }
 
-    public Date getStartTime() {
-        return startTime;
+    public Date getBeginTime() {
+        return beginTime;
     }
 
-    public void setStartTime(Date startTime) {
-        this.startTime = startTime;
+    public void setBeginTime(Date beginTime) {
+        this.beginTime = beginTime;
     }
 
     public Date getEndTime() {
diff --git a/zq-erp/src/main/java/com/matrix/system/hive/service/SysBeauticianStateService.java b/zq-erp/src/main/java/com/matrix/system/hive/service/SysBeauticianStateService.java
index 17cf5ab..5904b62 100644
--- a/zq-erp/src/main/java/com/matrix/system/hive/service/SysBeauticianStateService.java
+++ b/zq-erp/src/main/java/com/matrix/system/hive/service/SysBeauticianStateService.java
@@ -75,7 +75,7 @@
 	public List<SysBeauticianState> findByTimeAndStaff(Long id, Date beginTime, Date endTime);
 
 
-   	
+   	public List<SysBeauticianState> findBySerId(Long serviceId);
 
   
 }
\ No newline at end of file
diff --git a/zq-erp/src/main/java/com/matrix/system/hive/service/imp/SysBeauticianStateServiceImpl.java b/zq-erp/src/main/java/com/matrix/system/hive/service/imp/SysBeauticianStateServiceImpl.java
index 668802f..843dd94 100644
--- a/zq-erp/src/main/java/com/matrix/system/hive/service/imp/SysBeauticianStateServiceImpl.java
+++ b/zq-erp/src/main/java/com/matrix/system/hive/service/imp/SysBeauticianStateServiceImpl.java
@@ -93,7 +93,9 @@
 	
 		return sysBeauticianStateDao.selectByTimeAndStaff(id,beginTime,endTime);
 	}
-	
-   	
-	
+
+	@Override
+	public List<SysBeauticianState> findBySerId(Long serviceId) {
+		return sysBeauticianStateDao.selectBySerIds(serviceId);
+	}
 }
\ No newline at end of file

--
Gitblit v1.9.1