diff --git a/jshERP-boot/src/main/java/com/jsh/erp/datasource/mappers/AccountHeadMapperEx.java b/jshERP-boot/src/main/java/com/jsh/erp/datasource/mappers/AccountHeadMapperEx.java index ce5864f9..867895e3 100644 --- a/jshERP-boot/src/main/java/com/jsh/erp/datasource/mappers/AccountHeadMapperEx.java +++ b/jshERP-boot/src/main/java/com/jsh/erp/datasource/mappers/AccountHeadMapperEx.java @@ -23,6 +23,7 @@ public interface AccountHeadMapperEx { @Param("accountId") Long accountId, @Param("status") String status, @Param("remark") String remark, + @Param("ahIdList") List ahIdList, @Param("offset") Integer offset, @Param("rows") Integer rows); @@ -37,7 +38,8 @@ public interface AccountHeadMapperEx { @Param("handsPersonId") Long handsPersonId, @Param("accountId") Long accountId, @Param("status") String status, - @Param("remark") String remark); + @Param("remark") String remark, + @Param("ahIdList") List ahIdList); BigDecimal findAllMoney( @Param("supplierId") Integer supplierId, diff --git a/jshERP-boot/src/main/java/com/jsh/erp/service/accountHead/AccountHeadComponent.java b/jshERP-boot/src/main/java/com/jsh/erp/service/accountHead/AccountHeadComponent.java index 950203d4..b37d6d26 100644 --- a/jshERP-boot/src/main/java/com/jsh/erp/service/accountHead/AccountHeadComponent.java +++ b/jshERP-boot/src/main/java/com/jsh/erp/service/accountHead/AccountHeadComponent.java @@ -42,8 +42,9 @@ public class AccountHeadComponent implements ICommonQuery { Long accountId = StringUtil.parseStrLong(StringUtil.getInfo(search, "accountId")); String status = StringUtil.getInfo(search, "status"); String remark = StringUtil.getInfo(search, "remark"); + String number = StringUtil.getInfo(search, "number"); return accountHeadService.select(type, roleType, billNo, beginTime, endTime, organId, creator, handsPersonId, - accountId, status, remark, QueryUtils.offset(map), QueryUtils.rows(map)); + accountId, status, remark, number, QueryUtils.offset(map), QueryUtils.rows(map)); } @Override @@ -60,8 +61,9 @@ public class AccountHeadComponent implements ICommonQuery { Long accountId = StringUtil.parseStrLong(StringUtil.getInfo(search, "accountId")); String status = StringUtil.getInfo(search, "status"); String remark = StringUtil.getInfo(search, "remark"); + String number = StringUtil.getInfo(search, "number"); return accountHeadService.countAccountHead(type, roleType, billNo, beginTime, endTime, organId, creator, handsPersonId, - accountId, status, remark); + accountId, status, remark, number); } @Override diff --git a/jshERP-boot/src/main/java/com/jsh/erp/service/accountHead/AccountHeadService.java b/jshERP-boot/src/main/java/com/jsh/erp/service/accountHead/AccountHeadService.java index 8e0121cc..642685b8 100644 --- a/jshERP-boot/src/main/java/com/jsh/erp/service/accountHead/AccountHeadService.java +++ b/jshERP-boot/src/main/java/com/jsh/erp/service/accountHead/AccountHeadService.java @@ -10,6 +10,7 @@ import com.jsh.erp.datasource.mappers.AccountItemMapperEx; import com.jsh.erp.exception.BusinessRunTimeException; import com.jsh.erp.exception.JshException; import com.jsh.erp.service.accountItem.AccountItemService; +import com.jsh.erp.service.depotHead.DepotHeadService; import com.jsh.erp.service.log.LogService; import com.jsh.erp.service.orgaUserRel.OrgaUserRelService; import com.jsh.erp.service.supplier.SupplierService; @@ -44,6 +45,8 @@ public class AccountHeadService { @Resource private AccountItemService accountItemService; @Resource + private DepotHeadService depotHeadService; + @Resource private UserService userService; @Resource private SupplierService supplierService; @@ -88,14 +91,15 @@ public class AccountHeadService { public List select(String type, String roleType, String billNo, String beginTime, String endTime, Long organId, Long creator, Long handsPersonId, Long accountId, String status, - String remark, int offset, int rows) throws Exception{ + String remark, String number, int offset, int rows) throws Exception{ List resList = new ArrayList<>(); try{ String [] creatorArray = getCreatorArray(roleType); beginTime = Tools.parseDayToTime(beginTime,BusinessConstants.DAY_FIRST_TIME); endTime = Tools.parseDayToTime(endTime,BusinessConstants.DAY_LAST_TIME); + List ahIdList = accountItemService.getAhIdListByBillNumber(number); List list = accountHeadMapperEx.selectByConditionAccountHead(type, creatorArray, billNo, - beginTime, endTime, organId, creator, handsPersonId, accountId, status, remark, offset, rows); + beginTime, endTime, organId, creator, handsPersonId, accountId, status, remark, ahIdList, offset, rows); if (null != list) { for (AccountHeadVo4ListEx ah : list) { if(ah.getChangeAmount() != null) { @@ -118,14 +122,15 @@ public class AccountHeadService { public Long countAccountHead(String type, String roleType, String billNo, String beginTime, String endTime, Long organId, Long creator, Long handsPersonId, Long accountId, String status, - String remark) throws Exception{ + String remark, String number) throws Exception{ Long result=null; try{ String [] creatorArray = getCreatorArray(roleType); beginTime = Tools.parseDayToTime(beginTime,BusinessConstants.DAY_FIRST_TIME); endTime = Tools.parseDayToTime(endTime,BusinessConstants.DAY_LAST_TIME); + List ahIdList = accountItemService.getAhIdListByBillNumber(number); result = accountHeadMapperEx.countsByAccountHead(type, creatorArray, billNo, - beginTime, endTime, organId, creator, handsPersonId, accountId, status, remark); + beginTime, endTime, organId, creator, handsPersonId, accountId, status, remark, ahIdList); }catch(Exception e){ JshException.readFail(logger, e); } diff --git a/jshERP-boot/src/main/java/com/jsh/erp/service/accountItem/AccountItemService.java b/jshERP-boot/src/main/java/com/jsh/erp/service/accountItem/AccountItemService.java index 3957e629..5a49107c 100644 --- a/jshERP-boot/src/main/java/com/jsh/erp/service/accountItem/AccountItemService.java +++ b/jshERP-boot/src/main/java/com/jsh/erp/service/accountItem/AccountItemService.java @@ -6,6 +6,7 @@ import com.jsh.erp.constants.BusinessConstants; import com.jsh.erp.constants.ExceptionConstants; import com.jsh.erp.datasource.entities.AccountItem; import com.jsh.erp.datasource.entities.AccountItemExample; +import com.jsh.erp.datasource.entities.DepotHead; import com.jsh.erp.datasource.entities.User; import com.jsh.erp.datasource.mappers.AccountItemMapper; import com.jsh.erp.datasource.mappers.AccountItemMapperEx; @@ -26,6 +27,7 @@ import org.springframework.web.context.request.ServletRequestAttributes; import javax.annotation.Resource; import javax.servlet.http.HttpServletRequest; import java.math.BigDecimal; +import java.util.ArrayList; import java.util.Date; import java.util.List; @@ -259,4 +261,29 @@ public class AccountItemService { public BigDecimal getEachAmountByBillId(Long billId) { return accountItemMapperEx.getEachAmountByBillId(billId).abs(); } + + public List getAhIdListByBillNumber(String number) throws Exception { + if(StringUtil.isNotEmpty(number)) { + DepotHead depotHead = depotHeadService.getDepotHead(number); + if(depotHead.getId()!=null) { + List ahIdList = new ArrayList<>(); + AccountItemExample example = new AccountItemExample(); + example.createCriteria().andBillIdEqualTo(depotHead.getId()).andDeleteFlagNotEqualTo(BusinessConstants.DELETE_FLAG_DELETED); + List list = accountItemMapper.selectByExample(example); + if (list != null && list.size() > 0) { + for(AccountItem accountItem: list) { + ahIdList.add(accountItem.getHeaderId()); + } + return ahIdList; + } else { + return null; + } + } else { + return null; + } + } else { + return null; + } + + } } diff --git a/jshERP-boot/src/main/resources/mapper_xml/AccountHeadMapperEx.xml b/jshERP-boot/src/main/resources/mapper_xml/AccountHeadMapperEx.xml index b0c528b3..46c7e33b 100644 --- a/jshERP-boot/src/main/resources/mapper_xml/AccountHeadMapperEx.xml +++ b/jshERP-boot/src/main/resources/mapper_xml/AccountHeadMapperEx.xml @@ -56,6 +56,12 @@ and ah.remark like #{bindRemark} + + and ah.id in + + #{item} + + and ifnull(ah.delete_flag,'0') !='1' order by ah.id desc @@ -108,6 +114,12 @@ and remark like #{bindRemark} + + and id in + + #{item} + + and ifnull(delete_flag,'0') !='1'