Aisell智能销售项目_总结

智能销售系统项目开发进程day01 智能销售系统项目开发进程day01,完成的功能有展示employee,进行排序,高级查询,隐藏 立即下载

day1 集成SpringMVC&前端展示

搭建环境 sssdj(springmvc+spring+springdatajpa)

1 spring+springdatajpa搭建环境

在spring+jpa环境上面引入

<jpa:repositories base-package="cn.itsource.aisell.repository"
                  transaction-manager-ref="transactionManager"
                  entity-manager-factory-ref="entityManagerFactory"
                    factory-class="cn.itsource.aisell.repository.impl.BaseRepositoryFactoryBean">
</jpa:repositories>

2 springmvc和spring集成

<mvc:default-servlet-handler />
<context:component-scan base-package="cn.itsource.aisell.web.controller" />
<mvc:annotation-driven>
    <mvc:message-converters>
        <bean class="org.springframework.http.converter.json.MappingJackson2HttpMessageConverter">
            <property name="supportedMediaTypes">
                <list>
                    <value>application/json; charset=UTF-8</value>
                    <value>application/x-www-form-urlencoded; charset=UTF-8</value>
                </list>
            </property>
            <!-- No serializer:配置 setObjectMapper(new CustomMapper)objectMapper 为我们自定义扩展后的 CustomMapper,解决了返回对象有关系对象的报错问题 -->
            <property name="objectMapper">
                <bean class="cn.itsource.aisell.common.CustomMapper"></bean>
            </property>
        </bean>
    </mvc:message-converters>
</mvc:annotation-driven>

3 创建repository-service-controller层

详情见https://blog.youkuaiyun.com/Java_pipixia/article/details/98363507

day2 easyui结合项目完成CRUD

1 新增
add:function(){
    //清空表单
    purchasebillForm.form('clear');
    //清空表格
    $("#gridItem").datagrid("loadData",[]);
    //新增 --弹出一个对话框--装一个表单
    purchasebillDialog.dialog('center').dialog('open');
}
2 修改
edit:function(){
	//选择一条数据进行修改
	var row = purchasebillGrid.datagrid('getSelected');
	if(row){
	    //弹出对话框
	    purchasebillDialog.dialog('center').dialog('open');
	    //供货商
	    if (row.supplier){
	        row["supplier.id"] = row.supplier.id;
	    }
	    //采购员
	    if (row.buyer){
	        row["buyer.id"] = row.buyer.id;
	    }
	
	    //明细表格回显
	    //加载相应的数据(要看product的名称是否可以对应上)
	    for (var i = 0; i < row.items.length; i++) {
	        var item = row.items[i];
	        item["productId"] = item.product;
	    }
	    var items = $.extend([], row.items);
	    $("#gridItem").datagrid("loadData", items);
	    //修改 -- 回显示数据
	    purchasebillForm.form('load',row);
	}else{
	    //提示用户
	    $.messager.alert('温馨提示:','请选中一条数据进行修改','info');
	    return;
	}
	
	}
3 新增和修改保存
save:function(){
  var url = "/purchasebill/save";
  //获取隐藏域里面id值
  var id = $("#purchasebillId").val();
  if(id){
      url = "/purchasebill/update?cmd=update"
  }
  //保存方法 --提交表单的数据到后台
  purchasebillForm.form('submit', {
      url:url,
      onSubmit: function(param){
          //提交 封装items
          //得到明细表格里面的数据
          var rows = $("#gridItem").datagrid("getRows");
          for (var i = 0; i < rows.length; i++) {
              var rowData = rows[i];
              param["items["+i+"].descs"] = rowData.descs;
              param["items["+i+"].price"] = rowData.price;
              param["items["+i+"].num"] = rowData.num;
              param["items["+i+"].product.id"] = rowData.productId.id;
          }
          // 提交之前的验证
          return purchasebillForm.form('validate');
      },
      success:function(data){
          //字符串 转换成json对象
          var dataJson =  $.parseJSON(data);
          if(dataJson.success){
              $.messager.alert('温馨提示:','操作成功','info');
              //重新加载数据
              purchasebillGrid.datagrid('reload');
              //关闭对话框
              purchasebillDialog.dialog('close');
          }else{
              $.messager.alert('温馨提示:','保存失败'+dataJson.msg,'error');
              purchasebillDialog.dialog('close');
          }
      }
  });
}
4 删除
del:function(){
  //判断表格里面是否选中得数据
  var row = purchasebillGrid.datagrid('getSelected');
  if(row){
      //是否确认要删除数据
      $.messager.confirm('温馨提示','你确定要删除吗?',function(value){
          if(value){
              //获取id值
              //发送ajax到后台进行删除数据
              $.get('/purchasebill/delete',{"id":row.id},function(data){
                  //返回json对象
                  if(data.success){
                      $.messager.alert('温馨提示:','删除成功','info');
                      //重新加载数据
                      purchasebillGrid.datagrid('reload');
                  }else{
                      $.messager.alert('温馨提示:','删除失败'+data.msg,'error');
                  }
              });
          }
      })
  }else{
      //提示用户
      $.messager.alert('温馨提示:','请选中一条数据进行删除','info');
      return;
  }
}
5 查询
search:function(){
    //怎么完成高级查询 jquery.jdirk.js 这个方法 这是jquery扩展方法
    //该方法返回一个 JSON Object,返回对象中的每个数据都表示一个表单控件值。
    var param = searchForm.serializeObject();
    //发送查询数据库 --加载表格 发送请求 /purchasebill/page
    purchasebillGrid.datagrid('load',param);
}
6 后台问题:

