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

tags/yfai-mes-ext-v1.0
微笑着面对明天 12 months ago
commit f0da109d4c

@ -0,0 +1,13 @@
package cn.estsh.i3plus.ext.mes.api.base;
import cn.estsh.i3plus.pojo.mes.bean.MesLabelTemplate;
/**
* @Description :
* @Reference :
* @Author : junsheng.li
* @CreateDate 2024/7/10 13:40
* @Modify:
**/
public interface IMesLabelTemplateService extends IBaseMesService<MesLabelTemplate> {
}

@ -0,0 +1,20 @@
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.MesLabelTemplate;
import io.swagger.annotations.Api;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
/**
* @Description :
* @Reference :
* @Author : junsheng.li
* @CreateDate 2024/7/10 13:39
* @Modify:
**/
@RestController
@RequestMapping(MesCommonConstant.MES_YANFEN + "/mesLabelTemplate")
@Api(tags = "打印模板")
public class MesLabelTemplateController extends BaseMesController<MesLabelTemplate> {
}

@ -127,7 +127,7 @@ public class MesCrossOrganizeCfgServiceImpl extends BaseMesService<MesCrossOrgan
MesProduceSn saveDbProduceSn = new MesProduceSn();
BeanUtils.copyProperties(produceSn, saveDbProduceSn, "id");
saveDbProduceSn.setOrganizeCode(crossOrganizeCfg.getOrganizeCode());
saveDbProduceSn.setSnType(MesExtEnumUtil.PRODUCE_SN_TYPE.CORSS_ORGANIZE.getValue());
saveDbProduceSn.setSnType(MesExtEnumUtil.PRODUCE_SN_TYPE.CROSS_ORGANIZE.getValue());
saveDbProduceSn.setDescription(produceSn.getOrganizeCode());
saveDbProduceSn.setSystemSyncStatus(CommonEnumUtil.FALSE);
mesProduceSnRepository.insert(saveDbProduceSn);

@ -0,0 +1,26 @@
package cn.estsh.i3plus.ext.mes.apiservice.serviceimpl.base;
import cn.estsh.i3plus.ext.mes.api.base.IMesLabelTemplateService;
import cn.estsh.i3plus.pojo.base.bean.DdlPackBean;
import cn.estsh.i3plus.pojo.base.tool.DdlPreparedPack;
import cn.estsh.i3plus.pojo.mes.bean.MesLabelTemplate;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service;
/**
* @Description :
* @Reference :
* @Author : junsheng.li
* @CreateDate 2024/7/10 13:43
* @Modify:
**/
@Service
@Slf4j
public class MesLabelTemplateServiceImpl extends BaseMesService<MesLabelTemplate> implements IMesLabelTemplateService {
@Override
protected void setPackQueryBean(MesLabelTemplate bean, DdlPackBean packBean) {
DdlPreparedPack.getStringLikerPack(bean.getTemplateCode(), "templateCode", packBean);
DdlPreparedPack.getStringLikerPack(bean.getTemplateName(), "templateName", packBean);
}
}

