自动化立体仓库 - WMS系统
lsh
7 天以前 ea1db1a84e8d1412b77060a37bc976a93bbb58dd
#getArmType$
4个文件已添加
5个文件已修改
251 ■■■■■ 已修改文件
src/main/java/com/zy/asrs/controller/OpenController.java 45 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/entity/param/DigitalTwinEquipmentParam.java 32 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/entity/param/DigitalTwinRecentDetainMatParam.java 45 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/entity/param/DigitalTwinWarehouseDetailParam.java 46 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/entity/param/VwLocDetlSummaryParam.java 22 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/mapper/ReportQueryMapper.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/service/OpenService.java 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java 38 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/resources/mapper/ViewWorkInMapper.xml 18 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/controller/OpenController.java
@@ -273,4 +273,49 @@
        return R.ok().add(openService.digitalTwinRecentInAndOutBound(param));
    }
    /**
     * 6.5近期呆滞品
     */
    @RequestMapping("/digitalTwin/recentDetainMat")
    public R digitalTwinRecentDetainMat(@RequestHeader(required = false) String appkey,
                                            @RequestBody DigitalTwinRecentDetainMatParam param,
                                            HttpServletRequest request) {
        auth(appkey, param, request);
        if (Cools.isEmpty(param)) {
            return R.parse(BaseRes.PARAM);
        }
        return R.ok().add(openService.digitalTwinRecentDetainMat(param));
    }
    /**
     * 6.6设备监控
     */
    @RequestMapping("/digitalTwin/equipment")
    public R digitalTwinEquipment(@RequestHeader(required = false) String appkey,
                                        @RequestBody DigitalTwinEquipmentParam param,
                                        HttpServletRequest request) {
        auth(appkey, param, request);
        if (Cools.isEmpty(param)) {
            return R.parse(BaseRes.PARAM);
        }
        return R.ok().add(openService.digitalTwinEquipment(param));
    }
    /**
     * 6.7库位及库存信息
     */
    @RequestMapping("/digitalTwin/warehouseDetail")
    public R digitalTwinWarehouseDetail(@RequestHeader(required = false) String appkey,
                                  @RequestBody DigitalTwinWarehouseDetailParam param,
                                  HttpServletRequest request) {
        auth(appkey, param, request);
        if (Cools.isEmpty(param)) {
            return R.parse(BaseRes.PARAM);
        }
        return R.ok().add(openService.digitalTwinWarehouseDetail(param));
    }
}
src/main/java/com/zy/asrs/entity/param/DigitalTwinEquipmentParam.java
New file
@@ -0,0 +1,32 @@
package com.zy.asrs.entity.param;
import lombok.Data;
import java.util.ArrayList;
import java.util.List;
/**
 * Created by vincent on 2020/6/13
 */
@Data
public class DigitalTwinEquipmentParam {
    private int areaId = 0;         //库区ID,不传默认全部
    private List<DataCode> dataCodeList = new ArrayList<>();
    @Data
    public static class DataCode {
        private String equipmentId = "1";         //设备ID
        private String equipmentName = "号堆垛机";       //设备名称
        private int equipmentType = 1;         //设备类型:1 堆垛机;2 CTU;3 AGV;
        private String belongAreaId = "1";        //归属库区ID
        private String belongAreaName = "1";      //归属库区名称
        private int verticalSpeed = 10;         //垂直速度,单位:M/min
        private int horizontalSpeed = 10;       //水平速度,单位:M/min
        private int voltage = 320;               //电压,单位:v
        private int status = 1;                //设备状态:1 正常;2 待机;3 故障;
        private int operateMethod = 1;         //操作方式:1 自动;2 半自动;3 手动;
    }
}
src/main/java/com/zy/asrs/entity/param/DigitalTwinRecentDetainMatParam.java
New file
@@ -0,0 +1,45 @@
package com.zy.asrs.entity.param;
import lombok.Data;
import java.util.List;
/**
 * Created by vincent on 2020/6/13
 */
