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

tags/yfai-mes-ext-v2.3
yxw 8 months ago
commit 6833795264

@ -1,5 +1,7 @@
package cn.estsh.i3plus.ext.mes.api.base;
import cn.estsh.i3plus.pojo.base.bean.ListPager;
import cn.estsh.i3plus.pojo.base.common.Pager;
import cn.estsh.i3plus.pojo.mes.bean.MesLabelTemplate;
/**
@ -10,4 +12,6 @@ import cn.estsh.i3plus.pojo.mes.bean.MesLabelTemplate;
* @Modify:
**/
public interface IMesLabelTemplateService extends IBaseMesService<MesLabelTemplate> {
ListPager queryMesLabelTemplateAndParamListByPager(MesLabelTemplate labelTemplate, Pager pager);
}

@ -0,0 +1,13 @@
package cn.estsh.i3plus.ext.mes.api.base;
import cn.estsh.i3plus.pojo.mes.bean.nc.MesPartInspection;
/**
* @Description:
* @CreateDate 2024/09/09
* @Author gsz
*/
public interface IMesPartInspectionService extends IBaseMesService<MesPartInspection> {
}

@ -1,8 +1,24 @@
package cn.estsh.i3plus.ext.mes.apiservice.controller.base;
import cn.estsh.i3plus.ext.mes.api.base.IMesLabelTemplateService;
import cn.estsh.i3plus.ext.mes.apiservice.config.AuthUtilExt;
import cn.estsh.i3plus.ext.mes.pojo.constant.MesCommonConstant;
import cn.estsh.i3plus.pojo.base.bean.ListPager;
import cn.estsh.i3plus.pojo.base.common.Pager;
import cn.estsh.i3plus.pojo.base.enumutil.ResourceEnumUtil;
import cn.estsh.i3plus.pojo.mes.bean.MesLabelTemplate;
import cn.estsh.i3plus.pojo.mes.bean.MesSpotCheckOrder;
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 cn.estsh.impp.framework.boot.util.ValidatorBean;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.apache.poi.ss.formula.functions.T;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.util.StringUtils;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
@ -17,4 +33,21 @@ import org.springframework.web.bind.annotation.RestController;
@RequestMapping(MesCommonConstant.MES_YANFEN + "/mesLabelTemplate")
@Api(tags = "打印模板")
public class MesLabelTemplateController extends BaseMesController<MesLabelTemplate> {
@Autowired
private IMesLabelTemplateService mesLabelTemplateService;
@GetMapping("/query-template-param")
@ApiOperation(value = "查询打印模板和明细")
public ResultBean queryMesLabelTemplateAndParamListByPager(MesLabelTemplate labelTemplate, Pager pager) {
try {
return ResultBean.success("查询成功").setListPager(mesLabelTemplateService.queryMesLabelTemplateAndParamListByPager(labelTemplate, pager));
} catch (ImppBusiException imppException) {
return ResultBean.fail(imppException);
} catch (Exception e) {
return ImppExceptionBuilder.newInstance().buildExceptionResult(e);
}
}
}

@ -0,0 +1,17 @@
package cn.estsh.i3plus.ext.mes.apiservice.controller.base;
import cn.estsh.i3plus.ext.mes.pojo.constant.MesCommonConstant;
import cn.estsh.i3plus.pojo.mes.bean.nc.MesPartInspection;
import io.swagger.annotations.Api;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
/**
*
*/
@Api("零件检测")
@RestController
@RequestMapping(MesCommonConstant.MES_YANFEN + "/mesPartInspection")
public class MesPartInspectionController extends BaseMesController<MesPartInspection> {
}

