msb_37571 6 months ago
parent b4f82d9985
commit 8afb8d4941

@ -26,4 +26,6 @@ public interface ApproveMapper extends BaseMapper<ApproveList> {
void saveApproveDetail(@Param("approveDetailList")List<ApproveListDetail> approveDetailList);
void saveCoordinate(@Param("coordinateList")List<Coordinate> coordinateList);
List<Coordinate> getCoordinateByDetailIds(@Param("detailIds")List<Long> detailIds);
}

@ -17,7 +17,7 @@ public class ApproveListDetail {
private String productName;
private String model;
private String toDmodel;
private String twoDmodel;
private String qualityRequire;
private List<Coordinate> coordinateList;

@ -105,15 +105,17 @@
</where>
</select>
<select id="getApproveDetailListById">
<select id="getApproveDetailListById" resultType="com.example.yuanzhoutest.entity.ApproveListDetail"
parameterType="java.lang.Long">
select
id,
approveId,
inventionid,
inventionCode,
inventionName,
productName,
model,
`2Dmode`,
`2Dmode` as twoDmodel,
qualityrequire,
supplierCode,
supplierName,
@ -123,6 +125,13 @@
approve_list_detail where approveId = #{approveId}
</select>
<select id="getCoordinateByDetailIds" resultType="com.example.yuanzhoutest.entity.Coordinate" parameterType="java.lang.Long">
SELECT id, detailId, xcode, ycode, num
FROM coordinate_data where detailId in
<foreach item="param" index="index" collection="detailIds" open="(" close=")" separator=",">
#{param}
</foreach>
</select>
<insert id="saveApprove">
insert
into
@ -185,7 +194,7 @@
#{param.inventionName},
#{param.productName},
#{param.model},
#{param.`2Dmode`},
#{param.twoDmodel},
#{param.qualityRequire},
#{param.supplierCode},
#{param.supplierName},
@ -210,5 +219,6 @@
#{param.xcode},
#{param.ycode},
#{param.num}
</foreach>
</insert>
</mapper>

@ -12,6 +12,9 @@ import org.springframework.stereotype.Service;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
import java.util.function.Function;
import java.util.stream.Collectors;
@Service
public class ApproveServiceImpl implements ApproveService {
@ -33,16 +36,25 @@ public class ApproveServiceImpl implements ApproveService {
}
@Override
public ApproveList getApproveById(Long id){
public ApproveList getApproveById(Long id) {
return approveMapper.getApproveById(id);
}
public List<ApproveListDetail> getApproveDetailListById(Long id){
return approveMapper.getApproveDetailListById(id);
public List<ApproveListDetail> getApproveDetailListById(Long id) {
List<ApproveListDetail> approveDetailList = approveMapper.getApproveDetailListById(id);
List<Long> detailIds = approveDetailList.stream().map(v -> v.getId()).collect(Collectors.toList());
List<Coordinate> coordinates = approveMapper.getCoordinateByDetailIds(detailIds);
Map<Long, List<Coordinate>> coordinateMap = coordinates.stream().collect(
Collectors.groupingBy(
Coordinate::getDetailId, Collectors.mapping(Function.identity(), Collectors.toList())));
approveDetailList.stream().forEach(v -> {
v.setCoordinateList(coordinateMap.get(v.getId()));
});
return approveDetailList;
}
@Override
public Long saveApprove(ApproveList approveList){
public Long saveApprove(ApproveList approveList) {
Long id = snowflakeIdWorker.getUUID();
approveList.setId(id);
approveMapper.saveApprove(approveList);
@ -50,7 +62,7 @@ public class ApproveServiceImpl implements ApproveService {
}
@Override
public void saveApproveDetail(List<ApproveListDetail> approveDetailList, Long approveId){
public void saveApproveDetail(List<ApproveListDetail> approveDetailList, Long approveId) {
List<Coordinate> coordinateList = new ArrayList<>();
approveDetailList.stream().forEach(v -> {
long id = snowflakeIdWorker.getUUID();

Loading…
Cancel
Save