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

tags/yfai-mes-ext-v1.0
LML丶 12 months ago
commit 8704b44eb6

@ -8,7 +8,7 @@ import org.springframework.web.bind.annotation.RestController;
@Api(description = "客户道口")
@RestController
@RequestMapping(MesCommonConstant.MES_YANFEN + "/mesCustomerRoad")
@RequestMapping(MesCommonConstant.MES_YANFEN + "/mesCustomerDock")
public class MesCustomerDockController extends BaseMesController<MesCustomerDock> {
}

@ -40,7 +40,7 @@ public class MesShippingOrderManagementController extends BaseMesController<MesS
List<String> orderNoList =
beanList.stream().filter(k -> k.getStatus() != MesExtEnumUtil.SHIPPING_ORDER_STATUS.CREATE.getValue() &&
k.getStatus() != MesExtEnumUtil.SHIPPING_ORDER_STATUS.PUBLISHED.getValue()).map(k -> k.getShippingOrderNo()).collect(Collectors.toList());
k.getStatus() != MesExtEnumUtil.SHIPPING_ORDER_STATUS.PUBLISHED.getValue()).map(k -> k.getShippingCode()).collect(Collectors.toList());
if (!CollectionUtils.isEmpty(orderNoList)) {
throw ImppExceptionBuilder.newInstance()

@ -14,4 +14,7 @@ import org.springframework.web.bind.annotation.RestController;
@RestController
@RequestMapping(MesCommonConstant.MES_YANFEN + "/mesTimeEfficientCfg")
public class MesTimeEfficientCfgController extends BaseMesController<MesTimeEfficientCfg>{
}

@ -48,7 +48,7 @@ public class MesShippingOrderManagementDetailDaoImpl implements IMesShippingOrde
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.setParameter("shippingCode", detail.getShippingCode());
List list = query.getResultList();
@ -77,7 +77,7 @@ public class MesShippingOrderManagementDetailDaoImpl implements IMesShippingOrde
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.setParameter("shippingCode", detail.getShippingCode());
query.setFirstResult(pager.getStartRow()).setMaxResults(pager.getPageSize());

@ -2,6 +2,8 @@ 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;
@ -11,4 +13,7 @@ import org.springframework.stereotype.Service;
@Slf4j
public class MesAssemblyPartNosortCfgService extends BaseMesService<MesAssemblyPartNosortCfg> implements IMesAssemblyPartNosortCfgService {
protected void setPackQueryBean(MesAssemblyPartNosortCfg bean, DdlPackBean packBean) {
DdlPreparedPack.getStringEqualPack(bean.getPid(), "pid", packBean);
}
}

@ -23,11 +23,13 @@ import org.springframework.stereotype.Service;
@Slf4j
public class MesBasDowntimeReasonServiceImpl extends BaseMesService<MesDowntimeReason> implements IMesBasDowntimeReasonService {
@Override
protected void setPackQueryBean(MesDowntimeReason bean, DdlPackBean packBean) {
DdlPreparedPack.getStringEqualPack(bean.getReasonCode(), "reasonCode", packBean);
DdlPreparedPack.getStringEqualPack(bean.getReasonName(), "reasonName", packBean);
DdlPreparedPack.getStringEqualPack(bean.getReasonTypeCode(), "reasonTypeCode", packBean);
}
@Override
protected void onInsertBean(MesDowntimeReason item) {
// 数据校验
ValidatorBean.checkNotNull(item.getOrganizeCode(), "工厂号不能为空");

@ -23,10 +23,12 @@ import org.springframework.stereotype.Service;
@Slf4j
public class MesBasDowntimeReasonTypeServiceImpl extends BaseMesService<MesDowntimeReasonType> implements IMesBasDowntimeReasonTypeService {
@Override
protected void setPackQueryBean(MesDowntimeReasonType bean, DdlPackBean packBean) {
DdlPreparedPack.getStringEqualPack(bean.getReasonTypeCode(), "reasonTypeCode", packBean);
DdlPreparedPack.getStringEqualPack(bean.getReasonTypeName(), "reasonTypeName", packBean);
}
@Override
protected void onInsertBean(MesDowntimeReasonType item) {
// 数据校验
ValidatorBean.checkNotNull(item.getOrganizeCode(), "工厂号不能为空");

@ -20,6 +20,7 @@ import org.springframework.stereotype.Service;
@Slf4j
public class MesCavityGroupCfgServiceImpl extends BaseMesService<MesCavityGroupCfg> implements IMesCavityGroupCfgService {
@Override
protected void setPackQueryBean(MesCavityGroupCfg bean, DdlPackBean packBean) {
DdlPreparedPack.getStringLikerPack(bean.getCavityCode(), "cavityCode", packBean);
DdlPreparedPack.getStringLikerPack(bean.getCavityName(), "cavityName", packBean);
@ -28,6 +29,7 @@ public class MesCavityGroupCfgServiceImpl extends BaseMesService<MesCavityGroupC
packBean.setOrderByStr(" order by createDatetime desc ");
}
@Override
protected void onInsertBean(MesCavityGroupCfg item) {
// 数据校验
ValidatorBean.checkNotNull(item.getCavityCode(), "腔组代码不能为空");
@ -40,6 +42,7 @@ public class MesCavityGroupCfgServiceImpl extends BaseMesService<MesCavityGroupC
}
}
@Override
protected void onUpdateBean(MesCavityGroupCfg item) {
// 数据校验
DdlPackBean packBean = DdlPackBean.getDdlPackBean(item.getOrganizeCode());

@ -19,16 +19,19 @@ import org.springframework.stereotype.Service;
@Slf4j
public class MesCavityGroupDetailCfgServiceImpl extends BaseMesService<MesCavityGroupDetailCfg> implements IMesCavityGroupDetailCfgService {
@Override
protected void setPackQueryBean(MesCavityGroupDetailCfg bean, DdlPackBean packBean) {
DdlPreparedPack.getStringEqualPack(bean.getCavityCode(),"cavityCode",packBean);
DdlPreparedPack.getStringEqualPack(bean.getEquipmentCode(),"equipmentCode",packBean);
}
@Override
protected void onInsertBean(MesCavityGroupDetailCfg item) {
}
@Override
protected void onUpdateBean(MesCavityGroupDetailCfg item) {
}
}

@ -45,6 +45,7 @@ public class MesCraftRouteDetailServiceImpl extends BaseMesService<MesCraftRoute
private IMesCraftService mesCraftService;
@Override
protected void setPackQueryBean(MesCraftRouteDetail bean, DdlPackBean packBean) {
DdlPreparedPack.getStringEqualPack(bean.getCraftRouteCode(), "craftRouteCode", packBean);
DdlPreparedPack.getStringEqualPack(bean.getCraftCode(), "craftCode", packBean);
@ -52,6 +53,7 @@ public class MesCraftRouteDetailServiceImpl extends BaseMesService<MesCraftRoute
packBean.setOrderByStr(" order by seq asc ");
}
@Override
protected void setPackQueryBean(DdlPackBean packBean) {
packBean.setOrderByStr(" order by seq asc ");
}

@ -23,12 +23,14 @@ import org.springframework.stereotype.Service;
@Slf4j
public class MesCraftRouteServiceImpl extends BaseMesService<MesCraftRoute> implements IMesCraftRouteService {
@Override
protected void setPackQueryBean(MesCraftRoute bean, DdlPackBean packBean) {
DdlPreparedPack.getStringEqualPack(bean.getCraftRouteCode(), "craftRouteCode", packBean);
DdlPreparedPack.getStringLikerPack(bean.getCraftRouteName(), "craftRouteName", packBean);
DdlPreparedPack.getNumEqualPack(bean.getCraftRouteType(), "craftRouteType", packBean);
}
@Override
protected void onInsertBean(MesCraftRoute item) {
// 数据校验
ValidatorBean.checkNotNull(item.getCraftRouteCode(), "工艺路线代码不能为空");
@ -46,6 +48,7 @@ public class MesCraftRouteServiceImpl extends BaseMesService<MesCraftRoute> impl
}
}
@Override
protected void onUpdateBean(MesCraftRoute item) {
// 数据校验
ValidatorBean.checkNotNull(item.getCraftRouteCode(), "工艺路线代码不能为空");

@ -29,11 +29,13 @@ public class MesCraftServiceImpl extends BaseMesService<MesCraft> implements IMe
@Autowired
private IMesCraftDao mesCraftDao;
@Override
protected void setPackQueryBean(MesCraft bean, DdlPackBean packBean) {
DdlPreparedPack.getStringEqualPack(bean.getCraftCode(), "craftCode", packBean);
DdlPreparedPack.getStringLikerPack(bean.getCraftName(), "craftName", packBean);
}
@Override
protected void onInsertBean(MesCraft item) {
// 数据校验
ValidatorBean.checkNotNull(item.getCraftCode(), "工艺代码不能为空");
@ -52,6 +54,7 @@ public class MesCraftServiceImpl extends BaseMesService<MesCraft> implements IMe
}
@Override
protected void onUpdateBean(MesCraft item) {
// 数据校验
ValidatorBean.checkNotNull(item.getCraftCode(), "工艺代码不能为空");

@ -24,12 +24,14 @@ import org.springframework.stereotype.Service;
@Slf4j
public class MesEnumDetailServiceImpl extends BaseMesService<MesEnumDetail> implements IMesEnumDetailService {
@Override
protected void setPackQueryBean(MesEnumDetail bean, DdlPackBean packBean) {
DdlPreparedPack.getStringEqualPack(bean.getEnumCode(), "enumCode", packBean);
DdlPreparedPack.getStringEqualPack(bean.getDetailCode(), "detailCode", packBean);
DdlPreparedPack.getStringEqualPack(bean.getDetailName(), "detailName", packBean);
DdlPreparedPack.getStringEqualPack(bean.getDetailValue(), "detailValue", packBean);
}
@Override
protected void onInsertBean(MesEnumDetail item) {
// 数据校验
ValidatorBean.checkNotNull(item.getOrganizeCode(), "工厂号不能为空");
@ -41,16 +43,16 @@ public class MesEnumDetailServiceImpl extends BaseMesService<MesEnumDetail> impl
//唯一性校验
DdlPackBean packBean = DdlPackBean.getDdlPackBean(item.getOrganizeCode());
DdlPreparedPack.getStringEqualPack(item.getEnumCode(), "assetNum", packBean);
DdlPreparedPack.getStringEqualPack(item.getDetailCode(), "mouldNo", packBean);
DdlPreparedPack.getStringEqualPack(item.getDetailValue(), "equipmentCode", packBean);
DdlPreparedPack.getStringEqualPack(item.getEnumCode(), "enumCode", packBean);
DdlPreparedPack.getStringEqualPack(item.getDetailCode(), "detailCode", packBean);
DdlPreparedPack.getStringEqualPack(item.getDetailValue(), "detailValue", packBean);
boolean flg = baseRDao.isExitByHql(packBean);
if (flg) {
throw ImppExceptionBuilder.newInstance()
.setSystemID(CommonEnumUtil.SOFT_TYPE.MES.getCode())
.setErrorCode(ImppExceptionEnum.VARIFY_EXCEPTION.getCode())
.setErrorDetail("枚举代码【%s】属性代码【%s】属性值【%s】已经存在请检查数据", item.getEnumCode(),item.getEnumCode(),item.getDetailValue())
.setErrorDetail("枚举代码【%s】属性代码【%s】属性值【%s】已经存在请检查数据", item.getEnumCode(),item.getDetailCode(),item.getDetailValue())
.build();
}
}

@ -41,10 +41,12 @@ public class MesEnumExtService extends BaseMesService<MesEnum> implements IMesEn
private MesEnumRepository enumRepository;
@Override
protected void setPackQueryBean(MesEnum bean, DdlPackBean packBean) {
DdlPreparedPack.getStringEqualPack(bean.getEnumCode(), "enumCode", packBean);
DdlPreparedPack.getStringEqualPack(bean.getEnumName(), "enumName", packBean);
}
@Override
protected void onInsertBean(MesEnum item) {
// 数据校验
ValidatorBean.checkNotNull(item.getOrganizeCode(), "工厂号不能为空");
@ -53,7 +55,7 @@ public class MesEnumExtService extends BaseMesService<MesEnum> implements IMesEn
//唯一性校验
DdlPackBean packBean = DdlPackBean.getDdlPackBean(item.getOrganizeCode());
DdlPreparedPack.getStringEqualPack(item.getEnumCode(), "assetNum", packBean);
DdlPreparedPack.getStringEqualPack(item.getEnumCode(), "enumCode", packBean);
boolean flg = baseRDao.isExitByHql(packBean);
if (flg) {

@ -19,16 +19,19 @@ import org.springframework.stereotype.Service;
@Slf4j
public class MesEquipmentProdParamCfgServiceImpl extends BaseMesService<MesEquipmentProdParamCfg> implements IMesEquipmentProdParamCfgService {
@Override
protected void setPackQueryBean(MesEquipmentProdParamCfg bean, DdlPackBean packBean) {
DdlPreparedPack.getStringEqualPack(bean.getCavityCode(),"cavityCode",packBean);
DdlPreparedPack.getNumEqualPack(bean.getSeq(),"seq",packBean);
DdlPreparedPack.getStringEqualPack(bean.getCavityCode(),"pid",packBean);
DdlPreparedPack.getStringEqualPack(bean.getPid(),"pid",packBean);
}
@Override
protected void onInsertBean(MesEquipmentProdParamCfg item) {
item.setDataSource(MesExtEnumUtil.DATA_SOURCE.DATA_SOURCE30.getValue());
}
@Override
protected void onUpdateBean(MesEquipmentProdParamCfg item) {
}

@ -18,6 +18,7 @@ import org.springframework.stereotype.Service;
@Slf4j
public class MesLoadingGroupDetailServiceImpl extends BaseMesService<MesLoadingGroupDetail> implements IMesLoadingGroupDetailService {
@Override
protected void setPackQueryBean(MesLoadingGroupDetail bean, DdlPackBean packBean) {
DdlPreparedPack.getStringEqualPack(bean.getShippingGroupNo(), "shippingGroupNo", packBean);
}

@ -18,11 +18,12 @@ import org.springframework.stereotype.Service;
@Slf4j
public class MesLoadingGroupServiceImpl extends BaseMesService<MesLoadingGroup> implements IMesLoadingGroupService {
@Override
protected void setPackQueryBean(MesLoadingGroup bean, DdlPackBean packBean) {
DdlPreparedPack.getStringEqualPack(bean.getLoadingGroupNo(), "loadingGroupNo", packBean);
DdlPreparedPack.getStringEqualPack(bean.getLoadingGroupName(), "loadingGroupName", packBean);
DdlPreparedPack.getStringEqualPack(bean.getCustomerCode(), "customerCode", packBean);
DdlPreparedPack.getStringEqualPack(bean.getCustomerOrganizeCode(), "customerOrganizeCode", packBean);
DdlPreparedPack.getStringEqualPack(bean.getCusCode(), "custCode", packBean);
DdlPreparedPack.getStringEqualPack(bean.getCustOrganizeCode(), "custOrganizeCode", packBean);
}
}

@ -108,7 +108,7 @@ public class MesLoadingVehiclesOrderService extends BaseMesService<MesLoadingVeh
bean.getShippingOrderNoList().forEach(k -> {
MesLoadingVehiclesOrderDetail detail = new MesLoadingVehiclesOrderDetail();
orderNoList.add(k.getShippingOrderNo());
orderNoList.add(k.getShippingCode());
BeanUtils.copyProperties(k, detail, "id");
detail.setLoadingOrderNo(finalBean.getLoadingOrderNo());
detail.setWeatherCondition(finalBean.getWeatherCondition());
@ -122,8 +122,8 @@ public class MesLoadingVehiclesOrderService extends BaseMesService<MesLoadingVeh
orderManagementList.forEach(k -> k.setLoadingOrderNo(finalBean.getLoadingOrderNo()));
String customerCode = bean.getShippingOrderNoList().get(0).getCustCode();
String customerName = bean.getShippingOrderNoList().get(0).getCustomerName();
String customerOrganizeCode = bean.getShippingOrderNoList().get(0).getCustPlantCode();
String customerName = bean.getShippingOrderNoList().get(0).getCustName();
String customerOrganizeCode = bean.getShippingOrderNoList().get(0).getCustOrganizeCode();
String customerOrganizeName = bean.getShippingOrderNoList().get(0).getCustomerOrganizeName();
bean.setSeq(bean.getLoadingOrderNo());
bean.setStatus(MesExtEnumUtil.LOADING_ORDER_STATUS.CREATE.getValue());
@ -219,7 +219,7 @@ public class MesLoadingVehiclesOrderService extends BaseMesService<MesLoadingVeh
ValidatorBean.checkNotNull(item.getShippingOrderNoList(), "发运单不能为空");
item.getShippingOrderNoList().forEach(k -> {
if (k.getStatus() != MesExtEnumUtil.SHIPPING_ORDER_STATUS.CREATE.getValue() && k.getStatus() != MesExtEnumUtil.SHIPPING_ORDER_STATUS.PUBLISHED.getValue()) {
shippingOrderNoList.add(k.getShippingOrderNo());
shippingOrderNoList.add(k.getShippingCode());
}
});

@ -19,6 +19,7 @@ import org.springframework.stereotype.Service;
@Slf4j
public class MesMaximoAssetMainDataServiceImpl extends BaseMesService<MesMaximoAssetMainData> implements IMesMaximoAssetMainDataService {
@Override
protected void setPackQueryBean(MesMaximoAssetMainData bean, DdlPackBean packBean) {
DdlPreparedPack.getStringEqualPack(bean.getAssetNum(), "assetNum", packBean);
// DdlPreparedPack.getNumEqualPack(bean.getDescription(), "description", packBean);

@ -19,6 +19,7 @@ import org.springframework.stereotype.Service;
@Slf4j
public class MesMaximoMeterMainDataServiceImpl extends BaseMesService<MesMaximoMeterMainData> implements IMesMaximoMeterMainDataService {
@Override
protected void setPackQueryBean(MesMaximoMeterMainData bean, DdlPackBean packBean) {
DdlPreparedPack.getStringEqualPack(bean.getAssetNum(), "assetNum", packBean);
DdlPreparedPack.getStringEqualPack(bean.getBaseMeasureUnitId(), "baseMeasureUnitId", packBean);

@ -18,17 +18,18 @@ import org.springframework.stereotype.Service;
@Service
@Slf4j
public class MesModelMultiCavityServiceImpl extends BaseMesService<MesModelMultiCavity> implements IMesModelMultiCavityService {
@Override
protected void setPackQueryBean(MesModelMultiCavity bean, DdlPackBean packBean) {
DdlPreparedPack.getStringEqualPack(bean.getModuleCode(),"moduleCode",packBean);
DdlPreparedPack.getStringEqualPack(bean.getPartNo(),"partNo",packBean);
DdlPreparedPack.getStringEqualPack(bean.getEquipmentCode(),"equipmentCode",packBean);
}
@Override
protected void onInsertBean(MesModelMultiCavity item) {
}
@Override
protected void onUpdateBean(MesModelMultiCavity item) {
}
}

@ -17,7 +17,7 @@ public class MesPartShippingGroupService extends BaseMesService<MesPartShippingG
protected void setPackQueryBean(MesPartShippingGroup bean, DdlPackBean packBean) {
DdlPreparedPack.getStringLikerPack(bean.getShippingGroupNo(), "shippingGroupNo", packBean);
DdlPreparedPack.getStringLikerPack(bean.getShippingGroupCode(), "shippingGroupCode", packBean);
DdlPreparedPack.getStringLikerPack(bean.getShippingGroupName(), "shippingGroupName", packBean);
}
@ -32,17 +32,17 @@ public class MesPartShippingGroupService extends BaseMesService<MesPartShippingG
protected void onInsertBean(MesPartShippingGroup item) {
// 数据校验
ValidatorBean.checkNotNull(item.getShippingGroupNo(), "发运组代码不能为空");
ValidatorBean.checkNotNull(item.getShippingGroupCode(), "发运组代码不能为空");
DdlPackBean seriesPackBean = DdlPackBean.getDdlPackBean(item.getOrganizeCode());
DdlPreparedPack.getStringEqualPack(item.getShippingGroupNo(), "shippingGroupNo", seriesPackBean);
DdlPreparedPack.getStringEqualPack(item.getShippingGroupCode(), "shippingGroupCode", seriesPackBean);
boolean flg = baseRDao.isExitByHql(seriesPackBean);
if (flg) {
throw ImppExceptionBuilder.newInstance()
.setSystemID(CommonEnumUtil.SOFT_TYPE.MES.getCode())
.setErrorCode(ImppExceptionEnum.VARIFY_EXCEPTION.getCode())
.setErrorDetail("【%s】发运组代码已经存在请检查数据", item.getShippingGroupNo(), item.getCustomerCode())
.setErrorDetail("【%s】发运组代码已经存在请检查数据", item.getShippingGroupCode(), item.getShippingGroupCode())
.build();
}
@ -50,17 +50,17 @@ public class MesPartShippingGroupService extends BaseMesService<MesPartShippingG
protected void onUpdateBean(MesPartShippingGroup item) {
// 数据校验
ValidatorBean.checkNotNull(item.getShippingGroupNo(), "发运组代码不能为空");
ValidatorBean.checkNotNull(item.getShippingGroupCode(), "发运组代码不能为空");
DdlPackBean seriesPackBean = DdlPackBean.getDdlPackBean(item.getOrganizeCode());
DdlPreparedPack.getStringEqualPack(item.getShippingGroupNo(), "shippingGroupNo", seriesPackBean);
DdlPreparedPack.getStringEqualPack(item.getShippingGroupCode(), "shippingGroupNo", seriesPackBean);
DdlPreparedPack.getNumNOEqualPack(item.getId(), "id", seriesPackBean);
boolean flg = baseRDao.isExitByHql(seriesPackBean);
if (flg) {
throw ImppExceptionBuilder.newInstance()
.setSystemID(CommonEnumUtil.SOFT_TYPE.MES.getCode())
.setErrorCode(ImppExceptionEnum.VARIFY_EXCEPTION.getCode())
.setErrorDetail("【%s】发运组代码已经存在请检查数据", item.getShippingGroupNo(), item.getCustomerCode())
.setErrorDetail("【%s】发运组代码已经存在请检查数据", item.getShippingGroupCode(), item.getCustCode())
.build();
}
}

@ -22,6 +22,7 @@ import org.springframework.stereotype.Service;
@Slf4j
public class MesProcessCraftCfgServiceImpl extends BaseMesService<MesProcessCraftCfg> implements IMesProcessCraftCfgService {
@Override
protected void setPackQueryBean(MesProcessCraftCfg bean, DdlPackBean packBean) {
DdlPreparedPack.getStringEqualPack(bean.getCraftCode(), "craftCode", packBean);
DdlPreparedPack.getStringEqualPack(bean.getProcessCode(), "processCode", packBean);
@ -29,6 +30,7 @@ public class MesProcessCraftCfgServiceImpl extends BaseMesService<MesProcessCraf
DdlPreparedPack.getStringLikerPack(bean.getProcessName(), "processName", packBean);
}
@Override
protected void onInsertBean(MesProcessCraftCfg item) {
// 数据校验
ValidatorBean.checkNotNull(item.getCraftCode(), "工艺代码不能为空");
@ -47,6 +49,7 @@ public class MesProcessCraftCfgServiceImpl extends BaseMesService<MesProcessCraf
}
}
@Override
protected void onUpdateBean(MesProcessCraftCfg item) {
// 数据校验
ValidatorBean.checkNotNull(item.getCraftCode(), "工艺代码不能为空");

@ -35,6 +35,8 @@ public class MesProdCraftRouteServiceImpl extends BaseMesService<MesProdCraftRou
private MesCraftRouteRepository mesCraftRouteRDao;
@Autowired
private MesWorkCenterRepository mesWorkCenterRDao;
@Override
protected void setPackQueryBean(MesProdCraftRoute bean, DdlPackBean packBean) {
DdlPreparedPack.getStringEqualPack(bean.getCraftRouteCode(), "craftRouteCode", packBean);
// DdlPreparedPack.getStringLikerPack(bean.getCraftRouteName(), "craftRouteName", packBean);
@ -43,7 +45,7 @@ public class MesProdCraftRouteServiceImpl extends BaseMesService<MesProdCraftRou
DdlPreparedPack.getStringEqualPack(bean.getPptCode(), "pptCode", packBean);
DdlPreparedPack.getStringEqualPack(bean.getPartNo(), "partNo", packBean);
}
@Override
protected void onInsertBean(MesProdCraftRoute item) {
// 数据校验
ValidatorBean.checkNotNull(item.getOrganizeCode(), "工厂号不能为空");
@ -147,7 +149,7 @@ public class MesProdCraftRouteServiceImpl extends BaseMesService<MesProdCraftRou
.build();
}
}
@Override
protected void onUpdateBean(MesProdCraftRoute item) {
// 数据校验
ValidatorBean.checkNotNull(item.getCraftRouteCode(), "工艺路线代码不能为空");

@ -25,6 +25,7 @@ public class MesProductPlanServiceImpl extends BaseMesService<MesProductPlan> im
@Autowired
private IMesProductPlanDao iMesProductPlanDao;
@Override
protected void setPackQueryBean(MesProductPlan bean, DdlPackBean packBean) {
DdlPreparedPack.getStringEqualPack(bean.getPlanOrderNo(), "planOrderNo", packBean);
DdlPreparedPack.getStringEqualPack(bean.getPlanPartNo(), "planPartNo", packBean);

@ -11,6 +11,7 @@ import org.springframework.stereotype.Service;
@Slf4j
public class MesProductVersionService extends BaseMesService<MesProductVersion> implements IMesProductVersionService {
@Override
protected void setPackQueryBean(MesProductVersion bean, DdlPackBean packBean) {
DdlPreparedPack.getStringEqualPack(bean.getPartNo(),"partNo",packBean);
DdlPreparedPack.getStringEqualPack(bean.getWorkCenterCode(),"workCenterCode",packBean);

@ -23,7 +23,7 @@ public class MesShippingOrderManagementDetailService extends BaseMesService<MesS
private IMesShippingOrderManagementDetailDao shippingOrderManagementDetailDao;
protected void setPackQueryBean(MesShippingOrderManagementDetail bean, DdlPackBean packBean) {
DdlPreparedPack.getStringEqualPack(bean.getShippingOrderNo(), "shippingOrderNo", packBean);
DdlPreparedPack.getStringEqualPack(bean.getShippingCode(), "shippingCode", packBean);
}
public ListPager<MesShippingOrderManagementDetailModel> queryDetailGroupByPartNo(MesShippingOrderManagementDetail bean, Pager pager) {

@ -57,7 +57,7 @@ public class MesShippingOrderManagementService extends BaseMesService<MesShippin
protected void setPackQueryBean(MesShippingOrderManagement bean, DdlPackBean packBean) {
DdlPreparedPack.getStringEqualPack(bean.getShippingGroupNo(), "shippingGroupNo", packBean);
DdlPreparedPack.getStringEqualPack(bean.getCustCode(), "custCode", packBean);
DdlPreparedPack.getStringEqualPack(bean.getCustPlantCode(), "custPlantCode", packBean);
DdlPreparedPack.getStringEqualPack(bean.getCustOrganizeCode(), "custOrganizeCode", packBean);
DdlPreparedPack.getStringEqualPack(bean.getShippingGroupNo(), "shippingGroupNo", packBean);
if (!StringUtils.isEmpty(bean.getReleaseTimeStart()) || !StringUtils.isEmpty(bean.getReleaseTimeEnd())) {
DdlPreparedPack.timeBuilder(bean.getReleaseTimeStart(), bean.getReleaseTimeEnd(), "releaseTime", packBean, false);
@ -128,10 +128,10 @@ public class MesShippingOrderManagementService extends BaseMesService<MesShippin
BeanUtils.copyProperties(k, detail, "id");
MesPart part = partService.getPartByPartNo(k.getPartNo(), k.getOrganizeCode());
detail.setPartName(part.getPartName());
detail.setCustPartNo(k.getCustomerPartNo());
detail.setCustPartNo(k.getCustPartNo());
detail.setPlanQty(1);
// detail.setActualQty(1);
detail.setShippingOrderNo(finalBean.getShippingOrderNo());
detail.setShippingCode(finalBean.getShippingCode());
detail.setOrganizeCode(k.getOrganizeCode());
detail.setStatus(MesExtEnumUtil.SHIPPING_ORDER_STATUS.CREATE.getValue());
@ -162,7 +162,7 @@ public class MesShippingOrderManagementService extends BaseMesService<MesShippin
if (!bean.getShippingGroupNo().equals(originBean.getShippingGroupNo())) {
DdlPackBean detailPackBean = DdlPackBean.getDdlPackBean(bean.getOrganizeCode());
DdlPreparedPack.getStringEqualPack(bean.getShippingOrderNo(), "shippingOrderNo", detailPackBean);
DdlPreparedPack.getStringEqualPack(bean.getShippingCode(), "shippingCode", detailPackBean);
List<MesShippingOrderManagementDetail> detailDeleteList = detailService.findAll(detailPackBean);
detailDeleteList.forEach(k -> {
k.setIsDeleted(CommonEnumUtil.TRUE_OR_FALSE.TRUE.getValue());
@ -211,7 +211,7 @@ public class MesShippingOrderManagementService extends BaseMesService<MesShippin
MesShippingOrderManagement bean = baseRDao.getById(id);
if (StringUtils.isEmpty(bean)) continue;
DdlPackBean detailPackBean = DdlPackBean.getDdlPackBean(bean.getOrganizeCode());
DdlPreparedPack.getStringEqualPack(bean.getShippingOrderNo(), "shippingGroupNo", detailPackBean);
DdlPreparedPack.getStringEqualPack(bean.getShippingCode(), "shippingGroupNo", detailPackBean);
List<MesShippingOrderManagementDetail> detailDeleteList = detailService.findAll(detailPackBean);
detailDeleteList.forEach(k -> {
k.setIsDeleted(CommonEnumUtil.TRUE_OR_FALSE.TRUE.getValue());
@ -228,21 +228,21 @@ public class MesShippingOrderManagementService extends BaseMesService<MesShippin
protected void onInsertBean(MesShippingOrderManagement item) {
// 数据校验
ValidatorBean.checkNotNull(item.getShippingOrderNo(), "发运单不能为空");
ValidatorBean.checkNotNull(item.getShippingCode(), "发运单不能为空");
ValidatorBean.checkNotNull(item.getSeq(), "顺序号不能为空");
ValidatorBean.checkNotNull(item.getCustCode(), "客户代码不能为空");
ValidatorBean.checkNotNull(item.getCustPlantCode(), "客户工厂代码不能为空");
ValidatorBean.checkNotNull(item.getCustCode(), "客户工厂代码不能为空");
ValidatorBean.checkNotNull(item.getShippingGroupNo(), "发运组代码不能为空");
ValidatorBean.checkNotNull(item.getStatus(), "状态不能为空");
DdlPackBean shipGroupPackBean = DdlPackBean.getDdlPackBean(item.getOrganizeCode());
DdlPreparedPack.getStringEqualPack(item.getShippingOrderNo(), "shippingOrderNo", shipGroupPackBean);
DdlPreparedPack.getStringEqualPack(item.getShippingCode(), "shippingCode", shipGroupPackBean);
boolean flg = baseRDao.isExitByHql(shipGroupPackBean);
if (flg) {
throw ImppExceptionBuilder.newInstance()
.setSystemID(CommonEnumUtil.SOFT_TYPE.MES.getCode())
.setErrorCode(ImppExceptionEnum.VARIFY_EXCEPTION.getCode())
.setErrorDetail("【%s】发运单已经存在请检查数据", item.getShippingOrderNo())
.setErrorDetail("【%s】发运单已经存在请检查数据", item.getShippingCode())
.build();
}
@ -252,10 +252,10 @@ public class MesShippingOrderManagementService extends BaseMesService<MesShippin
protected void onUpdateBean(MesShippingOrderManagement item) {
// 数据校验
ValidatorBean.checkNotNull(item.getShippingOrderNo(), "发运单不能为空");
ValidatorBean.checkNotNull(item.getShippingCode(), "发运单不能为空");
ValidatorBean.checkNotNull(item.getSeq(), "顺序号不能为空");
ValidatorBean.checkNotNull(item.getCustCode(), "客户代码不能为空");
ValidatorBean.checkNotNull(item.getCustPlantCode(), "客户工厂代码不能为空");
ValidatorBean.checkNotNull(item.getCustOrganizeCode(), "客户工厂代码不能为空");
ValidatorBean.checkNotNull(item.getShippingGroupNo(), "发运组代码不能为空");
ValidatorBean.checkNotNull(item.getStatus(), "状态不能为空");
}
@ -267,7 +267,7 @@ public class MesShippingOrderManagementService extends BaseMesService<MesShippin
MesShippingOrderManagement originBean = baseRDao.getById(bean.getId());
DdlPackBean detailPackBean = DdlPackBean.getDdlPackBean(bean.getOrganizeCode());
DdlPreparedPack.getStringEqualPack(originBean.getShippingOrderNo(), "shippingOrderNo", detailPackBean);
DdlPreparedPack.getStringEqualPack(originBean.getShippingCode(), "shippingCode", detailPackBean);
List<MesShippingOrderManagementDetail> detailDeleteList = detailService.findAll(detailPackBean);
Map<String, List<MesShippingOrderManagementDetail>> detailMap = detailDeleteList.stream().collect(Collectors.groupingBy(k -> k.getPartNo()));
@ -292,7 +292,7 @@ public class MesShippingOrderManagementService extends BaseMesService<MesShippin
jisShipping.setCustOrderNo(v.get(0).getCustOrderNo());
jisShipping.setSerialNumber(v.get(0).getBarcode());
jisShipping.setQuantityPerCar(v.size());
jisShipping.setShippingOrderCode(originBean.getShippingOrderNo());
jisShipping.setShippingOrderCode(originBean.getShippingCode());
jisShipping.setVin(v.get(0).getVin());
jisShipping.setCarNo(v.get(0).getVin());
if (!StringUtils.isEmpty(part)) {

@ -5,12 +5,18 @@ 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.MesPartType;
import cn.estsh.i3plus.pojo.mes.bean.MesShippingOrderManagement;
import cn.estsh.i3plus.pojo.mes.bean.MesTimeEfficientCfg;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service;
import org.springframework.util.StringUtils;
@Service
@Slf4j
public class MesTimeEfficientCfgService extends BaseMesService<MesTimeEfficientCfg> implements IMesTimeEfficientCfgService {
protected void setPackQueryBean(MesTimeEfficientCfg bean, DdlPackBean packBean) {
DdlPreparedPack.getStringEqualPack(bean.getSourceId(), "sourceId", packBean);
}
}

@ -21,12 +21,14 @@ import org.springframework.stereotype.Service;
@Slf4j
public class MesWindowServiceImpl extends BaseMesService<MesWindow> implements IMesWindowService {
@Override
protected void setPackQueryBean(MesWindow bean, DdlPackBean packBean) {
DdlPreparedPack.getStringEqualPack(bean.getWindowNo(),"windowNo",packBean);
DdlPreparedPack.getStringLikerPack(bean.getWindowName(),"windowName",packBean);
DdlPreparedPack.getNumEqualPack(bean.getWindowType(),"windowType",packBean);
}
@Override
protected void onInsertBean(MesWindow item) {
// 数据校验
ValidatorBean.checkNotNull(item.getWindowNo(), "界面编号不能为空");
@ -47,6 +49,7 @@ public class MesWindowServiceImpl extends BaseMesService<MesWindow> implements I
}
@Override
protected void onUpdateBean(MesWindow item) {
// 数据校验

@ -3,9 +3,9 @@ package cn.estsh.i3plus.ext.mes.apiservice.serviceimpl.base;
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;
import cn.estsh.i3plus.ext.mes.api.base.IMesWorkOrderToSapService;
import cn.estsh.i3plus.ext.mes.apiservice.dao.IMesWorkOrderDao;
import cn.estsh.i3plus.ext.mes.apiservice.unit.exception.MesException;
import cn.estsh.i3plus.ext.mes.pojo.constant.MesCommonConstant;
import cn.estsh.i3plus.mes.api.iservice.busi.ISyncFuncService;
import cn.estsh.i3plus.mes.apiservice.util.DateUtil;
import cn.estsh.i3plus.platform.common.convert.ConvertBean;
@ -19,9 +19,12 @@ import cn.estsh.i3plus.pojo.base.util.StringUtil;
import cn.estsh.i3plus.pojo.mes.bean.*;
import cn.estsh.i3plus.pojo.mes.model.GenSerialNoModel;
import cn.estsh.i3plus.pojo.mes.repository.*;
import cn.estsh.i3plus.pojo.mes.util.DateUtilExt;
import cn.estsh.i3plus.pojo.mes.util.MesExtEnumUtil;
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 lombok.extern.slf4j.Slf4j;
import org.apache.commons.collections.CollectionUtils;
@ -29,9 +32,7 @@ import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import java.util.Objects;
@ -43,8 +44,6 @@ public class MesWorkOrderService extends BaseMesService<MesWorkOrder> implements
@Autowired
private ISyncFuncService syncFuncService;
@Autowired
private IMesWorkOrderToSapService iMesWorkOrderToSapService;
@Autowired
private IMesPartService iMesPartService;
@Autowired
private MesProductVersionRepository mesProductVersionRDao;
@ -83,7 +82,7 @@ public class MesWorkOrderService extends BaseMesService<MesWorkOrder> implements
}
//生成工单号
genSerialNoModel = new GenSerialNoModel("ORDER_NO_JIS_SORT");
genSerialNoModel = new GenSerialNoModel(MesCommonConstant.ORDER_NO_JIS_SORT);
genSerialNoModel.setPartNo(bean.getPartNo());
List<String> resultList = syncFuncService.syncSerialNo(genSerialNoModel, bean.getCreateUser(), bean.getOrganizeCode(), 1).getResultList();
@ -100,22 +99,20 @@ public class MesWorkOrderService extends BaseMesService<MesWorkOrder> implements
baseRDao.insert(copyMesWorkOrder);
workOrderLogService.insert(workOrderLog);
//写入SAP下发计划表
saveMesProductPlan(bean);
//写入接口表
//iMesWorkOrderToSapService.insert(bean);
saveMesProductPlan(bean, true, false);
return bean;
} else if (bean.getWorkOrderType() == MesExtEnumUtil.ORDER_TYPE.UN_SORT.getValue()) {
//生成工单号
genSerialNoModel = new GenSerialNoModel("ORDER_NO_JIS_UN_SORT");
genSerialNoModel = new GenSerialNoModel(MesCommonConstant.ORDER_NO_JIS_UN_SORT);
} else {
//生成工单号
genSerialNoModel = new GenSerialNoModel("ORDER_NO_BTO");
genSerialNoModel = new GenSerialNoModel(MesCommonConstant.ORDER_NO_BTO);
Integer produceSeq = 0;
if (null != result && result.getProduceSeq() != null) {
produceSeq = result.getProduceSeq();
}
bean.setProduceSeq(produceSeq + 1);
GenSerialNoModel orderSeqSerialNoModel = new GenSerialNoModel("ORDER_NO_BTO_SEQ");
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));
@ -133,61 +130,76 @@ public class MesWorkOrderService extends BaseMesService<MesWorkOrder> implements
workOrderLogService.insert(workOrderLog);
bean = baseRDao.insert(bean);
//写入SAP下发计划表
saveMesProductPlan(bean);
saveMesProductPlan(bean, true, false);
return bean;
}
private void saveMesProductPlan(MesWorkOrder bean) {
if(StringUtil.isEmpty(bean.getPlanOrderNo())){
private void saveMesProductPlan(MesWorkOrder bean, boolean isInsert, boolean isReport) {
if (StringUtil.isEmpty(bean.getPlanOrderNo())) {
DdlPackBean ddlPackBean = DdlPackBean.getDdlPackBean(bean.getOrganizeCode());
DdlPreparedPack.getStringEqualPack(bean.getPartNo(),"planPartNo",ddlPackBean);
DdlPreparedPack.getStringEqualPack(bean.getPlanStartTime(),"planStartDate",ddlPackBean);
DdlPreparedPack.getStringEqualPack(bean.getPlanEndTime(),"planEndDate",ddlPackBean);
DdlPreparedPack.getStringEqualPack(bean.getPartNo(), "planPartNo", ddlPackBean);
DdlPreparedPack.getStringEqualPack(bean.getPlanStartTime(), "planStartDate", ddlPackBean);
DdlPreparedPack.getStringEqualPack(bean.getPlanEndTime(), "planEndDate", ddlPackBean);
MesProductPlan mesProductPlan = mesProductPlanRDao.getByProperty(ddlPackBean);
if(null == mesProductPlan){
if (null == mesProductPlan) {
MesProductPlan mesPlanOrder = new MesProductPlan();
mesPlanOrder.setPlanOrderNo("");
mesPlanOrder.setPlanQty(bean.getQty());
mesPlanOrder.setPlanPartNo(bean.getPartNo());
mesPlanOrder.setCompleteQty(bean.getQty());
mesPlanOrder.setUncompleteQty(0d);
mesPlanOrder.setCompleteQty(0d);
mesPlanOrder.setUncompleteQty(bean.getQty());
mesPlanOrder.setUnit(bean.getUnit());
mesPlanOrder.setPlanStartDate(bean.getPlanStartTime());
mesPlanOrder.setPlanEndDate(bean.getPlanEndTime());
mesPlanOrder.setPartMappingWorkCenterCode(bean.getWorkCenterCode());
mesPlanOrder.setPartMappingWorkCenterCode(bean.getErpWorkCenter());
mesPlanOrder.setPlanOrganizeCode(bean.getOrganizeCode());
mesPlanOrder.setOrganizeCode(bean.getOrganizeCode());
ConvertBean.serviceModelInitialize(mesPlanOrder, bean.getCreateUser());
mesProductPlanRDao.insert(mesPlanOrder);
}else {
mesProductPlan.setCompleteQty(MathOperation.add(mesProductPlan.getCompleteQty(), bean.getQty()));
mesProductPlan.setPlanQty(mesProductPlan.getCompleteQty());
} else {
if (isInsert) {
mesProductPlan.setPlanQty(MathOperation.add(mesProductPlan.getPlanQty(), bean.getQty()));
} else {
//报工
if (isReport) {
mesProductPlan.setCompleteQty(MathOperation.add(mesProductPlan.getCompleteQty(), bean.getNum()));
//报工调整
} else {
mesProductPlan.setCompleteQty(MathOperation.sub(mesProductPlan.getCompleteQty(), bean.getNum()));
}
}
mesProductPlan.setUncompleteQty(MathOperation.sub(mesProductPlan.getPlanQty(), mesProductPlan.getCompleteQty()));
ConvertBean.serviceModelUpdate(mesProductPlan, bean.getCreateUser());
mesProductPlanRDao.update(mesProductPlan);
}
}else{
} else {
DdlPackBean ddlPackBean = DdlPackBean.getDdlPackBean(bean.getOrganizeCode());
DdlPreparedPack.getStringEqualPack(bean.getPlanOrderNo(),"planOrderNo",ddlPackBean);
DdlPreparedPack.getStringEqualPack(bean.getPartNo(),"planPartNo",ddlPackBean);
DdlPreparedPack.getStringEqualPack(bean.getPlanOrderNo(), "planOrderNo", ddlPackBean);
DdlPreparedPack.getStringEqualPack(bean.getPartNo(), "planPartNo", ddlPackBean);
MesProductPlan mesProductPlan = mesProductPlanRDao.getByProperty(ddlPackBean);
if(null == mesProductPlan){
if (null == mesProductPlan) {
MesException.throwMesBusiException("SAP计划单号【%s】物料【%s】,不存在", bean.getPlanOrderNo(), bean.getPartNo());
}
if(Objects.isNull(mesProductPlan.getCompleteQty())){
mesProductPlan.setCompleteQty(0d);
if (!isInsert) {
if (Objects.isNull(mesProductPlan.getCompleteQty())) {
mesProductPlan.setCompleteQty(0d);
}
//报工
if (isReport) {
mesProductPlan.setCompleteQty(MathOperation.add(mesProductPlan.getCompleteQty(), bean.getNum()));
//报工调整
} else {
mesProductPlan.setCompleteQty(MathOperation.sub(mesProductPlan.getCompleteQty(), bean.getNum()));
}
mesProductPlan.setUncompleteQty(MathOperation.sub(mesProductPlan.getPlanQty(), mesProductPlan.getCompleteQty()));
ConvertBean.serviceModelUpdate(mesProductPlan, bean.getCreateUser());
mesProductPlanRDao.update(mesProductPlan);
}
mesProductPlan.setCompleteQty(MathOperation.add(mesProductPlan.getCompleteQty(), bean.getQty()));
mesProductPlan.setUncompleteQty(MathOperation.sub(mesProductPlan.getPlanQty(),mesProductPlan.getCompleteQty()));
ConvertBean.serviceModelUpdate(mesProductPlan, bean.getCreateUser());
mesProductPlanRDao.update(mesProductPlan);
}
}
@Override
public MesWorkOrder update(MesWorkOrder bean) {
//回传sap
boolean sendToSap = false;
MesWorkOrder result = baseRDao.getById(bean.getId());
//若工单类型为排序 则根据排序插入工单数量插入多行 工单数量为1
if (result.getWorkOrderType() == MesExtEnumUtil.ORDER_TYPE.SORT.getValue()) {
@ -201,14 +213,6 @@ public class MesWorkOrderService extends BaseMesService<MesWorkOrder> implements
MesException.throwMesBusiException(String.format("工单数量不能小于工单源数量【%s】",
result.getQty()));
}
//修改状态或者指令下发需要传给SAP
if (!Objects.equals(bean.getQty(), result.getQty())) {
sendToSap = true;
}
}
if (MesExtEnumUtil.ORDER_STATUS.RELEASE.getValue() == bean.getWorkOrderStatus() ||
MesExtEnumUtil.ORDER_STATUS.COMPLETE.getValue() == bean.getWorkOrderStatus()) {
sendToSap = true;
}
//在加工的工单不能修改物料信息
if (result.getWorkOrderStatus() >= MesExtEnumUtil.ORDER_STATUS.process.getValue()) {
@ -244,21 +248,13 @@ public class MesWorkOrderService extends BaseMesService<MesWorkOrder> implements
MesWorkOrderLog workOrderLog = new MesWorkOrderLog();
BeanUtils.copyProperties(result, workOrderLog, "id");
workOrderLogService.insert(workOrderLog);
//关闭工单
if (MesExtEnumUtil.ORDER_STATUS.CLOSE.getValue() == bean.getWorkOrderStatus()) {
bean.setQty(0d);
sendToSap = true;
}
//发送给SAP
if (sendToSap) {
//iMesWorkOrderToSapService.insert(bean);
}
baseRDao.update(result);
return bean;
}
@Override
protected void setPackQueryBean(MesWorkOrder bean, DdlPackBean packBean) {
DdlPreparedPack.getStringLikerPack(bean.getWorkOrderNo(), "workOrderNo", packBean);
DdlPreparedPack.getStringLikerPack(bean.getPartNameRdd(), "partNameRdd", packBean);
@ -274,9 +270,10 @@ public class MesWorkOrderService extends BaseMesService<MesWorkOrder> implements
DdlPreparedPack.getStringSmallerPack(bean.getStartTimeEnd(), "planStartTime", packBean);
DdlPreparedPack.getStringBiggerPack(bean.getEndTimeStart(), "planEndTime", packBean);
DdlPreparedPack.getStringSmallerPack(bean.getEndTimeEnd(), "planEndTime", packBean);
packBean.setOrderByStr(" order by createDatetime desc ");
packBean.setOrderByStr(" order by createDatetime desc,workOrderSeq desc ");
}
@Override
protected void onInsertBean(MesWorkOrder item) {
// 数据校验
@ -291,6 +288,7 @@ public class MesWorkOrderService extends BaseMesService<MesWorkOrder> implements
if (Objects.isNull(mesWorkCenter)) {
MesException.throwMesBusiException("产线【%s】不存在", item.getWorkCenterCode());
}
item.setErpWorkCenter(mesWorkCenter.getErpWorkCenter());
//校验标识
//若工单类型为排序
if (item.getWorkOrderType() == MesExtEnumUtil.ORDER_TYPE.SORT.getValue()) {
@ -314,12 +312,12 @@ public class MesWorkOrderService extends BaseMesService<MesWorkOrder> implements
packPlanTime(item);
}
//生产版本为空
if(Objects.isNull(item.getProductVersion())){
if (StringUtil.isEmpty(item.getProductVersion())) {
MesProductVersion mesProductVersion = getMesProductVersion(item, mesWorkCenter);
item.setProductVersion(mesProductVersion.getProductVersion());
}
if(!StringUtil.isEmpty(item.getVinCode())){
if (!StringUtil.isEmpty(item.getVinCode())) {
//校验vin号是否重复
ddlPackBean = DdlPackBean.getDdlPackBean(item.getOrganizeCode());
DdlPreparedPack.getStringEqualPack(item.getVinCode(), "vinCode", ddlPackBean);
@ -352,7 +350,7 @@ public class MesWorkOrderService extends BaseMesService<MesWorkOrder> implements
ValidatorBean.checkNotNull(item.getPlanStartTime(), "计划开始时间不能为空");
ValidatorBean.checkNotNull(item.getPlanEndTime(), "计划结束时间不能为空");
//生产版本为空
if(Objects.isNull(item.getProductVersion())){
if (StringUtil.isEmpty(item.getProductVersion())) {
MesProductVersion mesProductVersion = getMesProductVersion(item, mesWorkCenter);
item.setProductVersion(mesProductVersion.getProductVersion());
}
@ -386,8 +384,8 @@ public class MesWorkOrderService extends BaseMesService<MesWorkOrder> implements
DdlPreparedPack.getStringEqualPack(mesWorkCenter.getErpWorkCenter(), "workCenterCode", ddlPackBean);
ddlPackBean.setOrderByStr(" order by createDatetime desc ");
MesProductVersion mesProductVersion = mesProductVersionRDao.getByProperty(ddlPackBean);
if(Objects.isNull(mesProductVersion)){
MesException.throwMesBusiException("物料【%s】工作中心【%s】对应的生产版本信息不存在",item.getPartNo(),
if (Objects.isNull(mesProductVersion)) {
MesException.throwMesBusiException("物料【%s】工作中心【%s】对应的生产版本信息不存在", item.getPartNo(),
mesWorkCenter.getErpWorkCenter());
}
return mesProductVersion;
@ -397,6 +395,16 @@ public class MesWorkOrderService extends BaseMesService<MesWorkOrder> implements
DdlPackBean ddlPackBean;
ValidatorBean.checkNotNull(item.getPlanDate(), "计划日期不能为空");
ValidatorBean.checkNotNull(item.getShiftCode(), "班次不能为空");
//工单导入:计划时间不能为当天之前日期
try {
if (DateUtilExt.compareDateTime(DateUtil.SHORT_FORMAT, item.getPlanDate(), TimeTool.getToday()) < 0) {
MesException.throwMesBusiException("导入工单计划日期不能小于今天");
}
}catch (ImppBusiException busExcep) {
MesException.throwMesBusiException(busExcep.getErrorDetail());
}catch (Exception e) {
MesException.throwMesBusiException("计划日期格式异常");
}
//查询班次信息
ddlPackBean = DdlPackBean.getDdlPackBean(item.getOrganizeCode());
DdlPreparedPack.getStringEqualPack(item.getWorkCenterCode(), "workCenterCode", ddlPackBean);
@ -410,26 +418,20 @@ public class MesWorkOrderService extends BaseMesService<MesWorkOrder> implements
item.setPlanStartTime(item.getPlanDate() + " " + mesShift.getStartTime());
item.setPlanEndTime(item.getPlanDate() + " " + mesShift.getEndTime());
try {
int windowStartEndTimeCompare = this.compareDateTime(DateUtil.BASE_FORMAT, item.getPlanStartTime(), item.getPlanEndTime());
int windowStartEndTimeCompare = DateUtilExt.compareDateTime(DateUtil.BASE_FORMAT, item.getPlanStartTime(), item.getPlanEndTime());
if (windowStartEndTimeCompare > 0) {
item.setPlanEndTime(TimeTool.pareDateToString(DateUtil.addDays(item.getPlanEndTime(),1)));
item.setPlanEndTime(TimeTool.pareDateToString(DateUtil.addDays(item.getPlanEndTime(), 1)));
}
} catch (Exception e) {
MesException.throwMesBusiException("时间格式异常");
}
}
@Override
protected void onUpdateBean(MesWorkOrder item) {
}
public int compareDateTime(String formatStr, String startTimeStr, String endTimeStr) throws Exception {
SimpleDateFormat sdf = new SimpleDateFormat(formatStr);
Date startTime = sdf.parse(startTimeStr);
Date endTime = sdf.parse(endTimeStr);
return startTime.compareTo(endTime);
}
@Override
public void doProductReport(MesWorkOrder mesWorkOrder) {
//查询物料信息
@ -462,6 +464,8 @@ public class MesWorkOrderService extends BaseMesService<MesWorkOrder> implements
//报工类型
if (MesExtEnumUtil.REPORT_TYPE.REPORT.getValue() == mesWorkOrder.getReportType()) {
mesWorkOrder.setReportedQty(MathOperation.add(mesWorkOrder.getNum(), mesWorkOrder.getReportedQty()));
//更新SAP计划完成数量
saveMesProductPlan(mesWorkOrder, false, true);
} else {
//冲销数量大于工单完成数量报错
if (mesWorkOrder.getNum() > mesWorkOrder.getReportedQty()) {
@ -472,6 +476,8 @@ public class MesWorkOrderService extends BaseMesService<MesWorkOrder> implements
mesWorkOrder.setAdjustQty((MathOperation.add(mesWorkOrder.getNum(), mesWorkOrder.getAdjustQty())));
//已汇报数量减一
mesWorkOrder.setReportedQty(MathOperation.sub(mesWorkOrder.getReportedQty(), mesWorkOrder.getNum()));
//更新SAP计划完成数量
saveMesProductPlan(mesWorkOrder, false, false);
}
//更新工单状态
double unCompleteQty = MathOperation.sub(mesWorkOrder.getQty(), mesWorkOrder.getReportedQty());
@ -487,7 +493,8 @@ public class MesWorkOrderService extends BaseMesService<MesWorkOrder> implements
update(mesWorkOrder);
//生成条码
GenSerialNoModel genSerialNoModel = new GenSerialNoModel("REPORT_SN");
// todo
GenSerialNoModel genSerialNoModel = new GenSerialNoModel(MesCommonConstant.REPORT_SN);
genSerialNoModel.setPartNo(mesWorkOrder.getPartNo());
List<String> resultList = syncFuncService.syncSerialNo(genSerialNoModel, mesWorkOrder.getCreateUser(), mesWorkOrder.getOrganizeCode(), mesWorkOrder.getNum()).getResultList();

@ -17,6 +17,19 @@ public class MesCommonConstant {
public static final String SPOT_CHECK_ORDER_TASK_RESOURCE = "MES";
public static final String SPOT_CHECK_ORDER_NO_RULE = "SPOT_CHECK_ORDER_NO_RULE";
/***
*
*/
//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 REPORT_SN = "REPORT_SN";
}

Loading…
Cancel
Save