@ -95,6 +95,7 @@ public class MesEquipmentVariableService extends BaseMesService<MesEquipmentVari
mesEquipmentVariable.setEquipmentCode(mesEquipment.getEquipmentCode());
mesEquipmentVariable.setTagName(String.valueOf(objectMap.get("Tag Name")));
mesEquipmentVariable.setTagAddress(String.valueOf(objectMap.get("Address")));
mesEquipmentVariable.setCode(String.valueOf(objectMap.get("Address")));
if ("R/W".equals(objectMap.get("Client Access").toString())) {
mesEquipmentVariable.setReadWriteFlag(MesExtEnumUtil.READ_WRITE_FLAG.READ_WRITE.getValue());
} else if ("RO".equals(objectMap.get("Client Access").toString())) {

@ -1,12 +1,25 @@
package cn.estsh.i3plus.ext.mes.apiservice.serviceimpl.base;
import cn.estsh.i3plus.ext.mes.api.base.IMesLabelTemplateService;
import cn.estsh.i3plus.ext.mes.pojo.util.MesExtConstWords;
import cn.estsh.i3plus.platform.common.util.MesPcnConstWords;
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.enumutil.CommonEnumUtil;
import cn.estsh.i3plus.pojo.base.tool.DdlPreparedPack;
import cn.estsh.i3plus.pojo.mes.bean.MesLabelTemplate;
import cn.estsh.i3plus.pojo.mes.bean.MesLabelTemplateParam;
import cn.estsh.i3plus.pojo.mes.bean.MesSpotCheckOrder;
import cn.estsh.i3plus.pojo.mes.repository.MesLabelTemplateParamRepository;
import lombok.extern.slf4j.Slf4j;
import org.apache.shiro.util.CollectionUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.List;
/**
* @Description :
* @Reference :
@ -18,6 +31,8 @@ import org.springframework.stereotype.Service;
@Slf4j
public class MesLabelTemplateServiceImpl extends BaseMesService<MesLabelTemplate> implements IMesLabelTemplateService {
@Autowired
private MesLabelTemplateParamRepository mesLabelTemplateParamRDao;
@Override
protected void setPackQueryBean(MesLabelTemplate bean, DdlPackBean packBean) {
@ -25,4 +40,27 @@ public class MesLabelTemplateServiceImpl extends BaseMesService<MesLabelTemplate
DdlPreparedPack.getStringLikerPack(bean.getTemplateName(), "templateName", packBean);
}
@Override
public ListPager queryMesLabelTemplateAndParamListByPager(MesLabelTemplate labelTemplate, Pager pager) {
DdlPackBean packBean = DdlPackBean.getDdlPackBean(labelTemplate.getOrganizeCode());
DdlPreparedPack.getStringLikerPack(labelTemplate.getTemplateCode(), "templateCode", packBean);
pager = PagerHelper.getPager(pager, baseRDao.findByHqlWhereCount(packBean));
List<MesLabelTemplate> resultList = baseRDao.findByHqlWherePage(packBean, pager);
if (!CollectionUtils.isEmpty(resultList)){
for (MesLabelTemplate mesLabelTemplate : resultList) {
// 根据模板代码查询模板参数信息
List<MesLabelTemplateParam> templateParamList = mesLabelTemplateParamRDao.findByProperty(
new String[]{"templateCode", MesPcnConstWords.IS_VALID, MesPcnConstWords.IS_DELETED, MesExtConstWords.ORGANIZE_CODE},
new Object[]{mesLabelTemplate.getTemplateCode(), CommonEnumUtil.IS_VAILD.VAILD.getValue(),
CommonEnumUtil.TRUE_OR_FALSE.FALSE.getValue(),labelTemplate.getOrganizeCode()});
if (!CollectionUtils.isEmpty(templateParamList)) {
mesLabelTemplate.setLabelTemplateParamList(templateParamList);
}
}
}
return new ListPager<>(resultList, pager);
}
}

@ -0,0 +1,31 @@
package cn.estsh.i3plus.ext.mes.apiservice.serviceimpl.base;
import cn.estsh.i3plus.ext.mes.api.base.IMesPartInspectionService;
import cn.estsh.i3plus.pojo.base.bean.DdlPackBean;
import cn.estsh.i3plus.pojo.base.tool.DdlPreparedPack;
import cn.estsh.i3plus.pojo.mes.bean.nc.MesPartInspection;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils;
import org.springframework.stereotype.Service;
@Service
@Slf4j
public class MesPartInspectionService extends BaseMesService<MesPartInspection> implements IMesPartInspectionService {
@Override
protected void setPackQueryBean(MesPartInspection bean, DdlPackBean packBean) {
DdlPreparedPack.getStringEqualPack(bean.getSn(), "sn", packBean);
DdlPreparedPack.getStringLikerPack(bean.getPartNo(), "partNo", packBean);
DdlPreparedPack.getStringLikerPack(bean.getPartName(), "partName", packBean);
DdlPreparedPack.getStringLikerPack(bean.getWorkCenterCode(), "workCenterCode", packBean);
DdlPreparedPack.getNumEqualPack(bean.getNcStatus(), "ncStatus", packBean);
if (StringUtils.isNotBlank(bean.getCreateDateTimeStart()) && StringUtils.isNotBlank(bean.getCreateDateTimeEnd())) {
DdlPreparedPack.timeBuilder(bean.getCreateDateTimeStart(), bean.getCreateDateTimeEnd(), "createDatetime", packBean, true);
}
if (StringUtils.isNotBlank(bean.getModifyDateTimeStart()) && StringUtils.isNotBlank(bean.getModifyDateTimeEnd())) {
DdlPreparedPack.timeBuilder(bean.getModifyDateTimeStart(), bean.getModifyDateTimeEnd(), "modifyDatetime", packBean, true);
}
// DdlPreparedPack.getStringLikerPack(bean.getInspectionDate(), "inspectionDate", packBean);
}
}

@ -664,6 +664,10 @@ public class MesWorkOrderService extends BaseMesService<MesWorkOrder> implements
}
item.setWorkCenterCode(mesWorkCenter.getWorkCenterCode());
item.setErpWorkCenter(mesWorkCenter.getErpWorkCenter());
//校验产线零件是否存在
if (!checkWorkCenterPartRelation(item.getWorkCenterCode(),item.getPartNo()) && (StringUtil.isEmpty(item.getOrderFlag()) || !MesExtEnumUtil.ORDER_TYPE_IDENTIFICATION.P.getValue().equals(item.getOrderFlag()))){
MesException.throwMesBusiException(String.format("工单产线【%s】与工单零件【%s】没有维护产线零件关系",mesWorkCenter.getWorkCenterCode(),item.getPartNo()));
}
//获取客户物料信息
MesCustomerPart customerPart = null == mesCustomerPartMap ? null : mesCustomerPartMap.get(item.getPartNo());
if (!Objects.isNull(customerPart)) {
@ -1038,15 +1042,21 @@ public class MesWorkOrderService extends BaseMesService<MesWorkOrder> implements
return;
}
log.info("关闭工单个数{},工单:{}",mesWorkOrderList.size(),mesWorkOrderList.stream().map(MesWorkOrder::getWorkOrderNo).collect(Collectors.toList()));
//关闭工单回传
List<String> partNoAndDataKey = mesWorkOrderList.stream().map(t -> new StringJoiner(MesExtConstWords.COMMA).add(t.getPartNo()).add(t.getProductVersion()).add(t.getPlanStartTime().substring(0, 10)).toString()).distinct().collect(Collectors.toList());
List<MesWorkOrderToSap> mesWorkOrderToSapList = new ArrayList<>();
for (String partNoAndData : partNoAndDataKey) {
MesWorkOrderToSap orderToSap = new MesWorkOrderToSap(organizeCode, partNoAndData.split(MesExtConstWords.COMMA)[0], partNoAndData.split(MesExtConstWords.COMMA)[1], 0d, partNoAndData.split(MesExtConstWords.COMMA)[2]);
ConvertBean.serviceModelInitialize(orderToSap,userName);
mesWorkOrderToSapList.add(orderToSap);
}
mesWorkOrderToSapRepository.saveAll(mesWorkOrderToSapList);
//查询自制件零件
List<String> partNoList = mesPartSapService.findMesPartSapByPartNoList(mesWorkOrderList.stream().map(MesWorkOrder::getPartNo).distinct().collect(Collectors.toList()), organizeCode).stream().filter(t -> t.getIsTestPiece() == CommonEnumUtil.FALSE).map(MesPartSap::getPartNo).collect(Collectors.toList());
if (CollectionUtils.isNotEmpty(partNoList)) {
//关闭工单回传
List<String> partNoAndDataKey = mesWorkOrderList.stream().filter(t -> !MesExtEnumUtil.ORDER_TYPE_IDENTIFICATION.P.getValue().equals(t.getOrderFlag()) && partNoList.contains(t.getPartNo())).map(t -> new StringJoiner(MesExtConstWords.COMMA).add(t.getPartNo()).add(t.getProductVersion()).add(t.getPlanStartTime().substring(0, 10)).toString()).distinct().collect(Collectors.toList());
if (CollectionUtils.isNotEmpty(partNoAndDataKey)) {
List<MesWorkOrderToSap> mesWorkOrderToSapList = new ArrayList<>();
for (String partNoAndData : partNoAndDataKey) {
MesWorkOrderToSap orderToSap = new MesWorkOrderToSap(organizeCode, partNoAndData.split(MesExtConstWords.COMMA)[0], partNoAndData.split(MesExtConstWords.COMMA)[1], 0d, partNoAndData.split(MesExtConstWords.COMMA)[2]);
ConvertBean.serviceModelInitialize(orderToSap, userName);
mesWorkOrderToSapList.add(orderToSap);
}
mesWorkOrderToSapRepository.saveAll(mesWorkOrderToSapList);
}
}
//关闭工单
baseRDao.updateByProperties(new String[]{"modifyUser", "modifyDatetime", "workOrderStatus","systemSyncStatus"},
new Object[]{userName, TimeTool.getNowTime(true), MesExtEnumUtil.ORDER_STATUS.CLOSE.getValue(),CommonEnumUtil.FALSE}, ddlPackBean);

@ -30,17 +30,9 @@ public class MesEquipmentLogDetailService extends BaseMesService<MesEquipmentLog
DdlPreparedPack.getStringEqualPack(new StringJoiner(MesExtConstWords.E_UNDERLINE).add(bean.getOrganizeCode()).add(bean.getEquipId().toString()).toString(), MesExtConstWords.ORG_EQUIP_ID, packBean);
// DdlPreparedPack.getNumEqualPack(bean.getEquipId(), MesExtConstWords.EQUIP_ID, packBean);
DdlPreparedPack.getNumEqualPack(bean.getVariableType(), MesExtConstWords.VARIABLE_TYPE, packBean);
if(!StringUtils.isEmpty(bean.getEquipVariableId().toString().contains(","))){
DdlPreparedPack.getInPackList(Arrays.asList(bean.getEquipVariableId().toString().split(",")), MesExtConstWords.EQUIP_VARIABLE_ID, packBean);
}else {
DdlPreparedPack.getNumEqualPack(bean.getEquipVariableId(), MesExtConstWords.EQUIP_VARIABLE_ID, packBean);
}
if(!StringUtils.isEmpty(bean.getEquipVariableName().contains(","))){
DdlPreparedPack.getInPackList(Arrays.asList(bean.getEquipVariableName().split(",")), MesExtConstWords.EQUIP_VARIABLE_NAME, packBean);
}else {
DdlPreparedPack.getStringLikerPack(bean.getEquipVariableName(), MesExtConstWords.EQUIP_VARIABLE_NAME, packBean);
}
DdlPreparedPack.getNumEqualPack(bean.getEquipVariableId(), MesExtConstWords.EQUIP_VARIABLE_ID, packBean);
// DdlPreparedPack.getStringEqualPack(bean.getEquipmentCode(), MesExtConstWords.EQUIPMENT_CODE, packBean);
DdlPreparedPack.getStringLikerPack(bean.getEquipVariableName(), MesExtConstWords.EQUIP_VARIABLE_NAME, packBean);
DdlPreparedPack.timeBuilder(bean.getCreateDateTimeStart(), bean.getCreateDateTimeEnd(), MesExtConstWords.CREATE_DATE_TIME, packBean, true);
DdlPreparedPack.getOrderByPack(new Object[]{CommonEnumUtil.ASC_OR_DESC.DESC.getValue()}, new String[]{MesExtConstWords.CREATE_DATE_TIME}, packBean);
}

@ -30,7 +30,11 @@ public class CsvImportUtil {
for (CsvRow row : read.getRows()) {
Map<String, Object> map = new HashMap<>();
for (int i = 0; i < row.size(); i++) {
map.put(read.getHeader().get(i), row.get(i));
String key = read.getHeader().get(i);
if (key.startsWith("\ufeff")) {
key = key.substring(1);
}
map.put(key, row.get(i));
}
mapList.add(map);
}

Loading…
Cancel
Save