| @@ -44,7 +44,7 @@ | |||
| <span class="required ">*</span> 语言类型:<i class="fa icon-question hide"></i></label> | |||
| <div class="col-sm-8"> | |||
| <input name="oldLangType" type="hidden" value="${lang.langType}"> | |||
| <#form:radio path="langType" dictType="sys_lang_type" class="form-control required " /> | |||
| <#form:radio path="langType" dictType="sys_lang_type" class="form-control required " /> | |||
| </div> | |||
| </div> | |||
| </div> | |||
| @@ -18,6 +18,7 @@ import com.lecoo.kjg.web.meeting.service.MeetingRoomService; | |||
| import com.lecoo.kjg.web.sys.constant.ResponseCode; | |||
| import com.lecoo.kjg.web.sys.service.EmpService; | |||
| import com.lecoo.kjg.web.sys.utils.DateUtils; | |||
| import com.lecoo.kjg.web.sys.utils.RedisUtils; | |||
| import com.lecoo.kjg.web.sys.utils.SendUtil; | |||
| import com.lecoo.kjg.web.sys.web.BaseController; | |||
| import me.chanjar.weixin.common.error.WxErrorException; | |||
| @@ -31,6 +32,7 @@ import javax.validation.Valid; | |||
| import java.text.SimpleDateFormat; | |||
| import java.util.Date; | |||
| import java.util.List; | |||
| import java.util.stream.Collectors; | |||
| @RestController | |||
| @RequestMapping(value = "/api/meeting", produces = MediaType.APPLICATION_JSON_UTF8_VALUE) | |||
| @@ -157,6 +159,18 @@ public class MeetingApiController extends BaseController { | |||
| return outputData(0, meetingRoomOrderDao.findListByDateAndRoom(dateStr, roomId)); | |||
| } | |||
| @ResponseBody | |||
| @RequestMapping(value = "/listsByDateAndEmp", method = RequestMethod.POST) | |||
| @Transactional | |||
| public MyResponse listByDateAndUser(String empId) { | |||
| List<MeetingRoomOrder> mrs = meetingRoomOrderDao.findListByDateAndEmp(empId); | |||
| for (MeetingRoomOrder m : mrs) { | |||
| MeetingRoom mr = meetingRoomService.get(m.getRoomId().toString()); | |||
| m.setRoomName(mr.getName()); | |||
| } | |||
| return outputData(0, mrs); | |||
| } | |||
| @Autowired | |||
| private OfficeService officeService; | |||
| @@ -164,7 +178,12 @@ public class MeetingApiController extends BaseController { | |||
| @RequestMapping(value = "/person-lists", method = RequestMethod.POST) | |||
| @Transactional | |||
| public MyResponse personList(String orderBy) { | |||
| return outputData(0, meetingRoomOrderDao.findListByPerson(orderBy)); | |||
| List<MeetingRoomOrder> mrs = meetingRoomOrderDao.findListByPerson(orderBy); | |||
| for (MeetingRoomOrder m : mrs) { | |||
| MeetingRoom mr = meetingRoomService.get(m.getRoomId().toString()); | |||
| m.setRoomName(mr.getName()); | |||
| } | |||
| return outputData(0, mrs); | |||
| } | |||
| @ResponseBody | |||
| @@ -329,6 +348,7 @@ public class MeetingApiController extends BaseController { | |||
| return outputSuccess(); | |||
| } | |||
| @Autowired | |||
| private MeetingRoomOrderService meetingRoomOrderService; | |||
| @@ -338,7 +358,7 @@ public class MeetingApiController extends BaseController { | |||
| // List<Long> ls = meetingRoomOrderService.getAbleOrderList(orderDate,orderTime,endTime); | |||
| int[] height = {0,1,0,2,1,0,1,3,2,1,2,3}; | |||
| int count = trap(height); | |||
| return outputData(0, count); | |||
| return outputData(0, "count"); | |||
| } | |||
| public int trap(int[] height) { | |||
| @@ -19,6 +19,7 @@ public interface MeetingRoomOrderDao extends CrudDao<MeetingRoomOrder> { | |||
| public List<MeetingRoomOrder> queryByOrder(Long roomId, String orderDate, String orderTime, String endTime); | |||
| public List<MeetingRoomOrder> findListByDateStr(String orderDate, String officeCode); | |||
| public List<MeetingRoomOrder> findListByDateAndRoom(String orderDate, String roomId); | |||
| public List<MeetingRoomOrder> findListByDateAndEmp(String empId); | |||
| public List<MeetingRoomOrder> findListByDate(String orderDate, Integer roomId); | |||
| public List<MeetingRoomOrder> findListByPerson(String orderBy); | |||
| @@ -74,6 +74,7 @@ public class MeetingRoomOrder extends DataEntity<MeetingRoomOrder> { | |||
| private MeetingRoom meetingRoom; | |||
| private Emp emp; | |||
| private String orderData; | |||
| private String roomName; | |||
| public MeetingRoom getMeetingRoom() { | |||
| return meetingRoom; | |||
| @@ -222,4 +223,12 @@ public class MeetingRoomOrder extends DataEntity<MeetingRoomOrder> { | |||
| public void setOrderData(String orderData) { | |||
| this.orderData = orderData; | |||
| } | |||
| public String getRoomName() { | |||
| return roomName; | |||
| } | |||
| public void setRoomName(String roomName) { | |||
| this.roomName = roomName; | |||
| } | |||
| } | |||
| @@ -28,6 +28,11 @@ public interface VisitRecordsDao extends CrudDao<VisitRecords> { | |||
| VisitRecords findByAccessCode(@Param("accessCode") String accessCode); | |||
| VisitRecords findByName(@Param("name") String name); | |||
| void updByName(@Param("name") String name); | |||
| List<VisitRecords> findByEmp(@Param("empCode") String empCode); | |||
| List<VisitRecords> findListToday(@Param("status") Integer status); | |||
| VisitRecords findByCarPlate(@Param("carPlate") String carPlate); | |||
| @@ -60,10 +60,7 @@ public class AuthMappingItemProcessorService implements ItemProcessor<AuthMappin | |||
| authMappings.forEach(am->{ | |||
| list.add(am.getDevId()); | |||
| }); | |||
| System.err.println("============authmapping process===1"); | |||
| System.err.println(list); | |||
| System.err.println(mis); | |||
| System.err.println("============authmapping process===2"); | |||
| deviceService.updateAuthTs(list, mis); | |||
| @@ -1,9 +1,12 @@ | |||
| package com.lecoo.kjg.web.sys.web; | |||
| import com.alibaba.fastjson.JSONArray; | |||
| import com.alibaba.fastjson.JSONObject; | |||
| import com.jeesite.common.idgen.IdGen; | |||
| import com.jeesite.common.shiro.session.SessionManager; | |||
| import com.jeesite.modules.sys.service.OfficeService; | |||
| import com.lecoo.kjg.web.meeting.dao.MeetingRoomOrderDao; | |||
| import com.lecoo.kjg.web.meeting.entity.MeetingRoomOrder; | |||
| import com.lecoo.kjg.web.sys.dto.HistoryRecord; | |||
| import com.lecoo.kjg.web.sys.entity.Device; | |||
| import com.lecoo.kjg.web.sys.entity.FaceHistory; | |||
| @@ -13,13 +16,16 @@ import com.lecoo.kjg.web.sys.service.DeviceService; | |||
| import com.lecoo.kjg.web.sys.service.EmpService; | |||
| import com.lecoo.kjg.web.sys.service.FaceHistoryService; | |||
| import com.lecoo.kjg.web.sys.service.PasswordLogService; | |||
| import com.lecoo.kjg.web.sys.utils.DateUtils; | |||
| import com.lecoo.kjg.web.sys.utils.JasyptUtil; | |||
| import com.lecoo.kjg.web.sys.utils.RedisUtils; | |||
| import com.lecoo.kjg.web.sys.utils.StringUtils; | |||
| import com.lenovo.nowgo.common.constant.ResponseCode; | |||
| import com.lenovo.nowgo.common.http.response.MyResponse; | |||
| import org.springframework.beans.factory.annotation.Autowired; | |||
| import org.springframework.beans.factory.annotation.Value; | |||
| import org.springframework.stereotype.Controller; | |||
| import org.springframework.transaction.annotation.Transactional; | |||
| import org.springframework.util.DigestUtils; | |||
| import org.springframework.web.bind.annotation.*; | |||
| @@ -255,6 +261,46 @@ public class ApiController extends BaseController { | |||
| } | |||
| @Autowired | |||
| private RedisUtils redisUtils; | |||
| @Autowired | |||
| private MeetingRoomOrderDao meetingRoomOrderDao; | |||
| @ResponseBody | |||
| @RequestMapping(value = "/notifyToday", method = RequestMethod.POST) | |||
| @Transactional | |||
| public Object notifyToday(@RequestParam(required = true) String officeCode) { | |||
| SimpleDateFormat sdf2 = new SimpleDateFormat("yyyy-MM-dd"); | |||
| SimpleDateFormat sdf = new SimpleDateFormat("HH:mm"); | |||
| String dateStr = sdf2.format(new Date()); | |||
| String data = redisUtils.getDefaultString("notifyToday"); | |||
| JSONArray re = new JSONArray(); | |||
| if (com.jeesite.common.lang.StringUtils.isNotEmpty(data)) { | |||
| re = JSONArray.parseArray(data); | |||
| } else { | |||
| List<MeetingRoomOrder> ll = meetingRoomOrderDao.findListByDateStr(dateStr, officeCode); | |||
| for(MeetingRoomOrder mr : ll) { | |||
| System.err.println(sdf.format(mr.getOrderTime())); | |||
| JSONObject jo = new JSONObject(); | |||
| jo.put("orderBy", mr.getOrderBy()); | |||
| jo.put("orderByEmp", mr.getOrderByEmp()); | |||
| if (StringUtils.compare(sdf.format(mr.getOrderTime()), sdf.format(new Date())) > 0 && StringUtils.compare(sdf.format(DateUtils.addMinutes(new Date(), 120)), sdf.format(mr.getOrderTime())) > 0) { | |||
| jo.put("msg", "温馨提示,"+sdf.format(mr.getOrderTime())+"的会议别忘了"); | |||
| } else { | |||
| jo.put("msg", ""); | |||
| } | |||
| jo.put("orderTime", sdf.format(mr.getOrderTime())); | |||
| re.add(jo); | |||
| } | |||
| redisUtils.setDefaultString("notifyToday", JSONArray.toJSONString(re), 60); | |||
| } | |||
| //stream().map(Office::getOfficeCode).collect(Collectors.toList()); | |||
| return outputData(0, re); | |||
| } | |||
| } | |||
| @@ -1,22 +1,29 @@ | |||
| package com.lecoo.kjg.web.sys.web; | |||
| import com.beust.jcommander.internal.Lists; | |||
| import com.google.common.collect.Maps; | |||
| import com.jeesite.common.config.Global; | |||
| import com.jeesite.common.entity.Page; | |||
| import com.jeesite.common.lang.ObjectUtils; | |||
| import com.jeesite.common.lang.StringUtils; | |||
| import com.jeesite.common.mybatis.mapper.query.QueryType; | |||
| import com.jeesite.modules.sys.entity.Office; | |||
| import com.jeesite.modules.sys.service.OfficeService; | |||
| import com.jeesite.modules.sys.utils.UserUtils; | |||
| import com.lecoo.kjg.web.sys.constant.CommonConsts; | |||
| import com.lecoo.kjg.web.sys.dao.DeviceDao; | |||
| import com.lecoo.kjg.web.sys.dao.EmpDao; | |||
| import com.lecoo.kjg.web.sys.entity.CheckRecords; | |||
| import com.lecoo.kjg.web.sys.entity.Device; | |||
| import com.lecoo.kjg.web.sys.entity.Emp; | |||
| import com.lecoo.kjg.web.sys.entity.VisitRecords; | |||
| import com.lecoo.kjg.web.sys.service.CheckRecordsService; | |||
| import com.lecoo.kjg.web.sys.service.EmpService; | |||
| import com.lecoo.kjg.web.sys.service.VisitRecordsService; | |||
| import com.lecoo.kjg.web.sys.utils.BackupUtils; | |||
| import com.lecoo.kjg.web.sys.utils.BusinessUtils; | |||
| import com.lecoo.kjg.web.sys.utils.DateUtils; | |||
| import com.lecoo.kjg.web.sys.utils.OfficeEmpUtils; | |||
| import org.apache.shiro.authz.annotation.RequiresPermissions; | |||
| import org.springframework.beans.factory.annotation.Autowired; | |||
| import org.springframework.stereotype.Controller; | |||
| @@ -31,6 +38,7 @@ import javax.servlet.http.HttpServletResponse; | |||
| import java.util.Date; | |||
| import java.util.List; | |||
| import java.util.Map; | |||
| import java.util.stream.Collectors; | |||
| @Controller | |||
| @RequestMapping(value = "${adminPath}/sys/check") | |||
| @@ -72,6 +80,9 @@ public class CheckRecorderController extends BaseController { | |||
| // 添加获取所有公司信息,返还到页面 | |||
| return "modules/sys/check/list"; | |||
| } | |||
| @Autowired | |||
| private OfficeService officeService; | |||
| /** | |||
| * 根据条件查询访客邀约列表 | |||
| * | |||
| @@ -83,8 +94,23 @@ public class CheckRecorderController extends BaseController { | |||
| @RequestMapping(value = "/listData") | |||
| @ResponseBody | |||
| public Page<CheckRecords> listData(@RequestParam(required = false, defaultValue = "1") String btnType, HttpServletRequest request, HttpServletResponse response) { | |||
| String userCode = UserUtils.getUser().getUserCode(); | |||
| List<Emp> emps = Lists.newArrayList(); | |||
| List<Office> officeList = Lists.newArrayList(); | |||
| CheckRecords findCheckRecord = new CheckRecords(); | |||
| if (BusinessUtils.isSecAdmin(userCode) || BusinessUtils.isCorpAdmin(userCode)) { | |||
| officeList = OfficeEmpUtils.getOfficesByUserCode(); | |||
| List<String> officeCodes = officeList.stream().map(Office::getOfficeCode).collect(Collectors.toList()); | |||
| Emp emp = new Emp(); | |||
| emp.setOfficeCode_in(officeCodes.toArray(new String[officeCodes.size()])); | |||
| emps = empDao.findList(emp); | |||
| List<String> ids = emps.stream().map(Emp::getId).collect(Collectors.toList()); | |||
| if (ids.size() == 0) { | |||
| findCheckRecord.getSqlMap().getWhere().and("user_id", QueryType.IN, new String[]{"1null1"}); | |||
| } else | |||
| findCheckRecord.getSqlMap().getWhere().and("user_id", QueryType.IN, ids); | |||
| } | |||
| Map<String, String[]> map = request.getParameterMap(); | |||
| String[] authMode = map.get("authMode"); | |||
| @@ -93,7 +119,7 @@ public class CheckRecorderController extends BaseController { | |||
| String[] startDate = map.get("startDate"); | |||
| String[] endDate = map.get("endDate"); | |||
| String[] userName = map.get("userName"); | |||
| CheckRecords findCheckRecord = new CheckRecords(); | |||
| int authModeStr = -1; | |||
| int authOkStr = -1; | |||
| if (ObjectUtils.anyNotNull(authMode) && !authMode[0].equals("")) { | |||
| @@ -132,6 +158,8 @@ public class CheckRecorderController extends BaseController { | |||
| findCheckRecord.getSqlMap().getWhere().and("check_time", QueryType.GT, findCheckRecord.getStartDate()); | |||
| findCheckRecord.getSqlMap().getWhere().and("check_time", QueryType.LTE, findCheckRecord.getEndDate()); | |||
| System.err.println(findCheckRecord.getSqlMap().getWhere().toSql()); | |||
| page = checkRecordsService.findPage(page, findCheckRecord); | |||
| return page; | |||
| @@ -56,8 +56,6 @@ public class VisitSysController extends BaseController { | |||
| VisitRecords findVisitRecord = new VisitRecords(); | |||
| if (map.get("hasCar") != null && map.get("hasCar")[0]!="") { | |||
| findVisitRecord.setHasCar(Integer.valueOf(map.get("hasCar")[0])); | |||
| } else { | |||
| findVisitRecord.setHasCar(-1); | |||
| } | |||
| if (map.get("reason") != null && map.get("reason")[0]!="") { | |||
| @@ -22,14 +22,12 @@ import com.lecoo.kjg.web.meeting.service.MeetingRoomOrderService; | |||
| import com.lecoo.kjg.web.meeting.service.MeetingRoomService; | |||
| import com.lecoo.kjg.web.sys.dao.*; | |||
| import com.lecoo.kjg.web.sys.entity.*; | |||
| import com.lecoo.kjg.web.sys.service.EmpAttendanceService; | |||
| import com.lecoo.kjg.web.sys.service.*; | |||
| import com.lecoo.kjg.web.sys.utils.*; | |||
| import com.lecoo.kjg.web.sys.web.BaseController; | |||
| import com.lecoo.kjg.http.MyResponse; | |||
| import com.lecoo.kjg.web.config.RecordStatus; | |||
| import com.lecoo.kjg.web.sys.constant.ResponseCode; | |||
| import com.lecoo.kjg.web.sys.service.CheckRecordsService; | |||
| import com.lecoo.kjg.web.sys.service.DeviceService; | |||
| import com.lecoo.kjg.web.sys.service.support.EmpServiceSupport; | |||
| import com.lecoo.kjg.web.sys.service.support.FaceServiceSupport; | |||
| import kong.unirest.HttpResponse; | |||
| @@ -1683,86 +1681,83 @@ public class CommonApiController extends BaseController { | |||
| return outputData(0, "success"); | |||
| } | |||
| @Autowired | |||
| private VisitorsService visitorsService; | |||
| @Autowired | |||
| private VisitRecordsService visitRecordsService; | |||
| @PostMapping(value = "new-visitor") | |||
| @ResponseBody | |||
| @Transactional | |||
| public String newVisit(HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse){ | |||
| String visitTime = httpServletRequest.getParameter("visitTime"); | |||
| // String visitTime = DateUtils.formatDate(visitRecords.getVisitTime(), "HH:mm"); | |||
| String visitDate = httpServletRequest.getParameter("visitDate"); | |||
| // String visitDate = DateUtils.formatDate(visitRecords.getVisitDate(), "yyyy-MM-dd"); | |||
| String duration = httpServletRequest.getParameter("duration"); | |||
| // String duration = String.valueOf(visitRecords.getDuration()); | |||
| String durationMinute = httpServletRequest.getParameter("durationMinute"); | |||
| /* visitorsService.insert(visitors); | |||
| Visitors v = this.visitorsService.get(visitors); | |||
| visitRecords.setVisitorId(v.getId()); | |||
| SimpleDateFormat sdf = new SimpleDateFormat("HH:mm"); | |||
| SimpleDateFormat sdf2 = new SimpleDateFormat("yyyy-MM-dd HH:mm"); | |||
| try { | |||
| visitRecords.setVisitTime(sdf.parse(visitTime)); | |||
| visitRecords.setVisitTimeCommon(sdf2.parse(visitDate+" "+visitTime)); | |||
| } catch (ParseException e) { | |||
| e.printStackTrace(); | |||
| } | |||
| String secretKey = Global.getConfig("shiro.loginSubmit.secretKey"); | |||
| String decodeOpenid = DesUtils.decode((String) openid, secretKey); | |||
| JSONObject userJson; | |||
| try { | |||
| userJson = redisUtils.getUserObject(decodeOpenid); | |||
| } catch (Exception e) { | |||
| model.addAttribute("msg", e.getMessage()); | |||
| return "wx/error"; | |||
| } | |||
| String loginCode = userJson.getString("loginCode"); | |||
| visitRecords.setEmpCode(loginCode); | |||
| public MyResponse newVisit(String visitorName, String empId, String empTel){ | |||
| VisitRecords visitRecords = new VisitRecords(); | |||
| Visitors v = new Visitors(); | |||
| v.setName(visitorName); | |||
| v.setIsNewRecord(true); | |||
| visitorsService.insert(v); | |||
| Visitors visitors = this.visitorsService.get(v); | |||
| Emp emp = empService.get(empId); | |||
| emp.setPhoneNumber(empTel); | |||
| empService.update(emp); | |||
| User u = userService.get(emp.getJobNumber()); | |||
| u.setMobile(empTel); | |||
| userService.update(u); | |||
| visitRecords.setEmpCode(emp.getJobNumber()); | |||
| visitRecords.setCompanyCode(emp.getOffice().getOfficeCode()); | |||
| visitRecords.setVisitorId(visitors.getId()); | |||
| visitRecords.setIsNewRecord(true); | |||
| visitRecords.setRecordStatus(RecordStatus.getResultAgree()); | |||
| visitRecordsService.insert(visitRecords); | |||
| UserUtils.clearCache(u); | |||
| if (!("0".equals(durationMinute))) { | |||
| visitRecords.setDuration(Integer.valueOf(durationMinute)+Integer.valueOf(duration)); | |||
| } | |||
| Emp emp = this.empDao.findByJobNum(loginCode); | |||
| String officeCode = ""; | |||
| if (!ObjectUtils.anyNotNull(emp) || !ObjectUtils.anyNotNull(emp.getOffice())) { | |||
| officeCode = OfficeEmpUtils.getOfficeByUserCode().getOfficeCode(); | |||
| } else { | |||
| officeCode = emp.getOffice().getOfficeCode(); | |||
| } | |||
| return outputSuccess(); | |||
| } | |||
| visitRecords.setCompanyCode(officeCode); | |||
| String str = loginCode + visitRecords.getVisitTimeCommon() + visitRecords.getCompanyCode()+String.valueOf(System.currentTimeMillis()); | |||
| String accessCode = DigestUtils.md5DigestAsHex(str.getBytes()); | |||
| visitRecords.setAccessCode(accessCode); | |||
| if (StringUtils.isNotEmpty(visitRecords.getCarPlate())) { | |||
| visitRecords.setHasCar(1); | |||
| } | |||
| @PostMapping(value = "confirm-visitor") | |||
| @ResponseBody | |||
| @Transactional | |||
| public MyResponse queryVisit(String visitorName, String empId){ | |||
| // Emp emp = empService.get(empId); | |||
| VisitRecords v = visitRecordsDao.findByName(visitorName); | |||
| if (visitRecords.getHasCar() != 1) { | |||
| visitRecords.setFeeType(0); | |||
| JSONObject json = new JSONObject(); | |||
| if (null == v) { | |||
| return outputError(-1, "未查询到对应的访客"); | |||
| } | |||
| this.visitRecordsService.insert(visitRecords); | |||
| VisitRecords vr = this.visitRecordsService.get(visitRecords); | |||
| json.put("id", v.getId()); | |||
| json.put("empId", empId); | |||
| Emp e = empDao.findByJobNum(v.getEmpCode()); | |||
| // if (StringUtils.i) | |||
| json.put("phone", e.getPhoneNumber()); | |||
| json.put("visitorName", visitorName); | |||
| json.put("visitorId", v.getVisitorId()); | |||
| String errorMsg = ""; | |||
| User mgr = OfficeEmpUtils.getOfficeMgrUser(emp); | |||
| if (mgr.getLoginCode().equals(loginCode)) {//管理员自己邀请 | |||
| errorMsg = mgrUpdVisitRecord(vr, emp, loginCode); | |||
| } else { | |||
| errorMsg = "恭喜你, " +emp.getRealName() + ", 你的邀约申请将进入审批流程。"; | |||
| try { | |||
| sendUtil.sendToUser(mgr,"您有待审批的访客邀约申请", vr, SendUtil.TYPE_COMPANY_MGR); | |||
| } catch (Exception e) { | |||
| errorMsg += e.getMessage(); | |||
| e.printStackTrace(); | |||
| } | |||
| } | |||
| visitRecordsDao.updByName(visitorName);//删除对应的访客 | |||
| return outputData(0, json); | |||
| } | |||
| model.addAttribute("msg", errorMsg);*/ | |||
| return "wx/success"; | |||
| @PostMapping(value = "visitLists") | |||
| @ResponseBody | |||
| @Transactional | |||
| public MyResponse queryVisitByEmp(String empId){ | |||
| Emp emp = empService.get(empId); | |||
| List<VisitRecords> vs = visitRecordsDao.findByEmp(emp.getJobNumber()); | |||
| JSONArray ja = new JSONArray(); | |||
| for (VisitRecords v : vs) { | |||
| JSONObject json = new JSONObject(); | |||
| json.put("id", v.getId()); | |||
| json.put("empId", empId); | |||
| json.put("visitorName", v.getVisitors().getName()); | |||
| json.put("visitorId", v.getVisitorId()); | |||
| ja.add(json); | |||
| } | |||
| return outputData(0, ja); | |||
| } | |||
| } | |||
| @@ -138,6 +138,35 @@ | |||
| </select> | |||
| <select id="findByName" parameterType="String" resultMap="selectMap2"> | |||
| SELECT avr.id, avr.access_code,avr.record_status, avr.visit_date, car_plate, has_car, fee_type,emp_code, visit_time, visit_time_common, visitor_id,company_name, company_code, av.name visitor_name,av.phone visitor_phone, o.office_name, num, o.address, avr.duration FROM an_visit_records avr join an_visitors av on av.id=avr.visitor_id join tf_sys_office o on o.office_code=avr.company_code | |||
| <where> | |||
| <!-- AND visit_date <![CDATA[>=]]> CURRENT_DATE --> | |||
| <if test="name != null" > | |||
| AND visitor_id in (select a.* from (select id from an_visitors v where v.name = #{name} order by v.created_at desc limit 1 )a) | |||
| </if> | |||
| </where> | |||
| order by avr.created_at desc | |||
| limit 1; | |||
| </select> | |||
| <delete id="updByName" parameterType="String"> | |||
| DELETE FROM an_visitors where id = (select a.* from (select id from an_visitors v where v.name = #{name} order by v.created_at desc limit 1) a) | |||
| </delete> | |||
| <select id="findByEmp" parameterType="String" resultMap="selectMap2"> | |||
| SELECT avr.id, avr.access_code,avr.record_status, avr.visit_date, car_plate, has_car, fee_type,emp_code, visit_time, visit_time_common, visitor_id,company_name, company_code, av.name visitor_name,av.phone visitor_phone, o.office_name, num, o.address, avr.duration FROM an_visit_records avr join an_visitors av on av.id=avr.visitor_id join tf_sys_office o on o.office_code=avr.company_code | |||
| <where> | |||
| AND emp_code = #{empCode} | |||
| </where> | |||
| order by avr.created_at desc | |||
| </select> | |||
| <select id="findListToday" parameterType="Integer" resultMap="selectMap2"> | |||
| @@ -25,7 +25,11 @@ | |||
| </select> | |||
| <select id="findListByDateAndRoom" parameterType="Object" resultType="MeetingRoomOrder"> | |||
| SELECT * FROM meeting_room_order WHERE order_date = #{orderDate} AND room_id = #{roomId} | |||
| SELECT * FROM meeting_room_order WHERE order_date = #{orderDate} AND room_id = #{roomId} | |||
| </select> | |||
| <select id="findListByDateAndEmp" parameterType="Object" resultType="MeetingRoomOrder"> | |||
| SELECT * FROM meeting_room_order WHERE order_by = #{empId} AND order_date <![CDATA[>=]]> current_date | |||
| </select> | |||
| <select id="findListByPerson" parameterType="Object" resultType="MeetingRoomOrder"> | |||
| @@ -196,7 +196,7 @@ p{ | |||
| <div class="form-group"> | |||
| <div class="col-sm-7"> | |||
| <p>人员类型</p> | |||
| <#form:select path="empType" dictType="sys_emp_type" class="form-control"/> | |||
| <#form:select path="empType" dictType="sys_emp_type" blankOption="true" blankOptionLabel="请选择..." class="form-control required"/> | |||
| </div> | |||
| </div> | |||
| </div> | |||