完成龙兴发运看板

uat-temp-nht-202502180000-shippingkanban
jason 3 months ago
parent 0dc14ff147
commit cb50635c6c

@ -7,6 +7,6 @@ import java.util.List;
public interface IMesShippingKanbanCfgService {
MesShippingKanbanCfgModel queryShippingKanbanCfg(String organizeCode);
void saveShippingKanbanCfg(MesShippingKanbanCfgModel request, String organizeCode, String username);
void doSaveShippingKanbanCfg(MesShippingKanbanCfgModel request, String organizeCode, String username);
List<MesShippingKanbanViewModel> queryShippingKanbanContext(String organizeCode);
}

@ -3,7 +3,6 @@ package cn.estsh.i3plus.ext.mes.pcn.apiservice.controller.busi;
import cn.estsh.i3plus.ext.mes.pcn.api.busi.IMesShippingKanbanCfgService;
import cn.estsh.i3plus.ext.mes.pcn.pojo.constant.MesCommonConstant;
import cn.estsh.i3plus.ext.mes.pcn.pojo.model.MesShippingKanbanCfgModel;
import cn.estsh.i3plus.pojo.mes.bean.shipping.MesLoadingList;
import cn.estsh.impp.framework.boot.auth.AuthUtil;
import cn.estsh.impp.framework.boot.exception.ImppBusiException;
import cn.estsh.impp.framework.boot.exception.ImppExceptionBuilder;
@ -43,7 +42,7 @@ public class MesShippingKanbanCfgController {
public ResultBean saveShippingKanbanCfg(@RequestBody MesShippingKanbanCfgModel request) {
try {
String organizeCode = !StringUtils.isEmpty(request.getOrganizeCode()) ? request.getOrganizeCode() : AuthUtil.getOrganize().getOrganizeCode();
shippingKanbanCfgService.saveShippingKanbanCfg(request, organizeCode, request.getUsername());
shippingKanbanCfgService.doSaveShippingKanbanCfg(request, organizeCode, request.getUsername());
return ResultBean.success("保存成功");
} catch (ImppBusiException imppException) {
return ResultBean.fail(imppException);

@ -11,6 +11,7 @@ import cn.estsh.i3plus.pojo.base.bean.DdlPackBean;
import cn.estsh.i3plus.pojo.base.enumutil.CommonEnumUtil;
import cn.estsh.i3plus.pojo.base.tool.DdlPreparedPack;
import cn.estsh.i3plus.pojo.mes.bean.MesPartShippingGroup;
import cn.estsh.i3plus.pojo.mes.bean.MesProductionRecord;
import cn.estsh.i3plus.pojo.mes.bean.seres.MesCimSeresJisVinOverPoint;
import cn.estsh.i3plus.pojo.mes.bean.shipping.MesLoadingListDetail;
import cn.estsh.i3plus.pojo.mes.bean.shipping.MesShippingKanbanCfg;
@ -31,6 +32,7 @@ import org.springframework.util.CollectionUtils;
import org.springframework.util.StringUtils;
import javax.persistence.EntityManager;
import javax.persistence.NoResultException;
import javax.persistence.Query;
import java.math.BigDecimal;
import java.math.RoundingMode;
@ -85,7 +87,7 @@ public class MesShippingKanbanCfgServiceImpl implements IMesShippingKanbanCfgSer
}
@Override
public void saveShippingKanbanCfg(MesShippingKanbanCfgModel request, String organizeCode, String username) {
public void doSaveShippingKanbanCfg(MesShippingKanbanCfgModel request, String organizeCode, String username) {
if (request.getConfig() == null) {
return;
}
@ -229,7 +231,7 @@ public class MesShippingKanbanCfgServiceImpl implements IMesShippingKanbanCfgSer
continue;
}
if (NumberUtil.isNumber(value)) {
if (Integer.parseInt(value) < Integer.parseInt(rangValue)) {
if (Long.parseLong(value) < Long.parseLong(rangValue)) {
return cfgDetail.getRangColorLess();
}
} else {
@ -247,7 +249,7 @@ public class MesShippingKanbanCfgServiceImpl implements IMesShippingKanbanCfgSer
continue;
}
if (NumberUtil.isNumber(value)) {
if (Integer.parseInt(value) >= Integer.parseInt(rangValue)) {
if (Long.parseLong(value) >= Long.parseLong(rangValue)) {
return cfgDetail.getRangColorMore();
}
} else {
@ -275,21 +277,25 @@ public class MesShippingKanbanCfgServiceImpl implements IMesShippingKanbanCfgSer
return partShippingGroupRDao.findByHqlWhere(packBean);
}
private String getShippingVin(String organizeCode, List<String> shippingGroupCodes, List<Integer> status) {
private String getMesShippingVin(String organizeCode, List<String> shippingGroupCodes, List<Integer> status) {
StringBuilder hql = new StringBuilder();
hql.append("select sd.vin");
hql.append(" from MesShippingOrderManagement s inner join MesShippingOrderManagementDetail sd on s.id = sd.pid and sd.organizeCode = :organizeCode and sd.isDeleted=:isDeleted and sd.isValid=:isValid ");
hql.append(" and s.status in (:status) ");
hql.append(" and s.shippingGroupCode in (:shippingGroupCode) ");
hql.append(" ORDER BY sd.id desc");
return entityManager.createQuery(hql.toString(), String.class)
.setParameter("organizeCode", organizeCode)
.setParameter("isValid", CommonEnumUtil.VALID)
.setParameter("isDeleted", CommonEnumUtil.FALSE)
.setParameter("status", status)
.setParameter("shippingGroupCode", shippingGroupCodes)
.setMaxResults(1)
.getSingleResult();
try {
return entityManager.createQuery(hql.toString(), String.class)
.setParameter("organizeCode", organizeCode)
.setParameter("isValid", CommonEnumUtil.VALID)
.setParameter("isDeleted", CommonEnumUtil.FALSE)
.setParameter("status", status)
.setParameter("shippingGroupCode", shippingGroupCodes)
.setMaxResults(1)
.getSingleResult();
} catch (NoResultException e) {
return "";
}
}
/**
@ -299,23 +305,38 @@ public class MesShippingKanbanCfgServiceImpl implements IMesShippingKanbanCfgSer
* @return
*/
private String getMaxOffNumber(String organizeCode, List<String> shippingGroupCodes) {
String vinCode = getShippingVin(organizeCode, shippingGroupCodes, Arrays.asList(MesExtEnumUtil.SHIPPING_ORDER_STATUS.SHIPPED.getValue(), MesExtEnumUtil.SHIPPING_ORDER_STATUS.LOADING.getValue()));
String vinCode = getMesShippingVin(organizeCode, shippingGroupCodes, Arrays.asList(MesExtEnumUtil.SHIPPING_ORDER_STATUS.SHIPPED.getValue(), MesExtEnumUtil.SHIPPING_ORDER_STATUS.LOADING.getValue()));
if (StringUtils.isEmpty(vinCode)) {
return "";
}
StringBuilder offNumberHql = new StringBuilder();
offNumberHql.append("select max(serialNumber) from " + MesCimSeresJisVinOverPoint.class.getName());
offNumberHql.append(" where organizeCode = :organizeCode and isDeleted = :isDeleted and isValid = :isValid ");
offNumberHql.append(" and vin = :vin ");
return entityManager.createQuery(offNumberHql.toString(), String.class)
.setParameter("organizeCode", organizeCode)
.setParameter("isValid", CommonEnumUtil.VALID)
.setParameter("isDeleted", CommonEnumUtil.FALSE)
.setParameter("vin", vinCode)
.getSingleResult();
try {
return entityManager.createQuery(offNumberHql.toString(), String.class)
.setParameter("organizeCode", organizeCode)
.setParameter("isValid", CommonEnumUtil.VALID)
.setParameter("isDeleted", CommonEnumUtil.FALSE)
.setParameter("vin", vinCode)
.getSingleResult();
} catch (NoResultException e) {
return "";
}
}
/**
*
* 线SERIAL_NUMBER- 线+
* @param cfg
* @param cfgDetail
* @return
*/
private List<String> getClientStockQty(MesShippingKanbanCfg cfg, MesShippingKanbanCfgDetail cfgDetail) {
List<String> values = new ArrayList<>();
List<String> strShippingGroupList = Arrays.asList(cfg.getShippingGroupCode().split(","));
if (CollectionUtils.isEmpty(strShippingGroupList)) {
values.add("0");
return values;
}
@ -326,12 +347,15 @@ public class MesShippingKanbanCfgServiceImpl implements IMesShippingKanbanCfgSer
onNumberHql.append("select max(serialNumber) from " + MesCimSeresJisVinOverPoint.class.getName());
onNumberHql.append(" where organizeCode = :organizeCode and isDeleted = :isDeleted and isValid = :isValid ");
onNumberHql.append(" and overPoint = :overPoint ");
onNumber = entityManager.createQuery(onNumberHql.toString(), String.class)
.setParameter("organizeCode", cfg.getOrganizeCode())
.setParameter("isValid", CommonEnumUtil.VALID)
.setParameter("isDeleted", CommonEnumUtil.FALSE)
.setParameter("overPoint", cfg.getOnlinePoint())
.getSingleResult();
try {
onNumber = entityManager.createQuery(onNumberHql.toString(), String.class)
.setParameter("organizeCode", cfg.getOrganizeCode())
.setParameter("isValid", CommonEnumUtil.VALID)
.setParameter("isDeleted", CommonEnumUtil.FALSE)
.setParameter("overPoint", cfg.getOnlinePoint())
.getSingleResult();
} catch (NoResultException ignored) {
}
}
if (StringUtils.isEmpty(onNumber)) {
onNumber = "0";
@ -348,10 +372,18 @@ public class MesShippingKanbanCfgServiceImpl implements IMesShippingKanbanCfgSer
return values;
}
/**
*
* --线cockpit
* @param cfg
* @param cfgDetail
* @return
*/
private List<String> getWaitShippingQty(MesShippingKanbanCfg cfg, MesShippingKanbanCfgDetail cfgDetail) {
List<String> values = new ArrayList<>();
List<String> strShippingGroupList = Arrays.asList(cfg.getShippingGroupCode().split(","));
if (CollectionUtils.isEmpty(strShippingGroupList)) {
values.add("0");
return values;
}
@ -363,12 +395,15 @@ public class MesShippingKanbanCfgServiceImpl implements IMesShippingKanbanCfgSer
refinedPointHql.append("select max(serialNumber) from " + MesCimSeresJisVinOverPoint.class.getName());
refinedPointHql.append(" where organizeCode = :organizeCode and isDeleted = :isDeleted and isValid = :isValid ");
refinedPointHql.append(" and overPoint = :overPoint ");
refinedPointNumber = entityManager.createQuery(refinedPointHql.toString(), String.class)
.setParameter("organizeCode", cfg.getOrganizeCode())
.setParameter("isValid", CommonEnumUtil.VALID)
.setParameter("isDeleted", CommonEnumUtil.FALSE)
.setParameter("overPoint", cfg.getRefinedPoint())
.getSingleResult();
try {
refinedPointNumber = entityManager.createQuery(refinedPointHql.toString(), String.class)
.setParameter("organizeCode", cfg.getOrganizeCode())
.setParameter("isValid", CommonEnumUtil.VALID)
.setParameter("isDeleted", CommonEnumUtil.FALSE)
.setParameter("overPoint", cfg.getRefinedPoint())
.getSingleResult();
} catch (NoResultException ignored) {
}
}
if (StringUtils.isEmpty(refinedPointNumber)) {
refinedPointNumber = "0";
@ -398,7 +433,10 @@ public class MesShippingKanbanCfgServiceImpl implements IMesShippingKanbanCfgSer
Map<String, String> shippingGroupCount = new HashMap<>();
if (!CollectionUtils.isEmpty(ddd)) {
for (Map dd : ddd) {
shippingGroupCount.put(dd.get("shippingGroupCode").toString(), dd.get("COUNT").toString());
Object count = dd.get("COUNT");
if (count != null) {
shippingGroupCount.put(dd.get("shippingGroupCode").toString(), count.toString());
}
}
}
for (String shippingGroupCode : strShippingGroupList) {
@ -412,6 +450,7 @@ public class MesShippingKanbanCfgServiceImpl implements IMesShippingKanbanCfgSer
List<String> values = new ArrayList<>();
List<String> strShippingGroupList = Arrays.asList(cfg.getShippingGroupCode().split(","));
if (CollectionUtils.isEmpty(strShippingGroupList)) {
values.add("0");
return values;
}
@ -423,12 +462,15 @@ public class MesShippingKanbanCfgServiceImpl implements IMesShippingKanbanCfgSer
refinedPointHql.append("select max(serialNumber) from " + MesCimSeresJisVinOverPoint.class.getName());
refinedPointHql.append(" where organizeCode = :organizeCode and isDeleted = :isDeleted and isValid = :isValid ");
refinedPointHql.append(" and overPoint = :overPoint ");
refinedPointNumber = entityManager.createQuery(refinedPointHql.toString(), String.class)
.setParameter("organizeCode", cfg.getOrganizeCode())
.setParameter("isValid", CommonEnumUtil.VALID)
.setParameter("isDeleted", CommonEnumUtil.FALSE)
.setParameter("overPoint", cfg.getRefinedPoint())
.getSingleResult();
try {
refinedPointNumber = entityManager.createQuery(refinedPointHql.toString(), String.class)
.setParameter("organizeCode", cfg.getOrganizeCode())
.setParameter("isValid", CommonEnumUtil.VALID)
.setParameter("isDeleted", CommonEnumUtil.FALSE)
.setParameter("overPoint", cfg.getRefinedPoint())
.getSingleResult();
} catch (NoResultException ignored) {
}
}
if (StringUtils.isEmpty(refinedPointNumber)) {
refinedPointNumber = "0";
@ -450,6 +492,7 @@ public class MesShippingKanbanCfgServiceImpl implements IMesShippingKanbanCfgSer
/**
* /
* -
* @param cfg
* @param cfgDetail
* @return
@ -458,6 +501,7 @@ public class MesShippingKanbanCfgServiceImpl implements IMesShippingKanbanCfgSer
List<String> values = new ArrayList<>();
List<String> strShippingGroupList = Arrays.asList(cfg.getShippingGroupCode().split(","));
if (CollectionUtils.isEmpty(strShippingGroupList)) {
values.add("0");
return values;
}
@ -471,12 +515,15 @@ public class MesShippingKanbanCfgServiceImpl implements IMesShippingKanbanCfgSer
refinedPointHql.append("select max(serialNumber) from " + MesCimSeresJisVinOverPoint.class.getName());
refinedPointHql.append(" where organizeCode = :organizeCode and isDeleted = :isDeleted and isValid = :isValid ");
refinedPointHql.append(" and overPoint = :overPoint ");
refinedPointNumber = entityManager.createQuery(refinedPointHql.toString(), String.class)
.setParameter("organizeCode", cfg.getOrganizeCode())
.setParameter("isValid", CommonEnumUtil.VALID)
.setParameter("isDeleted", CommonEnumUtil.FALSE)
.setParameter("overPoint", cfg.getRefinedPoint())
.getSingleResult();
try {
refinedPointNumber = entityManager.createQuery(refinedPointHql.toString(), String.class)
.setParameter("organizeCode", cfg.getOrganizeCode())
.setParameter("isValid", CommonEnumUtil.VALID)
.setParameter("isDeleted", CommonEnumUtil.FALSE)
.setParameter("overPoint", cfg.getRefinedPoint())
.getSingleResult();
} catch (NoResultException ignored) {
}
}
if (StringUtils.isEmpty(refinedPointNumber)) {
refinedPointNumber = "0";
@ -506,7 +553,7 @@ public class MesShippingKanbanCfgServiceImpl implements IMesShippingKanbanCfgSer
}
for (String shippingGroupCode : strShippingGroupList) {
if (shippingGroupCount.containsKey(shippingGroupCode)) {
values.add(Integer.parseInt(refinedPointNumber) - Integer.parseInt(shippingGroupCount.get(shippingGroupCode)) + "");
values.add(Long.parseLong(refinedPointNumber) - Long.parseLong(shippingGroupCount.get(shippingGroupCode)) + "");
} else {
values.add("0");
}
@ -517,6 +564,7 @@ public class MesShippingKanbanCfgServiceImpl implements IMesShippingKanbanCfgSer
/**
* (Min)
* -
* @param cfg
* @param cfgDetail
* @return
@ -534,13 +582,18 @@ public class MesShippingKanbanCfgServiceImpl implements IMesShippingKanbanCfgSer
hql.append(" from MesShippingOrderManagement s inner join MesShippingOrderManagementDetail sd on s.id = sd.pid and sd.organizeCode = :organizeCode and sd.isDeleted=:isDeleted and sd.isValid=:isValid ");
hql.append(" and s.status in (:status) ");
hql.append(" and s.shippingGroupCode in (:shippingGroupCode) ");
String strScanEndTime = entityManager.createQuery(hql.toString(), String.class)
.setParameter("organizeCode", cfg.getOrganizeCode())
.setParameter("isValid", CommonEnumUtil.VALID)
.setParameter("isDeleted", CommonEnumUtil.FALSE)
.setParameter("status", Arrays.asList(MesExtEnumUtil.SHIPPING_ORDER_STATUS.SHIPPED.getValue(), MesExtEnumUtil.SHIPPING_ORDER_STATUS.LOADING.getValue()))
.setParameter("shippingGroupCode", strShippingGroupList)
.getSingleResult();
String strScanEndTime = "";
try {
strScanEndTime = entityManager.createQuery(hql.toString(), String.class)
.setParameter("organizeCode", cfg.getOrganizeCode())
.setParameter("isValid", CommonEnumUtil.VALID)
.setParameter("isDeleted", CommonEnumUtil.FALSE)
.setParameter("status", Arrays.asList(MesExtEnumUtil.SHIPPING_ORDER_STATUS.SHIPPED.getValue(), MesExtEnumUtil.SHIPPING_ORDER_STATUS.LOADING.getValue()))
.setParameter("shippingGroupCode", strShippingGroupList)
.getSingleResult();
} catch (NoResultException ignored) {
}
if (!StringUtils.isEmpty(strScanEndTime)) {
Date scanEndTime = DateUtil.parse(strScanEndTime);
values.add(DateUtil.formatDate(DateUtil.SHORT_FORMAT_HOUR, scanEndTime));
@ -556,7 +609,7 @@ public class MesShippingKanbanCfgServiceImpl implements IMesShippingKanbanCfgSer
.setParameter("organizeCode", cfg.getOrganizeCode())
.setParameter("isValid", CommonEnumUtil.VALID)
.setParameter("isDeleted", CommonEnumUtil.FALSE)
.setParameter("status", Arrays.asList(MesExtEnumUtil.LOADING_ORDER_STATUS.LOADED.getValue(), MesExtEnumUtil.LOADING_ORDER_STATUS.SHIPPING.getValue()))
.setParameter("status", Arrays.asList(MesExtEnumUtil.MES_LOADING_STATUS.PUBLISH.getValue(), MesExtEnumUtil.MES_LOADING_STATUS.SCANNED.getValue()))
.setParameter("shippingGroupCode", strShippingGroupList)
.getResultList();
Map<String, String> shippingGroupCount = new HashMap<>();
@ -599,13 +652,17 @@ public class MesShippingKanbanCfgServiceImpl implements IMesShippingKanbanCfgSer
hql.append(" from MesShippingOrderManagement s inner join MesShippingOrderManagementDetail sd on s.id = sd.pid and sd.organizeCode = :organizeCode and sd.isDeleted=:isDeleted and sd.isValid=:isValid ");
hql.append(" and s.status in (:status) ");
hql.append(" and s.shippingGroupCode in (:shippingGroupCode) ");
String strScanEndTime = entityManager.createQuery(hql.toString(), String.class)
.setParameter("organizeCode", cfg.getOrganizeCode())
.setParameter("isValid", CommonEnumUtil.VALID)
.setParameter("isDeleted", CommonEnumUtil.FALSE)
.setParameter("status", Arrays.asList(MesExtEnumUtil.SHIPPING_ORDER_STATUS.SHIPPED.getValue(), MesExtEnumUtil.SHIPPING_ORDER_STATUS.LOADING.getValue()))
.setParameter("shippingGroupCode", strShippingGroupList)
.getSingleResult();
String strScanEndTime = "";
try {
strScanEndTime = entityManager.createQuery(hql.toString(), String.class)
.setParameter("organizeCode", cfg.getOrganizeCode())
.setParameter("isValid", CommonEnumUtil.VALID)
.setParameter("isDeleted", CommonEnumUtil.FALSE)
.setParameter("status", Arrays.asList(MesExtEnumUtil.SHIPPING_ORDER_STATUS.SHIPPED.getValue(), MesExtEnumUtil.SHIPPING_ORDER_STATUS.LOADING.getValue()))
.setParameter("shippingGroupCode", strShippingGroupList)
.getSingleResult();
} catch (NoResultException ignored) {
}
if (!StringUtils.isEmpty(strScanEndTime)) {
Date scanEndTime = DateUtil.parse(strScanEndTime);
values.add(DateUtil.formatDate(DateUtil.SHORT_FORMAT_HOUR, scanEndTime));
@ -618,6 +675,7 @@ public class MesShippingKanbanCfgServiceImpl implements IMesShippingKanbanCfgSer
/**
*
* +/JPH-
* @param cfg
* @param cfgDetail
* @return
@ -653,15 +711,17 @@ public class MesShippingKanbanCfgServiceImpl implements IMesShippingKanbanCfgSer
/**
* 线(Min)
* +/JPH-
* @param cfg
* @param cfgDetail
* @return
*/
private List<String> getTreeStopWarning(MesShippingKanbanCfg cfg, MesShippingKanbanCfgDetail cfgDetail) {
List<String> values = new ArrayList<>();
//获取客户端库存
//获取下一车最晚发运时间
List<String> nextShippingTimeValue = getNextShippingTime(cfg, cfgDetail);
if (StringUtils.isEmpty(nextShippingTimeValue)) {
values.add("0");
return values;
}
Date nowTime = DateUtil.parse(DateUtil.formatDate(DateUtil.BASE_FORMAT3, DateUtil.now()), DateUtil.BASE_FORMAT3);
@ -671,10 +731,17 @@ public class MesShippingKanbanCfgServiceImpl implements IMesShippingKanbanCfgSer
return values;
}
/**
* VIN/6
* @param cfg
* @param cfgDetail
* @return
*/
private List<String> getShippingVin(MesShippingKanbanCfg cfg, MesShippingKanbanCfgDetail cfgDetail) {
List<String> values = new ArrayList<>();
List<String> strShippingGroupList = Arrays.asList(cfg.getShippingGroupCode().split(","));
if (CollectionUtils.isEmpty(strShippingGroupList)) {
values.add("0");
return values;
}
@ -685,13 +752,18 @@ public class MesShippingKanbanCfgServiceImpl implements IMesShippingKanbanCfgSer
hql.append(" and s.status in (:status) ");
hql.append(" and s.shippingGroupCode in (:shippingGroupCode) ");
hql.append(" ORDER BY sd.id DESC");
Long custInfoSeq = entityManager.createQuery(hql.toString(), Long.class)
.setParameter("organizeCode", cfg.getOrganizeCode())
.setParameter("isValid", CommonEnumUtil.VALID)
.setParameter("isDeleted", CommonEnumUtil.FALSE)
.setParameter("status", Arrays.asList(MesExtEnumUtil.SHIPPING_ORDER_STATUS.SHIPPED.getValue(), MesExtEnumUtil.SHIPPING_ORDER_STATUS.LOADING.getValue()))
.setParameter("shippingGroupCode", strShippingGroupList)
.getSingleResult();
Long custInfoSeq = null;
try {
custInfoSeq = entityManager.createQuery(hql.toString(), Long.class)
.setParameter("organizeCode", cfg.getOrganizeCode())
.setParameter("isValid", CommonEnumUtil.VALID)
.setParameter("isDeleted", CommonEnumUtil.FALSE)
.setParameter("status", Arrays.asList(MesExtEnumUtil.SHIPPING_ORDER_STATUS.SHIPPED.getValue(), MesExtEnumUtil.SHIPPING_ORDER_STATUS.LOADING.getValue()))
.setParameter("shippingGroupCode", strShippingGroupList)
.setMaxResults(1)
.getSingleResult();
} catch (NoResultException e) {
}
String strCustInfoSeq = custInfoSeq != null ? Long.toString(custInfoSeq) : "";
if (strCustInfoSeq.length() >= 6) {
values.add(strCustInfoSeq.substring(strCustInfoSeq.length() - 6));
@ -709,7 +781,7 @@ public class MesShippingKanbanCfgServiceImpl implements IMesShippingKanbanCfgSer
.setParameter("organizeCode", cfg.getOrganizeCode())
.setParameter("isValid", CommonEnumUtil.VALID)
.setParameter("isDeleted", CommonEnumUtil.FALSE)
.setParameter("status", Arrays.asList(MesExtEnumUtil.LOADING_ORDER_STATUS.LOADED.getValue(), MesExtEnumUtil.LOADING_ORDER_STATUS.SHIPPING.getValue()))
.setParameter("status", Arrays.asList(MesExtEnumUtil.MES_LOADING_STATUS.PUBLISH.getValue(), MesExtEnumUtil.MES_LOADING_STATUS.SCANNED.getValue()))
.setParameter("shippingGroupCode", strShippingGroupList)
.getResultList();
@ -741,11 +813,18 @@ public class MesShippingKanbanCfgServiceImpl implements IMesShippingKanbanCfgSer
return values;
}
/**
* VIN/6
* @param cfg
* @param cfgDetail
* @return
*/
private List<String> getCPShippingVin(MesShippingKanbanCfg cfg, MesShippingKanbanCfgDetail cfgDetail) {
List<String> values = new ArrayList<>();
DdlPackBean packBean = DdlPackBean.getDdlPackBean(cfg.getOrganizeCode());
List<MesPartShippingGroup> shippingGroups = partShippingGroupRDao.findByHqlWhere(packBean);
if (CollectionUtils.isEmpty(shippingGroups)) {
values.add("0");
return values;
}
@ -758,13 +837,19 @@ public class MesShippingKanbanCfgServiceImpl implements IMesShippingKanbanCfgSer
hql.append(" and s.status in (:status) ");
hql.append(" and s.shippingGroupCode in (:shippingGroupCode) ");
hql.append(" ORDER BY sd.id DESC");
Long custInfoSeq = entityManager.createQuery(hql.toString(), Long.class)
.setParameter("organizeCode", cfg.getOrganizeCode())
.setParameter("isValid", CommonEnumUtil.VALID)
.setParameter("isDeleted", CommonEnumUtil.FALSE)
.setParameter("status", Arrays.asList(MesExtEnumUtil.SHIPPING_ORDER_STATUS.SHIPPED.getValue(), MesExtEnumUtil.SHIPPING_ORDER_STATUS.LOADING.getValue()))
.setParameter("shippingGroupCode", strShippingGroupList)
.getSingleResult();
Long custInfoSeq = null;
try {
custInfoSeq = entityManager.createQuery(hql.toString(), Long.class)
.setParameter("organizeCode", cfg.getOrganizeCode())
.setParameter("isValid", CommonEnumUtil.VALID)
.setParameter("isDeleted", CommonEnumUtil.FALSE)
.setParameter("status", Arrays.asList(MesExtEnumUtil.SHIPPING_ORDER_STATUS.SHIPPED.getValue(), MesExtEnumUtil.SHIPPING_ORDER_STATUS.LOADING.getValue()))
.setParameter("shippingGroupCode", strShippingGroupList)
.setMaxResults(1)
.getSingleResult();
} catch (NoResultException e) {
}
String strCustInfoSeq = custInfoSeq != null ? Long.toString(custInfoSeq) : "";
if (strCustInfoSeq.length() >= 6) {
values.add(strCustInfoSeq.substring(strCustInfoSeq.length() - 6));
@ -778,7 +863,9 @@ public class MesShippingKanbanCfgServiceImpl implements IMesShippingKanbanCfgSer
}
/**
* 线
* 线
*
* 线/线
* @param cfg
* @param cfgDetail
* @return
@ -786,6 +873,7 @@ public class MesShippingKanbanCfgServiceImpl implements IMesShippingKanbanCfgSer
private List<String> getTodayOnline(MesShippingKanbanCfg cfg, MesShippingKanbanCfgDetail cfgDetail) {
List<String> values = new ArrayList<>();
if (StringUtils.isEmpty(cfg.getCustStartShift()) || StringUtils.isEmpty(cfg.getOnlinePoint())) {
values.add("0");
return values;
}
@ -823,6 +911,7 @@ public class MesShippingKanbanCfgServiceImpl implements IMesShippingKanbanCfgSer
/**
*
*
* @param cfg
* @param cfgDetail
* @return
@ -831,6 +920,7 @@ public class MesShippingKanbanCfgServiceImpl implements IMesShippingKanbanCfgSer
List<String> values = new ArrayList<>();
List<String> strShippingGroupList = Arrays.asList(cfg.getShippingGroupCode().split(","));
if (CollectionUtils.isEmpty(strShippingGroupList) || StringUtils.isEmpty(cfg.getInterStartShift())) {
values.add("0");
return values;
}
@ -882,6 +972,7 @@ public class MesShippingKanbanCfgServiceImpl implements IMesShippingKanbanCfgSer
/**
*
*
* @param cfg
* @param cfgDetail
* @return
@ -890,6 +981,7 @@ public class MesShippingKanbanCfgServiceImpl implements IMesShippingKanbanCfgSer
List<String> values = new ArrayList<>();
List<String> strShippingGroupList = Arrays.asList(cfg.getShippingGroupCode().split(","));
if (CollectionUtils.isEmpty(strShippingGroupList) || StringUtils.isEmpty(cfg.getInterStartShift())) {
values.add("0");
return values;
}
@ -919,7 +1011,7 @@ public class MesShippingKanbanCfgServiceImpl implements IMesShippingKanbanCfgSer
.setParameter("organizeCode", cfg.getOrganizeCode())
.setParameter("isValid", CommonEnumUtil.VALID)
.setParameter("isDeleted", CommonEnumUtil.FALSE)
.setParameter("status", MesExtEnumUtil.LOADING_ORDER_STATUS.SHIPPING.getValue())
.setParameter("status", MesExtEnumUtil.MES_LOADING_STATUS.SCANNED.getValue())
.setParameter("startDateTime", startDateTime)
.setParameter("endDateTime", endDateTime)
.setParameter("shippingGroupCode", strShippingGroupList)
@ -942,6 +1034,7 @@ public class MesShippingKanbanCfgServiceImpl implements IMesShippingKanbanCfgSer
/**
* JPH
* 线0
* @param cfg
* @param cfgDetail
* @return
@ -950,6 +1043,7 @@ public class MesShippingKanbanCfgServiceImpl implements IMesShippingKanbanCfgSer
List<String> values = new ArrayList<>();
List<String> strShippingGroupList = Arrays.asList(cfg.getShippingGroupCode().split(","));
if (CollectionUtils.isEmpty(strShippingGroupList)) {
values.add("0");
return values;
}
@ -980,19 +1074,53 @@ public class MesShippingKanbanCfgServiceImpl implements IMesShippingKanbanCfgSer
/**
* JPH
* /线
* @param cfg
* @param cfgDetail
* @return
*/
private List<String> getProductJPH(MesShippingKanbanCfg cfg, MesShippingKanbanCfgDetail cfgDetail) {
List<String> values = new ArrayList<>();
List<String> strShippingGroupList = Arrays.asList(cfg.getShippingGroupCode().split(","));
if (CollectionUtils.isEmpty(strShippingGroupList)) {
List<MesPartShippingGroup> partShippingGroups = getShippingGroups(cfg);
if (CollectionUtils.isEmpty(partShippingGroups)) {
values.add("0");
return values;
}
Date nowTime = DateUtil.now();
Date prevHourTime = DateUtil.addMinutes(nowTime, -60);
StringBuilder hql = new StringBuilder();
hql.append("select new map(workCenterCode, count(1) as totalCount) from " + MesProductionRecord.class.getName());
hql.append(" where organizeCode = :organizeCode and isDeleted = :isDeleted and isValid = :isValid ");
hql.append(" and createDatetime BETWEEN :startDateTime AND :endDateTime ");
hql.append(" group by workCenterCode");
List<Map> ddd = entityManager.createQuery(hql.toString())
.setParameter("organizeCode", cfg.getOrganizeCode())
.setParameter("isValid", CommonEnumUtil.VALID)
.setParameter("isDeleted", CommonEnumUtil.FALSE)
.setParameter("startDateTime", DateUtil.formatDate(nowTime))
.setParameter("endDateTime", DateUtil.formatDate(prevHourTime))
.getResultList();
Map<String, String> shippingGroupCount = new HashMap<>();
if (!CollectionUtils.isEmpty(ddd)) {
for (Map dd : ddd) {
Object totalCount = dd.get("totalCount");
if (totalCount != null) {
shippingGroupCount.put(dd.get("workCenterCode").toString(), totalCount.toString());
}
}
}
for (MesPartShippingGroup shippingGroup : partShippingGroups) {
if (StringUtils.isEmpty(shippingGroup.getCarrierCode())) {
continue;
}
values.add(shippingGroupCount.getOrDefault(shippingGroup.getCarrierCode(), "0"));
}
if (values.isEmpty()) {
values.add("0");
}
return values;
}
}

Loading…
Cancel
Save