OperationPanelQueryManagerImpl.java
package com.mycim.server.wip.manager.impl;
import com.mycim.framework.utils.lang.StringUtils;
import com.mycim.framework.utils.lang.collections.MapUtils;
import com.mycim.server.wip.dao.OperationPanelQueryDAO;
import com.mycim.server.wip.manager.OperationPanelQueryManager;
import com.mycim.valueobject.runcard.util.RunCardUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.util.List;
import java.util.Map;
/**
* @author Johnson.Wang
* @version 6.0.0
* @date 2019/9/19
**/
@Service
@Transactional
public class OperationPanelQueryManagerImpl implements OperationPanelQueryManager {
@Autowired
private OperationPanelQueryDAO operationPanelQueryDAO;
@Override
public int countLotForOperatorPanel(Map condition) {
rebuildOperatorParam(condition);
return operationPanelQueryDAO.countLotForOperatorPanel(condition);
}
@Override
public List<Map<String, Object>> listLotForOperatorPanel(Map condition) {
rebuildOperatorParam(condition);
return operationPanelQueryDAO.listLotForOperatorPanel(condition);
}
@Override
public List<Map<String, Object>> listLotForOperatorPanelByRuncard(Map<String, Object> condition) {
rebuildOperatorParam(condition);
List<Map<String, Object>> lotList = operationPanelQueryDAO.listLotForOperatorPanelByRuncard(condition);
for (Map<String, Object> lot : lotList) {
lot.put("rcFlag", Boolean.TRUE);
lot.put("rcLotId", RunCardUtils.buildRunCardLotId(MapUtils.getString(lot, "lotId")));
}
return lotList;
}
private void rebuildOperatorParam(Map condition) {
// 处理条件中的 lot category数组
String[] lotCategoryArray = (String[]) MapUtils.getObject(condition, "lotCategory");
String lotCategoryStr = StringUtils.EMPTY;
if (lotCategoryArray != null && lotCategoryArray.length > 0) {
for (int i = 0; i < lotCategoryArray.length; i++) {
if (StringUtils.isNotBlank(lotCategoryArray[i])) {
lotCategoryStr += "'" + lotCategoryArray[i] + "'";
if (i != (lotCategoryArray.length - 1)) {
lotCategoryStr += ", ";
}
}
}
}
condition.put("lotCategory", lotCategoryStr);
// 条件lotID,productID处理
if (StringUtils.isNotBlank(MapUtils.getString(condition, "lotId"))) {
String lotId = MapUtils.getString(condition, "lotId");
if (StringUtils.indexOf(lotId, "*") > -1) {
lotId = StringUtils.replace(lotId, "*", "%").toString();
condition.put("lotId", StringUtils.trimToUpperCase(lotId));
}
}
if (StringUtils.isNotBlank(MapUtils.getString(condition, "proId"))) {
String productId = MapUtils.getString(condition, "proId");
if (StringUtils.indexOf(productId, "*") > -1) {
productId = StringUtils.replace(productId, "*", "%").toString();
condition.put("proId", StringUtils.trimToUpperCase(productId));
}
}
}
}