AmsSaleOrderMaterialController.java 12 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317
  1. package com.steerinfo.dil.controller;
  2. import com.steerinfo.dil.feign.ColumnDataFeign;
  3. import com.steerinfo.dil.feign.ESFeign;
  4. import com.steerinfo.dil.model.AmsSaleOrderMaterial;
  5. import com.steerinfo.dil.service.IAmsSaleOrderMaterialService;
  6. import com.steerinfo.dil.util.BaseRESTfulController;
  7. import com.steerinfo.dil.util.ColumnDataUtil;
  8. import com.steerinfo.dil.util.PageListAdd;
  9. import com.steerinfo.framework.controller.RESTfulResult;
  10. import com.steerinfo.framework.service.pagehelper.PageHelper;
  11. import io.swagger.annotations.ApiImplicitParam;
  12. import io.swagger.annotations.ApiImplicitParams;
  13. import io.swagger.annotations.ApiOperation;
  14. import org.springframework.beans.factory.annotation.Autowired;
  15. import org.springframework.web.bind.annotation.*;
  16. import java.math.BigDecimal;
  17. import java.util.HashMap;
  18. import java.util.List;
  19. import java.util.Map;
  20. /**
  21. * AmsSaleOrderMaterial RESTful接口:
  22. * @author generator
  23. * @version 1.0-SNAPSHORT 2021-09-06 07:10
  24. * 类描述
  25. * 修订历史:
  26. * 日期:2021-09-06
  27. * 作者:generator
  28. * 参考:
  29. * 描述:AmsSaleOrderMaterial RESTful接口
  30. * @see null
  31. * @Copyright 湖南视拓信息技术股份有限公司. All rights reserved.
  32. */
  33. @RestController
  34. @RequestMapping("/${api.version}/amssaleordermaterials")
  35. public class AmsSaleOrderMaterialController extends BaseRESTfulController {
  36. @Autowired
  37. IAmsSaleOrderMaterialService amsSaleOrderMaterialService;
  38. @Autowired
  39. ColumnDataFeign columnDataFeign;
  40. @Autowired
  41. ColumnDataUtil columnDataUtil;
  42. @Autowired
  43. ESFeign esFeign;
  44. /**
  45. * 新增销售订单物资信息
  46. * @param amsSaleOrderMaterial
  47. * @return
  48. */
  49. @ApiOperation(value="新增销售订单物资信息")
  50. @ApiImplicitParams({
  51. @ApiImplicitParam(name = "amsSaleOrderMaterial", value = "销售订单物资信息对象", required = false, dataType = "AmsSaleOrderMaterial")
  52. })
  53. @PostMapping(value = "/addAmsSaleOrderMaterial")
  54. public RESTfulResult addAmsSaleOrderMaterial(@RequestBody(required = false) AmsSaleOrderMaterial amsSaleOrderMaterial){
  55. int i = amsSaleOrderMaterialService.addAmsSaleOrderMaterial(amsSaleOrderMaterial);
  56. return success(i);
  57. }
  58. /**
  59. * 通过主键渲染销售订单物资信息
  60. * @param saleOrderMaterialId
  61. * @return
  62. */
  63. @ApiOperation(value="通过主键渲染销售订单物资信息")
  64. @ApiImplicitParams({
  65. @ApiImplicitParam(name = "saleOrderMaterialId", value = "主键Id", required = false, dataType = "java.math.BigDecimal")
  66. })
  67. @PostMapping(value = "/getAmsSaleOrderMaterialBySaleOrderMaterialId")
  68. public RESTfulResult getAmsSaleOrderMaterialBySaleOrderMaterialId(@RequestParam BigDecimal saleOrderMaterialId){
  69. List<Map<String, Object>> maps = amsSaleOrderMaterialService.selectBySaleOrderMaterialId(saleOrderMaterialId);
  70. return success(maps);
  71. }
  72. /**
  73. * 通过主键修改销售订单物资信息
  74. * @param amsSaleOrderMaterial
  75. * @return
  76. */
  77. @ApiOperation(value="通过主键修改销售订单物资信息")
  78. @ApiImplicitParams({
  79. @ApiImplicitParam(name = "amsSaleOrderMaterial", value = "销售订单物资信息对象", required = false, dataType = "AmsSaleOrderMaterial")
  80. })
  81. @PostMapping(value = "/updateAmsSaleOrderMaterial")
  82. public RESTfulResult updateAmsSaleOrderMaterial(@RequestBody(required = false) AmsSaleOrderMaterial amsSaleOrderMaterial){
  83. int i = amsSaleOrderMaterialService.updateAmsSaleOrderMaterial(amsSaleOrderMaterial);
  84. return success(i);
  85. }
  86. /**
  87. * 通过主键删除销售订单物资信息
  88. * @param saleOrderMaterialId
  89. * @return
  90. */
  91. @ApiOperation(value="通过主键删除销售订单物资信息")
  92. @ApiImplicitParams({
  93. @ApiImplicitParam(name = "saleOrderMaterialId", value = "主键Id", required = false, dataType = "java.math.BigDecimal")
  94. })
  95. @PostMapping(value = "/deleteAmsSaleOrderMaterialBySaleOrderMaterialId")
  96. public RESTfulResult deleteAmsSaleOrderMaterialBySaleOrderMaterialId(BigDecimal saleOrderMaterialId){
  97. int i = amsSaleOrderMaterialService.deleteAmsSaleOrderMaterialBySaleOrderMaterialId(saleOrderMaterialId);
  98. return success(i);
  99. }
  100. /**
  101. * 通过主键获取收货地址
  102. * @param saleOrderMaterialId
  103. * @return
  104. */
  105. @ApiOperation(value="通过主键获取收货地址")
  106. @ApiImplicitParams({
  107. @ApiImplicitParam(name = "saleOrderMaterialId", value = "主键Id", required = false, dataType = "java.math.BigDecimal")
  108. })
  109. @PostMapping(value = "/getAddress")
  110. public RESTfulResult getAddress(@RequestParam BigDecimal saleOrderMaterialId){
  111. String address = amsSaleOrderMaterialService.getAddress(saleOrderMaterialId);
  112. return success(address);
  113. }
  114. /**
  115. * 通过主键修改销售订单信息(新增一条),过去的成为历史记录
  116. * @param map
  117. * @return
  118. */
  119. @ApiOperation(value="通过主键修改销售订单信息(新增一条),过去的成为历史记录")
  120. @ApiImplicitParams({
  121. @ApiImplicitParam(name = "map", value = "销售订单物资信息map", required = false, dataType = "java.util.Map")
  122. })
  123. @PostMapping(value = "/updateAddress")
  124. public RESTfulResult updateAddress(@RequestBody(required = false) Map<String,Object> map){
  125. int i = amsSaleOrderMaterialService.updateAddress(map);
  126. return success(i);
  127. }
  128. /**
  129. * 获取收货地址
  130. * @param
  131. * @return
  132. */
  133. @ApiOperation(value="获取收货地址")
  134. @ApiImplicitParams({
  135. })
  136. @GetMapping(value = "/getAddressDeliveryAddress")
  137. public RESTfulResult getAddressDeliveryAddress(){
  138. return success(amsSaleOrderMaterialService.getAddressDeliveryAddress());
  139. }
  140. /**
  141. * 展示车序号信息
  142. * @param mapValue
  143. * @return
  144. */
  145. @ApiOperation(value="展示车序号信息")
  146. @ApiImplicitParams({
  147. @ApiImplicitParam(name = "map", value = "销售订单物资信息map", required = false, dataType = "java.util.Map"),
  148. @ApiImplicitParam(name = "apiId", value = "411", required = false, dataType = "java.util.Map")
  149. })
  150. @PostMapping(value = "/getTruckNoList")
  151. public RESTfulResult getTruckNoList(@RequestBody(required = false) Map<String,Object> mapValue,
  152. Integer apiId,
  153. Integer pageNum,
  154. Integer pageSize,
  155. Integer issueStatus,
  156. String con){
  157. int count=0;
  158. if(con != null){
  159. if(!"undefined".equals(con)){
  160. String index="get_truckno_list";//设置要查询的索引名称
  161. return success(esFeign.getConResult(mapValue,index,apiId,pageNum,pageSize,con));//获取查询结果
  162. }
  163. }
  164. if (issueStatus != null) {
  165. mapValue.put("issueStatus",issueStatus);
  166. count++;
  167. }
  168. //不分页筛选数据
  169. List<Map<String, Object>> allSaleOrderList = null;
  170. //如果有条件查询则跳过初始化,和创建索引
  171. if(mapValue.size() == count){
  172. //将查询结果存入索引中
  173. allSaleOrderList = amsSaleOrderMaterialService.getTruckNoList(mapValue);
  174. Map<String, Object> map1 = new HashMap<>();
  175. //添加索引
  176. map1.put("index","get_truckno_list");
  177. //添加id
  178. map1.put("indexId","saleOrderMaterialId");
  179. allSaleOrderList.add(map1);
  180. //新建索引
  181. esFeign.insertIndex(allSaleOrderList);
  182. //删除
  183. allSaleOrderList.remove(allSaleOrderList.size()-1);
  184. }
  185. if(allSaleOrderList== null)
  186. allSaleOrderList = amsSaleOrderMaterialService.getTruckNoList(mapValue);
  187. PageHelper.startPage(pageNum,pageSize);
  188. //分页数据
  189. List<Map<String, Object>> saleOrderList = amsSaleOrderMaterialService.getTruckNoList(mapValue);
  190. PageListAdd pageList = columnDataUtil.tableColumnData(apiId, allSaleOrderList,saleOrderList);
  191. return success(pageList);
  192. }
  193. /**
  194. * 车序号与物资新增
  195. * @param mapList
  196. * @return
  197. */
  198. @ApiOperation(value="车序号与物资新增")
  199. @ApiImplicitParams({
  200. @ApiImplicitParam(name = "addTruckNo", value = "车序号与物资新增", required = false, dataType = "AmsSaleOrderMaterial")
  201. })
  202. @PostMapping(value = "/addTruckNo")
  203. public RESTfulResult addTruckNo(@RequestBody List<Map<String,Object>> mapList){
  204. System.out.println("mapList"+mapList);
  205. int result = amsSaleOrderMaterialService.addTruckNo(mapList);
  206. return success(result);
  207. }
  208. /**
  209. * 下发车序号
  210. * @param mapList
  211. * @return
  212. */
  213. @ApiOperation(value="下发车序号")
  214. @ApiImplicitParams({
  215. @ApiImplicitParam(name = "issueTruckNo", value = "车序号列表", required = false, dataType = "AmsSaleOrderMaterial")
  216. })
  217. @PostMapping(value = "/issueTruckNo")
  218. public RESTfulResult issueTruckNo(@RequestBody List<Map<String,Object>> mapList){
  219. int result = amsSaleOrderMaterialService.issueTruckNo(mapList);
  220. return success(result);
  221. }
  222. /**
  223. * 展示车序号下的物资详情
  224. * @param saleOrderMaterialId
  225. * @return
  226. */
  227. @ApiOperation(value="展示车序号下的物资详情")
  228. @PostMapping(value = "/getTruckNoMaterialList")
  229. public RESTfulResult getTruckNoMaterialList(@RequestParam Integer saleOrderMaterialId){
  230. List<Map<String, Object>> truckNoMaterialList = amsSaleOrderMaterialService.getTruckNoMaterialList(new BigDecimal(saleOrderMaterialId));
  231. return success(truckNoMaterialList);
  232. }
  233. /**
  234. * 展示销售订单下的物资详情
  235. * @param saleOrderId
  236. * @return
  237. */
  238. @ApiOperation(value="展示销售订单下的物资详情")
  239. @PostMapping(value = "/getSaleMaterialList")
  240. public RESTfulResult getSaleMaterialList(@RequestParam Integer saleOrderId){
  241. List<Map<String, Object>> saleMaterialList = amsSaleOrderMaterialService.getSaleMaterialList(new BigDecimal(saleOrderId));
  242. return success(saleMaterialList);
  243. }
  244. @ApiOperation(value="销售直接选择车牌号派发运输订单")
  245. @PostMapping("dispatchTruckOrderBySale")
  246. public RESTfulResult dispatchTruckOrderBySale(@RequestBody Map<String,Object> mapValue){
  247. int result = amsSaleOrderMaterialService.dispatchTruckOrderBySale(mapValue);
  248. if (result == -1) {
  249. return failed("该销售订单的净重已达到97%");
  250. }
  251. else {
  252. return success(result);
  253. }
  254. }
  255. @ApiOperation(value="承运商直接选择车牌号派发运输订单")
  256. @PostMapping("dispatchTruckOrderByCarrier")
  257. public RESTfulResult dispatchTruckOrderByCarrier(@RequestBody Map<String,Object> mapValue){
  258. int result = amsSaleOrderMaterialService.dispatchTruckOrderByCarrier(mapValue);
  259. return success(result);
  260. }
  261. @ApiOperation(value="关闭销售订单")
  262. @PostMapping("closeSaleOrder")
  263. public RESTfulResult closeSaleOrder(@RequestParam Integer saleOrderId){
  264. int result = amsSaleOrderMaterialService.closeSaleOrder(new BigDecimal(saleOrderId));
  265. return success(result);
  266. }
  267. @ApiOperation(value = "得到单价和单价id")
  268. @PostMapping("/getPriceMap")
  269. public RESTfulResult getPriceMap(@RequestBody Map<String,Object> map) {
  270. Map<String,Object> priceMap = amsSaleOrderMaterialService.getPriceMap(map);
  271. return success(priceMap);
  272. }
  273. @ApiOperation(value = "得到单价和单价id")
  274. @PostMapping("/getBenPrice")
  275. public RESTfulResult getBenPrice(@RequestBody Map<String,Object> map) {
  276. Map<String,Object> priceMap = amsSaleOrderMaterialService.getBenPrice(map);
  277. return success(priceMap);
  278. }
  279. @ApiOperation(value="销售直接选择车牌号派发副产品运输订单")
  280. @PostMapping("dispatchByproductOrderBySale")
  281. public RESTfulResult dispatchByproductOrderBySale(@RequestBody Map<String,Object> mapValue){
  282. int result = amsSaleOrderMaterialService.dispatchByproductOrderBySale(mapValue);
  283. if (result == -1) {
  284. return failed("该销售订单的净重已达到97%");
  285. }
  286. else {
  287. return success(result);
  288. }
  289. }
  290. }