AmsSaleOrderServiceImpl.java 22 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452
  1. package com.steerinfo.dil.service.impl;
  2. import com.steerinfo.dil.mapper.AmsDispatchSaleOrderMapper;
  3. import com.steerinfo.dil.mapper.AmsSaleOrderMapper;
  4. import com.steerinfo.dil.mapper.AmsSaleOrderMaterialMapper;
  5. import com.steerinfo.dil.mapper.AmsSaleTrucknoMaterialMapper;
  6. import com.steerinfo.dil.model.AmsDispatchSaleOrder;
  7. import com.steerinfo.dil.model.AmsSaleOrder;
  8. import com.steerinfo.dil.model.AmsSaleOrderMaterial;
  9. import com.steerinfo.dil.model.AmsSaleTrucknoMaterial;
  10. import com.steerinfo.dil.service.IAmsSaleOrderService;
  11. import com.steerinfo.dil.util.DataChange;
  12. import org.springframework.beans.factory.annotation.Autowired;
  13. import org.springframework.stereotype.Service;
  14. import org.springframework.transaction.annotation.Transactional;
  15. import java.math.BigDecimal;
  16. import java.text.ParseException;
  17. import java.text.SimpleDateFormat;
  18. import java.util.*;
  19. /**
  20. * AmsSaleOrder服务实现:
  21. *
  22. * @author generator
  23. * @version 1.0-SNAPSHORT 2021-09-06 07:10
  24. * 类描述
  25. * 修订历史:
  26. * 日期:2021-09-06
  27. * 作者:generator
  28. * 参考:
  29. * 描述:AmsSaleOrder服务实现
  30. * @Copyright 湖南视拓信息技术股份有限公司. All rights reserved.
  31. * @see null
  32. */
  33. @Service(value = "amsSaleOrderService")
  34. public class AmsSaleOrderServiceImpl implements IAmsSaleOrderService {
  35. @Autowired
  36. private AmsSaleOrderMapper amsSaleOrderMapper;
  37. @Autowired
  38. private AmsSaleOrderMaterialMapper amsSaleOrderMaterialMapper;
  39. @Autowired
  40. private AmsSaleTrucknoMaterialMapper trucknoMaterialMapper;
  41. @Autowired
  42. AmsDispatchSaleOrderMapper amsDispatchSaleOrderMapper;
  43. @Override
  44. public List<Map<String, Object>> getSaleOrderInfo(Map<String, Object> map) {
  45. return amsSaleOrderMapper.getSaleOrderInfo(map);
  46. }
  47. @Override
  48. public List<Map<String, Object>> getSaleOrderReported(Map<String, Object> map) {
  49. return amsSaleOrderMapper.getSaleOrderReported(map);
  50. }
  51. @Override
  52. public List<Map<String, Object>> getSaleOrderDetail(Map<String, Object> map) {
  53. return amsSaleOrderMapper.getSaleOrderDetail(map);
  54. }
  55. @Override
  56. public List<Map<String, Object>> getSalePlanName() {
  57. return amsSaleOrderMapper.getSalePlanName();
  58. }
  59. @Override
  60. public List<Map<String, Object>> getShipperName() {
  61. return amsSaleOrderMapper.getShipperName();
  62. }
  63. @Override
  64. public List<Map<String, Object>> getConsigneeCompanyName() {
  65. return amsSaleOrderMapper.getConsigneeCompanyName();
  66. }
  67. @Override
  68. /**
  69. * map存放为前端获取的amsSaleOrder基础数据以及selectionList物资信息
  70. * map1为基础数据包括,收货地址,收货人等
  71. * map2存放的从selectionList取出的数据,包括物资id,物资名称等。
  72. */
  73. public int addAmsSaleOrder(Map<String, Object> map) throws ParseException {
  74. //获取前端传过来的map,
  75. int i = 0;
  76. Map<String, Object> map1 = (Map<String, Object>) map.get("amsSaleOrder");
  77. AmsSaleOrder amsSaleOrder = new AmsSaleOrder();
  78. Integer id = (amsSaleOrderMapper.selectMaxId()).intValue();
  79. //生成主键id
  80. amsSaleOrder.setSaleOrderId(new BigDecimal(id));
  81. //WXSDD-年月日-8位数的顺序号
  82. String wxsdd = DataChange.generateEightDigitsNumber("WXSDD", id);
  83. amsSaleOrder.setSaleNumber(wxsdd);
  84. //获得是否自提
  85. amsSaleOrder.setSaleOrderIsselfMention((String) map1.get("saleOrderIsselfMention"));
  86. //获取收货地址id
  87. amsSaleOrder.setReceiveId(DataChange.dataToBigDecimal(map1.get("receiveId")));
  88. //获取发货单位id
  89. amsSaleOrder.setShipperId(DataChange.dataToBigDecimal(map1.get("shipperId")));
  90. //获取备注
  91. amsSaleOrder.setSaleRemark((String) map1.get("saleRemark"));
  92. //设置销售订单状态
  93. amsSaleOrder.setSaleOrderStatus(new BigDecimal(0));
  94. amsSaleOrder.setSaleUnitPrice(new BigDecimal(4000));
  95. amsSaleOrder.setSaleOrderTax("13%");
  96. amsSaleOrder.setInsertUsername("admin");
  97. amsSaleOrder.setInsertTime(new Date());
  98. amsSaleOrder.setUpdateUsername("admin");
  99. amsSaleOrder.setUpdateTime(new Date());
  100. amsSaleOrder.setInsertUpdateRemark("无");
  101. amsSaleOrder.setDeleted(new BigDecimal(0));
  102. amsSaleOrder.setSaleOrderStatus(new BigDecimal(0));
  103. //设置收款客户
  104. amsSaleOrder.setSaleOrderReceiveCustomer((String) map1.get("saleOrderReceiveCustomer"));
  105. i += amsSaleOrderMapper.insertSelective(amsSaleOrder);
  106. //获取车序号和物资信息进行新增车序号与物资中间表
  107. //一个销售订单对应多个车序号
  108. List<Map<String, Object>> selectionList = (List<Map<String, Object>>) map.get("selectionList");
  109. for (Map<String, Object> map2 : selectionList) {
  110. BigDecimal materialId = DataChange.dataToBigDecimal(map2.get("materialId"));
  111. Integer cxh = (Integer) map2.get("cxh");
  112. //生成车序号与物资实体
  113. AmsSaleOrderMaterial amsSaleOrderMaterial = new AmsSaleOrderMaterial();
  114. //生成主键
  115. amsSaleOrderMaterial.setSaleOrderMaterialId(amsSaleOrderMaterialMapper.selectMaxId());
  116. amsSaleOrderMaterial.setSaleOrderId(amsSaleOrder.getSaleOrderId());
  117. // 生成定向派单
  118. AmsDispatchSaleOrder amsDispatchSaleOrder = new AmsDispatchSaleOrder();
  119. amsDispatchSaleOrder.setDispatchId(amsDispatchSaleOrderMapper.selectOtherId());
  120. amsDispatchSaleOrder.setSaleOrderMaterialId(amsSaleOrderMaterial.getSaleOrderMaterialId());
  121. //获取收货地址
  122. Integer saleShipperAddressId =(Integer) map2.get("saleShipperAddressId");
  123. amsSaleOrderMaterial.setSaleShippingAddressId(new BigDecimal(saleShipperAddressId));
  124. //根据收货地址查询承运商
  125. Map<String,Object> map4 = amsSaleOrderMapper.selectProvince(saleShipperAddressId);
  126. BigDecimal carrierId = amsSaleOrderMapper.selectCarrierIdByprovince(map4);
  127. //获取收货方电话号码
  128. amsDispatchSaleOrder.setCarrierId(carrierId);
  129. amsDispatchSaleOrder.setDispatchTime(new Date());
  130. //设置成交类型
  131. amsDispatchSaleOrder.setDispatchType(new BigDecimal(0));
  132. //设置下发状态为未下发
  133. amsDispatchSaleOrder.setDispatchStatus(new BigDecimal(1));
  134. amsDispatchSaleOrder.setInsertTime(new Date());
  135. amsDispatchSaleOrder.setInsertUsername("admin");
  136. amsDispatchSaleOrderMapper.insertSelective(amsDispatchSaleOrder);
  137. amsSaleOrderMaterial.setSaleOrderConsigneeTel(map2.get("saleOrderConsigneeTel").toString());
  138. //获取收货日期
  139. String saleDateOfReceipt =(String) map2.get("saleDateOfReceipt");
  140. SimpleDateFormat simpleDateFormat=new SimpleDateFormat("yyyy-MM-dd");
  141. Date date = simpleDateFormat.parse(saleDateOfReceipt);
  142. amsSaleOrderMaterial.setSaleDateOfReceipt(date);
  143. //获取收货方姓名
  144. amsSaleOrderMaterial.setSaleOrderConsignee((String) map2.get("saleOrderConsignee"));
  145. //设置车序号
  146. amsSaleOrderMaterial.setSaleOrderMaterialTruckNo(new BigDecimal(cxh));
  147. //设置删除状态
  148. amsSaleOrderMaterial.setDeleted(new BigDecimal(0));
  149. i += amsSaleOrderMaterialMapper.insertSelective(amsSaleOrderMaterial);
  150. //新增车序号与物资中间表
  151. AmsSaleTrucknoMaterial trucknoMaterial = new AmsSaleTrucknoMaterial();
  152. trucknoMaterial.setTrucknoMaterialId(trucknoMaterialMapper.selectMaxId());
  153. //设置物资id
  154. trucknoMaterial.setMaterialId(materialId);
  155. //获取车序号物资id
  156. trucknoMaterial.setSaleOrderMaterialId(amsSaleOrderMaterial.getSaleOrderMaterialId());
  157. Integer orderPlanWeight = (Integer) map2.get("orderPlanWeight");
  158. trucknoMaterial.setSaleOrderMaterialNumber(DataChange.dataToBigDecimal(orderPlanWeight));
  159. //获取物资理重
  160. BigDecimal materialTheoreticalWeight = DataChange.dataToBigDecimal(map2.get("materialTheoreticalWeight"));
  161. //判断是否有物资理重
  162. if (materialTheoreticalWeight.intValue() != 0) {
  163. trucknoMaterial.setMaterialTheoreticalWeight(materialTheoreticalWeight);
  164. }
  165. //新增车序号与物资中间表
  166. i += trucknoMaterialMapper.insertSelective(trucknoMaterial);
  167. }
  168. return i;
  169. }
  170. @Override
  171. public int uploadSaleOrder(BigDecimal saleOrderId) {
  172. AmsSaleOrder amsSaleOrder = amsSaleOrderMapper.selectByPrimaryKey(saleOrderId);
  173. amsSaleOrder.setSaleOrderStatus(new BigDecimal(1));
  174. return amsSaleOrderMapper.updateByPrimaryKey(amsSaleOrder);
  175. }
  176. @Override
  177. public List<Map<String, Object>> selectBySaleOrderId(BigDecimal saleOrderId) {
  178. return amsSaleOrderMapper.selectBySaleOrderId(saleOrderId);
  179. }
  180. /**
  181. * 修改订单信息、车序号表、车序号物资中间表
  182. *
  183. * @param map
  184. * @return
  185. */
  186. @Override
  187. @Transactional
  188. public int updateAmsSaleOrder(Map<String, Object> map) throws ParseException {
  189. int i = 0;
  190. int j = 0;
  191. Map<String, Object> map1 = (Map<String, Object>) map.get("amsSaleOrder");
  192. AmsSaleOrder amsSaleOrder = new AmsSaleOrder();
  193. //修改销售订单表 更新销售订单基础信息
  194. amsSaleOrder.setSaleOrderId(DataChange.dataToBigDecimal(map1.get("saleOrderId")));
  195. amsSaleOrder.setShipperId(DataChange.dataToBigDecimal(map1.get("shipperId")));
  196. amsSaleOrder.setReceiveId(DataChange.dataToBigDecimal(map1.get("reciveId")));
  197. amsSaleOrder.setSaleOrderIsselfMention((String) map1.get("saleOrderIsselfMention"));
  198. amsSaleOrder.setSaleOrderReceiveCustomer((String) map1.get("saleOrderReciveCustomer"));
  199. amsSaleOrder.setSaleRemark((String) map1.get("saleRemark"));
  200. amsSaleOrder.setUpdateTime(new Date());
  201. i += amsSaleOrderMapper.updateByPrimaryKeySelective(amsSaleOrder);
  202. //根据销售订单id查找销售车序号和车序号与物资中间表主键
  203. List<Map<String, Object>> map2 = amsSaleOrderMapper.selectSaleOrderMaterialIdBySaleOrderId(DataChange.dataToBigDecimal(map1.get("saleOrderId")));
  204. for (Map<String,Object> Id:map2){
  205. BigDecimal truckNoMaterialId =(BigDecimal) Id.get("TruckNoMaterialId");
  206. BigDecimal saleOrderMaterialId=(BigDecimal) Id.get("saleOrderMaterialId");
  207. //删除对应的车序号表与车序号与物资中间表
  208. j+=amsSaleOrderMaterialMapper.deleteByPrimaryKey(saleOrderMaterialId);
  209. j+=trucknoMaterialMapper.deleteByPrimaryKey(truckNoMaterialId);
  210. }
  211. //新增车序号和物资中间表
  212. //获取车序号和物资信息进行新增车序号与物资中间表
  213. //一个销售订单对应多个车序号
  214. List<Map<String, Object>> selectionList = (List<Map<String, Object>>) map.get("selectionList");
  215. for (Map<String, Object> map3 : selectionList) {
  216. BigDecimal materialId = DataChange.dataToBigDecimal(map3.get("materialId"));
  217. Integer cxh = (Integer) map3.get("cxh");
  218. //生成车序号与物资实体
  219. AmsSaleOrderMaterial amsSaleOrderMaterial = new AmsSaleOrderMaterial();
  220. //生成主键
  221. amsSaleOrderMaterial.setSaleOrderMaterialId(amsSaleOrderMaterialMapper.selectMaxId());
  222. amsSaleOrderMaterial.setSaleOrderId(DataChange.dataToBigDecimal(map1.get("saleOrderId")));
  223. //获取收货地址
  224. amsSaleOrderMaterial.setSaleShippingAddressId(DataChange.dataToBigDecimal(map3.get("saleShipperAddressId")));
  225. //获取收货方电话号码
  226. amsSaleOrderMaterial.setSaleOrderConsigneeTel(map3.get("saleOrderConsigneeTel").toString());
  227. //获取收货日期
  228. String saleDateOfReceipt =(String) map3.get("saleDateOfReceipt");
  229. SimpleDateFormat simpleDateFormat=new SimpleDateFormat("yyyy-MM-dd");
  230. Date date = simpleDateFormat.parse(saleDateOfReceipt);
  231. amsSaleOrderMaterial.setSaleDateOfReceipt(date);
  232. //获取收货方姓名
  233. amsSaleOrderMaterial.setSaleOrderConsignee((String) map3.get("saleOrderConsignee"));
  234. //设置车序号
  235. amsSaleOrderMaterial.setSaleOrderMaterialTruckNo(new BigDecimal(cxh));
  236. //设置删除状态
  237. amsSaleOrderMaterial.setDeleted(new BigDecimal(0));
  238. i += amsSaleOrderMaterialMapper.insertSelective(amsSaleOrderMaterial);
  239. // 生成定向派单
  240. AmsDispatchSaleOrder amsDispatchSaleOrder = new AmsDispatchSaleOrder();
  241. amsDispatchSaleOrder.setDispatchId(amsDispatchSaleOrderMapper.selectOtherId());
  242. amsDispatchSaleOrder.setSaleOrderMaterialId(amsSaleOrderMaterial.getSaleOrderMaterialId());
  243. //获取收货地址
  244. Integer saleShipperAddressId =(Integer) map3.get("saleShipperAddressId");
  245. amsSaleOrderMaterial.setSaleShippingAddressId(new BigDecimal(saleShipperAddressId));
  246. //根据收货地址查询承运商
  247. Map<String,Object> map4 = amsSaleOrderMapper.selectProvince(saleShipperAddressId);
  248. BigDecimal carrierId = amsSaleOrderMapper.selectCarrierIdByprovince(map4);
  249. //获取收货方电话号码
  250. amsDispatchSaleOrder.setCarrierId(carrierId);
  251. amsDispatchSaleOrder.setDispatchTime(new Date());
  252. //设置成交类型
  253. amsDispatchSaleOrder.setDispatchType(new BigDecimal(0));
  254. //设置下发状态为已下发
  255. amsDispatchSaleOrder.setDispatchStatus(new BigDecimal(0));
  256. amsDispatchSaleOrder.setInsertTime(new Date());
  257. amsDispatchSaleOrder.setInsertUsername("admin");
  258. //新增车序号与物资中间表
  259. AmsSaleTrucknoMaterial trucknoMaterial = new AmsSaleTrucknoMaterial();
  260. trucknoMaterial.setTrucknoMaterialId(trucknoMaterialMapper.selectMaxId());
  261. //设置物资id
  262. trucknoMaterial.setMaterialId(materialId);
  263. //获取车序号物资id
  264. trucknoMaterial.setSaleOrderMaterialId(amsSaleOrderMaterial.getSaleOrderMaterialId());
  265. Integer orderPlanWeight = (Integer) map3.get("orderPlanWeight");
  266. trucknoMaterial.setSaleOrderMaterialNumber(DataChange.dataToBigDecimal(orderPlanWeight));
  267. //获取物资理重
  268. BigDecimal materialTheoreticalWeight = DataChange.dataToBigDecimal(map3.get("materialTheoreticalWeight"));
  269. //判断是否有物资理重
  270. if (materialTheoreticalWeight.intValue() != 0) {
  271. trucknoMaterial.setMaterialTheoreticalWeight(materialTheoreticalWeight);
  272. }
  273. //新增车序号与物资中间表
  274. i += trucknoMaterialMapper.insertSelective(trucknoMaterial);
  275. }
  276. // List<Map<String, Object>> mapList = (List<Map<String, Object>>) map.get("mapList");
  277. // ArrayList<Integer> list = new ArrayList<>();
  278. // for (Map<String, Object> truckMesMap : mapList) {
  279. // //修改车序号表
  280. // BigDecimal saleOrderMaterialId = DataChange.dataToBigDecimal(truckMesMap.get("saleOrderMaterialId"));
  281. // if (!list.contains(saleOrderMaterialId.intValue())) {
  282. // //车序号表专用字段
  283. // BigDecimal saleShipperAddressId = DataChange.dataToBigDecimal(truckMesMap.get("saleShipperAddressId"));
  284. // String saleDateOfReceipt =(String) truckMesMap.get("saleDateOfReceipt");
  285. // SimpleDateFormat simpleDateFormat=new SimpleDateFormat("yyyy-MM-dd");
  286. // Date date = simpleDateFormat.parse(saleDateOfReceipt);
  287. // String saleOrderConsignee = (String) truckMesMap.get("saleOrderConsignee");
  288. // String saleOrderConsigneeTel = (String) truckMesMap.get("saleOrderConsigneeTel");
  289. // AmsSaleOrderMaterial amsSaleOrderMaterial = new AmsSaleOrderMaterial();
  290. // amsSaleOrderMaterial.setSaleOrderMaterialId(saleOrderMaterialId);
  291. // amsSaleOrderMaterial.setSaleOrderMaterialTruckNo(DataChange.dataToBigDecimal(truckMesMap.get("cxh")));
  292. // amsSaleOrderMaterial.setSaleShippingAddressId(saleShipperAddressId);
  293. // amsSaleOrderMaterial.setSaleDateOfReceipt(date);
  294. // amsSaleOrderMaterial.setSaleOrderConsignee(saleOrderConsignee);
  295. // amsSaleOrderMaterial.setSaleOrderConsigneeTel(saleOrderConsigneeTel);
  296. // i += amsSaleOrderMaterialMapper.updateByPrimaryKeySelective(amsSaleOrderMaterial);
  297. // list.add(saleOrderMaterialId.intValue());
  298. // }
  299. // //修改车车序号物资表
  300. // AmsSaleTrucknoMaterial amsSaleTrucknoMaterial = new AmsSaleTrucknoMaterial();
  301. // amsSaleTrucknoMaterial.setTrucknoMaterialId(DataChange.dataToBigDecimal(truckMesMap.get("trucknoMaterialId")));
  302. // amsSaleTrucknoMaterial.setSaleOrderMaterialNumber(DataChange.dataToBigDecimal(truckMesMap.get("orderPlanWeight")));
  303. // amsSaleTrucknoMaterial.setMaterialId(DataChange.dataToBigDecimal(truckMesMap.get("materialId")));
  304. // i += trucknoMaterialMapper.updateByPrimaryKeySelective(amsSaleTrucknoMaterial);
  305. // }
  306. return i;
  307. }
  308. @Override
  309. public int deleteAmsSaleOrderBySaleOrderId(BigDecimal saleOrderId) {
  310. //删除所有从表信息
  311. //amsSaleOrderMapper.deleteBySaleOrderId(saleOrderId);
  312. AmsSaleOrder amsSaleOrder = amsSaleOrderMapper.selectByPrimaryKey(saleOrderId);
  313. amsSaleOrder.setDeleted(new BigDecimal(1));
  314. return amsSaleOrderMapper.updateByPrimaryKey(amsSaleOrder);
  315. }
  316. @Override
  317. public List<Map<String, Object>> getSaleOrderUpdateLog(Map<String, Object> map) {
  318. return amsSaleOrderMapper.getSaleOrderUpdateLog(map);
  319. }
  320. /**
  321. * 销售公司查询已审核的订单
  322. * @param map
  323. * @return
  324. */
  325. @Override
  326. public List<Map<String, Object>> getSaleOrderListBySaleCompany(Map<String, Object> map) {
  327. return amsSaleOrderMapper.getSaleOrderListBySaleCompany(map);
  328. }
  329. @Override
  330. public List<Map<String, Object>> getAmsSaleOrderApproved(Map<String, Object> map) {
  331. return amsSaleOrderMapper.getAmsSaleOrderApproved(map);
  332. }
  333. @Override
  334. public List<Map<String, Object>> getSaleOrderList(Map<String, Object> mapValue) {
  335. return amsSaleOrderMapper.getSaleOrderList(mapValue);
  336. }
  337. public Map<String, Object> getCarrier(Integer addressId) {
  338. return amsSaleOrderMapper.selectProvince(addressId);
  339. }
  340. /**
  341. * 根据销售订单id查找信息
  342. */
  343. @Override
  344. public Map<String, Object> selectInfoBySaleOrderId(BigDecimal saleOrderId) {
  345. return amsSaleOrderMapper.selectInfoBySaleOrderId(saleOrderId);
  346. }
  347. /**
  348. * 根据销售订单id查找物资信息
  349. *
  350. * @param saleOrderId
  351. * @return
  352. */
  353. @Override
  354. public List<Map<String, Object>> selectMaterialInfoBySaleOrderId(BigDecimal saleOrderId) {
  355. return amsSaleOrderMapper.selectMaterialInfoBySaleOrderId(saleOrderId);
  356. }
  357. @Override
  358. public int addAmsDispatchSaleOrder(List<Map<String, Object>> mapValue) {
  359. int result = 0;
  360. for (Map<String,Object> map : mapValue) {
  361. Integer dispatchId = (Integer)map.get("dispatchId");
  362. AmsDispatchSaleOrder amsDispatchSaleOrder = amsDispatchSaleOrderMapper.selectByPrimaryKey(new BigDecimal(dispatchId));
  363. amsDispatchSaleOrder.setDispatchStatus(new BigDecimal(0));
  364. result = amsDispatchSaleOrderMapper.updateByPrimaryKeySelective(amsDispatchSaleOrder);
  365. }
  366. return result;
  367. }
  368. @Override
  369. public List<Map<String, Object>> getSaleOrderInfoes(Map<String, Object> map) {
  370. return amsSaleOrderMapper.getSaleOrderInfoes(map);
  371. }
  372. @Override
  373. public List<Map<String, Object>> getSaleOrderReportedes(Map<String, Object> map) {
  374. return amsSaleOrderMapper.getSaleOrderReportedes(map);
  375. }
  376. @Override
  377. public List<Map<String, Object>> getSaleOrderListBySaleCompanyes(Map<String, Object> map) {
  378. List<Map<String, Object>> resultList = amsSaleOrderMapper.getSaleOrderListBySaleCompanyes(map);
  379. String statusStr;
  380. for (Map<String, Object> resultMap : resultList) {
  381. BigDecimal saleOrderStatus = (BigDecimal) resultMap.get("saleOrderStatus");
  382. // if (saleOrderStatus.intValue() == 2) {
  383. // statusStr = "销售公司已审核";
  384. // }
  385. // else {
  386. // statusStr = "财务已审核";
  387. // }
  388. statusStr = saleOrderStatus.intValue() == 2 ? "销售公司已审批" : "财务已审批";
  389. resultMap.put("statusStr",statusStr);
  390. }
  391. return resultList;
  392. }
  393. @Override
  394. public List<Map<String, Object>> getAmsSaleOrderApprovedes(Map<String, Object> map) {
  395. return amsSaleOrderMapper.getAmsSaleOrderApprovedes(map);
  396. }
  397. /*
  398. * 根据销售订单主键展示销售基本信息、物资信息
  399. * */
  400. @Override
  401. public List<Map<String, Object>> getSaleOrderAndMaterialById(Map<String,Object> mapValue) {
  402. List<Map<String, Object>> mapList=amsSaleOrderMapper.getSaleOrderAndMaterialById(mapValue);
  403. for (Map<String, Object> map : mapList) {
  404. BigDecimal number;
  405. BigDecimal materialNumber = (BigDecimal) map.get("materialNumber");
  406. BigDecimal materialWeight = (BigDecimal) map.get("materialWeight");
  407. if (materialNumber != null && materialNumber.toString().length() != 0) {
  408. number = materialNumber;
  409. }
  410. else {
  411. number = materialWeight;
  412. }
  413. map.put("number",number);
  414. }
  415. return mapList;
  416. }
  417. }