skyouc
2025-01-13 25e1bcba7282b350011950cdf5006e11f1bb9ba5
# 大屏分拣拍灯功能开发
11个文件已修改
5个文件已添加
361 ■■■■■ 已修改文件
zy-asrs-wms/src/main/java/com/zy/asrs/wms/apis/wcs/controller/WaveManagentController.java 37 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
zy-asrs-wms/src/main/java/com/zy/asrs/wms/apis/wcs/entity/domain/WaveTaskDetl.java 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
zy-asrs-wms/src/main/java/com/zy/asrs/wms/apis/wcs/services/Impl/WaveManagentServiceImpl.java 66 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
zy-asrs-wms/src/main/java/com/zy/asrs/wms/apis/wcs/services/WaveManagentService.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/controller/MobileController.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/entity/Order.java 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/entity/SeedSite.java 46 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/mapper/SeedSitesMapper.java 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/service/SeedSitesServices.java 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/service/impl/MobileServiceImpl.java 49 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/service/impl/SeedSitesServicesImpl.java 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/service/impl/WaveSeedServiceImpl.java 42 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/timer/TaskWaveTimer.java 27 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
zy-asrs-wms/src/main/resources/application.yml 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
zy-asrs-wms/src/main/resources/mapper/asrs/SeedSitesMapper.xml 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
zy-asrs-wms/src/main/resources/mapper/asrs/TaskMapper.xml 28 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
zy-asrs-wms/src/main/java/com/zy/asrs/wms/apis/wcs/controller/WaveManagentController.java
@@ -43,6 +43,11 @@
    }
    /**
     * 大屏获取任务明细
     * @param param
     * @return
     */
    @PostMapping("/task/detl/qutify")
    public R getTaskDetlQutify(@RequestBody Map<String, Object> param) {
        if (Objects.isNull(param)) {
@@ -55,6 +60,15 @@
//        Long matnr = Long.valueOf(taskNo.get("matnr").toString());
        return waveManagentService.getTaskDetlQutify(taskNoStr);
    }
    /**
     * 获取当前播种墙库位信息
     * @return
     */
    @GetMapping("/seed/locs")
    public R getSeedLoc() {
        return waveManagentService.AllSeedLocs();
    }
    /***
@@ -73,6 +87,15 @@
     */
    @PostMapping("/sow/review")
    public R reviewSeeds(@RequestBody WaveSeedReviewParam reviewParam) {
        if (Objects.isNull(reviewParam)) {
            return R.error("播种参数不能为空!!");
        }
        if (Objects.isNull(reviewParam.getReviewNum())) {
            return R.error("播种数量不能为空!!");
        }
        if (Objects.isNull(reviewParam.getWaveSeedId())) {
            return R.error("播种明细标识不能为空!!");
        }
        return waveManagentService.reviewSeeds(reviewParam);
    }
@@ -89,4 +112,18 @@
             return R.error("删除失败!!");
         }
    }
    /**
     * 大屏获取波次所有订单信息
     * @param waveNo
     * @return
     */
    @GetMapping("/orders/{waveNo}")
    public R getWaveOrders(@PathVariable String waveNo) {
        if (StringUtils.isNullOrEmpty(waveNo)) {
            return R.error("波次编码不能为空!!!");
        }
        return waveManagentService.getAllOrders(waveNo);
    }
}
zy-asrs-wms/src/main/java/com/zy/asrs/wms/apis/wcs/entity/domain/WaveTaskDetl.java
@@ -1,5 +1,6 @@
package com.zy.asrs.wms.apis.wcs.entity.domain;
import com.baomidou.mybatisplus.annotation.TableField;
import lombok.Data;
import lombok.experimental.Accessors;
@@ -47,4 +48,12 @@
     */
    private Integer stock;
    @TableField(exist = false)
    private String siteNo;
    /**
     * 任务明细标识
     */
    @TableField(exist = false)
    private Long taskDetlId;
}
zy-asrs-wms/src/main/java/com/zy/asrs/wms/apis/wcs/services/Impl/WaveManagentServiceImpl.java
@@ -1,22 +1,32 @@
package com.zy.asrs.wms.apis.wcs.services.Impl;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.mysql.cj.util.StringUtils;
import com.zy.asrs.framework.common.R;
import com.zy.asrs.framework.exception.CoolException;
import com.zy.asrs.wms.apis.wcs.entity.domain.WaveTaskDetl;
import com.zy.asrs.wms.apis.wcs.entity.response.SowSeeds;
import com.zy.asrs.wms.apis.wcs.services.WaveManagentService;
import com.zy.asrs.wms.asrs.entity.CacheSite;
import com.zy.asrs.wms.asrs.entity.Order;
import com.zy.asrs.wms.asrs.entity.OrderDetl;
import com.zy.asrs.wms.asrs.entity.Task;
import com.zy.asrs.wms.asrs.entity.dto.LargeScreenTaskDto;
import com.zy.asrs.wms.asrs.entity.enums.TaskStsType;
import com.zy.asrs.wms.asrs.entity.param.WaveSeedReviewParam;
import com.zy.asrs.wms.asrs.mapper.CacheSiteMapper;
import com.zy.asrs.wms.asrs.mapper.OrderDetlMapper;
import com.zy.asrs.wms.asrs.mapper.OrderMapper;
import com.zy.asrs.wms.asrs.mapper.TaskMapper;
import com.zy.asrs.wms.asrs.service.TaskService;
import com.zy.asrs.wms.asrs.service.WaveSeedService;
import org.aspectj.weaver.ast.Or;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.ArrayList;
import java.util.List;
import java.util.stream.Collectors;
@Service
public class WaveManagentServiceImpl implements WaveManagentService {
@@ -25,9 +35,14 @@
    @Autowired
    private TaskService taskService;
    @Autowired
    private TaskMapper taskMapper;
    @Autowired
    private OrderMapper orderMapper;
    @Autowired
    private OrderDetlMapper orderDetlMapper;
    @Autowired
    private CacheSiteMapper cacheSiteMapper;
    @Override
    public R getSowSeeds() {
@@ -72,4 +87,53 @@
        List<WaveTaskDetl> taskDetls = taskMapper.getTaskDetlQutify(taskNo);
        return R.ok(taskDetls);
    }
    /**
     * 获取波次下所有订单
     * @param waveNo
     * @return
     */
    @Override
    public R getAllOrders(String waveNo) {
        if (StringUtils.isNullOrEmpty(waveNo)) {
            throw new CoolException("波次编码不能为空!!");
        }
        List<Order> orders = orderMapper.selectList(new LambdaQueryWrapper<Order>().eq(Order::getWaveNo, waveNo));
        if (orders.isEmpty()) {
            throw new CoolException("当前波次下没有订单!!");
        }
        orders.forEach(order -> {
            List<OrderDetl> detls = orderDetlMapper.selectList(new LambdaQueryWrapper<OrderDetl>().eq(OrderDetl::getOrderId, order.getId()));
            if (detls.isEmpty()) {
                throw new CoolException("订单:" + order.getOrderNo() + " 没有明细,请联系管理员!!");
            }
            List<OrderDetl> orderDetls = detls.stream().filter(orderDetl -> {
                return orderDetl.getAnfme() == (orderDetl.getWorkQty() + orderDetl.getQty());
            }).collect(Collectors.toList());
            if (!orderDetls.isEmpty() && orderDetls.size() == detls.size()) {
                order.setOrderStatus("已完成");//已完成
            } else if (orderDetls.size() < detls.size() && orderDetls.size() != 0) {//部分完成
                order.setOrderStatus("部分完成");
            } else {//未完成
                order.setOrderStatus("未完成");
            }
        });
        return R.ok(orders);
    }
    /**
     * 获了当前播种墙库位信息
     * @return
     */
    @Override
    public R AllSeedLocs() {
        List<CacheSite> cacheSites = cacheSiteMapper.selectList(new LambdaQueryWrapper<CacheSite>());
        if (cacheSites.isEmpty()) {
            return R.error("当前播种墙信息未设置!!");
        }
        return R.ok(cacheSites);
    }
}
zy-asrs-wms/src/main/java/com/zy/asrs/wms/apis/wcs/services/WaveManagentService.java
@@ -16,4 +16,8 @@
    R getTaskDetl(String taskNo);
    R getTaskDetlQutify(String taskNo);
    R getAllOrders(String waveNo);
    R AllSeedLocs();
}
zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/controller/MobileController.java
@@ -115,7 +115,7 @@
        if (StringUtil.isNullOrEmpty(code)) {
            return R.error("托盘码不能为空!!");
        }
        List<WaitPakin> waitPakins = waitPakinService.list(new LambdaQueryWrapper<WaitPakin>().eq(WaitPakin::getBarcode, code).eq(WaitPakin::getIoStatus, 0));
        List<WaitPakin> waitPakins = waitPakinService.list(new LambdaQueryWrapper<WaitPakin>().eq(WaitPakin::getBarcode, code));
        return R.ok(waitPakins);
    }
zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/entity/Order.java
@@ -141,6 +141,15 @@
    @ApiModelProperty(value= "是否生成波次 1: 是  0: 否  ")
    private Integer hasWave;
    /**
     * 订单状态
     * 1. 已完成
     * 0. 未完成
     * 2. 部分完成
     */
    @TableField(exist = false)
    private String orderStatus;
    public Order() {}
    public Order(String orderNo,String orderTime,Long orderType,Long orderSettle,Long hostId,Integer status,Integer deleted,Date createTime,Long createBy,Date updateTime,Long updateBy,String memo) {
zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/entity/SeedSite.java
New file
@@ -0,0 +1,46 @@
package com.zy.asrs.wms.asrs.entity;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import lombok.experimental.Accessors;
import java.io.Serializable;
import java.util.Date;
@Data
@Accessors(chain = true)
@TableName("man_seed_site")
public class SeedSite implements Serializable {
    @TableId
    private Long id;
    /**
     * 拖盘码
     */
    private String barcode;
    /**
     * 订单编号
     */
    private String orderNo;
    /**
     * 播种站点编码
     */
    private String siteNo;
    /**
     * 创建时间
     */
    private Date createTime;
    /**
     * 修改人
     */
    private String updateBy;
    /**
     * 创建人
     */
    private String createBy;
    /**
     * 修改时间
     */
    private Date updateTime;
}
zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/mapper/SeedSitesMapper.java
New file
@@ -0,0 +1,12 @@
package com.zy.asrs.wms.asrs.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.zy.asrs.wms.asrs.entity.SeedSite;
import org.apache.ibatis.annotations.Mapper;
import org.springframework.stereotype.Repository;
@Mapper
@Repository
public interface SeedSitesMapper extends BaseMapper<SeedSite> {
}
zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/service/SeedSitesServices.java
New file
@@ -0,0 +1,9 @@
package com.zy.asrs.wms.asrs.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.zy.asrs.wms.asrs.entity.SeedSite;
public interface SeedSitesServices extends IService<SeedSite> {
}
zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/service/impl/MobileServiceImpl.java
@@ -1,9 +1,8 @@
package com.zy.asrs.wms.asrs.service.impl;
import com.baomidou.mybatisplus.core.conditions.Wrapper;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.conditions.update.LambdaUpdateChainWrapper;
import com.zy.asrs.framework.exception.CoolException;
import com.zy.asrs.wms.asrs.entity.*;
import com.zy.asrs.wms.asrs.entity.dto.PickSheetDetlDto;
@@ -11,12 +10,13 @@
import com.zy.asrs.wms.asrs.entity.enums.OrderType;
import com.zy.asrs.wms.asrs.entity.param.BatchMergeOrdersParam;
import com.zy.asrs.wms.asrs.entity.param.GeneratePakInParam;
import com.zy.asrs.wms.asrs.entity.param.PageRequest;
import com.zy.asrs.wms.asrs.entity.param.PakinOnShelvesParams;
import com.zy.asrs.wms.asrs.mapper.CacheSiteMapper;
import com.zy.asrs.wms.asrs.mapper.SeedSitesMapper;
import com.zy.asrs.wms.asrs.service.*;
import com.zy.asrs.wms.system.entity.Host;
import com.zy.asrs.wms.system.service.HostService;
import io.netty.util.internal.StringUtil;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
@@ -63,6 +63,9 @@
    private WaveDetlService waveDetlService;
    @Autowired
    private CacheSiteMapper cacheSiteMapper;
    @Autowired
    private SeedSitesMapper seedSitesMapper;
    @Override
    @Transactional(rollbackFor = Exception.class)
@@ -157,7 +160,7 @@
            locDetl.setLocId(loc.getId());
            locDetl.setMatnr(pakin.getMatnr());
            Mat one = matService.getOne(new LambdaQueryWrapper<Mat>().eq(Mat::getMatnr, pakin.getMatnr()));
            if (!Objects.isNull(one)) {
            if (Objects.isNull(one)) {
                throw new CoolException("当前物料不存在!!");
            }
            locDetl.setMatId(one.getId());
@@ -292,6 +295,9 @@
        }
        List<Order> orders = orderService.list(new LambdaQueryWrapper<Order>().eq(Order::getWaveId, pickSheet.getWaveId()));
        if (orders.isEmpty()) {
            throw new CoolException("波次订单不存在!!");
        }
        List<Long> list = orders.stream().map(Order::getId).collect(Collectors.toList());
        boolean remove = orderDetlService.remove(new LambdaQueryWrapper<OrderDetl>().in(OrderDetl::getOrderId, list));
        if (!remove) {
@@ -304,20 +310,49 @@
        return true;
    }
    /**
     * 获取播种墙站点
     * @return
     */
    @Override
    public List<CacheSite> getSeedLocs() {
        return cacheSiteMapper.selectList(new LambdaQueryWrapper<>());
    }
    /**
     * 订单绑定播种墙
     * 订单绑定播种墙站点+
     * @param param
     * @return
     */
    @Override
    @Transactional(rollbackFor = Exception.class)
    public boolean bindOrderBySite(Map<String, Object> param) {
//        return cacheSiteMapper.bindOrderBySite(param);
        return false;
        CacheSite siteNo = cacheSiteMapper.selectOne(new LambdaQueryWrapper<CacheSite>().eq(CacheSite::getSiteNo, param.get("siteNo")), false);
        if (Objects.isNull(siteNo)) {
            throw new CoolException("站点异常!!");
        }
        if (param.get("type").equals("bind")) {
            if (!StringUtil.isNullOrEmpty(siteNo.getOrderNo())) {
                throw new CoolException("当前播种站点已绑定订单!!");
            }
            Order order = orderService.getOne(new LambdaQueryWrapper<Order>().eq(Order::getOrderNo, param.get("orderNo").toString()));
            if (Objects.isNull(order)) {
                throw new CoolException("绑定订单不存在!!");
            }
            siteNo.setOrderNo(order.getOrderNo()).setOrderId(order.getId()).setSiteStatus(CacheSiteStatusType.R.id);
            if (cacheSiteMapper.updateById(siteNo) < 1) {
                throw new CoolException("订单播种位绑定失败!!" );
            }
        } else {
            if (StringUtil.isNullOrEmpty(siteNo.getOrderNo())) {
                throw new CoolException("当前播种站点未绑定订单!!");
            }
           siteNo.setOrderId(null).setOrderNo(null).setSiteNo("0");
            if (cacheSiteMapper.updateById(siteNo) < 1) {
                throw new CoolException("订单与播种位解绑失败!!" );
            }
        }
        return true;
    }
}
zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/service/impl/SeedSitesServicesImpl.java
New file
@@ -0,0 +1,12 @@
package com.zy.asrs.wms.asrs.service.impl;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.zy.asrs.wms.asrs.entity.SeedSite;
import com.zy.asrs.wms.asrs.mapper.SeedSitesMapper;
import com.zy.asrs.wms.asrs.service.SeedSitesServices;
import org.springframework.stereotype.Service;
@Service
public class SeedSitesServicesImpl extends ServiceImpl<SeedSitesMapper, SeedSite> implements SeedSitesServices {
}
zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/service/impl/WaveSeedServiceImpl.java
@@ -4,21 +4,40 @@
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
import com.zy.asrs.framework.exception.CoolException;
import com.zy.asrs.wms.apis.wcs.entity.response.SowSeeds;
import com.zy.asrs.wms.asrs.entity.Order;
import com.zy.asrs.wms.asrs.entity.OrderDetl;
import com.zy.asrs.wms.asrs.entity.TaskDetl;
import com.zy.asrs.wms.asrs.entity.param.WaveSeedReviewParam;
import com.zy.asrs.wms.asrs.mapper.OrderDetlMapper;
import com.zy.asrs.wms.asrs.mapper.OrderMapper;
import com.zy.asrs.wms.asrs.mapper.TaskDetlMapper;
import com.zy.asrs.wms.asrs.mapper.WaveSeedMapper;
import com.zy.asrs.wms.asrs.entity.WaveSeed;
import com.zy.asrs.wms.asrs.service.OrderDetlService;
import com.zy.asrs.wms.asrs.service.WaveSeedService;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.util.Date;
import java.util.List;
import java.util.Objects;
import java.util.Optional;
import java.util.stream.Collectors;
@Service("waveSeedService")
public class WaveSeedServiceImpl extends ServiceImpl<WaveSeedMapper, WaveSeed> implements WaveSeedService {
    @Autowired
    private OrderMapper orderMapper;
    @Autowired
    private OrderDetlMapper orderDetlMapper;
    @Autowired
    private TaskDetlMapper taskDetlMapper;
    @Override
    @Transactional(rollbackFor = Exception.class)
    public void waveSeedReview(WaveSeedReviewParam param) {
        if (param == null) {
            throw new CoolException("参数不能为空");
@@ -41,16 +60,37 @@
            throw new CoolException("播种数据不存在");
        }
        Double stock = Optional.of(waveSeed.getAnfme() - waveSeed.getWorkQty()).orElse(0.0D);
        if (stock - param.getReviewNum() < 0) {
            throw new CoolException("播种数量已满");
        }
        waveSeed.setWorkQty(waveSeed.getWorkQty() + param.getReviewNum());
        TaskDetl taskDetl = taskDetlMapper.selectOne(new LambdaQueryWrapper<TaskDetl>().eq(TaskDetl::getId, waveSeed.getTaskDetlId()));
        if (Objects.isNull(taskDetl)) {
            throw new CoolException("当前播种任务明细不存在!!");
        }
        if (param.getReviewNum() > taskDetl.getAnfme()) {
            throw new CoolException("拣货数量大于当前任务需求数:" + taskDetl.getAnfme());
        }
        OrderDetl orderDetl = orderDetlMapper.selectOne(new LambdaUpdateWrapper<OrderDetl>().eq(OrderDetl::getId, waveSeed.getOrderDetlId()));
        if (Objects.isNull(orderDetl)) {
            throw new CoolException("当前播种订单明细不存在!!");
        }
        orderDetl.setWorkQty(orderDetl.getWorkQty() + param.getReviewNum());
        if (orderDetlMapper.updateById(orderDetl) < 1) {
            throw new CoolException("订单明细数量更新失败");
        }
        waveSeed.setUpdateTime(new Date());
        if (!this.updateById(waveSeed)) {
            throw new CoolException("播种复核更新失败");
        }
    }
    @Override
zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/timer/TaskWaveTimer.java
@@ -118,14 +118,15 @@
                            orderUtils.updateWorkQty(orderDetl.getId(), workQty, true);
                            CacheSite cacheSite = cacheSiteService.getOne(new LambdaQueryWrapper<CacheSite>().eq(CacheSite::getOrderId, orderDetl.getOrderId()).eq(CacheSite::getHostId, hostId));
                            if (cacheSite == null) {
                                throw new CoolException("缓存站空间不存在");
                            }
                            //fixme 生成波次播种数据时,不自动添加站点绑定,站点绑定调整至出库绑定播种库位时更新
//                            CacheSite cacheSite = cacheSiteService.getOne(new LambdaQueryWrapper<CacheSite>().eq(CacheSite::getOrderId, orderDetl.getOrderId()).eq(CacheSite::getHostId, hostId));
//                            if (cacheSite == null) {
//                                throw new CoolException("缓存站空间不存在");
//                            }
                            WaveSeed waveSeed = new WaveSeed();
                            waveSeed.setSiteId(cacheSite.getId());
                            waveSeed.setSiteNo(cacheSite.getSiteNo());
//                            waveSeed.setSiteId(cacheSite.getId());
//                            waveSeed.setSiteNo(cacheSite.getSiteNo());
                            waveSeed.setOrderNo(orderDetl.getOrderNo());
                            waveSeed.setOrderId(orderDetl.getOrderId());
                            waveSeed.setOrderDetlId(orderDetl.getId());
@@ -141,13 +142,13 @@
                            if (!waveSeedService.save(waveSeed)) {
                                throw new CoolException("波次播种创建失败");
                            }
                            cacheSite.setOrderId(orderDetl.getOrderId());
                            cacheSite.setOrderNo(orderDetl.getOrderNo());
                            cacheSite.setSiteStatus(CacheSiteStatusType.R.id);
                            cacheSite.setUpdateTime(new Date());
                            if (!cacheSiteService.updateById(cacheSite)) {
                                throw new CoolException("缓存站更新失败");
                            }
//                            cacheSite.setOrderId(orderDetl.getOrderId());
//                            cacheSite.setOrderNo(orderDetl.getOrderNo());
//                            cacheSite.setSiteStatus(CacheSiteStatusType.R.id);
//                            cacheSite.setUpdateTime(new Date());
//                            if (!cacheSiteService.updateById(cacheSite)) {
//                                throw new CoolException("缓存站更新失败");
//                            }
                        }
                    }
