From 2195b8bf25a66bf617379ed3d47884084eec8b33 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=AD=A3=E5=9C=A3=E5=8D=8E?= <852955+jishenghua@users.noreply.gitee.com> Date: Sun, 10 Mar 2019 20:06:11 +0800 Subject: [PATCH] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E8=AE=A2=E5=8D=95=E8=BD=AC?= =?UTF-8?q?=E9=87=87=E8=B4=AD=E5=92=8C=E9=94=80=E5=94=AE=E7=9A=84=E5=8A=9F?= =?UTF-8?q?=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- erp_web/js/pages/materials/bill_detail.js | 1 + erp_web/js/pages/materials/in_out.js | 399 +- erp_web/pages/materials/bill_detail.html | 37 +- erp_web/pages/materials/purchase_in_list.html | 19 +- erp_web/pages/materials/sale_back_list.html | 18 +- erp_web/pages/materials/sale_orders_list.html | 24 +- erp_web/pages/materials/sale_out_list.html | 33 +- sql/jsh_erp.sql | 10 +- sql/华夏ERP数据库设计汇总.xlsx | Bin 81764 -> 81801 bytes .../jsh/erp/constants/BusinessConstants.java | 6 + .../erp/controller/DepotHeadController.java | 14 +- .../erp/datasource/entities/DepotHead.java | 1834 +++---- .../datasource/entities/DepotHeadExample.java | 4286 +++++++++-------- .../datasource/mappers/DepotHeadMapper.java | 197 +- .../erp/datasource/vo/DepotHeadVo4List.java | 16 +- .../service/depotHead/DepotHeadService.java | 14 +- .../resources/mapper_xml/DepotHeadMapper.xml | 38 +- .../mapper_xml/DepotHeadMapperEx.xml | 9 +- 18 files changed, 3596 insertions(+), 3359 deletions(-) diff --git a/erp_web/js/pages/materials/bill_detail.js b/erp_web/js/pages/materials/bill_detail.js index a533bd24..77f4892f 100644 --- a/erp_web/js/pages/materials/bill_detail.js +++ b/erp_web/js/pages/materials/bill_detail.js @@ -210,6 +210,7 @@ $("#bill .OrganIdShow").text(data.organName); $("#bill .OperTimeShow").text(data.opertimeStr); $("#bill .NumberShow").text(data.number); + $("#bill .LinkNumberShow").text(data.linknumber? data.linknumber : ""); $("#bill .RemarkShow").text(data.remark); $("#bill .DiscountShow").text(data.discount); $("#bill .DiscountMoneyShow").text(data.discountmoney); diff --git a/erp_web/js/pages/materials/in_out.js b/erp_web/js/pages/materials/in_out.js index cf9395e3..430b802f 100644 --- a/erp_web/js/pages/materials/in_out.js +++ b/erp_web/js/pages/materials/in_out.js @@ -1,5 +1,6 @@ //初始化界面 var kid = sessionStorage.getItem("userId"); + var pageType = getUrlParam('t'); //获取页面类型传值 var depotList = null; var depotID = null; var supplierList = null; @@ -447,6 +448,10 @@ //初始化表格数据 function initTableData(){ + if(pageType === "skip") { + var oldRowInfo = sessionStorage.getItem("rowInfo"); + editDepotHead(oldRowInfo); //自动弹出编辑框,带缓存数据 + } var hideType = undefined; var isHiddenStatus = true; if(payTypeTitle === "隐藏"){ @@ -515,6 +520,18 @@ organNameTitle = "会员卡号"; } } + var opWidth = 90; //操作宽度 + var isShowSkip = false; //是否显示跳转按钮 + var opTitle = ""; //跳转按钮的标题 + if(listTitle == "采购订单列表") { + opWidth = 120; + isShowSkip = true; + opTitle = "转采购入库"; + } else if(listTitle == "销售订单列表") { + opWidth = 120; + isShowSkip = true; + opTitle = "转销售出库"; + } $('#tableData').datagrid({ height:heightInfo, rownumbers: false, @@ -531,7 +548,7 @@ pageList: initPageNum, columns:[[ { field: 'id',width:35,align:"center",checkbox:true}, - { title: '操作',field: 'op',align:"center",width:90, + { title: '操作',field: 'op',align:"center",width:opWidth, formatter:function(value,rec) { var str = ''; var rowInfo = rec.id + 'AaBb' + rec.projectid+ 'AaBb' + rec.number+ 'AaBb' + rec.operpersonname @@ -542,18 +559,29 @@ + 'AaBb' + rec.allocationProjectName + 'AaBb' + rec.paytype + 'AaBb' + rec.salesman + 'AaBb' + rec.discount + 'AaBb' + rec.discountmoney + 'AaBb' + rec.discountlastmoney + 'AaBb' + rec.accountidlist + 'AaBb' + rec.accountmoneylist - + 'AaBb' + rec.othermoney + 'AaBb' + rec.othermoneylist + 'AaBb' + rec.othermoneyitem + 'AaBb' + rec.accountday; + + 'AaBb' + rec.othermoney + 'AaBb' + rec.othermoneylist + 'AaBb' + rec.othermoneyitem + + 'AaBb' + rec.accountday + 'AaBb' + rec.linknumber; rowInfo = rowInfo.replace(/\"/g, ""); rowInfo = rowInfo.replace(/\[|]/g,""); var orgId = rec.organid? rec.organid:0; str += '   '; str += '   '; str += ''; + if(isShowSkip) { + str += '   '; + } return str; } }, { title: organNameTitle, field: 'organName',width:120, hidden:isShowOrganNameColumn}, - { title: '单据编号',field: 'number',width:125}, + { title: '单据编号',field: 'number',width:135, formatter:function (value,rec) { + if(rec.linknumber) { + return value + "[转]"; + } else { + return value; + } + } + }, { title: '商品信息',field: 'materialsList',width:180,formatter:function(value){ if(value) { return value.replace(",",","); @@ -570,7 +598,17 @@ { title: '优惠后金额',field: 'discountlastmoney',hidden:isShowLastMoneyColumn,width:80}, { title: payTypeTitle,field: 'changeamount',width:50,hidden:hideType}, { title: '状态',field: 'status',hidden:isHiddenStatus, width:70,align:"center",formatter:function(value){ - return value? "已审核":"未审核"; + if(value === "0") { + return "未审核"; + } else if(value === "1") { + return "已审核"; + } else if(value === "2") { + if(listTitle == "采购订单列表") { + return "已转采购"; + } else if(listTitle == "销售订单列表") { + return "已转销售"; + } + } } } ]], @@ -1110,6 +1148,16 @@ }); data.footer = array; $("#materialData").datagrid('loadData',data); + //如果是订单跳转到采购或销售 + if(pageType === "skip") { + var skipList = $("#depotHeadFM .datagrid-body tr"); + //逐条自动点击每行数据 + skipList.each(function (i) { + setTimeout(function () { + skipList.eq(i).find("[field='Stock']").click(); + },(i+1)*1000); + }); + } } }, error:function() { @@ -1232,8 +1280,8 @@ //删除单据信息 function deleteDepotHead(depotHeadID, thisOrganId, totalPrice, status){ - if(status) { - $.messager.alert('删除提示','已审核的单据不能删除!','warning'); + if(status == "1" || status == "2") { + $.messager.alert('删除提示','已审核和已转的单据不能删除!','warning'); return; } $.messager.confirm('删除确认','确定要删除此单据信息吗?',function(r) { @@ -1285,6 +1333,20 @@ }); } + //订单转采购或销售 + function skipDepotHead(rowInfo, status){ + if(status == "0" || status == "2") { + $.messager.alert('提示','未审核和已转的单据禁止操作!','warning'); + } else { + sessionStorage.setItem("rowInfo", rowInfo); //将单据信息存入缓存中 + if(listTitle == "采购订单列表") { + parent.addTab("订单转采购", "../materials/purchase_in_list.html?t=skip", ""); + } else if(listTitle == "销售订单列表") { + parent.addTab("订单转销售", "../materials/sale_out_list.html?t=skip", ""); + } + } + } + //批量删除单据信息 function batDeleteDepotHead(){ var row = $('#tableData').datagrid('getChecked'); @@ -1297,67 +1359,69 @@ { $.messager.confirm('删除确认','确定要删除选中的' + row.length + '条单据信息吗?',function(r) { - if (r) - { - var ids = ""; - for(var i = 0;i < row.length; i++) - { - if(i == row.length-1) - { - ids += row[i].id; - break; - } - //alert(row[i].id); - ids += row[i].id + ","; - } - //批量更新会员的预收款信息 - for(var i = 0;i < row.length; i ++) { - if(listSubType === "零售") { - $.ajax({ - type:"post", - url: "/supplier/updateAdvanceIn", - dataType: "json", - data:{ - supplierId: row[i].organid, //会员id - advanceIn: row[i].totalprice //删除时同时返还用户的预付款 - }, - success: function(res){ - if(res && res.code === 200) { - //保存会员预收款成功 - } - }, - error: function(){ - $.messager.alert('提示','保存信息异常,请稍后再试!','error'); - return; - } - }); - } - } - //批量删除 - $.ajax({ - type:"post", - // url: "/depotHead/batchDelete", - url: "/depotHead/batchDeleteDepotHeadAndDetail", - dataType: "json", - async : false, - data: ({ - ids : ids - }), - success: function (res) { - if(res && res.code === 200) { - $("#searchBtn").click(); - $(":checkbox").attr("checked", false); - } else { - $.messager.alert('删除提示', '删除单据信息失败,请稍后再试!', 'error'); + if (r) { + var ids = ""; + for (var i = 0; i < row.length; i++) { + if (i == row.length - 1) { + if (row[i].status == 0) { + ids += row[i].id; } - }, - //此处添加错误处理 - error:function() { - $.messager.alert('删除提示','删除单据信息异常,请稍后再试!','error'); - return; - } - }); - } + break; + } + ids += row[i].id + ","; + } + if (ids) { + //批量更新会员的预收款信息 + for (var i = 0; i < row.length; i++) { + if (listSubType === "零售") { + $.ajax({ + type: "post", + url: "/supplier/updateAdvanceIn", + dataType: "json", + data: { + supplierId: row[i].organid, //会员id + advanceIn: row[i].totalprice //删除时同时返还用户的预付款 + }, + success: function (res) { + if (res && res.code === 200) { + //保存会员预收款成功 + } + }, + error: function () { + $.messager.alert('提示', '保存信息异常,请稍后再试!', 'error'); + return; + } + }); + } + } + //批量删除 + $.ajax({ + type: "post", + // url: "/depotHead/batchDelete", + url: "/depotHead/batchDeleteDepotHeadAndDetail", + dataType: "json", + async: false, + data: ({ + ids: ids + }), + success: function (res) { + if (res && res.code === 200) { + $("#searchBtn").click(); + $(":checkbox").attr("checked", false); + } else { + $.messager.alert('删除提示', '删除单据信息失败,请稍后再试!', 'error'); + } + }, + //此处添加错误处理 + error: function () { + $.messager.alert('删除提示', '删除单据信息异常,请稍后再试!', 'error'); + return; + } + }); + } else { + $.messager.alert('删除提示','没有能删除的单据!','warning'); + } + } }); } } @@ -1379,34 +1443,40 @@ { if(i == row.length-1) { - ids += row[i].id; + if(row[i].status != "2") { + ids += row[i].id; + } break; } ids += row[i].id + ","; } - $.ajax({ - type:"post", - url: "/depotHead/batchSetStatus", - dataType: "json", - async : false, - data: ({ - status: true, - depotHeadIDs : ids - }), - success: function (res) { - if(res && res.code === 200) { - $("#searchBtn").click(); - $(":checkbox").attr("checked", false); - } else { - $.messager.alert('审核提示', '审核信息失败,请稍后再试!', 'error'); + if(ids) { + $.ajax({ + type:"post", + url: "/depotHead/batchSetStatus", + dataType: "json", + async : false, + data: ({ + status: "1", + depotHeadIDs : ids + }), + success: function (res) { + if(res && res.code === 200) { + $("#searchBtn").click(); + $(":checkbox").attr("checked", false); + } else { + $.messager.alert('审核提示', '审核信息失败,请稍后再试!', 'error'); + } + }, + //此处添加错误处理 + error:function() { + $.messager.alert('审核提示','审核信息异常,请稍后再试!','error'); + return; } - }, - //此处添加错误处理 - error:function() { - $.messager.alert('审核提示','审核信息异常,请稍后再试!','error'); - return; - } - }); + }); + } else { + $.messager.alert('审核提示','没有能审核的单据!','warning'); + } } }); } @@ -1431,70 +1501,70 @@ { if(i == row.length-1) { - ids += row[i].id; + if(row[i].status != "2") { + ids += row[i].id; + } break; } ids += row[i].id + ","; } - $.ajax({ - type:"post", - url: "/depotHead/batchSetStatus", - dataType: "json", - async : false, - data: ({ - status: false, - depotHeadIDs : ids - }), - success: function (res) { - if(res && res.code === 200) { - $("#searchBtn").click(); - $(":checkbox").attr("checked", false); - } else { - $.messager.alert('反审核提示', '反审核信息失败,请稍后再试!', 'error'); + if(ids) { + $.ajax({ + type: "post", + url: "/depotHead/batchSetStatus", + dataType: "json", + async: false, + data: ({ + status: "0", + depotHeadIDs: ids + }), + success: function (res) { + if (res && res.code === 200) { + $("#searchBtn").click(); + $(":checkbox").attr("checked", false); + } else { + $.messager.alert('反审核提示', '反审核信息失败,请稍后再试!', 'error'); + } + }, + //此处添加错误处理 + error: function () { + $.messager.alert('反审核提示', '反审核信息异常,请稍后再试!', 'error'); + return; } - }, - //此处添加错误处理 - error:function() { - $.messager.alert('反审核提示','反审核信息异常,请稍后再试!','error'); - return; - } - }); + }); + } else { + $.messager.alert('反审核提示','没有能反审核的单据!','warning'); + } } }); } } + //生成单据编号 + function buildNumber() { + $.ajax({ + type: "get", + url: "/depotHead/buildNumber", + success:function(res){ + if(res && res.code === 200){ + var obj = res.data; + var defaultNumber = obj.DefaultNumber; + var newNumber = amountNum + defaultNumber; + $("#Number").val(newNumber).attr("data-defaultNumber",newNumber); + } + }, + error:function(){ + $.messager.alert('提示','生成单据编号失败!','error'); + } + }); + } + //新增信息 function addDepotHead(){ $('#depotHeadFM').form('clear'); var thisDateTime = getNowFormatDateTime(); //当前时间 $("#OperTime").val(thisDateTime); - var thisNumber = getNowFormatDateNum(); //根据时间生成编号 - var thisDate = getNowFormatDate(); //当前日期 - var beginTime = thisDate + " 00:00:00"; - var endTime = thisDate + " 23:59:59"; - //生成单据编号 - $.ajax({ - type: "get", - url: "/depotHead/buildNumber", - data: { - type: listType, - subType: listSubType, - beginTime: beginTime, - endTime: endTime - }, - success:function(res){ - if(res && res.code === 200){ - var obj = res.data; - var defaultNumber = obj.DefaultNumber; - var newNumber = amountNum + defaultNumber - $("#Number").val(newNumber).attr("data-defaultNumber",newNumber); - } - }, - error:function(){ - $.messager.alert('提示','生成单据编号失败!','error'); - } - }); + buildNumber(); //生成单据编号 //初始化优惠率、优惠金额、优惠后金额、本次付|收款、本次欠款 为0 $("#Discount").val(0); $("#DiscountMoney").val(0); @@ -1561,8 +1631,8 @@ //编辑信息 function editDepotHead(depotHeadTotalInfo, status){ - if(status) { - $.messager.alert('编辑提示','已审核的单据不能编辑!','warning'); + if(status == "1" || status == "2") { + $.messager.alert('编辑提示','已审核和已转的单据不能编辑!','warning'); return; } var depotHeadInfo = depotHeadTotalInfo.split("AaBb"); @@ -1572,20 +1642,30 @@ initSystemData_person(ProjectId); initSelectInfo_person(); } - $("#Number").val(depotHeadInfo[2]).attr("data-defaultNumber",depotHeadInfo[2]); - $("#OperTime").val(depotHeadInfo[4]); + var TotalPrice = depotHeadInfo[14]; //合计金额 + if(pageType === "skip") { //从订单跳转过来 + buildNumber(); //生成单据编号 + var thisDateTime = getNowFormatDateTime(); //当前时间 + $("#OperTime").val(thisDateTime); + $("#LinkNumber").val(depotHeadInfo[2]); //关联订单号 + $("#AccountId").val(defaultAccountId); //初始化默认的账户Id + $("#DiscountLastMoney").val(TotalPrice); //优惠后金额 + $("#ChangeAmount").val(TotalPrice).attr("data-changeamount", TotalPrice); + } else { + $("#Number").val(depotHeadInfo[2]).attr("data-defaultNumber",depotHeadInfo[2]); + $("#OperTime").val(depotHeadInfo[4]); + $("#LinkNumber").val(depotHeadInfo[28].replace("undefined","")); //关联订单号 + $("#AccountId").val(depotHeadInfo[7]); //账户Id + $("#DiscountLastMoney").val(depotHeadInfo[21].replace("undefined","0.00")); //优惠后金额 + $("#ChangeAmount").val(depotHeadInfo[8]).attr("data-changeamount", depotHeadInfo[8]); + } $('#OrganId').combobox('setValue', depotHeadInfo[5]=='undefined'?'':depotHeadInfo[5]); $("#HandsPersonId").val(depotHeadInfo[6]); - $("#AccountId").val(depotHeadInfo[7]); - $("#ChangeAmount").val(depotHeadInfo[8]); - $("#ChangeAmount").attr("data-changeamount", depotHeadInfo[8]); $("#Remark").val(depotHeadInfo[9]); - $("#Discount").val(depotHeadInfo[19]); - $("#DiscountMoney").val(depotHeadInfo[20]); - $("#DiscountLastMoney").val(depotHeadInfo[21]); - $("#Debt").val((depotHeadInfo[21]-depotHeadInfo[8]).toFixed(2)); + $("#Discount").val(depotHeadInfo[19].replace("undefined","0")); + $("#DiscountMoney").val(depotHeadInfo[20].replace("undefined","0.00")); + $("#Debt").val((depotHeadInfo[21].replace("undefined","0.00")-depotHeadInfo[8]).toFixed(2)); $("#AccountDay").val(depotHeadInfo[27].replace("undefined","")); //结算天数 - var TotalPrice = depotHeadInfo[14]; preTotalPrice = depotHeadInfo[14]; //记录前一次合计金额,用于扣预付款 $("#AllocationProjectId").val(depotHeadInfo[15]); oldNumber = depotHeadInfo[2]; //记录编辑前的单据编号 @@ -1657,8 +1737,14 @@ } initTableData_material("edit",TotalPrice); //商品列表 - reject(); //撤销下、刷新商品列表 - url = '/depotHead/updateDepotHeadAndDetail?id=' + depotHeadInfo[0]; + reject(); //撤销下、刷新商品列表 + if(pageType === "skip") { + url = '/depotHead/addDepotHeadAndDetail'; //如果是从订单跳转过来,则此处为新增的接口 + //jshjshjsh + $("#depotHeadFM .datagrid-body").find("[field='DepotId']").click(); + } else { + url = '/depotHead/updateDepotHeadAndDetail?id=' + depotHeadInfo[0]; //更新接口 + } } //查看信息 @@ -1700,6 +1786,7 @@ $("#DiscountLastMoneyShow").text(depotHeadInfo[21]); $("#DebtShow").text((depotHeadInfo[21]-depotHeadInfo[8]).toFixed(2)); $("#AccountDayShow").text(depotHeadInfo[27].replace("undefined","")); //结算天数 + $("#LinkNumberShow").text(depotHeadInfo[28].replace("undefined","")); //关联订单号 if(depotHeadInfo[25] && depotHeadInfo[26]){ var itemArr = depotHeadInfo[25].split(","); //支出项目id列表 var itemMoneyArr = depotHeadInfo[26].split(","); //支出项目金额列表 @@ -2027,6 +2114,7 @@ AllocationProjectId: AllocationProjectId, DefaultNumber: $.trim($("#Number").attr("data-defaultNumber")),//初始编号 Number: $.trim($("#Number").val()), + LinkNumber: $.trim($("#LinkNumber").val()), OperTime: $("#OperTime").val(), OrganId: OrganId, HandsPersonId: $.trim($("#HandsPersonId").val()), @@ -2970,7 +3058,12 @@ * 新增单据主表及单据子表 * */ function addDepotHeadAndDetail(url,infoStr){ - var inserted = $("#materialData").datagrid('getChanges', "inserted"); + var inserted = null; + if(pageType === "skip") { + inserted = $("#materialData").datagrid('getChanges', "updated"); + } else { + inserted = $("#materialData").datagrid('getChanges', "inserted"); + } var deleted = $("#materialData").datagrid('getChanges', "deleted"); var updated = $("#materialData").datagrid('getChanges', "updated"); $.ajax({ diff --git a/erp_web/pages/materials/bill_detail.html b/erp_web/pages/materials/bill_detail.html index e66173c9..a33c9da6 100644 --- a/erp_web/pages/materials/bill_detail.html +++ b/erp_web/pages/materials/bill_detail.html @@ -173,8 +173,10 @@ - - + 关联订单: + + + @@ -222,10 +224,8 @@ - 结算天数: - - - + + @@ -312,18 +312,18 @@ - 销售人员: - - - - 单据日期: + 单据日期: - 单据编号: + 单据编号: + 关联订单: + + + @@ -371,9 +371,9 @@ - 结算天数: + 销售人员: - + @@ -388,10 +388,6 @@ - 销售人员: - - - 单据日期: @@ -400,6 +396,8 @@ + + @@ -447,8 +445,9 @@ - + 销售人员: + diff --git a/erp_web/pages/materials/purchase_in_list.html b/erp_web/pages/materials/purchase_in_list.html index e1fe1487..5b0bc979 100644 --- a/erp_web/pages/materials/purchase_in_list.html +++ b/erp_web/pages/materials/purchase_in_list.html @@ -82,8 +82,9 @@ - + 关联订单: + @@ -135,10 +136,8 @@ - 结算天数: + - @@ -167,8 +166,10 @@ - - + 关联订单: + + + @@ -216,10 +217,8 @@ - 结算天数: - - - + + diff --git a/erp_web/pages/materials/sale_back_list.html b/erp_web/pages/materials/sale_back_list.html index 092aa2c0..f56eb9e7 100644 --- a/erp_web/pages/materials/sale_back_list.html +++ b/erp_web/pages/materials/sale_back_list.html @@ -65,10 +65,6 @@ - 销售人员: - - - 单据日期: + + @@ -130,8 +128,9 @@ - + 销售人员: + @@ -151,10 +150,6 @@ - 销售人员: - - - 单据日期: @@ -163,6 +158,8 @@ + + @@ -210,8 +207,9 @@ - + 销售人员: + diff --git a/erp_web/pages/materials/sale_orders_list.html b/erp_web/pages/materials/sale_orders_list.html index 757474c5..61f67174 100644 --- a/erp_web/pages/materials/sale_orders_list.html +++ b/erp_web/pages/materials/sale_orders_list.html @@ -65,21 +65,21 @@ - 销售人员: - - - - 单据日期: + 单据日期: - 单据编号: + 单据编号: + 销售人员: + + + @@ -110,18 +110,18 @@ - 销售人员: - - - - 单据日期: + 单据日期: - 单据编号: + 单据编号: + 销售人员: + + + diff --git a/erp_web/pages/materials/sale_out_list.html b/erp_web/pages/materials/sale_out_list.html index 54993250..431f80f5 100644 --- a/erp_web/pages/materials/sale_out_list.html +++ b/erp_web/pages/materials/sale_out_list.html @@ -65,21 +65,21 @@ - 销售人员: - - - - 单据日期: + 单据日期: - 单据编号: + 单据编号: + 关联订单: + + + @@ -130,10 +130,9 @@ - 结算天数: + 销售人员: - + @@ -153,18 +152,18 @@ - 销售人员: - - - - 单据日期: + 单据日期: - 单据编号: + 单据编号: + 关联订单: + + + @@ -212,9 +211,9 @@ - 结算天数: + 销售人员: - + diff --git a/sql/jsh_erp.sql b/sql/jsh_erp.sql index ce98b886..6342e6c3 100644 --- a/sql/jsh_erp.sql +++ b/sql/jsh_erp.sql @@ -1345,4 +1345,12 @@ update jsh_functions SET PushBtn = '3' where Number = '060301' and PNumber = '06 -- ---------------------------- update jsh_userbusiness SET BtnStr = '[{"funId":"25","btnStr":"1"},{"funId":"217","btnStr":"1"},{"funId":"218","btnStr":"1"},{"funId":"241","btnStr":"3"},{"funId":"242","btnStr":"3"}]' -where Id = 5; \ No newline at end of file +where Id = 5; + +-- ---------------------------- +-- 时间:2019年3月10日 +-- version:1.0.8 +-- 改状态字段的类型,增加关联单据字段 +-- ---------------------------- +alter table jsh_depothead change Status Status varchar(1) DEFAULT '0' COMMENT '状态,0未审核、1已审核、2已转采购|销售'; +alter table jsh_depothead add `LinkNumber` varchar(50) DEFAULT null COMMENT '关联订单号'; \ No newline at end of file diff --git a/sql/华夏ERP数据库设计汇总.xlsx b/sql/华夏ERP数据库设计汇总.xlsx index a374da586a272c16f19cf5b239cf754ec7475279..535d907d768155f8935e068559ded921f499e9e2 100644 GIT binary patch delta 68332 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 delta 68295 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 ikyq!)SpAXYSb objectMap = new HashMap(); @@ -64,20 +64,12 @@ public class DepotHeadController { } /** - * 单据编号生成接口,规则:查找当前类型单据下的当天最大的单据号,并加1 - * @param type - * @param subType - * @param beginTime - * @param endTime + * 单据编号生成接口 * @param request * @return */ @GetMapping(value = "/buildNumber") - public BaseResponseInfo buildNumber(@RequestParam("type") String type, - @RequestParam("subType") String subType, - @RequestParam("beginTime") String beginTime, - @RequestParam("endTime") String endTime, - HttpServletRequest request) { + public BaseResponseInfo buildNumber(HttpServletRequest request) { BaseResponseInfo res = new BaseResponseInfo(); Map map = new HashMap(); try { diff --git a/src/main/java/com/jsh/erp/datasource/entities/DepotHead.java b/src/main/java/com/jsh/erp/datasource/entities/DepotHead.java index 496da9ce..f5775ea3 100644 --- a/src/main/java/com/jsh/erp/datasource/entities/DepotHead.java +++ b/src/main/java/com/jsh/erp/datasource/entities/DepotHead.java @@ -1,902 +1,934 @@ -package com.jsh.erp.datasource.entities; - -import java.math.BigDecimal; -import java.util.Date; - -public class DepotHead { - /** - * This field was generated by MyBatis Generator. - * This field corresponds to the database column jsh_depothead.Id - * - * @mbggenerated - */ - private Long id; - - /** - * This field was generated by MyBatis Generator. - * This field corresponds to the database column jsh_depothead.Type - * - * @mbggenerated - */ - private String type; - - /** - * This field was generated by MyBatis Generator. - * This field corresponds to the database column jsh_depothead.SubType - * - * @mbggenerated - */ - private String subtype; - - /** - * This field was generated by MyBatis Generator. - * This field corresponds to the database column jsh_depothead.ProjectId - * - * @mbggenerated - */ - private Long projectid; - - /** - * This field was generated by MyBatis Generator. - * This field corresponds to the database column jsh_depothead.DefaultNumber - * - * @mbggenerated - */ - private String defaultnumber; - - /** - * This field was generated by MyBatis Generator. - * This field corresponds to the database column jsh_depothead.Number - * - * @mbggenerated - */ - private String number; - - /** - * This field was generated by MyBatis Generator. - * This field corresponds to the database column jsh_depothead.OperPersonName - * - * @mbggenerated - */ - private String operpersonname; - - /** - * This field was generated by MyBatis Generator. - * This field corresponds to the database column jsh_depothead.CreateTime - * - * @mbggenerated - */ - private Date createtime; - - /** - * This field was generated by MyBatis Generator. - * This field corresponds to the database column jsh_depothead.OperTime - * - * @mbggenerated - */ - private Date opertime; - - /** - * This field was generated by MyBatis Generator. - * This field corresponds to the database column jsh_depothead.OrganId - * - * @mbggenerated - */ - private Long organid; - - /** - * This field was generated by MyBatis Generator. - * This field corresponds to the database column jsh_depothead.HandsPersonId - * - * @mbggenerated - */ - private Long handspersonid; - - /** - * This field was generated by MyBatis Generator. - * This field corresponds to the database column jsh_depothead.AccountId - * - * @mbggenerated - */ - private Long accountid; - - /** - * This field was generated by MyBatis Generator. - * This field corresponds to the database column jsh_depothead.ChangeAmount - * - * @mbggenerated - */ - private BigDecimal changeamount; - - /** - * This field was generated by MyBatis Generator. - * This field corresponds to the database column jsh_depothead.AllocationProjectId - * - * @mbggenerated - */ - private Long allocationprojectid; - - /** - * This field was generated by MyBatis Generator. - * This field corresponds to the database column jsh_depothead.TotalPrice - * - * @mbggenerated - */ - private BigDecimal totalprice; - - /** - * This field was generated by MyBatis Generator. - * This field corresponds to the database column jsh_depothead.PayType - * - * @mbggenerated - */ - private String paytype; - - /** - * This field was generated by MyBatis Generator. - * This field corresponds to the database column jsh_depothead.Remark - * - * @mbggenerated - */ - private String remark; - - /** - * This field was generated by MyBatis Generator. - * This field corresponds to the database column jsh_depothead.Salesman - * - * @mbggenerated - */ - private String salesman; - - /** - * This field was generated by MyBatis Generator. - * This field corresponds to the database column jsh_depothead.AccountIdList - * - * @mbggenerated - */ - private String accountidlist; - - /** - * This field was generated by MyBatis Generator. - * This field corresponds to the database column jsh_depothead.AccountMoneyList - * - * @mbggenerated - */ - private String accountmoneylist; - - /** - * This field was generated by MyBatis Generator. - * This field corresponds to the database column jsh_depothead.Discount - * - * @mbggenerated - */ - private BigDecimal discount; - - /** - * This field was generated by MyBatis Generator. - * This field corresponds to the database column jsh_depothead.DiscountMoney - * - * @mbggenerated - */ - private BigDecimal discountmoney; - - /** - * This field was generated by MyBatis Generator. - * This field corresponds to the database column jsh_depothead.DiscountLastMoney - * - * @mbggenerated - */ - private BigDecimal discountlastmoney; - - /** - * This field was generated by MyBatis Generator. - * This field corresponds to the database column jsh_depothead.OtherMoney - * - * @mbggenerated - */ - private BigDecimal othermoney; - - /** - * This field was generated by MyBatis Generator. - * This field corresponds to the database column jsh_depothead.OtherMoneyList - * - * @mbggenerated - */ - private String othermoneylist; - - /** - * This field was generated by MyBatis Generator. - * This field corresponds to the database column jsh_depothead.OtherMoneyItem - * - * @mbggenerated - */ - private String othermoneyitem; - - /** - * This field was generated by MyBatis Generator. - * This field corresponds to the database column jsh_depothead.AccountDay - * - * @mbggenerated - */ - private Integer accountday; - - /** - * This field was generated by MyBatis Generator. - * This field corresponds to the database column jsh_depothead.Status - * - * @mbggenerated - */ - private Boolean status; - - /** - * This method was generated by MyBatis Generator. - * This method returns the value of the database column jsh_depothead.Id - * - * @return the value of jsh_depothead.Id - * - * @mbggenerated - */ - public Long getId() { - return id; - } - - /** - * This method was generated by MyBatis Generator. - * This method sets the value of the database column jsh_depothead.Id - * - * @param id the value for jsh_depothead.Id - * - * @mbggenerated - */ - public void setId(Long id) { - this.id = id; - } - - /** - * This method was generated by MyBatis Generator. - * This method returns the value of the database column jsh_depothead.Type - * - * @return the value of jsh_depothead.Type - * - * @mbggenerated - */ - public String getType() { - return type; - } - - /** - * This method was generated by MyBatis Generator. - * This method sets the value of the database column jsh_depothead.Type - * - * @param type the value for jsh_depothead.Type - * - * @mbggenerated - */ - public void setType(String type) { - this.type = type == null ? null : type.trim(); - } - - /** - * This method was generated by MyBatis Generator. - * This method returns the value of the database column jsh_depothead.SubType - * - * @return the value of jsh_depothead.SubType - * - * @mbggenerated - */ - public String getSubtype() { - return subtype; - } - - /** - * This method was generated by MyBatis Generator. - * This method sets the value of the database column jsh_depothead.SubType - * - * @param subtype the value for jsh_depothead.SubType - * - * @mbggenerated - */ - public void setSubtype(String subtype) { - this.subtype = subtype == null ? null : subtype.trim(); - } - - /** - * This method was generated by MyBatis Generator. - * This method returns the value of the database column jsh_depothead.ProjectId - * - * @return the value of jsh_depothead.ProjectId - * - * @mbggenerated - */ - public Long getProjectid() { - return projectid; - } - - /** - * This method was generated by MyBatis Generator. - * This method sets the value of the database column jsh_depothead.ProjectId - * - * @param projectid the value for jsh_depothead.ProjectId - * - * @mbggenerated - */ - public void setProjectid(Long projectid) { - this.projectid = projectid; - } - - /** - * This method was generated by MyBatis Generator. - * This method returns the value of the database column jsh_depothead.DefaultNumber - * - * @return the value of jsh_depothead.DefaultNumber - * - * @mbggenerated - */ - public String getDefaultnumber() { - return defaultnumber; - } - - /** - * This method was generated by MyBatis Generator. - * This method sets the value of the database column jsh_depothead.DefaultNumber - * - * @param defaultnumber the value for jsh_depothead.DefaultNumber - * - * @mbggenerated - */ - public void setDefaultnumber(String defaultnumber) { - this.defaultnumber = defaultnumber == null ? null : defaultnumber.trim(); - } - - /** - * This method was generated by MyBatis Generator. - * This method returns the value of the database column jsh_depothead.Number - * - * @return the value of jsh_depothead.Number - * - * @mbggenerated - */ - public String getNumber() { - return number; - } - - /** - * This method was generated by MyBatis Generator. - * This method sets the value of the database column jsh_depothead.Number - * - * @param number the value for jsh_depothead.Number - * - * @mbggenerated - */ - public void setNumber(String number) { - this.number = number == null ? null : number.trim(); - } - - /** - * This method was generated by MyBatis Generator. - * This method returns the value of the database column jsh_depothead.OperPersonName - * - * @return the value of jsh_depothead.OperPersonName - * - * @mbggenerated - */ - public String getOperpersonname() { - return operpersonname; - } - - /** - * This method was generated by MyBatis Generator. - * This method sets the value of the database column jsh_depothead.OperPersonName - * - * @param operpersonname the value for jsh_depothead.OperPersonName - * - * @mbggenerated - */ - public void setOperpersonname(String operpersonname) { - this.operpersonname = operpersonname == null ? null : operpersonname.trim(); - } - - /** - * This method was generated by MyBatis Generator. - * This method returns the value of the database column jsh_depothead.CreateTime - * - * @return the value of jsh_depothead.CreateTime - * - * @mbggenerated - */ - public Date getCreatetime() { - return createtime; - } - - /** - * This method was generated by MyBatis Generator. - * This method sets the value of the database column jsh_depothead.CreateTime - * - * @param createtime the value for jsh_depothead.CreateTime - * - * @mbggenerated - */ - public void setCreatetime(Date createtime) { - this.createtime = createtime; - } - - /** - * This method was generated by MyBatis Generator. - * This method returns the value of the database column jsh_depothead.OperTime - * - * @return the value of jsh_depothead.OperTime - * - * @mbggenerated - */ - public Date getOpertime() { - return opertime; - } - - /** - * This method was generated by MyBatis Generator. - * This method sets the value of the database column jsh_depothead.OperTime - * - * @param opertime the value for jsh_depothead.OperTime - * - * @mbggenerated - */ - public void setOpertime(Date opertime) { - this.opertime = opertime; - } - - /** - * This method was generated by MyBatis Generator. - * This method returns the value of the database column jsh_depothead.OrganId - * - * @return the value of jsh_depothead.OrganId - * - * @mbggenerated - */ - public Long getOrganid() { - return organid; - } - - /** - * This method was generated by MyBatis Generator. - * This method sets the value of the database column jsh_depothead.OrganId - * - * @param organid the value for jsh_depothead.OrganId - * - * @mbggenerated - */ - public void setOrganid(Long organid) { - this.organid = organid; - } - - /** - * This method was generated by MyBatis Generator. - * This method returns the value of the database column jsh_depothead.HandsPersonId - * - * @return the value of jsh_depothead.HandsPersonId - * - * @mbggenerated - */ - public Long getHandspersonid() { - return handspersonid; - } - - /** - * This method was generated by MyBatis Generator. - * This method sets the value of the database column jsh_depothead.HandsPersonId - * - * @param handspersonid the value for jsh_depothead.HandsPersonId - * - * @mbggenerated - */ - public void setHandspersonid(Long handspersonid) { - this.handspersonid = handspersonid; - } - - /** - * This method was generated by MyBatis Generator. - * This method returns the value of the database column jsh_depothead.AccountId - * - * @return the value of jsh_depothead.AccountId - * - * @mbggenerated - */ - public Long getAccountid() { - return accountid; - } - - /** - * This method was generated by MyBatis Generator. - * This method sets the value of the database column jsh_depothead.AccountId - * - * @param accountid the value for jsh_depothead.AccountId - * - * @mbggenerated - */ - public void setAccountid(Long accountid) { - this.accountid = accountid; - } - - /** - * This method was generated by MyBatis Generator. - * This method returns the value of the database column jsh_depothead.ChangeAmount - * - * @return the value of jsh_depothead.ChangeAmount - * - * @mbggenerated - */ - public BigDecimal getChangeamount() { - return changeamount; - } - - /** - * This method was generated by MyBatis Generator. - * This method sets the value of the database column jsh_depothead.ChangeAmount - * - * @param changeamount the value for jsh_depothead.ChangeAmount - * - * @mbggenerated - */ - public void setChangeamount(BigDecimal changeamount) { - this.changeamount = changeamount; - } - - /** - * This method was generated by MyBatis Generator. - * This method returns the value of the database column jsh_depothead.AllocationProjectId - * - * @return the value of jsh_depothead.AllocationProjectId - * - * @mbggenerated - */ - public Long getAllocationprojectid() { - return allocationprojectid; - } - - /** - * This method was generated by MyBatis Generator. - * This method sets the value of the database column jsh_depothead.AllocationProjectId - * - * @param allocationprojectid the value for jsh_depothead.AllocationProjectId - * - * @mbggenerated - */ - public void setAllocationprojectid(Long allocationprojectid) { - this.allocationprojectid = allocationprojectid; - } - - /** - * This method was generated by MyBatis Generator. - * This method returns the value of the database column jsh_depothead.TotalPrice - * - * @return the value of jsh_depothead.TotalPrice - * - * @mbggenerated - */ - public BigDecimal getTotalprice() { - return totalprice; - } - - /** - * This method was generated by MyBatis Generator. - * This method sets the value of the database column jsh_depothead.TotalPrice - * - * @param totalprice the value for jsh_depothead.TotalPrice - * - * @mbggenerated - */ - public void setTotalprice(BigDecimal totalprice) { - this.totalprice = totalprice; - } - - /** - * This method was generated by MyBatis Generator. - * This method returns the value of the database column jsh_depothead.PayType - * - * @return the value of jsh_depothead.PayType - * - * @mbggenerated - */ - public String getPaytype() { - return paytype; - } - - /** - * This method was generated by MyBatis Generator. - * This method sets the value of the database column jsh_depothead.PayType - * - * @param paytype the value for jsh_depothead.PayType - * - * @mbggenerated - */ - public void setPaytype(String paytype) { - this.paytype = paytype == null ? null : paytype.trim(); - } - - /** - * This method was generated by MyBatis Generator. - * This method returns the value of the database column jsh_depothead.Remark - * - * @return the value of jsh_depothead.Remark - * - * @mbggenerated - */ - public String getRemark() { - return remark; - } - - /** - * This method was generated by MyBatis Generator. - * This method sets the value of the database column jsh_depothead.Remark - * - * @param remark the value for jsh_depothead.Remark - * - * @mbggenerated - */ - public void setRemark(String remark) { - this.remark = remark == null ? null : remark.trim(); - } - - /** - * This method was generated by MyBatis Generator. - * This method returns the value of the database column jsh_depothead.Salesman - * - * @return the value of jsh_depothead.Salesman - * - * @mbggenerated - */ - public String getSalesman() { - return salesman; - } - - /** - * This method was generated by MyBatis Generator. - * This method sets the value of the database column jsh_depothead.Salesman - * - * @param salesman the value for jsh_depothead.Salesman - * - * @mbggenerated - */ - public void setSalesman(String salesman) { - this.salesman = salesman == null ? null : salesman.trim(); - } - - /** - * This method was generated by MyBatis Generator. - * This method returns the value of the database column jsh_depothead.AccountIdList - * - * @return the value of jsh_depothead.AccountIdList - * - * @mbggenerated - */ - public String getAccountidlist() { - return accountidlist; - } - - /** - * This method was generated by MyBatis Generator. - * This method sets the value of the database column jsh_depothead.AccountIdList - * - * @param accountidlist the value for jsh_depothead.AccountIdList - * - * @mbggenerated - */ - public void setAccountidlist(String accountidlist) { - this.accountidlist = accountidlist == null ? null : accountidlist.trim(); - } - - /** - * This method was generated by MyBatis Generator. - * This method returns the value of the database column jsh_depothead.AccountMoneyList - * - * @return the value of jsh_depothead.AccountMoneyList - * - * @mbggenerated - */ - public String getAccountmoneylist() { - return accountmoneylist; - } - - /** - * This method was generated by MyBatis Generator. - * This method sets the value of the database column jsh_depothead.AccountMoneyList - * - * @param accountmoneylist the value for jsh_depothead.AccountMoneyList - * - * @mbggenerated - */ - public void setAccountmoneylist(String accountmoneylist) { - this.accountmoneylist = accountmoneylist == null ? null : accountmoneylist.trim(); - } - - /** - * This method was generated by MyBatis Generator. - * This method returns the value of the database column jsh_depothead.Discount - * - * @return the value of jsh_depothead.Discount - * - * @mbggenerated - */ - public BigDecimal getDiscount() { - return discount; - } - - /** - * This method was generated by MyBatis Generator. - * This method sets the value of the database column jsh_depothead.Discount - * - * @param discount the value for jsh_depothead.Discount - * - * @mbggenerated - */ - public void setDiscount(BigDecimal discount) { - this.discount = discount; - } - - /** - * This method was generated by MyBatis Generator. - * This method returns the value of the database column jsh_depothead.DiscountMoney - * - * @return the value of jsh_depothead.DiscountMoney - * - * @mbggenerated - */ - public BigDecimal getDiscountmoney() { - return discountmoney; - } - - /** - * This method was generated by MyBatis Generator. - * This method sets the value of the database column jsh_depothead.DiscountMoney - * - * @param discountmoney the value for jsh_depothead.DiscountMoney - * - * @mbggenerated - */ - public void setDiscountmoney(BigDecimal discountmoney) { - this.discountmoney = discountmoney; - } - - /** - * This method was generated by MyBatis Generator. - * This method returns the value of the database column jsh_depothead.DiscountLastMoney - * - * @return the value of jsh_depothead.DiscountLastMoney - * - * @mbggenerated - */ - public BigDecimal getDiscountlastmoney() { - return discountlastmoney; - } - - /** - * This method was generated by MyBatis Generator. - * This method sets the value of the database column jsh_depothead.DiscountLastMoney - * - * @param discountlastmoney the value for jsh_depothead.DiscountLastMoney - * - * @mbggenerated - */ - public void setDiscountlastmoney(BigDecimal discountlastmoney) { - this.discountlastmoney = discountlastmoney; - } - - /** - * This method was generated by MyBatis Generator. - * This method returns the value of the database column jsh_depothead.OtherMoney - * - * @return the value of jsh_depothead.OtherMoney - * - * @mbggenerated - */ - public BigDecimal getOthermoney() { - return othermoney; - } - - /** - * This method was generated by MyBatis Generator. - * This method sets the value of the database column jsh_depothead.OtherMoney - * - * @param othermoney the value for jsh_depothead.OtherMoney - * - * @mbggenerated - */ - public void setOthermoney(BigDecimal othermoney) { - this.othermoney = othermoney; - } - - /** - * This method was generated by MyBatis Generator. - * This method returns the value of the database column jsh_depothead.OtherMoneyList - * - * @return the value of jsh_depothead.OtherMoneyList - * - * @mbggenerated - */ - public String getOthermoneylist() { - return othermoneylist; - } - - /** - * This method was generated by MyBatis Generator. - * This method sets the value of the database column jsh_depothead.OtherMoneyList - * - * @param othermoneylist the value for jsh_depothead.OtherMoneyList - * - * @mbggenerated - */ - public void setOthermoneylist(String othermoneylist) { - this.othermoneylist = othermoneylist == null ? null : othermoneylist.trim(); - } - - /** - * This method was generated by MyBatis Generator. - * This method returns the value of the database column jsh_depothead.OtherMoneyItem - * - * @return the value of jsh_depothead.OtherMoneyItem - * - * @mbggenerated - */ - public String getOthermoneyitem() { - return othermoneyitem; - } - - /** - * This method was generated by MyBatis Generator. - * This method sets the value of the database column jsh_depothead.OtherMoneyItem - * - * @param othermoneyitem the value for jsh_depothead.OtherMoneyItem - * - * @mbggenerated - */ - public void setOthermoneyitem(String othermoneyitem) { - this.othermoneyitem = othermoneyitem == null ? null : othermoneyitem.trim(); - } - - /** - * This method was generated by MyBatis Generator. - * This method returns the value of the database column jsh_depothead.AccountDay - * - * @return the value of jsh_depothead.AccountDay - * - * @mbggenerated - */ - public Integer getAccountday() { - return accountday; - } - - /** - * This method was generated by MyBatis Generator. - * This method sets the value of the database column jsh_depothead.AccountDay - * - * @param accountday the value for jsh_depothead.AccountDay - * - * @mbggenerated - */ - public void setAccountday(Integer accountday) { - this.accountday = accountday; - } - - /** - * This method was generated by MyBatis Generator. - * This method returns the value of the database column jsh_depothead.Status - * - * @return the value of jsh_depothead.Status - * - * @mbggenerated - */ - public Boolean getStatus() { - return status; - } - - /** - * This method was generated by MyBatis Generator. - * This method sets the value of the database column jsh_depothead.Status - * - * @param status the value for jsh_depothead.Status - * - * @mbggenerated - */ - public void setStatus(Boolean status) { - this.status = status; - } +package com.jsh.erp.datasource.entities; + +import java.math.BigDecimal; +import java.util.Date; + +public class DepotHead { + /** + * This field was generated by MyBatis Generator. + * This field corresponds to the database column jsh_depothead.Id + * + * @mbggenerated + */ + private Long id; + + /** + * This field was generated by MyBatis Generator. + * This field corresponds to the database column jsh_depothead.Type + * + * @mbggenerated + */ + private String type; + + /** + * This field was generated by MyBatis Generator. + * This field corresponds to the database column jsh_depothead.SubType + * + * @mbggenerated + */ + private String subtype; + + /** + * This field was generated by MyBatis Generator. + * This field corresponds to the database column jsh_depothead.ProjectId + * + * @mbggenerated + */ + private Long projectid; + + /** + * This field was generated by MyBatis Generator. + * This field corresponds to the database column jsh_depothead.DefaultNumber + * + * @mbggenerated + */ + private String defaultnumber; + + /** + * This field was generated by MyBatis Generator. + * This field corresponds to the database column jsh_depothead.Number + * + * @mbggenerated + */ + private String number; + + /** + * This field was generated by MyBatis Generator. + * This field corresponds to the database column jsh_depothead.OperPersonName + * + * @mbggenerated + */ + private String operpersonname; + + /** + * This field was generated by MyBatis Generator. + * This field corresponds to the database column jsh_depothead.CreateTime + * + * @mbggenerated + */ + private Date createtime; + + /** + * This field was generated by MyBatis Generator. + * This field corresponds to the database column jsh_depothead.OperTime + * + * @mbggenerated + */ + private Date opertime; + + /** + * This field was generated by MyBatis Generator. + * This field corresponds to the database column jsh_depothead.OrganId + * + * @mbggenerated + */ + private Long organid; + + /** + * This field was generated by MyBatis Generator. + * This field corresponds to the database column jsh_depothead.HandsPersonId + * + * @mbggenerated + */ + private Long handspersonid; + + /** + * This field was generated by MyBatis Generator. + * This field corresponds to the database column jsh_depothead.AccountId + * + * @mbggenerated + */ + private Long accountid; + + /** + * This field was generated by MyBatis Generator. + * This field corresponds to the database column jsh_depothead.ChangeAmount + * + * @mbggenerated + */ + private BigDecimal changeamount; + + /** + * This field was generated by MyBatis Generator. + * This field corresponds to the database column jsh_depothead.AllocationProjectId + * + * @mbggenerated + */ + private Long allocationprojectid; + + /** + * This field was generated by MyBatis Generator. + * This field corresponds to the database column jsh_depothead.TotalPrice + * + * @mbggenerated + */ + private BigDecimal totalprice; + + /** + * This field was generated by MyBatis Generator. + * This field corresponds to the database column jsh_depothead.PayType + * + * @mbggenerated + */ + private String paytype; + + /** + * This field was generated by MyBatis Generator. + * This field corresponds to the database column jsh_depothead.Remark + * + * @mbggenerated + */ + private String remark; + + /** + * This field was generated by MyBatis Generator. + * This field corresponds to the database column jsh_depothead.Salesman + * + * @mbggenerated + */ + private String salesman; + + /** + * This field was generated by MyBatis Generator. + * This field corresponds to the database column jsh_depothead.AccountIdList + * + * @mbggenerated + */ + private String accountidlist; + + /** + * This field was generated by MyBatis Generator. + * This field corresponds to the database column jsh_depothead.AccountMoneyList + * + * @mbggenerated + */ + private String accountmoneylist; + + /** + * This field was generated by MyBatis Generator. + * This field corresponds to the database column jsh_depothead.Discount + * + * @mbggenerated + */ + private BigDecimal discount; + + /** + * This field was generated by MyBatis Generator. + * This field corresponds to the database column jsh_depothead.DiscountMoney + * + * @mbggenerated + */ + private BigDecimal discountmoney; + + /** + * This field was generated by MyBatis Generator. + * This field corresponds to the database column jsh_depothead.DiscountLastMoney + * + * @mbggenerated + */ + private BigDecimal discountlastmoney; + + /** + * This field was generated by MyBatis Generator. + * This field corresponds to the database column jsh_depothead.OtherMoney + * + * @mbggenerated + */ + private BigDecimal othermoney; + + /** + * This field was generated by MyBatis Generator. + * This field corresponds to the database column jsh_depothead.OtherMoneyList + * + * @mbggenerated + */ + private String othermoneylist; + + /** + * This field was generated by MyBatis Generator. + * This field corresponds to the database column jsh_depothead.OtherMoneyItem + * + * @mbggenerated + */ + private String othermoneyitem; + + /** + * This field was generated by MyBatis Generator. + * This field corresponds to the database column jsh_depothead.AccountDay + * + * @mbggenerated + */ + private Integer accountday; + + /** + * This field was generated by MyBatis Generator. + * This field corresponds to the database column jsh_depothead.Status + * + * @mbggenerated + */ + private String status; + + /** + * This field was generated by MyBatis Generator. + * This field corresponds to the database column jsh_depothead.LinkNumber + * + * @mbggenerated + */ + private String linknumber; + + /** + * This method was generated by MyBatis Generator. + * This method returns the value of the database column jsh_depothead.Id + * + * @return the value of jsh_depothead.Id + * + * @mbggenerated + */ + public Long getId() { + return id; + } + + /** + * This method was generated by MyBatis Generator. + * This method sets the value of the database column jsh_depothead.Id + * + * @param id the value for jsh_depothead.Id + * + * @mbggenerated + */ + public void setId(Long id) { + this.id = id; + } + + /** + * This method was generated by MyBatis Generator. + * This method returns the value of the database column jsh_depothead.Type + * + * @return the value of jsh_depothead.Type + * + * @mbggenerated + */ + public String getType() { + return type; + } + + /** + * This method was generated by MyBatis Generator. + * This method sets the value of the database column jsh_depothead.Type + * + * @param type the value for jsh_depothead.Type + * + * @mbggenerated + */ + public void setType(String type) { + this.type = type == null ? null : type.trim(); + } + + /** + * This method was generated by MyBatis Generator. + * This method returns the value of the database column jsh_depothead.SubType + * + * @return the value of jsh_depothead.SubType + * + * @mbggenerated + */ + public String getSubtype() { + return subtype; + } + + /** + * This method was generated by MyBatis Generator. + * This method sets the value of the database column jsh_depothead.SubType + * + * @param subtype the value for jsh_depothead.SubType + * + * @mbggenerated + */ + public void setSubtype(String subtype) { + this.subtype = subtype == null ? null : subtype.trim(); + } + + /** + * This method was generated by MyBatis Generator. + * This method returns the value of the database column jsh_depothead.ProjectId + * + * @return the value of jsh_depothead.ProjectId + * + * @mbggenerated + */ + public Long getProjectid() { + return projectid; + } + + /** + * This method was generated by MyBatis Generator. + * This method sets the value of the database column jsh_depothead.ProjectId + * + * @param projectid the value for jsh_depothead.ProjectId + * + * @mbggenerated + */ + public void setProjectid(Long projectid) { + this.projectid = projectid; + } + + /** + * This method was generated by MyBatis Generator. + * This method returns the value of the database column jsh_depothead.DefaultNumber + * + * @return the value of jsh_depothead.DefaultNumber + * + * @mbggenerated + */ + public String getDefaultnumber() { + return defaultnumber; + } + + /** + * This method was generated by MyBatis Generator. + * This method sets the value of the database column jsh_depothead.DefaultNumber + * + * @param defaultnumber the value for jsh_depothead.DefaultNumber + * + * @mbggenerated + */ + public void setDefaultnumber(String defaultnumber) { + this.defaultnumber = defaultnumber == null ? null : defaultnumber.trim(); + } + + /** + * This method was generated by MyBatis Generator. + * This method returns the value of the database column jsh_depothead.Number + * + * @return the value of jsh_depothead.Number + * + * @mbggenerated + */ + public String getNumber() { + return number; + } + + /** + * This method was generated by MyBatis Generator. + * This method sets the value of the database column jsh_depothead.Number + * + * @param number the value for jsh_depothead.Number + * + * @mbggenerated + */ + public void setNumber(String number) { + this.number = number == null ? null : number.trim(); + } + + /** + * This method was generated by MyBatis Generator. + * This method returns the value of the database column jsh_depothead.OperPersonName + * + * @return the value of jsh_depothead.OperPersonName + * + * @mbggenerated + */ + public String getOperpersonname() { + return operpersonname; + } + + /** + * This method was generated by MyBatis Generator. + * This method sets the value of the database column jsh_depothead.OperPersonName + * + * @param operpersonname the value for jsh_depothead.OperPersonName + * + * @mbggenerated + */ + public void setOperpersonname(String operpersonname) { + this.operpersonname = operpersonname == null ? null : operpersonname.trim(); + } + + /** + * This method was generated by MyBatis Generator. + * This method returns the value of the database column jsh_depothead.CreateTime + * + * @return the value of jsh_depothead.CreateTime + * + * @mbggenerated + */ + public Date getCreatetime() { + return createtime; + } + + /** + * This method was generated by MyBatis Generator. + * This method sets the value of the database column jsh_depothead.CreateTime + * + * @param createtime the value for jsh_depothead.CreateTime + * + * @mbggenerated + */ + public void setCreatetime(Date createtime) { + this.createtime = createtime; + } + + /** + * This method was generated by MyBatis Generator. + * This method returns the value of the database column jsh_depothead.OperTime + * + * @return the value of jsh_depothead.OperTime + * + * @mbggenerated + */ + public Date getOpertime() { + return opertime; + } + + /** + * This method was generated by MyBatis Generator. + * This method sets the value of the database column jsh_depothead.OperTime + * + * @param opertime the value for jsh_depothead.OperTime + * + * @mbggenerated + */ + public void setOpertime(Date opertime) { + this.opertime = opertime; + } + + /** + * This method was generated by MyBatis Generator. + * This method returns the value of the database column jsh_depothead.OrganId + * + * @return the value of jsh_depothead.OrganId + * + * @mbggenerated + */ + public Long getOrganid() { + return organid; + } + + /** + * This method was generated by MyBatis Generator. + * This method sets the value of the database column jsh_depothead.OrganId + * + * @param organid the value for jsh_depothead.OrganId + * + * @mbggenerated + */ + public void setOrganid(Long organid) { + this.organid = organid; + } + + /** + * This method was generated by MyBatis Generator. + * This method returns the value of the database column jsh_depothead.HandsPersonId + * + * @return the value of jsh_depothead.HandsPersonId + * + * @mbggenerated + */ + public Long getHandspersonid() { + return handspersonid; + } + + /** + * This method was generated by MyBatis Generator. + * This method sets the value of the database column jsh_depothead.HandsPersonId + * + * @param handspersonid the value for jsh_depothead.HandsPersonId + * + * @mbggenerated + */ + public void setHandspersonid(Long handspersonid) { + this.handspersonid = handspersonid; + } + + /** + * This method was generated by MyBatis Generator. + * This method returns the value of the database column jsh_depothead.AccountId + * + * @return the value of jsh_depothead.AccountId + * + * @mbggenerated + */ + public Long getAccountid() { + return accountid; + } + + /** + * This method was generated by MyBatis Generator. + * This method sets the value of the database column jsh_depothead.AccountId + * + * @param accountid the value for jsh_depothead.AccountId + * + * @mbggenerated + */ + public void setAccountid(Long accountid) { + this.accountid = accountid; + } + + /** + * This method was generated by MyBatis Generator. + * This method returns the value of the database column jsh_depothead.ChangeAmount + * + * @return the value of jsh_depothead.ChangeAmount + * + * @mbggenerated + */ + public BigDecimal getChangeamount() { + return changeamount; + } + + /** + * This method was generated by MyBatis Generator. + * This method sets the value of the database column jsh_depothead.ChangeAmount + * + * @param changeamount the value for jsh_depothead.ChangeAmount + * + * @mbggenerated + */ + public void setChangeamount(BigDecimal changeamount) { + this.changeamount = changeamount; + } + + /** + * This method was generated by MyBatis Generator. + * This method returns the value of the database column jsh_depothead.AllocationProjectId + * + * @return the value of jsh_depothead.AllocationProjectId + * + * @mbggenerated + */ + public Long getAllocationprojectid() { + return allocationprojectid; + } + + /** + * This method was generated by MyBatis Generator. + * This method sets the value of the database column jsh_depothead.AllocationProjectId + * + * @param allocationprojectid the value for jsh_depothead.AllocationProjectId + * + * @mbggenerated + */ + public void setAllocationprojectid(Long allocationprojectid) { + this.allocationprojectid = allocationprojectid; + } + + /** + * This method was generated by MyBatis Generator. + * This method returns the value of the database column jsh_depothead.TotalPrice + * + * @return the value of jsh_depothead.TotalPrice + * + * @mbggenerated + */ + public BigDecimal getTotalprice() { + return totalprice; + } + + /** + * This method was generated by MyBatis Generator. + * This method sets the value of the database column jsh_depothead.TotalPrice + * + * @param totalprice the value for jsh_depothead.TotalPrice + * + * @mbggenerated + */ + public void setTotalprice(BigDecimal totalprice) { + this.totalprice = totalprice; + } + + /** + * This method was generated by MyBatis Generator. + * This method returns the value of the database column jsh_depothead.PayType + * + * @return the value of jsh_depothead.PayType + * + * @mbggenerated + */ + public String getPaytype() { + return paytype; + } + + /** + * This method was generated by MyBatis Generator. + * This method sets the value of the database column jsh_depothead.PayType + * + * @param paytype the value for jsh_depothead.PayType + * + * @mbggenerated + */ + public void setPaytype(String paytype) { + this.paytype = paytype == null ? null : paytype.trim(); + } + + /** + * This method was generated by MyBatis Generator. + * This method returns the value of the database column jsh_depothead.Remark + * + * @return the value of jsh_depothead.Remark + * + * @mbggenerated + */ + public String getRemark() { + return remark; + } + + /** + * This method was generated by MyBatis Generator. + * This method sets the value of the database column jsh_depothead.Remark + * + * @param remark the value for jsh_depothead.Remark + * + * @mbggenerated + */ + public void setRemark(String remark) { + this.remark = remark == null ? null : remark.trim(); + } + + /** + * This method was generated by MyBatis Generator. + * This method returns the value of the database column jsh_depothead.Salesman + * + * @return the value of jsh_depothead.Salesman + * + * @mbggenerated + */ + public String getSalesman() { + return salesman; + } + + /** + * This method was generated by MyBatis Generator. + * This method sets the value of the database column jsh_depothead.Salesman + * + * @param salesman the value for jsh_depothead.Salesman + * + * @mbggenerated + */ + public void setSalesman(String salesman) { + this.salesman = salesman == null ? null : salesman.trim(); + } + + /** + * This method was generated by MyBatis Generator. + * This method returns the value of the database column jsh_depothead.AccountIdList + * + * @return the value of jsh_depothead.AccountIdList + * + * @mbggenerated + */ + public String getAccountidlist() { + return accountidlist; + } + + /** + * This method was generated by MyBatis Generator. + * This method sets the value of the database column jsh_depothead.AccountIdList + * + * @param accountidlist the value for jsh_depothead.AccountIdList + * + * @mbggenerated + */ + public void setAccountidlist(String accountidlist) { + this.accountidlist = accountidlist == null ? null : accountidlist.trim(); + } + + /** + * This method was generated by MyBatis Generator. + * This method returns the value of the database column jsh_depothead.AccountMoneyList + * + * @return the value of jsh_depothead.AccountMoneyList + * + * @mbggenerated + */ + public String getAccountmoneylist() { + return accountmoneylist; + } + + /** + * This method was generated by MyBatis Generator. + * This method sets the value of the database column jsh_depothead.AccountMoneyList + * + * @param accountmoneylist the value for jsh_depothead.AccountMoneyList + * + * @mbggenerated + */ + public void setAccountmoneylist(String accountmoneylist) { + this.accountmoneylist = accountmoneylist == null ? null : accountmoneylist.trim(); + } + + /** + * This method was generated by MyBatis Generator. + * This method returns the value of the database column jsh_depothead.Discount + * + * @return the value of jsh_depothead.Discount + * + * @mbggenerated + */ + public BigDecimal getDiscount() { + return discount; + } + + /** + * This method was generated by MyBatis Generator. + * This method sets the value of the database column jsh_depothead.Discount + * + * @param discount the value for jsh_depothead.Discount + * + * @mbggenerated + */ + public void setDiscount(BigDecimal discount) { + this.discount = discount; + } + + /** + * This method was generated by MyBatis Generator. + * This method returns the value of the database column jsh_depothead.DiscountMoney + * + * @return the value of jsh_depothead.DiscountMoney + * + * @mbggenerated + */ + public BigDecimal getDiscountmoney() { + return discountmoney; + } + + /** + * This method was generated by MyBatis Generator. + * This method sets the value of the database column jsh_depothead.DiscountMoney + * + * @param discountmoney the value for jsh_depothead.DiscountMoney + * + * @mbggenerated + */ + public void setDiscountmoney(BigDecimal discountmoney) { + this.discountmoney = discountmoney; + } + + /** + * This method was generated by MyBatis Generator. + * This method returns the value of the database column jsh_depothead.DiscountLastMoney + * + * @return the value of jsh_depothead.DiscountLastMoney + * + * @mbggenerated + */ + public BigDecimal getDiscountlastmoney() { + return discountlastmoney; + } + + /** + * This method was generated by MyBatis Generator. + * This method sets the value of the database column jsh_depothead.DiscountLastMoney + * + * @param discountlastmoney the value for jsh_depothead.DiscountLastMoney + * + * @mbggenerated + */ + public void setDiscountlastmoney(BigDecimal discountlastmoney) { + this.discountlastmoney = discountlastmoney; + } + + /** + * This method was generated by MyBatis Generator. + * This method returns the value of the database column jsh_depothead.OtherMoney + * + * @return the value of jsh_depothead.OtherMoney + * + * @mbggenerated + */ + public BigDecimal getOthermoney() { + return othermoney; + } + + /** + * This method was generated by MyBatis Generator. + * This method sets the value of the database column jsh_depothead.OtherMoney + * + * @param othermoney the value for jsh_depothead.OtherMoney + * + * @mbggenerated + */ + public void setOthermoney(BigDecimal othermoney) { + this.othermoney = othermoney; + } + + /** + * This method was generated by MyBatis Generator. + * This method returns the value of the database column jsh_depothead.OtherMoneyList + * + * @return the value of jsh_depothead.OtherMoneyList + * + * @mbggenerated + */ + public String getOthermoneylist() { + return othermoneylist; + } + + /** + * This method was generated by MyBatis Generator. + * This method sets the value of the database column jsh_depothead.OtherMoneyList + * + * @param othermoneylist the value for jsh_depothead.OtherMoneyList + * + * @mbggenerated + */ + public void setOthermoneylist(String othermoneylist) { + this.othermoneylist = othermoneylist == null ? null : othermoneylist.trim(); + } + + /** + * This method was generated by MyBatis Generator. + * This method returns the value of the database column jsh_depothead.OtherMoneyItem + * + * @return the value of jsh_depothead.OtherMoneyItem + * + * @mbggenerated + */ + public String getOthermoneyitem() { + return othermoneyitem; + } + + /** + * This method was generated by MyBatis Generator. + * This method sets the value of the database column jsh_depothead.OtherMoneyItem + * + * @param othermoneyitem the value for jsh_depothead.OtherMoneyItem + * + * @mbggenerated + */ + public void setOthermoneyitem(String othermoneyitem) { + this.othermoneyitem = othermoneyitem == null ? null : othermoneyitem.trim(); + } + + /** + * This method was generated by MyBatis Generator. + * This method returns the value of the database column jsh_depothead.AccountDay + * + * @return the value of jsh_depothead.AccountDay + * + * @mbggenerated + */ + public Integer getAccountday() { + return accountday; + } + + /** + * This method was generated by MyBatis Generator. + * This method sets the value of the database column jsh_depothead.AccountDay + * + * @param accountday the value for jsh_depothead.AccountDay + * + * @mbggenerated + */ + public void setAccountday(Integer accountday) { + this.accountday = accountday; + } + + /** + * This method was generated by MyBatis Generator. + * This method returns the value of the database column jsh_depothead.Status + * + * @return the value of jsh_depothead.Status + * + * @mbggenerated + */ + public String getStatus() { + return status; + } + + /** + * This method was generated by MyBatis Generator. + * This method sets the value of the database column jsh_depothead.Status + * + * @param status the value for jsh_depothead.Status + * + * @mbggenerated + */ + public void setStatus(String status) { + this.status = status == null ? null : status.trim(); + } + + /** + * This method was generated by MyBatis Generator. + * This method returns the value of the database column jsh_depothead.LinkNumber + * + * @return the value of jsh_depothead.LinkNumber + * + * @mbggenerated + */ + public String getLinknumber() { + return linknumber; + } + + /** + * This method was generated by MyBatis Generator. + * This method sets the value of the database column jsh_depothead.LinkNumber + * + * @param linknumber the value for jsh_depothead.LinkNumber + * + * @mbggenerated + */ + public void setLinknumber(String linknumber) { + this.linknumber = linknumber == null ? null : linknumber.trim(); + } } \ No newline at end of file diff --git a/src/main/java/com/jsh/erp/datasource/entities/DepotHeadExample.java b/src/main/java/com/jsh/erp/datasource/entities/DepotHeadExample.java index 6663597a..4bfbcb14 100644 --- a/src/main/java/com/jsh/erp/datasource/entities/DepotHeadExample.java +++ b/src/main/java/com/jsh/erp/datasource/entities/DepotHeadExample.java @@ -1,2104 +1,2184 @@ -package com.jsh.erp.datasource.entities; - -import java.math.BigDecimal; -import java.util.ArrayList; -import java.util.Date; -import java.util.List; - -public class DepotHeadExample { - /** - * This field was generated by MyBatis Generator. - * This field corresponds to the database table jsh_depothead - * - * @mbggenerated - */ - protected String orderByClause; - - /** - * This field was generated by MyBatis Generator. - * This field corresponds to the database table jsh_depothead - * - * @mbggenerated - */ - protected boolean distinct; - - /** - * This field was generated by MyBatis Generator. - * This field corresponds to the database table jsh_depothead - * - * @mbggenerated - */ - protected List oredCriteria; - - /** - * This method was generated by MyBatis Generator. - * This method corresponds to the database table jsh_depothead - * - * @mbggenerated - */ - public DepotHeadExample() { - oredCriteria = new ArrayList(); - } - - /** - * This method was generated by MyBatis Generator. - * This method corresponds to the database table jsh_depothead - * - * @mbggenerated - */ - public void setOrderByClause(String orderByClause) { - this.orderByClause = orderByClause; - } - - /** - * This method was generated by MyBatis Generator. - * This method corresponds to the database table jsh_depothead - * - * @mbggenerated - */ - public String getOrderByClause() { - return orderByClause; - } - - /** - * This method was generated by MyBatis Generator. - * This method corresponds to the database table jsh_depothead - * - * @mbggenerated - */ - public void setDistinct(boolean distinct) { - this.distinct = distinct; - } - - /** - * This method was generated by MyBatis Generator. - * This method corresponds to the database table jsh_depothead - * - * @mbggenerated - */ - public boolean isDistinct() { - return distinct; - } - - /** - * This method was generated by MyBatis Generator. - * This method corresponds to the database table jsh_depothead - * - * @mbggenerated - */ - public List getOredCriteria() { - return oredCriteria; - } - - /** - * This method was generated by MyBatis Generator. - * This method corresponds to the database table jsh_depothead - * - * @mbggenerated - */ - public void or(Criteria criteria) { - oredCriteria.add(criteria); - } - - /** - * This method was generated by MyBatis Generator. - * This method corresponds to the database table jsh_depothead - * - * @mbggenerated - */ - public Criteria or() { - Criteria criteria = createCriteriaInternal(); - oredCriteria.add(criteria); - return criteria; - } - - /** - * This method was generated by MyBatis Generator. - * This method corresponds to the database table jsh_depothead - * - * @mbggenerated - */ - public Criteria createCriteria() { - Criteria criteria = createCriteriaInternal(); - if (oredCriteria.size() == 0) { - oredCriteria.add(criteria); - } - return criteria; - } - - /** - * This method was generated by MyBatis Generator. - * This method corresponds to the database table jsh_depothead - * - * @mbggenerated - */ - protected Criteria createCriteriaInternal() { - Criteria criteria = new Criteria(); - return criteria; - } - - /** - * This method was generated by MyBatis Generator. - * This method corresponds to the database table jsh_depothead - * - * @mbggenerated - */ - public void clear() { - oredCriteria.clear(); - orderByClause = null; - distinct = false; - } - - /** - * This class was generated by MyBatis Generator. - * This class corresponds to the database table jsh_depothead - * - * @mbggenerated - */ - protected abstract static class GeneratedCriteria { - protected List criteria; - - protected GeneratedCriteria() { - super(); - criteria = new ArrayList(); - } - - public boolean isValid() { - return criteria.size() > 0; - } - - public List getAllCriteria() { - return criteria; - } - - public List getCriteria() { - return criteria; - } - - protected void addCriterion(String condition) { - if (condition == null) { - throw new RuntimeException("Value for condition cannot be null"); - } - criteria.add(new Criterion(condition)); - } - - protected void addCriterion(String condition, Object value, String property) { - if (value == null) { - throw new RuntimeException("Value for " + property + " cannot be null"); - } - criteria.add(new Criterion(condition, value)); - } - - protected void addCriterion(String condition, Object value1, Object value2, String property) { - if (value1 == null || value2 == null) { - throw new RuntimeException("Between values for " + property + " cannot be null"); - } - criteria.add(new Criterion(condition, value1, value2)); - } - - public Criteria andIdIsNull() { - addCriterion("Id is null"); - return (Criteria) this; - } - - public Criteria andIdIsNotNull() { - addCriterion("Id is not null"); - return (Criteria) this; - } - - public Criteria andIdEqualTo(Long value) { - addCriterion("Id =", value, "id"); - return (Criteria) this; - } - - public Criteria andIdNotEqualTo(Long value) { - addCriterion("Id <>", value, "id"); - return (Criteria) this; - } - - public Criteria andIdGreaterThan(Long value) { - addCriterion("Id >", value, "id"); - return (Criteria) this; - } - - public Criteria andIdGreaterThanOrEqualTo(Long value) { - addCriterion("Id >=", value, "id"); - return (Criteria) this; - } - - public Criteria andIdLessThan(Long value) { - addCriterion("Id <", value, "id"); - return (Criteria) this; - } - - public Criteria andIdLessThanOrEqualTo(Long value) { - addCriterion("Id <=", value, "id"); - return (Criteria) this; - } - - public Criteria andIdIn(List values) { - addCriterion("Id in", values, "id"); - return (Criteria) this; - } - - public Criteria andIdNotIn(List values) { - addCriterion("Id not in", values, "id"); - return (Criteria) this; - } - - public Criteria andIdBetween(Long value1, Long value2) { - addCriterion("Id between", value1, value2, "id"); - return (Criteria) this; - } - - public Criteria andIdNotBetween(Long value1, Long value2) { - addCriterion("Id not between", value1, value2, "id"); - return (Criteria) this; - } - - public Criteria andTypeIsNull() { - addCriterion("Type is null"); - return (Criteria) this; - } - - public Criteria andTypeIsNotNull() { - addCriterion("Type is not null"); - return (Criteria) this; - } - - public Criteria andTypeEqualTo(String value) { - addCriterion("Type =", value, "type"); - return (Criteria) this; - } - - public Criteria andTypeNotEqualTo(String value) { - addCriterion("Type <>", value, "type"); - return (Criteria) this; - } - - public Criteria andTypeGreaterThan(String value) { - addCriterion("Type >", value, "type"); - return (Criteria) this; - } - - public Criteria andTypeGreaterThanOrEqualTo(String value) { - addCriterion("Type >=", value, "type"); - return (Criteria) this; - } - - public Criteria andTypeLessThan(String value) { - addCriterion("Type <", value, "type"); - return (Criteria) this; - } - - public Criteria andTypeLessThanOrEqualTo(String value) { - addCriterion("Type <=", value, "type"); - return (Criteria) this; - } - - public Criteria andTypeLike(String value) { - addCriterion("Type like", value, "type"); - return (Criteria) this; - } - - public Criteria andTypeNotLike(String value) { - addCriterion("Type not like", value, "type"); - return (Criteria) this; - } - - public Criteria andTypeIn(List values) { - addCriterion("Type in", values, "type"); - return (Criteria) this; - } - - public Criteria andTypeNotIn(List values) { - addCriterion("Type not in", values, "type"); - return (Criteria) this; - } - - public Criteria andTypeBetween(String value1, String value2) { - addCriterion("Type between", value1, value2, "type"); - return (Criteria) this; - } - - public Criteria andTypeNotBetween(String value1, String value2) { - addCriterion("Type not between", value1, value2, "type"); - return (Criteria) this; - } - - public Criteria andSubtypeIsNull() { - addCriterion("SubType is null"); - return (Criteria) this; - } - - public Criteria andSubtypeIsNotNull() { - addCriterion("SubType is not null"); - return (Criteria) this; - } - - public Criteria andSubtypeEqualTo(String value) { - addCriterion("SubType =", value, "subtype"); - return (Criteria) this; - } - - public Criteria andSubtypeNotEqualTo(String value) { - addCriterion("SubType <>", value, "subtype"); - return (Criteria) this; - } - - public Criteria andSubtypeGreaterThan(String value) { - addCriterion("SubType >", value, "subtype"); - return (Criteria) this; - } - - public Criteria andSubtypeGreaterThanOrEqualTo(String value) { - addCriterion("SubType >=", value, "subtype"); - return (Criteria) this; - } - - public Criteria andSubtypeLessThan(String value) { - addCriterion("SubType <", value, "subtype"); - return (Criteria) this; - } - - public Criteria andSubtypeLessThanOrEqualTo(String value) { - addCriterion("SubType <=", value, "subtype"); - return (Criteria) this; - } - - public Criteria andSubtypeLike(String value) { - addCriterion("SubType like", value, "subtype"); - return (Criteria) this; - } - - public Criteria andSubtypeNotLike(String value) { - addCriterion("SubType not like", value, "subtype"); - return (Criteria) this; - } - - public Criteria andSubtypeIn(List values) { - addCriterion("SubType in", values, "subtype"); - return (Criteria) this; - } - - public Criteria andSubtypeNotIn(List values) { - addCriterion("SubType not in", values, "subtype"); - return (Criteria) this; - } - - public Criteria andSubtypeBetween(String value1, String value2) { - addCriterion("SubType between", value1, value2, "subtype"); - return (Criteria) this; - } - - public Criteria andSubtypeNotBetween(String value1, String value2) { - addCriterion("SubType not between", value1, value2, "subtype"); - return (Criteria) this; - } - - public Criteria andProjectidIsNull() { - addCriterion("ProjectId is null"); - return (Criteria) this; - } - - public Criteria andProjectidIsNotNull() { - addCriterion("ProjectId is not null"); - return (Criteria) this; - } - - public Criteria andProjectidEqualTo(Long value) { - addCriterion("ProjectId =", value, "projectid"); - return (Criteria) this; - } - - public Criteria andProjectidNotEqualTo(Long value) { - addCriterion("ProjectId <>", value, "projectid"); - return (Criteria) this; - } - - public Criteria andProjectidGreaterThan(Long value) { - addCriterion("ProjectId >", value, "projectid"); - return (Criteria) this; - } - - public Criteria andProjectidGreaterThanOrEqualTo(Long value) { - addCriterion("ProjectId >=", value, "projectid"); - return (Criteria) this; - } - - public Criteria andProjectidLessThan(Long value) { - addCriterion("ProjectId <", value, "projectid"); - return (Criteria) this; - } - - public Criteria andProjectidLessThanOrEqualTo(Long value) { - addCriterion("ProjectId <=", value, "projectid"); - return (Criteria) this; - } - - public Criteria andProjectidIn(List values) { - addCriterion("ProjectId in", values, "projectid"); - return (Criteria) this; - } - - public Criteria andProjectidNotIn(List values) { - addCriterion("ProjectId not in", values, "projectid"); - return (Criteria) this; - } - - public Criteria andProjectidBetween(Long value1, Long value2) { - addCriterion("ProjectId between", value1, value2, "projectid"); - return (Criteria) this; - } - - public Criteria andProjectidNotBetween(Long value1, Long value2) { - addCriterion("ProjectId not between", value1, value2, "projectid"); - return (Criteria) this; - } - - public Criteria andDefaultnumberIsNull() { - addCriterion("DefaultNumber is null"); - return (Criteria) this; - } - - public Criteria andDefaultnumberIsNotNull() { - addCriterion("DefaultNumber is not null"); - return (Criteria) this; - } - - public Criteria andDefaultnumberEqualTo(String value) { - addCriterion("DefaultNumber =", value, "defaultnumber"); - return (Criteria) this; - } - - public Criteria andDefaultnumberNotEqualTo(String value) { - addCriterion("DefaultNumber <>", value, "defaultnumber"); - return (Criteria) this; - } - - public Criteria andDefaultnumberGreaterThan(String value) { - addCriterion("DefaultNumber >", value, "defaultnumber"); - return (Criteria) this; - } - - public Criteria andDefaultnumberGreaterThanOrEqualTo(String value) { - addCriterion("DefaultNumber >=", value, "defaultnumber"); - return (Criteria) this; - } - - public Criteria andDefaultnumberLessThan(String value) { - addCriterion("DefaultNumber <", value, "defaultnumber"); - return (Criteria) this; - } - - public Criteria andDefaultnumberLessThanOrEqualTo(String value) { - addCriterion("DefaultNumber <=", value, "defaultnumber"); - return (Criteria) this; - } - - public Criteria andDefaultnumberLike(String value) { - addCriterion("DefaultNumber like", value, "defaultnumber"); - return (Criteria) this; - } - - public Criteria andDefaultnumberNotLike(String value) { - addCriterion("DefaultNumber not like", value, "defaultnumber"); - return (Criteria) this; - } - - public Criteria andDefaultnumberIn(List values) { - addCriterion("DefaultNumber in", values, "defaultnumber"); - return (Criteria) this; - } - - public Criteria andDefaultnumberNotIn(List values) { - addCriterion("DefaultNumber not in", values, "defaultnumber"); - return (Criteria) this; - } - - public Criteria andDefaultnumberBetween(String value1, String value2) { - addCriterion("DefaultNumber between", value1, value2, "defaultnumber"); - return (Criteria) this; - } - - public Criteria andDefaultnumberNotBetween(String value1, String value2) { - addCriterion("DefaultNumber not between", value1, value2, "defaultnumber"); - return (Criteria) this; - } - - public Criteria andNumberIsNull() { - addCriterion("Number is null"); - return (Criteria) this; - } - - public Criteria andNumberIsNotNull() { - addCriterion("Number is not null"); - return (Criteria) this; - } - - public Criteria andNumberEqualTo(String value) { - addCriterion("Number =", value, "number"); - return (Criteria) this; - } - - public Criteria andNumberNotEqualTo(String value) { - addCriterion("Number <>", value, "number"); - return (Criteria) this; - } - - public Criteria andNumberGreaterThan(String value) { - addCriterion("Number >", value, "number"); - return (Criteria) this; - } - - public Criteria andNumberGreaterThanOrEqualTo(String value) { - addCriterion("Number >=", value, "number"); - return (Criteria) this; - } - - public Criteria andNumberLessThan(String value) { - addCriterion("Number <", value, "number"); - return (Criteria) this; - } - - public Criteria andNumberLessThanOrEqualTo(String value) { - addCriterion("Number <=", value, "number"); - return (Criteria) this; - } - - public Criteria andNumberLike(String value) { - addCriterion("Number like", value, "number"); - return (Criteria) this; - } - - public Criteria andNumberNotLike(String value) { - addCriterion("Number not like", value, "number"); - return (Criteria) this; - } - - public Criteria andNumberIn(List values) { - addCriterion("Number in", values, "number"); - return (Criteria) this; - } - - public Criteria andNumberNotIn(List values) { - addCriterion("Number not in", values, "number"); - return (Criteria) this; - } - - public Criteria andNumberBetween(String value1, String value2) { - addCriterion("Number between", value1, value2, "number"); - return (Criteria) this; - } - - public Criteria andNumberNotBetween(String value1, String value2) { - addCriterion("Number not between", value1, value2, "number"); - return (Criteria) this; - } - - public Criteria andOperpersonnameIsNull() { - addCriterion("OperPersonName is null"); - return (Criteria) this; - } - - public Criteria andOperpersonnameIsNotNull() { - addCriterion("OperPersonName is not null"); - return (Criteria) this; - } - - public Criteria andOperpersonnameEqualTo(String value) { - addCriterion("OperPersonName =", value, "operpersonname"); - return (Criteria) this; - } - - public Criteria andOperpersonnameNotEqualTo(String value) { - addCriterion("OperPersonName <>", value, "operpersonname"); - return (Criteria) this; - } - - public Criteria andOperpersonnameGreaterThan(String value) { - addCriterion("OperPersonName >", value, "operpersonname"); - return (Criteria) this; - } - - public Criteria andOperpersonnameGreaterThanOrEqualTo(String value) { - addCriterion("OperPersonName >=", value, "operpersonname"); - return (Criteria) this; - } - - public Criteria andOperpersonnameLessThan(String value) { - addCriterion("OperPersonName <", value, "operpersonname"); - return (Criteria) this; - } - - public Criteria andOperpersonnameLessThanOrEqualTo(String value) { - addCriterion("OperPersonName <=", value, "operpersonname"); - return (Criteria) this; - } - - public Criteria andOperpersonnameLike(String value) { - addCriterion("OperPersonName like", value, "operpersonname"); - return (Criteria) this; - } - - public Criteria andOperpersonnameNotLike(String value) { - addCriterion("OperPersonName not like", value, "operpersonname"); - return (Criteria) this; - } - - public Criteria andOperpersonnameIn(List values) { - addCriterion("OperPersonName in", values, "operpersonname"); - return (Criteria) this; - } - - public Criteria andOperpersonnameNotIn(List values) { - addCriterion("OperPersonName not in", values, "operpersonname"); - return (Criteria) this; - } - - public Criteria andOperpersonnameBetween(String value1, String value2) { - addCriterion("OperPersonName between", value1, value2, "operpersonname"); - return (Criteria) this; - } - - public Criteria andOperpersonnameNotBetween(String value1, String value2) { - addCriterion("OperPersonName not between", value1, value2, "operpersonname"); - return (Criteria) this; - } - - public Criteria andCreatetimeIsNull() { - addCriterion("CreateTime is null"); - return (Criteria) this; - } - - public Criteria andCreatetimeIsNotNull() { - addCriterion("CreateTime is not null"); - return (Criteria) this; - } - - public Criteria andCreatetimeEqualTo(Date value) { - addCriterion("CreateTime =", value, "createtime"); - return (Criteria) this; - } - - public Criteria andCreatetimeNotEqualTo(Date value) { - addCriterion("CreateTime <>", value, "createtime"); - return (Criteria) this; - } - - public Criteria andCreatetimeGreaterThan(Date value) { - addCriterion("CreateTime >", value, "createtime"); - return (Criteria) this; - } - - public Criteria andCreatetimeGreaterThanOrEqualTo(Date value) { - addCriterion("CreateTime >=", value, "createtime"); - return (Criteria) this; - } - - public Criteria andCreatetimeLessThan(Date value) { - addCriterion("CreateTime <", value, "createtime"); - return (Criteria) this; - } - - public Criteria andCreatetimeLessThanOrEqualTo(Date value) { - addCriterion("CreateTime <=", value, "createtime"); - return (Criteria) this; - } - - public Criteria andCreatetimeIn(List values) { - addCriterion("CreateTime in", values, "createtime"); - return (Criteria) this; - } - - public Criteria andCreatetimeNotIn(List values) { - addCriterion("CreateTime not in", values, "createtime"); - return (Criteria) this; - } - - public Criteria andCreatetimeBetween(Date value1, Date value2) { - addCriterion("CreateTime between", value1, value2, "createtime"); - return (Criteria) this; - } - - public Criteria andCreatetimeNotBetween(Date value1, Date value2) { - addCriterion("CreateTime not between", value1, value2, "createtime"); - return (Criteria) this; - } - - public Criteria andOpertimeIsNull() { - addCriterion("OperTime is null"); - return (Criteria) this; - } - - public Criteria andOpertimeIsNotNull() { - addCriterion("OperTime is not null"); - return (Criteria) this; - } - - public Criteria andOpertimeEqualTo(Date value) { - addCriterion("OperTime =", value, "opertime"); - return (Criteria) this; - } - - public Criteria andOpertimeNotEqualTo(Date value) { - addCriterion("OperTime <>", value, "opertime"); - return (Criteria) this; - } - - public Criteria andOpertimeGreaterThan(Date value) { - addCriterion("OperTime >", value, "opertime"); - return (Criteria) this; - } - - public Criteria andOpertimeGreaterThanOrEqualTo(Date value) { - addCriterion("OperTime >=", value, "opertime"); - return (Criteria) this; - } - - public Criteria andOpertimeLessThan(Date value) { - addCriterion("OperTime <", value, "opertime"); - return (Criteria) this; - } - - public Criteria andOpertimeLessThanOrEqualTo(Date value) { - addCriterion("OperTime <=", value, "opertime"); - return (Criteria) this; - } - - public Criteria andOpertimeIn(List values) { - addCriterion("OperTime in", values, "opertime"); - return (Criteria) this; - } - - public Criteria andOpertimeNotIn(List values) { - addCriterion("OperTime not in", values, "opertime"); - return (Criteria) this; - } - - public Criteria andOpertimeBetween(Date value1, Date value2) { - addCriterion("OperTime between", value1, value2, "opertime"); - return (Criteria) this; - } - - public Criteria andOpertimeNotBetween(Date value1, Date value2) { - addCriterion("OperTime not between", value1, value2, "opertime"); - return (Criteria) this; - } - - public Criteria andOrganidIsNull() { - addCriterion("OrganId is null"); - return (Criteria) this; - } - - public Criteria andOrganidIsNotNull() { - addCriterion("OrganId is not null"); - return (Criteria) this; - } - - public Criteria andOrganidEqualTo(Long value) { - addCriterion("OrganId =", value, "organid"); - return (Criteria) this; - } - - public Criteria andOrganidNotEqualTo(Long value) { - addCriterion("OrganId <>", value, "organid"); - return (Criteria) this; - } - - public Criteria andOrganidGreaterThan(Long value) { - addCriterion("OrganId >", value, "organid"); - return (Criteria) this; - } - - public Criteria andOrganidGreaterThanOrEqualTo(Long value) { - addCriterion("OrganId >=", value, "organid"); - return (Criteria) this; - } - - public Criteria andOrganidLessThan(Long value) { - addCriterion("OrganId <", value, "organid"); - return (Criteria) this; - } - - public Criteria andOrganidLessThanOrEqualTo(Long value) { - addCriterion("OrganId <=", value, "organid"); - return (Criteria) this; - } - - public Criteria andOrganidIn(List values) { - addCriterion("OrganId in", values, "organid"); - return (Criteria) this; - } - - public Criteria andOrganidNotIn(List values) { - addCriterion("OrganId not in", values, "organid"); - return (Criteria) this; - } - - public Criteria andOrganidBetween(Long value1, Long value2) { - addCriterion("OrganId between", value1, value2, "organid"); - return (Criteria) this; - } - - public Criteria andOrganidNotBetween(Long value1, Long value2) { - addCriterion("OrganId not between", value1, value2, "organid"); - return (Criteria) this; - } - - public Criteria andHandspersonidIsNull() { - addCriterion("HandsPersonId is null"); - return (Criteria) this; - } - - public Criteria andHandspersonidIsNotNull() { - addCriterion("HandsPersonId is not null"); - return (Criteria) this; - } - - public Criteria andHandspersonidEqualTo(Long value) { - addCriterion("HandsPersonId =", value, "handspersonid"); - return (Criteria) this; - } - - public Criteria andHandspersonidNotEqualTo(Long value) { - addCriterion("HandsPersonId <>", value, "handspersonid"); - return (Criteria) this; - } - - public Criteria andHandspersonidGreaterThan(Long value) { - addCriterion("HandsPersonId >", value, "handspersonid"); - return (Criteria) this; - } - - public Criteria andHandspersonidGreaterThanOrEqualTo(Long value) { - addCriterion("HandsPersonId >=", value, "handspersonid"); - return (Criteria) this; - } - - public Criteria andHandspersonidLessThan(Long value) { - addCriterion("HandsPersonId <", value, "handspersonid"); - return (Criteria) this; - } - - public Criteria andHandspersonidLessThanOrEqualTo(Long value) { - addCriterion("HandsPersonId <=", value, "handspersonid"); - return (Criteria) this; - } - - public Criteria andHandspersonidIn(List values) { - addCriterion("HandsPersonId in", values, "handspersonid"); - return (Criteria) this; - } - - public Criteria andHandspersonidNotIn(List values) { - addCriterion("HandsPersonId not in", values, "handspersonid"); - return (Criteria) this; - } - - public Criteria andHandspersonidBetween(Long value1, Long value2) { - addCriterion("HandsPersonId between", value1, value2, "handspersonid"); - return (Criteria) this; - } - - public Criteria andHandspersonidNotBetween(Long value1, Long value2) { - addCriterion("HandsPersonId not between", value1, value2, "handspersonid"); - return (Criteria) this; - } - - public Criteria andAccountidIsNull() { - addCriterion("AccountId is null"); - return (Criteria) this; - } - - public Criteria andAccountidIsNotNull() { - addCriterion("AccountId is not null"); - return (Criteria) this; - } - - public Criteria andAccountidEqualTo(Long value) { - addCriterion("AccountId =", value, "accountid"); - return (Criteria) this; - } - - public Criteria andAccountidNotEqualTo(Long value) { - addCriterion("AccountId <>", value, "accountid"); - return (Criteria) this; - } - - public Criteria andAccountidGreaterThan(Long value) { - addCriterion("AccountId >", value, "accountid"); - return (Criteria) this; - } - - public Criteria andAccountidGreaterThanOrEqualTo(Long value) { - addCriterion("AccountId >=", value, "accountid"); - return (Criteria) this; - } - - public Criteria andAccountidLessThan(Long value) { - addCriterion("AccountId <", value, "accountid"); - return (Criteria) this; - } - - public Criteria andAccountidLessThanOrEqualTo(Long value) { - addCriterion("AccountId <=", value, "accountid"); - return (Criteria) this; - } - - public Criteria andAccountidIn(List values) { - addCriterion("AccountId in", values, "accountid"); - return (Criteria) this; - } - - public Criteria andAccountidNotIn(List values) { - addCriterion("AccountId not in", values, "accountid"); - return (Criteria) this; - } - - public Criteria andAccountidBetween(Long value1, Long value2) { - addCriterion("AccountId between", value1, value2, "accountid"); - return (Criteria) this; - } - - public Criteria andAccountidNotBetween(Long value1, Long value2) { - addCriterion("AccountId not between", value1, value2, "accountid"); - return (Criteria) this; - } - - public Criteria andChangeamountIsNull() { - addCriterion("ChangeAmount is null"); - return (Criteria) this; - } - - public Criteria andChangeamountIsNotNull() { - addCriterion("ChangeAmount is not null"); - return (Criteria) this; - } - - public Criteria andChangeamountEqualTo(BigDecimal value) { - addCriterion("ChangeAmount =", value, "changeamount"); - return (Criteria) this; - } - - public Criteria andChangeamountNotEqualTo(BigDecimal value) { - addCriterion("ChangeAmount <>", value, "changeamount"); - return (Criteria) this; - } - - public Criteria andChangeamountGreaterThan(BigDecimal value) { - addCriterion("ChangeAmount >", value, "changeamount"); - return (Criteria) this; - } - - public Criteria andChangeamountGreaterThanOrEqualTo(BigDecimal value) { - addCriterion("ChangeAmount >=", value, "changeamount"); - return (Criteria) this; - } - - public Criteria andChangeamountLessThan(BigDecimal value) { - addCriterion("ChangeAmount <", value, "changeamount"); - return (Criteria) this; - } - - public Criteria andChangeamountLessThanOrEqualTo(BigDecimal value) { - addCriterion("ChangeAmount <=", value, "changeamount"); - return (Criteria) this; - } - - public Criteria andChangeamountIn(List values) { - addCriterion("ChangeAmount in", values, "changeamount"); - return (Criteria) this; - } - - public Criteria andChangeamountNotIn(List values) { - addCriterion("ChangeAmount not in", values, "changeamount"); - return (Criteria) this; - } - - public Criteria andChangeamountBetween(BigDecimal value1, BigDecimal value2) { - addCriterion("ChangeAmount between", value1, value2, "changeamount"); - return (Criteria) this; - } - - public Criteria andChangeamountNotBetween(BigDecimal value1, BigDecimal value2) { - addCriterion("ChangeAmount not between", value1, value2, "changeamount"); - return (Criteria) this; - } - - public Criteria andAllocationprojectidIsNull() { - addCriterion("AllocationProjectId is null"); - return (Criteria) this; - } - - public Criteria andAllocationprojectidIsNotNull() { - addCriterion("AllocationProjectId is not null"); - return (Criteria) this; - } - - public Criteria andAllocationprojectidEqualTo(Long value) { - addCriterion("AllocationProjectId =", value, "allocationprojectid"); - return (Criteria) this; - } - - public Criteria andAllocationprojectidNotEqualTo(Long value) { - addCriterion("AllocationProjectId <>", value, "allocationprojectid"); - return (Criteria) this; - } - - public Criteria andAllocationprojectidGreaterThan(Long value) { - addCriterion("AllocationProjectId >", value, "allocationprojectid"); - return (Criteria) this; - } - - public Criteria andAllocationprojectidGreaterThanOrEqualTo(Long value) { - addCriterion("AllocationProjectId >=", value, "allocationprojectid"); - return (Criteria) this; - } - - public Criteria andAllocationprojectidLessThan(Long value) { - addCriterion("AllocationProjectId <", value, "allocationprojectid"); - return (Criteria) this; - } - - public Criteria andAllocationprojectidLessThanOrEqualTo(Long value) { - addCriterion("AllocationProjectId <=", value, "allocationprojectid"); - return (Criteria) this; - } - - public Criteria andAllocationprojectidIn(List values) { - addCriterion("AllocationProjectId in", values, "allocationprojectid"); - return (Criteria) this; - } - - public Criteria andAllocationprojectidNotIn(List values) { - addCriterion("AllocationProjectId not in", values, "allocationprojectid"); - return (Criteria) this; - } - - public Criteria andAllocationprojectidBetween(Long value1, Long value2) { - addCriterion("AllocationProjectId between", value1, value2, "allocationprojectid"); - return (Criteria) this; - } - - public Criteria andAllocationprojectidNotBetween(Long value1, Long value2) { - addCriterion("AllocationProjectId not between", value1, value2, "allocationprojectid"); - return (Criteria) this; - } - - public Criteria andTotalpriceIsNull() { - addCriterion("TotalPrice is null"); - return (Criteria) this; - } - - public Criteria andTotalpriceIsNotNull() { - addCriterion("TotalPrice is not null"); - return (Criteria) this; - } - - public Criteria andTotalpriceEqualTo(BigDecimal value) { - addCriterion("TotalPrice =", value, "totalprice"); - return (Criteria) this; - } - - public Criteria andTotalpriceNotEqualTo(BigDecimal value) { - addCriterion("TotalPrice <>", value, "totalprice"); - return (Criteria) this; - } - - public Criteria andTotalpriceGreaterThan(BigDecimal value) { - addCriterion("TotalPrice >", value, "totalprice"); - return (Criteria) this; - } - - public Criteria andTotalpriceGreaterThanOrEqualTo(BigDecimal value) { - addCriterion("TotalPrice >=", value, "totalprice"); - return (Criteria) this; - } - - public Criteria andTotalpriceLessThan(BigDecimal value) { - addCriterion("TotalPrice <", value, "totalprice"); - return (Criteria) this; - } - - public Criteria andTotalpriceLessThanOrEqualTo(BigDecimal value) { - addCriterion("TotalPrice <=", value, "totalprice"); - return (Criteria) this; - } - - public Criteria andTotalpriceIn(List values) { - addCriterion("TotalPrice in", values, "totalprice"); - return (Criteria) this; - } - - public Criteria andTotalpriceNotIn(List values) { - addCriterion("TotalPrice not in", values, "totalprice"); - return (Criteria) this; - } - - public Criteria andTotalpriceBetween(BigDecimal value1, BigDecimal value2) { - addCriterion("TotalPrice between", value1, value2, "totalprice"); - return (Criteria) this; - } - - public Criteria andTotalpriceNotBetween(BigDecimal value1, BigDecimal value2) { - addCriterion("TotalPrice not between", value1, value2, "totalprice"); - return (Criteria) this; - } - - public Criteria andPaytypeIsNull() { - addCriterion("PayType is null"); - return (Criteria) this; - } - - public Criteria andPaytypeIsNotNull() { - addCriterion("PayType is not null"); - return (Criteria) this; - } - - public Criteria andPaytypeEqualTo(String value) { - addCriterion("PayType =", value, "paytype"); - return (Criteria) this; - } - - public Criteria andPaytypeNotEqualTo(String value) { - addCriterion("PayType <>", value, "paytype"); - return (Criteria) this; - } - - public Criteria andPaytypeGreaterThan(String value) { - addCriterion("PayType >", value, "paytype"); - return (Criteria) this; - } - - public Criteria andPaytypeGreaterThanOrEqualTo(String value) { - addCriterion("PayType >=", value, "paytype"); - return (Criteria) this; - } - - public Criteria andPaytypeLessThan(String value) { - addCriterion("PayType <", value, "paytype"); - return (Criteria) this; - } - - public Criteria andPaytypeLessThanOrEqualTo(String value) { - addCriterion("PayType <=", value, "paytype"); - return (Criteria) this; - } - - public Criteria andPaytypeLike(String value) { - addCriterion("PayType like", value, "paytype"); - return (Criteria) this; - } - - public Criteria andPaytypeNotLike(String value) { - addCriterion("PayType not like", value, "paytype"); - return (Criteria) this; - } - - public Criteria andPaytypeIn(List values) { - addCriterion("PayType in", values, "paytype"); - return (Criteria) this; - } - - public Criteria andPaytypeNotIn(List values) { - addCriterion("PayType not in", values, "paytype"); - return (Criteria) this; - } - - public Criteria andPaytypeBetween(String value1, String value2) { - addCriterion("PayType between", value1, value2, "paytype"); - return (Criteria) this; - } - - public Criteria andPaytypeNotBetween(String value1, String value2) { - addCriterion("PayType not between", value1, value2, "paytype"); - return (Criteria) this; - } - - public Criteria andRemarkIsNull() { - addCriterion("Remark is null"); - return (Criteria) this; - } - - public Criteria andRemarkIsNotNull() { - addCriterion("Remark is not null"); - return (Criteria) this; - } - - public Criteria andRemarkEqualTo(String value) { - addCriterion("Remark =", value, "remark"); - return (Criteria) this; - } - - public Criteria andRemarkNotEqualTo(String value) { - addCriterion("Remark <>", value, "remark"); - return (Criteria) this; - } - - public Criteria andRemarkGreaterThan(String value) { - addCriterion("Remark >", value, "remark"); - return (Criteria) this; - } - - public Criteria andRemarkGreaterThanOrEqualTo(String value) { - addCriterion("Remark >=", value, "remark"); - return (Criteria) this; - } - - public Criteria andRemarkLessThan(String value) { - addCriterion("Remark <", value, "remark"); - return (Criteria) this; - } - - public Criteria andRemarkLessThanOrEqualTo(String value) { - addCriterion("Remark <=", value, "remark"); - return (Criteria) this; - } - - public Criteria andRemarkLike(String value) { - addCriterion("Remark like", value, "remark"); - return (Criteria) this; - } - - public Criteria andRemarkNotLike(String value) { - addCriterion("Remark not like", value, "remark"); - return (Criteria) this; - } - - public Criteria andRemarkIn(List values) { - addCriterion("Remark in", values, "remark"); - return (Criteria) this; - } - - public Criteria andRemarkNotIn(List values) { - addCriterion("Remark not in", values, "remark"); - return (Criteria) this; - } - - public Criteria andRemarkBetween(String value1, String value2) { - addCriterion("Remark between", value1, value2, "remark"); - return (Criteria) this; - } - - public Criteria andRemarkNotBetween(String value1, String value2) { - addCriterion("Remark not between", value1, value2, "remark"); - return (Criteria) this; - } - - public Criteria andSalesmanIsNull() { - addCriterion("Salesman is null"); - return (Criteria) this; - } - - public Criteria andSalesmanIsNotNull() { - addCriterion("Salesman is not null"); - return (Criteria) this; - } - - public Criteria andSalesmanEqualTo(String value) { - addCriterion("Salesman =", value, "salesman"); - return (Criteria) this; - } - - public Criteria andSalesmanNotEqualTo(String value) { - addCriterion("Salesman <>", value, "salesman"); - return (Criteria) this; - } - - public Criteria andSalesmanGreaterThan(String value) { - addCriterion("Salesman >", value, "salesman"); - return (Criteria) this; - } - - public Criteria andSalesmanGreaterThanOrEqualTo(String value) { - addCriterion("Salesman >=", value, "salesman"); - return (Criteria) this; - } - - public Criteria andSalesmanLessThan(String value) { - addCriterion("Salesman <", value, "salesman"); - return (Criteria) this; - } - - public Criteria andSalesmanLessThanOrEqualTo(String value) { - addCriterion("Salesman <=", value, "salesman"); - return (Criteria) this; - } - - public Criteria andSalesmanLike(String value) { - addCriterion("Salesman like", value, "salesman"); - return (Criteria) this; - } - - public Criteria andSalesmanNotLike(String value) { - addCriterion("Salesman not like", value, "salesman"); - return (Criteria) this; - } - - public Criteria andSalesmanIn(List values) { - addCriterion("Salesman in", values, "salesman"); - return (Criteria) this; - } - - public Criteria andSalesmanNotIn(List values) { - addCriterion("Salesman not in", values, "salesman"); - return (Criteria) this; - } - - public Criteria andSalesmanBetween(String value1, String value2) { - addCriterion("Salesman between", value1, value2, "salesman"); - return (Criteria) this; - } - - public Criteria andSalesmanNotBetween(String value1, String value2) { - addCriterion("Salesman not between", value1, value2, "salesman"); - return (Criteria) this; - } - - public Criteria andAccountidlistIsNull() { - addCriterion("AccountIdList is null"); - return (Criteria) this; - } - - public Criteria andAccountidlistIsNotNull() { - addCriterion("AccountIdList is not null"); - return (Criteria) this; - } - - public Criteria andAccountidlistEqualTo(String value) { - addCriterion("AccountIdList =", value, "accountidlist"); - return (Criteria) this; - } - - public Criteria andAccountidlistNotEqualTo(String value) { - addCriterion("AccountIdList <>", value, "accountidlist"); - return (Criteria) this; - } - - public Criteria andAccountidlistGreaterThan(String value) { - addCriterion("AccountIdList >", value, "accountidlist"); - return (Criteria) this; - } - - public Criteria andAccountidlistGreaterThanOrEqualTo(String value) { - addCriterion("AccountIdList >=", value, "accountidlist"); - return (Criteria) this; - } - - public Criteria andAccountidlistLessThan(String value) { - addCriterion("AccountIdList <", value, "accountidlist"); - return (Criteria) this; - } - - public Criteria andAccountidlistLessThanOrEqualTo(String value) { - addCriterion("AccountIdList <=", value, "accountidlist"); - return (Criteria) this; - } - - public Criteria andAccountidlistLike(String value) { - addCriterion("AccountIdList like", value, "accountidlist"); - return (Criteria) this; - } - - public Criteria andAccountidlistNotLike(String value) { - addCriterion("AccountIdList not like", value, "accountidlist"); - return (Criteria) this; - } - - public Criteria andAccountidlistIn(List values) { - addCriterion("AccountIdList in", values, "accountidlist"); - return (Criteria) this; - } - - public Criteria andAccountidlistNotIn(List values) { - addCriterion("AccountIdList not in", values, "accountidlist"); - return (Criteria) this; - } - - public Criteria andAccountidlistBetween(String value1, String value2) { - addCriterion("AccountIdList between", value1, value2, "accountidlist"); - return (Criteria) this; - } - - public Criteria andAccountidlistNotBetween(String value1, String value2) { - addCriterion("AccountIdList not between", value1, value2, "accountidlist"); - return (Criteria) this; - } - - public Criteria andAccountmoneylistIsNull() { - addCriterion("AccountMoneyList is null"); - return (Criteria) this; - } - - public Criteria andAccountmoneylistIsNotNull() { - addCriterion("AccountMoneyList is not null"); - return (Criteria) this; - } - - public Criteria andAccountmoneylistEqualTo(String value) { - addCriterion("AccountMoneyList =", value, "accountmoneylist"); - return (Criteria) this; - } - - public Criteria andAccountmoneylistNotEqualTo(String value) { - addCriterion("AccountMoneyList <>", value, "accountmoneylist"); - return (Criteria) this; - } - - public Criteria andAccountmoneylistGreaterThan(String value) { - addCriterion("AccountMoneyList >", value, "accountmoneylist"); - return (Criteria) this; - } - - public Criteria andAccountmoneylistGreaterThanOrEqualTo(String value) { - addCriterion("AccountMoneyList >=", value, "accountmoneylist"); - return (Criteria) this; - } - - public Criteria andAccountmoneylistLessThan(String value) { - addCriterion("AccountMoneyList <", value, "accountmoneylist"); - return (Criteria) this; - } - - public Criteria andAccountmoneylistLessThanOrEqualTo(String value) { - addCriterion("AccountMoneyList <=", value, "accountmoneylist"); - return (Criteria) this; - } - - public Criteria andAccountmoneylistLike(String value) { - addCriterion("AccountMoneyList like", value, "accountmoneylist"); - return (Criteria) this; - } - - public Criteria andAccountmoneylistNotLike(String value) { - addCriterion("AccountMoneyList not like", value, "accountmoneylist"); - return (Criteria) this; - } - - public Criteria andAccountmoneylistIn(List values) { - addCriterion("AccountMoneyList in", values, "accountmoneylist"); - return (Criteria) this; - } - - public Criteria andAccountmoneylistNotIn(List values) { - addCriterion("AccountMoneyList not in", values, "accountmoneylist"); - return (Criteria) this; - } - - public Criteria andAccountmoneylistBetween(String value1, String value2) { - addCriterion("AccountMoneyList between", value1, value2, "accountmoneylist"); - return (Criteria) this; - } - - public Criteria andAccountmoneylistNotBetween(String value1, String value2) { - addCriterion("AccountMoneyList not between", value1, value2, "accountmoneylist"); - return (Criteria) this; - } - - public Criteria andDiscountIsNull() { - addCriterion("Discount is null"); - return (Criteria) this; - } - - public Criteria andDiscountIsNotNull() { - addCriterion("Discount is not null"); - return (Criteria) this; - } - - public Criteria andDiscountEqualTo(BigDecimal value) { - addCriterion("Discount =", value, "discount"); - return (Criteria) this; - } - - public Criteria andDiscountNotEqualTo(BigDecimal value) { - addCriterion("Discount <>", value, "discount"); - return (Criteria) this; - } - - public Criteria andDiscountGreaterThan(BigDecimal value) { - addCriterion("Discount >", value, "discount"); - return (Criteria) this; - } - - public Criteria andDiscountGreaterThanOrEqualTo(BigDecimal value) { - addCriterion("Discount >=", value, "discount"); - return (Criteria) this; - } - - public Criteria andDiscountLessThan(BigDecimal value) { - addCriterion("Discount <", value, "discount"); - return (Criteria) this; - } - - public Criteria andDiscountLessThanOrEqualTo(BigDecimal value) { - addCriterion("Discount <=", value, "discount"); - return (Criteria) this; - } - - public Criteria andDiscountIn(List values) { - addCriterion("Discount in", values, "discount"); - return (Criteria) this; - } - - public Criteria andDiscountNotIn(List values) { - addCriterion("Discount not in", values, "discount"); - return (Criteria) this; - } - - public Criteria andDiscountBetween(BigDecimal value1, BigDecimal value2) { - addCriterion("Discount between", value1, value2, "discount"); - return (Criteria) this; - } - - public Criteria andDiscountNotBetween(BigDecimal value1, BigDecimal value2) { - addCriterion("Discount not between", value1, value2, "discount"); - return (Criteria) this; - } - - public Criteria andDiscountmoneyIsNull() { - addCriterion("DiscountMoney is null"); - return (Criteria) this; - } - - public Criteria andDiscountmoneyIsNotNull() { - addCriterion("DiscountMoney is not null"); - return (Criteria) this; - } - - public Criteria andDiscountmoneyEqualTo(BigDecimal value) { - addCriterion("DiscountMoney =", value, "discountmoney"); - return (Criteria) this; - } - - public Criteria andDiscountmoneyNotEqualTo(BigDecimal value) { - addCriterion("DiscountMoney <>", value, "discountmoney"); - return (Criteria) this; - } - - public Criteria andDiscountmoneyGreaterThan(BigDecimal value) { - addCriterion("DiscountMoney >", value, "discountmoney"); - return (Criteria) this; - } - - public Criteria andDiscountmoneyGreaterThanOrEqualTo(BigDecimal value) { - addCriterion("DiscountMoney >=", value, "discountmoney"); - return (Criteria) this; - } - - public Criteria andDiscountmoneyLessThan(BigDecimal value) { - addCriterion("DiscountMoney <", value, "discountmoney"); - return (Criteria) this; - } - - public Criteria andDiscountmoneyLessThanOrEqualTo(BigDecimal value) { - addCriterion("DiscountMoney <=", value, "discountmoney"); - return (Criteria) this; - } - - public Criteria andDiscountmoneyIn(List values) { - addCriterion("DiscountMoney in", values, "discountmoney"); - return (Criteria) this; - } - - public Criteria andDiscountmoneyNotIn(List values) { - addCriterion("DiscountMoney not in", values, "discountmoney"); - return (Criteria) this; - } - - public Criteria andDiscountmoneyBetween(BigDecimal value1, BigDecimal value2) { - addCriterion("DiscountMoney between", value1, value2, "discountmoney"); - return (Criteria) this; - } - - public Criteria andDiscountmoneyNotBetween(BigDecimal value1, BigDecimal value2) { - addCriterion("DiscountMoney not between", value1, value2, "discountmoney"); - return (Criteria) this; - } - - public Criteria andDiscountlastmoneyIsNull() { - addCriterion("DiscountLastMoney is null"); - return (Criteria) this; - } - - public Criteria andDiscountlastmoneyIsNotNull() { - addCriterion("DiscountLastMoney is not null"); - return (Criteria) this; - } - - public Criteria andDiscountlastmoneyEqualTo(BigDecimal value) { - addCriterion("DiscountLastMoney =", value, "discountlastmoney"); - return (Criteria) this; - } - - public Criteria andDiscountlastmoneyNotEqualTo(BigDecimal value) { - addCriterion("DiscountLastMoney <>", value, "discountlastmoney"); - return (Criteria) this; - } - - public Criteria andDiscountlastmoneyGreaterThan(BigDecimal value) { - addCriterion("DiscountLastMoney >", value, "discountlastmoney"); - return (Criteria) this; - } - - public Criteria andDiscountlastmoneyGreaterThanOrEqualTo(BigDecimal value) { - addCriterion("DiscountLastMoney >=", value, "discountlastmoney"); - return (Criteria) this; - } - - public Criteria andDiscountlastmoneyLessThan(BigDecimal value) { - addCriterion("DiscountLastMoney <", value, "discountlastmoney"); - return (Criteria) this; - } - - public Criteria andDiscountlastmoneyLessThanOrEqualTo(BigDecimal value) { - addCriterion("DiscountLastMoney <=", value, "discountlastmoney"); - return (Criteria) this; - } - - public Criteria andDiscountlastmoneyIn(List values) { - addCriterion("DiscountLastMoney in", values, "discountlastmoney"); - return (Criteria) this; - } - - public Criteria andDiscountlastmoneyNotIn(List values) { - addCriterion("DiscountLastMoney not in", values, "discountlastmoney"); - return (Criteria) this; - } - - public Criteria andDiscountlastmoneyBetween(BigDecimal value1, BigDecimal value2) { - addCriterion("DiscountLastMoney between", value1, value2, "discountlastmoney"); - return (Criteria) this; - } - - public Criteria andDiscountlastmoneyNotBetween(BigDecimal value1, BigDecimal value2) { - addCriterion("DiscountLastMoney not between", value1, value2, "discountlastmoney"); - return (Criteria) this; - } - - public Criteria andOthermoneyIsNull() { - addCriterion("OtherMoney is null"); - return (Criteria) this; - } - - public Criteria andOthermoneyIsNotNull() { - addCriterion("OtherMoney is not null"); - return (Criteria) this; - } - - public Criteria andOthermoneyEqualTo(BigDecimal value) { - addCriterion("OtherMoney =", value, "othermoney"); - return (Criteria) this; - } - - public Criteria andOthermoneyNotEqualTo(BigDecimal value) { - addCriterion("OtherMoney <>", value, "othermoney"); - return (Criteria) this; - } - - public Criteria andOthermoneyGreaterThan(BigDecimal value) { - addCriterion("OtherMoney >", value, "othermoney"); - return (Criteria) this; - } - - public Criteria andOthermoneyGreaterThanOrEqualTo(BigDecimal value) { - addCriterion("OtherMoney >=", value, "othermoney"); - return (Criteria) this; - } - - public Criteria andOthermoneyLessThan(BigDecimal value) { - addCriterion("OtherMoney <", value, "othermoney"); - return (Criteria) this; - } - - public Criteria andOthermoneyLessThanOrEqualTo(BigDecimal value) { - addCriterion("OtherMoney <=", value, "othermoney"); - return (Criteria) this; - } - - public Criteria andOthermoneyIn(List values) { - addCriterion("OtherMoney in", values, "othermoney"); - return (Criteria) this; - } - - public Criteria andOthermoneyNotIn(List values) { - addCriterion("OtherMoney not in", values, "othermoney"); - return (Criteria) this; - } - - public Criteria andOthermoneyBetween(BigDecimal value1, BigDecimal value2) { - addCriterion("OtherMoney between", value1, value2, "othermoney"); - return (Criteria) this; - } - - public Criteria andOthermoneyNotBetween(BigDecimal value1, BigDecimal value2) { - addCriterion("OtherMoney not between", value1, value2, "othermoney"); - return (Criteria) this; - } - - public Criteria andOthermoneylistIsNull() { - addCriterion("OtherMoneyList is null"); - return (Criteria) this; - } - - public Criteria andOthermoneylistIsNotNull() { - addCriterion("OtherMoneyList is not null"); - return (Criteria) this; - } - - public Criteria andOthermoneylistEqualTo(String value) { - addCriterion("OtherMoneyList =", value, "othermoneylist"); - return (Criteria) this; - } - - public Criteria andOthermoneylistNotEqualTo(String value) { - addCriterion("OtherMoneyList <>", value, "othermoneylist"); - return (Criteria) this; - } - - public Criteria andOthermoneylistGreaterThan(String value) { - addCriterion("OtherMoneyList >", value, "othermoneylist"); - return (Criteria) this; - } - - public Criteria andOthermoneylistGreaterThanOrEqualTo(String value) { - addCriterion("OtherMoneyList >=", value, "othermoneylist"); - return (Criteria) this; - } - - public Criteria andOthermoneylistLessThan(String value) { - addCriterion("OtherMoneyList <", value, "othermoneylist"); - return (Criteria) this; - } - - public Criteria andOthermoneylistLessThanOrEqualTo(String value) { - addCriterion("OtherMoneyList <=", value, "othermoneylist"); - return (Criteria) this; - } - - public Criteria andOthermoneylistLike(String value) { - addCriterion("OtherMoneyList like", value, "othermoneylist"); - return (Criteria) this; - } - - public Criteria andOthermoneylistNotLike(String value) { - addCriterion("OtherMoneyList not like", value, "othermoneylist"); - return (Criteria) this; - } - - public Criteria andOthermoneylistIn(List values) { - addCriterion("OtherMoneyList in", values, "othermoneylist"); - return (Criteria) this; - } - - public Criteria andOthermoneylistNotIn(List values) { - addCriterion("OtherMoneyList not in", values, "othermoneylist"); - return (Criteria) this; - } - - public Criteria andOthermoneylistBetween(String value1, String value2) { - addCriterion("OtherMoneyList between", value1, value2, "othermoneylist"); - return (Criteria) this; - } - - public Criteria andOthermoneylistNotBetween(String value1, String value2) { - addCriterion("OtherMoneyList not between", value1, value2, "othermoneylist"); - return (Criteria) this; - } - - public Criteria andOthermoneyitemIsNull() { - addCriterion("OtherMoneyItem is null"); - return (Criteria) this; - } - - public Criteria andOthermoneyitemIsNotNull() { - addCriterion("OtherMoneyItem is not null"); - return (Criteria) this; - } - - public Criteria andOthermoneyitemEqualTo(String value) { - addCriterion("OtherMoneyItem =", value, "othermoneyitem"); - return (Criteria) this; - } - - public Criteria andOthermoneyitemNotEqualTo(String value) { - addCriterion("OtherMoneyItem <>", value, "othermoneyitem"); - return (Criteria) this; - } - - public Criteria andOthermoneyitemGreaterThan(String value) { - addCriterion("OtherMoneyItem >", value, "othermoneyitem"); - return (Criteria) this; - } - - public Criteria andOthermoneyitemGreaterThanOrEqualTo(String value) { - addCriterion("OtherMoneyItem >=", value, "othermoneyitem"); - return (Criteria) this; - } - - public Criteria andOthermoneyitemLessThan(String value) { - addCriterion("OtherMoneyItem <", value, "othermoneyitem"); - return (Criteria) this; - } - - public Criteria andOthermoneyitemLessThanOrEqualTo(String value) { - addCriterion("OtherMoneyItem <=", value, "othermoneyitem"); - return (Criteria) this; - } - - public Criteria andOthermoneyitemLike(String value) { - addCriterion("OtherMoneyItem like", value, "othermoneyitem"); - return (Criteria) this; - } - - public Criteria andOthermoneyitemNotLike(String value) { - addCriterion("OtherMoneyItem not like", value, "othermoneyitem"); - return (Criteria) this; - } - - public Criteria andOthermoneyitemIn(List values) { - addCriterion("OtherMoneyItem in", values, "othermoneyitem"); - return (Criteria) this; - } - - public Criteria andOthermoneyitemNotIn(List values) { - addCriterion("OtherMoneyItem not in", values, "othermoneyitem"); - return (Criteria) this; - } - - public Criteria andOthermoneyitemBetween(String value1, String value2) { - addCriterion("OtherMoneyItem between", value1, value2, "othermoneyitem"); - return (Criteria) this; - } - - public Criteria andOthermoneyitemNotBetween(String value1, String value2) { - addCriterion("OtherMoneyItem not between", value1, value2, "othermoneyitem"); - return (Criteria) this; - } - - public Criteria andAccountdayIsNull() { - addCriterion("AccountDay is null"); - return (Criteria) this; - } - - public Criteria andAccountdayIsNotNull() { - addCriterion("AccountDay is not null"); - return (Criteria) this; - } - - public Criteria andAccountdayEqualTo(Integer value) { - addCriterion("AccountDay =", value, "accountday"); - return (Criteria) this; - } - - public Criteria andAccountdayNotEqualTo(Integer value) { - addCriterion("AccountDay <>", value, "accountday"); - return (Criteria) this; - } - - public Criteria andAccountdayGreaterThan(Integer value) { - addCriterion("AccountDay >", value, "accountday"); - return (Criteria) this; - } - - public Criteria andAccountdayGreaterThanOrEqualTo(Integer value) { - addCriterion("AccountDay >=", value, "accountday"); - return (Criteria) this; - } - - public Criteria andAccountdayLessThan(Integer value) { - addCriterion("AccountDay <", value, "accountday"); - return (Criteria) this; - } - - public Criteria andAccountdayLessThanOrEqualTo(Integer value) { - addCriterion("AccountDay <=", value, "accountday"); - return (Criteria) this; - } - - public Criteria andAccountdayIn(List values) { - addCriterion("AccountDay in", values, "accountday"); - return (Criteria) this; - } - - public Criteria andAccountdayNotIn(List values) { - addCriterion("AccountDay not in", values, "accountday"); - return (Criteria) this; - } - - public Criteria andAccountdayBetween(Integer value1, Integer value2) { - addCriterion("AccountDay between", value1, value2, "accountday"); - return (Criteria) this; - } - - public Criteria andAccountdayNotBetween(Integer value1, Integer value2) { - addCriterion("AccountDay not between", value1, value2, "accountday"); - return (Criteria) this; - } - - public Criteria andStatusIsNull() { - addCriterion("Status is null"); - return (Criteria) this; - } - - public Criteria andStatusIsNotNull() { - addCriterion("Status is not null"); - return (Criteria) this; - } - - public Criteria andStatusEqualTo(Boolean value) { - addCriterion("Status =", value, "status"); - return (Criteria) this; - } - - public Criteria andStatusNotEqualTo(Boolean value) { - addCriterion("Status <>", value, "status"); - return (Criteria) this; - } - - public Criteria andStatusGreaterThan(Boolean value) { - addCriterion("Status >", value, "status"); - return (Criteria) this; - } - - public Criteria andStatusGreaterThanOrEqualTo(Boolean value) { - addCriterion("Status >=", value, "status"); - return (Criteria) this; - } - - public Criteria andStatusLessThan(Boolean value) { - addCriterion("Status <", value, "status"); - return (Criteria) this; - } - - public Criteria andStatusLessThanOrEqualTo(Boolean value) { - addCriterion("Status <=", value, "status"); - return (Criteria) this; - } - - public Criteria andStatusIn(List values) { - addCriterion("Status in", values, "status"); - return (Criteria) this; - } - - public Criteria andStatusNotIn(List values) { - addCriterion("Status not in", values, "status"); - return (Criteria) this; - } - - public Criteria andStatusBetween(Boolean value1, Boolean value2) { - addCriterion("Status between", value1, value2, "status"); - return (Criteria) this; - } - - public Criteria andStatusNotBetween(Boolean value1, Boolean value2) { - addCriterion("Status not between", value1, value2, "status"); - return (Criteria) this; - } - } - - /** - * This class was generated by MyBatis Generator. - * This class corresponds to the database table jsh_depothead - * - * @mbggenerated do_not_delete_during_merge - */ - public static class Criteria extends GeneratedCriteria { - - protected Criteria() { - super(); - } - } - - /** - * This class was generated by MyBatis Generator. - * This class corresponds to the database table jsh_depothead - * - * @mbggenerated - */ - public static class Criterion { - private String condition; - - private Object value; - - private Object secondValue; - - private boolean noValue; - - private boolean singleValue; - - private boolean betweenValue; - - private boolean listValue; - - private String typeHandler; - - public String getCondition() { - return condition; - } - - public Object getValue() { - return value; - } - - public Object getSecondValue() { - return secondValue; - } - - public boolean isNoValue() { - return noValue; - } - - public boolean isSingleValue() { - return singleValue; - } - - public boolean isBetweenValue() { - return betweenValue; - } - - public boolean isListValue() { - return listValue; - } - - public String getTypeHandler() { - return typeHandler; - } - - protected Criterion(String condition) { - super(); - this.condition = condition; - this.typeHandler = null; - this.noValue = true; - } - - protected Criterion(String condition, Object value, String typeHandler) { - super(); - this.condition = condition; - this.value = value; - this.typeHandler = typeHandler; - if (value instanceof List) { - this.listValue = true; - } else { - this.singleValue = true; - } - } - - protected Criterion(String condition, Object value) { - this(condition, value, null); - } - - protected Criterion(String condition, Object value, Object secondValue, String typeHandler) { - super(); - this.condition = condition; - this.value = value; - this.secondValue = secondValue; - this.typeHandler = typeHandler; - this.betweenValue = true; - } - - protected Criterion(String condition, Object value, Object secondValue) { - this(condition, value, secondValue, null); - } - } +package com.jsh.erp.datasource.entities; + +import java.math.BigDecimal; +import java.util.ArrayList; +import java.util.Date; +import java.util.List; + +public class DepotHeadExample { + /** + * This field was generated by MyBatis Generator. + * This field corresponds to the database table jsh_depothead + * + * @mbggenerated + */ + protected String orderByClause; + + /** + * This field was generated by MyBatis Generator. + * This field corresponds to the database table jsh_depothead + * + * @mbggenerated + */ + protected boolean distinct; + + /** + * This field was generated by MyBatis Generator. + * This field corresponds to the database table jsh_depothead + * + * @mbggenerated + */ + protected List oredCriteria; + + /** + * This method was generated by MyBatis Generator. + * This method corresponds to the database table jsh_depothead + * + * @mbggenerated + */ + public DepotHeadExample() { + oredCriteria = new ArrayList(); + } + + /** + * This method was generated by MyBatis Generator. + * This method corresponds to the database table jsh_depothead + * + * @mbggenerated + */ + public void setOrderByClause(String orderByClause) { + this.orderByClause = orderByClause; + } + + /** + * This method was generated by MyBatis Generator. + * This method corresponds to the database table jsh_depothead + * + * @mbggenerated + */ + public String getOrderByClause() { + return orderByClause; + } + + /** + * This method was generated by MyBatis Generator. + * This method corresponds to the database table jsh_depothead + * + * @mbggenerated + */ + public void setDistinct(boolean distinct) { + this.distinct = distinct; + } + + /** + * This method was generated by MyBatis Generator. + * This method corresponds to the database table jsh_depothead + * + * @mbggenerated + */ + public boolean isDistinct() { + return distinct; + } + + /** + * This method was generated by MyBatis Generator. + * This method corresponds to the database table jsh_depothead + * + * @mbggenerated + */ + public List getOredCriteria() { + return oredCriteria; + } + + /** + * This method was generated by MyBatis Generator. + * This method corresponds to the database table jsh_depothead + * + * @mbggenerated + */ + public void or(Criteria criteria) { + oredCriteria.add(criteria); + } + + /** + * This method was generated by MyBatis Generator. + * This method corresponds to the database table jsh_depothead + * + * @mbggenerated + */ + public Criteria or() { + Criteria criteria = createCriteriaInternal(); + oredCriteria.add(criteria); + return criteria; + } + + /** + * This method was generated by MyBatis Generator. + * This method corresponds to the database table jsh_depothead + * + * @mbggenerated + */ + public Criteria createCriteria() { + Criteria criteria = createCriteriaInternal(); + if (oredCriteria.size() == 0) { + oredCriteria.add(criteria); + } + return criteria; + } + + /** + * This method was generated by MyBatis Generator. + * This method corresponds to the database table jsh_depothead + * + * @mbggenerated + */ + protected Criteria createCriteriaInternal() { + Criteria criteria = new Criteria(); + return criteria; + } + + /** + * This method was generated by MyBatis Generator. + * This method corresponds to the database table jsh_depothead + * + * @mbggenerated + */ + public void clear() { + oredCriteria.clear(); + orderByClause = null; + distinct = false; + } + + /** + * This class was generated by MyBatis Generator. + * This class corresponds to the database table jsh_depothead + * + * @mbggenerated + */ + protected abstract static class GeneratedCriteria { + protected List criteria; + + protected GeneratedCriteria() { + super(); + criteria = new ArrayList(); + } + + public boolean isValid() { + return criteria.size() > 0; + } + + public List getAllCriteria() { + return criteria; + } + + public List getCriteria() { + return criteria; + } + + protected void addCriterion(String condition) { + if (condition == null) { + throw new RuntimeException("Value for condition cannot be null"); + } + criteria.add(new Criterion(condition)); + } + + protected void addCriterion(String condition, Object value, String property) { + if (value == null) { + throw new RuntimeException("Value for " + property + " cannot be null"); + } + criteria.add(new Criterion(condition, value)); + } + + protected void addCriterion(String condition, Object value1, Object value2, String property) { + if (value1 == null || value2 == null) { + throw new RuntimeException("Between values for " + property + " cannot be null"); + } + criteria.add(new Criterion(condition, value1, value2)); + } + + public Criteria andIdIsNull() { + addCriterion("Id is null"); + return (Criteria) this; + } + + public Criteria andIdIsNotNull() { + addCriterion("Id is not null"); + return (Criteria) this; + } + + public Criteria andIdEqualTo(Long value) { + addCriterion("Id =", value, "id"); + return (Criteria) this; + } + + public Criteria andIdNotEqualTo(Long value) { + addCriterion("Id <>", value, "id"); + return (Criteria) this; + } + + public Criteria andIdGreaterThan(Long value) { + addCriterion("Id >", value, "id"); + return (Criteria) this; + } + + public Criteria andIdGreaterThanOrEqualTo(Long value) { + addCriterion("Id >=", value, "id"); + return (Criteria) this; + } + + public Criteria andIdLessThan(Long value) { + addCriterion("Id <", value, "id"); + return (Criteria) this; + } + + public Criteria andIdLessThanOrEqualTo(Long value) { + addCriterion("Id <=", value, "id"); + return (Criteria) this; + } + + public Criteria andIdIn(List values) { + addCriterion("Id in", values, "id"); + return (Criteria) this; + } + + public Criteria andIdNotIn(List values) { + addCriterion("Id not in", values, "id"); + return (Criteria) this; + } + + public Criteria andIdBetween(Long value1, Long value2) { + addCriterion("Id between", value1, value2, "id"); + return (Criteria) this; + } + + public Criteria andIdNotBetween(Long value1, Long value2) { + addCriterion("Id not between", value1, value2, "id"); + return (Criteria) this; + } + + public Criteria andTypeIsNull() { + addCriterion("Type is null"); + return (Criteria) this; + } + + public Criteria andTypeIsNotNull() { + addCriterion("Type is not null"); + return (Criteria) this; + } + + public Criteria andTypeEqualTo(String value) { + addCriterion("Type =", value, "type"); + return (Criteria) this; + } + + public Criteria andTypeNotEqualTo(String value) { + addCriterion("Type <>", value, "type"); + return (Criteria) this; + } + + public Criteria andTypeGreaterThan(String value) { + addCriterion("Type >", value, "type"); + return (Criteria) this; + } + + public Criteria andTypeGreaterThanOrEqualTo(String value) { + addCriterion("Type >=", value, "type"); + return (Criteria) this; + } + + public Criteria andTypeLessThan(String value) { + addCriterion("Type <", value, "type"); + return (Criteria) this; + } + + public Criteria andTypeLessThanOrEqualTo(String value) { + addCriterion("Type <=", value, "type"); + return (Criteria) this; + } + + public Criteria andTypeLike(String value) { + addCriterion("Type like", value, "type"); + return (Criteria) this; + } + + public Criteria andTypeNotLike(String value) { + addCriterion("Type not like", value, "type"); + return (Criteria) this; + } + + public Criteria andTypeIn(List values) { + addCriterion("Type in", values, "type"); + return (Criteria) this; + } + + public Criteria andTypeNotIn(List values) { + addCriterion("Type not in", values, "type"); + return (Criteria) this; + } + + public Criteria andTypeBetween(String value1, String value2) { + addCriterion("Type between", value1, value2, "type"); + return (Criteria) this; + } + + public Criteria andTypeNotBetween(String value1, String value2) { + addCriterion("Type not between", value1, value2, "type"); + return (Criteria) this; + } + + public Criteria andSubtypeIsNull() { + addCriterion("SubType is null"); + return (Criteria) this; + } + + public Criteria andSubtypeIsNotNull() { + addCriterion("SubType is not null"); + return (Criteria) this; + } + + public Criteria andSubtypeEqualTo(String value) { + addCriterion("SubType =", value, "subtype"); + return (Criteria) this; + } + + public Criteria andSubtypeNotEqualTo(String value) { + addCriterion("SubType <>", value, "subtype"); + return (Criteria) this; + } + + public Criteria andSubtypeGreaterThan(String value) { + addCriterion("SubType >", value, "subtype"); + return (Criteria) this; + } + + public Criteria andSubtypeGreaterThanOrEqualTo(String value) { + addCriterion("SubType >=", value, "subtype"); + return (Criteria) this; + } + + public Criteria andSubtypeLessThan(String value) { + addCriterion("SubType <", value, "subtype"); + return (Criteria) this; + } + + public Criteria andSubtypeLessThanOrEqualTo(String value) { + addCriterion("SubType <=", value, "subtype"); + return (Criteria) this; + } + + public Criteria andSubtypeLike(String value) { + addCriterion("SubType like", value, "subtype"); + return (Criteria) this; + } + + public Criteria andSubtypeNotLike(String value) { + addCriterion("SubType not like", value, "subtype"); + return (Criteria) this; + } + + public Criteria andSubtypeIn(List values) { + addCriterion("SubType in", values, "subtype"); + return (Criteria) this; + } + + public Criteria andSubtypeNotIn(List values) { + addCriterion("SubType not in", values, "subtype"); + return (Criteria) this; + } + + public Criteria andSubtypeBetween(String value1, String value2) { + addCriterion("SubType between", value1, value2, "subtype"); + return (Criteria) this; + } + + public Criteria andSubtypeNotBetween(String value1, String value2) { + addCriterion("SubType not between", value1, value2, "subtype"); + return (Criteria) this; + } + + public Criteria andProjectidIsNull() { + addCriterion("ProjectId is null"); + return (Criteria) this; + } + + public Criteria andProjectidIsNotNull() { + addCriterion("ProjectId is not null"); + return (Criteria) this; + } + + public Criteria andProjectidEqualTo(Long value) { + addCriterion("ProjectId =", value, "projectid"); + return (Criteria) this; + } + + public Criteria andProjectidNotEqualTo(Long value) { + addCriterion("ProjectId <>", value, "projectid"); + return (Criteria) this; + } + + public Criteria andProjectidGreaterThan(Long value) { + addCriterion("ProjectId >", value, "projectid"); + return (Criteria) this; + } + + public Criteria andProjectidGreaterThanOrEqualTo(Long value) { + addCriterion("ProjectId >=", value, "projectid"); + return (Criteria) this; + } + + public Criteria andProjectidLessThan(Long value) { + addCriterion("ProjectId <", value, "projectid"); + return (Criteria) this; + } + + public Criteria andProjectidLessThanOrEqualTo(Long value) { + addCriterion("ProjectId <=", value, "projectid"); + return (Criteria) this; + } + + public Criteria andProjectidIn(List values) { + addCriterion("ProjectId in", values, "projectid"); + return (Criteria) this; + } + + public Criteria andProjectidNotIn(List values) { + addCriterion("ProjectId not in", values, "projectid"); + return (Criteria) this; + } + + public Criteria andProjectidBetween(Long value1, Long value2) { + addCriterion("ProjectId between", value1, value2, "projectid"); + return (Criteria) this; + } + + public Criteria andProjectidNotBetween(Long value1, Long value2) { + addCriterion("ProjectId not between", value1, value2, "projectid"); + return (Criteria) this; + } + + public Criteria andDefaultnumberIsNull() { + addCriterion("DefaultNumber is null"); + return (Criteria) this; + } + + public Criteria andDefaultnumberIsNotNull() { + addCriterion("DefaultNumber is not null"); + return (Criteria) this; + } + + public Criteria andDefaultnumberEqualTo(String value) { + addCriterion("DefaultNumber =", value, "defaultnumber"); + return (Criteria) this; + } + + public Criteria andDefaultnumberNotEqualTo(String value) { + addCriterion("DefaultNumber <>", value, "defaultnumber"); + return (Criteria) this; + } + + public Criteria andDefaultnumberGreaterThan(String value) { + addCriterion("DefaultNumber >", value, "defaultnumber"); + return (Criteria) this; + } + + public Criteria andDefaultnumberGreaterThanOrEqualTo(String value) { + addCriterion("DefaultNumber >=", value, "defaultnumber"); + return (Criteria) this; + } + + public Criteria andDefaultnumberLessThan(String value) { + addCriterion("DefaultNumber <", value, "defaultnumber"); + return (Criteria) this; + } + + public Criteria andDefaultnumberLessThanOrEqualTo(String value) { + addCriterion("DefaultNumber <=", value, "defaultnumber"); + return (Criteria) this; + } + + public Criteria andDefaultnumberLike(String value) { + addCriterion("DefaultNumber like", value, "defaultnumber"); + return (Criteria) this; + } + + public Criteria andDefaultnumberNotLike(String value) { + addCriterion("DefaultNumber not like", value, "defaultnumber"); + return (Criteria) this; + } + + public Criteria andDefaultnumberIn(List values) { + addCriterion("DefaultNumber in", values, "defaultnumber"); + return (Criteria) this; + } + + public Criteria andDefaultnumberNotIn(List values) { + addCriterion("DefaultNumber not in", values, "defaultnumber"); + return (Criteria) this; + } + + public Criteria andDefaultnumberBetween(String value1, String value2) { + addCriterion("DefaultNumber between", value1, value2, "defaultnumber"); + return (Criteria) this; + } + + public Criteria andDefaultnumberNotBetween(String value1, String value2) { + addCriterion("DefaultNumber not between", value1, value2, "defaultnumber"); + return (Criteria) this; + } + + public Criteria andNumberIsNull() { + addCriterion("Number is null"); + return (Criteria) this; + } + + public Criteria andNumberIsNotNull() { + addCriterion("Number is not null"); + return (Criteria) this; + } + + public Criteria andNumberEqualTo(String value) { + addCriterion("Number =", value, "number"); + return (Criteria) this; + } + + public Criteria andNumberNotEqualTo(String value) { + addCriterion("Number <>", value, "number"); + return (Criteria) this; + } + + public Criteria andNumberGreaterThan(String value) { + addCriterion("Number >", value, "number"); + return (Criteria) this; + } + + public Criteria andNumberGreaterThanOrEqualTo(String value) { + addCriterion("Number >=", value, "number"); + return (Criteria) this; + } + + public Criteria andNumberLessThan(String value) { + addCriterion("Number <", value, "number"); + return (Criteria) this; + } + + public Criteria andNumberLessThanOrEqualTo(String value) { + addCriterion("Number <=", value, "number"); + return (Criteria) this; + } + + public Criteria andNumberLike(String value) { + addCriterion("Number like", value, "number"); + return (Criteria) this; + } + + public Criteria andNumberNotLike(String value) { + addCriterion("Number not like", value, "number"); + return (Criteria) this; + } + + public Criteria andNumberIn(List values) { + addCriterion("Number in", values, "number"); + return (Criteria) this; + } + + public Criteria andNumberNotIn(List values) { + addCriterion("Number not in", values, "number"); + return (Criteria) this; + } + + public Criteria andNumberBetween(String value1, String value2) { + addCriterion("Number between", value1, value2, "number"); + return (Criteria) this; + } + + public Criteria andNumberNotBetween(String value1, String value2) { + addCriterion("Number not between", value1, value2, "number"); + return (Criteria) this; + } + + public Criteria andOperpersonnameIsNull() { + addCriterion("OperPersonName is null"); + return (Criteria) this; + } + + public Criteria andOperpersonnameIsNotNull() { + addCriterion("OperPersonName is not null"); + return (Criteria) this; + } + + public Criteria andOperpersonnameEqualTo(String value) { + addCriterion("OperPersonName =", value, "operpersonname"); + return (Criteria) this; + } + + public Criteria andOperpersonnameNotEqualTo(String value) { + addCriterion("OperPersonName <>", value, "operpersonname"); + return (Criteria) this; + } + + public Criteria andOperpersonnameGreaterThan(String value) { + addCriterion("OperPersonName >", value, "operpersonname"); + return (Criteria) this; + } + + public Criteria andOperpersonnameGreaterThanOrEqualTo(String value) { + addCriterion("OperPersonName >=", value, "operpersonname"); + return (Criteria) this; + } + + public Criteria andOperpersonnameLessThan(String value) { + addCriterion("OperPersonName <", value, "operpersonname"); + return (Criteria) this; + } + + public Criteria andOperpersonnameLessThanOrEqualTo(String value) { + addCriterion("OperPersonName <=", value, "operpersonname"); + return (Criteria) this; + } + + public Criteria andOperpersonnameLike(String value) { + addCriterion("OperPersonName like", value, "operpersonname"); + return (Criteria) this; + } + + public Criteria andOperpersonnameNotLike(String value) { + addCriterion("OperPersonName not like", value, "operpersonname"); + return (Criteria) this; + } + + public Criteria andOperpersonnameIn(List values) { + addCriterion("OperPersonName in", values, "operpersonname"); + return (Criteria) this; + } + + public Criteria andOperpersonnameNotIn(List values) { + addCriterion("OperPersonName not in", values, "operpersonname"); + return (Criteria) this; + } + + public Criteria andOperpersonnameBetween(String value1, String value2) { + addCriterion("OperPersonName between", value1, value2, "operpersonname"); + return (Criteria) this; + } + + public Criteria andOperpersonnameNotBetween(String value1, String value2) { + addCriterion("OperPersonName not between", value1, value2, "operpersonname"); + return (Criteria) this; + } + + public Criteria andCreatetimeIsNull() { + addCriterion("CreateTime is null"); + return (Criteria) this; + } + + public Criteria andCreatetimeIsNotNull() { + addCriterion("CreateTime is not null"); + return (Criteria) this; + } + + public Criteria andCreatetimeEqualTo(Date value) { + addCriterion("CreateTime =", value, "createtime"); + return (Criteria) this; + } + + public Criteria andCreatetimeNotEqualTo(Date value) { + addCriterion("CreateTime <>", value, "createtime"); + return (Criteria) this; + } + + public Criteria andCreatetimeGreaterThan(Date value) { + addCriterion("CreateTime >", value, "createtime"); + return (Criteria) this; + } + + public Criteria andCreatetimeGreaterThanOrEqualTo(Date value) { + addCriterion("CreateTime >=", value, "createtime"); + return (Criteria) this; + } + + public Criteria andCreatetimeLessThan(Date value) { + addCriterion("CreateTime <", value, "createtime"); + return (Criteria) this; + } + + public Criteria andCreatetimeLessThanOrEqualTo(Date value) { + addCriterion("CreateTime <=", value, "createtime"); + return (Criteria) this; + } + + public Criteria andCreatetimeIn(List values) { + addCriterion("CreateTime in", values, "createtime"); + return (Criteria) this; + } + + public Criteria andCreatetimeNotIn(List values) { + addCriterion("CreateTime not in", values, "createtime"); + return (Criteria) this; + } + + public Criteria andCreatetimeBetween(Date value1, Date value2) { + addCriterion("CreateTime between", value1, value2, "createtime"); + return (Criteria) this; + } + + public Criteria andCreatetimeNotBetween(Date value1, Date value2) { + addCriterion("CreateTime not between", value1, value2, "createtime"); + return (Criteria) this; + } + + public Criteria andOpertimeIsNull() { + addCriterion("OperTime is null"); + return (Criteria) this; + } + + public Criteria andOpertimeIsNotNull() { + addCriterion("OperTime is not null"); + return (Criteria) this; + } + + public Criteria andOpertimeEqualTo(Date value) { + addCriterion("OperTime =", value, "opertime"); + return (Criteria) this; + } + + public Criteria andOpertimeNotEqualTo(Date value) { + addCriterion("OperTime <>", value, "opertime"); + return (Criteria) this; + } + + public Criteria andOpertimeGreaterThan(Date value) { + addCriterion("OperTime >", value, "opertime"); + return (Criteria) this; + } + + public Criteria andOpertimeGreaterThanOrEqualTo(Date value) { + addCriterion("OperTime >=", value, "opertime"); + return (Criteria) this; + } + + public Criteria andOpertimeLessThan(Date value) { + addCriterion("OperTime <", value, "opertime"); + return (Criteria) this; + } + + public Criteria andOpertimeLessThanOrEqualTo(Date value) { + addCriterion("OperTime <=", value, "opertime"); + return (Criteria) this; + } + + public Criteria andOpertimeIn(List values) { + addCriterion("OperTime in", values, "opertime"); + return (Criteria) this; + } + + public Criteria andOpertimeNotIn(List values) { + addCriterion("OperTime not in", values, "opertime"); + return (Criteria) this; + } + + public Criteria andOpertimeBetween(Date value1, Date value2) { + addCriterion("OperTime between", value1, value2, "opertime"); + return (Criteria) this; + } + + public Criteria andOpertimeNotBetween(Date value1, Date value2) { + addCriterion("OperTime not between", value1, value2, "opertime"); + return (Criteria) this; + } + + public Criteria andOrganidIsNull() { + addCriterion("OrganId is null"); + return (Criteria) this; + } + + public Criteria andOrganidIsNotNull() { + addCriterion("OrganId is not null"); + return (Criteria) this; + } + + public Criteria andOrganidEqualTo(Long value) { + addCriterion("OrganId =", value, "organid"); + return (Criteria) this; + } + + public Criteria andOrganidNotEqualTo(Long value) { + addCriterion("OrganId <>", value, "organid"); + return (Criteria) this; + } + + public Criteria andOrganidGreaterThan(Long value) { + addCriterion("OrganId >", value, "organid"); + return (Criteria) this; + } + + public Criteria andOrganidGreaterThanOrEqualTo(Long value) { + addCriterion("OrganId >=", value, "organid"); + return (Criteria) this; + } + + public Criteria andOrganidLessThan(Long value) { + addCriterion("OrganId <", value, "organid"); + return (Criteria) this; + } + + public Criteria andOrganidLessThanOrEqualTo(Long value) { + addCriterion("OrganId <=", value, "organid"); + return (Criteria) this; + } + + public Criteria andOrganidIn(List values) { + addCriterion("OrganId in", values, "organid"); + return (Criteria) this; + } + + public Criteria andOrganidNotIn(List values) { + addCriterion("OrganId not in", values, "organid"); + return (Criteria) this; + } + + public Criteria andOrganidBetween(Long value1, Long value2) { + addCriterion("OrganId between", value1, value2, "organid"); + return (Criteria) this; + } + + public Criteria andOrganidNotBetween(Long value1, Long value2) { + addCriterion("OrganId not between", value1, value2, "organid"); + return (Criteria) this; + } + + public Criteria andHandspersonidIsNull() { + addCriterion("HandsPersonId is null"); + return (Criteria) this; + } + + public Criteria andHandspersonidIsNotNull() { + addCriterion("HandsPersonId is not null"); + return (Criteria) this; + } + + public Criteria andHandspersonidEqualTo(Long value) { + addCriterion("HandsPersonId =", value, "handspersonid"); + return (Criteria) this; + } + + public Criteria andHandspersonidNotEqualTo(Long value) { + addCriterion("HandsPersonId <>", value, "handspersonid"); + return (Criteria) this; + } + + public Criteria andHandspersonidGreaterThan(Long value) { + addCriterion("HandsPersonId >", value, "handspersonid"); + return (Criteria) this; + } + + public Criteria andHandspersonidGreaterThanOrEqualTo(Long value) { + addCriterion("HandsPersonId >=", value, "handspersonid"); + return (Criteria) this; + } + + public Criteria andHandspersonidLessThan(Long value) { + addCriterion("HandsPersonId <", value, "handspersonid"); + return (Criteria) this; + } + + public Criteria andHandspersonidLessThanOrEqualTo(Long value) { + addCriterion("HandsPersonId <=", value, "handspersonid"); + return (Criteria) this; + } + + public Criteria andHandspersonidIn(List values) { + addCriterion("HandsPersonId in", values, "handspersonid"); + return (Criteria) this; + } + + public Criteria andHandspersonidNotIn(List values) { + addCriterion("HandsPersonId not in", values, "handspersonid"); + return (Criteria) this; + } + + public Criteria andHandspersonidBetween(Long value1, Long value2) { + addCriterion("HandsPersonId between", value1, value2, "handspersonid"); + return (Criteria) this; + } + + public Criteria andHandspersonidNotBetween(Long value1, Long value2) { + addCriterion("HandsPersonId not between", value1, value2, "handspersonid"); + return (Criteria) this; + } + + public Criteria andAccountidIsNull() { + addCriterion("AccountId is null"); + return (Criteria) this; + } + + public Criteria andAccountidIsNotNull() { + addCriterion("AccountId is not null"); + return (Criteria) this; + } + + public Criteria andAccountidEqualTo(Long value) { + addCriterion("AccountId =", value, "accountid"); + return (Criteria) this; + } + + public Criteria andAccountidNotEqualTo(Long value) { + addCriterion("AccountId <>", value, "accountid"); + return (Criteria) this; + } + + public Criteria andAccountidGreaterThan(Long value) { + addCriterion("AccountId >", value, "accountid"); + return (Criteria) this; + } + + public Criteria andAccountidGreaterThanOrEqualTo(Long value) { + addCriterion("AccountId >=", value, "accountid"); + return (Criteria) this; + } + + public Criteria andAccountidLessThan(Long value) { + addCriterion("AccountId <", value, "accountid"); + return (Criteria) this; + } + + public Criteria andAccountidLessThanOrEqualTo(Long value) { + addCriterion("AccountId <=", value, "accountid"); + return (Criteria) this; + } + + public Criteria andAccountidIn(List values) { + addCriterion("AccountId in", values, "accountid"); + return (Criteria) this; + } + + public Criteria andAccountidNotIn(List values) { + addCriterion("AccountId not in", values, "accountid"); + return (Criteria) this; + } + + public Criteria andAccountidBetween(Long value1, Long value2) { + addCriterion("AccountId between", value1, value2, "accountid"); + return (Criteria) this; + } + + public Criteria andAccountidNotBetween(Long value1, Long value2) { + addCriterion("AccountId not between", value1, value2, "accountid"); + return (Criteria) this; + } + + public Criteria andChangeamountIsNull() { + addCriterion("ChangeAmount is null"); + return (Criteria) this; + } + + public Criteria andChangeamountIsNotNull() { + addCriterion("ChangeAmount is not null"); + return (Criteria) this; + } + + public Criteria andChangeamountEqualTo(BigDecimal value) { + addCriterion("ChangeAmount =", value, "changeamount"); + return (Criteria) this; + } + + public Criteria andChangeamountNotEqualTo(BigDecimal value) { + addCriterion("ChangeAmount <>", value, "changeamount"); + return (Criteria) this; + } + + public Criteria andChangeamountGreaterThan(BigDecimal value) { + addCriterion("ChangeAmount >", value, "changeamount"); + return (Criteria) this; + } + + public Criteria andChangeamountGreaterThanOrEqualTo(BigDecimal value) { + addCriterion("ChangeAmount >=", value, "changeamount"); + return (Criteria) this; + } + + public Criteria andChangeamountLessThan(BigDecimal value) { + addCriterion("ChangeAmount <", value, "changeamount"); + return (Criteria) this; + } + + public Criteria andChangeamountLessThanOrEqualTo(BigDecimal value) { + addCriterion("ChangeAmount <=", value, "changeamount"); + return (Criteria) this; + } + + public Criteria andChangeamountIn(List values) { + addCriterion("ChangeAmount in", values, "changeamount"); + return (Criteria) this; + } + + public Criteria andChangeamountNotIn(List values) { + addCriterion("ChangeAmount not in", values, "changeamount"); + return (Criteria) this; + } + + public Criteria andChangeamountBetween(BigDecimal value1, BigDecimal value2) { + addCriterion("ChangeAmount between", value1, value2, "changeamount"); + return (Criteria) this; + } + + public Criteria andChangeamountNotBetween(BigDecimal value1, BigDecimal value2) { + addCriterion("ChangeAmount not between", value1, value2, "changeamount"); + return (Criteria) this; + } + + public Criteria andAllocationprojectidIsNull() { + addCriterion("AllocationProjectId is null"); + return (Criteria) this; + } + + public Criteria andAllocationprojectidIsNotNull() { + addCriterion("AllocationProjectId is not null"); + return (Criteria) this; + } + + public Criteria andAllocationprojectidEqualTo(Long value) { + addCriterion("AllocationProjectId =", value, "allocationprojectid"); + return (Criteria) this; + } + + public Criteria andAllocationprojectidNotEqualTo(Long value) { + addCriterion("AllocationProjectId <>", value, "allocationprojectid"); + return (Criteria) this; + } + + public Criteria andAllocationprojectidGreaterThan(Long value) { + addCriterion("AllocationProjectId >", value, "allocationprojectid"); + return (Criteria) this; + } + + public Criteria andAllocationprojectidGreaterThanOrEqualTo(Long value) { + addCriterion("AllocationProjectId >=", value, "allocationprojectid"); + return (Criteria) this; + } + + public Criteria andAllocationprojectidLessThan(Long value) { + addCriterion("AllocationProjectId <", value, "allocationprojectid"); + return (Criteria) this; + } + + public Criteria andAllocationprojectidLessThanOrEqualTo(Long value) { + addCriterion("AllocationProjectId <=", value, "allocationprojectid"); + return (Criteria) this; + } + + public Criteria andAllocationprojectidIn(List values) { + addCriterion("AllocationProjectId in", values, "allocationprojectid"); + return (Criteria) this; + } + + public Criteria andAllocationprojectidNotIn(List values) { + addCriterion("AllocationProjectId not in", values, "allocationprojectid"); + return (Criteria) this; + } + + public Criteria andAllocationprojectidBetween(Long value1, Long value2) { + addCriterion("AllocationProjectId between", value1, value2, "allocationprojectid"); + return (Criteria) this; + } + + public Criteria andAllocationprojectidNotBetween(Long value1, Long value2) { + addCriterion("AllocationProjectId not between", value1, value2, "allocationprojectid"); + return (Criteria) this; + } + + public Criteria andTotalpriceIsNull() { + addCriterion("TotalPrice is null"); + return (Criteria) this; + } + + public Criteria andTotalpriceIsNotNull() { + addCriterion("TotalPrice is not null"); + return (Criteria) this; + } + + public Criteria andTotalpriceEqualTo(BigDecimal value) { + addCriterion("TotalPrice =", value, "totalprice"); + return (Criteria) this; + } + + public Criteria andTotalpriceNotEqualTo(BigDecimal value) { + addCriterion("TotalPrice <>", value, "totalprice"); + return (Criteria) this; + } + + public Criteria andTotalpriceGreaterThan(BigDecimal value) { + addCriterion("TotalPrice >", value, "totalprice"); + return (Criteria) this; + } + + public Criteria andTotalpriceGreaterThanOrEqualTo(BigDecimal value) { + addCriterion("TotalPrice >=", value, "totalprice"); + return (Criteria) this; + } + + public Criteria andTotalpriceLessThan(BigDecimal value) { + addCriterion("TotalPrice <", value, "totalprice"); + return (Criteria) this; + } + + public Criteria andTotalpriceLessThanOrEqualTo(BigDecimal value) { + addCriterion("TotalPrice <=", value, "totalprice"); + return (Criteria) this; + } + + public Criteria andTotalpriceIn(List values) { + addCriterion("TotalPrice in", values, "totalprice"); + return (Criteria) this; + } + + public Criteria andTotalpriceNotIn(List values) { + addCriterion("TotalPrice not in", values, "totalprice"); + return (Criteria) this; + } + + public Criteria andTotalpriceBetween(BigDecimal value1, BigDecimal value2) { + addCriterion("TotalPrice between", value1, value2, "totalprice"); + return (Criteria) this; + } + + public Criteria andTotalpriceNotBetween(BigDecimal value1, BigDecimal value2) { + addCriterion("TotalPrice not between", value1, value2, "totalprice"); + return (Criteria) this; + } + + public Criteria andPaytypeIsNull() { + addCriterion("PayType is null"); + return (Criteria) this; + } + + public Criteria andPaytypeIsNotNull() { + addCriterion("PayType is not null"); + return (Criteria) this; + } + + public Criteria andPaytypeEqualTo(String value) { + addCriterion("PayType =", value, "paytype"); + return (Criteria) this; + } + + public Criteria andPaytypeNotEqualTo(String value) { + addCriterion("PayType <>", value, "paytype"); + return (Criteria) this; + } + + public Criteria andPaytypeGreaterThan(String value) { + addCriterion("PayType >", value, "paytype"); + return (Criteria) this; + } + + public Criteria andPaytypeGreaterThanOrEqualTo(String value) { + addCriterion("PayType >=", value, "paytype"); + return (Criteria) this; + } + + public Criteria andPaytypeLessThan(String value) { + addCriterion("PayType <", value, "paytype"); + return (Criteria) this; + } + + public Criteria andPaytypeLessThanOrEqualTo(String value) { + addCriterion("PayType <=", value, "paytype"); + return (Criteria) this; + } + + public Criteria andPaytypeLike(String value) { + addCriterion("PayType like", value, "paytype"); + return (Criteria) this; + } + + public Criteria andPaytypeNotLike(String value) { + addCriterion("PayType not like", value, "paytype"); + return (Criteria) this; + } + + public Criteria andPaytypeIn(List values) { + addCriterion("PayType in", values, "paytype"); + return (Criteria) this; + } + + public Criteria andPaytypeNotIn(List values) { + addCriterion("PayType not in", values, "paytype"); + return (Criteria) this; + } + + public Criteria andPaytypeBetween(String value1, String value2) { + addCriterion("PayType between", value1, value2, "paytype"); + return (Criteria) this; + } + + public Criteria andPaytypeNotBetween(String value1, String value2) { + addCriterion("PayType not between", value1, value2, "paytype"); + return (Criteria) this; + } + + public Criteria andRemarkIsNull() { + addCriterion("Remark is null"); + return (Criteria) this; + } + + public Criteria andRemarkIsNotNull() { + addCriterion("Remark is not null"); + return (Criteria) this; + } + + public Criteria andRemarkEqualTo(String value) { + addCriterion("Remark =", value, "remark"); + return (Criteria) this; + } + + public Criteria andRemarkNotEqualTo(String value) { + addCriterion("Remark <>", value, "remark"); + return (Criteria) this; + } + + public Criteria andRemarkGreaterThan(String value) { + addCriterion("Remark >", value, "remark"); + return (Criteria) this; + } + + public Criteria andRemarkGreaterThanOrEqualTo(String value) { + addCriterion("Remark >=", value, "remark"); + return (Criteria) this; + } + + public Criteria andRemarkLessThan(String value) { + addCriterion("Remark <", value, "remark"); + return (Criteria) this; + } + + public Criteria andRemarkLessThanOrEqualTo(String value) { + addCriterion("Remark <=", value, "remark"); + return (Criteria) this; + } + + public Criteria andRemarkLike(String value) { + addCriterion("Remark like", value, "remark"); + return (Criteria) this; + } + + public Criteria andRemarkNotLike(String value) { + addCriterion("Remark not like", value, "remark"); + return (Criteria) this; + } + + public Criteria andRemarkIn(List values) { + addCriterion("Remark in", values, "remark"); + return (Criteria) this; + } + + public Criteria andRemarkNotIn(List values) { + addCriterion("Remark not in", values, "remark"); + return (Criteria) this; + } + + public Criteria andRemarkBetween(String value1, String value2) { + addCriterion("Remark between", value1, value2, "remark"); + return (Criteria) this; + } + + public Criteria andRemarkNotBetween(String value1, String value2) { + addCriterion("Remark not between", value1, value2, "remark"); + return (Criteria) this; + } + + public Criteria andSalesmanIsNull() { + addCriterion("Salesman is null"); + return (Criteria) this; + } + + public Criteria andSalesmanIsNotNull() { + addCriterion("Salesman is not null"); + return (Criteria) this; + } + + public Criteria andSalesmanEqualTo(String value) { + addCriterion("Salesman =", value, "salesman"); + return (Criteria) this; + } + + public Criteria andSalesmanNotEqualTo(String value) { + addCriterion("Salesman <>", value, "salesman"); + return (Criteria) this; + } + + public Criteria andSalesmanGreaterThan(String value) { + addCriterion("Salesman >", value, "salesman"); + return (Criteria) this; + } + + public Criteria andSalesmanGreaterThanOrEqualTo(String value) { + addCriterion("Salesman >=", value, "salesman"); + return (Criteria) this; + } + + public Criteria andSalesmanLessThan(String value) { + addCriterion("Salesman <", value, "salesman"); + return (Criteria) this; + } + + public Criteria andSalesmanLessThanOrEqualTo(String value) { + addCriterion("Salesman <=", value, "salesman"); + return (Criteria) this; + } + + public Criteria andSalesmanLike(String value) { + addCriterion("Salesman like", value, "salesman"); + return (Criteria) this; + } + + public Criteria andSalesmanNotLike(String value) { + addCriterion("Salesman not like", value, "salesman"); + return (Criteria) this; + } + + public Criteria andSalesmanIn(List values) { + addCriterion("Salesman in", values, "salesman"); + return (Criteria) this; + } + + public Criteria andSalesmanNotIn(List values) { + addCriterion("Salesman not in", values, "salesman"); + return (Criteria) this; + } + + public Criteria andSalesmanBetween(String value1, String value2) { + addCriterion("Salesman between", value1, value2, "salesman"); + return (Criteria) this; + } + + public Criteria andSalesmanNotBetween(String value1, String value2) { + addCriterion("Salesman not between", value1, value2, "salesman"); + return (Criteria) this; + } + + public Criteria andAccountidlistIsNull() { + addCriterion("AccountIdList is null"); + return (Criteria) this; + } + + public Criteria andAccountidlistIsNotNull() { + addCriterion("AccountIdList is not null"); + return (Criteria) this; + } + + public Criteria andAccountidlistEqualTo(String value) { + addCriterion("AccountIdList =", value, "accountidlist"); + return (Criteria) this; + } + + public Criteria andAccountidlistNotEqualTo(String value) { + addCriterion("AccountIdList <>", value, "accountidlist"); + return (Criteria) this; + } + + public Criteria andAccountidlistGreaterThan(String value) { + addCriterion("AccountIdList >", value, "accountidlist"); + return (Criteria) this; + } + + public Criteria andAccountidlistGreaterThanOrEqualTo(String value) { + addCriterion("AccountIdList >=", value, "accountidlist"); + return (Criteria) this; + } + + public Criteria andAccountidlistLessThan(String value) { + addCriterion("AccountIdList <", value, "accountidlist"); + return (Criteria) this; + } + + public Criteria andAccountidlistLessThanOrEqualTo(String value) { + addCriterion("AccountIdList <=", value, "accountidlist"); + return (Criteria) this; + } + + public Criteria andAccountidlistLike(String value) { + addCriterion("AccountIdList like", value, "accountidlist"); + return (Criteria) this; + } + + public Criteria andAccountidlistNotLike(String value) { + addCriterion("AccountIdList not like", value, "accountidlist"); + return (Criteria) this; + } + + public Criteria andAccountidlistIn(List values) { + addCriterion("AccountIdList in", values, "accountidlist"); + return (Criteria) this; + } + + public Criteria andAccountidlistNotIn(List values) { + addCriterion("AccountIdList not in", values, "accountidlist"); + return (Criteria) this; + } + + public Criteria andAccountidlistBetween(String value1, String value2) { + addCriterion("AccountIdList between", value1, value2, "accountidlist"); + return (Criteria) this; + } + + public Criteria andAccountidlistNotBetween(String value1, String value2) { + addCriterion("AccountIdList not between", value1, value2, "accountidlist"); + return (Criteria) this; + } + + public Criteria andAccountmoneylistIsNull() { + addCriterion("AccountMoneyList is null"); + return (Criteria) this; + } + + public Criteria andAccountmoneylistIsNotNull() { + addCriterion("AccountMoneyList is not null"); + return (Criteria) this; + } + + public Criteria andAccountmoneylistEqualTo(String value) { + addCriterion("AccountMoneyList =", value, "accountmoneylist"); + return (Criteria) this; + } + + public Criteria andAccountmoneylistNotEqualTo(String value) { + addCriterion("AccountMoneyList <>", value, "accountmoneylist"); + return (Criteria) this; + } + + public Criteria andAccountmoneylistGreaterThan(String value) { + addCriterion("AccountMoneyList >", value, "accountmoneylist"); + return (Criteria) this; + } + + public Criteria andAccountmoneylistGreaterThanOrEqualTo(String value) { + addCriterion("AccountMoneyList >=", value, "accountmoneylist"); + return (Criteria) this; + } + + public Criteria andAccountmoneylistLessThan(String value) { + addCriterion("AccountMoneyList <", value, "accountmoneylist"); + return (Criteria) this; + } + + public Criteria andAccountmoneylistLessThanOrEqualTo(String value) { + addCriterion("AccountMoneyList <=", value, "accountmoneylist"); + return (Criteria) this; + } + + public Criteria andAccountmoneylistLike(String value) { + addCriterion("AccountMoneyList like", value, "accountmoneylist"); + return (Criteria) this; + } + + public Criteria andAccountmoneylistNotLike(String value) { + addCriterion("AccountMoneyList not like", value, "accountmoneylist"); + return (Criteria) this; + } + + public Criteria andAccountmoneylistIn(List values) { + addCriterion("AccountMoneyList in", values, "accountmoneylist"); + return (Criteria) this; + } + + public Criteria andAccountmoneylistNotIn(List values) { + addCriterion("AccountMoneyList not in", values, "accountmoneylist"); + return (Criteria) this; + } + + public Criteria andAccountmoneylistBetween(String value1, String value2) { + addCriterion("AccountMoneyList between", value1, value2, "accountmoneylist"); + return (Criteria) this; + } + + public Criteria andAccountmoneylistNotBetween(String value1, String value2) { + addCriterion("AccountMoneyList not between", value1, value2, "accountmoneylist"); + return (Criteria) this; + } + + public Criteria andDiscountIsNull() { + addCriterion("Discount is null"); + return (Criteria) this; + } + + public Criteria andDiscountIsNotNull() { + addCriterion("Discount is not null"); + return (Criteria) this; + } + + public Criteria andDiscountEqualTo(BigDecimal value) { + addCriterion("Discount =", value, "discount"); + return (Criteria) this; + } + + public Criteria andDiscountNotEqualTo(BigDecimal value) { + addCriterion("Discount <>", value, "discount"); + return (Criteria) this; + } + + public Criteria andDiscountGreaterThan(BigDecimal value) { + addCriterion("Discount >", value, "discount"); + return (Criteria) this; + } + + public Criteria andDiscountGreaterThanOrEqualTo(BigDecimal value) { + addCriterion("Discount >=", value, "discount"); + return (Criteria) this; + } + + public Criteria andDiscountLessThan(BigDecimal value) { + addCriterion("Discount <", value, "discount"); + return (Criteria) this; + } + + public Criteria andDiscountLessThanOrEqualTo(BigDecimal value) { + addCriterion("Discount <=", value, "discount"); + return (Criteria) this; + } + + public Criteria andDiscountIn(List values) { + addCriterion("Discount in", values, "discount"); + return (Criteria) this; + } + + public Criteria andDiscountNotIn(List values) { + addCriterion("Discount not in", values, "discount"); + return (Criteria) this; + } + + public Criteria andDiscountBetween(BigDecimal value1, BigDecimal value2) { + addCriterion("Discount between", value1, value2, "discount"); + return (Criteria) this; + } + + public Criteria andDiscountNotBetween(BigDecimal value1, BigDecimal value2) { + addCriterion("Discount not between", value1, value2, "discount"); + return (Criteria) this; + } + + public Criteria andDiscountmoneyIsNull() { + addCriterion("DiscountMoney is null"); + return (Criteria) this; + } + + public Criteria andDiscountmoneyIsNotNull() { + addCriterion("DiscountMoney is not null"); + return (Criteria) this; + } + + public Criteria andDiscountmoneyEqualTo(BigDecimal value) { + addCriterion("DiscountMoney =", value, "discountmoney"); + return (Criteria) this; + } + + public Criteria andDiscountmoneyNotEqualTo(BigDecimal value) { + addCriterion("DiscountMoney <>", value, "discountmoney"); + return (Criteria) this; + } + + public Criteria andDiscountmoneyGreaterThan(BigDecimal value) { + addCriterion("DiscountMoney >", value, "discountmoney"); + return (Criteria) this; + } + + public Criteria andDiscountmoneyGreaterThanOrEqualTo(BigDecimal value) { + addCriterion("DiscountMoney >=", value, "discountmoney"); + return (Criteria) this; + } + + public Criteria andDiscountmoneyLessThan(BigDecimal value) { + addCriterion("DiscountMoney <", value, "discountmoney"); + return (Criteria) this; + } + + public Criteria andDiscountmoneyLessThanOrEqualTo(BigDecimal value) { + addCriterion("DiscountMoney <=", value, "discountmoney"); + return (Criteria) this; + } + + public Criteria andDiscountmoneyIn(List values) { + addCriterion("DiscountMoney in", values, "discountmoney"); + return (Criteria) this; + } + + public Criteria andDiscountmoneyNotIn(List values) { + addCriterion("DiscountMoney not in", values, "discountmoney"); + return (Criteria) this; + } + + public Criteria andDiscountmoneyBetween(BigDecimal value1, BigDecimal value2) { + addCriterion("DiscountMoney between", value1, value2, "discountmoney"); + return (Criteria) this; + } + + public Criteria andDiscountmoneyNotBetween(BigDecimal value1, BigDecimal value2) { + addCriterion("DiscountMoney not between", value1, value2, "discountmoney"); + return (Criteria) this; + } + + public Criteria andDiscountlastmoneyIsNull() { + addCriterion("DiscountLastMoney is null"); + return (Criteria) this; + } + + public Criteria andDiscountlastmoneyIsNotNull() { + addCriterion("DiscountLastMoney is not null"); + return (Criteria) this; + } + + public Criteria andDiscountlastmoneyEqualTo(BigDecimal value) { + addCriterion("DiscountLastMoney =", value, "discountlastmoney"); + return (Criteria) this; + } + + public Criteria andDiscountlastmoneyNotEqualTo(BigDecimal value) { + addCriterion("DiscountLastMoney <>", value, "discountlastmoney"); + return (Criteria) this; + } + + public Criteria andDiscountlastmoneyGreaterThan(BigDecimal value) { + addCriterion("DiscountLastMoney >", value, "discountlastmoney"); + return (Criteria) this; + } + + public Criteria andDiscountlastmoneyGreaterThanOrEqualTo(BigDecimal value) { + addCriterion("DiscountLastMoney >=", value, "discountlastmoney"); + return (Criteria) this; + } + + public Criteria andDiscountlastmoneyLessThan(BigDecimal value) { + addCriterion("DiscountLastMoney <", value, "discountlastmoney"); + return (Criteria) this; + } + + public Criteria andDiscountlastmoneyLessThanOrEqualTo(BigDecimal value) { + addCriterion("DiscountLastMoney <=", value, "discountlastmoney"); + return (Criteria) this; + } + + public Criteria andDiscountlastmoneyIn(List values) { + addCriterion("DiscountLastMoney in", values, "discountlastmoney"); + return (Criteria) this; + } + + public Criteria andDiscountlastmoneyNotIn(List values) { + addCriterion("DiscountLastMoney not in", values, "discountlastmoney"); + return (Criteria) this; + } + + public Criteria andDiscountlastmoneyBetween(BigDecimal value1, BigDecimal value2) { + addCriterion("DiscountLastMoney between", value1, value2, "discountlastmoney"); + return (Criteria) this; + } + + public Criteria andDiscountlastmoneyNotBetween(BigDecimal value1, BigDecimal value2) { + addCriterion("DiscountLastMoney not between", value1, value2, "discountlastmoney"); + return (Criteria) this; + } + + public Criteria andOthermoneyIsNull() { + addCriterion("OtherMoney is null"); + return (Criteria) this; + } + + public Criteria andOthermoneyIsNotNull() { + addCriterion("OtherMoney is not null"); + return (Criteria) this; + } + + public Criteria andOthermoneyEqualTo(BigDecimal value) { + addCriterion("OtherMoney =", value, "othermoney"); + return (Criteria) this; + } + + public Criteria andOthermoneyNotEqualTo(BigDecimal value) { + addCriterion("OtherMoney <>", value, "othermoney"); + return (Criteria) this; + } + + public Criteria andOthermoneyGreaterThan(BigDecimal value) { + addCriterion("OtherMoney >", value, "othermoney"); + return (Criteria) this; + } + + public Criteria andOthermoneyGreaterThanOrEqualTo(BigDecimal value) { + addCriterion("OtherMoney >=", value, "othermoney"); + return (Criteria) this; + } + + public Criteria andOthermoneyLessThan(BigDecimal value) { + addCriterion("OtherMoney <", value, "othermoney"); + return (Criteria) this; + } + + public Criteria andOthermoneyLessThanOrEqualTo(BigDecimal value) { + addCriterion("OtherMoney <=", value, "othermoney"); + return (Criteria) this; + } + + public Criteria andOthermoneyIn(List values) { + addCriterion("OtherMoney in", values, "othermoney"); + return (Criteria) this; + } + + public Criteria andOthermoneyNotIn(List values) { + addCriterion("OtherMoney not in", values, "othermoney"); + return (Criteria) this; + } + + public Criteria andOthermoneyBetween(BigDecimal value1, BigDecimal value2) { + addCriterion("OtherMoney between", value1, value2, "othermoney"); + return (Criteria) this; + } + + public Criteria andOthermoneyNotBetween(BigDecimal value1, BigDecimal value2) { + addCriterion("OtherMoney not between", value1, value2, "othermoney"); + return (Criteria) this; + } + + public Criteria andOthermoneylistIsNull() { + addCriterion("OtherMoneyList is null"); + return (Criteria) this; + } + + public Criteria andOthermoneylistIsNotNull() { + addCriterion("OtherMoneyList is not null"); + return (Criteria) this; + } + + public Criteria andOthermoneylistEqualTo(String value) { + addCriterion("OtherMoneyList =", value, "othermoneylist"); + return (Criteria) this; + } + + public Criteria andOthermoneylistNotEqualTo(String value) { + addCriterion("OtherMoneyList <>", value, "othermoneylist"); + return (Criteria) this; + } + + public Criteria andOthermoneylistGreaterThan(String value) { + addCriterion("OtherMoneyList >", value, "othermoneylist"); + return (Criteria) this; + } + + public Criteria andOthermoneylistGreaterThanOrEqualTo(String value) { + addCriterion("OtherMoneyList >=", value, "othermoneylist"); + return (Criteria) this; + } + + public Criteria andOthermoneylistLessThan(String value) { + addCriterion("OtherMoneyList <", value, "othermoneylist"); + return (Criteria) this; + } + + public Criteria andOthermoneylistLessThanOrEqualTo(String value) { + addCriterion("OtherMoneyList <=", value, "othermoneylist"); + return (Criteria) this; + } + + public Criteria andOthermoneylistLike(String value) { + addCriterion("OtherMoneyList like", value, "othermoneylist"); + return (Criteria) this; + } + + public Criteria andOthermoneylistNotLike(String value) { + addCriterion("OtherMoneyList not like", value, "othermoneylist"); + return (Criteria) this; + } + + public Criteria andOthermoneylistIn(List values) { + addCriterion("OtherMoneyList in", values, "othermoneylist"); + return (Criteria) this; + } + + public Criteria andOthermoneylistNotIn(List values) { + addCriterion("OtherMoneyList not in", values, "othermoneylist"); + return (Criteria) this; + } + + public Criteria andOthermoneylistBetween(String value1, String value2) { + addCriterion("OtherMoneyList between", value1, value2, "othermoneylist"); + return (Criteria) this; + } + + public Criteria andOthermoneylistNotBetween(String value1, String value2) { + addCriterion("OtherMoneyList not between", value1, value2, "othermoneylist"); + return (Criteria) this; + } + + public Criteria andOthermoneyitemIsNull() { + addCriterion("OtherMoneyItem is null"); + return (Criteria) this; + } + + public Criteria andOthermoneyitemIsNotNull() { + addCriterion("OtherMoneyItem is not null"); + return (Criteria) this; + } + + public Criteria andOthermoneyitemEqualTo(String value) { + addCriterion("OtherMoneyItem =", value, "othermoneyitem"); + return (Criteria) this; + } + + public Criteria andOthermoneyitemNotEqualTo(String value) { + addCriterion("OtherMoneyItem <>", value, "othermoneyitem"); + return (Criteria) this; + } + + public Criteria andOthermoneyitemGreaterThan(String value) { + addCriterion("OtherMoneyItem >", value, "othermoneyitem"); + return (Criteria) this; + } + + public Criteria andOthermoneyitemGreaterThanOrEqualTo(String value) { + addCriterion("OtherMoneyItem >=", value, "othermoneyitem"); + return (Criteria) this; + } + + public Criteria andOthermoneyitemLessThan(String value) { + addCriterion("OtherMoneyItem <", value, "othermoneyitem"); + return (Criteria) this; + } + + public Criteria andOthermoneyitemLessThanOrEqualTo(String value) { + addCriterion("OtherMoneyItem <=", value, "othermoneyitem"); + return (Criteria) this; + } + + public Criteria andOthermoneyitemLike(String value) { + addCriterion("OtherMoneyItem like", value, "othermoneyitem"); + return (Criteria) this; + } + + public Criteria andOthermoneyitemNotLike(String value) { + addCriterion("OtherMoneyItem not like", value, "othermoneyitem"); + return (Criteria) this; + } + + public Criteria andOthermoneyitemIn(List values) { + addCriterion("OtherMoneyItem in", values, "othermoneyitem"); + return (Criteria) this; + } + + public Criteria andOthermoneyitemNotIn(List values) { + addCriterion("OtherMoneyItem not in", values, "othermoneyitem"); + return (Criteria) this; + } + + public Criteria andOthermoneyitemBetween(String value1, String value2) { + addCriterion("OtherMoneyItem between", value1, value2, "othermoneyitem"); + return (Criteria) this; + } + + public Criteria andOthermoneyitemNotBetween(String value1, String value2) { + addCriterion("OtherMoneyItem not between", value1, value2, "othermoneyitem"); + return (Criteria) this; + } + + public Criteria andAccountdayIsNull() { + addCriterion("AccountDay is null"); + return (Criteria) this; + } + + public Criteria andAccountdayIsNotNull() { + addCriterion("AccountDay is not null"); + return (Criteria) this; + } + + public Criteria andAccountdayEqualTo(Integer value) { + addCriterion("AccountDay =", value, "accountday"); + return (Criteria) this; + } + + public Criteria andAccountdayNotEqualTo(Integer value) { + addCriterion("AccountDay <>", value, "accountday"); + return (Criteria) this; + } + + public Criteria andAccountdayGreaterThan(Integer value) { + addCriterion("AccountDay >", value, "accountday"); + return (Criteria) this; + } + + public Criteria andAccountdayGreaterThanOrEqualTo(Integer value) { + addCriterion("AccountDay >=", value, "accountday"); + return (Criteria) this; + } + + public Criteria andAccountdayLessThan(Integer value) { + addCriterion("AccountDay <", value, "accountday"); + return (Criteria) this; + } + + public Criteria andAccountdayLessThanOrEqualTo(Integer value) { + addCriterion("AccountDay <=", value, "accountday"); + return (Criteria) this; + } + + public Criteria andAccountdayIn(List values) { + addCriterion("AccountDay in", values, "accountday"); + return (Criteria) this; + } + + public Criteria andAccountdayNotIn(List values) { + addCriterion("AccountDay not in", values, "accountday"); + return (Criteria) this; + } + + public Criteria andAccountdayBetween(Integer value1, Integer value2) { + addCriterion("AccountDay between", value1, value2, "accountday"); + return (Criteria) this; + } + + public Criteria andAccountdayNotBetween(Integer value1, Integer value2) { + addCriterion("AccountDay not between", value1, value2, "accountday"); + return (Criteria) this; + } + + public Criteria andStatusIsNull() { + addCriterion("Status is null"); + return (Criteria) this; + } + + public Criteria andStatusIsNotNull() { + addCriterion("Status is not null"); + return (Criteria) this; + } + + public Criteria andStatusEqualTo(String value) { + addCriterion("Status =", value, "status"); + return (Criteria) this; + } + + public Criteria andStatusNotEqualTo(String value) { + addCriterion("Status <>", value, "status"); + return (Criteria) this; + } + + public Criteria andStatusGreaterThan(String value) { + addCriterion("Status >", value, "status"); + return (Criteria) this; + } + + public Criteria andStatusGreaterThanOrEqualTo(String value) { + addCriterion("Status >=", value, "status"); + return (Criteria) this; + } + + public Criteria andStatusLessThan(String value) { + addCriterion("Status <", value, "status"); + return (Criteria) this; + } + + public Criteria andStatusLessThanOrEqualTo(String value) { + addCriterion("Status <=", value, "status"); + return (Criteria) this; + } + + public Criteria andStatusLike(String value) { + addCriterion("Status like", value, "status"); + return (Criteria) this; + } + + public Criteria andStatusNotLike(String value) { + addCriterion("Status not like", value, "status"); + return (Criteria) this; + } + + public Criteria andStatusIn(List values) { + addCriterion("Status in", values, "status"); + return (Criteria) this; + } + + public Criteria andStatusNotIn(List values) { + addCriterion("Status not in", values, "status"); + return (Criteria) this; + } + + public Criteria andStatusBetween(String value1, String value2) { + addCriterion("Status between", value1, value2, "status"); + return (Criteria) this; + } + + public Criteria andStatusNotBetween(String value1, String value2) { + addCriterion("Status not between", value1, value2, "status"); + return (Criteria) this; + } + + public Criteria andLinknumberIsNull() { + addCriterion("LinkNumber is null"); + return (Criteria) this; + } + + public Criteria andLinknumberIsNotNull() { + addCriterion("LinkNumber is not null"); + return (Criteria) this; + } + + public Criteria andLinknumberEqualTo(String value) { + addCriterion("LinkNumber =", value, "linknumber"); + return (Criteria) this; + } + + public Criteria andLinknumberNotEqualTo(String value) { + addCriterion("LinkNumber <>", value, "linknumber"); + return (Criteria) this; + } + + public Criteria andLinknumberGreaterThan(String value) { + addCriterion("LinkNumber >", value, "linknumber"); + return (Criteria) this; + } + + public Criteria andLinknumberGreaterThanOrEqualTo(String value) { + addCriterion("LinkNumber >=", value, "linknumber"); + return (Criteria) this; + } + + public Criteria andLinknumberLessThan(String value) { + addCriterion("LinkNumber <", value, "linknumber"); + return (Criteria) this; + } + + public Criteria andLinknumberLessThanOrEqualTo(String value) { + addCriterion("LinkNumber <=", value, "linknumber"); + return (Criteria) this; + } + + public Criteria andLinknumberLike(String value) { + addCriterion("LinkNumber like", value, "linknumber"); + return (Criteria) this; + } + + public Criteria andLinknumberNotLike(String value) { + addCriterion("LinkNumber not like", value, "linknumber"); + return (Criteria) this; + } + + public Criteria andLinknumberIn(List values) { + addCriterion("LinkNumber in", values, "linknumber"); + return (Criteria) this; + } + + public Criteria andLinknumberNotIn(List values) { + addCriterion("LinkNumber not in", values, "linknumber"); + return (Criteria) this; + } + + public Criteria andLinknumberBetween(String value1, String value2) { + addCriterion("LinkNumber between", value1, value2, "linknumber"); + return (Criteria) this; + } + + public Criteria andLinknumberNotBetween(String value1, String value2) { + addCriterion("LinkNumber not between", value1, value2, "linknumber"); + return (Criteria) this; + } + } + + /** + * This class was generated by MyBatis Generator. + * This class corresponds to the database table jsh_depothead + * + * @mbggenerated do_not_delete_during_merge + */ + public static class Criteria extends GeneratedCriteria { + + protected Criteria() { + super(); + } + } + + /** + * This class was generated by MyBatis Generator. + * This class corresponds to the database table jsh_depothead + * + * @mbggenerated + */ + public static class Criterion { + private String condition; + + private Object value; + + private Object secondValue; + + private boolean noValue; + + private boolean singleValue; + + private boolean betweenValue; + + private boolean listValue; + + private String typeHandler; + + public String getCondition() { + return condition; + } + + public Object getValue() { + return value; + } + + public Object getSecondValue() { + return secondValue; + } + + public boolean isNoValue() { + return noValue; + } + + public boolean isSingleValue() { + return singleValue; + } + + public boolean isBetweenValue() { + return betweenValue; + } + + public boolean isListValue() { + return listValue; + } + + public String getTypeHandler() { + return typeHandler; + } + + protected Criterion(String condition) { + super(); + this.condition = condition; + this.typeHandler = null; + this.noValue = true; + } + + protected Criterion(String condition, Object value, String typeHandler) { + super(); + this.condition = condition; + this.value = value; + this.typeHandler = typeHandler; + if (value instanceof List) { + this.listValue = true; + } else { + this.singleValue = true; + } + } + + protected Criterion(String condition, Object value) { + this(condition, value, null); + } + + protected Criterion(String condition, Object value, Object secondValue, String typeHandler) { + super(); + this.condition = condition; + this.value = value; + this.secondValue = secondValue; + this.typeHandler = typeHandler; + this.betweenValue = true; + } + + protected Criterion(String condition, Object value, Object secondValue) { + this(condition, value, secondValue, null); + } + } } \ No newline at end of file diff --git a/src/main/java/com/jsh/erp/datasource/mappers/DepotHeadMapper.java b/src/main/java/com/jsh/erp/datasource/mappers/DepotHeadMapper.java index 2cdef7b9..3a0badbf 100644 --- a/src/main/java/com/jsh/erp/datasource/mappers/DepotHeadMapper.java +++ b/src/main/java/com/jsh/erp/datasource/mappers/DepotHeadMapper.java @@ -1,103 +1,96 @@ -package com.jsh.erp.datasource.mappers; - -import com.jsh.erp.datasource.entities.DepotHead; -import com.jsh.erp.datasource.entities.DepotHeadExample; - -import java.math.BigDecimal; -import java.util.List; - -import com.jsh.erp.datasource.vo.DepotHeadVo4InDetail; -import com.jsh.erp.datasource.vo.DepotHeadVo4InOutMCount; -import com.jsh.erp.datasource.vo.DepotHeadVo4List; -import com.jsh.erp.datasource.vo.DepotHeadVo4StatementAccount; -import org.apache.ibatis.annotations.Param; - -public interface DepotHeadMapper { - /** - * This method was generated by MyBatis Generator. - * This method corresponds to the database table jsh_depothead - * - * @mbggenerated - */ - int countByExample(DepotHeadExample example); - - /** - * This method was generated by MyBatis Generator. - * This method corresponds to the database table jsh_depothead - * - * @mbggenerated - */ - int deleteByExample(DepotHeadExample example); - - /** - * This method was generated by MyBatis Generator. - * This method corresponds to the database table jsh_depothead - * - * @mbggenerated - */ - int deleteByPrimaryKey(Long id); - - /** - * This method was generated by MyBatis Generator. - * This method corresponds to the database table jsh_depothead - * - * @mbggenerated - */ - int insert(DepotHead record); - - /** - * This method was generated by MyBatis Generator. - * This method corresponds to the database table jsh_depothead - * - * @mbggenerated - */ - int insertSelective(DepotHead record); - - /** - * This method was generated by MyBatis Generator. - * This method corresponds to the database table jsh_depothead - * - * @mbggenerated - */ - List selectByExample(DepotHeadExample example); - - /** - * This method was generated by MyBatis Generator. - * This method corresponds to the database table jsh_depothead - * - * @mbggenerated - */ - DepotHead selectByPrimaryKey(Long id); - - /** - * This method was generated by MyBatis Generator. - * This method corresponds to the database table jsh_depothead - * - * @mbggenerated - */ - int updateByExampleSelective(@Param("record") DepotHead record, @Param("example") DepotHeadExample example); - - /** - * This method was generated by MyBatis Generator. - * This method corresponds to the database table jsh_depothead - * - * @mbggenerated - */ - int updateByExample(@Param("record") DepotHead record, @Param("example") DepotHeadExample example); - - /** - * This method was generated by MyBatis Generator. - * This method corresponds to the database table jsh_depothead - * - * @mbggenerated - */ - int updateByPrimaryKeySelective(DepotHead record); - - /** - * This method was generated by MyBatis Generator. - * This method corresponds to the database table jsh_depothead - * - * @mbggenerated - */ - int updateByPrimaryKey(DepotHead record); +package com.jsh.erp.datasource.mappers; + +import com.jsh.erp.datasource.entities.DepotHead; +import com.jsh.erp.datasource.entities.DepotHeadExample; +import java.util.List; +import org.apache.ibatis.annotations.Param; + +public interface DepotHeadMapper { + /** + * This method was generated by MyBatis Generator. + * This method corresponds to the database table jsh_depothead + * + * @mbggenerated + */ + int countByExample(DepotHeadExample example); + + /** + * This method was generated by MyBatis Generator. + * This method corresponds to the database table jsh_depothead + * + * @mbggenerated + */ + int deleteByExample(DepotHeadExample example); + + /** + * This method was generated by MyBatis Generator. + * This method corresponds to the database table jsh_depothead + * + * @mbggenerated + */ + int deleteByPrimaryKey(Long id); + + /** + * This method was generated by MyBatis Generator. + * This method corresponds to the database table jsh_depothead + * + * @mbggenerated + */ + int insert(DepotHead record); + + /** + * This method was generated by MyBatis Generator. + * This method corresponds to the database table jsh_depothead + * + * @mbggenerated + */ + int insertSelective(DepotHead record); + + /** + * This method was generated by MyBatis Generator. + * This method corresponds to the database table jsh_depothead + * + * @mbggenerated + */ + List selectByExample(DepotHeadExample example); + + /** + * This method was generated by MyBatis Generator. + * This method corresponds to the database table jsh_depothead + * + * @mbggenerated + */ + DepotHead selectByPrimaryKey(Long id); + + /** + * This method was generated by MyBatis Generator. + * This method corresponds to the database table jsh_depothead + * + * @mbggenerated + */ + int updateByExampleSelective(@Param("record") DepotHead record, @Param("example") DepotHeadExample example); + + /** + * This method was generated by MyBatis Generator. + * This method corresponds to the database table jsh_depothead + * + * @mbggenerated + */ + int updateByExample(@Param("record") DepotHead record, @Param("example") DepotHeadExample example); + + /** + * This method was generated by MyBatis Generator. + * This method corresponds to the database table jsh_depothead + * + * @mbggenerated + */ + int updateByPrimaryKeySelective(DepotHead record); + + /** + * This method was generated by MyBatis Generator. + * This method corresponds to the database table jsh_depothead + * + * @mbggenerated + */ + int updateByPrimaryKey(DepotHead record); } \ No newline at end of file diff --git a/src/main/java/com/jsh/erp/datasource/vo/DepotHeadVo4List.java b/src/main/java/com/jsh/erp/datasource/vo/DepotHeadVo4List.java index ed1b2131..fa8372fb 100644 --- a/src/main/java/com/jsh/erp/datasource/vo/DepotHeadVo4List.java +++ b/src/main/java/com/jsh/erp/datasource/vo/DepotHeadVo4List.java @@ -59,7 +59,9 @@ public class DepotHeadVo4List { private Integer accountday; - private Boolean status; + private String status; + + private String linknumber; private String projectName; @@ -291,14 +293,22 @@ public class DepotHeadVo4List { this.accountday = accountday; } - public Boolean getStatus() { + public String getStatus() { return status; } - public void setStatus(Boolean status) { + public void setStatus(String status) { this.status = status; } + public String getLinknumber() { + return linknumber; + } + + public void setLinknumber(String linknumber) { + this.linknumber = linknumber; + } + public String getProjectName() { return projectName; } diff --git a/src/main/java/com/jsh/erp/service/depotHead/DepotHeadService.java b/src/main/java/com/jsh/erp/service/depotHead/DepotHeadService.java index 9cec4056..8cbed09c 100644 --- a/src/main/java/com/jsh/erp/service/depotHead/DepotHeadService.java +++ b/src/main/java/com/jsh/erp/service/depotHead/DepotHeadService.java @@ -106,7 +106,7 @@ public class DepotHeadService { depotHead.setOperpersonname(uName); } depotHead.setCreatetime(new Timestamp(System.currentTimeMillis())); - depotHead.setStatus(false); + depotHead.setStatus(BusinessConstants.BILLS_STATUS_UN_AUDIT); return depotHeadMapper.insert(depotHead); } @@ -142,7 +142,7 @@ public class DepotHeadService { } @Transactional(value = "transactionManager", rollbackFor = Exception.class) - public int batchSetStatus(Boolean status, String depotHeadIDs) { + public int batchSetStatus(String status, String depotHeadIDs) { List ids = StringUtil.strToLongList(depotHeadIDs); DepotHead depotHead = new DepotHead(); depotHead.setStatus(status); @@ -275,7 +275,7 @@ public class DepotHeadService { User userInfo=userService.getCurrentUser(); depotHead.setOperpersonname(userInfo==null?null:userInfo.getUsername()); depotHead.setCreatetime(new Timestamp(System.currentTimeMillis())); - depotHead.setStatus(false); + depotHead.setStatus(BusinessConstants.BILLS_STATUS_UN_AUDIT); depotHeadMapperEx.adddepotHead(depotHead); /**入库和出库处理预付款信息*/ if(BusinessConstants.PAY_TYPE_PREPAID.equals(depotHead.getPaytype())){ @@ -285,6 +285,14 @@ public class DepotHeadService { } /**入库和出库处理单据子表信息*/ depotItemService.saveDetials(inserted,deleted,updated,depotHead.getId()); + /**如果关联单据号非空则更新订单的状态为2 */ + if(depotHead.getLinknumber()!=null) { + DepotHead depotHeadOrders = new DepotHead(); + depotHeadOrders.setStatus(BusinessConstants.BILLS_STATUS_SKIP); + DepotHeadExample example = new DepotHeadExample(); + example.createCriteria().andNumberEqualTo(depotHead.getLinknumber()); + depotHeadMapper.updateByExampleSelective(depotHeadOrders, example); + } } /** * create by: cjl diff --git a/src/main/resources/mapper_xml/DepotHeadMapper.xml b/src/main/resources/mapper_xml/DepotHeadMapper.xml index 1a7e35c2..11e03aaf 100644 --- a/src/main/resources/mapper_xml/DepotHeadMapper.xml +++ b/src/main/resources/mapper_xml/DepotHeadMapper.xml @@ -1,5 +1,5 @@ - - + +