自动化立体仓库 - WMS系统
#
whycq
2023-09-27 ce7bc4497e63231850e5df3a8843b348f9587b6b
#
12个文件已修改
191 ■■■■■ 已修改文件
src/main/java/com/zy/asrs/controller/MobileController.java 25 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/controller/WaitPakinController.java 26 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/controller/WrkDetlController.java 24 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/entity/WrkDetl.java 13 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/mapper/OrderDetlMapper.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/service/MobileService.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/service/OrderService.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java 81 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/service/impl/OrderServiceImpl.java 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/resources/mapper/OrderDetlMapper.xml 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/webapp/views/wrkMast/wrkDetl.html 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/controller/MobileController.java
@@ -1,7 +1,9 @@
package com.zy.asrs.controller;
import com.alibaba.fastjson.JSON;
import com.baomidou.mybatisplus.mapper.EntityWrapper;
import com.baomidou.mybatisplus.mapper.Wrapper;
import com.baomidou.mybatisplus.plugins.Page;
import com.core.annotations.ManagerAuth;
import com.core.common.Cools;
import com.core.common.R;
@@ -11,6 +13,7 @@
import com.zy.asrs.entity.param.MobileAdjustParam;
import com.zy.asrs.entity.result.MobileAdjustResult;
import com.zy.asrs.service.*;
import com.zy.common.model.DetlDto;
import com.zy.common.model.WrkDto;
import com.zy.common.web.BaseController;
import org.springframework.beans.factory.annotation.Autowired;
@@ -161,6 +164,13 @@
    public R comb(@RequestBody CombParam combParam){
        mobileService.comb(combParam, getUserId());
        return R.ok("组托成功");
    }
    @RequestMapping("/comb/2auth")
    @ManagerAuth(memo = "组托")
    public R comb2(@RequestBody CombParam combParam){
        mobileService.pikingToFull2(1);
        return R.ok(mobileService.pikingToFull2(3732));
    }
    @RequestMapping("/pack/get/auth")
@@ -409,7 +419,20 @@
    public synchronized R pickAuth(@RequestBody String barcode){
        WrkMast wrkMast = wrkMastService.selectByBarcode(barcode);
        List<WrkDetl> wrkDetls = wrkDetlService.selectList(new EntityWrapper<WrkDetl>().eq("wrk_no", wrkMast.getWrkNo()));
        return R.ok().add(wrkDetls);
        ArrayList<WrkDetl> resultwrkDetls = new ArrayList<>();
        for (WrkDetl wrkDetl : wrkDetls) {
            if (isJSON(wrkDetl.getOrderNo())) {
                JSON.parseArray(wrkDetl.getOrderNo(), DetlDto.class).forEach(detlDto -> {
                    WrkDetl clone = wrkDetl.clone();
                    clone.setOrderNo(detlDto.getOrderNo());
                    clone.setAnfme(detlDto.getAnfme());
                    resultwrkDetls.add(clone);
                });
            } else {
                resultwrkDetls.add(wrkDetl);
            }
        }
        return R.ok().add(resultwrkDetls);
    }
    @RequestMapping("/order/search/orderNo/auth/v2")
src/main/java/com/zy/asrs/controller/WaitPakinController.java
@@ -10,8 +10,12 @@
import com.core.common.Cools;
import com.core.common.DateUtils;
import com.core.common.R;
import com.zy.asrs.entity.Order;
import com.zy.asrs.entity.OrderDetl;
import com.zy.asrs.entity.WaitPakin;
import com.zy.asrs.entity.WrkMast;
import com.zy.asrs.service.OrderDetlService;
import com.zy.asrs.service.OrderService;
import com.zy.asrs.service.WaitPakinService;
import com.zy.asrs.service.WrkMastService;
import com.zy.common.web.BaseController;
@@ -31,6 +35,12 @@
    @Autowired
    private WrkMastService wrkMastService;
    @Autowired
    private OrderService orderService;
    @Autowired
    private OrderDetlService orderDetlService;
    @RequestMapping(value = "/waitPakin/{id}/auth")
    @ManagerAuth
