Browse Source

Merge remote-tracking branch 'origin/developer' into developer

kaick 1 năm trước cách đây
mục cha
commit
35a51fa291
25 tập tin đã thay đổi với 941 bổ sung40 xóa
  1. 1 0
      src/main/java/com/caimei/modules/order/web/CmDiscernReceiptController.java
  2. 55 0
      src/main/java/com/caimei/modules/weisha/dao/CmMallOrganizeDao.java
  3. 24 0
      src/main/java/com/caimei/modules/weisha/dao/CmOrganizeStoreDao.java
  4. 110 0
      src/main/java/com/caimei/modules/weisha/entity/CmOrganizeOperate.java
  5. 195 0
      src/main/java/com/caimei/modules/weisha/entity/CmOrganizeProcure.java
  6. 10 1
      src/main/java/com/caimei/modules/weisha/entity/CmOrganizeStore.java
  7. 66 1
      src/main/java/com/caimei/modules/weisha/service/CmMallOrganizeService.java
  8. 13 0
      src/main/java/com/caimei/modules/weisha/service/CmOrganizeStoreService.java
  9. 56 0
      src/main/java/com/caimei/modules/weisha/web/CmMallOrganizeController.java
  10. 33 0
      src/main/java/com/caimei/modules/weisha/web/CmOrganizeStoreController.java
  11. 1 0
      src/main/resources/mappings/modules/order/OrderMapper.xml
  12. 2 0
      src/main/resources/mappings/modules/user/CmSpMapper.xml
  13. 1 1
      src/main/resources/mappings/modules/user/CustomerMapper.xml
  14. 77 0
      src/main/resources/mappings/modules/weisha/CmMallOrganizeMapper.xml
  15. 40 2
      src/main/resources/mappings/modules/weisha/CmOrganizeStoreMapper.xml
  16. 28 13
      src/main/webapp/WEB-INF/views/modules/bulkpurchase/applyRefoundForm.jsp
  17. 1 1
      src/main/webapp/WEB-INF/views/modules/order/cmDiscernReceiptForm.jsp
  18. 9 14
      src/main/webapp/WEB-INF/views/modules/order/newOrderList.jsp
  19. 1 4
      src/main/webapp/WEB-INF/views/modules/order/orderDetail.jsp
  20. 1 0
      src/main/webapp/WEB-INF/views/modules/weisha/cmMallOrganizeList.jsp
  21. 88 0
      src/main/webapp/WEB-INF/views/modules/weisha/cmOrganizeOperate.jsp
  22. 2 2
      src/main/webapp/WEB-INF/views/modules/weisha/cmOrganizeStoreForm.jsp
  23. 1 1
      src/main/webapp/WEB-INF/views/modules/weisha/cmOrganizeStoreFormGet.jsp
  24. 14 0
      src/main/webapp/WEB-INF/views/modules/weisha/cmOrganizeStoreList.jsp
  25. 112 0
      src/main/webapp/WEB-INF/views/modules/weisha/cmProcure.jsp

+ 1 - 0
src/main/java/com/caimei/modules/order/web/CmDiscernReceiptController.java

