Commit 3e7c186b by baochunxin

#G:新增通知用户组,问题修改

parent dddc897d
......@@ -125,7 +125,7 @@ public class SysDictDataController extends BaseController
* @param dictValue
* @return
*/
@GetMapping("/getDictLabel{dictType}/{dictValue}")
@GetMapping("/getDictLabel/{dictType}/{dictValue}")
public AjaxResult selectDictLabel(@PathVariable("dictType") String dictType, @PathVariable("dictValue") String dictValue){
return AjaxResult.success(dictDataService.selectDictLabel(dictType,dictValue));
}
......
package yangtz.cs.liu.campus.controller.notificationGroup;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.api.ApiController;
import com.baomidou.mybatisplus.extension.api.R;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.ruoyi.common.core.controller.BaseController;
import com.ruoyi.common.core.domain.AjaxResult;
import com.ruoyi.common.core.domain.entity.SysUser;
import com.ruoyi.common.core.page.TableDataInfo;
import com.ruoyi.system.mapper.SysUserMapper;
import com.ruoyi.system.service.ISysUserService;
import java.io.Serializable;
import java.util.ArrayList;
import java.util.List;
import javax.annotation.Resource;
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;
import org.springframework.web.bind.annotation.PutMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import yangtz.cs.liu.campus.domain.notificationGroup.SchoolNotificationGroup;
import yangtz.cs.liu.campus.domain.notificationGroup.SchoolNotificationUser;
import yangtz.cs.liu.campus.domain.notificationGroup.SchoolNotificationUserVo;
import yangtz.cs.liu.campus.service.notificationGroup.SchoolNotificationGroupService;
import yangtz.cs.liu.campus.service.notificationGroup.SchoolNotificationUserService;
/**
* 通知组(SchoolNotificationGroup)表控制层
*
* @author zxw
* @since 2023-08-18 11:04:47
*/
@RestController
@RequestMapping("/notification")
public class SchoolNotificationGroupController extends BaseController {
/**
* 服务对象
*/
@Resource
private SchoolNotificationGroupService schoolNotificationGroupService;
@Autowired
SchoolNotificationUserService schoolNotificationUserService;
@Autowired
private ISysUserService sysUserService;
/**
* 分页查询所有数据
*
* @param schoolNotificationGroup 查询实体
* @return 所有数据
*/
@GetMapping("list")
public TableDataInfo selectAll(SchoolNotificationGroup schoolNotificationGroup) {
startPage();
QueryWrapper<SchoolNotificationGroup> schooWrapper = new QueryWrapper<>(
schoolNotificationGroup);
schooWrapper.orderByAsc("sort");
List<SchoolNotificationGroup> list = this.schoolNotificationGroupService.list(schooWrapper);
return getDataTable(list);
}
/**
* 根据分组id查询人员信息
*/
@GetMapping("getUserList/{notificationId}")
public AjaxResult selectOne(@PathVariable("notificationId") Long notificationId) {
LambdaQueryWrapper<SchoolNotificationUser> lqw = new LambdaQueryWrapper<>();
lqw.eq(SchoolNotificationUser::getNotificationId, notificationId);
List<SchoolNotificationUser> list = this.schoolNotificationUserService.list(lqw);
List<SysUser> userList = new ArrayList<>();
list.stream().forEach(data->{
SysUser sysUser = sysUserService.selectUserById(data.getUserId());
userList.add(sysUser);
});
return AjaxResult.success(userList);
}
/**
* 通过主键查询单条数据
*
* @param id 主键
* @return 单条数据
*/
@GetMapping("selectOne/{id}")
public AjaxResult selectOne(@PathVariable Serializable id) {
return AjaxResult.success(this.schoolNotificationGroupService.getById(id));
}
/**
* 新增数据
*
* @param schoolNotificationGroup 实体对象
* @return 新增结果
*/
@PostMapping("/add")
public AjaxResult insert(@RequestBody SchoolNotificationGroup schoolNotificationGroup) {
return AjaxResult.success(this.schoolNotificationGroupService.save(schoolNotificationGroup));
}
/**
* 新增人员
*/
@PostMapping("/addNotificationUser")
public AjaxResult addNotificationUser(@RequestBody SchoolNotificationUserVo schoolNotificationUser) {
List<Long> userId = schoolNotificationUser.getUserId();
for (Long id : userId) {
SchoolNotificationUser date = new SchoolNotificationUser();
date.setNotificationId(schoolNotificationUser.getNotificationId());
date.setUserId(id);
boolean save = this.schoolNotificationUserService.save(date);
}
return AjaxResult.success();
}
/**
* 删除人员
*/
@PutMapping("/delectNotificationUser")
public AjaxResult delectNotificationUser(@RequestBody SchoolNotificationUserVo schoolNotificationUserVo) {
List<Long> userId = schoolNotificationUserVo.getUserId();
for (Long id : userId) {
SchoolNotificationUser date = new SchoolNotificationUser();
date.setNotificationId(schoolNotificationUserVo.getNotificationId());
date.setUserId(id);
SchoolNotificationUser one = this.schoolNotificationUserService
.getOneNotificationUser (date);
schoolNotificationUserService.removeById(one.getId());
}
return AjaxResult.success();
}
/**
* 修改数据
*
* @param schoolNotificationGroup 实体对象
* @return 修改结果
*/
@PutMapping("/update")
public AjaxResult update(@RequestBody SchoolNotificationGroup schoolNotificationGroup) {
return AjaxResult.success(this.schoolNotificationGroupService.updateById(schoolNotificationGroup));
}
/**
* 删除数据
*
* @param idList 主键结合
* @return 删除结果
*/
@DeleteMapping("/deletes")
public AjaxResult delete(@RequestParam("idList") List<Long> idList) {
return AjaxResult.success(this.schoolNotificationGroupService.removeByIds(idList));
}
}
......@@ -40,4 +40,9 @@ public class CurriclaStudentVo {
/** 结束时间 */
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private Date endTime;
/**
* 是否超过选课时间: true超过选课时间,false没有
*/
private Boolean flag;
}
package yangtz.cs.liu.campus.domain.notificationGroup;
import com.baomidou.mybatisplus.annotation.FieldFill;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.extension.activerecord.Model;
import com.core.domain.OurBaseEntity;
import java.io.Serializable;
import lombok.Data;
/**
* 通知组(SchoolNotificationGroup)表实体类
*
* @author zxw
* @since 2023-08-18 11:04:48
*/
@SuppressWarnings("serial")
@Data
public class SchoolNotificationGroup {
/**
* 主键
*/
@TableId(value = "id",type = IdType.AUTO)
private Long id;
//组名
private String name;
//用户id组
private String users;
//排序
private Integer sort;
//备注
private String remark;
/** 是否 删除 */
@TableField(fill = FieldFill.INSERT)
private String delFlag;
}
package yangtz.cs.liu.campus.domain.notificationGroup;
import com.baomidou.mybatisplus.annotation.FieldFill;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import java.util.List;
import lombok.Data;
/**
* 通知组(SchoolNotificationGroup)表实体类
*
* @author zxw
* @since 2023-08-18 11:04:48
*/
@SuppressWarnings("serial")
@Data
public class SchoolNotificationGroupVo {
/**
* 主键
*/
@TableId(value = "id",type = IdType.AUTO)
private Long id;
//组名
private String name;
//备注
private String remark;
private List<SchoolNotificationUser> list;
}
package yangtz.cs.liu.campus.domain.notificationGroup;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.core.domain.OurBaseEntity;
import lombok.Data;
/**
* 通知组关联用户(SchoolNotificationGroup)表实体类
*
* @author zxw
* @since 2023-08-18 11:04:48
*/
@Data
public class SchoolNotificationUser extends OurBaseEntity {
/**
* 主键
*/
@TableId(value = "id",type = IdType.AUTO)
private Long id;
//分组id
private Long notificationId;
//用户id
private Long userId;
//备注
private String remark;
}
package yangtz.cs.liu.campus.domain.notificationGroup;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.core.domain.OurBaseEntity;
import java.util.List;
import lombok.Data;
/**
* 通知组关联用户(SchoolNotificationGroup)表实体类
*
* @author zxw
* @since 2023-08-18 11:04:48
*/
@Data
public class SchoolNotificationUserVo {
//分组id
private Long notificationId;
//用户id
private List<Long> userId;
}
package yangtz.cs.liu.campus.domain.schoolEquipment;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import java.util.Date;
import com.baomidou.mybatisplus.annotation.IdType;
......
......@@ -7,15 +7,14 @@ import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select;
import yangtz.cs.liu.campus.domain.schoolEquipment.SchoolReceive;
import yangtz.cs.liu.campus.vo.schoolEquipment.SchoolCirculationVo;
import yangtz.cs.liu.campus.vo.schoolEquipment.SchoolReceiveQuery;
import yangtz.cs.liu.campus.vo.schoolEquipment.SchoolReceiveVo;
@Mapper
public interface SchoolReceiveMapper extends BaseMapper<SchoolReceive> {
@Select("SELECT el.encode,el.equipment_name,el.model,sr.recipient_by,sr.recipient_time from school_receive sr LEFT JOIN school_equipment_ledger el on sr.equipment_id = el.id \n"
+ "WHERE sr.recipient_by_id = #{recipientById}")
List<SchoolReceiveVo> getRecipientByIdlist(@Param("recipientById") String recipientById);
List<SchoolReceiveVo> getRecipientByIdlist(SchoolReceiveQuery schoolReceiveQuery);
......
package yangtz.cs.liu.campus.mapper.notificationGroup;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import yangtz.cs.liu.campus.domain.notificationGroup.SchoolNotificationGroup;
import yangtz.cs.liu.campus.domain.notificationGroup.SchoolNotificationUser;
/**
* 通知组(SchoolNotificationGroup)表数据库访问层
*
* @author zxw
* @since 2023-08-18 11:04:48
*/
public interface SchoolNotificationGroupMapper extends BaseMapper<SchoolNotificationGroup> {
}
package yangtz.cs.liu.campus.mapper.notificationGroup;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select;
import yangtz.cs.liu.campus.domain.notificationGroup.SchoolNotificationUser;
/**
* 通知组(SchoolNotificationGroup)表数据库访问层
*
* @author zxw
* @since 2023-08-18 11:04:48
*/
@Mapper
public interface SchoolNotificationUserMapper extends BaseMapper<SchoolNotificationUser> {
@Select(" select * from school_notification_user u where u.notification_id=#{notificationId} and u.user_id=#{userId} and u.del_flag=0 ")
SchoolNotificationUser getOneNotificationUser(@Param("notificationId") Long notificationId,@Param("userId") Long userId);
}
......@@ -31,13 +31,18 @@ public interface CirculationMapper extends BaseMapper<SchoolCirculation> {
*/
int deleteSchoolCirculationByIds(Long[] ids);
@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"
@Select("SELECT sc.id,sc.equipment_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"
@Select(" SELECT el.encode,sc.equipment_id,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} and and sc.del_flag=0 ")
+ "WHERE sc.id =#{id} and sc.del_flag=0 ")
SchoolCirculationVo getSchoolCirculationVoById(@Param("id")Long id);
@Select("SELECT sc.id,el.encode,sc.equipment_id,el.equipment_name,el.model,sc.borrow_time,sc.borrow_by_id,sc.borrow_by,sc.purpose,sc.deadline,sc.return_state,el.is_lend,sc.return_time,sc.return_equipment_condition,sc.received_by_id,sc.received_by,sc.yjuse_time,sc.sjuse_time,sc.remark from school_equipment_ledger el LEFT JOIN school_circulation sc on el.id = sc.equipment_id \n"
+ "WHERE el.encode = #{encode} AND sc.return_state=0 and el.del_flag=0")
SchoolCirculationVo getSchoolCirculationVoByenCode(@Param("encode")String encode);
}
......@@ -13,25 +13,25 @@ import java.util.Map;
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"
@Select("SELECT er.id,er.equipment_id,el.encode,el.equipment_name,er.dispose_state,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} 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"
@Select("SELECT er.id,er.equipment_id,el.encode,er.dispose_state,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} 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"
@Select("SELECT er.id,er.equipment_id,el.encode,er.dispose_state,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> getlist();
@Select("SELECT er.id,er.equipment_id,el.encode,el.equipment_name,el.model,el.date_of_production,el.place ,\n"
@Select("SELECT er.id,er.equipment_id,el.encode,er.dispose_state,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")
......
......@@ -4,6 +4,7 @@ package yangtz.cs.liu.campus.service.equipment;
import com.baomidou.mybatisplus.extension.service.IService;
import java.util.List;
import yangtz.cs.liu.campus.domain.schoolEquipment.SchoolReceive;
import yangtz.cs.liu.campus.vo.schoolEquipment.SchoolReceiveQuery;
import yangtz.cs.liu.campus.vo.schoolEquipment.SchoolReceiveVo;
/**
......@@ -12,7 +13,7 @@ import yangtz.cs.liu.campus.vo.schoolEquipment.SchoolReceiveVo;
public interface SchoolReceiveService extends IService<SchoolReceive> {
List<SchoolReceiveVo> getRecipientByIdlist(String recipientById );
List<SchoolReceiveVo> getRecipientByIdlist(SchoolReceiveQuery schoolReceiveQuery );
SchoolReceiveVo getRecipientById(Long id );
}
......@@ -6,6 +6,7 @@ import org.springframework.stereotype.Service;
import yangtz.cs.liu.campus.domain.schoolEquipment.SchoolReceive;
import yangtz.cs.liu.campus.mapper.equipment.SchoolReceiveMapper;
import yangtz.cs.liu.campus.service.equipment.SchoolReceiveService;
import yangtz.cs.liu.campus.vo.schoolEquipment.SchoolReceiveQuery;
import yangtz.cs.liu.campus.vo.schoolEquipment.SchoolReceiveVo;
@Service
......@@ -15,8 +16,8 @@ public class SchoolReceiveServiceImpl extends
@Autowired
SchoolReceiveMapper mapper;
@Override
public List<SchoolReceiveVo> getRecipientByIdlist(String recipientById) {
return mapper.getRecipientByIdlist(recipientById);
public List<SchoolReceiveVo> getRecipientByIdlist(SchoolReceiveQuery schoolReceiveQuery) {
return mapper.getRecipientByIdlist(schoolReceiveQuery);
}
@Override
......
package yangtz.cs.liu.campus.service.impl.notificationGroup;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.springframework.stereotype.Service;
import yangtz.cs.liu.campus.domain.notificationGroup.SchoolNotificationGroup;
import yangtz.cs.liu.campus.mapper.notificationGroup.SchoolNotificationGroupMapper;
import yangtz.cs.liu.campus.service.notificationGroup.SchoolNotificationGroupService;
/**
* 通知组(SchoolNotificationGroup)表服务实现类
*
* @author zxw
* @since 2023-08-18 11:04:52
*/
@Service
public class SchoolNotificationGroupServiceImpl extends ServiceImpl<SchoolNotificationGroupMapper,SchoolNotificationGroup> implements SchoolNotificationGroupService {
}
package yangtz.cs.liu.campus.service.impl.notificationGroup;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import yangtz.cs.liu.campus.domain.notificationGroup.SchoolNotificationUser;
import yangtz.cs.liu.campus.mapper.notificationGroup.SchoolNotificationUserMapper;
import yangtz.cs.liu.campus.service.notificationGroup.SchoolNotificationUserService;
/**
* 通知组(SchoolNotificationGroup)表服务实现类
*
* @author zxw
* @since 2023-08-18 11:04:52
*/
@Service
public class SchoolNotificationUserServiceImpl extends
ServiceImpl<SchoolNotificationUserMapper, SchoolNotificationUser> implements
SchoolNotificationUserService {
@Autowired
private SchoolNotificationUserMapper schoolNotificationUserMapper;
@Override
public SchoolNotificationUser getOneNotificationUser(SchoolNotificationUser schoolNotificationUser) {
return schoolNotificationUserMapper.getOneNotificationUser(schoolNotificationUser.getNotificationId(),schoolNotificationUser.getUserId());
}
}
......@@ -35,6 +35,11 @@ public class CirculationServiceImpl extends ServiceImpl<CirculationMapper, Schoo
return circulationMapper.getSchoolCirculationVoById(id);
}
@Override
public SchoolCirculationVo getSchoolCirculationVoByenCode(String enCode) {
return circulationMapper.getSchoolCirculationVoByenCode(enCode);
}
/**
* 查看设备借出归还列表
......@@ -46,7 +51,9 @@ public class CirculationServiceImpl extends ServiceImpl<CirculationMapper, Schoo
public List<SchoolCirculationVo> selectSchoolCirculationVoList(SchoolCirculationVo schoolCirculationVo) {
return circulationMapper.selectSchoolCirculationVoList(schoolCirculationVo);
}
public List<SchoolCirculationVo> selectVxSchoolCirculationVoList(SchoolCirculationVo schoolCirculationVo) {
return circulationMapper.selectSchoolCirculationVoList(schoolCirculationVo);
}
/**
* 查看设备借出归还详细信息
* @param id
......
package yangtz.cs.liu.campus.service.notificationGroup;
import com.baomidou.mybatisplus.extension.service.IService;
import yangtz.cs.liu.campus.domain.notificationGroup.SchoolNotificationGroup;
/**
* 通知组(SchoolNotificationGroup)表服务接口
*
* @author zxw
* @since 2023-08-18 11:04:52
*/
public interface SchoolNotificationGroupService extends IService<SchoolNotificationGroup> {
}
package yangtz.cs.liu.campus.service.notificationGroup;
import com.baomidou.mybatisplus.extension.service.IService;
import yangtz.cs.liu.campus.domain.notificationGroup.SchoolNotificationUser;
/**
* 通知组关联用户表服务接口
*
* @author zxw
* @since 2023-08-18 11:04:52
*/
public interface SchoolNotificationUserService extends IService<SchoolNotificationUser> {
public SchoolNotificationUser getOneNotificationUser(SchoolNotificationUser schoolNotificationUser);
}
......@@ -12,12 +12,15 @@ public interface ICirculationService extends IService<SchoolCirculation> {
List<SchoolCirculationVo> getReturningEquipmentByadminId(Long userId);
SchoolCirculationVo getSchoolCirculationVoById(Long id);
SchoolCirculationVo getSchoolCirculationVoByenCode(String enCode);
/**
* 查看设备借出归还列表
* @param schoolCirculationVo
* @return
*/
List<SchoolCirculationVo> selectSchoolCirculationVoList(SchoolCirculationVo schoolCirculationVo);
List<SchoolCirculationVo> selectVxSchoolCirculationVoList(SchoolCirculationVo schoolCirculationVo);
/**
* 查看设备借出归还详细信息
......
......@@ -62,6 +62,10 @@ public class SchoolCirculationVo extends BaseEntity
@Excel(name = "归还状态", readConverterExp = "1=已归还,0=未归还")
private String returnState;
/** 是否已借出(1是,0否) */
@Excel(name = "是否已借出", readConverterExp = "1=是,0=否")
private String isLend;
/** 归还日期 */
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@Excel(name = "归还日期", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
......
package yangtz.cs.liu.campus.vo.schoolEquipment;
import javax.validation.constraints.NotNull;
import lombok.Data;
/**
* 领用查询
*/
@Data
public class SchoolReceiveQuery {
/**
* 领用人
*/
@NotNull(message = "领用人不能为空")
private String recipientById;
/**
* 设备名称
*/
private String equipmentName;
}
......@@ -10,40 +10,40 @@ public class Sha1Util {
private static final int[] abcde = {
0x67452301, 0xefcdab89, 0x98badcfe, 0x10325476, 0xc3d2e1f0
};
// 摘要数据存储数组
// 摘要数据存储数组
private static int[] digestInt = new int[5];
// 计算过程中的临时数据存储数组
// 计算过程中的临时数据存储数组
private static int[] tmpData = new int[80];
// 计算sha-1摘要
// 计算sha-1摘要
private static int process_input_bytes(byte[] bytedata) {
// 初试化常量
// 初试化常量
System.arraycopy(abcde, 0, digestInt, 0, abcde.length);
// 格式化输入字节数组,补10及长度数据
// 格式化输入字节数组,补10及长度数据
byte[] newbyte = byteArrayFormatData(bytedata);
// 获取数据摘要计算的数据单元个数
// 获取数据摘要计算的数据单元个数
int MCount = newbyte.length / 64;
// 循环对每个数据单元进行摘要计算
// 循环对每个数据单元进行摘要计算
for (int pos = 0; pos < MCount; pos++) {
// 将每个单元的数据转换成16个整型数据,并保存到tmpData的前16个数组元素中
// 将每个单元的数据转换成16个整型数据,并保存到tmpData的前16个数组元素中
for (int j = 0; j < 16; j++) {
tmpData[j] = byteArrayToInt(newbyte, (pos * 64) + (j * 4));
}
// 摘要计算函数
// 摘要计算函数
encrypt();
}
return 20;
}
// 格式化输入字节数组格式
// 格式化输入字节数组格式
private static byte[] byteArrayFormatData(byte[] bytedata) {
// 补0数量
// 补0数
int zeros = 0;
// 补位后总位数
// 补位后总位数
int size = 0;
// 原始数据长度
// 原始数据长度
int n = bytedata.length;
// 模64后的剩余位数
// 模64后的剩余位数
int m = n % 64;
// 计算添加0的个数以及添加10后的总长度
// 计算添加0的个数以及添加10后的总长度
if (m < 56) {
zeros = 55 - m;
size = n - m + 64;
......@@ -54,19 +54,19 @@ public class Sha1Util {
zeros = 63 - m + 56;
size = (n + 64) - m + 64;
}
// 补位后生成的新数组内容
// 补位后生成的新数组内容
byte[] newbyte = new byte[size];
// 复制数组的前面部分
// 复制数组的前面部分
System.arraycopy(bytedata, 0, newbyte, 0, n);
// 获得数组Append数据元素的位置
// 获得数组Append数据元素的位置
int l = n;
// 补1操作
// 补1操
newbyte[l++] = (byte) 0x80;
// 补0操作
// 补0操
for (int i = 0; i < zeros; i++) {
newbyte[l++] = (byte) 0x00;
}
// 计算数据长度,补数据长度位共8字节,长整型
// 计算数据长度,补数据长度位共8字节,长整型
long N = (long) n * 8;
byte h8 = (byte) (N & 0xFF);
byte h7 = (byte) ((N >> 8) & 0xFF);
......@@ -98,7 +98,7 @@ public class Sha1Util {
private static int f4(int x, int y) {
return (x << y) | x >>> (32 - y);
}
// 单元摘要计算函数
// 单元摘要计算函数
private static void encrypt() {
for (int i = 16; i <= 79; i++) {
tmpData[i] = f4(tmpData[i - 3] ^ tmpData[i - 8] ^ tmpData[i - 14] ^
......@@ -155,19 +155,19 @@ public class Sha1Util {
tmpData[n] = 0;
}
}
// 4字节数组转换为整数
// 4字节数组转换为整数
private static int byteArrayToInt(byte[] bytedata, int i) {
return ((bytedata[i] & 0xff) << 24) | ((bytedata[i + 1] & 0xff) << 16) |
((bytedata[i + 2] & 0xff) << 8) | (bytedata[i + 3] & 0xff);
}
// 整数转换为4字节数组
// 整数转换为4字节数组
private static void intToByteArray(int intValue, byte[] byteData, int i) {
byteData[i] = (byte) (intValue >>> 24);
byteData[i + 1] = (byte) (intValue >>> 16);
byteData[i + 2] = (byte) (intValue >>> 8);
byteData[i + 3] = (byte) intValue;
}
// 将字节转换为十六进制字符串
// 将字节转换为十六进制字符串
private static String byteToHexString(byte ib) {
char[] Digit = {
'0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'A', 'B', 'C',
......@@ -179,7 +179,7 @@ public class Sha1Util {
String s = new String(ob);
return s;
}
// 将字节数组转换为十六进制字符串
// 将字节数组转换为十六进制字符串
private static String byteArrayToHexString(byte[] bytearray) {
String strDigest = "";
for (int i = 0; i < bytearray.length; i++) {
......@@ -187,7 +187,7 @@ public class Sha1Util {
}
return strDigest;
}
// 计算sha-1摘要,返回相应的字节数组
// 计算sha-1摘要,返回相应的字节数组
public static byte[] getDigestOfBytes(byte[] byteData) {
process_input_bytes(byteData);
byte[] digest = new byte[20];
......@@ -196,7 +196,7 @@ public class Sha1Util {
}
return digest;
}
// 计算sha-1摘要,返回相应的十六进制字符串
// 计算sha-1摘要,返回相应的十六进制字符串
public static String getDigestOfString(byte[] byteData) {
return byteArrayToHexString(getDigestOfBytes(byteData));
}
......@@ -206,9 +206,9 @@ public class Sha1Util {
/**
* @Comment SHA1实现
* @Comment SHA1实现
* @Author Ron
* @Date 2017年9月13日 下午3:30:36
* @Date 2017年9月13日 下午3:30:36
* @return
*/
public static String shaEncode(String inStr) throws Exception {
......@@ -249,7 +249,7 @@ public class Sha1Util {
Collections.sort(list,new Comparator<String>() {
@Override
public int compare(String o1, String o2) {
// 返回值为int类型,大于0表示正序,小于0表示逆序
// 返回值为int类型,大于0表示正序,小于0表示逆序
Integer minLength = o1.length();
if(minLength > o2.length()) {
minLength = o2.length();
......
......@@ -2,7 +2,9 @@ package yangtz.cs.liu.wechat.controller.courseSelection;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.ruoyi.common.core.domain.AjaxResult;
import java.util.Calendar;
import java.util.Comparator;
import java.util.Date;
import java.util.List;
import java.util.stream.Collectors;
import org.springframework.beans.BeanUtils;
......@@ -10,6 +12,7 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.PutMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
......@@ -43,20 +46,62 @@ public class WxCouresSelection {
* 学生选号信息查询
*/
@GetMapping("/getCourseInfo/{studentId}")
private AjaxResult getCourseInfo(@PathVariable("studentId") Long studentId){
private AjaxResult getCourseInfo(@PathVariable("studentId") Long studentId) {
//查询学生个人选课信息
LambdaQueryWrapper<CurriculaStudent> wrapper = new LambdaQueryWrapper<>();
wrapper.eq(CurriculaStudent::getStudentId,studentId);
wrapper.eq(CurriculaStudent::getDelFlag,"0");
wrapper.eq(CurriculaStudent::getStudentId, studentId);
wrapper.eq(CurriculaStudent::getDelFlag, "0");
//查询出学生任务信息
CurriculaStudent one = iCurriculaStudentService.getOne(wrapper);
//判断当前学生是否可以选课
Boolean flag = false;
Boolean stats = false;
CurriculaVariable byId = null;
//1.是否有选课任务
if (null == one) {
flag = true;
}
//是否在选课时间内
if (null != one) {
byId = iCurriculaVariableService.getById(one.getCurriculaId());
//查询选课信息
CurriculaVariable byId = iCurriculaVariableService.getById(one.getCurriculaId());
if (null == byId) {
return AjaxResult.error("选课主题丢失,请联系管理员");
}
//设置当前时间
Calendar date = Calendar.getInstance();
date.setTime(new Date());
//开始时间
Calendar startDade = Calendar.getInstance();
startDade.setTime(byId.getStartTime());
//结束时间
Calendar endDade = Calendar.getInstance();
endDade.setTime(byId.getEndTime());
//处于开始时间之后,和结束时间之前的判断
if ((date.after(startDade) && date.before(endDade))) {
flag = false;
} else {
flag = true;
}
//判断当前否结束选课
if (date.after(endDade)){
flag=false;
stats = true;
}
}
if (flag) {
return new AjaxResult(2000, "当前没有选课任务");
}
//判断当时时间是否选课之后
CurriclaStudentVo data = new CurriclaStudentVo();
//拼接返回对象
BeanUtils.copyProperties(one,data);
BeanUtils.copyProperties(byId,data);
BeanUtils.copyProperties(one, data);
BeanUtils.copyProperties(byId, data);
data.setId(one.getId());
data.setFlag(stats);
return AjaxResult.success(data);
}
......@@ -84,11 +129,11 @@ public class WxCouresSelection {
/**
* 保存选课信息
*/
@PostMapping("/savestudentcourse")
@PutMapping("/savestudentcourse")
private AjaxResult saveStudentcourse(@RequestBody CurriculaStudent curriculaStudent){
//保存专业信息
try {
iCurriculaStudentService.updateById(curriculaStudent);
boolean b = iCurriculaStudentService.updateById(curriculaStudent);
return AjaxResult.success("选课成功");
}catch (Exception e){
return AjaxResult.error("选课失败");
......
......@@ -4,9 +4,8 @@ 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.ISysRoleService;
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;
......@@ -29,6 +28,7 @@ import yangtz.cs.liu.campus.service.schoolEquipment.IEquipmentLedgerService;
import yangtz.cs.liu.campus.service.schoolEquipment.IEquipmentRepairService;
import yangtz.cs.liu.campus.vo.schoolEquipment.SchoolCirculationVo;
import yangtz.cs.liu.campus.vo.schoolEquipment.SchoolEquipmentRepairVo;
import yangtz.cs.liu.campus.vo.schoolEquipment.SchoolReceiveQuery;
import yangtz.cs.liu.campus.vo.schoolEquipment.SchoolReceiveVo;
/**
......@@ -54,6 +54,8 @@ public class EquipmentLeaseController {
@Autowired
ISysUserService iSysUserService;
@Autowired
ISysRoleService iSysRoleService;
/**
* 扫码借用获取设备基本信息
*/
......@@ -73,7 +75,7 @@ public class EquipmentLeaseController {
SchoolCirculationVo schoolCirculationVo = new SchoolCirculationVo();
schoolCirculationVo.setBorrowById(borrowById);
List<SchoolCirculationVo> schoolCirculationVos = iCirculationService
.selectSchoolCirculationVoList(schoolCirculationVo);
.selectVxSchoolCirculationVoList(schoolCirculationVo);
return AjaxResult.success(schoolCirculationVos);
}
......@@ -110,11 +112,11 @@ public class EquipmentLeaseController {
/**
* 领用台账list
*/
@GetMapping("/getUseList/{recipientById}")
private AjaxResult getMyBorrowList(@PathVariable("recipientById") String recipientById){
@GetMapping("/getUseList")
private AjaxResult getMyBorrowList(SchoolReceiveQuery schoolReceiveQuery){
List<SchoolReceiveVo> recipientByIdlist = schoolReceiveService
.getRecipientByIdlist(recipientById);
.getRecipientByIdlist(schoolReceiveQuery);
return AjaxResult.success(recipientByIdlist);
}
......@@ -132,10 +134,18 @@ public class EquipmentLeaseController {
*/
@PostMapping("/addUsedevice")
private AjaxResult addUsedevice(@RequestBody SchoolReceive schoolReceive){
//领取修改设备信息
SchoolEquipmentLedger one = iEquipmentService.getById(schoolReceive.getEquipmentId());
one.setUseId(Long.valueOf(schoolReceive.getRecipientById()));
one.setUseName(schoolReceive.getRecipientBy());
one.setAffiliationType("3");
iEquipmentService.updateById(one);
boolean save = schoolReceiveService.save(schoolReceive);
return AjaxResult.success(save);
}
/**
* 设备维修-列表
*/
......@@ -246,10 +256,28 @@ public class EquipmentLeaseController {
/**
* 管理员查看详情
*/
@GetMapping("/getReturningEquipmentByList/{id}")
private AjaxResult getReturningEquipmentByList(@PathVariable("id") Long id){
@GetMapping("/getReturningEquipmentByList/{encode}")
private AjaxResult getReturningEquipmentByList(@PathVariable("encode") String encode){
SchoolCirculationVo schoolCirculationVo = new SchoolCirculationVo();
//先查询物品表有没有借出去
LambdaQueryWrapper<SchoolEquipmentLedger> wrapper = new LambdaQueryWrapper<>();
wrapper.eq(SchoolEquipmentLedger::getEncode,encode);
SchoolEquipmentLedger one = iEquipmentService.getOne(wrapper);
if (one.getIsLend().equals("0")){
//未借出
schoolCirculationVo.setEquipmentId(one.getId());
schoolCirculationVo.setEquipmentName(one.getEquipmentName());
schoolCirculationVo.setModel(one.getModel());
schoolCirculationVo.setIsLend(one.getIsLend());
return AjaxResult.success(schoolCirculationVo);
}else {
//已借出
SchoolCirculationVo schoolCirculationVoByenCode = iCirculationService
.getSchoolCirculationVoByenCode(encode);
//根据管理员信息查看信息详情
return AjaxResult.success(iCirculationService.getById(id));
return AjaxResult.success(schoolCirculationVoByenCode);
}
}
/**
......
......@@ -18,4 +18,13 @@
<result property="sjuseTime" column="is_lend"/>
<result property="remark" column="is_lend"/>
</resultMap>
<select id="getRecipientByIdlist" parameterType="SchoolReceiveQuery" resultType="SchoolReceiveVo">
SELECT el.encode,el.equipment_name,el.model,sr.recipient_by,sr.recipient_time from
school_receive sr LEFT JOIN school_equipment_ledger el on sr.equipment_id = el.id
WHERE sr.recipient_by_id = #{recipientById}
<if test="equipmentName != null and equipmentName != ''">
AND el.equipment_name like concat('%', #{equipmentName}, '%')
</if>
</select>
</mapper>
\ No newline at end of file
......@@ -6,7 +6,7 @@
select sof.id, sof.official_id, sof.receive_user, su.user_name, sof.receive_time, sof.opinion, sof.finish_time from school_official_flow sof
left join sys_user su on su.user_id = sof.receive_user
where su.del_flag = '0' and sof.del_flag = '0'
and sof.official_id = #{officialId} and sof.state = #{state}
and sof.official_id = #{officialId}
</select>
<select id="getTodoTotal" resultType="java.lang.Integer">
select count(1) from school_official_flow
......
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