@@ -95,7 +105,21 @@
        for (WaitPakin entity : list){
            WrkMast wrkMast = wrkMastService.selectByBarcode(entity.getBarcode());
            if (Cools.isEmpty(wrkMast)) {
                waitPakinService.delete(new EntityWrapper<>(entity));
                Order order = orderService.selectByNo(entity.getOrderNo());
                if (!Cools.isEmpty(order)) {
                    String matnr = entity.getMatnr();
                    Double anfme = entity.getAnfme();
                    List<OrderDetl> orderDetls = orderService.selectTotalDetls(order.getId());
                    for (OrderDetl orderDetl : orderDetls) {
                        if (matnr.equals(orderDetl.getMatnr())) {
                            orderDetl.setQty(orderDetl.getQty() - anfme);
                            orderDetlService.updateById(orderDetl);
                        }
                    }
                    waitPakinService.delete(new EntityWrapper<>(entity));
                } else {
                    waitPakinService.delete(new EntityWrapper<>(entity));
                }
            } else {
                return R.error("工作档数据已存在,无法删除!!");
            }
src/main/java/com/zy/asrs/controller/WrkDetlController.java
@@ -1,5 +1,6 @@
package com.zy.asrs.controller;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.mapper.EntityWrapper;
@@ -12,14 +13,12 @@
import com.core.common.R;
import com.zy.asrs.entity.WrkDetl;
import com.zy.asrs.service.WrkDetlService;
import com.zy.common.model.DetlDto;
import com.zy.common.web.BaseController;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.*;
@RestController
public class WrkDetlController extends BaseController {
@@ -50,7 +49,22 @@
        } else {
            wrapper.orderBy("appe_time", false);
        }
        return R.ok(wrkDetlService.selectPage(new Page<>(curr, limit), wrapper));
        Page<WrkDetl> page = wrkDetlService.selectPage(new Page<>(curr, limit), wrapper);
        List<WrkDetl> resultRecords = new ArrayList<>();
        for (WrkDetl record : page.getRecords()) {
            if (isJSON(record.getOrderNo())) {
                JSON.parseArray(record.getOrderNo(), DetlDto.class).forEach( detlDto -> {
                    WrkDetl clone = record.clone();
                    clone.setOrderNo(detlDto.getOrderNo());
                    clone.setAnfme(detlDto.getAnfme());
                    resultRecords.add(clone);
                });
            } else {
                resultRecords.add(record);
            }
        }
        return R.ok(page.setRecords(resultRecords));
    }
    private <T> void convert(Map<String, Object> map, EntityWrapper<T> wrapper){
src/main/java/com/zy/asrs/entity/WrkDetl.java
@@ -17,7 +17,7 @@
@Data
@TableName("asr_wrk_detl")
public class WrkDetl implements Serializable {
public class WrkDetl implements Serializable, Cloneable {
    private static final long serialVersionUID = 1L;
@@ -404,4 +404,15 @@
        }
    }
    @Override
    public WrkDetl clone() {
        try {
            return (WrkDetl) super.clone();
        } catch (CloneNotSupportedException e) {
            e.printStackTrace();
        }
        return null;
    }
}
src/main/java/com/zy/asrs/mapper/OrderDetlMapper.java
@@ -19,6 +19,8 @@
    List<OrderDetl> selectWorkingDetls(Long orderId);
    List<OrderDetl> selectTotalDetls(Long orderId);
    List<OrderDetl> getPakoutPage(Map<String, Object> map);
    Integer getPakoutPageCount(Map<String, Object> map);
src/main/java/com/zy/asrs/service/MobileService.java
@@ -1,7 +1,10 @@
package com.zy.asrs.service;
import com.zy.asrs.entity.WrkDetl;
import com.zy.asrs.entity.param.CombParam;
import com.zy.asrs.entity.param.MobileAdjustParam;
import java.util.List;
public interface MobileService {
@@ -20,5 +23,6 @@
    void packComb(CombParam param, Long userId);
    void pikingToFull(String s);
    List<WrkDetl> pikingToFull2(Integer wrkNo);
}
src/main/java/com/zy/asrs/service/OrderService.java
@@ -15,6 +15,8 @@
    List<OrderDetl> selectWorkingDetls(Long orderId);
    List<OrderDetl> selectTotalDetls(Long orderId);
    boolean updateSettle(Long orderId, Long settle, Long userId);
    void checkComplete(String orderNo);
