msb_37571 2 years ago
parent b4f82d9985
commit 8afb8d4941

@ -26,4 +26,6 @@ public interface ApproveMapper extends BaseMapper<ApproveList> {
void saveApproveDetail(@Param("approveDetailList")List<ApproveListDetail> approveDetailList); void saveApproveDetail(@Param("approveDetailList")List<ApproveListDetail> approveDetailList);
void saveCoordinate(@Param("coordinateList")List<Coordinate> coordinateList); 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 productName;
private String model; private String model;
private String toDmodel; private String twoDmodel;
private String qualityRequire; private String qualityRequire;
private List<Coordinate> coordinateList; private List<Coordinate> coordinateList;

@ -105,15 +105,17 @@
</where> </where>
</select> </select>
<select id="getApproveDetailListById"> <select id="getApproveDetailListById" resultType="com.example.yuanzhoutest.entity.ApproveListDetail"
parameterType="java.lang.Long">
select select
id, id,
approveId,
inventionid, inventionid,
inventionCode, inventionCode,
inventionName, inventionName,
productName, productName,
model, model,
`2Dmode`, `2Dmode` as twoDmodel,
qualityrequire, qualityrequire,
supplierCode, supplierCode,
supplierName, supplierName,
@ -123,6 +125,13 @@
approve_list_detail where approveId = #{approveId} approve_list_detail where approveId = #{approveId}
</select> </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 id="saveApprove">
insert insert
into into
@ -185,7 +194,7 @@
#{param.inventionName}, #{param.inventionName},
#{param.productName}, #{param.productName},
#{param.model}, #{param.model},
#{param.`2Dmode`}, #{param.twoDmodel},
#{param.qualityRequire}, #{param.qualityRequire},
#{param.supplierCode}, #{param.supplierCode},
#{param.supplierName}, #{param.supplierName},
@ -210,5 +219,6 @@
#{param.xcode}, #{param.xcode},
#{param.ycode}, #{param.ycode},
#{param.num} #{param.num}
</foreach>
</insert> </insert>
</mapper> </mapper>

@ -12,6 +12,9 @@ import org.springframework.stereotype.Service;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.List; import java.util.List;
import java.util.Map;
import java.util.function.Function;
import java.util.stream.Collectors;
@Service @Service
public class ApproveServiceImpl implements ApproveService { public class ApproveServiceImpl implements ApproveService {
@ -33,16 +36,25 @@ public class ApproveServiceImpl implements ApproveService {
} }
@Override @Override
public ApproveList getApproveById(Long id){ public ApproveList getApproveById(Long id) {
return approveMapper.getApproveById(id); return approveMapper.getApproveById(id);
} }
public List<ApproveListDetail> getApproveDetailListById(Long id){ public List<ApproveListDetail> getApproveDetailListById(Long id) {
return approveMapper.getApproveDetailListById(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 @Override
public Long saveApprove(ApproveList approveList){ public Long saveApprove(ApproveList approveList) {
Long id = snowflakeIdWorker.getUUID(); Long id = snowflakeIdWorker.getUUID();
approveList.setId(id); approveList.setId(id);
approveMapper.saveApprove(approveList); approveMapper.saveApprove(approveList);
@ -50,7 +62,7 @@ public class ApproveServiceImpl implements ApproveService {
} }
@Override @Override
public void saveApproveDetail(List<ApproveListDetail> approveDetailList, Long approveId){ public void saveApproveDetail(List<ApproveListDetail> approveDetailList, Long approveId) {
List<Coordinate> coordinateList = new ArrayList<>(); List<Coordinate> coordinateList = new ArrayList<>();
approveDetailList.stream().forEach(v -> { approveDetailList.stream().forEach(v -> {
long id = snowflakeIdWorker.getUUID(); long id = snowflakeIdWorker.getUUID();

Loading…
Cancel
Save