自动化立体仓库 - WMS系统
pang.jiabao
5 天以前 ac0aa960be6abbbc5122944d27323b8db4893ee7
出库订单扣减出库完成数量
4个文件已修改
51 ■■■■ 已修改文件
src/main/java/com/zy/asrs/mapper/OrderDetlPakoutMapper.java 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java 12 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/task/handler/WorkMastHandler.java 19 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/resources/mapper/OrderDetlPakoutMapper.xml 15 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/mapper/OrderDetlPakoutMapper.java
@@ -22,6 +22,8 @@
                                        @Param("brand")String brand, @Param("standby1")String standby1, @Param("standby2")String standby2, @Param("standby3")String standby3, @Param("boxType1")String boxType1,
                                        @Param("boxType2")String boxType2,
                                        @Param("boxType3")String boxType3);
    OrderDetlPakout selectItemByOrderNoNew(@Param("orderNo") String orderNo, @Param("matnr") String matnr, @Param("batch") String batch,
                                        @Param("model")String model, @Param("volume")Double volume);
    List<OrderDetlPakout> selectWorkingDetls(Long orderId);
@@ -48,6 +50,9 @@
                             @Param("boxType2")String boxType2,
                             @Param("boxType3")String boxType3, @Param("qty")Double qty);
    int increaseQtyByOrderNoNew(@Param("orderNo")String orderNo, @Param("matnr")String matnr, @Param("batch")String batch,
                                @Param("model")String model, @Param("volume")Double volume, @Param("qty")Double qty);
    int increaseWorkQty(@Param("orderId")Long orderId, @Param("matnr")String matnr, @Param("batch")String batch, @Param("brand")String brand,
                        @Param("standby1")String standby1, @Param("standby2")String standby2, @Param("standby3")String standby3, @Param("boxType1")String boxType1,
                        @Param("boxType2")String boxType2,
src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java
@@ -14,6 +14,7 @@
import com.zy.asrs.entity.param.StockOutParam;
import com.zy.asrs.mapper.LocMastMapper;
import com.zy.asrs.entity.result.FindLocNoAttributeVo;
import com.zy.asrs.mapper.OrderDetlPakoutMapper;
import com.zy.asrs.service.*;
import com.zy.asrs.utils.OrderInAndOutUtil;
import com.zy.asrs.utils.Utils;
@@ -93,6 +94,9 @@
    @Resource
    private OrderPakoutService orderPakOutService;
    @Resource
    private OrderDetlPakoutMapper orderDetlPakoutMapper;
    @Override
    @Transactional
@@ -1150,9 +1154,11 @@
//                    if (!orderDetlService.decrease(wrkDetl.getOrderNo(), wrkDetl.getMatnr(), wrkDetl.getBatch(), wrkDetl.getAnfme())) {
//                        throw new CoolException("订单数据回滚失败");
//                    }
                    OrderInAndOutUtil.decrease(Boolean.FALSE,wrkDetl.getOrderNo(), wrkDetl.getMatnr(), wrkDetl.getBatch(),wrkDetl.getBrand(),
                            wrkDetl.getStandby1(),wrkDetl.getStandby2(),wrkDetl.getStandby3(),
                            wrkDetl.getBoxType1(),wrkDetl.getBoxType2(),wrkDetl.getBoxType3(), wrkDetl.getAnfme());
//                    OrderInAndOutUtil.decrease(Boolean.FALSE,wrkDetl.getOrderNo(), wrkDetl.getMatnr(), wrkDetl.getBatch(),wrkDetl.getBrand(),
//                            wrkDetl.getStandby1(),wrkDetl.getStandby2(),wrkDetl.getStandby3(),
//                            wrkDetl.getBoxType1(),wrkDetl.getBoxType2(),wrkDetl.getBoxType3(), wrkDetl.getAnfme());
                    orderDetlPakoutMapper.increaseQtyByOrderNoNew(wrkDetl.getOrderNo(), wrkDetl.getMatnr(),
                            wrkDetl.getBatch(),wrkDetl.getModel(),wrkDetl.getVolume(),wrkDetl.getAnfme());
                    //修改订单主表状态,没有作业数量时才可以修改
                    boolean flag = true;
src/main/java/com/zy/asrs/task/handler/WorkMastHandler.java
@@ -3,6 +3,7 @@
import com.baomidou.mybatisplus.mapper.EntityWrapper;
import com.core.common.Cools;
import com.zy.asrs.entity.*;
import com.zy.asrs.mapper.OrderDetlPakoutMapper;
import com.zy.asrs.service.*;
import com.zy.asrs.task.AbstractHandler;
import com.zy.asrs.task.core.ReturnT;
@@ -12,6 +13,7 @@
import org.springframework.transaction.annotation.Transactional;
import org.springframework.transaction.interceptor.TransactionAspectSupport;
import javax.annotation.Resource;
import java.util.Date;
import java.util.List;
@@ -39,6 +41,9 @@
    private OrderDetlPakinService orderDetlPakinService;
    @Autowired
    private OrderDetlPakoutService orderDetlPakoutService;
    @Resource
    private OrderDetlPakoutMapper orderDetlPakoutMapper;
    public ReturnT<String> start(WrkMast wrkMast) {
        // 4.入库完成
@@ -447,17 +452,13 @@
                    }
                    for (WrkDetl wrkDetl : wrkDetls101) {
                        // 更新订单完成数量
                        OrderDetlPakout orderDetlPakout = orderDetlPakoutService.selectItem(wrkDetl.getOrderNo(), wrkDetl.getMatnr(), wrkDetl.getBatch(),wrkDetl.getBrand(),wrkDetl.getStandby1(),wrkDetl.getStandby2(),wrkDetl.getStandby3(),
                                wrkDetl.getBoxType1(),wrkDetl.getBoxType2(),wrkDetl.getBoxType3());
                        if (orderDetlPakout==null){
                            orderDetlPakout = orderDetlPakoutService.selectItem(wrkDetl.getOrderNo(), wrkDetl.getMatnr(), wrkDetl.getBatch(),wrkDetl.getBrand(),wrkDetl.getStandby1(),wrkDetl.getStandby2(),wrkDetl.getStandby3(),
                                    wrkDetl.getBoxType1(),wrkDetl.getBoxType2(),wrkDetl.getBoxType3());
                        }
//                        OrderDetlPakout orderDetlPakout = orderDetlPakoutService.selectItem(wrkDetl.getOrderNo(), wrkDetl.getMatnr(), wrkDetl.getBatch(),wrkDetl.getBrand(),wrkDetl.getStandby1(),wrkDetl.getStandby2(),wrkDetl.getStandby3(),
//                                wrkDetl.getBoxType1(),wrkDetl.getBoxType2(),wrkDetl.getBoxType3());
                        OrderDetlPakout orderDetlPakout = orderDetlPakoutMapper.selectItemByOrderNoNew(wrkDetl.getOrderNo(),wrkDetl.getMatnr(),wrkDetl.getBatch(),wrkDetl.getModel(),wrkDetl.getVolume());
                        try {
                            if(!Cools.isEmpty(orderDetlPakout)){
                                if(!orderDetlPakoutService.increaseQtyByOrderNo(wrkDetl.getOrderNo(), wrkDetl.getMatnr(),
                                        orderDetlPakout.getBatch(),wrkDetl.getBrand(),wrkDetl.getStandby1(),wrkDetl.getStandby2(),wrkDetl.getStandby3(),
                                        wrkDetl.getBoxType1(),wrkDetl.getBoxType2(),wrkDetl.getBoxType3(),wrkDetl.getAnfme())){
                                if(orderDetlPakoutMapper.increaseQtyByOrderNoNew(wrkDetl.getOrderNo(), wrkDetl.getMatnr(),
                                        wrkDetl.getBatch(),wrkDetl.getModel(),wrkDetl.getVolume(),wrkDetl.getAnfme())<= 0){
//                                    exceptionHandle("全板出库 ===>> 更新订单完成数量失败;[workNo={0}],[locNo={1}]",
//                                            wrkMast.getWrkNo(), wrkMast.getLocNo());
                                    TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
src/main/resources/mapper/OrderDetlPakoutMapper.xml
@@ -137,6 +137,13 @@
        and mdt.pakout = 1
        <include refid="pakOutPageCondition"></include>
    </select>
    <select id="selectItemByOrderNoNew" resultType="com.zy.asrs.entity.OrderDetlPakout">
        select * from man_order_detl_pakout
        where 1=1
        and order_no = #{orderNo}
        and matnr = #{matnr}
        and batch = #{batch} and model = #{model} and  volume = #{volume}
    </select>
    <update id="increase">
        update man_order_detl_pakout
@@ -184,5 +191,13 @@
        and matnr = #{matnr}
        <include refid="standbyAll"></include>
    </update>
    <update id="increaseQtyByOrderNoNew">
        update man_order_detl_pakout
        set qty = qty + #{qty}
        where 1=1
        and order_no = #{orderNo}
        and matnr = #{matnr}
        and batch = #{batch} and model = #{model} and  volume = #{volume}
    </update>
</mapper>