自动化立体仓库 - WMS系统
lsh
8 天以前 57f96bfa5d9dd779db8eb8c8d1a7524cd1f62127
#getArmType$
3个文件已添加
6个文件已修改
543 ■■■■■ 已修改文件
src/main/java/com/zy/asrs/controller/OpenController.java 15 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/entity/ViewStockUseBeanDigitalTwin.java 12 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/entity/param/DigitalTwinRecentOrderParam.java 34 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/entity/param/ViewOrderParam.java 24 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/mapper/ReportQueryMapper.java 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/service/OpenService.java 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java 26 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/utils/TimeCalculatorUtils.java 406 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/resources/mapper/ViewWorkInMapper.xml 22 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/controller/OpenController.java
@@ -228,4 +228,19 @@
        return R.ok().add(openService.digitalTwinOverview());
    }
    /**
     * 近期订单  近期订单数量,默认7天
     */
    @RequestMapping("/digitalTwin/recentOrder")
    public R digitalTwinRecentOrder(@RequestHeader(required = false) String appkey,
                                 @RequestBody DigitalTwinRecentOrderParam param,
                                 HttpServletRequest request) {
        auth(appkey, param, request);
        if (Cools.isEmpty(param)) {
            return R.parse(BaseRes.PARAM);
        }
        return R.ok().add(openService.digitalTwinRecentOrder(param));
    }
}
src/main/java/com/zy/asrs/entity/ViewStockUseBeanDigitalTwin.java
@@ -9,12 +9,12 @@
 */
@Data
public class ViewStockUseBeanDigitalTwin {
    private Long totalLoc;        //库位总数
    private Long useLoc;        //已用库位
    private Long idleLoc;        //剩余库位
    private Long todayOutbound;        //今日出库
    private Long todayWarehousing;        //今日入库
    private Long remainingStock;        //剩余库存
    private Long totalLoc = 0L;        //库位总数
    private Long useLoc = 0L;        //已用库位
    private Long idleLoc = 0L;        //剩余库位
    private Long todayOutbound = 0L;        //今日出库
    private Long todayWarehousing = 0L;        //今日入库
    private Long remainingStock = 0L;        //剩余库存
    private String nowData;        //剩余库存
}
src/main/java/com/zy/asrs/entity/param/DigitalTwinRecentOrderParam.java
New file
@@ -0,0 +1,34 @@
package com.zy.asrs.entity.param;
import lombok.Data;
import java.util.List;
/**
 * Created by vincent on 2020/6/13
 */
@Data
public class DigitalTwinRecentOrderParam {
    // 开始日期,格式:20251022。不传默认7天。
    private String startDate;
    // 结束日期,格式:20251022。配合startDate使用。
    private String endDate;
    private String memo;
    private List<ViewOrderParam> viewOrderParamList;
    private List<DataCode> dataCodeList;
    @Data
    public static class DataCode {
        // 物料编号
        private String orderDate;
        // 物料数量
        private Long orderNum;
    }
}
src/main/java/com/zy/asrs/entity/param/ViewOrderParam.java
New file
@@ -0,0 +1,24 @@
package com.zy.asrs.entity.param;
import lombok.Data;
import java.util.List;
/**
 * Created by vincent on 2020/6/13
 */