zy-asrs-wms/src/main/resources/application.yml
@@ -17,6 +17,9 @@
#    url: jdbc:mysql://127.0.0.1:3306/wms_dev?useUnicode=true&characterEncoding=UTF-8&useSSL=false&serverTimezone=Asia/Shanghai&allowPublicKeyRetrieval=true
    username: root
    password: 34821015
#    url: jdbc:mysql://47.76.147.249:3306/wms_dev_test?useUnicode=true&characterEncoding=UTF-8&useSSL=false&serverTimezone=Asia/Shanghai&allowPublicKeyRetrieval=true
#    username: wms_dev_test
#    password: smjPbTrkmTMEGKaD
#    driver-class-name: com.microsoft.sqlserver.jdbc.SQLServerDriver
#    url: jdbc:sqlserver://47.97.1.152:51433;databasename=jkasrs
#    username: sa
zy-asrs-wms/src/main/resources/mapper/asrs/SeedSitesMapper.xml
New file
@@ -0,0 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.zy.asrs.wms.asrs.mapper.SeedSitesMapper">
</mapper>
zy-asrs-wms/src/main/resources/mapper/asrs/TaskMapper.xml
@@ -21,17 +21,31 @@
        </if>
    </select>
    <select id="getTaskDetlQutify" resultType="com.zy.asrs.wms.apis.wcs.entity.domain.WaveTaskDetl">
        SELECT * FROM (
        SELECT
         *
        FROM
        (
            SELECT
                id,matnr,order_no, SUM(anfme) anfme ,wave_no, SUM(work_qty) work_qty, batch, task_detl_id
                mws.id,
                mws.matnr,
                mws.order_no,
                mws.order_id,
                SUM( mws.anfme ) anfme,
                mws.wave_no,
                SUM( mws.work_qty ) work_qty,
                mws.batch,
                mws.task_detl_id ,
                mcs.site_no
            FROM
                man_wave_seed
                man_wave_seed mws LEFT JOIN man_cache_site mcs ON mws.order_id = mcs.order_id
            WHERE
                task_detl_id IN ( SELECT mtd.id FROM man_task mt INNER JOIN man_task_detl mtd ON mt.id = mtd.task_id
            <if test="taskNo != null and taskNo != ''">
                AND mt.task_no = #{taskNo}
            </if>
            ) GROUP BY order_no, matnr
                <if test="taskNo != null and taskNo != ''">
                    AND mt.task_no = #{taskNo}
                </if>
            )
            GROUP BY
                order_no, matnr
        ) t
    </select>
    <select id="getTaskIntegrateByTaskNo" resultType="com.zy.asrs.wms.asrs.entity.dto.LargeScreenTaskDto">