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

tags/yfai-mes-ext-v1.0
administrator 11 months ago
commit 2263ba7836

@ -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.MesBom;
import io.swagger.annotations.ApiOperation;
@ -28,7 +30,7 @@ public interface IMesBomService extends IBaseMesService<MesBom> {
* @return
*/
@ApiOperation(value = "查询BOM树结构")
List queryMesDataTree(MesBom bom);
ListPager<MesBom> queryMesDataTree(MesBom bom, Pager pager);
}

@ -0,0 +1,14 @@
package cn.estsh.i3plus.ext.mes.api.base;
import cn.estsh.i3plus.pojo.mes.bean.MesProduceGroup;
/**
* @Description :MES_
* @Reference :
* @Author : gsz
* @CreateDate 2024/6/9 13:30
* @Modify:
**/
public interface IMesProduceGroupService extends IBaseMesService<MesProduceGroup> {
}

@ -2,6 +2,7 @@ package cn.estsh.i3plus.ext.mes.apiservice.controller.base;
import cn.estsh.i3plus.ext.mes.api.base.IMesBomService;
import cn.estsh.i3plus.ext.mes.pojo.constant.MesCommonConstant;
import cn.estsh.i3plus.pojo.base.common.Pager;
import cn.estsh.i3plus.pojo.base.enumutil.ResourceEnumUtil;
import cn.estsh.i3plus.pojo.mes.bean.MesBom;
import cn.estsh.impp.framework.boot.auth.AuthUtil;
@ -40,11 +41,11 @@ public class MesBomController extends BaseMesController<MesBom> {
@GetMapping(value = "/tree/query")
@ApiOperation(value = "查询MES组织模型数据返回树结构-获取所有")
public ResultBean queryMesDataTree(MesBom bom) {
public ResultBean queryMesDataTree(MesBom bom, Pager pager) {
try {
bom.setOrganizeCode(AuthUtil.getOrganizeCode());
return ResultBean.success("操作成功").setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode())
.setResultList(bomService.queryMesDataTree(bom));
.setListPager(bomService.queryMesDataTree(bom,pager));
} catch (ImppBusiException busExcep) {
return ResultBean.fail(busExcep);
} catch (Exception e) {

@ -5,19 +5,26 @@ import cn.estsh.i3plus.icloud.core.sdk.ICoreSysFileCloud;
import cn.estsh.i3plus.platform.common.exception.ImppExceptionEnum;
import cn.estsh.i3plus.pojo.base.enumutil.CommonEnumUtil;
import cn.estsh.i3plus.pojo.base.enumutil.ResourceEnumUtil;
import cn.estsh.i3plus.pojo.base.util.StringUtil;
import cn.estsh.i3plus.pojo.mes.bean.MesMediaFileCfg;
import cn.estsh.i3plus.pojo.mes.repository.MesMediaFileCfgRepository;
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 com.aliyun.oss.model.PutObjectRequest;
import com.aliyun.oss.model.PutObjectResult;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.apache.commons.lang.StringUtils;
import org.jolokia.util.IoUtil;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;
import org.testng.annotations.Optional;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.*;
import java.net.URLEncoder;
@ -120,4 +127,71 @@ public class MesMediaFileCfgController extends BaseMesController<MesMediaFileCfg
}
}
//
// @ApiOperation("上传文件")
// @PostMapping("/download")
// public JsonResponse fileUpload(MultipartFile file) {
// ObsClient obsClient = null;
// String objectUrl="";
// try {
// String bucketName = hweiOBSConfig.getBucketName();
// obsClient = hweiOBSConfig.getInstance();
// // 上传文件到OBS
// long size = file.getSize();
// //1 200 兆字节=209715200 字节 1long=4个字节
// if (size<=0){
// throw new BusinessException("上传的文件为空");
// }
// if (size>52428800){
// throw new BusinessException("单次上传不能超过200M");
// }
// String objectKey = UUIDUtils.getRandomUUID()+file.getOriginalFilename();
// PutObjectRequest request = new PutObjectRequest(bucketName, objectKey, file.getInputStream());
// PutObjectResult putObjectResult= obsClient.putObject(request);
// objectUrl=objectKey;
// LOGGER.info("已上传对象的URL:{}", putObjectResult.getObjectUrl());
// LOGGER.info("生成的文件访问名:{}", objectKey);
// } catch (ObsException e) {
// LOGGER.error("obs上传失败:{}", LogExceptionStackUtil.logExceptionStack(e));
// return JsonResponse.error("obs上传失败");
// } catch (Exception e) {
// LOGGER.error("上传失败文件为空或者超过200M:{}", LogExceptionStackUtil.logExceptionStack(e));
// return JsonResponse.error("上传失败文件为空或者超过200M");
// } finally {
// hweiOBSConfig.destroy(obsClient);
// }
//
// return JsonResponse.ok(objectUrl);
// }
// @GetMapping("/download")
// @ApiOperation("下载文件")
// public void download(@RequestParam("fileName") String fileName , HttpServletRequest request, HttpServletResponse response) {
//
// try (InputStream inputStream = hweiYunOBSService.fileDownload(fileName);
// BufferedOutputStream outputStream = new BufferedOutputStream(response.getOutputStream())){
//
// // 为防止 文件名出现乱码
// final String userAgent = request.getHeader("USER-AGENT");
// // IE浏览器
// if (StringUtils.contains(userAgent, "MSIE")) {
// fileName = URLEncoder.encode(fileName, "UTF-8");
// } else {
// // google,火狐浏览器
// if (StringUtils.contains(userAgent, "Mozilla")) {
// fileName = new String(fileName.getBytes(), "ISO8859-1");
// } else {
// // 其他浏览器
// fileName = URLEncoder.encode(fileName, "UTF-8");
// }
// }
// response.setContentType("application/x-download");
// // 设置让浏览器弹出下载提示框,而不是直接在浏览器中打开
// response.addHeader("Content-Disposition", "attachment;filename=" + fileName);
// IoUtil.copy(inputStream, outputStream);
// } catch (Exception e) {
// LOGGER.error("文件下载失败{}", e.logExceptionStack(e));
// }
// }
}

