计算机毕业设计 SpringBoot的一站式家装服务管理系统 Javaweb项目 Java实战项目 前后端分离 文档报告 代码讲解 安装调试

🍊作者:计算机编程-吉哥
🍊简介:专业从事JavaWeb程序开发,微信小程序开发,定制化项目、 源码、代码讲解、文档撰写、ppt制作。做自己喜欢的事,生活就是快乐的。
🍊心愿:点赞 👍 收藏 ⭐评论 📝
🍅 文末获取源码联系

👇🏻 精彩专栏推荐订阅 👇🏻 不然下次找不到哟~
Java毕业设计项目~热门选题推荐《1000套》

目录

1.技术选型

2.数据库表结构

3.开发工具

4.功能

4.1【角色】

4.2【前台功能模块】

4.3【后台功能模块】

5.项目演示截图

5.1 首页

5.2 装修风格

5.3 主材

5.4 个人中心

5.5 预算

5.6 合同

5.7 工程安排

5.8 装修风格收藏

5.9 装修风格管理

5.10 预算管理

6.数据库文件设计

7.核心代码 

7.1 工程安排Controller

7.2 工程安排Service

7.3 工程安排ServiceImpl

7.4 工程安排DAO

8.参考文档


1.技术选型

springboot、mybatisplus、vue、elementui、html、css、js、mysql、jdk1.8

2.数据库表结构

15张 

3.开发工具

idea、navicat

4.功能

4.1【角色】

管理员、用户

4.2【前台功能模块】

  • 登录注册
  • 首页
  • 装修风格
  • 主材
  • 个人中心(个人中心、预约、合同、工程安排、售后服务、装修风格收藏、主材收藏)

4.3【后台功能模块】

  • 登录
  • 首页
  • 个人中心
  • 管理员管理
  • 基础数据管理
  • 装修风格管理
  • 主材管理
  • 用户管理
  • 装修管理
  • 轮播图管理

5.项目演示截图


5.1 首页

5.2 装修风格

 

5.3 主材

 

5.4 个人中心

 

5.5 预算

 

5.6 合同

 

5.7 工程安排

 

5.8 装修风格收藏

 

5.9 装修风格管理

 

5.10 预算管理

 

6.数据库文件设计