src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java
@@ -3,10 +3,7 @@
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.mapper.EntityWrapper;
import com.core.common.BaseRes;
import com.core.common.Cools;
import com.core.common.DateUtils;
import com.core.common.SnowflakeIdWorker;
import com.core.common.*;
import com.core.exception.CoolException;
import com.zy.asrs.entity.*;
import com.zy.asrs.entity.param.CombParam;
@@ -557,4 +554,80 @@
    public void pikingToFull(String barcode) {
        wrkMastService.selectByBarcode(barcode);
    }
    @Override
    @Transactional
    public List<WrkDetl> pikingToFull2(Integer wrkNo) {
        List<WrkDetl> wrkDetlsNew= new ArrayList<WrkDetl>();
        List<WrkDetl> wrkDetls = wrkDetlService.selectByWrkNo(wrkNo);
        for (WrkDetl wrkDetl:wrkDetls){
            String[] orderNos = GetOrderNo(wrkDetl.getOrderNo());
            if (!Cools.isEmpty(orderNos) && orderNos.length!=0) {
                Double anfme = wrkDetl.getAnfme();
                for (String orderNo : orderNos) {
                    OrderDetl orderDetl = orderDetlService.selectItem(orderNo, wrkDetl.getMatnr(), wrkDetl.getBatch());
                    if (orderDetl == null) {
                        orderDetl = orderDetlService.selectItem(orderNo, wrkDetl.getMatnr(), null);
                        if (orderDetl == null) {
                            log.error("ww");
                            return wrkDetlsNew;
                        }
                    }
                    if (orderDetl.getAnfme() <= anfme) {
                        WrkDetl wrkDetl1 = new WrkDetl();
                        wrkDetl1.sync(wrkDetl);
                        wrkDetl1.setOrderNo(orderNo);
                        wrkDetl1.setAnfme(anfme);
                        wrkDetlsNew.add(wrkDetl1);
                        anfme = anfme - orderDetl.getAnfme();
                    } else {
                        WrkDetl wrkDetl1 = new WrkDetl();
                        wrkDetl1.sync(wrkDetl);
                        wrkDetl1.setOrderNo(orderNo);
                        wrkDetl1.setAnfme(anfme);
                        wrkDetlsNew.add(wrkDetl1);
                    }
                }
            }else {
                wrkDetlsNew.add(wrkDetl);
            }
        }
        return wrkDetlsNew;
    }
    private static String[] GetOrderNo(String orderNo) {
        String[] s3 = orderNo.split("\"");
        String[] s = new String[(s3.length - 1) / 6];
        if (!Cools.isEmpty(s3)){
            int i = 0;
            int j = 0;
            for (String ss : s3) {
                if (ss.equals("orderNo")) {
                    s[i] = s3[j + 2];
                    i++;
                }
                j++;
            }
        }else {
            s=null;
        }
        return s;
    }
    private String[] GetAnfme(String orderNo) {
        String[] s3 = orderNo.split("\"");
        String[] s = new String[(s3.length - 1) / 6];
        int i = 0;
        int j = 0;
        for (String ss : s3) {
            if (ss.equals("anfme")) {
                String[] s4 = s3[j + 1].split(":");
                String[] s5 = s4[1].split("\\.");
                s[i] = s5[0];
                i++;
            }
            j++;
        }
        return s;
    }
}
src/main/java/com/zy/asrs/service/impl/OrderServiceImpl.java
@@ -60,6 +60,11 @@
    }
    @Override
    public List<OrderDetl> selectTotalDetls(Long orderId) {
        return orderDetlMapper.selectTotalDetls(orderId);
    }
    @Override
    public boolean updateSettle(Long orderId, Long settle, Long userId) {
        return this.baseMapper.updateSettle(orderId, settle, userId) > 0;
    }
src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java
@@ -1664,7 +1664,7 @@
        for (WrkDetl wrkDetl : wrkDetls) {
            if (!Cools.isEmpty(wrkDetl.getOrderNo())){
                String[] orderNos = GetOrderNo(wrkDetl.getOrderNo());
                if (!Cools.isEmpty(orderNos)){
                if (!Cools.isEmpty(orderNos) && orderNos.length!=0){
                    String[] anfmes = GetAnfme(wrkDetl.getOrderNo());
                    int i = 0;
                    for (String orderNo : orderNos) {
src/main/resources/mapper/OrderDetlMapper.xml
@@ -82,6 +82,12 @@
        and qty &lt; anfme
    </select>
    <select id="selectTotalDetls" resultMap="BaseResultMap">
        select * from man_order_detl
        where 1=1
        and order_id = #{orderId}
    </select>
    <sql id="pakOutPageCondition">
        <if test="order_id!=null and order_id!='' ">
            and mod.order_id = #{order_id}
src/main/webapp/views/wrkMast/wrkDetl.html
@@ -71,6 +71,7 @@
                statusCode: 200
            },
            done: function(res, curr, count) {
                console.log(res)
                if (res.code === 403) {
                    top.location.href = baseUrl+"/";
                }