Commit 61187cd8 by zhaopanyu

Merge branch 'master' of 49.232.152.146:xhxy/smart_school

parents d00a32f2 e7f14af8
......@@ -104,6 +104,7 @@ public class SysProfileController extends BaseController
LoginUser loginUser = getLoginUser();
String userName = loginUser.getUsername();
String password = loginUser.getPassword();
userService.checkPasswordUnique(newPassword);
if (!SecurityUtils.matchesPassword(oldPassword, password))
{
return AjaxResult.error("修改密码失败,旧密码错误");
......
......@@ -197,6 +197,7 @@ public class SysUserController extends BaseController
{
userService.checkUserAllowed(user);
userService.checkUserDataScope(user.getUserId());
userService.checkPasswordUnique(user.getPassword());
user.setPassword(SecurityUtils.encryptPassword(user.getPassword()));
user.setUpdateBy(getUsername());
return toAjax(userService.resetPwd(user));
......
package com.ruoyi.common.core.domain.model;
import java.util.Set;
import lombok.Data;
/**
......@@ -114,4 +115,9 @@ public class MpLoginUser {
头像
*/
private String avatar;
/**
* 角色权限
*/
private Set<String> roles;
}
......@@ -277,4 +277,8 @@ public interface ISysUserService {
* 根据userId更新openId
* */
public boolean updateOpenId(Long userId, String openId);
/**检查密码是否符合条件(密码必须包含大小写字母、数字、特殊字符中的任意三种)*/
void checkPasswordUnique(String password);
}
......@@ -2,6 +2,7 @@ package com.ruoyi.system.service.impl;
import java.util.ArrayList;
import java.util.List;
import java.util.regex.Pattern;
import java.util.stream.Collectors;
import javax.validation.Validator;
......@@ -583,4 +584,18 @@ public class SysUserServiceImpl implements ISysUserService {
public boolean updateOpenId(Long userId, String openId) {
return userMapper.updateOpenId(userId,openId) > 0;
}
/**
* 检查密码是否符合条件(密码必须包含大小写字母、数字、特殊字符中的任意三种)
* @param password
*/
@Override
public void checkPasswordUnique(String password) {
// String pattern = "^(?=.*[a-z])(?=.*[A-Z])(?=.*\\d)[A-Za-z\\d]{8,}$";
String pattern = "^(?![a-zA-Z]+$)(?![A-Z0-9]+$)(?![A-Z\\W_]+$)(?![a-z0-9]+$)(?![a-z\\W_]+$)(?![0-9\\W_]+$)[a-zA-Z0-9\\W_]{8,}$";
boolean matches = Pattern.matches(pattern, password);
if (matches == false){
throw new ServiceException("密码必须包含大小写字母、数字、特殊字符中的任意三种");
}
}
}
......@@ -117,6 +117,7 @@ public class SchoolTeacherController extends BaseController {
schoolTeacherService.checkTeacherCodeUnique(schoolTeacherVO);
schoolTeacherService.checkTeacherTelUnique(schoolTeacherVO);
schoolTeacherService.checkIdCardUnique(schoolTeacherVO);
schoolTeacherService.checkPasswordUnique(schoolTeacherVO);
if(StringUtils.isNotEmpty(schoolTeacherVO.getEmail())){
schoolTeacherService.checkEmailUnique(schoolTeacherVO);
}
......
package yangtz.cs.liu.campus.domain.schoolEquipment;
import com.ruoyi.common.annotation.Excel;
import java.util.Date;
import com.core.domain.OurBaseEntity;
......@@ -35,6 +36,9 @@ public class SchoolCirculation extends OurBaseEntity
/** 借用期限(天) */
private Long deadline;
/** 归还状态(0=未归还,1=已归还)" */
private String returnState;
/** 归还日期 */
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private Date returnTime;
......
......@@ -17,6 +17,9 @@ public class SchoolEquipmentRepair extends OurBaseEntity
{
/** 设备id */
private Long id;
/** 设备id */
private Long equipmentId;
/** 分类编码 */
......
......@@ -4,6 +4,7 @@ import java.util.Date;
import com.core.domain.OurBaseEntity;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.ruoyi.common.annotation.Excel;
import lombok.Data;
/**
......@@ -29,6 +30,9 @@ public class SchoolReceive extends OurBaseEntity
/** 领用人 */
private String recipientBy;
/** 退还状态(0=未退还,1=已退还)" */
private String returnState;
/** 退还日期 */
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private Date returnTime;
......@@ -52,4 +56,5 @@ public class SchoolReceive extends OurBaseEntity
/** 备注 */
private String remark;
}
......@@ -30,13 +30,14 @@ public interface CirculationMapper extends BaseMapper<SchoolCirculation> {
* @return
*/
int deleteSchoolCirculationByIds(Long[] ids);
@Select("SELECT sc.id,el.model,el.encode,sc.borrow_by,sc.borrow_time,return_time,sc.deadline,sc.return_equipment_condition ,sc.remark FROM school_circulation sc LEFT JOIN school_equipment_ledger el on el.id = sc.equipment_id\n"
+ " LEFT JOIN school_product_category pc on pc.classification_code = el.classification_code WHERE pc.admin_id=#{adminId}")
@Select("SELECT sc.id,el.model,el.encode,sc.borrow_by,sc.borrow_time,sc.return_state,sc.return_time,sc.deadline,sc.return_equipment_condition ,sc.remark FROM school_circulation sc LEFT JOIN school_equipment_ledger el on el.id = sc.equipment_id\n"
+ " LEFT JOIN school_product_category pc on pc.classification_code = el.classification_code WHERE pc.admin_id=#{adminId} and sc.del_flag=0")
List<SchoolCirculationVo> getReturningEquipmentByadminId(@Param("adminId") Long adminId);
@Select(" SELECT el.encode,el.equipment_name,el.model,sc.borrow_time ,sc.borrow_by, sc.purpose,sc.deadline ,\n"
+ "sc.return_equipment_condition,sc.return_time,sc.remark FROM school_circulation sc LEFT JOIN school_equipment_ledger el on sc.equipment_id = el.id\n"
+ "WHERE sc.id =#{id} ")
+ "WHERE sc.id =#{id} and and sc.del_flag=0 ")
SchoolCirculationVo getSchoolCirculationVoById(@Param("id")Long id);
}
......@@ -16,19 +16,25 @@ public interface EquipmentRepairMapper extends BaseMapper<SchoolEquipmentRepair>
@Select("SELECT er.id,er.equipment_id,el.encode,el.equipment_name,el.model,el.date_of_production,el.place ,\n"
+ "el.classification_code,er.report_repair_time,er.report_repair_id,er.report_repair,er.problem,\n"
+ "er.repair_id,er.evaluate,er.repair_name,er.repair_phone,er.repair_time,er.repair_state,er.remark\n"
+ "FROM school_equipment_repair er LEFT JOIN school_equipment_ledger el ON er.equipment_id=el.id WHERE er.id=#{id}")
+ "FROM school_equipment_repair er LEFT JOIN school_equipment_ledger el ON er.equipment_id=el.id WHERE er.id=#{id} and er.del_flag=0")
public SchoolEquipmentRepairVo getEquipmentById(@Param("id") Long id);
@Select("SELECT er.id,er.equipment_id,el.encode,el.equipment_name,el.model,el.date_of_production,el.place ,\n"
+ "el.classification_code,er.report_repair_time,er.report_repair_id,er.report_repair,er.problem,\n"
+ "er.repair_id,er.evaluate,er.repair_name,er.repair_phone,er.repair_time,er.repair_state,er.remark\n"
+ "FROM school_equipment_repair er LEFT JOIN school_equipment_ledger el ON er.equipment_id=el.id WHERE er.report_repair_id=#{reportRepairid}")
+ "FROM school_equipment_repair er LEFT JOIN school_equipment_ledger el ON er.equipment_id=el.id WHERE er.report_repair_id=#{reportRepairid} and er.del_flag=0")
public List<SchoolEquipmentRepairVo> getMaintenanceList(@Param("reportRepairid") Long reportRepairid);
@Select("SELECT er.id,er.equipment_id,el.encode,el.equipment_name,el.model,el.date_of_production,el.place ,\n"
+ "el.classification_code,er.report_repair_time,er.report_repair_id,er.report_repair,er.problem,\n"
+ "er.repair_id,er.evaluate,er.repair_name,er.repair_phone,er.repair_time,er.repair_state,er.remark\n"
+ "FROM school_equipment_repair er LEFT JOIN school_equipment_ledger el ON er.equipment_id=el.id")
+ "FROM school_equipment_repair er LEFT JOIN school_equipment_ledger el ON er.equipment_id=el.id and er.del_flag=0 ")
public List<SchoolEquipmentRepairVo> getlist();
@Select("SELECT er.id,er.equipment_id,el.encode,el.equipment_name,el.model,el.date_of_production,el.place ,\n"
+ "el.classification_code,er.report_repair_time,er.report_repair_id,er.report_repair,er.problem,\n"
+ "er.repair_id,er.evaluate,er.repair_name,er.repair_phone,er.repair_time,er.repair_state,er.remark\n"
+ "FROM school_equipment_repair er LEFT JOIN school_equipment_ledger el ON er.equipment_id=el.id and er.del_flag=0")
public List<SchoolEquipmentRepairVo> getMaintenanceUserList();
/**
......
......@@ -81,7 +81,7 @@ public class CountServiceImpl implements ICountService {
int officialNum = flowMapper.getTodoTotal(userId,UNDONE);
/**调查问卷任务数*/
int investigate = examMainMapper.getTodoTotal(userId);
// int investigate = examMainMapper.getTodoTotal(userId);
/**采购申请审批任务数*/
int purchaseRequisition = getNum(PURCHASEREQUEST, userId.toString());
......@@ -97,7 +97,7 @@ public class CountServiceImpl implements ICountService {
vo.setTLeaveNum(tLeaveNum);
vo.setOfficialNum(officialNum);
vo.setInvestigate(investigate);
// vo.setInvestigate(investigate);
vo.setPurchaseRequisition(purchaseRequisition);
vo.setSLeaveNum(sLeaveNum);
vo.setAuditoriumNum(auditoriumNum);
......
......@@ -36,7 +36,7 @@ public class CirculationServiceImpl extends ServiceImpl<CirculationMapper, Schoo
* @return
*/
@Override
@DataScope(userAlias = "u")
// @DataScope(userAlias = "u")
public List<SchoolCirculationVo> selectSchoolCirculationVoList(SchoolCirculationVo schoolCirculationVo) {
return circulationMapper.selectSchoolCirculationVoList(schoolCirculationVo);
}
......
......@@ -108,6 +108,15 @@ public class EquipmentRepairServiceImpl extends ServiceImpl<EquipmentRepairMappe
return equipmentRepairMapper.getMaintenanceList(reportRepairid);
}
/**
* 管理员获取所有维修列表
* @return
*/
@Override
public List<SchoolEquipmentRepairVo> getlist() {
return equipmentRepairMapper.getlist();
}
@Override
public List<SchoolEquipmentRepairVo> getMaintenanceUserList() {
return equipmentRepairMapper.getMaintenanceUserList();
......
......@@ -34,6 +34,7 @@ import yangtz.cs.liu.campus.vo.teacher.TeacherNameListVo;
import java.util.ArrayList;
import java.util.List;
import java.util.regex.Pattern;
import java.util.stream.Collectors;
import static com.baomidou.mybatisplus.core.toolkit.ObjectUtils.isNotNull;
......@@ -415,6 +416,21 @@ public class SchoolTeacherServiceImpl extends ServiceImpl<SchoolTeacherMapper, S
}
}
/**
* 检查密码是否符合条件(密码必须包含大小写字母、数字、特殊字符中的任意三种)
* @param schoolTeacherVO
*/
@Override
public void checkPasswordUnique(SchoolTeacherVO schoolTeacherVO) {
String password = schoolTeacherVO.getPassword();
// String pattern = "^(?=.*[a-z])(?=.*[A-Z])(?=.*\\d)[A-Za-z\\d]{8,}$";
String pattern = "^(?![a-zA-Z]+$)(?![A-Z0-9]+$)(?![A-Z\\W_]+$)(?![a-z0-9]+$)(?![a-z\\W_]+$)(?![0-9\\W_]+$)[a-zA-Z0-9\\W_]{8,}$";
boolean matches = Pattern.matches(pattern, password);
if (matches == false){
throw new ServiceException("密码必须包含大小写字母、数字、特殊字符中的任意三种");
}
}
@Override
public int insert(SchoolTeacherVO schoolTeacherVO) {
......
......@@ -60,6 +60,8 @@ public interface IEquipmentRepairService extends IService<SchoolEquipmentRepair>
public List<SchoolEquipmentRepairVo> getMaintenanceList(Long reportRepairid);
public List<SchoolEquipmentRepairVo> getlist();
public List<SchoolEquipmentRepairVo> getMaintenanceUserList();
......
......@@ -90,6 +90,8 @@ public interface ISchoolTeacherService extends IService<SchoolTeacher> {
/**检查邮箱账号是否唯一*/
void checkEmailUnique(SchoolTeacherVO schoolTeacher);
/**检查密码是否符合条件(密码必须包含大小写字母,数字)*/
void checkPasswordUnique(SchoolTeacherVO schoolTeacherVO);
/**
* 新增教师
......@@ -142,4 +144,6 @@ public interface ISchoolTeacherService extends IService<SchoolTeacher> {
* 根据userId 查询 openId
*/
String getOpenIdByUserId(Long userId);
}
......@@ -58,6 +58,10 @@ public class SchoolCirculationVo extends BaseEntity
@Excel(name = "借用期限(天)")
private Long deadline;
/** 归还状态(0=未归还,1=已归还)" */
@Excel(name = "归还状态", readConverterExp = "1=已归还,0=未归还")
private String returnState;
/** 归还日期 */
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@Excel(name = "归还日期", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
......@@ -87,4 +91,5 @@ public class SchoolCirculationVo extends BaseEntity
/** 备注 */
@Excel(name = "备注")
private String remark;
}
......@@ -49,6 +49,10 @@ public class SchoolReceiveVo extends BaseEntity
@Excel(name = "领用人")
private String recipientBy;
/** 退还状态(0=未退还,1=已退还)" */
@Excel(name = "退还状态", readConverterExp = "1=已退还,0=未退还")
private String returnState;
/** 退还日期 */
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@Excel(name = "退还日期", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
......
......@@ -17,7 +17,9 @@ import com.ruoyi.framework.util.UserInfoUtil;
import com.ruoyi.framework.manager.AsyncManager;
import com.ruoyi.framework.manager.factory.AsyncFactory;
import com.ruoyi.framework.web.service.MpTokenService;
import com.ruoyi.framework.web.service.SysPermissionService;
import com.ruoyi.system.service.ISysUserService;
import java.util.Set;
import org.apache.commons.codec.binary.Base64;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
......@@ -70,6 +72,8 @@ public class WxLoginController extends BaseController {
@Value("${server.port}")
private String port;
@Autowired
private SysPermissionService permissionService;
private Logger log = LoggerFactory.getLogger(WxLoginController.class);
......@@ -125,6 +129,9 @@ public class WxLoginController extends BaseController {
}
mpLoginUser.setAvatar(user.getAvatar());
}
// 角色集合
Set<String> roles = permissionService.getRolePermission(user);
mpLoginUser.setRoles(roles);
return AjaxResult.success().put("userInfo",mpLoginUser);
}
......
......@@ -2,12 +2,16 @@ package yangtz.cs.liu.wechat.controller.equipment;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.ruoyi.common.core.domain.AjaxResult;
import com.ruoyi.common.core.domain.entity.SysRole;
import com.ruoyi.common.core.domain.entity.SysUser;
import com.ruoyi.system.service.ISysUserService;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
import java.util.List;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.DeleteMapping;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.PostMapping;
......@@ -47,6 +51,9 @@ public class EquipmentLeaseController {
@Autowired
SchoolReceiveService schoolReceiveService;
@Autowired
ISysUserService iSysUserService;
/**
* 扫码借用获取设备基本信息
*/
......@@ -62,11 +69,12 @@ public class EquipmentLeaseController {
* 我的借用记录
*/
@GetMapping("/getMyBorrowList/{borrowById}")
private AjaxResult getMyBorrowList(@PathVariable("borrowById") Integer borrowById){
LambdaQueryWrapper<SchoolCirculation> wrapper = new LambdaQueryWrapper<>();
wrapper.eq(SchoolCirculation::getBorrowById,borrowById);
List<SchoolCirculation> list = iCirculationService.list(wrapper);
return AjaxResult.success(list);
private AjaxResult getMyBorrowList(@PathVariable("borrowById") Long borrowById){
SchoolCirculationVo schoolCirculationVo = new SchoolCirculationVo();
schoolCirculationVo.setBorrowById(borrowById);
List<SchoolCirculationVo> schoolCirculationVos = iCirculationService
.selectSchoolCirculationVoList(schoolCirculationVo);
return AjaxResult.success(schoolCirculationVos);
}
/**
......@@ -80,6 +88,7 @@ public class EquipmentLeaseController {
calendar.setTime(borrowTime);
calendar.add(Calendar.DATE,Integer.valueOf(deadline.toString()));
Date targetDate = calendar.getTime();
schoolCirculation.setReturnState("0");
schoolCirculation.setReturnTime(targetDate);
boolean save = iCirculationService.save(schoolCirculation);
//修改设备表借出状态
......@@ -132,10 +141,25 @@ public class EquipmentLeaseController {
*/
@GetMapping("/getMaintenanceList/{reportRepairid}")
private AjaxResult getMaintenanceList(@PathVariable("reportRepairid") Long reportRepairid){
Boolean flag= false;
//1.管理员可以查看所有维修列表
SysUser sysUser = iSysUserService.selectUserById(reportRepairid);
List<SysRole> roles = sysUser.getRoles();
for(SysRole data :roles){
if (data.getRoleKey().contains("admin") || data.getRoleKey().contains("productCategoryAdmin")){
flag=true;
break;
}
};
if (false){
List<SchoolEquipmentRepairVo> getlist = iEquipmentRepairService.getlist();
return AjaxResult.success(getlist);
}else {
List<SchoolEquipmentRepairVo> maintenanceList = iEquipmentRepairService
.getMaintenanceList(reportRepairid);
return AjaxResult.success(maintenanceList);
}
}
/**
* 设备维修-新增
......@@ -162,6 +186,15 @@ public class EquipmentLeaseController {
boolean save = iEquipmentRepairService.updateById(schoolEquipmentRepair);
return AjaxResult.success(save);
}
/**
* 设备报修删除
*/
@DeleteMapping("/deletEuipemnt/{id}")
private AjaxResult deletEuipemnt(@PathVariable("id") Long id){
boolean b = iEquipmentRepairService.removeById(id);
return AjaxResult.success(b);
}
/**
* 报修台账反馈列表 设备维修记录id
*/
......@@ -224,6 +257,7 @@ public class EquipmentLeaseController {
*/
@PutMapping("returnDevice")
private AjaxResult returnDevice(@RequestBody SchoolCirculation schoolCirculation){
schoolCirculation.setReturnState("1");
boolean b = iCirculationService.updateById(schoolCirculation);
//修改设备表借出状态
SchoolEquipmentLedger byId = iEquipmentService.getById(schoolCirculation.getEquipmentId());
......@@ -232,4 +266,16 @@ public class EquipmentLeaseController {
return AjaxResult.success(b);
}
/**
* 获取修理人下拉框
* @return
*/
@GetMapping("/getRepair")
public AjaxResult getRepair(){
return AjaxResult.success(iEquipmentRepairService.getRepair());
}
}
......@@ -26,6 +26,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<result property="updateBy" column="update_by" />
<result property="updateTime" column="update_time" />
<result property="delFalg" column="del_flag" />
<result property="returnState" column="return_state" />
</resultMap>
<select id="selectSchoolCirculationVoList" parameterType="SchoolCirculationVo" resultMap="schoolCirculationVoResult">
......@@ -35,6 +36,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
el.encode,
el.equipment_name,
el.model,
c.return_state,
c.borrow_time,
c.borrow_by_id,
c.borrow_by,
......@@ -60,6 +62,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
c.del_flag = '0'
<if test="equipmentName != null and equipmentName != ''">and el.equipment_name like concat('%', #{equipmentName}, '%')</if>
<if test="borrowTime != null and borrowTime != ''">and c.borrow_time = #{borrowTime}</if>
<if test="borrowById != null and borrowById != ''">and c.borrow_by_id = #{borrowById}</if>
<!-- 数据范围过滤 -->
${params.dataScope}
</select>
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment