Browse Source

BUG 修改

master
叶佳兴 2 years ago
parent
commit
e979befd24
  1. 73
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/until/job/JobUtils.java

73
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/until/job/JobUtils.java

@ -1,40 +1,91 @@
package com.win.module.wms.until.job;
import cn.hutool.core.exceptions.UtilException;
import cn.hutool.json.JSONObject;
import cn.hutool.json.JSONUtil;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang.StringUtils;
import org.springframework.stereotype.Component;
import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
@Slf4j
@Component
public class JobUtils {
/**
* 解析JSON串,返回两个对象的集合
*
* @param jobJson
* @param recordJson
* @param jsonString
* @return List<Map>
*/
public List<Map> parseJobAndRecord(String jobJson, String recordJson) {
public static List<Map> parseJobAndRecord(String jsonString) {
//返回的对象集合
List resList = new ArrayList();
//判断前端传的数据是否为空
if (StringUtils.isNotEmpty(jobJson)) {
if (StringUtils.isNotEmpty(jsonString)) {
// 任务参数
JSONObject jobJsonObject = JSONUtil.parseObj(jobJson);
Map jobMap = jobJsonObject.get("job", Map.class);
resList.add(jobMap);
try {
JSONObject jobJsonObject = JSONUtil.parseObj(jsonString);
Map jobMap = jobJsonObject.get("job", Map.class);
resList.add(jobMap);
} catch (Exception e) {
log.error("数据解析异常,请重试!", e);
}
}
//判断前端传的数据是否为空
if (StringUtils.isNotEmpty(jobJson)) {
if (StringUtils.isNotEmpty(jsonString)) {
// 记录参数
JSONObject recordJsonObject = JSONUtil.parseObj(recordJson);
Map recordMap = recordJsonObject.get("record", Map.class);
resList.add(recordMap);
try {
JSONObject recordJsonObject = JSONUtil.parseObj(jsonString);
Map recordMap = recordJsonObject.get("record", Map.class);
resList.add(recordMap);
} catch (Exception e) {
throw new UtilException("数据解析异常,请重试!", e);
}
}
return resList;
}
/**
* 数量与任务是否一致可配置
*
* @return List<Map>
*/
public static boolean numAndJobIsSame(List<Map> param) {
boolean result = false;
// 任务参数
Map jobMap = (Map) param.get(0).get("details");
BigDecimal recommendQty = new BigDecimal(Integer.parseInt(jobMap.get("qty").toString()));
// 记录参数
Map recordMap = (Map) param.get(1).get("details");
BigDecimal handleQty = new BigDecimal(Integer.parseInt(recordMap.get("qty").toString()));
String allowBiggerQty = (String) jobMap.get("allowBiggerQty");
String allowSmallerQty = (String) jobMap.get("allowBiggerQty");
// 验证数据
if (handleQty.compareTo(recommendQty) == 1) {
if ("TRUE".equals(allowBiggerQty)) {
result = true;
} else {
throw new UtilException("实际数量" + handleQty + " 不允许大于推荐数量" + recommendQty);
}
} else if (handleQty.compareTo(recommendQty) == -1) {
if ("TRUE".equals(allowSmallerQty)) {
result = true;
} else {
throw new UtilException("实际数量" + handleQty + " 不允许小于推荐数量" + recommendQty);
}
} else if (handleQty.compareTo(recommendQty) == 0) {
result = true;
}
return result;
}
}

Loading…
Cancel
Save