|
@ -9,9 +9,15 @@ import com.alibaba.fastjson.JSONArray; |
|
|
import com.alibaba.fastjson.JSONObject; |
|
|
import com.alibaba.fastjson.JSONObject; |
|
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; |
|
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; |
|
|
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; |
|
|
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; |
|
|
|
|
|
import com.baomidou.mybatisplus.core.metadata.IPage; |
|
|
|
|
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; |
|
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; |
|
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; |
|
|
import lombok.RequiredArgsConstructor; |
|
|
import lombok.RequiredArgsConstructor; |
|
|
import lombok.extern.slf4j.Slf4j; |
|
|
import lombok.extern.slf4j.Slf4j; |
|
|
|
|
|
import org.nl.b_lms.pdm.subpackagerelation.dao.PdmBiSubpackagerelation; |
|
|
|
|
|
import org.nl.b_lms.sch.tasks.slitter.constant.SlitterConstant; |
|
|
|
|
|
import org.nl.b_lms.storage_manage.ios.service.iostorInv.dao.StIvtIostorinv; |
|
|
|
|
|
import org.nl.common.domain.query.PageQuery; |
|
|
import org.nl.common.utils.SecurityUtils; |
|
|
import org.nl.common.utils.SecurityUtils; |
|
|
import org.nl.modules.common.exception.BadRequestException; |
|
|
import org.nl.modules.common.exception.BadRequestException; |
|
|
import org.nl.modules.common.utils.FileUtil; |
|
|
import org.nl.modules.common.utils.FileUtil; |
|
@ -25,6 +31,7 @@ import org.nl.wms.st.instor.check.service.dao.StIvtCheckdtl; |
|
|
import org.nl.wms.st.instor.check.service.dao.mapper.StIvtCheckMstMapper; |
|
|
import org.nl.wms.st.instor.check.service.dao.mapper.StIvtCheckMstMapper; |
|
|
import org.nl.wms.st.instor.check.service.dao.mapper.StIvtCheckdtlMapper; |
|
|
import org.nl.wms.st.instor.check.service.dao.mapper.StIvtCheckdtlMapper; |
|
|
import org.nl.wms.st.instor.service.CheckService; |
|
|
import org.nl.wms.st.instor.service.CheckService; |
|
|
|
|
|
import org.nl.wms.st.outbill.service.dto.OutBillQueryPageParam; |
|
|
import org.springframework.data.domain.Pageable; |
|
|
import org.springframework.data.domain.Pageable; |
|
|
import org.springframework.stereotype.Service; |
|
|
import org.springframework.stereotype.Service; |
|
|
import org.springframework.transaction.annotation.Transactional; |
|
|
import org.springframework.transaction.annotation.Transactional; |
|
@ -48,46 +55,43 @@ public class CheckServiceImpl extends ServiceImpl<StIvtCheckMstMapper, StIvtChec |
|
|
private StIvtCheckdtlMapper stIvtCheckdtlMapper; |
|
|
private StIvtCheckdtlMapper stIvtCheckdtlMapper; |
|
|
|
|
|
|
|
|
@Override |
|
|
@Override |
|
|
public Map<String, Object> pageQuery(Map whereJson, Pageable page) { |
|
|
public IPage<StIvtCheckMst> pageQuery(Map whereJson, PageQuery page) { |
|
|
|
|
|
LambdaQueryWrapper<StIvtCheckMst> wrapper = new LambdaQueryWrapper<StIvtCheckMst>(); |
|
|
HashMap<String, String> map = new HashMap<>(whereJson); |
|
|
|
|
|
map.put("flag", "1"); |
|
|
|
|
|
if (StrUtil.isNotEmpty(map.get("check_code"))) { |
|
|
|
|
|
map.put("check_code", "%" + map.get("check_code") + "%"); |
|
|
|
|
|
} |
|
|
|
|
|
//获取人员对应的仓库
|
|
|
//获取人员对应的仓库
|
|
|
UserStorServiceImpl userStorService = new UserStorServiceImpl(); |
|
|
UserStorServiceImpl userStorService = new UserStorServiceImpl(); |
|
|
String in_stor_id = userStorService.getInStor(); |
|
|
List<String> in_stor_id = userStorService.getInStor2(); |
|
|
|
|
|
wrapper.in(ObjectUtil.isNotEmpty(in_stor_id),StIvtCheckMst::getStor_id,in_stor_id) |
|
|
|
|
|
.like(ObjectUtil.isNotEmpty(whereJson.get("check_code")),StIvtCheckMst::getCheck_code,whereJson.get("check_code")) |
|
|
|
|
|
.eq(ObjectUtil.isNotEmpty(whereJson.get("check_type")),StIvtCheckMst::getCheck_type,whereJson.get("check_type")) |
|
|
|
|
|
.eq(ObjectUtil.isNotEmpty(whereJson.get("create_mode")),StIvtCheckMst::getCreate_mode,whereJson.get("create_mode")) |
|
|
|
|
|
.eq(ObjectUtil.isNotEmpty(whereJson.get("stor_id")),StIvtCheckMst::getStor_id,whereJson.get("stor_id")) |
|
|
|
|
|
.eq(ObjectUtil.isNotEmpty(whereJson.get("status")),StIvtCheckMst::getStatus,whereJson.get("status")) |
|
|
|
|
|
.gt(ObjectUtil.isNotEmpty(whereJson.get("begin_time")),StIvtCheckMst::getInput_time,whereJson.get("begin_time")) |
|
|
|
|
|
.lt(ObjectUtil.isNotEmpty(whereJson.get("end_time")),StIvtCheckMst::getInput_time,whereJson.get("end_time")) |
|
|
|
|
|
.orderByDesc(StIvtCheckMst::getCheck_code); |
|
|
|
|
|
|
|
|
if (ObjectUtil.isNotEmpty(in_stor_id)) { |
|
|
|
|
|
map.put("in_stor_id", in_stor_id); |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
JSONObject jo = WQL.getWO("QST_IVT_CHECK").addParamMap(map).pageQuery(WqlUtil.getHttpContext(page), "check_code desc"); |
|
|
IPage<StIvtCheckMst> pages = new Page<>(page.getPage() + 1, page.getSize()); |
|
|
JSONArray content = jo.getJSONArray("content"); |
|
|
|
|
|
if (content.isEmpty()) { |
|
|
IPage<StIvtCheckMst> ret = stIvtCheckMstMapper.selectPage(pages,wrapper); |
|
|
return jo; |
|
|
|
|
|
} |
|
|
|
|
|
// 拼接主表id
|
|
|
|
|
|
String check_id = content.stream() |
|
|
|
|
|
.map(row -> (JSONObject) row) |
|
|
|
|
|
.map(row -> row.getString("check_id")) |
|
|
|
|
|
.collect(Collectors.joining(",")); |
|
|
|
|
|
|
|
|
|
|
|
JSONArray resultJSONArray = WQL.getWO("QST_IVT_CHECK").addParam("flag", "13").addParam("check_id_in", "(" + check_id + ")").process().getResultJSONArray(0); |
|
|
List<StIvtCheckMst> list = ret.getRecords(); |
|
|
|
|
|
|
|
|
for (int i = 0; i < content.size(); i++) { |
|
|
List<String> strs = list.stream().map(plan -> plan.getCheck_id()).collect(Collectors.toList()); |
|
|
JSONObject json = content.getJSONObject(i); |
|
|
if(strs.size()>0){ |
|
|
|
|
|
List<String> sublist = stIvtCheckMstMapper.recordQuery(strs); |
|
|
|
|
|
for (int i = 0; i < list.size(); i++) { |
|
|
|
|
|
StIvtCheckMst json = list.get(i); |
|
|
|
|
|
|
|
|
// 匹配相同check_id的数据条数
|
|
|
// 匹配相同check_id的数据条数
|
|
|
int pcsn_num = (int) resultJSONArray.stream() |
|
|
int pcsn_num = (int) sublist.stream() |
|
|
.map(row -> (JSONObject) row) |
|
|
.filter(row -> row.equals(json.getCheck_id())) |
|
|
.filter(row -> row.getString("check_id").equals(json.getString("check_id"))) |
|
|
|
|
|
.count(); |
|
|
.count(); |
|
|
|
|
|
|
|
|
json.put("pcsn_num", pcsn_num); |
|
|
json.setPcsn_num(pcsn_num); |
|
|
} |
|
|
} |
|
|
return jo; |
|
|
} |
|
|
|
|
|
return ret; |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
@Override |
|
|
@Override |
|
@ -113,21 +117,15 @@ public class CheckServiceImpl extends ServiceImpl<StIvtCheckMstMapper, StIvtChec |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
@Override |
|
|
@Override |
|
|
public Map<String, Object> getExceptionDispose(Map whereJson, Pageable page) { |
|
|
public IPage<StIvtCheckdtl> getExceptionDispose(Map whereJson, PageQuery page) { |
|
|
String box_no = MapUtil.getStr(whereJson, "box_no"); |
|
|
String box_no = MapUtil.getStr(whereJson, "box_no"); |
|
|
String check_code = MapUtil.getStr(whereJson, "check_code"); |
|
|
String check_code = MapUtil.getStr(whereJson, "check_code"); |
|
|
|
|
|
OutBillQueryPageParam param = new OutBillQueryPageParam(); |
|
|
|
|
|
param.setBill_code(check_code); |
|
|
|
|
|
param.setBox_no(box_no); |
|
|
|
|
|
|
|
|
JSONObject map = new JSONObject(); |
|
|
IPage<StIvtIostorinv> pages = new Page<>(page.getPage() + 1, page.getSize()); |
|
|
map.put("check_code", check_code); |
|
|
return stIvtCheckMstMapper.getExceptionDispose(pages, param); |
|
|
map.put("flag", "10"); |
|
|
|
|
|
|
|
|
|
|
|
if (ObjectUtil.isNotEmpty(box_no)) { |
|
|
|
|
|
map.put("box_no", "%" + box_no + "%"); |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
JSONObject json = WQL.getWO("QST_IVT_CHECK").addParamMap(map).pageQuery(WqlUtil.getHttpContext(page), "dtl.seq_no ASC"); |
|
|
|
|
|
|
|
|
|
|
|
return json; |
|
|
|
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
@Override |
|
|
@Override |
|
|