tags/yfai-mes-ext-v1.0
gsz 1 year ago
commit 149855d02b

@ -115,8 +115,7 @@ public class WmsSAPDbQuery {
*/ */
public String partName(String organizeCode, String partNo) throws Exception { public String partName(String organizeCode, String partNo) throws Exception {
String sqlString = "select part_name from mes_part where organize_code='" + organizeCode String sqlString = "select part_name from mes_part where organize_code='" + organizeCode
+ "' and part_no='" + partNo + "' and part_no='" + partNo + "'";
+ "' and is_deleted=2 and is_valid=1";
List<Map<String, Object>> result = mesDataSourceProxy.queryMapList(sqlString, srcConn); List<Map<String, Object>> result = mesDataSourceProxy.queryMapList(sqlString, srcConn);

@ -5,6 +5,7 @@ import cn.estsh.i3plus.mes.apiservice.schedulejob.BaseMesScheduleJob;
import cn.estsh.impp.framework.boot.init.ApplicationProperties; import cn.estsh.impp.framework.boot.init.ApplicationProperties;
import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.JSONObject;
import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
import org.quartz.DisallowConcurrentExecution; import org.quartz.DisallowConcurrentExecution;
import org.quartz.JobExecutionContext; import org.quartz.JobExecutionContext;
@ -28,6 +29,7 @@ import java.util.Map;
// 禁止 JOB 并发执行 // 禁止 JOB 并发执行
@DisallowConcurrentExecution @DisallowConcurrentExecution
@ApiOperation("缺陷告警配置job") @ApiOperation("缺陷告警配置job")
@Slf4j
public class MesDefectAlarmConfigJob extends BaseMesScheduleJob { public class MesDefectAlarmConfigJob extends BaseMesScheduleJob {
public static final Logger LOGGER = LoggerFactory.getLogger(MesDefectAlarmConfigJob.class); public static final Logger LOGGER = LoggerFactory.getLogger(MesDefectAlarmConfigJob.class);

@ -53,7 +53,7 @@ public abstract class BaseMesService<T extends BaseBean> implements IBaseMesServ
@Override @Override
public ListPager<T> queryPager(T bean, Pager pager) { public ListPager<T> queryPager(T bean, Pager pager) {
DdlPackBean packBean = DdlPackBean.getDdlPackBean(bean.getOrganizeCode(), bean.getIsValid()); DdlPackBean packBean = DdlPackBean.getDdlPackBean(bean.getOrganizeCode(), bean.getIsValid());
DdlPreparedPack.getOrderByPack(new Object[]{CommonEnumUtil.ASC_OR_DESC.DESC.getValue()}, new String[]{"createDatetime"}, packBean); DdlPreparedPack.getOrderBy(bean.getOrderByParam(), bean.getAscOrDesc(), packBean);
setPackQueryBean(bean, packBean); setPackQueryBean(bean, packBean);
pager = PagerHelper.getPager(pager, baseRDao.findByHqlWhereCount(packBean)); pager = PagerHelper.getPager(pager, baseRDao.findByHqlWhereCount(packBean));
List<T> list = baseRDao.findByHqlWherePage(packBean, pager); List<T> list = baseRDao.findByHqlWherePage(packBean, pager);

@ -52,6 +52,6 @@ public class MesCustomerMessagePointService extends BaseMesService<MesCustomerMe
} }
protected void setPackQueryBean(MesCustomerMessagePoint bean, DdlPackBean packBean) { protected void setPackQueryBean(MesCustomerMessagePoint bean, DdlPackBean packBean) {
DdlPreparedPack.getStringEqualPack(bean.getCustOrganizeCode(), "customerOrganizeCode", packBean); DdlPreparedPack.getStringEqualPack(bean.getCustOrganizeCode(), "custOrganizeCode", packBean);
} }
} }

@ -80,7 +80,7 @@ public class MesCustomerOriganzeService extends BaseMesService<MesCustomerOrigan
MesCustomerOriganze mesCustomerOriganze = baseRDao.getById(id); MesCustomerOriganze mesCustomerOriganze = baseRDao.getById(id);
//校验客户车型配置 //校验客户车型配置
DdlPackBean packBean = DdlPackBean.getDdlPackBean(mesCustomerOriganze.getOrganizeCode()); DdlPackBean packBean = DdlPackBean.getDdlPackBean(mesCustomerOriganze.getOrganizeCode());
DdlPreparedPack.getStringEqualPack(mesCustomerOriganze.getCustOrganizeCode(), "customerOrganizeCode", packBean); DdlPreparedPack.getStringEqualPack(mesCustomerOriganze.getCustOrganizeCode(), "custOrganizeCode", packBean);
if (mesCustomerCarModelRDao.isExitByHql(packBean)) { if (mesCustomerCarModelRDao.isExitByHql(packBean)) {
throw ImppExceptionBuilder.newInstance() throw ImppExceptionBuilder.newInstance()
.setSystemID(CommonEnumUtil.SOFT_TYPE.MES.getCode()) .setSystemID(CommonEnumUtil.SOFT_TYPE.MES.getCode())

@ -34,11 +34,10 @@ public class MesCustomerPartService extends BaseMesService<MesCustomerPart> impl
private MesCustomerCarModelDetailRepository mesCustomerCarModelDetailRDao; private MesCustomerCarModelDetailRepository mesCustomerCarModelDetailRDao;
protected void setPackQueryBean(MesCustomerPart bean, DdlPackBean packBean) { protected void setPackQueryBean(MesCustomerPart bean, DdlPackBean packBean) {
DdlPreparedPack.getStringEqualPack(bean.getCustPartNo(), "customerPartNo", packBean); DdlPreparedPack.getStringEqualPack(bean.getCustPartNo(), "custPartNo", packBean);
DdlPreparedPack.getStringLikerPack(bean.getErpPartNo(), "erpPartNo", packBean); DdlPreparedPack.getStringEqualPack(bean.getErpPartNo(), "erpPartNo", packBean);
DdlPreparedPack.getStringLikerPack(bean.getErpPartName(), "erpPartName", packBean); DdlPreparedPack.getStringLikerPack(bean.getErpPartName(), "erpPartName", packBean);
DdlPreparedPack.getStringLikerPack(bean.getCustCode(), "customerCode", packBean); DdlPreparedPack.getStringEqualPack(bean.getCustCode(), "custCode", packBean);
} }
protected void onInsertBean(MesCustomerPart item) { protected void onInsertBean(MesCustomerPart item) {
@ -48,9 +47,9 @@ public class MesCustomerPartService extends BaseMesService<MesCustomerPart> impl
ValidatorBean.checkNotNull(item.getCustPartNo(), "客户零件号不能为空"); ValidatorBean.checkNotNull(item.getCustPartNo(), "客户零件号不能为空");
DdlPackBean cellBinPackBean = DdlPackBean.getDdlPackBean(item.getOrganizeCode()); DdlPackBean cellBinPackBean = DdlPackBean.getDdlPackBean(item.getOrganizeCode());
DdlPreparedPack.getStringEqualPack(item.getCustCode(), "customerCode", cellBinPackBean); DdlPreparedPack.getStringEqualPack(item.getCustCode(), "custCode", cellBinPackBean);
DdlPreparedPack.getStringEqualPack(item.getErpPartNo(), "erpPartNo", cellBinPackBean); DdlPreparedPack.getStringEqualPack(item.getErpPartNo(), "erpPartNo", cellBinPackBean);
DdlPreparedPack.getStringEqualPack(item.getCustPartNo(), "customerPartNo", cellBinPackBean); DdlPreparedPack.getStringEqualPack(item.getCustPartNo(), "custPartNo", cellBinPackBean);
boolean flg = baseRDao.isExitByHql(cellBinPackBean); boolean flg = baseRDao.isExitByHql(cellBinPackBean);
if (flg) { if (flg) {
throw ImppExceptionBuilder.newInstance() throw ImppExceptionBuilder.newInstance()
@ -70,7 +69,7 @@ public class MesCustomerPartService extends BaseMesService<MesCustomerPart> impl
ValidatorBean.checkNotNull(item.getCustPartNo(), "客户零件号不能为空"); ValidatorBean.checkNotNull(item.getCustPartNo(), "客户零件号不能为空");
DdlPackBean cellBinPackBean = DdlPackBean.getDdlPackBean(item.getOrganizeCode()); DdlPackBean cellBinPackBean = DdlPackBean.getDdlPackBean(item.getOrganizeCode());
DdlPreparedPack.getStringEqualPack(item.getCustCode(), "customerCode", cellBinPackBean); DdlPreparedPack.getStringEqualPack(item.getCustCode(), "custCode", cellBinPackBean);
DdlPreparedPack.getStringEqualPack(item.getPartNo(), "partNo", cellBinPackBean); DdlPreparedPack.getStringEqualPack(item.getPartNo(), "partNo", cellBinPackBean);
DdlPreparedPack.getStringEqualPack(item.getCustPartNo(), "custPartNo", cellBinPackBean); DdlPreparedPack.getStringEqualPack(item.getCustPartNo(), "custPartNo", cellBinPackBean);
DdlPreparedPack.getNumNOEqualPack(item.getId(), "id", cellBinPackBean); DdlPreparedPack.getNumNOEqualPack(item.getId(), "id", cellBinPackBean);
@ -97,7 +96,7 @@ public class MesCustomerPartService extends BaseMesService<MesCustomerPart> impl
} }
List<String> customerPartNoList = mesCustomerCarModelDetails.stream().map(MesCustomerCarModelDetail::getCustomerPartNo).collect(Collectors.toList()); List<String> customerPartNoList = mesCustomerCarModelDetails.stream().map(MesCustomerCarModelDetail::getCustomerPartNo).collect(Collectors.toList());
ddlPackBean = DdlPackBean.getDdlPackBean(mesPartProdGroupDetail.getOrganizeCode()); ddlPackBean = DdlPackBean.getDdlPackBean(mesPartProdGroupDetail.getOrganizeCode());
DdlPreparedPack.getInPackList(customerPartNoList, "customerPartNo", ddlPackBean); DdlPreparedPack.getInPackList(customerPartNoList, "custPartNo", ddlPackBean);
return baseRDao.findByHqlWhere(ddlPackBean); return baseRDao.findByHqlWhere(ddlPackBean);
} }

@ -22,7 +22,7 @@ public class MesPartProdGroupDetailService extends BaseMesService<MesPartProdGro
DdlPreparedPack.getStringEqualPack(bean.getPartProdGroupCode(), "partProdGroupCode", packBean); DdlPreparedPack.getStringEqualPack(bean.getPartProdGroupCode(), "partProdGroupCode", packBean);
DdlPreparedPack.getStringEqualPack(bean.getPartNo(), "partNo", packBean); DdlPreparedPack.getStringEqualPack(bean.getPartNo(), "partNo", packBean);
DdlPreparedPack.getStringEqualPack(bean.getWorkCellCode(), "workCellCode", packBean); DdlPreparedPack.getStringEqualPack(bean.getWorkCellCode(), "workCellCode", packBean);
DdlPreparedPack.getStringEqualPack(bean.getCustomerPartNo(), "customerPartNo", packBean); DdlPreparedPack.getStringEqualPack(bean.getCustPartNo(), "custPartNo", packBean);
} }

@ -50,7 +50,7 @@ public class MesPartProdGroupService extends BaseMesService<MesPartProdGroup> im
DdlPreparedPack.getStringEqualPack(bean.getPartProdGroupCode(), "partProdGroupCode", packBean); DdlPreparedPack.getStringEqualPack(bean.getPartProdGroupCode(), "partProdGroupCode", packBean);
DdlPreparedPack.getStringLikerPack(bean.getPartProdGroupName(), "partProdGroupName", packBean); DdlPreparedPack.getStringLikerPack(bean.getPartProdGroupName(), "partProdGroupName", packBean);
DdlPreparedPack.getStringEqualPack(bean.getWorkCenterCode(), "workCenterCode", packBean); DdlPreparedPack.getStringEqualPack(bean.getWorkCenterCode(), "workCenterCode", packBean);
DdlPreparedPack.getStringEqualPack(bean.getCustCode(), "custCode", packBean);
} }
@Override @Override
@ -74,7 +74,7 @@ public class MesPartProdGroupService extends BaseMesService<MesPartProdGroup> im
throw ImppExceptionBuilder.newInstance() throw ImppExceptionBuilder.newInstance()
.setSystemID(CommonEnumUtil.SOFT_TYPE.MES.getCode()) .setSystemID(CommonEnumUtil.SOFT_TYPE.MES.getCode())
.setErrorCode(ImppExceptionEnum.VARIFY_EXCEPTION.getCode()) .setErrorCode(ImppExceptionEnum.VARIFY_EXCEPTION.getCode())
.setErrorDetail("【%s】零件生产组代码已经存在请检查数据", item.getPartProdGroupCode(), item.getCustomerCode()) .setErrorDetail("【%s】零件生产组代码已经存在请检查数据", item.getPartProdGroupCode())
.build(); .build();
} }
@ -93,7 +93,7 @@ public class MesPartProdGroupService extends BaseMesService<MesPartProdGroup> im
throw ImppExceptionBuilder.newInstance() throw ImppExceptionBuilder.newInstance()
.setSystemID(CommonEnumUtil.SOFT_TYPE.MES.getCode()) .setSystemID(CommonEnumUtil.SOFT_TYPE.MES.getCode())
.setErrorCode(ImppExceptionEnum.VARIFY_EXCEPTION.getCode()) .setErrorCode(ImppExceptionEnum.VARIFY_EXCEPTION.getCode())
.setErrorDetail("【%s】零件生产组代码已经存在请检查数据", item.getPartProdGroupCode(), item.getCustomerCode()) .setErrorDetail("【%s】零件生产组代码已经存在请检查数据", item.getPartProdGroupCode())
.build(); .build();
} }
} }