@@ -161,6 +161,7 @@ public class CmDiscernReceiptController extends BaseController {
         model.addAttribute("voucherVo", voucherVo.size()==0?null:voucherVo);
         model.addAttribute("organizeID", cmDiscernReceipt.getOrganizeID());
         model.addAttribute("vo", vo);
+        model.addAttribute("cmDiscernReceipt", cmDiscernReceipt);
 //        model.addAttribute("op", op);
         model.addAttribute("checkMan", cmDiscernReceipt.getCheckMan());
 

+ 55 - 0
src/main/java/com/caimei/modules/weisha/dao/CmMallOrganizeDao.java

@@ -1,5 +1,8 @@
 package com.caimei.modules.weisha.dao;
 
+import com.caimei.modules.user.entity.NewCmClub;
+import com.caimei.modules.weisha.entity.CmOrganizeOperate;
+import com.caimei.modules.weisha.entity.CmOrganizeProcure;
 import com.thinkgem.jeesite.common.persistence.CrudDao;
 import com.thinkgem.jeesite.common.persistence.annotation.MyBatisDao;
 import com.caimei.modules.weisha.entity.CmMallOrganize;
@@ -32,4 +35,56 @@ public interface CmMallOrganizeDao extends CrudDao<CmMallOrganize> {
      * @return
      */
     List<String> getOrganizeName(@Param("ids") String ids);
+
+    /**
+     * 采购人员列表
+     * @param cmOrganizeProcure
+     * @return
+     */
+    List<CmOrganizeProcure> getServiceInfo(CmOrganizeProcure cmOrganizeProcure);
+
+    /**
+     * 上下线状态
+     * @param status
+     * @param serviceProviderId
+     */
+    void setStatus(@Param("status") String status, @Param("serviceProviderId") String serviceProviderId);
+
+    /**
+     * 用户采购员上下线状态
+     * @param status
+     * @param serviceProviderId
+     */
+    void setUserServiceStatus(@Param("status") Integer status, @Param("serviceProviderId") Integer serviceProviderId, @Param("userId") Integer userId, @Param("validFlag") Integer validFlag, @Param("userPermission") Integer userPermission);
+
+    /**
+     * 采购人员下属机构
+     * @param spIds
+     * @return
+     */
+    List<NewCmClub> getClubNameList(@Param("spIds") List<Integer> spIds);
+
+    /**
+     * 根据Id删除用户
+     * @param userId
+     */
+    void delUser(@Param("userId") Integer userId);
+
+    /**
+     * 删除采购人员
+     * @param serviceProviderId
+     */
+    void updateService(@Param("serviceProviderId") Integer serviceProviderId);
+
+    /**
+     * 修改机构采购员信息
+     * @param clubId
+     */
+    void updateClub(@Param("clubId") Integer clubId);
+
+    /**
+     * 修改用户采购员信息
+     * @param userId
+     */
+    void updateUser(@Param("userId") Integer userId);
 }

+ 24 - 0
src/main/java/com/caimei/modules/weisha/dao/CmOrganizeStoreDao.java

@@ -1,5 +1,8 @@
 package com.caimei.modules.weisha.dao;
 
+import com.caimei.modules.user.entity.NewCmClub;
+import com.caimei.modules.weisha.entity.CmOrganizeOperate;
+import com.caimei.modules.weisha.entity.CmOrganizeProcure;
 import com.thinkgem.jeesite.common.persistence.CrudDao;
 import com.thinkgem.jeesite.common.persistence.annotation.MyBatisDao;
 import com.caimei.modules.weisha.entity.CmOrganizeStore;
@@ -26,4 +29,25 @@ public interface CmOrganizeStoreDao extends CrudDao<CmOrganizeStore> {
     CmOrganizeStore getclubInfo(CmOrganizeStore cmOrganizeStore);
 
     String findOrganizeNameById(Integer organizeId);
+
+
+    /**
+     * 运营人员列表
+     * @param cmOrganizeOperate
+     * @return
+     */
+    List<CmOrganizeOperate> getOperate(CmOrganizeOperate cmOrganizeOperate);
+
+    /**
+     * 获取机构名称
+     * @param clubId
+     * @return
+     */
+    String getClubName(@Param("clubId") Integer clubId);
+
+    /**
+     * 解绑微信
+     * @param id
+     */
+    void outWx(@Param("id") Integer id);
 }

+ 110 - 0
src/main/java/com/caimei/modules/weisha/entity/CmOrganizeOperate.java

@@ -0,0 +1,110 @@
+package com.caimei.modules.weisha.entity;
+
+import com.thinkgem.jeesite.common.persistence.DataEntity;
+
+import java.util.Date;
+
+/**
+ * Description
+ *
+ * @author : Charles
+ * @date : 2023/5/23
+ */
+public class CmOrganizeOperate extends DataEntity<CmOrganizeOperate> {
+    /**
+     * 组织Id
+     */
+    private Integer organizeId;
+    /**
+     * 机构Id
+     */
+    private Integer clubId;
+    /**
+     * 姓名
+     */
+    private String name;
+    /**
+     * 联系人
+     */
+    private String linkName;
+    /**
+     * 手机号
+     */
+    private String mobile;
+    /**
+     * 是否绑定微信
+     */
+    private Integer status;
+    /**
+     * 绑定时间
+     */
+    private Date bindTime;
+    /**
+     * 添加时间
+     */
+    private Date addTime;
+
+    public Integer getOrganizeId() {
+        return organizeId;
+    }
+
+    public void setOrganizeId(Integer organizeId) {
+        this.organizeId = organizeId;
+    }
+
+    public Integer getClubId() {
+        return clubId;
+    }
+
+    public void setClubId(Integer clubId) {
+        this.clubId = clubId;
+    }
+
+    public Integer getStatus() {
+        return status;
+    }
+
+    public void setStatus(Integer status) {
+        this.status = status;
+    }
+
+    public String getName() {
+        return name;
+    }
+
+    public void setName(String name) {
+        this.name = name;
+    }
+
+    public String getLinkName() {
+        return linkName;
+    }
+
+    public void setLinkName(String linkName) {
+        this.linkName = linkName;
+    }
+
+    public String getMobile() {
+        return mobile;
+    }
+
+    public void setMobile(String mobile) {
+        this.mobile = mobile;
+    }
+
+    public Date getBindTime() {
+        return bindTime;
+    }
+
+    public void setBindTime(Date bindTime) {
+        this.bindTime = bindTime;
+    }
+
+    public Date getAddTime() {
+        return addTime;
+    }
+
+    public void setAddTime(Date addTime) {
+        this.addTime = addTime;
+    }
+}

+ 195 - 0
src/main/java/com/caimei/modules/weisha/entity/CmOrganizeProcure.java

@@ -0,0 +1,195 @@
+package com.caimei.modules.weisha.entity;
+
+import com.thinkgem.jeesite.common.persistence.DataEntity;
+
+import java.util.Date;
+import java.util.List;
+
+/**
+ * Description
+ *
+ * @author : Charles
+ * @date : 2023/5/23
+ */
+public class CmOrganizeProcure extends DataEntity<CmOrganizeProcure> {
+    /**
+     * 用户Id
+     */
+    private Integer userID;
+    /**
+     * 组织Id
+     */
+    private Integer organizeId;
+    /**
+     * 绑定微信Id
+     */
+    private Integer operaId;
+    /**
+     * Id
+     */
+    private Integer serviceProviderId;
+    /**
+     * 姓名
+     */
+    private String name;
+    /**
+     * 手机号
+     */
+    private String mobile;
+    /**
+     * 关联机构
+     */
+    private List<String> clubNames;
+    /**
+     * 状态
+     */
+    private Integer status;
+    /**
+     * 绑定微信
+     */
+    private Integer isWx;
+    /**
+     * 添加事件
+     */
+    private Date addTime;
+    /**
+     * openId
+     */
+    private String openid;
+    /**
+     * 绑定时间
+     */
+    private Date bindTime;
+    /**
+     * 绑定状态
+     */
+    private String bindInfo;
+    /**
+     * 开始时间
+     */
+    private String startTime;
+    /**
+     * 结束时间
+     */
+    private String endTime;
+
+    public Integer getUserID() {
+        return userID;
+    }
+
+    public void setUserID(Integer userID) {
+        this.userID = userID;
+    }
+
+    public Integer getOrganizeId() {
+        return organizeId;
+    }
+
+    public void setOrganizeId(Integer organizeId) {
+        this.organizeId = organizeId;
+    }
+
+    public Integer getServiceProviderId() {
+        return serviceProviderId;
+    }
+
+    public Integer getOperaId() {
+        return operaId;
+    }
+
+    public void setOperaId(Integer operaId) {
+        this.operaId = operaId;
+    }
+
+    public void setServiceProviderId(Integer serviceProviderId) {
+        this.serviceProviderId = serviceProviderId;
+    }
+
+    public String getName() {
+        return name;
+    }
+
+    public void setName(String name) {
+        this.name = name;
+    }
+
+    public String getMobile() {
+        return mobile;
+    }
+
+    public void setMobile(String mobile) {
+        this.mobile = mobile;
+    }
+
+    public List<String> getClubNames() {
+        return clubNames;
+    }
+
+    public void setClubNames(List<String> clubNames) {
+        this.clubNames = clubNames;
+    }
+
+    public Integer getStatus() {
+        return status;
+    }
+
+    public void setStatus(Integer status) {
+        this.status = status;
+    }
+
+    public Integer getIsWx() {
+        return isWx;
+    }
+
+    public void setIsWx(Integer isWx) {
+        this.isWx = isWx;
+    }
+
+    public Date getAddTime() {
+        return addTime;
+    }
+
+    public void setAddTime(Date addTime) {
+        this.addTime = addTime;
+    }
+
+    public String getOpenid() {
+        return openid;
+    }
+
+    public void setOpenid(String openid) {
+        this.openid = openid;
+    }
+
+    public Date getBindTime() {
+        return bindTime;
+    }
+
+    public void setBindTime(Date bindTime) {
+        this.bindTime = bindTime;
+    }
+
+    public String getBindInfo() {
+        return bindInfo;
+    }
+
+    public void setBindInfo(String bindInfo) {
+        this.bindInfo = bindInfo;
+    }
+
+    public String getStartTime() {
+        return startTime;
+    }
+
+    public void setStartTime(String startTime) {
+        this.startTime = startTime;
+    }
+
+    public String getEndTime() {
+        return endTime;
+    }
+
+    public void setEndTime(String endTime) {
+        this.endTime = endTime;
+    }
+}

+ 10 - 1
src/main/java/com/caimei/modules/weisha/entity/CmOrganizeStore.java

@@ -26,7 +26,8 @@ public class CmOrganizeStore extends DataEntity<CmOrganizeStore> {
 	private String address;		// 详细地址
 	private Integer status;		// 门店状态:1已上线,2已下线
 	private Date addTime;		// 添加时间
-	private  Integer isWx; 		// 是否绑定微信
+	private Integer isWx; 		// 是否绑定微信
+	private String serviceName;	// 采购员姓名
 
 	private String startTime;	// 查询条件,开始时间
 	private String endTime;	// 查询条件,结束时间
@@ -156,6 +157,14 @@ public class CmOrganizeStore extends DataEntity<CmOrganizeStore> {
 		this.isWx = isWx;
 	}
 
+	public String getServiceName() {
+		return serviceName;
+	}
+
+	public void setServiceName(String serviceName) {
+		this.serviceName = serviceName;
+	}
+
 	public String getStartTime() {
 		return startTime;
 	}

+ 66 - 1
src/main/java/com/caimei/modules/weisha/service/CmMallOrganizeService.java

@@ -1,14 +1,20 @@
 package com.caimei.modules.weisha.service;
 
+import com.caimei.modules.user.entity.NewCmClub;
 import com.caimei.modules.weisha.dao.CmMallOrganizeDao;
+import com.caimei.modules.weisha.dao.CmOrganizeStoreDao;
 import com.caimei.modules.weisha.entity.CmMallOrganize;
+import com.caimei.modules.weisha.entity.CmOrganizeOperate;
+import com.caimei.modules.weisha.entity.CmOrganizeProcure;
 import com.thinkgem.jeesite.common.persistence.Page;
 import com.thinkgem.jeesite.common.service.CrudService;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 
+import java.util.ArrayList;
 import java.util.List;
+import java.util.stream.Collectors;
 
 /**
  * 组织列表Service
@@ -22,6 +28,8 @@ public class CmMallOrganizeService extends CrudService<CmMallOrganizeDao, CmMall
 
     @Autowired
     private CmMallOrganizeDao organizeDao;
+    @Autowired
+    private CmOrganizeStoreDao cmOrganizeStoreDao;
 
     public CmMallOrganize get(String id) {
         return super.get(id);
@@ -48,4 +56,61 @@ public class CmMallOrganizeService extends CrudService<CmMallOrganizeDao, CmMall
     public CmMallOrganize findOrganizeMobileOnly(CmMallOrganize cmMallOrganize) {
         return organizeDao.findOrganizeMobileOnly(cmMallOrganize);
     }
-}
+
+
+    public Page<CmOrganizeProcure> getProcure(Page<CmOrganizeProcure> page, CmOrganizeProcure cmOrganizeProcure) {
+        cmOrganizeProcure.setPage(page);
+        // 采购人员
+        List<CmOrganizeProcure> serviceInfo = organizeDao.getServiceInfo(cmOrganizeProcure);
+        // 采购人员id集合
+        List<Integer> collect = serviceInfo.stream().map(CmOrganizeProcure::getServiceProviderId).collect(Collectors.toList());
+        // 采购人员机构集合
+        List<NewCmClub> clubNameList = organizeDao.getClubNameList(collect);
+        serviceInfo.forEach(s -> {
+            List<String> strings = clubNameList.stream().filter(c -> c.getSpID().equals(s.getServiceProviderId())).collect(Collectors.toList()).stream().map(NewCmClub::getName).collect(Collectors.toList());
+            s.setClubNames(strings);
+            if (null == s.getBindTime()) {
+                s.setBindInfo("暂未绑定微信");
+            }
+        });
+        page.setList(serviceInfo);
+        return page;
+    }
+
+    @Transactional(readOnly = false)
+    public void setStatus(String status, String id, Integer userId) {
+        // 协销上下线状态
+        organizeDao.setStatus(status, id);
+        // 用户协销状态
+        if ("90".equals(status)) {
+            organizeDao.setUserServiceStatus(Integer.parseInt(status), Integer.parseInt(id), userId, 1, 4);
+        } else {
+            organizeDao.setUserServiceStatus(Integer.parseInt(status), Integer.parseInt(id), userId, 0, 1);
+        }
+    }
+
+    @Transactional(readOnly = false)
+    public void cleanWx(Integer id, Integer operaId, Integer userId) {
+        if(null != id) {
+            // 删除用户微信绑定
+            cmOrganizeStoreDao.outWx(id);
+        }
+        if (null != operaId) {
+            // 删除采购员
+            organizeDao.updateService(operaId);
+            List<Integer> collect = new ArrayList<>();
+            collect.add(operaId);
+            List<NewCmClub> clubList = organizeDao.getClubNameList(collect);
+            // 更改采购员名下机构 用户采购员信息
+            clubList.forEach(c -> {
+                organizeDao.updateClub(c.getClubID());
+                organizeDao.updateUser(c.getUserID());
+            });
+        }
+        /*if (null != userId) {
+            // 删除用户
+            organizeDao.delUser(userId);
+        }*/
+    }
+
+}

