@@ -125,4 +125,18 @@ public class FeaturesStageProcedureRelationController { | |||
return new Result(); | |||
} | |||
@DeleteMapping("deleteByStageProcedure") | |||
@ApiOperation("删除 依据工序id 检验阶段") | |||
@ApiImplicitParams({ | |||
@ApiImplicitParam(name = "productId", value = "产品", paramType = "query", dataTypeClass = Long.class), | |||
@ApiImplicitParam(name = "inspectionStage", value = "检测阶段", paramType = "query", dataTypeClass = Integer.class), | |||
@ApiImplicitParam(name = "workingProcedureId", value = "工序", paramType = "query", dataTypeClass = Long.class) | |||
}) | |||
public Result deleteByStageProcedure(@ApiIgnore @RequestParam Map<String, Object> params){ | |||
featuresStageProcedureRelationService.deleteByStageProcedure(params); | |||
return new Result(); | |||
} | |||
} |
@@ -2,6 +2,8 @@ package com.cnbm.basic.controller; | |||
import com.cnbm.admin.annotation.LogOperation; | |||
import com.cnbm.admin.params.IdParam; | |||
import com.cnbm.basic.dto.FeaturesProcedureDTO; | |||
import com.cnbm.basic.dto.FeaturesStageProcedureRelationDTO; | |||
import com.cnbm.basic.dto.WorkingProcedureDTO; | |||
import com.cnbm.basic.entity.ProductFeatures; | |||
import com.cnbm.common.constant.Constant; | |||
@@ -110,11 +112,15 @@ public class ProductFeaturesController { | |||
@GetMapping("export") | |||
@ApiOperation("导出") | |||
@LogOperation("导出") | |||
@ApiImplicitParams({ | |||
@ApiImplicitParam(name = "productId", value = "产品", paramType = "query", dataTypeClass = Long.class), | |||
@ApiImplicitParam(name = "inspectionStage", value = "检测阶段", paramType = "query", dataTypeClass = Integer.class) | |||
}) | |||
@PreAuthorize("@ex.hasAuthority('basic:productFeatures:export')") | |||
public void export(@ApiIgnore @RequestParam Map<String, Object> params, HttpServletResponse response) throws Exception { | |||
List<ProductFeaturesDTO> list = productFeaturesService.list(params); | |||
List<ProductFeaturesDTO> list = productFeaturesService.getFeaturesList(params); | |||
ExcelUtils.exportExcelToTarget(response, null, list, ProductFeaturesExcel.class); | |||
ExcelUtils.exportExcelToTarget(response, "ProductFeatures", list, ProductFeaturesExcel.class); | |||
} | |||
@PostMapping("getProductFeaturesByProductId") | |||
@@ -125,13 +131,34 @@ public class ProductFeaturesController { | |||
} | |||
@PostMapping("getFeaturesByStageProcedure") | |||
@ApiOperation("查询产品特性 依据工序id 检验阶段") | |||
@ApiOperation("查询依据工序id 检验阶段") | |||
@ApiImplicitParams({ | |||
@ApiImplicitParam(name = "productId", value = "产品", paramType = "query", dataTypeClass = Long.class), | |||
//@ApiImplicitParam(name = "workingProcedureId", value = "工序", paramType = "query", dataTypeClass = Long.class), | |||
@ApiImplicitParam(name = "inspectionStage", value = "检测阶段", paramType = "query", dataTypeClass = Integer.class) | |||
}) | |||
public Result<List<FeaturesProcedureDTO>> getFeaturesByStageProcedure(@ApiIgnore @RequestParam Map<String, Object> params){ | |||
List<FeaturesProcedureDTO> list = productFeaturesService.getFeaturesByStageProcedure(params); | |||
return new Result<List<FeaturesProcedureDTO>>().ok(list); | |||
} | |||
@PutMapping("batchUpdate") | |||
@ApiOperation("批量更新特性") | |||
public Result batchUpdate(@RequestBody ProductFeaturesDTO[] lists){ | |||
productFeaturesService.batchUpdate(lists); | |||
return new Result(); | |||
} | |||
@PostMapping("getFeaturesList") | |||
@ApiOperation("特性列表") | |||
@ApiImplicitParams({ | |||
@ApiImplicitParam(name = "inspectionStage", value = "检测阶段", paramType = "query", dataTypeClass = Integer.class), | |||
@ApiImplicitParam(name = "workingProcedureId", value = "工序", paramType = "query", dataTypeClass = Long.class) | |||
@ApiImplicitParam(name = "productId", value = "产品", paramType = "query", dataTypeClass = Long.class), | |||
@ApiImplicitParam(name = "inspectionStage", value = "检测阶段", paramType = "query", dataTypeClass = Integer.class) | |||
}) | |||
public Result<List<ProductFeaturesDTO>> getFeaturesByStageProcedure(@ApiIgnore @RequestParam Map<String, Object> params){ | |||
List<ProductFeaturesDTO> list = productFeaturesService.getFeaturesByStageProcedure(params); | |||
public Result<List<ProductFeaturesDTO>> getFeaturesList(@ApiIgnore @RequestParam Map<String, Object> params){ | |||
List<ProductFeaturesDTO> list = productFeaturesService.getFeaturesList(params); | |||
return new Result<List<ProductFeaturesDTO>>().ok(list); | |||
} | |||
@@ -1,6 +1,9 @@ | |||
package com.cnbm.basic.controller; | |||
import com.baomidou.mybatisplus.core.toolkit.ObjectUtils; | |||
import com.cnbm.admin.annotation.LogOperation; | |||
import com.cnbm.admin.params.IdParam; | |||
import com.cnbm.basic.dto.SequenceDTO; | |||
import com.cnbm.common.constant.Constant; | |||
import com.cnbm.common.page.PageData; | |||
import com.cnbm.common.utils.ExcelUtils; | |||
@@ -75,7 +78,12 @@ public class ProductWorkingprocedureRelationController { | |||
productWorkingprocedureRelationService.save(dto); | |||
return new Result(); | |||
if(ObjectUtils.isNotNull(dto.getWorkingProcedureId())) { | |||
return new Result(); | |||
} | |||
else{ | |||
return new Result().error(1,"该工艺已经绑定"); | |||
} | |||
} | |||
@PutMapping | |||
@@ -133,4 +141,30 @@ public class ProductWorkingprocedureRelationController { | |||
return new Result(); | |||
} | |||
@PutMapping("sequenceUp") | |||
@ApiOperation("产品工序上移") | |||
// @ApiImplicitParams({ | |||
// @ApiImplicitParam(name = "productId", value = "产品", paramType = "query", dataTypeClass = Long.class), | |||
// @ApiImplicitParam(name = "index", value = "产品工序序号", paramType = "query", dataTypeClass = Integer.class) | |||
// }) | |||
public Result sequenceUp(@RequestBody SequenceDTO sequenceDTO){ | |||
productWorkingprocedureRelationService.sequenceUp(sequenceDTO); | |||
return new Result(); | |||
} | |||
@PutMapping("sequenceDown") | |||
@ApiOperation("产品工序下移") | |||
// @ApiImplicitParams({ | |||
// @ApiImplicitParam(name = "productId", value = "产品", paramType = "query", dataTypeClass = Long.class), | |||
// @ApiImplicitParam(name = "index", value = "产品工序序号", paramType = "query", dataTypeClass = Integer.class) | |||
// }) | |||
public Result sequenceDown(@RequestBody SequenceDTO sequenceDTO){ | |||
productWorkingprocedureRelationService.sequenceDown(sequenceDTO); | |||
return new Result(); | |||
} | |||
} |
@@ -0,0 +1,18 @@ | |||
package com.cnbm.basic.dto; | |||
import io.swagger.annotations.ApiModel; | |||
import io.swagger.annotations.ApiModelProperty; | |||
import lombok.Data; | |||
import java.io.Serializable; | |||
@Data | |||
@ApiModel(value = "工艺特性-工序 DTO对象") | |||
public class FeaturesProcedureDTO implements Serializable { | |||
@ApiModelProperty(value = "检验参数id,关联product_features表") | |||
private Long productFeaturesId; | |||
@ApiModelProperty(value = "工序id,关联 working_procedure 表") | |||
private Long workingProcedureId; | |||
} |
@@ -42,6 +42,30 @@ public class ProductWorkingprocedureRelationDTO implements Serializable { | |||
@ApiModelProperty(value = "1 可用,0 不可用") | |||
private Integer status; | |||
@ApiModelProperty(value = "node.shape") | |||
private String shape; | |||
@ApiModelProperty(value = "node.x") | |||
private Integer x; | |||
@ApiModelProperty(value = "node.y") | |||
private Integer y; | |||
@ApiModelProperty(value = "node.width") | |||
private Integer width; | |||
@ApiModelProperty(value = "node.width") | |||
private Integer height; | |||
@ApiModelProperty(value = "node.lable") | |||
private String lable; | |||
@ApiModelProperty(value = "字体颜色") | |||
private String fontcolor; | |||
@ApiModelProperty(value = "背景颜色") | |||
private String backcolor; | |||
@ApiModelProperty(value = "备注") | |||
private String remark; | |||
@@ -0,0 +1,18 @@ | |||
package com.cnbm.basic.dto; | |||
import io.swagger.annotations.ApiModel; | |||
import io.swagger.annotations.ApiModelProperty; | |||
import lombok.Data; | |||
import java.io.Serializable; | |||
@Data | |||
@ApiModel(value = "顺序更新参数") | |||
public class SequenceDTO implements Serializable { | |||
@ApiModelProperty(value = "产品id") | |||
private Long productId; | |||
@ApiModelProperty(value = "产品工序序号") | |||
private Integer index; | |||
} |
@@ -40,7 +40,6 @@ public class FeaturesStageProcedureRelation implements Serializable { | |||
private String remark; | |||
@ApiModelProperty("删除标志,是否有效:1 可用 0不可用") | |||
@TableLogic | |||
private Integer valid; | |||
@ApiModelProperty("创建人") | |||
@@ -38,6 +38,30 @@ public class ProductWorkingprocedureRelation implements Serializable { | |||
@ApiModelProperty("1 可用,0 不可用") | |||
private Integer status; | |||
@ApiModelProperty("node.shape") | |||
private String shape; | |||
@ApiModelProperty("node.x") | |||
private Integer x; | |||
@ApiModelProperty("node.y") | |||
private Integer y; | |||
@ApiModelProperty("node.width") | |||
private Integer width; | |||
@ApiModelProperty("node.width") | |||
private Integer height; | |||
@ApiModelProperty("node.lable") | |||
private String lable; | |||
@ApiModelProperty("字体颜色") | |||
private String fontcolor; | |||
@ApiModelProperty("背景颜色") | |||
private String backcolor; | |||
@ApiModelProperty("备注") | |||
private String remark; | |||
@@ -23,6 +23,22 @@ public class ProductWorkingprocedureRelationExcel { | |||
private Integer sequence; | |||
@Excel(name = "1 可用,0 不可用") | |||
private Integer status; | |||
@Excel(name = "node.shape") | |||
private String shape; | |||
@Excel(name = "node.x") | |||
private Integer x; | |||
@Excel(name = "node.y") | |||
private Integer y; | |||
@Excel(name = "node.width") | |||
private Integer width; | |||
@Excel(name = "node.width") | |||
private Integer height; | |||
@Excel(name = "node.lable") | |||
private String lable; | |||
@Excel(name = "字体颜色") | |||
private String fontcolor; | |||
@Excel(name = "背景颜色") | |||
private String backcolor; | |||
@Excel(name = "备注") | |||
private String remark; | |||
@Excel(name = "删除标志,是否有效:1 可用 0不可用") | |||
@@ -17,4 +17,5 @@ import java.util.Map; | |||
@Mapper | |||
public interface FeaturesStageProcedureRelationMapper extends BaseDao<FeaturesStageProcedureRelation> { | |||
void deleteByStageProcedure(Map<String, Object> params); | |||
} |
@@ -1,5 +1,7 @@ | |||
package com.cnbm.basic.mapper; | |||
import com.cnbm.basic.dto.FeaturesProcedureDTO; | |||
import com.cnbm.basic.dto.FeaturesStageProcedureRelationDTO; | |||
import com.cnbm.basic.dto.ProductFeaturesDTO; | |||
import com.cnbm.common.dao.BaseDao; | |||
import com.cnbm.basic.entity.ProductFeatures; | |||
@@ -18,5 +20,7 @@ import java.util.Map; | |||
public interface ProductFeaturesMapper extends BaseDao<ProductFeatures> { | |||
List<ProductFeaturesDTO> getProductFeaturesByProductId(Long id); | |||
List<ProductFeaturesDTO> getFeaturesByStageProcedure(Map<String, Object> params); | |||
List<FeaturesProcedureDTO> getFeaturesByStageProcedure(Map<String, Object> params); | |||
List<ProductFeaturesDTO> getFeaturesList(Map<String, Object> params); | |||
} |
@@ -1,9 +1,12 @@ | |||
package com.cnbm.basic.mapper; | |||
import com.cnbm.basic.dto.ProductWorkingprocedureRelationDTO; | |||
import com.cnbm.common.dao.BaseDao; | |||
import com.cnbm.basic.entity.ProductWorkingprocedureRelation; | |||
import org.apache.ibatis.annotations.Mapper; | |||
import java.util.List; | |||
/** | |||
* 工序 表 | |||
* | |||
@@ -12,5 +15,5 @@ import org.apache.ibatis.annotations.Mapper; | |||
*/ | |||
@Mapper | |||
public interface ProductWorkingprocedureRelationMapper extends BaseDao<ProductWorkingprocedureRelation> { | |||
List<ProductWorkingprocedureRelationDTO> getWorkingprocedureByProductId(Long productId); | |||
} |
@@ -26,4 +26,6 @@ public interface IFeaturesStageProcedureRelationService extends CrudService<Feat | |||
void delete(Long[] ids); | |||
void batchInsert(FeaturesStageProcedureRelationDTO[] lists); | |||
void deleteByStageProcedure(Map<String, Object> params); | |||
} |
@@ -1,5 +1,6 @@ | |||
package com.cnbm.basic.service; | |||
import com.cnbm.basic.dto.FeaturesProcedureDTO; | |||
import com.cnbm.basic.dto.FeaturesStageProcedureRelationDTO; | |||
import com.cnbm.common.page.PageData; | |||
import com.cnbm.common.service.CrudService; | |||
@@ -28,5 +29,9 @@ public interface IProductFeaturesService extends CrudService<ProductFeatures, Pr | |||
List<ProductFeaturesDTO> getProductFeaturesByProductId(Long id); | |||
List<ProductFeaturesDTO> getFeaturesByStageProcedure(Map<String, Object> params); | |||
List<FeaturesProcedureDTO> getFeaturesByStageProcedure(Map<String, Object> params); | |||
void batchUpdate(ProductFeaturesDTO[] lists); | |||
List<ProductFeaturesDTO> getFeaturesList(Map<String, Object> params); | |||
} |
@@ -1,5 +1,6 @@ | |||
package com.cnbm.basic.service; | |||
import com.cnbm.basic.dto.SequenceDTO; | |||
import com.cnbm.basic.dto.WorkingProcedureDTO; | |||
import com.cnbm.common.page.PageData; | |||
import com.cnbm.common.service.CrudService; | |||
@@ -29,4 +30,8 @@ public interface IProductWorkingprocedureRelationService extends CrudService<Pro | |||
List<ProductWorkingprocedureRelationDTO> getWorkingprocedureByProductId(Long productId); | |||
void batchInsertWorkingprocedure(ProductWorkingprocedureRelationDTO[] lists); | |||
void sequenceUp(SequenceDTO sequenceDTO); | |||
void sequenceDown(SequenceDTO sequenceDTO); | |||
} |
@@ -90,4 +90,12 @@ public class FeaturesStageProcedureRelationServiceImpl extends CrudServiceImpl<F | |||
} | |||
} | |||
@Override | |||
@Transactional(rollbackFor = Exception.class) | |||
public void deleteByStageProcedure(Map<String, Object> params){ | |||
mapper.deleteByStageProcedure(params); | |||
} | |||
} |
@@ -4,19 +4,19 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; | |||
import com.baomidou.mybatisplus.core.metadata.IPage; | |||
import com.baomidou.mybatisplus.core.toolkit.ObjectUtils; | |||
import com.cnbm.admin.params.IdParam; | |||
import com.cnbm.basic.dto.FeaturesStageProcedureRelationDTO; | |||
import com.cnbm.basic.dto.ProductFeaturesHisDTO; | |||
import com.cnbm.basic.dto.WorkingProcedureDTO; | |||
import com.cnbm.basic.dto.*; | |||
import com.cnbm.basic.entity.ProductFeaturesHis; | |||
import com.cnbm.basic.entity.ProductWorkingprocedureRelation; | |||
import com.cnbm.basic.entity.WorkingProcedure; | |||
import com.cnbm.common.page.PageData; | |||
import com.cnbm.common.service.impl.CrudServiceImpl; | |||
import com.cnbm.basic.dto.ProductFeaturesDTO; | |||
import com.cnbm.basic.mapper.ProductFeaturesMapper; | |||
import com.cnbm.basic.entity.ProductFeatures; | |||
import com.cnbm.basic.service.IProductFeaturesService; | |||
import com.cnbm.common.utils.ConvertUtils; | |||
import com.cnbm.common.validator.ValidatorUtils; | |||
import com.cnbm.common.validator.group.DefaultGroup; | |||
import com.cnbm.common.validator.group.UpdateGroup; | |||
import org.apache.commons.lang3.StringUtils; | |||
import org.springframework.beans.factory.annotation.Autowired; | |||
import org.springframework.stereotype.Service; | |||
@@ -124,8 +124,24 @@ public class ProductFeaturesServiceImpl extends CrudServiceImpl<ProductFeaturesM | |||
} | |||
@Override | |||
public List<ProductFeaturesDTO> getFeaturesByStageProcedure(Map<String, Object> params){ | |||
List<ProductFeaturesDTO> list = mapper.getFeaturesByStageProcedure(params); | |||
public List<FeaturesProcedureDTO> getFeaturesByStageProcedure(Map<String, Object> params){ | |||
List<FeaturesProcedureDTO> list = mapper.getFeaturesByStageProcedure(params); | |||
return list; | |||
} | |||
@Override | |||
@Transactional(rollbackFor = Exception.class) | |||
public void batchUpdate(ProductFeaturesDTO[] lists) { | |||
for(ProductFeaturesDTO dto:lists){ | |||
//效验数据 | |||
ValidatorUtils.validateEntity(dto, UpdateGroup.class, DefaultGroup.class); | |||
update(dto); | |||
} | |||
} | |||
@Override | |||
public List<ProductFeaturesDTO> getFeaturesList(Map<String, Object> params){ | |||
List<ProductFeaturesDTO> list = mapper.getFeaturesList(params); | |||
return list; | |||
} | |||
} |
@@ -3,6 +3,9 @@ package com.cnbm.basic.service.impl; | |||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; | |||
import com.baomidou.mybatisplus.core.metadata.IPage; | |||
import com.baomidou.mybatisplus.core.toolkit.ObjectUtils; | |||
import com.cnbm.basic.dto.ProductFeaturesDTO; | |||
import com.cnbm.basic.dto.SequenceDTO; | |||
import com.cnbm.basic.dto.WorkingProcedureDTO; | |||
import com.cnbm.basic.entity.WorkingProcedure; | |||
import com.cnbm.basic.mapper.ProductMapper; | |||
@@ -16,14 +19,13 @@ import com.cnbm.common.utils.ConvertUtils; | |||
import com.cnbm.common.validator.ValidatorUtils; | |||
import com.cnbm.common.validator.group.AddGroup; | |||
import com.cnbm.common.validator.group.DefaultGroup; | |||
import com.cnbm.common.validator.group.UpdateGroup; | |||
import org.apache.commons.lang3.StringUtils; | |||
import org.springframework.beans.factory.annotation.Autowired; | |||
import org.springframework.stereotype.Service; | |||
import org.springframework.transaction.annotation.Transactional; | |||
import java.util.Arrays; | |||
import java.util.List; | |||
import java.util.Map; | |||
import java.util.*; | |||
/** | |||
* 工序 表 | |||
@@ -34,6 +36,9 @@ import java.util.Map; | |||
@Service | |||
public class ProductWorkingprocedureRelationServiceImpl extends CrudServiceImpl<ProductWorkingprocedureRelationMapper, ProductWorkingprocedureRelation, ProductWorkingprocedureRelationDTO> implements IProductWorkingprocedureRelationService { | |||
@Autowired | |||
private ProductWorkingprocedureRelationMapper mapper; | |||
@Override | |||
public QueryWrapper<ProductWorkingprocedureRelation> getWrapper(Map<String, Object> params){ | |||
String id = (String)params.get("id"); | |||
@@ -59,11 +64,32 @@ public class ProductWorkingprocedureRelationServiceImpl extends CrudServiceImpl< | |||
return ConvertUtils.sourceToTarget(entity, ProductWorkingprocedureRelationDTO.class); | |||
} | |||
@Override | |||
@Transactional(rollbackFor = Exception.class) | |||
public void save(ProductWorkingprocedureRelationDTO dto) { | |||
ProductWorkingprocedureRelation entity = ConvertUtils.sourceToTarget(dto, ProductWorkingprocedureRelation.class); | |||
insert(entity); | |||
//判断数据是否已经绑定过 | |||
QueryWrapper<ProductWorkingprocedureRelation> wrapper = new QueryWrapper<>(); | |||
wrapper.eq(ObjectUtils.isNotNull(dto.getProductId()),"product_id",dto.getProductId()) | |||
.eq(ObjectUtils.isNotNull(dto.getWorkingProcedureId()),"working_procedure_id",dto.getWorkingProcedureId()); | |||
ProductWorkingprocedureRelation test = mapper.selectOne(wrapper); | |||
if(Objects.isNull(test)){ | |||
ProductWorkingprocedureRelation entity = ConvertUtils.sourceToTarget(dto, ProductWorkingprocedureRelation.class); | |||
//设置工序顺序 | |||
List<ProductWorkingprocedureRelationDTO> list = getWorkingprocedureByProductId(dto.getProductId()); | |||
if (list.isEmpty()) { | |||
entity.setSequence(1); | |||
} else { | |||
ProductWorkingprocedureRelationDTO lastDto = list.get(list.size() - 1); | |||
Integer lastSequence = lastDto.getSequence(); | |||
entity.setSequence(lastSequence + 1); | |||
} | |||
insert(entity); | |||
} | |||
else{ | |||
dto.setWorkingProcedureId(null); | |||
} | |||
} | |||
@Override | |||
@@ -80,6 +106,7 @@ public class ProductWorkingprocedureRelationServiceImpl extends CrudServiceImpl< | |||
deleteBatchIds(Arrays.asList(ids)); | |||
} | |||
/* | |||
@Autowired | |||
private WorkingProcedureServiceImpl workingProcedureServiceImpl; | |||
@@ -103,6 +130,13 @@ public class ProductWorkingprocedureRelationServiceImpl extends CrudServiceImpl< | |||
} | |||
return dtoList; | |||
} | |||
*/ | |||
@Override | |||
public List<ProductWorkingprocedureRelationDTO> getWorkingprocedureByProductId(Long productId){ | |||
List<ProductWorkingprocedureRelationDTO> list= mapper.getWorkingprocedureByProductId(productId); | |||
return list; | |||
} | |||
@Override | |||
@Transactional(rollbackFor = Exception.class) | |||
@@ -113,4 +147,51 @@ public class ProductWorkingprocedureRelationServiceImpl extends CrudServiceImpl< | |||
} | |||
} | |||
@Override | |||
@Transactional(rollbackFor = Exception.class) | |||
public void sequenceUp(SequenceDTO sequenceDTO) | |||
{ | |||
Integer index = sequenceDTO.getIndex(); | |||
Long productId = sequenceDTO.getProductId(); | |||
//排序为最前不能再上移 | |||
if(index!= 1){ | |||
List<ProductWorkingprocedureRelationDTO> list = getWorkingprocedureByProductId(productId); | |||
ProductWorkingprocedureRelationDTO dto = list.get(index-1); | |||
ProductWorkingprocedureRelationDTO beforeDto = list.get(index-2); | |||
//交换顺序 | |||
Integer dtoSequence = dto.getSequence(); | |||
Integer beforeDtoSequence = beforeDto.getSequence(); | |||
dto.setSequence(beforeDtoSequence); | |||
beforeDto.setSequence(dtoSequence); | |||
update(dto); | |||
update(beforeDto); | |||
} | |||
} | |||
@Override | |||
@Transactional(rollbackFor = Exception.class) | |||
public void sequenceDown(SequenceDTO sequenceDTO) | |||
{ | |||
Integer index = sequenceDTO.getIndex(); | |||
Long productId = sequenceDTO.getProductId(); | |||
List<ProductWorkingprocedureRelationDTO> list = getWorkingprocedureByProductId(productId); | |||
//排序为最后不能再下移 | |||
if(index !=list.size()){ | |||
ProductWorkingprocedureRelationDTO dto = list.get(index-1); | |||
ProductWorkingprocedureRelationDTO afterDto = list.get(index); | |||
//交换顺序 | |||
Integer dtoSequence = dto.getSequence(); | |||
Integer afterDtoSequence = afterDto.getSequence(); | |||
dto.setSequence(afterDtoSequence); | |||
afterDto.setSequence(dtoSequence); | |||
update(dto); | |||
update(afterDto); | |||
} | |||
} | |||
} |
@@ -17,4 +17,12 @@ | |||
<id column="version" property="version" /> | |||
</resultMap> | |||
<select id="deleteByStageProcedure"> | |||
delete fspr from features_stage_procedure_relation fspr | |||
inner join product_workingprocedure_relation pwr ON pwr.working_procedure_id=fspr.working_procedure_id | |||
where fspr.working_procedure_id = #{workingProcedureId} | |||
and fspr.inspection_stage = #{inspectionStage} | |||
and pwr.product_id = #{productId} | |||
</select> | |||
</mapper> |
@@ -14,12 +14,33 @@ | |||
order by p.id asc | |||
</select> | |||
<select id="getFeaturesByStageProcedure" resultType="com.cnbm.basic.dto.FeaturesProcedureDTO"> | |||
select pf.id as productFeaturesId, fspr.working_procedure_id as workingProcedureId | |||
from features_stage_procedure_relation fspr | |||
LEFT JOIN product_features pf ON pf.id=fspr.product_features_id | |||
<where> | |||
fspr.valid = 1 | |||
<if test="productId != null"> | |||
and pf.product_id = #{productId} | |||
</if> | |||
<if test="inspectionStage != null"> | |||
and fspr.inspection_stage = #{inspectionStage} | |||
</if> | |||
</where> | |||
order by pf.id asc | |||
</select> | |||
<!-- | |||
<select id="getFeaturesByStageProcedure" resultType="com.cnbm.basic.dto.ProductFeaturesDTO"> | |||
select * | |||
from product_features pf | |||
LEFT JOIN features_stage_procedure_relation fspr ON pf.id=fspr.product_features_id | |||
LEFT JOIN product_workingprocedure_relation pwr ON pwr.working_procedure_id=fspr.working_procedure_id | |||
<where> | |||
fspr.valid = 1 | |||
<if test="productId != null"> | |||
and pwr.product_id = #{productId} | |||
</if> | |||
<if test="inspectionStage != null"> | |||
and fspr.inspection_stage = #{inspectionStage} | |||
</if> | |||
@@ -29,4 +50,23 @@ | |||
</where> | |||
order by pf.id asc | |||
</select> | |||
--> | |||
<select id="getFeaturesList" resultType="com.cnbm.basic.dto.ProductFeaturesDTO"> | |||
select pf.*,m.name as measureToolName,u.name as unitName,c.name as controlGraphName | |||
from product_features pf | |||
left join features_stage_procedure_relation fspr ON pf.id=fspr.product_features_id | |||
LEFT JOIN measure_tool m ON pf.measure_tool_id=m.id | |||
LEFT JOIN unit u ON pf.unit_id=u.id | |||
LEFT JOIN control_graph c ON pf.control_graph_id=c.id | |||
<where> | |||
fspr.valid = 1 | |||
<if test="productId != null"> | |||
and pf.product_id = #{productId} | |||
</if> | |||
<if test="inspectionStage != null"> | |||
and fspr.inspection_stage = #{inspectionStage} | |||
</if> | |||
</where> | |||
order by pf.id asc | |||
</select> | |||
</mapper> |
@@ -2,4 +2,19 @@ | |||
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> | |||
<mapper namespace="com.cnbm.basic.mapper.ProductWorkingprocedureRelationMapper"> | |||
<select id="getWorkingprocedureByProductId" resultType="com.cnbm.basic.dto.ProductWorkingprocedureRelationDTO"> | |||
select pwr.*, wp.name as workingProcedureName, wp.code as workingProcedureCode | |||
from product_workingprocedure_relation pwr | |||
LEFT JOIN working_procedure wp ON pwr.working_procedure_id=wp.id | |||
<where> | |||
pwr.valid = 1 | |||
<if test="productId != null"> | |||
and pwr.product_id=#{productId} | |||
</if> | |||
</where> | |||
order by pwr.sequence asc | |||
</select> | |||
</mapper> |
@@ -10,9 +10,11 @@ import com.cnbm.common.validator.ValidatorUtils; | |||
import com.cnbm.common.validator.group.AddGroup; | |||
import com.cnbm.common.validator.group.DefaultGroup; | |||
import com.cnbm.common.validator.group.UpdateGroup; | |||
import com.cnbm.influx.param.QueryDataParam; | |||
import com.cnbm.processInspection.dto.InspectionSheetDTO; | |||
import com.cnbm.processInspection.excel.InspectionSheetExcel; | |||
import com.cnbm.processInspection.service.IInspectionSheetService; | |||
import com.influxdb.query.FluxTable; | |||
import io.swagger.annotations.Api; | |||
import io.swagger.annotations.ApiImplicitParam; | |||
import io.swagger.annotations.ApiImplicitParams; | |||
@@ -140,4 +142,16 @@ public class InspectionSheetController { | |||
return inspectionSheetService.list(params); | |||
} | |||
@PostMapping(value = "getFluxParamList") | |||
@ApiOperation(value = "从influxdb中获取检测参数") | |||
@ApiImplicitParams({ | |||
@ApiImplicitParam(name = "startTime", value = "开始时间", paramType = "query", dataTypeClass = LocalDateTime.class), | |||
@ApiImplicitParam(name = "endTime", value = "结束时间", paramType = "query", dataTypeClass = LocalDateTime.class), | |||
@ApiImplicitParam(name = "id", value = "检验单号", paramType = "query", dataTypeClass = Integer.class), | |||
@ApiImplicitParam(name = "workingProcedureName", value = "工序名称", paramType = "query", dataTypeClass = String.class) | |||
}) | |||
List<FluxTable> getFluxParamList(@ApiIgnore @RequestParam Map<String, Object> params){ | |||
return inspectionSheetService.getFluxParamList(params); | |||
} | |||
} |
@@ -2,8 +2,10 @@ package com.cnbm.processInspection.service; | |||
import com.cnbm.common.page.PageData; | |||
import com.cnbm.common.service.CrudService; | |||
import com.cnbm.influx.param.QueryDataParam; | |||
import com.cnbm.processInspection.dto.InspectionSheetDTO; | |||
import com.cnbm.processInspection.entity.InspectionSheet; | |||
import com.influxdb.query.FluxTable; | |||
import java.util.List; | |||
import java.util.Map; | |||
@@ -27,5 +29,7 @@ public interface IInspectionSheetService extends CrudService<InspectionSheet, In | |||
void delete(Long[] ids); | |||
List<InspectionSheetDTO> list(Map<String, Object> params); | |||
List<FluxTable> getFluxParamList(Map<String, Object> params); | |||
} |
@@ -14,16 +14,23 @@ import com.cnbm.basic.service.impl.WorkingProcedureServiceImpl; | |||
import com.cnbm.common.page.PageData; | |||
import com.cnbm.common.service.impl.CrudServiceImpl; | |||
import com.cnbm.common.utils.ConvertUtils; | |||
import com.cnbm.influx.config.InfluxClient; | |||
import com.cnbm.influx.param.QueryDataParam; | |||
import com.cnbm.influx.param.Range; | |||
import com.cnbm.influx.template.Event; | |||
import com.cnbm.processInspection.dto.InspectionSheetDTO; | |||
import com.cnbm.processInspection.entity.InspectionSheet; | |||
import com.cnbm.processInspection.mapper.InspectionSheetMapper; | |||
import com.cnbm.processInspection.service.IInspectionSheetService; | |||
import com.influxdb.query.FluxTable; | |||
import org.apache.commons.lang3.StringUtils; | |||
import org.springframework.beans.factory.annotation.Autowired; | |||
import org.springframework.stereotype.Service; | |||
import org.springframework.transaction.annotation.Transactional; | |||
import java.time.Instant; | |||
import java.util.Arrays; | |||
import java.util.Date; | |||
import java.util.List; | |||
import java.util.Map; | |||
@@ -144,4 +151,20 @@ public class InspectionSheetServiceImpl extends CrudServiceImpl<InspectionSheetM | |||
List<InspectionSheetDTO> list = mapper.list(params); | |||
return list; | |||
} | |||
@Override | |||
public List<FluxTable> getFluxParamList(Map<String, Object> params){ | |||
QueryDataParam queryDataParam = new QueryDataParam(); | |||
String workingProcedureName = (String)params.get("workingProcedureName"); | |||
queryDataParam.setMeasurement(workingProcedureName); | |||
queryDataParam.setBucket("qgs-bucket"); | |||
Instant startTime = (Instant) params.get("startTime"); | |||
Instant endTime = (Instant) params.get("endTime"); | |||
Range range = new Range(startTime,endTime); | |||
queryDataParam.setRange(range); | |||
List<FluxTable> list = InfluxClient.Client.query(queryDataParam); | |||
return list; | |||
} | |||
} |