hujg 2 年 前
コミット
984c57b605

+ 26 - 0
src/main/java/com/steerinfo/dil/controller/AmsSaleOrderController.java

@@ -1152,4 +1152,30 @@ public class AmsSaleOrderController extends BaseRESTfulController {
             return success(result);
         }
     }
+
+    @ApiModelProperty(value = "展示副产品销售订单列表")
+    @ApiImplicitParams({
+            @ApiImplicitParam(name = "pageNum", value = "查询页数", required = false, dataType = "Integer"),
+            @ApiImplicitParam(name = "pageSize", value = "每页记录数", required = false, dataType = "Integer"),
+            @ApiImplicitParam(name = "apiId", value = "481", required = false, dataType = "BigDecimal")
+    })
+    @PostMapping("/getFuSaleOrderList")
+    public RESTfulResult getFuSaleOrderList(@RequestBody(required = false) Map<String, Object> mapValue,
+                                            Integer pageNum,
+                                            Integer pageSize,
+                                            Integer apiId,
+                                            String con,
+                                            BigDecimal deleted
+    ) {
+        if (con != null && !"".equals(con) && !"null".equals(con)) {
+            mapValue.put("con", con);
+        }
+        mapValue.put("deleted",deleted);
+        //不分页筛选数据
+        PageHelper.startPage(pageNum, pageSize);
+        //分页数据
+        List<Map<String, Object>> saleOrderList = amsSaleOrderService.getFuSaleOrderList(mapValue);
+        PageListAdd pageList = columnDataUtil.tableColumnData4(apiId, null, saleOrderList);
+        return success(pageList);
+    }
 }

+ 2 - 0
src/main/java/com/steerinfo/dil/mapper/AmsSaleOrderMapper.java

@@ -132,4 +132,6 @@ public interface AmsSaleOrderMapper extends IBaseMapper<AmsSaleOrder, BigDecimal
     List<Map<String, Object>> getAllSteelSaleOrderList(Map<String, Object> mapValue);
     // 修改厂内未装货车辆的运单车牌号
     int updateCapacityNumberInFactory(Map<String, Object> mapValue);
+    // 根据省市县id匹配承运商
+    List<Map<String, Object>> getCarrierByAddress(BigDecimal addressId);
 }

+ 20 - 5
src/main/java/com/steerinfo/dil/service/impl/AmsSaleOrderServiceImpl.java

@@ -578,14 +578,13 @@ public class AmsSaleOrderServiceImpl implements IAmsSaleOrderService {
                 }
                 if (amsSaleOrderMaterial.getSaleShippingAddressId() != null && isSelfMention.equals("否")) {
                     // 自动匹配承运商
-                    List<Map<String, Object>> carrierList = getCarrierByPlace(amsSaleOrderMaterial.getSaleShippingAddressId());
+                    List<Map<String, Object>> carrierList = getCarrierByAddress(amsSaleOrderMaterial.getSaleShippingAddressId());
                     // 单一承运商才进行匹配
                     if (carrierList != null && carrierList.size() == 1) {
                         List<Map<String, Object>> list = new ArrayList<>();
                         Map<String, Object> map1 = carrierList.get(0);
                         // 传入车序号主键和承运商id
                         map1.put("saleOrderMaterialId", saleOrderMaterialId);
-                        map1.put("carrierId", map1.get("value"));
                         list.add(map1);
                         dispatchToCarrier(list);
                     }
@@ -641,8 +640,16 @@ public class AmsSaleOrderServiceImpl implements IAmsSaleOrderService {
             BigDecimal materialId = DataChange.dataToBigDecimal(map.get("materialId"));
             // 物资件数
             BigDecimal materialNumber = DataChange.dataToBigDecimal(map.get("materialNumber"));
+            // 物资名称
+            Object materialName = map.get("materialName");
             // 钢材米数
             BigDecimal steelMeters = DataChange.dataToBigDecimal(map.get("steelMeters"));
+            // 判断物资是否是盘螺或盘元/盘圆
+            if (materialName != null && (!materialName.toString().contains("盘螺") || !materialName.toString().contains("盘元") || !materialName.toString().contains("盘圆"))) {
+                if (steelMeters != null && !steelMeters.toString().equals("0")) {
+                    amsSaleMaterial.setSteelMeter(steelMeters);
+                }
+            }
             // 是否磅重销售(0:磅重;1:理重)
             BigDecimal isPoundSale = DataChange.dataToBigDecimal(map.get("isPoundSale"));
             // 销售订单物资表主键
@@ -653,9 +660,6 @@ public class AmsSaleOrderServiceImpl implements IAmsSaleOrderService {
             amsSaleMaterial.setMaterialNumber(materialNumber);
             amsSaleMaterial.setInsertTime(new Date());
             amsSaleMaterial.setUpdateTime(new Date());
-            if (steelMeters != null && !steelMeters.toString().equals("0")) {
-                amsSaleMaterial.setSteelMeter(steelMeters);
-            }
             amsSaleMaterial.setIsPoundSale(isPoundSale);
             amsSaleMaterial.setInsertUpdateRemark("物流新增");
             result += amsSaleMaterialMapper.insertSelective(amsSaleMaterial);
@@ -857,6 +861,17 @@ public class AmsSaleOrderServiceImpl implements IAmsSaleOrderService {
         return mapList;
     }
 
+    /**
+     * 根据省市县匹配承运商
+     * @param placeId
+     * @return
+     */
+    public synchronized List<Map<String,Object>> getCarrierByAddress(BigDecimal placeId) {
+        BigDecimal addressId = amsSaleOrderMapper.getAddressByPlace(placeId);
+        List<Map<String,Object>> mapList = amsSaleOrderMapper.getCarrierByAddress(addressId);
+        return mapList;
+    }
+
     /**
      * 根据详细地址和承运商匹配单价
      * @param mapValue

+ 8 - 0
src/main/resources/com/steerinfo/dil/mapper/AmsSaleOrderMapper.xml

@@ -4097,4 +4097,12 @@
     SET OO.CAPACITY_ID = #{capacityId}
     WHERE OO.ORDER_ID = #{orderId}
   </update>
+
+  <select id="getCarrierByAddress" parameterType="DECIMAL" resultType="java.util.Map" >
+    SELECT DISTINCT ACTP.CARRIER_ID "carrierId"
+    FROM AMS_CONTRACT_TRANSPORT_PRICE ACTP
+           LEFT JOIN RMS_RECEIVE_PLACE RRP
+                     ON RRP.PLACE_ID = ACTP.PLACE_ID
+    WHERE RRP.ADDRESS_ID = #{addressId}
+  </select>
 </mapper>