优化首页接口,限制超管用户的统计

This commit is contained in:
jishenghua
2024-10-16 22:34:50 +08:00
parent 9797478a4c
commit 6ff36c1ba7
2 changed files with 78 additions and 69 deletions

View File

@@ -985,77 +985,80 @@ public class DepotItemController {
public BaseResponseInfo buyOrSalePrice(HttpServletRequest request,
HttpServletResponse response)throws Exception {
BaseResponseInfo res = new BaseResponseInfo();
Map<String, Object> map = new HashMap<String, Object>();
try {
Long userId = userService.getUserId(request);
List<String> monthList = Tools.getLastMonths(6);
String beginTime = Tools.firstDayOfMonth(monthList.get(0)) + BusinessConstants.DAY_FIRST_TIME;
String endTime = Tools.getNow() + BusinessConstants.DAY_LAST_TIME;
List<InOutPriceVo> inOrOutPriceList = depotItemService.inOrOutPriceList(beginTime, endTime);
String priceLimit = userService.getRoleTypeByUserId(userId).getPriceLimit();
JSONArray buyPriceList = new JSONArray();
for(String month: monthList) {
JSONObject obj = new JSONObject();
BigDecimal outPrice = BigDecimal.ZERO;
BigDecimal inPrice = BigDecimal.ZERO;
for(InOutPriceVo item: inOrOutPriceList) {
String billOperMonth = Tools.dateToStr(item.getOperTime(), "yyyy-MM");
if(month.equals(billOperMonth)) {
if("入库".equals(item.getType()) && "采购".equals(item.getSubType())) {
outPrice = outPrice.add(item.getDiscountLastMoney());
}
if("".equals(item.getType()) && "采购退货".equals(item.getSubType())) {
inPrice = inPrice.add(item.getDiscountLastMoney());
Map<String, Object> map = new HashMap<>();
String loginName = userService.getCurrentUser().getLoginName();
if(!"admin".equals(loginName)) {
Long userId = userService.getUserId(request);
List<String> monthList = Tools.getLastMonths(6);
String beginTime = Tools.firstDayOfMonth(monthList.get(0)) + BusinessConstants.DAY_FIRST_TIME;
String endTime = Tools.getNow() + BusinessConstants.DAY_LAST_TIME;
List<InOutPriceVo> inOrOutPriceList = depotItemService.inOrOutPriceList(beginTime, endTime);
String priceLimit = userService.getRoleTypeByUserId(userId).getPriceLimit();
JSONArray buyPriceList = new JSONArray();
for (String month : monthList) {
JSONObject obj = new JSONObject();
BigDecimal outPrice = BigDecimal.ZERO;
BigDecimal inPrice = BigDecimal.ZERO;
for (InOutPriceVo item : inOrOutPriceList) {
String billOperMonth = Tools.dateToStr(item.getOperTime(), "yyyy-MM");
if (month.equals(billOperMonth)) {
if ("".equals(item.getType()) && "采购".equals(item.getSubType())) {
outPrice = outPrice.add(item.getDiscountLastMoney());
}
if ("出库".equals(item.getType()) && "采购退货".equals(item.getSubType())) {
inPrice = inPrice.add(item.getDiscountLastMoney());
}
}
}
obj.put("x", month);
obj.put("y", roleService.parseHomePriceByLimit(outPrice.subtract(inPrice), "buy", priceLimit, "***", request));
buyPriceList.add(obj);
}
obj.put("x", month);
obj.put("y", roleService.parseHomePriceByLimit(outPrice.subtract(inPrice), "buy", priceLimit, "***", request));
buyPriceList.add(obj);
}
map.put("buyPriceList", buyPriceList);
JSONArray salePriceList = new JSONArray();
for(String month: monthList) {
JSONObject obj = new JSONObject();
BigDecimal outPrice = BigDecimal.ZERO;
BigDecimal inPrice = BigDecimal.ZERO;
for(InOutPriceVo item: inOrOutPriceList) {
String billOperMonth = Tools.dateToStr(item.getOperTime(), "yyyy-MM");
if(month.equals(billOperMonth)) {
if("出库".equals(item.getType()) && "销售".equals(item.getSubType())) {
outPrice = outPrice.add(item.getDiscountLastMoney());
}
if("入库".equals(item.getType()) && "销售退货".equals(item.getSubType())) {
inPrice = inPrice.add(item.getDiscountLastMoney());
map.put("buyPriceList", buyPriceList);
JSONArray salePriceList = new JSONArray();
for (String month : monthList) {
JSONObject obj = new JSONObject();
BigDecimal outPrice = BigDecimal.ZERO;
BigDecimal inPrice = BigDecimal.ZERO;
for (InOutPriceVo item : inOrOutPriceList) {
String billOperMonth = Tools.dateToStr(item.getOperTime(), "yyyy-MM");
if (month.equals(billOperMonth)) {
if ("出库".equals(item.getType()) && "销售".equals(item.getSubType())) {
outPrice = outPrice.add(item.getDiscountLastMoney());
}
if ("入库".equals(item.getType()) && "销售退货".equals(item.getSubType())) {
inPrice = inPrice.add(item.getDiscountLastMoney());
}
}
}
obj.put("x", month);
obj.put("y", roleService.parseHomePriceByLimit(outPrice.subtract(inPrice), "sale", priceLimit, "***", request));
salePriceList.add(obj);
}
obj.put("x", month);
obj.put("y", roleService.parseHomePriceByLimit(outPrice.subtract(inPrice), "sale", priceLimit, "***", request));
salePriceList.add(obj);
}
map.put("salePriceList", salePriceList);
JSONArray retailPriceList = new JSONArray();
for(String month: monthList) {
JSONObject obj = new JSONObject();
BigDecimal outPrice = BigDecimal.ZERO;
BigDecimal inPrice = BigDecimal.ZERO;
for(InOutPriceVo item: inOrOutPriceList) {
String billOperMonth = Tools.dateToStr(item.getOperTime(), "yyyy-MM");
if(month.equals(billOperMonth)) {
if("出库".equals(item.getType()) && "零售".equals(item.getSubType())) {
outPrice = outPrice.add(item.getTotalPrice().abs());
}
if("入库".equals(item.getType()) && "零售退货".equals(item.getSubType())) {
inPrice = inPrice.add(item.getTotalPrice().abs());
map.put("salePriceList", salePriceList);
JSONArray retailPriceList = new JSONArray();
for (String month : monthList) {
JSONObject obj = new JSONObject();
BigDecimal outPrice = BigDecimal.ZERO;
BigDecimal inPrice = BigDecimal.ZERO;
for (InOutPriceVo item : inOrOutPriceList) {
String billOperMonth = Tools.dateToStr(item.getOperTime(), "yyyy-MM");
if (month.equals(billOperMonth)) {
if ("出库".equals(item.getType()) && "零售".equals(item.getSubType())) {
outPrice = outPrice.add(item.getTotalPrice().abs());
}
if ("入库".equals(item.getType()) && "零售退货".equals(item.getSubType())) {
inPrice = inPrice.add(item.getTotalPrice().abs());
}
}
}
obj.put("x", month);
obj.put("y", roleService.parseHomePriceByLimit(outPrice.subtract(inPrice), "retail", priceLimit, "***", request));
retailPriceList.add(obj);
}
obj.put("x", month);
obj.put("y", roleService.parseHomePriceByLimit(outPrice.subtract(inPrice), "retail", priceLimit, "***", request));
retailPriceList.add(obj);
map.put("retailPriceList", retailPriceList);
}
map.put("retailPriceList", retailPriceList);
res.code = 200;
res.data = map;
} catch (Exception e) {