AskGoodsController.java 13 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461
  1. package com.tld.controller;
  2. import com.alibaba.fastjson.JSONArray;
  3. import com.alibaba.fastjson.JSONObject;
  4. import com.tld.excel.ExcelUtils;
  5. import com.tld.model.*;
  6. import com.tld.service.AskGoodsService;
  7. import com.tld.util.PassToken;
  8. import org.springframework.beans.factory.annotation.Autowired;
  9. import org.springframework.web.bind.annotation.*;
  10. import org.springframework.web.multipart.MultipartFile;
  11. import javax.servlet.http.HttpServletRequest;
  12. import javax.servlet.http.HttpServletResponse;
  13. import java.util.HashMap;
  14. import java.util.LinkedList;
  15. import java.util.List;
  16. import java.util.Map;
  17. /**
  18. * 生产领料
  19. */
  20. @RestController
  21. @RequestMapping("askGoods")
  22. public class AskGoodsController {
  23. @Autowired
  24. private AskGoodsService askGoodsService;
  25. /**
  26. * 查询生产领料数据
  27. * @param askGoods 参数
  28. * @return 返回结果
  29. */
  30. @GetMapping("getAskGoods")
  31. public Map<String, Object> getAskGoodsList(AskGoods askGoods){
  32. return askGoodsService.getAskGoodsfList(askGoods);
  33. }
  34. /**
  35. * 查询指定生产单的物料
  36. * @param askGoods 参数
  37. * @return 返回结果
  38. */
  39. @GetMapping("getAskGoodsMaterial")
  40. public Map<String, Object> getAskGoodsMaterial(AskGoods askGoods){
  41. return askGoodsService.getAskGoodsMaterial(askGoods);
  42. }
  43. /**
  44. * 物料库位选择
  45. * @param askGoods 参数
  46. * @return 返回结果
  47. */
  48. @GetMapping("getMaterialCk")
  49. public Map<String, Object> getMaterialCk(AskGoods askGoods){
  50. return askGoodsService.getMaterialCk(askGoods);
  51. }
  52. /**
  53. * 插入出库虚拟表
  54. * @param askGoods 参数
  55. * @return 返回结果
  56. */
  57. @PostMapping("addAskGoodsVitrual")
  58. public Map<String, Object> addAskGoodsVitrual(@RequestBody AskGoods askGoods){
  59. return askGoodsService.addAskGoodsVitrual(askGoods);
  60. }
  61. /**
  62. * 跨越退料
  63. * @param askGoods
  64. * @return
  65. */
  66. @PostMapping("addAskGoodsVitrualMinus")
  67. public Map<String, Object> addAskGoodsVitrualMinus(@RequestBody AskGoods askGoods){
  68. return askGoodsService.addAskGoodsVitrualMinus(askGoods);
  69. }
  70. /**
  71. * 移库入虚拟库
  72. * @param askGoods 參數
  73. * @return 返回結果
  74. */
  75. @PostMapping("addWarehouseTransferVitrual")
  76. public Map<String, Object> addWarehouseTransferVitrual(@RequestBody AskGoods askGoods){
  77. return askGoodsService.addWarehouseTransferVitrual(askGoods);
  78. }
  79. /**
  80. * 出库
  81. */
  82. @GetMapping("OutOfLibrary")
  83. public Map<String, Object> OutOfLibrary(String uniqueCode, String type, String askGoodsId, String name){
  84. return askGoodsService.OutOfLibrary(uniqueCode, type, askGoodsId, name);
  85. }
  86. /**
  87. * 查询出库流水
  88. * askGoods 参数
  89. * @return 返回结果
  90. */
  91. @GetMapping("getRemoval")
  92. public Map<String, Object> getRemoval(AskGoods askGoods){
  93. return askGoodsService.getRemoval(askGoods);
  94. }
  95. /**
  96. * 导出流水
  97. * @param askGoods 参数
  98. * @param response
  99. */
  100. @GetMapping("export")
  101. public void userExport(AskGoods askGoods, HttpServletResponse response) {
  102. askGoodsService.export(askGoods, response);
  103. }
  104. /**
  105. * 查询出库虚拟表数据
  106. * @param uniqueCode pda唯一标识
  107. * @return 返回结果
  108. */
  109. @GetMapping("getAskGoodsVitrual")
  110. public Map<String, Object> getAskGoodsVitrual(String uniqueCode, String type){
  111. return askGoodsService.getAskGoodsVitrual(uniqueCode, type);
  112. }
  113. /**
  114. * 删除出库虚拟表指定数据
  115. * @param id 指定id
  116. * @return 返回结果
  117. */
  118. @GetMapping("delAskGoodsVitrual")
  119. public Map<String, Object> delAskGoodsVitrual(String id, String type) {
  120. return askGoodsService.delAskGoodsVitrual(id, type);
  121. }
  122. /**
  123. * 查询半成品出库物料
  124. * @param askGoods 参数
  125. * @return 返回结果
  126. */
  127. @GetMapping("getGoodsHalf")
  128. public Map<String, Object> getGoodsHalf(AskGoods askGoods){
  129. return askGoodsService.getGoodsHalf(askGoods);
  130. }
  131. /**
  132. * 半成品出库流水
  133. * @param askGoods 参数
  134. * @return 返回结果
  135. */
  136. @GetMapping("getRemovalHalfProduct")
  137. public Map<String, Object> getRemovalHalfProduct(AskGoods askGoods){
  138. return askGoodsService.getRemovalHalfProduct(askGoods);
  139. }
  140. /**
  141. * 半成品出库流水 导出
  142. * @param askGoods 参数
  143. */
  144. @GetMapping("getRemovalHalfProductExcel")
  145. public void getRemovalHalfProductExcel(AskGoods askGoods, HttpServletResponse response){
  146. askGoodsService.getRemovalHalfProductExcel(askGoods, response);
  147. }
  148. /**
  149. * 产成品出库流水
  150. * @param askGoods 参数
  151. * @return 返回结果
  152. */
  153. @GetMapping("getRemovalHalf")
  154. public Map<String, Object> getRemovalHalf(AskGoods askGoods){
  155. return askGoodsService.getRemovalHalf(askGoods);
  156. }
  157. /**
  158. * 产成品出库流水修改连翻号
  159. * @param askGoods 参数
  160. * @return 返回结果
  161. */
  162. @PutMapping("getRemovalHalfUpdSerial")
  163. public Map<String, Object> getRemovalHalfUpdSerial( @RequestBody AskGoods askGoods){
  164. return askGoodsService.getRemovalHalfUpdSerial(askGoods);
  165. }
  166. /**
  167. * 产成品出库流水导出
  168. * @param askGoods 参数
  169. * @param response 参数
  170. * @return 返回结果
  171. */
  172. @GetMapping("getRemovalHalfExcel")
  173. public void getRemovalHalfExcel(AskGoods askGoods, HttpServletResponse response){
  174. askGoodsService.getRemovalHalfExcel(askGoods, response);
  175. }
  176. /**
  177. * 其他出库
  178. * @param askGoods 参数
  179. * @return 返回结果
  180. */
  181. @GetMapping("otherAskGoods")
  182. public Map<String, Object> otherAskGoods(AskGoods askGoods){
  183. return askGoodsService.otherAskGoods(askGoods);
  184. }
  185. /**
  186. * 删除生产领料
  187. * @param id 参数
  188. * @return 返回结果
  189. */
  190. @DeleteMapping("delAskGoods")
  191. public Map<String, Object> delAskGoods(String id, HttpServletRequest request){
  192. return askGoodsService.delAskGoods(id, request);
  193. }
  194. @GetMapping("test")
  195. @PassToken
  196. public void test(){
  197. askGoodsService.test();
  198. }
  199. @GetMapping("testTwo")
  200. @PassToken
  201. public void testTwo(){
  202. askGoodsService.testTwo();
  203. }
  204. /**
  205. * 入库回传
  206. * */
  207. @GetMapping("test03")
  208. @PassToken
  209. public void test03(){
  210. askGoodsService.test03();
  211. }
  212. /**
  213. * 生产收货接口文档/报工单 w
  214. * */
  215. @GetMapping("test04")
  216. @PassToken
  217. public void test04(){
  218. askGoodsService.test04();
  219. }
  220. /**
  221. * 出库回传数据导入
  222. * @param file 文件流
  223. * @return 返回结果
  224. * @throws Exception 返回异常
  225. */
  226. @PostMapping("/import")
  227. public Map<String, Object> importExcel(@RequestPart("file") MultipartFile file) throws Exception{
  228. Map<String, Object> map = new HashMap<>();
  229. JSONArray array = ExcelUtils.readMultipartFile(file);
  230. List<OutgoingReturn> list = new LinkedList<>();
  231. for(int i = 0; i < array.size(); i++){
  232. JSONObject jsonObject = array.getJSONObject(i);
  233. OutgoingReturn outgoingReturn = new OutgoingReturn()
  234. .setAskId(jsonObject.get("要货申请ID").toString())
  235. .setAskCode(jsonObject.get("要货申请单号").toString())
  236. .setEntryNumber(jsonObject.get("要货申请分录ID").toString())
  237. .setAmount(jsonObject.get("数量").toString())
  238. .setAmountNum(jsonObject.get("已发数量").toString())
  239. .setAmountNumber(jsonObject.get("取消数量").toString())
  240. .setMoveType(jsonObject.get("类型").toString())
  241. .setMaterialId(jsonObject.get("物料ID").toString())
  242. .setInventoryOrganization(jsonObject.get("库存组织ID").toString())
  243. .setWarehouse(jsonObject.get("仓库ID").toString())
  244. .setWbs(jsonObject.get("WBSID").toString());
  245. list.add(outgoingReturn);
  246. }
  247. askGoodsService.importExcel(list);
  248. map.put("msg", "200");
  249. map.put("data", array.size());
  250. return map;
  251. }
  252. /**
  253. * 存入GS返回数据/出库回传
  254. * */
  255. @GetMapping("merge")
  256. @PassToken
  257. public void merge(){
  258. askGoodsService.merge();
  259. }
  260. /**
  261. * 从父子表存入GS返回数据/出库回传
  262. * */
  263. @GetMapping("mergeGs")
  264. @PassToken
  265. public void mergeGs(){
  266. askGoodsService.mergeGs();
  267. }
  268. /**
  269. * 出库回传跑数据
  270. * */
  271. @GetMapping("outgoingReturn")
  272. @PassToken
  273. public void outgoingReturn(){
  274. askGoodsService.outgoingReturn();
  275. }
  276. /**
  277. * 存入GS返回数据/入库回传
  278. * */
  279. @GetMapping("returnInStorage")
  280. @PassToken
  281. public void returnInStorage(){
  282. askGoodsService.returnInStorage();
  283. }
  284. /**
  285. * 出库错误信息回调
  286. * */
  287. @GetMapping("outgoingReturnError")
  288. @PassToken
  289. public void outgoingReturnError(){
  290. askGoodsService.outgoingReturnError();
  291. }
  292. /**
  293. * 销售出库导入数据
  294. * @param file 文件流
  295. * @return 返回结果
  296. * @throws Exception 返回异常
  297. */
  298. @PostMapping("/marketImport")
  299. public Map<String, Object> marketImport(@RequestPart("file") MultipartFile file) throws Exception{
  300. Map<String, Object> map = new HashMap<>();
  301. JSONArray array = ExcelUtils.readMultipartFile(file);
  302. List<MarketReturn> list = new LinkedList<>();
  303. for(int i = 0; i < array.size(); i++){
  304. JSONObject jsonObject = array.getJSONObject(i);
  305. MarketReturn marketReturn = new MarketReturn()
  306. .setOrderNumber(jsonObject.get("订单号").toString())
  307. .setOrderOfficer(jsonObject.get("订单人员").toString())
  308. .setSupplierName(jsonObject.get("供应商").toString())
  309. .setMaterialCode(jsonObject.get("物料号").toString())
  310. .setMaterialName(jsonObject.get("物料描述").toString())
  311. .setNum(jsonObject.get("数量").toString())
  312. .setArrivalTime(jsonObject.get("到货时间").toString())
  313. .setArrivalType(jsonObject.get("到货方式").toString())
  314. .setCompany(jsonObject.get("公司").toString())
  315. .setRemark(jsonObject.get("备注").toString())
  316. .setDeliveryOrder(jsonObject.get("销售交货单").toString());
  317. list.add(marketReturn);
  318. }
  319. askGoodsService.marketImport(list);
  320. map.put("msg", "200");
  321. map.put("data", array.size());
  322. return map;
  323. }
  324. /**
  325. * 存入GS返回数据/销售出库
  326. * */
  327. @GetMapping("market")
  328. @PassToken
  329. public void market(){
  330. askGoodsService.market();
  331. }
  332. /**
  333. * 销售发货跑数据
  334. * */
  335. @GetMapping("marketReturn")
  336. @PassToken
  337. public void marketReturn(){
  338. askGoodsService.marketReturn();
  339. }
  340. /**
  341. * 入库流水导出
  342. * @param askGoods 参数
  343. * @param response 参数
  344. * @return 返回结果
  345. */
  346. @GetMapping("getStorage")
  347. @PassToken
  348. public void getStorage(AskGoods askGoods, HttpServletResponse response){
  349. askGoodsService.getStorage(askGoods, response);
  350. }
  351. /**
  352. * 入库错误信息回调
  353. * */
  354. @GetMapping("storageReturnError")
  355. @PassToken
  356. public void storageReturnError(){
  357. askGoodsService.storageReturnError();
  358. }
  359. /**
  360. * 移库错误信息回调
  361. * */
  362. @GetMapping("parkingReturnError")
  363. @PassToken
  364. public void parkingReturnError(){
  365. askGoodsService.parkingReturnError();
  366. }
  367. /**
  368. * 移库跑数据
  369. * */
  370. @GetMapping("shiftingParkingReturn")
  371. @PassToken
  372. public void shiftingParkingReturn(){
  373. askGoodsService.shiftingParkingReturn();
  374. }
  375. /**
  376. * 其它入库错误信息回调
  377. * */
  378. @GetMapping("otherWarehousingReturnError")
  379. @PassToken
  380. public void otherWarehousingReturnError(){
  381. askGoodsService.otherWarehousingReturnError();
  382. }
  383. /**
  384. * 转JSON
  385. * */
  386. @GetMapping("jsonError")
  387. @PassToken
  388. public void jsonError(){
  389. askGoodsService.jsonError();
  390. }
  391. /**
  392. * 生产收货错误信息回调
  393. * */
  394. @GetMapping("ProductionReturnError")
  395. @PassToken
  396. public void ProductionReturnError(){
  397. askGoodsService.ProductionReturnError();
  398. }
  399. /**
  400. * 移库获取单据物料code分录号数量
  401. * */
  402. @GetMapping("jsonErrorParking")
  403. @PassToken
  404. public void jsonErrorParking(){
  405. askGoodsService.jsonErrorParking();
  406. }
  407. /**
  408. * error错误信息全部跑调用错误回传
  409. * */
  410. @GetMapping("errorParkingReturn")
  411. @PassToken
  412. public void errorParkingReturn(){
  413. askGoodsService.errorParkingReturn();
  414. }
  415. }