鲁班物流系统统那个角色能删除取派员?是物理删除么

问题对人有帮助,内容完整,我也想知道答案
问题没有实际价值,缺少关键内容,没有改进余地
比如,订单和商品的关系;订单正常来说,应该会将商品的(名字、价格等等)字段另外保存;如果我需要删除商品记录,使用物理删除也不会影响订单的信息;但是这样会出现其他问题吗?
答案对人有帮助,有参考价值
答案没帮助,是错误的答案,答非所问
以前SF上有类似的问题回复,我专门摘录了内容,核心原则是从业务上考虑,真的是删除操作吗?
大部分情况下,我们需要的仅仅是一个状态,如商品删除,大部分情况下可能是下架不再出售而已。
答案对人有帮助,有参考价值
答案没帮助,是错误的答案,答非所问
最好不要用物理删除老商品。如果使用物理删除,之前的老订单的关联的老商品记录就会出错。并且,使用物理删除后,以后也没法做数据统计等。最好加一个status字段,来逻辑删除。
答案对人有帮助,有参考价值
答案没帮助,是错误的答案,答非所问
用逻辑删除。
物理删除后如果以后误删了,或者需要有恢复功能或者统计什么的,你就GG了。
同步到新浪微博
分享到微博?
Hi,欢迎来到 SegmentFault 技术社区!⊙▽⊙ 在这里,你可以提出编程相关的疑惑,关注感兴趣的问题,对认可的回答投赞同票;大家会帮你解决编程的问题,和你探讨技术更新,为你的回答投上赞同票。
明天提醒我
关闭理由:
删除理由:
忽略理由:
推广(招聘、广告、SEO 等)方面的内容
与已有问题重复(请编辑该提问指向已有相同问题)
答非所问,不符合答题要求
宜作评论而非答案
带有人身攻击、辱骂、仇恨等违反条款的内容
无法获得确切结果的问题
非开发直接相关的问题
非技术提问的讨论型问题
其他原因(请补充说明)
我要该,理由是:(我主沉浮)
(会游泳的猫)
(灰色的精英)
第三方登录:互联网+国家战略智库
? ? ? ? ? ?
当前位置: &
& 快递行业准入零门槛取消 物业免费代收条款删除
快递行业准入零门槛取消 物业免费代收条款删除
&&日12:09&&中国电子商务研究中心
  (中国电子商务研究中心讯)《上海市实施〈中华人民共和国邮政法〉办法(草案)》(修改稿)前天提交市十三届人大常委会第三十五次会议二审。记者了解到,行业&零门槛&的状况将有所改观。修改稿对企业的准入条件作出规定,经营快递行业应当依法取得快递业务经营许可。未经许可,任何单位和个人不得经营快递业务。  针对一度引人关注的&物业免费代收快件&条款,市人大法制委认为,机关、企事业单位和住宅小区的物业与快递公司之间不存在法律上的权利义务关系,没有代收、代管并转交快件的义务,二审中该条款被删除。  快递企业突然关门,积压快件,政府到底该不该出手&紧急处置&,一审中曾引起争议。市人大法制委认为,快递业是一个竞争性行业,对因快递企业擅自停止经营等引发的问题,应当由企业自身承担相应的法律责任;对因自然灾害、事故灾难、公共卫生事件和社会安全事件等突发事件引发的问题,应当按照《突发事件应对法》的规定处置,无需在地方法规中另行规定。建议删除关于政府参与&紧急处置&的规定。  市人大法制委委员王观表示,为适应城市安全和快递业快速发展的新情况,政府有关部门应提高管理和服务的针对性。为此,修改稿中规定,&市公安机关应当会同建设交通、邮政等行政管理部门,根据城市交通状况,采取多种措施,在确保安全和正常交通的情况下,为快递车辆提供通行便利。&(来源:解放日报 文/王海燕 简工博)
