From 8ae799169ef7b19bd859c83cbbaf616aef6cb502 Mon Sep 17 00:00:00 2001
From: Helius <wangdoubleone@gmail.com>
Date: Fri, 25 Dec 2020 10:29:29 +0800
Subject: [PATCH] modify

---
 zq-erp/src/main/resources/mybatis/mapper/hive/SysProjServicesDao.xml                    |   68 +++++
 zq-erp/src/main/java/com/matrix/system/hive/service/imp/SysProjServicesServiceImpl.java |   11 
 zq-erp/src/main/java/com/matrix/system/app/vo/ServiceTcVo.java                          |  105 ++++++++
 zq-erp/pom.xml                                                                          |   21 +
 zq-erp/src/main/java/com/matrix/system/hive/dao/SysProjServicesDao.java                 |    6 
 zq-erp/src/main/java/com/matrix/system/app/vo/ServiceProductListVo.java                 |   58 ++++
 zq-erp/src/main/java/com/matrix/system/app/vo/ServiceProjVo.java                        |   83 ++++++
 zq-erp/src/main/resources/mybatis/mapper/hive/SysProjUseDao.xml                         |    4 
 zq-erp/src/main/java/com/matrix/system/app/vo/ServiceOrderListProjVo.java               |   34 ++
 zq-erp/src/main/java/com/matrix/system/app/action/ApiServiceOrderAction.java            |   96 +++++++
 zq-erp/src/main/java/com/matrix/system/app/dto/ServiceOrderListDto.java                 |   34 ++
 zq-erp/src/main/java/com/matrix/system/app/vo/ServiceOrderListVo.java                   |  106 ++++++++
 zq-erp/src/main/java/com/matrix/system/app/mapper/SysProjUseMapper.java                 |   33 ++
 zq-erp/src/main/java/com/matrix/system/hive/service/SysProjServicesService.java         |    7 
 zq-erp/src/main/java/com/matrix/system/hive/bean/SysProjUse.java                        |   20 +
 15 files changed, 679 insertions(+), 7 deletions(-)

diff --git a/zq-erp/pom.xml b/zq-erp/pom.xml
index e03a4ed..be83b77 100644
--- a/zq-erp/pom.xml
+++ b/zq-erp/pom.xml
@@ -364,7 +364,14 @@
             <version>2.9.2</version>
         </dependency>
         <!-- swagger2 end -->
-      </dependencies>
+
+        <!-- https://mvnrepository.com/artifact/org.mapstruct/mapstruct -->
+        <dependency>
+            <groupId>org.mapstruct</groupId>
+            <artifactId>mapstruct</artifactId>
+            <version>1.3.0.Final</version>
+        </dependency>
+    </dependencies>
     <build>
         <resources>
             <resource>
@@ -417,6 +424,18 @@
             <plugin>
                 <groupId>org.apache.maven.plugins</groupId>
                 <artifactId>maven-compiler-plugin</artifactId>
+                <version>3.5.1</version>
+                <configuration>
+                    <source>1.8</source>
+                    <target>1.8}</target>
+                    <annotationProcessorPaths>
+                        <path>
+                            <groupId>org.mapstruct</groupId>
+                            <artifactId>mapstruct-processor</artifactId>
+                            <version>1.3.0.Final</version>
+                        </path>
+                    </annotationProcessorPaths>
+                </configuration>
             </plugin>
 
             <!-- 热部署插件 -->
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 96325cc..8e97ddf 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
@@ -1,11 +1,30 @@
 package com.matrix.system.app.action;
 
+import com.matrix.core.exception.GlobleException;
 import com.matrix.core.pojo.AjaxResult;
+import com.matrix.core.pojo.PaginationVO;
+import com.matrix.system.app.dto.ServiceOrderListDto;
+import com.matrix.system.app.mapper.SysProjUseMapper;
+import com.matrix.system.app.vo.ServiceOrderListVo;
+import com.matrix.system.app.vo.ServiceProductListVo;
+import com.matrix.system.app.vo.ServiceProjVo;
+import com.matrix.system.app.vo.ServiceTcVo;
+import com.matrix.system.constance.Dictionary;
+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.SysProjServicesService;
+import com.matrix.system.hive.service.SysProjUseService;
+import com.matrix.system.hive.service.SysVipInfoService;
 import io.swagger.annotations.Api;
