计算机毕业设计 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.hqwc.cn/news/327495.html

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

相关文章

探讨一下WebINFO 下的一些思考

在平时的开发中&#xff0c;我们经常看到一个/WEB-INF 这个目录&#xff0c;这个是web 容器初始化加载的一个标准路径。官方解释&#xff1a;WEB-INF 是 Java 的 web 应用的安全目录。所谓安全就是客户端无法访问&#xff0c;只有服务端可以访问的目录。也就是说&#xff0c;这…

拜佛行善心要诚,否则就是不敬!

佛教所主张的“善因有善果&#xff0c;恶因有恶果”&#xff0c;又叫做“善有善报&#xff0c;恶有恶报”。峰民佛学悟语&#xff1a;“善有善报&#xff0c;恶有恶报。不是不报&#xff0c;时辰未到。”这句话表达的是一种因果循环、报应不爽的善恶法则&#xff0c;它告诉我们…

Redis 键中冒号的用途是什么?可以使匹配查询更快吗?

Redis 键中冒号的用途是什么在Redis中&#xff0c;冒号&#xff08;:&#xff09;用作键的分隔符&#xff0c;它的主要作用是创建层次结构和命名空间。通过在键中使用冒号&#xff0c;可以将键分为多个部分&#xff0c;从而更好地组织和管理数据。 以下是冒号在Redis键中的用途…

uniapp中uview组件库CircleProgress 圆形进度条丰富的使用方法

目录 #内部实现 #平台差异说明 #基本使用 #设置圆环的动画时间 #API #Props 展示操作或任务的当前进度&#xff0c;比如上传文件&#xff0c;是一个圆形的进度环。 #内部实现 组件内部通过canvas实现&#xff0c;有更好的性能和通用性。 #平台差异说明 AppH5微信小程…

计算机毕业设计选题分享-SSM律师事务所业务管理系统01664(赠送源码数据库)JAVA、PHP,node.js,C++、python,大屏数据可视化等

SSM律师事务所业务管理系统 摘 要 随着科学技术的飞速发展&#xff0c;社会的方方面面、各行各业都在努力与现代的先进技术接轨&#xff0c;通过科技手段来提高自身的优势&#xff0c;律师事务所业务管理系统当然也不能排除在外。律师事务所业务管理系统是以实际运用为开发背景…

AWS(三):如何在AwsManagedAd目录和windowsAD实例之间建立双向信任。

前提&#xff1a; 1.创建好了一个AWS managed AD目录&#xff0c;我的目录域名为:aws.managed.com 2.创建好了一个windows AD实例并提升了为域控服务器,实例域名为:aws2.com 看过我AWS 一和二的应该都会创建windows实例了&#xff0c;切记不能将其无缝加入到aws managed AD的…

静态网页设计——电影推荐网(HTML+CSS+JavaScript)

前言 声明&#xff1a;该文章只是做技术分享&#xff0c;若侵权请联系我删除。&#xff01;&#xff01; 感谢大佬的视频&#xff1a; https://www.bilibili.com/video/BV1NK411x7oK/?vd_source5f425e0074a7f92921f53ab87712357b 使用技术&#xff1a;HTMLCSSJS&#xff08;…

【mars3d】new mars3d.layer.GeoJsonLayer(实现环状面应该怎么传data

问题&#xff1a;【mars3d】new mars3d.layer.GeoJsonLayer(实现环状面应该怎么传data 解决方案&#xff1a; 1.在示例中修改showDraw()方法的data数据&#xff0c;实现以下环状面效果 2.示例链接&#xff1a; 功能示例(Vue版) | Mars3D三维可视化平台 | 火星科技 export f…

Merge还是Rebase?这次终于懂了

《Git分支管理&#xff1a;Merge还是Rebase&#xff1f;》 导语&#xff1a; 在Git的分支管理中&#xff0c;Merge和Rebase是两种常见的合并策略&#xff0c;每一种都有其优劣之处。究竟应该选择Merge还是Rebase&#xff0c;取决于项目的需求和团队的工作流程。本文将深入探讨…

基于FFT + CNN - Transformer 时域、频域特征融合的轴承故障识别模型

目录 往期精彩内容&#xff1a; 前言 1 快速傅里叶变换FFT原理介绍 2 轴承故障数据的预处理 2.1 导入数据 2.2 制作数据集和对应标签 3 基于FFTCNN-Transformer的轴承故障识别模型 3.1 网络定义模型 3.2 设置参数&#xff0c;训练模型 3.3 模型评估 往期精彩内容&…

你能看懂这段TypeScript源码库中的代码吗

在阅读TypeScript源码时&#xff0c;在 src\compiler\types.ts 文件中看到这么一段代码&#xff1a; export type MatchingKeys<TRecord, TMatch, K extends keyof TRecord keyof TRecord> K extends (TRecord[K] extends TMatch ? K : never) ? K : never; 乍一看…

重生奇迹MU游戏中勇者大陆

玩重生奇迹MU&#xff0c;我们进入游戏首先会来到勇者大陆。在看到勇者大陆市场&#xff0c;有很多交易的玩家也在这里&#xff0c;在勇者市场里面有商店。接下来介绍主要的NPC 的作用和怪物有那些&#xff1f; 勇者大陆卖药的商店老板莉雅 商店里面会有卖治疗药水&#xff0…