Merge remote-tracking branch 'origin/dev_temp_xw_202504100000_46256' into uat-temp-wj-chongqingdaqu-prod-temp-merge

uat-temp-wj-chongqingdaqu-prod-temp-merge
王杰 3 months ago
commit 08fa65f0c1

@ -5,6 +5,7 @@ import cn.estsh.i3plus.ext.mes.pcn.apiservice.serviceimpl.busi.MesConfigService;
import cn.estsh.i3plus.ext.mes.pcn.apiservice.serviceimpl.busi.MesProduceSnExtService; import cn.estsh.i3plus.ext.mes.pcn.apiservice.serviceimpl.busi.MesProduceSnExtService;
import cn.estsh.impp.framework.boot.util.ResultBean; import cn.estsh.impp.framework.boot.util.ResultBean;
import cn.hutool.json.JSONUtil; import cn.hutool.json.JSONUtil;
import com.alibaba.fastjson.JSONObject;
import io.swagger.annotations.Api; import io.swagger.annotations.Api;
import jodd.util.Base64; import jodd.util.Base64;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
@ -43,7 +44,7 @@ public class MesWhiteController {
@PostMapping("/picture") @PostMapping("/picture")
public ResultBean savePicture(@RequestBody MesPictureModel model){ public ResultBean savePicture(@RequestBody MesPictureModel model){
log.info("castle-保存图片开始"); log.info("castle-保存图片开始 model={}", JSONObject.toJSONString(model));
String localUrl = mesConfigService.getCfgValue(model.getOrganizeCode(), "LOCAL_PICTURE_ABS_URL"); String localUrl = mesConfigService.getCfgValue(model.getOrganizeCode(), "LOCAL_PICTURE_ABS_URL");
String fileName = localUrl+model.getFileName(); String fileName = localUrl+model.getFileName();
File file = new File(fileName); File file = new File(fileName);
@ -60,10 +61,14 @@ public class MesWhiteController {
if (!StringUtils.isBlank(model.getRemoteUserName()) && !StringUtils.isBlank(model.getRemoteNginxUrl()) ){ if (!StringUtils.isBlank(model.getRemoteUserName()) && !StringUtils.isBlank(model.getRemoteNginxUrl()) ){
// 构建scp命令 // 构建scp命令
log.info("castle-保存图片开始-scp命令"); log.info("castle-保存图片开始-scp命令");
String scpCommand = String.format("scp -P %s %s %s@%s:%s", model.getRemotePort() ,fileName, model.getRemoteUserName(), model.getRemoteNginxUrl(), localUrl); String scpCommand = String.format("scp %s %s@%s:%s" ,fileName, model.getRemoteUserName(), model.getRemoteNginxUrl(), localUrl);
log.info("castle-保存图片开始-scp命令开始={}",scpCommand);
try { try {
Runtime.getRuntime().exec(scpCommand); Runtime.getRuntime().exec(scpCommand);
} catch (IOException e) { log.info("castle-保存图片开始-scp命令结束={}",scpCommand);
} catch (Exception e) {
log.error("调用scp命令失败,请手动同步图片:{}",fileName); log.error("调用scp命令失败,请手动同步图片:{}",fileName);
} }
} }

@ -33,6 +33,7 @@ import cn.estsh.i3plus.pojo.mes.repository.*;
import cn.estsh.i3plus.pojo.mes.util.MesExtEnumUtil; import cn.estsh.i3plus.pojo.mes.util.MesExtEnumUtil;
import cn.estsh.impp.framework.boot.auth.AuthUtil; import cn.estsh.impp.framework.boot.auth.AuthUtil;
import cn.estsh.impp.framework.boot.exception.ImppBusiException; import cn.estsh.impp.framework.boot.exception.ImppBusiException;
import cn.estsh.impp.framework.boot.util.ResultBean;
import cn.estsh.impp.framework.boot.util.SpringContextsUtil; import cn.estsh.impp.framework.boot.util.SpringContextsUtil;
import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.JSONObject;
@ -291,6 +292,7 @@ public class MesReworkTaskServiceImpl implements IMesReworkTaskService {
public void doReworkSuccess(MesReworkTaskRequestModel requestModel) { public void doReworkSuccess(MesReworkTaskRequestModel requestModel) {
MesReworkTask mesReworkTask = getMesReworkTask(requestModel); MesReworkTask mesReworkTask = getMesReworkTask(requestModel);
/** /**
* *
*/ */
@ -362,7 +364,9 @@ public class MesReworkTaskServiceImpl implements IMesReworkTaskService {
String workCenterCode = ""; String workCenterCode = "";
if (mesPartInspection != null) { if (mesPartInspection != null) {
workCenterCode = mesPartInspection.getWorkCenterCode(); workCenterCode = mesPartInspection.getWorkCenterCode();
requestModel.setSn(mesPartInspection.getSn());
} }
requestModel.setReworkedQty(mesReworkTask.getQty());
if (MesExtEnumUtil.NC_TYPE.REWORK.getValue() == requestModel.getType()) { if (MesExtEnumUtil.NC_TYPE.REWORK.getValue() == requestModel.getType()) {
if (!headModel && !CollectionUtils.isEmpty(mesPartModels) && mesPartModels.size() > 0) { if (!headModel && !CollectionUtils.isEmpty(mesPartModels) && mesPartModels.size() > 0) {
String destLocateNo = getDestLocateNo(requestModel.getOrganizeCode(), mesPartInspection.getId()); String destLocateNo = getDestLocateNo(requestModel.getOrganizeCode(), mesPartInspection.getId());
@ -1181,6 +1185,15 @@ public class MesReworkTaskServiceImpl implements IMesReworkTaskService {
private void doCreateReworkMove(MesReworkTaskRequestModel requestModel,String srcLocate, String destLocate,String workCenterCode,String partNo,Long partInspectionId) { private void doCreateReworkMove(MesReworkTaskRequestModel requestModel,String srcLocate, String destLocate,String workCenterCode,String partNo,Long partInspectionId) {
MesPartSap mesPartSap = mesPartService.getMesPartSapByPartNo(partNo, requestModel.getOrganizeCode()); MesPartSap mesPartSap = mesPartService.getMesPartSapByPartNo(partNo, requestModel.getOrganizeCode());
GenSerialNoModel serialNoModel = new GenSerialNoModel("INPUT_DEFECT_ZRSUM");
serialNoModel.setPartNo(mesPartSap.getPartNo());
ResultBean rb = syncFuncService.syncSerialNo(serialNoModel, requestModel.getUserName(), requestModel.getOrganizeCode(), 1);
String zrsum = "";
if (null != rb && !CollectionUtils.isEmpty(rb.getResultList())) {
zrsum = (rb.getResultList().get(0)).toString();
}
MesMove move = new MesMove(); MesMove move = new MesMove();
move.setMatnr(mesPartSap.getPartNo()); move.setMatnr(mesPartSap.getPartNo());
move.setOrganizeCode(requestModel.getOrganizeCode()); move.setOrganizeCode(requestModel.getOrganizeCode());
@ -1189,12 +1202,13 @@ public class MesReworkTaskServiceImpl implements IMesReworkTaskService {
move.setUmlgo(destLocate); move.setUmlgo(destLocate);
move.setPartInspectionId(partInspectionId); move.setPartInspectionId(partInspectionId);
move.setMenge(requestModel.getReworkedQty()); move.setMenge(requestModel.getReworkedQty());
move.setZrsum(zrsum);
move.setMeins(mesPartSap.getUnit()); move.setMeins(mesPartSap.getUnit());
move.setPostDate(TimeTool.getToday()); move.setPostDate(TimeTool.getToday());
move.setPostTime(TimeTool.getTimeShortWithColon()); move.setPostTime(TimeTool.getTimeShortWithColon());
move.setMoveType(MesExtEnumUtil.MOVE_TYPE.RETURN_MOVE.getValue()); move.setMoveType(MesExtEnumUtil.MOVE_TYPE.RETURN_MOVE.getValue());
move.setProductSn(requestModel.getSn()); move.setProductSn(requestModel.getSn());
move.setWorkCenter(workCenterCode); move.setWorkCenter(prodOrgExtService.getErpWorkCenterCode(requestModel.getOrganizeCode(), workCenterCode));
ConvertBean.serviceModelInitialize(move, requestModel.getUserName()); ConvertBean.serviceModelInitialize(move, requestModel.getUserName());
moveRepository.insert(move); moveRepository.insert(move);
} }

@ -238,6 +238,7 @@ public class MesInputDefectRecordService implements IMesInputDefectRecordService
public void savePartInspection(MesPartInspectionInputModel model) { public void savePartInspection(MesPartInspectionInputModel model) {
MesProduceSn produceSn = getProduceSn(model.getSn(), model.getOrganizeCode()); MesProduceSn produceSn = getProduceSn(model.getSn(), model.getOrganizeCode());
model.setWorkCenterCode(produceSn.getWorkCenterCode());
if (null != produceSn && StringUtils.isEmpty(model.getPartNo())) model.setPartNo(produceSn.getPartNo()); if (null != produceSn && StringUtils.isEmpty(model.getPartNo())) model.setPartNo(produceSn.getPartNo());
//武汉 会输入客户条码 //武汉 会输入客户条码
boolean isWorkOrderQcStatus=false; boolean isWorkOrderQcStatus=false;

@ -67,8 +67,13 @@ public class MesProduceSnExtService implements IMesProduceSnExtService {
DdlPackBean packBean = DdlPackBean.getDdlPackBean(organizeCode); DdlPackBean packBean = DdlPackBean.getDdlPackBean(organizeCode);
DdlPreparedPack.getStringEqualPack(productSn, MesPcnExtConstWords.PRODUCT_SN, packBean); DdlPreparedPack.getStringEqualPack(productSn, MesPcnExtConstWords.PRODUCT_SN, packBean);
List<MesProduceSn> snList = produceSnRepository.findByHqlWhere(packBean);
return produceSnRepository.findByHqlWhere(packBean); if (CollectionUtils.isEmpty(snList)) {
DdlPackBean packCustSnBean = DdlPackBean.getDdlPackBean(organizeCode);
DdlPreparedPack.getStringEqualPack(productSn, MesPcnExtConstWords.CUST_SN, packCustSnBean);
snList = produceSnRepository.findByHqlWhere(packCustSnBean);
}
return snList;
} }
//根据零件条码查询零件条码信息, 创建时间倒序 //根据零件条码查询零件条码信息, 创建时间倒序

@ -134,11 +134,17 @@ public class MesProductionRecordService implements IMesProductionRecordService {
public void updateProductionRecord(String organizeCode, String userName, Long id, String errorMsg) { public void updateProductionRecord(String organizeCode, String userName, Long id, String errorMsg) {
DdlPackBean ddlPackBean = DdlPackBean.getDdlPackBean(organizeCode); DdlPackBean ddlPackBean = DdlPackBean.getDdlPackBean(organizeCode);
DdlPreparedPack.getNumEqualPack(id, "id", ddlPackBean); DdlPreparedPack.getNumEqualPack(id, "id", ddlPackBean);
// DdlPreparedPack.getStringEqualPack(sn, "productSn", ddlPackBean);
productionRecordRepository.updateByProperties(new String[]{"modifyUser", "modifyDatetime","reportStatus", "remark"},
new Object[]{userName, DateUtil.format(new Date(), MesPcnExtConstWords.DATE_FORMAT_SSS), MesExtEnumUtil.REPORT_STATUS.REPORT_STATUS_40.getValue(), errorMsg },ddlPackBean);
}
MesProductionRecord mesProductionRecord = productionRecordRepository.getByProperty(ddlPackBean);
if (mesProductionRecord !=null && Objects.equals(mesProductionRecord.getReportStatus(), MesExtEnumUtil.REPORT_STATUS.REPORT_STATUS_40.getValue())) {
productionRecordRepository.updateByPropertiesNoSync(new String[]{"modifyUser", "modifyDatetime","reportStatus", "remark"},
new Object[]{userName, DateUtil.format(new Date(), MesPcnExtConstWords.DATE_FORMAT_SSS), MesExtEnumUtil.REPORT_STATUS.REPORT_STATUS_40.getValue(), errorMsg },ddlPackBean);
} else {
productionRecordRepository.updateByProperties(new String[]{"modifyUser", "modifyDatetime","reportStatus", "remark"},
new Object[]{userName, DateUtil.format(new Date(), MesPcnExtConstWords.DATE_FORMAT_SSS), MesExtEnumUtil.REPORT_STATUS.REPORT_STATUS_40.getValue(), errorMsg },ddlPackBean);
}
}
@Override @Override
public ResultBean queryMesProductionRecordReport(String organizeCode, String productSn) { public ResultBean queryMesProductionRecordReport(String organizeCode, String productSn) {
@ -255,9 +261,16 @@ public class MesProductionRecordService implements IMesProductionRecordService {
recordList.forEach(record->{ recordList.forEach(record->{
DdlPackBean ddlPackBean = DdlPackBean.getDdlPackBean(record.getOrganizeCode()); DdlPackBean ddlPackBean = DdlPackBean.getDdlPackBean(record.getOrganizeCode());
DdlPreparedPack.getNumEqualPack(record.getId(), "id", ddlPackBean); DdlPreparedPack.getNumEqualPack(record.getId(), "id", ddlPackBean);
productionRecordRao.updateByPropertiesNoSync(new String[]{"modifyUser", "modifyDatetime", "reportStatus","remark","systemSyncStatus","systemSyncDatetime"},
new Object[]{userName, DateUtil.format(new Date(), MesPcnExtConstWords.DATE_FORMAT_SSS), reportStatus,msg,CommonEnumUtil.FALSE,""}, ddlPackBean);
MesProductionRecord mesProductionRecord = productionRecordRepository.getByProperty(ddlPackBean);
if (mesProductionRecord !=null && Objects.equals(mesProductionRecord.getReportStatus(), MesExtEnumUtil.REPORT_STATUS.REPORT_STATUS_40.getValue())) {
productionRecordRao.updateByPropertiesNoSync(new String[]{"modifyUser", "modifyDatetime", "reportStatus","remark"},
new Object[]{userName, DateUtil.format(new Date(), MesPcnExtConstWords.DATE_FORMAT_SSS), reportStatus,msg}, ddlPackBean);
} else {
productionRecordRao.updateByPropertiesNoSync(new String[]{"modifyUser", "modifyDatetime", "reportStatus","remark","systemSyncStatus","systemSyncDatetime"},
new Object[]{userName, DateUtil.format(new Date(), MesPcnExtConstWords.DATE_FORMAT_SSS), reportStatus,msg,CommonEnumUtil.FALSE,""}, ddlPackBean);
}
}); });
} }

Loading…
Cancel
Save