-import org.springframework.web.bind.annotation.GetMapping;
-import org.springframework.web.bind.annotation.PathVariable;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RestController;
+import io.swagger.annotations.ApiOperation;
+import io.swagger.annotations.ApiResponse;
+import io.swagger.annotations.ApiResponses;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.validation.annotation.Validated;
+import org.springframework.web.bind.annotation.*;
+
+import java.util.List;
 
 /**
  * @author wzy
@@ -16,9 +35,78 @@
 @RequestMapping(value = "/api/serviceOrder")
 public class ApiServiceOrderAction {
 
+    @Autowired
+    private SysProjUseService projUseService;
+
+    @Autowired
+    private SysVipInfoService sysVipInfoService;
+
+    @Autowired
+    private SysProjServicesService projServicesService;
+
+    @ApiOperation(value ="获取用户项目/套餐列表", notes = "获取用户项目/套餐列表")
+    @ApiResponses({
+            @ApiResponse(code = 200, message = "ok", response = ServiceProductListVo.class)
+    })
     @GetMapping(value = "/findVipProject/{vipId}")
     public AjaxResult findVipProject(@PathVariable("vipId") Long vipId) {
+        SysVipInfo vipInfo = sysVipInfoService.findById(vipId);
+
+        if (vipInfo == null) {
+            throw new GlobleException("会员不存在");
+        }
+
+        ServiceProductListVo productListVo = new ServiceProductListVo();
+        productListVo.setName(vipInfo.getVipName());
+        productListVo.setVipId(vipId);
+
+        SysProjUse queryUse = new SysProjUse();
+        queryUse.setVipId(vipId);
+        queryUse.setType(Dictionary.SHOPPING_GOODS_TYPE_XM);
+        queryUse.setTaocanId(-1L);
+        queryUse.setStatus(Dictionary.TAOCAN_STATUS_YX);
+        queryUse.setIsOver(Dictionary.FLAG_NO_N);
+        List<SysProjUse> projList = projUseService.findInPage(queryUse, null);
+        List<ServiceProjVo> serviceProjVos = SysProjUseMapper.INSTANCE.entityListToProjVoList(projList);
+
+        queryUse.setTaocanId(null);
+        queryUse.setType(Dictionary.SHOPPING_GOODS_TYPE_TC);
+        List<SysProjUse> taoCanList = projUseService.findInPage(queryUse, null);
+        List<ServiceTcVo> serviceTcVos = SysProjUseMapper.INSTANCE.entityListToTcVoList(taoCanList);
+
+        if (CollectionUtils.isNotEmpty(serviceTcVos)) {
+            serviceTcVos.forEach(item -> {
+                List<SysProjUse> sysProjUses = projUseService.selectTaocanProjUse(item.getId());
+                List<ServiceProjVo> taocanProj = SysProjUseMapper.INSTANCE.entityListToProjVoList(sysProjUses);
+                item.setProj(taocanProj);
+            });
+        }
+
+        productListVo.setProj(serviceProjVos);
+        productListVo.setComposeProj(serviceTcVos);
+        AjaxResult ajaxResult = AjaxResult.buildSuccessInstance("获取成功");
+        ajaxResult.putInMap("proj", productListVo);
+        return ajaxResult;
+    }
+
+    @ApiOperation(value = "提交服务单", notes = "提交服务单")
+    @PostMapping(value = "/createServiceOrder")
+    public AjaxResult createServiceOrder() {
         return null;
     }
 
+    @ApiOperation(value = "查询服务单列表", notes = "查询服务单列表")
+    @ApiResponses({
+            @ApiResponse(code = 200, message = "ok", response = ServiceOrderListVo.class)
+    })
+    @PostMapping(value = "/findServiceOrderList")
+    public AjaxResult findServiceOrderList(@RequestBody @Validated ServiceOrderListDto orderListDto) {
+        PaginationVO pageVo = new PaginationVO();
+        int offset = (orderListDto.getPageNum() - 1) * orderListDto.getPageSize();
+        int limit = orderListDto.getPageSize();
+        pageVo.setOffset(offset);
+        pageVo.setLimit(limit);
+        return AjaxResult.buildSuccessInstance(projServicesService.findApiServiceOrderListInPage(orderListDto, pageVo), projServicesService.findApiServiceOrderListTotal(orderListDto));
+    }
+
 }
diff --git a/zq-erp/src/main/java/com/matrix/system/app/dto/ServiceOrderListDto.java b/zq-erp/src/main/java/com/matrix/system/app/dto/ServiceOrderListDto.java
new file mode 100644
index 0000000..e27d06a
--- /dev/null
+++ b/zq-erp/src/main/java/com/matrix/system/app/dto/ServiceOrderListDto.java
@@ -0,0 +1,34 @@
+package com.matrix.system.app.dto;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+
+/**
+ * @author wzy
+ * @date 2020-12-24
+ **/
+@ApiModel(value = "ServiceOrderListDto", description = "服务单列表参数接收类")
+public class ServiceOrderListDto extends BasePageDto{
+
+    @ApiModelProperty(value = "查询参数")
+    private String queryKey;
+
+    @ApiModelProperty(value = "状态 0/全部 1/带预约 2/带配料 3/待服务 4/服务中 5/已完成")
+    private String status;
+
+    public String getQueryKey() {
+        return queryKey;
+    }
+
+    public void setQueryKey(String queryKey) {
+        this.queryKey = queryKey;
+    }
+
+    public String getStatus() {
+        return status;
+    }
+
+    public void setStatus(String status) {
+        this.status = status;
+    }
+}
diff --git a/zq-erp/src/main/java/com/matrix/system/app/mapper/SysProjUseMapper.java b/zq-erp/src/main/java/com/matrix/system/app/mapper/SysProjUseMapper.java
new file mode 100644
index 0000000..79afc52
--- /dev/null
+++ b/zq-erp/src/main/java/com/matrix/system/app/mapper/SysProjUseMapper.java
@@ -0,0 +1,33 @@
+package com.matrix.system.app.mapper;
+
+import com.matrix.system.app.vo.ServiceProjVo;
+import com.matrix.system.app.vo.ServiceTcVo;
+import com.matrix.system.hive.bean.SysProjUse;
+import org.mapstruct.Mapper;
+import org.mapstruct.Mapping;
+import org.mapstruct.factory.Mappers;
+
+import java.util.List;
+
+/**
+ * @author wzy
+ * @date 2020-12-24
+ **/
+@Mapper
+public abstract class SysProjUseMapper {
+    public static final SysProjUseMapper INSTANCE = Mappers.getMapper(SysProjUseMapper.class);
+
+    @Mapping(source = "projName", target = "name")
+    @Mapping(source = "failTime", target = "invalidTime")
+    @Mapping(source = "surplusCount", target = "count")
+    public abstract ServiceTcVo entityToServiceTcVo(SysProjUse sysProjUse);
+
+    public abstract List<ServiceTcVo> entityListToTcVoList(List<SysProjUse> list);
+
+    @Mapping(source = "projName", target = "name")
+    @Mapping(source = "failTime", target = "invalidTime")
+    @Mapping(source = "surplusCount", target = "count")
+    public abstract ServiceProjVo entityToServiceProjVo(SysProjUse sysProjUse);
+
+    public abstract List<ServiceProjVo> entityListToProjVoList(List<SysProjUse> list);
+}
diff --git a/zq-erp/src/main/java/com/matrix/system/app/vo/ServiceOrderListProjVo.java b/zq-erp/src/main/java/com/matrix/system/app/vo/ServiceOrderListProjVo.java
new file mode 100644
index 0000000..d20e4a2
--- /dev/null
+++ b/zq-erp/src/main/java/com/matrix/system/app/vo/ServiceOrderListProjVo.java
@@ -0,0 +1,34 @@
+package com.matrix.system.app.vo;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+
+/**
+ * @author wzy
+ * @date 2020-12-24
+ **/
+@ApiModel(value = "ServiceOrderListProjVo", description = "服务单列表项目返回参数类")
+public class ServiceOrderListProjVo {
+
+    @ApiModelProperty(value = "项目名称")
+    private String projName;
+
+    @ApiModelProperty(value = "美疗师")
+    private String beautyName;
+
+    public String getProjName() {
+        return projName;
+    }
+
+    public void setProjName(String projName) {
+        this.projName = projName;
+    }
+
+    public String getBeautyName() {
+        return beautyName;
+    }
+
+    public void setBeautyName(String beautyName) {
+        this.beautyName = beautyName;
+    }
+}
diff --git a/zq-erp/src/main/java/com/matrix/system/app/vo/ServiceOrderListVo.java b/zq-erp/src/main/java/com/matrix/system/app/vo/ServiceOrderListVo.java
new file mode 100644
index 0000000..292ba6c
--- /dev/null
+++ b/zq-erp/src/main/java/com/matrix/system/app/vo/ServiceOrderListVo.java
@@ -0,0 +1,106 @@
+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;
+
+import java.util.Date;
+import java.util.List;
+
+/**
+ * @author wzy
+ * @date 2020-12-24
+ **/
+@ApiModel(value = "ServiceOrderListVo", description = "服务单列表返回参数类")
+public class ServiceOrderListVo {
+
+    @ApiModelProperty(value = "服务单Id")
+    private Long id;
+
+    @ApiModelProperty(value = "服务单编号")
+    private String serviceNo;
+
+    @JsonFormat(pattern = DateUtil.DATE_FORMAT_MM)
+    @ApiModelProperty(value = "预约时间")
+    private Date time;
+
+    @ApiModelProperty(value = "会员名称")
+    private String vipName;
+
+    @ApiModelProperty(value = "服务时长")
+    private Integer timeLength;
+
+    @ApiModelProperty(value = "床位")
+    private String bed;
+
+    @ApiModelProperty(value = "状态")
+    private String status;
+
+    @ApiModelProperty(value = "服务项目信息")
+    private List<ServiceOrderListProjVo> projs;
+
+    public List<ServiceOrderListProjVo> getProjs() {
+        return projs;
+    }
+
+    public void setProjs(List<ServiceOrderListProjVo> projs) {
+        this.projs = projs;
+    }
+
+    public Long getId() {
+        return id;
+    }
+
+    public void setId(Long id) {
+        this.id = id;
+    }
+
+    public String getServiceNo() {
+        return serviceNo;
+    }
+
+    public void setServiceNo(String serviceNo) {
+        this.serviceNo = serviceNo;
+    }
+
+    public Date getTime() {
+        return time;
+    }
+
+    public void setTime(Date time) {
+        this.time = time;
+    }
+
+    public String getVipName() {
+        return vipName;
+    }
+
+    public void setVipName(String vipName) {
+        this.vipName = vipName;
+    }
+
+    public Integer getTimeLength() {
+        return timeLength;
+    }
+
+    public void setTimeLength(Integer timeLength) {
+        this.timeLength = timeLength;
+    }
+
+    public String getBed() {
+        return bed;
+    }
+
+    public void setBed(String bed) {
+        this.bed = bed;
+    }
+
+    public String getStatus() {
+        return status;
+    }
+
+    public void setStatus(String status) {
+        this.status = status;
+    }
+}
diff --git a/zq-erp/src/main/java/com/matrix/system/app/vo/ServiceProductListVo.java b/zq-erp/src/main/java/com/matrix/system/app/vo/ServiceProductListVo.java
new file mode 100644
index 0000000..467fd32
--- /dev/null
+++ b/zq-erp/src/main/java/com/matrix/system/app/vo/ServiceProductListVo.java
@@ -0,0 +1,58 @@
+package com.matrix.system.app.vo;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+
+import java.util.List;
+
+/**
+ * @author wzy
+ * @date 2020-12-24
+ **/
+@ApiModel(value = "ServiceProjListVo", description = "用户产品列表")
+public class ServiceProductListVo {
+
+    @ApiModelProperty(value = "会员ID")
+    private Long vipId;
+
+    @ApiModelProperty(value = "会员名称")
+    private String name;
+
+    @ApiModelProperty(value = "项目列表")
+    private List<ServiceProjVo> proj;
+
+    @ApiModelProperty(value = "套餐列表")
+    private List<ServiceTcVo> composeProj;
+
+    public Long getVipId() {
+        return vipId;
+    }
+
+    public void setVipId(Long vipId) {
+        this.vipId = vipId;
+    }
+
+    public List<ServiceProjVo> getProj() {
+        return proj;
+    }
+
+    public void setProj(List<ServiceProjVo> proj) {
+        this.proj = proj;
+    }
+
+    public List<ServiceTcVo> getComposeProj() {
+        return composeProj;
+    }
+
+    public void setComposeProj(List<ServiceTcVo> composeProj) {
+        this.composeProj = composeProj;
+    }
+
+    public String getName() {
+        return name;
+    }
+
+    public void setName(String name) {
+        this.name = name;
+    }
+}
diff --git a/zq-erp/src/main/java/com/matrix/system/app/vo/ServiceProjVo.java b/zq-erp/src/main/java/com/matrix/system/app/vo/ServiceProjVo.java
new file mode 100644
index 0000000..bbe4758
--- /dev/null
+++ b/zq-erp/src/main/java/com/matrix/system/app/vo/ServiceProjVo.java
@@ -0,0 +1,83 @@
+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;
+
+import java.util.Date;
+
+/**
+ * @author wzy
+ * @date 2020-12-24
+ **/
+@ApiModel(value = "ServiceProjVo", description = "用户项目返回参数类")
+public class ServiceProjVo {
+
+    @ApiModelProperty(value = "订单ID")
+    private Long projId;
+
+    @ApiModelProperty(value = "商品名称")
+    private String name;
+
+    @ApiModelProperty(value = "时长")
+    private Integer timeLength;
+
+    @JsonFormat(pattern = DateUtil.DATE_FORMAT_DD)
+    @ApiModelProperty(value = "有效期")
+    private Date invalidTime;
+
+    @ApiModelProperty(value = "剩余数量")
+    private Integer count;
+
+    @ApiModelProperty(value = "图片")
+    private String img;
+
+    public String getName() {
+        return name;
+    }
+
+    public void setName(String name) {
+        this.name = name;
+    }
+
+    public Integer getTimeLength() {
+        return timeLength;
+    }
+
+    public void setTimeLength(Integer timeLength) {
+        this.timeLength = timeLength;
+    }
+
+    public Long getProjId() {
+        return projId;
+    }
+
+    public void setProjId(Long projId) {
+        this.projId = projId;
+    }
+
+    public Date getInvalidTime() {
+        return invalidTime;
+    }
+
+    public void setInvalidTime(Date invalidTime) {
+        this.invalidTime = invalidTime;
+    }
+
+    public Integer getCount() {
+        return count;
+    }
+
+    public void setCount(Integer count) {
+        this.count = count;
+    }
+
+    public String getImg() {
+        return img;
+    }
+
+    public void setImg(String img) {
+        this.img = img;
+    }
+}
diff --git a/zq-erp/src/main/java/com/matrix/system/app/vo/ServiceTcVo.java b/zq-erp/src/main/java/com/matrix/system/app/vo/ServiceTcVo.java
new file mode 100644
index 0000000..dbcd082
--- /dev/null
+++ b/zq-erp/src/main/java/com/matrix/system/app/vo/ServiceTcVo.java
@@ -0,0 +1,105 @@
+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;
+
+import java.util.Date;
+import java.util.List;
+
+/**
+ * @author wzy
+ * @date 2020-12-24
+ **/
+@ApiModel(value = "ServiceTcVo", description = "用户套餐返回参数类")
+public class ServiceTcVo {
+    @ApiModelProperty(hidden = true)
+    private Long id;
+
+    @ApiModelProperty(value = "商品ID")
+    private Long projId;
+
+    @ApiModelProperty(value = "套餐名称")
+    private String name;
+
+    @JsonFormat(pattern = DateUtil.DATE_FORMAT_DD)
+    @ApiModelProperty(value = "有效期")
+    private Date invalidTime;
+
+    @ApiModelProperty(value = "剩余数量")
+    private String count;
+
+    @ApiModelProperty(value = "固定/任选套餐 Y-任选 N-固定")
+    private String isCourse;
+
+    @ApiModelProperty(value = "若套餐为任选套餐 则判断是否无限次 Y是 N否")
+    private String isInfinite;
+
+    @ApiModelProperty(value = "套餐内产品")
+    List<ServiceProjVo> proj;
+
+    public Long getId() {
+        return id;
+    }
+
+    public void setId(Long id) {
+        this.id = id;
+    }
+
+    public Long getProjId() {
+        return projId;
+    }
+
+    public void setProjId(Long projId) {
+        this.projId = projId;
+    }
+
+    public String getName() {
+        return name;
+    }
+
+    public void setName(String name) {
+        this.name = name;
+    }
+
+    public Date getInvalidTime() {
+        return invalidTime;
+    }
+
+    public void setInvalidTime(Date invalidTime) {
+        this.invalidTime = invalidTime;
+    }
+
+    public String getCount() {
+        return count;
+    }
+
+    public void setCount(String count) {
+        this.count = count;
+    }
+
+    public String getIsCourse() {
+        return isCourse;
+    }
+
+    public void setIsCourse(String isCourse) {
+        this.isCourse = isCourse;
+    }
+
+    public String getIsInfinite() {
+        return isInfinite;
+    }
+
+    public void setIsInfinite(String isInfinite) {
+        this.isInfinite = isInfinite;
+    }
+
+    public List<ServiceProjVo> getProj() {
+        return proj;
+    }
+
+    public void setProj(List<ServiceProjVo> proj) {
+        this.proj = proj;
+    }
+}
diff --git a/zq-erp/src/main/java/com/matrix/system/hive/bean/SysProjUse.java b/zq-erp/src/main/java/com/matrix/system/hive/bean/SysProjUse.java
index d331b5b..ce1f938 100644
--- a/zq-erp/src/main/java/com/matrix/system/hive/bean/SysProjUse.java
+++ b/zq-erp/src/main/java/com/matrix/system/hive/bean/SysProjUse.java
@@ -123,6 +123,26 @@
      */
     private Integer deductionNum;
 