&&&&8月21日,中国电子商务研究中心发布《2017年(上)中国电子商务用户体验与投诉监测报告》(PDF下载)。报告揭晓了五份榜单、64家平台上榜。1)平台零售电商:苏宁易购、唯品会、京东、国美在线、卷皮、亚马逊中国、拼多多、返利网、当当网、淘宝网/天猫;2)垂直零售电商:美囤妈妈、途虎养车网、网易严选、华为商城、贝贝网、聚美优品、乐视商城、小米商城、好乐买、天天网;3)跨境进口电商:蜜芽、网易考拉海购、丰趣海淘、海狐海淘、宝贝格子、洋码头、达令、冰帆海淘、西集网、小红书、55海淘、HIGO、比呀比海淘;4)生活服务电商:去哪儿、飞猪、美团、饿了么、携程、摩拜单车、百度糯米、易到用车、大众点评、同程旅游、马蜂窝、途牛旅游、艺龙旅行、阿卡索外教网、百度快行、发现旅行、穷游网、百合网、洗衣邦、滴滴出行;5)互联网金融:分期乐、工行融e购、拍拍贷、来分期、支付宝、易宝支付、来分期、京东金融、趣分期、翼支付、优分期、中行聪明购。
【】【】【】【】【】
「关键字」
& &(1)凡本中心注明“来源:中国电子商务研究中心”或带有中国电子商务研究中心水印LOGO的所有文字、图片、音频、视频及其他任何形式的作品 ,其版权均属中国电子商务研究中心所有,任何媒体、网站或个人未经本中心协议授权不得转载、链接、转贴或以其他方式复制发布/发表。已与本中心协议授权的媒体、网站,在下载使用时必须注明“稿件来源:中国电子商务研究中心”,违者本中心将依法追究责任。
& &(2)转载或引用本中心内容必须是以新闻性或资料性公共免费信息为使用目的的合理、善意引用,不得对本中心内容原意进行曲解、修改,同时必须保留本中心注明的“稿件来源”,并自负版权等法律责任。
& &(3)对于不当转载或引用本中心内容而引起的民事纷争、行政处理或其他损失,本中心不承担责任。
& &(4)凡本中心注明“来源:xxx(非中国电子商务研究中心)”的文/图等稿件,均转载自其它媒体、网站与机构,其转载目的在于传递更多信息,并不代表本中心赞同其观点和对其真实性负责,请读者仅作参考,并请自行核实相关内容,如其他媒体、网站或个人从本网下载使用,必须保留本网注明的“稿件来源”,并自负版权等法律责任。& &(5)关于本中心发布的用户投诉稿件,信息均由用户通过本中心投诉通道提供,本中心不对其真实性负责,若内容真实性有误,请与本中心联系,本中心将在核实后进行处理。& &(6)对不遵守本声明或其他违法、恶意使用本中心内容者,本中心保留追究其法律责任的权利。& &(7)如因作品内容、版权和其它问题需要同本中心联系的请发送相关内容至邮箱:)& &此版权声明解释权归中国电子商务研究中心所有。
  近日,京东宣布取消耳机、显卡等产品的七日无理由退货服务。这让不少小伙伴一脸懵逼:&我的耳机还在路上,你就取消了,可以不要这么扎心吗?&对此,京东表示,在平台运营中存在少部分&消费者&...