CREATE TABLE `config` (`id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键',`name` varchar(100) DEFAULT NULL COMMENT '配置参数名称',`value` varchar(100) DEFAULT NULL COMMENT '配置参数值',PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=utf8 COMMENT='配置文件';CREATE TABLE `dictionary` (`id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键',`dic_code` varchar(200) DEFAULT NULL COMMENT '字段',`dic_name` varchar(200) DEFAULT NULL COMMENT '字段名',`code_index` int(11) DEFAULT NULL COMMENT '编码',`index_name` varchar(200) DEFAULT NULL COMMENT '编码名字  Search111 ',`super_id` int(11) DEFAULT NULL COMMENT '父字段id',`beizhu` varchar(200) DEFAULT NULL COMMENT '备注',`create_time` timestamp NULL DEFAULT NULL COMMENT '创建时间',PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=40 DEFAULT CHARSET=utf8 COMMENT='字典';CREATE TABLE `hetong` (`id` int(11) NOT NULL AUTO_INCREMENT COMMENT '主键 ',`yonghu_id` int(11) DEFAULT NULL COMMENT '用户',`hetong_uuid_number` varchar(200) DEFAULT NULL COMMENT '合同编号',`hetong_name` varchar(200) DEFAULT NULL COMMENT '合同名称  Search111 ',`hetong_file` varchar(200) DEFAULT NULL COMMENT '合同文件',`hetong_types` int(11) DEFAULT NULL COMMENT '合同状态 Search111',`hetong_huafei` decimal(10,2) DEFAULT NULL COMMENT '合同金额',`hetong_weiyuejin` decimal(10,2) DEFAULT NULL COMMENT '违约金',`hetong_content` text COMMENT '合同内容',`insert_time` timestamp NULL DEFAULT NULL COMMENT '开具时间',`create_time` timestamp NULL DEFAULT NULL COMMENT '创建时间  show3 listShow',PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=15 DEFAULT CHARSET=utf8 COMMENT='合同';CREATE TABLE `shouhou` (`id` int(11) NOT NULL AUTO_INCREMENT COMMENT '主键 ',`yonghu_id` int(11) DEFAULT NULL COMMENT '用户',`hetong_id` int(11) DEFAULT NULL COMMENT '合同',`shouhou_name` varchar(200) DEFAULT NULL COMMENT '售后服务名称  Search111 ',`shouhou_uuid_number` varchar(200) DEFAULT NULL COMMENT '售后服务编号',`shouhou_file` varchar(200) DEFAULT NULL COMMENT '售后服务附件',`shouhou_types` int(11) DEFAULT NULL COMMENT '服务类型 Search111',`fuwu_time` timestamp NULL DEFAULT NULL COMMENT '服务时间',`shouhou_content` text COMMENT '售后服务内容',`insert_time` timestamp NULL DEFAULT NULL COMMENT '录入时间',`create_time` timestamp NULL DEFAULT NULL COMMENT '创建时间  show3 listShow',PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=15 DEFAULT CHARSET=utf8 COMMENT='售后服务';CREATE TABLE `token` (`id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键',`userid` bigint(20) NOT NULL COMMENT '学生id',`username` varchar(100) NOT NULL COMMENT '学生名',`tablename` varchar(100) DEFAULT NULL COMMENT '表名',`role` varchar(100) DEFAULT NULL COMMENT '角色',`token` varchar(200) NOT NULL COMMENT '密码',`addtime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '新增时间',`expiratedtime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '过期时间',PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=5 DEFAULT CHARSET=utf8 COMMENT='token表';CREATE TABLE `users` (`id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键',`username` varchar(100) NOT NULL COMMENT '学生名',`password` varchar(100) NOT NULL COMMENT '密码',`role` varchar(100) DEFAULT '管理员' COMMENT '角色',`addtime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '新增时间',PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8 COMMENT='管理员';CREATE TABLE `yonghu` (`id` int(11) NOT NULL AUTO_INCREMENT COMMENT '主键',`username` varchar(200) DEFAULT NULL COMMENT '账户',`password` varchar(200) DEFAULT NULL COMMENT '密码',`yonghu_name` varchar(200) DEFAULT NULL COMMENT '用户姓名 Search111 ',`yonghu_phone` varchar(200) DEFAULT NULL COMMENT '用户手机号',`yonghu_id_number` varchar(200) DEFAULT NULL COMMENT '用户身份证号',`yonghu_photo` varchar(200) DEFAULT NULL COMMENT '用户头像',`sex_types` int(11) DEFAULT NULL COMMENT '性别',`fangyuan_types` int(11) DEFAULT NULL COMMENT '房源 Search111 ',`huxing_types` int(11) DEFAULT NULL COMMENT '户型 Search111 ',`yonghu_email` varchar(200) DEFAULT NULL COMMENT '用户邮箱',`create_time` timestamp NULL DEFAULT NULL COMMENT '创建时间',PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=5 DEFAULT CHARSET=utf8 COMMENT='用户';CREATE TABLE `zhuangxiufengge_collection` (`id` int(11) NOT NULL AUTO_INCREMENT COMMENT '主键',`zhuangxiufengge_id` int(11) DEFAULT NULL COMMENT '装修风格',`yonghu_id` int(11) DEFAULT NULL COMMENT '用户',`zhuangxiufengge_collection_types` int(11) DEFAULT NULL COMMENT '类型',`insert_time` timestamp NULL DEFAULT NULL COMMENT '收藏时间',`create_time` timestamp NULL DEFAULT NULL COMMENT '创建时间 show3 photoShow',PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=16 DEFAULT CHARSET=utf8 COMMENT='装修风格收藏';CREATE TABLE `zhuangxiufengge_liuyan` (`id` int(11) NOT NULL AUTO_INCREMENT COMMENT '主键',`zhuangxiufengge_id` int(11) DEFAULT NULL COMMENT '装修风格',`yonghu_id` int(11) DEFAULT NULL COMMENT '用户',`zhuangxiufengge_liuyan_text` text COMMENT '留言内容',`insert_time` timestamp NULL DEFAULT NULL COMMENT '留言时间',`reply_text` text COMMENT '回复内容',`update_time` timestamp NULL DEFAULT NULL COMMENT '回复时间',`create_time` timestamp NULL DEFAULT NULL COMMENT '创建时间',PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=16 DEFAULT CHARSET=utf8 COMMENT='装修风格留言';CREATE TABLE `zhucai` (`id` int(11) NOT NULL AUTO_INCREMENT COMMENT '主键 ',`zhucai_name` varchar(200) DEFAULT NULL COMMENT '主材名称  Search111 ',`zhucai_uuid_number` varchar(200) DEFAULT NULL COMMENT '主材编号',`zhucai_photo` varchar(200) DEFAULT NULL COMMENT '主材照片',`zhucai_danwei` varchar(200) DEFAULT NULL COMMENT '单位',`zhucai_shengchanchangjia` varchar(200) DEFAULT NULL COMMENT '生产厂家',`zhucai_types` int(11) DEFAULT NULL COMMENT '主材类型 Search111',`pinpai_types` int(11) DEFAULT NULL COMMENT '品牌 Search111 ',`zhucai_jiage` decimal(10,2) DEFAULT NULL COMMENT '主材价格',`zhucai_clicknum` int(11) DEFAULT NULL COMMENT '主材热度',`zhucai_content` text COMMENT '主材详情',`shangxia_types` int(11) DEFAULT NULL COMMENT '是否上架 ',`zhucai_delete` int(11) DEFAULT NULL COMMENT '逻辑删除',`insert_time` timestamp NULL DEFAULT NULL COMMENT '录入时间',`create_time` timestamp NULL DEFAULT NULL COMMENT '创建时间  show1 show2 photoShow',PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=15 DEFAULT CHARSET=utf8 COMMENT='主材';CREATE TABLE `zhucai_collection` (`id` int(11) NOT NULL AUTO_INCREMENT COMMENT '主键',`zhucai_id` int(11) DEFAULT NULL COMMENT '主材',`yonghu_id` int(11) DEFAULT NULL COMMENT '用户',`zhucai_collection_types` int(11) DEFAULT NULL COMMENT '类型',`insert_time` timestamp NULL DEFAULT NULL COMMENT '收藏时间',`create_time` timestamp NULL DEFAULT NULL COMMENT '创建时间 show3 photoShow',PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=16 DEFAULT CHARSET=utf8 COMMENT='主材收藏';CREATE TABLE `zhucai_liuyan` (`id` int(11) NOT NULL AUTO_INCREMENT COMMENT '主键',`zhucai_id` int(11) DEFAULT NULL COMMENT '主材',`yonghu_id` int(11) DEFAULT NULL COMMENT '用户',`zhucai_liuyan_text` text COMMENT '留言内容',`insert_time` timestamp NULL DEFAULT NULL COMMENT '留言时间',`reply_text` text COMMENT '回复内容',`update_time` timestamp NULL DEFAULT NULL COMMENT '回复时间',`create_time` timestamp NULL DEFAULT NULL COMMENT '创建时间',PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=16 DEFAULT CHARSET=utf8 COMMENT='主材留言';

7.核心代码 

7.1 工程安排Controller


package com.controller;/*** 工程安排* 后端接口* @author 计算机编程-吉哥* @email
*/
@RestController
@Controller
@RequestMapping("/gongchenganpai")
public class GongchenganpaiController {private static final Logger logger = LoggerFactory.getLogger(GongchenganpaiController.class);private static final String TABLE_NAME = "gongchenganpai";@Autowiredprivate GongchenganpaiService gongchenganpaiService;@Autowiredprivate TokenService tokenService;@Autowiredprivate DictionaryService dictionaryService;//字典@Autowiredprivate HetongService hetongService;//合同@Autowiredprivate ShouhouService shouhouService;//售后服务@Autowiredprivate YonghuService yonghuService;//用户@Autowiredprivate YusuanService yusuanService;//预算@Autowiredprivate ZhuangxiufenggeService zhuangxiufenggeService;//装修风格@Autowiredprivate ZhuangxiufenggeCollectionService zhuangxiufenggeCollectionService;//装修风格收藏@Autowiredprivate ZhuangxiufenggeLiuyanService zhuangxiufenggeLiuyanService;//装修风格留言@Autowiredprivate ZhucaiService zhucaiService;//主材@Autowiredprivate ZhucaiCollectionService zhucaiCollectionService;//主材收藏@Autowiredprivate ZhucaiLiuyanService zhucaiLiuyanService;//主材留言@Autowiredprivate UsersService usersService;//管理员/*** 后端列表*/@RequestMapping("/page")public R page(@RequestParam Map<String, Object> params, HttpServletRequest request){logger.debug("page方法:,,Controller:{},,params:{}",this.getClass().getName(),JSONObject.toJSONString(params));String role = String.valueOf(request.getSession().getAttribute("role"));if(false)return R.error(511,"永不会进入");else if("用户".equals(role))params.put("yonghuId",request.getSession().getAttribute("userId"));CommonUtil.checkMap(params);PageUtils page = gongchenganpaiService.queryPage(params);//字典表数据转换List<GongchenganpaiView> list =(List<GongchenganpaiView>)page.getList();for(GongchenganpaiView c:list){//修改对应字典表字段dictionaryService.dictionaryConvert(c, request);}return R.ok().put("data", page);}/*** 后端详情*/@RequestMapping("/info/{id}")public R info(@PathVariable("id") Long id, HttpServletRequest request){logger.debug("info方法:,,Controller:{},,id:{}",this.getClass().getName(),id);GongchenganpaiEntity gongchenganpai = gongchenganpaiService.selectById(id);if(gongchenganpai !=null){//entity转viewGongchenganpaiView view = new GongchenganpaiView();BeanUtils.copyProperties( gongchenganpai , view );//把实体数据重构到view中//级联表 用户//级联表YonghuEntity yonghu = yonghuService.selectById(gongchenganpai.getYonghuId());if(yonghu != null){BeanUtils.copyProperties( yonghu , view ,new String[]{ "id", "createTime", "insertTime", "updateTime", "yonghuId"});//把级联的数据添加到view中,并排除id和创建时间字段,当前表的级联注册表view.setYonghuId(yonghu.getId());}//级联表 合同//级联表HetongEntity hetong = hetongService.selectById(gongchenganpai.getHetongId());if(hetong != null){BeanUtils.copyProperties( hetong , view ,new String[]{ "id", "createTime", "insertTime", "updateTime", "yonghuId"});//把级联的数据添加到view中,并排除id和创建时间字段,当前表的级联注册表view.setHetongId(hetong.getId());}//修改对应字典表字段dictionaryService.dictionaryConvert(view, request);return R.ok().put("data", view);}else {return R.error(511,"查不到数据");}}/*** 后端保存*/@RequestMapping("/save")public R save(@RequestBody GongchenganpaiEntity gongchenganpai, HttpServletRequest request){logger.debug("save方法:,,Controller:{},,gongchenganpai:{}",this.getClass().getName(),gongchenganpai.toString());String role = String.valueOf(request.getSession().getAttribute("role"));if(false)return R.error(511,"永远不会进入");else if("用户".equals(role))gongchenganpai.setYonghuId(Integer.valueOf(String.valueOf(request.getSession().getAttribute("userId"))));Wrapper<GongchenganpaiEntity> queryWrapper = new EntityWrapper<GongchenganpaiEntity>().eq("yonghu_id", gongchenganpai.getYonghuId()).eq("hetong_id", gongchenganpai.getHetongId()).eq("gongchenganpai_name", gongchenganpai.getGongchenganpaiName()).eq("gongchenganpai_fuzeren", gongchenganpai.getGongchenganpaiFuzeren()).eq("gongchenganpai_lianxifangshi", gongchenganpai.getGongchenganpaiLianxifangshi()).eq("gongchenganpai_types", gongchenganpai.getGongchenganpaiTypes());logger.info("sql语句:"+queryWrapper.getSqlSegment());GongchenganpaiEntity gongchenganpaiEntity = gongchenganpaiService.selectOne(queryWrapper);if(gongchenganpaiEntity==null){gongchenganpai.setGongchenganpaiTypes(1);gongchenganpai.setInsertTime(new Date());gongchenganpai.setCreateTime(new Date());gongchenganpaiService.insert(gongchenganpai);return R.ok();}else {return R.error(511,"表中有相同数据");}}/*** 后端修改*/@RequestMapping("/update")public R update(@RequestBody GongchenganpaiEntity gongchenganpai, HttpServletRequest request) throws NoSuchFieldException, ClassNotFoundException, IllegalAccessException, InstantiationException {logger.debug("update方法:,,Controller:{},,gongchenganpai:{}",this.getClass().getName(),gongchenganpai.toString());GongchenganpaiEntity oldGongchenganpaiEntity = gongchenganpaiService.selectById(gongchenganpai.getId());//查询原先数据String role = String.valueOf(request.getSession().getAttribute("role"));
gongchenganpai.setYonghuId(Integer.valueOf(String.valueOf(request.getSession().getAttribute("userId"))));if("".equals(gongchenganpai.getGongchenganpaiFile()) || "null".equals(gongchenganpai.getGongchenganpaiFile())){gongchenganpai.setGongchenganpaiFile(null);}gongchenganpaiService.updateById(gongchenganpai);//根据id更新return R.ok();}/*** 删除*/@RequestMapping("/delete")public R delete(@RequestBody Integer[] ids, HttpServletRequest request){logger.debug("delete:,,Controller:{},,ids:{}",this.getClass().getName(),ids.toString());List<GongchenganpaiEntity> oldGongchenganpaiList =gongchenganpaiService.selectBatchIds(Arrays.asList(ids));//要删除的数据gongchenganpaiService.deleteBatchIds(Arrays.asList(ids));return R.ok();}/*** 批量上传*/@RequestMapping("/batchInsert")public R save( String fileName, HttpServletRequest request){logger.debug("batchInsert方法:,,Controller:{},,fileName:{}",this.getClass().getName(),fileName);Integer yonghuId = Integer.valueOf(String.valueOf(request.getSession().getAttribute("userId")));SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");try {List<GongchenganpaiEntity> gongchenganpaiList = new ArrayList<>();//上传的东西Map<String, List<String>> seachFields= new HashMap<>();//要查询的字段Date date = new Date();int lastIndexOf = fileName.lastIndexOf(".");if(lastIndexOf == -1){return R.error(511,"该文件没有后缀");}else{String suffix = fileName.substring(lastIndexOf);if(!".xls".equals(suffix)){return R.error(511,"只支持后缀为xls的excel文件");}else{URL resource = this.getClass().getClassLoader().getResource("static/upload/" + fileName);//获取文件路径File file = new File(resource.getFile());if(!file.exists()){return R.error(511,"找不到上传文件,请联系管理员");}else{List<List<String>> dataList = PoiUtil.poiImport(file.getPath());//读取xls文件dataList.remove(0);//删除第一行,因为第一行是提示for(List<String> data:dataList){//循环GongchenganpaiEntity gongchenganpaiEntity = new GongchenganpaiEntity();gongchenganpaiList.add(gongchenganpaiEntity);//把要查询是否重复的字段放入map中//工程安排编号if(seachFields.containsKey("gongchenganpaiUuidNumber")){List<String> gongchenganpaiUuidNumber = seachFields.get("gongchenganpaiUuidNumber");gongchenganpaiUuidNumber.add(data.get(0));//要改的}else{List<String> gongchenganpaiUuidNumber = new ArrayList<>();gongchenganpaiUuidNumber.add(data.get(0));//要改的seachFields.put("gongchenganpaiUuidNumber",gongchenganpaiUuidNumber);}}//查询是否重复//工程安排编号List<GongchenganpaiEntity> gongchenganpaiEntities_gongchenganpaiUuidNumber = gongchenganpaiService.selectList(new EntityWrapper<GongchenganpaiEntity>().in("gongchenganpai_uuid_number", seachFields.get("gongchenganpaiUuidNumber")));if(gongchenganpaiEntities_gongchenganpaiUuidNumber.size() >0 ){ArrayList<String> repeatFields = new ArrayList<>();for(GongchenganpaiEntity s:gongchenganpaiEntities_gongchenganpaiUuidNumber){repeatFields.add(s.getGongchenganpaiUuidNumber());}return R.error(511,"数据库的该表中的 [工程安排编号] 字段已经存在 存在数据为:"+repeatFields.toString());}gongchenganpaiService.insertBatch(gongchenganpaiList);return R.ok();}}}}catch (Exception e){e.printStackTrace();return R.error(511,"批量插入数据异常,请联系管理员");}}/*** 前端列表*/@IgnoreAuth@RequestMapping("/list")public R list(@RequestParam Map<String, Object> params, HttpServletRequest request){logger.debug("list方法:,,Controller:{},,params:{}",this.getClass().getName(),JSONObject.toJSONString(params));CommonUtil.checkMap(params);PageUtils page = gongchenganpaiService.queryPage(params);//字典表数据转换List<GongchenganpaiView> list =(List<GongchenganpaiView>)page.getList();for(GongchenganpaiView c:list)dictionaryService.dictionaryConvert(c, request); //修改对应字典表字段return R.ok().put("data", page);}/*** 前端详情*/@RequestMapping("/detail/{id}")public R detail(@PathVariable("id") Long id, HttpServletRequest request){logger.debug("detail方法:,,Controller:{},,id:{}",this.getClass().getName(),id);GongchenganpaiEntity gongchenganpai = gongchenganpaiService.selectById(id);if(gongchenganpai !=null){//entity转viewGongchenganpaiView view = new GongchenganpaiView();BeanUtils.copyProperties( gongchenganpai , view );//把实体数据重构到view中//级联表YonghuEntity yonghu = yonghuService.selectById(gongchenganpai.getYonghuId());if(yonghu != null){BeanUtils.copyProperties( yonghu , view ,new String[]{ "id", "createDate"});//把级联的数据添加到view中,并排除id和创建时间字段view.setYonghuId(yonghu.getId());}//级联表HetongEntity hetong = hetongService.selectById(gongchenganpai.getHetongId());if(hetong != null){BeanUtils.copyProperties( hetong , view ,new String[]{ "id", "createDate"});//把级联的数据添加到view中,并排除id和创建时间字段view.setHetongId(hetong.getId());}//修改对应字典表字段dictionaryService.dictionaryConvert(view, request);return R.ok().put("data", view);}else {return R.error(511,"查不到数据");}}/*** 前端保存*/@RequestMapping("/add")public R add(@RequestBody GongchenganpaiEntity gongchenganpai, HttpServletRequest request){logger.debug("add方法:,,Controller:{},,gongchenganpai:{}",this.getClass().getName(),gongchenganpai.toString());Wrapper<GongchenganpaiEntity> queryWrapper = new EntityWrapper<GongchenganpaiEntity>().eq("yonghu_id", gongchenganpai.getYonghuId()).eq("hetong_id", gongchenganpai.getHetongId()).eq("gongchenganpai_uuid_number", gongchenganpai.getGongchenganpaiUuidNumber()).eq("gongchenganpai_name", gongchenganpai.getGongchenganpaiName()).eq("gongchenganpai_fuzeren", gongchenganpai.getGongchenganpaiFuzeren()).eq("gongchenganpai_lianxifangshi", gongchenganpai.getGongchenganpaiLianxifangshi()).eq("gongchenganpai_types", gongchenganpai.getGongchenganpaiTypes())
//            .notIn("gongchenganpai_types", new Integer[]{102});logger.info("sql语句:"+queryWrapper.getSqlSegment());GongchenganpaiEntity gongchenganpaiEntity = gongchenganpaiService.selectOne(queryWrapper);if(gongchenganpaiEntity==null){gongchenganpai.setInsertTime(new Date());gongchenganpai.setCreateTime(new Date());gongchenganpaiService.insert(gongchenganpai);return R.ok();}else {return R.error(511,"表中有相同数据");}}}

7.2 工程安排Service

package com.service;
/*** 工程安排 服务类* author 计算机编程-吉哥*/
public interface GongchenganpaiService extends IService<GongchenganpaiEntity> {/*** @param params 查询参数* @return 带分页的查询出来的数据*/PageUtils queryPage(Map<String, Object> params);}

7.3 工程安排ServiceImpl

package com.service.impl;/*** 工程安排 服务实现类* author 计算机编程-吉哥*/
@Service("gongchenganpaiService")
@Transactional
public class GongchenganpaiServiceImpl extends ServiceImpl<GongchenganpaiDao, GongchenganpaiEntity> implements GongchenganpaiService {@Overridepublic PageUtils queryPage(Map<String,Object> params) {Page<GongchenganpaiView> page =new Query<GongchenganpaiView>(params).getPage();page.setRecords(baseMapper.selectListView(page,params));return new PageUtils(page);}}

7.4 工程安排DAO

package com.dao;/*** 工程安排 Dao 接口** @author 计算机编程-吉哥*/
public interface GongchenganpaiDao extends BaseMapper<GongchenganpaiEntity> {List<GongchenganpaiView> selectListView(Pagination page,@Param("params")Map<String,Object> params);}

8.参考文档

 

你可能还有感兴趣的项目👇🏻👇🏻👇🏻

更多项目推荐:计算机毕业设计项目

如果大家有任何疑虑,请在下方咨询或评论

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/602432.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

深入浅出 Zookeeper 中的 ZAB 协议

本文主要内容如下&#xff1a; ZAB 协议的全称是 Zookeeper Atomic Broadcase&#xff0c;原子广播协议。 作用&#xff1a;通过这个 ZAB 协议可以进行集群间主备节点的数据同步&#xff0c;保证数据的一致性。 在讲解 ZAB 协议之前&#xff0c;我们必须要了解 Zookeeper 的各…

解决Canvas画图清晰度问题

最近在开发Web端远程桌面的时候遇到的一个问题&#xff0c;解决记录一下&#xff0c;分享给各位有需要用到的朋友。 先吹下水&#xff1a;远程桌面的连接我们是通过Websocket连接后&#xff0c;后端不断返回远程端的界面二进制数据流&#xff0c;我接收到之后转为图像&#xf…

window服务器thinkphp队列监听服务

经常使用linux的同学们应该对使用宝塔来做队列监听一定非常熟悉&#xff0c;但对于windows系统下&#xff0c;如何去做队列的监听&#xff1f;是一个很麻烦的事情。 本文将通过windows系统的服务来实现队列的监听。 对于thinkphp6 queue如何使用&#xff0c;不再赘述。其它系…

Windows系统如何使用VNC远程连接Deepin桌面【内网穿透】

文章目录 1. 安装x11vnc2. 本地远程连接测试3. Deepin安装Cpolar4. 配置公网远程地址5. 公网远程连接Deepin桌面6. 固定连接公网地址7. 固定公网地址连接测试 x11vnc是一种在Linux系统中实现远程桌面控制的工具&#xff0c;它的原理是通过X Window系统的协议来实现远程桌面的展…

跟随chatgpt从零开始安装git(Windows系统)

为什么我们要安装Git&#xff1f;Git有什么用&#xff1f; 1. 版本控制&#xff1a;Git 可以追踪代码的所有变化&#xff0c;记录每个提交的差异&#xff0c;使您能够轻松地回溯到任何历史版本或比较不同版本之间的差异。 2. 分支管理&#xff1a;通过 Git 的分支功能&#xff…

C++ Qt开发:Charts与数据库组件联动

Qt 是一个跨平台C图形界面开发库&#xff0c;利用Qt可以快速开发跨平台窗体应用程序&#xff0c;在Qt中我们可以通过拖拽的方式将不同组件放到指定的位置&#xff0c;实现图形化开发极大的方便了开发效率&#xff0c;本章将重点介绍Charts组件与QSql数据库组件的常用方法及灵活…

wordpress个人博客/杂志主题Pin Premium

Pin Premium WordPress主题是针对博主的时尚且自适应的Pinterest风格主题。使用HTML5和CSS3技术创建&#xff0c;带有有效代码(两个演示)&#xff0c;完全响应&#xff0c;在所有移动设备上看起来完美&#xff0c;可在任何设备和 PC 上轻松使用。 响应式设计针对平板电脑和智能…

揭秘大模型「幻觉」:数据偏差、泛化与上下文理解的挑战与解决之道

什么是大模型「幻觉」 所谓的「幻觉」指的是当大模型生成与现实不符或逻辑上不连贯的信息时。这通常发生在模型对某些数据理解不足或数据本身存在偏差的情况下。由于模型是基于概率统计和以往数据训练的,它们可能在面对未知或少见情况时产生不准确的推断。 大模型不具有本地知…

柯桥学韩语【韩语网络用语】听说最近的年轻人都重视슬세권,역세권....吗?

来解锁一下今天的新词“슬세권” 슬리퍼와 세권(勢圈)의 합성어로 슬리퍼와 같은 편한 복장으로 각종 여가편의시설을 이용할 수 있는 주거 권역을 이르는 신조어다. 슬세권是"拖鞋"和"势圈"的合成词&#xff0c;即使穿着像拖鞋类似的便装&#xff0c; …

J2 - ResNet-50v2实战

&#x1f368; 本文为&#x1f517;365天深度学习训练营 中的学习记录博客&#x1f356; 原作者&#xff1a;K同学啊 | 接辅导、项目定制 目录 环境步骤环境设置数据准备图像信息查看 模型设计ResidualBlock块stack堆叠resnet50v2模型 模型训练模型效果展示 总结与心得体会 环境…

网页服务, 静态页面

文章目录 概要demo示例说明 概要 创建微服务时&#xff0c; 可以将静态资源(前端界面)放入resource中&#xff0c; 通过接口来访问 参考博客: https://blog.csdn.net/wangxin1949/article/details/89016428 demo示例 Controller RequestMapping(“/terminal/task”) public…

深度学习中的知识蒸馏

一.概念 知识蒸馏&#xff08;Knowledge Distillation&#xff09;是一种深度学习中的模型压缩技术&#xff0c;旨在通过从一个教师模型&#xff08;teacher model&#xff09;向一个学生模型&#xff08;student model&#xff09;传递知识来减小模型的规模&#xff0c;同时保…

通过聚道云软件连接器实现钉钉与自研主数据系统的完美融合

客户介绍 某知名高校&#xff0c;拥有数千名教职工&#xff0c;日常管理涉及大量的人员异动信息。该高校设有多个学院和研究所&#xff0c;涵盖了工、理、管、文等多个学科领域。该高校是一所充满活力和潜力的学府&#xff0c;致力于为学生提供优质的教育资源和多元化的学习环…

体系化的进阶学习内容

UWA学堂&#xff1a;传播游戏行业的体系化的进阶学习内容。UWA学堂作为面向开发者的在线学习平台&#xff0c;目前已经上线272门课程&#xff0c;涵盖了3D引擎渲染、UI、逻辑代码等多个模块&#xff0c;拥有完整的学习体系&#xff0c;一直致力于为广大的开发者提供更丰富、更优…

数据结构——堆排序

什么是堆排序 堆排序就是利用堆&#xff08;假设利用大堆&#xff09;进行排序的算法。他的基本思想是&#xff0c;将待排序的序列构造成一个大顶堆。此时&#xff0c;整个序列的最大值就是堆顶的根节点。将他移走&#xff08;其实就是将其与堆数组的末尾元素交换&#xff0c;…

NVIDIA Jetpack6.0DP使用过程中的问题

Jetpack6.0DP是2023年12月才发布&#xff0c; 操作系统使用了ubuntu 22.04&#xff0c; gcc是11.4&#xff0c;版本都很高&#xff0c; 用起来还存在一些问题 无法使用jtop https://forums.developer.nvidia.com/t/jtop-no-longer-works-on-jp-6-0-dp/275215 使用$ sudo -H p…

常用网络接口自动化测试框架

(一&#xff09;GUI界面测试工具&#xff1a;jmeter 1、添加线程组 2、添加http请求 3、为线程组添加察看结果树 4、写入接口参数并运行 5、在查看结果树窗口查看结果 6、多组数据可增加CSVDataSetConfig(添加.csv格式的文件&#xff0c;并在参数值里以${x}格式写入) 此时变量…

条件随机场 (CRF) 的损失函数以及faiss 的原理介绍

1、条件随机场 (CRF) 的损失函数 条件随机场&#xff08;CRF&#xff09;是一种统计建模方法&#xff0c;常用于结构化预测问题&#xff0c;如序列标注、分词和命名实体识别等。在CRF模型中&#xff0c;损失函数用于衡量模型预测的标记序列与真实标记序列之间的差异。CRF的目标…

基于华为云解析服务实现网站区域封禁

前言 中国大陆以外的网络攻击不断&#xff0c;个人博客时常遭受不明个人或组织的攻击&#xff0c;给网站的安全运行带来了巨大的风险&#xff0c;同时DDoS、CC攻击等还会消耗服务器的资源&#xff0c;站长可能需要因此支付高昂的服务器、CDN的流量费用。 因此&#xff0c;如果…

【非关系型数据库】Redis概述及安装、命令使用

目录 前瞻 关系型数据库 非关系型数据库 关系型数据库和非关系型数据库区别 数据存储方式不同 扩展方式不同 对事务性的支持不同 非关系型数据库产生背景 总结 Redis简介 什么是Redis Redis具有的优点 Redis使用场景 哪些数据适合放入缓存中&#xff1f; Redis为什…