+    private Integer timeLength;
+
+    private String img;
+
+    public Integer getTimeLength() {
+        return timeLength;
+    }
+
+    public void setTimeLength(Integer timeLength) {
+        this.timeLength = timeLength;
+    }
+
+    public String getImg() {
+        return img;
+    }
+
+    public void setImg(String img) {
+        this.img = img;
+    }
+
     public String getIsInfinite() {
         return isInfinite;
     }
diff --git a/zq-erp/src/main/java/com/matrix/system/hive/dao/SysProjServicesDao.java b/zq-erp/src/main/java/com/matrix/system/hive/dao/SysProjServicesDao.java
index 8614295..825d86e 100644
--- a/zq-erp/src/main/java/com/matrix/system/hive/dao/SysProjServicesDao.java
+++ b/zq-erp/src/main/java/com/matrix/system/hive/dao/SysProjServicesDao.java
@@ -1,5 +1,7 @@
 package com.matrix.system.hive.dao;
 
+import com.matrix.system.app.dto.ServiceOrderListDto;
+import com.matrix.system.app.vo.ServiceOrderListVo;
 import com.matrix.system.hive.bean.SysProjServices;
 import org.apache.ibatis.annotations.Param;
 
@@ -35,6 +37,8 @@
 	public SysProjServices  selectById(Long id);
 
 	public void updateOrderTime(@Param("createTime") Date createTime, @Param("id") Long id);
