package com.matrix.system.hive.action;
|
|
import com.matrix.core.constance.MatrixConstance;
|
import com.matrix.core.pojo.AjaxResult;
|
import com.matrix.core.tools.WebUtil;
|
import com.matrix.system.common.bean.SysUsers;
|
import com.matrix.system.common.service.SysUsersService;
|
import com.matrix.system.constance.Dictionary;
|
import com.matrix.system.hive.bean.SysBeauticianState;
|
import com.matrix.system.hive.bean.SysWorkBeatuistaff;
|
import com.matrix.system.hive.bean.SysWorktime;
|
import com.matrix.core.tools.DateUtil;
|
import com.matrix.system.hive.pojo.BeautiWorkForm;
|
import com.matrix.system.hive.service.SysWorkBeatuistaffService;
|
import com.matrix.system.hive.service.SysWorktimeService;
|
import org.springframework.stereotype.Controller;
|
import org.springframework.web.bind.annotation.RequestBody;
|
import org.springframework.web.bind.annotation.RequestMapping;
|
import org.springframework.web.bind.annotation.ResponseBody;
|
|
import javax.annotation.Resource;
|
import java.util.*;
|
|
|
/**
|
* 美疗师排班
|
*
|
* @author jyy
|
* @Title: BeautiWorkFormController.java
|
* @Package com.zkingsoft.actions.admin
|
* @description
|
* @email 18075895212@qq.com
|
* @date 2016年7月29日 下午1:41:13
|
*/
|
@RequestMapping(value = "/admin/beautiWork")
|
@Controller
|
public class BeautiWorkFormController extends BaseController {
|
@Resource
|
private SysUsersService sysUsersService;
|
@Resource
|
private SysWorkBeatuistaffService sysWorkBeatuistaffService;
|
@Resource
|
private SysWorktimeService sysWorkTimeService;
|
|
|
@RequestMapping(value = "/getPaiBanInfo")
|
public @ResponseBody
|
AjaxResult getPaiBanInfo(@RequestBody Map<String,Object> map ) {
|
|
AjaxResult result = new AjaxResult();
|
result.setStatus(AjaxResult.STATUS_SUCCESS);
|
Object strDate = map.get("dateTime");
|
Date date;
|
if (strDate == null || strDate.equals("")) {
|
date = new Date();
|
} else {
|
date = DateUtil.stringToDate(strDate.toString(), "yyyy-MM-dd");
|
}
|
result.putInMap("dateTime", date);
|
|
|
//获取本店所有的美疗师
|
List<SysUsers> mlss =
|
sysUsersService.findByRoleName(true,Dictionary.STAFF_POST_MLS);
|
|
|
/**根据一个时间获取未来七天的排班记录*/
|
int pageNow = 1;
|
List<BeautiWorkForm> workForms = sysWorkBeatuistaffService.findPaiBanByTime(date, pageNow);
|
result.putInMap("mlss", mlss);
|
result.putInMap("beaWorkForms", workForms);
|
|
//今日排班的美疗师
|
List<SysWorkBeatuistaff> todayWorkMls = new ArrayList<SysWorkBeatuistaff>();
|
for (List<SysWorkBeatuistaff> lists : workForms.get(0).getQueryListWorks()) {
|
for (SysWorkBeatuistaff sysWorkBeatuistaff : lists) {
|
todayWorkMls.add(sysWorkBeatuistaff);
|
}
|
}
|
|
//对美疗师进行签到排序
|
Collections.sort(todayWorkMls, new Comparator<SysWorkBeatuistaff>() {
|
@Override
|
public int compare(SysWorkBeatuistaff o1, SysWorkBeatuistaff o2) {
|
|
if (o1.getSignOrder() == null) return 1;
|
if (o2.getSignOrder() == null) return -1;
|
if (o1.getSignOrder() > o2.getSignOrder()) {
|
return 1;
|
} else {
|
return -1;
|
}
|
}
|
});
|
result.putInMap("todayWorkMls", todayWorkMls);
|
|
List<SysWorktime> sysWorktimes = sysWorkTimeService.findWorkTimeByshopId(getMe().getShopId());
|
result.putInMap("workTimes", sysWorktimes);
|
return result;
|
}
|
|
|
|
@RequestMapping(value = "/paiBan")
|
public String paiBan() {
|
|
|
String strDate = WebUtil.getRequest().getParameter("dateTime");
|
Date date;
|
if (strDate == null || strDate.equals("")) {
|
date = new Date();
|
} else {
|
date = DateUtil.stringToDate(strDate, "yyyy-MM-dd");
|
}
|
WebUtil.getRequest().setAttribute("dateTime", date);
|
|
//获取本店所有的美疗师
|
List<SysUsers> mlss =
|
sysUsersService.findByRoleName(true,Dictionary.STAFF_POST_MLS);
|
|
|
/**根据一个时间获取未来七天的排班记录*/
|
int pageNow = 1;
|
List<BeautiWorkForm> workForms = sysWorkBeatuistaffService.findPaiBanByTime(date, pageNow);
|
WebUtil.getRequest().setAttribute("mlss", mlss);
|
WebUtil.getRequest().setAttribute("beaWorkForms", workForms);
|
|
//今日排班的美疗师
|
List<SysWorkBeatuistaff> todayWorkMls = new ArrayList<SysWorkBeatuistaff>();
|
for (List<SysWorkBeatuistaff> lists : workForms.get(0).getQueryListWorks()) {
|
for (SysWorkBeatuistaff sysWorkBeatuistaff : lists) {
|
todayWorkMls.add(sysWorkBeatuistaff);
|
}
|
}
|
|
//对美疗师进行签到排序
|
Collections.sort(todayWorkMls, new Comparator<SysWorkBeatuistaff>() {
|
@Override
|
public int compare(SysWorkBeatuistaff o1, SysWorkBeatuistaff o2) {
|
|
if (o1.getSignOrder() == null) return 1;
|
if (o2.getSignOrder() == null) return -1;
|
if (o1.getSignOrder() > o2.getSignOrder()) {
|
return 1;
|
} else {
|
return -1;
|
}
|
}
|
});
|
WebUtil.getRequest().setAttribute("todayWorkMls", todayWorkMls);
|
|
List<SysWorktime> sysWorktimes = sysWorkTimeService.findWorkTimeByshopId(getMe().getShopId());
|
WebUtil.getRequest().setAttribute("workTimes", sysWorktimes);
|
if (sysWorktimes.size() > 0) {
|
int len = 10 / sysWorktimes.size();
|
WebUtil.getRequest().setAttribute("len", len);
|
}
|
return "admin/hive/beautySalon/beatuiPaiBan";
|
}
|
|
|
|
@RequestMapping(value = "/ddOrModifyWork")
|
public @ResponseBody
|
AjaxResult ddOrModifyWork(@RequestBody BeautiWorkForm workForm) {
|
String strDate = workForm.getDateTime();
|
strDate = strDate.replaceAll("-", "");
|
|
|
int dateForm = Integer.parseInt(strDate);
|
int curTime = Integer.parseInt(DateUtil.dateToString(new Date(), "yyyyMMdd"));
|
if (curTime > dateForm) {
|
|
return new AjaxResult(AjaxResult.STATUS_FAIL, "请选择大于当前时间下排班!");
|
}
|
if (sysWorkBeatuistaffService.modifyWork(workForm) > 0) {
|
return new AjaxResult(AjaxResult.STATUS_SUCCESS, "美疗师排班成功!");
|
}
|
return new AjaxResult(AjaxResult.STATUS_FAIL, "美疗师排班失败!");
|
}
|
|
|
@RequestMapping(value = "/addOrModify")
|
public @ResponseBody
|
AjaxResult addOrModify(BeautiWorkForm workForm) {
|
String strDate = WebUtil.getRequest().getParameter("dateTime");
|
strDate = strDate.replaceAll("-", "");
|
|
|
int dateForm = Integer.parseInt(strDate);
|
int curTime = Integer.parseInt(DateUtil.dateToString(new Date(), "yyyyMMdd"));
|
if (curTime > dateForm) {
|
|
return new AjaxResult(AjaxResult.STATUS_FAIL, "请选择大于当前时间下排班!");
|
}
|
if (sysWorkBeatuistaffService.modifyWork(workForm) > 0) {
|
return new AjaxResult(AjaxResult.STATUS_SUCCESS, "美疗师排班成功!");
|
}
|
return new AjaxResult(AjaxResult.STATUS_FAIL, "美疗师排班失败!");
|
}
|
|
@RequestMapping(value = "/getCurrentWorks")
|
public @ResponseBody
|
AjaxResult getCurrentWorks() {
|
return new AjaxResult(AjaxResult.STATUS_SUCCESS,
|
sysWorkBeatuistaffService.findByDateStr(
|
DateUtil.dateToString(new Date(), "yyyyMMdd"), getMe().getShopId()), 0);
|
}
|
|
|
/**
|
* @param staff
|
* @return
|
* @description 员工签到
|
* @author jiangyouyao
|
*/
|
@RequestMapping(value = "/modifySignOrder")
|
public @ResponseBody
|
AjaxResult modifySignOrder(SysUsers staff) {
|
if (staff.getSuId() == null) {
|
return new AjaxResult(AjaxResult.STATUS_FAIL, "签到失败");
|
}
|
int currentNum = sysWorkBeatuistaffService.staffSign(staff);
|
return new AjaxResult(AjaxResult.STATUS_SUCCESS, currentNum + "", "今天第" + currentNum + "位签到成功");
|
}
|
|
|
/**
|
* @param sysBeauticianState
|
* @return
|
* @author jyy
|
*/
|
@RequestMapping(value = "/getPaiBanBeauticianList")
|
public @ResponseBody
|
AjaxResult getPaiBanBeauticianList(@RequestBody SysBeauticianState sysBeauticianState) {
|
// 根据时间获取一段排班码
|
String panBanCodes = DateUtil.dateToString(sysBeauticianState.getBeginTime(),DateUtil.DATE_FORMAT_NO_SPLITE_DD);
|
// 获取登陆的用户
|
SysUsers user = (SysUsers) WebUtil.getSession().getAttribute(MatrixConstance.LOGIN_KEY);
|
List<SysUsers> staffs=new ArrayList<>();
|
if(sysWorkTimeService.isInWorkTime(user.getShopId(),sysBeauticianState.getBeginTime(),sysBeauticianState.getEndTime())){
|
staffs= sysUsersService.findByCodeBeaStateShop(user.getShopId(),
|
sysBeauticianState, panBanCodes);
|
}
|
return new AjaxResult(AjaxResult.STATUS_SUCCESS, staffs, 0);
|
}
|
|
}
|