From c60568380e8236070f7350aac8dd0f6c93cf18f9 Mon Sep 17 00:00:00 2001 From: cjl Date: Mon, 25 Feb 2019 10:59:46 +0800 Subject: [PATCH 1/6] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E6=96=B0=E5=A2=9E?= =?UTF-8?q?=E9=87=87=E8=B4=AD=E8=AE=A2=E5=8D=95=E3=80=81=E9=94=80=E5=94=AE?= =?UTF-8?q?=E8=AE=A2=E5=8D=95=E7=9A=84=E5=8A=9F=E8=83=BD=E6=95=B0=E6=8D=AE?= =?UTF-8?q?=E6=8F=92=E5=85=A5=E6=96=B9=E5=BC=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- sql/jsh_erp.sql | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/sql/jsh_erp.sql b/sql/jsh_erp.sql index 86562a2a..63b4979a 100644 --- a/sql/jsh_erp.sql +++ b/sql/jsh_erp.sql @@ -1230,9 +1230,10 @@ delete from jsh_functions where id in (213,214,215,216); -- ---------------------------- -- 新增采购订单、销售订单的功能数据 +-- 主键自增长,直接指定主键插入数据的方式可能会和本地数据冲突 -- ---------------------------- -insert into `jsh_functions` values ('242', '050202', '采购订单', '0502', '../materials/purchase_orders_list.html', b'0', '0335',b'1', '电脑版', ''); -insert into `jsh_functions` values ('243', '060301', '销售订单', '0603', '../materials/sale_orders_list.html', b'0', '0392', b'1', '电脑版', ''); +insert into `jsh_functions`(`Number`, `Name`, `PNumber`, `URL`, `State`, `Sort`, `Enabled`, `Type`, `PushBtn`) VALUES ('050202', '采购订单', '0502', '../materials/purchase_orders_list.html', b'0', '0335',b'1', '电脑版', ''); +insert into `jsh_functions`(`Number`, `Name`, `PNumber`, `URL`, `State`, `Sort`, `Enabled`, `Type`, `PushBtn`) VALUES ('060301', '销售订单', '0603', '../materials/sale_orders_list.html', b'0', '0392', b'1', '电脑版', ''); -- ---------------------------- -- 改管理员的功能权限 From 86b9ae9005ee282a77538a6092abfc81038c0641 Mon Sep 17 00:00:00 2001 From: qiankunpingtai Date: Tue, 26 Feb 2019 15:18:38 +0800 Subject: [PATCH 2/6] =?UTF-8?q?=E4=BB=93=E5=BA=93=E6=B7=BB=E5=8A=A0?= =?UTF-8?q?=E8=B4=9F=E8=B4=A3=E4=BA=BA=E5=AD=97=E6=AE=B5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- erp_web/pages/manage/depot.html | 13 +++- pom.xml | 5 ++ sql/jsh_erp.sql | 14 +++- sql/华夏ERP数据库设计汇总.xlsx | Bin 76959 -> 76914 bytes .../jsh/erp/constants/BusinessConstants.java | 10 ++- .../jsh/erp/controller/DepotController.java | 57 ++++++++++++++++- .../erp/controller/DepotItemController.java | 7 +- .../erp/controller/ResourceController.java | 3 +- .../jsh/erp/datasource/entities/Depot.java | 32 ++++++++++ .../jsh/erp/datasource/entities/DepotEx.java | 20 ++++++ .../erp/datasource/entities/DepotExample.java | 60 ++++++++++++++++++ .../mappers/AccountHeadMapperEx.java | 2 +- .../mappers/AccountItemMapperEx.java | 2 +- .../datasource/mappers/AccountMapperEx.java | 2 +- .../erp/datasource/mappers/AppMapperEx.java | 2 +- .../datasource/mappers/DepotHeadMapperEx.java | 2 +- .../datasource/mappers/DepotItemMapperEx.java | 6 +- .../erp/datasource/mappers/DepotMapperEx.java | 7 +- .../datasource/mappers/FunctionsMapperEx.java | 2 +- .../datasource/mappers/InOutItemMapperEx.java | 2 +- .../erp/datasource/mappers/LogMapperEx.java | 2 +- .../mappers/MaterialCategoryMapperEx.java | 2 +- .../datasource/mappers/MaterialMapperEx.java | 2 +- .../mappers/MaterialPropertyMapperEx.java | 2 +- .../datasource/mappers/PersonMapperEx.java | 2 +- .../erp/datasource/mappers/RoleMapperEx.java | 2 +- .../mappers/SerialNumberMapperEx.java | 2 +- .../datasource/mappers/SupplierMapperEx.java | 2 +- .../mappers/SystemConfigMapperEx.java | 2 +- .../erp/datasource/mappers/UnitMapperEx.java | 2 +- .../erp/datasource/mappers/UserMapperEx.java | 2 +- .../jsh/erp/service/CommonQueryManager.java | 5 +- .../com/jsh/erp/service/ICommonQuery.java | 2 +- .../jsh/erp/service/InterfaceContainer.java | 3 +- .../erp/service/account/AccountComponent.java | 2 +- .../erp/service/account/AccountService.java | 2 +- .../accountHead/AccountHeadComponent.java | 2 +- .../accountHead/AccountHeadService.java | 2 +- .../accountItem/AccountItemComponent.java | 2 +- .../accountItem/AccountItemService.java | 2 +- .../com/jsh/erp/service/app/AppComponent.java | 2 +- .../com/jsh/erp/service/app/AppService.java | 2 +- .../jsh/erp/service/depot/DepotComponent.java | 2 +- .../jsh/erp/service/depot/DepotService.java | 8 ++- .../service/depotHead/DepotHeadComponent.java | 2 +- .../service/depotHead/DepotHeadService.java | 2 +- .../service/depotItem/DepotItemComponent.java | 2 +- .../service/depotItem/DepotItemService.java | 6 +- .../service/functions/FunctionsComponent.java | 2 +- .../service/functions/FunctionsService.java | 2 +- .../service/inOutItem/InOutItemComponent.java | 2 +- .../service/inOutItem/InOutItemService.java | 2 +- .../com/jsh/erp/service/log/LogComponent.java | 2 +- .../com/jsh/erp/service/log/LogService.java | 2 +- .../service/material/MaterialComponent.java | 2 +- .../erp/service/material/MaterialService.java | 2 +- .../MaterialCategoryComponent.java | 2 +- .../MaterialCategoryService.java | 2 +- .../MaterialPropertyComponent.java | 2 +- .../MaterialPropertyService.java | 2 +- .../erp/service/person/PersonComponent.java | 2 +- .../jsh/erp/service/person/PersonService.java | 2 +- .../jsh/erp/service/role/RoleComponent.java | 2 +- .../com/jsh/erp/service/role/RoleService.java | 2 +- .../serialNumber/SerialNumberComponent.java | 2 +- .../serialNumber/SerialNumberService.java | 2 +- .../service/supplier/SupplierComponent.java | 2 +- .../erp/service/supplier/SupplierService.java | 2 +- .../systemConfig/SystemConfigComponent.java | 2 +- .../systemConfig/SystemConfigService.java | 2 +- .../jsh/erp/service/unit/UnitComponent.java | 2 +- .../com/jsh/erp/service/unit/UnitService.java | 2 +- .../jsh/erp/service/user/UserComponent.java | 2 +- .../com/jsh/erp/service/user/UserService.java | 2 +- .../userBusiness/UserBusinessComponent.java | 5 +- .../java/com/jsh/erp/utils/Constants.java | 1 + .../java/com/jsh/erp/utils/PageQueryInfo.java | 6 +- .../java/com/jsh/erp/utils/ParamUtils.java | 28 +++++++- src/main/resources/application.properties | 8 +++ .../mapper_xml/AccountHeadMapperEx.xml | 2 +- .../mapper_xml/AccountItemMapperEx.xml | 2 +- .../resources/mapper_xml/AccountMapperEx.xml | 2 +- src/main/resources/mapper_xml/AppMapperEx.xml | 2 +- .../mapper_xml/DepotHeadMapperEx.xml | 2 +- .../mapper_xml/DepotItemMapperEx.xml | 6 +- src/main/resources/mapper_xml/DepotMapper.xml | 27 ++++++-- .../resources/mapper_xml/DepotMapperEx.xml | 27 +++++++- .../mapper_xml/FunctionsMapperEx.xml | 2 +- .../mapper_xml/InOutItemMapperEx.xml | 2 +- src/main/resources/mapper_xml/LogMapperEx.xml | 2 +- .../mapper_xml/MaterialCategoryMapperEx.xml | 2 +- .../resources/mapper_xml/MaterialMapperEx.xml | 2 +- .../mapper_xml/MaterialPropertyMapperEx.xml | 2 +- .../resources/mapper_xml/PersonMapperEx.xml | 2 +- .../resources/mapper_xml/RoleMapperEx.xml | 2 +- .../mapper_xml/SerialNumberMapperEx.xml | 2 +- .../resources/mapper_xml/SupplierMapperEx.xml | 2 +- .../mapper_xml/SystemConfigMapperEx.xml | 2 +- .../resources/mapper_xml/UnitMapperEx.xml | 2 +- .../resources/mapper_xml/UserMapperEx.xml | 2 +- src/test/resources/generatorConfig.xml | 6 +- 101 files changed, 402 insertions(+), 118 deletions(-) create mode 100644 src/main/java/com/jsh/erp/datasource/entities/DepotEx.java diff --git a/erp_web/pages/manage/depot.html b/erp_web/pages/manage/depot.html index 30695079..f7027f24 100644 --- a/erp_web/pages/manage/depot.html +++ b/erp_web/pages/manage/depot.html @@ -76,6 +76,14 @@ data-options="min:0,precision:2" style="width: 215px;height: 20px"/> 元 + + 负责人 + + + + + 排序 @@ -145,7 +153,7 @@ formatter: function (value, rec) { var str = ''; var rowInfo = rec.id + 'AaBb' + rec.name + 'AaBb' + rec.sort + 'AaBb' + rec.remark + 'AaBb' - + rec.address + 'AaBb' + rec.warehousing + 'AaBb' + rec.truckage; + + rec.address + 'AaBb' + rec.warehousing + 'AaBb' + rec.truckage+rec.principalName+rec.principal; str += '   '; str += ''; return str; @@ -155,6 +163,7 @@ {title: '仓库地址', field: 'address', width: 200}, {title: '仓储费', field: 'warehousing', width: 60}, {title: '搬运费', field: 'truckage', width: 60}, + {title: '负责人', field: 'principalName', width: 60}, {title: '排序', field: 'sort', width: 60}, {title: '描述', field: 'remark', width: 120} ]], @@ -419,7 +428,7 @@ var remark = $.trim($("#searchRemark").val()); $.ajax({ type: "get", - url: "/depot/list", + url: "/depot/getDepotList", dataType: "json", data: ({ search: JSON.stringify({ diff --git a/pom.xml b/pom.xml index ba21d381..92305fca 100644 --- a/pom.xml +++ b/pom.xml @@ -98,6 +98,11 @@ 1.7.25 compile + + com.github.pagehelper + pagehelper-spring-boot-starter + 1.2.10 + diff --git a/sql/jsh_erp.sql b/sql/jsh_erp.sql index 63b4979a..97e28403 100644 --- a/sql/jsh_erp.sql +++ b/sql/jsh_erp.sql @@ -1240,4 +1240,16 @@ insert into `jsh_functions`(`Number`, `Name`, `PNumber`, `URL`, `State`, `Sort`, -- ---------------------------- update jsh_userbusiness SET Type = 'RoleFunctions', KeyId = '4', Value = '[13][12][16][14][15][234][236][22][23][220][240][25][217][218][26][194][195][31][59][207][208][209][226][227][228][229][235][237][210][211][242][33][199][243][41][200][201][202][40][232][233][197][203][204][205][206][212]' -where Id = 5; \ No newline at end of file +where Id = 5; + +-- ---------------------------- +-- 时间:2019年2月25日 +-- version:1.0.4 +-- 此次更新仓库添加负责人信息,负责人信息从用户表获取 +-- 特别提醒:之后的sql都是在之前基础上迭代,可以对已存在的系统进行数据保留更新 +-- ---------------------------- +-- ---------------------------- +-- 仓库表添加字段principal,负责人 +-- ---------------------------- +alter table jsh_depot add principal bigint(20) DEFAULT null COMMENT '负责人'; + diff --git a/sql/华夏ERP数据库设计汇总.xlsx b/sql/华夏ERP数据库设计汇总.xlsx index baccc1106d8f33902d98faea16b9ac8893753bab..2a7b3f936e9e1771a02108144baaafbe727ab4a1 100644 GIT binary patch delta 59378 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 V=sziO>)+IK6otu5k6O?G{{sy7%xC}r delta 59628 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

s(dsPyAe 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 z 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 vuPq parameterMap = new HashMap(); + //查询参数 + JSONObject obj=JSON.parseObject(search); + Set key= obj.keySet(); + for(String keyEach: key){ + parameterMap.put(keyEach,obj.getString(keyEach)); + } + PageQueryInfo queryInfo = new PageQueryInfo(); + Map objectMap = new HashMap(); + if (pageSize == null || pageSize <= 0) { + pageSize = BusinessConstants.DEFAULT_PAGINATION_PAGE_SIZE; + } + if (currentPage == null || currentPage <= 0) { + currentPage = BusinessConstants.DEFAULT_PAGINATION_PAGE_NUMBER; + } + PageHelper.startPage(currentPage,pageSize,false); + List list = depotService.getDepotList(parameterMap); + //获取分页查询后的数据 + PageInfo pageInfo = new PageInfo<>(list); + objectMap.put("page", queryInfo); + if (list == null) { + queryInfo.setRows(new ArrayList()); + queryInfo.setTotal(BusinessConstants.DEFAULT_LIST_NULL_NUMBER); + return returnJson(objectMap, "查找不到数据", ErpInfo.OK.code); + } + queryInfo.setRows(list); + queryInfo.setTotal(pageInfo.getTotal()); + return returnJson(objectMap, ErpInfo.OK.name, ErpInfo.OK.code); + } + } diff --git a/src/main/java/com/jsh/erp/controller/DepotItemController.java b/src/main/java/com/jsh/erp/controller/DepotItemController.java index 709db49e..d31b130d 100644 --- a/src/main/java/com/jsh/erp/controller/DepotItemController.java +++ b/src/main/java/com/jsh/erp/controller/DepotItemController.java @@ -2,6 +2,7 @@ package com.jsh.erp.controller; import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; +import com.jsh.erp.constants.BusinessConstants; import com.jsh.erp.datasource.entities.*; import com.jsh.erp.service.depotItem.DepotItemService; import com.jsh.erp.service.material.MaterialService; @@ -113,7 +114,7 @@ public class DepotItemController { objectMap.put("page", queryInfo); if (list == null) { queryInfo.setRows(new ArrayList()); - queryInfo.setTotal(0); + queryInfo.setTotal(BusinessConstants.DEFAULT_LIST_NULL_NUMBER); return returnJson(objectMap, "查找不到数据", ErpInfo.OK.code); } queryInfo.setRows(dataArray); @@ -169,7 +170,7 @@ public class DepotItemController { objectMap.put("page", dataArray); if (list == null) { queryInfo.setRows(new ArrayList()); - queryInfo.setTotal(0); + queryInfo.setTotal(BusinessConstants.DEFAULT_LIST_NULL_NUMBER); return returnJson(objectMap, "查找不到数据", ErpInfo.OK.code); } queryInfo.setRows(list); @@ -223,7 +224,7 @@ public class DepotItemController { objectMap.put("page", dataArray); if (list == null) { queryInfo.setRows(new ArrayList()); - queryInfo.setTotal(0); + queryInfo.setTotal(BusinessConstants.DEFAULT_LIST_NULL_NUMBER); return returnJson(objectMap, "查找不到数据", ErpInfo.OK.code); } queryInfo.setRows(list); diff --git a/src/main/java/com/jsh/erp/controller/ResourceController.java b/src/main/java/com/jsh/erp/controller/ResourceController.java index a1394ae6..fca3ab3e 100644 --- a/src/main/java/com/jsh/erp/controller/ResourceController.java +++ b/src/main/java/com/jsh/erp/controller/ResourceController.java @@ -1,6 +1,7 @@ package com.jsh.erp.controller; import com.alibaba.fastjson.JSONObject; +import com.jsh.erp.constants.BusinessConstants; import com.jsh.erp.service.CommonQueryManager; import com.jsh.erp.utils.*; @@ -49,7 +50,7 @@ public class ResourceController { objectMap.put("page", queryInfo); if (list == null) { queryInfo.setRows(new ArrayList()); - queryInfo.setTotal(0); + queryInfo.setTotal(BusinessConstants.DEFAULT_LIST_NULL_NUMBER); return returnJson(objectMap, "查找不到数据", ErpInfo.OK.code); } queryInfo.setRows(list); diff --git a/src/main/java/com/jsh/erp/datasource/entities/Depot.java b/src/main/java/com/jsh/erp/datasource/entities/Depot.java index 5b249299..8c355638 100644 --- a/src/main/java/com/jsh/erp/datasource/entities/Depot.java +++ b/src/main/java/com/jsh/erp/datasource/entities/Depot.java @@ -67,6 +67,14 @@ public class Depot { */ private String remark; + /** + * This field was generated by MyBatis Generator. + * This field corresponds to the database column jsh_depot.principal + * + * @mbggenerated + */ + private Long principal; + /** * This method was generated by MyBatis Generator. * This method returns the value of the database column jsh_depot.id @@ -258,4 +266,28 @@ public class Depot { 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_depot.principal + * + * @return the value of jsh_depot.principal + * + * @mbggenerated + */ + public Long getPrincipal() { + return principal; + } + + /** + * This method was generated by MyBatis Generator. + * This method sets the value of the database column jsh_depot.principal + * + * @param principal the value for jsh_depot.principal + * + * @mbggenerated + */ + public void setPrincipal(Long principal) { + this.principal = principal; + } } \ No newline at end of file diff --git a/src/main/java/com/jsh/erp/datasource/entities/DepotEx.java b/src/main/java/com/jsh/erp/datasource/entities/DepotEx.java new file mode 100644 index 00000000..cd3b842a --- /dev/null +++ b/src/main/java/com/jsh/erp/datasource/entities/DepotEx.java @@ -0,0 +1,20 @@ +package com.jsh.erp.datasource.entities; + +/** + * Description + * + * @Author: cjl + * @Date: 2019/2/25 11:40 + */ +public class DepotEx extends Depot{ + //负责人名字 + private String principalName; + + public String getPrincipalName() { + return principalName; + } + + public void setPrincipalName(String principalName) { + this.principalName = principalName; + } +} diff --git a/src/main/java/com/jsh/erp/datasource/entities/DepotExample.java b/src/main/java/com/jsh/erp/datasource/entities/DepotExample.java index 4e2501c7..ef4f4b10 100644 --- a/src/main/java/com/jsh/erp/datasource/entities/DepotExample.java +++ b/src/main/java/com/jsh/erp/datasource/entities/DepotExample.java @@ -714,6 +714,66 @@ public class DepotExample { addCriterion("remark not between", value1, value2, "remark"); return (Criteria) this; } + + public Criteria andPrincipalIsNull() { + addCriterion("principal is null"); + return (Criteria) this; + } + + public Criteria andPrincipalIsNotNull() { + addCriterion("principal is not null"); + return (Criteria) this; + } + + public Criteria andPrincipalEqualTo(Long value) { + addCriterion("principal =", value, "principal"); + return (Criteria) this; + } + + public Criteria andPrincipalNotEqualTo(Long value) { + addCriterion("principal <>", value, "principal"); + return (Criteria) this; + } + + public Criteria andPrincipalGreaterThan(Long value) { + addCriterion("principal >", value, "principal"); + return (Criteria) this; + } + + public Criteria andPrincipalGreaterThanOrEqualTo(Long value) { + addCriterion("principal >=", value, "principal"); + return (Criteria) this; + } + + public Criteria andPrincipalLessThan(Long value) { + addCriterion("principal <", value, "principal"); + return (Criteria) this; + } + + public Criteria andPrincipalLessThanOrEqualTo(Long value) { + addCriterion("principal <=", value, "principal"); + return (Criteria) this; + } + + public Criteria andPrincipalIn(List values) { + addCriterion("principal in", values, "principal"); + return (Criteria) this; + } + + public Criteria andPrincipalNotIn(List values) { + addCriterion("principal not in", values, "principal"); + return (Criteria) this; + } + + public Criteria andPrincipalBetween(Long value1, Long value2) { + addCriterion("principal between", value1, value2, "principal"); + return (Criteria) this; + } + + public Criteria andPrincipalNotBetween(Long value1, Long value2) { + addCriterion("principal not between", value1, value2, "principal"); + return (Criteria) this; + } } /** diff --git a/src/main/java/com/jsh/erp/datasource/mappers/AccountHeadMapperEx.java b/src/main/java/com/jsh/erp/datasource/mappers/AccountHeadMapperEx.java index c7cfe816..993a55e3 100644 --- a/src/main/java/com/jsh/erp/datasource/mappers/AccountHeadMapperEx.java +++ b/src/main/java/com/jsh/erp/datasource/mappers/AccountHeadMapperEx.java @@ -18,7 +18,7 @@ public interface AccountHeadMapperEx { @Param("offset") Integer offset, @Param("rows") Integer rows); - int countsByAccountHead( + Long countsByAccountHead( @Param("type") String type, @Param("billNo") String billNo, @Param("beginTime") String beginTime, diff --git a/src/main/java/com/jsh/erp/datasource/mappers/AccountItemMapperEx.java b/src/main/java/com/jsh/erp/datasource/mappers/AccountItemMapperEx.java index f3794b0f..8f290c08 100644 --- a/src/main/java/com/jsh/erp/datasource/mappers/AccountItemMapperEx.java +++ b/src/main/java/com/jsh/erp/datasource/mappers/AccountItemMapperEx.java @@ -16,7 +16,7 @@ public interface AccountItemMapperEx { @Param("offset") Integer offset, @Param("rows") Integer rows); - int countsByAccountItem( + Long countsByAccountItem( @Param("name") String name, @Param("type") Integer type, @Param("remark") String remark); diff --git a/src/main/java/com/jsh/erp/datasource/mappers/AccountMapperEx.java b/src/main/java/com/jsh/erp/datasource/mappers/AccountMapperEx.java index 777d6f12..630de121 100644 --- a/src/main/java/com/jsh/erp/datasource/mappers/AccountMapperEx.java +++ b/src/main/java/com/jsh/erp/datasource/mappers/AccountMapperEx.java @@ -17,7 +17,7 @@ public interface AccountMapperEx { @Param("offset") Integer offset, @Param("rows") Integer rows); - int countsByAccount( + Long countsByAccount( @Param("name") String name, @Param("serialNo") String serialNo, @Param("remark") String remark); diff --git a/src/main/java/com/jsh/erp/datasource/mappers/AppMapperEx.java b/src/main/java/com/jsh/erp/datasource/mappers/AppMapperEx.java index 6492449c..3bffd10e 100644 --- a/src/main/java/com/jsh/erp/datasource/mappers/AppMapperEx.java +++ b/src/main/java/com/jsh/erp/datasource/mappers/AppMapperEx.java @@ -14,7 +14,7 @@ public interface AppMapperEx { @Param("offset") Integer offset, @Param("rows") Integer rows); - int countsByApp( + Long countsByApp( @Param("name") String name, @Param("type") String type); } \ No newline at end of file diff --git a/src/main/java/com/jsh/erp/datasource/mappers/DepotHeadMapperEx.java b/src/main/java/com/jsh/erp/datasource/mappers/DepotHeadMapperEx.java index 28c56e78..ef7cd3f9 100644 --- a/src/main/java/com/jsh/erp/datasource/mappers/DepotHeadMapperEx.java +++ b/src/main/java/com/jsh/erp/datasource/mappers/DepotHeadMapperEx.java @@ -27,7 +27,7 @@ public interface DepotHeadMapperEx { @Param("offset") Integer offset, @Param("rows") Integer rows); - int countsByDepotHead( + Long countsByDepotHead( @Param("type") String type, @Param("subType") String subType, @Param("number") String number, diff --git a/src/main/java/com/jsh/erp/datasource/mappers/DepotItemMapperEx.java b/src/main/java/com/jsh/erp/datasource/mappers/DepotItemMapperEx.java index 4c71049d..50ff8cc8 100644 --- a/src/main/java/com/jsh/erp/datasource/mappers/DepotItemMapperEx.java +++ b/src/main/java/com/jsh/erp/datasource/mappers/DepotItemMapperEx.java @@ -20,7 +20,7 @@ public interface DepotItemMapperEx { @Param("offset") Integer offset, @Param("rows") Integer rows); - int countsByDepotItem( + Long countsByDepotItem( @Param("name") String name, @Param("type") Integer type, @Param("remark") String remark); @@ -34,7 +34,7 @@ public interface DepotItemMapperEx { @Param("offset") Integer offset, @Param("rows") Integer rows); - int findDetailByTypeAndMaterialIdCounts( + Long findDetailByTypeAndMaterialIdCounts( @Param("mId") Long mId); List findStockNumByMaterialIdList( @@ -43,7 +43,7 @@ public interface DepotItemMapperEx { @Param("offset") Integer offset, @Param("rows") Integer rows); - int findStockNumByMaterialIdCounts( + Long findStockNumByMaterialIdCounts( @Param("mId") Long mId, @Param("monthTime") String monthTime); diff --git a/src/main/java/com/jsh/erp/datasource/mappers/DepotMapperEx.java b/src/main/java/com/jsh/erp/datasource/mappers/DepotMapperEx.java index 618c10fc..75d84934 100644 --- a/src/main/java/com/jsh/erp/datasource/mappers/DepotMapperEx.java +++ b/src/main/java/com/jsh/erp/datasource/mappers/DepotMapperEx.java @@ -1,10 +1,12 @@ package com.jsh.erp.datasource.mappers; import com.jsh.erp.datasource.entities.Depot; +import com.jsh.erp.datasource.entities.DepotEx; import com.jsh.erp.datasource.entities.DepotExample; import org.apache.ibatis.annotations.Param; import java.util.List; +import java.util.Map; public interface DepotMapperEx { @@ -15,8 +17,11 @@ public interface DepotMapperEx { @Param("offset") Integer offset, @Param("rows") Integer rows); - int countsByDepot( + Long countsByDepot( @Param("name") String name, @Param("type") Integer type, @Param("remark") String remark); + + List getDepotList(Map params); + Long getDepotListCount(Map params); } \ No newline at end of file diff --git a/src/main/java/com/jsh/erp/datasource/mappers/FunctionsMapperEx.java b/src/main/java/com/jsh/erp/datasource/mappers/FunctionsMapperEx.java index 12279d07..d1fb761a 100644 --- a/src/main/java/com/jsh/erp/datasource/mappers/FunctionsMapperEx.java +++ b/src/main/java/com/jsh/erp/datasource/mappers/FunctionsMapperEx.java @@ -14,7 +14,7 @@ public interface FunctionsMapperEx { @Param("offset") Integer offset, @Param("rows") Integer rows); - int countsByFunctions( + Long countsByFunctions( @Param("name") String name, @Param("type") String type); } \ No newline at end of file diff --git a/src/main/java/com/jsh/erp/datasource/mappers/InOutItemMapperEx.java b/src/main/java/com/jsh/erp/datasource/mappers/InOutItemMapperEx.java index 110b1cd9..a8d92819 100644 --- a/src/main/java/com/jsh/erp/datasource/mappers/InOutItemMapperEx.java +++ b/src/main/java/com/jsh/erp/datasource/mappers/InOutItemMapperEx.java @@ -15,7 +15,7 @@ public interface InOutItemMapperEx { @Param("offset") Integer offset, @Param("rows") Integer rows); - int countsByInOutItem( + Long countsByInOutItem( @Param("name") String name, @Param("type") String type, @Param("remark") String remark); diff --git a/src/main/java/com/jsh/erp/datasource/mappers/LogMapperEx.java b/src/main/java/com/jsh/erp/datasource/mappers/LogMapperEx.java index b2046462..9047323e 100644 --- a/src/main/java/com/jsh/erp/datasource/mappers/LogMapperEx.java +++ b/src/main/java/com/jsh/erp/datasource/mappers/LogMapperEx.java @@ -20,7 +20,7 @@ public interface LogMapperEx { @Param("offset") Integer offset, @Param("rows") Integer rows); - int countsByLog( + Long countsByLog( @Param("operation") String operation, @Param("usernameID") Integer usernameID, @Param("clientIp") String clientIp, diff --git a/src/main/java/com/jsh/erp/datasource/mappers/MaterialCategoryMapperEx.java b/src/main/java/com/jsh/erp/datasource/mappers/MaterialCategoryMapperEx.java index d82ff230..dbe7f6d7 100644 --- a/src/main/java/com/jsh/erp/datasource/mappers/MaterialCategoryMapperEx.java +++ b/src/main/java/com/jsh/erp/datasource/mappers/MaterialCategoryMapperEx.java @@ -20,7 +20,7 @@ public interface MaterialCategoryMapperEx { @Param("offset") Integer offset, @Param("rows") Integer rows); - int countsByMaterialCategory( + Long countsByMaterialCategory( @Param("name") String name, @Param("parentId") Integer parentId); diff --git a/src/main/java/com/jsh/erp/datasource/mappers/MaterialMapperEx.java b/src/main/java/com/jsh/erp/datasource/mappers/MaterialMapperEx.java index eae6bf8d..c5649193 100644 --- a/src/main/java/com/jsh/erp/datasource/mappers/MaterialMapperEx.java +++ b/src/main/java/com/jsh/erp/datasource/mappers/MaterialMapperEx.java @@ -23,7 +23,7 @@ public interface MaterialMapperEx { @Param("offset") Integer offset, @Param("rows") Integer rows); - int countsByMaterial( + Long countsByMaterial( @Param("name") String name, @Param("model") String model, @Param("categoryId") Long categoryId, diff --git a/src/main/java/com/jsh/erp/datasource/mappers/MaterialPropertyMapperEx.java b/src/main/java/com/jsh/erp/datasource/mappers/MaterialPropertyMapperEx.java index 46480159..080b79e7 100644 --- a/src/main/java/com/jsh/erp/datasource/mappers/MaterialPropertyMapperEx.java +++ b/src/main/java/com/jsh/erp/datasource/mappers/MaterialPropertyMapperEx.java @@ -13,5 +13,5 @@ public interface MaterialPropertyMapperEx { @Param("offset") Integer offset, @Param("rows") Integer rows); - int countsByMaterialProperty(@Param("name") String name); + Long countsByMaterialProperty(@Param("name") String name); } \ No newline at end of file diff --git a/src/main/java/com/jsh/erp/datasource/mappers/PersonMapperEx.java b/src/main/java/com/jsh/erp/datasource/mappers/PersonMapperEx.java index d13dd65b..e4cb00a8 100644 --- a/src/main/java/com/jsh/erp/datasource/mappers/PersonMapperEx.java +++ b/src/main/java/com/jsh/erp/datasource/mappers/PersonMapperEx.java @@ -14,7 +14,7 @@ public interface PersonMapperEx { @Param("offset") Integer offset, @Param("rows") Integer rows); - int countsByPerson( + Long countsByPerson( @Param("name") String name, @Param("type") String type); } \ No newline at end of file diff --git a/src/main/java/com/jsh/erp/datasource/mappers/RoleMapperEx.java b/src/main/java/com/jsh/erp/datasource/mappers/RoleMapperEx.java index 91b3d43b..a3737326 100644 --- a/src/main/java/com/jsh/erp/datasource/mappers/RoleMapperEx.java +++ b/src/main/java/com/jsh/erp/datasource/mappers/RoleMapperEx.java @@ -13,6 +13,6 @@ public interface RoleMapperEx { @Param("offset") Integer offset, @Param("rows") Integer rows); - int countsByRole( + Long countsByRole( @Param("name") String name); } \ No newline at end of file diff --git a/src/main/java/com/jsh/erp/datasource/mappers/SerialNumberMapperEx.java b/src/main/java/com/jsh/erp/datasource/mappers/SerialNumberMapperEx.java index d45532a4..7bd5906d 100644 --- a/src/main/java/com/jsh/erp/datasource/mappers/SerialNumberMapperEx.java +++ b/src/main/java/com/jsh/erp/datasource/mappers/SerialNumberMapperEx.java @@ -20,7 +20,7 @@ public interface SerialNumberMapperEx { /** * 根据条件查询序列号数量 * */ - int countSerialNumber(@Param("serialNumber")String serialNumber,@Param("materialName")String materialName); + Long countSerialNumber(@Param("serialNumber")String serialNumber,@Param("materialName")String materialName); /** * 通过id查询序列号复合信息 * */ diff --git a/src/main/java/com/jsh/erp/datasource/mappers/SupplierMapperEx.java b/src/main/java/com/jsh/erp/datasource/mappers/SupplierMapperEx.java index 27155142..1bee2015 100644 --- a/src/main/java/com/jsh/erp/datasource/mappers/SupplierMapperEx.java +++ b/src/main/java/com/jsh/erp/datasource/mappers/SupplierMapperEx.java @@ -17,7 +17,7 @@ public interface SupplierMapperEx { @Param("offset") Integer offset, @Param("rows") Integer rows); - int countsBySupplier( + Long countsBySupplier( @Param("supplier") String supplier, @Param("type") String type, @Param("phonenum") String phonenum, diff --git a/src/main/java/com/jsh/erp/datasource/mappers/SystemConfigMapperEx.java b/src/main/java/com/jsh/erp/datasource/mappers/SystemConfigMapperEx.java index 5a897055..041b697f 100644 --- a/src/main/java/com/jsh/erp/datasource/mappers/SystemConfigMapperEx.java +++ b/src/main/java/com/jsh/erp/datasource/mappers/SystemConfigMapperEx.java @@ -12,5 +12,5 @@ public interface SystemConfigMapperEx { @Param("offset") Integer offset, @Param("rows") Integer rows); - int countsBySystemConfig(); + Long countsBySystemConfig(); } \ No newline at end of file diff --git a/src/main/java/com/jsh/erp/datasource/mappers/UnitMapperEx.java b/src/main/java/com/jsh/erp/datasource/mappers/UnitMapperEx.java index 21fb0303..045a7025 100644 --- a/src/main/java/com/jsh/erp/datasource/mappers/UnitMapperEx.java +++ b/src/main/java/com/jsh/erp/datasource/mappers/UnitMapperEx.java @@ -13,6 +13,6 @@ public interface UnitMapperEx { @Param("offset") Integer offset, @Param("rows") Integer rows); - int countsByUnit( + Long countsByUnit( @Param("name") String name); } \ No newline at end of file diff --git a/src/main/java/com/jsh/erp/datasource/mappers/UserMapperEx.java b/src/main/java/com/jsh/erp/datasource/mappers/UserMapperEx.java index cc99a9ab..167c098e 100644 --- a/src/main/java/com/jsh/erp/datasource/mappers/UserMapperEx.java +++ b/src/main/java/com/jsh/erp/datasource/mappers/UserMapperEx.java @@ -14,7 +14,7 @@ public interface UserMapperEx { @Param("offset") Integer offset, @Param("rows") Integer rows); - int countsByUser( + Long countsByUser( @Param("userName") String userName, @Param("loginName") String loginName); } \ No newline at end of file diff --git a/src/main/java/com/jsh/erp/service/CommonQueryManager.java b/src/main/java/com/jsh/erp/service/CommonQueryManager.java index a5c0b177..76cd0b48 100644 --- a/src/main/java/com/jsh/erp/service/CommonQueryManager.java +++ b/src/main/java/com/jsh/erp/service/CommonQueryManager.java @@ -1,5 +1,6 @@ package com.jsh.erp.service; +import com.jsh.erp.constants.BusinessConstants; import com.jsh.erp.datasource.entities.Log; import com.jsh.erp.datasource.entities.User; import com.jsh.erp.datasource.mappers.LogMapper; @@ -60,11 +61,11 @@ public class CommonQueryManager { * @param parameterMap * @return */ - public int counts(String apiName, Map parameterMap) { + public Long counts(String apiName, Map parameterMap) { if (StringUtil.isNotEmpty(apiName)) { return container.getCommonQuery(apiName).counts(parameterMap); } - return 0; + return BusinessConstants.DEFAULT_LIST_NULL_NUMBER; } /** diff --git a/src/main/java/com/jsh/erp/service/ICommonQuery.java b/src/main/java/com/jsh/erp/service/ICommonQuery.java index 62f635c0..dc078636 100644 --- a/src/main/java/com/jsh/erp/service/ICommonQuery.java +++ b/src/main/java/com/jsh/erp/service/ICommonQuery.java @@ -34,7 +34,7 @@ public interface ICommonQuery { * @param parameterMap 查询参数 * @return 查询结果 */ - int counts(Map parameterMap); + Long counts(Map parameterMap); /** * 新增数据 diff --git a/src/main/java/com/jsh/erp/service/InterfaceContainer.java b/src/main/java/com/jsh/erp/service/InterfaceContainer.java index 5102bf38..9b2116ed 100644 --- a/src/main/java/com/jsh/erp/service/InterfaceContainer.java +++ b/src/main/java/com/jsh/erp/service/InterfaceContainer.java @@ -34,8 +34,9 @@ public class InterfaceContainer { } public int getResourceType(String apiName) { - if (!nameTypeMap.containsKey(apiName)) + if (!nameTypeMap.containsKey(apiName)) { throw new RuntimeException("资源:" + apiName + "的组件不存在"); + } return nameTypeMap.get(apiName); } diff --git a/src/main/java/com/jsh/erp/service/account/AccountComponent.java b/src/main/java/com/jsh/erp/service/account/AccountComponent.java index 63704589..ffd0e032 100644 --- a/src/main/java/com/jsh/erp/service/account/AccountComponent.java +++ b/src/main/java/com/jsh/erp/service/account/AccountComponent.java @@ -40,7 +40,7 @@ public class AccountComponent implements ICommonQuery { } @Override - public int counts(Map map) { + public Long counts(Map map) { String search = map.get(Constants.SEARCH); String name = StringUtil.getInfo(search, "name"); String serialNo = StringUtil.getInfo(search, "serialNo"); diff --git a/src/main/java/com/jsh/erp/service/account/AccountService.java b/src/main/java/com/jsh/erp/service/account/AccountService.java index 4cab9d4e..57a59048 100644 --- a/src/main/java/com/jsh/erp/service/account/AccountService.java +++ b/src/main/java/com/jsh/erp/service/account/AccountService.java @@ -70,7 +70,7 @@ public class AccountService { return resList; } - public int countAccount(String name, String serialNo, String remark) { + public Long countAccount(String name, String serialNo, String remark) { return accountMapperEx.countsByAccount(name, serialNo, remark); } diff --git a/src/main/java/com/jsh/erp/service/accountHead/AccountHeadComponent.java b/src/main/java/com/jsh/erp/service/accountHead/AccountHeadComponent.java index 5d03d19d..d07e3e27 100644 --- a/src/main/java/com/jsh/erp/service/accountHead/AccountHeadComponent.java +++ b/src/main/java/com/jsh/erp/service/accountHead/AccountHeadComponent.java @@ -39,7 +39,7 @@ public class AccountHeadComponent implements ICommonQuery { } @Override - public int counts(Map map) { + public Long counts(Map map) { String search = map.get(Constants.SEARCH); String type = StringUtil.getInfo(search, "type"); String billNo = StringUtil.getInfo(search, "billNo"); diff --git a/src/main/java/com/jsh/erp/service/accountHead/AccountHeadService.java b/src/main/java/com/jsh/erp/service/accountHead/AccountHeadService.java index 41300b60..4775564c 100644 --- a/src/main/java/com/jsh/erp/service/accountHead/AccountHeadService.java +++ b/src/main/java/com/jsh/erp/service/accountHead/AccountHeadService.java @@ -55,7 +55,7 @@ public class AccountHeadService { return resList; } - public int countAccountHead(String type, String billNo, String beginTime, String endTime) { + public Long countAccountHead(String type, String billNo, String beginTime, String endTime) { return accountHeadMapperEx.countsByAccountHead(type, billNo, beginTime, endTime); } diff --git a/src/main/java/com/jsh/erp/service/accountItem/AccountItemComponent.java b/src/main/java/com/jsh/erp/service/accountItem/AccountItemComponent.java index c6f5345a..2258be84 100644 --- a/src/main/java/com/jsh/erp/service/accountItem/AccountItemComponent.java +++ b/src/main/java/com/jsh/erp/service/accountItem/AccountItemComponent.java @@ -38,7 +38,7 @@ public class AccountItemComponent implements ICommonQuery { } @Override - public int counts(Map map) { + public Long counts(Map map) { String search = map.get(Constants.SEARCH); String name = StringUtil.getInfo(search, "name"); Integer type = StringUtil.parseInteger(StringUtil.getInfo(search, "type")); diff --git a/src/main/java/com/jsh/erp/service/accountItem/AccountItemService.java b/src/main/java/com/jsh/erp/service/accountItem/AccountItemService.java index d0e8912e..cf6a3bf6 100644 --- a/src/main/java/com/jsh/erp/service/accountItem/AccountItemService.java +++ b/src/main/java/com/jsh/erp/service/accountItem/AccountItemService.java @@ -45,7 +45,7 @@ public class AccountItemService { return accountItemMapperEx.selectByConditionAccountItem(name, type, remark, offset, rows); } - public int countAccountItem(String name, Integer type, String remark) { + public Long countAccountItem(String name, Integer type, String remark) { return accountItemMapperEx.countsByAccountItem(name, type, remark); } diff --git a/src/main/java/com/jsh/erp/service/app/AppComponent.java b/src/main/java/com/jsh/erp/service/app/AppComponent.java index f264b565..d7d5f7f6 100644 --- a/src/main/java/com/jsh/erp/service/app/AppComponent.java +++ b/src/main/java/com/jsh/erp/service/app/AppComponent.java @@ -37,7 +37,7 @@ public class AppComponent implements ICommonQuery { } @Override - public int counts(Map map) { + public Long counts(Map map) { String search = map.get(Constants.SEARCH); String name = StringUtil.getInfo(search, "name"); String type = StringUtil.getInfo(search, "type"); diff --git a/src/main/java/com/jsh/erp/service/app/AppService.java b/src/main/java/com/jsh/erp/service/app/AppService.java index 7c000f3b..eee6e857 100644 --- a/src/main/java/com/jsh/erp/service/app/AppService.java +++ b/src/main/java/com/jsh/erp/service/app/AppService.java @@ -60,7 +60,7 @@ public class AppService { return appMapperEx.selectByConditionApp(name, type, offset, rows); } - public int countApp(String name, String type) { + public Long countApp(String name, String type) { return appMapperEx.countsByApp(name, type); } diff --git a/src/main/java/com/jsh/erp/service/depot/DepotComponent.java b/src/main/java/com/jsh/erp/service/depot/DepotComponent.java index 56a0516c..f267fe68 100644 --- a/src/main/java/com/jsh/erp/service/depot/DepotComponent.java +++ b/src/main/java/com/jsh/erp/service/depot/DepotComponent.java @@ -39,7 +39,7 @@ public class DepotComponent implements ICommonQuery { } @Override - public int counts(Map map) { + public Long counts(Map map) { String search = map.get(Constants.SEARCH); String name = StringUtil.getInfo(search, "name"); Integer type = StringUtil.parseInteger(StringUtil.getInfo(search, "type")); diff --git a/src/main/java/com/jsh/erp/service/depot/DepotService.java b/src/main/java/com/jsh/erp/service/depot/DepotService.java index d7e6611c..e6371684 100644 --- a/src/main/java/com/jsh/erp/service/depot/DepotService.java +++ b/src/main/java/com/jsh/erp/service/depot/DepotService.java @@ -2,6 +2,7 @@ package com.jsh.erp.service.depot; import com.alibaba.fastjson.JSONObject; import com.jsh.erp.datasource.entities.Depot; +import com.jsh.erp.datasource.entities.DepotEx; import com.jsh.erp.datasource.entities.DepotExample; import com.jsh.erp.datasource.mappers.DepotMapper; import com.jsh.erp.datasource.mappers.DepotMapperEx; @@ -14,6 +15,7 @@ import org.springframework.transaction.annotation.Transactional; import javax.annotation.Resource; import javax.servlet.http.HttpServletRequest; import java.util.List; +import java.util.Map; @Service public class DepotService { @@ -44,7 +46,7 @@ public class DepotService { return depotMapperEx.selectByConditionDepot(name, type, remark, offset, rows); } - public int countDepot(String name, Integer type, String remark) { + public Long countDepot(String name, Integer type, String remark) { return depotMapperEx.countsByDepot(name, type, remark); } @@ -97,4 +99,8 @@ public class DepotService { return list; } + public List getDepotList(Map parameterMap) { + return depotMapperEx.getDepotList(parameterMap); + } + } diff --git a/src/main/java/com/jsh/erp/service/depotHead/DepotHeadComponent.java b/src/main/java/com/jsh/erp/service/depotHead/DepotHeadComponent.java index eec25de3..5f91eb1c 100644 --- a/src/main/java/com/jsh/erp/service/depotHead/DepotHeadComponent.java +++ b/src/main/java/com/jsh/erp/service/depotHead/DepotHeadComponent.java @@ -41,7 +41,7 @@ public class DepotHeadComponent implements ICommonQuery { } @Override - public int counts(Map map) { + public Long counts(Map map) { String search = map.get(Constants.SEARCH); String type = StringUtil.getInfo(search, "type"); String subType = StringUtil.getInfo(search, "subType"); 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 c7bacd9c..7fef6fcf 100644 --- a/src/main/java/com/jsh/erp/service/depotHead/DepotHeadService.java +++ b/src/main/java/com/jsh/erp/service/depotHead/DepotHeadService.java @@ -95,7 +95,7 @@ public class DepotHeadService { - public int countDepotHead(String type, String subType, String number, String beginTime, String endTime, String dhIds) { + public Long countDepotHead(String type, String subType, String number, String beginTime, String endTime, String dhIds) { return depotHeadMapperEx.countsByDepotHead(type, subType, number, beginTime, endTime, dhIds); } diff --git a/src/main/java/com/jsh/erp/service/depotItem/DepotItemComponent.java b/src/main/java/com/jsh/erp/service/depotItem/DepotItemComponent.java index 78309adc..15748e82 100644 --- a/src/main/java/com/jsh/erp/service/depotItem/DepotItemComponent.java +++ b/src/main/java/com/jsh/erp/service/depotItem/DepotItemComponent.java @@ -38,7 +38,7 @@ public class DepotItemComponent implements ICommonQuery { } @Override - public int counts(Map map) { + public Long counts(Map map) { String search = map.get(Constants.SEARCH); String name = StringUtil.getInfo(search, "name"); Integer type = StringUtil.parseInteger(StringUtil.getInfo(search, "type")); diff --git a/src/main/java/com/jsh/erp/service/depotItem/DepotItemService.java b/src/main/java/com/jsh/erp/service/depotItem/DepotItemService.java index 93b0f1fa..66d7341c 100644 --- a/src/main/java/com/jsh/erp/service/depotItem/DepotItemService.java +++ b/src/main/java/com/jsh/erp/service/depotItem/DepotItemService.java @@ -68,7 +68,7 @@ public class DepotItemService { return depotItemMapperEx.selectByConditionDepotItem(name, type, remark, offset, rows); } - public int countDepotItem(String name, Integer type, String remark) { + public Long countDepotItem(String name, Integer type, String remark) { return depotItemMapperEx.countsByDepotItem(name, type, remark); } @@ -118,7 +118,7 @@ public class DepotItemService { return depotItemMapperEx.findDetailByTypeAndMaterialIdList(mId, QueryUtils.offset(map), QueryUtils.rows(map)); } - public int findDetailByTypeAndMaterialIdCounts(Map map) { + public Long findDetailByTypeAndMaterialIdCounts(Map map) { String mIdStr = map.get("mId"); Long mId = null; if(!StringUtil.isEmpty(mIdStr)) { @@ -137,7 +137,7 @@ public class DepotItemService { return depotItemMapperEx.findStockNumByMaterialIdList(mId, monthTime, QueryUtils.offset(map), QueryUtils.rows(map)); } - public int findStockNumByMaterialIdCounts(Map map) { + public Long findStockNumByMaterialIdCounts(Map map) { String mIdStr = map.get("mId"); Long mId = null; if(!StringUtil.isEmpty(mIdStr)) { diff --git a/src/main/java/com/jsh/erp/service/functions/FunctionsComponent.java b/src/main/java/com/jsh/erp/service/functions/FunctionsComponent.java index 3e5d0504..7ec2c311 100644 --- a/src/main/java/com/jsh/erp/service/functions/FunctionsComponent.java +++ b/src/main/java/com/jsh/erp/service/functions/FunctionsComponent.java @@ -39,7 +39,7 @@ public class FunctionsComponent implements ICommonQuery { } @Override - public int counts(Map map) { + public Long counts(Map map) { String search = map.get(Constants.SEARCH); String name = StringUtil.getInfo(search, "name"); String type = StringUtil.getInfo(search, "type"); diff --git a/src/main/java/com/jsh/erp/service/functions/FunctionsService.java b/src/main/java/com/jsh/erp/service/functions/FunctionsService.java index b92c45af..34ae5e74 100644 --- a/src/main/java/com/jsh/erp/service/functions/FunctionsService.java +++ b/src/main/java/com/jsh/erp/service/functions/FunctionsService.java @@ -38,7 +38,7 @@ public class FunctionsService { return functionsMapperEx.selectByConditionFunctions(name, type, offset, rows); } - public int countFunctions(String name, String type) { + public Long countFunctions(String name, String type) { return functionsMapperEx.countsByFunctions(name, type); } diff --git a/src/main/java/com/jsh/erp/service/inOutItem/InOutItemComponent.java b/src/main/java/com/jsh/erp/service/inOutItem/InOutItemComponent.java index 90705a98..f5f41b97 100644 --- a/src/main/java/com/jsh/erp/service/inOutItem/InOutItemComponent.java +++ b/src/main/java/com/jsh/erp/service/inOutItem/InOutItemComponent.java @@ -38,7 +38,7 @@ public class InOutItemComponent implements ICommonQuery { } @Override - public int counts(Map map) { + public Long counts(Map map) { String search = map.get(Constants.SEARCH); String name = StringUtil.getInfo(search, "name"); String type = StringUtil.getInfo(search, "type"); diff --git a/src/main/java/com/jsh/erp/service/inOutItem/InOutItemService.java b/src/main/java/com/jsh/erp/service/inOutItem/InOutItemService.java index c02c51f5..236e74af 100644 --- a/src/main/java/com/jsh/erp/service/inOutItem/InOutItemService.java +++ b/src/main/java/com/jsh/erp/service/inOutItem/InOutItemService.java @@ -38,7 +38,7 @@ public class InOutItemService { return inOutItemMapperEx.selectByConditionInOutItem(name, type, remark, offset, rows); } - public int countInOutItem(String name, String type, String remark) { + public Long countInOutItem(String name, String type, String remark) { return inOutItemMapperEx.countsByInOutItem(name, type, remark); } diff --git a/src/main/java/com/jsh/erp/service/log/LogComponent.java b/src/main/java/com/jsh/erp/service/log/LogComponent.java index aaf3680c..2a04bd71 100644 --- a/src/main/java/com/jsh/erp/service/log/LogComponent.java +++ b/src/main/java/com/jsh/erp/service/log/LogComponent.java @@ -43,7 +43,7 @@ public class LogComponent implements ICommonQuery { } @Override - public int counts(Map map) { + public Long counts(Map map) { String search = map.get(Constants.SEARCH); String operation = StringUtil.getInfo(search, "operation"); Integer usernameID = StringUtil.parseInteger(StringUtil.getInfo(search, "usernameID")); diff --git a/src/main/java/com/jsh/erp/service/log/LogService.java b/src/main/java/com/jsh/erp/service/log/LogService.java index 9b306630..a8fcb349 100644 --- a/src/main/java/com/jsh/erp/service/log/LogService.java +++ b/src/main/java/com/jsh/erp/service/log/LogService.java @@ -44,7 +44,7 @@ public class LogService { contentdetails, offset, rows); } - public int countLog(String operation, Integer usernameID, String clientIp, Integer status, String beginTime, String endTime, + public Long countLog(String operation, Integer usernameID, String clientIp, Integer status, String beginTime, String endTime, String contentdetails) { return logMapperEx.countsByLog(operation, usernameID, clientIp, status, beginTime, endTime, contentdetails); } diff --git a/src/main/java/com/jsh/erp/service/material/MaterialComponent.java b/src/main/java/com/jsh/erp/service/material/MaterialComponent.java index 6e5a3b6e..9e0021c5 100644 --- a/src/main/java/com/jsh/erp/service/material/MaterialComponent.java +++ b/src/main/java/com/jsh/erp/service/material/MaterialComponent.java @@ -42,7 +42,7 @@ public class MaterialComponent implements ICommonQuery { } @Override - public int counts(Map map) { + public Long counts(Map map) { String search = map.get(Constants.SEARCH); String name = StringUtil.getInfo(search, "name"); String model = StringUtil.getInfo(search, "model"); diff --git a/src/main/java/com/jsh/erp/service/material/MaterialService.java b/src/main/java/com/jsh/erp/service/material/MaterialService.java index ab9e44a3..c0c65c52 100644 --- a/src/main/java/com/jsh/erp/service/material/MaterialService.java +++ b/src/main/java/com/jsh/erp/service/material/MaterialService.java @@ -73,7 +73,7 @@ public class MaterialService { return resList; } - public int countMaterial(String name, String model,Long categoryId, String categoryIds,String mpList) { + public Long countMaterial(String name, String model,Long categoryId, String categoryIds,String mpList) { return materialMapperEx.countsByMaterial(name, model,categoryId,categoryIds,mpList); } diff --git a/src/main/java/com/jsh/erp/service/materialCategory/MaterialCategoryComponent.java b/src/main/java/com/jsh/erp/service/materialCategory/MaterialCategoryComponent.java index 2e3f15b2..18395669 100644 --- a/src/main/java/com/jsh/erp/service/materialCategory/MaterialCategoryComponent.java +++ b/src/main/java/com/jsh/erp/service/materialCategory/MaterialCategoryComponent.java @@ -39,7 +39,7 @@ public class MaterialCategoryComponent implements ICommonQuery { } @Override - public int counts(Map map) { + public Long counts(Map map) { String search = map.get(Constants.SEARCH); String name = StringUtil.getInfo(search, "name"); Integer parentId = StringUtil.parseInteger(StringUtil.getInfo(search, "parentId")); diff --git a/src/main/java/com/jsh/erp/service/materialCategory/MaterialCategoryService.java b/src/main/java/com/jsh/erp/service/materialCategory/MaterialCategoryService.java index 55b4f55f..694cc20e 100644 --- a/src/main/java/com/jsh/erp/service/materialCategory/MaterialCategoryService.java +++ b/src/main/java/com/jsh/erp/service/materialCategory/MaterialCategoryService.java @@ -53,7 +53,7 @@ public class MaterialCategoryService { return materialCategoryMapperEx.selectByConditionMaterialCategory(name, parentId, offset, rows); } - public int countMaterialCategory(String name, Integer parentId) { + public Long countMaterialCategory(String name, Integer parentId) { return materialCategoryMapperEx.countsByMaterialCategory(name, parentId); } diff --git a/src/main/java/com/jsh/erp/service/materialProperty/MaterialPropertyComponent.java b/src/main/java/com/jsh/erp/service/materialProperty/MaterialPropertyComponent.java index f562a798..8ff03082 100644 --- a/src/main/java/com/jsh/erp/service/materialProperty/MaterialPropertyComponent.java +++ b/src/main/java/com/jsh/erp/service/materialProperty/MaterialPropertyComponent.java @@ -36,7 +36,7 @@ public class MaterialPropertyComponent implements ICommonQuery { } @Override - public int counts(Map map) { + public Long counts(Map map) { String search = map.get(Constants.SEARCH); String name = StringUtil.getInfo(search, "name"); return materialPropertyService.countMaterialProperty(name); diff --git a/src/main/java/com/jsh/erp/service/materialProperty/MaterialPropertyService.java b/src/main/java/com/jsh/erp/service/materialProperty/MaterialPropertyService.java index 5c954d92..bb51a37b 100644 --- a/src/main/java/com/jsh/erp/service/materialProperty/MaterialPropertyService.java +++ b/src/main/java/com/jsh/erp/service/materialProperty/MaterialPropertyService.java @@ -37,7 +37,7 @@ public class MaterialPropertyService { return materialPropertyMapperEx.selectByConditionMaterialProperty(name, offset, rows); } - public int countMaterialProperty(String name) { + public Long countMaterialProperty(String name) { return materialPropertyMapperEx.countsByMaterialProperty(name); } diff --git a/src/main/java/com/jsh/erp/service/person/PersonComponent.java b/src/main/java/com/jsh/erp/service/person/PersonComponent.java index 3b1dd7ef..7e9a6e44 100644 --- a/src/main/java/com/jsh/erp/service/person/PersonComponent.java +++ b/src/main/java/com/jsh/erp/service/person/PersonComponent.java @@ -39,7 +39,7 @@ public class PersonComponent implements ICommonQuery { } @Override - public int counts(Map map) { + public Long counts(Map map) { String search = map.get(Constants.SEARCH); String name = StringUtil.getInfo(search, "name"); String type = StringUtil.getInfo(search, "type"); diff --git a/src/main/java/com/jsh/erp/service/person/PersonService.java b/src/main/java/com/jsh/erp/service/person/PersonService.java index 735f9fae..60401dbc 100644 --- a/src/main/java/com/jsh/erp/service/person/PersonService.java +++ b/src/main/java/com/jsh/erp/service/person/PersonService.java @@ -38,7 +38,7 @@ public class PersonService { return personMapperEx.selectByConditionPerson(name, type, offset, rows); } - public int countPerson(String name, String type) { + public Long countPerson(String name, String type) { return personMapperEx.countsByPerson(name, type); } diff --git a/src/main/java/com/jsh/erp/service/role/RoleComponent.java b/src/main/java/com/jsh/erp/service/role/RoleComponent.java index 0e5e1728..dfbd0bf6 100644 --- a/src/main/java/com/jsh/erp/service/role/RoleComponent.java +++ b/src/main/java/com/jsh/erp/service/role/RoleComponent.java @@ -37,7 +37,7 @@ public class RoleComponent implements ICommonQuery { } @Override - public int counts(Map map) { + public Long counts(Map map) { String search = map.get(Constants.SEARCH); String name = StringUtil.getInfo(search, "name"); return roleService.countRole(name); diff --git a/src/main/java/com/jsh/erp/service/role/RoleService.java b/src/main/java/com/jsh/erp/service/role/RoleService.java index a5d5b8f4..215950fc 100644 --- a/src/main/java/com/jsh/erp/service/role/RoleService.java +++ b/src/main/java/com/jsh/erp/service/role/RoleService.java @@ -40,7 +40,7 @@ public class RoleService { return roleMapperEx.selectByConditionRole(name, offset, rows); } - public int countRole(String name) { + public Long countRole(String name) { return roleMapperEx.countsByRole(name); } diff --git a/src/main/java/com/jsh/erp/service/serialNumber/SerialNumberComponent.java b/src/main/java/com/jsh/erp/service/serialNumber/SerialNumberComponent.java index a3176e0e..84c6d1f7 100644 --- a/src/main/java/com/jsh/erp/service/serialNumber/SerialNumberComponent.java +++ b/src/main/java/com/jsh/erp/service/serialNumber/SerialNumberComponent.java @@ -43,7 +43,7 @@ public class SerialNumberComponent implements ICommonQuery { } @Override - public int counts(Map map) { + public Long counts(Map map) { String search = map.get(Constants.SEARCH); String serialNumber = StringUtil.getInfo(search, "serialNumber"); String materialName = StringUtil.getInfo(search, "materialName"); diff --git a/src/main/java/com/jsh/erp/service/serialNumber/SerialNumberService.java b/src/main/java/com/jsh/erp/service/serialNumber/SerialNumberService.java index d83897fc..418092b6 100644 --- a/src/main/java/com/jsh/erp/service/serialNumber/SerialNumberService.java +++ b/src/main/java/com/jsh/erp/service/serialNumber/SerialNumberService.java @@ -61,7 +61,7 @@ public class SerialNumberService { } - public int countSerialNumber(String serialNumber,String materialName) { + public Long countSerialNumber(String serialNumber,String materialName) { return serialNumberMapperEx.countSerialNumber(serialNumber, materialName); } diff --git a/src/main/java/com/jsh/erp/service/supplier/SupplierComponent.java b/src/main/java/com/jsh/erp/service/supplier/SupplierComponent.java index 9b032df8..ec881237 100644 --- a/src/main/java/com/jsh/erp/service/supplier/SupplierComponent.java +++ b/src/main/java/com/jsh/erp/service/supplier/SupplierComponent.java @@ -42,7 +42,7 @@ public class SupplierComponent implements ICommonQuery { } @Override - public int counts(Map map) { + public Long counts(Map map) { String search = map.get(Constants.SEARCH); String supplier = StringUtil.getInfo(search, "supplier"); String type = StringUtil.getInfo(search, "type"); diff --git a/src/main/java/com/jsh/erp/service/supplier/SupplierService.java b/src/main/java/com/jsh/erp/service/supplier/SupplierService.java index aa22de56..2eca954b 100644 --- a/src/main/java/com/jsh/erp/service/supplier/SupplierService.java +++ b/src/main/java/com/jsh/erp/service/supplier/SupplierService.java @@ -42,7 +42,7 @@ public class SupplierService { return supplierMapperEx.selectByConditionSupplier(supplier, type, phonenum, telephone, description, offset, rows); } - public int countSupplier(String supplier, String type, String phonenum, String telephone, String description) { + public Long countSupplier(String supplier, String type, String phonenum, String telephone, String description) { return supplierMapperEx.countsBySupplier(supplier, type, phonenum, telephone, description); } diff --git a/src/main/java/com/jsh/erp/service/systemConfig/SystemConfigComponent.java b/src/main/java/com/jsh/erp/service/systemConfig/SystemConfigComponent.java index 5f822761..e0becafd 100644 --- a/src/main/java/com/jsh/erp/service/systemConfig/SystemConfigComponent.java +++ b/src/main/java/com/jsh/erp/service/systemConfig/SystemConfigComponent.java @@ -36,7 +36,7 @@ public class SystemConfigComponent implements ICommonQuery { } @Override - public int counts(Map map) { + public Long counts(Map map) { return systemConfigService.countSystemConfig(); } diff --git a/src/main/java/com/jsh/erp/service/systemConfig/SystemConfigService.java b/src/main/java/com/jsh/erp/service/systemConfig/SystemConfigService.java index 2876c7fa..ae492731 100644 --- a/src/main/java/com/jsh/erp/service/systemConfig/SystemConfigService.java +++ b/src/main/java/com/jsh/erp/service/systemConfig/SystemConfigService.java @@ -37,7 +37,7 @@ public class SystemConfigService { return systemConfigMapperEx.selectByConditionSystemConfig(offset, rows); } - public int countSystemConfig() { + public Long countSystemConfig() { return systemConfigMapperEx.countsBySystemConfig(); } diff --git a/src/main/java/com/jsh/erp/service/unit/UnitComponent.java b/src/main/java/com/jsh/erp/service/unit/UnitComponent.java index b1cfdbd7..9241190e 100644 --- a/src/main/java/com/jsh/erp/service/unit/UnitComponent.java +++ b/src/main/java/com/jsh/erp/service/unit/UnitComponent.java @@ -37,7 +37,7 @@ public class UnitComponent implements ICommonQuery { } @Override - public int counts(Map map) { + public Long counts(Map map) { String search = map.get(Constants.SEARCH); String name = StringUtil.getInfo(search, "name"); return unitService.countUnit(name); diff --git a/src/main/java/com/jsh/erp/service/unit/UnitService.java b/src/main/java/com/jsh/erp/service/unit/UnitService.java index 59595f16..0fbc0a02 100644 --- a/src/main/java/com/jsh/erp/service/unit/UnitService.java +++ b/src/main/java/com/jsh/erp/service/unit/UnitService.java @@ -38,7 +38,7 @@ public class UnitService { return unitMapperEx.selectByConditionUnit(name, offset, rows); } - public int countUnit(String name) { + public Long countUnit(String name) { return unitMapperEx.countsByUnit(name); } diff --git a/src/main/java/com/jsh/erp/service/user/UserComponent.java b/src/main/java/com/jsh/erp/service/user/UserComponent.java index aecd0300..7a4b3b73 100644 --- a/src/main/java/com/jsh/erp/service/user/UserComponent.java +++ b/src/main/java/com/jsh/erp/service/user/UserComponent.java @@ -37,7 +37,7 @@ public class UserComponent implements ICommonQuery { } @Override - public int counts(Map map) { + public Long counts(Map map) { String search = map.get(Constants.SEARCH); String userName = StringUtil.getInfo(search, "userName"); String loginName = StringUtil.getInfo(search, "loginName"); diff --git a/src/main/java/com/jsh/erp/service/user/UserService.java b/src/main/java/com/jsh/erp/service/user/UserService.java index 5951b593..a2a3855b 100644 --- a/src/main/java/com/jsh/erp/service/user/UserService.java +++ b/src/main/java/com/jsh/erp/service/user/UserService.java @@ -43,7 +43,7 @@ public class UserService { return userMapperEx.selectByConditionUser(userName, loginName, offset, rows); } - public int countUser(String userName, String loginName) { + public Long countUser(String userName, String loginName) { return userMapperEx.countsByUser(userName, loginName); } /** diff --git a/src/main/java/com/jsh/erp/service/userBusiness/UserBusinessComponent.java b/src/main/java/com/jsh/erp/service/userBusiness/UserBusinessComponent.java index dedbccf9..26d962a7 100644 --- a/src/main/java/com/jsh/erp/service/userBusiness/UserBusinessComponent.java +++ b/src/main/java/com/jsh/erp/service/userBusiness/UserBusinessComponent.java @@ -1,5 +1,6 @@ package com.jsh.erp.service.userBusiness; +import com.jsh.erp.constants.BusinessConstants; import com.jsh.erp.service.ICommonQuery; import com.jsh.erp.service.depot.DepotResource; import com.jsh.erp.service.depot.DepotService; @@ -35,8 +36,8 @@ public class UserBusinessComponent implements ICommonQuery { } @Override - public int counts(Map map) { - return 0; + public Long counts(Map map) { + return BusinessConstants.DEFAULT_LIST_NULL_NUMBER; } @Override diff --git a/src/main/java/com/jsh/erp/utils/Constants.java b/src/main/java/com/jsh/erp/utils/Constants.java index f3a40266..28a8455c 100644 --- a/src/main/java/com/jsh/erp/utils/Constants.java +++ b/src/main/java/com/jsh/erp/utils/Constants.java @@ -16,6 +16,7 @@ public class Constants { public final static String SEARCH = "search"; public final static String DEVICE_ID = "deviceId"; public final static String OFFSET = "offset"; + public final static String ROWS = "rows"; public final static String IS_RECURSION = "isRecursion"; public final static String IS_RECURSION_VALUE = "1"; public final static String IS_QUERYBYNODEID = "isquerybyid"; diff --git a/src/main/java/com/jsh/erp/utils/PageQueryInfo.java b/src/main/java/com/jsh/erp/utils/PageQueryInfo.java index 8cb143ac..7747e009 100644 --- a/src/main/java/com/jsh/erp/utils/PageQueryInfo.java +++ b/src/main/java/com/jsh/erp/utils/PageQueryInfo.java @@ -9,14 +9,14 @@ import java.util.List; */ public class PageQueryInfo { - private Integer total; + private Long total; private List rows; - public Integer getTotal() { + public Long getTotal() { return total; } - public void setTotal(Integer total) { + public void setTotal(Long total) { this.total = total; } diff --git a/src/main/java/com/jsh/erp/utils/ParamUtils.java b/src/main/java/com/jsh/erp/utils/ParamUtils.java index 9e38f4cd..33ba21e4 100644 --- a/src/main/java/com/jsh/erp/utils/ParamUtils.java +++ b/src/main/java/com/jsh/erp/utils/ParamUtils.java @@ -12,10 +12,32 @@ public class ParamUtils { public static String getPageOffset(Integer currentPage, Integer pageSize) { if (currentPage != null && pageSize != null) { int offset = (currentPage - 1) * pageSize; - if (offset < 0) { - return 0 + ""; + if (offset <= 0) { + return "0"; } else { - return offset + ""; + return new StringBuffer().append(offset).toString(); + } + } + return null; + } + public static Integer getNumberPageOffset(Integer currentPage, Integer pageSize) { + if (currentPage != null && pageSize != null) { + int offset = (currentPage - 1) * pageSize; + if (offset <= 0) { + return 0; + } else { + return offset; + } + } + return null; + } + public static Integer getNumberPageRows(Integer currentPage, Integer pageSize) { + if (currentPage != null && pageSize != null) { + int rows = (currentPage) * pageSize; + if (rows <= 0) { + return 0; + } else { + return rows; } } return null; diff --git a/src/main/resources/application.properties b/src/main/resources/application.properties index b1d0eac9..03004ad4 100644 --- a/src/main/resources/application.properties +++ b/src/main/resources/application.properties @@ -15,6 +15,14 @@ logging.level.com.jsh.erp.datasource.mappers=DEBUG #日志 logging.config=classpath:logback-spring.xml logging.level.com.didispace=DEBUG +#pagehelper配置 +pagehelper.helperDialect=mysql +pagehelper.offsetAsPageNum=true +pagehelper.rowBoundsWithCount=true +pagehelper.pageSizeZero=true +pagehelper.reasonable=false +pagehelper.params=pageNum=pageHelperStart;pageSize=pageHelperRows; +pagehelper.supportMethodsArguments=false diff --git a/src/main/resources/mapper_xml/AccountHeadMapperEx.xml b/src/main/resources/mapper_xml/AccountHeadMapperEx.xml index 94d6882c..6d386574 100644 --- a/src/main/resources/mapper_xml/AccountHeadMapperEx.xml +++ b/src/main/resources/mapper_xml/AccountHeadMapperEx.xml @@ -34,7 +34,7 @@ - SELECT COUNT(id) FROM jsh_accounthead diff --git a/src/main/resources/mapper_xml/AccountItemMapperEx.xml b/src/main/resources/mapper_xml/AccountItemMapperEx.xml index 04d709ca..857c92d0 100644 --- a/src/main/resources/mapper_xml/AccountItemMapperEx.xml +++ b/src/main/resources/mapper_xml/AccountItemMapperEx.xml @@ -24,7 +24,7 @@ limit #{offset},#{rows} - SELECT COUNT(id) FROM jsh_accountitem diff --git a/src/main/resources/mapper_xml/AccountMapperEx.xml b/src/main/resources/mapper_xml/AccountMapperEx.xml index e548785b..32aae43b 100644 --- a/src/main/resources/mapper_xml/AccountMapperEx.xml +++ b/src/main/resources/mapper_xml/AccountMapperEx.xml @@ -33,7 +33,7 @@ - SELECT COUNT(id) FROM jsh_account diff --git a/src/main/resources/mapper_xml/AppMapperEx.xml b/src/main/resources/mapper_xml/AppMapperEx.xml index d8c0f4a1..e05a0c20 100644 --- a/src/main/resources/mapper_xml/AppMapperEx.xml +++ b/src/main/resources/mapper_xml/AppMapperEx.xml @@ -16,7 +16,7 @@ limit #{offset},#{rows} - SELECT COUNT(id) FROM jsh_app diff --git a/src/main/resources/mapper_xml/DepotHeadMapperEx.xml b/src/main/resources/mapper_xml/DepotHeadMapperEx.xml index 9173b9cb..2968af3f 100644 --- a/src/main/resources/mapper_xml/DepotHeadMapperEx.xml +++ b/src/main/resources/mapper_xml/DepotHeadMapperEx.xml @@ -73,7 +73,7 @@ limit #{offset},#{rows} - SELECT COUNT(id) FROM jsh_depothead diff --git a/src/main/resources/mapper_xml/DepotItemMapperEx.xml b/src/main/resources/mapper_xml/DepotItemMapperEx.xml index 0eba3e05..0cf8f0b2 100644 --- a/src/main/resources/mapper_xml/DepotItemMapperEx.xml +++ b/src/main/resources/mapper_xml/DepotItemMapperEx.xml @@ -59,7 +59,7 @@ limit #{offset},#{rows} - SELECT COUNT(id) FROM jsh_depotitem @@ -93,7 +93,7 @@ limit #{offset},#{rows} - select count(1) from jsh_depothead dh INNER JOIN jsh_depotitem di on dh.id=di.HeaderId where type!='其它' and SubType!='调拨' @@ -110,7 +110,7 @@ limit #{offset},#{rows} - select count(*) from jsh_depotitem where 1=1 and MaterialId=${mId} diff --git a/src/main/resources/mapper_xml/DepotMapper.xml b/src/main/resources/mapper_xml/DepotMapper.xml index 905fd5b8..5f386f3a 100644 --- a/src/main/resources/mapper_xml/DepotMapper.xml +++ b/src/main/resources/mapper_xml/DepotMapper.xml @@ -14,6 +14,7 @@ + - id, name, address, warehousing, truckage, type, sort, remark + id, name, address, warehousing, truckage, type, sort, remark, principal