工作中常用代码段

/*--*--*--*--*--*--*--*--*--*--*--*--*--*--*-I'm a gorgeous dividing line-*--*--*--*--*--*--*--*--*--*--*--*--*--*--*--*--*--*/

StringBuffer sqlStr = new StringBuffer();
// save users sql
sqlStr.append("INSERT INTO blog_users (userid,email,password,imageid,description,startotal,createdate,status) VALUES (?,?,?,?,'普通用戶',100,GETDATE(),0);");
// save userinfo sql
sqlStr.append("INSERT INTO blog_usersinfo (userid,gender,nickname,lastlogintime,status) VALUES (?,?,?,GETDATE(),0);");
List<Object[]> resultObj = new ArrayList<Object[]>();
// users data
resultObj.add(new Object[] { blogUsersVO.getUserid(), blogUsersVO.getEmail(), blogUsersVO.getPassword(), blogUsersVO.getImageid(), blogUsersVO.getUserid(), blogUsersVO.getGender(), blogUsersVO.getNickname() });

int[] rows = super.batchAddDeleteUpdate(new ParamVO(sqlStr.toString(), resultObj));

return rows;

/*--*--*--*--*--*--*--*--*--*--*--*--*--*--*-I'm a gorgeous dividing line-*--*--*--*--*--*--*--*--*--*--*--*--*--*--*--*--*--*/


private static final SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:sss");
sdf.format(new Date())

/*==================================================技术============================================================================= */
--生成ID
WAITFOR DELAY '00:00:00:001';

