检验项目维护

philip 4 years ago
parent 75d9bce87e
commit 261cea0f00

@ -56,10 +56,14 @@ public enum HandleEnum {
/****/
SFC_DISPATCH("SfcDispatchBO:", "SfcDispatchBO:{0},{1}"),
/**检验项目维护*/
INSPECTION_ITEM("InspectionItemBO:","InspectionItemBO:{0},{1},{2}"),
/**编码规则*/
NEXT_NUMBER_CODE("NextNumberCodeBO:","NextNumberCodeBO:{0},{1},{2}");
private String prefix;
private String pattern;

@ -1,17 +1,27 @@
package com.foreverwin.mesnac.quality.controller;
import com.foreverwin.mesnac.common.enums.HandleEnum;
import com.foreverwin.mesnac.common.util.StringUtil;
import com.foreverwin.mesnac.quality.mapper.InspectionItemAdditionMapper;
import com.foreverwin.mesnac.quality.mapper.InspectionItemDetailMapper;
import com.foreverwin.mesnac.quality.model.*;
import com.foreverwin.modular.core.util.R;
import com.foreverwin.modular.core.util.FrontPage;
import com.foreverwin.modular.core.util.CommonMethods;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.sap.me.sampling.InspectionData;
import com.visiprise.common.exception.BaseException;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import com.foreverwin.mesnac.quality.service.InspectionItemService;
import com.foreverwin.mesnac.quality.model.InspectionItem;
import java.time.LocalDateTime;
import java.util.HashMap;
import java.util.List;
import java.util.UUID;
/**
*
@ -25,6 +35,52 @@ public class InspectionItemController {
@Autowired
public InspectionItemService inspectionItemService;
@Autowired
public InspectionItemDetailMapper inspectionItemDetailMapper;
@Autowired
public InspectionItemAdditionMapper inspectionItemAdditionMapper;
@PostMapping("/deleteById")
public R deleteById(@RequestBody InspectionItem inspectionItem){
inspectionItemService.deleteServece(inspectionItem);
return R.ok();
}
@PostMapping("/saveAll")
public R saveAll(@RequestBody InspectionItem inspectionItem){
inspectionItemService.saveAll(inspectionItem);
return R.ok();
}
@GetMapping("/queryAll")
public R queryAll(InspectionItem inspectionItem){
if(StringUtil.isBlank(inspectionItem.getInspectionItemNo())){
throw new BaseException("请输入检验项目编号版本号");
}
if(StringUtil.isEmpty(inspectionItem.getRevision())){
String revision = inspectionItemService.findRevisionByCurrentRevision(inspectionItem.getInspectionItemNo());
if(StringUtil.isEmpty(revision)){
throw new BaseException("请输入版本号");
}
inspectionItem.setRevision(revision);
}
inspectionItem.setSite(CommonMethods.getSite());
inspectionItem.setHandle(HandleEnum.INSPECTION_ITEM.getHandle(inspectionItem.getSite(),inspectionItem.getInspectionItemNo(),inspectionItem.getRevision()));
InspectionItem handle = inspectionItemService.getById(inspectionItem.getHandle());
if(null == handle){
throw new BaseException("根据此项目编号以及版本未检索到数据");
}
HashMap<String, Object> findCondition = new HashMap<>(2);
findCondition.put(InspectionItemDetail.INSPECTION_ITEM_BO,inspectionItem.getHandle());
List<InspectionItemDetail> inspectionItemDetails = inspectionItemDetailMapper.selectByMap(findCondition);
List<InspectionItemAddition> inspectionItemAdditions = inspectionItemAdditionMapper.selectByMap(findCondition);
handle.setInspectionItemDetailList(inspectionItemDetails);
handle.setInspectionItemAdditionList(inspectionItemAdditions);
return R.ok(handle);
}
/**
* id
*

@ -8,6 +8,8 @@ import com.baomidou.mybatisplus.annotation.TableId;
import java.time.LocalDateTime;
import com.baomidou.mybatisplus.annotation.TableField;
import java.io.Serializable;
import java.util.List;
import com.baomidou.mybatisplus.annotation.IdType;
/**
@ -91,6 +93,11 @@ public class InspectionItem extends Model<InspectionItem> {
@TableField("CATEGORY")
private String category;
@TableField(exist = false)
private List<InspectionItemDetail> inspectionItemDetailList;
@TableField(exist = false)
private List<InspectionItemAddition> inspectionItemAdditionList;
public String getHandle() {
return handle;
@ -246,4 +253,20 @@ public static final String CATEGORY = "CATEGORY";
", category = " + category +
"}";
}
public void setInspectionItemDetailList(List<InspectionItemDetail> inspectionItemDetailList) {
this.inspectionItemDetailList = inspectionItemDetailList;
}
public List<InspectionItemDetail> getInspectionItemDetailList() {
return inspectionItemDetailList;
}
public void setInspectionItemAdditionList(List<InspectionItemAddition> inspectionItemAdditionList) {
this.inspectionItemAdditionList = inspectionItemAdditionList;
}
public List<InspectionItemAddition> getInspectionItemAdditionList() {
return inspectionItemAdditionList;
}
}

@ -3,6 +3,7 @@ package com.foreverwin.mesnac.quality.service;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.foreverwin.mesnac.quality.model.InspectionItem;
import com.baomidou.mybatisplus.extension.service.IService;
import com.foreverwin.mesnac.quality.model.InspectionProject;
import com.foreverwin.modular.core.util.FrontPage;
import java.util.List;
@ -25,4 +26,12 @@ public interface InspectionItemService extends IService<InspectionItem> {
IPage<InspectionItem> selectPage(FrontPage<InspectionItem> frontPage, InspectionItem inspectionItem);
List<InspectionItem> selectList(InspectionItem inspectionItem);
String findRevisionByCurrentRevision(String inspectionItemNo);
String inspectItemNoGenerationRules(InspectionItem inspectionItem);
void saveAll(InspectionItem inspectionItem);
void deleteServece(InspectionItem inspectionItem);
}

@ -1,5 +1,17 @@
package com.foreverwin.mesnac.quality.service.impl;
import com.baomidou.mybatisplus.core.conditions.Wrapper;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.injector.methods.SelectOne;
import com.foreverwin.mesnac.common.enums.HandleEnum;
import com.foreverwin.mesnac.common.util.StringUtil;
import com.foreverwin.mesnac.quality.model.InspectionItemAddition;
import com.foreverwin.mesnac.quality.model.InspectionItemDetail;
import com.foreverwin.mesnac.quality.model.InspectionProject;
import com.foreverwin.mesnac.quality.service.InspectionItemAdditionService;
import com.foreverwin.mesnac.quality.service.InspectionItemDetailService;
import com.foreverwin.mesnac.common.constant.Constants;
import com.foreverwin.modular.core.util.CommonMethods;
import com.foreverwin.modular.core.util.FrontPage;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
@ -7,11 +19,16 @@ import com.foreverwin.mesnac.quality.model.InspectionItem;
import com.foreverwin.mesnac.quality.mapper.InspectionItemMapper;
import com.foreverwin.mesnac.quality.service.InspectionItemService;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.visiprise.common.exception.BaseException;
import org.springframework.stereotype.Service;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.transaction.annotation.Transactional;
import java.time.LocalDateTime;
import java.util.HashMap;
import java.util.List;
import java.util.UUID;
/**
* <p>
*
@ -27,6 +44,10 @@ public class InspectionItemServiceImpl extends ServiceImpl<InspectionItemMapper,
@Autowired
private InspectionItemMapper inspectionItemMapper;
@Autowired
private InspectionItemDetailService inspectionItemDetailService;
@Autowired
private InspectionItemAdditionService inspectionItemAdditionService;
@Override
public IPage<InspectionItem> selectPage(FrontPage<InspectionItem> frontPage, InspectionItem inspectionItem) {
@ -42,5 +63,107 @@ public class InspectionItemServiceImpl extends ServiceImpl<InspectionItemMapper,
return super.list(queryWrapper);
}
@Override
public String findRevisionByCurrentRevision(String inspectionItemNo) {
String site = CommonMethods.getSite();
LambdaQueryWrapper<InspectionItem> lambdaQuery=new LambdaQueryWrapper<>();
lambdaQuery.eq(InspectionItem::getInspectionItemNo,inspectionItemNo);
lambdaQuery.eq(InspectionItem::getCurrentRevision, Constants.BOOL_TRUE);
lambdaQuery.eq(InspectionItem::getSite, site);
InspectionItem one = getOne(lambdaQuery, false);
if (one!=null){
return one.getRevision();
}
return null;
}
@Override
public String inspectItemNoGenerationRules(InspectionItem inspectionItem) {
List<InspectionItemAddition> inspectionItemAdditionList = inspectionItem.getInspectionItemAdditionList();
StringBuilder inspectionItemNo=new StringBuilder();
inspectionItemAdditionList.forEach(inspectionItemAddition->inspectionItemNo.append(inspectionItemAddition.getAdditionalObject()));
return inspectionItemNo.toString();
}
@Override
public void saveAll(InspectionItem inspectionItem) {
boolean b = false;
if(StringUtil.isEmpty(inspectionItem.getInspectionItemNo())){
b = true;
inspectionItem.setInspectionItemNo(inspectItemNoGenerationRules(inspectionItem));
}
if (inspectionItem.getInspectionType().length()>1){
inspectionItem.setCategory("RESOURCE");
}else {
inspectionItem.setCategory("QUALITY");
}
inspectionItem.setSite(CommonMethods.getSite());
inspectionItem.setHandle(HandleEnum
.INSPECTION_ITEM.getHandle(inspectionItem.getSite(),inspectionItem.getInspectionItemNo(),inspectionItem.getRevision()));
//保存检验项目维护-副
//移除
HashMap<String, Object> removeCondition = new HashMap<>();
removeCondition.put(InspectionItemDetail.INSPECTION_ITEM_BO,inspectionItem.getHandle());
inspectionItemDetailService.removeByMap(removeCondition);
inspectionItemAdditionService.removeByMap(removeCondition);
if(null != inspectionItem.getInspectionItemDetailList() && inspectionItem.getInspectionItemDetailList().size() > 0){
List<InspectionItemDetail> inspectionItemDetailList = inspectionItem.getInspectionItemDetailList();
for (InspectionItemDetail inspectionItemDetail : inspectionItemDetailList) {
inspectionItemDetail.setHandle(UUID.randomUUID().toString());
inspectionItemDetail.setInspectionItemBo(inspectionItem.getHandle());
inspectionItemDetail.setCreatedDateTime(LocalDateTime.now());
inspectionItemDetail.setCreateUser(CommonMethods.getUser());
inspectionItemDetail.setModifiedDateTime(LocalDateTime.now());
inspectionItemDetail.setModifyUser(CommonMethods.getUser());
}
//保存
inspectionItemDetailService.saveBatch(inspectionItemDetailList);
}
if(null != inspectionItem.getInspectionItemAdditionList() && inspectionItem.getInspectionItemAdditionList().size() > 0){
List<InspectionItemAddition> inspectionItemAdditionList = inspectionItem.getInspectionItemAdditionList();
for (InspectionItemAddition inspectionItemAddition : inspectionItemAdditionList) {
inspectionItemAddition.setHandle(UUID.randomUUID().toString());
inspectionItemAddition.setInspectionItemBo(inspectionItem.getHandle());
inspectionItemAddition.setCreatedDateTime(LocalDateTime.now());
inspectionItemAddition.setCreateUser(CommonMethods.getUser());
inspectionItemAddition.setModifiedDateTime(LocalDateTime.now());
inspectionItemAddition.setModifyUser(CommonMethods.getUser());
}
//保存
inspectionItemAdditionService.saveBatch(inspectionItemAdditionList);
}
//保存检验项目维护-主
if(inspectionItem.selectById(inspectionItem.getHandle()) == null){
inspectionItem.setCreatedDateTime(LocalDateTime.now());
inspectionItem.setCreateUser(CommonMethods.getUser());
inspectionItem.setModifiedDateTime(LocalDateTime.now());
inspectionItem.setModifyUser(CommonMethods.getUser());
save(inspectionItem);
}else{
inspectionItem.setModifiedDateTime(LocalDateTime.now());
inspectionItem.setModifyUser(CommonMethods.getUser());
if(b){
throw new BaseException("请先检索再保存");
}
saveOrUpdate(inspectionItem);
}
}
@Override
public void deleteServece(InspectionItem inspectionItem) {
if(StringUtil.isEmpty(inspectionItem.getInspectionItemNo())){
throw new BaseException("请输入编号");
}
inspectionItem.setSite(CommonMethods.getSite());
inspectionItem.setHandle(HandleEnum.INSPECTION_ITEM.getHandle(inspectionItem.getSite(),inspectionItem.getInspectionItemNo(),inspectionItem.getRevision()));
HashMap<String, Object> removeCondition = new HashMap<>();
removeCondition.put(InspectionItemAddition.INSPECTION_ITEM_BO,inspectionItem.getHandle());
inspectionItemAdditionService.removeByMap(removeCondition);
inspectionItemDetailService.removeByMap(removeCondition);
removeById(inspectionItem.getHandle());
}
}
Loading…
Cancel
Save