luobang 2 years ago
parent
commit
6bc3288b35

+ 39 - 0
src/main/java/com/steerinfo/dil/controller/StatisticalReportController.java

@@ -32,6 +32,8 @@ public class StatisticalReportController extends BaseRESTfulController {
     @Autowired
     @Autowired
     ColumnDataUtil columnDataUtil;
     ColumnDataUtil columnDataUtil;
 
 
+
+
     private final SimpleDateFormat sdfDate = new SimpleDateFormat("yyyy-MM-dd");
     private final SimpleDateFormat sdfDate = new SimpleDateFormat("yyyy-MM-dd");
 
 
     private final SimpleDateFormat sdfDateTime = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
     private final SimpleDateFormat sdfDateTime = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
@@ -689,6 +691,43 @@ public class StatisticalReportController extends BaseRESTfulController {
         }
         }
         //分页数据
         //分页数据
         List<Map<String, Object>> report = statisticalReportService.getSaleSteelReport(map);
         List<Map<String, Object>> report = statisticalReportService.getSaleSteelReport(map);
+        for (Map<String, Object> stringObjectMap : report) {
+            String shippingAddressIds = (String) stringObjectMap.get("shippingAddressIds");
+            String capacityNumbers= (String) stringObjectMap.get("capacityNumbers");
+            //确认是否有多个收货单位
+            if (shippingAddressIds !=null && !("".equals(shippingAddressIds))){
+                String[] split = shippingAddressIds.split(",");
+                String address="";
+                int i=0;
+                for (String s : split) {
+                    i++;
+                    String getaddress = statisticalReportService.getaddress(DataChange.dataToBigDecimal(s));
+                    if (i==1){
+                        address+="旧地址:"+getaddress+",";
+                    }else if (i==2){
+                        address+="新地址:"+getaddress;
+                    }
+                }
+                stringObjectMap.put("addressPlace",address);
+            }
+            //确认是否有多个车牌号
+            if (capacityNumbers!=null &&!("".equals(capacityNumbers))){
+                String[] split = capacityNumbers.split(",");
+                String capacityNumber="";
+                int flag=0;
+                for (String s : split) {
+                    flag++;
+                    String s1 = statisticalReportService.getcapacityNumber(DataChange.dataToBigDecimal(s));
+                    if (flag==1){
+                        capacityNumber+="旧车号:"+s1+",";
+                    }else if (flag==2){
+                        capacityNumber+="新车号:"+s1;
+                        break;
+                    }
+                }
+                stringObjectMap.put("capacityNo",capacityNumber);
+            }
+        }
         return success(report);
         return success(report);
     }
     }
 
 

+ 23 - 0
src/main/java/com/steerinfo/dil/controller/TmstruckTotalResultController.java

@@ -17,6 +17,7 @@ import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RestController;
 import org.springframework.web.bind.annotation.RestController;
 
 
 import java.math.BigDecimal;
 import java.math.BigDecimal;
+import java.text.SimpleDateFormat;
 import java.util.List;
 import java.util.List;
 import java.util.Map;
 import java.util.Map;
 
 