+ 13 - 0
src/main/java/com/caimei/modules/weisha/service/CmOrganizeStoreService.java

@@ -1,6 +1,7 @@
 package com.caimei.modules.weisha.service;
 
 
+import com.caimei.modules.weisha.entity.CmOrganizeOperate;
 import com.caimei.utils.AppKeys;
 import com.caimei.utils.AppUtils;
 import com.thinkgem.jeesite.common.config.Global;
@@ -12,6 +13,7 @@ import com.caimei.modules.weisha.entity.CmOrganizeStore;
 import com.caimei.modules.weisha.dao.CmOrganizeStoreDao;
 
 import javax.annotation.Resource;
+import java.util.List;
 
 /**
  * 采美组织门店Service
@@ -38,4 +40,15 @@ public class CmOrganizeStoreService extends CrudService<CmOrganizeStoreDao, CmOr
 		cmOrganizeStores.setHeadpic(AppUtils.getImageURL("club", cmOrganizeStores.getHeadpic(), AppKeys.CLUB_LOGO_SIZE, wwwServer));
 		return cmOrganizeStores;
 	}
+	public Page<CmOrganizeOperate> findOperatePage(Page<CmOrganizeOperate> page, CmOrganizeOperate cmOrganizeOperate) {
+		cmOrganizeOperate.setPage(page);
+		List<CmOrganizeOperate> operate = cmOrganizeStoreDao.getOperate(cmOrganizeOperate);
+		page.setList(operate);
+		return page;
+	}
+
+	@Transactional(readOnly = false)
+	public void outWx(Integer id) {
+		cmOrganizeStoreDao.outWx(id);
+	}
 }

+ 56 - 0
src/main/java/com/caimei/modules/weisha/web/CmMallOrganizeController.java

@@ -6,7 +6,11 @@ import com.caimei.modules.user.entity.CmUser;
 import com.caimei.modules.user.entity.NewCmClub;
 import com.caimei.modules.user.service.CmUserService;
 import com.caimei.modules.user.service.NewCmClubService;
+import com.caimei.modules.weisha.dao.CmMallOrganizeDao;
+import com.caimei.modules.weisha.dao.CmOrganizeStoreDao;
 import com.caimei.modules.weisha.entity.CmMallOrganize;
+import com.caimei.modules.weisha.entity.CmOrganizeOperate;
+import com.caimei.modules.weisha.entity.CmOrganizeProcure;
 import com.caimei.modules.weisha.service.CmMallOrganizeService;
 import com.caimei.utils.AppKeys;
 import com.caimei.utils.RandomCodeGenerator;
@@ -48,6 +52,8 @@ public class CmMallOrganizeController extends BaseController {
 
     @Resource
     private CmUserService cmUserService;
+    @Resource private CmMallOrganizeDao cmMallOrganizeDao;
+    @Resource private CmOrganizeStoreDao cmOrganizeStoreDao;
 
     @Resource
     private NewCmClubService newCmClubService;
@@ -104,5 +110,55 @@ public class CmMallOrganizeController extends BaseController {
         cmMallOrganizeService.onlineAndOffline(organizeId, status);
         return "redirect:" + Global.getAdminPath() + "/weisha/cmMallOrganize/?repage";
     }
+    /**
+     * 采购人员列表
+     * @param cmOrganizeProcure
+     * @param model
+     * @param request
+     * @param response
+     * @return
+     */
+    @RequestMapping("/procure")
+    public String procure(CmOrganizeProcure cmOrganizeProcure, Model model, HttpServletRequest request, HttpServletResponse response) {
+        Page<CmOrganizeProcure> procure = cmMallOrganizeService.getProcure(new Page<>(request,response), cmOrganizeProcure);
+        String organizeName = cmOrganizeStoreDao.findOrganizeNameById(cmOrganizeProcure.getOrganizeId());
+        model.addAttribute("page", procure);
+        model.addAttribute("cmOrganizeProcure",cmOrganizeProcure);
+        model.addAttribute("organizeName", organizeName);
+        return "modules/weisha/cmProcure";
+    }
 
