BackgroundProcessingController.java 13 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280
  1. package com.steerinfo.dil.controller;
  2. import com.steerinfo.dil.mapper.BackgroundProcessingMapper;
  3. import com.steerinfo.dil.mapper.OmstruckOrderMapper;
  4. import com.steerinfo.dil.mapper.UniversalMapper;
  5. import com.steerinfo.dil.service.impl.BackgroundProcessingServiceImpl;
  6. import com.steerinfo.dil.util.BaseRESTfulController;
  7. import com.steerinfo.dil.util.DataChange;
  8. import com.steerinfo.framework.controller.RESTfulResult;
  9. import io.swagger.annotations.ApiOperation;
  10. import org.springframework.beans.factory.annotation.Autowired;
  11. import org.springframework.transaction.annotation.Transactional;
  12. import org.springframework.web.bind.annotation.PostMapping;
  13. import org.springframework.web.bind.annotation.RequestBody;
  14. import org.springframework.web.bind.annotation.RequestMapping;
  15. import org.springframework.web.bind.annotation.RestController;
  16. import java.util.ArrayList;
  17. import java.util.HashMap;
  18. import java.util.List;
  19. import java.util.Map;
  20. /*
  21. * 后台处理程序
  22. */
  23. @RestController
  24. @RequestMapping("${api.version}/bp")
  25. public class BackgroundProcessingController extends BaseRESTfulController {
  26. @Autowired
  27. private BackgroundProcessingMapper backgroundProcessingMapper;
  28. @Autowired
  29. private BackgroundProcessingServiceImpl backgroundProcessingService;
  30. @Autowired
  31. private OmstruckOrderMapper omstruckOrderMapper;
  32. @Autowired
  33. private UniversalMapper universalMapper;
  34. @ApiOperation(value = "关闭一车多趟方法")
  35. @PostMapping("/closePurOrderMoreTrips")
  36. public RESTfulResult closePurOrderMoreTrips(String purchaseOrderNo, String deleteNoReceiveOrder) {
  37. int i = backgroundProcessingMapper.closePurOrderMoreTrips(purchaseOrderNo);
  38. if("yes".equals(deleteNoReceiveOrder)){
  39. //查询该采购订单下所有未接收的运输订单(5,6,7,8,17,18)
  40. ArrayList<Integer> orderIdList = backgroundProcessingMapper.getAllPurOrder(purchaseOrderNo);
  41. if(orderIdList != null && orderIdList.size() != 0){
  42. backgroundProcessingMapper.deleteOrders(orderIdList); //物理删除
  43. backgroundProcessingMapper.deleteOrderMaterials(orderIdList);//物理删除物资子表
  44. backgroundProcessingMapper.batchByOrderIdForTotalDelete(orderIdList);//总实绩表
  45. }
  46. }
  47. if(i != 1){
  48. return failed("关闭失败!没有此采购订单");
  49. }
  50. return success("关闭成功");
  51. }
  52. @ApiOperation(value = "更改所属厂区方法")
  53. @PostMapping("/updatePurOrgId")
  54. public RESTfulResult updatePurOrgId(@RequestBody(required = false) Map<String, Object> map){
  55. return success(backgroundProcessingService.updatePurOrgId(map));
  56. }
  57. @ApiOperation(value = "删除没用的表实绩 ")
  58. @PostMapping("/deleteErrorResult")
  59. public RESTfulResult deleteErrorResult(String orderNumber){
  60. return success(backgroundProcessingService.deleteErrorResult(orderNumber));
  61. }
  62. @ApiOperation(value = "手动允许放行-OK字段")
  63. @PostMapping("/allowEnfactory")
  64. public RESTfulResult allowEnfactory(String orderNumber){
  65. return success(backgroundProcessingMapper.allowEnfactory(orderNumber));
  66. }
  67. @ApiOperation(value = "获取cid和车牌号的关系")
  68. @PostMapping("/bindCidCapacityNo")
  69. public RESTfulResult bindCidCapacityNo(String cid,
  70. String capacityNo){
  71. if(cid == null || capacityNo == null || "null".equals(cid) || "null".equals(capacityNo)){
  72. return success(0);
  73. }
  74. int i = backgroundProcessingService.bindCidCapacityNo(cid,capacityNo);
  75. return success(i);
  76. }
  77. @ApiOperation(value = "更新运输订单canwork状态")
  78. @PostMapping("updateOrderCanWork")
  79. public RESTfulResult updateOrderCanWork(String orderNumber){
  80. if(orderNumber != null){
  81. int i = backgroundProcessingMapper.updateOrderCanWork(orderNumber);
  82. return success(i);
  83. }
  84. return success(0);
  85. }
  86. @ApiOperation(value = "更新运输订单状态接口")
  87. @PostMapping("updateOrderStatus")
  88. @Transactional(rollbackFor = Exception.class)
  89. public RESTfulResult updateOrderStatus(@RequestBody(required = false) Map<String,Object> map) throws Exception{
  90. if (map.get("orderNumber") != null) {
  91. //if (DataChange.dataToBigDecimal(map.get("orderStatus")).intValue() != 2) {
  92. if (DataChange.dataToBigDecimal(map.get("orderStatus")).intValue() > 0) {
  93. int i = backgroundProcessingMapper.updateOrderStatus(map);
  94. if(i > 1){
  95. throw new Exception("该订单号有多个运单,不允许修改,请去数据库手动修改订单状态!");
  96. }
  97. return success(i);
  98. }
  99. }
  100. return failed(0);
  101. }
  102. @ApiOperation(value = "更新运输订单状态接口")
  103. @PostMapping("updateOrderStatusSell")
  104. @Transactional(rollbackFor = Exception.class)
  105. public RESTfulResult updateOrderStatusSell(@RequestBody(required = false) Map<String,Object> map) throws Exception{
  106. if (map.get("orderNumber") != null) {
  107. int i = backgroundProcessingMapper.updateOrderStatusSell(map);
  108. if(i > 1){
  109. throw new Exception("该订单号有多个运单,不允许修改,请去数据库手动修改订单状态!");
  110. }
  111. return success(i);
  112. }
  113. return failed(0);
  114. }
  115. @ApiOperation(value = "内转/采购新增上传金蝶表")
  116. @PostMapping("insertToUploadEas")
  117. public RESTfulResult insertToUploadEas(@RequestBody(required = false) Map<String,Object> map){
  118. try {
  119. Map<String,Object> purchaseOrder = (Map<String, Object>) map.get("purchaseOrder");
  120. List<Map<String,Object>> list= (List<Map<String, Object>>) map.get("list");
  121. for(Map<String,Object> item:list){
  122. item.put("purchaseOrderNo",purchaseOrder.get("purchaseOrderNo"));
  123. backgroundProcessingMapper.insertNotUpload(item);
  124. }
  125. }catch (NullPointerException e){
  126. e.printStackTrace();
  127. return failed("缺乏参数!");
  128. }catch (Exception e){
  129. e.printStackTrace();
  130. return failed("未知异常!");
  131. }
  132. return success("修改成功,稍后会自动上传金蝶!");
  133. }
  134. @ApiOperation(value = "重置钢材打印数量")
  135. @PostMapping("resetPrintNumber")
  136. public RESTfulResult resetPrintNumber(@RequestBody(required = false) Map<String,Object> map){
  137. return success(backgroundProcessingMapper.resetPrintNumber(map));
  138. }
  139. @ApiOperation(value = "删除进厂和排队")
  140. @PostMapping("clearEnAndQue")
  141. public RESTfulResult clearEnAndQue(@RequestBody(required = false) Map<String,Object> map){
  142. try {
  143. Map<String,Object> mesMap = backgroundProcessingMapper.getDetailsForEnAndQue(map);
  144. if(mesMap == null){
  145. return failed("没有符合条件的运单,请确认该运单是否已有净重!");
  146. }
  147. //清空进厂信息
  148. backgroundProcessingMapper.clearEnDetails(mesMap);
  149. //删除排队
  150. int materialMesCount = omstruckOrderMapper.getMaterialNumByOrderId(mesMap);
  151. if (materialMesCount == 1) {
  152. //如果是单拼,则删除排队实绩
  153. omstruckOrderMapper.deleteQueueList(DataChange.dataToBigDecimal(mesMap.get("capacityId")));
  154. omstruckOrderMapper.deleteQueueResult(DataChange.dataToBigDecimal(mesMap.get("resultTotalId")));
  155. }else{
  156. omstruckOrderMapper.deleteQueueSpellList(DataChange.dataToBigDecimal(mesMap.get("resultTotalId")));
  157. omstruckOrderMapper.deleteQueueResult(DataChange.dataToBigDecimal(mesMap.get("resultTotalId")));
  158. }
  159. //将总实绩里面的部分信息去掉,并改路段顺序号为null
  160. omstruckOrderMapper.updateTotalResultNull(DataChange.dataToBigDecimal(mesMap.get("resultTotalId")));
  161. universalMapper.updateLineSqe(mesMap);
  162. } catch (Exception e) {
  163. e.printStackTrace();
  164. return failed("未知异常!",e.getMessage());
  165. }
  166. return success("修改成功!");
  167. }
  168. @ApiOperation(value = "关联OA")
  169. @PostMapping("oaRelevancy")
  170. public RESTfulResult oaRelevancy(@RequestBody(required = false) Map<String,Object> map) {
  171. if(map.get("orderNumber") == null) {
  172. return failed("修改失败");
  173. }
  174. map.put("orderNumber",map.get("orderNumber") + "");
  175. backgroundProcessingMapper.updateOaRelevancy(map);
  176. return success();
  177. }
  178. @ApiOperation(value = "手动放行接口")
  179. @PostMapping("passThroughOrder")
  180. @Transactional(rollbackFor = Exception.class)
  181. public RESTfulResult passThroughOrder(@RequestBody(required = false) Map<String,Object> map) throws Exception{
  182. if (map.get("orderNumber") != null) {
  183. try {
  184. int i = backgroundProcessingMapper.updatePassthrough(map);
  185. if(i != 1){
  186. throw new Exception("数据不准确,请去数据库手动修改订单状态!");
  187. }
  188. return success(i);
  189. } catch (Exception e) {
  190. return failed("修改失败:" + e.getMessage());
  191. }
  192. }
  193. return failed("orderNumber为空");
  194. }
  195. @ApiOperation(value = "钢材同车同物资接错单交换接口")
  196. @PostMapping("interchangeOrder")
  197. @Transactional(rollbackFor = Exception.class)
  198. public RESTfulResult interchangeOrder(@RequestBody(required = false) Map<String,Object> map) throws Exception{
  199. if (map.get("orderNumber1") != null && map.get("orderNumber2") != null) {
  200. Map<String, Object> map1= backgroundProcessingMapper.getOrderInfoByOrderNumber(map.get("orderNumber1").toString());
  201. Map<String, Object> map2= backgroundProcessingMapper.getOrderInfoByOrderNumber(map.get("orderNumber2").toString());
  202. if(map1 == null || map2 == null
  203. || map1.get("orderId") == null || map2.get("orderId") == null
  204. || map1.get("orderPlanId") == null || map2.get("orderPlanId") == null
  205. || map1.get("capacityId") == null || map2.get("capacityId") == null
  206. || !map1.get("capacityId").equals(map2.get("capacityId"))
  207. ){
  208. return failed("数据不准确,请去数据库手动修改!");
  209. }
  210. map1.put("newOrderPlanId", map2.get("orderPlanId"));
  211. map1.put("remark", "交换订单:"+map.get("orderNumber2")+";原车序号:"+map1.get("orderPlanId")+";新车序号:"+map2.get("orderPlanId"));
  212. map2.put("newOrderPlanId", map1.get("orderPlanId"));
  213. map2.put("remark", "交换订单:"+map.get("orderNumber1")+";原车序号:"+map2.get("orderPlanId")+";新车序号:"+map1.get("orderPlanId"));
  214. backgroundProcessingMapper.updateInterchangeOrder(map1);
  215. backgroundProcessingMapper.updateInterchangeOrder(map2);
  216. }
  217. return success(1);
  218. }
  219. @ApiOperation(value = "强制修改运输订单状态接口")
  220. @PostMapping("modifyOrderStatus")
  221. @Transactional(rollbackFor = Exception.class)
  222. public RESTfulResult modifyOrderStatus(@RequestBody(required = false) Map<String,Object> map) throws Exception{
  223. if (map.get("orderNumber") != null && map.get("orderStatus") != null && map.get("toOrderStatus") != null) {
  224. Map<String,Object> oMap;
  225. if(map.get("orderNumber").toString().length() < 8){
  226. return failed("修改失败:输入订单编号不能低于8位!");
  227. }
  228. try {
  229. oMap = backgroundProcessingMapper.getOrderInfoByOrderStatus(map);
  230. } catch (Exception e) {
  231. return failed("修改失败:订单编号不唯一!");
  232. }
  233. if(oMap == null || oMap.get("orderId") == null){
  234. return failed("修改失败:未找到运输订单!");
  235. }
  236. oMap.put("toOrderStatus", map.get("toOrderStatus"));
  237. oMap.put("remark","修改运输订单状态为" + map.get("toOrderStatus") + ";原订单状态为" + map.get("orderStatus"));
  238. backgroundProcessingMapper.modifyOrderStatus(oMap);
  239. return success(1);
  240. }
  241. return failed("修改失败:存在空值!");
  242. }
  243. @ApiOperation(value = "强制重置密码接口")
  244. @PostMapping("resetPassword")
  245. @Transactional(rollbackFor = Exception.class)
  246. public RESTfulResult resetPassword(@RequestBody(required = false) Map<String,Object> map) throws Exception{
  247. if (map.get("userNameCode") != null) {
  248. backgroundProcessingMapper.updateSysUser(map);
  249. backgroundProcessingMapper.updateSysUserLogin(map);
  250. }
  251. return success(1);
  252. }
  253. }