@@ -33,6 +34,8 @@ public class TmstruckTotalResultController extends BaseRESTfulController {
     ITmstruckTotalResultService tmstruckTotalResultService;
     ITmstruckTotalResultService tmstruckTotalResultService;
     @Autowired
     @Autowired
     ColumnDataUtil columnDataUtil;
     ColumnDataUtil columnDataUtil;
+    private final SimpleDateFormat sdfDateTime = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
+
     @ApiOperation(value="添加总实绩 ")
     @ApiOperation(value="添加总实绩 ")
     @ApiImplicitParams({
     @ApiImplicitParams({
             @ApiImplicitParam(name = "map", value = "订单Id", required = false, dataType = "Map"),
             @ApiImplicitParam(name = "map", value = "订单Id", required = false, dataType = "Map"),
@@ -91,4 +94,24 @@ public class TmstruckTotalResultController extends BaseRESTfulController {
         PageListAdd pageList = columnDataUtil.tableColumnData(apiId, null,qualityResult);
         PageListAdd pageList = columnDataUtil.tableColumnData(apiId, null,qualityResult);
         return success(pageList);
         return success(pageList);
     }
     }
+
+
+    @PostMapping("/getAllReverseResult")
+    public RESTfulResult getAllReverseResult(@RequestBody(required=false) Map<String,Object> mapValue,
+                                             Integer apiId,
+                                             Integer pageNum,
+                                             Integer pageSize,
+                                             String con,
+                                             String  userId,
+                                             String startTime,
+                                             String endTime){
+        PageHelper.startPage(pageNum,pageSize);
+        mapValue.put("con",con);
+        mapValue.put("userId",userId);
+        DataChange.queryDataByDateTime(startTime,endTime,mapValue,sdfDateTime);
+        //分页查询
+        List<Map<String, Object>> qualityResult = tmstruckTotalResultService.getAllReverseResult(mapValue);
+        PageListAdd pageList = columnDataUtil.tableColumnData(apiId, null,qualityResult);
+        return success(pageList);
+    }
 }
 }

+ 3 - 0
src/main/java/com/steerinfo/dil/mapper/StatisticalReportMapper.java

@@ -84,4 +84,7 @@ public interface StatisticalReportMapper {
 
 
     List<Map<String, Object>> getSteelReportDetailsListBySmId(BigDecimal saleOrderMaterialId);
     List<Map<String, Object>> getSteelReportDetailsListBySmId(BigDecimal saleOrderMaterialId);
 
 
+    String queryAddress(BigDecimal addressid);
+
+    String queryCapacityNumber(BigDecimal capacityNumber);
 }
 }

+ 3 - 0
src/main/java/com/steerinfo/dil/mapper/TmstruckTotalResultMapper.java

@@ -19,4 +19,7 @@ public interface TmstruckTotalResultMapper extends IBaseMapper<TmstruckTotalResu
     List<Map<String,Object>> selectCountList(Map<String,Object> map);
     List<Map<String,Object>> selectCountList(Map<String,Object> map);
     //查询包月作业
     //查询包月作业
     List<Map<String, Object>> getTmstruckMonthResult(Map<String, Object> mapValue);
     List<Map<String, Object>> getTmstruckMonthResult(Map<String, Object> mapValue);
+
+    //查询倒库
+    List<Map<String,Object>>  getAllReverseResult(Map<String,Object> map);
 }
 }

+ 6 - 0
src/main/java/com/steerinfo/dil/service/IStatisticalReportService.java

@@ -77,5 +77,11 @@ public interface IStatisticalReportService {
     List<Map<String, Object>> getInwardSaleSteelOrder(Map<String, Object> map);
     List<Map<String, Object>> getInwardSaleSteelOrder(Map<String, Object> map);
 
 
     Map<String,Object> getSteelReportDetailsBySmId(BigDecimal saleOrderMaterialId);
     Map<String,Object> getSteelReportDetailsBySmId(BigDecimal saleOrderMaterialId);
+
+    //获取收货地址
+    String getaddress(BigDecimal addressid);
+
+    //获取车牌号
+    String getcapacityNumber(BigDecimal capacitynumber);
 }
 }
 
 

+ 3 - 0
src/main/java/com/steerinfo/dil/service/ITmstruckTotalResultService.java

@@ -16,4 +16,7 @@ public interface ITmstruckTotalResultService {
     List<Map<String,Object>> selectCountList(Map<String,Object> map);
     List<Map<String,Object>> selectCountList(Map<String,Object> map);
     //查询包月作业
     //查询包月作业
     List<Map<String, Object>> getTmstruckMonthResult(Map<String, Object> mapValue);
     List<Map<String, Object>> getTmstruckMonthResult(Map<String, Object> mapValue);
+
+    //查询倒库作业
+    List<Map<String, Object>> getAllReverseResult(Map<String, Object> mapValue);
 }
 }

+ 16 - 0
src/main/java/com/steerinfo/dil/service/impl/StatisticalReportImpl.java

@@ -254,6 +254,8 @@ public class StatisticalReportImpl implements IStatisticalReportService {
         return saleSteelReport;
         return saleSteelReport;
     }
     }
 
 
