skyouc
2025-07-18 a15ad9309f383153d4f5a95a044fb19e882fff55
zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/controller/MatController.java
@@ -9,19 +9,17 @@
import com.zy.asrs.framework.common.Cools;
import com.zy.asrs.framework.common.R;
import com.zy.asrs.framework.exception.CoolException;
import com.zy.asrs.wms.asrs.entity.MatField;
import com.zy.asrs.wms.asrs.entity.MatFieldValue;
import com.zy.asrs.wms.asrs.entity.Tag;
import com.zy.asrs.wms.asrs.entity.*;
import com.zy.asrs.wms.asrs.entity.template.MatTemplate;
import com.zy.asrs.wms.asrs.service.MatFieldService;
import com.zy.asrs.wms.asrs.service.MatFieldValueService;
import com.zy.asrs.wms.asrs.service.TagService;
import com.zy.asrs.wms.asrs.service.impl.LocDetlServiceImpl;
import com.zy.asrs.wms.common.annotation.CacheData;
import com.zy.asrs.wms.common.annotation.OperationLog;
import com.zy.asrs.wms.common.domain.BaseParam;
import com.zy.asrs.wms.common.domain.KeyValVo;
import com.zy.asrs.wms.common.domain.PageParam;
import com.zy.asrs.wms.asrs.entity.Mat;
import com.zy.asrs.wms.asrs.service.MatService;
import com.zy.asrs.wms.system.controller.BaseController;
import com.zy.asrs.wms.utils.ExcelUtil;
@@ -33,6 +31,7 @@
import javax.servlet.http.HttpServletResponse;
import java.util.*;
import java.util.stream.Collectors;
@RestController
@RequestMapping("/api")
@@ -46,6 +45,8 @@
    private MatFieldValueService matFieldValueService;
    @Autowired
    private TagService tagService;
    @Autowired
    private LocDetlServiceImpl locDetlService;
    @PreAuthorize("hasAuthority('asrs:mat:list')")
    @PostMapping("/mat/page")
@@ -54,7 +55,7 @@
        BaseParam baseParam = buildParam(map, BaseParam.class);
        PageParam<Mat, BaseParam> pageParam = new PageParam<>(baseParam, Mat.class);
        QueryWrapper<Mat> queryWrapper = pageParam.buildWrapper(true);
        queryWrapper.orderByDesc("uniliz");
        queryWrapper.orderByDesc("utiliz");
        PageParam<Mat, BaseParam> page = matService.page(pageParam, queryWrapper);
        JSONObject data = JSON.parseObject(JSON.toJSONString(page));
@@ -70,6 +71,44 @@
        return R.ok().add(data);
    }
    /**
     * @author Ryan
     * @date 2025/7/3
     * @description: 获取可出库物料信息
     * @version 1.0
     */
    @PreAuthorize("hasAuthority('asrs:mat:list')")
    @PostMapping("/locs/mats/page")
    public R getOutPage(@RequestBody Map<String, Object> param) {
        List<LocDetl> locDetls = locDetlService.list(new LambdaQueryWrapper<LocDetl>().select(LocDetl::getMatId));
        if (locDetls.isEmpty()) {
            return R.ok();
        }
        /**获取存物料信息*/
        Set<Long> ids = locDetls.stream().map(LocDetl::getMatId).collect(Collectors.toSet());
        BaseParam baseParam = buildParam(param, BaseParam.class);
        PageParam<Mat, BaseParam> pageParam = new PageParam<>(baseParam, Mat.class);
        QueryWrapper<Mat> queryWrapper = pageParam.buildWrapper(true);
        queryWrapper.orderByDesc("utiliz");
        queryWrapper.in("id", ids);
        PageParam<Mat, BaseParam> page = matService.page(pageParam, queryWrapper);
        JSONObject data = JSON.parseObject(JSON.toJSONString(page));
        List<Mat> records = page.getRecords();
        data.put("records", records);
        for (Mat mat : records) {
            List<MatFieldValue> list = matFieldValueService.list(new LambdaQueryWrapper<MatFieldValue>()
                    .eq(MatFieldValue::getMatId, mat.getId()));
            mat.syncField(list);
        }
        return R.ok(data);
    }
    @PreAuthorize("hasAuthority('asrs:mat:list')")
    @PostMapping("/mat/list")
    @CacheData(tableName = {"man_mat"})