-	 
 
+	List<ServiceOrderListVo> selectApiServiceOrderListInPage(@Param("record") ServiceOrderListDto serviceOrderListDto, @Param("pageVo") PaginationVO pageVo);
+
+	int selectApiServiceOrderListTotal(@Param("record") ServiceOrderListDto serviceOrderListDto);
 }
\ No newline at end of file
diff --git a/zq-erp/src/main/java/com/matrix/system/hive/service/SysProjServicesService.java b/zq-erp/src/main/java/com/matrix/system/hive/service/SysProjServicesService.java
index 95ec6b1..5c48a1a 100644
--- a/zq-erp/src/main/java/com/matrix/system/hive/service/SysProjServicesService.java
+++ b/zq-erp/src/main/java/com/matrix/system/hive/service/SysProjServicesService.java
@@ -2,6 +2,8 @@
 
 import com.matrix.core.pojo.PaginationVO;
 import com.matrix.core.pojo.VerifyResult;
+import com.matrix.system.app.dto.ServiceOrderListDto;
+import com.matrix.system.app.vo.ServiceOrderListVo;
 import com.matrix.system.hive.bean.SysProjServices;
 import com.matrix.system.hive.plugin.util.BaseServices;
 
@@ -97,4 +99,9 @@
     public VerifyResult checkArrears(SysProjServices sysProjServices);
 
     public VerifyResult checkBalance(SysProjServices sysProjServices);