​数据丢失 --ModelAttribute
n-to-n问题 --把关联对象设置为null

day3 Shrio集成Spring&Authentication身份认证&Authorizing授权

1 认识shiro

他是apache下面开源的安全方面的框架,可以完成身份认证和授权 以及会话管理和密码学

2 使用shiro的基本入门

shiro.ini 配置 账号 密码 权限 —测试类去测试身份的认证和权限

3 认证流程、授权流程

详情见https://blog.youkuaiyun.com/Java_pipixia/article/details/98648890

day4 登录与权限验证

登陆和角色:
登陆流程实现:–就是认证流程
详情见https://blog.youkuaiyun.com/Java_pipixia/article/details/98848707

day5 权限判断&菜单配置

权限处理
查询数据库权限放入shiro里面
map.put(url, “perm[sn]”)
访问需要权限的资源的时候,就会判断当前用户是否具备该权限(先数据库查询用户的所有权限)
详情见https://blog.youkuaiyun.com/Java_pipixia/article/details/98965788

day6 EasyPoi导入与导出

导入导出
用easypoi去完成导入导出
导出:
ExcelExportUtil.exportExcel
导入:
ExcelImportUtil.importExcel
验证的处理
加入相应的验证包
验证NOTNULL MAX MIN
如果还不行可以自定义验证
详情见https://blog.youkuaiyun.com/Java_pipixia/article/details/99195684

day7 产品模块

产品模型
数据字典:一些数据库的初始化的数据
数据字典设计:只需要两个表
数据字典明细表
系统设计:写一个jpql就可以查询数据

@Query("select d from Systemdictionarydetail d join d.types t where t.sn=?1")
List<Systemdictionarydetail> findDetailsBySn(String sn);

产品的增删改查
图片上传 form表单 enctype属性
图片变大图 tooltip扩展组件
颜色选择 type=‘color’
上下级 easy组件

day8 采购单

采购单 purchasebill
采购明细单 purchasebillitem
配置
domain的设计(设计双向)— 这是属于订单 在系统里面 凡是涉及到单据 都是使用组合关系来设计 使用强级联 CascadeType.ALL,配置孤儿删除 ,一方放弃管理 多方来维护
详情见https://blog.youkuaiyun.com/Java_pipixia/article/details/99607040

day9 采购报表功能

报表 reports charts
报表 :数据表格报表 – 组件 data-grid - groupview 分组视图表格
详情见https://blog.youkuaiyun.com/Java_pipixia/article/details/99650813

day10 审核入库订单&&库存预警&&发送邮件

业务:
​ 基础模块 (产品 员工 部门 数据字典)
​ 权限模块(用户 角色 权限 资源)
核心业务:
​ 采购单
​ 销售单 (采购员修改成销售员 把供应商修改客户)
​ 库存(入库 出库)
​ 盘点单
预警 :qz框架
详情见https://blog.youkuaiyun.com/Java_pipixia/article/details/99686968

避坑指南:CoppeliaSim逆运动学仿真常见报错解决方案(附UR5+RG2爪完整Lua脚本) 本文针对CoppeliaSim机器人仿真中常见的逆运动学报错问题,提供了详细的避坑指南和解决方案。文章以UR5机械臂与RG2夹爪组合为例,深入剖析了模型装配、Dummy节点配置、Lua脚本编写等关键步骤中的常见错误,并附带了完整的、带错误处理的脚本代码,帮助用户快速定位并解决IK仿真失败问题,提升仿真效率。 阅读详情

