package com.jsh.erp.controller; import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; import com.jsh.erp.constants.BusinessConstants; import com.jsh.erp.constants.ExceptionConstants; import com.jsh.erp.datasource.entities.DepotHead; import com.jsh.erp.datasource.entities.DepotHeadVo4Body; import com.jsh.erp.datasource.vo.DepotHeadVo4InDetail; import com.jsh.erp.datasource.vo.DepotHeadVo4InOutMCount; import com.jsh.erp.datasource.vo.DepotHeadVo4List; import com.jsh.erp.datasource.vo.DepotHeadVo4StatementAccount; import com.jsh.erp.service.depot.DepotService; import com.jsh.erp.service.depotHead.DepotHeadService; import com.jsh.erp.service.material.MaterialService; import com.jsh.erp.service.systemConfig.SystemConfigService; import com.jsh.erp.service.user.UserService; import com.jsh.erp.utils.*; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.web.bind.annotation.*; import javax.annotation.Resource; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import java.math.BigDecimal; import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; import static com.jsh.erp.utils.ResponseJsonUtil.returnJson; /** * @author ji-sheng-hua 752*718*920 */ @RestController @RequestMapping(value = "/depotHead") @Api(tags = {"单据管理"}) public class DepotHeadController { private Logger logger = LoggerFactory.getLogger(DepotHeadController.class); @Resource private DepotHeadService depotHeadService; @Resource private DepotService depotService; @Resource private MaterialService materialService; @Resource private SystemConfigService systemConfigService; @Resource private UserService userService; /** * 批量设置状态-审核或者反审核 * @param jsonObject * @param request * @return */ @PostMapping(value = "/batchSetStatus") @ApiOperation(value = "批量设置状态-审核或者反审核") public String batchSetStatus(@RequestBody JSONObject jsonObject, HttpServletRequest request) throws Exception{ Map objectMap = new HashMap<>(); String status = jsonObject.getString("status"); String ids = jsonObject.getString("ids"); int res = depotHeadService.batchSetStatus(status, ids); if(res > 0) { return returnJson(objectMap, ErpInfo.OK.name, ErpInfo.OK.code); } else { return returnJson(objectMap, ErpInfo.ERROR.name, ErpInfo.ERROR.code); } } /** * 入库出库明细接口 * @param currentPage * @param pageSize * @param oId * @param number * @param materialParam * @param depotId * @param beginTime * @param endTime * @param type * @param request * @return */ @GetMapping(value = "/findInOutDetail") @ApiOperation(value = "入库出库明细接口") public BaseResponseInfo findInOutDetail(@RequestParam("currentPage") Integer currentPage, @RequestParam("pageSize") Integer pageSize, @RequestParam(value = "organId", required = false) Integer oId, @RequestParam("number") String number, @RequestParam("materialParam") String materialParam, @RequestParam(value = "depotId", required = false) Long depotId, @RequestParam("beginTime") String beginTime, @RequestParam("endTime") String endTime, @RequestParam("type") String type, @RequestParam(value = "creator", required = false) Long creator, @RequestParam(value = "categoryId", required = false) Long categoryId, @RequestParam(value = "organizationId", required = false) Long organizationId, @RequestParam("remark") String remark, @RequestParam(value = "column", required = false, defaultValue = "createTime") String column, @RequestParam(value = "order", required = false, defaultValue = "desc") String order, HttpServletRequest request)throws Exception { BaseResponseInfo res = new BaseResponseInfo(); Map map = new HashMap(); try { List depotList = new ArrayList<>(); if(depotId != null) { depotList.add(depotId); } else { //未选择仓库时默认为当前用户有权限的仓库 JSONArray depotArr = depotService.findDepotByCurrentUser(); for(Object obj: depotArr) { JSONObject object = JSONObject.parseObject(obj.toString()); depotList.add(object.getLong("id")); } } List resList = new ArrayList(); String [] creatorArray = depotHeadService.getCreatorArray(); if(creatorArray == null && organizationId != null) { creatorArray = depotHeadService.getCreatorArrayByOrg(organizationId); } String subType = "出库".equals(type)? "销售" : ""; String [] organArray = depotHeadService.getOrganArray(subType, ""); List categoryList = new ArrayList<>(); if(categoryId != null){ categoryList = materialService.getListByParentId(categoryId); } beginTime = Tools.parseDayToTime(beginTime, BusinessConstants.DAY_FIRST_TIME); endTime = Tools.parseDayToTime(endTime,BusinessConstants.DAY_LAST_TIME); Boolean forceFlag = systemConfigService.getForceApprovalFlag(); Boolean inOutManageFlag = systemConfigService.getInOutManageFlag(); List list = depotHeadService.findInOutDetail(beginTime, endTime, type, creatorArray, organArray, categoryList, forceFlag, inOutManageFlag, StringUtil.toNull(materialParam), depotList, oId, StringUtil.toNull(number), creator, remark, StringUtil.safeSqlParse(column), StringUtil.safeSqlParse(order), (currentPage-1)*pageSize, pageSize); int total = depotHeadService.findInOutDetailCount(beginTime, endTime, type, creatorArray, organArray, categoryList, forceFlag, inOutManageFlag, StringUtil.toNull(materialParam), depotList, oId, StringUtil.toNull(number), creator, remark); map.put("total", total); //存放数据json数组 if (null != list) { resList.addAll(list); } map.put("rows", resList); DepotHeadVo4InDetail statistic = depotHeadService.findInOutDetailStatistic(beginTime, endTime, type, creatorArray, organArray, categoryList, forceFlag, inOutManageFlag, StringUtil.toNull(materialParam), depotList, oId, StringUtil.toNull(number), creator, remark); map.put("operNumberTotal", statistic.getOperNumber()); map.put("allPriceTotal", statistic.getAllPrice()); res.code = 200; res.data = map; } catch(Exception e){ logger.error(e.getMessage(), e); res.code = 500; res.data = "获取数据失败"; } return res; } /** * 入库出库汇总接口 * @param currentPage * @param pageSize * @param oId * @param materialParam * @param depotId * @param beginTime * @param endTime * @param type * @param request * @return */ @GetMapping(value = "/findInOutMaterialCount") @ApiOperation(value = "入库出库汇总接口") public BaseResponseInfo findInOutMaterialCount(@RequestParam("currentPage") Integer currentPage, @RequestParam("pageSize") Integer pageSize, @RequestParam(value = "organId", required = false) Integer oId, @RequestParam("materialParam") String materialParam, @RequestParam(value = "depotId", required = false) Long depotId, @RequestParam(value = "categoryId", required = false) Long categoryId, @RequestParam(value = "organizationId", required = false) Long organizationId, @RequestParam("beginTime") String beginTime, @RequestParam("endTime") String endTime, @RequestParam("type") String type, @RequestParam(value = "column", required = false, defaultValue = "createTime") String column, @RequestParam(value = "order", required = false, defaultValue = "desc") String order, HttpServletRequest request)throws Exception { BaseResponseInfo res = new BaseResponseInfo(); Map map = new HashMap(); try { List depotList = new ArrayList<>(); if(depotId != null) { depotList.add(depotId); } else { //未选择仓库时默认为当前用户有权限的仓库 JSONArray depotArr = depotService.findDepotByCurrentUser(); for(Object obj: depotArr) { JSONObject object = JSONObject.parseObject(obj.toString()); depotList.add(object.getLong("id")); } } List categoryList = new ArrayList<>(); if(categoryId != null){ categoryList = materialService.getListByParentId(categoryId); } beginTime = Tools.parseDayToTime(beginTime,BusinessConstants.DAY_FIRST_TIME); endTime = Tools.parseDayToTime(endTime,BusinessConstants.DAY_LAST_TIME); Boolean forceFlag = systemConfigService.getForceApprovalFlag(); Boolean inOutManageFlag = systemConfigService.getInOutManageFlag(); List list = depotHeadService.findInOutMaterialCount(beginTime, endTime, type, categoryList, forceFlag, inOutManageFlag, StringUtil.toNull(materialParam), depotList, organizationId, oId, StringUtil.safeSqlParse(column), StringUtil.safeSqlParse(order), (currentPage-1)*pageSize, pageSize); int total = depotHeadService.findInOutMaterialCountTotal(beginTime, endTime, type, categoryList, forceFlag, inOutManageFlag, StringUtil.toNull(materialParam), depotList, organizationId, oId); map.put("total", total); map.put("rows", list); DepotHeadVo4InOutMCount statistic = depotHeadService.findInOutMaterialCountStatistic(beginTime, endTime, type, categoryList, forceFlag, inOutManageFlag, StringUtil.toNull(materialParam), depotList, organizationId, oId); map.put("numSumTotal", statistic.getNumSum()); map.put("priceSumTotal", statistic.getPriceSum()); res.code = 200; res.data = map; } catch(Exception e){ logger.error(e.getMessage(), e); res.code = 500; res.data = "获取数据失败"; } return res; } /** * 调拨明细统计 * @param currentPage * @param pageSize * @param number * @param materialParam * @param depotIdF 调出仓库 * @param depotId 调入仓库 * @param beginTime * @param endTime * @param subType * @param request * @return */ @GetMapping(value = "/findAllocationDetail") @ApiOperation(value = "调拨明细统计") public BaseResponseInfo findallocationDetail(@RequestParam("currentPage") Integer currentPage, @RequestParam("pageSize") Integer pageSize, @RequestParam("number") String number, @RequestParam("materialParam") String materialParam, @RequestParam(value = "depotId", required = false) Long depotId, @RequestParam(value = "depotIdF", required = false) Long depotIdF, @RequestParam(value = "categoryId", required = false) Long categoryId, @RequestParam(value = "organizationId", required = false) Long organizationId, @RequestParam("beginTime") String beginTime, @RequestParam("endTime") String endTime, @RequestParam("subType") String subType, @RequestParam("remark") String remark, @RequestParam(value = "column", required = false, defaultValue = "createTime") String column, @RequestParam(value = "order", required = false, defaultValue = "desc") String order, HttpServletRequest request)throws Exception { BaseResponseInfo res = new BaseResponseInfo(); Map map = new HashMap(); try { List depotList = new ArrayList<>(); List depotFList = new ArrayList<>(); if(depotId != null) { depotList.add(depotId); } else { //未选择仓库时默认为当前用户有权限的仓库 JSONArray depotArr = depotService.findDepotByCurrentUser(); for(Object obj: depotArr) { JSONObject object = JSONObject.parseObject(obj.toString()); depotList.add(object.getLong("id")); } } if(depotIdF != null) { depotFList.add(depotIdF); } else { //未选择仓库时默认为当前用户有权限的仓库 JSONArray depotArr = depotService.findDepotByCurrentUser(); for(Object obj: depotArr) { JSONObject object = JSONObject.parseObject(obj.toString()); depotFList.add(object.getLong("id")); } } String [] creatorArray = depotHeadService.getCreatorArray(); if(creatorArray == null && organizationId != null) { creatorArray = depotHeadService.getCreatorArrayByOrg(organizationId); } List categoryList = new ArrayList<>(); if(categoryId != null){ categoryList = materialService.getListByParentId(categoryId); } beginTime = Tools.parseDayToTime(beginTime, BusinessConstants.DAY_FIRST_TIME); endTime = Tools.parseDayToTime(endTime,BusinessConstants.DAY_LAST_TIME); Boolean forceFlag = systemConfigService.getForceApprovalFlag(); List list = depotHeadService.findAllocationDetail(beginTime, endTime, subType, StringUtil.toNull(number), creatorArray, categoryList, forceFlag, StringUtil.toNull(materialParam), depotList, depotFList, remark, StringUtil.safeSqlParse(column), StringUtil.safeSqlParse(order), (currentPage-1)*pageSize, pageSize); int total = depotHeadService.findAllocationDetailCount(beginTime, endTime, subType, StringUtil.toNull(number), creatorArray, categoryList, forceFlag, StringUtil.toNull(materialParam), depotList, depotFList, remark); map.put("rows", list); map.put("total", total); DepotHeadVo4InDetail statistic = depotHeadService.findAllocationStatistic(beginTime, endTime, subType, StringUtil.toNull(number), creatorArray, categoryList, forceFlag, StringUtil.toNull(materialParam), depotList, depotFList, remark); map.put("operNumberTotal", statistic.getOperNumber()); map.put("allPriceTotal", statistic.getAllPrice()); res.code = 200; res.data = map; } catch(Exception e){ logger.error(e.getMessage(), e); res.code = 500; res.data = "获取数据失败"; } return res; } /** * 对账单接口 * @param currentPage * @param pageSize * @param beginTime * @param endTime * @param organId * @param hasDebt 1-有欠款 0-无欠款 * @param supplierType * @param request * @return */ @GetMapping(value = "/getStatementAccount") @ApiOperation(value = "对账单接口") public BaseResponseInfo getStatementAccount(@RequestParam("currentPage") Integer currentPage, @RequestParam("pageSize") Integer pageSize, @RequestParam("beginTime") String beginTime, @RequestParam("endTime") String endTime, @RequestParam(value = "organId", required = false) Integer organId, @RequestParam(value = "hasDebt", required = false) Integer hasDebt, @RequestParam("supplierType") String supplierType, HttpServletRequest request) throws Exception{ BaseResponseInfo res = new BaseResponseInfo(); Map map = new HashMap(); try { String type = ""; String subType = ""; String typeBack = ""; String subTypeBack = ""; String billType = ""; if (("供应商").equals(supplierType)) { type = "入库"; subType = "采购"; typeBack = "出库"; subTypeBack = "采购退货"; billType = "付款"; } else if (("客户").equals(supplierType)) { type = "出库"; subType = "销售"; typeBack = "入库"; subTypeBack = "销售退货"; billType = "收款"; } String [] organArray = depotHeadService.getOrganArray(subType, ""); beginTime = Tools.parseDayToTime(beginTime,BusinessConstants.DAY_FIRST_TIME); endTime = Tools.parseDayToTime(endTime,BusinessConstants.DAY_LAST_TIME); List list = depotHeadService.getStatementAccount(beginTime, endTime, organId, organArray, hasDebt, supplierType, type, subType,typeBack, subTypeBack, billType, (currentPage-1)*pageSize, pageSize); int total = depotHeadService.getStatementAccountCount(beginTime, endTime, organId, organArray, hasDebt, supplierType, type, subType,typeBack, subTypeBack, billType); for(DepotHeadVo4StatementAccount item: list) { //期初 = 起始期初金额+上期欠款金额-上期退货的欠款金额-上期收付款 BigDecimal preNeed = item.getBeginNeed().add(item.getPreDebtMoney()).subtract(item.getPreReturnDebtMoney()).subtract(item.getPreBackMoney()); item.setPreNeed(preNeed); //实际欠款 = 本期欠款-本期退货的欠款金额 BigDecimal realDebtMoney = item.getDebtMoney().subtract(item.getReturnDebtMoney()); item.setDebtMoney(realDebtMoney); //期末 = 期初+实际欠款-本期收款 BigDecimal allNeedGet = preNeed.add(realDebtMoney).subtract(item.getBackMoney()); item.setAllNeed(allNeedGet); } map.put("rows", list); map.put("total", total); List totalPayList = depotHeadService.getStatementAccountTotalPay(beginTime, endTime, organId, organArray, hasDebt, supplierType, type, subType, typeBack, subTypeBack, billType); if(totalPayList.size()>0) { DepotHeadVo4StatementAccount totalPayItem = totalPayList.get(0); BigDecimal firstMoney = BigDecimal.ZERO; BigDecimal lastMoney = BigDecimal.ZERO; if(totalPayItem!=null) { //期初 = 起始期初金额+上期欠款金额-上期退货的欠款金额-上期收付款 firstMoney = totalPayItem.getBeginNeed().add(totalPayItem.getPreDebtMoney()).subtract(totalPayItem.getPreReturnDebtMoney()).subtract(totalPayItem.getPreBackMoney()); //期末 = 期初+本期欠款-本期退货的欠款金额-本期收款 lastMoney = firstMoney.add(totalPayItem.getDebtMoney()).subtract(totalPayItem.getReturnDebtMoney()).subtract(totalPayItem.getBackMoney()); } map.put("firstMoney", firstMoney); //期初 map.put("lastMoney", lastMoney); //期末 } res.code = 200; res.data = map; } catch(Exception e){ logger.error(e.getMessage(), e); res.code = 500; res.data = "获取数据失败"; } return res; } /** * 根据编号查询单据信息 * @param number * @param request * @return */ @GetMapping(value = "/getDetailByNumber") @ApiOperation(value = "根据编号查询单据信息") public BaseResponseInfo getDetailByNumber(@RequestParam("number") String number, HttpServletRequest request)throws Exception { BaseResponseInfo res = new BaseResponseInfo(); DepotHeadVo4List dhl = new DepotHeadVo4List(); try { List list = depotHeadService.getDetailByNumber(number, request); if(list.size()>0) { dhl = list.get(0); } res.code = 200; res.data = dhl; } catch(Exception e){ logger.error(e.getMessage(), e); res.code = 500; res.data = "获取数据失败"; } return res; } /** * 根据原单号查询关联的单据列表 * @param number * @param request * @return */ @GetMapping(value = "/getBillListByLinkNumber") @ApiOperation(value = "根据原单号查询关联的单据列表") public BaseResponseInfo getBillListByLinkNumber(@RequestParam("number") String number, HttpServletRequest request)throws Exception { BaseResponseInfo res = new BaseResponseInfo(); DepotHead dh = new DepotHead(); try { List list = depotHeadService.getBillListByLinkNumber(number); res.code = 200; res.data = list; } catch(Exception e){ logger.error(e.getMessage(), e); res.code = 500; res.data = "获取数据失败"; } return res; } /** * 新增单据主表及单据子表信息 * @param body * @param request * @return * @throws Exception */ @PostMapping(value = "/addDepotHeadAndDetail") @ApiOperation(value = "新增单据主表及单据子表信息") public Object addDepotHeadAndDetail(@RequestBody DepotHeadVo4Body body, HttpServletRequest request) throws Exception{ JSONObject result = ExceptionConstants.standardSuccess(); String beanJson = body.getInfo(); String rows = body.getRows(); depotHeadService.addDepotHeadAndDetail(beanJson, rows, request); return result; } /** * 更新单据主表及单据子表信息 * @param body * @param request * @return * @throws Exception */ @PutMapping(value = "/updateDepotHeadAndDetail") @ApiOperation(value = "更新单据主表及单据子表信息") public Object updateDepotHeadAndDetail(@RequestBody DepotHeadVo4Body body, HttpServletRequest request) throws Exception{ JSONObject result = ExceptionConstants.standardSuccess(); String beanJson = body.getInfo(); String rows = body.getRows(); depotHeadService.updateDepotHeadAndDetail(beanJson,rows,request); return result; } /** * 统计今日采购额、昨日采购额、本月采购额、今年采购额|销售额|零售额 * @param request * @return */ @GetMapping(value = "/getBuyAndSaleStatistics") @ApiOperation(value = "统计今日采购额、昨日采购额、本月采购额、今年采购额|销售额|零售额") public BaseResponseInfo getBuyAndSaleStatistics(HttpServletRequest request) { BaseResponseInfo res = new BaseResponseInfo(); try { Map map = new HashMap<>(); String loginName = userService.getCurrentUser().getLoginName(); if(!"admin".equals(loginName)) { String today = Tools.getNow() + BusinessConstants.DAY_FIRST_TIME; String monthFirstDay = Tools.firstDayOfMonth(Tools.getCurrentMonth()) + BusinessConstants.DAY_FIRST_TIME; String yesterdayBegin = Tools.getYesterday() + BusinessConstants.DAY_FIRST_TIME; String yesterdayEnd = Tools.getYesterday() + BusinessConstants.DAY_LAST_TIME; String yearBegin = Tools.getYearBegin() + BusinessConstants.DAY_FIRST_TIME; String yearEnd = Tools.getYearEnd() + BusinessConstants.DAY_LAST_TIME; map = depotHeadService.getBuyAndSaleStatistics(today, monthFirstDay, yesterdayBegin, yesterdayEnd, yearBegin, yearEnd, request); } res.code = 200; res.data = map; } catch(Exception e){ logger.error(e.getMessage(), e); res.code = 500; res.data = "获取数据失败"; } return res; } /** * 根据当前用户获取操作员数组,用于控制当前用户的数据权限,限制可以看到的单据范围 * 注意:该接口提供给部分插件使用,勿删 * @param request * @return */ @GetMapping(value = "/getCreatorByCurrentUser") @ApiOperation(value = "根据当前用户获取操作员数组") public BaseResponseInfo getCreatorByCurrentUser(HttpServletRequest request) { BaseResponseInfo res = new BaseResponseInfo(); try { String creator = depotHeadService.getCreatorByCurrentUser(); res.code = 200; res.data = creator; } catch (Exception e) { logger.error(e.getMessage(), e); res.code = 500; res.data = "获取数据失败"; } return res; } /** * 查询存在欠款的单据 * @param search * @param request * @return * @throws Exception */ @GetMapping(value = "/debtList") @ApiOperation(value = "查询存在欠款的单据") public String debtList(@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 organIdStr = StringUtil.getInfo(search, "organId"); Long organId = Long.parseLong(organIdStr); String materialParam = StringUtil.getInfo(search, "materialParam"); String number = StringUtil.getInfo(search, "number"); String beginTime = StringUtil.getInfo(search, "beginTime"); String endTime = StringUtil.getInfo(search, "endTime"); String status = StringUtil.getInfo(search, "status"); List list = depotHeadService.debtList(organId, materialParam, number, beginTime, endTime, status, (currentPage-1)*pageSize, pageSize); int total = depotHeadService.debtListCount(organId, materialParam, number, 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); } } /** * 导出存在欠款的单据 * @param organId * @param materialParam * @param number * @param type * @param subType * @param beginTime * @param endTime * @param status * @param mpList * @param request * @param response * @throws Exception */ @GetMapping(value = "/debtExport") @ApiOperation(value = "导出存在欠款的单据") public void debtExport(@RequestParam(value = "organId", required = false) Long organId, @RequestParam(value = "materialParam", required = false) String materialParam, @RequestParam(value = "number", required = false) String number, @RequestParam(value = "type", required = false) String type, @RequestParam(value = "subType", required = false) String subType, @RequestParam(value = "beginTime", required = false) String beginTime, @RequestParam(value = "endTime", required = false) String endTime, @RequestParam(value = "status", required = false) String status, @RequestParam(value = "mpList", required = false) String mpList, HttpServletRequest request, HttpServletResponse response)throws Exception { try { depotHeadService.debtExport(organId, materialParam, number, type, subType, beginTime, endTime, status, mpList, request, response); } catch (Exception e) { logger.error(e.getMessage(), e); } } /** * 查询等待入库或出库的单据 * @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); } } /** * 查询等待入库或出库的单据数量 * @param search * @param request * @return * @throws Exception */ @GetMapping(value = "/waitBillCount") @ApiOperation(value = "查询等待入库或出库的单据数量") public String waitBillCount(@RequestParam(value = Constants.SEARCH, required = false) String search, 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"); long total = depotHeadService.waitBillCount(number, materialParam, type, subType, beginTime, endTime, status); objectMap.put("total", total); return returnJson(objectMap, ErpInfo.OK.name, ErpInfo.OK.code); } /** * 批量新增入库或出库单据 * @param jsonObject * @param request * @return * @throws Exception */ @PostMapping(value = "/batchAddDepotHeadAndDetail") @ApiOperation(value = "批量新增入库或出库单据") public Object batchAddDepotHeadAndDetail(@RequestBody JSONObject jsonObject, HttpServletRequest request) throws Exception{ JSONObject result = ExceptionConstants.standardSuccess(); String ids = jsonObject.getString("ids"); depotHeadService.batchAddDepotHeadAndDetail(ids, request); return result; } }