|
@@ -1,11 +1,22 @@
|
|
package com.management.platform.service.impl;
|
|
package com.management.platform.service.impl;
|
|
|
|
|
|
|
|
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
|
|
|
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
|
import com.management.platform.entity.ProdProcedure;
|
|
import com.management.platform.entity.ProdProcedure;
|
|
|
|
+import com.management.platform.entity.User;
|
|
import com.management.platform.mapper.ProdProcedureMapper;
|
|
import com.management.platform.mapper.ProdProcedureMapper;
|
|
|
|
+import com.management.platform.mapper.UserMapper;
|
|
import com.management.platform.service.ProdProcedureService;
|
|
import com.management.platform.service.ProdProcedureService;
|
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
|
|
|
+import com.management.platform.util.HttpRespMsg;
|
|
|
|
+import org.apache.commons.lang3.StringUtils;
|
|
import org.springframework.stereotype.Service;
|
|
import org.springframework.stereotype.Service;
|
|
|
|
|
|
|
|
+import javax.annotation.Resource;
|
|
|
|
+import javax.servlet.http.HttpServletRequest;
|
|
|
|
+import java.util.List;
|
|
|
|
+import java.util.stream.Collectors;
|
|
|
|
+
|
|
/**
|
|
/**
|
|
* <p>
|
|
* <p>
|
|
* 服务实现类
|
|
* 服务实现类
|
|
@@ -17,4 +28,117 @@ import org.springframework.stereotype.Service;
|
|
@Service
|
|
@Service
|
|
public class ProdProcedureServiceImpl extends ServiceImpl<ProdProcedureMapper, ProdProcedure> implements ProdProcedureService {
|
|
public class ProdProcedureServiceImpl extends ServiceImpl<ProdProcedureMapper, ProdProcedure> implements ProdProcedureService {
|
|
|
|
|
|
|
|
+ @Resource
|
|
|
|
+ private ProdProcedureMapper prodProcedureMapper;
|
|
|
|
+ @Resource
|
|
|
|
+ private UserMapper userMapper;
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+ @Override
|
|
|
|
+ public HttpRespMsg changeProdProcedure(HttpServletRequest request, List<ProdProcedure> prodProcedureList, Integer productId,String version) {
|
|
|
|
+ HttpRespMsg msg = new HttpRespMsg();
|
|
|
|
+ String token = request.getHeader("TOKEN");
|
|
|
|
+ User user = userMapper.selectById(token);
|
|
|
|
+
|
|
|
|
+ prodProcedureList.stream().forEach(prodProcedure -> {
|
|
|
|
+ user.getCompanyId();
|
|
|
|
+ prodProcedure.setCompanyId(user.getCompanyId());
|
|
|
|
+ prodProcedure.setProductId(productId);
|
|
|
|
+ prodProcedure.setVersionNumber(version);
|
|
|
|
+
|
|
|
|
+ });
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+ //1.获取原有的工序id
|
|
|
|
+ List<ProdProcedure> oldList = prodProcedureMapper.selectList(new LambdaQueryWrapper<ProdProcedure>()
|
|
|
|
+ .eq(user.getCompanyId() != null, ProdProcedure::getCompanyId, user.getCompanyId())
|
|
|
|
+ .eq(productId != null, ProdProcedure::getProductId, productId)
|
|
|
|
+ .eq(StringUtils.isNotBlank(version),ProdProcedure::getVersionNumber,version)
|
|
|
|
+ .select(ProdProcedure::getId)
|
|
|
|
+ );
|
|
|
|
+
|
|
|
|
+ if(oldList!=null&&oldList.size()>0){
|
|
|
|
+
|
|
|
|
+ //2.要删除的id
|
|
|
|
+ List<ProdProcedure> deleteList = oldList.stream().filter(old -> {
|
|
|
|
+ for (ProdProcedure prodProcedure : prodProcedureList) {
|
|
|
|
+ if (prodProcedure.getId() == old.getId()) {
|
|
|
|
+ return false;
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ return true;
|
|
|
|
+
|
|
|
|
+ }).collect(Collectors.toList());
|
|
|
|
+ if (deleteList != null && deleteList.size() > 0) {
|
|
|
|
+
|
|
|
|
+ List<Integer> deleteIdList = deleteList.stream().map(delete -> delete.getId()).collect(Collectors.toList());
|
|
|
|
+ prodProcedureMapper.deleteBatchIds(deleteIdList);
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ //3.编辑的id
|
|
|
|
+ List<ProdProcedure> updateList = prodProcedureList.stream().filter(prodProcedure -> prodProcedure.getId() != null).collect(Collectors.toList());
|
|
|
|
+ if (updateList != null&&updateList.size()>0) {
|
|
|
|
+ this.updateBatchById(updateList);
|
|
|
|
+ }
|
|
|
|
+ //4.新增的id
|
|
|
|
+ List<ProdProcedure> insertList = prodProcedureList.stream().filter(prodProcedure -> prodProcedure.getId() == null).collect(Collectors.toList());
|
|
|
|
+ if (insertList != null&&insertList.size()>0) {
|
|
|
|
+ this.saveBatch(insertList);
|
|
|
|
+ }
|
|
|
|
+ }else{
|
|
|
|
+
|
|
|
|
+ this.saveBatch(prodProcedureList);
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+ return msg;
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ @Override
|
|
|
|
+ public HttpRespMsg isDelete(HttpServletRequest request, Integer deleteId) {
|
|
|
|
+ HttpRespMsg msg = new HttpRespMsg();
|
|
|
|
+ //TODO: 检查工序是否已经被使用,被使用的不能删除
|
|
|
|
+ boolean flag=true;
|
|
|
|
+ msg.setData(flag);
|
|
|
|
+ return msg;
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ @Override
|
|
|
|
+ public HttpRespMsg getVersion(HttpServletRequest request, Integer productId) {
|
|
|
|
+ HttpRespMsg httpRespMsg=new HttpRespMsg();
|
|
|
|
+ String token = request.getHeader("TOKEN");
|
|
|
|
+ User user = userMapper.selectById(token);
|
|
|
|
+
|
|
|
|
+ List<ProdProcedure> procedureVersions = prodProcedureMapper.selectList(
|
|
|
|
+ new QueryWrapper<ProdProcedure>()
|
|
|
|
+ .select("DISTINCT version_number")
|
|
|
|
+ .lambda()
|
|
|
|
+ .eq(productId != null, ProdProcedure::getProductId, productId)
|
|
|
|
+ .eq(user.getCompanyId()!=null,ProdProcedure::getCompanyId,user.getCompanyId())
|
|
|
|
+
|
|
|
|
+ );
|
|
|
|
+ List<String> versionList = procedureVersions.stream().map(prodProcedure -> prodProcedure.getVersionNumber()).collect(Collectors.toList());
|
|
|
|
+ System.out.println(versionList);
|
|
|
|
+ System.out.println(procedureVersions);
|
|
|
|
+ httpRespMsg.data=versionList;
|
|
|
|
+ return httpRespMsg;
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ @Override
|
|
|
|
+ public HttpRespMsg getInfo(HttpServletRequest request, String version, Integer productId) {
|
|
|
|
+ HttpRespMsg httpRespMsg=new HttpRespMsg();
|
|
|
|
+ String token = request.getHeader("TOKEN");
|
|
|
|
+ User user = userMapper.selectById(token);
|
|
|
|
+ List<ProdProcedure> prodProcedureList = prodProcedureMapper.selectList(
|
|
|
|
+ new LambdaQueryWrapper<ProdProcedure>()
|
|
|
|
+ .eq(user.getCompanyId() != null, ProdProcedure::getCompanyId, user.getCompanyId())
|
|
|
|
+ .eq(StringUtils.isNotBlank(version), ProdProcedure::getVersionNumber, version)
|
|
|
|
+ .eq(productId != null, ProdProcedure::getProductId, productId)
|
|
|
|
+
|
|
|
|
+ );
|
|
|
|
+ httpRespMsg.data=prodProcedureList;
|
|
|
|
+ return httpRespMsg;
|
|
|
|
+ }
|
|
}
|
|
}
|