Merge remote-tracking branch 'origin/master'

赵嘉伟 4 years ago
commit 8f2f1bfea0

@ -125,7 +125,8 @@ public enum HandleEnum {
/**检验任务明细**/
INSPECTION_TASK_DETAIL("InspectionTaskDetailBO:","InspectionTaskDetailBO:{0},{1}"),
/**自报任务**/
SELF_REPORT("SelfReportBO:","SelfReportBO:{0},{1}"),
/**上料**/
LOAD_INVENTORY("LoadInventoryBO:","LoadInventoryBO:{0},{1}"),

@ -0,0 +1,40 @@
package com.foreverwin.mesnac.quality.dto;
public class SelfReportRequest {
private String type;
private String shopOrder;
private String ncGroup;
private String ncCode;
public String getType() {
return type;
}
public void setType(String type) {
this.type = type;
}
public String getShopOrder() {
return shopOrder;
}
public void setShopOrder(String shopOrder) {
this.shopOrder = shopOrder;
}
public String getNcGroup() {
return ncGroup;
}
public void setNcGroup(String ncGroup) {
this.ncGroup = ncGroup;
}
public String getNcCode() {
return ncCode;
}
public void setNcCode(String ncCode) {
this.ncCode = ncCode;
}
}

@ -7,6 +7,7 @@ import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.extension.activerecord.Model;
import java.io.Serializable;
import java.math.BigDecimal;
import java.time.LocalDate;
import java.time.LocalDateTime;
@ -79,7 +80,7 @@ public class SelfReport extends Model<SelfReport> {
*
*/
@TableField("NC_QTY")
private Double ncQty;
private BigDecimal ncQty;
/**
*
*/
@ -237,11 +238,11 @@ public class SelfReport extends Model<SelfReport> {
this.ncCode = ncCode;
}
public Double getNcQty() {
public BigDecimal getNcQty() {
return ncQty;
}
public void setNcQty(Double ncQty) {
public void setNcQty(BigDecimal ncQty) {
this.ncQty = ncQty;
}

@ -3,8 +3,16 @@ package com.foreverwin.mesnac.quality.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.fasterxml.jackson.core.type.TypeReference;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.foreverwin.mesnac.common.constant.Constants;
import com.foreverwin.mesnac.common.enums.HandleEnum;
import com.foreverwin.mesnac.common.service.AnomalyService;
import com.foreverwin.mesnac.common.service.CommonService;
import com.foreverwin.mesnac.common.util.StringUtil;
import com.foreverwin.mesnac.meapi.dto.SfcDto;
import com.foreverwin.mesnac.production.mapper.SfcCrossMapper;
import com.foreverwin.mesnac.quality.dto.SelfReportRequest;
import com.foreverwin.mesnac.quality.mapper.SelfReportMapper;
import com.foreverwin.mesnac.quality.model.SelfReport;
import com.foreverwin.mesnac.quality.service.SelfReportService;
@ -16,10 +24,13 @@ import org.springframework.context.i18n.LocaleContextHolder;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.math.BigDecimal;
import java.time.LocalDate;
import java.time.LocalDateTime;
import java.util.List;
import java.util.Map;
import java.util.UUID;
import java.util.stream.Collectors;
/**
* <p>
@ -38,6 +49,10 @@ public class SelfReportServiceImpl extends ServiceImpl<SelfReportMapper, SelfRep
private SelfReportMapper selfReportMapper;
@Autowired
private SfcCrossMapper sfcCorssMapper;
@Autowired
private AnomalyService anomalyService;
@Autowired
private CommonService commonService;
static final String STATE_NEW="NEW";
@ -66,15 +81,80 @@ public class SelfReportServiceImpl extends ServiceImpl<SelfReportMapper, SelfRep
@Override
public void doAdd(Map<String, Object> map) {
String site = CommonMethods.getSite();
String user = CommonMethods.getUser();
String sfc = (String)map.get("sfc");
String resrce = (String)map.get("resrce");
List list = (List)map.get("ncList");
String ncQty = (String)map.get("ncQty");
String comments = (String)map.get("comments");
String location=(String)map.get("location");
List<SelfReportRequest> list = (List<SelfReportRequest>)map.get("ncList");
ObjectMapper mapper = new ObjectMapper();
list = mapper.convertValue(list, new TypeReference<List<SelfReportRequest>>() {});
SfcDto sfcDto = new SfcDto();
sfcDto.setSfc(sfc);
sfcDto.setResrce(resrce);
Map<String, Object> sfcMapper = sfcCorssMapper.querySfcData(site, LocaleContextHolder.getLocale().getLanguage(), sfcDto);
Map<String, Object> sfcData = sfcCorssMapper.querySfcData(site, LocaleContextHolder.getLocale().getLanguage(), sfcDto);
String operationStep = (String)sfcData.get("OPERATION_STEP");
String shopOrder = (String)sfcData.get("SHOP_ORDER");
String item = (String)sfcData.get("ITEM");
List<SelfReportRequest> resrceAbnormalList = list.stream().filter(selfReportRequest -> selfReportRequest.getType().equals(Constants.ABNORMAL_RESRCE)).collect(Collectors.toList());
if (resrceAbnormalList.size()>0){
StringBuilder stringBuilder = new StringBuilder();
for (int i=0;i<resrceAbnormalList.size();i++){
stringBuilder.append(resrceAbnormalList.get(i).getNcCode());
if (i!=resrceAbnormalList.size()-1){
stringBuilder.append(",");
}
}
anomalyService.createAnomalyTask(Constants.ABNORMAL_RESRCE,resrce,shopOrder,sfc,stringBuilder.toString(),location,ncQty,comments);
}
List<SelfReportRequest> otherAbnormalList = list.stream().filter(selfReportRequest -> selfReportRequest.getType().equals(Constants.ABNORMAL_OTHER)).collect(Collectors.toList());
if (otherAbnormalList.size()>0){
anomalyService.createAnomalyTask(Constants.ABNORMAL_RESRCE,resrce,shopOrder,sfc,"",location,ncQty,comments);
}
QueryWrapper<SelfReport> queryWrapper=new QueryWrapper<>();
queryWrapper.eq(SelfReport.SFC,sfc);
queryWrapper.eq(SelfReport.OP_STEP,operationStep);
queryWrapper.eq(SelfReport.STATE,Constants.NEW);
List<SelfReport> selfReports = list(queryWrapper);
if (selfReports.size()>0){
throw new BaseException("存在未处理的自报任务");
}
List<SelfReportRequest> selfReportList = list.stream().filter(selfReportRequest -> selfReportRequest.getType().equals("Z")).collect(Collectors.toList());
if (selfReportList.size()>0){
StringBuilder stringBuilder = new StringBuilder();
for (int i=0;i<selfReportList.size();i++){
stringBuilder.append(selfReportList.get(i).getNcCode());
if (i!=selfReportList.size()-1){
stringBuilder.append(",");
}
}
String taskNo = UUID.randomUUID().toString();
String handle = HandleEnum.SELF_REPORT.getHandle(site, taskNo);
SelfReport selfReport = new SelfReport();
selfReport.setDescription("自报");
selfReport.setHandle(handle);
selfReport.setSite(site);
selfReport.setTaskNo(taskNo);
String workShopBo = commonService.getWorkShopBo(HandleEnum.RESOURCE.getHandle(site, resrce));
selfReport.setWorkCenter(StringUtil.trimHandle(workShopBo));
selfReport.setShopOrder(shopOrder);
selfReport.setItem(item);
selfReport.setOpStep(operationStep);
selfReport.setResrce(resrce);
selfReport.setSfc(sfc);
selfReport.setNcCode(stringBuilder.toString());
selfReport.setNcQty(new BigDecimal(ncQty));
selfReport.setLocation(location);
selfReport.setState(Constants.NEW);
selfReport.setRemark(comments);
selfReport.setCreateUser(user);
selfReport.setCreatedDateTime(LocalDateTime.now());
selfReport.setModifyUser(user);
selfReport.setModifiedDateTime(LocalDateTime.now());
save(selfReport);
}
}
@Override

Loading…
Cancel
Save