@ -30,6 +30,8 @@ public class MesShiftGroupCenterCfgService extends BaseMesService<MesShiftGroupC
protected void setPackQueryBean(MesShiftGroupCenterCfg bean, DdlPackBean packBean) { protected void setPackQueryBean(MesShiftGroupCenterCfg bean, DdlPackBean packBean) {
DdlPreparedPack.getStringEqualPack(bean.getShiftGroup(), "shiftGroup", packBean); DdlPreparedPack.getStringEqualPack(bean.getShiftGroup(), "shiftGroup", packBean);
DdlPreparedPack.getStringLikerPack(bean.getShiftGroupName(), "shiftGroupName", packBean); DdlPreparedPack.getStringLikerPack(bean.getShiftGroupName(), "shiftGroupName", packBean);
DdlPreparedPack.getStringEqualPack(bean.getWorkCenterCode(), "workCenterCode", packBean);
DdlPreparedPack.getStringLikerPack(bean.getWorkCenterName(), "workCenterName", packBean);
} }

@ -12,6 +12,8 @@ import cn.estsh.impp.framework.boot.util.ValidatorBean;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import java.time.LocalTime;
import java.time.temporal.ChronoUnit;
import java.util.List; import java.util.List;
@Service @Service
@ -44,10 +46,10 @@ public class MesShiftService extends BaseMesService<MesShift> implements IMesShi
DdlPreparedPack.getStringEqualPack(item.getAreaCode(), "areaCode", cellBinPackBean); DdlPreparedPack.getStringEqualPack(item.getAreaCode(), "areaCode", cellBinPackBean);
DdlPreparedPack.getStringEqualPack(item.getShiftCode(), "shiftCode", cellBinPackBean); DdlPreparedPack.getStringEqualPack(item.getShiftCode(), "shiftCode", cellBinPackBean);
DdlPreparedPack.getStringEqualPack(item.getWorkCenterCode(), "workCenterCode", cellBinPackBean); DdlPreparedPack.getStringEqualPack(item.getWorkCenterCode(), "workCenterCode", cellBinPackBean);
cellBinPackBean.setWhereAppend(cellBinPackBean.getWhereAppend()+" " + cellBinPackBean.setWhereAppend(cellBinPackBean.getWhereAppend() + " " +
" and ((model.beginDate <= '"+item.getBeginDate()+"' and model.endDate >= '"+item.getBeginDate()+"')"+ " and ((model.beginDate <= '" + item.getBeginDate() + "' and model.endDate >= '" + item.getBeginDate() + "')" +
" or (model.beginDate <= '"+item.getEndDate()+"' and model.endDate >= '"+item.getEndDate()+"')" + " or (model.beginDate <= '" + item.getEndDate() + "' and model.endDate >= '" + item.getEndDate() + "')" +
" or (model.beginDate >= '"+item.getBeginDate()+"' and model.endDate <= '"+item.getEndDate()+"'))" ); " or (model.beginDate >= '" + item.getBeginDate() + "' and model.endDate <= '" + item.getEndDate() + "'))");
boolean flg = baseRDao.isExitByHql(cellBinPackBean); boolean flg = baseRDao.isExitByHql(cellBinPackBean);
if (flg) { if (flg) {
throw ImppExceptionBuilder.newInstance() throw ImppExceptionBuilder.newInstance()
@ -56,9 +58,12 @@ public class MesShiftService extends BaseMesService<MesShift> implements IMesShi
.setErrorDetail("【%s】区域【%s】产线【%s】班次代码生效时间内已经存在有效数据请检查数据", item.getAreaCode(), item.getWorkCenterCode(), item.getShiftCode()) .setErrorDetail("【%s】区域【%s】产线【%s】班次代码生效时间内已经存在有效数据请检查数据", item.getAreaCode(), item.getWorkCenterCode(), item.getShiftCode())
.build(); .build();
} }
//计算工时
item.setWorkTimes(houresBetweenTwoTime(item.getStartTime().split(":"),item.getEndTime().split(":")));
} }
protected void onUpdateBean(MesShift item) { protected void onUpdateBean(MesShift item) {
// 数据校验 // 数据校验
@ -77,10 +82,10 @@ public class MesShiftService extends BaseMesService<MesShift> implements IMesShi
DdlPreparedPack.getStringEqualPack(item.getAreaCode(), "areaCode", cellBinPackBean); DdlPreparedPack.getStringEqualPack(item.getAreaCode(), "areaCode", cellBinPackBean);
DdlPreparedPack.getStringEqualPack(item.getShiftCode(), "shiftCode", cellBinPackBean); DdlPreparedPack.getStringEqualPack(item.getShiftCode(), "shiftCode", cellBinPackBean);
DdlPreparedPack.getStringEqualPack(item.getWorkCenterCode(), "workCenterCode", cellBinPackBean); DdlPreparedPack.getStringEqualPack(item.getWorkCenterCode(), "workCenterCode", cellBinPackBean);
cellBinPackBean.setWhereAppend(cellBinPackBean.getWhereAppend()+" " + cellBinPackBean.setWhereAppend(cellBinPackBean.getWhereAppend() + " " +
" and ((model.beginDate <= '"+item.getBeginDate()+"' and model.endDate >= '"+item.getBeginDate()+"')"+ " and ((model.beginDate <= '" + item.getBeginDate() + "' and model.endDate >= '" + item.getBeginDate() + "')" +
" or (model.beginDate <= '"+item.getEndDate()+"' and model.endDate >= '"+item.getEndDate()+"')" + " or (model.beginDate <= '" + item.getEndDate() + "' and model.endDate >= '" + item.getEndDate() + "')" +
" or (model.beginDate >= '"+item.getBeginDate()+"' and model.endDate <= '"+item.getEndDate()+"'))" ); " or (model.beginDate >= '" + item.getBeginDate() + "' and model.endDate <= '" + item.getEndDate() + "'))");
DdlPreparedPack.getNumNOEqualPack(item.getId(), "id", cellBinPackBean); DdlPreparedPack.getNumNOEqualPack(item.getId(), "id", cellBinPackBean);
boolean flg = baseRDao.isExitByHql(cellBinPackBean); boolean flg = baseRDao.isExitByHql(cellBinPackBean);
if (flg) { if (flg) {
@ -90,6 +95,8 @@ public class MesShiftService extends BaseMesService<MesShift> implements IMesShi
.setErrorDetail("【%s】区域【%s】产线【%s】班次代码生效时间内已经存在有效数据请检查数据", item.getAreaCode(), item.getWorkCenterCode(), item.getShiftCode()) .setErrorDetail("【%s】区域【%s】产线【%s】班次代码生效时间内已经存在有效数据请检查数据", item.getAreaCode(), item.getWorkCenterCode(), item.getShiftCode())
.build(); .build();
} }
//计算工时
item.setWorkTimes(houresBetweenTwoTime(item.getStartTime().split(":"),item.getEndTime().split(":")));
} }
@Override @Override
@ -100,8 +107,29 @@ public class MesShiftService extends BaseMesService<MesShift> implements IMesShi
DdlPreparedPack.getStringEqualPack(mesShift.getShiftCode(), "shiftCode", packBean); DdlPreparedPack.getStringEqualPack(mesShift.getShiftCode(), "shiftCode", packBean);
DdlPreparedPack.getStringEqualPack(mesShift.getWorkCenterCode(), "workCenterCode", packBean); DdlPreparedPack.getStringEqualPack(mesShift.getWorkCenterCode(), "workCenterCode", packBean);
DdlPreparedPack.getStringLikerPack(mesShift.getShiftName(), "shiftName", packBean); DdlPreparedPack.getStringLikerPack(mesShift.getShiftName(), "shiftName", packBean);
DdlPreparedPack.getStringSmallerPack(nowDate,"beginDate",packBean); DdlPreparedPack.getStringSmallerPack(nowDate, "beginDate", packBean);
DdlPreparedPack.getStringBiggerPack(nowDate,"endDate",packBean); DdlPreparedPack.getStringBiggerPack(nowDate, "endDate", packBean);
return baseRDao.findByHqlWhere(packBean); return baseRDao.findByHqlWhere(packBean);
} }
public double houresBetweenTwoTime(String[] start, String[] end) {
// 定义起始时间和结束时间
LocalTime startTime = LocalTime.of(Integer.parseInt(start[0]), Integer.parseInt(start[1]), Integer.parseInt(start[2]));
LocalTime endTime = LocalTime.of(Integer.parseInt(end[0]), Integer.parseInt(end[1]), Integer.parseInt(end[2]));
// 计算时间间隔
long hoursDifference = ChronoUnit.HOURS.between(startTime, endTime);
// 由于时间跨越了午夜,我们需要手动计算实际的小时差
if (endTime.isBefore(startTime)) {
// 计算从开始时间到午夜的小时数
long hoursToMidnight = ChronoUnit.HOURS.between(startTime, LocalTime.MAX);
// 计算从午夜到结束时间的小时数
long hoursFromMidnight = ChronoUnit.HOURS.between(LocalTime.MIN, endTime);
// 将两部分小时数相加
hoursDifference = hoursToMidnight + hoursFromMidnight + 1;
}
return (double) hoursDifference;
}
} }

