From 2b77119819d5fe231a634fa1ec9c1f08e7fd756f Mon Sep 17 00:00:00 2001 From: cjl Date: Thu, 24 Jan 2019 10:00:36 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E5=BA=8F=E5=88=97=E5=8F=B7?= =?UTF-8?q?=E6=96=B0=E5=A2=9E=E6=97=B6=E9=AA=8C=E8=AF=81=E6=9D=A1=E4=BB=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- erp_web/pages/manage/serialNumber.html | 18 +++- sql/jsh_erp.sql | 18 ++++ sql/华夏ERP数据库设计汇总.xlsx | Bin 72656 -> 72886 bytes .../jsh/erp/constants/BusinessConstants.java | 14 +++ .../jsh/erp/constants/ExceptionConstants.java | 10 +- .../mappers/SerialNumberMapperEx.java | 5 + .../serialNumber/SerialNumberService.java | 89 +++++++++++------- .../mapper_xml/SerialNumberMapperEx.xml | 12 +++ 8 files changed, 127 insertions(+), 39 deletions(-) diff --git a/erp_web/pages/manage/serialNumber.html b/erp_web/pages/manage/serialNumber.html index 5082dde6..2ad42c73 100644 --- a/erp_web/pages/manage/serialNumber.html +++ b/erp_web/pages/manage/serialNumber.html @@ -364,12 +364,20 @@ info: JSON.stringify(objInfo) }), success: function(res) { - if(res && res.code === 200) { - $('#serialNumberDlg').dialog('close'); - //加载完以后重新初始化 - var opts = $("#tableData").datagrid('options'); - showSerialNumberDetails(opts.pageNumber, opts.pageSize); + if(res){ + if(res.code!=200){ + $.messager.alert('提示', res.msg, 'error'); + return; + } + if(res.code === 200) { + $('#serialNumberDlg').dialog('close'); + //加载完以后重新初始化 + var opts = $("#tableData").datagrid('options'); + showSerialNumberDetails(opts.pageNumber, opts.pageSize); + } + } + }, //此处添加错误处理 error: function () { diff --git a/sql/jsh_erp.sql b/sql/jsh_erp.sql index e40f3824..e62ae3af 100644 --- a/sql/jsh_erp.sql +++ b/sql/jsh_erp.sql @@ -5179,6 +5179,12 @@ INSERT INTO `jsh_userbusiness` VALUES ('24', 'UserDepot', '65', '[1]', null); INSERT INTO `jsh_userbusiness` VALUES ('25', 'UserCustomer', '64', '[5][2]', null); INSERT INTO `jsh_userbusiness` VALUES ('26', 'UserCustomer', '65', '[6]', null); INSERT INTO `jsh_userbusiness` VALUES ('27', 'UserCustomer', '63', '[5][2]', null); +-- ---------------------------- +-- 时间:2019年1月21日 +-- version:1.0.0 +-- 此次更新添加序列号功能 +-- 特别提醒:之后的sql都是在之前基础上迭代,可以对已存在的系统进行数据保留更新 +-- ---------------------------- -- ---------------------------- -- 添加序列号表 @@ -5202,4 +5208,16 @@ CREATE TABLE `jsh_serial_number` ( -- 产品表新增字段是否启用序列号 -- ---------------------------- alter table jsh_material add enableSerialNumber bit(1) DEFAULT 0 COMMENT '是否开启序列号,0否,1是'; +-- ---------------------------- +-- 时间:2019年1月24日 +-- version:1.0.1 +-- 此次更新添加序列号菜单 +-- 特别提醒:之后的sql都是在之前基础上迭代,可以对已存在的系统进行数据保留更新 +-- ---------------------------- +-- ---------------------------- +-- 添加序列号菜单 +-- ---------------------------- +delete from `jsh_functions` where Name='序列号'; +INSERT INTO `jsh_functions`(`Number`, `Name`, `PNumber`, `URL`, `State`, `Sort`, `Enabled`, `Type`, `PushBtn`) VALUES ('010104', '序列号', '0101', '../manage/serialNumber.html', b'0', '0246', b'1', '电脑版', ''); + diff --git a/sql/华夏ERP数据库设计汇总.xlsx b/sql/华夏ERP数据库设计汇总.xlsx index f13a512e697b368bf3e93539197ef7fa738b0145..cc2f72eac926f13e9401333c6794987b6c9af81b 100644 GIT binary patch delta 51804 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 E0IYJmrvLx| diff --git a/src/main/java/com/jsh/erp/constants/BusinessConstants.java b/src/main/java/com/jsh/erp/constants/BusinessConstants.java index f72c6c64..9842ebff 100644 --- a/src/main/java/com/jsh/erp/constants/BusinessConstants.java +++ b/src/main/java/com/jsh/erp/constants/BusinessConstants.java @@ -21,6 +21,20 @@ public class BusinessConstants { * 默认的分页页数 */ public static final String DEFAULT_PAGINATION_PAGE_SIZE = "10"; + /** + * 商品是否开启序列号标识enableSerialNumber 0否false,1是true + * + * */ + public static final boolean MATERIAL_ENABLE_SERIAL_NUMBER = true; + public static final boolean MATERIAL_NOT_ENABLE_SERIAL_NUMBER = false; + /** + * 单据主表出入库类型 type 入库 出库 + * depothead + * */ + public static final String DEPOTHEAD_TYPE_STORAGE = "入库"; + public static final String DEPOTHEAD_TYPE_OUT = "出库"; + + diff --git a/src/main/java/com/jsh/erp/constants/ExceptionConstants.java b/src/main/java/com/jsh/erp/constants/ExceptionConstants.java index cd11f548..913eaf53 100644 --- a/src/main/java/com/jsh/erp/constants/ExceptionConstants.java +++ b/src/main/java/com/jsh/erp/constants/ExceptionConstants.java @@ -43,10 +43,16 @@ public class ExceptionConstants { * */ //商品信息不存在 public static final int MATERIAL_NOT_EXISTS_CODE = 8000000; - public static final String MATERIAL_NOT_EXISTS__MSG = "商品信息不存在"; + public static final String MATERIAL_NOT_EXISTS_MSG = "商品信息不存在"; //商品信息不唯一 public static final int MATERIAL_NOT_ONLY_CODE = 8000001; - public static final String MATERIAL_NOT_ONLY__MSG = "商品信息不唯一"; + public static final String MATERIAL_NOT_ONLY_MSG = "商品信息不唯一"; + //该商品未开启序列号 + public static final int MATERIAL_NOT_ENABLE_SERIAL_NUMBER_CODE = 8000002; + public static final String MATERIAL_NOT_ENABLE_SERIAL_NUMBER_MSG = "该商品未开启序列号功能"; + //该商品已绑定序列号数量小于等于商品现有库存 + public static final int MATERIAL_SERIAL_NUMBERE_NOT_MORE_THAN_STORAGE_CODE = 8000003; + public static final String MATERIAL_SERIAL_NUMBERE_NOT_MORE_THAN_STORAGE_MSG = "该商品已绑定序列号数量大于等于商品现有库存"; /** * 标准正常返回/操作成功返回 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 686970eb..b8b4276d 100644 --- a/src/main/java/com/jsh/erp/datasource/mappers/SerialNumberMapperEx.java +++ b/src/main/java/com/jsh/erp/datasource/mappers/SerialNumberMapperEx.java @@ -37,4 +37,9 @@ public interface SerialNumberMapperEx { * 修改序列号信息 * */ int updateSerialNumber(SerialNumberEx serialNumberEx); + /** + * 查询指定商品下有效的序列号数量 + * 未删除为卖出的视为有效 + * */ + int findSerialNumberByMaterialId(@Param("materialId") Long materialId); } 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 e893c08e..308c45fe 100644 --- a/src/main/java/com/jsh/erp/service/serialNumber/SerialNumberService.java +++ b/src/main/java/com/jsh/erp/service/serialNumber/SerialNumberService.java @@ -1,12 +1,14 @@ package com.jsh.erp.service.serialNumber; 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.MaterialMapperEx; import com.jsh.erp.datasource.mappers.SerialNumberMapper; import com.jsh.erp.datasource.mappers.SerialNumberMapperEx; import com.jsh.erp.exception.BusinessRunTimeException; +import com.jsh.erp.service.depotItem.DepotItemService; import com.jsh.erp.service.material.MaterialService; import com.jsh.erp.utils.StringUtil; import org.slf4j.Logger; @@ -39,6 +41,8 @@ public class SerialNumberService { private SerialNumberMapperEx serialNumberMapperEx; @Resource private MaterialMapperEx materialMapperEx; + @Resource + private DepotItemService depotItemService; public SerialNumber getSerialNumber(long id) { @@ -121,11 +125,11 @@ public class SerialNumberService { if(mlist==null||mlist.size()<1){ //商品名称不存在 throw new BusinessRunTimeException(ExceptionConstants.MATERIAL_NOT_EXISTS_CODE, - ExceptionConstants.MATERIAL_NOT_EXISTS__MSG); + ExceptionConstants.MATERIAL_NOT_EXISTS_MSG); }else if(mlist.size()>1){ //商品信息不唯一 throw new BusinessRunTimeException(ExceptionConstants.MATERIAL_NOT_ONLY_CODE, - ExceptionConstants.MATERIAL_NOT_ONLY__MSG); + ExceptionConstants.MATERIAL_NOT_ONLY_MSG); } } @@ -167,21 +171,7 @@ public class SerialNumberService { } /**处理商品id*/ if(serialNumberEx.getMaterialId()==null){ - if(StringUtil.isNotEmpty(serialNumberEx.getMaterialName())){ - List mlist = materialMapperEx.findByMaterialName(serialNumberEx.getMaterialName()); - if(mlist==null||mlist.size()<1){ - //商品名称不存在 - throw new BusinessRunTimeException(ExceptionConstants.MATERIAL_NOT_EXISTS_CODE, - ExceptionConstants.MATERIAL_NOT_EXISTS__MSG); - }else if(mlist.size()>1){ - //商品信息不唯一 - throw new BusinessRunTimeException(ExceptionConstants.MATERIAL_NOT_ONLY_CODE, - ExceptionConstants.MATERIAL_NOT_ONLY__MSG); - - }else{ - serialNumberEx.setMaterialId(mlist.get(0).getId()); - } - } + serialNumberEx.setMaterialId(getSerialNumberMaterialIdByMaterialName(serialNumberEx.getMaterialName())); } //删除标记,默认未删除 serialNumberEx.setDeleteFlag(false); @@ -206,21 +196,7 @@ public class SerialNumberService { return null; } /**处理商品id*/ - if(StringUtil.isNotEmpty(serialNumberEx.getMaterialName())){ - List mlist = materialMapperEx.findByMaterialName(serialNumberEx.getMaterialName()); - if(mlist==null||mlist.size()<1){ - //商品名称不存在 - throw new BusinessRunTimeException(ExceptionConstants.MATERIAL_NOT_EXISTS_CODE, - ExceptionConstants.MATERIAL_NOT_EXISTS__MSG); - }else if(mlist.size()>1){ - //商品信息不唯一 - throw new BusinessRunTimeException(ExceptionConstants.MATERIAL_NOT_ONLY_CODE, - ExceptionConstants.MATERIAL_NOT_ONLY__MSG); - - }else{ - serialNumberEx.setMaterialId(mlist.get(0).getId()); - } - } + serialNumberEx.setMaterialId(getSerialNumberMaterialIdByMaterialName(serialNumberEx.getMaterialName())); Date date=new Date(); serialNumberEx.setUpdateTime(date); HttpServletRequest request = ((ServletRequestAttributes) Objects.requireNonNull(RequestContextHolder.getRequestAttributes())).getRequest(); @@ -232,4 +208,53 @@ public class SerialNumberService { } return null; } + /** + * create by: cjl + * description: + * 根据商品名称判断给商品添加序列号是否可行 + * 1、根据商品名称必须查询到唯一的商品 + * 2、该商品必须已经启用序列号 + * 3、该商品已绑定序列号数量小于商品现有库存 + * create time: 2019/1/23 17:04 + * @Param: materialName + * @return Long 满足使用条件的商品的id + */ + public Long getSerialNumberMaterialIdByMaterialName(String materialName){ + if(StringUtil.isNotEmpty(materialName)){ + List mlist = materialMapperEx.findByMaterialName(materialName); + if(mlist==null||mlist.size()<1){ + //商品名称不存在 + throw new BusinessRunTimeException(ExceptionConstants.MATERIAL_NOT_EXISTS_CODE, + ExceptionConstants.MATERIAL_NOT_EXISTS_MSG); + } + if(mlist.size()>1){ + //商品信息不唯一 + throw new BusinessRunTimeException(ExceptionConstants.MATERIAL_NOT_ONLY_CODE, + ExceptionConstants.MATERIAL_NOT_ONLY_MSG); + + } + //获得唯一商品 + if(BusinessConstants.MATERIAL_NOT_ENABLE_SERIAL_NUMBER==mlist.get(0).getEnableSerialNumber()){ + //商品未开启序列号 + throw new BusinessRunTimeException(ExceptionConstants.MATERIAL_NOT_ENABLE_SERIAL_NUMBER_CODE, + ExceptionConstants.MATERIAL_NOT_ENABLE_SERIAL_NUMBER_MSG); + } + //计算商品库存和目前占用的可用序列号数量关系 + //库存=入库-出库 + //入库数量 + Long materialId=mlist.get(0).getId(); + int inSum = depotItemService.findByTypeAndMaterialId(BusinessConstants.DEPOTHEAD_TYPE_STORAGE, materialId); + //出库数量 + int outSum = depotItemService.findByTypeAndMaterialId(BusinessConstants.DEPOTHEAD_TYPE_OUT, materialId); + //查询当前商品下有效的序列号 + int serialNumberSum = serialNumberMapperEx.findSerialNumberByMaterialId(materialId); + if((inSum-outSum)<=serialNumberSum){ + throw new BusinessRunTimeException(ExceptionConstants.MATERIAL_SERIAL_NUMBERE_NOT_MORE_THAN_STORAGE_CODE, + ExceptionConstants.MATERIAL_SERIAL_NUMBERE_NOT_MORE_THAN_STORAGE_MSG); + } + return materialId; + } + return null; + } + } diff --git a/src/main/resources/mapper_xml/SerialNumberMapperEx.xml b/src/main/resources/mapper_xml/SerialNumberMapperEx.xml index 31fc202d..ba257422 100644 --- a/src/main/resources/mapper_xml/SerialNumberMapperEx.xml +++ b/src/main/resources/mapper_xml/SerialNumberMapperEx.xml @@ -113,4 +113,16 @@ where id = #{id,jdbcType=BIGINT} + + \ No newline at end of file