@Data
public class DigitalTwinRecentDetainMatParam {
    private int areaId = 0;         //库区ID,不传默认全部
    private int overDayNum = 30;    //呆滞品认定天数,如超过10传值:10。默认30。
    private int pageIndex = 1;      //分页页码,从1开始。需要分页时使用。
    private int pageSize = 9999;    //分页页码大小。
    private List<DataCode> dataCodeList;
    @Data
    public static class DataCode {
        private int belongAreaId;        //归属库区ID
        private String belongAreaName;      //归属库区名称
        private String matId;               //物料ID
        private String matName;             //物料名称
        private String lokId;               //所属库位ID
        private String lokName;             //所属库位名称
        private int detainTime;            //呆滞时间,计算单位:分钟
        private String inBoundTime;         //入库时间,格式:2025-10-11T11:15:16,预留
        public DataCode() {
        }
        public DataCode(VwLocDetlSummaryParam vwLocDetlSummaryParam) {
            this.belongAreaId = vwLocDetlSummaryParam.getAreaId();
            this.matId = vwLocDetlSummaryParam.getMatId();
            this.matName = vwLocDetlSummaryParam.getMaktx();
            this.lokId = vwLocDetlSummaryParam.getLocNo();
            this.lokName = vwLocDetlSummaryParam.getLocNo();
            this.detainTime = vwLocDetlSummaryParam.getDetainTime();
            this.inBoundTime = vwLocDetlSummaryParam.getInBoundTime();
        }
    }
}
src/main/java/com/zy/asrs/entity/param/DigitalTwinWarehouseDetailParam.java
New file
@@ -0,0 +1,46 @@
package com.zy.asrs.entity.param;
import com.zy.asrs.entity.LocDetl;
import com.zy.asrs.entity.LocMast;
import lombok.Data;
import java.util.ArrayList;
import java.util.List;
/**
 * Created by vincent on 2020/6/13
 */
@Data
public class DigitalTwinWarehouseDetailParam {
    private int areaId = 0;         //库区ID,不传默认全部
    private List<DataCode> dataCodeList = new ArrayList<DataCode>();
    @Data
    public static class DataCode {
        private String locNo;//设备ID
        private String locSts;//设备名称
        private int areaId;//设备类型
        private String areaName;//设备类型
        private int row1;//设备类型
        private int bay1;//设备类型
        private int lev1;//设备类型
        private List<LocMast> locMast;//设备类型
        private List<LocDetl> locDetl;//设备类型
        public DataCode(LocMast locMast,List<LocDetl> locDetl) {
            ArrayList<LocMast> locMasts = new ArrayList<>();
            locMasts.add(locMast);
            this.locNo = locMast.getLocNo();
            this.locSts = locMast.getLocSts();
            this.areaId = locMast.getCrnNo();
            this.areaName = "";
            this.row1 = locMast.getRow1();
            this.bay1 = locMast.getBay1();
            this.lev1 = locMast.getLev1();
            this.locMast = locMasts;
            this.locDetl = locDetl;
        }
    }
}
src/main/java/com/zy/asrs/entity/param/VwLocDetlSummaryParam.java
New file
@@ -0,0 +1,22 @@
package com.zy.asrs.entity.param;
import lombok.Data;
/**
 * Created by vincent on 2020/6/13
 */