相关推荐

基因组研究之单倍型T2T基因组(一)

单倍型T2T基因组(Haplotype-resolved T2T genome)是一种高精度、高连续性、高完整性的基因组组装技术,它能够提供从端粒到端粒的完整基因组序列,包括所有的基因和非编码序列。完整覆盖:T2T基因组覆盖从端粒到端粒的染色体序列,包含所有的基因和非编码序列,包括以往难以解析的端粒和着丝粒区域。单倍型解析:单倍型T2T基因组能够区分来自父母本的遗传信息,进行亚基因组不对称演化研究,挖掘单倍型等位基因间的表达差异,这对于重测序、性状定位、进化、基因功能、基因编辑等研究至关重要。

2401_89507557的博客 2438

Aisell医疗器械智销存系统项目总结

主要功能:完成人员部门管理,产品管理,供应商管理,产品类型管理,产品出入库订单的生成和采购报表生成 主要使用的框架和插件 框架使用主要使用了Spring+Spring MVC+SpringDateJpa框架 前端使用的是easyui框架 权限过滤器使用的是shiro框架 数据库查询加入了jpa-spec插件(分页加排序查询更方便) 在添加数据框中使用了easyui中的validatebox 插件来...

weixin_43891663的博客 315

ABB机器人绝对精度实战:从焊接路径优化到TCP控制(附配置步骤)

本文深入探讨了ABB机器人绝对精度在焊接路径优化中的核心价值。通过对比重复定位精度,阐明绝对精度如何补偿机械误差,确保TCP在整个运动路径上的轨迹精度。文章提供了从示教器激活绝对精度功能的详细配置步骤,并分享了针对焊接抖动和实现0.2mm路径精度的进阶调优技巧,包括TCP标定、伺服参数优化与系统维护。

weixin_29053073的博客 350

智能销售系统简单总结

进销存模块分类 基本模块内容: 组织机构模块:公司,部门,员工 系统模块:角色,权限,菜单,资源,数据字典 基础数据模块:产品,产品类型,供应商(采购),客户(销售) 面试时,如果你说你做的基础模块(技术比较简单,一般会是一个比较了解业务的开发人员) 销售人员(买房) 张三:客户 -> 只能看到你的客户 张无忌: 户 -> 只能看到我的客户 销售部经理:都可以看到 张三丰:可以看到所有...

CsbLanca 1748

计算机考研408复试题汇总

TCP连接是全双工的,两端都可以先挥手 其中一端完成数据发送任务后,发送一个FIN包来终止,另一端针对这个FIN包回复确认包, 直到另一端也发送请求终止数据包FIN,另一端作出确认应答,并且还要发送一个ACK=1表示确认号有效,如果没有收到这个就可以进行重传.

ca1m4n的博客 1万+

从零到一:基于STM8的125KHz RFID读卡器实现与曼彻斯特码解析实战

本文详细介绍了基于STM8单片机的125KHz RFID读卡器实现过程,重点解析了曼彻斯特码的编码原理与解码算法。通过硬件电路设计、软件实现及性能优化,帮助开发者低成本构建稳定读取EM4100卡片的系统,适用于门禁、考勤等应用场景。

weixin_42525211的博客 232

aisell_EasyPOI 数据导入导出

一、Java操作办公软件 (1)java可以操作办公软件: Word、Excel、PPT。其中Word和Excel操作最为频繁 (2)java操作Exccel 导入(磁盘数据读取到内存)导出 (3)java操作办公软件的框架 JXL:只操作Exccel,只支持office2003之前的,功能还是很强大的 POI:apatch公司的 ,支持word、Excel、ppt。它写了两套API,支持offi...

Abdullahi_kanye的博客 3442

实现画布拖拽算子排布,通过flink实现算子编排计算,如何实现?

🏆本文收录于 《全栈 Bug 调优(实战版)》 专栏。专栏聚焦真实项目中的各类疑难 Bug,从成因剖析 → 排查路径 → 解决方案 → 预防优化全链路拆解,形成一套可复用、可沉淀的实战知识体系。无论你是初入职场的开发者,还是负责复杂项目的资深工程师,都可以在这里构建一套属于自己的「问题诊断与性能调优」方法论,助你稳步进阶、放大技术价值 。