public class ViewOrderParam {
    // 物料编号
    private String ymd;
    // 物料数量
    private Long qty;
    public String getYmd() {
        return ymd;
    }
    public void setYmd(String ymd) {
        this.ymd = ymd;
    }
    public Long getQty() { return qty;}
    public void setQty(Long qty) { this.qty = qty;}
}
src/main/java/com/zy/asrs/mapper/ReportQueryMapper.java
@@ -1,6 +1,7 @@
package com.zy.asrs.mapper;
import com.zy.asrs.entity.*;
import com.zy.asrs.entity.param.ViewOrderParam;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select;
@@ -80,4 +81,6 @@
    Integer selectWorkCountInSum(String matnr, @Param("start") String startTime, @Param("end") String endTime);
    Integer selectWorkCountOutSum(String matnr, @Param("start") String startTime, @Param("end") String endTime);
    List<ViewOrderParam> getAsrOrderView(@Param("ymdS") String startTime, @Param("ymdD") String endTime);
}
src/main/java/com/zy/asrs/service/OpenService.java
@@ -49,4 +49,5 @@
     * 库存统计
     */
    ViewStockUseBeanDigitalTwin digitalTwinOverview();
    DigitalTwinRecentOrderParam digitalTwinRecentOrder(DigitalTwinRecentOrderParam digitalTwinRecentOrderParam);
}
src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java
@@ -3,6 +3,7 @@
import com.baomidou.mybatisplus.mapper.EntityWrapper;
import com.core.common.Cools;
import com.core.common.DateUtils;
import com.core.common.R;
import com.core.common.SnowflakeIdWorker;
import com.core.exception.CoolException;
import com.zy.asrs.entity.*;
@@ -14,6 +15,7 @@
import com.zy.asrs.service.*;
import com.zy.asrs.utils.MatUtils;
import com.zy.asrs.utils.OrderInAndOutUtil;
import com.zy.asrs.utils.TimeCalculatorUtils;
import com.zy.common.model.DetlDto;
import com.zy.common.utils.NodeUtils;
import lombok.extern.slf4j.Slf4j;
@@ -609,7 +611,7 @@
        viewStockUseBeanDigitalTwin.setIdleLoc(Integer.toUnsignedLong(selectCountLocMastO));
        List<ViewInOutBean> list = reportQueryMapper.getViewInOutAll(new ViewInOutBean());
        Date date = new Date();
        String format = new SimpleDateFormat("yyyy-MM-dd").format(date);
        String format = new SimpleDateFormat(DateUtils.yyyyMMdd_F).format(date);
        viewStockUseBeanDigitalTwin.setNowData(format);
        for (ViewInOutBean view : list) {
            if (view.getYmd().equals(format)) {
@@ -621,4 +623,26 @@
        return viewStockUseBeanDigitalTwin;
    }
    @Override
    @Transactional
    public DigitalTwinRecentOrderParam digitalTwinRecentOrder(DigitalTwinRecentOrderParam param) {
        Date date = new Date();
        if (Cools.isEmpty(param.getStartDate()) || !TimeCalculatorUtils.isValidDateFormat(param.getStartDate(), DateUtils.yyyyMMdd) || TimeCalculatorUtils.isFutureDate(param.getStartDate(), DateUtils.yyyyMMdd)) {
            param.setMemo("开始日期异常 :"+param.getStartDate());
            String timeFrontSevenYesterday = new SimpleDateFormat(DateUtils.yyyyMMdd).format(TimeCalculatorUtils.timeFrontSevenYesterday6(date));//七天前
            param.setStartDate(timeFrontSevenYesterday);
            String format = new SimpleDateFormat(DateUtils.yyyyMMdd).format(date);//当天
            param.setEndDate(format);
            param.setMemo(param.getMemo()+";初始化日期为 :"+param.getStartDate()+"===>" + param.getEndDate());
        } else if (Cools.isEmpty(param.getEndDate()) || !TimeCalculatorUtils.isValidDateFormat(param.getEndDate(), DateUtils.yyyyMMdd)) {
            param.setMemo("结束日期异常 :"+param.getEndDate());
            String format = new SimpleDateFormat(DateUtils.yyyyMMdd).format(date);//当天
            param.setEndDate(format);
            param.setMemo(param.getMemo()+";初始化日期为 :"+param.getStartDate()+"===>" + param.getEndDate());
        }
        List<ViewOrderParam> asrOrderView = reportQueryMapper.getAsrOrderView(param.getStartDate(), param.getEndDate());
        param.setViewOrderParamList(asrOrderView);
        return param;
    }
}
src/main/java/com/zy/asrs/utils/TimeCalculatorUtils.java
New file
@@ -0,0 +1,406 @@
package com.zy.asrs.utils;
import java.time.DayOfWeek;
import java.time.LocalDate;
import java.time.ZoneId;
import java.time.format.DateTimeFormatter;
import java.time.format.DateTimeParseException;
import java.time.temporal.ChronoUnit;
import java.time.temporal.TemporalAdjusters;
import java.time.temporal.WeekFields;
import java.util.*;
public class TimeCalculatorUtils {
    //获取七天前的日期(日期天数减七)
    public static Date timeFrontSevenYesterday(Date date){
        Calendar calendar = Calendar.getInstance();
        calendar.setTime(date);
        calendar.add(Calendar.DAY_OF_MONTH, -7);
        return calendar.getTime();
    }
    //获取七天前的日期(日期天数减七,包含当天)
    public static Date timeFrontSevenYesterday6(Date date){
        Calendar calendar = Calendar.getInstance();
        calendar.setTime(date);
        calendar.add(Calendar.DAY_OF_MONTH, -6);
        return calendar.getTime();
    }
    //获取七天后的日期(日期天数加七)
    public static Date timeAfterSevenYesterday(Date date){
        Calendar calendar = Calendar.getInstance();
        calendar.setTime(date);
        calendar.add(Calendar.DAY_OF_MONTH, 7);
        return calendar.getTime();
    }
    //获取相差n天的日期(日期天数加N)
    public static Date timeYesterdayN(Date date,int day){
        Calendar calendar = Calendar.getInstance();
        calendar.setTime(date);
        calendar.add(Calendar.DAY_OF_MONTH, day);
        return calendar.getTime();
    }
    //获取年月日
    public static String timeYestMonthDay(Date date){
        Calendar calendar = Calendar.getInstance();
        calendar.setTime(date);
        int year = calendar.get(Calendar.YEAR);
        int month = calendar.get(Calendar.MONTH) + 1;  // 月份从0开始,需要加1
        int day = calendar.get(Calendar.DAY_OF_MONTH);
        return year+"年"+month+"月"+day+"日";
    }
    //获取年
    public static int timeYest(Date date){
        Calendar calendar = Calendar.getInstance();
        calendar.setTime(date);
        return calendar.get(Calendar.YEAR);
    }
    //获取月
    public static int timeMonth(Date date){
        Calendar calendar = Calendar.getInstance();
        calendar.setTime(date);
        return calendar.get(Calendar.MONTH) + 1;
    }
    //获取日
    public static int timeDay(Date date){
        Calendar calendar = Calendar.getInstance();
        calendar.setTime(date);
        return calendar.get(Calendar.DAY_OF_MONTH);
    }
    //获取年差异
    public static int DifferenceYest(Date startDay,Date endDay){
        int startYest = timeYest(startDay);
        int endYest = timeYest(endDay);
        return endYest-startYest;
    }
    //获取月差异
    public static int DifferenceMonth(Date startDay,Date endDay){
        int startMonth = timeMonth(startDay);
        int endMonth = timeMonth(endDay);
        return endMonth-startMonth;
    }
    //获取天差异
    public static int DifferenceDayInt(Date startDay,Date endDay){
        return DifferenceDayLong(startDay,endDay).intValue();
    }
    //获取天差异
    public static Long DifferenceDayLong(Date startDay,Date endDay){
        LocalDate a = LocalDate.of(timeYest(startDay), timeMonth(startDay), timeDay(startDay));
        LocalDate b = LocalDate.of(timeYest(endDay), timeMonth(endDay), timeDay(endDay));
        return ChronoUnit.DAYS.between(a, b)+1;
    }
    //获取天差异
    public static Double DifferenceDayMorningAfternoon(Date startDay,Date endDay,int startTime,int endTime){
        double between = DifferenceDayLong(startDay, endDay).doubleValue();
        if (startTime==2){
            between = between-0.5;
        }
        if (endTime == 1){
            between = between-0.5;
        }
        return between;
    }
    //获取毫秒差异
    public static Long differenceInMilliseconds(Date startDay, Date endDay) {
        if (startDay == null || endDay == null) {
            throw new IllegalArgumentException("Dates cannot be null");
        }
        // 获取毫秒差异
        return endDay.getTime() - startDay.getTime();
    }
    //获秒差异
    public static long differenceInSeconds(Date startDay, Date endDay) {
        if (startDay == null || endDay == null) {
            throw new IllegalArgumentException("Dates cannot be null");
        }
        // 获取毫秒差异,并转换为秒
        long millisecondsDifference = endDay.getTime() - startDay.getTime();
        return millisecondsDifference / 1000;
    }
    public static boolean CompareData(Date startDay,Date endDay){
        // 将日期字符串解析为LocalDate对象
        LocalDate a = LocalDate.of(timeYest(startDay), timeMonth(startDay), timeDay(startDay));
        LocalDate b = LocalDate.of(timeYest(endDay), timeMonth(endDay), timeDay(endDay));
        // 比较日期
        if (a.isAfter(b)) {
            return false;
        } else if (a.isBefore(b)) {
            return true;
        } else {
            return true;
        }
    }
    //java.time.LocalDate 转换为 java.util.Date;
    public static Date DateLocalDate(LocalDate localDate) {
        return Date.from(localDate.atStartOfDay(ZoneId.systemDefault()).toInstant());
    }
    //获取现在日期是当月第几周
    public static int WeeklyNowMonthDay(Date date) {
//        int day = timeDay(date);
//        if (day<7){
//            if (WeeklyNowMonth(WeeklyMonday(date))>2){
//                return 1;
//            }
//        }
        return WeeklyNowMonth(WeeklyMonday(date));
    }
    public static int WeeklyNowMonth(Date date) {
//        LocalDate currentDate = LocalDate.now();
        LocalDate currentDate = LocalDate.of(timeYest(date), timeMonth(date), timeDay(date));
        WeekFields weekFields = WeekFields.of(Locale.getDefault());
        int weekOfMonth = currentDate.get(weekFields.weekOfMonth());
        return weekOfMonth;
    }
    //限制两个日期是周一和周末  工作日  周一到周六
    public static void WeeklySix(Date date) {
//        LocalDate startDate = LocalDate.of(2022, 9, 5); // 假设开始日期是2022年9月5日,周一
        LocalDate startDate = LocalDate.of(timeYest(date), timeMonth(date), timeDay(date));
        System.out.println("当前日期 " + startDate + " 周");
        LocalDate endDate = startDate.plus(6, ChronoUnit.DAYS); // 结束日期是开始日期加上6天
        System.out.println("当前日期加上6天是 " + endDate + " 周");
        // 如果开始日期不是周一,则将它调整到下一个周一
        if (startDate.getDayOfWeek() != DayOfWeek.MONDAY) {
            startDate = startDate.with(TemporalAdjusters.next(DayOfWeek.MONDAY));
        }
        // 如果结束日期不是周末(即周六或周日),则将它调整到下一个周末
        if (endDate.getDayOfWeek() != DayOfWeek.SATURDAY && endDate.getDayOfWeek() != DayOfWeek.SUNDAY) {
            endDate = endDate.with(TemporalAdjusters.next(DayOfWeek.SATURDAY));
        }
        // 确保两个日期之间相隔七天
        while (startDate.plus(7, ChronoUnit.DAYS).isBefore(endDate)) {
            startDate = startDate.plus(7, ChronoUnit.DAYS);
        }
        System.out.println("开始日期:" + startDate);
        System.out.println("结束日期:" + endDate);
    }
    //限制两个日期是周一和周末  周一到周日
    public static List<Date> WeeklySeven(Date date) {
//        LocalDate startDate = LocalDate.of(2022, 9, 5); // 假设开始日期是2022年9月5日,周一
        LocalDate startDate = LocalDate.of(timeYest(date), timeMonth(date), timeDay(date));
//        System.out.println("当前日期 " + startDate + " 周");
        LocalDate endDate = startDate.plus(6, ChronoUnit.DAYS); // 结束日期是开始日期加上6天
//        System.out.println("当前日期加上6天是 " + endDate + " 周");
        // 如果开始日期不是周一,则将它调整到下一个周一
        if (startDate.getDayOfWeek() != DayOfWeek.MONDAY) {
            startDate = startDate.with(TemporalAdjusters.next(DayOfWeek.MONDAY));
        }
        // 如果结束日期不是周日,则将它调整到下一个周日
        if (endDate.getDayOfWeek() != DayOfWeek.SUNDAY) {
            endDate = endDate.with(TemporalAdjusters.next(DayOfWeek.SUNDAY));
        }
        // 确保两个日期之间相隔七天
        while (startDate.plus(7, ChronoUnit.DAYS).isBefore(endDate)) {
            startDate = startDate.plus(7, ChronoUnit.DAYS);
        }
        List<Date> dateList = new ArrayList<>();
        dateList.add(DateLocalDate(startDate));
        dateList.add(DateLocalDate(endDate));
        return dateList;
//        System.out.println("开始日期:" + startDate);
//        System.out.println("结束日期:" + endDate);
    }
    //判断是不是周一
    public static boolean WeeklyOneSign(Date date) {
        LocalDate localDate = LocalDate.of(timeYest(date), timeMonth(date), timeDay(date));
        // 判断是不是周一
        if (localDate.getDayOfWeek() != DayOfWeek.MONDAY) {
            return false;
        }
        return true;
    }
    //获取本周周一
    public static Date WeeklyMonday (Date date) {
        LocalDate localDate = LocalDate.of(timeYest(date), timeMonth(date), timeDay(date));
        // 下周周一
        localDate = localDate.with(TemporalAdjusters.next(DayOfWeek.MONDAY));
        // 将LocalDate转换为Date
        Date monday = DateLocalDate(localDate);
        // 则将它调整到本周周一
        return timeFrontSevenYesterday(monday);
    }
    //获取当前日期所在的周一及周日时间
    public static List<Date> WeeklyMondayAndSundayNow(Date date) {
        Date nowMonday = WeeklyMonday(date);
        return WeeklySeven(nowMonday);
    }
    //获取当前日期上一周周一及周日时间
    public static List<Date> WeeklyMondayAndSundayFront(Date date) {
        Date nowMonday = WeeklyMonday(date);
        Date frontSevenYesterday = timeFrontSevenYesterday(nowMonday);
        return WeeklySeven(frontSevenYesterday);
    }
    //获取当前日期下一周周一及周日时间
    public static List<Date> WeeklyMondayAndSundayAfter(Date date) {
        Date nowMonday = WeeklyMonday(date);
        Date afterSevenYesterday = timeAfterSevenYesterday(nowMonday);
        return WeeklySeven(afterSevenYesterday);
    }
    //获取周一到周末
    public static List<Date> WeeklyDays(Date date){
        Date nowMonday = WeeklyMonday(date);
        List<Date> dateList = new ArrayList<>();
        dateList.add(nowMonday);
        for (int i = 1; i<7 ; i++){
            dateList.add(timeYesterdayN(nowMonday,i));
        }
        return dateList;
    }
    //获取周一到周末
    public static List<Date> WeeklyListDays(List<Date> dates){
        Date date = dates.get(0);
        Date nowMonday = WeeklyMonday(date);
        List<Date> dateList = new ArrayList<>();
        dateList.add(nowMonday);
        for (int i = 1; i<7 ; i++){
            dateList.add(timeYesterdayN(nowMonday,i));
        }
        return dateList;
    }
    public static void main(String[] args) {
        Date now = new Date();
        int weeklyNowMonth = WeeklyNowMonthDay(now);
        System.out.println("当前日期是第 " + weeklyNowMonth + " 周");
        LocalDate startDate1 = LocalDate.of(2024, 2, 29);
        int weeklyNowMonth1 = WeeklyNowMonthDay(DateLocalDate(startDate1));
        System.out.println("当前日期是第 " + weeklyNowMonth1 + " 周");
        LocalDate startDate2 = LocalDate.of(2024, 3, 5);
        int weeklyNowMonth2 = WeeklyNowMonthDay(DateLocalDate(startDate2));
        System.out.println("当前日期是第 " + weeklyNowMonth2 + " 周");
        LocalDate startDate3 = LocalDate.of(2024, 3, 10);
        int weeklyNowMonth3 = WeeklyNowMonthDay(DateLocalDate(startDate3));
        System.out.println("当前日期是第 " + weeklyNowMonth3 + " 周");
        LocalDate startDate4 = LocalDate.of(2024, 3, 31);
        int weeklyNowMonth4 = WeeklyNowMonthDay(DateLocalDate(startDate4));
        System.out.println("当前日期是第 " + weeklyNowMonth4 + " 周");
        LocalDate startDate5 = LocalDate.of(2024, 4, 1);
        int weeklyNowMonth5 = WeeklyNowMonthDay(DateLocalDate(startDate5));
        System.out.println("当前日期是第 " + weeklyNowMonth5 + " 周");
        LocalDate startDate6 = LocalDate.of(2024, 4, 7);
        int weeklyNowMonth6 = WeeklyNowMonthDay(DateLocalDate(startDate6));
        System.out.println("当前日期是第 " + weeklyNowMonth6 + " 周");
    }
//    public static void main(String[] args) {
//        Date now = new Date();
//        //本周
//        List<Date> dateList = WeeklyMondayAndSundayNow(now);
//        for (Date date : dateList){
//            System.out.println("------------------------------");
//            System.out.println(date);
//        }
//        //上周
//        List<Date> dateList1 = WeeklyMondayAndSundayFront(now);
//        for (Date date : dateList1){
//            System.out.println("------------------------------");
//            System.out.println(date);
//        }
//        //下周
//        List<Date> dateList2 = WeeklyMondayAndSundayAfter(now);
//        for (Date date : dateList2){
//            System.out.println("------------------------------");
//            System.out.println(date);
//        }
//        //周
//        List<Date> dateList3 = WeeklyDays(now);
//        for (Date date : dateList3){
//            System.out.println("------------------------------");
//            System.out.println(date);
//        }
//    }
    /**
     * 校验字符串是否是指定格式的合法日期
     * @param dateString 待校验的日期字符串,如 "20260104"
     * @param dateFormat 预期的日期格式,如 "yyyyMMdd"
     * @return true 表示格式合法且是有效日期,false 表示格式错误或日期无效
     */
    public static boolean isValidDateFormat(String dateString, String dateFormat) {
        if (dateString == null || dateFormat == null || dateString.length() != dateFormat.length()) {
            return false;
        }
        DateTimeFormatter formatter = DateTimeFormatter.ofPattern(dateFormat);
        try {
            LocalDate parsedDate = LocalDate.parse(dateString, formatter);
            return true; // 解析成功说明格式正确且日期有效
        } catch (DateTimeParseException e) {
            return false; // 解析失败说明格式错误或日期无效
        }
    }
    /**
     * 校验字符串是否表示未来时间(首先会校验格式是否正确)
     * @param dateString 待校验的日期字符串,如 "20260104"
     * @param dateFormat 预期的日期格式,如 "yyyyMMdd"
     * @return true 表示是未来时间,false 表示不是未来时间或格式无效
     */
    public static boolean isFutureDate(String dateString, String dateFormat) {
        if (!isValidDateFormat(dateString, dateFormat)) {
            return false; // 格式无效直接返回false
        }
        DateTimeFormatter formatter = DateTimeFormatter.ofPattern(dateFormat);
        LocalDate inputDate = LocalDate.parse(dateString, formatter);
        LocalDate today = LocalDate.now();
        return inputDate.isAfter(today); // 与当前日期比较
    }
}
src/main/resources/mapper/ViewWorkInMapper.xml
@@ -50,6 +50,19 @@
        </if>
</sql>
<sql id="viewAsrOrderView">
    <if test="ymdS!=null and ymdS!='' ">
        <![CDATA[
        and ymd >= #{ymdS}
        ]]>
    </if>
    <if test="ymdD!=null and ymdD!='' ">
        <![CDATA[
        and ymd <= #{ymdD}
        ]]>
    </if>
</sql>
<sql id="viewWorkOutConditionSql">
        <if test="loc_no!=null and loc_no!='' ">
            and loc_no like '%' + #{loc_no} + '%'
@@ -157,4 +170,13 @@
    Order by a.io_time desc
</select>
<!-- 不分页查询所有信息 -->
<select id="getAsrOrderView" parameterType="com.zy.asrs.entity.param.ViewOrderParam" resultType="com.zy.asrs.entity.param.ViewOrderParam">
    select *
    from asr_order_view
    where 1=1
    <include refid="viewAsrOrderView"></include>
    Order by ymd desc
</select>
</mapper>