+
+
     @Override
     @Override
     public List<Map<String, Object>> getInwardSaleSteelReport(Map<String, Object> map) {
     public List<Map<String, Object>> getInwardSaleSteelReport(Map<String, Object> map) {
         return statisticalReportMapper.getInwardSaleSteelReport(map);
         return statisticalReportMapper.getInwardSaleSteelReport(map);
@@ -304,4 +306,18 @@ public class StatisticalReportImpl implements IStatisticalReportService {
         }
         }
         return map;
         return map;
     }
     }
+
+    @Override
+    public String getaddress(BigDecimal addressid) {
+        String address = statisticalReportMapper.queryAddress(addressid);
+        return address;
+    }
+
+    @Override
+    public String getcapacityNumber(BigDecimal capacitynumber) {
+        String s = statisticalReportMapper.queryCapacityNumber(capacitynumber);
+        return s;
+    }
+
+
 }
 }

+ 10 - 0
src/main/java/com/steerinfo/dil/service/impl/TmstruckTotalResultServiceImpl.java

@@ -56,4 +56,14 @@ public class TmstruckTotalResultServiceImpl implements ITmstruckTotalResultServi
     public List<Map<String, Object>> getTmstruckMonthResult(Map<String, Object> mapValue) {
     public List<Map<String, Object>> getTmstruckMonthResult(Map<String, Object> mapValue) {
         return tmstruckTotalResultMapper.getTmstruckMonthResult(mapValue);
         return tmstruckTotalResultMapper.getTmstruckMonthResult(mapValue);
     }
     }
+
+    /**
+     * 展示倒库作业报表
+     * @param mapValue
+     * @return
+     */
+    @Override
+    public List<Map<String, Object>> getAllReverseResult(Map<String, Object> mapValue) {
+        return tmstruckTotalResultMapper.getAllReverseResult(mapValue);
+    }
 }
 }

+ 14 - 0
src/main/resources/com/steerinfo/dil/mapper/StatisticalReportMapper.xml

@@ -1931,6 +1931,7 @@
                     TRR.RESULT_ARRIVAL_ADDRESS "receiptAddress",
                     TRR.RESULT_ARRIVAL_ADDRESS "receiptAddress",
                     ASOM.SALE_DATE_OF_RECEIPT   "saleDateReceipt",
                     ASOM.SALE_DATE_OF_RECEIPT   "saleDateReceipt",
                     R_CARRIER.CARRIER_ID        "carrierId",
                     R_CARRIER.CARRIER_ID        "carrierId",
+                    OO.CAPACITYIDS "capacityNumbers",
                     NVL(R_CARRIER.CARRIER_ID,0) "carrierIds",
                     NVL(R_CARRIER.CARRIER_ID,0) "carrierIds",
                     OO.CAN_WORK     "canwork",
                     OO.CAN_WORK     "canwork",
                     OO.ORDER_STATUS              "carStatus",
                     OO.ORDER_STATUS              "carStatus",
@@ -2407,4 +2408,17 @@
         AND ASOM.SALE_ORDER_MATERIAL_ID = #{saleOrderMaterialId}
         AND ASOM.SALE_ORDER_MATERIAL_ID = #{saleOrderMaterialId}
     </select>
     </select>
 
 
+    <select id="queryAddress" resultType="java.lang.String">
+        select RRA.ADDRESS_PROVINCE||RRA.ADDRESS_DISTRICT||RRA.ADDRESS_TOWN
+        ||RRP.ADDRESS_DELIVERY_ADDRESS "realAddress"
+        from RMS_RECEIVE_PLACE RRP
+        LEFT JOIN RMS_RECEIVE_ADDRESS RRA
+        ON RRA.ADDRESS_ID=RRP.ADDRESS_ID
+        WHERE RRP.PLACE_ID=#{addressid}
+    </select>
+
+    <select id="queryCapacityNumber" resultType="java.lang.String">
+        select CAPACITY_NUMBER from RMS_CAPACITY
+        where CAPACITY_ID=#{capacitynumber}
+    </select>
 </mapper>
 </mapper>

+ 123 - 1
src/main/resources/com/steerinfo/dil/mapper/TmstruckTotalResultMapper.xml

@@ -459,7 +459,129 @@
                     left join amstruck_inward_requirement air on arp.requirement_plan_id = air.requirement_id
                     left join amstruck_inward_requirement air on arp.requirement_plan_id = air.requirement_id
     where oo.order_type = 11 and air.requirement_type = '包月'
     where oo.order_type = 11 and air.requirement_type = '包月'
   </select>
   </select>
