自动化立体仓库 - WMS系统
lsh
8 天以前 32a0c497d0c939b57ba4ac12f6e0bd8cedad5a4e
#getArmType$
2个文件已添加
9个文件已修改
198 ■■■■■ 已修改文件
src/main/java/com/zy/asrs/controller/OpenController.java 15 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/entity/param/DigitalTwinRecentIdleLocParam.java 35 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/entity/param/DigitalTwinRecentOrderParam.java 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/entity/param/ViewLocDailyLogParam.java 44 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/entity/param/ViewOrderParam.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/mapper/ReportQueryMapper.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/service/OpenService.java 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java 40 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/task/OrderMoveHistoryScheduler.java 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/task/handler/OrderMoveHistoryHandler.java 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/resources/mapper/ViewWorkInMapper.xml 40 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/controller/OpenController.java
@@ -243,4 +243,19 @@
        return R.ok().add(openService.digitalTwinRecentOrder(param));
    }
    /**
     * 6.3近期剩余库位  近期剩余库位数量,默认7天
     */
    @RequestMapping("/digitalTwin/recentIdleLoc")
    public R digitalTwinRecentIdleLoc(@RequestHeader(required = false) String appkey,
                                    @RequestBody DigitalTwinRecentIdleLocParam param,
                                    HttpServletRequest request) {
        auth(appkey, param, request);
        if (Cools.isEmpty(param)) {
            return R.parse(BaseRes.PARAM);
        }
        return R.ok().add(openService.digitalTwinRecentIdleLoc(param));
    }
}
src/main/java/com/zy/asrs/entity/param/DigitalTwinRecentIdleLocParam.java
New file
@@ -0,0 +1,35 @@
package com.zy.asrs.entity.param;
import lombok.Data;
import java.util.List;
/**
 * Created by vincent on 2020/6/13
 */
@Data
public class DigitalTwinRecentIdleLocParam {
    private int areaId;
    // 开始日期,格式:20251022。不传默认7天。
    private String startDate;
    // 结束日期,格式:20251022。配合startDate使用。
    private String endDate;
    private String memo;
    private List<DataCode> dataCodeList;
    @Data
    public static class DataCode {
        private int areaId;
        // 库存日期,格式:2025-10-22
        private String locDate;
        // 数字    剩余库位数量
        private Long idleNum;
    }
}
src/main/java/com/zy/asrs/entity/param/DigitalTwinRecentOrderParam.java
@@ -18,7 +18,6 @@
    private String memo;
    private List<ViewOrderParam> viewOrderParamList;
    private List<DataCode> dataCodeList;
    @Data
src/main/java/com/zy/asrs/entity/param/ViewLocDailyLogParam.java
New file
@@ -0,0 +1,44 @@
package com.zy.asrs.entity.param;
/**
 * Created by vincent on 2020/6/13
 */
public class ViewLocDailyLogParam {
    private String ymd;
    private int area;
    private Long qty;
    private String sts;
    public String getYmd() {
        return ymd;
    }
    public void setYmd(String ymd) {
        this.ymd = ymd;
    }
    public int getArea() {
        return area;
    }
    public void setArea(int area) {
        this.area = area;
    }
    public Long getQty() {
        return qty;
    }
    public void setQty(Long qty) {
        this.qty = qty;
    }
    public String getSts() {
        return sts;
    }
    public void setSts(String sts) {
        this.sts = sts;
    }
}
src/main/java/com/zy/asrs/entity/param/ViewOrderParam.java
@@ -1,9 +1,5 @@
package com.zy.asrs.entity.param;
import lombok.Data;
import java.util.List;
/**
 * Created by vincent on 2020/6/13
 */
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.ViewLocDailyLogParam;
import com.zy.asrs.entity.param.ViewOrderParam;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
@@ -83,4 +84,7 @@
    Integer selectWorkCountOutSum(String matnr, @Param("start") String startTime, @Param("end") String endTime);
    List<ViewOrderParam> getAsrOrderView(@Param("ymdS") String startTime, @Param("ymdD") String endTime);
    List<ViewLocDailyLogParam> getAsrLocDailyLogO(@Param("areaId")int areaId, @Param("ymdS") String startTime, @Param("ymdD") String endTime);
    List<ViewLocDailyLogParam> getAsrLocDailyLog2(@Param("areaId")int areaId, @Param("ymdS") String startTime, @Param("ymdD") String endTime);
    void insertAsrLocDailyLog();
}
src/main/java/com/zy/asrs/service/OpenService.java
@@ -50,4 +50,5 @@
     */
    ViewStockUseBeanDigitalTwin digitalTwinOverview();
    DigitalTwinRecentOrderParam digitalTwinRecentOrder(DigitalTwinRecentOrderParam digitalTwinRecentOrderParam);
    DigitalTwinRecentIdleLocParam digitalTwinRecentIdleLoc(DigitalTwinRecentIdleLocParam digitalTwinRecentIdleLocParam);
}
src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java
@@ -641,7 +641,45 @@
            param.setMemo(param.getMemo()+";初始化日期为 :"+param.getStartDate()+"===>" + param.getEndDate());
        }
        List<ViewOrderParam> asrOrderView = reportQueryMapper.getAsrOrderView(param.getStartDate(), param.getEndDate());
        param.setViewOrderParamList(asrOrderView);
        List<DigitalTwinRecentOrderParam.DataCode> dataCodes = new ArrayList<>();
        for (ViewOrderParam view : asrOrderView) {
            DigitalTwinRecentOrderParam.DataCode dataCode = new DigitalTwinRecentOrderParam.DataCode();
            dataCode.setOrderDate(view.getYmd());
            dataCode.setOrderNum(view.getQty());
            dataCodes.add(dataCode);
        }
        param.setDataCodeList(dataCodes);
        return param;
    }
    @Override
    @Transactional
    public DigitalTwinRecentIdleLocParam digitalTwinRecentIdleLoc(DigitalTwinRecentIdleLocParam 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<ViewLocDailyLogParam> asrLocDailyLogO = reportQueryMapper.getAsrLocDailyLogO(param.getAreaId(), param.getStartDate(), param.getEndDate());
        List<ViewLocDailyLogParam> asrLocDailyLogO = reportQueryMapper.getAsrLocDailyLog2(param.getAreaId(), param.getStartDate(), param.getEndDate());
        List<DigitalTwinRecentIdleLocParam.DataCode> dataCodes = new ArrayList<>();
        for (ViewLocDailyLogParam view : asrLocDailyLogO) {
            DigitalTwinRecentIdleLocParam.DataCode dataCode = new DigitalTwinRecentIdleLocParam.DataCode();
            dataCode.setLocDate(view.getYmd());
            dataCode.setIdleNum(view.getQty());
            dataCode.setAreaId(view.getArea());
            dataCodes.add(dataCode);
        }
        param.setDataCodeList(dataCodes);
        return param;
    }
