BusinessDeliveryStorageNoticeController.java 23 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473
  1. package com.chinaitop.depot.business.controller;
  2. import com.chinaitop.depot.business.model.BusinessDeliveryStorageNotice;
  3. import com.chinaitop.depot.business.model.BusinessStoreWareDetail;
  4. import com.chinaitop.depot.business.model.enums.AuditType;
  5. import com.chinaitop.depot.business.model.enums.StoreWareType;
  6. import com.chinaitop.depot.business.model.vo.BusinessDeliveryStorageNoticeAuditVO;
  7. import com.chinaitop.depot.business.service.BusinessDeliveryStorageNoticeService;
  8. import com.chinaitop.depot.business.service.BusinessStoreWareDetailService;
  9. import com.fasterxml.jackson.core.JsonParseException;
  10. import com.fasterxml.jackson.core.type.TypeReference;
  11. import com.fasterxml.jackson.databind.JsonMappingException;
  12. import com.fasterxml.jackson.databind.ObjectMapper;
  13. import com.github.pagehelper.PageInfo;
  14. import io.swagger.annotations.Api;
  15. import io.swagger.annotations.ApiImplicitParam;
  16. import io.swagger.annotations.ApiImplicitParams;
  17. import io.swagger.annotations.ApiOperation;
  18. import org.apache.commons.lang3.StringUtils;
  19. import org.springframework.http.MediaType;
  20. import org.springframework.web.bind.annotation.RequestMapping;
  21. import org.springframework.web.bind.annotation.RequestMethod;
  22. import org.springframework.web.bind.annotation.RestController;
  23. import javax.annotation.Resource;
  24. import javax.servlet.http.HttpServletRequest;
  25. import java.io.IOException;
  26. import java.util.ArrayList;
  27. import java.util.HashMap;
  28. import java.util.List;
  29. import java.util.Map;
  30. /**
  31. * 粮库业务管理-出入库通知单管理
  32. * <p>Title: BusinessDeliveryStorageNoticeController</p>
  33. * <p>Description: </p>
  34. * @author yaoyabin
  35. * @date 2017年10月25日 下午5:36:15
  36. */
  37. @RestController
  38. @RequestMapping(value="/depot/business/deliveryStorageNotice")
  39. @Api(value= "BusinessDeliveryStorageNoticeController", description = "出入库通知单管理")
  40. public class BusinessDeliveryStorageNoticeController {
  41. @Resource
  42. private BusinessDeliveryStorageNoticeService deliveryStorageNoticeService;
  43. @Resource
  44. private BusinessStoreWareDetailService businessStoreWareDetailService;
  45. /* @Resource
  46. private BasicCodeRuleService basicCodeRuleService;*/
  47. /**
  48. * 申请列表.
  49. * @param pageNum 页码
  50. * @param pageSize 每页显示条数
  51. * @return
  52. */
  53. @RequestMapping(value="/getList", produces = MediaType.APPLICATION_JSON_VALUE, method=RequestMethod.GET)
  54. @ApiOperation(value="申请列表", notes = "查询数据列表,支持分页")
  55. @ApiImplicitParams({
  56. @ApiImplicitParam(name = "pageNum", value = "页码", paramType = "query"),
  57. @ApiImplicitParam(name = "pageSize", value = "每页条数", paramType = "query"),
  58. @ApiImplicitParam(name = "userId", value = "当前登录人id", paramType = "query")
  59. })
  60. public PageInfo<BusinessDeliveryStorageNotice> getList(Integer pageNum, Integer pageSize,
  61. HttpServletRequest request, BusinessDeliveryStorageNotice notice,Integer userId) {
  62. /*UserInfo userInfo= (UserInfo) request.getSession().getAttribute("userInfo");
  63. Integer userId = userInfo.getUserId();*/
  64. List<BusinessDeliveryStorageNotice> list = deliveryStorageNoticeService.queryByExample(pageNum, pageSize, userId, notice, "FIELD(audit_state,0,3,1,2,4 ), id desc");
  65. PageInfo<BusinessDeliveryStorageNotice> pageInfo = new PageInfo<BusinessDeliveryStorageNotice>(list);
  66. return pageInfo;
  67. }
  68. //中转
  69. /**
  70. * 申请列表.
  71. * @param pageNum 页码
  72. * @param pageSize 每页显示条数
  73. * @return
  74. */
  75. @RequestMapping(value="/getListTransfer", produces = MediaType.APPLICATION_JSON_VALUE, method=RequestMethod.GET)
  76. @ApiOperation(value="申请列表(中转)", notes = "查询数据列表,支持分页")
  77. @ApiImplicitParams({
  78. @ApiImplicitParam(name = "pageNum", value = "页码", paramType = "query"),
  79. @ApiImplicitParam(name = "pageSize", value = "每页条数", paramType = "query"),
  80. @ApiImplicitParam(name = "userId", value = "当前登录人id", paramType = "query")
  81. })
  82. public PageInfo<BusinessDeliveryStorageNotice> getListTransfer(Integer pageNum, Integer pageSize,
  83. HttpServletRequest request, BusinessDeliveryStorageNotice notice,Integer userId) {
  84. /*UserInfo userInfo= (UserInfo) request.getSession().getAttribute("userInfo");
  85. Integer userId = userInfo.getUserId();*/
  86. List<BusinessDeliveryStorageNotice> list = deliveryStorageNoticeService.queryByExampleTransfer(pageNum, pageSize, userId, notice, "FIELD(audit_state,0,3,1,2,4 ), id desc");
  87. PageInfo<BusinessDeliveryStorageNotice> pageInfo = new PageInfo<BusinessDeliveryStorageNotice>(list);
  88. return pageInfo;
  89. }
  90. /**
  91. * 审批通过列表.
  92. * @param pageNum 页码
  93. * @param pageSize 每页显示条数
  94. * @return
  95. */
  96. @RequestMapping(value="/getAuditPassList", produces = MediaType.APPLICATION_JSON_VALUE, method=RequestMethod.GET)
  97. @ApiOperation(value="通知单审批通过列表", notes = "查询数据列表,支持分页")
  98. @ApiImplicitParams({
  99. @ApiImplicitParam(name = "pageNum", value = "页码", paramType = "query"),
  100. @ApiImplicitParam(name = "pageSize", value = "每页条数", paramType = "query")
  101. })
  102. public PageInfo<BusinessDeliveryStorageNotice> getAuditPassList(Integer pageNum, Integer pageSize, BusinessDeliveryStorageNotice notice) {
  103. notice.setAuditState(AuditType.AGREE.getAuditCode());
  104. List<BusinessDeliveryStorageNotice> list = deliveryStorageNoticeService.queryByExample(pageNum, pageSize, null, notice, "agree_time desc");
  105. PageInfo<BusinessDeliveryStorageNotice> pageInfo = new PageInfo<BusinessDeliveryStorageNotice>(list);
  106. return pageInfo;
  107. }
  108. /**
  109. * 获取进度列表.
  110. * @param pageNum
  111. * @param pageSize
  112. * @param deliveryStorageNotice
  113. * @return
  114. */
  115. @RequestMapping(value="/getScheduleList",produces = MediaType.APPLICATION_JSON_VALUE, method=RequestMethod.GET)
  116. @ApiOperation(value="获取通知单进度列表", notes = "查询数据列表,支持分页")
  117. @ApiImplicitParams({
  118. @ApiImplicitParam(name = "pageNum", value = "页码", paramType = "query"),
  119. @ApiImplicitParam(name = "pageSize", value = "每页条数", paramType = "query")
  120. })
  121. public PageInfo<BusinessDeliveryStorageNoticeAuditVO> getScheduleList(Integer pageNum, Integer pageSize, BusinessDeliveryStorageNotice deliveryStorageNotice) {
  122. PageInfo<BusinessDeliveryStorageNoticeAuditVO> pageInfo = deliveryStorageNoticeService.getScheduleList(pageNum, pageSize, deliveryStorageNotice);
  123. return pageInfo;
  124. }
  125. /**
  126. * 根据id查询.
  127. * @param id 主键
  128. * @return
  129. */
  130. @RequestMapping(value="/edit", produces = MediaType.APPLICATION_JSON_VALUE, method=RequestMethod.GET)
  131. @ApiOperation(value="根据id查找", notes = "根据id查找")
  132. @ApiImplicitParams({
  133. @ApiImplicitParam(name = "id", value = "通知单id", paramType = "query")
  134. })
  135. public Map<String, Object> edit(Integer id) {
  136. Map<String, Object> modelMap = new HashMap<String, Object>();
  137. if (id != null) {
  138. BusinessDeliveryStorageNotice deliveryStorageNotice = deliveryStorageNoticeService.findById(id);
  139. modelMap.put("deliveryStorageNotice", deliveryStorageNotice);
  140. List<BusinessStoreWareDetail> list = new ArrayList<BusinessStoreWareDetail>();
  141. Integer plan_id = deliveryStorageNotice.getPlanBid(); //计划ID
  142. Integer contract_id = deliveryStorageNotice.getContractBid(); //合同ID
  143. Map<String, Object> param_map = new HashMap<String, Object>();
  144. List<Map<String, Object>> map = null;
  145. if (null != contract_id) {
  146. list = businessStoreWareDetailService.getByZidAndType(contract_id, "contract");
  147. param_map.put("contract_id", contract_id);
  148. map = businessStoreWareDetailService.selectContractUseCount(param_map);
  149. } else if (null != plan_id) {
  150. list = businessStoreWareDetailService.getByZidAndType(plan_id, "plan");
  151. param_map.put("plan_id", plan_id);
  152. map = businessStoreWareDetailService.selectPlanUseCount(param_map);
  153. }
  154. BusinessStoreWareDetail obj = null;
  155. double sysl = 0d;
  156. double sum_use_num = 0d; //已使用总量
  157. double plan_sum_num = 0d; //原计划数量
  158. for (int i = 0; i < list.size(); i++) {
  159. obj = list.get(i);
  160. for (Map<String, Object> m : map) {
  161. if (obj.getHouseId().equals(m.get("house_id")) && obj.getWarehouseId().equals(m.get("warehouse_id"))) {
  162. if ("1".equals(deliveryStorageNotice.getBillType())) {
  163. plan_sum_num = Double.parseDouble(obj.getInCount());
  164. sum_use_num = Double.parseDouble(m.get("in_count")+"");
  165. if (sum_use_num <= plan_sum_num) {
  166. sysl = plan_sum_num - sum_use_num;
  167. obj.setRemainingNumber(sysl+""); //页面上明细列表的剩余数量
  168. } else if (sum_use_num > plan_sum_num){
  169. sysl = sum_use_num - plan_sum_num;
  170. obj.setRemainingNumber("超出:"+sysl);
  171. }
  172. }
  173. if ("3".equals(deliveryStorageNotice.getBillType())) {
  174. plan_sum_num = Double.parseDouble(obj.getOutCount());
  175. sum_use_num = Double.parseDouble(m.get("out_count")+"");
  176. if (sum_use_num <= plan_sum_num) {
  177. sysl = plan_sum_num - sum_use_num;
  178. obj.setOutRemainingNumber(sysl+""); //页面上明细列表的剩余数量
  179. } else if (sum_use_num > plan_sum_num){
  180. sysl = sum_use_num - plan_sum_num;
  181. obj.setOutRemainingNumber("超出:"+sysl);
  182. }
  183. }
  184. }
  185. }
  186. }
  187. //明细
  188. List<BusinessStoreWareDetail> transferNoticeList= businessStoreWareDetailService.getByZidAndType(id, StoreWareType.transferNotice.getValue());
  189. /*for (int i = 0; i < list.size(); i++) {
  190. obj = list.get(i);
  191. for (BusinessStoreWareDetail m : transferNoticeList) {
  192. if (obj.getHouseId().equals(m.getHouseId()) && obj.getWarehouseId().equals(m.getWarehouseId())) {
  193. if ("1".equals(deliveryStorageNotice.getBillType())) {
  194. m.setRemainingNumber(obj.getRemainingNumber());
  195. }
  196. if ("3".equals(deliveryStorageNotice.getBillType())) {
  197. m.setOutRemainingNumber(obj.getOutRemainingNumber());
  198. }
  199. }
  200. }
  201. }*/
  202. List<BusinessStoreWareDetail> noticelList= businessStoreWareDetailService.getByZidAndType(id, StoreWareType.notice.getValue());
  203. for (int i = 0; i < list.size(); i++) {
  204. obj = list.get(i);
  205. for (BusinessStoreWareDetail m : noticelList) {
  206. if (obj.getHouseId().equals(m.getHouseId()) && obj.getWarehouseId().equals(m.getWarehouseId())) {
  207. if ("1".equals(deliveryStorageNotice.getBillType())) {
  208. m.setRemainingNumber(obj.getRemainingNumber());
  209. }
  210. if ("3".equals(deliveryStorageNotice.getBillType())) {
  211. m.setOutRemainingNumber(obj.getOutRemainingNumber());
  212. }
  213. }
  214. }
  215. }
  216. if(transferNoticeList.size()>0 && transferNoticeList!=null){
  217. modelMap.put("storeWareDetailList", transferNoticeList);
  218. }
  219. if(noticelList.size()>0 && noticelList!=null){
  220. modelMap.put("storeWareDetailList", noticelList);
  221. }
  222. }
  223. return modelMap;
  224. }
  225. /**
  226. * 保存
  227. * @param deliveryStorageNoticeJson 主表信息
  228. * @param businessStoreWareDetailJson 明细
  229. * @return
  230. * @throws JsonParseException
  231. * @throws JsonMappingException
  232. * @throws IOException
  233. */
  234. @RequestMapping(value="/save", produces = MediaType.APPLICATION_JSON_VALUE, method=RequestMethod.POST)
  235. @ApiOperation(value="保存数据", notes = "保存")
  236. @SuppressWarnings("unchecked")
  237. @ApiImplicitParams({
  238. @ApiImplicitParam(name = "deliveryStorageNoticeJson", value = "主表数据", paramType = "query"),
  239. @ApiImplicitParam(name = "businessStoreWareDetailJson", value = "子表数据", paramType = "query"),
  240. @ApiImplicitParam(name = "userId", value = "当前登录人id", paramType = "query"),
  241. @ApiImplicitParam(name = "name", value = "当前登录人name", paramType = "query"),
  242. @ApiImplicitParam(name = "orgId", value = "当前登录人所在组织", paramType = "query"),
  243. @ApiImplicitParam(name = "depotInfoOrgId", value = "当前登录人所在组织id", paramType = "query")
  244. })
  245. public Map<String, Object> save(String deliveryStorageNoticeJson, String businessStoreWareDetailJson,
  246. Integer userId, String name ,Integer orgId,Integer depotInfoOrgId,HttpServletRequest request)
  247. throws JsonParseException, JsonMappingException, IOException {
  248. Map<String, Object> modelMap = new HashMap<String, Object>();
  249. /*UserInfo userInfo= (UserInfo) request.getSession().getAttribute("userInfo");
  250. OrgInfo depotInfo = (OrgInfo)request.getSession().getAttribute("depotInfo");*/
  251. try {
  252. // JSON字符串转对象
  253. ObjectMapper mapper = new ObjectMapper();
  254. BusinessDeliveryStorageNotice businessDeliveryStorageNotice = (BusinessDeliveryStorageNotice)mapper.readValue(deliveryStorageNoticeJson, BusinessDeliveryStorageNotice.class);
  255. List<BusinessStoreWareDetail> storeWareDetailList = null;
  256. if (businessStoreWareDetailJson != null) {
  257. storeWareDetailList = (List<BusinessStoreWareDetail>)mapper.readValue(businessStoreWareDetailJson, new TypeReference<List<BusinessStoreWareDetail>>(){});
  258. //通知单的明细 库点名称都是一样的,所以取第一个
  259. if(storeWareDetailList.get(0).getState() != storeWareDetailList.get(0).getOrgId()){ //代储库的
  260. businessDeliveryStorageNotice.setHouseId(storeWareDetailList.get(0).getState());
  261. }else{
  262. businessDeliveryStorageNotice.setHouseId(storeWareDetailList.get(0).getOrgId());
  263. }
  264. }
  265. if (businessDeliveryStorageNotice.getId() == null) {
  266. Map<String, Object> returnMap = deliveryStorageNoticeService.add(businessDeliveryStorageNotice, storeWareDetailList, userId, name , orgId, depotInfoOrgId);
  267. if (returnMap != null && returnMap.get("error") != null) {
  268. modelMap.put("status", "error");
  269. modelMap.put("msg", returnMap.get("error"));
  270. return modelMap;
  271. }
  272. modelMap.put("id", returnMap.get("id"));
  273. } else {
  274. deliveryStorageNoticeService.update(businessDeliveryStorageNotice, storeWareDetailList);
  275. }
  276. modelMap.put("status", "success");
  277. } catch (Exception e) {
  278. e.printStackTrace();
  279. modelMap.put("status", "error");
  280. modelMap.put("msg", "保存失败!");
  281. return modelMap;
  282. }
  283. return modelMap;
  284. }
  285. /**
  286. * 删除(同时删除流程)
  287. * @param id 主键
  288. * @param processInstanceId 流程实例id
  289. * @param deleteReason 删除原因
  290. * @return
  291. * @throws JsonParseException
  292. * @throws JsonMappingException
  293. * @throws IOException
  294. */
  295. @RequestMapping(value="/remove", produces = MediaType.APPLICATION_JSON_VALUE, method=RequestMethod.POST)
  296. @ApiOperation(value="通知单删除(同时删除流程)", notes = "删除.")
  297. @ApiImplicitParams({
  298. @ApiImplicitParam(name = "id", value = "主键id", paramType = "query"),
  299. @ApiImplicitParam(name = "processInstanceId", value = "流程实例id", paramType = "query"),
  300. @ApiImplicitParam(name = "deleteReason", value = "删除原因", paramType = "query"),
  301. @ApiImplicitParam(name = "planBid", value = "计划id", paramType = "query"),
  302. @ApiImplicitParam(name = "contractBid", value = "合同id", paramType = "query")
  303. })
  304. public Map<String, Object> remove(Integer id, String processInstanceId, String deleteReason,Integer planBid,Integer contractBid)
  305. throws JsonParseException, JsonMappingException, IOException {
  306. Map<String, Object> modelMap = new HashMap<String, Object>();
  307. if (id != null) {
  308. deliveryStorageNoticeService.remove(id, processInstanceId, deleteReason,planBid,contractBid);
  309. }
  310. modelMap.put("status", "success");
  311. return modelMap;
  312. }
  313. /**
  314. * 提交
  315. * @param businessDeliveryStorageNotice 业务主体
  316. * @param assignee 下一个审批人
  317. * @return
  318. */
  319. @RequestMapping(value="/submit", produces = MediaType.APPLICATION_JSON_VALUE, method=RequestMethod.POST)
  320. @ApiOperation(value="提交", notes = "提交")
  321. @ApiImplicitParams({
  322. @ApiImplicitParam(name = "businessDeliveryStorageNotice", value = "业务主体", paramType = "query"),
  323. @ApiImplicitParam(name = "assignee", value = "下一个审批人", paramType = "query"),
  324. @ApiImplicitParam(name = "userId", value = "当前登录人id", paramType = "query"),
  325. @ApiImplicitParam(name = "realName", value = "当前登录人name", paramType = "query")
  326. })
  327. public Map<String, Object> startProcess(BusinessDeliveryStorageNotice businessDeliveryStorageNotice, String assignee,Integer userId,String realName,HttpServletRequest request) {
  328. //UserInfo userInfo= (UserInfo) request.getSession().getAttribute("userInfo");
  329. Map<String, Object> returnMap = deliveryStorageNoticeService.submit(businessDeliveryStorageNotice, assignee, userId, realName);
  330. return returnMap;
  331. }
  332. /**
  333. * 启用
  334. * @param id 主键.
  335. * @return
  336. */
  337. @RequestMapping(value="/application", produces = MediaType.APPLICATION_JSON_VALUE, method=RequestMethod.POST)
  338. @ApiOperation(value="通知单启用", notes = "启用.")
  339. @ApiImplicitParams({
  340. @ApiImplicitParam(name = "id", value = "主键id", paramType = "query")
  341. })
  342. public Map<String, Object> application(Integer id) {
  343. Map<String, Object> modelMap = new HashMap<String, Object>();
  344. Map<String, String> returnMap = deliveryStorageNoticeService.application(id);
  345. if (StringUtils.isNoneBlank(returnMap.get("error"))) {
  346. modelMap.put("status", "error");
  347. modelMap.put("msg", returnMap.get("error"));
  348. } else {
  349. modelMap.put("status", "success");
  350. }
  351. return modelMap;
  352. }
  353. /**
  354. * 暂停
  355. * @param id 主键.
  356. * @return
  357. */
  358. @RequestMapping(value="/discontinue",produces = MediaType.APPLICATION_JSON_VALUE, method=RequestMethod.POST)
  359. @ApiOperation(value="通知单暂停", notes = "暂停.")
  360. @ApiImplicitParams({
  361. @ApiImplicitParam(name = "id", value = "主键id", paramType = "query")
  362. })
  363. public Map<String, Object> discontinue(Integer id ,String refuseReason) {
  364. Map<String, Object> modelMap = new HashMap<String, Object>();
  365. deliveryStorageNoticeService.discontinue(id,refuseReason);
  366. modelMap.put("status", "success");
  367. return modelMap;
  368. }
  369. /**
  370. * 终止.
  371. * @param id 主键.
  372. * @return
  373. */
  374. @RequestMapping(value="/finish",produces = MediaType.APPLICATION_JSON_VALUE, method=RequestMethod.POST)
  375. @ApiOperation(value="通知单终止", notes = "终止.")
  376. @ApiImplicitParams({
  377. @ApiImplicitParam(name = "id", value = "主键id", paramType = "query")
  378. })
  379. public Map<String, Object> finish(Integer id,String refuseReason) {
  380. Map<String, Object> modelMap = new HashMap<String, Object>();
  381. deliveryStorageNoticeService.finish(id,refuseReason);
  382. modelMap.put("status", "success");
  383. return modelMap;
  384. }
  385. /**
  386. * 中转保存
  387. * @param deliveryStorageNoticeJson 主表信息
  388. * @param businessStoreWareDetailJson 明细
  389. * @return
  390. * @throws JsonParseException
  391. * @throws JsonMappingException
  392. * @throws IOException
  393. */
  394. @RequestMapping(value="/addTransfer",produces = MediaType.APPLICATION_JSON_VALUE, method=RequestMethod.POST)
  395. @ApiOperation(value="中转保存", notes = "保存")
  396. @SuppressWarnings("unchecked")
  397. @ApiImplicitParams({
  398. @ApiImplicitParam(name = "deliveryStorageNoticeJson", value = "主表数据", paramType = "query"),
  399. @ApiImplicitParam(name = "businessStoreWareDetailJson", value = "子表数据", paramType = "query"),
  400. @ApiImplicitParam(name = "userId", value = "当前登录人id", paramType = "query"),
  401. @ApiImplicitParam(name = "name", value = "当前登录人name", paramType = "query"),
  402. @ApiImplicitParam(name = "orgId", value = "当前登录人所在组织", paramType = "query")
  403. })
  404. public Map<String, Object> addTransfer(String deliveryStorageNoticeJson, String businessStoreWareDetailJson, Integer userId, String name ,Integer orgId,HttpServletRequest request)
  405. throws JsonParseException, JsonMappingException, IOException {
  406. Map<String, Object> modelMap = new HashMap<String, Object>();
  407. /* UserInfo userInfo= (UserInfo) request.getSession().getAttribute("userInfo");
  408. OrgInfo depotInfo = (OrgInfo)request.getSession().getAttribute("depotInfo");*/
  409. try {
  410. // JSON字符串转对象
  411. ObjectMapper mapper = new ObjectMapper();
  412. BusinessDeliveryStorageNotice businessDeliveryStorageNotice = (BusinessDeliveryStorageNotice)mapper.readValue(deliveryStorageNoticeJson, BusinessDeliveryStorageNotice.class);
  413. businessDeliveryStorageNotice.setHouseId(orgId);
  414. //List<BusinessStoreWareDetail> storeWareDetailList = null;
  415. /*if (businessStoreWareDetailJson != null) {
  416. storeWareDetailList = (List<BusinessStoreWareDetail>)mapper.readValue(businessStoreWareDetailJson, new TypeReference<List<BusinessStoreWareDetail>>(){});
  417. }*/
  418. List<BusinessStoreWareDetail> storeWareDetailList = null;
  419. if (businessStoreWareDetailJson != null) {
  420. storeWareDetailList = (List<BusinessStoreWareDetail>)mapper.readValue(businessStoreWareDetailJson, new TypeReference<List<BusinessStoreWareDetail>>(){});
  421. }
  422. if (businessDeliveryStorageNotice.getId() == null) {
  423. Map<String, Object> returnMap = deliveryStorageNoticeService.addTransfer(businessDeliveryStorageNotice, storeWareDetailList, userId, name , orgId);
  424. if (returnMap != null && returnMap.get("error") != null) {
  425. modelMap.put("status", "error");
  426. modelMap.put("msg", returnMap.get("error"));
  427. return modelMap;
  428. }
  429. } else {
  430. //deliveryStorageNoticeService.update(businessDeliveryStorageNotice, storeWareDetailList);
  431. }
  432. modelMap.put("status", "success");
  433. } catch (Exception e) {
  434. e.printStackTrace();
  435. modelMap.put("status", "error");
  436. modelMap.put("msg", "保存失败!");
  437. return modelMap;
  438. }
  439. return modelMap;
  440. }
  441. }