@ -7,6 +7,7 @@ import cn.estsh.i3plus.pojo.base.bean.DdlPackBean;
import cn.estsh.i3plus.pojo.base.bean.ListPager; import cn.estsh.i3plus.pojo.base.bean.ListPager;
import cn.estsh.i3plus.pojo.base.common.Pager; import cn.estsh.i3plus.pojo.base.common.Pager;
import cn.estsh.i3plus.pojo.base.common.PagerHelper; import cn.estsh.i3plus.pojo.base.common.PagerHelper;
import cn.estsh.i3plus.pojo.base.enumutil.CommonEnumUtil;
import cn.estsh.i3plus.pojo.base.tool.DdlPreparedPack; import cn.estsh.i3plus.pojo.base.tool.DdlPreparedPack;
import cn.estsh.i3plus.pojo.mes.bean.shipping.MesShippingOrderManagementDetail; import cn.estsh.i3plus.pojo.mes.bean.shipping.MesShippingOrderManagementDetail;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
@ -26,6 +27,7 @@ public class MesShippingOrderManagementDetailService extends BaseMesService<MesS
DdlPreparedPack.getNumEqualPack(bean.getPid(), "pid", packBean); DdlPreparedPack.getNumEqualPack(bean.getPid(), "pid", packBean);
DdlPreparedPack.getStringEqualPack(bean.getPartNo(), "partNo", packBean); DdlPreparedPack.getStringEqualPack(bean.getPartNo(), "partNo", packBean);
DdlPreparedPack.getStringEqualPack(bean.getCustOrderNo(), "custOrderNo", packBean); DdlPreparedPack.getStringEqualPack(bean.getCustOrderNo(), "custOrderNo", packBean);
DdlPreparedPack.getOrderByPack(new Object[]{CommonEnumUtil.ASC_OR_DESC.DESC.getValue()}, new String[]{"custInfoSeq"}, packBean);
} }
public ListPager<MesShippingOrderManagementDetailModel> queryDetailGroupByPartNo(MesShippingOrderManagementDetail bean, Pager pager) { public ListPager<MesShippingOrderManagementDetailModel> queryDetailGroupByPartNo(MesShippingOrderManagementDetail bean, Pager pager) {

@ -1,6 +1,9 @@
package cn.estsh.i3plus.ext.mes.apiservice.serviceimpl.base; package cn.estsh.i3plus.ext.mes.apiservice.serviceimpl.base;
import cn.estsh.i3plus.ext.mes.api.base.IMesWorkCellExtendCfgService; import cn.estsh.i3plus.ext.mes.api.base.IMesWorkCellExtendCfgService;
import cn.estsh.i3plus.ext.mes.apiservice.unit.exception.MesException;
import cn.estsh.i3plus.pojo.base.bean.DdlPackBean;
import cn.estsh.i3plus.pojo.base.tool.DdlPreparedPack;
import cn.estsh.i3plus.pojo.mes.bean.MesWorkCellExtendCfg; import cn.estsh.i3plus.pojo.mes.bean.MesWorkCellExtendCfg;
import cn.estsh.impp.framework.boot.util.ValidatorBean; import cn.estsh.impp.framework.boot.util.ValidatorBean;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
@ -11,12 +14,27 @@ import org.springframework.stereotype.Service;
public class MesWorkCellExtendCfgService extends BaseMesService<MesWorkCellExtendCfg> implements IMesWorkCellExtendCfgService { public class MesWorkCellExtendCfgService extends BaseMesService<MesWorkCellExtendCfg> implements IMesWorkCellExtendCfgService {
@Override
protected void setPackQueryBean(MesWorkCellExtendCfg bean, DdlPackBean packBean) {
DdlPreparedPack.getStringEqualPack(bean.getWorkCellCode(), "workCellCode", packBean);
DdlPreparedPack.getStringEqualPack(bean.getWorkCenterCode(), "workCenterCode", packBean);
}
protected void onInsertBean(MesWorkCellExtendCfg item) { protected void onInsertBean(MesWorkCellExtendCfg item) {
// 数据校验 // 数据校验
ValidatorBean.checkNotNull(item.getWorkCenterCode(), "产线不能为空"); ValidatorBean.checkNotNull(item.getWorkCenterCode(), "产线不能为空");
ValidatorBean.checkNotNull(item.getWorkCellCode(), "主工位不能为空"); ValidatorBean.checkNotNull(item.getWorkCellCode(), "主工位不能为空");
ValidatorBean.checkNotNull(item.getWorkCellCodeBak(), "子工位不能为空"); ValidatorBean.checkNotNull(item.getWorkCellCodeBak(), "子工位不能为空");
DdlPackBean partPackBean = DdlPackBean.getDdlPackBean(item.getOrganizeCode());
DdlPreparedPack.getStringEqualPack(item.getWorkCenterCode(), "workCenterCode", partPackBean);
DdlPreparedPack.getStringEqualPack(item.getWorkCellCode(), "workCellCode", partPackBean);
DdlPreparedPack.getStringEqualPack(item.getWorkCellCodeBak(), "workCellCodeBak", partPackBean);
if (baseRDao.isExitByHql(partPackBean)) {
MesException.throwMesBusiException("工作中心【%s】主工位【%s】子工位【%s】数据界已经存在请检查数据",
item.getWorkCenterCode(),item.getWorkCellCode(),item.getWorkCellCodeBak());
}
} }
protected void onUpdateBean(MesWorkCellExtendCfg item) { protected void onUpdateBean(MesWorkCellExtendCfg item) {
@ -24,6 +42,16 @@ public class MesWorkCellExtendCfgService extends BaseMesService<MesWorkCellExten
ValidatorBean.checkNotNull(item.getWorkCenterCode(), "产线不能为空"); ValidatorBean.checkNotNull(item.getWorkCenterCode(), "产线不能为空");
ValidatorBean.checkNotNull(item.getWorkCellCode(), "主工位不能为空"); ValidatorBean.checkNotNull(item.getWorkCellCode(), "主工位不能为空");
ValidatorBean.checkNotNull(item.getWorkCellCodeBak(), "子工位不能为空"); ValidatorBean.checkNotNull(item.getWorkCellCodeBak(), "子工位不能为空");
DdlPackBean partPackBean = DdlPackBean.getDdlPackBean(item.getOrganizeCode());
DdlPreparedPack.getStringEqualPack(item.getWorkCenterCode(), "workCenterCode", partPackBean);
DdlPreparedPack.getStringEqualPack(item.getWorkCellCode(), "workCellCode", partPackBean);
DdlPreparedPack.getStringEqualPack(item.getWorkCellCodeBak(), "workCellCodeBak", partPackBean);
DdlPreparedPack.getNumNOEqualPack(item.getId(), "id", partPackBean);
if (baseRDao.isExitByHql(partPackBean)) {
MesException.throwMesBusiException("工作中心【%s】主工位【%s】子工位【%s】数据界已经存在请检查数据",
item.getWorkCenterCode(),item.getWorkCellCode(),item.getWorkCellCodeBak());
}
} }
} }

@ -139,67 +139,67 @@ public class MesWorkOrderService extends BaseMesService<MesWorkOrder> implements
} }
private void saveMesProductPlan(MesWorkOrder bean, boolean isInsert, boolean isReport) { private void saveMesProductPlan(MesWorkOrder bean, boolean isInsert, boolean isReport) {
if (StringUtil.isEmpty(bean.getPlanOrderNo())) { // if (StringUtil.isEmpty(bean.getPlanOrderNo())) {
DdlPackBean ddlPackBean = DdlPackBean.getDdlPackBean(bean.getOrganizeCode()); // DdlPackBean ddlPackBean = DdlPackBean.getDdlPackBean(bean.getOrganizeCode());
DdlPreparedPack.getStringEqualPack(bean.getPartNo(), "planPartNo", ddlPackBean); // DdlPreparedPack.getStringEqualPack(bean.getPartNo(), "planPartNo", ddlPackBean);
DdlPreparedPack.getStringEqualPack(bean.getPlanStartTime(), "planStartDate", ddlPackBean); // DdlPreparedPack.getStringEqualPack(bean.getPlanStartTime(), "planStartDate", ddlPackBean);
DdlPreparedPack.getStringEqualPack(bean.getPlanEndTime(), "planEndDate", ddlPackBean); // DdlPreparedPack.getStringEqualPack(bean.getPlanEndTime(), "planEndDate", ddlPackBean);
MesProductPlan mesProductPlan = mesProductPlanRDao.getByProperty(ddlPackBean); // MesProductPlan mesProductPlan = mesProductPlanRDao.getByProperty(ddlPackBean);
if (null == mesProductPlan) { // if (null == mesProductPlan) {
MesProductPlan mesPlanOrder = new MesProductPlan(); // MesProductPlan mesPlanOrder = new MesProductPlan();
mesPlanOrder.setPlanOrderNo(""); // mesPlanOrder.setPlanOrderNo("");
mesPlanOrder.setPlanQty(bean.getQty()); // mesPlanOrder.setPlanQty(bean.getQty());
mesPlanOrder.setPlanPartNo(bean.getPartNo()); // mesPlanOrder.setPlanPartNo(bean.getPartNo());
mesPlanOrder.setCompleteQty(0d); // mesPlanOrder.setCompleteQty(0d);
mesPlanOrder.setUncompleteQty(bean.getQty()); // mesPlanOrder.setUncompleteQty(bean.getQty());
mesPlanOrder.setUnit(bean.getUnit()); // mesPlanOrder.setUnit(bean.getUnit());
mesPlanOrder.setPlanStartDate(bean.getPlanStartTime()); // mesPlanOrder.setPlanStartDate(bean.getPlanStartTime());
mesPlanOrder.setPlanEndDate(bean.getPlanEndTime()); // mesPlanOrder.setPlanEndDate(bean.getPlanEndTime());
mesPlanOrder.setPartMappingWorkCenterCode(bean.getErpWorkCenter()); // mesPlanOrder.setPartMappingWorkCenterCode(bean.getErpWorkCenter());
mesPlanOrder.setPlanOrganizeCode(bean.getOrganizeCode()); // mesPlanOrder.setPlanOrganizeCode(bean.getOrganizeCode());
mesPlanOrder.setOrganizeCode(bean.getOrganizeCode()); // mesPlanOrder.setOrganizeCode(bean.getOrganizeCode());
ConvertBean.serviceModelInitialize(mesPlanOrder, bean.getCreateUser()); // ConvertBean.serviceModelInitialize(mesPlanOrder, bean.getCreateUser());
mesProductPlanRDao.insert(mesPlanOrder); // mesProductPlanRDao.insert(mesPlanOrder);
} else { // } else {
if (isInsert) { // if (isInsert) {
mesProductPlan.setPlanQty(MathOperation.add(mesProductPlan.getPlanQty(), bean.getQty())); // mesProductPlan.setPlanQty(MathOperation.add(mesProductPlan.getPlanQty(), bean.getQty()));
} else { // } else {
//报工 // //报工
if (isReport) { // if (isReport) {
mesProductPlan.setCompleteQty(MathOperation.add(mesProductPlan.getCompleteQty(), bean.getNum())); // mesProductPlan.setCompleteQty(MathOperation.add(mesProductPlan.getCompleteQty(), bean.getNum()));
//报工调整 // //报工调整
} else { // } else {
mesProductPlan.setCompleteQty(MathOperation.sub(mesProductPlan.getCompleteQty(), bean.getNum())); // mesProductPlan.setCompleteQty(MathOperation.sub(mesProductPlan.getCompleteQty(), bean.getNum()));
} // }
} // }
mesProductPlan.setUncompleteQty(MathOperation.sub(mesProductPlan.getPlanQty(), mesProductPlan.getCompleteQty())); // mesProductPlan.setUncompleteQty(MathOperation.sub(mesProductPlan.getPlanQty(), mesProductPlan.getCompleteQty()));
ConvertBean.serviceModelUpdate(mesProductPlan, bean.getCreateUser()); // ConvertBean.serviceModelUpdate(mesProductPlan, bean.getCreateUser());
mesProductPlanRDao.update(mesProductPlan); // mesProductPlanRDao.update(mesProductPlan);
} // }
} else { // } else {
DdlPackBean ddlPackBean = DdlPackBean.getDdlPackBean(bean.getOrganizeCode()); // DdlPackBean ddlPackBean = DdlPackBean.getDdlPackBean(bean.getOrganizeCode());
DdlPreparedPack.getStringEqualPack(bean.getPlanOrderNo(), "planOrderNo", ddlPackBean); // DdlPreparedPack.getStringEqualPack(bean.getPlanOrderNo(), "planOrderNo", ddlPackBean);
DdlPreparedPack.getStringEqualPack(bean.getPartNo(), "planPartNo", ddlPackBean); // DdlPreparedPack.getStringEqualPack(bean.getPartNo(), "planPartNo", ddlPackBean);
MesProductPlan mesProductPlan = mesProductPlanRDao.getByProperty(ddlPackBean); // MesProductPlan mesProductPlan = mesProductPlanRDao.getByProperty(ddlPackBean);
if (null == mesProductPlan) { // if (null == mesProductPlan) {
MesException.throwMesBusiException("SAP计划单号【%s】物料【%s】,不存在", bean.getPlanOrderNo(), bean.getPartNo()); // MesException.throwMesBusiException("SAP计划单号【%s】物料【%s】,不存在", bean.getPlanOrderNo(), bean.getPartNo());
} // }
if (!isInsert) { // if (!isInsert) {
if (Objects.isNull(mesProductPlan.getCompleteQty())) { // if (Objects.isNull(mesProductPlan.getCompleteQty())) {
mesProductPlan.setCompleteQty(0d); // mesProductPlan.setCompleteQty(0d);
} // }
//报工 // //报工
if (isReport) { // if (isReport) {
mesProductPlan.setCompleteQty(MathOperation.add(mesProductPlan.getCompleteQty(), bean.getNum())); // mesProductPlan.setCompleteQty(MathOperation.add(mesProductPlan.getCompleteQty(), bean.getNum()));
//报工调整 // //报工调整
} else { // } else {
mesProductPlan.setCompleteQty(MathOperation.sub(mesProductPlan.getCompleteQty(), bean.getNum())); // mesProductPlan.setCompleteQty(MathOperation.sub(mesProductPlan.getCompleteQty(), bean.getNum()));
} // }
mesProductPlan.setUncompleteQty(MathOperation.sub(mesProductPlan.getPlanQty(), mesProductPlan.getCompleteQty())); // mesProductPlan.setUncompleteQty(MathOperation.sub(mesProductPlan.getPlanQty(), mesProductPlan.getCompleteQty()));
ConvertBean.serviceModelUpdate(mesProductPlan, bean.getCreateUser()); // ConvertBean.serviceModelUpdate(mesProductPlan, bean.getCreateUser());
mesProductPlanRDao.update(mesProductPlan); // mesProductPlanRDao.update(mesProductPlan);
} // }
} // }
} }
@Override @Override

@ -95,7 +95,7 @@ public class MesCustomerCarModelExcelService implements IExcelImportService {
// 查询客户零件关系 // 查询客户零件关系
Map<String, Object> customerPartMap; Map<String, Object> customerPartMap;
try { try {
customerPartMap = MesCommonUtil.getCodeEntityMap(customerPartRepository, "customerPartNo", organizeCode, "客户零件关系表"); customerPartMap = MesCommonUtil.getCodeEntityMap(customerPartRepository, "custPartNo", organizeCode, "客户零件关系表");
} catch (Exception e) { } catch (Exception e) {
customerPartMap = null; customerPartMap = null;
} }

Loading…
Cancel
Save