From b8e2c0dee6ae4520a2e0e783b416825d872c8f9e Mon Sep 17 00:00:00 2001
From: Helius <wangdoubleone@gmail.com>
Date: Tue, 12 Jan 2021 16:38:11 +0800
Subject: [PATCH] Merge branch 'api' into order_reform

---
 zq-erp/src/main/java/com/matrix/system/hive/bean/SysProjUseFlow.java                   |  200 +++++++++++++++
 zq-erp/src/main/java/com/matrix/system/hive/action/ProjUseController.java              |   58 +++-
 zq-erp/src/main/resources/templates/views/admin/hive/beautySalon/vip.html              |   25 +
 zq-erp/src/main/resources/templates/views/admin/hive/beautySalon/projUseFlow-list.html |  128 +++++++++
 zq-xcx/project.config.json                                                             |    5 
 zq-erp/src/main/resources/mybatis/mapper/hive/SysProjUseDao.xml                        |  112 ++++++++
 zq-erp/src/main/resources/templates/views/admin/hive/vip/moneyCardUseFlow-list.html    |   70 ++---
 zq-erp/src/main/java/com/matrix/system/hive/dao/SysProjUseDao.java                     |   10 
 zq-erp/src/main/resources/templates/views/admin/hive/vip/tc-form.html                  |   15 
 zq-erp/src/main/java/com/matrix/system/hive/action/TaocanController.java               |   42 +++
 zq-erp/src/main/resources/templates/views/admin/hive/vip/moneyCardUse-form.html        |    4 
 zq-erp/src/main/resources/mybatis/mapper/hive/MoneyCardUseFlowDao.xml                  |    2 
 zq-erp/src/main/resources/templates/views/admin/hive/vip/projUse-form.html             |   13 
 zq-erp/src/main/java/com/matrix/system/hive/service/imp/SysProjUseServiceImpl.java     |    3 
 zq-erp/src/main/resources/mybatis/mapper/hive/ShoppingGoodsDao.xml                     |   37 +-
 zq-erp/src/main/java/com/matrix/system/hive/bean/SysProjUse.java                       |   16 +
 16 files changed, 651 insertions(+), 89 deletions(-)

diff --git a/zq-erp/src/main/java/com/matrix/system/hive/action/ProjUseController.java b/zq-erp/src/main/java/com/matrix/system/hive/action/ProjUseController.java
index 375256d..3385f1e 100644
--- a/zq-erp/src/main/java/com/matrix/system/hive/action/ProjUseController.java
+++ b/zq-erp/src/main/java/com/matrix/system/hive/action/ProjUseController.java
@@ -12,10 +12,7 @@
 import com.matrix.core.tools.excl.ExcelUtil;
 import com.matrix.system.common.bean.SysUsers;
 import com.matrix.system.constance.Dictionary;
-import com.matrix.system.hive.bean.MoneyCardUse;
-import com.matrix.system.hive.bean.ShoppingGoods;
-import com.matrix.system.hive.bean.SysProjUse;
-import com.matrix.system.hive.bean.SysVipInfo;
+import com.matrix.system.hive.bean.*;
 import com.matrix.system.hive.dao.MoneyCardUseDao;
 import com.matrix.system.hive.dao.ShoppingGoodsDao;
 import com.matrix.system.hive.dao.SysProjUseDao;
@@ -60,6 +57,18 @@
     @Resource
     private MoneyCardUseService moneyCardUseService;
 
+    @Resource
+    private  SysProjUseDao projUseDao;
+
+    @Autowired
+    SysVipInfoDao vipInfoDao;
+
+    @Autowired
+    ShoppingGoodsDao shoppingGoodsDao;
+
+    @Autowired
+    MoneyCardUseDao moneyCardUseDao;
+
 
     public static final String fnCode = "projUse";
     public static final String search = fnCode + ":search";
@@ -85,6 +94,18 @@
                 projUseService.findInPage(sysProjUse, pageVo), projUseService.findTotal(sysProjUse));
     }
 
+    /**
+     * 查看会员项目使用情况
+     *
+     * @author jiangyouyao
+     * @date 2016-09-03
+     */
+    @RequestMapping(value = "/findProjUseFlow")
+    public @ResponseBody
+    AjaxResult findProjUseFlow(PaginationVO pageVo, SysProjUseFlow projUseFlow) {
+        return new AjaxResult(AjaxResult.STATUS_SUCCESS,
+                projUseDao.selectProjUseFlow(projUseFlow, pageVo), projUseDao.selectProjUseFlowTotal(projUseFlow));
+    }
 
     /**
      * 将项目设置为有效
@@ -217,10 +238,29 @@
     /**
      * 添加或修改会员項目信息
      */
