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

tags/yfai-mes-ext-v1.0
LML丶 11 months ago
commit 8fefd3dbac

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

@ -1,14 +0,0 @@
package cn.estsh.i3plus.ext.mes.api.base;
import cn.estsh.i3plus.pojo.mes.bean.MesAssemblyPartNosortCfg;
import cn.estsh.i3plus.pojo.mes.bean.MesPart;
/**
* @Description:
* @CreateDate 2024/04/16
* @Author zxw
*/
public interface IMesAssemblyPartNosortCfgService extends IBaseMesService<MesAssemblyPartNosortCfg> {
}

@ -2,6 +2,8 @@ package cn.estsh.i3plus.ext.mes.api.base;
import cn.estsh.i3plus.pojo.mes.bean.MesShift;
import java.util.List;
/**
* @Description:
* @CreateDate 2024/04/16
@ -9,5 +11,5 @@ import cn.estsh.i3plus.pojo.mes.bean.MesShift;
*/
public interface IMesShiftService extends IBaseMesService<MesShift> {
List<MesShift> findMesShift(MesShift mesShift);
}

@ -1,8 +1,7 @@
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.MesAssemblyPartNosortCfg;
import cn.estsh.i3plus.pojo.mes.bean.MesProdRuleNosortCfg;
import cn.estsh.i3plus.pojo.mes.bean.MesAssemblyNosortCfg;
import io.swagger.annotations.Api;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
@ -12,6 +11,6 @@ import org.springframework.web.bind.annotation.RestController;
*/
@Api("非排序装配件维护表")
@RestController
@RequestMapping(MesCommonConstant.MES_YANFEN + "/mesAssemblyPartNosortCfg")
public class MesAssemblyPartNosortCfgController extends BaseMesController<MesAssemblyPartNosortCfg>{
@RequestMapping(MesCommonConstant.MES_YANFEN + "/mesAssemblyNosortCfg")
public class MesAssemblyNosortCfgController extends BaseMesController<MesAssemblyNosortCfg>{
}

@ -1,12 +1,40 @@
package cn.estsh.i3plus.ext.mes.apiservice.controller.base;
import cn.estsh.i3plus.ext.mes.api.base.IMesShiftService;
import cn.estsh.i3plus.ext.mes.apiservice.config.AuthUtilExt;
import cn.estsh.i3plus.ext.mes.pojo.constant.MesCommonConstant;
import cn.estsh.i3plus.pojo.base.enumutil.ResourceEnumUtil;
import cn.estsh.i3plus.pojo.mes.bean.MesShift;
import cn.estsh.impp.framework.boot.exception.ImppBusiException;
import cn.estsh.impp.framework.boot.util.ResultBean;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import java.util.List;
@RestController
@RequestMapping(MesCommonConstant.MES_YANFEN + "/mesShift")
public class MesShiftController extends BaseMesController<MesShift> {
@Autowired
private IMesShiftService mesShiftService;
@GetMapping(value = "/find")
@ApiOperation(value = "查询班次信息", notes = "查询班次信息")
public ResultBean findMesShift(MesShift mesShift) {
try {
mesShift.setOrganizeCode(AuthUtilExt.getOrganizeCode());
List<MesShift> mesShiftList = mesShiftService.findMesShift(mesShift);
return ResultBean.success("操作成功")
.setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode())
.setResultList(mesShiftList);
} catch (ImppBusiException e) {
return ResultBean.fail(e);
}
}
}

@ -0,0 +1,17 @@
package cn.estsh.i3plus.ext.mes.apiservice.serviceimpl.base;
import cn.estsh.i3plus.ext.mes.api.base.IMesAssemblyNosortCfgService;
import cn.estsh.i3plus.pojo.base.bean.DdlPackBean;
import cn.estsh.i3plus.pojo.base.tool.DdlPreparedPack;
import cn.estsh.i3plus.pojo.mes.bean.MesAssemblyNosortCfg;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service;
@Service
@Slf4j
public class MesAssemblyNosortCfgService extends BaseMesService<MesAssemblyNosortCfg> implements IMesAssemblyNosortCfgService {
protected void setPackQueryBean(MesAssemblyNosortCfg bean, DdlPackBean packBean) {
DdlPreparedPack.getNumEqualPack(bean.getPid(), "pid", packBean);
}
}

