From eefb72e16b3a83fe1f3ad0f9c89e60f15bab5a26 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=AD=A3=E5=9C=A3=E5=8D=8E?= <752718920@qq.com> Date: Thu, 16 Mar 2023 22:41:07 +0800 Subject: [PATCH] =?UTF-8?q?=E7=BB=99=E7=B3=BB=E7=BB=9F=E5=8F=82=E6=95=B0?= =?UTF-8?q?=E8=A1=A8=E5=A2=9E=E5=8A=A0=E5=BA=93=E5=AD=98=E5=AE=A1=E6=A0=B8?= =?UTF-8?q?=E5=90=AF=E7=94=A8=E6=A0=87=E8=AE=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- jshERP-boot/docs/jsh_erp.sql | 5 +- .../docs/数据库更新记录-首次安装请勿使用.txt | 9 ++- .../erp/datasource/entities/SystemConfig.java | 10 +++ .../entities/SystemConfigExample.java | 70 +++++++++++++++++++ .../datasource/mappers/DepotItemMapperEx.java | 3 + .../service/depotHead/DepotHeadService.java | 9 +++ .../service/depotItem/DepotItemService.java | 20 ++++-- .../systemConfig/SystemConfigService.java | 17 +++++ .../mapper_xml/DepotItemMapperEx.xml | 9 +++ .../mapper_xml/SystemConfigMapper.xml | 26 +++++-- 10 files changed, 163 insertions(+), 15 deletions(-) diff --git a/jshERP-boot/docs/jsh_erp.sql b/jshERP-boot/docs/jsh_erp.sql index e6a2453d..5a39bc56 100644 --- a/jshERP-boot/docs/jsh_erp.sql +++ b/jshERP-boot/docs/jsh_erp.sql @@ -10,7 +10,7 @@ Target Server Type : MYSQL Target Server Version : 50704 File Encoding : 65001 -Date: 2023-03-08 20:57:27 +Date: 2023-03-16 21:35:16 */ SET FOREIGN_KEY_CHECKS=0; @@ -852,6 +852,7 @@ CREATE TABLE `jsh_system_config` ( `multi_level_approval_flag` varchar(1) DEFAULT '0' COMMENT '多级审核启用标记,0未启用,1启用', `multi_bill_type` varchar(200) DEFAULT NULL COMMENT '流程类型,可多选', `amount_approval_flag` varchar(1) DEFAULT '0' COMMENT '金额审核启用标记,0未启用,1启用', + `stock_approval_flag` varchar(1) DEFAULT '0' COMMENT '库存审核启用标记,0未启用,1启用', `tenant_id` bigint(20) DEFAULT NULL COMMENT '租户id', `delete_flag` varchar(1) DEFAULT '0' COMMENT '删除标记,0未删除,1删除', PRIMARY KEY (`id`) @@ -860,7 +861,7 @@ CREATE TABLE `jsh_system_config` ( -- ---------------------------- -- Records of jsh_system_config -- ---------------------------- -INSERT INTO `jsh_system_config` VALUES ('11', '公司test', '小李', '地址1', '12345678', null, null, '注:本单为我公司与客户约定账期内结款的依据,由客户或其单位员工签字生效,并承担法律责任。', '0', '0', '1', '0', '0', '', '0', '63', '0'); +INSERT INTO `jsh_system_config` VALUES ('11', '公司test', '小李', '地址1', '12345678', null, null, '注:本单为我公司与客户约定账期内结款的依据,由客户或其单位员工签字生效,并承担法律责任。', '0', '0', '1', '0', '0', '', '0', '0', '63', '0'); -- ---------------------------- -- Table structure for jsh_tenant diff --git a/jshERP-boot/docs/数据库更新记录-首次安装请勿使用.txt b/jshERP-boot/docs/数据库更新记录-首次安装请勿使用.txt index d38eabd5..a349869c 100644 --- a/jshERP-boot/docs/数据库更新记录-首次安装请勿使用.txt +++ b/jshERP-boot/docs/数据库更新记录-首次安装请勿使用.txt @@ -1457,4 +1457,11 @@ alter table jsh_unit change ratio_two ratio_two decimal(24,3) DEFAULT NULL COMME alter table jsh_unit change ratio_three ratio_three decimal(24,3) DEFAULT NULL COMMENT '比例3'; alter table jsh_system_config add amount_approval_flag varchar(1) DEFAULT '0' COMMENT '金额审核启用标记,0未启用,1启用' after multi_bill_type; alter table jsh_depot_head add source varchar(1) DEFAULT '0' COMMENT '单据来源,0-pc,1-手机' after purchase_status; -alter table jsh_account_head add source varchar(1) DEFAULT '0' COMMENT '单据来源,0-pc,1-手机' after status; \ No newline at end of file +alter table jsh_account_head add source varchar(1) DEFAULT '0' COMMENT '单据来源,0-pc,1-手机' after status; + +-- -------------------------------------------------------- +-- 时间 2023年03月16日 +-- by jishenghua +-- 给系统参数表增加库存审核启用标记 +-- -------------------------------------------------------- +alter table jsh_system_config add stock_approval_flag varchar(1) DEFAULT '0' COMMENT '库存审核启用标记,0未启用,1启用' after amount_approval_flag; \ No newline at end of file diff --git a/jshERP-boot/src/main/java/com/jsh/erp/datasource/entities/SystemConfig.java b/jshERP-boot/src/main/java/com/jsh/erp/datasource/entities/SystemConfig.java index 07e0fdae..64a99817 100644 --- a/jshERP-boot/src/main/java/com/jsh/erp/datasource/entities/SystemConfig.java +++ b/jshERP-boot/src/main/java/com/jsh/erp/datasource/entities/SystemConfig.java @@ -31,6 +31,8 @@ public class SystemConfig { private String amountApprovalFlag; + private String stockApprovalFlag; + private Long tenantId; private String deleteFlag; @@ -155,6 +157,14 @@ public class SystemConfig { this.amountApprovalFlag = amountApprovalFlag == null ? null : amountApprovalFlag.trim(); } + public String getStockApprovalFlag() { + return stockApprovalFlag; + } + + public void setStockApprovalFlag(String stockApprovalFlag) { + this.stockApprovalFlag = stockApprovalFlag == null ? null : stockApprovalFlag.trim(); + } + public Long getTenantId() { return tenantId; } diff --git a/jshERP-boot/src/main/java/com/jsh/erp/datasource/entities/SystemConfigExample.java b/jshERP-boot/src/main/java/com/jsh/erp/datasource/entities/SystemConfigExample.java index 713b6e62..5f7ec8c5 100644 --- a/jshERP-boot/src/main/java/com/jsh/erp/datasource/entities/SystemConfigExample.java +++ b/jshERP-boot/src/main/java/com/jsh/erp/datasource/entities/SystemConfigExample.java @@ -1144,6 +1144,76 @@ public class SystemConfigExample { return (Criteria) this; } + public Criteria andStockApprovalFlagIsNull() { + addCriterion("stock_approval_flag is null"); + return (Criteria) this; + } + + public Criteria andStockApprovalFlagIsNotNull() { + addCriterion("stock_approval_flag is not null"); + return (Criteria) this; + } + + public Criteria andStockApprovalFlagEqualTo(String value) { + addCriterion("stock_approval_flag =", value, "stockApprovalFlag"); + return (Criteria) this; + } + + public Criteria andStockApprovalFlagNotEqualTo(String value) { + addCriterion("stock_approval_flag <>", value, "stockApprovalFlag"); + return (Criteria) this; + } + + public Criteria andStockApprovalFlagGreaterThan(String value) { + addCriterion("stock_approval_flag >", value, "stockApprovalFlag"); + return (Criteria) this; + } + + public Criteria andStockApprovalFlagGreaterThanOrEqualTo(String value) { + addCriterion("stock_approval_flag >=", value, "stockApprovalFlag"); + return (Criteria) this; + } + + public Criteria andStockApprovalFlagLessThan(String value) { + addCriterion("stock_approval_flag <", value, "stockApprovalFlag"); + return (Criteria) this; + } + + public Criteria andStockApprovalFlagLessThanOrEqualTo(String value) { + addCriterion("stock_approval_flag <=", value, "stockApprovalFlag"); + return (Criteria) this; + } + + public Criteria andStockApprovalFlagLike(String value) { + addCriterion("stock_approval_flag like", value, "stockApprovalFlag"); + return (Criteria) this; + } + + public Criteria andStockApprovalFlagNotLike(String value) { + addCriterion("stock_approval_flag not like", value, "stockApprovalFlag"); + return (Criteria) this; + } + + public Criteria andStockApprovalFlagIn(List values) { + addCriterion("stock_approval_flag in", values, "stockApprovalFlag"); + return (Criteria) this; + } + + public Criteria andStockApprovalFlagNotIn(List values) { + addCriterion("stock_approval_flag not in", values, "stockApprovalFlag"); + return (Criteria) this; + } + + public Criteria andStockApprovalFlagBetween(String value1, String value2) { + addCriterion("stock_approval_flag between", value1, value2, "stockApprovalFlag"); + return (Criteria) this; + } + + public Criteria andStockApprovalFlagNotBetween(String value1, String value2) { + addCriterion("stock_approval_flag not between", value1, value2, "stockApprovalFlag"); + return (Criteria) this; + } + public Criteria andTenantIdIsNull() { addCriterion("tenant_id is null"); return (Criteria) this; diff --git a/jshERP-boot/src/main/java/com/jsh/erp/datasource/mappers/DepotItemMapperEx.java b/jshERP-boot/src/main/java/com/jsh/erp/datasource/mappers/DepotItemMapperEx.java index 9d94556d..fd8a9c66 100644 --- a/jshERP-boot/src/main/java/com/jsh/erp/datasource/mappers/DepotItemMapperEx.java +++ b/jshERP-boot/src/main/java/com/jsh/erp/datasource/mappers/DepotItemMapperEx.java @@ -125,18 +125,21 @@ public interface DepotItemMapperEx { BigDecimal getStockCheckSumByDepotList( @Param("depotList") List depotList, @Param("mId") Long mId, + @Param("stockApprovalFlag") Boolean stockApprovalFlag, @Param("beginTime") String beginTime, @Param("endTime") String endTime); DepotItemVo4Stock getSkuStockByParamWithDepotList( @Param("depotList") List depotList, @Param("meId") Long meId, + @Param("stockApprovalFlag") Boolean stockApprovalFlag, @Param("beginTime") String beginTime, @Param("endTime") String endTime); DepotItemVo4Stock getStockByParamWithDepotList( @Param("depotList") List depotList, @Param("mId") Long mId, + @Param("stockApprovalFlag") Boolean stockApprovalFlag, @Param("beginTime") String beginTime, @Param("endTime") String endTime); 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 e58cef9e..1ed0e0dc 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 @@ -563,6 +563,15 @@ public class DepotHeadService { DepotHeadExample example = new DepotHeadExample(); example.createCriteria().andIdIn(dhIds); result = depotHeadMapper.updateByExampleSelective(depotHead, example); + //更新当前库存(此时开启了库存审核) + if(systemConfigService.getStockApprovalFlag()) { + for(Long dhId: dhIds) { + List list = depotItemService.getListByHeaderId(dhId); + for (DepotItem depotItem : list) { + depotItemService.updateCurrentStock(depotItem); + } + } + } } return result; } diff --git a/jshERP-boot/src/main/java/com/jsh/erp/service/depotItem/DepotItemService.java b/jshERP-boot/src/main/java/com/jsh/erp/service/depotItem/DepotItemService.java index 14938739..de1e4f39 100644 --- a/jshERP-boot/src/main/java/com/jsh/erp/service/depotItem/DepotItemService.java +++ b/jshERP-boot/src/main/java/com/jsh/erp/service/depotItem/DepotItemService.java @@ -873,8 +873,10 @@ public class DepotItemService { * @return */ public BigDecimal getSkuStockByParam(Long depotId, Long meId, String beginTime, String endTime) throws Exception { + //获取库存审核开关 + Boolean stockApprovalFlag = systemConfigService.getStockApprovalFlag(); List depotList = depotService.parseDepotList(depotId); - DepotItemVo4Stock stockObj = depotItemMapperEx.getSkuStockByParamWithDepotList(depotList, meId, beginTime, endTime); + DepotItemVo4Stock stockObj = depotItemMapperEx.getSkuStockByParamWithDepotList(depotList, meId, stockApprovalFlag, beginTime, endTime); BigDecimal stockSum = BigDecimal.ZERO; if(stockObj!=null) { BigDecimal inTotal = stockObj.getInTotal(); @@ -912,12 +914,14 @@ public class DepotItemService { * @param endTime * @return */ - public BigDecimal getStockByParamWithDepotList(List depotList, Long mId, String beginTime, String endTime){ + public BigDecimal getStockByParamWithDepotList(List depotList, Long mId, String beginTime, String endTime) throws Exception { + //获取库存审核开关 + Boolean stockApprovalFlag = systemConfigService.getStockApprovalFlag(); //初始库存 BigDecimal initStock = materialService.getInitStockByMidAndDepotList(depotList, mId); //盘点复盘后数量的变动 - BigDecimal stockCheckSum = depotItemMapperEx.getStockCheckSumByDepotList(depotList, mId, beginTime, endTime); - DepotItemVo4Stock stockObj = depotItemMapperEx.getStockByParamWithDepotList(depotList, mId, beginTime, endTime); + BigDecimal stockCheckSum = depotItemMapperEx.getStockCheckSumByDepotList(depotList, mId, stockApprovalFlag, beginTime, endTime); + DepotItemVo4Stock stockObj = depotItemMapperEx.getStockByParamWithDepotList(depotList, mId, stockApprovalFlag, beginTime, endTime); BigDecimal stockSum = BigDecimal.ZERO; if(stockObj!=null) { BigDecimal inTotal = stockObj.getInTotal(); @@ -942,13 +946,15 @@ public class DepotItemService { * @param endTime * @return */ - public Map getIntervalMapByParamWithDepotList(List depotList, Long mId, String beginTime, String endTime){ + public Map getIntervalMapByParamWithDepotList(List depotList, Long mId, String beginTime, String endTime) throws Exception { + //获取库存审核开关 + Boolean stockApprovalFlag = systemConfigService.getStockApprovalFlag(); Map intervalMap = new HashMap<>(); BigDecimal inSum = BigDecimal.ZERO; BigDecimal outSum = BigDecimal.ZERO; //盘点复盘后数量的变动 - BigDecimal stockCheckSum = depotItemMapperEx.getStockCheckSumByDepotList(depotList, mId, beginTime, endTime); - DepotItemVo4Stock stockObj = depotItemMapperEx.getStockByParamWithDepotList(depotList, mId, beginTime, endTime); + BigDecimal stockCheckSum = depotItemMapperEx.getStockCheckSumByDepotList(depotList, mId, stockApprovalFlag, beginTime, endTime); + DepotItemVo4Stock stockObj = depotItemMapperEx.getStockByParamWithDepotList(depotList, mId, stockApprovalFlag, beginTime, endTime); if(stockObj!=null) { BigDecimal inTotal = stockObj.getInTotal(); BigDecimal transfInTotal = stockObj.getTransfInTotal(); diff --git a/jshERP-boot/src/main/java/com/jsh/erp/service/systemConfig/SystemConfigService.java b/jshERP-boot/src/main/java/com/jsh/erp/service/systemConfig/SystemConfigService.java index b287286d..a6a8c562 100644 --- a/jshERP-boot/src/main/java/com/jsh/erp/service/systemConfig/SystemConfigService.java +++ b/jshERP-boot/src/main/java/com/jsh/erp/service/systemConfig/SystemConfigService.java @@ -217,6 +217,23 @@ public class SystemConfigService { return amountApprovalFlag; } + /** + * 获取库存审核开关 + * @return + * @throws Exception + */ + public boolean getStockApprovalFlag() throws Exception { + boolean amountApprovalFlag = false; + List list = getSystemConfig(); + if(list.size()>0) { + String flag = list.get(0).getStockApprovalFlag(); + if(("1").equals(flag)) { + amountApprovalFlag = true; + } + } + return amountApprovalFlag; + } + /** * 获取多级审核开关 * @return diff --git a/jshERP-boot/src/main/resources/mapper_xml/DepotItemMapperEx.xml b/jshERP-boot/src/main/resources/mapper_xml/DepotItemMapperEx.xml index 23ea4a86..32498ceb 100644 --- a/jshERP-boot/src/main/resources/mapper_xml/DepotItemMapperEx.xml +++ b/jshERP-boot/src/main/resources/mapper_xml/DepotItemMapperEx.xml @@ -574,6 +574,9 @@ #{item} + + and dh.status = '1' + and dh.oper_time >= #{beginTime} @@ -601,6 +604,9 @@ and ifnull(dh.delete_flag,'0') !='1' and di.material_extend_id=#{meId} and ifnull(di.sku,'') !='' + + and dh.status = '1' + and dh.oper_time >= #{beginTime} @@ -625,6 +631,9 @@ where 1=1 and ifnull(dh.delete_flag,'0') !='1' and di.material_id=#{mId} + + and dh.status = '1' + and dh.oper_time >= #{beginTime} diff --git a/jshERP-boot/src/main/resources/mapper_xml/SystemConfigMapper.xml b/jshERP-boot/src/main/resources/mapper_xml/SystemConfigMapper.xml index 5042fd73..72df8cc2 100644 --- a/jshERP-boot/src/main/resources/mapper_xml/SystemConfigMapper.xml +++ b/jshERP-boot/src/main/resources/mapper_xml/SystemConfigMapper.xml @@ -17,6 +17,7 @@ + @@ -81,7 +82,8 @@ id, company_name, company_contacts, company_address, company_tel, company_fax, company_post_code, sale_agreement, depot_flag, customer_flag, minus_stock_flag, purchase_by_sale_flag, - multi_level_approval_flag, multi_bill_type, amount_approval_flag, tenant_id, delete_flag + multi_level_approval_flag, multi_bill_type, amount_approval_flag, stock_approval_flag, + tenant_id, delete_flag