Merge remote-tracking branch 'origin/master'

master
赵嘉伟 4 years ago
commit e30f2c0b99

@ -2,8 +2,11 @@ package com.foreverwin.mesnac.common.controller;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.foreverwin.mesnac.common.constant.Constants;
import com.foreverwin.mesnac.common.model.ProdReadyTask;
import com.foreverwin.mesnac.common.service.ProdReadyTaskService;
import com.foreverwin.mesnac.common.util.StringUtil;
import com.foreverwin.modular.core.exception.BaseException;
import com.foreverwin.modular.core.util.CommonMethods;
import com.foreverwin.modular.core.util.FrontPage;
import com.foreverwin.modular.core.util.R;
@ -33,6 +36,11 @@ public class ProdReadyTaskController {
@ResponseBody
@GetMapping("/doPrint")
public R doPrint(ProdReadyTask prodReadyTask){
prodReadyTask = prodReadyTaskService.getById(prodReadyTask.getHandle());
String result = prodReadyTask.getResult();
if (StringUtil.isBlank(result) || !prodReadyTask.getResult().equals(Constants.RSESULT_OK)){
throw new BaseException("未准备合格不能打印");
}
prodReadyTaskService.doPrint(prodReadyTask);
return R.ok();
}

@ -313,9 +313,9 @@ public class ProdReadyTaskServiceImpl extends ServiceImpl<ProdReadyTaskMapper, P
public void doPrint(ProdReadyTask prodReadyTask) {
String site = CommonMethods.getSite();
String user = CommonMethods.getUser();
String dispatchNo = prodReadyTask.getDispatchNo();
String sfcDispatchBo = prodReadyTask.getSfcDispatchBo();
SfcDispatchDto sfcDispatchDto=new SfcDispatchDto();
sfcDispatchDto.setHandle(HandleEnum.SFC_DISPATCH.getHandle(site,dispatchNo));
sfcDispatchDto.setHandle(sfcDispatchBo);
sfcDispatchDto = sfcDispatchCommonService.findSfcDispatchBySfc(sfcDispatchDto);
List<PrintLog> printList=new ArrayList<>();
List<LabelPrintDto> labelPrintDtoList = new ArrayList<>();
@ -354,7 +354,6 @@ public class ProdReadyTaskServiceImpl extends ServiceImpl<ProdReadyTaskMapper, P
labelPrintDto.setOperation(sfcDispatchDto.getOperation());
labelPrintDtoList.add(labelPrintDto);
printData = JSON.toJSONString(labelPrintDtoList);
List<PrintLog> list = printLogService.list();
//打印记录
printTag.setHandle(UUID.randomUUID().toString());
printTag.setPrintName(printName);

@ -32,6 +32,21 @@ public class SplitSfcController {
return R.ok(result);
}
@ResponseBody
@GetMapping("/getGoodSfcData")
public R getGoodSfcData(String sfc){
SfcDto result;
result = splitSfcService.getGoodSfcData(sfc);
return R.ok(result);
}
@ResponseBody
@GetMapping("/goodSfcSplit")
public R goodSfcSplit(SfcDto sfcDto){
return R.ok(splitSfcService.goodSfcSplit(sfcDto));
}
@ResponseBody
@GetMapping("/splitSfc")
public R getSfcData(SfcDto sfcDto){

@ -29,5 +29,9 @@ public interface SplitSfcService extends IService<SplitSfc> {
SfcDto getSfcData(String sfc);
SfcDto getGoodSfcData(String sfc);
SplitSfc goodSfcSplit(SfcDto sfcDto);
SplitSfc splitSfc(SfcDto sfcDto);
}

@ -83,6 +83,63 @@ public class SplitSfcServiceImpl extends ServiceImpl<SplitSfcMapper, SplitSfc> i
return sfcData;
}
@Override
public SfcDto getGoodSfcData(String sfc) {
String site = CommonMethods.getSite();
String handle = HandleEnum.SFC.getHandle(site, sfc);
//根据sfc找工单等信息
SfcDto sfcData = splitSfcMapper.getSfcData(handle);
if (sfcData==null){
throw new BaseException("未找到产品条码信息");
}
if (!sfcData.getStatus().equals("401")&&!sfcData.getStatus().equals("402")){
throw new BaseException("产品状态不可拆分");
}
if (sfcData.getQty()==1){
throw new BaseException("数量为1不可拆分");
}
return sfcData;
}
@Override
public SplitSfc goodSfcSplit(SfcDto sfcDto){
String site = CommonMethods.getSite();
String sfc = sfcDto.getSfc();
BigDecimal splitQty = new BigDecimal(sfcDto.getQty());
//根据sfc找工单等信息
SfcDto sfcData =getGoodSfcData(sfc);
SplitSfcRequest splitSfcRequest=new SplitSfcRequest();
try {
SplitSerializeServiceInterface splitService = MEServices.create("com.sap.me.production", "SplitSerializeService",site);
//拆sfc
List<SplitSfcDetail> newList=new ArrayList<>();
SplitSfcDetail splitDetail=new SplitSfcDetail();
splitDetail.setQuantity(splitQty);
newList.add(splitDetail);
splitSfcRequest.setNewSfcList(newList);
splitSfcRequest.setSfcRef(HandleEnum.SFC.getHandle(site,sfc));
Collection<SplitSfcResponse> splitSfcResponses = splitService.splitSfc(splitSfcRequest);
SplitSfcResponse splitSfcResponse = splitSfcResponses.iterator().next();
String newSfcRef = splitSfcResponse.getNewSfcRef();
SplitSfc splitSfc=new SplitSfc();
String newSfc = StringUtil.trimHandle(newSfcRef);
splitSfc.setHandle(HandleEnum.SPLIT_SFC.getHandle(site,newSfc));
splitSfc.setSite(site);
splitSfc.setSfc(sfc);
splitSfc.setSplitSfc(newSfc);
splitSfc.setSplitQty(splitQty);
splitSfc.setCreateUser(CommonMethods.getUser());
splitSfc.setCreatedDateTime(LocalDateTime.now());
save(splitSfc);
String workCenterBo = shopOrderService.getById(HandleEnum.SHOP_ORDER.getHandle(site, sfcData.getShopOrder())).getPlannedWorkCenterBo();
return splitSfc;
} catch (Exception e) {
ExceptionUtil.throwException(e);
}
return null;
}
@Override
public SplitSfc splitSfc(SfcDto sfcDto){
String site = CommonMethods.getSite();
String sfc = sfcDto.getSfc();

@ -367,8 +367,9 @@
</delete>
<!-- BaseMapper标准查询/修改/删除 -->
<select id="getSfcData" resultType="com.foreverwin.mesnac.meapi.dto.SfcDto">
SELECT SO.SHOP_ORDER,cf.VALUE WORK_ORDER,OP.OPERATION,ss.STEP_ID,s.qty FROM SFC S
SELECT SO.SHOP_ORDER,cf.VALUE WORK_ORDER,OP.OPERATION,ss.STEP_ID,s.QTY,ST.STATUS FROM SFC S
JOIN SHOP_ORDER SO ON so.HANDLE=S.SHOP_ORDER_BO
JOIN STATUS ST ON ST.HANDLE = S.STATUS_BO
LEFT JOIN CUSTOM_FIELDS CF ON cf.HANDLE=s.SHOP_ORDER_BO AND CF."ATTRIBUTE"='WORK_ORDER'
JOIN SFC_ROUTING SR ON s.HANDLE=sr.SFC_BO
JOIN SFC_ROUTER SR2 ON SR.HANDLE =SR2.SFC_ROUTING_BO AND SR2.IN_USE = 'true'

Loading…
Cancel
Save