From 2442466124d2e8a420cd6a1026ee04e61b0fc591 Mon Sep 17 00:00:00 2001 From: ZY <zc857179121@qq.com> Date: 星期三, 21 八月 2024 09:35:16 +0800 Subject: [PATCH] 自动填充 --- zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/service/impl/LocDetlServiceImpl.java | 103 ++++++++++++++++++++++++++++++++++++++++++++++++++- 1 files changed, 100 insertions(+), 3 deletions(-) diff --git a/zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/service/impl/LocDetlServiceImpl.java b/zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/service/impl/LocDetlServiceImpl.java index 74db866..d8aaacc 100644 --- a/zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/service/impl/LocDetlServiceImpl.java +++ b/zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/service/impl/LocDetlServiceImpl.java @@ -1,12 +1,109 @@ package com.zy.asrs.wms.asrs.service.impl; -import com.zy.asrs.wms.asrs.mapper.LocDetlMapper; -import com.zy.asrs.wms.asrs.entity.LocDetl; -import com.zy.asrs.wms.asrs.service.LocDetlService; +import com.alibaba.fastjson.JSON; +import com.alibaba.fastjson.JSONObject; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.zy.asrs.wms.asrs.entity.LocDetl; +import com.zy.asrs.wms.asrs.entity.LocDetlField; +import com.zy.asrs.wms.asrs.entity.ViewLocDetl; +import com.zy.asrs.wms.asrs.entity.param.FieldParam; +import com.zy.asrs.wms.asrs.entity.param.FieldSortParam; +import com.zy.asrs.wms.asrs.mapper.LocDetlMapper; +import com.zy.asrs.wms.asrs.mapper.ViewLocDetlMapper; +import com.zy.asrs.wms.asrs.service.LocDetlFieldService; +import com.zy.asrs.wms.asrs.service.LocDetlService; +import com.zy.asrs.wms.common.domain.BaseParam; +import com.zy.asrs.wms.common.domain.PageParam; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; + +import java.util.ArrayList; +import java.util.List; +import java.util.Map; @Service("locDetlService") public class LocDetlServiceImpl extends ServiceImpl<LocDetlMapper, LocDetl> implements LocDetlService { + @Autowired + private ViewLocDetlMapper viewLocDetlMapper; + @Autowired + private LocDetlFieldService locDetlFieldService; + + @Override + public PageParam<ViewLocDetl, BaseParam> getPage(PageParam<ViewLocDetl, BaseParam> pageParam, QueryWrapper<ViewLocDetl> buildWrapper) { + PageParam<ViewLocDetl, BaseParam> result = viewLocDetlMapper.selectPage(pageParam, buildWrapper); + + //瑙f瀽鍔ㄦ�佸瓧娈� + JSONObject data = JSON.parseObject(JSON.toJSONString(result)); + List<ViewLocDetl> records = result.getRecords(); + data.put("records", records); + for (ViewLocDetl locDetl : records) { + Map<String, Object> resultMap = viewLocDetlMapper.getById(locDetl.getId()); + locDetl.syncFieldMap(resultMap); + } + return result; + } + + @Override + public List<LocDetl> getLocDetlList(Map<String, Object> map) { + String matnr = null; + String batch = null; + if (map.containsKey("matnr")) { + matnr = map.get("matnr").toString(); + map.remove("matnr"); + } + if (map.containsKey("batch")) { + batch = map.get("batch").toString(); + map.remove("batch"); + } + ArrayList<FieldParam> param = new ArrayList<>(); + for (Map.Entry<String, Object> entry : map.entrySet()) { + if (entry.getValue() == null) { + continue; + } + FieldParam fieldParam = new FieldParam(); + fieldParam.setName(entry.getKey()); + fieldParam.setValue(entry.getValue()); + param.add(fieldParam); + } + + List<Map<String, Object>> list2 = viewLocDetlMapper.getListLike(matnr, batch, param); + List<LocDetl> locDetls = new ArrayList<>(); + for (Map<String, Object> objectMap : list2) { + LocDetl locDetl = JSON.parseObject(JSON.toJSONString(objectMap), LocDetl.class); + locDetl.syncFieldMap(objectMap); + locDetls.add(locDetl); + } + return locDetls; + } + + @Override + public List<LocDetl> parseLocDetl(List<LocDetl> list) { + for (LocDetl locDetl : list) { + List<LocDetlField> locDetlFieldList = locDetlFieldService.list(new LambdaQueryWrapper<LocDetlField>().eq(LocDetlField::getDetlId, locDetl.getId())); + locDetl.syncField(locDetlFieldList); + } + return list; + } + + /** + * 鏍规嵁鍑哄簱鏉′欢鏌ヨ绗﹀悎鐨勫簱瀛� + * @param param 鏌ヨ鏉′欢 + * @param sortParam 鎺掑簭瀛楁 + * @return + */ + @Override + public List<LocDetl> getSuitableMat( List<FieldParam> param, List<FieldSortParam> sortParam) { + List<Map<String, Object>> stock = viewLocDetlMapper.getSuitableMat(param, sortParam); + List<LocDetl> locDetls = new ArrayList<>(); + for (Map<String, Object> objectMap : stock) { + LocDetl detl = JSON.parseObject(JSON.toJSONString(objectMap), LocDetl.class); + detl.syncFieldMap(objectMap); + locDetls.add(detl); + } + return locDetls; + } + } -- Gitblit v1.9.1