给系统参数表增加超出关联单据启用标记

This commit is contained in:
季圣华
2023-05-10 23:44:24 +08:00
parent 42354e3273
commit 23791518d8
8 changed files with 141 additions and 18 deletions

View File

@@ -1,11 +1,6 @@
package com.jsh.erp.controller;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.jsh.erp.constants.ExceptionConstants;
import com.jsh.erp.datasource.entities.Depot;
import com.jsh.erp.datasource.entities.SystemConfig;
import com.jsh.erp.exception.BusinessRunTimeException;
import com.jsh.erp.service.depot.DepotService;
import com.jsh.erp.service.systemConfig.SystemConfigService;
import com.jsh.erp.service.user.UserService;
@@ -19,10 +14,12 @@ import io.swagger.annotations.ApiOperation;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.dao.DataAccessException;
import org.springframework.util.AntPathMatcher;
import org.springframework.util.FileCopyUtils;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.multipart.MultipartFile;
import org.springframework.web.multipart.MultipartHttpServletRequest;
import org.springframework.web.servlet.HandlerMapping;

View File

@@ -33,6 +33,8 @@ public class SystemConfig {
private String updateUnitPriceFlag;
private String overLinkBillFlag;
private Long tenantId;
private String deleteFlag;
@@ -165,6 +167,14 @@ public class SystemConfig {
this.updateUnitPriceFlag = updateUnitPriceFlag == null ? null : updateUnitPriceFlag.trim();
}
public String getOverLinkBillFlag() {
return overLinkBillFlag;
}
public void setOverLinkBillFlag(String overLinkBillFlag) {
this.overLinkBillFlag = overLinkBillFlag == null ? null : overLinkBillFlag.trim();
}
public Long getTenantId() {
return tenantId;
}

View File

@@ -1214,6 +1214,76 @@ public class SystemConfigExample {
return (Criteria) this;
}
public Criteria andOverLinkBillFlagIsNull() {
addCriterion("over_link_bill_flag is null");
return (Criteria) this;
}
public Criteria andOverLinkBillFlagIsNotNull() {
addCriterion("over_link_bill_flag is not null");
return (Criteria) this;
}
public Criteria andOverLinkBillFlagEqualTo(String value) {
addCriterion("over_link_bill_flag =", value, "overLinkBillFlag");
return (Criteria) this;
}
public Criteria andOverLinkBillFlagNotEqualTo(String value) {
addCriterion("over_link_bill_flag <>", value, "overLinkBillFlag");
return (Criteria) this;
}
public Criteria andOverLinkBillFlagGreaterThan(String value) {
addCriterion("over_link_bill_flag >", value, "overLinkBillFlag");
return (Criteria) this;
}
public Criteria andOverLinkBillFlagGreaterThanOrEqualTo(String value) {
addCriterion("over_link_bill_flag >=", value, "overLinkBillFlag");
return (Criteria) this;
}
public Criteria andOverLinkBillFlagLessThan(String value) {
addCriterion("over_link_bill_flag <", value, "overLinkBillFlag");
return (Criteria) this;
}
public Criteria andOverLinkBillFlagLessThanOrEqualTo(String value) {
addCriterion("over_link_bill_flag <=", value, "overLinkBillFlag");
return (Criteria) this;
}
public Criteria andOverLinkBillFlagLike(String value) {
addCriterion("over_link_bill_flag like", value, "overLinkBillFlag");
return (Criteria) this;
}
public Criteria andOverLinkBillFlagNotLike(String value) {
addCriterion("over_link_bill_flag not like", value, "overLinkBillFlag");
return (Criteria) this;
}
public Criteria andOverLinkBillFlagIn(List<String> values) {
addCriterion("over_link_bill_flag in", values, "overLinkBillFlag");
return (Criteria) this;
}
public Criteria andOverLinkBillFlagNotIn(List<String> values) {
addCriterion("over_link_bill_flag not in", values, "overLinkBillFlag");
return (Criteria) this;
}
public Criteria andOverLinkBillFlagBetween(String value1, String value2) {
addCriterion("over_link_bill_flag between", value1, value2, "overLinkBillFlag");
return (Criteria) this;
}
public Criteria andOverLinkBillFlagNotBetween(String value1, String value2) {
addCriterion("over_link_bill_flag not between", value1, value2, "overLinkBillFlag");
return (Criteria) this;
}
public Criteria andTenantIdIsNull() {
addCriterion("tenant_id is null");
return (Criteria) this;

View File

@@ -521,8 +521,10 @@ public class DepotItemService {
BigDecimal preNumber = rowObj.getBigDecimal("preNumber");
BigDecimal finishNumber = rowObj.getBigDecimal("finishNumber");
if(depotItem.getOperNumber().add(finishNumber).compareTo(preNumber)>0) {
throw new BusinessRunTimeException(ExceptionConstants.DEPOT_HEAD_NUMBER_NEED_EDIT_FAILED_CODE,
String.format(ExceptionConstants.DEPOT_HEAD_NUMBER_NEED_EDIT_FAILED_MSG, barCode));
if(!systemConfigService.getOverLinkBillFlag()) {
throw new BusinessRunTimeException(ExceptionConstants.DEPOT_HEAD_NUMBER_NEED_EDIT_FAILED_CODE,
String.format(ExceptionConstants.DEPOT_HEAD_NUMBER_NEED_EDIT_FAILED_MSG, barCode));
}
}
} else if("update".equals(actionType)) {
//当前单据的类型
@@ -535,8 +537,10 @@ public class DepotItemService {
//除去此单据之外的已入库|已出库
BigDecimal realFinishNumber = getRealFinishNumber(currentSubType, depotItem.getMaterialExtendId(), depotItem.getLinkId(), preHeaderId, headerId, unitInfo, unit);
if(depotItem.getOperNumber().add(realFinishNumber).compareTo(preNumber)>0) {
throw new BusinessRunTimeException(ExceptionConstants.DEPOT_HEAD_NUMBER_NEED_EDIT_FAILED_CODE,
String.format(ExceptionConstants.DEPOT_HEAD_NUMBER_NEED_EDIT_FAILED_MSG, barCode));
if(!systemConfigService.getOverLinkBillFlag()) {
throw new BusinessRunTimeException(ExceptionConstants.DEPOT_HEAD_NUMBER_NEED_EDIT_FAILED_CODE,
String.format(ExceptionConstants.DEPOT_HEAD_NUMBER_NEED_EDIT_FAILED_MSG, barCode));
}
}
}
}
@@ -679,7 +683,7 @@ public class DepotItemService {
if(materialAndSum.getOperNumber().compareTo(BigDecimal.ZERO) != 0) {
BigDecimal materialSum = materialSumMap.get(materialAndSum.getMaterialExtendId());
if (materialSum != null) {
if (materialSum.compareTo(materialAndSum.getOperNumber()) != 0) {
if (materialSum.compareTo(materialAndSum.getOperNumber()) < 0) {
res = BusinessConstants.BILLS_STATUS_SKIPING;
}
} else {

View File

@@ -217,6 +217,23 @@ public class SystemConfigService {
return updateUnitPriceFlag;
}
/**
* 获取超出关联单据开关
* @return
* @throws Exception
*/
public boolean getOverLinkBillFlag() throws Exception {
boolean overLinkBillFlag = false;
List<SystemConfig> list = getSystemConfig();
if(list.size()>0) {
String flag = list.get(0).getOverLinkBillFlag();
if(("1").equals(flag)) {
overLinkBillFlag = true;
}
}
return overLinkBillFlag;
}
/**
* 获取强审核开关
* @return