Merge remote-tracking branch 'origin/dev' into dev

tags/yfai-mes-ext-v1.0
jun 12 months ago
commit f62bd6c249

@ -1,13 +1,13 @@
package cn.estsh.i3plus.ext.mes.api.base; package cn.estsh.i3plus.ext.mes.api.base;
import cn.estsh.i3plus.pojo.mes.bean.MesDefectAlarmConfig; import cn.estsh.i3plus.pojo.mes.bean.MesDefectWarnConfig;
/** /**
* @Description: * @Description:
* @CreateDate 2024/04/16 * @CreateDate 2024/04/16
* @Author mingliang.li * @Author mingliang.li
*/ */
public interface IMesDefectAlarmConfigService extends IBaseMesService<MesDefectAlarmConfig> { public interface IMesDefectAlarmConfigService extends IBaseMesService<MesDefectWarnConfig> {
public void saveDefectAlarmConfigByJob(String org); public void saveDefectAlarmConfigByJob(String org);

@ -1,13 +0,0 @@
package cn.estsh.i3plus.ext.mes.api.base;
import cn.estsh.i3plus.pojo.mes.bean.MesDefect;
/**
* @Description:
* @CreateDate 2024/04/16
* @Author mingliang.li
*/
public interface IMesDefectService extends IBaseMesService<MesDefect> {
}

@ -0,0 +1,13 @@
package cn.estsh.i3plus.ext.mes.api.base;
import cn.estsh.i3plus.pojo.mes.bean.MesDefectType;
/**
* @Description:
* @CreateDate 2024/04/16
* @Author mingliang.li
*/
public interface IMesDefectTypeService extends IBaseMesService<MesDefectType> {
}

@ -1,6 +1,5 @@
package cn.estsh.i3plus.ext.mes.api.base; package cn.estsh.i3plus.ext.mes.api.base;
import cn.estsh.i3plus.pojo.mes.bean.MesDefectAlarmConfig;
import cn.estsh.i3plus.pojo.mes.bean.MesItemPartErrorPrevention; import cn.estsh.i3plus.pojo.mes.bean.MesItemPartErrorPrevention;
/** /**

@ -1,7 +1,12 @@
package cn.estsh.i3plus.ext.mes.api.base; package cn.estsh.i3plus.ext.mes.api.base;
import cn.estsh.i3plus.ext.mes.pojo.model.MesShippingOrderManagementDetailModel;
import cn.estsh.i3plus.pojo.base.bean.ListPager;
import cn.estsh.i3plus.pojo.base.common.Pager;
import cn.estsh.i3plus.pojo.mes.bean.MesShippingOrderManagementDetail; import cn.estsh.i3plus.pojo.mes.bean.MesShippingOrderManagementDetail;
import java.util.List;
/** /**
* @Description: * @Description:
* @CreateDate 2024/04/16 * @CreateDate 2024/04/16
@ -10,4 +15,6 @@ import cn.estsh.i3plus.pojo.mes.bean.MesShippingOrderManagementDetail;
public interface IMesShippingOrderManagementDetailService extends IBaseMesService<MesShippingOrderManagementDetail> { public interface IMesShippingOrderManagementDetailService extends IBaseMesService<MesShippingOrderManagementDetail> {
public ListPager<MesShippingOrderManagementDetailModel> queryDetailGroupByPartNo(MesShippingOrderManagementDetail bean, Pager pager);
} }

@ -1,7 +1,7 @@
package cn.estsh.i3plus.ext.mes.apiservice.controller.base; package cn.estsh.i3plus.ext.mes.apiservice.controller.base;
import cn.estsh.i3plus.ext.mes.pojo.constant.MesCommonConstant; import cn.estsh.i3plus.ext.mes.pojo.constant.MesCommonConstant;
import cn.estsh.i3plus.pojo.mes.bean.MesDefect; import cn.estsh.i3plus.pojo.mes.bean.MesDefectType;
import io.swagger.annotations.Api; import io.swagger.annotations.Api;
import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController; import org.springframework.web.bind.annotation.RestController;
@ -12,5 +12,5 @@ import org.springframework.web.bind.annotation.RestController;
@Api("缺陷类型") @Api("缺陷类型")
@RestController @RestController
@RequestMapping(MesCommonConstant.MES_YANFEN + "/mesDefect") @RequestMapping(MesCommonConstant.MES_YANFEN + "/mesDefect")
public class MesDefectController extends BaseMesController<MesDefect> { public class MesDefectTypeController extends BaseMesController<MesDefectType> {
} }

@ -1,15 +1,14 @@
package cn.estsh.i3plus.ext.mes.apiservice.controller.base; package cn.estsh.i3plus.ext.mes.apiservice.controller.base;
import cn.estsh.i3plus.ext.mes.pojo.constant.MesCommonConstant; import cn.estsh.i3plus.ext.mes.pojo.constant.MesCommonConstant;
import cn.estsh.i3plus.pojo.mes.bean.MesDefectAlarmConfig; import cn.estsh.i3plus.pojo.mes.bean.MesDefectWarnConfig;
import cn.estsh.i3plus.pojo.mes.bean.MesWorkCell;
import io.swagger.annotations.Api; import io.swagger.annotations.Api;
import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController; import org.springframework.web.bind.annotation.RestController;
@Api(description = "缺陷告警配置") @Api(description = "缺陷告警配置")
@RestController @RestController
@RequestMapping(MesCommonConstant.MES_YANFEN + "/mesDefectAlarmConfig") @RequestMapping(MesCommonConstant.MES_YANFEN + "/mesDefectWarnConfig")
public class MesDefectAlarmConfigController extends BaseMesController<MesDefectAlarmConfig>{ public class MesDefectWarnConfigController extends BaseMesController<MesDefectWarnConfig> {
} }

@ -1,7 +1,6 @@
package cn.estsh.i3plus.ext.mes.apiservice.controller.base; package cn.estsh.i3plus.ext.mes.apiservice.controller.base;
import cn.estsh.i3plus.ext.mes.pojo.constant.MesCommonConstant; import cn.estsh.i3plus.ext.mes.pojo.constant.MesCommonConstant;
import cn.estsh.i3plus.pojo.mes.bean.MesDefectAlarmConfig;
import cn.estsh.i3plus.pojo.mes.bean.MesItemPartErrorPrevention; import cn.estsh.i3plus.pojo.mes.bean.MesItemPartErrorPrevention;
import io.swagger.annotations.Api; import io.swagger.annotations.Api;
import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMapping;

@ -1,9 +1,18 @@
package cn.estsh.i3plus.ext.mes.apiservice.controller.base; package cn.estsh.i3plus.ext.mes.apiservice.controller.base;
import cn.estsh.i3plus.ext.mes.api.base.IMesShippingOrderManagementDetailService;
import cn.estsh.i3plus.ext.mes.pojo.constant.MesCommonConstant; import cn.estsh.i3plus.ext.mes.pojo.constant.MesCommonConstant;
import cn.estsh.i3plus.pojo.mes.bean.MesShippingOrderManagement; import cn.estsh.i3plus.pojo.base.common.Pager;
import cn.estsh.i3plus.pojo.base.enumutil.ResourceEnumUtil;
import cn.estsh.i3plus.pojo.mes.bean.MesShippingOrderManagementDetail; import cn.estsh.i3plus.pojo.mes.bean.MesShippingOrderManagementDetail;
import cn.estsh.impp.framework.boot.auth.AuthUtil;
import cn.estsh.impp.framework.boot.exception.ImppBusiException;
import cn.estsh.impp.framework.boot.exception.ImppExceptionBuilder;
import cn.estsh.impp.framework.boot.util.ResultBean;
import io.swagger.annotations.Api; import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController; import org.springframework.web.bind.annotation.RestController;
@ -11,5 +20,24 @@ import org.springframework.web.bind.annotation.RestController;
@RestController @RestController
@RequestMapping(MesCommonConstant.MES_YANFEN + "/mesShippingOrderManagementDetail") @RequestMapping(MesCommonConstant.MES_YANFEN + "/mesShippingOrderManagementDetail")
public class MesShippingOrderManagementDetailController extends BaseMesController<MesShippingOrderManagementDetail>{ public class MesShippingOrderManagementDetailController extends BaseMesController<MesShippingOrderManagementDetail> {
@Autowired
private IMesShippingOrderManagementDetailService shippingOrderManagementDetailService;
@PostMapping(value = "/query-group")
@ApiOperation(value = "发运单管理明细-根据零件汇总")
public ResultBean insertMesProdOrg(MesShippingOrderManagementDetail detail, Pager pager) {
try {
detail.setOrganizeCode(AuthUtil.getOrganize().getOrganizeCode());
return ResultBean.success("添加成功").setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode()).setListPager(shippingOrderManagementDetailService.queryDetailGroupByPartNo(detail,pager));
} catch (ImppBusiException busExcep) {
return ResultBean.fail(busExcep);
} catch (Exception e) {
return ImppExceptionBuilder.newInstance().buildExceptionResult(e);
}
}
} }

@ -0,0 +1,21 @@
package cn.estsh.i3plus.ext.mes.apiservice.dao;
import cn.estsh.i3plus.ext.mes.pojo.model.MesShippingOrderManagementDetailModel;
import cn.estsh.i3plus.pojo.base.common.Pager;
import cn.estsh.i3plus.pojo.mes.bean.MesShippingOrderManagementDetail;
import java.util.List;
/**
* @Description : SAP
* @Reference :
* @Author : junsheng.li
* @CreateDate 2024/5/7 15:13
* @Modify:
**/
public interface IMesShippingOrderManagementDetailDao {
int queryOrderDetailGroupByPartCount(MesShippingOrderManagementDetail detail);
List<MesShippingOrderManagementDetailModel> queryOrderDetailGroupByPartInfo(MesShippingOrderManagementDetail detail, Pager pager);
}

@ -31,7 +31,7 @@ public class MesDefectRecordDaoImpl implements IMesDefectRecordDao {
@Override @Override
public List<MesDefectRecordModel> queryMesDefectRecordGroupBy(String organizeCode, Integer count, String createDateTimeStart, String createDateTimeEnd) { public List<MesDefectRecordModel> queryMesDefectRecordGroupBy(String organizeCode, Integer count, String createDateTimeStart, String createDateTimeEnd) {
StringBuffer hql = new StringBuffer("select mdr.part_no ,mp.part_type_code mdr.sides ,mdr.defect_location_code ,mdr.defect_code "); StringBuffer hql = new StringBuffer("select mdr.part_no ,mp.part_type_code , mdr.sides ,mdr.defect_location_code ,mdr.defect_code ");
hql.append(" from mes_defect_record as mdr"); hql.append(" from mes_defect_record as mdr");
hql.append(" inner join mes_part as mp where mdr.part_no = mp.part_no and mdr.organize_code = mp.organize_code "); hql.append(" inner join mes_part as mp where mdr.part_no = mp.part_no and mdr.organize_code = mp.organize_code ");
hql.append(" and mdr.is_deleted = mp.is_deleted and mdr.is_valid = mp.is_valid "); hql.append(" and mdr.is_deleted = mp.is_deleted and mdr.is_valid = mp.is_valid ");
@ -45,7 +45,6 @@ public class MesDefectRecordDaoImpl implements IMesDefectRecordDao {
hql.append(" group by mdr.part_no ,mp.part_type_code mdr.sides ,mdr.defect_location_code ,mdr.defect_code "); hql.append(" group by mdr.part_no ,mp.part_type_code mdr.sides ,mdr.defect_location_code ,mdr.defect_code ");
hql.append(" having count() > " + count); hql.append(" having count() > " + count);
Query query = entityManager.createNativeQuery(hql.toString()); Query query = entityManager.createNativeQuery(hql.toString());
query.setParameter("organizeCode", organizeCode); query.setParameter("organizeCode", organizeCode);
query.setParameter("isValid", CommonEnumUtil.TRUE_OR_FALSE.TRUE.getValue()); query.setParameter("isValid", CommonEnumUtil.TRUE_OR_FALSE.TRUE.getValue());
@ -67,9 +66,9 @@ public class MesDefectRecordDaoImpl implements IMesDefectRecordDao {
String defectCode = String.valueOf(cells[4]); String defectCode = String.valueOf(cells[4]);
model.setPartNo(partNo); model.setPartNo(partNo);
model.setPartTypeCode(partTypeCode); model.setPartTypeCode(partTypeCode);
model.setSides(Integer.parseInt(sides)); model.setFrontBack(Integer.parseInt(sides));
model.setDefectLocationCode(defectLocationCode); model.setDefectLocation(defectLocationCode);
model.setDefectCode(defectCode); model.setDefectTypeCode(defectCode);
modelList.add(model); modelList.add(model);
} }

@ -0,0 +1,102 @@
package cn.estsh.i3plus.ext.mes.apiservice.daoimpl;
import cn.estsh.i3plus.ext.mes.apiservice.dao.IMesShippingOrderManagementDetailDao;
import cn.estsh.i3plus.ext.mes.pojo.model.MesShippingOrderManagementDetailModel;
import cn.estsh.i3plus.pojo.base.common.Pager;
import cn.estsh.i3plus.pojo.base.enumutil.CommonEnumUtil;
import cn.estsh.i3plus.pojo.mes.bean.MesShippingOrderManagementDetail;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.util.CollectionUtils;
import org.springframework.util.StringUtils;
import javax.persistence.EntityManager;
import javax.persistence.Query;
import java.util.ArrayList;
import java.util.List;
/**
* @Description :SAP
* @Reference :
* @Author : junsheng.li
* @CreateDate 2024/5/6 15:52
* @Modify:
**/
@Service
@Slf4j
public class MesShippingOrderManagementDetailDaoImpl implements IMesShippingOrderManagementDetailDao {
@Autowired
private EntityManager entityManager;
@Override
public int queryOrderDetailGroupByPartCount(MesShippingOrderManagementDetail detail) {
StringBuffer hql = new StringBuffer("select count(1) ");
hql.append(" from mes_shipping_detail as msd");
hql.append(" where msd.organize_code = :organizeCode ");
hql.append(" and msd.is_deleted = :isDeleted ");
hql.append(" and msd.is_valid = :isValid ");
hql.append(" and msd.shipping_order_no = :shippingOrderNo ");
hql.append(" group by msd.part_no ,msd.part_name,msd.cust_part_no,msd.unit ");
Query query = entityManager.createNativeQuery(hql.toString());
query.setParameter("organizeCode", detail.getOrganizeCode());
query.setParameter("isValid", CommonEnumUtil.TRUE_OR_FALSE.TRUE.getValue());
query.setParameter("isDeleted", CommonEnumUtil.TRUE_OR_FALSE.FALSE.getValue());
query.setParameter("shippingOrderNo", detail.getShippingOrderNo());
List list = query.getResultList();
if (CollectionUtils.isEmpty(list)) {
return 0;
}
return list.size();
}
@Override
public List<MesShippingOrderManagementDetailModel> queryOrderDetailGroupByPartInfo(MesShippingOrderManagementDetail detail, Pager pager) {
StringBuffer hql = new StringBuffer("select msd.part_no ,msd.part_name, msd.cust_part_no,sum( msd.plan_qty) as planQty , sum( msd.actual_qty) as actualQty, msd.unit ");
hql.append(" from mes_shipping_detail as msd");
hql.append(" where msd.organize_code = :organizeCode ");
hql.append(" and msd.is_deleted = :isDeleted ");
hql.append(" and msd.is_valid = :isValid ");
hql.append(" and msd.shipping_order_no = :shippingOrderNo ");
hql.append(" group by msd.part_no ,msd.part_name,msd.cust_part_no,msd.unit ");
Query query = entityManager.createNativeQuery(hql.toString());
query.setParameter("organizeCode", detail.getOrganizeCode());
query.setParameter("isValid", CommonEnumUtil.TRUE_OR_FALSE.TRUE.getValue());
query.setParameter("isDeleted", CommonEnumUtil.TRUE_OR_FALSE.FALSE.getValue());
query.setParameter("shippingOrderNo", detail.getShippingOrderNo());
query.setFirstResult(pager.getStartRow()).setMaxResults(pager.getPageSize());
List list = query.getResultList();
List<MesShippingOrderManagementDetailModel> modelList = new ArrayList<>();
for (Object result : list) {
Object[] cells = (Object[]) result;
MesShippingOrderManagementDetailModel model = new MesShippingOrderManagementDetailModel();
model.setPartNo(StringUtils.isEmpty(cells[0]) ? "" : String.valueOf(cells[0]));
model.setPartName(StringUtils.isEmpty(cells[1]) ? "" : String.valueOf(cells[1]));
model.setCustPartNo(StringUtils.isEmpty(cells[2]) ? "" : String.valueOf(cells[2]));
model.setActualQty(StringUtils.isEmpty(cells[3]) ? 0 : Integer.parseInt(String.valueOf(cells[3])));
model.setActualQty(StringUtils.isEmpty(cells[4]) ? 0 : Integer.parseInt(String.valueOf(cells[4])));
model.setUnit(StringUtils.isEmpty(cells[5]) ? "" : String.valueOf(cells[5]));
modelList.add(model);
}
return modelList;
}
}

@ -61,6 +61,7 @@ public class MesCarSeriesLoosePartService extends BaseMesService<MesCarSeriesLoo
protected void setPackQueryBean(MesCarSeriesLoosePart bean, DdlPackBean packBean) { protected void setPackQueryBean(MesCarSeriesLoosePart bean, DdlPackBean packBean) {
DdlPreparedPack.getStringEqualPack(bean.getPartNo(),"partNo",packBean); DdlPreparedPack.getStringEqualPack(bean.getPartNo(),"partNo",packBean);
DdlPreparedPack.getStringEqualPack(bean.getCustCode(),"custCode",packBean); DdlPreparedPack.getStringEqualPack(bean.getCustCode(),"custCode",packBean);
DdlPreparedPack.getStringEqualPack(bean.getCarSeriesCode(),"carSeriesCode",packBean);
} }
} }

@ -1,11 +1,11 @@
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.IMesDefectService; import cn.estsh.i3plus.ext.mes.api.base.IMesDefectTypeService;
import cn.estsh.i3plus.platform.common.exception.ImppExceptionEnum; import cn.estsh.i3plus.platform.common.exception.ImppExceptionEnum;
import cn.estsh.i3plus.pojo.base.bean.DdlPackBean; import cn.estsh.i3plus.pojo.base.bean.DdlPackBean;
import cn.estsh.i3plus.pojo.base.enumutil.CommonEnumUtil; 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.MesDefect; import cn.estsh.i3plus.pojo.mes.bean.MesDefectType;
import cn.estsh.impp.framework.boot.exception.ImppExceptionBuilder; import cn.estsh.impp.framework.boot.exception.ImppExceptionBuilder;
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;
@ -13,47 +13,47 @@ import org.springframework.stereotype.Service;
@Service @Service
@Slf4j @Slf4j
public class MesDefectService extends BaseMesService<MesDefect> implements IMesDefectService { public class MesDefectTypeService extends BaseMesService<MesDefectType> implements IMesDefectTypeService {
protected void setPackQueryBean(MesDefect bean, DdlPackBean packBean) { protected void setPackQueryBean(MesDefectType bean, DdlPackBean packBean) {
DdlPreparedPack.getStringLikerPack(bean.getDefectCode(), "defectCode", packBean); DdlPreparedPack.getStringLikerPack(bean.getDefectTypeCode(), "defectTypeCode", packBean);
DdlPreparedPack.getStringLikerPack(bean.getDefectName(), "defectName", packBean); DdlPreparedPack.getStringLikerPack(bean.getDefectTypeName(), "defectTypeName", packBean);
DdlPreparedPack.getNumEqualPack(bean.getCategory(), "category", packBean); DdlPreparedPack.getNumEqualPack(bean.getDefectType(), "defectType", packBean);
} }
protected void onInsertBean(MesDefect item) { protected void onInsertBean(MesDefectType item) {
// 数据校验 // 数据校验
ValidatorBean.checkNotNull(item.getDefectCode(), "缺陷类型代码不能为空"); ValidatorBean.checkNotNull(item.getDefectTypeCode(), "缺陷类型代码不能为空");
ValidatorBean.checkNotNull(item.getDefectName(), "缺陷类型名称不能为空"); ValidatorBean.checkNotNull(item.getDefectTypeName(), "缺陷类型名称不能为空");
DdlPackBean packBean = DdlPackBean.getDdlPackBean(item.getOrganizeCode()); DdlPackBean packBean = DdlPackBean.getDdlPackBean(item.getOrganizeCode());
DdlPreparedPack.getStringEqualPack(item.getDefectCode(), "defectCode", packBean); DdlPreparedPack.getStringEqualPack(item.getDefectTypeCode(), "defectTypeCode", packBean);
boolean flg = baseRDao.isExitByHql(packBean); boolean flg = baseRDao.isExitByHql(packBean);
if (flg) { if (flg) {
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.getDefectCode()) .setErrorDetail("【%s】缺陷类型代码已经存在请检查数据", item.getDefectTypeCode())
.build(); .build();
} }
} }
protected void onUpdateBean(MesDefect item) { protected void onUpdateBean(MesDefectType item) {
// 数据校验 // 数据校验
ValidatorBean.checkNotNull(item.getDefectCode(), "缺陷类型代码不能为空"); ValidatorBean.checkNotNull(item.getDefectTypeCode(), "缺陷类型代码不能为空");
ValidatorBean.checkNotNull(item.getDefectName(), "缺陷类型名称不能为空"); ValidatorBean.checkNotNull(item.getDefectTypeName(), "缺陷类型名称不能为空");
DdlPackBean packBean = DdlPackBean.getDdlPackBean(item.getOrganizeCode()); DdlPackBean packBean = DdlPackBean.getDdlPackBean(item.getOrganizeCode());
DdlPreparedPack.getStringEqualPack(item.getDefectCode(), "defectCode", packBean); DdlPreparedPack.getStringEqualPack(item.getDefectTypeCode(), "defectTypeCode", packBean);
DdlPreparedPack.getNumNOEqualPack(item.getId(), "id", packBean); DdlPreparedPack.getNumNOEqualPack(item.getId(), "id", packBean);
boolean flg = baseRDao.isExitByHql(packBean); boolean flg = baseRDao.isExitByHql(packBean);
if (flg) { if (flg) {
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.getDefectCode()) .setErrorDetail("【%s】缺陷类型代码已经存在请检查数据", item.getDefectTypeCode())
.build(); .build();
} }
} }

@ -9,10 +9,10 @@ import cn.estsh.i3plus.platform.common.convert.ConvertBean;
import cn.estsh.i3plus.platform.common.tool.TimeTool; import cn.estsh.i3plus.platform.common.tool.TimeTool;
import cn.estsh.i3plus.pojo.base.bean.DdlPackBean; import cn.estsh.i3plus.pojo.base.bean.DdlPackBean;
import cn.estsh.i3plus.pojo.base.tool.DdlPreparedPack; import cn.estsh.i3plus.pojo.base.tool.DdlPreparedPack;
import cn.estsh.i3plus.pojo.mes.bean.MesDefect; import cn.estsh.i3plus.pojo.mes.bean.MesDefectType;
import cn.estsh.i3plus.pojo.mes.bean.MesDefectAlarmConfig; import cn.estsh.i3plus.pojo.mes.bean.MesDefectWarnConfig;
import cn.estsh.i3plus.pojo.mes.bean.MesPart; import cn.estsh.i3plus.pojo.mes.bean.MesPart;
import cn.estsh.i3plus.pojo.mes.repository.MesDefectRepository; import cn.estsh.i3plus.pojo.mes.repository.MesDefectTypeRepository;
import cn.estsh.i3plus.pojo.mes.repository.MesPartRepository; import cn.estsh.i3plus.pojo.mes.repository.MesPartRepository;
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;
@ -24,7 +24,7 @@ import java.util.List;
@Service @Service
@Slf4j @Slf4j
public class MesDefectAlarmConfigService extends BaseMesService<MesDefectAlarmConfig> implements IMesDefectAlarmConfigService { public class MesDefectWarnConfigService extends BaseMesService<MesDefectWarnConfig> implements IMesDefectAlarmConfigService {
@Autowired @Autowired
@ -32,26 +32,25 @@ public class MesDefectAlarmConfigService extends BaseMesService<MesDefectAlarmCo
@Autowired @Autowired
private MesPartRepository partRepository; private MesPartRepository partRepository;
@Autowired @Autowired
private MesDefectRepository defectRepository; private MesDefectTypeRepository defectRepository;
@Autowired @Autowired
private IMesConfigService configService; private IMesConfigService configService;
protected void onInsertBean(MesDefectAlarmConfig item) { protected void onInsertBean(MesDefectWarnConfig item) {
// 数据校验 // 数据校验
ValidatorBean.checkNotNull(item.getPartTypeCode(), "零件类型不能为空"); ValidatorBean.checkNotNull(item.getPartTypeCode(), "零件类型不能为空");
} }
protected void onUpdateBean(MesDefectAlarmConfig item) { protected void onUpdateBean(MesDefectWarnConfig item) {
// 数据校验 // 数据校验
ValidatorBean.checkNotNull(item.getPartTypeCode(), "零件类型不能为空"); ValidatorBean.checkNotNull(item.getPartTypeCode(), "零件类型不能为空");
} }
protected void setPackQueryBean(MesDefectAlarmConfig bean, DdlPackBean packBean) { protected void setPackQueryBean(MesDefectWarnConfig bean, DdlPackBean packBean) {
DdlPreparedPack.getStringEqualPack(bean.getDefectCode(), "defectCode", packBean); DdlPreparedPack.getStringEqualPack(bean.getDefectTypeCode(), "defectTypeCode", packBean);
// DdlPreparedPack.getNumEqualPack(bean.getTotalTriggerCount(), "totalTriggerCount", packBean); DdlPreparedPack.getStringLikerPack(bean.getDefectLocation(), "defectLocation", packBean);
DdlPreparedPack.getStringLikerPack(bean.getDefectLocationCode(), "defectLocationCode", packBean);
DdlPreparedPack.getStringEqualPack(bean.getPartTypeCode(), "partTypeCode", packBean); DdlPreparedPack.getStringEqualPack(bean.getPartTypeCode(), "partTypeCode", packBean);
} }
@ -66,30 +65,30 @@ public class MesDefectAlarmConfigService extends BaseMesService<MesDefectAlarmCo
for (MesDefectRecordModel model : modelList) { for (MesDefectRecordModel model : modelList) {
DdlPackBean packBean = DdlPackBean.getDdlPackBean(org); DdlPackBean packBean = DdlPackBean.getDdlPackBean(org);
DdlPreparedPack.getStringEqualPack(model.getDefectCode(), "defectCode", packBean); DdlPreparedPack.getStringEqualPack(model.getDefectTypeCode(), "defectTypeCode", packBean);
DdlPreparedPack.getStringLikerPack(model.getDefectLocationCode(), "defectLocationCode", packBean); DdlPreparedPack.getStringLikerPack(model.getDefectLocation(), "defectLocation", packBean);
DdlPreparedPack.getStringEqualPack(model.getPartTypeCode(), "partTypeCode", packBean); DdlPreparedPack.getStringEqualPack(model.getPartTypeCode(), "partTypeCode", packBean);
DdlPreparedPack.getStringEqualPack(model.getPartNo(), "partNo", packBean); DdlPreparedPack.getStringEqualPack(model.getPartNo(), "partNo", packBean);
DdlPreparedPack.getNumEqualPack(model.getSides(), "sides", packBean); DdlPreparedPack.getNumEqualPack(model.getFrontBack(), "frontBack", packBean);
boolean flg = baseRDao.isExitByHql(packBean); boolean flg = baseRDao.isExitByHql(packBean);
if (!flg) { if (!flg) {
DdlPackBean defectPackBean = DdlPackBean.getDdlPackBean(org); DdlPackBean defectPackBean = DdlPackBean.getDdlPackBean(org);
DdlPreparedPack.getStringEqualPack(model.getDefectCode(), "defectCode", defectPackBean); DdlPreparedPack.getStringEqualPack(model.getDefectTypeCode(), "defectTypeCode", defectPackBean);
MesDefect defect = defectRepository.getByProperty(defectPackBean); MesDefectType defect = defectRepository.getByProperty(defectPackBean);
DdlPackBean partPackBean = DdlPackBean.getDdlPackBean(org); DdlPackBean partPackBean = DdlPackBean.getDdlPackBean(org);
DdlPreparedPack.getStringEqualPack(model.getPartNo(), "partNo", partPackBean); DdlPreparedPack.getStringEqualPack(model.getPartNo(), "partNo", partPackBean);
MesPart part = partRepository.getByProperty(partPackBean); MesPart part = partRepository.getByProperty(partPackBean);
MesDefectAlarmConfig config = new MesDefectAlarmConfig(); MesDefectWarnConfig config = new MesDefectWarnConfig();
config.setPartNo(part.getPartNo()); config.setPartNo(part.getPartNo());
config.setPartName(part.getPartName()); config.setPartName(part.getPartName());
config.setDefectCode(defect.getDefectCode()); config.setDefectTypeCode(defect.getDefectTypeCode());
config.setDefectName(defect.getDefectName()); config.setDefectTypeName(defect.getDefectTypeName());
config.setDefectLocationCode(model.getDefectLocationCode()); config.setDefectLocation(model.getDefectLocation());
config.setPartTypeCode(part.getPartTypeCode()); config.setPartTypeCode(part.getPartTypeCode());
config.setPartTypeName(part.getPartTypeName()); config.setPartTypeName(part.getPartTypeName());
config.setSides(model.getSides()); config.setFrontBack(model.getFrontBack());
config.setOrganizeCode(org); config.setOrganizeCode(org);
ConvertBean.serviceModelInitialize(config, "xxljob"); ConvertBean.serviceModelInitialize(config, "xxljob");

@ -1,22 +1,40 @@
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.IMesShippingOrderManagementDetailService; import cn.estsh.i3plus.ext.mes.api.base.IMesShippingOrderManagementDetailService;
import cn.estsh.i3plus.ext.mes.api.base.IMesShippingOrderManagementService; import cn.estsh.i3plus.ext.mes.apiservice.dao.IMesShippingOrderManagementDetailDao;
import cn.estsh.i3plus.ext.mes.pojo.model.MesShippingOrderManagementDetailModel;
import cn.estsh.i3plus.pojo.base.bean.DdlPackBean; import cn.estsh.i3plus.pojo.base.bean.DdlPackBean;
import cn.estsh.i3plus.pojo.base.bean.ListPager;
import cn.estsh.i3plus.pojo.base.common.Pager;
import cn.estsh.i3plus.pojo.base.common.PagerHelper;
import cn.estsh.i3plus.pojo.base.tool.DdlPreparedPack; import cn.estsh.i3plus.pojo.base.tool.DdlPreparedPack;
import cn.estsh.i3plus.pojo.mes.bean.MesLoadingVehiclesOrderDetail;
import cn.estsh.i3plus.pojo.mes.bean.MesShippingOrderManagement;
import cn.estsh.i3plus.pojo.mes.bean.MesShippingOrderManagementDetail; import cn.estsh.i3plus.pojo.mes.bean.MesShippingOrderManagementDetail;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import java.util.List;
@Service @Service
@Slf4j @Slf4j
public class MesShippingOrderManagementDetailService extends BaseMesService<MesShippingOrderManagementDetail> implements IMesShippingOrderManagementDetailService { public class MesShippingOrderManagementDetailService extends BaseMesService<MesShippingOrderManagementDetail> implements IMesShippingOrderManagementDetailService {
@Autowired
private IMesShippingOrderManagementDetailDao shippingOrderManagementDetailDao;
protected void setPackQueryBean(MesShippingOrderManagementDetail bean, DdlPackBean packBean) { protected void setPackQueryBean(MesShippingOrderManagementDetail bean, DdlPackBean packBean) {
DdlPreparedPack.getStringEqualPack(bean.getShippingOrderNo(), "shippingOrderNo", packBean); DdlPreparedPack.getStringEqualPack(bean.getShippingOrderNo(), "shippingOrderNo", packBean);
} }
public ListPager<MesShippingOrderManagementDetailModel> queryDetailGroupByPartNo(MesShippingOrderManagementDetail bean, Pager pager) {
int count = shippingOrderManagementDetailDao.queryOrderDetailGroupByPartCount(bean);
pager = PagerHelper.getPager(pager, count);
List<MesShippingOrderManagementDetailModel> modelList = shippingOrderManagementDetailDao.queryOrderDetailGroupByPartInfo(bean, pager);
return new ListPager<>(modelList, pager);
}
} }

@ -125,16 +125,16 @@ public class MesShippingOrderManagementService extends BaseMesService<MesShippin
MesShippingOrderManagement finalBean = bean; MesShippingOrderManagement finalBean = bean;
groupDetailList.forEach(k -> { groupDetailList.forEach(k -> {
MesShippingOrderManagementDetail detail = new MesShippingOrderManagementDetail(); MesShippingOrderManagementDetail detail = new MesShippingOrderManagementDetail();
BeanUtils.copyProperties(k, detail, "id");
MesPart part = partService.getPartByPartNo(k.getPartNo(), k.getOrganizeCode()); MesPart part = partService.getPartByPartNo(k.getPartNo(), k.getOrganizeCode());
detail.setPartName(part.getPartName()); detail.setPartName(part.getPartName());
detail.setCustPartNo(k.getCustomerPartNo()); detail.setCustPartNo(k.getCustomerPartNo());
detail.setPlanQty(1D); detail.setPlanQty(1);
detail.setActualQty(1); // detail.setActualQty(1);
detail.setShippingOrderNo(finalBean.getShippingOrderNo()); detail.setShippingOrderNo(finalBean.getShippingOrderNo());
detail.setOrganizeCode(k.getOrganizeCode()); detail.setOrganizeCode(k.getOrganizeCode());
detail.setStatus(MesExtEnumUtil.SHIPPING_ORDER_STATUS.CREATE.getValue()); detail.setStatus(MesExtEnumUtil.SHIPPING_ORDER_STATUS.CREATE.getValue());
BeanUtils.copyProperties(k, detail, "id");
ConvertBean.serviceModelInitialize(detail, AuthUtil.getSessionUser().getUserName()); ConvertBean.serviceModelInitialize(detail, AuthUtil.getSessionUser().getUserName());
detailInsertList.add(detail); detailInsertList.add(detail);
}); });
@ -281,7 +281,7 @@ public class MesShippingOrderManagementService extends BaseMesService<MesShippin
MesJisShipping jisShipping = new MesJisShipping(); MesJisShipping jisShipping = new MesJisShipping();
BeanUtils.copyProperties(originBean, jisShipping, "id"); BeanUtils.copyProperties(originBean, jisShipping, "id");
BeanUtils.copyProperties(k, jisShipping, "id"); BeanUtils.copyProperties(v.get(0), jisShipping, "id");
jisShipping.setFactoryCode(originBean.getOrganizeCode()); jisShipping.setFactoryCode(originBean.getOrganizeCode());
jisShipping.setCusCode(originBean.getCustCode()); jisShipping.setCusCode(originBean.getCustCode());
jisShipping.setShippingTime(TimeTool.getNowTime(true)); jisShipping.setShippingTime(TimeTool.getNowTime(true));
@ -295,6 +295,7 @@ public class MesShippingOrderManagementService extends BaseMesService<MesShippin
jisShipping.setShippingOrderCode(originBean.getShippingOrderNo()); jisShipping.setShippingOrderCode(originBean.getShippingOrderNo());
jisShipping.setVin(v.get(0).getVin()); jisShipping.setVin(v.get(0).getVin());
jisShipping.setCarNo(v.get(0).getVin()); jisShipping.setCarNo(v.get(0).getVin());
jisShipping.setPartNo(part.getPartNo());
if (!StringUtils.isEmpty(part)) { if (!StringUtils.isEmpty(part)) {
jisShipping.setUnit(part.getUnit()); jisShipping.setUnit(part.getUnit());
} }
@ -305,6 +306,7 @@ public class MesShippingOrderManagementService extends BaseMesService<MesShippin
//修改当前发运单状态 //修改当前发运单状态
originBean.setStatus(MesExtEnumUtil.SHIPPING_ORDER_STATUS.SHIPPED.getValue()); originBean.setStatus(MesExtEnumUtil.SHIPPING_ORDER_STATUS.SHIPPED.getValue());
ConvertBean.serviceModelUpdate(originBean, AuthUtil.getSessionUser().getUserName());
//修改当前发运单明细状态 //修改当前发运单明细状态
detailDeleteList.forEach(k -> { detailDeleteList.forEach(k -> {

@ -14,11 +14,11 @@ public class MesDefectRecordModel {
private String partTypeCode; private String partTypeCode;
@ApiParam("缺陷代码") @ApiParam("缺陷代码")
private String defectCode; private String defectTypeCode;
@ApiParam("位置") @ApiParam("位置")
private String defectLocationCode; private String defectLocation;
@ApiParam("面位-正反面") @ApiParam("面位-正反面")
private Integer sides; private Integer frontBack;
} }

@ -0,0 +1,29 @@
package cn.estsh.i3plus.ext.mes.pojo.model;
import io.swagger.annotations.ApiParam;
import lombok.Data;
@Data
public class MesShippingOrderManagementDetailModel {
@ApiParam("物料号")
private String partNo;
@ApiParam("物料号")
private String partName;
@ApiParam("客户零件号")
private String custPartNo;
@ApiParam("计划发运数量")
private Double planQty;
@ApiParam("实际发运数量")
private Integer actualQty;
@ApiParam("计量单位")
private String unit;
}
Loading…
Cancel
Save