#
lsh
2024-09-05 8145b109ec0e9bb73d3930acf73e8dc18844adc2
zy-asrs-wms/src/main/java/com/zy/asrs/wms/controller/TagController.java
@@ -8,8 +8,10 @@
import com.zy.asrs.common.domain.entity.MatExcel;
import com.zy.asrs.common.domain.entity.MatPrint;
import com.zy.asrs.common.utils.*;
import com.zy.asrs.common.wms.entity.LocInPrintMat;
import com.zy.asrs.common.wms.entity.Mat;
import com.zy.asrs.common.wms.entity.Tag;
import com.zy.asrs.common.wms.service.LocInPrintMatService;
import com.zy.asrs.common.wms.service.MatService;
import com.zy.asrs.common.wms.service.TagService;
import com.zy.asrs.framework.annotations.ManagerAuth;
@@ -41,6 +43,22 @@
    private MatService matService;
    @Autowired
    private TreeUtils treeUtils;
    @Autowired
    private LocInPrintMatService locInPrintMatService;
    @RequestMapping(value = "/tag/list/pda/auth")
    @ManagerAuth
    public R pdaList(@RequestParam(defaultValue = "1")Integer curr,
                     @RequestParam(defaultValue = "10")Integer limit,
                     @RequestParam(required = false)Long parentId){
        LambdaQueryWrapper<Tag> tagLambdaQueryWrapper = new LambdaQueryWrapper<>();
        if(!Cools.isEmpty(parentId)) {
            tagLambdaQueryWrapper.eq(Tag::getParentId, parentId == null ? getOriginTag().getId() : parentId);
        }
        List<Tag> tags = tagService.list(tagLambdaQueryWrapper);
        return R.ok().add(tags);
    }
    @RequestMapping(value = "/tag/{id}/auth")
    @ManagerAuth
@@ -50,26 +68,24 @@
    @RequestMapping(value = "/tag/page/auth")
    @ManagerAuth
    public R page(@RequestParam(defaultValue = "1") Integer curr,
                  @RequestParam(defaultValue = "10") Integer limit,
                  @RequestParam(required = false) String condition,
                  @RequestParam(required = false) String timeRange) {
    public R page(@RequestParam(defaultValue = "1")Integer curr,
                  @RequestParam(defaultValue = "10")Integer limit,
                  @RequestParam(required = false)String orderByField,
                  @RequestParam(required = false)String orderByType,
                  @RequestParam Map<String, Object> param) {
        Long hostId = getHostId();
        LambdaQueryWrapper<Tag> wrapper = new LambdaQueryWrapper<>();
        if (!Cools.isEmpty(condition)) {
            wrapper.like(Tag::getId, condition);
        }
        if (!Cools.isEmpty(timeRange)) {
            String[] range = timeRange.split(RANGE_TIME_LINK);
            wrapper.ge(Tag::getCreateTime, DateUtils.convert(range[0]));
            wrapper.le(Tag::getCreateTime, DateUtils.convert(range[1]));
        }
        return R.ok(tagService.page(new Page<>(curr, limit), wrapper));
        wrapper.eq(Tag::getHostId, hostId);
        excludeTrash(param);
        return R.parse("0-操作成功").add(tagService.list(wrapper));
    }
    @RequestMapping(value = "/tag/add/auth")
    @ManagerAuth
    public R add(Tag tag) {
        tag.setHostId(getHostId());
        tag.setStatus(1);
        tagService.save(tag);
        return R.ok();
    }
@@ -124,7 +140,7 @@
    @PostMapping(value = "/tag/tree/auth")
    @ManagerAuth
    public R tree(@RequestParam(required = false, defaultValue = "") String condition) throws IOException, ClassNotFoundException {
        ArrayList<Map> tree = treeUtils.getTree(String.valueOf(getOriginTag().getId()));
        ArrayList<Map> tree = treeUtils.getTree(getOriginTag().getId(), getHostId());
        // 深拷贝
        List<Map> result = ListUtils.deepCopy(tree);
        if (!Cools.isEmpty(condition)) {
@@ -177,7 +193,66 @@
            print.setSpecs(mat.getSpecs());
            print.setUnit(mat.getUnit());
            print.setMemo(mat.getMemo());
            print.setMaterial(mat.getMaterial());
            print.setDecrees(mat.getDecrees());
            print.setImgNum(mat.getImgNum());
            print.setWeight(String.valueOf(mat.getWeight()));
            print.setModel(mat.getModel());
            print.setLength(String.valueOf(mat.getLength()));
            print.setWidth(mat.getWidth());
            print.setHeight(mat.getHeight());
            res.add(print);
        }
        return R.ok().add(res);
    }
    // 打印
    @RequestMapping(value = "/loc/in/mat/print/auth")
    @ManagerAuth(memo = "商品编码打印")
    public R locInMatCodePrint(@RequestParam(value = "param[]") Long[] ids) {
        if(Cools.isEmpty(ids)) {
            return R.parse(CodeRes.EMPTY);
        }
        List<MatPrint> res = new ArrayList<>();
        for (Long id : ids){
            LocInPrintMat locInPrintMat = locInPrintMatService.getById(id);
            Mat mat = matService.getOne(new LambdaQueryWrapper<Mat>().eq(Mat::getMatnr, locInPrintMat.getMatnr()));
            if (Cools.isEmpty(mat)){
                return R.error("品号:"+locInPrintMat.getMatnr()+"不存在,请先新增商品档案!!!").add("品号:"+locInPrintMat.getMatnr()+"不存在,请先新增商品档案!!!");
            }
            // 打印数据注入
            MatPrint print = new MatPrint();
            print.setMatnr(mat.getMatnr());
            print.setBarcode(mat.getBarcode());
            print.setMaktx(mat.getMaktx());
            print.setSpecs(mat.getSpecs());
            print.setUnit(mat.getUnit());
            print.setMemo(mat.getMemo());
            print.setMaterial(mat.getMaterial());
            print.setDecrees(mat.getDecrees());
            print.setImgNum(mat.getImgNum());
            print.setWeight(String.valueOf(mat.getWeight()));
            print.setModel(mat.getModel());
            print.setLength(String.valueOf(mat.getLength()));
            print.setWidth(mat.getWidth());
            print.setHeight(mat.getHeight());
//            // 打印数据注入
//            MatPrint print = new MatPrint();
//            print.setMatnr(locInPrintMat.getMatnr());
//            print.setMaktx(locInPrintMat.getMaktx());
//            print.setBatch(locInPrintMat.getBatch());
//            print.setAnfme(locInPrintMat.getAnfme());
//            print.setLocNo(locInPrintMat.getLocNo());
//            print.setOwnerId(locInPrintMat.getOwnerId());
//            print.setOwner(locInPrintMat.getOwner$());
            print.setId(locInPrintMat.getId());
            res.add(print);
            locInPrintMat.setUpdateTime(new Date());
            locInPrintMat.setUpdateBy(getUserId());
            locInPrintMat.setStatus(2);
            locInPrintMatService.updateById(locInPrintMat);
        }
        return R.ok().add(res);
    }
@@ -201,34 +276,24 @@
                .doWrite(excels);
    }