@ -305,11 +305,7 @@ public class MesWorkOrderService extends BaseMesService<MesWorkOrder> implements
MesExtEnumUtil.ORDER_TYPE_IDENTIFICATION.S.getValue(),
MesExtEnumUtil.ORDER_TYPE_IDENTIFICATION.P.getValue()));
}
//获取生产版本
MesProductVersion mesProductVersion = getMesProductVersion(item, mesWorkCenter);
item.setProductVersion(mesProductVersion.getProductVersion());
//获取bom信息
List<MesBom> bomList = mesBomService.findMesBomByPartNoAndBomVersion(item.getPartNo(), item.getOrganizeCode(), mesProductVersion.getAlternativePartList());
//校验VIN号是否重复
if (!StringUtil.isEmpty(item.getVinCode())) {
//校验vin号是否重复
ddlPackBean = DdlPackBean.getDdlPackBean(item.getOrganizeCode());
@ -320,11 +316,10 @@ public class MesWorkOrderService extends BaseMesService<MesWorkOrder> implements
}
//排序工单数量为1
item.setQty(1d);
//是否自动发布
isAuto(item, saveMesWorkOrderToWms, bomList);
//发送工单给WMS
sendToWms(item, mesWorkCenter, saveMesWorkOrderToWms);
} else if (item.getWorkOrderType() == MesExtEnumUtil.ORDER_TYPE.UN_SORT.getValue()) {
ValidatorBean.checkNotNull(item.getOrderFlag(), "标识不能为空");
ValidatorBean.checkNotNull(item.getProductVersion(), "生产版本不能为空");
if (Objects.isNull(item.getQty()) || item.getQty() <= 0d) {
MesException.throwMesBusiException("生产数量不能小于等于0");
}
@ -341,26 +336,25 @@ public class MesWorkOrderService extends BaseMesService<MesWorkOrder> implements
, MesExtEnumUtil.ORDER_TYPE_IDENTIFICATION.N.getValue(),
MesExtEnumUtil.ORDER_TYPE_IDENTIFICATION.P.getValue()));
}
item.setWorkOrderStatus(MesExtEnumUtil.ORDER_STATUS.RELEASE.getValue());
//非试制单
if (!MesExtEnumUtil.ORDER_TYPE_IDENTIFICATION.P.getValue().equals(item.getOrderFlag())) {
ValidatorBean.checkNotNull(item.getProductVersion(), "生产版本不能为空");
//校验物料生产版本是否存在
MesProductVersion mesProductVersion = checkMesProductVersion(item);
//获取bom信息
List<MesBom> bomList = mesBomService.findMesBomByPartNoAndBomVersion(item.getPartNo(), item.getOrganizeCode(), mesProductVersion.getAlternativePartList());
item.setWorkOrderStatus(MesExtEnumUtil.ORDER_STATUS.RELEASE.getValue());
//发送工单信息给WMS
saveMesWorkOrderToWms.addAll(mesWorkOrderToWmsService.saveMesWorkOrderToWms(item, bomList));
}
} else {
ValidatorBean.checkNotNull(item.getPlanStartTime(), "计划开始时间不能为空");
ValidatorBean.checkNotNull(item.getPlanEndTime(), "计划结束时间不能为空");
if (Objects.isNull(item.getQty()) || item.getQty() <= 0d) {
MesException.throwMesBusiException("生产数量不能小于等于0");
}
//获取生产版本
MesProductVersion mesProductVersion = getMesProductVersion(item, mesWorkCenter);
item.setProductVersion(mesProductVersion.getProductVersion());
//获取bom信息
List<MesBom> bomList = mesBomService.findMesBomByPartNoAndBomVersion(item.getPartNo(), item.getOrganizeCode(), mesProductVersion.getAlternativePartList());
//是否自动发布
isAuto(item, saveMesWorkOrderToWms, bomList);
//发送工单给WMS
sendToWms(item, mesWorkCenter, saveMesWorkOrderToWms);
}
//物料名称不存在,从物料信息中获取
MesPartSap mesPart = iMesPartSapService.getMesPartSapByPartNo(item.getPartNo(), item.getOrganizeCode());
@ -381,6 +375,20 @@ public class MesWorkOrderService extends BaseMesService<MesWorkOrder> implements
}
}
private void sendToWms(MesWorkOrder item, MesWorkCenter mesWorkCenter, List<MesWorkOrderToWms> saveMesWorkOrderToWms) {
//非试制单
List<MesBom> bomList = null;
if (!MesExtEnumUtil.ORDER_TYPE_IDENTIFICATION.P.getValue().equals(item.getOrderFlag())) {
//获取生产版本
MesProductVersion mesProductVersion = getMesProductVersion(item, mesWorkCenter);
item.setProductVersion(mesProductVersion.getProductVersion());
//获取bom信息
bomList = mesBomService.findMesBomByPartNoAndBomVersion(item.getPartNo(), item.getOrganizeCode(), mesProductVersion.getAlternativePartList());
}
//是否自动发布
isAuto(item, saveMesWorkOrderToWms, bomList);
}
private void isAuto(MesWorkOrder item, List<MesWorkOrderToWms> saveMesWorkOrderToWms, List<MesBom> bomList) {
MesPartProdGroup mesPartProdGroup = null;
if(StringUtil.isEmpty(item.getPartProdGroupCode())){
@ -400,7 +408,9 @@ public class MesWorkOrderService extends BaseMesService<MesWorkOrder> implements
if (CommonEnumUtil.VALID == mesPartProdGroup.getIsAutoRelease()) {
item.setWorkOrderStatus(MesExtEnumUtil.ORDER_STATUS.RELEASE.getValue());
//发送工单信息给WMS
if(!Objects.isNull(bomList)){
saveMesWorkOrderToWms.addAll(mesWorkOrderToWmsService.saveMesWorkOrderToWms(item, bomList));
}
} else {
item.setWorkOrderStatus(MesExtEnumUtil.ORDER_STATUS.CREATE.getValue());
}

Loading…
Cancel
Save