生态型企业:
行业热点:
曝光专区:
有以下事宜,请联系:&&
有以下事宜,请联系:
有以下事宜,请联系:
以下企业,请联系:
以下企业,请联系:
以下企业,请联系:
以下人士,请联系:
行业/频道:
产品/服务:
数据/研究:
导航/平台:
中国电子商务研究中心 版权所有框架 day49 BOS项目练习3(修复window控件BUG,添加/修改/作废取派员,datagrid使用,分页查询(DetachedCriteria离线),formatter函数)_其它编程-织梦者
当前位置:&>&&>& > 框架 day49 BOS项目练习3(修复window控件BUG,添加/修改/作废取派员,datagrid使用,分页查询(DetachedCriteria离线),formatter函数)
框架 day49 BOS项目练习3(修复window控件BUG,添加/修改/作废取派员,datagrid使用,分页查询(DetachedCriteria离线),formatter函数)
BOS项目笔记第3天
1. 修复window控件bug
把弹出窗口拖动到窗口外之后无法再拖动
src=&${pageContext.request.contextPath }/js/easyui/outOfBounds.js&
type=&text/javascript&&&/script&
2. 基础设置部分需求分析
基础设置部分需求对应需求规格说明书的2.6章节
2.1 基础档案设置
*本模块通常有个通俗的说法“数据字典”。
*作用:为其他模块提供数据
2.2 收派标准
2.3 班车设置
2.4 取派员设置
2.5 区域设置
区域是指由国家划分的行政区域。
2.6 分区管理
区域是由国家划分的,往往范围很大,大小不规则。不便于直接进行物流分配,需要对区域进行细分----分区。
2.7 定区管理
定区是进行物流分配的基本单位。定区将客户信息、分区信息、取派员信息进行关联,为自动分单提供基础数据的。
2.8 收派时间管理
3. 根据基础设置部分pdm生成sql文件
&script type=&text/javascript&&
$(function(){
var regex = /^1[3|4|5|7|8|][0-9]{9}$/;
//扩展对手机号进行校验规则
$.extend($.fn.validatebox.defaults.rules, {
phoneNumber: {
validator: function(value,param){
return regex.test(value);
message: '手机号输入有误!'
第二步:为手机号输入框应用规则
data-options=&validType:'phoneNumber'&
&td&手机&/td&
&td&&input type=&text&
data-options=&validType:'phoneNumber'&
name=&telephone& class=&easyui-validatebox& required=&true&/&&/td&
第三步:为添加窗口中“保存”按钮绑定事件,进行表单校验,如果校验通过提交表单
&a id=&edit& icon=&icon-save& href=&#& class=&easyui-linkbutton& plain=&true& &保存&/a&
&script type=&text/javascript&&
//为保存按钮绑定事件
$(&#edit&).click(function(){
//表单校验
var v = $(&#editStaffForm&).form(&validate&);
//校验通过 ,提交表单
$(&#editStaffForm&).submit();
第四步:在服务器端创建Action、Service、Dao
* 取派员操作Action
@Controller
@Scope(&prototype&)
public class StaffAction extends BaseAction&Staff&{
private IStaffService staffS
* 添加取派员
public String add(){
staffService.save(model);
return &list&;
public void setPage(int page) {
this.page =
public void setRows(int rows) {
this.rows =
save 方法base中已存在 传递model进行添加即可
5. Easyui中datagrid数据表格使用方法
5.1 对应html代码渲染为datagrid样式
&h2&方式一:将静态html代码渲染为datagrid&/h2&
&table class=&easyui-datagrid&&
&th data-options=&field:'id'&&编号&/th&
&th data-options=&field:'name'&&姓名&/th&
&th data-options=&field:'age'&&年龄&/th&
&td&1&/td&
&td&xiaoming&/td&
&td&88&/td&
&td&2&/td&
&td&laowang&/td&
&td&3&/td&
5.2 发送ajax请求获取datagrid中的数据
&total&:200,
{&id&:&1&,&name&:&张三&,&age&:&10&},
{&id&:&2&,&name&:&李四&,&age&:&20&},
{&id&:&3&,&name&:&王五&,&age&:&30&}
Datagrid中,如果指定了url,执行过程
1、 加载jsp页面
2、 发送ajax请求,获取json数据
3、 将json数据显示在表格中
&h2&方式二:加载远程数据&/h2&
&table class=&easyui-datagrid&
data-options=&url:'${pageContext.request.contextPath }/json/data.json'&&
&th data-options=&field:'id'&&编号&/th&
&th data-options=&field:'name'&&姓名&/th&
&th data-options=&field:'age'&&年龄&/th&
5.3 通过js代码动态创建datagrid
&h2&方式三:使用js代码创建datagrid&/h2&
&script type=&text/javascript&&
$(function(){
//将页面上的table元素展示为datagrid
$(&#grid&).datagrid({
//设置数据表格的属性
columns:[[
{field:'id',title:'编号',checkbox:true},//每个json代表一列
{field:'name',title:'姓名'},
{field:'age',title:'年龄'}
url:'${pageContext.request.contextPath }/json/data.json',
rownumbers:true,
singleSelect:true,
pagination:true,//显示分页条
{text:'添加',iconCls:'icon-add',handler:function(){
alert(&add&);
&table id=&grid&&
6. 取派员分页查询---基于datagrid实现
第一步:修改staff.jsp页面中datagrid的url属性,访问Action,进行分页查询
url : &staffAction_pageQuery&
// 取派员信息表格
$('#grid').datagrid( {
iconCls : 'icon-forward',
fit : true,
border : false,
rownumbers : true,
striped : true,
pageList: [30,50,100],//每页显示pageSize
pagination : true,//开启分页
toolbar : toolbar,//上工具栏
url : &staffAction_pageQuery&,//ajax请求
idField : 'id',
columns : columns, //var columns变量
onDblClickRow : doDblClickRow//双击事件函数
页面一加载就会发送数据请求
//当前页码
//pageSize 每页记录数
public void setRows(int rows) {
this.rows =
public void setPage(int page) {
this.page =
*Post参数的rows:当前页要展示多少条数据,是数字,对应limit 1,2 的2,pageSize每页显示数据数
*Json数据中的属性rows:要展示的数据,”rows”:[{},{},{}]
第三步:action提供page rows 接收数据 并且抽取PageBean类,封装分页信息
* 封装分页信息
public class PageBean {
private int currentP//当前页码
private int pageS//每页显示的记录数
private DetachedCriteria detachedC//查询条件
//总记录数
private L//当前页展示的数据集合
第四步:在BaseDao中提供通用分页查询方法
投影Projections统计函数
* 通用分页查询方法
public void pageQuery(PageBean pageBean) {
//查询条件
DetachedCriteria detachedCriteria = pageBean.getDetachedCriteria();
//指定由hibernate框架发出select count(id) from xxx....
detachedCriteria.setProjection(Projections.rowCount());
//查询总记录数
List&Long& countList = this.getHibernateTemplate().findByCriteria(detachedCriteria);
int total = countList.get(0).intValue();
pageBean.setTotal(total);
//指定由hibernate框架发出select * from xxx...
detachedCriteria.setProjection(null);
//改变hibernate的映射行为,从表中查询的数据对应包装成pojo对象
detachedCriteria.setResultTransformer(DetachedCriteria.ROOT_ENTITY);
int currentPage = pageBean.getCurrentPage();
int pageSize = pageBean.getPageSize();
int firstResult = (currentPage - 1 ) * pageS
int maxResults = pageS
List rows = this.getHibernateTemplate().findByCriteria(detachedCriteria, firstResult, maxResults);
pageBean.setRows(rows);
第五步:在StaffAction中调用service分页查询,响应json数据
* 分页查询方法
* @throws IOException
public String pageQuery() throws IOException{
PageBean pageBean = new PageBean();
pageBean.setCurrentPage(page);//当前页码
pageBean.setPageSize(rows);//每页显示记录数
//离线条件查询对象,用于包装查询条件
DetachedCriteria detachedCriteria = DetachedCriteria.forClass(Staff.class);
//按照取派员的id进行降序
detachedCriteria.addOrder(Order.desc(&id&));
//detachedCriteria.add(Restrictions.like(&name&, &xiaowang&));
pageBean.setDetachedCriteria(detachedCriteria);
staffService.pageQuery(pageBean);
//使用jsonlib将PageBean对象序列化为json数据
JsonConfig jsonConfig = new JsonConfig();
jsonConfig.setExcludes(new String[]{&currentPage&,&pageSize&,&detachedCriteria&,&decidedzones&});
String json = JSONObject.fromObject(pageBean,jsonConfig).toString();
ServletActionContext.getResponse().setContentType(&text/charset=UTF-8&);
ServletActionContext.getResponse().getWriter().print(json);
return NONE;
响应的对应json数据
field : 'haspda',
title : '是否有PDA',
width : 120,
align : 'center',
formatter : function(data,row, index){
if(data==&1&){
return &有&;
return &无&;
8. 取派员作废功能
逻辑删除,将取派员deltag改为1
第一步:调整作废按钮的事件
getSelections : 返回所有被选中的行,当没有记录被选中的时候将返回一个空数组。
function doDelete(){
//作废功能
//获得当前数据表格选中的行
var rows = $(&#grid&).datagrid(&getSelections&);
if(rows.length == 0){
//没有选中
$.messager.alert(&提示信息&,&请选择要作废的记录!&,&warning&);
//获得选中记录的id
$.messager.confirm(&提示信息&,&你确定删除当前取派员吗?&,function(r){
var array = new Array();
for(var i=0;i&rows.i++){
var id = rows[i].
array.push(id);
var ids = array.join(&,&);
window.location.href = &${pageContext.request.contextPath}/staffAction_delete.action?ids=& +
第二步:在StaffAction中提供delete方法批量作废,提供属性ids接收提交的参数
public void setIds(String ids) {
this.ids =
//属性驱动
* 批量作废功能
public String delete(){
staffService.deleteBatch(ids);
return &list&;
Service代码:
public void deleteBatch(String ids) {
String[] sIds = ids.split(&,&);
for (String id : sIds) {
staffDao.executeUpdate(&staff.delete&, id);
第三步:在Staff.hbm.xml中配置命名查询语句
&!-- 作废取派员 --&
&query name=&staff.delete&&
update Staff set deltag = '1' where id = ?
9. 取派员修改信息功能
第一步:提供一个修改取派员信息窗口(复制添加取派员窗口)
第二步:为datagrid绑定双击事件,在事件中打开修改窗口,回显数据
// 取派员信息表格
$('#grid').datagrid( {
iconCls : 'icon-forward',
fit : true,
border : false,
rownumbers : true,
striped : true,
pageList: [10,30,50,100],
pagination : true,
toolbar : toolbar,//工具栏
url : &${pageContext.request.contextPath}/staffAction_pageQuery.action&,
idField : 'id',
columns : columns,
onDblClickRow : doDblClickRow//绑定双击事件
双击绑定事件
onDblClickRow
: 参数-rowIndex, rowData :
在用户双击一行的时候触发,参数包括:
rowIndex:点击的行的索引值,该索引值从0开始。
rowData:对应于点击行的记录(json对象)。
load装载数据回显
load :参数-data :读取记录填充到表单中。数据参数可以是一个字符串或一个对象类型,如果是字符串则作为远程URL,否则作为本地记录。
function doDblClickRow(rowIndex, rowData){
//打开修改取派员窗口
$('#editStaffWindow').window(&open&);
//将双击行数据显示到修改窗口的表单中
//$(&input[name=name]&).val(rowData.name);
$(&#editStaffForm&).form(&load&,rowData);
需要增加一个隐藏input 来提供id,以供查询修改
&input type=&hidden& name=&id&&
public void editStaff(Staff model) {
//查询原始数据
String id=model.getId();
Staff findById = staffDao.findById(id);
//利用hibernate快照机制编辑修改相应数据
findById.setName(model.getName());
findById.setTelephone(model.getTelephone());
findById.setStandard(model.getStandard());
findById.setStation(model.getStation());
findById.setHaspda(model.getHaspda());
以上就是框架 day49 BOS项目练习3(修复window控件BUG,添加/修改/作废取派员,datagrid使用,分页查询(DetachedCriteria离线),formatter函数)的全文介绍,希望对您学习和使用程序编程有所帮助.
这些内容可能对你也有帮助
更多可查看其它编程列表页。
猜您也会喜欢这些文章

我要回帖

更多关于 物流系统规划与设计 的文章

 

随机推荐