|  |  |  | 
|---|
|  |  |  | 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; | 
|---|
|  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  | import javax.servlet.http.HttpServletResponse; | 
|---|
|  |  |  | import java.util.*; | 
|---|
|  |  |  | import java.util.stream.Collectors; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | @RestController | 
|---|
|  |  |  | @RequestMapping("/api") | 
|---|
|  |  |  | 
|---|
|  |  |  | private MatFieldValueService matFieldValueService; | 
|---|
|  |  |  | @Autowired | 
|---|
|  |  |  | private TagService tagService; | 
|---|
|  |  |  | @Autowired | 
|---|
|  |  |  | private LocDetlServiceImpl locDetlService; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | @PreAuthorize("hasAuthority('asrs:mat:list')") | 
|---|
|  |  |  | @PostMapping("/mat/page") | 
|---|
|  |  |  | 
|---|
|  |  |  | 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)); | 
|---|
|  |  |  | 
|---|
|  |  |  | 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"}) | 
|---|