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

tags/yfai-mes-ext-v1.0
jun 11 months ago
commit b82af4a2f0

@ -1,10 +1,27 @@
package cn.estsh.i3plus.ext.mes.apiservice.controller.base;
import cn.estsh.i3plus.ext.mes.pojo.constant.MesCommonConstant;
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.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 io.swagger.annotations.Api;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import io.swagger.annotations.ApiOperation;
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 javax.servlet.http.HttpServletResponse;
import java.io.*;
import java.net.URLEncoder;
import java.util.UUID;
/**
* @Description:
@ -15,4 +32,92 @@ import org.springframework.web.bind.annotation.RestController;
@RestController
@RequestMapping(MesCommonConstant.MES_YANFEN + "/mesMediaFileCfg")
public class MesMediaFileCfgController extends BaseMesController<MesMediaFileCfg>{
public static final Logger LOGGER = LoggerFactory.getLogger(MesMediaFileCfgController.class);
@Autowired
private MesMediaFileCfgRepository mediaFileCfgRepository;
@Autowired
private ICoreSysFileCloud coreSysFileCloud;
//默认大小
private static final long FILE_SIZE = 1024 * 1024;
@PostMapping(value = "/media-file/insert")
@ApiOperation(value = "上传媒体文件")
public ResultBean insertProduceCtgyPicture(@RequestParam("file") MultipartFile file, MesMediaFileCfg mesMediaFileCfg) {
try {
if (file.isEmpty()) {
throw ImppExceptionBuilder.newInstance()
.setSystemID(CommonEnumUtil.SOFT_TYPE.REPORT.getCode())
.setErrorCode(ImppExceptionEnum.VARIFY_EXCEPTION.getCode())
.setErrorDetail("不允许上传空文件")
.build();
}
// 校验文件大小
long size = file.getSize();
if(size > FILE_SIZE){
throw ImppExceptionBuilder.newInstance()
.setSystemID(CommonEnumUtil.SOFT_TYPE.REPORT.getCode())
.setErrorCode(ImppExceptionEnum.VARIFY_EXCEPTION.getCode())
.setErrorDetail("文件过大,请重新上传!")
.build();
}
String fileName = file.getOriginalFilename();
String newName= UUID.randomUUID().toString()+fileName.substring(fileName.indexOf("."));
String path="/tmp/media-file/";
File saveFile=new File(path + newName);
if(!saveFile.getParentFile().exists()){
saveFile.getParentFile().mkdirs();
}
file.transferTo(saveFile);
MesMediaFileCfg mesMediaFileCfg1=new MesMediaFileCfg();
mesMediaFileCfg1.setFileName(fileName);
mesMediaFileCfg1.setFileUrl(saveFile.getPath());
mesMediaFileCfg1.setFileType(mesMediaFileCfg.getFileType());
mediaFileCfgRepository.save(mesMediaFileCfg1);
return ResultBean.success("添加成功").setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode()).setResultObject(mesMediaFileCfg1);
} catch (ImppBusiException imppException) {
LOGGER.error(imppException.getErrorMsg() + "{}", imppException.getErrorDetail(), imppException);
return ResultBean.fail(imppException);
} catch (Exception e) {
return ImppExceptionBuilder.newInstance().buildExceptionResult(e);
}
}
@ApiOperation("下载文件")
@GetMapping("/download")
public ResultBean download(@RequestParam("filePath") String filePath, HttpServletResponse response){
InputStream inputStream = null;
OutputStream outputStream = null;
try {
// 读取文件
File file = new File(filePath);
inputStream = new FileInputStream(file);
outputStream = response.getOutputStream();
response.setContentType("application/octet-stream");
response.setHeader("Content-Disposition", "attachment; filename=" + URLEncoder.encode(file.getName(), "UTF-8"));
byte[] buffer = new byte[4096];
int bytesRead;
while ((bytesRead = inputStream.read(buffer)) != -1) {
outputStream.write(buffer, 0, bytesRead);
}
outputStream.flush();
inputStream.close();
outputStream.close();
return ResultBean.success("下载成功").setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode());
} catch (ImppBusiException imppException) {
LOGGER.error(imppException.getErrorMsg() + "{}", imppException.getErrorDetail(), imppException);
return ResultBean.fail(imppException);
} catch (Exception e) {
return ImppExceptionBuilder.newInstance().buildExceptionResult(e);
}
}
}

@ -11,7 +11,7 @@ import org.springframework.stereotype.Service;
@Slf4j
public class MesPartTransferDetailService extends BaseMesService<MesPartTransferDetail> implements IMesPartTransferDetailService {
protected void setPackQueryBean(MesPartTransferDetail bean, DdlPackBean packBean) {
DdlPreparedPack.getStringEqualPack(bean.getPid(),"pid",packBean);
DdlPreparedPack.getNumEqualPack(bean.getPid(),"pid",packBean);
}
}

@ -6,9 +6,13 @@ import cn.estsh.i3plus.ext.mes.api.busi.IMesSpotCheckOrderResultService;
import cn.estsh.i3plus.ext.mes.api.busi.IMesSpotCheckOrderService;
import cn.estsh.i3plus.ext.mes.apiservice.serviceimpl.base.BaseMesService;
import cn.estsh.i3plus.ext.mes.pojo.constant.MesCommonConstant;
import cn.estsh.i3plus.icloud.core.sdk.ICoreUtilCloud;
import cn.estsh.i3plus.mes.api.iservice.busi.ISyncFuncService;
import cn.estsh.i3plus.platform.common.convert.ConvertBean;
import cn.estsh.i3plus.platform.common.exception.ImppExceptionEnum;
import cn.estsh.i3plus.platform.common.tool.TimeTool;
import cn.estsh.i3plus.platform.common.util.WmsConstWords;
import cn.estsh.i3plus.pojo.base.bean.BaseResultBean;
import cn.estsh.i3plus.pojo.base.bean.DdlPackBean;
import cn.estsh.i3plus.pojo.base.enumutil.CommonEnumUtil;
import cn.estsh.i3plus.pojo.base.tool.DdlPreparedPack;
@ -30,6 +34,7 @@ import org.springframework.util.CollectionUtils;
import org.springframework.util.StringUtils;
import java.util.ArrayList;
import java.util.LinkedHashMap;
import java.util.List;
@Service
@ -57,7 +62,8 @@ public class MesSpotCheckOrderService extends BaseMesService<MesSpotCheckOrder>
@Autowired
private ISyncFuncService syncFuncService;
@Autowired
private ICoreUtilCloud sysOrderNoRuleCloud;
@Override
public MesSpotCheckOrder insert(MesSpotCheckOrder bean) {
onInsertBean(bean);
@ -109,13 +115,20 @@ public class MesSpotCheckOrderService extends BaseMesService<MesSpotCheckOrder>
}
//生成单据号
GenSerialNoModel genSerialNoModel = new GenSerialNoModel(MesCommonConstant.SPOT_CHECK_ORDER_NO_RULE);
List<String> resultList = syncFuncService.syncSerialNo(genSerialNoModel, bean.getCreateUser(), bean.getOrganizeCode(), 1).getResultList();
// GenSerialNoModel genSerialNoModel = new GenSerialNoModel(MesCommonConstant.SPOT_CHECK_ORDER_NO_RULE);
// List<String> resultList = syncFuncService.syncSerialNo(genSerialNoModel, bean.getCreateUser(), bean.getOrganizeCode(), 1).getResultList();
String orderNo="";
BaseResultBean<LinkedHashMap> orderResutlBean = sysOrderNoRuleCloud.getOrderNo(MesCommonConstant.SPOT_CHECK_ORDER_NO_RULE);
if (orderResutlBean != null && orderResutlBean.isSuccess()) {
orderNo = orderResutlBean.getResultObject().get(WmsConstWords.CORE_ORDER_NO).toString();
} else {
orderNo = TimeTool.getDateTime().replaceAll("-", "") + String.valueOf((int) (Math.random() * 9000) + 1000);
}
//保存单据
BeanUtils.copyProperties(equipmentSpotCheck, bean, "id");
// bean.setSpotCheckOrderNo("SPOT_CHECK_ORDER_NO_0003");
bean.setSpotCheckOrderNo(resultList.get(0));
bean.setSpotCheckOrderNo(orderNo);
ConvertBean.serviceModelInitialize(bean, AuthUtil.getSessionUser().getUserName());
bean = baseRDao.insert(bean);

Loading…
Cancel
Save