-
+    <select id="getAllReverseResult" resultType="java.util.Map">
+        SELECT * FROM (
+                          SELECT
+                              OO.ORDER_NUMBER "orderNumber",
+                              RC.CAPACITY_NUMBER "capacityNumber",
+                              RM.MATERIAL_NAME "materialName",
+                              CONCAT(CONCAT(RM.MATERIAL_MODEL, '('), CONCAT(MATERIAL_SPECIFICATION, ')')) "materialMC",
+                              OOM.ORDER_MATERIAL_NUMBER "materialNumber",
+                              SUM(RMS.MATERIAL_THEORETICAL_WEIGHT)/1000 || '吨' "weight",
+                              RS.SHIPPER_NAME	"shipperName",
+                              RW1.WAREHOUSE_NAME	"loadName",
+                              RW.WAREHOUSE_NAME	"unloadName",
+                              TLR.RESULT_LOAD_START_TIME "loadStartTime",
+                              TLR.RESULT_LOAD_END_TIME "loadEndTime",
+                              TUR.RESULT_START_TIME "unloadStartTime",
+                              TUR.RESULT_END_TIME"unloadEndTime"
+                          from OMSTRUCK_ORDER OO
+                                   LEFT JOIN TMSTRUCK_TOTAL_RESULT TTR ON OO.ORDER_ID=TTR.ORDER_ID
+                                   LEFT JOIN TMSTRUCK_LOAD_RESULT TLR ON TLR.RESULT_TOTAL_ID=TTR.RESULT_TOTAL_ID
+                                   LEFT JOIN TMSTRUCK_UNLOAD_RESULT TUR ON TUR.RESULT_TOTAL_ID=TTR.RESULT_TOTAL_ID
+                                   LEFT JOIN WMSP_OUTBOUND_RESULT WOR ON WOR.BILL_LADING_ID=OO.ORDER_ID
+                                   LEFT JOIN WMSP_OUTBOUND_SCAN_RESULT WOSR ON WOSR.OUTBOUND_RESULT_ID=WOR.RESULT_ID
+                                   LEFT JOIN WMSP_INBOUND_SCAN_RESULT WISR ON WOSR.INBOUND_RESULT_ID=WISR.INBOUND_RESULT_ID
+                                   LEFT JOIN RMS_MATERIAL_STEEL RMS ON RMS.MATERIAL_STEEL_ID=WISR.MATERIAL_ID
+                                   LEFT JOIN OMSTRUCK_ORDER_MATERIAL OOM ON OOM.ORDER_ID=OO.ORDER_ID
+                                   LEFT JOIN RMS_MATERIAL RM ON RM.MATERIAL_ID=RMS.MATERIAL_ID
+                                   LEFT JOIN RMS_CAPACITY RC ON RC.CAPACITY_ID=OO.CAPACITY_ID
+                                   LEFT JOIN AMSTRUCK_INWARD_PLAN AIP ON OO.ORDER_PLAN_ID = AIP.PLAN_ID
+                                   LEFT JOIN AMSTRUCK_REQUIREMENT_PLAN ARP ON ARP.PLAN_ID = AIP.PLAN_ID
+                                   LEFT JOIN AMSTRUCK_INWARD_REQUIREMENT AIR ON AIR.REQUIREMENT_ID = ARP.REQUIREMENT_ID
+                                   LEFT JOIN RMS_SHIPPER RS ON RS.SHIPPER_ID = AIR.REQUIREMENT_SHIPPER_ID
+                                   LEFT JOIN AMSTRUCK_REQUIREMENT_MATERIAL ARM ON ARM.REQUIREMENT_ID = AIR.REQUIREMENT_ID
+                                   LEFT JOIN RMS_WAREHOUSE RW ON RW.WAREHOUSE_ID = ARM.REQUIREMENT_UNLOAD_UNIT_ID
+                                   LEFT JOIN RMS_WAREHOUSE RW1 ON RW1.WAREHOUSE_ID = ARM.REQUIREMENT_PLATFORM_ID
+                          WHERE OO.ORDER_TYPE=25 AND OO.ORDER_STATUS=2
+                            <if test="oneDate != null">
+                            and to_date(#{oneDate}, 'yyyy-mm-dd hh24:mi:ss') &lt;= TUR.RESULT_END_TIME
+                            </if>
+                            <if test="startDate != null">
+                            and to_date(#{startDate}, 'yyyy-mm-dd hh24:mi:ss') &lt;= TUR.RESULT_END_TIME
+                            and to_date(#{endDate}, 'yyyy-mm-dd hh24:mi:ss') >= TUR.RESULT_END_TIME
+                            </if>
+                          GROUP BY OO.ORDER_NUMBER,RC.CAPACITY_NUMBER,OOM.ORDER_MATERIAL_NUMBER,RM.MATERIAL_NAME,RM.MATERIAL_MODEL,MATERIAL_SPECIFICATION,RW1.WAREHOUSE_NAME,RW.WAREHOUSE_NAME,RS.SHIPPER_NAME,TLR.RESULT_LOAD_START_TIME,
+                                   TLR.RESULT_LOAD_END_TIME,TUR.RESULT_START_TIME,TUR.RESULT_END_TIME
+                          ORDER BY TUR.RESULT_END_TIME DESC
+                      )
+        <where>
+            <if test="orderNumber != null">
+                and
+                <foreach collection="orderNumber" item="item" open="(" separator="or" close=")">
+                    "orderNumber" like '%${item}%'
+                </foreach>
+            </if>
+            <if test="capacityNumber != null">
+                and
+                <foreach collection="capacityNumber" item="item" open="(" separator="or" close=")">
+                    "capacityNumber" like '%${item}%'
+                </foreach>
+            </if>
+            <if test="shipperName != null">
+                and
+                <foreach collection="shipperName" item="item" open="(" separator="or" close=")">
+                    "shipperName" like '%${item}%'
+                </foreach>
+            </if>
+            <if test="materialName != null">
+                <foreach collection="materialName" item="item" open="(" separator="or" close=")">
+                    "materialName" like '%${item}%'
+                </foreach>
+            </if>
+            <if test="materialMC != null">
+                <foreach collection="materialMC" item="item" open="(" separator="or" close=")">
+                    "materialMC" like '%${item}%'
+                </foreach>
+            </if>
+            <if test="materialNumber != null">
+                <foreach collection="materialNumber" item="item" open="(" separator="or" close=")">
+                    "materialNumber"  = #{item}
+                </foreach>
+            </if>
+            <if test="weight != null">
+                <foreach collection="weight" item="item" open="(" separator="or" close=")">
+                    "weight" = #{item}
+                </foreach>
+            </if>
+            <if test="shipperName != null">
+                <foreach collection="shipperName" item="item" open="(" separator="or" close=")">
+                    "shipperName" like '%${item}%'
+                </foreach>
+            </if>
+            <if test="loadName != null">
+                <foreach collection="loadName" item="item" open="(" separator="or" close=")">
+                    "loadName" like '%${item}%'
+                </foreach>
+            </if>
+            <if test="unloadName != null">
+                <foreach collection="unloadName" item="item" open="(" separator="or" close=")">
+                    "unloadName" like '%${item}%'
+                </foreach>
+            </if>
+            <if test="loadStartTime != null">
+                <foreach collection="loadStartTime" item="item" open="(" separator="or" close=")">
+                    "loadStartTime" = #{item}
+                </foreach>
+            </if>
+            <if test="unloadStartTime != null">
+                <foreach collection="unloadStartTime" item="item" open="(" separator="or" close=")">
+                    "unloadStartTime" = #{item}
+                </foreach>
+            </if>
+            <if test="loadEndTime != null">
+                <foreach collection="loadEndTime" item="item" open="(" separator="or" close=")">
+                    "loadEndTime" = #{item}
+                </foreach>
+            </if>
+            <if test="unloadEndTime != null">
+                <foreach collection="unloadEndTime" item="item" open="(" separator="or" close=")">
+                    "unloadEndTime" = #{item}
+                </foreach>
+            </if>
+        </where>
+        <include refid="orderBy"></include>
+    </select>
     <sql id="orderBy">
     <sql id="orderBy">
         <if test="orderField != null and orderField != ''">
         <if test="orderField != null and orderField != ''">
             order by "${orderField}"
             order by "${orderField}"