TmstruckSelfMachineService.java 4.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101
  1. package com.steerinfo.dil.service.impl;
  2. import com.steerinfo.dil.mapper.TmstruckEnfactoryResultMapper;
  3. import com.steerinfo.dil.mapper.TmstruckLeaveFactoryResultMapper;
  4. import com.steerinfo.dil.service.ITmstruckSelfMachineService;
  5. import org.springframework.beans.factory.annotation.Autowired;
  6. import org.springframework.stereotype.Service;
  7. import java.math.BigDecimal;
  8. import java.util.HashMap;
  9. import java.util.List;
  10. import java.util.Map;
  11. /**
  12. * @author luobang
  13. * @create 2021-11-17 20:59
  14. */
  15. @Service
  16. public class TmstruckSelfMachineService implements ITmstruckSelfMachineService {
  17. @Autowired
  18. TmstruckEnfactoryResultMapper tmstruckEnfactoryResultMapper;
  19. @Autowired
  20. TmstruckLeaveFactoryResultMapper tmstruckLeaveFactoryResultMapper;
  21. /**
  22. * 提货单信息
  23. * @param orderNumber
  24. * @return
  25. */
  26. @Override
  27. public Map<String, Object> getBillOrder(String orderNumber) {
  28. //1.根据运输订单号查询主干信息
  29. Map<String,Object>map=tmstruckEnfactoryResultMapper.getBillOrder(orderNumber);
  30. if(map !=null){
  31. //2.根据运输订单号查询枝叶信息-物资
  32. List<Map<String,Object>>list=tmstruckEnfactoryResultMapper.getBillOrderMaterial(orderNumber);
  33. map.put("materialList",list);
  34. }
  35. return map;
  36. }
  37. @Override
  38. public List<Map<String, Object>> getBillOrderForPrinter(String orderNumber) {
  39. return tmstruckEnfactoryResultMapper.getBillOrderForPrinter(orderNumber);
  40. }
  41. @Override
  42. public Map<String, Object> getDeliveryOrder(String orderNumber) {
  43. //1.根据运输订单号查询主干信息
  44. Map<String,Object> map = tmstruckLeaveFactoryResultMapper.getDeliveryOrder(orderNumber);
  45. map.put("note",tmstruckLeaveFactoryResultMapper.querynote(orderNumber));
  46. map.put("orderNumber",orderNumber);
  47. if(map !=null){
  48. List<Map<String, Object>> deliveryOrderMaterialList = tmstruckLeaveFactoryResultMapper.getDeliveryOrderMaterial(orderNumber);
  49. //判断为棒材还是线材
  50. for (Map<String,Object> map1:deliveryOrderMaterialList){
  51. BigDecimal materialid = (BigDecimal) map1.get("materialId");
  52. String materialName =(String) map1.get("materialName");
  53. map.put("materialName",materialName);
  54. BigDecimal Bigdecimal1 = tmstruckLeaveFactoryResultMapper.queryNumber(materialid, orderNumber);
  55. map1.put("materialNumber",Bigdecimal1);
  56. //判断是实重还是理重的标志
  57. BigDecimal isPoundSale = (BigDecimal) map1.get("isPoundSale");
  58. //判断是否为盘螺materialName.contains("盘螺")||materialName.contains("盘元")
  59. if (isPoundSale !=null && isPoundSale.compareTo(BigDecimal.valueOf(0))==0){
  60. //根据运输订单号查找实绩重量
  61. List<Map<String, Object>> netWeightlist = tmstruckLeaveFactoryResultMapper.getNetWeightByOrder(map);
  62. for (Map<String, Object> stringObjectMap : netWeightlist) {
  63. BigDecimal materialid1 = (BigDecimal) stringObjectMap.get("materialid");
  64. if(materialid1 !=null&&!("".equals(materialid1))){
  65. if (materialid.compareTo(materialid1) == 0) {
  66. BigDecimal nowNetWeight = (BigDecimal) stringObjectMap.get("nowNetWeight");
  67. if (nowNetWeight != null) {
  68. map1.put("materialWeight", nowNetWeight);
  69. }
  70. }
  71. }else {
  72. map1.put("materialWeight", "");
  73. }
  74. }
  75. }else {
  76. //获取物资理重
  77. List<Map<String, Object>> theoryWeightlist = tmstruckLeaveFactoryResultMapper.getTheoryWeight(map);
  78. for (Map<String, Object> stringObjectMap : theoryWeightlist) {
  79. BigDecimal materialid1 = (BigDecimal) stringObjectMap.get("materialid");
  80. if (materialid.compareTo(materialid1) == 0){
  81. BigDecimal theoryWeight=(BigDecimal) stringObjectMap.get("theoreticalWeight");
  82. if (theoryWeight != null){
  83. map1.put("materialWeight",theoryWeight);
  84. }
  85. }
  86. }
  87. }
  88. }
  89. map.put("deliveryOrderMaterialList",deliveryOrderMaterialList);
  90. }
  91. return map;
  92. }
  93. }