**My Coding Family** 1070

Tomcat部署时war和war exploded区别

原文地址:http://blog.youkuaiyun.com/wanger_tt/article/details/51014608 war模式—-将WEB工程以包的形式上传到服务器  war exploded模式—-将WEB工程以当前文件夹的位置关系上传到服务器

杨春建的博客 3765

DeepSeek赋能公文写作:从高效成文到精准传情的全维度指南

摘要:AI赋能公文写作的精准化实践 公文写作长期面临框架混乱、素材匮乏、表达不规范、修改低效等痛点。DeepSeek等AI工具通过"精准指令+分步赋能"模式实现突破:首先明确公文的目的性、逻辑性和规范性特征;其次采用包含场景、类型、目的等要素的指令模板;再分四步实施:框架搭建确保层次分明,内容填充解决素材问题,表达优化适配不同语体,合规校验把关格式规范。典型案例显示,AI能将数据罗列转化为"数据+成果+价值"的生动表述,使公文既规范又具感染力。这种AI赋能的写作方法显

通俗易懂学IT 231

手把手教你学Simulink--智能控制算法的控制算法领域仿真建模实例:基于Simulink的遗传算法优化控制仿真模型

通过上述步骤,你可以设计并仿真一个基于Simulink的遗传算法优化控制模型。这种方法适用于许多复杂的优化场景,尤其是当传统方法难以找到最优解时。随着经验的积累,你可以进一步优化遗传算法的参数设置,或者结合其他智能优化技术(如粒子群优化、差分进化等)提升优化性能。

MHD0815的博客 208

AiSell智能销售系统1

AiSell智能销售系统 一个简单的项目,欢迎游客们慢慢跟着我来一起做! 注意: 项目部署在IDEA软件,并且TomCat也部署了的。 使用我准备好的数据库表:。。。(博客无法上传sql文件。需要联系我Q:1719099381) 项目的第一个阶段 #####项目第一天 1 在pom.xml里导包 <?xml version="1.0" encoding="UTF-8"?> <p...

weixin_46019619的博客 411

【爬虫实战】Instagram博主图片爬取:模拟登录+滚动加载,轻松抓取高清美图

在当今社交媒体时代,Instagram作为全球最受欢迎的图片分享平台之一,汇聚了无数优质博主的海量精美图片。对于数据爱好者、营销分析师、AI训练数据收集者来说,如何高效、稳定地爬取Instagram博主的图片,成为了一项极具实用价值的技术挑战。然而,Instagram的反爬机制日益严格,传统的静态页面请求已经无法满足需求。本文将带你从零开始,使用2024-2025年最新技术栈,实现模拟登录、滚动加载、高清图片下载的全流程爬虫。✅ 全流程代码可直接运行✅ 模拟手机端请求绕过反爬。

2201_76125261的博客 595

aisell总结

1.项目说明 名称:智能销售(商贸)系统 (aisell) (yxb) pss(进销存系统) 架构:==springmvc+spring+springdatajpa== shiro(权限框架)+ poi导入导出 +报表 highchart 等(辅助框架) 2.项目搭建 昨天 spring+springdatajpa 完成respository springmvc+spring+sp...

weixin_45527690的博客 241

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

Spring+SpringMVC+SpringDataJPA集成 AiSell智能销售系统

AiSell核心知识概览* 后台基础框架: spring+springmvc+jpa的集成 其他框架:velocity easyPoi easyCoder 等 前台基础框架:easyui jQuery highcharts 导入jar包 spring-web spring对web的支持 Spring-mvc SpringMVC的包 Spring-orm spring对关系数据的支持 Spring...

weixin_44829991的博客 296

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

aisell10

1 项目业务 (1) 取名 ​ aisell 智能销售 /yxb 易销宝/pss --进销存系统 ​ 进货 销售 库存 写简历: ​ 自己对哪一个行业比较熟悉业务 ​ 医疗器械智能销售体系 ​ 零售智能销售系统 ​ … (2)业务:–(重在理解) ​ 核心业务 ​ a) 进货-采购 ​ b) 销售 --和...

ztfntxdy的博客 282

AiSell智能销售系统2

项目的第二阶段 我们先来了解一下什么是shiro权限 1 什么是shiro 轻量级的权限框架 shiro(轻量级,粗粒度) , Spring security(细粒度) RBAC:权限(登录,授权) 用户(n)-角色(n)-权限(n)(资源) 2 shiro四大基石 身份认证(登录) Authentication 授权(权限) Authorization 密码学 Cryptography ...

