自动化立体仓库 - WMS系统
#
lty
1 天以前 22e19afee228c3ecbb41ac8115163063f572e51f
src/main/java/com/zy/asrs/controller/LocDetlController.java
@@ -12,6 +12,7 @@
import com.core.common.Cools;
import com.core.common.DateUtils;
import com.core.common.R;
import com.zy.asrs.entity.FrozenParam;
import com.zy.asrs.entity.LocDetl;
import com.zy.asrs.entity.LocOwner;
import com.zy.asrs.entity.Mat;
@@ -188,6 +189,7 @@
//            }
//        }
        excludeTrash(param);
        applyBeBatchFilter(param, wrapper);
        convert(param, wrapper);
        allLike(LocDetl.class, param.keySet(), wrapper, condition);
        if (!Cools.isEmpty(orderByField)){wrapper.orderBy(humpToLine(orderByField), "asc".equals(orderByType));}
@@ -214,6 +216,29 @@
                }
            }
        }
    }
    private <T> void applyBeBatchFilter(Map<String, Object> map, EntityWrapper<T> wrapper) {
        Object beBatchObj = map.remove("beBatch");
        if (beBatchObj == null) {
            beBatchObj = map.remove("be_batch");
        }
        if (beBatchObj == null) {
            return;
        }
        String beBatch = String.valueOf(beBatchObj).trim();
        if (Cools.isEmpty(beBatch)) {
            return;
        }
        if ("1".equals(beBatch)) {
            wrapper.eq("be_batch", 1);
            return;
        }
        if ("0".equals(beBatch)) {
            wrapper.andNew().isNull("be_batch").or().eq("be_batch", 0);
            return;
        }
        wrapper.eq("be_batch", beBatch);
    }
    @RequestMapping(value = "/locDetl/add/auth")
@@ -252,6 +277,26 @@
        return R.ok();
    }
    @PostMapping(value = "/locDetl/frozenInventory")
    @ManagerAuth(memo = "库存冻结")
    public R frozen(@RequestBody List<FrozenParam> param){
        if (param.size() == 0)  {
            return R.parse("未收到数据");
        }
        return locDetlService.frozenInventory(param);
    }
    @PostMapping(value = "/locDetl/unfreezeInventory")
    @ManagerAuth(memo = "库存解冻")
    public R unfreeze(@RequestBody List<FrozenParam> param){
        if (param.size() == 0)  {
            return R.parse("未收到数据");
        }
        return locDetlService.unfreezeInventory(param);
    }
    @RequestMapping(value = "/locDetl/export/auth")
    @ManagerAuth(memo = "库位明细导出")
    public R export(@RequestBody JSONObject param){
@@ -269,47 +314,14 @@
                map.remove("row");
            }
        }
        applyBeBatchFilter(map, wrapper);
        convert(map, wrapper);
        if (!row.equals("")) {
            wrapper.and()
                    .where("loc_no like '" + row + "%'");
                    .where("loc_no like {0}", row + "%");
        }
        List<LocDetl> list = locDetlService.selectList(wrapper);
        List<AbnormalLocDetlParam> result = new ArrayList<>();
        Page<LocDetl> groupLocDetl = locDetlService.getStockStatis2(toPage(1, 10000, param, LocDetl.class));
        for (LocDetl locDetl : groupLocDetl.getRecords()) {
            AbnormalLocDetlParam abnormalLocDetlParam = new AbnormalLocDetlParam();
            Mat mat = matService.selectOne(new EntityWrapper<Mat>()
                    .eq("matnr", locDetl.getMatnr()));
            if (Cools.isEmpty(mat)) {
                continue;
            }
            if (!Cools.isEmpty(mat                                                                          .getStoreMax()) || !Cools.isEmpty(mat.getStoreMin())) {
                abnormalLocDetlParam.setStoreMax(mat.getStoreMax());
                abnormalLocDetlParam.setStoreMaxDate(mat.getStoreMaxDate());
                abnormalLocDetlParam.setStoreMin(mat.getStoreMin());
                abnormalLocDetlParam.setAnfme(locDetl.getAnfme());
                abnormalLocDetlParam.setMaktx(mat.getMaktx());
                abnormalLocDetlParam.setMatnr(mat.getMatnr());
                abnormalLocDetlParam.setSpecs(mat.getSpecs());
                abnormalLocDetlParam.setBatch(locDetl.getBatch());
//                SimpleDateFormat simple = new SimpleDateFormat("yyyyMMdd");
//                Date maxDate = simple.parse(locDetl.getBatch());
//                long time = maxDate.getTime();
//                Date now = new Date();
//                long time1 = now.getTime();
//                abnormalLocDetlParam.setNowTime((int) ((time1 - time) / (1000 * 60 * 60 * 24)));
                if (!Cools.isEmpty(mat.getStoreMax()) && locDetl.getAnfme() > mat.getStoreMax()) {
                    result.add(abnormalLocDetlParam);
                } else if (!Cools.isEmpty(mat.getStoreMin()) && locDetl.getAnfme() < mat.getStoreMin()) {
                    result.add(abnormalLocDetlParam);
                }
            }
        }
        return R.ok(exportSupport(result, fields));
        return R.ok(exportSupport(list, fields));
    }
    @RequestMapping(value = "/locDetl/selectOwner/list/auth")