TmstruckReceiptResultController.java 8.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192
  1. package com.steerinfo.dil.controller;
  2. import com.steerinfo.dil.feign.ESFeign;
  3. import com.steerinfo.dil.model.TmstruckReceiptResult;
  4. import com.steerinfo.dil.service.ITmstruckReceiptResultService;
  5. import com.steerinfo.dil.util.BaseRESTfulController;
  6. import com.steerinfo.dil.util.ColumnDataUtil;
  7. import com.steerinfo.dil.util.DataChange;
  8. import com.steerinfo.dil.util.PageListAdd;
  9. import com.steerinfo.framework.controller.RESTfulResult;
  10. import com.steerinfo.framework.service.pagehelper.PageHelper;
  11. import com.steerinfo.route.config.ImageFileUtils;
  12. import com.steerinfo.route.mapper.TmstruckArrivalResultMapper;
  13. import com.steerinfo.route.model.TmstruckReceiptResultChild;
  14. import com.steerinfo.route.service.impl.TmstruckReceiptResultChildServiceImpl;
  15. import io.swagger.annotations.ApiImplicitParam;
  16. import io.swagger.annotations.ApiImplicitParams;
  17. import io.swagger.annotations.ApiOperation;
  18. import org.springframework.beans.factory.annotation.Autowired;
  19. import org.springframework.web.bind.annotation.*;
  20. import java.math.BigDecimal;
  21. import java.text.SimpleDateFormat;
  22. import java.util.Calendar;
  23. import java.util.Date;
  24. import java.util.List;
  25. import java.util.Map;
  26. /**
  27. * TmstruckReceiptResult RESTful接口:
  28. * @author generator
  29. * @version 1.0-SNAPSHORT 2021-09-10 10:10
  30. * 类描述
  31. * 修订历史:
  32. * 日期:2021-09-10
  33. * 作者:generator
  34. * 参考:
  35. * 描述:TmstruckReceiptResult RESTful接口
  36. * @see null
  37. * @Copyright 湖南视拓信息技术股份有限公司. All rights reserved.
  38. */
  39. @RestController
  40. @RequestMapping("/${api.version}/tmstruckreceiptresults")
  41. public class TmstruckReceiptResultController extends BaseRESTfulController {
  42. @Autowired
  43. ITmstruckReceiptResultService tmstruckReceiptResultService;
  44. @Autowired
  45. TmstruckArrivalResultMapper tmstruckArrivalResultMapper;
  46. @Autowired
  47. TmstruckReceiptResultChildServiceImpl tmstruckReceiptResultChildService;
  48. @Autowired
  49. ESFeign esFeign;
  50. @Autowired
  51. ColumnDataUtil columnDataUtil;
  52. @Autowired
  53. ImageFileUtils imageFileUtils;
  54. private final SimpleDateFormat sdfDate = new SimpleDateFormat("yyyy-MM-dd");
  55. private final SimpleDateFormat sdfDateTime = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
  56. @ApiOperation(value="查询收货实绩")
  57. @ApiImplicitParams({
  58. @ApiImplicitParam(name = "mapValue", value = "表头和参数", required = false, dataType = "map"),
  59. @ApiImplicitParam(name = "apiId(107)", value = "动态表头", required = false, dataType = "Integer"),
  60. @ApiImplicitParam(name = "pageNum", value = "页码", required = false, dataType = "Integer"),
  61. @ApiImplicitParam(name = "pageSize", value = "页", required = false, dataType = "Integer"),
  62. @ApiImplicitParam(name = "status", value = "状态码", required = false, dataType = "Integer"),
  63. })
  64. @PostMapping("/getReceiveResult")
  65. public RESTfulResult getReceiveResult(@RequestBody(required=false) Map<String,Object> mapValue,
  66. Integer apiId,
  67. Integer pageNum,
  68. Integer pageSize,
  69. Integer orderType,
  70. String con
  71. ){
  72. mapValue.put("orderTypee", orderType);
  73. PageHelper.startPage(pageNum,pageSize);
  74. //分页数据
  75. List<Map<String, Object>> receiveResult = tmstruckReceiptResultService.getReceiveResult(mapValue);
  76. PageListAdd pageList = columnDataUtil.tableColumnData(apiId, null,receiveResult);
  77. return success(pageList);
  78. }
  79. @ApiOperation(value="新增钢材到异地库达州站驻港人员确定收货")
  80. @PostMapping("/addSteelNzReceiptResult")
  81. public RESTfulResult addSteelNzReceiptResult(@RequestBody(required = false) Map<String, Object> map) {
  82. int i = tmstruckReceiptResultService.addSteelNzReceiptResult(map);
  83. return success(i);
  84. }
  85. /**
  86. * 新增收货实绩
  87. * @param map
  88. * @return
  89. */
  90. @ApiOperation(value="新增收货实绩")
  91. @ApiImplicitParams({
  92. @ApiImplicitParam(name = "map", value = "收货实绩map", required = false, dataType = "java.util.Map")
  93. })
  94. @PostMapping(value = "/addTmstruckReceiptResult")
  95. public RESTfulResult addTmstruckReceiptResult(@RequestBody(required = false) Map<String, Object> map){
  96. BigDecimal alreadyExistsArrivalResult = tmstruckArrivalResultMapper.alreadyExistsArrivalResult((String) map.get("orderNumber"));
  97. if(alreadyExistsArrivalResult!=null){
  98. TmstruckReceiptResult tmstruckReceiptResult = new TmstruckReceiptResult();
  99. //获取运输订单号和收货点地址
  100. String orderNumber = (String) map.get("orderNumber");
  101. String resultArrivalAddress = (String) map.get("resultArrivalAddress");
  102. //获取空货箱照片、已签字的送货单照片
  103. String resultEmptyContainerPhoto = (String) map.get("url1");
  104. String resultSignedNotePhoto = (String) map.get("url2");
  105. tmstruckReceiptResult.setResultArrivalAddress(resultArrivalAddress);
  106. tmstruckReceiptResult.setResultEmptyContainerPhoto(resultEmptyContainerPhoto);
  107. tmstruckReceiptResult.setResultSignedNotePhoto(resultSignedNotePhoto);
  108. if(map.containsKey("url3")){
  109. //如果有,获取客户签收单照片
  110. String resultReceiveNotePhoto = (String) map.get("url3");
  111. tmstruckReceiptResult.setResultReceiveNotePhoto(resultReceiveNotePhoto);
  112. }
  113. //新增收货实绩主表
  114. BigDecimal receiptResultId = tmstruckReceiptResultService.addTmstruckReceiptResult(orderNumber, tmstruckReceiptResult);
  115. //初始化收货实绩子表信息
  116. TmstruckReceiptResultChild tmstruckReceiptResultChild = new TmstruckReceiptResultChild();
  117. //关联收货实绩主表
  118. tmstruckReceiptResultChild.setReceiptResultId(receiptResultId);
  119. //如果有,获取最多三张其他照片
  120. if(map.containsKey("fourFiles")){
  121. List<String> fourFiles = (List<String>) map.get("fourFiles");
  122. if(fourFiles.size()==0){}
  123. else if(fourFiles.size()==1){
  124. tmstruckReceiptResultChild.setOtherPhoto1(fourFiles.get(0));
  125. }else if(fourFiles.size()==2){
  126. tmstruckReceiptResultChild.setOtherPhoto1(fourFiles.get(0));
  127. tmstruckReceiptResultChild.setOtherPhoto2(fourFiles.get(1));
  128. }else {
  129. tmstruckReceiptResultChild.setOtherPhoto1(fourFiles.get(0));
  130. tmstruckReceiptResultChild.setOtherPhoto2(fourFiles.get(1));
  131. tmstruckReceiptResultChild.setOtherPhoto3(fourFiles.get(2));
  132. }
  133. }
  134. //新增收货实绩子表
  135. int i = tmstruckReceiptResultChildService.addTmstruckReceiptResultChild(tmstruckReceiptResultChild);
  136. return success(i);
  137. }else{
  138. return success(4);
  139. }
  140. }
  141. @ApiOperation(value="展示收货实绩信息")
  142. @ApiImplicitParams({
  143. @ApiImplicitParam(name = "apiId(470)", value = "表头", required = false, dataType = "Interger")
  144. })
  145. @PostMapping("/getReceiptResult")
  146. public RESTfulResult getReceiptResult(@RequestBody(required=false) Map<String, Object> mapValue,
  147. Integer apiId,
  148. Integer pageNum,
  149. Integer pageSize,
  150. String startTime,
  151. String endTime,
  152. String con){
  153. if(con!=null) {
  154. mapValue.put("con", con);
  155. }
  156. DataChange.queryDataByDateTime(startTime, endTime, mapValue, sdfDateTime);
  157. PageHelper.startPage(pageNum,pageSize);
  158. List<Map<String, Object>> receiptResultInfo = tmstruckReceiptResultService.getReceiptResultInfo(mapValue);
  159. PageListAdd pageList = columnDataUtil.tableColumnData(apiId,null,receiptResultInfo);
  160. return success(pageList);
  161. }
  162. @ApiOperation(value = "获取抵达作业照片")
  163. @PostMapping("/getReceiptPhoto")
  164. public RESTfulResult getReceiptPhoto(@RequestParam String orderNumber){
  165. String receiptPhoto = tmstruckReceiptResultService.getReceiptPhoto(orderNumber);
  166. String photo =null;
  167. try {
  168. photo = imageFileUtils.downloadFile(receiptPhoto).toString();
  169. } catch (Exception e) {
  170. e.printStackTrace();
  171. }
  172. return success(photo);
  173. }
  174. }