194 lines
7.1 KiB
Java
194 lines
7.1 KiB
Java
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.Depot;
|
||
import com.jsh.erp.datasource.entities.DepotEx;
|
||
import com.jsh.erp.exception.BusinessRunTimeException;
|
||
import com.jsh.erp.service.depot.DepotService;
|
||
import com.jsh.erp.service.material.MaterialService;
|
||
import com.jsh.erp.service.systemConfig.SystemConfigService;
|
||
import com.jsh.erp.service.userBusiness.UserBusinessService;
|
||
import com.jsh.erp.utils.*;
|
||
import org.slf4j.Logger;
|
||
import org.slf4j.LoggerFactory;
|
||
import org.springframework.dao.DataAccessException;
|
||
import org.springframework.web.bind.annotation.*;
|
||
|
||
import javax.annotation.Resource;
|
||
import javax.servlet.http.HttpServletRequest;
|
||
import java.io.IOException;
|
||
import java.math.BigDecimal;
|
||
import java.util.*;
|
||
|
||
import static com.jsh.erp.utils.ResponseJsonUtil.returnJson;
|
||
|
||
/**
|
||
* @author ji sheng hua 752*718*920
|
||
*/
|
||
@RestController
|
||
@RequestMapping(value = "/depot")
|
||
public class DepotController {
|
||
private Logger logger = LoggerFactory.getLogger(DepotController.class);
|
||
|
||
@Resource
|
||
private DepotService depotService;
|
||
|
||
@Resource
|
||
private UserBusinessService userBusinessService;
|
||
|
||
@Resource
|
||
private SystemConfigService systemConfigService;
|
||
|
||
@Resource
|
||
private MaterialService materialService;
|
||
|
||
@GetMapping(value = "/getAllList")
|
||
public BaseResponseInfo getAllList(HttpServletRequest request) throws Exception{
|
||
BaseResponseInfo res = new BaseResponseInfo();
|
||
try {
|
||
List<Depot> depotList = depotService.getAllList();
|
||
res.code = 200;
|
||
res.data = depotList;
|
||
} catch(Exception e){
|
||
e.printStackTrace();
|
||
res.code = 500;
|
||
res.data = "获取数据失败";
|
||
}
|
||
return res;
|
||
}
|
||
|
||
/**
|
||
* 用户对应仓库显示
|
||
* @param type
|
||
* @param keyId
|
||
* @param request
|
||
* @return
|
||
*/
|
||
@PostMapping(value = "/findUserDepot")
|
||
public JSONArray findUserDepot(@RequestParam("UBType") String type, @RequestParam("UBKeyId") String keyId,
|
||
HttpServletRequest request) throws Exception{
|
||
JSONArray arr = new JSONArray();
|
||
try {
|
||
List<Depot> dataList = depotService.findUserDepot();
|
||
//开始拼接json数据
|
||
JSONObject outer = new JSONObject();
|
||
outer.put("id", 1);
|
||
outer.put("text", "仓库列表");
|
||
outer.put("state", "open");
|
||
//存放数据json数组
|
||
JSONArray dataArray = new JSONArray();
|
||
if (null != dataList) {
|
||
for (Depot depot : dataList) {
|
||
JSONObject item = new JSONObject();
|
||
item.put("id", depot.getId());
|
||
item.put("text", depot.getName());
|
||
//勾选判断1
|
||
Boolean flag = false;
|
||
try {
|
||
flag = userBusinessService.checkIsUserBusinessExist(type, keyId, "[" + depot.getId().toString() + "]");
|
||
} catch (Exception e) {
|
||
logger.error(">>>>>>>>>>>>>>>>>设置用户对应的仓库:类型" + type + " KeyId为: " + keyId + " 存在异常!");
|
||
}
|
||
if (flag == true) {
|
||
item.put("checked", true);
|
||
}
|
||
//结束
|
||
dataArray.add(item);
|
||
}
|
||
}
|
||
outer.put("children", dataArray);
|
||
arr.add(outer);
|
||
} catch (Exception e) {
|
||
e.printStackTrace();
|
||
}
|
||
return arr;
|
||
}
|
||
|
||
/**
|
||
* 获取用户拥有权限的仓库列表
|
||
* @param type
|
||
* @param keyId
|
||
* @param request
|
||
* @return
|
||
* @throws Exception
|
||
*/
|
||
@GetMapping(value = "/findDepotByUserId")
|
||
public JSONArray findDepotByUserId(@RequestParam("UBType") String type, @RequestParam("UBKeyId") String keyId,
|
||
HttpServletRequest request) throws Exception{
|
||
JSONArray arr = new JSONArray();
|
||
try {
|
||
List<Depot> dataList = depotService.findUserDepot();
|
||
//开始拼接json数据
|
||
if (null != dataList) {
|
||
boolean depotFlag = systemConfigService.getDepotFlag();
|
||
for (Depot depot : dataList) {
|
||
JSONObject item = new JSONObject();
|
||
//勾选判断1
|
||
Boolean flag = false;
|
||
try {
|
||
flag = userBusinessService.checkIsUserBusinessExist(type, keyId, "[" + depot.getId().toString() + "]");
|
||
} catch (DataAccessException e) {
|
||
logger.error(">>>>>>>>>>>>>>>>>查询用户对应的仓库:类型" + type + " KeyId为: " + keyId + " 存在异常!");
|
||
}
|
||
if (!depotFlag || flag) {
|
||
item.put("id", depot.getId());
|
||
item.put("depotName", depot.getName());
|
||
arr.add(item);
|
||
}
|
||
}
|
||
}
|
||
} catch (Exception e) {
|
||
e.printStackTrace();
|
||
}
|
||
return arr;
|
||
}
|
||
|
||
@PostMapping(value = "/updateIsDefault")
|
||
public String updateIsDefault(@RequestBody JSONObject object,
|
||
HttpServletRequest request) throws Exception{
|
||
Long depotId = object.getLong("id");
|
||
Map<String, Object> objectMap = new HashMap<>();
|
||
int res = depotService.updateIsDefault(depotId);
|
||
if(res > 0) {
|
||
return returnJson(objectMap, ErpInfo.OK.name, ErpInfo.OK.code);
|
||
} else {
|
||
return returnJson(objectMap, ErpInfo.ERROR.name, ErpInfo.ERROR.code);
|
||
}
|
||
}
|
||
|
||
@GetMapping(value = "/getAllListWithStock")
|
||
public BaseResponseInfo getAllList(@RequestParam("mId") Long mId,
|
||
HttpServletRequest request) {
|
||
BaseResponseInfo res = new BaseResponseInfo();
|
||
try {
|
||
List<Depot> list = depotService.getAllList();
|
||
List<DepotEx> depotList = new ArrayList<DepotEx>();
|
||
for(Depot depot: list) {
|
||
DepotEx de = new DepotEx();
|
||
if(mId!=0) {
|
||
BigDecimal initStock = materialService.getInitStock(mId, depot.getId());
|
||
BigDecimal currentStock = materialService.getCurrentStock(mId, depot.getId());
|
||
de.setInitStock(initStock);
|
||
de.setCurrentStock(currentStock);
|
||
} else {
|
||
de.setInitStock(BigDecimal.ZERO);
|
||
de.setCurrentStock(BigDecimal.ZERO);
|
||
}
|
||
de.setId(depot.getId());
|
||
de.setName(depot.getName());
|
||
depotList.add(de);
|
||
}
|
||
res.code = 200;
|
||
res.data = depotList;
|
||
} catch(Exception e){
|
||
e.printStackTrace();
|
||
res.code = 500;
|
||
res.data = "获取数据失败";
|
||
}
|
||
return res;
|
||
}
|
||
}
|