@ -1,19 +0,0 @@
package cn.estsh.i3plus.ext.mes.apiservice.serviceimpl.base;
import cn.estsh.i3plus.ext.mes.api.base.IMesAssemblyPartNosortCfgService;
import cn.estsh.i3plus.ext.mes.api.base.IMesTimeEfficientCfgService;
import cn.estsh.i3plus.pojo.base.bean.DdlPackBean;
import cn.estsh.i3plus.pojo.base.tool.DdlPreparedPack;
import cn.estsh.i3plus.pojo.mes.bean.MesAssemblyPartNosortCfg;
import cn.estsh.i3plus.pojo.mes.bean.MesTimeEfficientCfg;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service;
@Service
@Slf4j
public class MesAssemblyPartNosortCfgService extends BaseMesService<MesAssemblyPartNosortCfg> implements IMesAssemblyPartNosortCfgService {
protected void setPackQueryBean(MesAssemblyPartNosortCfg bean, DdlPackBean packBean) {
DdlPreparedPack.getStringEqualPack(bean.getPid(), "pid", packBean);
}
}

@ -149,7 +149,7 @@ public class MesCraftRouteDetailServiceImpl extends BaseMesService<MesCraftRoute
String organizeCode = craftRouteDetailFist.getOrganizeCode();
MesCraftRoute mesCraftRoute = mesCraftRouteService.getMesCraftRouteByCode(craftRouteDetailFist.getCraftRouteCode(), organizeCode);
//排序
if (MesExtEnumUtil.LINE_TYPE.LINE_TYPE_10.getValue() == mesCraftRoute.getCraftRouteType()) {
if (MesExtEnumUtil.WORK_CENTER_TYPE.SORT.getValue() == mesCraftRoute.getCraftRouteType()) {
//根据路线代码查询可选的工艺信息
List<String> craftCodeList = findMesCraftCode(organizeCode, routeCode);
//判断工艺是否属于同一流程
@ -159,7 +159,7 @@ public class MesCraftRouteDetailServiceImpl extends BaseMesService<MesCraftRoute
}
});
//非排序
} else if (MesExtEnumUtil.LINE_TYPE.LINE_TYPE_20.getValue() != mesCraftRoute.getCraftRouteType()) {
} else if (MesExtEnumUtil.WORK_CENTER_TYPE.NOSORT.getValue() != mesCraftRoute.getCraftRouteType()) {
MesException.throwMesBusiException("工艺路线类型不存在");
}
}

@ -2,6 +2,7 @@ package cn.estsh.i3plus.ext.mes.apiservice.serviceimpl.base;
import cn.estsh.i3plus.ext.mes.api.base.IMesShiftService;
import cn.estsh.i3plus.platform.common.exception.ImppExceptionEnum;
import cn.estsh.i3plus.platform.common.tool.TimeTool;
import cn.estsh.i3plus.pojo.base.bean.DdlPackBean;
import cn.estsh.i3plus.pojo.base.enumutil.CommonEnumUtil;
import cn.estsh.i3plus.pojo.base.tool.DdlPreparedPack;
@ -11,6 +12,8 @@ import cn.estsh.impp.framework.boot.util.ValidatorBean;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service;
import java.util.List;
@Service
@Slf4j
public class MesShiftService extends BaseMesService<MesShift> implements IMesShiftService {
@ -77,4 +80,16 @@ public class MesShiftService extends BaseMesService<MesShift> implements IMesShi
}
}
@Override
public List<MesShift> findMesShift(MesShift mesShift) {
DdlPackBean packBean = DdlPackBean.getDdlPackBean(mesShift.getOrganizeCode());
String nowDate = TimeTool.getNowTime(true);
DdlPreparedPack.getNumEqualPack(mesShift.getIsValid(), "isValid", packBean);
DdlPreparedPack.getStringEqualPack(mesShift.getShiftCode(), "shiftCode", packBean);
DdlPreparedPack.getStringEqualPack(mesShift.getWorkCenterCode(), "workCenterCode", packBean);
DdlPreparedPack.getStringLikerPack(mesShift.getShiftName(), "shiftName", packBean);
DdlPreparedPack.getStringSmallerPack(nowDate,"beginDate",packBean);
DdlPreparedPack.getStringBiggerPack(nowDate,"endDate",packBean);
return baseRDao.findByHqlWhere(packBean);
}
}