src/main/java/com/zy/asrs/task/OrderMoveHistoryScheduler.java
@@ -26,4 +26,9 @@
    public void executeOrder(){
        orderMoveHistoryHandler.startOrder();
    }
    @Scheduled(cron = "59 59 23 * * ?")
    public void executeAsrLocDailyLog(){
        orderMoveHistoryHandler.startAsrLocDailyLog();
    }
}
src/main/java/com/zy/asrs/task/handler/OrderMoveHistoryHandler.java
@@ -3,7 +3,9 @@
import com.baomidou.mybatisplus.mapper.EntityWrapper;
import com.core.common.Cools;
import com.zy.asrs.entity.*;
import com.zy.asrs.mapper.ReportQueryMapper;
import com.zy.asrs.service.*;
import com.zy.asrs.service.impl.LocMastServiceImpl;
import com.zy.asrs.service.impl.OrderDetlPakinServiceImpl;
import com.zy.asrs.service.impl.OrderPakinServiceImpl;
import com.zy.asrs.task.AbstractHandler;
@@ -31,6 +33,8 @@
    private OrderDetlPakinServiceImpl orderDetlPakinService;
    @Autowired
    private OrderDetlPakoutService orderDetlPakoutService;
    @Autowired
    private ReportQueryMapper reportQueryMapper;
    public ReturnT<String> start(){
//        List<Order> settleEqual6 = orderService.selectList(new EntityWrapper<Order>()
@@ -114,4 +118,9 @@
        }
    }
    public ReturnT<String> startAsrLocDailyLog(){
        reportQueryMapper.insertAsrLocDailyLog();
        return SUCCESS;
    }
}
src/main/resources/mapper/ViewWorkInMapper.xml
@@ -179,4 +179,44 @@
    Order by ymd desc
</select>
<!-- 不分页查询所有信息 -->
<select id="getAsrLocDailyLogO" parameterType="com.zy.asrs.entity.param.ViewLocDailyLogParam" resultType="com.zy.asrs.entity.param.ViewLocDailyLogParam">
    select *
    from asr_loc_daily_log_view
    where 1=1
    <choose>
        <when test="areaId != null and areaId != 0">
            and sts = 'O'
            and area = #{areaId}
        </when>
        <otherwise>
            and sts = 'BFQ'
            and (area IS NULL OR area = 0)
        </otherwise>
    </choose>
    <include refid="viewAsrOrderView"></include>
    Order by ymd desc
</select>
<!-- 不分页查询所有信息 -->
<select id="getAsrLocDailyLog2" parameterType="com.zy.asrs.entity.param.ViewLocDailyLogParam" resultType="com.zy.asrs.entity.param.ViewLocDailyLogParam">
    select *
    from asr_loc_daily_log_view
    where 1=1
    and sts = 'O'
    <if test="areaId != null and areaId != 0">
        and area = #{areaId}
    </if>
    <include refid="viewAsrOrderView"></include>
    Order by ymd desc
</select>
<insert id="insertAsrLocDailyLog">
    INSERT INTO asr_loc_daily_log (loc_count, area_id)
    SELECT COUNT(*), crn_no
    FROM asr_loc_mast
    WHERE loc_sts = 'O'
    GROUP BY crn_no;
</insert>
</mapper>