自动化立体仓库 - WMS系统
#1
dubin
2025-10-30 5ee8d702138b67a8070e850ba622aa4b07d64fb9
src/main/java/com/zy/asrs/controller/WaitPakinController.java
@@ -10,10 +10,14 @@
import com.core.common.Cools;
import com.core.common.DateUtils;
import com.core.common.R;
import com.zy.asrs.entity.WaitPakin;
import com.zy.asrs.service.WaitPakinService;
import com.core.exception.CoolException;
import com.zy.asrs.entity.*;
import com.zy.asrs.entity.param.CombParam;
import com.zy.asrs.entity.param.MobileAdjustParam;
import com.zy.asrs.service.*;
import com.zy.common.web.BaseController;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.web.bind.annotation.*;
import java.util.ArrayList;
@@ -26,6 +30,14 @@
    @Autowired
    private WaitPakinService waitPakinService;
    @Autowired
    private OrderDetlService orderDetlService;
    @Autowired
    private WrkMastService wrkMastService;
    @Autowired
    private MobileService mobileService;
    @Autowired
    private MatService matService;
    @RequestMapping(value = "/waitPakin/{id}/auth")
    @ManagerAuth
@@ -52,12 +64,13 @@
    private void convert(Map<String, Object> map, EntityWrapper wrapper){
        for (Map.Entry<String, Object> entry : map.entrySet()){
            if (entry.getKey().endsWith(">")) {
                wrapper.ge(Cools.deleteChar(entry.getKey()), DateUtils.convert(String.valueOf(entry.getValue())));
            } else if (entry.getKey().endsWith("<")) {
                wrapper.le(Cools.deleteChar(entry.getKey()), DateUtils.convert(String.valueOf(entry.getValue())));
            String val = String.valueOf(entry.getValue());
            if (val.contains(RANGE_TIME_LINK)){
                String[] dates = val.split(RANGE_TIME_LINK);
                wrapper.ge(entry.getKey(), DateUtils.convert(dates[0]));
                wrapper.le(entry.getKey(), DateUtils.convert(dates[1]));
            } else {
                wrapper.like(entry.getKey(), String.valueOf(entry.getValue()));
                wrapper.like(entry.getKey(), val);
            }
        }
    }
@@ -72,7 +85,7 @@
   @RequestMapping(value = "/waitPakin/update/auth")
   @ManagerAuth
    public R update(WaitPakin waitPakin){
        if (Cools.isEmpty(waitPakin) || null==waitPakin.getId()){
        if (Cools.isEmpty(waitPakin)){
            return R.error();
        }
        waitPakinService.updateById(waitPakin);
@@ -81,13 +94,24 @@
    @RequestMapping(value = "/waitPakin/delete/auth")
    @ManagerAuth
    @Transactional
    public R delete(@RequestParam String param){
        List<WaitPakin> list = JSONArray.parseArray(param, WaitPakin.class);
        if (Cools.isEmpty(list)){
            return R.error();
            return R.error("数据为空");
        }
        for (WaitPakin entity : list){
            List<WrkMast> wrkMasts = wrkMastService.selectList(new EntityWrapper<WrkMast>().eq("barcode", entity.getZpallet()));
            if(!Cools.isEmpty(wrkMasts) || wrkMasts.size() > 0){
                return R.error("条码已生成入库工作档,禁止删除");
            }
            waitPakinService.delete(new EntityWrapper<>(entity));
            //订单关联,修改订单作业数量
            if (!Cools.isEmpty(entity.getOrderNo())) {
                if (!orderDetlService.decrease(entity, entity.getAnfme())) {
                    return R.error("订单数据回滚失败");
                }
            }
        }
        return R.ok();
    }
@@ -112,8 +136,8 @@
        List<Map<String, Object>> result = new ArrayList<>();
        for (WaitPakin waitPakin : page.getRecords()){
            Map<String, Object> map = new HashMap<>();
            map.put("id", waitPakin.getId());
            map.put("value", waitPakin.getId());
            map.put("id", waitPakin.getZpallet());
            map.put("value", waitPakin.getZpallet());
            result.add(map);
        }
        return R.ok(result);
@@ -129,4 +153,36 @@
        return R.ok();
    }
    /*入库通知档界面组托 镇江恒立*/
    @RequestMapping(value = "waitPakin/comb/auth")
    @ManagerAuth
    public R comb(WaitPakin waitPakin) {
        if (Cools.isEmpty(waitPakin.getBarcode())||Cools.isEmpty(waitPakin.getModiUser())||Cools.isEmpty(waitPakin.getAnfme())){
            return R.error(BaseRes.PARAM);
        }
        mobileService.combToWms(waitPakin);
        return R.ok("组托成功");
    }
    /*入库通知档界面并板 镇江恒立*/
    @RequestMapping(value = "/waitPakin/clamp/auth")
    @ManagerAuth
    public R clamp(WaitPakin waitPakin) {
        if (Cools.isEmpty(waitPakin.getBarcode())||Cools.isEmpty(waitPakin.getModiUser())||Cools.isEmpty(waitPakin.getAnfme())){
            return R.error(BaseRes.PARAM);
        }
        Mat mat = matService.selectById(waitPakin.getModiUser());
        MobileAdjustParam combParam=new MobileAdjustParam();
        ArrayList<CombParam.CombMat> combMats=new ArrayList<>();
        CombParam.CombMat combMat=new CombParam.CombMat();
        combMat.setSpecs(mat.getSpecs());
        combMat.setMatnr(mat.getMatnr());
        combMat.setMaktx(mat.getMaktx());
        combMat.setAnfme(waitPakin.getAnfme());
        combMats.add(combMat);
        combParam.setBarcode(waitPakin.getBarcode());
        combParam.setCombMats(combMats);
        mobileService.adjustNew(combParam, Boolean.TRUE, getUserId());
        return R.ok("并板成功");
    }
}