diff --git a/erp_web/pages/reports/stock_warning_report.html b/erp_web/pages/reports/stock_warning_report.html
new file mode 100644
index 00000000..ff4d484d
--- /dev/null
+++ b/erp_web/pages/reports/stock_warning_report.html
@@ -0,0 +1,333 @@
+
+
+
+ 库存预警
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ | 仓库: |
+
+
+ |
+ |
+
+
+ 查询
+
+ 导出
+
+ 打印
+
+ |
+
+
+
+
+
+
+
+
+
+
diff --git a/src/main/java/com/jsh/erp/controller/DepotItemController.java b/src/main/java/com/jsh/erp/controller/DepotItemController.java
index deafa7f8..0b4a11fd 100644
--- a/src/main/java/com/jsh/erp/controller/DepotItemController.java
+++ b/src/main/java/com/jsh/erp/controller/DepotItemController.java
@@ -5,6 +5,7 @@ import com.alibaba.fastjson.JSONObject;
import com.jsh.erp.constants.BusinessConstants;
import com.jsh.erp.constants.ExceptionConstants;
import com.jsh.erp.datasource.entities.*;
+import com.jsh.erp.datasource.vo.DepotItemStockWarningCount;
import com.jsh.erp.exception.BusinessRunTimeException;
import com.jsh.erp.service.depotItem.DepotItemService;
import com.jsh.erp.service.material.MaterialService;
@@ -827,4 +828,81 @@ public class DepotItemController {
}
return result;
}
-}
+ /**
+ * 库存预警报表
+ * @param currentPage
+ * @param pageSize
+ * @return
+ */
+ @GetMapping(value = "/findStockWarningCount")
+ public BaseResponseInfo findStockWarningCount(@RequestParam("currentPage") Integer currentPage,
+ @RequestParam("pageSize") Integer pageSize, @RequestParam("projectId") Integer pid )throws Exception {
+ BaseResponseInfo res = new BaseResponseInfo();
+ Map map = new HashMap();
+ try {
+ List resList = new ArrayList();
+ List list = depotItemService.findStockWarningCount((currentPage-1)*pageSize, pageSize,pid);
+ int total = depotItemService.findStockWarningCountTotal(pid);
+ map.put("total", total);
+ map.put("rows", list);
+ res.code = 200;
+ res.data = map;
+ } catch(Exception e){
+ e.printStackTrace();
+ res.code = 500;
+ res.data = "获取数据失败";
+ }
+ return res;
+ }
+ /**
+ * 导出库存预警excel表格
+ * @param currentPage
+ * @param pageSize
+ * @param projectId
+ * @param monthTime
+ * @param request
+ * @param response
+ * @return
+ */
+ @GetMapping(value = "/exportWarningExcel")
+ public BaseResponseInfo exportWarningExcel(@RequestParam("currentPage") Integer currentPage,
+ @RequestParam("pageSize") Integer pageSize,
+ @RequestParam("projectId") Integer projectId,
+ HttpServletRequest request, HttpServletResponse response)throws Exception {
+ BaseResponseInfo res = new BaseResponseInfo();
+ Map map = new HashMap();
+ String message = "成功";
+ try {
+ List dataList = depotItemService.findStockWarningCount((currentPage - 1) * pageSize, pageSize, projectId);
+ //存放数据json数组
+ Integer pid = projectId;
+ String[] names = {"名称", "型号", "扩展信息", "单位", "入库数量", "出库数量", "库存数量", "安全库存量", "临界库存量"};
+ String title = "库存预警报表";
+ List objects = new ArrayList();
+ if (null != dataList) {
+ for (DepotItemStockWarningCount diEx : dataList) {
+ String[] objs = new String[9];
+
+ objs[0] = diEx.getMaterialName().toString();
+ objs[1] = diEx.getMaterialModel().toString();
+ objs[2] = diEx.getMaterialOther().toString();
+ objs[3] = diEx.getMaterialUnit().toString();
+ objs[4] = diEx.getBasicInNumber().toString();
+ objs[5] = diEx.getBasicOutNumber() == null ? "0" : diEx.getBasicOutNumber().toString();
+ objs[6] = diEx.getBasicNumber() == null ? "0" : diEx.getBasicNumber().toString();
+ objs[7] = diEx.getSafetystock() == null ? "0" : diEx.getSafetystock().toString();
+ objs[8] = diEx.getBasicLinjieNumber() == null ? "0" : diEx.getBasicLinjieNumber().toString();
+ objects.add(objs);
+ }
+ }
+ File file = ExcelUtils.exportObjectsWithoutTitle(title+pid, names, title, objects);
+ ExportExecUtil.showExec(file, file.getName(), response);
+ res.code = 200;
+ } catch (Exception e) {
+ e.printStackTrace();
+ message = "导出失败";
+ res.code = 500;
+ }
+ return res;
+ }
+ }
diff --git a/src/main/java/com/jsh/erp/datasource/mappers/DepotItemMapperEx.java b/src/main/java/com/jsh/erp/datasource/mappers/DepotItemMapperEx.java
index 70e71dbe..34a30d14 100644
--- a/src/main/java/com/jsh/erp/datasource/mappers/DepotItemMapperEx.java
+++ b/src/main/java/com/jsh/erp/datasource/mappers/DepotItemMapperEx.java
@@ -1,6 +1,7 @@
package com.jsh.erp.datasource.mappers;
import com.jsh.erp.datasource.entities.*;
+import com.jsh.erp.datasource.vo.DepotItemStockWarningCount;
import org.apache.ibatis.annotations.Param;
import java.math.BigDecimal;
@@ -172,4 +173,10 @@ public interface DepotItemMapperEx {
List getDepotItemListListByDepotIds(@Param("depotIds") String[] depotIds);
List getDepotItemListListByMaterialIds(@Param("materialIds") String[] materialIds);
+
+
+ List findStockWarningCount(@Param("offset") Integer offset,
+ @Param("rows") Integer rows, @Param("pid") Integer pid);
+
+ int findStockWarningCountTotal( @Param("pid") Integer pid);
}
diff --git a/src/main/java/com/jsh/erp/datasource/vo/DepotItemStockWarningCount.java b/src/main/java/com/jsh/erp/datasource/vo/DepotItemStockWarningCount.java
new file mode 100644
index 00000000..db709e1b
--- /dev/null
+++ b/src/main/java/com/jsh/erp/datasource/vo/DepotItemStockWarningCount.java
@@ -0,0 +1,109 @@
+package com.jsh.erp.datasource.vo;
+
+
+import java.math.BigDecimal;
+
+public class DepotItemStockWarningCount {
+
+
+ private String MaterialName;
+
+ private String MaterialModel;
+
+ private String categoryName;
+
+ private String MaterialOther;
+
+ private String MaterialUnit;
+
+ private BigDecimal safetystock;//安全库存量
+
+ private BigDecimal BasicInNumber;//入库量
+
+ private BigDecimal BasicOutNumber;//出库量
+
+
+ private BigDecimal BasicNumber;//库存
+
+ private BigDecimal BasicLinjieNumber;//临界库存
+
+ public String getMaterialName() {
+ return MaterialName;
+ }
+
+ public void setMaterialName(String materialName) {
+ MaterialName = materialName;
+ }
+
+ public String getMaterialModel() {
+ return MaterialModel;
+ }
+
+ public void setMaterialModel(String materialModel) {
+ MaterialModel = materialModel;
+ }
+
+ public String getCategoryName() {
+ return categoryName;
+ }
+
+ public void setCategoryName(String categoryName) {
+ this.categoryName = categoryName;
+ }
+
+ public String getMaterialOther() {
+ return MaterialOther;
+ }
+
+ public void setMaterialOther(String materialOther) {
+ MaterialOther = materialOther;
+ }
+
+ public String getMaterialUnit() {
+ return MaterialUnit;
+ }
+
+ public void setMaterialUnit(String materialUnit) {
+ MaterialUnit = materialUnit;
+ }
+
+ public BigDecimal getSafetystock() {
+ return safetystock;
+ }
+
+ public void setSafetystock(BigDecimal safetystock) {
+ this.safetystock = safetystock;
+ }
+
+ public BigDecimal getBasicInNumber() {
+ return BasicInNumber;
+ }
+
+ public void setBasicInNumber(BigDecimal basicInNumber) {
+ BasicInNumber = basicInNumber;
+ }
+
+ public BigDecimal getBasicOutNumber() {
+ return BasicOutNumber;
+ }
+
+ public void setBasicOutNumber(BigDecimal basicOutNumber) {
+ BasicOutNumber = basicOutNumber;
+ }
+
+ public BigDecimal getBasicNumber() {
+ return BasicNumber;
+ }
+
+ public void setBasicNumber(BigDecimal basicNumber) {
+ BasicNumber = basicNumber;
+ }
+
+ public BigDecimal getBasicLinjieNumber() {
+ return BasicLinjieNumber;
+ }
+
+ public void setBasicLinjieNumber(BigDecimal basicLinjieNumber) {
+ BasicLinjieNumber = basicLinjieNumber;
+ }
+}
diff --git a/src/main/java/com/jsh/erp/service/depotItem/DepotItemService.java b/src/main/java/com/jsh/erp/service/depotItem/DepotItemService.java
index 33650f01..55b1ee5c 100644
--- a/src/main/java/com/jsh/erp/service/depotItem/DepotItemService.java
+++ b/src/main/java/com/jsh/erp/service/depotItem/DepotItemService.java
@@ -9,17 +9,16 @@ import com.jsh.erp.datasource.mappers.DepotHeadMapper;
import com.jsh.erp.datasource.mappers.DepotItemMapper;
import com.jsh.erp.datasource.mappers.DepotItemMapperEx;
import com.jsh.erp.datasource.mappers.SerialNumberMapperEx;
+import com.jsh.erp.datasource.vo.DepotItemStockWarningCount;
import com.jsh.erp.exception.BusinessRunTimeException;
import com.jsh.erp.service.log.LogService;
import com.jsh.erp.service.material.MaterialService;
import com.jsh.erp.service.serialNumber.SerialNumberService;
import com.jsh.erp.service.user.UserService;
-import com.jsh.erp.utils.ErpInfo;
import com.jsh.erp.utils.QueryUtils;
import com.jsh.erp.utils.StringUtil;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
-import org.springframework.dao.DataAccessException;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.web.context.request.RequestContextHolder;
@@ -32,8 +31,6 @@ import java.util.Date;
import java.util.List;
import java.util.Map;
-import static com.jsh.erp.utils.ResponseJsonUtil.returnJson;
-
@Service
public class DepotItemService {
private Logger logger = LoggerFactory.getLogger(DepotItemService.class);
@@ -795,4 +792,32 @@ public class DepotItemService {
}
return result;
}
+
+ @Transactional(value = "transactionManager", rollbackFor = Exception.class)
+ public List findStockWarningCount(int offset, Integer rows, Integer pid) {
+
+ List list = null;
+ try{
+ list =depotItemMapperEx.findStockWarningCount( offset, rows, pid);
+ }catch(Exception e){
+ logger.error("异常码[{}],异常提示[{}],异常[{}]",
+ ExceptionConstants.DATA_READ_FAIL_CODE,ExceptionConstants.DATA_READ_FAIL_MSG,e);
+ throw new BusinessRunTimeException(ExceptionConstants.DATA_READ_FAIL_CODE,
+ ExceptionConstants.DATA_READ_FAIL_MSG);
+ }
+ return list;
+ }
+ @Transactional(value = "transactionManager", rollbackFor = Exception.class)
+ public int findStockWarningCountTotal(Integer pid) {
+ int result = 0;
+ try{
+ result =depotItemMapperEx.findStockWarningCountTotal(pid);
+ }catch(Exception e){
+ logger.error("异常码[{}],异常提示[{}],异常[{}]",
+ ExceptionConstants.DATA_READ_FAIL_CODE,ExceptionConstants.DATA_READ_FAIL_MSG,e);
+ throw new BusinessRunTimeException(ExceptionConstants.DATA_READ_FAIL_CODE,
+ ExceptionConstants.DATA_READ_FAIL_MSG);
+ }
+ return result;
+ }
}
diff --git a/src/main/resources/mapper_xml/DepotItemMapperEx.xml b/src/main/resources/mapper_xml/DepotItemMapperEx.xml
index 1679a69d..dea589b7 100644
--- a/src/main/resources/mapper_xml/DepotItemMapperEx.xml
+++ b/src/main/resources/mapper_xml/DepotItemMapperEx.xml
@@ -41,6 +41,18 @@
+
+
+
+
+
+
+
+
+
+
+
+