select LOWER(replace(newid(),'-','');
SELECT   cast((substring(replace(replace(replace(replace(convert(varchar, getdate(), 121),'-',''),':',''),'.',''),' ',''),3,15)+right('00'+cast(cast(rand()*1000 as int) as varchar(10)),3)) as varchar(255))
	
--修改字段值
update table_name set col_name1=xxxx where col_name2='xxx';
table_name表名,col_name1要修改的字段名 col_name2做为条件的字段名,xxx值。

//删除字段
alter table 表名 drop column 字段名;

//修改字段的数据类型
alter table <表名> alter column <字段名> 新类型名(长度)

//比如修改 t1表的a字段为文本类型
alter table t1 alter column a text(50)

//设置主键
alter table 表名
add [constraint 主键约束名] primary key(列名)


//数据库加字段:
alter table cmp_auth add phone varchar(64);
//加默认值
ALTER TABLE cus_loadmsgstatus ADD isLoadmatch INT DEFAULT 0 NOT NULL;


//查询外键
select name from  sys.foreign_key_columns f join sys.objects o on f.constraint_object_id=o.object_id 
where f.parent_object_id=object_id('cus_returned');

--删除外键
--DELETE CONSTRAINT FK_freecompanytype_freetype_id;

/*外键约束:  明细 外键  引用 主表 主键*/
--海关退运信息表===海关退运明细信息表
alter table cus_returneditems 
			add constraint FK_cusreturneditems _cusreturned_id  foreign key (returnedid) references cus_returned (id);


//重置表自增长:1开始
DBCC CHECKIDENT ('sys_menu',reseed,0) 

//删除表中的所有的数据的同时,将自动增长清零
truncate table TableName

// 删除原表数据,并重置自增列
truncate table tablename  --truncate方式也可以重置自增字段

//重置表的自增字段,保留数据(表名加单引号)
DBCC CHECKIDENT (tablename,reseed,0) 

//设置允许显式插入自增列
SET IDENTITY_INSERT tablename  ON

//当然插入完毕记得要设置不允许显式插入自增列
SET IDENTITY_INSERT tablename  Off

//获取最大width
var vWidth=$(window).width();

//查询外键
select name from  sys.foreign_key_columns f join sys.objects o on f.constraint_object_id=o.object_id 
where f.parent_object_id=object_id('表名')

//删除外键
alter table 表名 drop constraint 外键约束名

//mapper 不等于
<![CDATA[
    where ladingno in (select ladingno from wh_deliver where id in(${records}))  and isdelete <> '-1'
]]>

--IN条件查询
records=StringUtil.getGenerateSplit(records);

//默认值
"back": { "def":" and d.isdelete!='-1' " }

 

//默认值
"back": { "def":" and d.isdelete!='-1' " }

/*==================================================tomcat============================================================================= */
//Tomcat:终结端口:
netstat -ano | findstr 8080

taskkill /pid 8080 /f



//字符转译  jsp jq
function URLencode(sStr)   
{  
    return escape(sStr).replace(/\+/g, "%2B").replace(/\"/g,"%22").replace(/\"/g, "%27").replace(/\//g,"%2F");  
} 

vTableFilePath=URLencode(vTableFilePath);
vOutFilePath=URLencode(vOutFilePath);
//解析编码 
var vStr1= unescape(vTableFilePath);
var vStr2= unescape(vOutFilePath);

//java
//解析编码回归 地址样式  
outFilePath=URLDecoder.decode(outFilePath,"UTF-8");



/*=========================== (表单值操作)jsp select下拉============================================================================*/
//select
{  display: "类别 ", name: "CategoryID", newline: true, type: "select", dictionary: "001|002|003|004",
    afterContent: "<div style="margin-right:10px;margin-left:6px;color:red;float:left;">采用了dictionary属性<div>"
},

onSelected:function(value,text){selectChangestypeByIssendmessage(value,text);}

{ display: "流程版本", name: "ver", newline: false, type: "text" ,options: {readonly:(actionType!="NEW")}},


//移除div工具条
$("div[toolbarid='item-1']").remove();
fieldindex="1"
//隐藏和显示下拉
vDataForm.setVisible("transfercompcode",false);

//禁用或启用
vDataForm.setEnabled(["prodid"], false);

//表单下拉框 设置 下拉值集合
liger.get('expresscode').setData(edata);

//表单设置默认值
vDataForm.setData({"issendmessage":"Y"});

//表单获取值
vDataForm.getData().compcode

//div 隐藏 与 显示
$("#btnSave").hide();
$("#btnEntry").show();

// 强力重置表单事件
$("#dataForm").bind(wtdex.reset_form,function (event) {
	wtdex_form.resetForm(vDataForm);
});

//controller:ps  String字符串转Map 对象
ps=decoderToJson(ps);
Map<String, ?> map = objectMapper.readValue(ps, Map.class);

//定义js对象
var obj = new Object();
obj.name="userObject";


/*===========================(转译)查询配置 条件===============================================================================*/
/*js查询配置条件数据下拉框*/
var vDatasMuti = wtdex_func.batchListBySqlCode("select_fee_price,select_feecalculate_CCF,select_fee_calculate_type");
var feepriceList = vDatasMuti["select_fee_price"];
var vdata = wtdex_func.listBySqlCode("select_warehouse_with_privilege");

//录入人员
left join sys_operator s on f.creator = s.id
//更新人员
left join sys_operator w on f.modifier = w.id     

//sql时间转换格式化:
convert(varchar(100), f.modifidate, 20) as modifidate,

//解析状态:
dbo.fn_param_convert(r.status,'CUS_CUSTOMS_STATUS','mname') as status,

//标题:
{  "code": "feecode", "title": "费用代码", "width": 130 },

//条件
{
"title": "费用代码",
"name": "feecode",
"andor": "and",
"opertype": "eq",
"condname": "f.feecode",
"type": "V",
"vtype": "text",
"newline": false,
"value": [
	"feecode"
]
},
{
"title": "费用类型",
"name": "feetype",
"andor": "and",
"opertype": "eq",
"condname": "f.feetype",
"type": "V",
"vtype": "select",
"newline": false,
"value": [
	"feetype"
],
"options": {
	"sqlcode": "select_fee_nametype_feetype"
}
},
{
"title": "提交备案时间", 
"name":"applydate", 
"andor": "and", 
"opertype": "datebetween", 
"condname": "applydate",
"type": "D", 
"vtype":"date97",
"newline":false,
"value": [ 
"applydateBegin",
"applydateEnd" 
]
 } ,

 

--手动加条件1
example.or()
	.eq(CommonExample.AND, "compcode", CommonExample.V, paramVo.getCompcode())
	.gt(CommonExample.AND, "paytime", CommonExample.D, paramVo.getPaytimeBeginStr())
	.lt(CommonExample.AND, "paytime", CommonExample.D, paramVo.getPaytimeEndStr());

--新加条件,不累加在 上同 条件后
CommonExample example1 = new CommonExample();
Criteria criteria1 = example1.createCriteria();
criteria1.eq(

 


/*=======================================jq 数字验证=========================================================================================*/

/**数字验证 (函数isNaN 验证数字)*/
	function validateTextNumber() {
		var i = $("#dataForm input[name=rate]").val();
		if (isNaN(i)) {
			$("#dataForm input[name=rate]").val("");
			$("#dataForm #afterContent").html(" 请输入数字!");
			return;
		}
	}

/**数字验证(正则表达式验证数字) */
var reg = /^(([1-9]+[0-9]*.{1}[0-9]+)|([0].{1}[1-9]+[0-9]*)|([1-9][0-9]*)|([0][.][0-9]+[1-9]*|[0]))$/;
if(!reg.test($("[name="d_feefjf"]").val())){
	$.ligerDialog.warn("请输入数字!");
	return;
}

//校验 航班号/车牌号 格式必须为 航班号/年月日
/^ 开头
$/ 结尾

//数字 字母 汉字 +必须至少有  
var flightno = /^[A-Za-z0-9\u4e00-\u9fa5]+[\/]([\d{4}d{0,2}d{0,2}]{8})+$/;  

var flightno = /^[0-9]+[\/]([\d{4}d{0,2}d{0,2}]{8})+$/;  
//var flightno = new RegExp("^[0-9]+[\/]([\d{4}d{0,2}d{0,2}]{8})+$");  
  if (!flightno.test(data.flightno)) {
  	$.ligerDialog.warn("航班号/车牌号 格式必须:航班号(数字)/年月日(数字 且是8位数字);<br/>如:10001/20160711 ","校验不通过","",{width:500});
      return;  
  }


/**数字验证 */
	function validateTextNumber() {
		var i = $("#dataForm input[name=rate]").val();
		if (isNaN(i)) {
			$("#dataForm input[name=rate]").val("");
			$("#dataForm #afterContent").html(" 请输入数字!");
			return;
		}else{
			$("#dataForm #afterContent").html("");
		}
	}


/* 刷新页面 */
false 不保存缓存
true  保存上次缓存

location.reload(false);

 

/* ===========================================2015/9/12 view 详情配置(Controller)================================================*/


	Map<String,Object> map = ordJobConfigMgrService.viewBySql(id, getCurrenUserVO(),getProjectCode());

  model.addAttribute("modelFromServer", toJsonStr(map));


	@Override
	public Map<String, Object> viewBySql(Long id, UserVO currenUserVO, String projectCode) throws Exception {
		// TODO Auto-generated method stub
		Map<String, Object> map=new HashMap<String, Object>();
		map.put("id", id);
		map.put("paramType", "page_ordjobconfig_list");
		
		List<Map<String, ?>> list=toolsService.listByCondition(map,currenUserVO,projectCode);
		
		if(ValueUtil.isEmpty(list)){
        	throw new Exception("数据不存在");
        }
        if(list.size()>1){
        	throw new Exception("数据异常");
        }
		
        @SuppressWarnings("unchecked")
        Map<String, Object> mapItems=(Map<String, Object>) list.get(0);

        
		return mapItems;
	}
/*==================================================list page 配置 ====================================================================*/

 

JSP:

//配置查询标题 和 条件
var vTitles = '${titles}';
var vParamType = '${paramType}';
// 初始化 查询参数
var vPs=eval('(${empty ps?"{}":ps})');


var vConditions = '${conditions}';
var vFields=[ { name: "paramType", value: vParamType, type: "hidden" }];

wtdex_ui.createVFields(vFields,vConditions);


// 创建表单
var vDataForm=$("#dataForm").ligerForm({
	inputWidth: 150, labelWidth: 100, space: 20,
	fields: vFields
});

vDataForm.setData(vPs);
vDataForm.setData({"paramType":vParamType}); //默认条件

//设置标题 函数
wtdex_ui.createVColumns(vcolumns,vTitles);

//grid
parms:function () {
	//return $("#dataForm").serializeArray();
	return {"ps":JSON.stringify($("#dataForm").serializeObject())};
},

//controller:=============================================================================================================================
===========================================================================================================================================
//继承:
extends CustomQueryController

@Autowired
private ToolsService toolsService;

@Autowired
@Qualifier("cacheService")
private CacheService cacheService;

@RequestMapping(value = "/master/bbcorder/list")
public String list(Model model) throws Exception {
	String gcode = "page_bbc_order_mgr_list";
	super.tolist(model, gcode);
	String key = "page_condition_bbcorder_" + super.getCurrenUserVO().getUserno();
	model.addAttribute("ps", cacheService.get(key));
	return "/front/module/master/ordorder/bbcordorder_list";
}

@RequestMapping(value = "/master/bbcorder/pageList", method = RequestMethod.POST)
@SuppressWarnings("unchecked")
@ResponseBody
public Page<Map<String, ?>> pageList(@RequestParam("ps") String ps, QueryParameter queryParameter) throws Exception {
	String key = "page_condition_bbcorder_" + super.getCurrenUserVO().getUserno();
	cacheService.put(key, ps, 3600l);
	Map<String, ?> map = objectMapper.readValue(ps, Map.class);
	Page<Map<String, ?>> page = toolsService.pageList(map, queryParameter, getCurrenUserVO(), getProjectCode());
	return page;
}

 

/*======================================================2015/9/14=====================================================================*/
//下拉框加 :重复验证事件
	{ display: "是否本币", name: "islocal", newline: false, type: "select", 
	options:{data:vIslocalList,valueField:"code",textField:"desc",selectBoxHeight:150, 
			onBeforeSelect:function(value,text){validateIslocal(value,text);}
		} 
	},

//text输入框:事件支持editor
	{ display: "币种代码", name: "code", newline: false, type: "text",
		editor: { onBlur: function(){validateText();}  },
		afterContent: "<span id="afterContent" style="margin-right:0px;margin-left:px;color:red;"></span>"
	},



//ajax-转换对象:

	var vdata = $("#dataForm").serializeArray();   //序列化
	var vdata = eval("(" + data + ")");  //转对象
	var aToStr=JSON.stringify(a);    //转string
	
	console.debug(vdata);
	console.log(vdata);
	
//后台值转:
	//GsonUtil.toString(data)		toJsonStr(map);
	contentType: "application/x-www-form-urlencoded; charset=utf-8", 

//中文乱码:
	控制器:注解: produces = "text/html;charset=utf-8"



/*
	sql.url=jdbc:sqlserver://192.168.10.208:1433;databaseName=wtdex;
	sql.username=d4e353Rc2k41Z8bXc4gc3=ee25e320dd72f6bfd0eca511aefac05a11c379cf62a6dc276fZ
	sql.password=Y8eWf9J18j44Qe7D4cE5fyf9Mcbwe9=e4=ae1b6e70a958a3306edce2d0dc4ebeeca8235c4c3dZ
*/


/* ==============================================ligerUI的Grid使用 || dialog 弹窗================================================================== */
//清空grid
vGrid.reload({});   

//grid数据加载
vGrid.loadData({"result":data});

//js数组使用
pickListData=[];
pickListData.push(obj);


//选中和不选复选框
this.unselect(rowid);
this.select(rowid);

//获取grid的全数据
var vdatas=vCheckedGrid.rows;

//grid添加数据
var vdatas=vCheckedGrid.addRow;

//表单获取值
vDataForm.getData().compcode

//截取掉最后一个
var vPickName = pickListName.substr(0,pickListName.length - 1);

//列隐藏
{"title":"序号",code:"id",width:120,hide:false},

//获取自动生成行号
{display: '序号', isAllowHide: false,width:80,
	render: function (row) {
		return row.__index+1;
	}
},

//弹出窗体
/* begin */
if (!dialog) {
	//打开 弹出框 
	dialog = $.ligerDialog.open({
		height : 500,
		width : 700,
		target : $("#dialog"),
		show : true,
		title : "选择下环节处理人",
		isResize : false,
		buttons : [ {
			text : "确定",
			onclick : function() {
				dialog.hide();
			},
			{
			text : "关闭",
			onclick : function() {
				dialog.close();
			}
			}
		} ]
	});
} else {
	dialog.show();
}
/* end */

/* ====================================遮盖层 uploadify 使用================================================================== */
/*遮盖层*/
<link rel="stylesheet" type="text/css" href="${url_wtdex_resources}/resources/js/uploadify/uploadify.css" />
<script type="text/javascript" src="${url_wtdex_resources}/resources/js/uploadify/jquery.uploadify.js"><script>

// 打开 && 关闭遮盖层
async:false,
默认是true:异步,
 $("body").showLoading();
 $("body").hideLoading(); 

 

	$.ligerDialog.waitting('正在上传中,请稍候...');  //开启等待
	$.ligerDialog.closeWaitting();	//关闭

/** 样式 **/
 <style>
.loading-indicator {
	height: 80px;
	width: 80px;
	background: url("${url_wtdex_resources}/resources/js/showLoading/images/loading-bars.gif");  
	/* background: url( "${url_wtdex_resources}/resources/js/showLoading/images/loading-bars.gif" ); */ 
	background-repeat: no-repeat;
	background-position: center center;
}

.loading-indicator-overlay {
	background-color: #FFFFFF;
	opacity: 0.6;
	filter: alpha(opacity = 60);
}
<style>


/* ====================================ajax.post 使用================================================================== */
$.post(ctx+"/fee/ordfeecompare/calOrdCompareMonthCompPb",{"ps":JSON.stringify($("#dataForm_3").serializeObject())},
		function(data){
		if (data&&(wtdex.Y==data[wtdex.resultCode])) {
			$.ligerDialog.success("程序执行成功!","",function () {
				 $("body").hideLoading(); 
			});
		} else {
			 $("body").hideLoading(); 
			smc_lib.handleException(data);
		}
	}
); 


function test_ajax(){
   $.ajax(
   {
      type:"GET",//通常会用到两种:GET,POST。默认是:GET
      url:"a.php",//(默认: 当前页地址) 发送请求的地址
      dataType:"html",//预期服务器返回的数据类型。
      beforeSend:beforeSend, //发送请求
      success:callback, //请求成功、
      error:error,//请求出错 
      complete:complete//请求完成
   });
}
function error(XMLHttpRequest, textStatus, errorThrown){
  // 通常情况下textStatus和errorThown只有其中一个有值 
  $("#showResult").append("<div>请求出错啦!</div>");
}
function beforeSend(XMLHttpRequest){
  $("#showResult").append("<div><img src='loading.gif' /><div>");
}
function complete(XMLHttpRequest, textStatus){
  $("#showResult").remove();
}
function callback(msg){
  $("#showResult").append("<div>请求成功,回传数:"+msg+"<div>");
}

/*=====================================导出excel===================================================================*/

//建议不采用
String path = "D:\\excel\\test.xlsx";
String[] columnName = { "id", "name", "age" };
String[] columnTitle = { "编号", "姓名", "年龄" };
List datas = new ArrayList();
Map data = null;
String name = "Jack";
for (int i = 1; i <= 36; ++i) {
	data = new HashMap();
	data.put("id", ValueUtil.toStr(Integer.valueOf(i)));
	data.put("name", name + i);
	data.put("age", ValueUtil.toStr(Integer.valueOf(i + 10)));
	datas.add(data);
}
createExcel(path, datas, columnName, columnTitle);


方法eg:/master/orddangercmp/importexport



/*方法二:*/

<form id="exportForm" name="exportForm" action="${ctx}/tools/export/exportBySqlResponse"  method="post" target="_blank" style="margin:0px 0px 0px 0px;">
	<input type="hidden" id="vPs" name="ps"> 
//</form>

var data = $("#dataForm").serializeObject();
			
if(!data.compcode == ''){
	jQuery.ligerDialog.confirm('将导出此企业所有数据,是否继续?', function (confirm) {
        if (confirm){
        	data=$.extend($("#dataForm").serializeObject(),{"gcode":'page_bbcorder_export'});
			$("#vPs").val(JSON.stringify(data));
			$("#exportForm").submit();
        }
	});
} 


/*方法三:(导出勾选数据)*/
--div
<!-- 导出form -->
<form id="exportForm" name="exportForm" action="${ctx}/master/ordmessageswitching/exportdata"  method="post" target="_blank" style="margin:0px 0px 0px 0px;">
	<input type="hidden" id="vPs" name="ps"> 
<form>	

--js
// 导出 事件
$("#dataForm").bind(wtdex.export_event,function (event) {
	var vSelected=$("#mainGrid").ligerGrid("getSelectedRows");
	if (vSelected.length==0) {
		$.ligerDialog.warn('请至少勾选一条数据记录');
		return;
	}
	$("#vPs").val(JSON.stringify(vSelected));
	$("#exportForm").submit();
	$("#dataForm").trigger(wtdex.query_event);
	//exports(vSelected);
});

//controller
@RequestMapping(value = "/master/ordmessageswitching/exportdata", method = RequestMethod.POST)
@ResponseBody
public InvokeResultVO<String> exportdata(@RequestParam("ps") String ps,HttpServletRequest request,HttpServletResponse response) throws Exception {
	List<Map<String, Object>> list = GsonUtil.toListMap(ps);
	return ordMessageSwitchingMgrService.exportdata(response,list);
}

 

// OrdMessageSwitchingMgrServiceImpl
//exportdata  

/*===================================== 下载文件 ===================================================================*/
@RequestMapping(value = "/warehousing/whstore/downloadFile", method = RequestMethod.POST)
@ResponseBody
public InvokeResultVO<List<WhStoregoodsVO>> uploadFile(@RequestParam("fileid") String fileid) throws Exception {

	InvokeResultVO<List<WhStoregoodsVO>> resultVO = null;

	if (!ValueUtil.isEmpty(fileid)) {
		SysPubfileVO syspubfilevo = sysPubfileMgrService.getSysPubfileVO(fileid);
		InputStream input = sysPubfileMgrService.getFileInputStream(fileid);
		if (!ValueUtil.isEmpty(syspubfilevo) && null != input) {
			if (null != input) {
			}
		}
	} else {
		resultVO = new InvokeResultVO<List<WhStoregoodsVO>>();
		resultVO.failed("导入失败");
	}
	return resultVO;
}

 



/*==========================================储存过程游标用法=============================================================*/
create proc cursorTest		--创建储存过程
@_id int=0,
@_name varchar(50)=""
as		--创建游标@cursor
declare @cursor cursor		--设定游标欲操作的数据集
set @cursor=cursor for
select _id,_name from users
open @cursor		--打开游标
fetch next from @cursor into @_id,@_name		--移动游标指向到第一条数据,提取第一条数据存放在变量中
while(@@fetch_status=0)begin	--如果上一次操作成功则继续循环
print @_name		--操作提出的数据
fetch next from @cursor into @_id,@_name	--继续提下一行
end
close @cursor--关闭游标
deallocate @cursor--删除游标

/*==========================================JSONFORMat 格式化 java=============================================================*/

 


/**
 * 格式化
 * @param jsonStr
 */
public static String formatJson(String jsonStr) {
    if (null == jsonStr || "".equals(jsonStr)) return "";
    StringBuilder sb = new StringBuilder();
    char last = '\0';
    char current = '\0';
    int indent = 0;
    for (int i = 0; i < jsonStr.length(); i++) {
        last = current;
        current = jsonStr.charAt(i);
        switch (current) {
            case '{':
            case '[':
                sb.append(current);
                sb.append('\n');
                indent++;
                addIndentBlank(sb, indent);
                break;
            case '}':
            case ']':
                sb.append('\n');
                indent--;
                addIndentBlank(sb, indent);
                sb.append(current);
                break;
            case ',':
                sb.append(current);
                if (last != '\\') {
                    sb.append('\n');
                    addIndentBlank(sb, indent);
                }
                break;
            default:
                sb.append(current);
        }
    }

    return sb.toString();
}

/**
 * 添加space
 */
private static void addIndentBlank(StringBuilder sb, int indent) {
    for (int i = 0; i < indent; i++) {
        sb.append('\t');
    }
}


/*==========================================JSON TO Map java  【jackson】=============================================================*/

 Map<String, Map<String, ?>> maps = objectMapper.readValue(datalistsrc, Map.class);


 /*=======================================JSON  校验 非空验证======================================================================*/
//js非空验证
 var vResultVO=wtdex_form.validForm($("#dataForm"),"customs.cusstockallocation.cus_stockallocation");
			
if (!vResultVO.sucFlag) {
	var messageHtml="<div>"
	$.each(vResultVO.items,function (i,e){
		messageHtml+=e.title+e.message+"</br>"
	});
	messageHtml+="</div>";
	$.ligerDialog.warn(messageHtml,"数据验证不通过","",{width:600});
	return ;
}

//校验明细 begin
var vValidConfig=wtdex_form.loadValidateConfig("fee.feeexpresscompanyitems.fee_express_companyitems");
	
for (var i=0;i<vData.companyitems.length;i++) {
	var vItem=vData.companyitems[i];
	var vResultVO=wtdex_valid.validObject(vItem,vValidConfig);
	
	if (!vResultVO.sucFlag) {
		var vMessage="<div>第"+(i+1)+"行 ";
		$.each(vResultVO.items,function (i,e) {
			vMessage+=e.title+" "+e.message+"; ";
		});
		vMessage+="</div>";
		$.ligerDialog.warn(vMessage,"数据验证不通过",undefined,{width:850});
		return ;
	}
}
//校验明细 end


//java非空验证
ValidateResultVO validVo = ValidateUtil.validObject(item, "customs.cusstockallocation.cus_stockallocationgoods");

if (!validVo.isSucFlag()) {
	throw new BusinessException("第" + (i + 1) + "行商品 " + ValidateUtil.toMessage(validVo, ";"));
}
/*=======================================存储过程执行======================================================================*/
---*---*---*---*---*---*---*---*---*---*---*---*---*---*---*---*---*---*---*---
--商品库存修改存储过程执行

BEGIN

DECLARE	@return_value int,
@p_ReturnCode INT,
@p_ReturnInfo varchar(255);

EXEC	@return_value = [dbo].[sp_wh_StoreGoods]
@p_StoreID = '16033023314000029',
@p_ReturnCode = @p_ReturnCode OUTPUT,
@p_ReturnInfo = @p_ReturnInfo OUTPUT

SELECT	@p_ReturnCode as N'@p_ReturnCode',@p_ReturnInfo as N'@p_ReturnInfo'

SELECT	'Return Value' = @return_value

END

---*---*---*---*---*---*---*---*---*---*---*---*---*---*---*---*---*---*---*---
--确认进境存储过程执行

BEGIN

DECLARE	@return_value int,
		@oc_code int,
		@oc_desc varchar(255)

EXEC	@return_value = [dbo].[sp_ord_entry]
		@ic_orderid = N'16051111095000089',
		@in_userid = 0,
		@oc_code = @oc_code OUTPUT,
		@oc_desc = @oc_desc OUTPUT

SELECT	@oc_code as N'@oc_code',
		@oc_desc as N'@oc_desc'

SELECT	'Return Value' = @return_value

END

---*---*---*---*---*---*---*---*---*---*---*---*---*---*---*---*---*---*---*---

//修改库存储存过程 SMC =================== sp_wh_StoreGoods
/** 调用更新库存的存储过程 **/
String id = whstoreVO.getId();
Map<String, Object> paramMap = new HashMap<String, Object>();
paramMap.put("id", id);
whStoreCustomMapper.updateStock(paramMap);
int returnCode = (int) paramMap.get("pReturnCode");


// 存储过程游标循环执行

---*---*---*---*---*---*---*---*---*---*---*---*---*---*---*---*---*---*---*---
--bc/bbc  校验海关商品备案信息

select @v_busimode = busimode from ord_order_cache where orderid=@p_orderid;

--校验海关备案信息 拿取proid
IF(@v_busimode='BBC' OR @v_busimode = 'BC') BEGIN

--定义查询游标shimawddss
	Declare cur_proid Cursor For
		select i.prodid from ord_orderitem_cache  i where i.orderid = @p_orderid
	OPEN cur_proid
		FETCH next From cur_proid INTO @cur_prodid

		WHILE ( @@FETCH_STATUS = 0  ) BEGIN

		--写业务代码@cur_prodid
		--n次操作
		print @cur_prodid;
		if not exists(select * from cus_product where prodid=@cur_prodid)
		BEGIN
		set @return_str = @return_str+@cur_prodid+',';
		set @v_results=@v_results+1;
		end;
			
		FETCH next From cur_proid INTO @cur_prodid

		END;
	CLOSE cur_proid; --关闭游标	

	DEALLOCATE cur_proid; -- 释放游标
	

	IF @v_results > 0 BEGIN
		SET @p_returncode=2;
		SET @p_returninfo='【'+@return_str+'】以上WTD商品号:没有海关备案信息';
		update ord_order_cache WITH (ROWLOCK)
		set status='3',statusdesc=@p_returninfo
		where orderid = @p_orderid;
		RETURN 0;
	END;
END

---*---*---*---*---*---*---*---*---*---*---*---*---*---*---*---*---*---*---*------*---*---*---*---*---*---*---*---*---*---*---*---*---*---*---*---*---*---*---

优先级:NOT > AND > OR

---*---*---*---*---*---*---*---*---*---*---*---*---*---*---*---*---*---*---*------*---*---*---*---*---*---*---*---*---*---*---*---*---*---*---*---*---*---*---


 /*=======================================XML Mybatis 循环处理条件======================================================================*/
where c.compcode=#{compcode} AND i.warehousecode=#{warehousecode}
<if test="array != null and array != ''">
	AND p.outprodcode in
	<foreach collection="array" item="item" open="(" separator="," close=")">
		#{item}
	</foreach>
</if>


<!-- 批量插入 -->
<insert id="batchInsert"  parameterType="java.util.List">
	insert into ord_payease
	(
		id,rcvname,rcvaddr,
		rcvtel,rcvpost,amount,ymd,orderstatus,
		ordername,idtype,idnumber,idname,merdata11,merdata12,handlestatus,
		status,importtime,creator
	)
	values
	<foreach collection="list" item="item" index="index" separator="," >  
	(	
		#{item.id},#{item.rcvname},#{item.rcvaddr},
		#{item.rcvtel},#{item.rcvpost},#{item.amount},#{item.ymd},#{item.orderstatus},
		#{item.ordername},#{item.idtype},#{item.idnumber},#{item.idname},#{item.merdata11},#{item.merdata12},#{item.handlestatus},
		#{item.status},#{item.importtime},#{item.creator}
	)
	</foreach>
</insert>

/*=======================================js 日期判断(校验日期大小)======================================================================*/
function AddDays(date,days){ 
	if(date==""){
		return;
	}
	var nd = new Date(date.substring(0,10)); 
	nd = nd.valueOf(); 
	nd = nd + days * 24 * 60 * 60 * 1000;  
	nd = new Date(nd);  
	var y = nd.getFullYear();  
	var m = nd.getMonth()+1;  
	var d = nd.getDate();  
	if(m <= 9) m = "0"+m;  
	if(d <= 9) d = "0"+d;   
	var cdate = y+"-"+m+"-"+d;  
	return cdate;
}  
	
function CompareDate(startdate,enddate){
	var start = new Date(startdate.substring(0,10)); 
	start = start.valueOf();
	var end = new Date(enddate.substring(0,10)); 
	end = end.valueOf();
	if(start>end){
		return true;
	}
	return false;
}


//调用
if(CompareDate(vData.offereffectivedateStr,vData.offerexpirationdateStr)){
	$.ligerDialog.warn('报价生效日期不能小于报价失效日期');
	return;
}
			
		
		

/*=======================================grid 更加下拉更新grid其他值======================================================================*/		
		
		,
		height:200,
		enabledEdit: true, usePager: false, isScroll: false, onAfterEdit: function(e) {
			vIntervalcostsettingGrid.updateCell('feecode', getFeeCode(e.record.feename,vfeetypeDate), e.record);
		}


/*========================================查询权限 sql 条件配置=====================================================================*/		
		

	"role": {
		"客服操作员": "and o.compcode in (select compcode from cmp_user_right where userid=#{userid})"
	},
	"project": {
		"CMC": "and o.compcode =#{compcode}"
	},


/*========================================js节点获取操作=====================================================================*/		


function dom() {

var s= document.getElementById("test");

del_ff(s);    //清理空格

var chils= s.childNodes;  //得到s的全部子节点

var par=s.parentNode;   //得到s的父节点

var ns=s.nextSbiling;   //获得s的下一个兄弟节点

var ps=s.previousSbiling;  //得到s的上一个兄弟节点

var fc=s.firstChild;   //获得s的第一个子节点

var lc=s.lastChile;   //获得s的最后一个子节点

}



下面介绍JQUERY的父,子,兄弟节点查找方法

jQuery.parent(expr)  找父亲节点,可以传入expr进行过滤,比如$("span").parent()或者$("span").parent(".class")

jQuery.parents(expr),类似于jQuery.parents(expr),但是是查找所有祖先元素,不限于父元素

jQuery.children(expr).返回所有子节点,这个方法只会返回直接的孩子节点,不会返回所有的子孙节点

jQuery.contents(),返回下面的所有内容,包括节点和文本。这个方法和children()的区别就在于,包括空白文本,也会被作为一个

jQuery对象返回,children()则只会返回节点

jQuery.prev(),返回上一个兄弟节点,不是所有的兄弟节点

jQuery.prevAll(),返回所有之前的兄弟节点

jQuery.next(),返回下一个兄弟节点,不是所有的兄弟节点

jQuery.nextAll(),返回所有之后的兄弟节点

jQuery.siblings(),返回兄弟姐妹节点,不分前后

jQuery.find(expr),跟jQuery.filter(expr)完全不一样。jQuery.filter()是从初始的jQuery对象集合中筛选出一部分,而jQuery.find()

的返回结果,不会有初始集合中的内容,比如$("p"),find("span"),是从<p>元素开始找<span>,等同于$("p span")


//****************************************************获取当前项目路径
Properties p = PropertiesUtil.readConfig("/web-param.properties");

String path = (String) p.get("WEB_PARAM_URL_RESOURCES");
//String path = request.getSession().getServletContext().getRealPath(tom_path);
//path = path.replace("\\blog-webapp-web", " ");
System.err.println(path+"/template/headPortrait/a2.jpg");

sysUsersVO.setImageUrl(path+"/template/headPortrait/a2.jpg");


//xml识别重复字段
@XmlRootElement(name = "extendProps")


/*========================================layui=====================================================================*/		
//操作指南提示
var load_btn=$('#loadid-btn');
load_btn.hover(function (e) {
	var tips = layer.tips('此查询根据装载单号查询对应配置单记录(有效查询条件:装载单号)',load_btn, {
		tips: [3, '#009688'],
	});
}, function () {
	layer.closeAll('tips');
})

//按钮
<button class="layui-btn  layui-btn-small do-action" data-type="f_queryGrid" ><i class="fa fa-search"></i> 查询</button>

//按钮操作事件
$(document).on('click','.do-action', function(){
	var othis = $(this), type = othis.data('type');
	gather[type] ? gather[type].call(this,othis) : '';
});

/**操作方法**/
gather={
	f_queryByLoadid:function(e){
		var loaddata=JSON.stringify($("#loadForm").serializeObject());
		console.log(loaddata);
		
		if(!loaddata.loadid){
			layer.msg('请输入装载单号查询');
			return;
		}
		
		layer.load(2);
		smc_lib.postData(ctx+'/business/busiloadmatch/queryByloadid',loaddata,function (data) {
			layer.msg(data.resultDesc, {icon: 1},function (index) { 
				gather.f_queryGrid();
				layer.closeAll('loading');
			});
		});
		layer.closeAll('loading');
	}
	//重置表单
	,f_resetForm:function(){
		wtdex_form.resetForm(vDataForm);	//list条件查询表单重置
	}
	//查询
	,f_queryGrid:function(){
		vGrid.reload();
	}
}

//esc关闭窗口
$(document).on('keydown', function (e) {
   if (e.keyCode == 27) layer.closeAll();
});

 

转载于:https://my.oschina.net/u/3149078/blog/1036423

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值