+    /**
+     * 修改上线下状态
+     * @param status
+     * @param id
+     * @param organizeId
+     * @param redirectAttributes
+     * @return
+     */
+    @RequestMapping("/setStatus")
+    public String setStatus(String status, String id, Integer organizeId, Integer userId, RedirectAttributes redirectAttributes) {
+        if(StringUtils.isEmpty(id) || StringUtils.isBlank(id)) {
+            addMessage(redirectAttributes, "id为空,状态修改失败");
+            return "redirect:"+Global.getAdminPath()+"/weisha/cmMallOrganize/procure?organizeId="+organizeId;
+        }
+        cmMallOrganizeService.setStatus(status,id, userId);
+        addMessage(redirectAttributes, "状态修改成功");
+        return "redirect:"+Global.getAdminPath()+"/weisha/cmMallOrganize/procure?organizeId="+organizeId;
+    }
+    /**
+     * 解除绑定微信
+     * @param id
+     * @param operaId
+     * @param organizeId
+     * @param userId
+     * @param redirectAttributes
+     * @return
+     */
+    @RequestMapping("/cleanWX")
+    public String cleanWX(Integer id, Integer operaId, Integer organizeId, Integer userId, RedirectAttributes redirectAttributes) {
+        cmMallOrganizeService.cleanWx(id, operaId, userId);
+        addMessage(redirectAttributes, "微信绑定解除成功");
+        return "redirect:"+Global.getAdminPath()+"/weisha/cmMallOrganize/procure?organizeId="+organizeId;
+    }
 }

+ 33 - 0
src/main/java/com/caimei/modules/weisha/web/CmOrganizeStoreController.java

@@ -9,6 +9,7 @@ import com.caimei.modules.common.entity.City;
 import com.caimei.modules.common.entity.Province;
 import com.caimei.modules.common.entity.Town;
 import com.caimei.modules.weisha.dao.CmOrganizeStoreDao;
+import com.caimei.modules.weisha.entity.CmOrganizeOperate;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Controller;
 import org.springframework.ui.Model;
@@ -142,4 +143,36 @@ public class CmOrganizeStoreController extends BaseController {
         return "redirect:" + Global.getAdminPath() + "/weisha/cmOrganizeStore/?repage";
     }
 
+    /**
+     * 查看运营人员
+     * @return
+     */
+    @RequestMapping("/getOperate")
+    public String getOperate(CmOrganizeOperate cmOrganizeOperate, Model model, HttpServletRequest request, HttpServletResponse response) {
+        Page<CmOrganizeOperate> operatePage = cmOrganizeStoreService.findOperatePage(new Page<CmOrganizeOperate>(request, response), cmOrganizeOperate);
+        String clubName = cmOrganizeStoreDao.getClubName(cmOrganizeOperate.getClubId());
+        model.addAttribute("cmOrganizeOperate", cmOrganizeOperate);
+        model.addAttribute("page", operatePage);
+        model.addAttribute("clubName", clubName);
+        return "modules/weisha/cmOrganizeOperate";
+    }
+
+    /**
+     * 解除绑定微信
+     * @param id
+     * @param organizeId
+     * @param clubId
+     * @param redirectAttributes
+     * @return
+     */
+    @RequestMapping("/outWx")
+    public String outWx(Integer id, Integer organizeId, Integer clubId, RedirectAttributes redirectAttributes) {
+        if(null == id) {
+            addMessage(redirectAttributes, "id为空,微信绑定解除失败");
+            return "redirect:"+Global.getAdminPath()+"/weisha/cmOrganizeStore/getOperate?organizeId="+organizeId+"&clubId="+clubId;
+        }
+        cmOrganizeStoreService.outWx(id);
+        addMessage(redirectAttributes, "微信绑定解除成功");
+        return "redirect:"+Global.getAdminPath()+"/weisha/cmOrganizeStore/getOperate?organizeId="+organizeId+"&clubId="+clubId;
+    }
 }

+ 1 - 0
src/main/resources/mappings/modules/order/OrderMapper.xml

@@ -290,6 +290,7 @@
                 </if>
             </if>
             <if test="serviceProviderId != null and serviceProviderId != 0">