@Data
public class VwLocDetlSummaryParam {
    private String locNo;
    private int areaId;
    private String matId;
    private String inBoundTime;
    private int detainTime;//库龄(天数)
    // 物料编号
    private String maktx;
    private String batch;
    private String zpallet;
    // 物料数量
    private Double anfme;
}
src/main/java/com/zy/asrs/mapper/ReportQueryMapper.java
@@ -3,6 +3,7 @@
import com.zy.asrs.entity.*;
import com.zy.asrs.entity.param.ViewLocDailyLogParam;
import com.zy.asrs.entity.param.ViewOrderParam;
import com.zy.asrs.entity.param.VwLocDetlSummaryParam;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select;
@@ -86,5 +87,6 @@
    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);
    List<VwLocDetlSummaryParam> getVwLocDetlSummaryParam(@Param("areaId")int areaId,@Param("overDayNum")int overDayNum, @Param("curr") Integer curr, @Param("limit") Integer limit);
    void insertAsrLocDailyLog();
}
src/main/java/com/zy/asrs/service/OpenService.java
@@ -52,4 +52,7 @@
    DigitalTwinRecentOrderParam digitalTwinRecentOrder(DigitalTwinRecentOrderParam digitalTwinRecentOrderParam);
    DigitalTwinRecentIdleLocParam digitalTwinRecentIdleLoc(DigitalTwinRecentIdleLocParam digitalTwinRecentIdleLocParam);
    DigitalTwinRecentInAndOutBoundParam digitalTwinRecentInAndOutBound(DigitalTwinRecentInAndOutBoundParam digitalTwinRecentIdleLocParam);
    DigitalTwinRecentDetainMatParam digitalTwinRecentDetainMat(DigitalTwinRecentDetainMatParam digitalTwinRecentIdleLocParam);
    DigitalTwinEquipmentParam digitalTwinEquipment(DigitalTwinEquipmentParam digitalTwinRecentIdleLocParam);
    DigitalTwinWarehouseDetailParam digitalTwinWarehouseDetail(DigitalTwinWarehouseDetailParam digitalTwinRecentIdleLocParam);
}
src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java
@@ -716,4 +716,42 @@
        return param;
    }
    @Override
    @Transactional
    public DigitalTwinRecentDetainMatParam digitalTwinRecentDetainMat(DigitalTwinRecentDetainMatParam param) {
        List<VwLocDetlSummaryParam> vwLocDetlSummaryParam = reportQueryMapper.getVwLocDetlSummaryParam(param.getAreaId(), param.getOverDayNum(), param.getPageIndex(), param.getPageSize());
        List<DigitalTwinRecentDetainMatParam.DataCode> dataCodes = new ArrayList<>();
        for (VwLocDetlSummaryParam view : vwLocDetlSummaryParam) {
            DigitalTwinRecentDetainMatParam.DataCode dataCode = new DigitalTwinRecentDetainMatParam.DataCode(view);
            dataCodes.add(dataCode);
        }
        param.setDataCodeList(dataCodes);
        return param;
    }
    @Override
    @Transactional
    public DigitalTwinEquipmentParam digitalTwinEquipment(DigitalTwinEquipmentParam param) {
        DigitalTwinEquipmentParam.DataCode dataCode = new DigitalTwinEquipmentParam.DataCode();
        dataCode.setEquipmentId(""+param.getAreaId());
        dataCode.setEquipmentName(param.getAreaId()+dataCode.getEquipmentName());
        dataCode.setBelongAreaId(""+param.getAreaId());
        dataCode.setBelongAreaName(""+param.getAreaId());
        param.getDataCodeList().add(dataCode);
        return param;
    }
    @Override
    @Transactional
    public DigitalTwinWarehouseDetailParam digitalTwinWarehouseDetail(DigitalTwinWarehouseDetailParam param) {
        List<LocMast> locMastList = locMastService.selectList(new EntityWrapper<>());
        for (LocMast locMast : locMastList) {
            List<LocDetl> locDetlList = locDetlService.selectList(new EntityWrapper<LocDetl>().eq("loc_no", locMast.getLocNo()));
            DigitalTwinWarehouseDetailParam.DataCode dataCode = new DigitalTwinWarehouseDetailParam.DataCode(locMast,locDetlList);
            param.getDataCodeList().add(dataCode);
        }
        return param;
    }
}
src/main/resources/mapper/ViewWorkInMapper.xml
@@ -218,5 +218,23 @@
    WHERE loc_sts = 'O'
    GROUP BY crn_no;
</insert>
<select id="getVwLocDetlSummaryParam" resultType="com.zy.asrs.entity.param.VwLocDetlSummaryParam">
    SELECT *
    FROM (
        select
        ROW_NUMBER() OVER(Order by a.areaId desc) as row
        , *
        FROM(
            SELECT * FROM vw_loc_detl_summary
            WHERE 1=1
              and detainTime >= #{overDayNum}
            <if test="areaId != null and areaId != 0">
                and area = #{areaId}
            </if>
        ) a
    ) b
    WHERE 1=1 and b.row between ((#{curr}-1)*#{limit}+1) and (#{curr}*#{limit})
</select>
</mapper>