+
+
+    List<ServiceOrderListVo> findApiServiceOrderListInPage(ServiceOrderListDto serviceOrderListDto, PaginationVO pageVo);
+
+    int findApiServiceOrderListTotal(ServiceOrderListDto serviceOrderListDto);
 }
\ No newline at end of file
diff --git a/zq-erp/src/main/java/com/matrix/system/hive/service/imp/SysProjServicesServiceImpl.java b/zq-erp/src/main/java/com/matrix/system/hive/service/imp/SysProjServicesServiceImpl.java
index ef69075..9749835 100644
--- a/zq-erp/src/main/java/com/matrix/system/hive/service/imp/SysProjServicesServiceImpl.java
+++ b/zq-erp/src/main/java/com/matrix/system/hive/service/imp/SysProjServicesServiceImpl.java
@@ -5,6 +5,8 @@
 import com.matrix.core.pojo.PaginationVO;
 import com.matrix.core.pojo.VerifyResult;
 import com.matrix.core.tools.*;
+import com.matrix.system.app.dto.ServiceOrderListDto;
+import com.matrix.system.app.vo.ServiceOrderListVo;
 import com.matrix.system.common.bean.SysUsers;
 import com.matrix.system.common.dao.SysUsersDao;
 import com.matrix.system.constance.Dictionary;