+                and co.orderType = 0
                 and (co.spID = #{serviceProviderId}
                 or sp.serviceProviderID = #{serviceProviderId})
             </if>

+ 2 - 0
src/main/resources/mappings/modules/user/CmSpMapper.xml

@@ -36,6 +36,7 @@
 		LEFT JOIN c_usertype c ON a.userID = u.userID and u.registerUserTypeID = c.c_userTypeID
 		LEFT JOIN c_serviceproviderstatus cs ON a.`status` = cs.c_serviceProviderStatusID
 		<where>
+			organizeID = 0
 			<if test="serviceProviderID != null and serviceProviderID != ''">
 				AND a.serviceProviderID = #{serviceProviderID}
 			</if>
@@ -164,6 +165,7 @@
 		LEFT JOIN c_usertype c ON a.userID = u.userID and u.registerUserTypeID = c.c_userTypeID
 		LEFT JOIN c_serviceproviderstatus cs ON a.`status` = cs.c_serviceProviderStatusID
 		<where>
+		    a.organizeId = 0
 			<if test="status != null and status != ''">
 				AND a.status = #{status}
 			</if>

+ 1 - 1
src/main/resources/mappings/modules/user/CustomerMapper.xml

@@ -119,7 +119,7 @@
 				2 AS "mode"
 				FROM USER a
 				LEFT JOIN serviceprovider s ON a.serviceProviderID = s.serviceProviderID
-				WHERE userIdentity = '1' AND s.openid IS NOT NULL AND s.openid != ''
+				WHERE userIdentity = '1' AND s.openid IS NOT NULL AND s.openid != '' and organizeID = 0
 				<if test="linkName != null and linkName != ''">
 					AND a.userName LIKE concat('%',#{linkName},'%')
 				</if>

+ 77 - 0
src/main/resources/mappings/modules/weisha/CmMallOrganizeMapper.xml

@@ -144,4 +144,81 @@
             </if>
         </where>
     </select>
+
+	<select id="getServiceInfo" resultType="com.caimei.modules.weisha.entity.CmOrganizeProcure">
+		SELECT
+		a.serviceProviderID AS "serviceProviderId",
+		a.userID AS "userID",
+		a.organizeID as organizeId,
+		a.name AS "name",
+		a.linkMan AS "linkMan",
+		a.openid as "openid",
+		a.contractMobile AS "mobile",
+		a.status AS "status",
+		cmou.id AS "operaId",
+		a.addTime AS "addTime"
+		FROM serviceprovider a
+		LEFT JOIN cm_mall_operation_user cmou ON a.userId = cmou.userId
+		<where>
+			a.organizeID = #{organizeId} AND a.validFlag = 1
+			<if test="name != null and name != ''">
+				and a.name like concat('%',#{name},'%')
+			</if>
+			<if test="mobile != null and mobile != ''">
+				and a.contractMobile like concat('%',#{mobile},'%')
+			</if>
+			<if test="status != null">
+                and a.status = #{status}
+            </if>
+			<if test="startTime != null and startTime != ''">
+				and a.addTime <![CDATA[ > ]]> #{startTime}
+			</if>
+			<if test="endTime != null and endTime != ''">
+				and a.addTime <![CDATA[ < ]]> #{endTime}
+			</if>
+		</where>
+		order by a.addTime desc
+	</select>
+	<select id="getClubNameList" resultType="com.caimei.modules.user.entity.NewCmClub">
+		select userID, clubID, name, spID from club
+		<where>
+			<if test="spIds.size() > 0">
+				spId in
+				<foreach collection="spIds" item="spId" open="(" separator="," close=")">
+					#{spId}
+				</foreach>
+			</if>
+		</where>
+	</select>
+	<update id="setStatus">
+		update serviceprovider
+		set status = #{status}
+		where serviceProviderID = #{serviceProviderId}
+	</update>
+    <select id="setUserServiceStatus">
+        update user
+        set serviceProviderStatus = #{status},
+            userPermission = #{userPermission},
+            validFlag = #{validFlag}
+        where userId = #{userId}
+    </select>
+	<delete id="delUser">
+		delete from user where userID = #{userId}
+	</delete>
+	<delete id="updateService">
+		update serviceprovider
+		set openid = NULL,
+		    unionId = NULL
+		where serviceProviderID = #{serviceProviderId}
+	</delete>
+	<update id="updateClub">
+		update club
+		set spId = null
+		where clubID = #{clubId}
+	</update>
+	<update id="updateUser">
+		update user
+		set serviceProviderID = null
+		where userID = #{userId}
+	</update>
 </mapper>

+ 40 - 2
src/main/resources/mappings/modules/weisha/CmOrganizeStoreMapper.xml

@@ -26,12 +26,18 @@
 		LEFT JOIN town t ON c.townId = t.townID
     </sql>
 
+    <select id="get" resultType="CmOrganizeStore">
+        select * from cm_mall_operation_user where id = #{id}
+    </select>
+
     <select id="findList" resultType="CmOrganizeStore">
         SELECT
         <include refid="cmOrganizeUserinfo"/>,
-        <include refid="addressName"/>
+        <include refid="addressName"/>,
+        ser.linkMan as serviceName
         FROM USER u
         LEFT JOIN club c ON c.userId = u.userId
+        LEFT JOIN serviceprovider ser on ser.serviceProviderID = c.spId
         <include refid="cmOrganizeStoreJoins"/>
         <where>
             <if test="name != null and name != ''">
@@ -52,6 +58,9 @@
                 <if test="dbName == 'mssql'">'%'+#{mobile}+'%'</if>
                 <if test="dbName == 'mysql'">concat('%',#{mobile},'%')</if>
             </if>
+            <if test="serviceName != null and serviceName != ''">
+                AND ser.linkMan like concat('%',#{serviceName},'%')
+            </if>
             <if test="status != null and status != ''">
                 AND c.status = #{status}
             </if>
@@ -127,5 +136,34 @@
         from cm_mall_organize
         where id = #{organizeId}
     </select>
-
+    <select id="getOperate" resultType="com.caimei.modules.weisha.entity.CmOrganizeOperate">
+        SELECT
+        cmou.id,
+        cmou.userOrganizeID as organizeId,
+        cmou.clubId,
+        cmou.linkName,
+        u.userName AS name,
+        u.bindMobile AS mobile,
+        cmou.status,
+        cmou.bindTime,
+        cmou.addTime
+        FROM cm_mall_operation_user cmou
+        LEFT JOIN USER u ON cmou.userId = u.userId
+        <where>
+            cmou.delFlag = 0 AND cmou.userOrganizeID = #{organizeId} AND cmou.clubId = #{clubId}
+            <if test="linkName != null and linkName != ''">
+                and cmou.linkName like concat('%',#{linkName},'%')
+            </if>
+            <if test="mobile != null and mobile != ''">
+                and u.bindMobile like concat('%',#{mobile},'%')
+            </if>
+        </where>
+        ORDER BY cmou.addTime DESC
+    </select>
+    <select id="getClubName" resultType="java.lang.String">
+        select name from club where clubId = #{clubId}
+    </select>
+    <delete id="outWx">
+        delete from cm_mall_operation_user where id = #{id}
+    </delete>
 </mapper>

+ 28 - 13
src/main/webapp/WEB-INF/views/modules/bulkpurchase/applyRefoundForm.jsp

@@ -619,7 +619,10 @@
                                         </c:if>
                                     </td>
                                     <td style="width: 275px;">
-                                        单价:¥<fmt:formatNumber type="number" value="${newOrderProduct.price}"  pattern="0.00" maxFractionDigits="2" />
+                                        单价:¥<span class="price"><fmt:formatNumber type="number"
+                                                                                  value="${newOrderProduct.price}"
+                                                                                  pattern="0.00"
+                                                                                  maxFractionDigits="2"/></span>
                                         <c:if test="${order.collageFlag eq 1}"><font color="red">(拼团价)</font></c:if>
                                     </td>
                                     <c:if test="${order.organizeID != 4}">
@@ -708,7 +711,10 @@
                                         <font title="${newOrderProduct.name}">${fns:abbr(newOrderProduct.name,30)}</font>
                                     </td>
                                     <td style="width: 275px;">
-                                        单价:¥<fmt:formatNumber type="number" value="${newOrderProduct.price}"  pattern="0.00" maxFractionDigits="2" />
+                                        单价:¥<span class="price"><fmt:formatNumber type="number"
+                                                                                  value="${newOrderProduct.price}"
+                                                                                  pattern="0.00"
+                                                                                  maxFractionDigits="2"/></span>
                                     </td>
                                     <c:if test="${order.organizeID != 4}">
                                     <td>
@@ -790,8 +796,10 @@
                                         <font title="${newOrderProduct.name}">${fns:abbr(newOrderProduct.name,30)}</font>
                                     </td>
                                     <td style="width: 275px;">
-                                        单价:¥<fmt:formatNumber type="number" value="${newOrderProduct.price}"
-                                                              pattern="0.00" maxFractionDigits="2"/>
+                                        单价:¥<span class="price"><fmt:formatNumber type="number"
+                                                                                  value="${newOrderProduct.price}"
+                                                                                  pattern="0.00"
+                                                                                  maxFractionDigits="2"/></span>
                                     </td>
                                     <td>
                                         折扣 :${newOrderProduct.discount}%
@@ -1082,7 +1090,6 @@
 
         //本次退货和本次取消
         $('body').on('input','.refundGoodsInput, .cancelGoodsInput,.refundGoodsInput1',function() {
-            debugger
             var receiptStatus = $('#receiptStatus').val(),
                 refundFee = 0,
                 originalAmount = getTotalAmount(); // 所有商品原始总金额
@@ -1127,17 +1134,23 @@
 
         function getTotalAmount() {
             var originalAmount = 0; // 所有商品原始总金额
-            $('.shopOrderTable').each(function() {
+            $('.shopOrderTable').each(function () {
                 var innerTable = $(this).find('.table');
-                innerTable.each(function() {
+                innerTable.each(function () {
 //                        某个商品原始金额 = 单个折后单价 * (单个退货数量+单个取消数量)
                     var refundVal = Number($(this).find('.refundGoodsInput').val()),
                         cancelVal = Number($(this).find('.cancelGoodsInput').val()),
+                        price = Number($(this).find('.price').text()),
                         discountPrice = Number($(this).find('.discountPrice').text()),
                         addedValueTax = Number($(this).find('.addedValueTax').text());
                     var presentNum = Number($(this).find('.refundGoodsInput').attr('presentNum'));
-                    if((refundVal != 0 || cancelVal != 0)){
-                        originalAmount += (discountPrice * (refundVal + cancelVal - presentNum)+(refundVal + cancelVal - presentNum)*addedValueTax);
+
+                    if ((refundVal != 0 || cancelVal != 0)) {
+                        if (${order.organizeID != 4}) {
+                            originalAmount += (discountPrice * (refundVal + cancelVal - presentNum) + (refundVal + cancelVal - presentNum) * addedValueTax);
+                        } else {
+                            originalAmount += (price * (refundVal + cancelVal - presentNum));
+                        }
                     }
                 })
             })
@@ -1145,8 +1158,8 @@
         }
     });
 
-    (function(){
-        $('body').click(function(e) {
+    (function () {
+        $('body').click(function (e) {
             var target = $(e.target),
                 $block = $('.operation-block');
             if(target.is('.operation-btn')) {
@@ -1195,6 +1208,7 @@
     }
 
     function setApplicationReturnedNum(a,b){
+        debugger
         var refundType =  $("#refundType").val();
         var num = $("#applicationReturnedNum"+a+b).val();
         var max = Number($("#shipped"+a+b).html()  - $("#returning"+a+b).html() - $("#returned"+a+b).html());
@@ -1203,13 +1217,14 @@
                 alertx("退货数量不能大于已发货数量(之前已退不算)!");
                 $("#applicationReturnedNum"+a+b).val(0)
             }
-            if (num !== max && ${returnOnline}){
+            if (num != max && ${returnOnline}){
                 alertx("退货数量只能等于已发货数量(之前已退不算)!");
                 $("#applicationReturnedNum"+a+b).val(0)
             }
         }
     };
     function setApplicationCancelNum(a,b){
+        debugger
         var refundType =  $("#refundType").val();
         var num = $("#applicationCancelNum"+a+b).val();
         var max = Number($("#toBeShipped"+a+b).html());
@@ -1218,7 +1233,7 @@
                 alertx("取消数量不能大于待发数量,请重新填写!");
                 $("#applicationCancelNum"+a+b).val(0)
             }
-            if (num !== max && ${returnOnline}){
+            if (num != max && ${returnOnline}){
                 alertx("取消数量只能等于待发数量,请重新填写!");
                 $("#applicationCancelNum"+a+b).val(0)
             }

+ 1 - 1
src/main/webapp/WEB-INF/views/modules/order/cmDiscernReceiptForm.jsp

@@ -144,7 +144,7 @@
 <body>
 <ul class="nav nav-tabs">
     <li><a href="${ctx}/order/cmDiscernReceipt/">收款列表</a></li>
-    <li class="active"><a href="${ctx}/order/cmDiscernReceipt/detail?id=${cmDiscernReceipt.id}">收款详情</a></li>
+    <li class="active"><a href="${ctx}/order/cmDiscernReceipt/detail?checkMan=${cmDiscernReceipt.checkMan}&orderID=${cmDiscernReceipt.orderID}&shopName=${cmDiscernReceipt.shopName}&id=${cmDiscernReceipt.id}&organizeID=${cmDiscernReceipt.organizeID}&shopOrderId=${cmDiscernReceipt.shopOrderId}">收款详情</a></li>
 </ul>
 <br/>
 <div class="receipt-order-details">

+ 9 - 14
src/main/webapp/WEB-INF/views/modules/order/newOrderList.jsp

@@ -248,24 +248,19 @@
             <li style="position: relative">${order.orderNo}
             </li>
             <li>
-                <c:if test="${order.organizeID != 4}">
-                    <c:if test="${order.orderType == 1}">
-                        自主订单
-                    </c:if>
-                    <c:if test="${order.orderType == 0}">
-                        协销订单
-                        <c:if test="${not empty order.spName}">
-                            <br>${fns:appendLast1('(',order.spName,')')}
-                        </c:if>
-                    </c:if>
-                    <c:if test="${order.orderType > 1}">
-                        ---
+                <c:if test="${order.orderType == 1}">
+                    自主订单
+                </c:if>
+                <c:if test="${order.orderType == 0}">
+                    协销订单
+                    <c:if test="${not empty order.spName}">
+                        <br>${fns:appendLast1('(',order.spName,')')}
                     </c:if>
                 </c:if>
-
-                <c:if test="${order.organizeID == 4}">
+                <c:if test="${order.orderType > 1}">
                     ---
                 </c:if>
+
             </li>
             <li>
                 <c:if test="${order.rebateOrder == '0'}">

+ 1 - 4
src/main/webapp/WEB-INF/views/modules/order/orderDetail.jsp

@@ -409,10 +409,7 @@
         <td>返佣订单: ${(order.rebateOrder ne '0' || order.rebateFlag eq '1')?'是':'否'}</td>
     </tr>
     <tr>
-        <c:if test="${order.organizeID != 4}">
-            <td>订单类型: <c:if test="${order.orderType == 1}">自主订单</c:if><c:if
-                    test="${order.orderType == 0}">协销订单</c:if></td>
-        </c:if>
+        <td>订单类型: <c:if test="${order.orderType == 1}">自主订单</c:if><c:if test="${order.orderType == 0}">协销订单</c:if></td>
         <td>订单来源: ${fns:getDictLabel(order.orderSource,"bp_orderSource","" )}</td>
         <td>订单状态:
             <c:if test="${order.status eq 11 || order.status eq 12 || order.status eq 13 ||order.status eq 21 ||order.status eq 22 ||

+ 1 - 0
src/main/webapp/WEB-INF/views/modules/weisha/cmMallOrganizeList.jsp

@@ -119,6 +119,7 @@
 <%--						<a href="${ctx}/weisha/cmOrganizeBuyer?organizeId=${cmUserOrganize.id}">采购员</a>--%>
 						<a href="${ctx}/weisha/cmOrganizeStore/list?organizeId=${cmUserOrganize.id}">机构列表</a>
 <%--						<a href="${ctx}/weisha/cmOrganizeProduct/list?organizeId=${cmUserOrganize.id}">商品列表</a>--%>
+						<a href="${ctx}/weisha/cmMallOrganize/procure?organizeId=${cmUserOrganize.id}">采购员列表</a>
 						<a href="${ctx}/weisha/cmMallUser/getMallUser?organizeId=${cmUserOrganize.id}">后台用户</a>
 <%--						<a href="${ctx}/weisha/cmOrganizePromotions/list?organizeId=${cmUserOrganize.id}&type=1">促销活动</a>--%>
 					</td>

+ 88 - 0
src/main/webapp/WEB-INF/views/modules/weisha/cmOrganizeOperate.jsp

@@ -0,0 +1,88 @@
+<%@ page contentType="text/html;charset=UTF-8" %>
+<%@ include file="/WEB-INF/views/include/taglib.jsp"%>
+<html>
+<head>
+    <title>查看运营人员</title>
+    <meta name="decorator" content="default"/>
+    <style type="text/css">
+        .table th{text-align: center;}
+        .table td{text-align: center;}
+    </style>
+
+</head>
+<body>
+<ul class="nav nav-tabs">
+    <li><a href="${ctx}/weisha/cmMallOrganize">组织列表</a></li>
+    <li><a href="${ctx}/weisha/cmOrganizeStore?organizeId=${cmOrganizeOperate.organizeId}">机构列表</a></li>
+    <li class="active"><a href="${ctx}/weisha/cmOrganizeStore/getOperate?organizeId=${cmOrganizeOperate.organizeId}&clubId=${cmOrganizeOperate.clubId}">查看运营人员</a></li>
+</ul>
+<form:form id="searchForm" modelAttribute="cmOrganizeOperate" action="${ctx}/weisha/cmOrganizeStore/getOperate?organizeId=${cmOrganizeOperate.organizeId}&clubId=${cmOrganizeOperate.clubId}" method="post" class="breadcrumb form-search">
+    <input id="pageNo" name="pageNo" type="hidden" value="${page.pageNo}"/>
+    <input id="pageSize" name="pageSize" type="hidden" value="${page.pageSize}"/>
+    <form:hidden path="organizeId"/>
+    <div class="ul-form">
+        <label>姓名:</label>
+            <form:input path="linkName" htmlEscape="false" maxlength="30" class="input-medium"/>
+        <label>手机号:</label>
+            <form:input path="mobile" htmlEscape="false" maxlength="11" class="input-medium"/>
+        &nbsp;&nbsp;<input id="btnSubmit" class="btn btn-primary" type="submit" value="搜索"/>
+        <div class="clearfix"></div>
+    </div>
+</form:form>
+<sys:message content="${message}"/>
+<font color="blue">当前机构:${clubName}</font>
+<table id="contentTable" class="table table-striped table-bordered table-condensed">
+    <thead>
+    <tr>
+        <th>姓名</th>
+        <th>手机号</th>
+        <th>绑定时间</th>
+        <th>添加时间</th>
+        <th>操作</th>
+    </tr>
+    </thead>
+    <tbody>
+    <c:forEach items="${page.list}" var="operatePage">
+        <tr>
+            <td>
+                    ${operatePage.linkName}
+            </td>
+            <td>
+                    ${operatePage.mobile}
+            </td>
+            <td>
+                <c:if test="${!empty operatePage.bindTime}">
+                    <fmt:formatDate value="${operatePage.bindTime}" pattern="yyyy-MM-dd HH:mm:ss"/>
+                </c:if>
+                <c:if test="${empty operatePage.bindTime}">
+                    暂未绑定
+                </c:if>
+            </td>
+            <td>
+                <fmt:formatDate value="${operatePage.addTime}" pattern="yyyy-MM-dd HH:mm:ss"/>
+            </td>
+            <td>
+                <c:if test="${operatePage.status eq 2}">
+                    <a href="${ctx}/weisha/cmOrganizeStore/outWx?id=${operatePage.id}&organizeId=${operatePage.organizeId}&clubId=${operatePage.clubId}"
+                       onclick="return confirmx('确定解绑该机构微信吗?解绑后需要重新添加。', this.href)">解绑微信</a>
+                </c:if>
+                <c:if test="${operatePage.status ne 2}"> --- </c:if>
+            </td>
+        </tr>
+    </c:forEach>
+    </tbody>
+</table>
+<div class="pagination">${page}</div>
+<script type="text/javascript">
+    $(document).ready(function() {
+
+    });
+    function page(n,s){
+        $("#pageNo").val(n);
+        $("#pageSize").val(s);
+        $("#searchForm").submit();
+        return false;
+    }
+</script>
+</body>
+</html>

+ 2 - 2
src/main/webapp/WEB-INF/views/modules/weisha/cmOrganizeStoreForm.jsp

@@ -42,7 +42,7 @@
 <ul class="nav nav-tabs">
 	<li><a href="${ctx}/weisha/cmMallOrganize">组织列表</a></li>
 	<li><a href="${ctx}/weisha/cmOrganizeStore/list?organizeId=${cmOrganizeStore.organizeId}">机构列表</a></li>
-	<li class="active"><a href="${ctx}/weisha/cmOrganizeStore/form?organizeId=${cmOrganizeStore.organizeId}&id=${cmOrganizeStore.id}">${not empty cmOrganizeStore.id?'编辑':'上线'}门店</a></li>
+	<li class="active"><a href="${ctx}/weisha/cmOrganizeStore/formGet?clubId=${cmOrganizeStore.clubId}">查看资料</a></li>
 </ul><br/>
 <form:form id="inputForm" modelAttribute="cmOrganizeStore" action="${ctx}/weisha/cmOrganizeStore/save" method="post" class="form-horizontal">
 	<form:hidden path="id"/>
@@ -209,4 +209,4 @@
 
 </script>
 </body>
-</html>
+</html>

+ 1 - 1
src/main/webapp/WEB-INF/views/modules/weisha/cmOrganizeStoreFormGet.jsp

@@ -9,7 +9,7 @@
 <ul class="nav nav-tabs">
 	<li><a href="${ctx}/weisha/cmMallOrganize">组织列表</a></li>
 	<li><a href="${ctx}/weisha/cmOrganizeStore/list?organizeId=${clubInfo.organizeId}">机构列表</a></li>
-	<li class="active"><a href="${ctx}/weisha/cmOrganizeStore/form?clubId=${clubInfo.clubId}">查看资料</a></li>
+	<li class="active"><a href="${ctx}/weisha/cmOrganizeStore/formGet?clubId=${clubInfo.clubId}">查看资料</a></li>
 </ul>
 <br/>
 <form:form id="inputForm" modelAttribute="clubInfo"  method="post"

+ 14 - 0
src/main/webapp/WEB-INF/views/modules/weisha/cmOrganizeStoreList.jsp

@@ -26,6 +26,8 @@
 				<form:input path="linkMan" htmlEscape="false" maxlength="15" class="input-medium"/>
 			 <label>手机号:</label>
 				<form:input path="mobile" htmlEscape="false" maxlength="11" class="input-medium"/>
+			<label>采购员:</label>
+				<form:input path="serviceName" htmlEscape="false" maxlength="30" class="input-medium"/>
 			 <label>上线状态:</label>
 			<form:select path="status" class="input-mini">
 				<form:option value="" label="请选择"/>
@@ -57,6 +59,7 @@
 				<th>联系人</th>
 				<th>手机号</th>
 				<th>机构地址</th>
+				<th>采购员</th>
 				<th>状态</th>
 				<th>微信绑定</th>
 				<th>注册时间</th>
@@ -92,6 +95,14 @@
 						 ${cmOrganizeStore.address}
 					</c:if>
 				</td>
+				<td>
+					<c:if test="${empty cmOrganizeStore.serviceName}">
+						---
+					</c:if>
+					<c:if test="${!empty cmOrganizeStore.serviceName}">
+						${cmOrganizeStore.serviceName}
+					</c:if>
+				</td>
 				<td>
 					<c:if test="${cmOrganizeStore.status eq 90}">
 						<font color="green">已上线</font>
@@ -125,6 +136,9 @@
 						<a href="${ctx}/weisha/cmOrganizeStore/cleanWx?userId=${cmOrganizeStore.userId}&organizeId=${cmOrganizeStore.organizeId}"
 						   onclick="return confirmx('确定解绑该机构微信吗?解绑后将不能自动登录小程序。', this.href)">解绑微信</a>
 					</c:if>
+					<c:if test="${cmOrganizeStore.status eq 90 || cmOrganizeStore.status eq 91}">
+						<a href="${ctx}/weisha/cmOrganizeStore/getOperate?organizeId=${cmOrganizeStore.organizeId}&clubId=${cmOrganizeStore.clubId}">查看运营人员</a>
+					</c:if>
 					<a href="javascript: void(0)" onclick="updatePwd(${cmOrganizeStore.userId})">重置密码</a>
 				</td>
 			</tr>

+ 112 - 0
src/main/webapp/WEB-INF/views/modules/weisha/cmProcure.jsp

@@ -0,0 +1,112 @@
+<%@ page contentType="text/html;charset=UTF-8" %>
+<%@ include file="/WEB-INF/views/include/taglib.jsp"%>
+<html>
+<head>
+    <title>查看运营人员</title>
+    <meta name="decorator" content="default"/>
+    <style type="text/css">
+        .table th{text-align: center;}
+        .table td{text-align: center;}
+    </style>
+
+</head>
+<body>
+<ul class="nav nav-tabs">
+    <li><a href="${ctx}/weisha/cmMallOrganize">组织列表</a></li>
+    <li class="active"><a href="${ctx}/weisha/cmMallOrganize/procure?organizeId=${cmOrganizeProcure.organizeId}">采购列表</a></li>
+</ul>
+<form:form id="searchForm" modelAttribute="cmOrganizeProcure" action="${ctx}/weisha/cmMallOrganize/procure" method="post" class="breadcrumb form-search">
+    <input id="pageNo" name="pageNo" type="hidden" value="${page.pageNo}"/>
+    <input id="pageSize" name="pageSize" type="hidden" value="${page.pageSize}"/>
+    <form:hidden path="organizeId"/>
+    <div class="ul-form">
+        <label>姓名:</label>
+        <form:input path="name" htmlEscape="false" maxlength="30" class="input-medium"/>
+        <label>手机号:</label>
+        <form:input path="mobile" htmlEscape="false" maxlength="11" class="input-medium"/>
+        <label>状态:</label>
+        <form:select path="status" htmlEscape="false" class="input-medium">
+            <form:option value="" label="请选择"/>
+            <form:option value="90" label="已上线"/>
+            <form:option value="91" label="已下线"/>
+        </form:select>
+        <label>注册时间:</label>
+        <form:input path="startTime" type="text" maxlength="20" class="input-mini Wdate"
+                    value="${visit.startTime}" cssStyle="width: 130px"
+                    onclick="WdatePicker({dateFmt:'yyyy-MM-dd',isShowClear:false});"/>
+        -
+        <form:input path="endTime" type="text" maxlength="20" class="input-mini Wdate"
+                    value="${visit.startTime}" cssStyle="width: 130px"
+                    onclick="WdatePicker({dateFmt:'yyyy-MM-dd',isShowClear:false});"/>
+
+        &nbsp;&nbsp;<input id="btnSubmit" class="btn btn-primary" type="submit" value="搜索"/>
+        <div class="clearfix"></div>
+    </div>
+</form:form>
+<sys:message content="${message}"/>
+<font color="blue">当前组织:${organizeName}</font>
+<table id="contentTable" class="table table-striped table-bordered table-condensed">
+    <thead>
+    <tr>
+        <th>姓名</th>
+        <th>手机号</th>
+        <th>关联机构</th>
+        <th>状态</th>
+        <th>添加时间</th>
+        <th>操作</th>
+    </tr>
+    </thead>
+    <tbody>
+    <c:forEach items="${page.list}" var="procure">
+        <tr>
+            <td>
+                    ${procure.name}
+            </td>
+            <td>
+                    ${procure.mobile}
+            </td>
+            <td>
+                <c:forEach items="${procure.clubNames}" var="club">
+                    <p>${club}</p>
+                </c:forEach>
+                <c:if test="${empty procure.clubNames}">暂未关联机构</c:if>
+            </td>
+            <td>
+                <c:if test="${procure.status eq 90}">
+                    <font color="green">已上线</font>
+                    <a href="${ctx}/weisha/cmMallOrganize/setStatus?status=91&id=${procure.serviceProviderId}&organizeId=${procure.organizeId}&userId=${procure.userID}" onclick="return confirmx('确定下线该机构吗?下线后机构将不能登录小程序。', this.href)">下线</a>
+                </c:if>
+                <c:if test="${procure.status eq 91}">
+                    <font color="red">已下线</font>
+                    <a href="${ctx}/weisha/cmMallOrganize/setStatus?status=90&id=${procure.serviceProviderId}&organizeId=${procure.organizeId}&userId=${procure.userID}" onclick="return confirmx('确定上线该机构吗?', this.href)" >上线</a>
+                </c:if>
+            </td>
+            <td>
+                <fmt:formatDate value="${procure.addTime}" pattern="yyyy-MM-dd HH:mm:ss"/>
+            </td>
+            <td>
+                <c:if test="${procure.status eq 90 && !empty procure.openid}">
+                    <a href="${ctx}/weisha/cmMallOrganize/cleanWX?id=${procure.operaId}&operaId=${procure.serviceProviderId}&organizeId=${procure.organizeId}&userId=${procure.userID}"
+                       onclick="return confirmx('确定解绑该机构微信吗?解绑后需要重新添加。', this.href)">解绑微信</a>
+                </c:if>
+                <c:if test="${empty procure.openid}"><font color="red">已解绑微信</font></c:if>
+                <c:if test="${procure.status ne 90 && !empty procure.openid}"> --- </c:if>
+            </td>
+        </tr>
+    </c:forEach>
+    </tbody>
+</table>
+<div class="pagination">${page}</div>
+<script type="text/javascript">
+    $(document).ready(function() {
+
+    });
+    function page(n,s){
+        $("#pageNo").val(n);
+        $("#pageSize").val(s);
+        $("#searchForm").submit();
+        return false;
+    }
+</script>
+</body>
+</html>