|
@@ -409,46 +409,8 @@ public class StockWaterServiceImpl extends ServiceImpl<StockWaterMapper, StockWa
|
|
|
|
|
|
@Override
|
|
@Override
|
|
public Page<Map<String, Object>> remainingTodayPage(Map<String, String> condition) {
|
|
public Page<Map<String, Object>> remainingTodayPage(Map<String, String> condition) {
|
|
- QueryWrapper<?> wrapper = WrapperUtil.init(condition)
|
|
|
|
- .keyword("m.Code", "m.Name") // 关键字查询
|
|
|
|
- .eq("m.CategoryCode", "categoryCode") // 物料分类
|
|
|
|
- .eq("IF( a.CheckTagCount = a.TagQuantity AND a.CheckTagCount = a.HandTagCount, 1, 0)", "inventoryResults")
|
|
|
|
- .getWrapper();
|
|
|
|
-
|
|
|
|
- // 物料分组
|
|
|
|
- wrapper.groupBy("m.id");
|
|
|
|
- // 在库
|
|
|
|
- wrapper.eq("sd.IsDelete", 0);
|
|
|
|
-
|
|
|
|
- // 仓库id
|
|
|
|
- String houseId = condition.get("houseId");
|
|
|
|
- if (ObjectUtil.isNotEmpty(houseId)) {
|
|
|
|
- List<String> materialCodeList = baseMapper.selectMaterialIdByHouseId(houseId);
|
|
|
|
- wrapper.in("m.code", materialCodeList);
|
|
|
|
- }
|
|
|
|
-
|
|
|
|
- // 工艺类型
|
|
|
|
- String technologyType = condition.get("technologyType");
|
|
|
|
- if (ObjectUtil.isNotEmpty(technologyType)) {
|
|
|
|
- if (technologyType.equals("5")) {
|
|
|
|
- wrapper.in("m.TechnologyType", 0, 1, 2, 4);
|
|
|
|
- } else {
|
|
|
|
- wrapper.eq("m.TechnologyType", technologyType);
|
|
|
|
- }
|
|
|
|
- }
|
|
|
|
|
|
|
|
- // 用途
|
|
|
|
- String purpose = condition.get("purpose");
|
|
|
|
- if (ObjectUtil.isNotEmpty(purpose)) {
|
|
|
|
- if (purpose.equals("其他")) {
|
|
|
|
- wrapper.ne("m.TechnologyType", 3);
|
|
|
|
- wrapper.eq("ifNull(m.Purpose,'其他')", purpose);
|
|
|
|
- } else {
|
|
|
|
- wrapper.eq("m.Purpose", purpose);
|
|
|
|
- }
|
|
|
|
- }
|
|
|
|
-
|
|
|
|
- wrapper.orderByAsc("m.Name");
|
|
|
|
|
|
+ QueryWrapper<?> wrapper = createRemainingTodayWrapper(condition);
|
|
|
|
|
|
// 查询基本信息
|
|
// 查询基本信息
|
|
Page<Map<String, Object>> page = baseMapper.remainingTodayPage(createPage(condition), wrapper);
|
|
Page<Map<String, Object>> page = baseMapper.remainingTodayPage(createPage(condition), wrapper);
|
|
@@ -478,11 +440,60 @@ public class StockWaterServiceImpl extends ServiceImpl<StockWaterMapper, StockWa
|
|
}
|
|
}
|
|
|
|
|
|
@Override
|
|
@Override
|
|
|
|
+ public List<Map<String, Object>> remainingTodayList(Map<String, String> condition) {
|
|
|
|
+ QueryWrapper<?> wrapper = createRemainingTodayWrapper(condition);
|
|
|
|
+
|
|
|
|
+ // 查询基本信息
|
|
|
|
+ List<Map<String, Object>> list = baseMapper.remainingTodayList(wrapper);
|
|
|
|
+ if (list.size() == 0) {
|
|
|
|
+ return list;
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ Map<String, Map<String, Object>> materialCodeMap = list.stream().collect(Collectors.toMap(
|
|
|
|
+ item -> item.get("materialCode").toString(),
|
|
|
|
+ item -> item
|
|
|
|
+ ));
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+ QueryWrapper<Object> query = Wrappers.query();
|
|
|
|
+ query.in("sd.MaterialCode", materialCodeMap.keySet());
|
|
|
|
+ query.eq("st.IsDelete", 0);
|
|
|
|
+ query.orderByAsc("sd.MaterialCode", "sd.CreatedTime");
|
|
|
|
+ List<Map<String, Object>> inStockList = baseMapper.inStockList(query);
|
|
|
|
+
|
|
|
|
+ if (inStockList.size() == 0) {
|
|
|
|
+ return inStockList;
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ Date date = new Date();
|
|
|
|
+
|
|
|
|
+ inStockList.forEach(item -> {
|
|
|
|
+
|
|
|
|
+ Date createTime = (Date) item.get("createTime");
|
|
|
|
+ item.put("createTime", DateUtil.format(createTime, "yyyy-MM-dd"));
|
|
|
|
+ item.put("inStockTime", DateUtil.betweenDay(date, createTime, true));
|
|
|
|
+
|
|
|
|
+ Map<String, Object> map = materialCodeMap.get(item.get("materialCode").toString());
|
|
|
|
+ if (map != null) {
|
|
|
|
+ item.putAll(map);
|
|
|
|
+ }
|
|
|
|
+ });
|
|
|
|
+
|
|
|
|
+ return inStockList;
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ @Override
|
|
public List<Map<String, Object>> inStockList(Map<String, String> condition) {
|
|
public List<Map<String, Object>> inStockList(Map<String, String> condition) {
|
|
String materialCode = condition.get("materialCode");
|
|
String materialCode = condition.get("materialCode");
|
|
Assert.notEmpty(materialCode, "物料编码不能为空");
|
|
Assert.notEmpty(materialCode, "物料编码不能为空");
|
|
|
|
|
|
- List<Map<String, Object>> list = baseMapper.inStockList(materialCode);
|
|
|
|
|
|
+ QueryWrapper<Object> wrapper = Wrappers.query();
|
|
|
|
+ wrapper.eq("sd.MaterialCode", materialCode);
|
|
|
|
+ wrapper.eq("st.IsDelete", 0);
|
|
|
|
+ wrapper.orderByAsc("sd.CreatedTime");
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+ List<Map<String, Object>> list = baseMapper.inStockList(wrapper);
|
|
|
|
|
|
if (list.size() == 0) {
|
|
if (list.size() == 0) {
|
|
return list;
|
|
return list;
|
|
@@ -499,6 +510,51 @@ public class StockWaterServiceImpl extends ServiceImpl<StockWaterMapper, StockWa
|
|
return list;
|
|
return list;
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+
|
|
|
|
+ private QueryWrapper<?> createRemainingTodayWrapper(Map<String, String> condition) {
|
|
|
|
+ QueryWrapper<?> wrapper = WrapperUtil.init(condition)
|
|
|
|
+ .keyword("m.Code", "m.Name") // 关键字查询
|
|
|
|
+ .eq("m.CategoryCode", "categoryCode") // 物料分类
|
|
|
|
+ .eq("IF( a.CheckTagCount = a.TagQuantity AND a.CheckTagCount = a.HandTagCount, 1, 0)", "inventoryResults")
|
|
|
|
+ .getWrapper();
|
|
|
|
+
|
|
|
|
+ // 物料分组
|
|
|
|
+ wrapper.groupBy("m.id");
|
|
|
|
+ // 在库
|
|
|
|
+ wrapper.eq("sd.IsDelete", 0);
|
|
|
|
+
|
|
|
|
+ // 仓库id
|
|
|
|
+ String houseId = condition.get("houseId");
|
|
|
|
+ if (ObjectUtil.isNotEmpty(houseId)) {
|
|
|
|
+ List<String> materialCodeList = baseMapper.selectMaterialIdByHouseId(houseId);
|
|
|
|
+ wrapper.in("m.code", materialCodeList);
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ // 工艺类型
|
|
|
|
+ String technologyType = condition.get("technologyType");
|
|
|
|
+ if (ObjectUtil.isNotEmpty(technologyType)) {
|
|
|
|
+ if (technologyType.equals("5")) {
|
|
|
|
+ wrapper.in("m.TechnologyType", 0, 1, 2, 4);
|
|
|
|
+ } else {
|
|
|
|
+ wrapper.eq("m.TechnologyType", technologyType);
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ // 用途
|
|
|
|
+ String purpose = condition.get("purpose");
|
|
|
|
+ if (ObjectUtil.isNotEmpty(purpose)) {
|
|
|
|
+ if (purpose.equals("其他")) {
|
|
|
|
+ wrapper.ne("m.TechnologyType", 3);
|
|
|
|
+ wrapper.eq("ifNull(m.Purpose,'其他')", purpose);
|
|
|
|
+ } else {
|
|
|
|
+ wrapper.eq("m.Purpose", purpose);
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ wrapper.orderByAsc("m.Name");
|
|
|
|
+ return wrapper;
|
|
|
|
+ }
|
|
|
|
+
|
|
private QueryWrapper<?> createPickingWrapper(Map<String, String> condition) {
|
|
private QueryWrapper<?> createPickingWrapper(Map<String, String> condition) {
|
|
QueryWrapper<?> wrapper = WrapperUtil.init(condition)
|
|
QueryWrapper<?> wrapper = WrapperUtil.init(condition)
|
|
.periodOfTime("sw.CreatedTime") // 时间段查询
|
|
.periodOfTime("sw.CreatedTime") // 时间段查询
|