diff --git a/jshERP-boot/src/main/java/com/jsh/erp/controller/DepotHeadController.java b/jshERP-boot/src/main/java/com/jsh/erp/controller/DepotHeadController.java index d9b8e647..cba8a81b 100644 --- a/jshERP-boot/src/main/java/com/jsh/erp/controller/DepotHeadController.java +++ b/jshERP-boot/src/main/java/com/jsh/erp/controller/DepotHeadController.java @@ -573,4 +573,39 @@ public class DepotHeadController { e.printStackTrace(); } } + + /** + * 查询等待入库或出库的单据 + * @param search + * @param request + * @return + * @throws Exception + */ + @GetMapping(value = "/waitBillList") + @ApiOperation(value = "查询等待入库或出库的单据") + public String waitBillList(@RequestParam(value = Constants.SEARCH, required = false) String search, + @RequestParam("currentPage") Integer currentPage, + @RequestParam("pageSize") Integer pageSize, + HttpServletRequest request)throws Exception { + Map objectMap = new HashMap<>(); + String number = StringUtil.getInfo(search, "number"); + String materialParam = StringUtil.getInfo(search, "materialParam"); + String type = StringUtil.getInfo(search, "type"); + String subType = StringUtil.getInfo(search, "subType"); + String beginTime = StringUtil.getInfo(search, "beginTime"); + String endTime = StringUtil.getInfo(search, "endTime"); + String status = StringUtil.getInfo(search, "status"); + List list = depotHeadService.waitBillList(number, materialParam, type, subType, beginTime, endTime, + status, (currentPage-1)*pageSize, pageSize); + long total = depotHeadService.waitBillCount(number, materialParam, type, subType, beginTime, endTime, status); + if (list != null) { + objectMap.put("rows", list); + objectMap.put("total", total); + return returnJson(objectMap, ErpInfo.OK.name, ErpInfo.OK.code); + } else { + objectMap.put("rows", new ArrayList<>()); + objectMap.put("total", 0); + return returnJson(objectMap, "查找不到数据", ErpInfo.OK.code); + } + } } 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 2a7547ab..885619d2 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 @@ -243,4 +243,28 @@ public interface DepotHeadMapperEx { int getSerialNumberBySell( @Param("number") String number); + + List waitBillList( + @Param("type") String type, + @Param("subTypeArray") String[] subTypeArray, + @Param("creatorArray") String[] creatorArray, + @Param("statusArray") String[] statusArray, + @Param("number") String number, + @Param("beginTime") String beginTime, + @Param("endTime") String endTime, + @Param("materialParam") String materialParam, + @Param("depotArray") String[] depotArray, + @Param("offset") Integer offset, + @Param("rows") Integer rows); + + Long waitBillCount( + @Param("type") String type, + @Param("subTypeArray") String[] subTypeArray, + @Param("creatorArray") String[] creatorArray, + @Param("statusArray") String[] statusArray, + @Param("number") String number, + @Param("beginTime") String beginTime, + @Param("endTime") String endTime, + @Param("materialParam") String materialParam, + @Param("depotArray") String[] depotArray); } 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 37b00d94..f9bcc0d1 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 @@ -1484,4 +1484,70 @@ public class DepotHeadService { } return ""; } + + public List waitBillList(String number, String materialParam, String type, String subType, + String beginTime, String endTime, String status, int offset, int rows) { + List resList = new ArrayList<>(); + try{ + String [] depotArray = getDepotArray("其它"); + String [] creatorArray = getCreatorArray(); + String [] subTypeArray = StringUtil.isNotEmpty(subType) ? subType.split(",") : null; + String [] statusArray = StringUtil.isNotEmpty(status) ? status.split(",") : null; + Map accountMap = accountService.getAccountMap(); + beginTime = Tools.parseDayToTime(beginTime,BusinessConstants.DAY_FIRST_TIME); + endTime = Tools.parseDayToTime(endTime,BusinessConstants.DAY_LAST_TIME); + List list = depotHeadMapperEx.waitBillList(type, subTypeArray, creatorArray, statusArray, number, beginTime, endTime, + materialParam, depotArray, offset, rows); + if (null != list) { + List idList = new ArrayList<>(); + List numberList = new ArrayList<>(); + for (DepotHeadVo4List dh : list) { + idList.add(dh.getId()); + numberList.add(dh.getNumber()); + } + //通过批量查询去构造map + Map materialsListMap = findMaterialsListMapByHeaderIdList(idList); + Map materialCountListMap = getMaterialCountListMapByHeaderIdList(idList); + for (DepotHeadVo4List dh : list) { + if(accountMap!=null && StringUtil.isNotEmpty(dh.getAccountIdList()) && StringUtil.isNotEmpty(dh.getAccountMoneyList())) { + String accountStr = accountService.getAccountStrByIdAndMoney(accountMap, dh.getAccountIdList(), dh.getAccountMoneyList()); + dh.setAccountName(accountStr); + } + if(dh.getOperTime() != null) { + dh.setOperTimeStr(getCenternTime(dh.getOperTime())); + } + //商品信息简述 + if(materialsListMap!=null) { + dh.setMaterialsList(materialsListMap.get(dh.getId())); + } + //商品总数量 + if(materialCountListMap!=null) { + dh.setMaterialCount(materialCountListMap.get(dh.getId())); + } + resList.add(dh); + } + } + }catch(Exception e){ + JshException.readFail(logger, e); + } + return resList; + } + + public Long waitBillCount(String number, String materialParam, String type, String subType, + String beginTime, String endTime, String status) { + Long result=null; + try{ + String [] depotArray = getDepotArray("其它"); + String [] creatorArray = getCreatorArray(); + String [] subTypeArray = StringUtil.isNotEmpty(subType) ? subType.split(",") : null; + String [] statusArray = StringUtil.isNotEmpty(status) ? status.split(",") : null; + beginTime = Tools.parseDayToTime(beginTime,BusinessConstants.DAY_FIRST_TIME); + endTime = Tools.parseDayToTime(endTime,BusinessConstants.DAY_LAST_TIME); + result=depotHeadMapperEx.waitBillCount(type, subTypeArray, creatorArray, statusArray, number, beginTime, endTime, + materialParam, depotArray); + }catch(Exception e){ + JshException.readFail(logger, e); + } + return result; + } } diff --git a/jshERP-boot/src/main/resources/mapper_xml/DepotHeadMapperEx.xml b/jshERP-boot/src/main/resources/mapper_xml/DepotHeadMapperEx.xml index 8ee6f979..e5561a8a 100644 --- a/jshERP-boot/src/main/resources/mapper_xml/DepotHeadMapperEx.xml +++ b/jshERP-boot/src/main/resources/mapper_xml/DepotHeadMapperEx.xml @@ -1097,4 +1097,130 @@ where dh.number = #{number} and (s.out_bill_no is not null or s.out_bill_no!='') + + + + \ No newline at end of file