weixin_46019619的博客 279

AIsell智能销售第一天SpringledataJpa

1.创建maven项目 (1)项目所有导包 <?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" ...

dcftn64642的专栏 222

AiSell_Day01

1.项目说明 名称:智能销售(商贸)系统 (aisell) (yxb) pss(进销存系统) 架构:springmvc+spring+springdatajpa ? shiro(权限框架)+ poi导入导出 +报表 highchart 等(辅助框架) 2.项目搭建(掌握) 昨天 spring+springdatajpa 完成respository springmvc+sprin...

Spursxuezhu的博客 210

AiSell智能销售系统2——权限与菜单

一.权限管理 1.1 真实权限配置 1.1.1 拦截真实权限 public class MapFactory { @Autowired private IPermissionService permissionService; public Map<String,String> createMap(){ ... //从数据库中...

weixin_46019619的博客 263

Spring Data Jpa

spring data jpa 认识: 是SpringData的子框架(和做数据有关)。 是在我们已有的JPA基础上又做了一层封装。 Spring+SpringMvc+SpringDataJpa(SSDJ框架):Spring全家桶 Aisell(智能销售系统day01) 导包: &lt;properties&gt; &lt;projec...

MyIsWhaT的博客 268

项目的第二天,基本功能的实现

功能二:用easyUI做一个主页面 1.页面布局 layout Lalyout :依懒panel,resizable。 布局容器有5个区域:北、南、东、西和中间。中间区域面板是必须的,边缘的面板都是可选的。每个边缘区域面板都可以通过拖拽其边框改变大小,也可以点击折叠按钮将面板折叠起来。布局可...

chunniang8044的博客 277

Tomcat部署时war和war exploded区别以及平时踩得坑

war和war exploded的区别在使用IDEA开发项目的时候,部署Tomcat的时候通常会出现下边的情况:是选择war还是war exploded 这里首先看一下他们两个的区别:war模式:将WEB工程以包的形式上传到服务器 ; war exploded模式:将WEB工程以当前文件夹的位置关系上传到服务器;(1)war模式这种可以称之为是发布模式,看名字也知道,这是先打成war包,再发布;(2

徐刘根的博客 16万+

智能商贸项目之框架搭建(集成SpringMVC&前端展示)

一、Spring Data Jpa扩展使用 Spring Data Jpa功能虽然已经非常强大,但是大部分也需要自己去对SpringDataJpa的功能进行相应的扩展(即:自定义Repository)。 1.BaseRepository接口 创建BaseRepository来继承JpaRepository接口 import org.springframework.data.domain.Page;...

Magical_Maestro的博客 421

(轻销)智能销售系统项目总结

一、 轻销 1.1 软件定位 软件定位: 快餐店食品原材料 开发环境: 服务器:ASUS 操作系统:Window 10 开发版 jdk版本:Jdk-1.8.0.11 64位版本 WEB服务器:tomcat9.0 数据库:MySql5.0 1.2 需求概述 轻销(EasySell)软件是一款商业企业进销存管理系统,软件囊括了商业企业日常经营管理的全过程。软件适用于食品商业领域的企业。软件覆盖商业企...

带风的小子的博客 671

aisell_报表

一、报表 报表的概念: 连接多张数据表,通过一系列的运算得到的结果 报表常识: 生成的数据报表,不具有增加、删除、修改数据的功能。只能够查询数据。 只返回前端需要的数据,以此来提高性能。 在此处需要连接的数据库表有: 采购订单明细、采购订单、供货商、员工表、产品表、产品类型表 达到的效果 页面查询效果; 图像页面效果: 二、使用EasyUI(datagrid-groupview) 控件 先...

Abdullahi_kanye的博客 530

简单的CRM项目

spring+springmvc+jpa的集成: 1.jar包的依赖 spring-web spring对web的支持 Spring-mvc SpringMVC的支持 Spring-orm spring对关系数据的支持 Spring-DataSource Spring对连接池的支持 hibernate对jpa的支持 mysql的包–对数据库的支持 Jackson的包–Spring对Jackson...

weixin_43636291的博客 607
上一篇: 项目springMVC&spring$springdatajpa_Day01
下一篇: MyBatis入门
虞铭轩、
博客等级 码龄7年 3粉丝 38原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值