//    // excel导入-------判断是否有重复物料
//    @PostMapping(value = "/mat/excel/import/check/auth")
//    @ManagerAuth(memo = "商品档案数据导入")
//    @Transactional
//    public R matExcelImportCheck(MultipartFile file) throws IOException {
//        MatExcelListener listener = new MatExcelListener(getUserId(), getHostId());
//        EasyExcel.read(file.getInputStream(), MatExcel.class, listener).sheet().doRead();
//        return R.ok("成功同步"+listener.getTotal()+"条商品数据");
//    }
    // excel导入
    @PostMapping(value = "/mat/excel/import/auth")
    @ManagerAuth(memo = "商品档案数据导入")
    @Transactional
    public R matExcelImport(MultipartFile file) throws IOException {
        MatExcelListener listener = new MatExcelListener(getUserId());
        MatExcelListener listener = new MatExcelListener(getUserId(), getHostId());
        EasyExcel.read(file.getInputStream(), MatExcel.class, listener).sheet().doRead();
        return R.ok("成功同步"+listener.getTotal()+"条商品数据");
    }
    /*************************************** xm-select ***********************************************/
    // xm-select 搜索商品列表
    @RequestMapping("/mat/all/get/kv")
    @ManagerAuth
    public R getMatDataKV(@RequestParam(required = false) String condition) {
        LambdaQueryWrapper<Mat> wrapper = new LambdaQueryWrapper<Mat>()
                .like(Mat::getMatnr, condition).or().like(Mat::getMaktx, condition)
                .orderByAsc(Mat::getCreateTime);
        List<Mat> mats = matService.page(new Page<>(1, 30), wrapper).getRecords();
        List<KeyValueVo> valueVos = new ArrayList<>();
        for (Mat mat : mats) {
            KeyValueVo vo = new KeyValueVo();
            vo.setName(mat.getMatnr() + " - " + mat.getMaktx());
            vo.setValue(mat.getId());
            valueVos.add(vo);
        }
        return R.ok().add(valueVos);
    }
}