@@ -803,4 +805,13 @@
 
     }
 
+    @Override
+    public List<ServiceOrderListVo> findApiServiceOrderListInPage(ServiceOrderListDto serviceOrderListDto, PaginationVO pageVo) {
+        return sysProjServicesDao.selectApiServiceOrderListInPage(serviceOrderListDto, pageVo);
+    }
+
+    @Override
+    public int findApiServiceOrderListTotal(ServiceOrderListDto serviceOrderListDto) {
+        return sysProjServicesDao.selectApiServiceOrderListTotal(serviceOrderListDto);
+    }
 }
diff --git a/zq-erp/src/main/resources/mybatis/mapper/hive/SysProjServicesDao.xml b/zq-erp/src/main/resources/mybatis/mapper/hive/SysProjServicesDao.xml
index e608194..6d8c7e1 100644
--- a/zq-erp/src/main/resources/mybatis/mapper/hive/SysProjServicesDao.xml
+++ b/zq-erp/src/main/resources/mybatis/mapper/hive/SysProjServicesDao.xml
@@ -458,4 +458,72 @@
 		</if>
 	</select>
 
+	<resultMap id="ServiceOrderListVoMap" type="com.matrix.system.app.vo.ServiceOrderListVo">
+		<id column="id" property="id" />
+		<result column="serviceNo" property="serviceNo"/>
+		<result property="time" column="time"/>
+		<result property="bed" column="bed" />
+		<result property="vipName" column="vipName" />
+		<result property="timeLength" column="timeLength" />
+		<result property="status" column="status" />
+		<collection property="projs" ofType="com.matrix.system.app.vo.ServiceOrderListProjVo">
+			<result property="projName" column="projName" />
+			<result property="beautyName" column="beautyName" />
+		</collection>
+	</resultMap>
+
+
+	<select id="selectApiServiceOrderListInPage" resultMap="ServiceOrderListVoMap">
+		select
+		   a.id id,
+		   a.SERVICE_NO serviceNo,
+		   a.YY_TIME time,
+		   a.TOTAL_TIME timeLength,
+		   a.state status,
+		   d.BED_NAME bed,
+		   e.VIP_NAME vipName,
+		   f.su_name beautyName,
+		   g.proj_name projName
+		from sys_proj_services a
+		left join sys_beautician_state b on a.ID=b.SERVICES_ID
+		left join sys_bed_state c on a.ID = c.SERVICE_ID
+		left join sys_bed_info d on c.BED_ID=d.ID
+		left join sys_vip_info e on a.VIP_ID=e.ID
+		left join sys_users f on f.su_id=b.STAFF_ID
+		left join sys_proj_use g on b.puse_id=g.ID
+		<where>
+			<if test="record.queryKey != null and record.queryKey != ''">
+				and (instr(a.SERVICE_NO, #{record.queryKey}) or instr(e.phone, #{record.queryKey}) or instr(e.vip_name, #{record.queryKey}) )
+			</if>
+			<if test="record.status != null and record.status != ''">
+				and a.state = #{record.status}
+			</if>
+		</where>
+		<if test="pageVo !=null"><!-- 判断pageVo对象是否为空 -->
+			order by a.yy_time desc
+			<if test="pageVo.offset >=0  and pageVo.limit >0">
+				limit
+				#{pageVo.offset},#{pageVo.limit}
+			</if>
+		</if>
+	</select>
+
+	<select id="selectApiServiceOrderListTotal" resultType="java.lang.Integer">
+		select count(1)
+		from sys_proj_services a
+		left join sys_beautician_state b on a.ID=b.SERVICES_ID
+		left join sys_bed_state c on a.ID = c.SERVICE_ID
+		left join sys_bed_info d on c.BED_ID=d.ID
+		left join sys_vip_info e on a.VIP_ID=e.ID
+		left join sys_users f on f.su_id=b.STAFF_ID
+		left join sys_proj_use g on b.puse_id=g.ID
+		<where>
+			<if test="record.queryKey != null and record.queryKey != ''">
+				and (instr(a.SERVICE_NO, #{record.queryKey}) or instr(e.phone, #{record.queryKey}) or instr(e.vip_name, #{record.queryKey}) )
+			</if>
+			<if test="record.status != null and record.status != ''">
+				and a.state = #{record.status}
+			</if>
+		</where>
+	</select>
 </mapper>
diff --git a/zq-erp/src/main/resources/mybatis/mapper/hive/SysProjUseDao.xml b/zq-erp/src/main/resources/mybatis/mapper/hive/SysProjUseDao.xml
index 8dd31a1..29058ae 100644
--- a/zq-erp/src/main/resources/mybatis/mapper/hive/SysProjUseDao.xml
+++ b/zq-erp/src/main/resources/mybatis/mapper/hive/SysProjUseDao.xml
@@ -25,6 +25,7 @@
         <result property="projName" column="proj_name"/>
         <result property="deductionNum" column="deductionNum"/>
         <result property="isCourse" column="is_course"/>
+        <result property="timeLength" column="time_length"/>
 
 
 
@@ -227,7 +228,8 @@
     <select id="selectInPage" resultMap="SysProjUseMap">
         select
         a.*,
-        b.TIME_LENGTH
+        b.TIME_LENGTH,
+        b.img
         from sys_proj_use a
         left join shopping_goods b on a.proj_id=b.id
         where 1=1

--
Gitblit v1.9.1