diff --git a/jshERP-boot/src/main/java/com/jsh/erp/datasource/mappers/DepotHeadMapperEx.java b/jshERP-boot/src/main/java/com/jsh/erp/datasource/mappers/DepotHeadMapperEx.java index bf4bda74..06c9c080 100644 --- a/jshERP-boot/src/main/java/com/jsh/erp/datasource/mappers/DepotHeadMapperEx.java +++ b/jshERP-boot/src/main/java/com/jsh/erp/datasource/mappers/DepotHeadMapperEx.java @@ -23,6 +23,7 @@ public interface DepotHeadMapperEx { @Param("subType") String subType, @Param("creatorArray") String[] creatorArray, @Param("statusArray") String[] statusArray, + @Param("purchaseStatusArray") String[] purchaseStatusArray, @Param("number") String number, @Param("linkNumber") String linkNumber, @Param("beginTime") String beginTime, @@ -42,6 +43,7 @@ public interface DepotHeadMapperEx { @Param("subType") String subType, @Param("creatorArray") String[] creatorArray, @Param("statusArray") String[] statusArray, + @Param("purchaseStatusArray") String[] purchaseStatusArray, @Param("number") String number, @Param("linkNumber") String linkNumber, @Param("beginTime") String beginTime, diff --git a/jshERP-boot/src/main/java/com/jsh/erp/service/depotHead/DepotHeadComponent.java b/jshERP-boot/src/main/java/com/jsh/erp/service/depotHead/DepotHeadComponent.java index b8735253..7cfb4ccc 100644 --- a/jshERP-boot/src/main/java/com/jsh/erp/service/depotHead/DepotHeadComponent.java +++ b/jshERP-boot/src/main/java/com/jsh/erp/service/depotHead/DepotHeadComponent.java @@ -35,6 +35,7 @@ public class DepotHeadComponent implements ICommonQuery { String subType = StringUtil.getInfo(search, "subType"); String roleType = StringUtil.getInfo(search, "roleType"); String status = StringUtil.getInfo(search, "status"); + String purchaseStatus = StringUtil.getInfo(search, "purchaseStatus"); String number = StringUtil.getInfo(search, "number"); String linkNumber = StringUtil.getInfo(search, "linkNumber"); String beginTime = StringUtil.getInfo(search, "beginTime"); @@ -45,7 +46,7 @@ public class DepotHeadComponent implements ICommonQuery { Long depotId = StringUtil.parseStrLong(StringUtil.getInfo(search, "depotId")); Long accountId = StringUtil.parseStrLong(StringUtil.getInfo(search, "accountId")); String remark = StringUtil.getInfo(search, "remark"); - return depotHeadService.select(type, subType, roleType, status, number, linkNumber, beginTime, endTime, materialParam, + return depotHeadService.select(type, subType, roleType, status, purchaseStatus, number, linkNumber, beginTime, endTime, materialParam, organId, creator, depotId, accountId, remark, QueryUtils.offset(map), QueryUtils.rows(map)); } @@ -56,6 +57,7 @@ public class DepotHeadComponent implements ICommonQuery { String subType = StringUtil.getInfo(search, "subType"); String roleType = StringUtil.getInfo(search, "roleType"); String status = StringUtil.getInfo(search, "status"); + String purchaseStatus = StringUtil.getInfo(search, "purchaseStatus"); String number = StringUtil.getInfo(search, "number"); String linkNumber = StringUtil.getInfo(search, "linkNumber"); String beginTime = StringUtil.getInfo(search, "beginTime"); @@ -66,7 +68,7 @@ public class DepotHeadComponent implements ICommonQuery { Long depotId = StringUtil.parseStrLong(StringUtil.getInfo(search, "depotId")); Long accountId = StringUtil.parseStrLong(StringUtil.getInfo(search, "accountId")); String remark = StringUtil.getInfo(search, "remark"); - return depotHeadService.countDepotHead(type, subType, roleType, status, number, linkNumber, beginTime, endTime, materialParam, + return depotHeadService.countDepotHead(type, subType, roleType, status, purchaseStatus, number, linkNumber, beginTime, endTime, materialParam, organId, creator, depotId, accountId, remark); } 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 de830e20..2caedc07 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 @@ -98,7 +98,7 @@ public class DepotHeadService { return list; } - public List select(String type, String subType, String roleType, String status, String number, String linkNumber, + public List select(String type, String subType, String roleType, String status, String purchaseStatus, String number, String linkNumber, String beginTime, String endTime, String materialParam, Long organId, Long creator, Long depotId, Long accountId, String remark, int offset, int rows) throws Exception { List resList = new ArrayList<>(); List list=new ArrayList<>(); @@ -106,11 +106,12 @@ public class DepotHeadService { String [] depotArray = getDepotArray(subType); String [] creatorArray = getCreatorArray(roleType); String [] statusArray = StringUtil.isNotEmpty(status) ? status.split(",") : null; + String [] purchaseStatusArray = StringUtil.isNotEmpty(purchaseStatus) ? purchaseStatus.split(",") : null; Map personMap = personService.getPersonMap(); Map accountMap = accountService.getAccountMap(); beginTime = Tools.parseDayToTime(beginTime,BusinessConstants.DAY_FIRST_TIME); endTime = Tools.parseDayToTime(endTime,BusinessConstants.DAY_LAST_TIME); - list=depotHeadMapperEx.selectByConditionDepotHead(type, subType, creatorArray, statusArray, number, linkNumber, beginTime, endTime, + list=depotHeadMapperEx.selectByConditionDepotHead(type, subType, creatorArray, statusArray, purchaseStatusArray, number, linkNumber, beginTime, endTime, materialParam, organId, creator, depotId, depotArray, accountId, remark, offset, rows); if (null != list) { for (DepotHeadVo4List dh : list) { @@ -152,16 +153,17 @@ public class DepotHeadService { return resList; } - public Long countDepotHead(String type, String subType, String roleType, String status, String number, String linkNumber, + public Long countDepotHead(String type, String subType, String roleType, String status, String purchaseStatus, String number, String linkNumber, String beginTime, String endTime, String materialParam, Long organId, Long creator, Long depotId, Long accountId, String remark) throws Exception{ Long result=null; try{ String [] depotArray = getDepotArray(subType); String [] creatorArray = getCreatorArray(roleType); String [] statusArray = StringUtil.isNotEmpty(status) ? status.split(",") : null; + String [] purchaseStatusArray = StringUtil.isNotEmpty(purchaseStatus) ? purchaseStatus.split(",") : null; beginTime = Tools.parseDayToTime(beginTime,BusinessConstants.DAY_FIRST_TIME); endTime = Tools.parseDayToTime(endTime,BusinessConstants.DAY_LAST_TIME); - result=depotHeadMapperEx.countsByDepotHead(type, subType, creatorArray, statusArray, number, linkNumber, beginTime, endTime, + result=depotHeadMapperEx.countsByDepotHead(type, subType, creatorArray, statusArray, purchaseStatusArray, number, linkNumber, beginTime, endTime, materialParam, organId, creator, depotId, depotArray, accountId, remark); }catch(Exception e){ JshException.readFail(logger, e); @@ -750,10 +752,13 @@ public class DepotHeadService { if(depotHead.getDeposit()!=null && StringUtil.isNotEmpty(depotHead.getLinkNumber())) { BigDecimal finishDeposit = depotHeadMapperEx.getFinishDepositByNumberExceptCurrent(depotHead.getLinkNumber(), depotHead.getNumber()); //订单中的订金金额 - BigDecimal preDeposit = getDepotHead(depotHead.getLinkNumber()).getChangeAmount().abs(); - if(depotHead.getDeposit().add(finishDeposit).compareTo(preDeposit)>0) { - throw new BusinessRunTimeException(ExceptionConstants.DEPOT_HEAD_DEPOSIT_OVER_PRE_CODE, - String.format(ExceptionConstants.DEPOT_HEAD_DEPOSIT_OVER_PRE_MSG)); + BigDecimal changeAmount = getDepotHead(depotHead.getLinkNumber()).getChangeAmount(); + if(changeAmount!=null) { + BigDecimal preDeposit = changeAmount.abs(); + if(depotHead.getDeposit().add(finishDeposit).compareTo(preDeposit)>0) { + throw new BusinessRunTimeException(ExceptionConstants.DEPOT_HEAD_DEPOSIT_OVER_PRE_CODE, + String.format(ExceptionConstants.DEPOT_HEAD_DEPOSIT_OVER_PRE_MSG)); + } } } try{ @@ -833,10 +838,13 @@ public class DepotHeadService { if(depotHead.getDeposit()!=null && StringUtil.isNotEmpty(depotHead.getLinkNumber())) { BigDecimal finishDeposit = depotHeadMapperEx.getFinishDepositByNumberExceptCurrent(depotHead.getLinkNumber(), depotHead.getNumber()); //订单中的订金金额 - BigDecimal preDeposit = getDepotHead(depotHead.getLinkNumber()).getChangeAmount().abs(); - if(depotHead.getDeposit().add(finishDeposit).compareTo(preDeposit)>0) { - throw new BusinessRunTimeException(ExceptionConstants.DEPOT_HEAD_DEPOSIT_OVER_PRE_CODE, - String.format(ExceptionConstants.DEPOT_HEAD_DEPOSIT_OVER_PRE_MSG)); + BigDecimal changeAmount = getDepotHead(depotHead.getLinkNumber()).getChangeAmount(); + if(changeAmount!=null) { + BigDecimal preDeposit = changeAmount.abs(); + if(depotHead.getDeposit().add(finishDeposit).compareTo(preDeposit)>0) { + throw new BusinessRunTimeException(ExceptionConstants.DEPOT_HEAD_DEPOSIT_OVER_PRE_CODE, + String.format(ExceptionConstants.DEPOT_HEAD_DEPOSIT_OVER_PRE_MSG)); + } } } try{ diff --git a/jshERP-boot/src/main/resources/mapper_xml/DepotHeadMapperEx.xml b/jshERP-boot/src/main/resources/mapper_xml/DepotHeadMapperEx.xml index e5a4b92d..24ba88ba 100644 --- a/jshERP-boot/src/main/resources/mapper_xml/DepotHeadMapperEx.xml +++ b/jshERP-boot/src/main/resources/mapper_xml/DepotHeadMapperEx.xml @@ -72,6 +72,13 @@ ) + + and dh.purchase_status in ( + + #{purchaseStatus} + + ) + and dh.number like #{bindNumber} @@ -148,6 +155,13 @@ ) + + and dh.purchase_status in ( + + #{purchaseStatus} + + ) + and dh.number like #{bindNumber}