+    @Transactional
     @RequestMapping(value = "/addOrModify")
     public @ResponseBody
     AjaxResult addOrModify(SysProjUse sysProjUse) {
         if (sysProjUse.getId() != null) {
+            SysUsers user=getMe();
+            //插入修改记录
+            SysProjUse oldProjUse = projUseService.findById(sysProjUse.getId());
+            SysProjUseFlow projUseFlow=new SysProjUseFlow();
+            projUseFlow.setProjUseId(sysProjUse.getId());
+            projUseFlow.setOptionType("人工修改");
+            projUseFlow.setProjName(oldProjUse.getProjName());
+            projUseFlow.setCreateBy(user.getSuName());
+            projUseFlow.setUpdateBy(user.getSuName());
+            projUseFlow.setPrice(sysProjUse.getPrice());
+            projUseFlow.setStatus(sysProjUse.getStatus());
+            projUseFlow.setBalance(sysProjUse.getBalance());
+            projUseFlow.setFailTime(sysProjUse.getFailTime());
+            projUseFlow.setIsOver(sysProjUse.getIsOver());
+            projUseFlow.setRemark(sysProjUse.getUpdateRemark());
+            projUseFlow.setSurplusCount(sysProjUse.getSurplusCount());
+            projUseDao.insertFlow(projUseFlow);
+
             return modify(projUseService, sysProjUse, "项目");
         } else {
             return add(projUseService, sysProjUse, "项目");
@@ -228,17 +268,7 @@
     }
 
 
-    @Autowired
-    SysVipInfoDao vipInfoDao;
 
-    @Autowired
-    ShoppingGoodsDao shoppingGoodsDao;
-
-    @Autowired
-    SysProjUseDao projUseDao;
-
-    @Autowired
-    MoneyCardUseDao moneyCardUseDao;
 
 
     @RequestMapping(value = "/importProjUse")
diff --git a/zq-erp/src/main/java/com/matrix/system/hive/action/TaocanController.java b/zq-erp/src/main/java/com/matrix/system/hive/action/TaocanController.java
index 607821c..e221d43 100644
--- a/zq-erp/src/main/java/com/matrix/system/hive/action/TaocanController.java
+++ b/zq-erp/src/main/java/com/matrix/system/hive/action/TaocanController.java
@@ -3,9 +3,11 @@
 import com.matrix.core.pojo.AjaxResult;
 import com.matrix.core.pojo.PaginationVO;
 import com.matrix.core.tools.WebUtil;
+import com.matrix.system.common.bean.SysUsers;
 import com.matrix.system.constance.Dictionary;
 import com.matrix.system.hive.bean.MoneyCardUse;
 import com.matrix.system.hive.bean.SysProjUse;
+import com.matrix.system.hive.bean.SysProjUseFlow;
 import com.matrix.system.hive.dao.SysProjUseDao;
 import com.matrix.system.hive.service.MoneyCardUseService;
 import com.matrix.system.hive.service.SysProjUseService;
@@ -205,6 +207,27 @@
     public @ResponseBody
     AjaxResult addOrModify(SysProjUse sysProjUse) {
         if (sysProjUse.getId() != null) {
+
+            //插入修改记录
+            SysUsers user=getMe();
+            //插入修改记录
+            SysProjUse oldProjUse = sysProjUseService.findById(sysProjUse.getId());
+            SysProjUseFlow projUseFlow=new SysProjUseFlow();
+            projUseFlow.setProjUseId(sysProjUse.getId());
+            projUseFlow.setOptionType("人工修改");
+            projUseFlow.setProjName(oldProjUse.getProjName());
+            projUseFlow.setCreateBy(user.getSuName());
+            projUseFlow.setUpdateBy(user.getSuName());
+            projUseFlow.setPrice(sysProjUse.getPrice());
+            projUseFlow.setStatus(sysProjUse.getStatus());
+            projUseFlow.setBalance(sysProjUse.getBalance());
+            projUseFlow.setFailTime(sysProjUse.getFailTime());
+            projUseFlow.setIsOver(sysProjUse.getIsOver());
+            projUseFlow.setRemark(sysProjUse.getUpdateRemark());
+            projUseFlow.setSurplusCount(sysProjUse.getSurplusCount());
+            projUseDao.insertFlow(projUseFlow);
+
+
             int modifyResult = sysProjUseService.modify(sysProjUse);
 
             List<SysProjUse> modifyUse = sysProjUse.getTaocanProjUse();
@@ -212,6 +235,25 @@
             if (modifyResult > 0) {
                 if (CollectionUtils.isNotEmpty(modifyUse)) {
                     for (SysProjUse use : modifyUse) {
+
+                        //插入修改记录
+                        SysProjUse oldProjUse2 = sysProjUseService.findById(use.getId());
+                        SysProjUseFlow projUseFlow2=new SysProjUseFlow();
+                        //套餐中的项目需要记录套餐id
+                        projUseFlow2.setProjUseId(oldProjUse.getId());
+                        projUseFlow2.setOptionType("人工修改");
+                        projUseFlow2.setProjName(oldProjUse2.getProjName());
+                        projUseFlow2.setCreateBy(user.getSuName());
+                        projUseFlow2.setUpdateBy(user.getSuName());
+                        projUseFlow2.setPrice(use.getPrice());
+                        projUseFlow2.setStatus(use.getStatus());
+                        projUseFlow2.setBalance(use.getBalance());
+                        projUseFlow2.setFailTime(use.getFailTime());
+                        projUseFlow2.setIsOver(use.getIsOver());
+                        projUseFlow2.setRemark(sysProjUse.getUpdateRemark());
+                        projUseFlow2.setSurplusCount(use.getSurplusCount());
+                        projUseDao.insertFlow(projUseFlow2);
+
                         sysProjUseService.modify(use);
                     }
                 }
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 c4d2671..7450dda 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
@@ -2,7 +2,9 @@
 
 import com.fasterxml.jackson.annotation.JsonFormat;
 import com.matrix.core.anotations.Extend;
+import com.matrix.core.pojo.EntityDTO;
 import com.matrix.core.tools.DateUtil;
+import com.matrix.system.common.bean.EntityDTOExt;
 import org.springframework.format.annotation.DateTimeFormat;
 
 import java.io.Serializable;
@@ -13,7 +15,7 @@
 /**
  * @date 2016-07-03 20:53
  */
-public class SysProjUse implements Serializable {
+public class SysProjUse extends EntityDTO {
 
     private static final long serialVersionUID = 1L;
 
@@ -132,6 +134,18 @@
 
     private String queryKey;
 
+    @Extend
+    private String updateRemark;
+
+
+    public String getUpdateRemark() {
+        return updateRemark;
+    }
+
+    public void setUpdateRemark(String updateRemark) {
+        this.updateRemark = updateRemark;
+    }
+
     public Date getTargetFailTime() {
         return targetFailTime;
     }
diff --git a/zq-erp/src/main/java/com/matrix/system/hive/bean/SysProjUseFlow.java b/zq-erp/src/main/java/com/matrix/system/hive/bean/SysProjUseFlow.java
new file mode 100644
index 0000000..932fffb
--- /dev/null
+++ b/zq-erp/src/main/java/com/matrix/system/hive/bean/SysProjUseFlow.java
@@ -0,0 +1,200 @@
+package com.matrix.system.hive.bean;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+import com.matrix.core.anotations.Extend;
+import com.matrix.core.pojo.EntityDTO;
+import com.matrix.core.tools.DateUtil;
+import com.matrix.system.common.bean.EntityDTOExt;
+import io.swagger.annotations.ApiModelProperty;
+import org.springframework.format.annotation.DateTimeFormat;
+
+import javax.validation.constraints.NotBlank;
+import java.io.Serializable;
+import java.util.Date;
+import java.util.List;
+
+
+/**项目余次操作记录
+ * @date 2016-07-03 20:53
+ */
+public class SysProjUseFlow extends EntityDTO {
+
+    private static final long serialVersionUID = 1L;
+
+    /**
+     */
+    private Long id;
+
+
+    /**
+     * 项目id
+     */
+    private Long projUseId;
+
+    /**
+     * 剩余次数
+     */
+    private Integer surplusCount;
+
+    /**
+     * 是否使用完成Y完成,N未完成
+     */
+    private String isOver;
+
+    /**
+     * 有效期
+     */
+    @JsonFormat(pattern = DateUtil.DATE_FORMAT_DD, timezone = "GMT+8")
+    @DateTimeFormat(pattern = DateUtil.DATE_FORMAT_DD)
+    private Date failTime;
+
+    /**
+     * 单次扣减金额
+     */
+    private Double price;
+
+    /**
+     * 套餐状态,有效,无效,冻结,转让,退款
+     */
+    private String status;
+
+
+
+    /**
+     * 使用情况余额
+     */
+    private Double balance;
+
+    /**
+     * 备注
+     */
+    private String remark;
+
+
+
+    /**
+     * 项目名称
+     */
+    private String projName;
+
+    /**
+     * 操作类型
+     */
+    private String optionType;
+
+    /**
+     * 开始时间
+     */
+    @Extend
+    private String beginTime;
+
+    /**
+     *结束时间
+     */
+    @Extend
+    private String endTime;
+
+    public String getBeginTime() {
+        return beginTime;
+    }
+
+    public void setBeginTime(String beginTime) {
+        this.beginTime = beginTime;
+    }
+
+    public String getEndTime() {
+        return endTime;
+    }
+
+    public void setEndTime(String endTime) {
+        this.endTime = endTime;
+    }
+
+    public Long getId() {
+        return id;
+    }
+
+    public void setId(Long id) {
+        this.id = id;
+    }
+
+    public Long getProjUseId() {
+        return projUseId;
+    }
+
+    public void setProjUseId(Long projUseId) {
+        this.projUseId = projUseId;
+    }
+
+    public Integer getSurplusCount() {
+        return surplusCount;
+    }
+
+    public void setSurplusCount(Integer surplusCount) {
+        this.surplusCount = surplusCount;
+    }
+
+    public String getIsOver() {
+        return isOver;
+    }
+
+    public void setIsOver(String isOver) {
+        this.isOver = isOver;
+    }
+
+    public Date getFailTime() {
+        return failTime;
+    }
+
+    public void setFailTime(Date failTime) {
+        this.failTime = failTime;
+    }
+
+    public Double getPrice() {
+        return price;
+    }
+
+    public void setPrice(Double price) {
+        this.price = price;
+    }
+
+    public String getStatus() {
+        return status;
+    }
+
+    public void setStatus(String status) {
+        this.status = status;
+    }
+
+    public Double getBalance() {
+        return balance;
+    }
+
+    public void setBalance(Double balance) {
+        this.balance = balance;
+    }
+
+    public String getRemark() {
+        return remark;
+    }
+
+    public void setRemark(String remark) {
+        this.remark = remark;
+    }
+
+    public String getProjName() {
+        return projName;
+    }
+
+    public void setProjName(String projName) {
+        this.projName = projName;
+    }
+
+    public String getOptionType() {
+        return optionType;
+    }
+
+    public void setOptionType(String optionType) {
+        this.optionType = optionType;
+    }
+}
diff --git a/zq-erp/src/main/java/com/matrix/system/hive/dao/SysProjUseDao.java b/zq-erp/src/main/java/com/matrix/system/hive/dao/SysProjUseDao.java
index faf7254..c064f18 100644
--- a/zq-erp/src/main/java/com/matrix/system/hive/dao/SysProjUseDao.java
+++ b/zq-erp/src/main/java/com/matrix/system/hive/dao/SysProjUseDao.java
@@ -1,6 +1,7 @@
 package com.matrix.system.hive.dao;
 
 import com.matrix.system.hive.bean.SysProjUse;
+import com.matrix.system.hive.bean.SysProjUseFlow;
 import org.apache.ibatis.annotations.Param;
 
 import com.matrix.core.pojo.PaginationVO;
@@ -18,7 +19,9 @@
 public interface SysProjUseDao{
 
 	public int insert(SysProjUse sysProjUse);
-   	
+
+	public int insertFlow(SysProjUseFlow sysProjUseFlow);
+
 	public int update(SysProjUse sysProjUse);
 	/**
 	 * 批量修改余次信息
@@ -37,6 +40,7 @@
 
 	public List<SysProjUse> selectByModel(@Param("record") SysProjUse sysProjUse);
 
+	public List<SysProjUse> selectFlowByProjUseId(Long projUseId);
 
 	public int  selectTotalRecord(@Param("record") SysProjUse sysProjUse);
 	
@@ -124,4 +128,8 @@
 	public int updateTcStatus(@Param("id") Long id, @Param("status") String status);
 
 	List<SysProjUse> selectHasValidProjUse();
+
+	List<SysProjUseFlow> selectProjUseFlow(@Param("record") SysProjUseFlow projUseFlow, @Param("pageVo")PaginationVO pageVo);
+
+	Integer selectProjUseFlowTotal(@Param("record") SysProjUseFlow projUseFlow);
 }
\ No newline at end of file
diff --git a/zq-erp/src/main/java/com/matrix/system/hive/service/imp/SysProjUseServiceImpl.java b/zq-erp/src/main/java/com/matrix/system/hive/service/imp/SysProjUseServiceImpl.java
index 45f9083..3e21745 100644
--- a/zq-erp/src/main/java/com/matrix/system/hive/service/imp/SysProjUseServiceImpl.java
+++ b/zq-erp/src/main/java/com/matrix/system/hive/service/imp/SysProjUseServiceImpl.java
@@ -63,6 +63,9 @@
 
     @Override
     public int modify(SysProjUse sysProjUse) {
+        //插入套餐项目操作记录
+
+
 
         return sysProjUseDao.update(sysProjUse);
 
diff --git a/zq-erp/src/main/resources/mybatis/mapper/hive/MoneyCardUseFlowDao.xml b/zq-erp/src/main/resources/mybatis/mapper/hive/MoneyCardUseFlowDao.xml
index a767566..a40157c 100644
--- a/zq-erp/src/main/resources/mybatis/mapper/hive/MoneyCardUseFlowDao.xml
+++ b/zq-erp/src/main/resources/mybatis/mapper/hive/MoneyCardUseFlowDao.xml
@@ -160,7 +160,7 @@
 		times,
 		gift_money,
 		balance,
-		(SELECT STAFF_NAME from sys_shopstaff_info a WHERE operation_id=a.id) staffName,
+		(SELECT su_name from sys_users a WHERE operation_id=a.su_id) staffName,
 		(SELECT VIP_NAME FROM sys_vip_info b WHERE vip_id=b.ID) vipName,
 		(SELECT card_NAME FROM money_card_use c WHERE car_use_id=c.ID) cardName
 		from money_card_use_flow
diff --git a/zq-erp/src/main/resources/mybatis/mapper/hive/ShoppingGoodsDao.xml b/zq-erp/src/main/resources/mybatis/mapper/hive/ShoppingGoodsDao.xml
index 849f191..a6c4475 100644
--- a/zq-erp/src/main/resources/mybatis/mapper/hive/ShoppingGoodsDao.xml
+++ b/zq-erp/src/main/resources/mybatis/mapper/hive/ShoppingGoodsDao.xml
@@ -685,28 +685,25 @@
 			<if test="record.queryNoGoodsype != null and record.queryNoGoodsype !='' ">
 				and good_type !=#{record.queryNoGoodsype}
 			</if>
+
 			<if test="record.name != null and record.name !='' ">
 				and (instr(name,#{record.name}) or instr(zjm,#{record.name}))
 			</if>
+			<if test="record.zjm != null and record.zjm !='' ">
+				and instr(zjm,#{record.zjm})
+			</if>
+
+
 			<if test="record.staus != null and record.staus !='' ">
 				and staus =#{record.staus}
 			</if>
-			<if test="record.code != null and record.code !=''">
-				and code = #{record.code}
-			</if>
+
 			<if test="record.isAssemble != null and record.isAssemble !='' ">
 				and is_assemble =#{record.isAssemble}
 			</if>
 			<if test="record.deleted != null and record.deleted !='' ">
 				and deleted =#{record.deleted}
 			</if>
-			<if test="record.isDel != null and record.isDel !='' ">
-				and is_del = #{record.isDel}
-			</if>
-			<if test="record.zjm != null and record.zjm !='' ">
-				and instr(zjm,#{record.zjm})
-			</if>
-
 			<if test="record.cateId != null and record.cateId !='' ">
 				and cate_id =#{record.cateId}
 			</if>
@@ -722,32 +719,44 @@
 				and is_vip_car = #{record.isVipCar}
 			</if>
 
+
 			<if test="record.isCourse != null and record.isCourse !=''">
 				and is_course = #{record.isCourse}
 			</if>
+
+			<if test="record.code != null and record.code !=''">
+				and code = #{record.code}
+			</if>
+
 
 			<if test="record.startTime != null ">
 				and create_time <![CDATA[ >= ]]> #{record.startTime}
 			</if>
 			<if test="record.endTime != null ">
 				and create_time <![CDATA[ <= ]]> #{record.endTime}
+
 			</if>
 			<if test="record.shopId != null and record.shopId !='' ">
-				<![CDATA[	and ( shop_id = #{record.shopId}
-				or  ISNULL(use_shop) || LENGTH(trim(use_shop))<1
-				or FIND_IN_SET(#{record.shopId},use_shop) ) ]]>
+				<![CDATA[	and ( shop_id = #{record.shopId} or
+				      (  headquarters=1 and  ( ISNULL(use_shop) or LENGTH(trim(use_shop))<1 or FIND_IN_SET(#{record.shopId},use_shop))))]]>
 			</if>
 			<if test="record.companyId != null and record.companyId !='' ">
 				and company_id = #{record.companyId}
 			</if>
+
+			<if test="record.isDel != null and record.isDel !='' ">
+				and is_del = #{record.isDel}
+			</if>
+
 
 
 			<if test="record.headquarters != null and record.headquarters !='' ">
 				and headquarters = #{record.headquarters}
 			</if>
 
-
 		</if>
+
+
 	</select>
 
 
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 5c35d98..99f36ef 100644
--- a/zq-erp/src/main/resources/mybatis/mapper/hive/SysProjUseDao.xml
+++ b/zq-erp/src/main/resources/mybatis/mapper/hive/SysProjUseDao.xml
@@ -5,7 +5,12 @@
 <mapper namespace="com.matrix.system.hive.dao.SysProjUseDao">
 
     <resultMap type="SysProjUse" id="SysProjUseMap">
+
         <id property="id" column="ID"/>
+        <result property="createBy" column="create_by" />
+        <result property="createTime" column="create_time" />
+        <result property="updateBy" column="update_by" />
+        <result property="updateTime" column="update_time" />
         <result property="orderItemId" column="ORDER_ITEM_ID"/>
         <result property="projId" column="PROJ_ID"/>
         <result property="surplusCount" column="SURPLUS_COUNT"/>
@@ -26,17 +31,115 @@
         <result property="deductionNum" column="deductionNum"/>
         <result property="isCourse" column="is_course"/>
         <result property="timeLength" column="time_length"/>
-
-
-
-
         <!-- 对应项目信息-->
         <association property="projInfo" javaType="ShoppingGoods"
                      resultMap="com.matrix.system.hive.dao.ShoppingGoodsDao.ShoppingGoodsMap"/>
 
     </resultMap>
 
+    <!-- 余次使用记录map -->
+    <resultMap type="com.matrix.system.hive.bean.SysProjUseFlow" id="SysProjUseFlowMap">
+        <id property="id" column="id"/>
+        <result property="createBy" column="create_by" />
+        <result property="createTime" column="create_time" />
+        <result property="updateBy" column="update_by" />
+        <result property="updateTime" column="update_time" />
+        <result property="projUseId" column="proj_use_id"/>
+        <result property="surplusCount" column="surplus_count"/>
+        <result property="isOver" column="is_over"/>
+        <result property="failTime" column="fail_time"/>
+        <result property="price" column="price"/>
+        <result property="status" column="status"/>
+        <result property="balance" column="balance"/>
+        <result property="remark" column="remark"/>
+        <result property="projName" column="proj_name"/>
+        <result property="optionType" column="option_type"/>
+    </resultMap>
 
+    <!-- 插入流水 -->
+    <insert id="insertFlow" parameterType="SysProjUse" useGeneratedKeys="true"
+            keyProperty="id">
+        INSERT INTO sys_proj_use_flow (
+        create_by,
+		create_time,
+		update_by,
+		update_time,
+		id,
+		proj_use_id,
+		surplus_count,
+		is_over,
+		fail_time,
+		price,
+		status,
+		balance,
+		remark,
+		proj_name,
+		option_type
+		)
+		VALUES (
+		#{createBy},
+		now(),
+		#{updateBy},
+		now(),
+		#{id},
+		#{projUseId},
+		#{surplusCount},
+		#{isOver},
+		#{failTime},
+		#{price},
+		#{status},
+		#{balance},
+		#{remark},
+		#{projName},
+		#{optionType}
+		)
+    </insert>
+
+    <!-- 查询流水 -->
+    <select id="selectProjUseFlow" resultMap="SysProjUseFlowMap">
+        select * from sys_proj_use_flow
+        <where>
+                and proj_use_id=#{record.projUseId}
+            <if test="record.createBy !=null and record.createBy!='' ">
+                and instr(createBy,#{record.createBy})
+            </if>
+            <if test="record.beginTime !=null and record.beginTime!=''">
+                and create_time >= #{record.beginTime}
+            </if>
+            <if test="record.endTime !=null and record.endTime!=''">
+                <![CDATA[ and create_time <=  #{record.endTime} ]]>
+            </if>
+
+        </where>
+        <if test="pageVo !=null"><!-- 判断pageVo对象是否为空 -->
+            <if test="pageVo.sort !=null  and pageVo.order !=null">
+                order by
+                ${pageVo.sort} ${pageVo.order}
+            </if>
+            <if test="pageVo.offset >=0  and pageVo.limit >0">
+                limit
+                #{pageVo.offset},#{pageVo.limit}
+            </if>
+        </if>
+
+    </select>
+
+    <select id="selectProjUseFlowTotal" resultType="java.lang.Integer">
+        select count(*) from sys_proj_use_flow
+        <where>
+            and proj_use_id=#{record.projUseId}
+            <if test="record.createBy !=null and record.createBy!='' ">
+                and instr(createBy,#{record.createBy})
+            </if>
+            <if test="record.beginTime !=null and record.beginTime!=''">
+                and create_time >= #{record.beginTime}
+            </if>
+            <if test="record.endTime !=null and record.endTime!=''">
+                <![CDATA[ and create_time <=  #{record.endTime} ]]>
+            </if>
+
+        </where>
+    </select>
 
     <!-- 插入方法 -->
     <insert id="insert" parameterType="SysProjUse" useGeneratedKeys="true"
@@ -737,4 +840,5 @@
         where date_format(now(), '%Y-%m-%d') > date_format(FAIL_TIME, '%Y-%m-%d') and STATUS='有效'
     </select>
 
+
 </mapper>
\ No newline at end of file
diff --git a/zq-erp/src/main/resources/templates/views/admin/hive/beautySalon/projUseFlow-list.html b/zq-erp/src/main/resources/templates/views/admin/hive/beautySalon/projUseFlow-list.html
new file mode 100644
index 0000000..3993e96
--- /dev/null
+++ b/zq-erp/src/main/resources/templates/views/admin/hive/beautySalon/projUseFlow-list.html
@@ -0,0 +1,128 @@
+<!DOCTYPE HTML>
+<html xmlns:th="http://www.thymeleaf.org" xmlns:matrix="http://www.w3.org/1999/xhtml">
+<head>
+    <meta charset="utf-8">
+    <META HTTP-EQUIV="Pragma" CONTENT="no-cache">
+    <meta name="renderer" content="webkit|ie-comp|ie-stand">
+    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
+    <meta name="viewport"
+          content="width=device-width,initial-scale=1,minimum-scale=1.0,maximum-scale=1.0,user-scalable=no"/>
+    <meta http-equiv="Cache-Control" content="no-siteapp"/>
+    <!-- 本框架基本脚本和样式 -->
+    <script type="text/javascript"
+            th:src="@{/js/plugin/jquery-2.1.4.min.js}"></script>
+    <script type="text/javascript" th:src="@{/js/systools/MBase.js}"></script>
+
+</head>
+<body class=" container-fluid">
+<div class="pd-10">
+    <!-- 搜索框部分start -->
+    <div class="row form-head">
+        <form class="form-inline" id="serchform">
+
+            <div class="form-group mr-20">
+                <label>创建时间</label>
+                <input autocomplete="off"   name="beginTime" type="text" class="form-control datetimepicker" id="beginTime">-
+                <input autocomplete="off"   name="endTime" type="text" class="form-control datetimepicker" id="endTime">
+            </div>
+
+            <div class="form-group mr-20">
+                <label >操作人</label>
+                <input autocomplete="off"   name="createBy" class="form-control">
+            </div>
+            <input type="hidden" name="projUseId" th:value="${param.projUseId}" >
+            <div class="form-group">
+                <button onclick="myGrid.serchData(1)" type="button"
+                        class="btn btn-sm btn-info">
+                    <i class="fa fa-search "></i> 搜索
+                </button>
+                <button type="reset" class="btn btn-sm btn-info ">
+                    <i class="fa fa-refresh "></i> 重置
+                </button>
+            </div>
+        </form>
+    </div>
+    <div class="row mt-10">
+        <div id="option-bar">
+            <!-- 功能按钮部分 -->
+        </div>
+        <!-- 数据表格部分 -->
+        <table id="mgrid">
+            <thead>
+            <tr>
+                <th data-formatter="MGrid.indexfn" data-align="center" data-width="30px">序号</th>
+                <th data-field="projName"  >项目名称</th>
+                <th data-field="optionType">操作类型</th>
+                <th data-field="createBy">操作人</th>
+                <th data-field="createTime" data-formatter="MGrid.getTime" data-sortable="true">操作时间</th>
+                <th data-field="surplusCount">剩余次数</th>
+                <th data-field="balance">余额</th>
+                <th data-field="status">状态</th>
+                <th data-field="isOver" data-formatter="getYesOrNo">是否使用完成</th>
+                <th data-field="failTime" data-formatter="MGrid.getTime">有效期</th>
+                <th data-field="price">单次扣减金额</th>
+                <th data-field="remark">备注</th>
+              </tr>
+            </thead>
+        </table>
+        <!-- 数据表格部分end -->
+    </div>
+    <div class="form-group ">
+        <div class="col-sm-12 text-center fixed-button">
+            <a class="btn btn-danger radius" href="javascript:;"
+               onclick="MTools.closeForm()"><i class="fa fa-close"></i> 关闭</a>
+        </div>
+    </div>
+</div>
+
+<script type="text/javascript" th:src="@{/js/systools/MJsBase.js}"></script>
+<script type="text/javascript" th:inline="javascript" >
+
+    //定义表格对象
+    var myGrid;
+
+    $(function () {
+
+        //时间
+        var _initParam = {
+            format: 'yyyy-mm-dd hh:ii',
+            todayBtn: true,
+            autoclose: true,
+            startView: 2,
+            maxView: 3,
+            minView: 0
+        };
+        MTools.ininDatetimepicker(_initParam);
+        //限制结束时间不小于开始时间
+        var initParam = {
+            format: 'yyyy-mm-dd hh:ii',
+            todayBtn: true,
+            autoclose: true,
+            startView: 2,
+            maxView: 3,
+            minView: 0
+        };
+        MTools.limitStartEndTime(initParam);
+
+        myGrid = MGrid.initGrid({
+            url: basePath + "/admin/projUser/findProjUseFlow",
+            sortName:"createTime",
+            sortOrder:"desc",
+        });
+    });
+
+    function getYesOrNo(value, row, index){
+        switch(value){
+            case 'Y':
+                return "是";
+            case 'N':
+                return "否";
+            default:
+                return value;
+        }
+    }
+
+</script>
+
+</body>
+</html>
diff --git a/zq-erp/src/main/resources/templates/views/admin/hive/beautySalon/vip.html b/zq-erp/src/main/resources/templates/views/admin/hive/beautySalon/vip.html
index 62c1dd3..94115eb 100644
--- a/zq-erp/src/main/resources/templates/views/admin/hive/beautySalon/vip.html
+++ b/zq-erp/src/main/resources/templates/views/admin/hive/beautySalon/vip.html
@@ -262,6 +262,7 @@
                                         <el-button matrix:btn="vipInfo-wuxiao" v-if="scope.row.status!='无效'" type="text" size="small" @click="tabProjInvalid(scope.$index, scope.row)">无效</el-button>
                                         <el-button matrix:btn="vipInfo-dongjie" v-if="scope.row.status!='冻结'" type="text" size="small" @click="tabProjCold(scope.$index, scope.row)">冻结</el-button>
                                         <el-button matrix:btn="vipInfo-cardEdit" type="text" size="small" @click="tabProjEdit(scope.$index, scope.row)">编辑</el-button>
+                                        <el-button  type="text" size="small" @click="openProjUseFlow(scope.$index, scope.row)">操作记录</el-button>
                                     </template>
                                 </el-table-column>
                             </el-table>
@@ -297,6 +298,7 @@
                                         <el-button matrix:btn="vipInfo-wuxiao" v-if="scope.row.status!='无效' && scope.row.taocanId == null" type="text" size="small" @click="tabProjInvalid(scope.$index, scope.row)">无效</el-button>
                                         <el-button matrix:btn="vipInfo-dongjie" v-if="scope.row.status!='冻结' && scope.row.taocanId == null" type="text" size="small" @click="tabProjCold(scope.$index, scope.row)">冻结</el-button>
                                         <el-button matrix:btn="vipInfo-cardEdit" v-if="scope.row.taocanId == null" type="text" size="small" @click="tabProjEdit(scope.$index, scope.row)">编辑</el-button>
+                                        <el-button  type="text" size="small" @click="openProjUseFlow(scope.$index, scope.row)">操作记录</el-button>
                                     </template>
                                 </el-table-column>
                             </el-table>
@@ -357,6 +359,7 @@
                                         <el-button matrix:btn="vipInfo-wuxiao" v-if="scope.row.status!='无效'" type="text" size="small" @click="tabProjInvalid(scope.$index, scope.row)">无效</el-button>
                                         <el-button matrix:btn="vipInfo-dongjie" v-if="scope.row.status!='冻结'" type="text" size="small" @click="tabProjCold(scope.$index, scope.row)">冻结</el-button>
                                         <el-button matrix:btn="vipInfo-cardEdit" type="text" size="small" @click="tabProjEdit(scope.$index, scope.row)">编辑</el-button>
+                                        <el-button  type="text" size="small" @click="openMoneyCardUseFlow(scope.$index, scope.row)">操作记录</el-button>
                                     </template>
                                 </el-table-column>
                             </el-table>
@@ -978,6 +981,28 @@
                     content : [ basePath + url + row.id ]
                 });
             },
+
+
+            openProjUseFlow(index, row) {
+                layer.open({
+                    type : 2,
+                    title : "操作记录",
+                    area : MUI.SIZE_M,
+                    maxmin : true,
+                    content : [ basePath + "/admin/redirect/hive/beautySalon/projUseFlow-list?projUseId=" + row.id ]
+                });
+            },
+
+            openMoneyCardUseFlow(index, row) {
+                layer.open({
+                    type : 2,
+                    title : "充值卡变更记录",
+                    area : MUI.SIZE_M,
+                    maxmin : true,
+                    content : [ basePath + "/admin/redirect/hive/vip/moneyCardUseFlow-list?vipId=" + row.vipId ]
+                });
+            },
+
             tabProjInvalid(index, row) {
                 let _this = this;
                 let projType = _this.projTab.projType;
diff --git a/zq-erp/src/main/resources/templates/views/admin/hive/vip/moneyCardUse-form.html b/zq-erp/src/main/resources/templates/views/admin/hive/vip/moneyCardUse-form.html
index 56eeb3b..8dc1d12 100644
--- a/zq-erp/src/main/resources/templates/views/admin/hive/vip/moneyCardUse-form.html
+++ b/zq-erp/src/main/resources/templates/views/admin/hive/vip/moneyCardUse-form.html
@@ -71,7 +71,7 @@
 
         <div class="form-group">
             <label class="col-sm-2 control-label">充值卡备注</label>
-            <div class="col-sm-10">
+            <div class="col-sm-4">
                 <textarea class="form-control" name="remark" rows="4" th:text="${obj?.remark}"></textarea>
                 <div class="Validform_checktip"></div>
             </div>
@@ -80,7 +80,7 @@
 
         <div class="form-group">
             <label class="col-sm-2 control-label">本次修改说明<span class="text-danger">*</span></label>
-            <div class="col-sm-10">
+            <div class="col-sm-4">
                 <input dataType="*1-200" errormsg="修改充值卡必须填写修改说明" class="form-control" name="changeRemark"/>
                 <div class="Validform_checktip"></div>
             </div>
diff --git a/zq-erp/src/main/resources/templates/views/admin/hive/vip/moneyCardUseFlow-list.html b/zq-erp/src/main/resources/templates/views/admin/hive/vip/moneyCardUseFlow-list.html
index aa2d486..f3a0475 100644
--- a/zq-erp/src/main/resources/templates/views/admin/hive/vip/moneyCardUseFlow-list.html
+++ b/zq-erp/src/main/resources/templates/views/admin/hive/vip/moneyCardUseFlow-list.html
@@ -16,25 +16,11 @@
 </head>
 <body class=" container-fluid">
 <div class="pd-10">
-    <!-- 搜索框部分start -->
-    <div class="row form-head">
-        <form class="form-inline" id="serchform">
-            <!-- 用于套餐的查询 -->
-            <input autocomplete="off"   type="hidden" name="vipId" value="" id="vipId">
 
-            <div class="form-group mr-20">
-                <label>操作内容</label>
-                <input autocomplete="off"   name="content" type="text" class="form-control">
-            </div>
-            <div class="form-group">
-                <button onclick="myGrid.serchData(1)" type="button"
-                        class="btn btn-sm btn-info">
-                    <i class="fa fa-search "></i> 搜索
-                </button>
-                <button type="reset" class="btn btn-sm btn-info ">
-                    <i class="fa fa-refresh "></i> 重置
-                </button>
-            </div>
+    <div class="row form-head">
+        <form class="form-inline" id="serchform2">
+            <!-- 用于套餐的查询 -->
+            <input autocomplete="off"   type="hidden" name="vipId" th:value="${param.vipId}" class="vipId">
         </form>
     </div>
     <div class="row mt-10">
@@ -42,48 +28,46 @@
 
         </div>
         <!-- 数据表格部分 -->
-        <table id="mgrid">
+        <table id="mgrid2">
             <thead>
             <tr>
                 <th data-formatter="MGrid.indexfn" data-align="center"
                     data-width="30px">序号</th>
-                <th data-field="vipName">客户姓名</th>
-                <!--
-                <th data-field="orderNo">订单编号/服务单编号</th>
-                 -->
-                <th data-field="content" data-sortable="true">操作内容</th>
-                <th data-field="staffName">操作人</th>
                 <th data-field="createTime" data-formatter="MGrid.getTime">操作时间</th>
+                <th data-field="cardName">充值卡名称</th>
+                <th data-field="vipName">客户姓名</th>
+                <th data-field="type">变更类型</th>
+                <th data-field="orderNo">单据编号</th>
+                <th data-field="total" data-formatter="MGrid.getYk" >本金</th>
+                <th data-field="giftMoney" data-formatter="MGrid.getYk" >赠送金额</th>
+                <th data-field="balance">余额</th>
+                <th data-field="times">次数</th>
+                <th data-field="staffName">操作人</th>
+                <th data-field="content" data-sortable="true">备注</th>
             </tr>
             </thead>
         </table>
         <!-- 数据表格部分end -->
+        <div class="form-group ">
+            <div class="col-sm-12 text-center fixed-button">
+                <a class="btn btn-danger radius" href="javascript:;"
+                   onclick="MTools.closeForm()"><i class="fa fa-close"></i> 关闭</a>
+            </div>
+        </div>
     </div>
 </div>
 
 <script type="text/javascript" th:src="@{/js/systools/MJsBase.js}"></script>
 <script type="text/javascript">
     //初始化表格
-    var myGrid;
-    myGrid=MGrid.initGrid({
-        url:basePath+"/admin/moneyCardUseFlow/showList?vipId="+$.query.get("vipId"),
+    //初始化表格
+    var myGrid2;
+    myGrid2=MGrid.initGrid({
+        tableSelecter: "#mgrid2",// 表格选择器 请保持唯一
+        serchFormSelecter: "#serchform2",// 搜索表单选择器
+        url:basePath+"/admin/moneyCardUse/showCardFlowList",
     });
 
-    function buidOperate(value, row, index){
-        return html;
-    }
-
-
-    function getYesOrNo(value, row, index){
-        switch(value){
-            case 'Y':
-                return "是";
-            case 'N':
-                return "否";
-            default:
-                return value;
-        }
-    }
 </script>
 
 </body>
diff --git a/zq-erp/src/main/resources/templates/views/admin/hive/vip/projUse-form.html b/zq-erp/src/main/resources/templates/views/admin/hive/vip/projUse-form.html
index 9d530cd..e7360e3 100644
--- a/zq-erp/src/main/resources/templates/views/admin/hive/vip/projUse-form.html
+++ b/zq-erp/src/main/resources/templates/views/admin/hive/vip/projUse-form.html
@@ -58,9 +58,16 @@
             </div>
         </div>
         <div class="form-group">
-            <label class="col-sm-2 control-label">备注</label>
-            <div class="col-sm-10">
-                <textarea   class="form-control" name="remark" rows="4" th:text="${obj?.remark}" ></textarea>
+            <label class="col-sm-2 control-label">项目备注</label>
+            <div class="col-sm-4">
+                <textarea    class="form-control" name="remark" rows="4" th:text="${obj?.remark}" ></textarea>
+                <div class="Validform_checktip"></div>
+            </div>
+        </div>
+        <div class="form-group">
+            <label class="col-sm-2 control-label">修改备注<span class="text-danger">*</span></label>
+            <div class="col-sm-4">
+                <textarea   datatype="*1-200" class="form-control" name="updateRemark" rows="4"  ></textarea>
                 <div class="Validform_checktip"></div>
             </div>
         </div>
diff --git a/zq-erp/src/main/resources/templates/views/admin/hive/vip/tc-form.html b/zq-erp/src/main/resources/templates/views/admin/hive/vip/tc-form.html
index 182a537..e1c84b4 100644
--- a/zq-erp/src/main/resources/templates/views/admin/hive/vip/tc-form.html
+++ b/zq-erp/src/main/resources/templates/views/admin/hive/vip/tc-form.html
@@ -50,7 +50,7 @@
         </div>
 
         <div class="form-group">
-            <div class="col-sm-8 col-md-offset-2" id="projBox">
+            <div class="col-sm-4 col-md-offset-2" id="projBox">
                 <table class="table table-striped table-hover table-bordered"
                        id="mgrid">
                     <thead>
@@ -90,9 +90,16 @@
         </div>
 
         <div class="form-group">
-            <label class="col-sm-2 control-label">备注</label>
-            <div class="col-sm-10">
-                <textarea   class="form-control" name="remark" rows="4" >[[${obj.remark}]]</textarea>
+            <label class="col-sm-2 control-label">套餐备注</label>
+            <div class="col-sm-4">
+                <textarea    class="form-control" name="remark" rows="4" th:text="${obj?.remark}" ></textarea>
+                <div class="Validform_checktip"></div>
+            </div>
+        </div>
+        <div class="form-group">
+            <label class="col-sm-2 control-label">修改备注<span class="text-danger">*</span></label>
+            <div class="col-sm-4">
+                <textarea   datatype="*1-200" class="form-control" name="updateRemark" rows="4"  ></textarea>
                 <div class="Validform_checktip"></div>
             </div>
         </div>
diff --git a/zq-xcx/project.config.json b/zq-xcx/project.config.json
index 9d5fabf..6c43c36 100644
--- a/zq-xcx/project.config.json
+++ b/zq-xcx/project.config.json
@@ -21,7 +21,7 @@
     "checkSiteMap": true,
     "uploadWithSourceMap": true,
     "compileHotReLoad": false,
-    "useMultiFrameRuntime": false,
+    "useMultiFrameRuntime": true,
     "useApiHook": true,
     "babelSetting": {
       "ignore": [],
@@ -29,6 +29,7 @@
       "outputPath": ""
     },
     "enableEngineNative": false,
+    "bundle": false,
     "useIsolateContext": true,
     "useCompilerModule": true,
     "userConfirmedUseCompilerModuleSwitch": false,
@@ -36,7 +37,7 @@
     "packNpmManually": false,
     "packNpmRelationList": [],
     "minifyWXSS": true,
-    "bundle": false
+    "useApiHostProcess": false
   },
   "compileType": "miniprogram",
   "libVersion": "1.9.98",

--
Gitblit v1.9.1