@ -1,5 +1,6 @@
package cn.estsh.i3plus.ext.mes.apiservice.serviceimpl.base;
import cn.estsh.i3plus.ext.mes.api.base.IMesPartProdGroupService;
import cn.estsh.i3plus.ext.mes.api.base.IMesPartService;
import cn.estsh.i3plus.ext.mes.api.base.IMesProductOffLineService;
import cn.estsh.i3plus.ext.mes.api.base.IMesWorkOrderService;
@ -61,6 +62,10 @@ public class MesWorkOrderService extends BaseMesService<MesWorkOrder> implements
private MesShiftRepository mesShiftRDao;
@Autowired
private MesProductPlanRepository mesProductPlanRDao;
@Autowired
private IMesPartProdGroupService mesPartProdGroupService;
@Autowired
private MesCustomerPartRepository mesCustomerPartRDao;
@Override
public MesWorkOrder insert(MesWorkOrder bean) {
@ -84,15 +89,14 @@ public class MesWorkOrderService extends BaseMesService<MesWorkOrder> implements
}
//生成工单号
genSerialNoModel = new GenSerialNoModel(MesCommonConstant.ORDER_NO_JIS_SORT);
genSerialNoModel.setPartNo(bean.getPartNo());
genSerialNoModel = new GenSerialNoModel(MesCommonConstant.MES_WORK_ORDER_NO);
List<String> resultList = syncFuncService.syncSerialNo(genSerialNoModel, bean.getCreateUser(), bean.getOrganizeCode(), 1).getResultList();
MesWorkOrder copyMesWorkOrder = new MesWorkOrder();
BeanUtils.copyProperties(bean, copyMesWorkOrder);
copyMesWorkOrder.setProduceSeq(produceSeq + 1);
copyMesWorkOrder.setQty(1D);
copyMesWorkOrder.setWorkOrderNo(resultList.get(0) + "_" + copyMesWorkOrder.getOrganizeCode());
copyMesWorkOrder.setWorkOrderNo(resultList.get(0));
ConvertBean.serviceModelInitialize(copyMesWorkOrder, bean.getCreateUser());
MesWorkOrderLog workOrderLog = new MesWorkOrderLog();
@ -105,24 +109,22 @@ public class MesWorkOrderService extends BaseMesService<MesWorkOrder> implements
return bean;
} else if (bean.getWorkOrderType() == MesExtEnumUtil.ORDER_TYPE.UN_SORT.getValue()) {
//生成工单号
genSerialNoModel = new GenSerialNoModel(MesCommonConstant.ORDER_NO_JIS_UN_SORT);
genSerialNoModel = new GenSerialNoModel(MesCommonConstant.MES_WORK_ORDER_NO);
} else {
//生成工单号
genSerialNoModel = new GenSerialNoModel(MesCommonConstant.ORDER_NO_BTO);
genSerialNoModel = new GenSerialNoModel(MesCommonConstant.MES_WORK_ORDER_NO);
Integer produceSeq = 0;
if (null != result && result.getProduceSeq() != null) {
produceSeq = result.getProduceSeq();
}
bean.setProduceSeq(produceSeq + 1);
GenSerialNoModel orderSeqSerialNoModel = new GenSerialNoModel(MesCommonConstant.ORDER_NO_BTO_SEQ);
orderSeqSerialNoModel.setPartNo(bean.getPartNo());
List<String> resultList = syncFuncService.syncSerialNo(orderSeqSerialNoModel, bean.getCreateUser(), bean.getOrganizeCode(), 1).getResultList();
bean.setWorkOrderSeq(resultList.get(0));
// bean.setOrderSeq(Integer.parseInt(resultList.get(0)));
}
genSerialNoModel.setPartNo(bean.getPartNo());
List<String> resultList = syncFuncService.syncSerialNo(genSerialNoModel, bean.getCreateUser(), bean.getOrganizeCode(), 1).getResultList();
bean.setWorkOrderNo(resultList.get(0) + "_" + bean.getOrganizeCode());
bean.setWorkOrderNo(resultList.get(0));
bean.setQty(bean.getQty());
ConvertBean.serviceModelInitialize(bean, bean.getCreateUser());
@ -327,8 +329,17 @@ public class MesWorkOrderService extends BaseMesService<MesWorkOrder> implements
MesException.throwMesBusiException("vin号【%s】重复", item.getVinCode());
}
}
//校验零件生产组信息
// MesPartProdGroupDetail mesPartProdGroupDetail = new MesPartProdGroupDetail();
// mesPartProdGroupDetail.setWorkCenterCode(item.getWorkCenterCode());
// mesPartProdGroupDetail.setPartNo(item.getPartNo());
// mesPartProdGroupDetail.setOrganizeCode(item.getOrganizeCode());
// List<MesPartProdGroup> mesPartProdGroup = mesPartProdGroupService.findMesPartProdGroup(mesPartProdGroupDetail);
//排序工单数量为1
item.setQty(1d);
item.setWorkOrderStatus(MesExtEnumUtil.ORDER_STATUS.CREATE.getValue());
} else if (item.getWorkOrderType() == MesExtEnumUtil.ORDER_TYPE.UN_SORT.getValue()) {
ValidatorBean.checkNotNull(item.getOrderFlag(), "标识不能为空");
ValidatorBean.checkNotNull(item.getProductVersion(), "生产版本不能为空");
@ -345,9 +356,12 @@ public class MesWorkOrderService extends BaseMesService<MesWorkOrder> implements
if (StringUtil.isEmpty(item.getPlanStartTime()) || StringUtil.isEmpty(item.getPlanEndTime())) {
packPlanTime(item);
}
if(StringUtil.isEmpty(item.getCustomerPartNo())){
getCustomerPart(item);
}
//校验物料生产版本是否存在
checkMesProductVersion(item, mesWorkCenter);
item.setWorkOrderStatus(MesExtEnumUtil.ORDER_STATUS.RELEASE.getValue());
} else {
ValidatorBean.checkNotNull(item.getPlanStartTime(), "计划开始时间不能为空");
ValidatorBean.checkNotNull(item.getPlanEndTime(), "计划结束时间不能为空");
@ -356,16 +370,30 @@ public class MesWorkOrderService extends BaseMesService<MesWorkOrder> implements
MesProductVersion mesProductVersion = getMesProductVersion(item, mesWorkCenter);
item.setProductVersion(mesProductVersion.getProductVersion());
}
if(StringUtil.isEmpty(item.getCustomerPartNo())){
getCustomerPart(item);
}
//拼接
// item.setPlanStartTime(item.getPlanStartTime() + " " + "00:00:00");
// item.setPlanEndTime(item.getPlanEndTime() + " " + "23:59:59");
item.setWorkOrderStatus(MesExtEnumUtil.ORDER_STATUS.RELEASE.getValue());
}
//物料名称不存在,从物料信息中获取
MesPart mesPart = iMesPartService.getPartByPartNo(item.getPartNo(), item.getOrganizeCode());
item.setPartNameRdd(mesPart.getPartName());
item.setUnit(mesPart.getUnit());
item.setWorkOrderStatus(MesExtEnumUtil.ORDER_STATUS.CREATE.getValue());
}
private void getCustomerPart(MesWorkOrder item) {
DdlPackBean ddlPackBean = DdlPackBean.getDdlPackBean(item.getOrganizeCode());
DdlPreparedPack.getStringEqualPack(item.getPartNo(), "erpPartNo", ddlPackBean);
MesCustomerPart customerPart = mesCustomerPartRDao.getByProperty(ddlPackBean);
if(!Objects.isNull(customerPart)){
item.setCustomerPartNo(customerPart.getCustomerPartNo());
item.setCustomerPartName(customerPart.getCustomerPartName());
}
}
private void checkMesProductVersion(MesWorkOrder item, MesWorkCenter mesWorkCenter) {

@ -23,12 +23,8 @@ public class MesCommonConstant {
*/
//BTO工单顺序号
public static final String ORDER_NO_BTO_SEQ = "ORDER_NO_BTO_SEQ";
//BTO单号规则
public static final String ORDER_NO_BTO = "ORDER_NO_BTO";
//非排序单号规则
public static final String ORDER_NO_JIS_UN_SORT = "ORDER_NO_JIS_UN_SORT";
//排序单号规则
public static final String ORDER_NO_JIS_SORT = "ORDER_NO_JIS_SORT";
public static final String MES_WORK_ORDER_NO = "MES_WORK_ORDER_NO";
//报工条码规则
public static final String REPORT_SN = "REPORT_SN";
//装车单号

Loading…
Cancel
Save