BasicStorehouseController.java 23 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585
  1. package com.chinaitop.depot.basic.controller;
  2. import java.util.ArrayList;
  3. import java.util.Date;
  4. import java.util.HashMap;
  5. import java.util.List;
  6. import java.util.Map;
  7. import java.util.UUID;
  8. import javax.annotation.Resource;
  9. import javax.servlet.http.HttpServletRequest;
  10. import org.slf4j.Logger;
  11. import org.slf4j.LoggerFactory;
  12. import org.springframework.beans.factory.annotation.Value;
  13. import org.springframework.http.MediaType;
  14. import org.springframework.web.bind.annotation.RequestMapping;
  15. import org.springframework.web.bind.annotation.RequestMethod;
  16. import org.springframework.web.bind.annotation.RestController;
  17. import org.springframework.web.multipart.MultipartFile;
  18. import com.alibaba.fastjson.JSONObject;
  19. import com.chinaitop.depot.basic.model.BasicEnum;
  20. import com.chinaitop.depot.basic.model.BasicKeeper;
  21. import com.chinaitop.depot.basic.model.BasicKeeperExample;
  22. import com.chinaitop.depot.basic.model.BasicKeeperHouse;
  23. import com.chinaitop.depot.basic.model.BasicKeeperHouseExample;
  24. import com.chinaitop.depot.basic.model.BasicStorehouse;
  25. import com.chinaitop.depot.basic.model.BasicStorehouseExample;
  26. import com.chinaitop.depot.basic.model.BasicStorehouseExample.Criteria;
  27. import com.chinaitop.depot.basic.service.BasicEnumService;
  28. import com.chinaitop.depot.basic.service.BasicKeeperHouseService;
  29. import com.chinaitop.depot.basic.service.BasicKeeperService;
  30. import com.chinaitop.depot.basic.service.BasicStorehouseService;
  31. import com.chinaitop.depot.basic.service.BasicWarehouseService;
  32. import com.chinaitop.depot.common.service.ImportServiceImpl;
  33. import com.chinaitop.utils.ParameterUtil;
  34. import com.fasterxml.jackson.databind.ObjectMapper;
  35. import com.github.pagehelper.PageHelper;
  36. import com.github.pagehelper.PageInfo;
  37. import io.swagger.annotations.Api;
  38. import io.swagger.annotations.ApiImplicitParam;
  39. import io.swagger.annotations.ApiImplicitParams;
  40. import io.swagger.annotations.ApiOperation;
  41. /**
  42. * 仓房管理Controller,仓房管理菜单中所有的功能都在这里
  43. *
  44. * @author User
  45. *
  46. */
  47. @SuppressWarnings("all")
  48. @RestController
  49. @RequestMapping(value = "/Storehouse")
  50. @Api(value= "BasicStorehouseController", description = "仓房管理控制类")
  51. public class BasicStorehouseController {
  52. final static Logger logger = LoggerFactory.getLogger(BasicStorehouse.class);
  53. @Resource
  54. private BasicStorehouseService basicStorehouseService;
  55. @Resource
  56. private BasicWarehouseService basicWarehouseService;
  57. @Resource
  58. private BasicEnumService enumService;
  59. @Resource
  60. private BasicKeeperHouseService keeperHouseService;
  61. @Resource
  62. private BasicKeeperService keeperService;
  63. @Resource
  64. private ImportServiceImpl importService;
  65. @Value("${web.upload-path}")
  66. private String uploadPath;
  67. /**
  68. * 查找仓房信息
  69. *
  70. * @param pageNum 页数
  71. * @param pageSize 每页显示的条数
  72. * @param storeName 仓房名称
  73. * @param houseId 仓房ID
  74. * @param orgId 单位ID
  75. * @param storehouseState 仓房状态
  76. * @param libraryType 粮库类型
  77. * @return
  78. */
  79. @RequestMapping(value = "/getList", produces = MediaType.APPLICATION_JSON_VALUE, method = RequestMethod.GET)
  80. @ApiOperation(value="查询仓房信息数据列表", notes = "查询仓房信息数据列表,支持分页")
  81. @ApiImplicitParams({
  82. @ApiImplicitParam(name = "pageNum", value = "页码", paramType = "query"),
  83. @ApiImplicitParam(name = "pageSize", value = "每页条数", paramType = "query"),
  84. @ApiImplicitParam(name = "storeName", value = "仓房名称", paramType = "query"),
  85. @ApiImplicitParam(name = "houseId", value = "仓房ID", paramType = "query"),
  86. @ApiImplicitParam(name = "orgId", value = "单位ID", paramType = "query"),
  87. @ApiImplicitParam(name = "storehouseState", value = "仓房状态", paramType = "query"),
  88. @ApiImplicitParam(name = "storehouseType", value = "仓房类型", paramType = "query"),
  89. @ApiImplicitParam(name = "libraryType", value = "粮库类型", paramType = "query"),
  90. @ApiImplicitParam(name = "delFlag", value = "是否删除", paramType = "query")
  91. })
  92. public PageInfo<BasicStorehouse> getList(Integer pageNum, Integer pageSize, Integer storehouseType,
  93. String storeName, Integer houseId, Integer orgId, Integer storehouseState,
  94. String libraryType, Integer delFlag) {
  95. Map<String, Object> modelMap = new HashMap<String, Object>();
  96. if (pageNum != null && pageSize != null) {
  97. PageHelper.startPage(pageNum, pageSize);
  98. }
  99. List<BasicStorehouse> list = null;
  100. try {
  101. if (null != storehouseType) {
  102. modelMap.put("storehouseType",storehouseType);
  103. }
  104. if (null != storeName && !"".equals(storeName)) {
  105. modelMap.put("storehouseName",storeName);
  106. }
  107. if (null != houseId) {
  108. modelMap.put("storehouseId",houseId);
  109. }
  110. if (null != storehouseState) {
  111. modelMap.put("storehouseState",storehouseState);
  112. }
  113. if (null != libraryType) {
  114. modelMap.put("libraryType",libraryType);
  115. }
  116. /* 只能查询当前单位的数据 */
  117. if (null != orgId) {
  118. modelMap.put("orgId",orgId);
  119. }
  120. // 值为1是没删除的数据(在用),0是已删除的数据(弃用)
  121. if (null != delFlag) {
  122. modelMap.put("delFlag",delFlag);
  123. }
  124. // 查询仓房,不要油罐
  125. modelMap.put("datatype", "0");
  126. list = basicStorehouseService.findBasicStorehouseNew(modelMap);
  127. //获取当前仓房的保管员
  128. if (null != list && list.size() > 0 && ParameterUtil.isequal("0",libraryType)) {
  129. String keeperNames = "";
  130. for (BasicStorehouse storehouse : list) {
  131. keeperNames = basicStorehouseService.getKeeperNames(storehouse.getStorehouseId());
  132. storehouse.setDutystoreman(keeperNames);
  133. }
  134. }
  135. } catch (Exception e) {
  136. e.printStackTrace();
  137. }
  138. PageInfo<BasicStorehouse> pageInfo = new PageInfo<BasicStorehouse>(list);
  139. return pageInfo;
  140. }
  141. /**
  142. * 根据ID查找仓房信息
  143. *
  144. * @param id 数据ID
  145. * @return
  146. */
  147. @RequestMapping(value = "/findByStorehouse", produces = MediaType.APPLICATION_JSON_VALUE, method = RequestMethod.GET)
  148. @ApiOperation(value="根据ID查找仓房信息", notes = "根据ID查找仓房信息")
  149. @ApiImplicitParams({
  150. @ApiImplicitParam(name = "id", value = "数据ID", paramType = "query"),
  151. @ApiImplicitParam(name = "orgId", value = "单位ID", paramType = "query")
  152. })
  153. public BasicStorehouse findByStorehouse(Integer id, Integer orgId) {
  154. BasicStorehouse basicStorehouse = null;
  155. try {
  156. if (id != null) {
  157. basicStorehouse = basicStorehouseService.findByPrimary(id);
  158. if(ParameterUtil.isequal(basicStorehouse.getLibraryType(),"0")){
  159. //获取当前仓房的保管员
  160. String keeperNames = basicStorehouseService.getStorehouseKeeper(id, orgId, false);
  161. basicStorehouse.setDutystoreman(keeperNames);
  162. }
  163. } else {
  164. basicStorehouse = new BasicStorehouse();
  165. }
  166. } catch (Exception e) {
  167. e.printStackTrace();
  168. }
  169. return basicStorehouse;
  170. }
  171. /**
  172. * 根据单位查找单位下的所有仓房信息(统一对外接口)
  173. *
  174. * @param unitId 单位ID
  175. * @return
  176. */
  177. @RequestMapping(value = "/getStorehouseList", produces = MediaType.APPLICATION_JSON_VALUE, method = RequestMethod.GET)
  178. @ApiOperation(value="根据单位查找单位下的所有仓房信息(统一对外接口)", notes = "根据单位查找单位下的所有仓房信息(统一对外接口)")
  179. @ApiImplicitParams({
  180. @ApiImplicitParam(name = "unitId", value = "单位ID", paramType = "query"),
  181. @ApiImplicitParam(name = "libraryType", value = "仓房性质(主粮库或代储点)", paramType = "query")
  182. })
  183. public Map<String, Object> getStorehouseList(Integer unitId, String libraryType) {
  184. Map<String, Object> map = null;
  185. try {
  186. map = basicStorehouseService.getStorehouseData(unitId, libraryType);
  187. } catch (Exception e) {
  188. e.printStackTrace();
  189. }
  190. return map;
  191. }
  192. @RequestMapping(value = "/edit", produces = MediaType.APPLICATION_JSON_VALUE, method = RequestMethod.POST)
  193. @ApiOperation(value="更新仓房信息", notes = "更新仓房信息")
  194. @ApiImplicitParams({
  195. @ApiImplicitParam(name = "storehouseJson", value = "JSON数据对象", paramType = "form"),
  196. @ApiImplicitParam(name = "warehouseJson", value = "货位数据", paramType = "form"),
  197. @ApiImplicitParam(name = "userInfo", value = "JSON登录对象", paramType = "form")
  198. })
  199. public Map<String, Object> edit(HttpServletRequest request, String storehouseJson, String warehouseJson, String userInfo) {
  200. Map<String, Object> modelMap = null;
  201. try {
  202. modelMap = basicStorehouseService.saveOrUpdate(request, storehouseJson, warehouseJson, userInfo);
  203. } catch (Exception e) {
  204. e.printStackTrace();
  205. modelMap.put("status", "error");
  206. modelMap.put("msg", "保存失败!");
  207. } finally {
  208. return modelMap;
  209. }
  210. }
  211. /**
  212. * 按仓房ID逻辑删除仓房信息
  213. *
  214. * @param id 数据ID
  215. * @return
  216. */
  217. @RequestMapping(value = "/remove", produces = MediaType.APPLICATION_JSON_VALUE, method = RequestMethod.POST)
  218. @ApiOperation(value="按仓房ID逻辑删除仓房信息", notes = "按仓房ID逻辑删除仓房信息")
  219. @ApiImplicitParams({
  220. @ApiImplicitParam(name = "id", value = "数据ID", paramType = "form")
  221. })
  222. public Map<String, Object> remove(Integer id) {
  223. Map<String, Object> modelMap = new HashMap<String, Object>();
  224. try {
  225. // 先查询到这条数据
  226. BasicStorehouse basicStorehouse = basicStorehouseService.findByPrimary(id);
  227. // 如果当前是在用,则改成0,如果当前是弃用则改成1
  228. Integer delFlag = basicStorehouse.getDelFlag();
  229. if (delFlag == 1 || "1".equals(delFlag)) {
  230. delFlag = 0;
  231. } else if (delFlag == 0 || "0".equals(delFlag)) {
  232. delFlag = 1;
  233. }
  234. basicStorehouse.setDelFlag(delFlag);
  235. basicStorehouseService.updateBasicStorehouse(basicStorehouse);
  236. /* 更新单位表中仓房数、油罐数、有效仓容、有效罐容 */
  237. basicStorehouseService.editOrgChNum(basicStorehouse.getOrgId());
  238. /* 同时删除这个仓房下的货位信息 */
  239. /*basicWarehouseService.deletEexample(basicStorehouse.getStorehouseId());*/
  240. modelMap.put("status", "success");
  241. } catch (Exception e) {
  242. e.printStackTrace();
  243. modelMap.put("status", "error");
  244. modelMap.put("msg", "操作失败!");
  245. }
  246. return modelMap;
  247. }
  248. /**
  249. * 根据登录人角色不同显示不同仓房列表
  250. * @param pageNum
  251. * @param pageSize
  252. * @return
  253. */
  254. @RequestMapping(value = "/findStoreHouseListByRole", produces = MediaType.APPLICATION_JSON_VALUE, method = RequestMethod.GET)
  255. @ApiOperation(value="根据登录人角色不同显示不同仓房列表", notes = "根据登录人角色不同显示不同仓房列表")
  256. @ApiImplicitParams({
  257. @ApiImplicitParam(name = "pageNum", value = "页码", paramType = "query"),
  258. @ApiImplicitParam(name = "pageSize", value = "每页条数", paramType = "query"),
  259. @ApiImplicitParam(name = "houseNo", value = "仓房ID", paramType = "query"),
  260. @ApiImplicitParam(name = "userInfo", value = "登录人数据对象JSON", paramType = "query"),
  261. @ApiImplicitParam(name = "userRoleList", value = "登录人角色数据JSON", paramType = "query")
  262. })
  263. public PageInfo<BasicStorehouse> findStoreHouseList(Integer pageNum, Integer pageSize, Integer houseNo, String userInfo, String userRoleList) {
  264. //得到当前登录人id
  265. JSONObject user = null;
  266. Integer orgId = null;
  267. Integer userId = null;
  268. if (null != userInfo && !"".equals(userInfo)) {
  269. user = JSONObject.parseObject(userInfo);
  270. orgId = Integer.parseInt(user.get("orgId") == null?"":user.get("orgId").toString());
  271. userId = Integer.parseInt(user.get("userId") == null?"":user.get("userId").toString());
  272. }
  273. //取出仓储科科长,保管员角色的id 词典5417 词典5418
  274. //①保管员角色编号5417 找到枚举编码就是对应保管员角色的id
  275. BasicEnum basicEnum=null;
  276. String wareDpt=null;
  277. try {
  278. //取出仓储科科长
  279. basicEnum = enumService.findByParmeryKeyEnum(5418);
  280. wareDpt = basicEnum.getEnumcode();//仓储科长角色对应的枚举编码
  281. } catch (Exception e) {
  282. e.printStackTrace();
  283. }
  284. BasicStorehouseExample storehouseExample = new BasicStorehouseExample();
  285. BasicStorehouseExample.Criteria Cria = storehouseExample.createCriteria();
  286. List<BasicStorehouse> list = null;
  287. try {
  288. Cria.andDelFlagEqualTo(1); // 查询正常数据
  289. if (null != orgId && !"".equals(orgId)) {
  290. Cria.andOrgIdEqualTo(orgId);
  291. }
  292. //根据保管员id和仓储科id判断当前登录人属于这两中角色的什么角色
  293. //①登录人包含仓储科角色(查询出所有的仓房)
  294. if(userRoleList.contains(wareDpt)){
  295. list = basicStorehouseService.findBasicStorehouse(storehouseExample);
  296. } else {
  297. //②登录人包含保管员角色(查询出自己管理的仓房)
  298. BasicKeeperExample keeperExample = new BasicKeeperExample();
  299. BasicKeeperExample.Criteria keeperCriteria=keeperExample.createCriteria();
  300. if (null != userId && !"".equals(userId)) {
  301. keeperCriteria.andUserIdEqualTo(userId);
  302. }
  303. //查询未删除的标记'删除状态(1.正常,0.删除)'
  304. keeperCriteria.andDelFlagEqualTo(1);
  305. List<BasicKeeper> keeperList = keeperService.findCondition(keeperExample);
  306. if(keeperList.size()>0 && keeperList != null){
  307. BasicKeeperHouseExample keeperHouseExample = new BasicKeeperHouseExample();
  308. BasicKeeperHouseExample.Criteria Criteria=keeperHouseExample.createCriteria();
  309. Criteria.andKeeperIdEqualTo(Integer.valueOf(keeperList.get(0).getId()));
  310. if (null != orgId && !"".equals(orgId)) {
  311. Criteria.andOrgIdEqualTo(orgId);
  312. }
  313. //2.1查询出该保管员管理的哪些仓房
  314. List<BasicKeeperHouse> keeperHouseList = keeperHouseService.findCondition(keeperHouseExample);
  315. List<Integer> houseIdList = new ArrayList<Integer>();
  316. if(keeperHouseList.size()>0 && keeperHouseList != null){
  317. for (BasicKeeperHouse be : keeperHouseList) {
  318. Integer houseId=be.getHouseId();
  319. houseIdList.add(houseId);
  320. }
  321. //前台传过来houseId 说明是按照仓房编号查询的筛选条件 否则是查询所有的保管员所管理的仓
  322. if(houseNo !=null && houseIdList.contains(houseNo) ){
  323. houseIdList.clear();//先清空list里面的仓 添加查询的仓
  324. houseIdList.add(houseNo);
  325. }else if(houseNo !=null && !houseIdList.contains(houseNo)){
  326. houseIdList.clear();//先清空list里面的仓 添加查询的仓
  327. houseIdList.add(0);//这里随便写的数字 为了防止按条件查询到不想要的数据
  328. }
  329. }
  330. if (pageNum != null && pageSize != null) {
  331. PageHelper.startPage(pageNum, pageSize);
  332. }
  333. //2.2取出这些仓房信息
  334. if(houseIdList.size()>0 && houseIdList != null){
  335. Cria.andStorehouseIdIn(houseIdList);
  336. }else{
  337. houseIdList.add(0);//这里随便写的数字 为了防止按条件查询到不想要的数据
  338. Cria.andStorehouseIdIn(houseIdList);
  339. }
  340. list = basicStorehouseService.findBasicStorehouse(storehouseExample);
  341. }
  342. }
  343. } catch (Exception e) {
  344. e.printStackTrace();
  345. }
  346. PageInfo<BasicStorehouse> pageInfo = new PageInfo<BasicStorehouse>(list);
  347. return pageInfo;
  348. }
  349. /**
  350. * 查询当前登录人用户的角色为保管员 所管理的仓房
  351. */
  352. @RequestMapping(value = "/findStoreHouseListByLoginUser", produces = MediaType.APPLICATION_JSON_VALUE, method = RequestMethod.GET)
  353. @ApiOperation(value="查询当前登录人用户的角色为保管员 所管理的仓房", notes = "查询当前登录人用户的角色为保管员 所管理的仓房")
  354. @ApiImplicitParams({
  355. @ApiImplicitParam(name = "userInfo", value = "登录人数据对象JSON", paramType = "query")
  356. })
  357. public List<BasicStorehouse> findStoreHouseListByLoginUser(String userInfo) {
  358. JSONObject user = null;
  359. Integer orgId = null;
  360. Integer userId = null;
  361. if (null != userInfo && !"".equals(userInfo)) {
  362. user = JSONObject.parseObject(userInfo);
  363. orgId = Integer.parseInt(user.get("orgId") == null?"":user.get("orgId").toString());
  364. userId = Integer.parseInt(user.get("userId") == null?"":user.get("userId").toString());
  365. }
  366. BasicKeeperExample keeperExample = new BasicKeeperExample();
  367. BasicKeeperExample.Criteria keeperCriteria=keeperExample.createCriteria();
  368. List<BasicStorehouse> storehouseList=new ArrayList<BasicStorehouse>();
  369. try {
  370. //5417保管员角色编号Id enumCode对应的就是保管员的id
  371. //basicEnum = enumService.findByParmeryKeyEnum(5417);
  372. //keeperId=basicEnum.getEnumcode();//保管员角色对应的id
  373. //查询当前正常用户的角色为保管员
  374. keeperCriteria.andUserIdEqualTo(userId);
  375. keeperCriteria.andDelFlagEqualTo(1);
  376. //keeperCriteria.andPostTypeEqualTo(Integer.valueOf(keeperId));
  377. List<BasicKeeper> keeperList = keeperService.findCondition(keeperExample);
  378. if(keeperList.size()>0 && keeperList != null){
  379. BasicKeeperHouseExample keeperHouseExample = new BasicKeeperHouseExample();
  380. BasicKeeperHouseExample.Criteria Criteria=keeperHouseExample.createCriteria();
  381. Criteria.andKeeperIdEqualTo(Integer.valueOf(keeperList.get(0).getId()));
  382. Criteria.andOrgIdEqualTo(orgId);
  383. //2.1查询出该保管员管理的哪些仓房
  384. List<BasicKeeperHouse> keeperHouseList = keeperHouseService.findCondition(keeperHouseExample);
  385. BasicStorehouseExample example = new BasicStorehouseExample();
  386. Criteria Cri = example.createCriteria();
  387. BasicStorehouse basicStorehouse=null;
  388. for (BasicKeeperHouse be : keeperHouseList) {
  389. Integer houseId=be.getHouseId();
  390. Cri.andStorehouseIdEqualTo(houseId);
  391. try{
  392. //2.2根据仓房id查询对应的仓房信息
  393. basicStorehouse = basicStorehouseService.findByPrimary(houseId);
  394. storehouseList.add(basicStorehouse);
  395. }catch (Exception ex){
  396. ex.printStackTrace();
  397. }
  398. }
  399. }
  400. } catch (Exception e) {
  401. e.printStackTrace();
  402. }
  403. return storehouseList;
  404. }
  405. /**
  406. * 导入excel
  407. * @param file 文件
  408. * @param fileType 类型:如xlsx
  409. * @param request
  410. * @return
  411. */
  412. @RequestMapping(value="/importFile", method=RequestMethod.POST)
  413. @ApiOperation(value="导入仓房货位excel", notes = "导入仓房货位excel")
  414. @ApiImplicitParams({
  415. @ApiImplicitParam(name = "file", value = "文件数据", paramType = "form"),
  416. @ApiImplicitParam(name = "fileType", value = "文件名称", paramType = "form"),
  417. @ApiImplicitParam(name = "userInfo", value = "JSON登录对象", paramType = "form"),
  418. })
  419. public String importFile(MultipartFile file, String fileType, String userInfo, HttpServletRequest request){
  420. JSONObject user = null;
  421. if (null != userInfo && !"".equals(userInfo)) {
  422. user = JSONObject.parseObject(userInfo);
  423. }
  424. String[] titleArr = {"仓房编号", "仓房名称", "仓房类型", "设计仓容(吨)", "实际仓容(吨)","通风方式", "保管方式", "装粮线高度(m)",
  425. "仓房状态","交付使用日期", "货位编号", "货位名称", "货位容量(吨)","粮库类型(代储点是1,正式粮库是0)","代储点粮库名称"};//第一行的title
  426. boolean[] emptyArr = {false, false, false, true, false, false, false, true, false, true, true, true, true, false, true};//指定列可为空,不可为空值为false.
  427. List<List<String>> list = new ArrayList<List<String>>();//该list为数据返回的list
  428. String errormsg = null;
  429. try {
  430. errormsg = importService.importFile(uploadPath, file, fileType, request, titleArr, emptyArr, list);
  431. if (errormsg != null && !"".equals(errormsg)) {
  432. return errormsg;
  433. }
  434. if (list.size()>0) {
  435. errormsg = basicStorehouseService.importData(list, user);
  436. System.out.println(list);
  437. System.out.println(errormsg);
  438. //errormsg = "导入成功!";
  439. }
  440. } catch (Exception e) {
  441. e.printStackTrace();
  442. }
  443. return errormsg;
  444. }
  445. /**
  446. * 按仓房编码进行查询,去重
  447. * @param storehouseCode 仓房编码
  448. */
  449. @RequestMapping(value="/findStoreCode", method=RequestMethod.GET)
  450. @ApiOperation(value="防止仓房编码重复添加", notes = "storehouseCode参数")
  451. @ApiImplicitParams({
  452. @ApiImplicitParam(name = "storehouseCode", value = "仓房编码", paramType = "query"),
  453. @ApiImplicitParam(name = "storeId", value = "仓房ID", paramType = "form"),
  454. @ApiImplicitParam(name = "libraryType", value = "判断是代储点还是主库", paramType = "form")
  455. })
  456. public String findStoreCode(HttpServletRequest request, String storehouseCode, Integer storeId, String libraryType) {
  457. String codeFlag = "";
  458. List<BasicStorehouse> list = null;
  459. Integer orgId = (Integer) request.getSession().getAttribute("orgId");
  460. BasicStorehouseExample storehouseExample = new BasicStorehouseExample();
  461. BasicStorehouseExample.Criteria cria = storehouseExample.createCriteria();
  462. cria.andOrgIdEqualTo(orgId);
  463. cria.andStorehouseIdNotEqualTo(storeId);
  464. //cria.andLibraryTypeEqualTo(libraryType);
  465. cria.andStorehouseCodeEqualTo(storehouseCode);
  466. try {
  467. list = basicStorehouseService.findBasicStorehouse(storehouseExample);
  468. if (null != list && list.size() > 0) {
  469. codeFlag = "0";
  470. } else {
  471. codeFlag = "1";
  472. }
  473. } catch (Exception e) {
  474. e.printStackTrace();
  475. }
  476. return codeFlag;
  477. }
  478. /**
  479. * 查询代储库下边的仓房信息
  480. *
  481. * @param depotId 单位ID
  482. * @return
  483. */
  484. @RequestMapping(value = "/getAgentList", produces = MediaType.APPLICATION_JSON_VALUE, method = RequestMethod.GET)
  485. @ApiOperation(value="查询代储库仓房", notes = "查询代储库下边的仓房信息")
  486. @ApiImplicitParams({
  487. @ApiImplicitParam(name = "depotId", value = "代储库ID", paramType = "query"),
  488. @ApiImplicitParam(name = "orgId", value = "单位ID", paramType = "query"),
  489. @ApiImplicitParam(name = "libraryType", value = "粮库类型", paramType = "query"),
  490. })
  491. public List<BasicStorehouse> getAgentList(Integer depotId,Integer orgId,String libraryType) {
  492. BasicStorehouseExample example = new BasicStorehouseExample();
  493. Criteria Criteria = example.createCriteria();
  494. List<BasicStorehouse> list = null;
  495. try {
  496. Criteria.andDepotIdEqualTo(depotId);
  497. Criteria.andDelFlagEqualTo(1);
  498. Criteria.andLibraryTypeEqualTo(libraryType);
  499. if (null != orgId) {
  500. Criteria.andOrgIdEqualTo(orgId);
  501. }
  502. example.setOrderByClause(" storehouse_id asc");
  503. list = basicStorehouseService.findBasicStorehouse(example);
  504. } catch (Exception e) {
  505. e.printStackTrace();
  506. }
  507. return list;
  508. }
  509. /**
  510. * 查询三温检查列表最新数据所对应的仓房
  511. *
  512. * @param orgId 粮库ID
  513. * @return
  514. */
  515. @RequestMapping(value = "/getThreeTempCheckList", produces = MediaType.APPLICATION_JSON_VALUE, method = RequestMethod.GET)
  516. @ApiOperation(value="根据单位查找单位下的所有仓房信息(统一对外接口)", notes = "根据单位查找单位下的所有仓房信息(统一对外接口)")
  517. @ApiImplicitParams({
  518. @ApiImplicitParam(name = "orgId", value = "粮库ID", paramType = "query")
  519. })
  520. public Map<String, Object> getThreeTempCheckList(Integer orgId) throws Exception {
  521. Map<String, Object> map = null;
  522. map = basicStorehouseService.getThreeTempCheckList(orgId);
  523. return map;
  524. }
  525. /**
  526. * 根据仓房ID获取仓房name
  527. */
  528. @RequestMapping(value="/getStoreDataByHouseId",produces = MediaType.APPLICATION_JSON_VALUE, method = RequestMethod.GET)
  529. @ApiOperation(value="根据仓房ID获取仓房name", notes = "根据仓房ID获取仓房name")
  530. public Map<String, Object> getStoreDataByHouseId(int houseId) {
  531. Map<String, Object> map = new HashMap<String, Object>();
  532. BasicStorehouse basicStorehouse = basicStorehouseService.getStoreDataByHouseId(houseId);
  533. String StorehouseName = "";
  534. if(basicStorehouse!=null){
  535. if(basicStorehouse.getDepotName()!=null){
  536. StorehouseName = basicStorehouse.getStorehouseName();
  537. }
  538. }
  539. map.put("StorehouseName", StorehouseName);
  540. return map;
  541. }
  542. }