@ -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.MesProduceGroup;
import io.swagger.annotations.Api;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
/**
* @Description :MES_
* @Reference :
* @Author : gsz
* @CreateDate 2024/6/9 13:30
* @Modify:
**/
@Api(description = "装车组")
@RestController
@RequestMapping(MesCommonConstant.MES_YANFEN + "/mesProduceGroup")
public class MesProduceGroupController extends BaseMesController<MesProduceGroup> {
}

@ -4,6 +4,9 @@ import cn.estsh.i3plus.ext.mes.api.base.IMesBomService;
import cn.estsh.i3plus.ext.mes.pojo.model.MesBomTreeModel;
import cn.estsh.i3plus.platform.common.util.MesConstWords;
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.MesBom;
@ -54,7 +57,7 @@ public class MesBomService extends BaseMesService<MesBom> implements IMesBomServ
* @return
*/
@Override
public List queryMesDataTree(MesBom bom) {
public ListPager<MesBom> queryMesDataTree(MesBom bom, Pager pager) {
List resultList = new ArrayList();
ValidatorBean.checkNotNull(bom.getPartNo(), "零件号不能为空");
MesBomTreeModel organize = new MesBomTreeModel();
@ -63,14 +66,18 @@ public class MesBomService extends BaseMesService<MesBom> implements IMesBomServ
// organize.setName("LML");
organize.setName(AuthUtil.getOrganize().getName());
List<MesBom> bomList = baseRDao.findByProperty(new String[]{MesConstWords.IS_VALID, MesConstWords.IS_DELETED, MesConstWords.ORGANIZE_CODE, "partNo"},
new Object[]{CommonEnumUtil.IS_VAILD.VAILD.getValue(), CommonEnumUtil.IS_DEAL.NO.getValue(), bom.getOrganizeCode(), bom.getPartNo()});
DdlPackBean packBean = DdlPackBean.getDdlPackBean(bom.getOrganizeCode());
DdlPreparedPack.getStringEqualPack(bom.getPartNo(), "partNo", packBean);
packBean.setOrderByStr(bom.getOrderByParam()) ;
pager = PagerHelper.getPager(pager, baseRDao.findByHqlWhereCount(packBean));
List<MesBom> bomList = baseRDao.findByHqlWherePage(packBean, pager);
recursionBomList(bomList);
organize.setChildTreeList(bomList);
resultList.add(organize);
return resultList;
return new ListPager<>(resultList, pager);
}
/**

@ -62,6 +62,8 @@ public class MesCarSeriesLoosePartService extends BaseMesService<MesCarSeriesLoo
DdlPreparedPack.getStringLikerPack(bean.getPartNo(),"partNo",packBean);
DdlPreparedPack.getStringEqualPack(bean.getCustCode(),"custCode",packBean);
DdlPreparedPack.getStringEqualPack(bean.getCarSeriesCode(),"carSeriesCode",packBean);
DdlPreparedPack.getNumEqualPack(bean.getLoosePartType(),"loosePartType",packBean);
DdlPreparedPack.getNumEqualPack(bean.getCustPartNo(),"custPartNo",packBean);
}
}

@ -16,7 +16,8 @@ public class MesEquipmentVariableCfgService extends BaseMesService<MesEquipmentV
@Override
protected void setPackQueryBean(MesEquipmentVariableCfg bean, DdlPackBean packBean) {
//DdlPreparedPack.getStringEqualPack(bean.get(),"equipmentCode",packBean);
DdlPreparedPack.getStringEqualPack(bean.getVariableCfgType(),"variableCfgType",packBean);
DdlPreparedPack.getStringEqualPack(bean.getVariableCategory(),"variableCategory",packBean);
}

@ -0,0 +1,27 @@
package cn.estsh.i3plus.ext.mes.apiservice.serviceimpl.base;
import cn.estsh.i3plus.ext.mes.api.base.IMesProduceGroupService;
import cn.estsh.i3plus.pojo.base.bean.DdlPackBean;
import cn.estsh.i3plus.pojo.base.tool.DdlPreparedPack;
import cn.estsh.i3plus.pojo.mes.bean.MesProduceGroup;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service;
/**
* @Description : MES_
* @Reference :
* @Author : gsz
* @CreateDate 2024/6/9 13:30
* @Modify:
**/
@Service
@Slf4j
public class MesProduceGroupServiceImpl extends BaseMesService<MesProduceGroup> implements IMesProduceGroupService {
@Override
protected void setPackQueryBean(MesProduceGroup bean, DdlPackBean packBean) {
DdlPreparedPack.getStringLikerPack(bean.getPgCode(), "pgCode", packBean);
DdlPreparedPack.getStringLikerPack(bean.getPgName(), "pgName", packBean);
}
}

@ -1,6 +1,8 @@
package cn.estsh.i3plus.ext.mes.apiservice.serviceimpl.base;
import cn.estsh.i3plus.ext.mes.api.base.IMesWorkCellService;
import cn.estsh.i3plus.pojo.base.bean.DdlPackBean;
import cn.estsh.i3plus.pojo.base.tool.DdlPreparedPack;
import cn.estsh.i3plus.pojo.mes.bean.MesWorkCell;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service;
@ -9,4 +11,12 @@ import org.springframework.stereotype.Service;
@Slf4j
public class MesWorkCellService extends BaseMesService<MesWorkCell> implements IMesWorkCellService {
@Override
protected void setPackQueryBean(MesWorkCell bean, DdlPackBean packBean) {
DdlPreparedPack.getStringEqualPack(bean.getAreaCode(), "areaCode", packBean);
DdlPreparedPack.getStringEqualPack(bean.getWorkCellCode(), "workCellCode", packBean);
DdlPreparedPack.getStringEqualPack(bean.getWorkCenterCode(), "workCenterCode", packBean);
DdlPreparedPack.getStringLikerPack(bean.getWorkCellName(), "workCellName", packBean);
}
}

@ -229,7 +229,7 @@ public class MesWorkOrderService extends BaseMesService<MesWorkOrder> implements
}
}
//在加工的工单不能修改物料信息
if (result.getWorkOrderStatus() >= MesExtEnumUtil.ORDER_STATUS.process.getValue()) {
if (result.getWorkOrderStatus() >= MesExtEnumUtil.ORDER_STATUS.PROCESS.getValue()) {
if (!Objects.equals(bean.getPartNo(), result.getPartNo())) {
MesException.throwMesBusiException(String.format("工单状态为【%s】不允许修改物料",
MesExtEnumUtil.ORDER_TYPE.valueOfDescription(result.getWorkOrderStatus())));
@ -274,8 +274,8 @@ public class MesWorkOrderService extends BaseMesService<MesWorkOrder> implements
DdlPreparedPack.getStringLikerPack(bean.getPartName(), "partNameRdd", packBean);
DdlPreparedPack.getStringLikerPack(bean.getCreateUser(), "createUser", packBean);
DdlPreparedPack.getStringLikerPack(bean.getPartNo(), "partNo", packBean);
DdlPreparedPack.getStringEqualPack(bean.getCustPartNo(), "customerPartNo", packBean);
DdlPreparedPack.getStringEqualPack(bean.getWorkCenterCode(), "workCenterCode", packBean);
DdlPreparedPack.getStringEqualPack(bean.getCustPartNo(), "custPartNo", packBean);
DdlPreparedPack.getStringLikerPack(bean.getWorkCenterCode(), "workCenterCode", packBean);
DdlPreparedPack.getNumEqualPack(bean.getWorkOrderStatus(), "workOrderStatus", packBean);
DdlPreparedPack.getNumEqualPack(bean.getWorkOrderType(), "workOrderType", packBean);
DdlPreparedPack.getStringBiggerPack(bean.getCreateDateTimeStart(), "createDatetime", packBean);
@ -532,7 +532,7 @@ public class MesWorkOrderService extends BaseMesService<MesWorkOrder> implements
} else if (Objects.equals(mesWorkOrder.getReportedQty(), mesWorkOrder.getQty())) {
mesWorkOrder.setWorkOrderStatus(MesExtEnumUtil.ORDER_STATUS.COMPLETE.getValue());
} else {
mesWorkOrder.setWorkOrderStatus(MesExtEnumUtil.ORDER_STATUS.process.getValue());
mesWorkOrder.setWorkOrderStatus(MesExtEnumUtil.ORDER_STATUS.PROCESS.getValue());
}
update(mesWorkOrder);
@ -583,7 +583,7 @@ public class MesWorkOrderService extends BaseMesService<MesWorkOrder> implements
} else if (Objects.equals(mesWorkOrder.getReportedQty(), mesWorkOrder.getQty())) {
mesWorkOrder.setWorkOrderStatus(MesExtEnumUtil.ORDER_STATUS.COMPLETE.getValue());
} else {
mesWorkOrder.setWorkOrderStatus(MesExtEnumUtil.ORDER_STATUS.process.getValue());
mesWorkOrder.setWorkOrderStatus(MesExtEnumUtil.ORDER_STATUS.PROCESS.getValue());
}
//获取生产版本
MesProductVersion mesProductVersion = getMesProductVersion(mesWorkOrder);
@ -818,7 +818,7 @@ public class MesWorkOrderService extends BaseMesService<MesWorkOrder> implements
@Override
public List<MesWorkOrder> queryMesWorkOrderProcessToSap(String organizeCode) {
List<Integer> statusList = new ArrayList<>();
statusList.add(MesExtEnumUtil.ORDER_STATUS.process.getValue());
statusList.add(MesExtEnumUtil.ORDER_STATUS.PROCESS.getValue());
// statusList.add(MesExtEnumUtil.ORDER_STATUS.CLOSE.getValue());
DdlPackBean packBean = DdlPackBean.getDdlPackBean(organizeCode);

Loading…
Cancel
Save