From 15245791c809d4b23e654ca6c8b5ca54702bc775 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=AD=A3=E5=9C=A3=E5=8D=8E?= <752718920@qq.com> Date: Tue, 1 Jun 2021 23:33:00 +0800 Subject: [PATCH] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E7=A7=9F=E6=88=B7=E7=95=8C?= =?UTF-8?q?=E9=9D=A2=E3=80=81=E5=8D=95=E6=8D=AE=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- jshERP-boot/docs/jsh_erp.sql | 2 +- .../docs/数据库更新记录-首次安装请勿使用.txt | 9 +++++++- .../jsh/erp/constants/ExceptionConstants.java | 3 +++ .../erp/controller/MaterialController.java | 11 +++++++++ .../datasource/entities/MaterialVo4Unit.java | 10 ++++++++ .../jsh/erp/datasource/entities/TenantEx.java | 14 +++++++++++ .../jsh/erp/datasource/entities/UserEx.java | 20 ++++++++++++++++ .../datasource/mappers/TenantMapperEx.java | 3 ++- .../service/depotHead/DepotHeadService.java | 8 +++++++ .../jsh/erp/service/tenant/TenantService.java | 23 ++++++++++++++----- .../com/jsh/erp/service/user/UserService.java | 2 ++ .../resources/mapper_xml/TenantMapperEx.xml | 7 +++++- 12 files changed, 102 insertions(+), 10 deletions(-) create mode 100644 jshERP-boot/src/main/java/com/jsh/erp/datasource/entities/TenantEx.java diff --git a/jshERP-boot/docs/jsh_erp.sql b/jshERP-boot/docs/jsh_erp.sql index b7bf9540..8af82541 100644 --- a/jshERP-boot/docs/jsh_erp.sql +++ b/jshERP-boot/docs/jsh_erp.sql @@ -1759,7 +1759,7 @@ CREATE TABLE `jsh_tenant` ( -- ---------------------------- -- Records of jsh_tenant -- ---------------------------- -INSERT INTO `jsh_tenant` VALUES ('13', '63', 'jsh', '20', '2000', null); +INSERT INTO `jsh_tenant` VALUES ('13', '63', 'jsh', '20', '2000', '2021-02-17 23:19:17'); INSERT INTO `jsh_tenant` VALUES ('14', '137', 'alibaba', '1000000', '100000000', '2021-02-17 23:19:17'); INSERT INTO `jsh_tenant` VALUES ('15', '138', 'xiaomi', '1000000', '100000000', '2021-02-17 23:21:25'); INSERT INTO `jsh_tenant` VALUES ('16', '139', 'tenxun', '1000000', '100000000', '2021-02-17 23:23:09'); diff --git a/jshERP-boot/docs/数据库更新记录-首次安装请勿使用.txt b/jshERP-boot/docs/数据库更新记录-首次安装请勿使用.txt index a6cc8059..1055957f 100644 --- a/jshERP-boot/docs/数据库更新记录-首次安装请勿使用.txt +++ b/jshERP-boot/docs/数据库更新记录-首次安装请勿使用.txt @@ -1069,4 +1069,11 @@ alter table jsh_organization drop column updater; alter table jsh_material_category drop column creator; alter table jsh_material_category drop column updater; alter table jsh_material_category change status delete_flag varchar(1) DEFAULT '0' COMMENT '删除标记,0未删除,1删除'; -update jsh_material_category set delete_flag='0'; \ No newline at end of file +update jsh_material_category set delete_flag='0'; + +-- -------------------------------------------------------- +-- 时间 2021年6月1日 +-- by jishenghua +-- 增加租户管理菜单 +-- -------------------------------------------------------- +INSERT INTO `jsh_erp`.`jsh_function` (`id`, `number`, `name`, `parent_number`, `url`, `component`, `state`, `sort`, `enabled`, `type`, `push_btn`, `icon`, `delete_flag`) VALUES ('18', '000109', '租户管理', '0001', '/system/tenant', '/system/TenantList', b'0', '0167', b'1', '电脑版', '1', 'profile', '0'); diff --git a/jshERP-boot/src/main/java/com/jsh/erp/constants/ExceptionConstants.java b/jshERP-boot/src/main/java/com/jsh/erp/constants/ExceptionConstants.java index c8e4535c..8ae67f09 100644 --- a/jshERP-boot/src/main/java/com/jsh/erp/constants/ExceptionConstants.java +++ b/jshERP-boot/src/main/java/com/jsh/erp/constants/ExceptionConstants.java @@ -309,6 +309,9 @@ public class ExceptionConstants { //单据录入-明细不能为空 public static final int DEPOT_HEAD_ROW_FAILED_CODE = 8500006; public static final String DEPOT_HEAD_ROW_FAILED_MSG = "单据明细不能为空"; + //单据录入-账户不能为空 + public static final int DEPOT_HEAD_ACCOUNT_FAILED_CODE = 8500007; + public static final String DEPOT_HEAD_ACCOUNT_FAILED_MSG = "结算账户不能为空"; /** * 单据明细信息 * type = 90 diff --git a/jshERP-boot/src/main/java/com/jsh/erp/controller/MaterialController.java b/jshERP-boot/src/main/java/com/jsh/erp/controller/MaterialController.java index 212305ce..058a2534 100644 --- a/jshERP-boot/src/main/java/com/jsh/erp/controller/MaterialController.java +++ b/jshERP-boot/src/main/java/com/jsh/erp/controller/MaterialController.java @@ -439,6 +439,7 @@ public class MaterialController { @GetMapping(value = "/getMaterialByBarCode") public BaseResponseInfo getMaterialByBarCode(@RequestParam("barCode") String barCode, @RequestParam("mpList") String mpList, + @RequestParam(required = false, value = "prefixNo") String prefixNo, HttpServletRequest request) throws Exception { BaseResponseInfo res = new BaseResponseInfo(); try { @@ -463,6 +464,16 @@ public class MaterialController { } } mu.setMaterialOther(expand); + if("LSCK".equals(prefixNo) || "LSTH".equals(prefixNo)) { + //零售价 + mu.setBillPrice(mu.getCommodityDecimal()); + } else if("CGDD".equals(prefixNo) || "CGRK".equals(prefixNo) || "CGTH".equals(prefixNo) || "QTRK".equals(prefixNo) || "DBCK".equals(prefixNo)) { + //采购价 + mu.setBillPrice(mu.getPurchaseDecimal()); + } else if("XSDD".equals(prefixNo) || "XSCK".equals(prefixNo) || "XSTH".equals(prefixNo) || "QTCK".equals(prefixNo)) { + //销售价 + mu.setBillPrice(mu.getWholesaleDecimal()); + } } res.code = 200; res.data = mu; diff --git a/jshERP-boot/src/main/java/com/jsh/erp/datasource/entities/MaterialVo4Unit.java b/jshERP-boot/src/main/java/com/jsh/erp/datasource/entities/MaterialVo4Unit.java index 4b26539d..d5895475 100644 --- a/jshERP-boot/src/main/java/com/jsh/erp/datasource/entities/MaterialVo4Unit.java +++ b/jshERP-boot/src/main/java/com/jsh/erp/datasource/entities/MaterialVo4Unit.java @@ -20,6 +20,8 @@ public class MaterialVo4Unit extends Material{ private BigDecimal lowDecimal; + private BigDecimal billPrice; + private String mBarCode; private String commodityUnit; @@ -90,6 +92,14 @@ public class MaterialVo4Unit extends Material{ this.lowDecimal = lowDecimal; } + public BigDecimal getBillPrice() { + return billPrice; + } + + public void setBillPrice(BigDecimal billPrice) { + this.billPrice = billPrice; + } + public String getmBarCode() { return mBarCode; } diff --git a/jshERP-boot/src/main/java/com/jsh/erp/datasource/entities/TenantEx.java b/jshERP-boot/src/main/java/com/jsh/erp/datasource/entities/TenantEx.java new file mode 100644 index 00000000..ea8e58dc --- /dev/null +++ b/jshERP-boot/src/main/java/com/jsh/erp/datasource/entities/TenantEx.java @@ -0,0 +1,14 @@ +package com.jsh.erp.datasource.entities; + +public class TenantEx extends Tenant{ + + private String createTimeStr; + + public String getCreateTimeStr() { + return createTimeStr; + } + + public void setCreateTimeStr(String createTimeStr) { + this.createTimeStr = createTimeStr; + } +} \ No newline at end of file diff --git a/jshERP-boot/src/main/java/com/jsh/erp/datasource/entities/UserEx.java b/jshERP-boot/src/main/java/com/jsh/erp/datasource/entities/UserEx.java index 79987311..8b572bdc 100644 --- a/jshERP-boot/src/main/java/com/jsh/erp/datasource/entities/UserEx.java +++ b/jshERP-boot/src/main/java/com/jsh/erp/datasource/entities/UserEx.java @@ -22,6 +22,10 @@ public class UserEx extends User{ private String userType; + private String userNumLimit; + + private String billsNumLimit; + public String getOrgAbr() { return orgAbr; } @@ -77,4 +81,20 @@ public class UserEx extends User{ public void setUserType(String userType) { this.userType = userType; } + + public String getUserNumLimit() { + return userNumLimit; + } + + public void setUserNumLimit(String userNumLimit) { + this.userNumLimit = userNumLimit; + } + + public String getBillsNumLimit() { + return billsNumLimit; + } + + public void setBillsNumLimit(String billsNumLimit) { + this.billsNumLimit = billsNumLimit; + } } diff --git a/jshERP-boot/src/main/java/com/jsh/erp/datasource/mappers/TenantMapperEx.java b/jshERP-boot/src/main/java/com/jsh/erp/datasource/mappers/TenantMapperEx.java index 39af69e7..9089aead 100644 --- a/jshERP-boot/src/main/java/com/jsh/erp/datasource/mappers/TenantMapperEx.java +++ b/jshERP-boot/src/main/java/com/jsh/erp/datasource/mappers/TenantMapperEx.java @@ -1,13 +1,14 @@ package com.jsh.erp.datasource.mappers; import com.jsh.erp.datasource.entities.Tenant; +import com.jsh.erp.datasource.entities.TenantEx; import org.apache.ibatis.annotations.Param; import java.util.List; public interface TenantMapperEx { - List selectByConditionTenant( + List selectByConditionTenant( @Param("loginName") String loginName, @Param("offset") Integer offset, @Param("rows") Integer rows); diff --git a/jshERP-boot/src/main/java/com/jsh/erp/service/depotHead/DepotHeadService.java b/jshERP-boot/src/main/java/com/jsh/erp/service/depotHead/DepotHeadService.java index 45972f4d..3221640b 100644 --- a/jshERP-boot/src/main/java/com/jsh/erp/service/depotHead/DepotHeadService.java +++ b/jshERP-boot/src/main/java/com/jsh/erp/service/depotHead/DepotHeadService.java @@ -531,6 +531,10 @@ public class DepotHeadService { HttpServletRequest request) throws Exception { /**处理单据主表数据*/ DepotHead depotHead = JSONObject.parseObject(beanJson, DepotHead.class); + if(StringUtil.isEmpty(depotHead.getAccountIdList()) && depotHead.getAccountId()==null) { + throw new BusinessRunTimeException(ExceptionConstants.DEPOT_HEAD_ACCOUNT_FAILED_CODE, + String.format(ExceptionConstants.DEPOT_HEAD_ACCOUNT_FAILED_MSG)); + } //判断用户是否已经登录过,登录过不再处理 User userInfo=userService.getCurrentUser(); depotHead.setCreator(userInfo==null?null:userInfo.getId()); @@ -594,6 +598,10 @@ public class DepotHeadService { BigDecimal preTotalPrice, Long tenantId,HttpServletRequest request)throws Exception { /**更新单据主表信息*/ DepotHead depotHead = JSONObject.parseObject(beanJson, DepotHead.class); + if(StringUtil.isEmpty(depotHead.getAccountIdList()) && depotHead.getAccountId()==null) { + throw new BusinessRunTimeException(ExceptionConstants.DEPOT_HEAD_ACCOUNT_FAILED_CODE, + String.format(ExceptionConstants.DEPOT_HEAD_ACCOUNT_FAILED_MSG)); + } if(StringUtil.isNotEmpty(depotHead.getAccountIdList())){ depotHead.setAccountIdList(depotHead.getAccountIdList().replace("[", "").replace("]", "").replaceAll("\"", "")); } diff --git a/jshERP-boot/src/main/java/com/jsh/erp/service/tenant/TenantService.java b/jshERP-boot/src/main/java/com/jsh/erp/service/tenant/TenantService.java index 6406647c..968e331e 100644 --- a/jshERP-boot/src/main/java/com/jsh/erp/service/tenant/TenantService.java +++ b/jshERP-boot/src/main/java/com/jsh/erp/service/tenant/TenantService.java @@ -1,6 +1,7 @@ package com.jsh.erp.service.tenant; import com.alibaba.fastjson.JSONObject; +import com.jsh.erp.constants.BusinessConstants; import com.jsh.erp.constants.ExceptionConstants; import com.jsh.erp.datasource.entities.*; import com.jsh.erp.datasource.mappers.TenantMapper; @@ -8,6 +9,7 @@ import com.jsh.erp.datasource.mappers.TenantMapperEx; import com.jsh.erp.exception.BusinessRunTimeException; import com.jsh.erp.exception.JshException; import com.jsh.erp.utils.StringUtil; +import com.jsh.erp.utils.Tools; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Value; @@ -56,10 +58,15 @@ public class TenantService { return list; } - public List select(String loginName, int offset, int rows)throws Exception { - List list=null; + public List select(String loginName, int offset, int rows)throws Exception { + List list= new ArrayList<>(); try{ - list=tenantMapperEx.selectByConditionTenant(loginName, offset, rows); + list = tenantMapperEx.selectByConditionTenant(loginName, offset, rows); + if (null != list) { + for (TenantEx tenantEx : list) { + tenantEx.setCreateTimeStr(Tools.getCenternTime(tenantEx.getCreateTime())); + } + } }catch(Exception e){ JshException.readFail(logger, e); } @@ -81,8 +88,12 @@ public class TenantService { Tenant tenant = JSONObject.parseObject(obj.toJSONString(), Tenant.class); int result=0; try{ - tenant.setUserNumLimit(userNumLimit); //默认用户限制数量 - tenant.setBillsNumLimit(billsNumLimit); //默认单据限制数量 + if(tenant.getUserNumLimit()==null) { + tenant.setUserNumLimit(userNumLimit); //默认用户限制数量 + } + if(tenant.getBillsNumLimit()==null) { + tenant.setBillsNumLimit(billsNumLimit); //默认单据限制数量 + } tenant.setCreateTime(new Date()); result=tenantMapper.insertSelective(tenant); }catch(Exception e){ @@ -130,7 +141,7 @@ public class TenantService { public int checkIsNameExist(Long id, String name)throws Exception { TenantExample example = new TenantExample(); - example.createCriteria().andIdEqualTo(id); + example.createCriteria().andIdNotEqualTo(id).andLoginNameEqualTo(name); List list=null; try{ list= tenantMapper.selectByExample(example); diff --git a/jshERP-boot/src/main/java/com/jsh/erp/service/user/UserService.java b/jshERP-boot/src/main/java/com/jsh/erp/service/user/UserService.java index 1c073005..6b5b77a9 100644 --- a/jshERP-boot/src/main/java/com/jsh/erp/service/user/UserService.java +++ b/jshERP-boot/src/main/java/com/jsh/erp/service/user/UserService.java @@ -511,6 +511,8 @@ public class UserService { JSONObject tenantObj = new JSONObject(); tenantObj.put("tenantId", ue.getId()); tenantObj.put("loginName",ue.getLoginName()); + tenantObj.put("userNumLimit",ue.getUserNumLimit()); + tenantObj.put("billsNumLimit",ue.getBillsNumLimit()); tenantService.insertTenant(tenantObj, request); logger.info("===============创建租户信息完成==============="); if (result > 0) { diff --git a/jshERP-boot/src/main/resources/mapper_xml/TenantMapperEx.xml b/jshERP-boot/src/main/resources/mapper_xml/TenantMapperEx.xml index 1a857e0e..a0570e50 100644 --- a/jshERP-boot/src/main/resources/mapper_xml/TenantMapperEx.xml +++ b/jshERP-boot/src/main/resources/mapper_xml/TenantMapperEx.xml @@ -1,13 +1,18 @@ - select * FROM jsh_tenant where 1=1 and login_name like '%${loginName}%' + order by id desc limit #{offset},#{rows}